/* typography.css — one slice of the site stylesheet, split by concern.
   Load order is fixed in base.html and mirrors the old single-file
   source order; do not reorder the <link> tags. tokens.css holds
   every colour and must load first. */
/*********************************************************************


                                TYPOGRAPHY


**********************************************************************/
/* Kalam has long ascenders and descenders that collide at 1.6, but much past
   1.7 the block stops reading as a written page and starts looking spaced. */
p {
  line-height: 1.7em;
  margin: 0 0 24px 0;
}
ul,
ol {
  line-height: 1.7em;
  margin: 0 0 24px 0;
}
blockquote {
  padding: 10px 20px;
  margin: 0 0 30px;
  border-left: 5px solid var(--accent-line);
  color: var(--text-muted);
}
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-family: var(--font-hand-display);
  /* Caveat's 400 is a thin ballpoint; headings are the marker. */
  font-weight: 700;
  color: var(--text-strong);
  line-height: 1.25em;
}
/* Caveat sets much smaller than a sans at the same px — every heading is
   scaled up ~20% so the visual size matches what these levels used to be. */
h1 {
  font-size: 48px;
  font-size: 3rem;
}
h2 {
  font-size: 42px;
  font-size: 2.625rem;
}
h3 {
  font-size: 36px;
  font-size: 2.25rem;
}
h4 {
  font-size: 29px;
  font-size: 1.8125rem;
}
h5 {
  font-size: 24px;
  font-size: 1.5rem;
}
a {
  color: var(--accent);
}
a:hover {
  color: var(--accent-hover);
}
.lead {
  font-weight: 400;
  font-size: 23px;
  font-size: 1.4375rem;
}
/* Home — intro bio & "currently open to" callout
/////////////////////////////////////////////////////////////////////*/
.intro-text {
  text-align: left;
  color: var(--text);
}
.intro-callout {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 24px 0 0;
  padding: 18px 22px;
  border: 1px solid var(--accent-line);
  border-radius: 6px;
  background: var(--accent-soft);
  font-size: 17px;
  color: var(--text);
}
.intro-callout-body {
  flex: 1 1 auto;
  min-width: 0;
}
.intro-callout p {
  margin: 0;
}
.intro-callout p + p {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--accent-line);
}
/* The résumé ask and its button are one line that wraps to two when the
   column gets narrow, rather than a grid — the callout is a single note, and
   a second column inside it would read as a second box. */
.intro-callout-cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 20px;
}
.intro-callout-icon {
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--bg);
  color: var(--accent);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
}
/* Phones. The heading scale above is tuned for a 1080px column; at 390px an
   h1 of 48px is most of a line on its own. Everything steps down by roughly
   a third, body copy stays put — 17px Kalam is already the floor for
   comfortable reading. */
@media (max-width: 767px) {
h1 {
    font-size: 34px;
    font-size: 2.125rem;
  }
h2 {
    font-size: 30px;
    font-size: 1.875rem;
  }
h3 {
    font-size: 26px;
    font-size: 1.625rem;
  }
h4 {
    font-size: 23px;
    font-size: 1.4375rem;
  }
h5 {
    font-size: 21px;
    font-size: 1.3125rem;
  }
.lead {
    font-size: 20px;
    font-size: 1.25rem;
  }
p,
  ul,
  ol {
    margin-bottom: 20px;
  }
}
