/* =====================================================================
   Inner pages (services, privacy, 404) on the Full Aperture sweep.
   css/dot-inner.css is lifted from the Dot site so both sites keep the
   same blocks; this file re-points its colour tokens at the light palette
   and puts the type back in this site's grammar (sentence case, 600).
   ===================================================================== */
.inner {
  --white: var(--ink);            /* strong text */
  --mist: var(--muted);           /* labels */
  --ink-2: var(--plate);          /* cards */
  --ink-3: var(--sweep-low);
  --line-2: var(--line-strong);
  --r-lg: 22px; --r: 14px;
  --pad: var(--sec);
  --head-h: 0px;                  /* the header is sticky here, it takes its own space */
  --ease-pop: cubic-bezier(.34, 1.56, .64, 1);
  --display: var(--font);
}
.inner h1, .inner h2, .inner h3, .inner .stat b, .inner .nf-num, .inner .tk-price {
  font-weight: 600; font-variation-settings: normal; text-transform: none;
}
.inner .page-head h1 { letter-spacing: -0.05em; line-height: .98; }
.inner h2 { font-size: clamp(2.2rem, 4vw, 3.2rem); letter-spacing: -0.045em; line-height: 1.02; }
.inner h3 { letter-spacing: -0.02em; line-height: 1.1; }
.inner .lede { color: var(--prose); }
.inner .sec { padding-block: 0 var(--sec); }
.inner .sec-head { margin-bottom: 2rem; }
.inner .sec-sub { color: var(--prose); font-size: 1.1rem; max-width: 52ch; justify-self: end; }
:where(.inner) :is(ul, ol) { list-style: none; margin: 0; padding: 0; }
:where(.inner) a { color: inherit; text-decoration: none; }
.inner a.inline, .inner .prose a { color: var(--miami-deep); text-decoration: underline; text-underline-offset: 3px; }
/* FA's projects ".stat" is a big number; here it's a card */
.inner .stat { font-size: 1rem; letter-spacing: 0; line-height: 1.5; font-weight: 450; color: var(--prose); }
.inner .stat b { color: var(--ink); letter-spacing: -0.045em; }
.inner .cmp, .inner .ticket, .inner .score, .inner .stat { box-shadow: 0 0 0 1px var(--line); border: 0; }
.inner .cmp.good, .inner .ticket.featured { box-shadow: 0 0 0 2px var(--miami); }
.inner .stat { border-top: 3px solid var(--miami); }
.inner .cmp li, .inner .line p, .inner .score-row p, .inner .prose { color: var(--prose); }
.inner .leak { color: #A33A2A; border-color: rgba(163, 58, 42, .35); }
.inner .head-media figcaption, .inner .shots figcaption { color: #F2F6F7; }
.inner .strip span { color: var(--ink); }
/* the numbered line arrives already drawn; nodes are lit */
.inner .line { --p: 1; }
.inner .line li .node { background: var(--miami); border-color: var(--miami); }
.inner .qa { margin-top: 0; }
.inner .nf-num { color: var(--ink); }
.inner .nf { min-height: 70svh; }
@media (max-width: 860px) { .inner .sec-sub { justify-self: start; } }
.inner figure { margin: 0; }
