/* ==========================================================================
   dhruvbrahmbhatt.com — design system v2
   Warm, vibrant, modern. Cream and clay base, marigold and rose energy,
   teal and plum for depth. Rounded, generous, confident.
   ========================================================================== */

:root{
  /* Ink */
  --ink:      #231409;
  --ink-2:    #4A3728;
  --ink-3:    #6B5641;

  /* Warm ground */
  --cream:    #FFF8F0;
  --sand:     #FCEBD8;
  --clay:     #F7DCC2;
  --line:     #EBD5BC;

  /* Vibrance */
  --sun:      #F6A623;   /* background blocks with ink text only */
  --sun-2:    #FFC864;
  --sun-3:    #FFE3AC;   /* accent text on dark teal — meets AA */
  --rose:     #D6365A;   /* large text / blocks */
  --rose-deep:#A31B41;   /* small text, links, buttons */
  --teal:     #0E6E68;
  --teal-2:   #149A90;
  --plum:     #39235C;
  --lilac:    #E9D9F2;

  --measure:  66ch;
  --gutter:   clamp(1.15rem, 4vw, 3.5rem);
  --maxw:     1240px;

  --r-s: 12px; --r-m: 20px; --r-l: 30px; --r-xl: 44px; --r-pill: 999px;
  --shadow-s: 0 2px 8px rgba(74,55,40,.07);
  --shadow-m: 0 10px 30px -8px rgba(74,55,40,.18);
  --shadow-l: 0 28px 60px -20px rgba(74,55,40,.30);

  --f-display: "Fraunces", "Iowan Old Style", Georgia, serif;
  --f-body:    "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;

  --step--1: clamp(.8rem, .78rem + .1vw, .86rem);
  --step-0:  clamp(1.02rem, .99rem + .18vw, 1.12rem);
  --step-1:  clamp(1.22rem, 1.12rem + .48vw, 1.5rem);
  --step-2:  clamp(1.6rem, 1.35rem + 1.1vw, 2.35rem);
  --step-3:  clamp(2.1rem, 1.65rem + 2.1vw, 3.5rem);
  --step-4:  clamp(2.8rem, 1.95rem + 3.9vw, 5.6rem);

  --sp-xl: clamp(4rem, 9vw, 8rem);
}

*,*::before,*::after{ box-sizing:border-box }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth }
@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto } }

body{
  margin:0; background:var(--cream); color:var(--ink);
  font-family:var(--f-body); font-size:var(--step-0); line-height:1.65;
  text-rendering:optimizeLegibility; overflow-x:hidden;
}
img,svg{ max-width:100%; height:auto; display:block }
a{ color:inherit }

:focus-visible{ outline:3px solid var(--rose-deep); outline-offset:3px; border-radius:4px }
.skip{ position:absolute; left:1rem; top:-4rem; z-index:200; background:var(--ink); color:var(--cream);
  padding:.8rem 1.2rem; border-radius:0 0 var(--r-s) var(--r-s); font-weight:600; font-size:.9rem;
  text-decoration:none; transition:top .15s }
.skip:focus{ top:0 }
.u-sr{ position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
  clip:rect(0 0 0 0); white-space:nowrap; border:0 }

/* ---- Type -------------------------------------------------------------- */
h1,h2,h3,h4{ font-family:var(--f-display); font-weight:600; line-height:1.06;
  letter-spacing:-.025em; margin:0 0 .5em; font-variation-settings:"SOFT" 40,"WONK" 1 }
h1{ font-size:var(--step-4) }
h2{ font-size:var(--step-3) }
h3{ font-size:var(--step-2); line-height:1.12 }
h4{ font-size:var(--step-1); letter-spacing:-.015em }
p{ margin:0 0 1.15em; max-width:var(--measure) }
.lede{ font-size:var(--step-1); line-height:1.5; color:var(--ink-2); max-width:56ch; font-weight:400 }

/* A word that carries the accent — used inside headlines */
.hl{ position:relative; white-space:nowrap; color:var(--rose-deep); font-style:normal }
.hl::after{ content:""; position:absolute; left:-.06em; right:-.06em; bottom:.08em; height:.32em;
  background:var(--sun-2); border-radius:var(--r-pill); z-index:-1; opacity:.85 }

