/* ============================================================
   Fractional Data Architect — Hugo theme stylesheet
   Self-contained: fonts, tokens, base, components, prose, responsive.
   Single warm-paper tone, italic Dunbar display, cobalt/berry accents.
   ============================================================ */

/* ---- Local fonts (paths relative to /css/fda.css). All self-hosted — no external
   Google Fonts request (GDPR-friendly, no CSP exception). DM Serif Display dropped (unused). ---- */
@font-face { font-family: "Dunbar Text"; src: url("../fonts/DunbarText-Italic.woff2") format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: "Dunbar Text"; src: url("../fonts/DunbarText-BoldItalic.woff2") format("woff2"); font-weight: 700; font-style: italic; font-display: swap; }
@font-face { font-family: "STIX Two Text"; src: url("../fonts/STIXTwoText-Regular.woff2") format("woff2"); font-weight: 400 600; font-style: normal; font-display: swap; }
@font-face { font-family: "Inter"; src: url("../fonts/Inter-Variable.woff2") format("woff2"); font-weight: 100 900; font-style: normal; font-display: swap; }
@font-face { font-family: "JetBrains Mono"; src: url("../fonts/JetBrainsMono-400.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "JetBrains Mono"; src: url("../fonts/JetBrainsMono-500.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }

:root {
  /* palette */
  --night:#0E102A; --prussian:#092C4C; --cobalt:#2A3FF4; --cobalt-soft:#4A5CFF;
  --cobalt-deep:#281CFF; --cobalt-bright:#304BFF;
  --berry:#990F4B; --berry-soft:#B21659; --berry-deep:#7C0C3D;
  --paper:#FFFFFF; --warm-100:#EDEEE8; --warm-90:#E3E4DD; --gray-caption:#828282;
  /* ink scale */
  --ink:rgba(14,16,42,1); --ink-strong:rgba(14,16,42,.92); --ink-soft:rgba(14,16,42,.62);
  --ink-muted:rgba(14,16,42,.55); --ink-subtle:rgba(14,16,42,.45); --ink-faint:rgba(14,16,42,.22);
  --ink-line:rgba(14,16,42,.14); --ink-line-soft:rgba(14,16,42,.12);
  /* on-dark scale */
  --on-dark:rgba(237,238,232,.9); --on-dark-strong:rgba(237,238,232,1); --on-dark-soft:rgba(237,238,232,.55);
  --on-dark-muted:rgba(237,238,232,.4); --on-dark-line:rgba(237,238,232,.12);
  --on-dark-subtle:rgba(237,238,232,.38); --on-dark-hair:rgba(237,238,232,.1);
  --danger:#FF0000;
  --gradient-1:url("/img/gradient-blob.webp") 50% 50% / cover no-repeat;
  --surface:var(--paper);
  /* fonts */
  --font-display:"Dunbar Text",Georgia,"Times New Roman",serif;
  --font-serif:"STIX Two Text",Georgia,"Times New Roman",serif;
  --font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  /* layout */
  --page-margin:96px; --page-margin-sm:24px; --content-max:1248px; --nav-height:72px;
  /* radius */
  --radius-xs:2px; --radius-sm:4px; --radius-md:10px; --radius-lg:16px; --radius-pill:999px;
  /* shadow */
  --shadow-swatch:0 4px 24px 0 rgba(0,0,0,.32); --shadow-soft:0 2px 16px 0 rgba(14,16,42,.08);
  /* motion */
  --ease-out:cubic-bezier(.22,1,.36,1); --dur:200ms;
}

/* ============================================================ Base ============================================================ */
*,*::before,*::after { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
body {
  margin:0; background:var(--warm-100); color:var(--ink);
  font-family:var(--font-serif); font-size:17px; line-height:1.7;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
img,svg { max-width:100%; display:block; }
a { color:inherit; text-decoration:none; }
::selection { background:var(--cobalt); color:var(--warm-100); }
.wrap { max-width:var(--content-max); margin:0 auto; padding:0 var(--page-margin); }
.measure { max-width:720px; }
.eyebrow { font-family:var(--font-sans); font-weight:500; font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-muted); }
.eyebrow.accent { color:var(--cobalt); }
.mono { font-family:var(--font-mono); font-size:11px; color:var(--ink-muted); }
.divider { height:1px; background:var(--ink-line); border:0; margin:0; }
.tag { display:inline-flex; align-items:center; height:22px; padding:0 9px; border-radius:var(--radius-xs); box-shadow:inset 0 0 0 1px var(--ink-faint); font-family:var(--font-sans); font-weight:500; font-size:11px; color:var(--ink-soft); }

/* Unified breadcrumb — location only; identical component + position on every page.
   Links use the link treatment; separators faint; trailing (current) crumb muted neutral, never accent. */
.fda-crumb ol { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; align-items:center; font-family:var(--font-sans); font-size:11px; line-height:1; color:var(--ink-muted); }
.fda-crumb li { display:inline-flex; align-items:center; }
.fda-crumb li:not(:first-child)::before { content:"/"; color:var(--ink-faint); margin:0 8px; }
.fda-crumb a { color:var(--ink-soft); transition:color var(--dur) var(--ease-out); }
.fda-crumb a:hover { color:var(--ink); }
.fda-crumb__current { color:var(--ink-muted); }

/* display / headings */
.display { font-family:var(--font-display); font-style:italic; font-weight:400; line-height:.96; letter-spacing:-.02em; color:var(--cobalt); margin:0; }
.display.ink { color:var(--ink); }
.d-xl { font-size:clamp(52px,6vw,92px); }
.d-lg { font-size:clamp(44px,5.2vw,72px); }
.d-md { font-size:clamp(38px,4.4vw,56px); }
.d-sm { font-size:32px; }

/* ============================================================ Buttons ============================================================ */
.btn { display:inline-flex; align-items:center; gap:8px; height:46px; padding:0 22px; border:0; border-radius:var(--radius-xs); cursor:pointer; white-space:nowrap; font-family:var(--font-sans); font-weight:500; font-size:14px; text-decoration:none; transition:background var(--dur) var(--ease-out), box-shadow var(--dur) var(--ease-out), transform var(--dur) var(--ease-out); }
.btn:active { transform:scale(.97); }
.btn.lg { height:52px; padding:0 26px; font-size:15px; }
.btn.sm { height:33px; padding:0 14px; font-size:11px; }
@keyframes fdaSpin { from { transform:rotate(0); } to { transform:rotate(360deg); } }
@keyframes fdaMarquee { from { transform:translateX(0); } to { transform:translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .fda-torus, .fda-marquee__track { animation:none !important; } }

/* ============================================================ Home + chrome (ported from ui_kit screens) ============================================================ */
.fda-inner { max-width:var(--content-max); margin:0 auto; padding:0 var(--page-margin); }
.eyebrow.on-dark { color:var(--on-dark-muted); }
.rule-on-dark { width:100%; height:1px; background:var(--on-dark-line); }
.sp-32 { height:32px; } .sp-40 { height:40px; } .sp-48 { height:48px; }

/* NavBar */
.fda-nav { position:sticky; top:0; z-index:20; height:var(--nav-height); background:var(--warm-100); border-bottom:1px solid var(--ink-line); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:0 var(--page-margin); box-sizing:border-box; }
.fda-nav__links { display:flex; gap:28px; align-items:center; }
.fda-nav__links a { font-family:var(--font-sans); font-weight:500; font-size:11px; letter-spacing:.01em; color:var(--ink-soft); }
.fda-nav__links a:hover, .fda-nav__links a.is-active { color:var(--ink); }
.fda-nav__right { display:flex; gap:20px; align-items:center; justify-self:end; }
.fda-social { color:var(--ink-soft); display:inline-flex; opacity:.8; }

/* Wordmark */
.fda-wordmark { font-family:var(--font-display); font-style:italic; font-weight:700; line-height:.92; letter-spacing:-.01em; text-transform:uppercase; color:var(--ink); display:block; }
.fda-wordmark span { display:block; }
.fda-wordmark__accent { color:var(--cobalt); }
.fda-wordmark--nav { font-size:13px; justify-self:center; }
.fda-wordmark--footer { font-size:15px; color:var(--on-dark); }

/* Hero */
.fda-hero { background:var(--warm-100); position:relative; overflow:hidden; }
.fda-hero__bloom { position:absolute; top:-16%; bottom:-16%; left:6%; right:-8%; z-index:0; -webkit-mask-image:radial-gradient(86% 90% at 66% 50%, #000 8%, rgba(0,0,0,.55) 44%, transparent 86%); mask-image:radial-gradient(86% 90% at 66% 50%, #000 8%, rgba(0,0,0,.55) 44%, transparent 86%); }
.fda-hero__bloom-rot { position:absolute; inset:0; transform:rotate(19.5deg); filter:blur(72px); opacity:.95; }
.fda-hero__blob1 { position:absolute; top:-10%; left:14%; width:64%; height:64%; border-radius:56% 44% 60% 40% / 58% 50% 50% 42%; background:linear-gradient(-43.933deg, #0E102A 22%, #2A3FF4 78%); }
.fda-hero__blob2 { position:absolute; bottom:-12%; right:-12%; width:74%; height:68%; border-radius:48% 52% 42% 58% / 50% 46% 54% 50%; background:linear-gradient(-43.959deg, #0E102A 26%, #2A3FF4 80%); }
.fda-hero__core { position:absolute; inset:0; background:radial-gradient(30% 32% at 50% 50%, rgba(8,10,30,.78), rgba(8,10,30,0) 72%); filter:blur(26px); }
.fda-hero__inner { position:relative; z-index:1; max-width:var(--content-max); margin:0 auto; padding:0 var(--page-margin); display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:center; min-height:660px; }
.fda-hero__copy { padding:76px 0; position:relative; z-index:1; }
.fda-hero__eyebrow { display:flex; align-items:center; gap:12px; }
.fda-hero__eyebrow .rule { width:28px; height:1px; background:var(--ink-faint); }
.fda-hero__eyebrow .txt { font-family:var(--font-sans); font-weight:500; font-size:11px; color:var(--ink-muted); }
.fda-hero__title { margin:26px 0 0; font-family:var(--font-display); font-style:italic; font-weight:700; font-size:clamp(54px,6.2vw,90px); line-height:.9; letter-spacing:-.02em; text-transform:uppercase; color:var(--cobalt); }
.fda-hero__title span { display:block; }
.fda-hero__promise { margin:30px 0 0; max-width:430px; font-family:var(--font-serif); font-size:19px; line-height:1.55; color:var(--ink); }
.fda-hero__actions { display:flex; gap:14px; margin-top:34px; }
.fda-hero__proof { margin:30px 0 0; max-width:460px; font-family:var(--font-sans); font-weight:500; font-size:12px; line-height:1.6; letter-spacing:.01em; color:var(--ink-muted); }
.fda-hero__art { position:relative; z-index:1; align-self:stretch; min-height:620px; display:flex; align-items:center; justify-content:center; }
.fda-torus { animation:fdaSpin 110s linear infinite; }
.fda-torus img { width:480px; max-width:100%; filter:brightness(0) invert(1); opacity:.94; }

/* Marquee */
.fda-marquee { background:var(--night); border-top:1px solid var(--on-dark-hair); border-bottom:1px solid var(--on-dark-hair); overflow:hidden; padding:22px 0; }
.fda-marquee__track { display:inline-flex; white-space:nowrap; animation:fdaMarquee 38s linear infinite; }
.fda-marquee__item { display:inline-flex; align-items:center; gap:40px; padding-right:40px; }
.fda-marquee__label { font-family:var(--font-display); font-style:italic; font-size:22px; color:var(--on-dark); white-space:nowrap; }
.fda-marquee__dot { width:8px; height:8px; border-radius:50%; background:var(--cobalt); flex:none; }

/* Bands + section head */
.fda-band { padding:88px 0; }
.fda-band--warm { background:var(--warm-100); }
.fda-band--night { background:var(--night); position:relative; overflow:hidden; }
.fda-band__rel { position:relative; }
.fda-sechead { display:grid; grid-template-columns:1.35fr 1fr; gap:48px; align-items:end; }
.fda-sechead__title { margin:18px 0 0; font-family:var(--font-display); font-style:italic; font-weight:400; font-size:56px; line-height:.96; letter-spacing:-.02em; color:var(--ink); white-space:pre-line; }
.fda-sechead__intro { margin:0; font-family:var(--font-serif); font-size:17px; line-height:1.6; color:var(--ink-soft); }
.fda-band--night .fda-sechead__title { color:var(--on-dark-strong); }
.fda-band--night .fda-sechead__intro { color:var(--on-dark-soft); }
.fda-blob-a { position:absolute; right:-4%; top:-25%; width:46%; height:150%; border-radius:50%; filter:blur(70px); background:linear-gradient(138.145deg, #0E102A 37.75%, #2A3FF4 67.82%, #0E102A 82.85%); }
.fda-blob-b { position:absolute; right:20%; bottom:-45%; width:40%; height:120%; border-radius:50%; filter:blur(85px); background:linear-gradient(130.017deg, #0E102A 34.87%, #2A3FF4 64.26%, #0E102A 78.94%); }

/* Principles */
.fda-principles { display:grid; grid-template-columns:1fr 1fr 1fr; gap:0; }
.fda-principle { display:flex; flex-direction:column; gap:18px; padding:0 40px; }
.fda-principle:first-child { padding-left:0; }
.fda-principle:last-child { padding-right:0; }
.fda-principle:not(:first-child) { border-left:1px solid var(--ink-line-soft); }
.fda-principle__mark { display:block; width:52px; height:52px; color:var(--ink); }
.fda-principle__mark svg, .fda-identity__icon svg { width:100%; height:100%; display:block; }
.fda-identity__icon { display:block; width:150px; height:150px; color:var(--cobalt); }
.fda-principle__index { font-family:var(--font-sans); font-weight:500; font-size:11px; letter-spacing:.01em; color:var(--berry); }
.fda-principle__title { margin:0; font-family:var(--font-display); font-style:italic; font-weight:400; font-size:28px; line-height:1.05; letter-spacing:-.01em; color:var(--ink); white-space:pre-line; }
.fda-principle__body { margin:0; font-family:var(--font-serif); font-size:15px; line-height:1.6; color:var(--ink-soft); max-width:340px; }

/* Signals */
.fda-signal { display:grid; grid-template-columns:44px 1fr auto; align-items:start; column-gap:24px; padding:20px 0; }
.fda-signal__index { font-family:var(--font-sans); font-weight:500; font-size:11px; color:var(--on-dark-muted); padding-top:6px; }
.fda-signal__quote { font-family:var(--font-display); font-style:italic; font-size:26px; line-height:1.15; letter-spacing:-.01em; color:var(--on-dark-strong); }
.fda-signal__cat { font-family:var(--font-sans); font-weight:500; font-size:11px; letter-spacing:.02em; color:var(--on-dark-subtle); padding-top:8px; justify-self:end; }

/* Services */
.fda-service { display:grid; grid-template-columns:44px minmax(220px,1fr) minmax(0,1.1fr) 100px 36px; align-items:center; column-gap:24px; padding:22px 16px; }
.fda-service:hover { background:rgba(14,16,42,.03); }
.fda-service__index { font-family:var(--font-sans); font-weight:500; font-size:11px; letter-spacing:.01em; color:var(--cobalt); }
.fda-service__name { font-family:var(--font-display); font-style:italic; font-size:22px; letter-spacing:-.01em; color:var(--ink); }
.fda-service__desc { font-family:var(--font-serif); font-size:15px; line-height:1.5; color:var(--ink-muted); }
.fda-service__arrow { width:36px; height:36px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; box-shadow:inset 0 0 0 1px var(--ink-faint); color:var(--ink-soft); font-family:var(--font-sans); font-size:13px; }
.fda-services__foot { display:flex; justify-content:space-between; align-items:center; padding-top:22px; }
.fda-services__foot .note { font-family:var(--font-sans); font-size:10px; color:var(--ink-subtle); }

/* Footer */
.fda-footer { background:var(--night); padding:64px var(--page-margin) 40px; }
.fda-footer__wrap { max-width:var(--content-max); margin:0 auto; }
.fda-footer__grid { display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:48px; align-items:start; }
.fda-footer__brand { display:flex; flex-direction:column; gap:18px; }
.fda-footer__tagline { margin:0; font-family:var(--font-serif); font-size:15px; line-height:1.6; color:var(--on-dark-soft); max-width:260px; }
.fda-footer__col { display:flex; flex-direction:column; gap:12px; }
.fda-footer__col-h { font-family:var(--font-sans); font-weight:500; font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--on-dark-muted); }
.fda-footer__col a { font-family:var(--font-serif); font-size:15px; color:var(--on-dark); }
.fda-footer__col a:hover { color:var(--on-dark-strong); }
.fda-footer__bottom { display:flex; justify-content:space-between; align-items:center; padding-top:22px; }
.fda-footer__copy { font-family:var(--font-sans); font-size:10px; letter-spacing:.04em; color:var(--on-dark-muted); }
.fda-badge { display:inline-flex; align-items:center; gap:8px; font-family:var(--font-sans); font-weight:500; font-size:10px; letter-spacing:.04em; color:var(--ink-muted); }
.fda-badge--on-dark { color:var(--on-dark-muted); }
.fda-badge__dot { width:7px; height:7px; border-radius:50%; background:var(--cobalt); flex:none; }
.fda-badge__dot--success { background:var(--success, #27AE60); }

/* ============================================================ About page ============================================================ */
.fda-pagehero { padding:56px 0 56px; position:relative; overflow:hidden; }
.fda-pagehero__grid { position:relative; display:grid; grid-template-columns:1.55fr 0.45fr; gap:48px; align-items:center; }
.fda-pagehero__title { margin:22px 0 0; font-family:var(--font-display); font-style:italic; font-weight:400; font-size:clamp(48px,5.2vw,76px); line-height:.96; letter-spacing:-.02em; color:var(--cobalt); }
.fda-pagehero__badges { display:flex; gap:14px; align-items:center; margin-top:28px; flex-wrap:wrap; }
.fda-pagehero__badges .sep { color:var(--ink-faint); }
.fda-portrait { border-radius:var(--radius-md); overflow:hidden; aspect-ratio:3 / 4; box-shadow:var(--shadow-soft); }
.fda-portrait img { width:100%; height:100%; object-fit:cover; display:block; }
.fda-aglow { position:absolute; right:-4%; top:-30%; width:46%; height:170%; border-radius:50%; filter:blur(90px); background:linear-gradient(131.527deg, #2A3FF4 23.9%, #0E102A 67.65%); opacity:.5; }

.fda-secblock { padding:72px 0; border-top:1px solid var(--ink-line-soft); }
.fda-identity { display:grid; grid-template-columns:0.8fr 1.2fr; gap:64px; align-items:start; }
.fda-identity__mark { margin-top:28px; }
.fda-identity__body { display:flex; flex-direction:column; gap:20px; max-width:620px; }
.fda-identity__lead { margin:0; font-family:var(--font-serif); font-size:19px; line-height:1.6; color:var(--ink); }
.fda-identity__p { margin:0; font-family:var(--font-serif); font-size:16px; line-height:1.7; color:var(--ink-soft); }

.fda-h2 { margin:18px 0 40px; font-family:var(--font-display); font-style:italic; font-weight:400; font-size:56px; line-height:.96; letter-spacing:-.02em; color:var(--ink); }
.fda-listrow { display:grid; grid-template-columns:44px 1fr 1.1fr; gap:28px; padding:26px 0; align-items:start; }
.fda-listrow__index { font-family:var(--font-sans); font-weight:500; font-size:11px; color:var(--cobalt); padding-top:6px; }
.fda-listrow__title { margin:0; font-family:var(--font-display); font-style:italic; font-weight:400; font-size:24px; line-height:1.05; color:var(--ink); }
.fda-listrow__body { margin:0; font-family:var(--font-serif); font-size:15px; line-height:1.6; color:var(--ink-muted); }

.fda-quote { background:var(--night); padding:96px 0; position:relative; overflow:hidden; }
.fda-quote__glow { position:absolute; left:20%; top:-60%; width:60%; height:220%; border-radius:50%; filter:blur(90px); background:linear-gradient(-40.87deg, #0E102A 26.94%, #2A3FF4 74.45%); opacity:.85; }
.fda-quote__inner { position:relative; }
.fda-quote blockquote { margin:20px auto 0; max-width:880px; text-align:center; }
.fda-quote__text { margin:0; font-family:var(--font-display); font-style:italic; font-weight:400; font-size:clamp(40px,4.6vw,60px); line-height:1.04; letter-spacing:-.02em; color:var(--on-dark-strong); }
.fda-quote__cite { margin-top:24px; font-family:var(--font-sans); font-weight:500; font-size:11px; letter-spacing:.02em; color:var(--on-dark-muted); }

.fda-bg-head { display:grid; grid-template-columns:1.2fr 1fr; gap:56px; align-items:start; }
.fda-bg-head__title { margin:18px 0 0; font-family:var(--font-display); font-style:italic; font-weight:400; font-size:48px; line-height:.98; letter-spacing:-.02em; color:var(--ink); }
.fda-bg-head__intro { margin:0; font-family:var(--font-serif); font-size:17px; line-height:1.7; color:var(--ink-soft); }
.fda-chapter { display:grid; grid-template-columns:150px 1fr 1.2fr; gap:28px; padding:28px 0; align-items:baseline; }
.fda-chapter__date { font-family:var(--font-mono); font-size:11px; color:var(--ink-muted); }
.fda-chapter__title { margin:0; font-family:var(--font-display); font-style:italic; font-weight:400; font-size:24px; line-height:1.05; color:var(--ink); }
.fda-chapter__body { margin:0; font-family:var(--font-serif); font-size:15px; line-height:1.6; color:var(--ink-muted); }

/* Reusable Night CTA with angular gradient facets */
.fda-cta { position:relative; overflow:hidden; background:var(--night); }
.fda-cta__glow { position:absolute; right:8%; bottom:-70%; width:60%; height:190%; border-radius:50%; filter:blur(85px); background:linear-gradient(127.381deg, #0E102A 33.99%, #2A3FF4 63.16%, rgba(14,16,42,0.92) 77.74%); }
.fda-cta__inner { position:relative; padding:88px var(--page-margin); max-width:var(--content-max); margin:0 auto; }
.fda-cta__grid { display:grid; grid-template-columns:1.3fr auto; gap:40px; align-items:center; }
.fda-cta__title { margin:0; font-family:var(--font-display); font-style:italic; font-weight:400; font-size:clamp(44px,5vw,64px); line-height:.96; letter-spacing:-.02em; color:var(--on-dark-strong); max-width:620px; }
.fda-cta__actions { display:flex; flex-direction:column; gap:12px; }
.fda-cta__note { margin:28px 0 0; max-width:560px; font-family:var(--font-serif); font-size:16px; line-height:1.6; color:var(--on-dark-soft); }
.btn-cta { background:var(--berry); color:var(--warm-100); }
.btn-cta:hover { background:var(--berry-soft); }
.btn-cta-outline { background:transparent; color:var(--berry); box-shadow:inset 0 0 0 1px var(--berry); }
.btn-cta-outline:hover { background:var(--berry); color:var(--warm-100); }
.btn-primary { background:var(--night); color:var(--warm-100); }
.btn-primary:hover { background:#1a1d3f; }
.btn-outline { background:transparent; color:var(--ink); box-shadow:inset 0 0 0 1px var(--ink); }
.btn-outline:hover { background:var(--ink); color:var(--warm-100); }
.btn-ghost-dark { background:transparent; color:var(--on-dark-strong); box-shadow:inset 0 0 0 1px var(--on-dark-line); }
.btn-solid-dark { background:var(--warm-100); color:var(--ink); box-shadow:inset 0 0 0 1px var(--warm-100); }
.btn-solid-dark:hover { background:var(--paper); box-shadow:inset 0 0 0 1px var(--paper); }
.btn-ghost-dark:hover { background:rgba(237,238,232,.08); }
.btn .arrow { transition:transform var(--dur) var(--ease-out); }
.btn:hover .arrow { transform:translateX(3px); }

/* ============================================================ Header / nav ============================================================ */
.site-header { position:sticky; top:0; z-index:50; background:rgba(237,238,232,.82); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); border-bottom:1px solid var(--ink-line); }
.site-header .wrap { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; height:var(--nav-height); }
.nav-links { display:flex; gap:28px; align-items:center; }
.nav-links a { font-family:var(--font-sans); font-weight:500; font-size:13px; color:var(--ink-soft); text-decoration:none; transition:color var(--dur) var(--ease-out); }
.nav-links a:hover, .nav-links a.active { color:var(--ink); }
.brand { justify-self:center; font-family:var(--font-display); font-style:italic; font-weight:700; font-size:22px; color:var(--ink); text-decoration:none; letter-spacing:-.01em; }
.nav-right { justify-self:end; display:flex; gap:14px; align-items:center; }

/* ============================================================ Footer ============================================================ */
.site-footer { background:var(--night); color:var(--on-dark); }
.site-footer .wrap { padding-top:64px; padding-bottom:48px; }
.footer-top { display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:40px; }
.footer-brand .mark { font-family:var(--font-display); font-style:italic; font-weight:700; font-size:30px; color:var(--on-dark-strong); }
.footer-brand p { max-width:280px; font-size:15px; line-height:1.6; color:var(--on-dark-soft); }
.footer-col h4 { font-family:var(--font-sans); font-weight:500; font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:var(--on-dark-muted); margin:0 0 16px; }
.footer-col ul { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }
.footer-col a { font-family:var(--font-sans); font-size:13px; color:var(--on-dark-soft); text-decoration:none; }
.footer-col a:hover { color:var(--on-dark-strong); }
.footer-bottom { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-top:48px; padding-top:24px; border-top:1px solid var(--on-dark-line); font-family:var(--font-sans); font-size:12px; color:var(--on-dark-muted); }
.badge-avail { display:inline-flex; align-items:center; gap:8px; }
.badge-avail .dot { width:7px; height:7px; border-radius:50%; background:#27AE60; box-shadow:0 0 0 4px rgba(39,174,96,.18); }

/* ============================================================ CTA band (Night + angular facets) ============================================================ */
.cta-band { position:relative; overflow:hidden; background:var(--night); }
.cta-band .f1 { position:absolute; inset:0; clip-path:polygon(0 0,42% 0,18% 100%,0 100%); background:linear-gradient(123.198deg,#0E102A 32.65%,#2A3FF4 61.51%,#0E102A 75.92%); opacity:.9; }
.cta-band .f2 { position:absolute; inset:0; clip-path:polygon(58% 0,100% 0,100% 100%,80% 100%); background:linear-gradient(132.738deg,#4A5CFF 20.74%,#14173A 85.69%); opacity:.75; }
.cta-band .wrap { position:relative; padding:84px var(--page-margin); }
.cta-grid { display:grid; grid-template-columns:1.3fr auto; gap:40px; align-items:center; }
.cta-band h2 { margin:0; max-width:620px; font-family:var(--font-display); font-style:italic; font-weight:400; font-size:clamp(40px,4.8vw,60px); line-height:.98; letter-spacing:-.02em; color:var(--on-dark-strong); }
.cta-actions { display:flex; flex-direction:column; gap:12px; }

/* ============================================================ Home hero ============================================================ */
.hero { position:relative; overflow:hidden; }
.hero .wrap { position:relative; display:grid; grid-template-columns:1.05fr .95fr; gap:48px; align-items:center; padding-top:88px; padding-bottom:88px; min-height:560px; }
.hero-glow { position:absolute; top:-16%; bottom:-16%; left:6%; right:-8%; z-index:0;
  -webkit-mask-image:radial-gradient(86% 90% at 66% 50%,#000 8%,rgba(0,0,0,.55) 44%,transparent 86%);
  mask-image:radial-gradient(86% 90% at 66% 50%,#000 8%,rgba(0,0,0,.55) 44%,transparent 86%); }
.hero-glow .inner { position:absolute; inset:0; transform:rotate(19.5deg); filter:blur(72px); opacity:.95; }
.hero-glow .blob { position:absolute; border-radius:56% 44% 60% 40%/58% 50% 50% 42%; }
.hero-glow .b1 { top:-10%; left:14%; width:64%; height:64%; background:linear-gradient(-43.933deg,#0E102A 22%,#2A3FF4 78%); }
.hero-glow .b2 { bottom:-12%; right:2%; width:62%; height:66%; background:linear-gradient(132.738deg,#4A5CFF 20%,#14173A 86%); }
.hero-copy { position:relative; z-index:1; }
.hero-promise { margin:24px 0 32px; max-width:440px; font-family:var(--font-serif); font-size:20px; line-height:1.55; color:var(--ink-soft); }
.hero-actions { display:flex; gap:12px; flex-wrap:wrap; }
.hero-art { position:relative; z-index:1; display:flex; justify-content:center; align-items:center; }
.hero-art img { width:78%; filter:drop-shadow(0 24px 60px rgba(14,16,42,.28)); }

/* ============================================================ Generic section ============================================================ */
.section { padding:80px 0; }
.section.tight { padding:56px 0; }
.section-head { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:end; margin-bottom:48px; }
.section-head p { margin:0; max-width:440px; color:var(--ink-soft); }

/* value cards */
.value-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.value-card { background:var(--surface); border-radius:var(--radius-md); padding:28px 24px; box-shadow:var(--shadow-soft); display:flex; flex-direction:column; gap:12px; }
.value-card .n { font-family:var(--font-mono); font-size:11px; color:var(--cobalt); }
.value-card h3 { margin:0; font-family:var(--font-display); font-style:italic; font-weight:400; font-size:23px; color:var(--ink); }
.value-card p { margin:0; font-size:14px; line-height:1.55; color:var(--ink-muted); }

/* ============================================================ Post list ============================================================ */
.posts-hero { padding:72px 0 8px; }
.featured { display:grid; grid-template-columns:1fr 1fr; gap:56px; padding:44px 0; align-items:center; text-decoration:none; color:inherit; }
.cover { width:100%; aspect-ratio:16/11; border-radius:var(--radius-md); background:var(--warm-90) url("../img/gradient-blob.webp") center/cover; box-shadow:var(--shadow-soft); display:block; overflow:hidden; }
.cover img { width:100%; height:100%; object-fit:cover; }
.featured h2 { margin:0; font-family:var(--font-display); font-style:italic; font-weight:400; font-size:42px; line-height:1; letter-spacing:-.02em; color:var(--ink); }
.post-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:36px; }
.post-card { display:flex; flex-direction:column; gap:16px; text-decoration:none; color:inherit; }
.post-card .cover { aspect-ratio:16/11; }
.post-card .meta { display:flex; gap:10px; align-items:center; }
.post-card h3 { margin:0; font-family:var(--font-display); font-style:italic; font-weight:400; font-size:23px; line-height:1.08; color:var(--ink); }
.post-card .blurb { margin:0; font-size:14px; line-height:1.55; color:var(--ink-muted); }
.read-more { font-family:var(--font-sans); font-weight:500; font-size:11px; color:var(--cobalt); margin-top:auto; text-decoration:none; }
.filters { display:flex; gap:10px; flex-wrap:wrap; padding:8px 0 32px; }
.chip { height:30px; padding:0 14px; border-radius:var(--radius-xs); background:transparent; color:var(--ink-soft); box-shadow:inset 0 0 0 1px var(--ink-faint); font-family:var(--font-sans); font-weight:500; font-size:11px; text-decoration:none; display:inline-flex; align-items:center; }
.chip.active { background:var(--berry); color:var(--warm-100); box-shadow:none; }

/* ============================================================ Single post ============================================================ */
.article { max-width:760px; margin:0 auto; padding:0 var(--page-margin); }
.crumb { display:flex; align-items:center; gap:8px; font-family:var(--font-sans); font-size:11px; color:var(--ink-muted); }
.crumb a { text-decoration:none; color:inherit; }
.crumb .sep { color:var(--ink-faint); }
.crumb .here { color:var(--cobalt); }
.post-title { margin:22px 0 0; font-family:var(--font-display); font-style:italic; font-weight:400; font-size:clamp(40px,4.6vw,62px); line-height:.98; letter-spacing:-.02em; color:var(--cobalt); }
.post-meta { display:flex; align-items:center; gap:14px; margin-top:22px; font-family:var(--font-mono); font-size:12px; color:var(--ink-muted); }
.post-meta .sep { color:var(--ink-faint); }
.post-cover { width:100%; aspect-ratio:16/10; border-radius:var(--radius-lg); box-shadow:var(--shadow-soft); }
.post-caption { margin:16px 0 0; text-align:center; font-family:var(--font-display); font-style:italic; font-weight:400; font-size:22px; color:var(--ink-soft); }
.author-box { border-left:3px solid var(--cobalt); padding:4px 0 4px 24px; display:flex; flex-direction:column; gap:8px; }
.author-box .role { font-family:var(--font-sans); font-weight:500; font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-muted); }
.author-box .name { font-family:var(--font-display); font-style:italic; font-weight:400; font-size:24px; color:var(--ink); }
.author-box p { margin:0; font-size:15px; line-height:1.6; color:var(--ink-soft); max-width:540px; }
.author-box a { align-self:flex-start; font-family:var(--font-sans); font-weight:500; font-size:12px; color:var(--cobalt); text-decoration:none; margin-top:4px; }
.share-row { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:22px 0; flex-wrap:wrap; }
.share-links { display:flex; gap:8px; align-items:center; }
.share-links a { height:28px; display:inline-flex; align-items:center; padding:0 12px; border-radius:var(--radius-xs); box-shadow:inset 0 0 0 1px var(--ink-faint); font-family:var(--font-sans); font-weight:500; font-size:11px; color:var(--ink-soft); text-decoration:none; }
.prevnext { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--ink-line); }
.prevnext a { padding:24px 0; text-decoration:none; color:inherit; }
.prevnext .label { font-family:var(--font-sans); font-weight:500; font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-muted); margin-bottom:10px; }
.prevnext .t { font-family:var(--font-display); font-style:italic; font-weight:400; font-size:19px; line-height:1.1; color:var(--ink); }
.prevnext .next { text-align:right; padding-left:28px; }
.prevnext .prev { border-right:1px solid var(--ink-line-soft); padding-right:28px; }

/* ============================================================ Services ============================================================ */
.svc-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.svc-card { display:flex; flex-direction:column; gap:14px; background:var(--surface); border-radius:var(--radius-md); padding:32px; box-shadow:var(--shadow-soft); text-decoration:none; color:inherit; transition:transform var(--dur) var(--ease-out), box-shadow var(--dur) var(--ease-out); }
.svc-card:hover { transform:translateY(-3px); box-shadow:0 10px 30px rgba(14,16,42,.12); }
.svc-card .num { font-family:var(--font-mono); font-size:11px; color:var(--cobalt); }
.svc-card h3 { margin:0; font-family:var(--font-display); font-style:italic; font-weight:400; font-size:28px; line-height:1.04; color:var(--ink); }
.svc-card .tagline { margin:0; font-size:15px; line-height:1.55; color:var(--ink-soft); }
.svc-card .more { margin-top:auto; font-family:var(--font-sans); font-weight:500; font-size:12px; color:var(--cobalt); }
.checklist { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:14px; }
.checklist li { display:grid; grid-template-columns:20px 1fr; gap:14px; font-family:var(--font-serif); font-size:16px; line-height:1.55; color:var(--ink-soft); }
.checklist .ck { color:var(--cobalt); font-weight:600; }

/* ============================================================ Pillar (long-form) ============================================================ */
.pillar-body { display:grid; grid-template-columns:220px 1fr; gap:64px; align-items:start; }
.toc { position:sticky; top:88px; display:flex; flex-direction:column; gap:2px; }
.toc .label { font-family:var(--font-sans); font-weight:500; font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-muted); margin-bottom:12px; }
.toc a { font-family:var(--font-serif); font-size:14px; line-height:1.3; color:var(--ink-muted); border-left:2px solid var(--ink-line); padding:6px 0 6px 14px; text-decoration:none; transition:color var(--dur) var(--ease-out); }
.toc a:hover { color:var(--cobalt); }
.compare-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.compare-card { background:var(--surface); border-radius:var(--radius-sm); padding:24px; box-shadow:var(--shadow-soft); display:flex; flex-direction:column; gap:8px; }
.compare-card h3 { margin:0; font-family:var(--font-display); font-style:italic; font-weight:400; font-size:21px; color:var(--ink); }
.compare-card p { margin:0; font-size:14px; line-height:1.55; color:var(--ink-soft); }
.signs-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.sign { border-left:3px solid var(--berry); padding-left:16px; display:flex; flex-direction:column; gap:4px; }
.sign .h { font-family:var(--font-sans); font-weight:600; font-size:15px; color:var(--ink); }
.sign .d { font-size:14px; line-height:1.5; color:var(--ink-muted); }
.roadmap { border-top:2px solid var(--ink); border-bottom:1px solid var(--ink-line); }
.roadmap .row { display:grid; grid-template-columns:1.1fr 2fr .9fr; gap:16px; padding:16px 0; border-bottom:1px solid var(--ink-line-soft); align-items:baseline; }
.roadmap .row.head { padding:12px 0; }
.roadmap .row.head span { font-family:var(--font-sans); font-weight:600; font-size:11px; letter-spacing:.04em; text-transform:uppercase; color:var(--ink-muted); }
.roadmap .ph { font-family:var(--font-display); font-style:italic; font-size:19px; color:var(--cobalt); }
.roadmap .fo { font-size:15px; line-height:1.5; color:var(--ink-soft); }
.roadmap .ti { font-family:var(--font-mono); font-size:13px; color:var(--ink-muted); }
.faq { border-top:1px solid var(--ink-line); }
.faq details { border-bottom:1px solid var(--ink-line-soft); }
.faq summary { list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:24px; padding:20px 0; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary .q { font-family:var(--font-display); font-style:italic; font-weight:400; font-size:20px; line-height:1.15; color:var(--ink); }
.faq summary .ic { font-family:var(--font-sans); font-size:22px; color:var(--cobalt); line-height:1; }
.faq details[open] summary .ic { transform:rotate(45deg); }
.faq summary .ic { transition:transform var(--dur) var(--ease-out); }
.faq .a { margin:0 0 22px; max-width:620px; font-size:16px; line-height:1.7; color:var(--ink-soft); }

/* ============================================================ Prose (markdown content) ============================================================ */
.prose { font-family:var(--font-serif); font-size:18px; line-height:1.7; color:var(--ink); }
.prose > *:first-child { margin-top:0; }
.prose p { margin:0 0 24px; }
.prose h2 { font-family:var(--font-display); font-style:italic; font-weight:400; font-size:38px; line-height:1; letter-spacing:-.02em; color:var(--ink); margin:48px 0 22px; scroll-margin-top:96px; }
.prose h3 { font-family:var(--font-display); font-style:italic; font-weight:400; font-size:22px; line-height:1.1; color:var(--ink); margin:32px 0 10px; }
.prose a { color:var(--cobalt); text-decoration:underline; text-underline-offset:2px; text-decoration-thickness:1px; }
.prose strong { font-family:var(--font-sans); font-weight:600; }
.prose em { font-style:italic; }
.prose ul, .prose ol { margin:0 0 24px; padding-left:24px; }
.prose li { margin:0 0 10px; }
.prose blockquote { margin:0 0 24px; padding:4px 0 4px 24px; border-left:3px solid var(--cobalt); font-family:var(--font-display); font-style:italic; font-size:21px; color:var(--ink-soft); }
.prose code { font-family:var(--font-mono); font-size:.86em; background:var(--warm-90); padding:2px 6px; border-radius:var(--radius-xs); }
.prose pre { background:var(--night); color:var(--on-dark-strong); padding:20px 24px; border-radius:var(--radius-md); overflow:auto; margin:0 0 24px; }
.prose pre code { background:none; padding:0; color:inherit; }
.prose img { border-radius:var(--radius-md); margin:0 0 24px; box-shadow:var(--shadow-soft); }
.prose hr { border:0; height:1px; background:var(--ink-line); margin:40px 0; }
.prose table { width:100%; border-collapse:collapse; margin:0 0 24px; font-family:var(--font-sans); font-size:15px; }
.prose th { text-align:left; font-weight:600; font-size:11px; letter-spacing:.04em; text-transform:uppercase; color:var(--ink-muted); border-bottom:2px solid var(--ink); padding:12px 14px 12px 0; }
.prose td { border-bottom:1px solid var(--ink-line-soft); padding:14px 14px 14px 0; color:var(--ink-soft); }
.prose .lead { font-size:21px; line-height:1.55; font-weight:600; color:var(--ink); }

/* ============================================================ Utilities ============================================================ */
.stack { display:flex; flex-direction:column; }
.gap-sm { gap:8px; } .gap-md { gap:16px; } .gap-lg { gap:24px; }
.row { display:flex; align-items:center; }
.center { text-align:center; }
.mt-2 { margin-top:8px; } .mt-4 { margin-top:16px; } .mt-6 { margin-top:32px; }

/* ============================================================ Responsive ============================================================ */
@media (max-width:1080px) {
  :root { --page-margin:48px; }
  .hero .wrap { grid-template-columns:1fr; gap:32px; min-height:0; }
  .hero-art { order:-1; }
  .post-grid { grid-template-columns:repeat(2,1fr); }
  .value-grid { grid-template-columns:repeat(2,1fr); }
  .pillar-body { grid-template-columns:1fr; gap:32px; }
  .toc { position:static; flex-direction:row; flex-wrap:wrap; }
  .toc a { border-left:0; border-bottom:2px solid var(--ink-line); padding:6px 12px; }
  .footer-top { grid-template-columns:1fr 1fr; gap:32px; }
}
@media (max-width:760px) {
  :root { --page-margin:24px; }
  body { font-size:16px; }
  .site-header .wrap { grid-template-columns:auto 1fr; }
  .brand { display:none; }
  .nav-links { gap:18px; }
  .nav-links a { font-size:12px; }
  .section-head { grid-template-columns:1fr; gap:16px; }
  .featured { grid-template-columns:1fr; gap:24px; }
  .post-grid, .svc-grid, .value-grid, .compare-grid, .signs-grid, .cta-grid { grid-template-columns:1fr; }
  .roadmap .row { grid-template-columns:1fr; gap:6px; }
  .prevnext { grid-template-columns:1fr; }
  .prevnext .prev { border-right:0; border-bottom:1px solid var(--ink-line-soft); padding-right:0; }
  .prevnext .next { text-align:left; padding-left:0; }
  .prose h2 { font-size:30px; }
}

/* ============================================================ 404 (NotFoundScreen) ============================================================ */
.fda-404 { background:var(--warm-100); }
.fda-404__hero { position:relative; overflow:hidden; min-height:calc(100vh - var(--nav-height)); }
.fda-404__bloom { position:absolute; top:-18%; bottom:-18%; left:34%; right:-10%; z-index:0; -webkit-mask-image:radial-gradient(84% 90% at 60% 50%, #000 8%, rgba(0,0,0,.55) 46%, transparent 86%); mask-image:radial-gradient(84% 90% at 60% 50%, #000 8%, rgba(0,0,0,.55) 46%, transparent 86%); }
.fda-404__blobs { position:absolute; inset:0; transform:rotate(19.5deg); filter:blur(72px); opacity:.95; }
.fda-404__blob1 { position:absolute; top:-10%; left:10%; width:64%; height:64%; border-radius:56% 44% 60% 40% / 58% 50% 50% 42%; background:linear-gradient(-43.933deg, #0E102A 22%, #2A3FF4 78%); }
.fda-404__blob2 { position:absolute; bottom:-12%; right:-12%; width:74%; height:68%; border-radius:48% 52% 42% 58% / 50% 46% 54% 50%; background:linear-gradient(-43.959deg, #0E102A 26%, #2A3FF4 80%); }
.fda-404__core { position:absolute; inset:0; background:radial-gradient(30% 32% at 50% 50%, rgba(8,10,30,.78), rgba(8,10,30,0) 72%); filter:blur(26px); }
.fda-404__grain { position:absolute; inset:0; background:var(--gradient-1); mix-blend-mode:multiply; opacity:.14; }
.fda-404__inner { position:relative; z-index:1; display:grid; grid-template-columns:1.1fr 0.9fr; gap:32px; align-items:center; min-height:calc(100vh - var(--nav-height)); padding-top:56px; padding-bottom:56px; }
.fda-404__eyebrow { display:flex; align-items:center; gap:12px; }
.fda-404__eyebrow .rule { width:28px; height:1px; background:var(--ink-faint); }
.fda-404__eyebrow .txt { font-family:var(--font-sans); font-weight:500; font-size:11px; letter-spacing:.02em; color:var(--ink-muted); }
.fda-404__big { margin:20px 0 0; font-family:var(--font-display); font-style:italic; font-weight:700; font-size:clamp(120px,15vw,210px); line-height:.82; letter-spacing:-.03em; text-transform:uppercase; color:var(--cobalt); }
.fda-404__h2 { margin:22px 0 0; font-family:var(--font-display); font-style:italic; font-weight:400; font-size:clamp(32px,3.8vw,50px); line-height:.98; letter-spacing:-.02em; color:var(--ink); }
.fda-404__p { margin:20px 0 0; max-width:440px; font-family:var(--font-serif); font-size:18px; line-height:1.6; color:var(--ink-soft); }
.fda-404__path { display:inline-flex; align-items:center; gap:10px; margin-top:22px; padding:9px 14px; border-radius:var(--radius-sm); background:var(--warm-90); box-shadow:inset 0 0 0 1px var(--ink-line); }
.fda-404__path .dot { width:7px; height:7px; border-radius:50%; background:var(--danger); box-shadow:0 0 10px var(--danger); flex:none; }
.fda-404__path code { font-family:var(--font-mono); font-size:12px; color:var(--ink); }
.fda-404__actions { display:flex; gap:14px; margin-top:32px; flex-wrap:wrap; }
.fda-404__art { position:relative; align-self:stretch; min-height:440px; display:flex; align-items:center; justify-content:center; }
.fda-404__art img { width:360px; max-width:100%; filter:brightness(0) invert(1); opacity:.94; }
.fda-404__dests { position:relative; z-index:1; padding-bottom:88px; }
.fda-404__dests-head { display:block; margin:26px 0 22px; font-family:var(--font-sans); font-weight:500; font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-muted); }
.fda-404__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.fda-404__card { display:flex; flex-direction:column; gap:8px; padding:22px 22px 24px; border-radius:var(--radius-sm); background:var(--paper); box-shadow:inset 0 0 0 1px var(--ink-line); transition:box-shadow var(--dur) var(--ease-out), transform var(--dur) var(--ease-out); }
.fda-404__card:hover { box-shadow:inset 0 0 0 1px var(--cobalt); transform:translateY(-2px); }
.fda-404__card .num { font-family:var(--font-mono); font-size:11px; color:var(--cobalt); }
.fda-404__card .label { font-family:var(--font-display); font-style:italic; font-size:26px; line-height:1; letter-spacing:-.01em; color:var(--ink); }
.fda-404__card .blurb { font-family:var(--font-serif); font-size:14px; line-height:1.5; color:var(--ink-soft); }
@media (max-width:900px) {
  .fda-404__inner { grid-template-columns:1fr; }
  .fda-404__art { display:none; }
  .fda-404__grid { grid-template-columns:1fr 1fr; }
}

/* ---- Posts index + taxonomy ---- */
.fda-article { max-width:760px; }  /* reading-width cap; lives inside .fda-inner which sets the page grid */
.fda-posts__hero { padding-top:56px; padding-bottom:40px; }
.fda-posts__herogrid { display:grid; grid-template-columns:1.1fr 0.9fr; gap:48px; align-items:end; margin-top:22px; }
.fda-posts__title { margin:0; font-family:var(--font-display); font-style:italic; font-weight:400; font-size:clamp(52px,5.6vw,80px); line-height:.92; letter-spacing:-.02em; color:var(--cobalt); }
.fda-posts__title span { display:block; }
.fda-posts__intro { margin:0; font-family:var(--font-serif); font-size:17px; line-height:1.6; color:var(--ink-soft); max-width:440px; }
.fda-posts__main { padding-top:20px; padding-bottom:88px; }
.fda-posts__filters { display:flex; gap:10px; padding:8px 0 32px; flex-wrap:wrap; }
.fda-posts__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:36px; }
.fda-posts__empty { font-family:var(--font-serif); font-size:17px; color:var(--ink-muted); padding:40px 0; }

.fda-feat { display:grid; grid-template-columns:1fr 1fr; gap:56px; padding:44px 0; align-items:center; }
.fda-feat__cover { display:block; width:100%; aspect-ratio:16/11; border-radius:14px; background-color:var(--paper); background-size:contain; background-repeat:no-repeat; background-position:center; box-shadow:var(--shadow-soft); }
.fda-feat__tags { display:flex; gap:10px; align-items:center; margin-bottom:16px; }
.fda-feat__title { margin:0; font-family:var(--font-display); font-style:italic; font-weight:400; font-size:42px; line-height:1; letter-spacing:-.02em; color:var(--ink); }
.fda-feat__blurb { margin:22px 0 26px; max-width:520px; font-family:var(--font-serif); font-size:16px; line-height:1.6; color:var(--ink-soft); }
.fda-feat__foot { display:flex; align-items:center; gap:16px; }
.fda-feat__date { font-family:var(--font-mono); font-size:11px; color:var(--ink-muted); }
.fda-feat__more { display:inline-flex; align-items:center; gap:8px; height:33px; padding:0 16px; border-radius:var(--radius-xs); background:var(--berry); color:var(--warm-100); font-family:var(--font-sans); font-weight:500; font-size:11px; letter-spacing:.04em; text-transform:uppercase; transition:background var(--dur) var(--ease-out); }
.fda-feat:hover .fda-feat__more { background:var(--berry-soft); }

.post-card { display:flex; flex-direction:column; gap:16px; }
.post-card__cover { display:block; width:100%; aspect-ratio:16/11; border-radius:12px; background-color:var(--paper); background-size:contain; background-repeat:no-repeat; background-position:center; box-shadow:var(--shadow-swatch); }
.post-card__meta { display:flex; gap:10px; align-items:center; }
.post-card__date { font-family:var(--font-mono); font-size:11px; color:var(--ink-muted); }
.post-card__title { margin:0; font-family:var(--font-display); font-style:italic; font-weight:400; font-size:23px; line-height:1.08; color:var(--ink); }
.post-card__blurb { margin:0; font-family:var(--font-serif); font-size:14px; line-height:1.55; color:var(--ink-muted); }
.post-card__more { font-family:var(--font-sans); font-weight:500; font-size:11px; color:var(--cobalt); margin-top:auto; }

.fda-pager { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:56px; padding-top:28px; border-top:1px solid var(--ink-line); }
.fda-pager__nav { font-family:var(--font-sans); font-weight:500; font-size:13px; color:var(--ink); }
.fda-pager__nav.is-off { color:var(--ink-faint); }
.fda-pager__count { font-family:var(--font-mono); font-size:12px; color:var(--ink-muted); }

/* ---- Single post ---- */
.fda-post__head { padding-top:56px; padding-bottom:24px; }
.fda-post__title { margin:22px 0 0; font-family:var(--font-display); font-style:italic; font-weight:400; font-size:clamp(40px,4.6vw,62px); line-height:.98; letter-spacing:-.02em; color:var(--cobalt); }
.fda-post__byline { display:flex; align-items:center; gap:14px; margin-top:22px; font-family:var(--font-mono); font-size:12px; color:var(--ink-muted); }
.fda-post__byline .sep { color:var(--ink-faint); }
.fda-post__cover { margin:0; padding-bottom:40px; }
.fda-post__cover img { width:100%; height:auto; border-radius:16px; box-shadow:var(--shadow-soft); display:block; background-color:var(--paper); }
.fda-post__caption { margin:16px 0 0; text-align:center; font-family:var(--font-display); font-style:italic; font-weight:400; font-size:22px; color:var(--ink-soft); }
.fda-post__body { padding-bottom:48px; }
.fda-post__bio { border-left:3px solid var(--cobalt); padding:4px 0 4px 24px; display:flex; flex-direction:column; gap:8px; margin-bottom:40px; }
.fda-post__bio-ey { font-family:var(--font-sans); font-weight:500; font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-muted); }
.fda-post__bio-name { font-family:var(--font-display); font-style:italic; font-weight:400; font-size:24px; color:var(--ink); }
.fda-post__bio p { margin:0; font-family:var(--font-serif); font-size:15px; line-height:1.6; color:var(--ink-soft); max-width:540px; }
.fda-post__bio-link { align-self:flex-start; font-family:var(--font-sans); font-weight:500; font-size:12px; color:var(--cobalt); margin-top:4px; }
.fda-post__share { padding-bottom:36px; }
.fda-post__share-row { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:22px 0; flex-wrap:wrap; }
.fda-post__tags { display:flex; gap:8px; flex-wrap:wrap; }
.fda-post__share-links { display:flex; gap:8px; align-items:center; }
.fda-post__share-label { font-family:var(--font-sans); font-weight:500; font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-muted); }
.fda-post__share-links a { height:28px; display:inline-flex; align-items:center; padding:0 12px; border-radius:var(--radius-xs); box-shadow:inset 0 0 0 1px var(--ink-faint); font-family:var(--font-sans); font-weight:500; font-size:11px; color:var(--ink-soft); }
.fda-post__nav { padding-bottom:80px; }
.fda-post__prevnext { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--ink-line); }
.fda-post__pn { display:flex; flex-direction:column; gap:10px; padding:24px 28px 24px 0; }
.fda-post__pn--prev { border-right:1px solid var(--ink-line-soft); }
.fda-post__pn--next { text-align:right; padding:24px 0 24px 28px; }
.fda-post__pn.is-off { opacity:.4; }
.fda-post__pn .lbl { font-family:var(--font-sans); font-weight:500; font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-muted); }
.fda-post__pn .t { font-family:var(--font-display); font-style:italic; font-weight:400; font-size:19px; line-height:1.1; color:var(--ink); }

@media (max-width:900px) {
  .fda-posts__herogrid { grid-template-columns:1fr; gap:20px; }
  .fda-posts__grid { grid-template-columns:1fr 1fr; gap:28px; }
  .fda-feat { grid-template-columns:1fr; gap:28px; }
  .fda-post__prevnext { grid-template-columns:1fr; }
  .fda-post__pn--prev { border-right:0; border-bottom:1px solid var(--ink-line-soft); }
  .fda-post__pn--next { text-align:left; padding:24px 0; }
}
@media (max-width:600px) { .fda-posts__grid { grid-template-columns:1fr; } }

/* ---- Pillar / guide pages (page/single.html) ---- */
.fda-pillar__hero { position:relative; overflow:hidden; padding-top:56px; padding-bottom:40px; }
.fda-pillar__bloom { position:absolute; right:-8%; top:-50%; width:44%; height:200%; border-radius:50%; filter:blur(100px); background:linear-gradient(131.527deg, #2A3FF4 23.9%, #0E102A 67.65%); opacity:.38; pointer-events:none; }
.fda-pillar__hero .fda-inner { position:relative; z-index:1; }
.fda-pillar__title { margin:22px 0 0; font-family:var(--font-display); font-style:italic; font-weight:400; font-size:clamp(44px,5.2vw,72px); line-height:.96; letter-spacing:-.02em; color:var(--cobalt); max-width:860px; }
.fda-pillar__intro { margin:24px 0 0; max-width:620px; font-family:var(--font-serif); font-size:19px; line-height:1.6; color:var(--ink-soft); }
.fda-pillar__meta { display:flex; align-items:center; gap:14px; margin-top:26px; font-family:var(--font-mono); font-size:12px; color:var(--ink-muted); flex-wrap:wrap; }
.fda-pillar__meta .sep { color:var(--ink-faint); }
.fda-pillar__body { padding-bottom:72px; }
.fda-pillar__grid { display:grid; grid-template-columns:220px 1fr; gap:64px; align-items:start; }
.fda-pillar__article { max-width:720px; min-width:0; }

/* sticky TOC (Hugo .TableOfContents) */
.fda-pillar__toc { position:sticky; top:88px; align-self:start; display:flex; flex-direction:column; }
.fda-pillar__toc-head { font-family:var(--font-sans); font-weight:500; font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-muted); margin-bottom:12px; }
#TableOfContents ul { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:2px; }
#TableOfContents a { display:block; font-family:var(--font-serif); font-size:14px; line-height:1.3; color:var(--ink-muted); border-left:2px solid var(--ink-line); padding:6px 0 6px 14px; transition:color var(--dur) var(--ease-out), border-color var(--dur) var(--ease-out); }
#TableOfContents a:hover { color:var(--cobalt); border-left-color:var(--cobalt); }
#TableOfContents ul ul a { padding-left:26px; font-size:13px; }

/* FAQ accordion (native details) */
.fda-faq { margin:8px 0 0; }
.fda-faq__list { border-top:1px solid var(--ink-line); }
.fda-faq__item { border-bottom:1px solid var(--ink-line-soft); }
.fda-faq__item summary { list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:24px; padding:20px 0; }
.fda-faq__item summary::-webkit-details-marker { display:none; }
.fda-faq__q { font-family:var(--font-display); font-style:italic; font-weight:400; font-size:20px; line-height:1.15; color:var(--ink); }
.fda-faq__mark { flex-shrink:0; font-family:var(--font-sans); font-size:22px; line-height:1; color:var(--cobalt); }
.fda-faq__mark::before { content:"+"; }
.fda-faq__item[open] .fda-faq__mark::before { content:"\2013"; }
.fda-faq__answer { padding:0 0 22px; max-width:620px; font-family:var(--font-serif); font-size:16px; line-height:1.7; color:var(--ink-soft); }
.fda-faq__answer p { margin:0 0 12px; }
.fda-faq__answer p:last-child { margin-bottom:0; }

/* comparison-cards shortcode */
.comparison-cards { display:grid; grid-template-columns:1fr 1fr; gap:0; border:1px solid var(--ink-line); border-radius:var(--radius-sm); overflow:hidden; margin:0 0 24px; }
.comparison-cards__header { padding:16px 20px; font-family:var(--font-sans); font-weight:600; font-size:13px; color:var(--ink); background:var(--warm-90); border-bottom:1px solid var(--ink-line); }
.comparison-cards__header--highlight { background:var(--night); color:var(--on-dark-strong); }
.comparison-cards__item { padding:14px 20px; font-family:var(--font-serif); font-size:15px; line-height:1.5; color:var(--ink-soft); border-bottom:1px solid var(--ink-line-soft); }
.comparison-cards__item--highlight { background:rgba(42,63,244,.04); }
.comparison-cards__item:nth-last-child(-n+2) { border-bottom:0; }
.comparison-cards__item p { margin:0; }

/* figure (Hugo built-in) + last-updated */
.prose figure { margin:0 0 24px; }
.prose figure img { margin:0; }
.prose figcaption { margin-top:10px; text-align:center; font-family:var(--font-display); font-style:italic; font-size:15px; color:var(--ink-soft); }
.fda-lastupdated { font-family:var(--font-mono); font-size:12px; color:var(--ink-muted); }

@media (max-width:900px) {
  .fda-pillar__grid { grid-template-columns:1fr; gap:24px; }
  .fda-pillar__toc { position:static; }
  #TableOfContents { display:none; }
  .comparison-cards { grid-template-columns:1fr; }
}

/* ---- Guides hub (guides/list.html) ---- */
.fda-guides__hero { position:relative; overflow:hidden; padding-top:56px; padding-bottom:40px; }
.fda-guides__bloom { position:absolute; right:-8%; top:-50%; width:44%; height:200%; border-radius:50%; filter:blur(100px); background:linear-gradient(131.527deg, #2A3FF4 23.9%, #0E102A 67.65%); opacity:.34; pointer-events:none; }
.fda-guides__hero .fda-inner { position:relative; z-index:1; }
.fda-guides__title { margin:22px 0 0; font-family:var(--font-display); font-style:italic; font-weight:400; font-size:clamp(48px,5.4vw,82px); line-height:.94; letter-spacing:-.02em; color:var(--cobalt); max-width:900px; }
.fda-guides__intro { margin:26px 0 0; max-width:600px; font-family:var(--font-serif); font-size:19px; line-height:1.6; color:var(--ink); }
.fda-guides__controls { margin-top:34px; display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.fda-guides__chips { display:flex; flex-wrap:wrap; gap:8px; }
.fda-chip { cursor:pointer; font-family:var(--font-sans); font-weight:500; font-size:12px; padding:8px 16px; border-radius:var(--radius-pill); border:none; white-space:nowrap; background:transparent; color:var(--ink-soft); box-shadow:inset 0 0 0 1px var(--ink-line); transition:all var(--dur) var(--ease-out); }
.fda-chip:hover { color:var(--ink); }
.fda-chip.is-on { background:var(--berry); color:var(--warm-100); box-shadow:none; }

.fda-guides__featured { position:relative; overflow:hidden; background:var(--night); margin:8px 0 12px; }
.fda-guides__featglow { position:absolute; right:6%; bottom:-70%; width:56%; height:190%; border-radius:50%; filter:blur(85px); background:linear-gradient(127.381deg, #0E102A 33.99%, #2A3FF4 63.16%, rgba(14,16,42,.92) 77.74%); }
.fda-guides__featgrid { position:relative; z-index:1; display:grid; grid-template-columns:1.4fr auto; gap:48px; align-items:center; padding-top:64px; padding-bottom:64px; }
.fda-guides__featey { font-family:var(--font-sans); font-weight:500; font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--cobalt-soft); }
.fda-guides__feattitle { margin:16px 0 0; font-family:var(--font-display); font-style:italic; font-weight:400; font-size:clamp(34px,3.6vw,50px); line-height:.98; letter-spacing:-.02em; color:var(--on-dark-strong); max-width:620px; }
.fda-guides__featblurb { margin:18px 0 24px; max-width:540px; font-family:var(--font-serif); font-size:17px; line-height:1.6; color:var(--on-dark-soft); }
.fda-guides__featicon { display:flex; justify-content:center; color:rgba(237,238,232,.92); }
.fda-guides__featicon svg { width:150px; height:150px; }

.fda-guides__body { padding-top:40px; padding-bottom:24px; }
.fda-guides__count { font-family:var(--font-sans); font-weight:500; font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-muted); margin:0 0 24px; }
.fda-guides__group { margin-bottom:64px; }
.fda-guides__grouphead { display:grid; grid-template-columns:1fr auto; align-items:end; gap:24px; margin-bottom:26px; }
.fda-guides__groupey { font-family:var(--font-sans); font-weight:500; font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--cobalt); }
.fda-guides__grouptitle { margin:10px 0 0; font-family:var(--font-display); font-style:italic; font-weight:400; font-size:34px; line-height:1; letter-spacing:-.02em; color:var(--ink); }
.fda-guides__groupblurb { margin:10px 0 0; max-width:560px; font-family:var(--font-serif); font-size:16px; line-height:1.55; color:var(--ink-soft); }
.fda-guides__groupnum { font-family:var(--font-mono); font-size:12px; color:var(--ink-subtle); }
.fda-guides__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.fda-guides__card { display:flex; flex-direction:column; gap:14px; padding:26px 26px 28px; border-radius:var(--radius-sm); background:var(--paper); box-shadow:inset 0 0 0 1px var(--ink-line); transition:box-shadow var(--dur) var(--ease-out), transform var(--dur) var(--ease-out); }
.fda-guides__card:hover { box-shadow:inset 0 0 0 1px var(--cobalt); transform:translateY(-2px); }
.fda-guides__cardtop { display:flex; align-items:center; justify-content:space-between; }
.fda-guides__cardicon { color:var(--cobalt); display:inline-flex; }
.fda-guides__cardicon svg { width:34px; height:34px; }
.fda-guides__cardread { font-family:var(--font-mono); font-size:11px; color:var(--ink-subtle); }
.fda-guides__cardtitle { margin:0; font-family:var(--font-display); font-style:italic; font-weight:400; font-size:25px; line-height:1.04; letter-spacing:-.01em; color:var(--ink); }
.fda-guides__cardsum { margin:0; font-family:var(--font-serif); font-size:15px; line-height:1.55; color:var(--ink-soft); }
.fda-guides__cardcat { margin-top:2px; font-family:var(--font-sans); font-size:11px; letter-spacing:.04em; text-transform:uppercase; color:var(--ink-muted); }
.fda-guides__empty { font-family:var(--font-serif); font-size:18px; color:var(--ink-soft); padding:8px 0 40px; }

.fda-guides__faq { padding-top:32px; padding-bottom:72px; }
.fda-guides__faqgrid { display:grid; grid-template-columns:0.8fr 1.2fr; gap:48px; margin-top:40px; align-items:start; }
.fda-guides__faqhead { margin:0; font-family:var(--font-display); font-style:italic; font-weight:400; font-size:clamp(32px,3.4vw,46px); line-height:.98; letter-spacing:-.02em; color:var(--ink); }
.fda-guides__faqitem { padding:22px 0; border-top:1px solid var(--ink-line-soft); }
.fda-guides__faqitem h3 { margin:0; font-family:var(--font-sans); font-weight:600; font-size:17px; color:var(--ink); }
.fda-guides__faqitem p { margin:10px 0 0; font-family:var(--font-serif); font-size:16px; line-height:1.65; color:var(--ink-soft); }

@media (max-width:900px) {
  .fda-guides__grid { grid-template-columns:1fr 1fr; }
  .fda-guides__featgrid { grid-template-columns:1fr; gap:28px; }
  .fda-guides__faqgrid { grid-template-columns:1fr; gap:20px; }
}
@media (max-width:600px) { .fda-guides__grid { grid-template-columns:1fr; } }

/* ---- Services index (ServicesScreen) ---- */
.fda-services__hero { padding-top:56px; padding-bottom:56px; }
.fda-services__herogrid { display:grid; grid-template-columns:1fr auto; gap:40px; align-items:center; }
.fda-services__title { margin:22px 0 0; font-family:var(--font-display); font-style:italic; font-weight:400; font-size:clamp(40px,4.6vw,64px); line-height:.98; letter-spacing:-.02em; color:var(--cobalt); max-width:760px; }
.fda-services__badges { display:flex; gap:14px; align-items:center; margin-top:26px; flex-wrap:wrap; }
.fda-services__badges .sep { color:var(--ink-faint); }
.fda-services__heroicon { color:var(--cobalt); opacity:.9; }
.fda-services__heroicon svg { width:150px; height:150px; }
.fda-services__grouphead { padding-top:56px; padding-bottom:8px; border-top:1px solid var(--ink-line-soft); }
.fda-services__grouphead.is-top { padding-top:72px; }
.fda-services__groupgrid { display:grid; grid-template-columns:1.1fr 0.9fr; gap:48px; align-items:end; margin-top:16px; }
.fda-services__grouptitle { margin:0; font-family:var(--font-display); font-style:italic; font-weight:400; font-size:clamp(34px,3.6vw,48px); line-height:1; letter-spacing:-.02em; color:var(--ink); }
.fda-services__groupblurb { margin:0; font-family:var(--font-serif); font-size:16px; line-height:1.6; color:var(--ink-soft); }

.fda-sband { display:block; position:relative; overflow:hidden; background:var(--warm-100); border-top:1px solid var(--ink-line-soft); }
.fda-sband--dark { background:var(--night); border-top:none; }
.fda-sband__glow { position:absolute; right:8%; bottom:-65%; width:56%; height:185%; border-radius:50%; filter:blur(80px); background:linear-gradient(127.381deg, #0E102A 33.99%, #2A3FF4 63.16%, rgba(14,16,42,.92) 77.74%); }
.fda-sband__row { position:relative; display:grid; grid-template-columns:40px 1.15fr 1.25fr 0.95fr; gap:28px; padding-top:48px; padding-bottom:48px; align-items:start; }
.fda-sband__idx { font-family:var(--font-sans); font-weight:500; font-size:11px; color:var(--cobalt); padding-top:6px; }
.fda-sband__name { display:block; font-family:var(--font-display); font-style:italic; font-weight:400; font-size:30px; line-height:1; letter-spacing:-.01em; color:var(--ink); }
.fda-sband--dark .fda-sband__name { color:var(--on-dark-strong); }
.fda-sband__body { display:block; margin-top:18px; max-width:320px; font-family:var(--font-serif); font-size:15px; line-height:1.6; color:var(--ink-soft); }
.fda-sband--dark .fda-sband__body { color:var(--on-dark-soft); }
.fda-sband__meta { display:flex; align-items:center; gap:16px; margin-top:18px; }
.fda-sband__view { font-family:var(--font-sans); font-weight:500; font-size:11px; color:var(--cobalt); }
.fda-sband--dark .fda-sband__view { color:var(--on-dark-strong); }
.fda-sband--dark .tag { color:var(--on-dark-soft); box-shadow:inset 0 0 0 1px var(--on-dark-line); }
.fda-sband__label { display:block; font-family:var(--font-sans); font-weight:500; font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-muted); margin-bottom:14px; }
.fda-sband--dark .fda-sband__label { color:var(--on-dark-muted); }
.fda-sband__delivlist { display:flex; flex-direction:column; gap:10px; }
.fda-sband__delivitem { display:flex; gap:10px; font-family:var(--font-serif); font-size:15px; color:var(--ink); }
.fda-sband--dark .fda-sband__delivitem { color:var(--on-dark); }
.fda-sband__delivitem .arr { color:var(--cobalt); font-family:var(--font-sans); }
.fda-sband__formats { display:flex; flex-direction:column; gap:8px; text-align:right; justify-self:end; }
.fda-sband__formats span { font-family:var(--font-mono); font-size:11px; color:var(--ink-muted); }
.fda-sband--dark .fda-sband__formats span { color:var(--on-dark-muted); }

/* ---- Service detail (ServiceDetailScreen) ---- */
.fda-svc__hero { position:relative; overflow:hidden; padding-top:56px; padding-bottom:64px; }
.fda-svc__glow { position:absolute; right:-6%; top:-40%; width:44%; height:180%; border-radius:50%; filter:blur(95px); background:linear-gradient(127.381deg, #0E102A 33.99%, #2A3FF4 63.16%, rgba(14,16,42,.92) 77.74%); opacity:.42; pointer-events:none; }
.fda-svc__herogrid { position:relative; z-index:1; display:grid; grid-template-columns:1.5fr 0.5fr; gap:40px; align-items:start; }
.fda-svc__kicker { margin-top:22px; }
.fda-svc__title { margin:14px 0 0; font-family:var(--font-display); font-style:italic; font-weight:400; font-size:clamp(44px,5vw,72px); line-height:.94; letter-spacing:-.02em; color:var(--cobalt); }
.fda-svc__lede { margin:26px 0 0; max-width:600px; font-family:var(--font-serif); font-size:19px; line-height:1.55; color:var(--ink); }
.fda-svc__badges { display:flex; gap:14px; align-items:center; margin-top:30px; flex-wrap:wrap; }
.fda-svc__badges .sep { color:var(--ink-faint); }
.fda-svc__actions { display:flex; gap:14px; margin-top:34px; flex-wrap:wrap; }
.fda-svc__heroicon { justify-self:end; color:var(--cobalt); opacity:.9; }
.fda-svc__heroicon svg { width:150px; height:150px; }
.fda-svc__body { padding-top:56px; padding-bottom:24px; border-top:1px solid var(--ink-line-soft); }
.fda-svc__article { max-width:760px; }
.fda-svc__others { padding-top:48px; padding-bottom:64px; }
.fda-svc__othergrid { display:grid; grid-template-columns:repeat(3,1fr); margin-top:28px; border-top:1px solid var(--ink-line); }
.fda-svc__othercard { padding:26px 28px; border-bottom:1px solid var(--ink-line-soft); border-right:1px solid var(--ink-line-soft); }
.fda-svc__othercard:first-child { padding-left:0; }
.fda-svc__othercard:last-child { border-right:none; padding-right:0; }
.fda-svc__otherkick { display:flex; gap:10px; margin-bottom:12px; }
.fda-svc__othername { margin:0; font-family:var(--font-display); font-style:italic; font-weight:400; font-size:22px; line-height:1.05; color:var(--ink); }
.fda-svc__otherbody { margin:12px 0 14px; font-family:var(--font-serif); font-size:14px; line-height:1.55; color:var(--ink-muted); }
.fda-svc__otherview { font-family:var(--font-sans); font-weight:500; font-size:11px; color:var(--cobalt); }

@media (max-width:900px) {
  .fda-services__herogrid, .fda-services__groupgrid, .fda-svc__herogrid { grid-template-columns:1fr; gap:24px; }
  .fda-services__heroicon, .fda-svc__heroicon { display:none; }
  .fda-sband__row { grid-template-columns:1fr; gap:18px; }
  .fda-sband__formats { text-align:left; justify-self:start; flex-direction:row; flex-wrap:wrap; gap:14px; }
  .fda-svc__othergrid { grid-template-columns:1fr; }
  .fda-svc__othercard, .fda-svc__othercard:first-child { padding:22px 0; border-right:none; }
}

/* ---- Service detail: structured sections ---- */
.fda-svc__idx { font-family:var(--font-sans); font-weight:500; font-size:11px; color:var(--cobalt); }
.fda-svc__kicker { display:flex; align-items:center; gap:14px; margin-top:22px; }
.fda-svc__fit { padding:64px 0; border-top:1px solid var(--ink-line-soft); }
.fda-svc__fitgrid { display:grid; grid-template-columns:1fr 1fr; gap:56px; margin-top:36px; }
.fda-svc__fitlabel { display:block; font-family:var(--font-sans); font-weight:500; font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-muted); margin-bottom:18px; }
.fda-svc__fitcol ul { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:14px; }
.fda-svc__fitcol li { display:grid; grid-template-columns:20px 1fr; gap:12px; font-family:var(--font-serif); font-size:16px; line-height:1.5; }
.fda-svc__fitcol li .mark { font-family:var(--font-sans); font-weight:600; }
.fda-svc__fitcol li.is-yes .mark { color:var(--cobalt); }
.fda-svc__fitcol li.is-yes span:last-child { color:var(--ink); }
.fda-svc__fitcol li.is-no .mark { color:var(--ink-faint); }
.fda-svc__fitcol li.is-no span:last-child { color:var(--ink-muted); }

.fda-svc__included { padding:64px 0; border-top:1px solid var(--ink-line-soft); }
.fda-svc__incgrid { display:grid; grid-template-columns:0.8fr 1.2fr; gap:56px; align-items:start; }
.fda-svc__inctitle { margin:18px 0 0; font-family:var(--font-display); font-style:italic; font-weight:400; font-size:44px; line-height:.98; letter-spacing:-.02em; color:var(--ink); }
.fda-svc__incrow { display:grid; grid-template-columns:1fr 1.4fr; gap:28px; padding:24px 0; align-items:start; }
.fda-svc__incrow h3 { margin:0; font-family:var(--font-display); font-style:italic; font-weight:400; font-size:22px; line-height:1.05; color:var(--ink); }
.fda-svc__incrow p { margin:0; font-family:var(--font-serif); font-size:15px; line-height:1.6; color:var(--ink-muted); }

.fda-svc__process { position:relative; overflow:hidden; background:var(--night); padding:80px 0; }
.fda-svc__processglow { position:absolute; left:12%; bottom:-70%; width:56%; height:190%; border-radius:50%; filter:blur(90px); background:linear-gradient(127.381deg, #0E102A 33.99%, #2A3FF4 63.16%, rgba(14,16,42,.92) 77.74%); opacity:.85; }
.fda-svc__process .fda-inner { position:relative; z-index:1; }
.fda-svc__processgrid { display:grid; gap:32px; margin-top:40px; }
.fda-svc__step { border-top:1px solid var(--on-dark-line); padding-top:22px; }
.fda-svc__stepnum { font-family:var(--font-sans); font-weight:500; font-size:11px; color:var(--cobalt-soft); }
.fda-svc__step h3 { margin:14px 0 12px; font-family:var(--font-display); font-style:italic; font-weight:400; font-size:26px; line-height:1; color:var(--on-dark-strong); }
.fda-svc__step p { margin:0; font-family:var(--font-serif); font-size:15px; line-height:1.6; color:var(--on-dark-soft); }

.fda-svc__facts { padding:56px 0; border-bottom:1px solid var(--ink-line-soft); }
.fda-svc__factsgrid { display:grid; grid-template-columns:repeat(4,1fr); gap:28px; }
.fda-svc__factlabel { display:block; font-family:var(--font-sans); font-weight:500; font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-muted); margin-bottom:10px; }
.fda-svc__factval { font-family:var(--font-display); font-style:italic; font-weight:400; font-size:24px; line-height:1.05; color:var(--ink); }

@media (max-width:900px) {
  .fda-svc__fitgrid, .fda-svc__incgrid, .fda-svc__incrow { grid-template-columns:1fr; gap:24px; }
  .fda-svc__processgrid { grid-template-columns:1fr !important; }
  .fda-svc__factsgrid { grid-template-columns:1fr 1fr; gap:24px; }  /* stat strip stays 2-up, never 1 */
}

/* ============================================================
   Responsive consolidation
   The per-section queries above cover posts/guides/services/404.
   This block covers the home, about, universal footer + CTA, and
   the mobile nav (the one real component change). Content reflows
   at ≤900 to match the rest of the site; the nav switches at ≤680.
   ============================================================ */
html, body { overflow-x:hidden; }  /* blurred hero glows extend past the viewport; never let them scroll */

/* Mobile nav — hidden on desktop */
.fda-nav__mobile { display:none; }

@media (max-width:900px) {
  /* Home hero — stack, art above copy, drop the side-by-side min-heights */
  .fda-hero__inner { grid-template-columns:1fr; gap:28px; min-height:0; }
  .fda-hero__copy { padding:48px 0 8px; }
  .fda-hero__art { order:-1; min-height:0; }
  .fda-torus img { width:300px; }
  /* Home sections */
  .fda-principles { grid-template-columns:1fr; gap:36px; }
  .fda-principle, .fda-principle:first-child, .fda-principle:last-child { padding:0; }
  .fda-principle:not(:first-child) { border-left:0; border-top:1px solid var(--ink-line-soft); padding-top:32px; }
  .fda-sechead { grid-template-columns:1fr; gap:16px; align-items:start; }
  .fda-signal { grid-template-columns:1fr; gap:6px; }
  .fda-signal__cat { justify-self:start; padding-top:0; }
  .fda-service { grid-template-columns:1fr; gap:8px; padding:22px 0; }
  /* About page */
  .fda-pagehero__grid, .fda-identity, .fda-bg-head { grid-template-columns:1fr; gap:32px; }
  .fda-listrow, .fda-chapter { grid-template-columns:1fr; gap:8px; }
  /* Universal Night CTA */
  .fda-cta__grid, .cta-grid { grid-template-columns:1fr; gap:28px; }
  .fda-cta__actions, .cta-actions { width:100%; }
  .fda-cta__inner { padding-top:64px; padding-bottom:64px; }
  /* FDA footer 4 → 2 columns */
  .fda-footer__grid { grid-template-columns:1fr 1fr; gap:32px 24px; }
  .fda-footer__bottom { flex-direction:column; align-items:flex-start; gap:12px; }
}

@media (max-width:680px) {
  :root { --nav-height:60px; }

  /* --- Mobile nav: wordmark left, hamburger right, drop-down panel --- */
  .fda-nav { display:flex; justify-content:space-between; align-items:center; }
  .fda-nav__links, .fda-nav__right { display:none; }
  .fda-nav__mobile { display:block; }
  .fda-nav__burger { list-style:none; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; margin-right:-10px; color:var(--ink); }
  .fda-nav__burger::-webkit-details-marker { display:none; }
  .fda-nav__burger-x { display:none; }
  .fda-nav__mobile[open] .fda-nav__burger-bars { display:none; }
  .fda-nav__mobile[open] .fda-nav__burger-x { display:inline-flex; }
  .fda-nav__panel { position:absolute; top:100%; left:0; right:0; background:var(--warm-100); border-bottom:1px solid var(--ink-line); box-shadow:0 18px 40px rgba(14,16,42,.18); padding:12px var(--page-margin) 24px; display:flex; flex-direction:column; gap:6px; z-index:40; }
  .fda-nav__panel a:not(.btn) { font-family:var(--font-display); font-style:italic; font-size:26px; line-height:1.5; letter-spacing:-.01em; color:var(--ink); }
  .fda-nav__panel a.is-active { color:var(--cobalt); }
  .fda-nav__panel-div { height:1px; background:var(--ink-line); margin:14px 0 16px; }
  .fda-nav__panel .btn { width:100%; justify-content:center; }

  /* Fixed (non-clamp) display headings that are too big on a phone */
  .fda-sechead__title, .fda-h2, .fda-svc__inctitle { font-size:34px; }
  /* Trim tall band / CTA vertical padding */
  .fda-cta__inner, .cta-band .wrap { padding-top:52px; padding-bottom:52px; }
  .fda-quote, .fda-svc__process, .fda-band { padding-top:52px; padding-bottom:52px; }

  /* Footer links: ~44px touch targets on phones (were ~26px tall) */
  .fda-footer__col { gap:2px; }
  .fda-footer__col a { display:block; padding-block:9px; }
}

@media (max-width:400px) {
  .fda-footer__grid { grid-template-columns:1fr; }
}

/* ---- Partners / network strip (data/partners.json -> partials/partners.html) ---- */
.fda-partners-sec .divider { margin:14px 0 28px; }
.fda-partners { display:flex; flex-wrap:wrap; align-items:center; gap:20px 28px; }
.fda-partners__item { display:inline-flex; text-decoration:none; transition:transform var(--dur) var(--ease-out), opacity var(--dur) var(--ease-out); }
.fda-partners__item:hover { transform:translateY(-2px); }
.fda-partners__logo { display:block; width:180px; height:auto; border-radius:var(--radius-sm); box-shadow:var(--shadow-soft); }
@media (max-width:520px) {
  .fda-partners__logo { width:150px; }
}