.eyebrow{ font:700 .74rem/1 var(--f-body); letter-spacing:.16em; text-transform:uppercase;
  color:var(--rose-deep); margin:0 0 1.2rem; display:inline-flex; align-items:center; gap:.6rem;
  max-width:none; background:var(--sand); padding:.55rem .95rem; border-radius:var(--r-pill) }
.eyebrow::before{ content:""; width:.5rem; height:.5rem; border-radius:50%; background:var(--rose); flex:none }

/* ---- Layout ------------------------------------------------------------ */
.wrap{ width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gutter) }
.wrap--narrow{ max-width:800px }
.section{ padding-block:var(--sp-xl); position:relative }
.section--sand{ background:var(--sand) }
.section--clay{ background:var(--clay) }
.section--teal{ background:var(--teal); color:#FFF1E0 }
.section--plum{ background:var(--plum); color:var(--lilac) }
.section--sun{ background:var(--sun); color:var(--ink) }
.section--teal h2,.section--teal h3,.section--plum h2,.section--plum h3{ color:#fff }
.section--teal p,.section--plum p{ color:inherit; opacity:.94 }
.section--teal .eyebrow,.section--plum .eyebrow{ background:rgba(255,255,255,.15); color:#fff }
.section--teal .eyebrow::before,.section--plum .eyebrow::before{ background:var(--sun-2) }
.section--sun .eyebrow{ background:rgba(35,20,9,.12); color:var(--ink) }
.section--sun .eyebrow::before{ background:var(--rose-deep) }

/* Rounded section joins — the modern, soft feel */
.section--round{ border-radius:var(--r-xl) var(--r-xl) 0 0; margin-top:-2rem }
.section--round-b{ border-radius:0 0 var(--r-xl) var(--r-xl) }

.grid{ display:grid; gap:clamp(1rem,2.2vw,1.6rem) }
@media (min-width:46em){ .grid--2{ grid-template-columns:repeat(2,1fr) } }
@media (min-width:60em){
  .grid--3{ grid-template-columns:repeat(3,1fr) }
  .split{ display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
    gap:clamp(2.5rem,5vw,5rem); align-items:center }
  .split--top{ align-items:start }
}

/* ---- Header ------------------------------------------------------------ */
.hd{ position:sticky; top:0; z-index:100; background:rgba(255,248,240,.82);
  backdrop-filter:saturate(180%) blur(14px); border-bottom:1px solid var(--line) }
.hd__in{ display:flex; align-items:center; gap:1rem; min-height:70px }
.brand{ text-decoration:none; display:flex; align-items:center; gap:.65rem; margin-right:auto }
.brand__mark{ width:34px; height:34px; border-radius:11px; flex:none; display:grid; place-items:center;
  background:linear-gradient(140deg,var(--sun) 0%,var(--rose) 100%); color:#fff;
  font-family:var(--f-display); font-weight:600; font-size:.9rem; letter-spacing:-.02em }
.brand__t{ font-family:var(--f-display); font-weight:600; font-size:1.08rem; letter-spacing:-.02em; line-height:1 }
.brand__s{ display:block; font:600 .6rem/1.4 var(--f-body); letter-spacing:.14em;
  text-transform:uppercase; color:var(--ink-3) }
.nav{ display:none }
.nav a{ text-decoration:none; font-size:.9rem; font-weight:500; color:var(--ink-2);
  padding:.5rem .7rem; border-radius:var(--r-pill); transition:background .15s,color .15s }
.nav a:hover{ background:var(--sand); color:var(--ink) }
.nav a[aria-current]{ background:var(--ink); color:var(--cream) }
@media (min-width:70em){ .nav{ display:flex; gap:.1rem; align-items:center } .burger{ display:none } }
.burger{ font:600 .82rem/1 var(--f-body); background:var(--ink); color:var(--cream); border:0;
  border-radius:var(--r-pill); padding:.75rem 1.15rem; cursor:pointer }
.drawer{ border-top:1px solid var(--line); background:var(--cream); padding:1rem var(--gutter) 2.5rem }
.drawer[hidden]{ display:none }
.drawer a{ display:block; text-decoration:none; padding:.85rem 0; border-bottom:1px solid var(--line);
  font-family:var(--f-display); font-size:1.35rem; font-weight:600 }
.drawer__more a{ font-family:var(--f-body); font-size:.95rem; font-weight:500; color:var(--ink-2) }

/* ---- Hero -------------------------------------------------------------- */
.hero{ position:relative; padding-block:clamp(3rem,8vw,6rem) clamp(3.5rem,9vw,7rem); overflow:hidden }
.hero__aura{ position:absolute; inset:0; pointer-events:none; z-index:0; overflow:hidden }
.hero__aura span{ position:absolute; border-radius:50%; filter:blur(70px); opacity:.42 }
.hero__aura span:nth-child(1){ width:44vw; height:44vw; background:var(--sun); top:-12%; right:-8% }
.hero__aura span:nth-child(2){ width:36vw; height:36vw; background:var(--rose); top:38%; right:16%; opacity:.28 }
.hero__aura span:nth-child(3){ width:32vw; height:32vw; background:var(--teal-2); bottom:-14%; left:-10%; opacity:.22 }
.hero__in{ position:relative; z-index:1 }
.hero h1{ max-width:16ch; margin-bottom:.35em }
.hero .lede{ max-width:48ch }
.hero__grid{ display:grid; gap:clamp(2.5rem,5vw,4rem); align-items:center }
@media (min-width:60em){ .hero__grid{ grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr) } }

.cta-row{ display:flex; flex-wrap:wrap; gap:.7rem; margin-top:2.2rem }
.btn{ display:inline-flex; align-items:center; gap:.5rem; text-decoration:none; cursor:pointer;
  font:600 .95rem/1 var(--f-body); padding:1.05rem 1.6rem; border-radius:var(--r-pill);
  border:2px solid transparent; transition:transform .15s ease, box-shadow .15s ease, background .15s }
.btn--primary{ background:var(--rose-deep); color:#fff; box-shadow:var(--shadow-m) }
.btn--primary:hover{ background:#8C1637; transform:translateY(-2px); box-shadow:var(--shadow-l) }
.btn--dark{ background:var(--ink); color:var(--cream) }
.btn--dark:hover{ transform:translateY(-2px) }
.btn--ghost{ border-color:currentColor; background:transparent }
.btn--ghost:hover{ background:rgba(35,20,9,.06); transform:translateY(-2px) }
.section--teal .btn--ghost:hover,.section--plum .btn--ghost:hover{ background:rgba(255,255,255,.14) }
.btn:active{ transform:translateY(0) }

/* ---- Art panels (stand in for photography, and look intentional) ------- */
.art{ position:relative; border-radius:var(--r-l); overflow:hidden; aspect-ratio:var(--ratio,3/2);
  box-shadow:var(--shadow-m) }
.art::after{ content:""; position:absolute; inset:0;
  background-image:radial-gradient(rgba(255,255,255,.5) 1px, transparent 1px);
  background-size:5px 5px; opacity:.16; mix-blend-mode:overlay }
.art--1{ background:linear-gradient(145deg,#F6A623 0%,#E4653C 48%,#C0294F 100%) }
.art--2{ background:linear-gradient(145deg,#149A90 0%,#0E6E68 45%,#2B3F63 100%) }
.art--3{ background:linear-gradient(145deg,#FFC864 0%,#D6365A 55%,#39235C 100%) }
.art--4{ background:linear-gradient(145deg,#FCEBD8 0%,#F6A623 60%,#B4650A 100%) }
.art--5{ background:linear-gradient(145deg,#E9D9F2 0%,#8A5CB8 50%,#39235C 100%) }
.art__lines{ position:absolute; inset:0; opacity:.3 }
.art__lines svg{ width:100%; height:100% }
.ph{ margin:0 }
.ph img{ border-radius:var(--r-l); aspect-ratio:var(--ratio,3/2); object-fit:cover; width:100%;
  box-shadow:var(--shadow-m) }
.ph figcaption{ margin-top:.85rem; font-size:.86rem; color:var(--ink-3); line-height:1.5 }
.ph__cap{ display:block; color:var(--ink-2) }
.ph__cr{ display:block; font-size:.76rem; margin-top:.15rem }
.section--teal .ph figcaption,.section--plum .ph figcaption{ color:rgba(255,255,255,.72) }

/* Offset frame behind a hero image */
.framed{ position:relative }
.framed::before{ content:""; position:absolute; inset:auto -1.2rem -1.2rem auto; width:72%; height:72%;
  border-radius:var(--r-l); background:var(--sun); z-index:-1 }

/* ---- Figure cards (numbers) -------------------------------------------- */
.figs{ display:grid; gap:1rem; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); margin-top:2.5rem }
.fig{ display:block; text-decoration:none; background:var(--cream); border-radius:var(--r-m);
  padding:1.5rem 1.35rem 1.25rem; box-shadow:var(--shadow-s); position:relative; overflow:hidden;
  border:1px solid var(--line); transition:transform .18s ease, box-shadow .18s ease }
.fig:hover{ transform:translateY(-4px); box-shadow:var(--shadow-m) }
.fig::before{ content:""; position:absolute; inset:0 0 auto 0; height:5px; background:var(--ink-3) }
.fig--reported::before{ background:linear-gradient(90deg,var(--teal-2),var(--teal)) }
.fig--owner::before{ background:linear-gradient(90deg,var(--sun-2),var(--sun)) }
.fig--target::before{ background:linear-gradient(90deg,var(--rose),var(--rose-deep)) }
.fig--verified::before,.fig--documented::before{ background:linear-gradient(90deg,var(--teal-2),var(--teal)) }
.fig__n{ display:block; font-family:var(--f-display); font-size:2.3rem; line-height:1; font-weight:600;
  letter-spacing:-.035em; color:var(--ink) }
.fig__r{ display:block; font-size:.92rem; font-weight:600; color:var(--ink-2); margin-top:.3rem }
.fig__c{ display:block; font-size:.82rem; color:var(--ink-3); margin-top:.5rem; line-height:1.45 }
.fig__w{ display:inline-block; margin-top:.9rem; font-size:.7rem; font-weight:700; letter-spacing:.09em;
  text-transform:uppercase; color:var(--ink-3) }

/* ---- Inline claim: quiet by default, traceable on demand --------------- */
.claim{ text-decoration:none; border-bottom:2px dotted var(--ink-3); padding-bottom:1px;
  transition:border-color .15s, color .15s }
.claim:hover{ border-bottom-style:solid; color:var(--rose-deep); border-color:var(--rose-deep) }
.claim--target{ border-color:var(--rose) }
.claim--reported{ border-color:var(--teal-2) }
.claim--owner{ border-color:var(--sun) }
.section--teal .claim,.section--plum .claim{ border-color:rgba(255,255,255,.55) }
.section--teal .claim:hover{ color:var(--sun-3); border-color:var(--sun-3) }
.section--plum .claim:hover{ color:var(--sun-2); border-color:var(--sun-2) }

/* ---- Cards ------------------------------------------------------------- */
.card{ background:var(--cream); border-radius:var(--r-m); padding:1.7rem 1.6rem; display:flex;
  flex-direction:column; gap:.6rem; text-decoration:none; border:1px solid var(--line);
  box-shadow:var(--shadow-s); transition:transform .18s ease, box-shadow .18s ease }
a.card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-m) }
.card__k{ font:700 .7rem/1 var(--f-body); letter-spacing:.13em; text-transform:uppercase;
  color:var(--rose-deep) }
.card h3{ margin:.2rem 0 0; font-size:var(--step-1) }
.card p{ margin:0; font-size:.94rem; color:var(--ink-2) }
.card__meta{ margin-top:auto; padding-top:.9rem; font-size:.82rem; font-weight:600; color:var(--rose-deep) }
.card--sun{ background:var(--sun); border-color:transparent }
.card--sun .card__k,.card--sun .card__meta{ color:var(--ink) }
.card--teal{ background:var(--teal); border-color:transparent; color:#FFF1E0 }
.card--teal h3{ color:#fff } .card--teal p{ color:rgba(255,255,255,.9) }
.card--teal .card__k,.card--teal .card__meta{ color:var(--sun-3) }
.card--plum{ background:var(--plum); border-color:transparent; color:var(--lilac) }
.card--plum h3{ color:#fff } .card--plum p{ color:rgba(255,255,255,.86) }
.card--plum .card__k,.card--plum .card__meta{ color:var(--sun-2) }

/* ---- Entry lists ------------------------------------------------------- */
.entries{ list-style:none; margin:0; padding:0 }
.entries li + li{ margin-top:.8rem }
.entries a{ display:block; text-decoration:none; background:var(--cream); border:1px solid var(--line);
  border-radius:var(--r-m); padding:1.5rem 1.6rem; transition:transform .16s, box-shadow .16s, border-color .16s }
.entries a:hover{ transform:translateY(-3px); box-shadow:var(--shadow-m); border-color:var(--clay) }
.entries .k{ display:inline-block; font:700 .7rem/1 var(--f-body); letter-spacing:.12em;
  text-transform:uppercase; color:var(--rose-deep); margin-bottom:.6rem }
.entries h3{ margin:0 0 .35rem; font-size:var(--step-1) }
.entries p{ margin:0; font-size:.94rem; color:var(--ink-2) }
.section--sand .entries a{ background:var(--cream) }

/* ---- Prose ------------------------------------------------------------- */
.prose h2{ margin-top:2.2em } .prose h3{ margin-top:1.8em }
.prose ul,.prose ol{ max-width:var(--measure); padding-left:1.3rem }
.prose li{ margin-bottom:.55em }
.prose blockquote{ margin:2.2rem 0; padding:1.6rem 1.8rem; background:var(--sand);
  border-radius:var(--r-m); border-left:5px solid var(--sun);
  font-family:var(--f-display); font-size:var(--step-1); line-height:1.35; max-width:54ch }
.prose blockquote p:last-child{ margin:0 }
.prose a:not(.claim):not(.btn){ color:var(--rose-deep); text-underline-offset:3px; font-weight:500 }
.section--teal .prose a:not(.claim):not(.btn){ color:var(--sun-3) }
.section--plum .prose a:not(.claim):not(.btn){ color:var(--sun-2) }
.note{ font-size:.9rem; color:var(--ink-3); background:var(--sand); border-radius:var(--r-m);
  padding:1.2rem 1.4rem; margin-top:2.5rem; max-width:var(--measure) }
.note p:last-child{ margin:0 }
.section--teal .note,.section--plum .note{ background:rgba(255,255,255,.1); color:rgba(255,255,255,.85) }

/* ---- Timeline ---------------------------------------------------------- */
.rail{ list-style:none; margin:2.5rem 0 0; padding:0 0 0 2.4rem; position:relative }
.rail::before{ content:""; position:absolute; left:.5rem; top:1rem; bottom:1rem; width:3px;
  border-radius:var(--r-pill); background:linear-gradient(var(--sun),var(--rose),var(--plum)) }
.rail li{ position:relative; padding-bottom:2.4rem }
.rail li::before{ content:""; position:absolute; left:-2.1rem; top:.45rem; width:1.05rem; height:1.05rem;
  background:var(--cream); border:3px solid var(--rose); border-radius:50% }
.rail .k{ display:inline-block; font:700 .7rem/1 var(--f-body); letter-spacing:.13em;
  text-transform:uppercase; color:var(--rose-deep); margin-bottom:.5rem }
.rail h3{ margin:0 0 .35rem; font-size:var(--step-1) }
.section--sand .rail li::before{ background:var(--sand) }

/* ---- Key / value ------------------------------------------------------- */
.kv{ display:grid; gap:1.1rem 2rem; margin:2.2rem 0; padding:1.6rem 1.8rem;
  background:var(--sand); border-radius:var(--r-m) }
@media (min-width:46em){ .kv{ grid-template-columns:repeat(auto-fit,minmax(11rem,1fr)) } }
.kv div{ display:grid; gap:.2rem }
.kv dt{ font:700 .68rem/1 var(--f-body); letter-spacing:.13em; text-transform:uppercase; color:var(--ink-3) }
.kv dd{ margin:0; font-size:.96rem; font-weight:500 }
.section--teal .kv,.section--plum .kv{ background:rgba(255,255,255,.1) }
.section--teal .kv dt{ color:var(--sun-3) }
.section--plum .kv dt{ color:var(--sun-2) }

/* ---- Forms ------------------------------------------------------------- */
.form{ display:grid; gap:1.3rem; max-width:34rem }
.field label{ display:block; font-weight:600; font-size:.92rem; margin-bottom:.45rem }
.field .hint{ font-size:.82rem; color:var(--ink-3); margin:.35rem 0 0 }
.field input,.field select,.field textarea{ width:100%; font:inherit; font-size:.98rem;
  padding:.95rem 1.1rem; background:#fff; border:2px solid var(--line); border-radius:var(--r-s);
  color:var(--ink); transition:border-color .15s }
.field textarea{ min-height:9.5rem; resize:vertical }
.field input:focus,.field select:focus,.field textarea:focus{ border-color:var(--rose-deep); outline:none }
.check{ display:flex; gap:.8rem; align-items:flex-start; font-size:.9rem; color:var(--ink-2) }
.check input{ width:1.2rem; height:1.2rem; margin-top:.2rem; flex:none; accent-color:var(--rose-deep) }
.err{ color:var(--rose-deep); font-weight:600 }
.msg{ padding:1.2rem 1.4rem; border-radius:var(--r-m); margin-bottom:1.8rem; max-width:34rem }
.msg--ok{ background:#E4F2EC; border-left:5px solid var(--teal) }
.msg--err{ background:#FBE4E9; border-left:5px solid var(--rose-deep) }

/* ---- Ledger ------------------------------------------------------------ */
.ledger{ display:grid; gap:1rem; margin-top:2rem }
.lrow{ background:var(--cream); border:1px solid var(--line); border-radius:var(--r-m);
  padding:1.6rem 1.7rem; scroll-margin-top:6rem; position:relative; overflow:hidden }
.lrow::before{ content:""; position:absolute; inset:0 auto 0 0; width:6px; background:var(--ink-3) }
.lrow--reported::before{ background:var(--teal) }
.lrow--owner::before{ background:var(--sun) }
.lrow--target::before{ background:var(--rose) }
.lrow--verified::before,.lrow--documented::before{ background:var(--teal-2) }
.lrow--pending::before,.lrow--disputed::before{ background:var(--ink-2) }
.lrow h3{ margin:.35rem 0 .2rem; font-size:var(--step-1) }
.lrow .st{ display:inline-block; font:700 .68rem/1 var(--f-body); letter-spacing:.11em;
  text-transform:uppercase; color:#fff; background:var(--ink-3); padding:.4rem .75rem;
  border-radius:var(--r-pill); margin:0 }
.lrow--reported .st{ background:var(--teal) }
.lrow--owner .st{ background:#8A5806 }
.lrow--target .st{ background:var(--rose-deep) }
.lrow--verified .st,.lrow--documented .st{ background:var(--teal) }
.lrow dl{ display:grid; gap:.15rem .9rem; margin:1.2rem 0 0; font-size:.88rem }
@media (min-width:42em){ .lrow dl{ grid-template-columns:8.5rem 1fr } }
.lrow dt{ font:700 .68rem/1.8 var(--f-body); letter-spacing:.09em; text-transform:uppercase; color:var(--ink-3) }
.lrow dd{ margin:0 0 .6rem; color:var(--ink-2); word-break:break-word }
.lrow dd a{ color:var(--rose-deep) }

/* ---- Footer ------------------------------------------------------------ */
.ft{ background:var(--ink); color:#D9C7B4; padding-block:var(--sp-xl) 2.5rem;
  border-radius:var(--r-xl) var(--r-xl) 0 0; margin-top:-2rem; position:relative; z-index:2 }
.ft h2{ color:#fff; font-size:var(--step-2); max-width:20ch }
.ft a{ color:#F0DFCB; text-decoration:none }
.ft a:hover{ color:var(--sun-2) }
.ft__cols{ display:grid; gap:2.4rem; margin-top:3.5rem; padding-top:2.8rem;
  border-top:1px solid rgba(255,255,255,.13) }
@media (min-width:48em){ .ft__cols{ grid-template-columns:repeat(4,1fr) } }
.ft__cols h3{ font:700 .7rem/1 var(--f-body); letter-spacing:.14em; text-transform:uppercase;
  color:var(--sun-2); margin:0 0 1.1rem }
.ft__cols ul{ list-style:none; margin:0; padding:0; display:grid; gap:.6rem; font-size:.92rem }
.ft__fine{ margin-top:2.8rem; padding-top:1.6rem; border-top:1px solid rgba(255,255,255,.13);
  font-size:.82rem; color:#9C8873; display:flex; flex-wrap:wrap; gap:.4rem 1.8rem }
.ft__fine p{ margin:0; max-width:none }

/* ---- Motion / print ---------------------------------------------------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.001ms!important; transition-duration:.001ms!important }
  .fig:hover,a.card:hover,.entries a:hover,.btn:hover{ transform:none }
}
@media print{
  .hd,.ft,.cta-row,.skip,.hero__aura{ display:none }
  body{ background:#fff }
  .art{ display:none }
}
