/* Terenzo site styles: "Harbor Light".
   One light in the dark: a soft harbor beacon on a hairline horizon, monospace
   instrument annotations, quiet hairline structure, terracotta as the single warm
   accent. Single theme: the harbor at night.
   Tokens mirrored from brand/design-system so the deployed site is self-contained. */
/* Fonts load via <link> tags in each page head (faster than @import: no CSS chain). */

/* ---------- Tokens ---------- */
:root {
  --teal-900:#083B51; --teal-700:#0B4F6C; --sea-500:#4EA699; --glass-300:#8FE0C0;
  --ink-900:#101D22; --stone-500:#9DB7B0; --stone-700:#5F736E;
  --terracotta-600:#A1542F; --terracotta-500:#C06A43; --ochre-300:#E6B884;
  --paper-100:#F4F6F1; --paper-200:#EBEEE7; --white:#FFFFFF; --surface-warm:#F6E7D9;

  --brand-primary:var(--teal-700); --brand-primary-deep:var(--teal-900);
  --brand-secondary:var(--sea-500); --brand-accent:var(--glass-300);
  --text-strong:#EDF3F0; --text-body:#B9C9C4; --text-muted:#71877F;
  --text-on-dark:#EDF3F0;
  --surface-page:#040D12; --surface-sunken:#0A1E27; --surface-card:#0D2530;
  --surface-warm:#22150D; --surface-inverse:#0C2833;
  --border-subtle:rgba(143,224,192,0.13); --border-strong:rgba(143,224,192,0.26);
  --link:var(--glass-300);
  --nav-bg:rgba(4,13,18,0.88);
  color-scheme:dark;

  /* Instrument layer */
  --ann:#71877F;                    /* annotation ink: mono labels, captions */
  --ann-accent:var(--glass-300);    /* annotation accent: indices, readout values */
  --warm:var(--terracotta-500);     /* the one warm accent (CTA, pricing, origin) */
  --warm-hover:var(--terracotta-600);
  --beacon-a:rgba(143,224,192,0.26); --beacon-b:rgba(78,166,153,0.16);
  --horizon:rgba(143,224,192,0.30);
  --beam:rgba(143,224,192,0.10);
  --core-fill:#F2FBF7;
  --core-halo:rgba(143,224,192,0.55); --core-halo-wide:rgba(143,224,192,0.20);

  --font-sans:"Hanken Grotesk",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
  --container:1200px; --gutter:56px;
}

/* ---------- Base ---------- */
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  margin:0; background:var(--surface-page); color:var(--text-body);
  font-family:var(--font-sans); font-size:17px; line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
::selection { background:var(--glass-300); color:var(--ink-900); }
:focus-visible { outline:2px solid var(--ann-accent); outline-offset:3px; }

.wrap { max-width:var(--container); margin:0 auto; padding-left:var(--gutter); padding-right:var(--gutter); }

/* ---------- Type ---------- */
h1,h2,h3 { font-family:var(--font-sans); font-weight:600; color:var(--text-strong); margin:0; }
h1 { font-size:clamp(2.9rem,5.6vw,5rem); line-height:1.04; letter-spacing:-0.03em; text-wrap:balance; }
h2 { font-size:clamp(1.9rem,3.4vw,2.8rem); line-height:1.08; letter-spacing:-0.025em; text-wrap:balance; }
h3 { font-size:1.3rem; line-height:1.25; letter-spacing:-0.015em; }
p { margin:0; }
a { color:var(--link); text-underline-offset:2px; }
.hl { color:var(--glass-300); }
.mono { font-family:var(--font-mono); }
.lead { font-size:18.5px; line-height:1.7; color:var(--text-body); }

/* ---------- Annotation layer ---------- */
/* Station line: `FIG. 01 ——————— WHAT WE DO`. The rule draws in on reveal. */
.station { display:flex; align-items:center; gap:18px;
  font-family:var(--font-mono); font-size:11px; font-weight:500;
  letter-spacing:0.2em; text-transform:uppercase; color:var(--ann); }
.station .no { color:var(--ann-accent); }
.station .rule { flex:1; height:1px; background:var(--border-subtle); transform-origin:left center; }
.station + h1, .station + h2, .station + h3 { margin-top:26px; }

.coord { font-family:var(--font-mono); font-size:11px; letter-spacing:0.14em;
  text-transform:uppercase; color:var(--ann); }

/* ---------- Buttons ---------- */
.btn { display:inline-block; font-family:var(--font-mono); font-size:13px; font-weight:600;
  letter-spacing:0.12em; text-transform:uppercase; text-decoration:none;
  padding:16px 28px; border:1px solid transparent;
  transition:background 160ms ease,color 160ms ease,border-color 160ms ease; cursor:pointer; }
.btn-primary { background:var(--warm); color:#FFF4EC; }
.btn-primary:hover { background:var(--warm-hover); color:#FFF4EC; }
.btn-secondary { background:transparent; color:var(--text-strong); border-color:var(--border-strong); }
.btn-secondary:hover { border-color:var(--ann-accent); color:var(--ann-accent); }
.btn-sm { padding:10px 16px; font-size:11.5px; }

/* ---------- Nav ---------- */
.nav { position:sticky; top:0; z-index:20; background:var(--nav-bg);
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  border-bottom:1px solid var(--border-subtle); }
.nav .wrap { display:flex; align-items:center; justify-content:space-between; padding-top:18px; padding-bottom:18px; }
.brand { display:inline-flex; align-items:center; gap:11px; text-decoration:none; color:var(--text-strong); }
.brand .mark { width:26px; height:auto; color:var(--glass-300); }
.brand .wordmark { font-weight:700; font-size:22px; letter-spacing:-0.01em; }
.nav nav { display:flex; align-items:center; gap:30px; }
.nav nav a:not(.btn) { font-family:var(--font-mono); font-size:11.5px; font-weight:500;
  letter-spacing:0.16em; text-transform:uppercase; color:var(--text-muted); text-decoration:none; }
.nav nav a:not(.btn):hover { color:var(--text-strong); }
/* Instrument line: 2px scroll-progress rule along the bottom edge of the nav. */
.nav-progress { position:absolute; left:0; bottom:-1px; height:2px; width:100%;
  background:var(--ann-accent); transform:scaleX(0); transform-origin:left center; }

/* ---------- Motion system ----------
   JS stamps .js on <html>. Without JS everything is fully visible; with JS and motion
   allowed, .reveal elements hide until the observer stamps .in. */
@media (prefers-reduced-motion: no-preference) {
  .js .reveal { opacity:0; transform:translateY(18px);
    transition:opacity 800ms cubic-bezier(0.22,1,0.36,1),transform 800ms cubic-bezier(0.22,1,0.36,1); }
  .js .reveal.in { opacity:1; transform:none; }
  .js .reveal.d1 { transition-delay:100ms; } .js .reveal.d2 { transition-delay:200ms; }
  .js .reveal.d3 { transition-delay:300ms; }
  .js .station .rule { transform:scaleX(0); transition:transform 1000ms cubic-bezier(0.22,1,0.36,1) 150ms; }
  .js .station.reveal.in .rule, .js .reveal.in .station .rule { transform:scaleX(1); }

  .beacon .glow { animation:breathe 9s ease-in-out infinite; }
  .beacon .sweep { animation:sweep 14s linear infinite; }
}
@keyframes breathe { 0%,100% { opacity:0.85; } 50% { opacity:1; } }
@keyframes sweep { from { transform:rotate(0deg); } to { transform:rotate(360deg); } }

/* ---------- Sections ---------- */
section { padding-top:100px; padding-bottom:100px; }
.section-head { max-width:700px; }

/* ---------- Hero: one light in the dark ---------- */
.hero { position:relative; min-height:calc(100vh - 71px); display:flex; flex-direction:column;
  justify-content:center; overflow:hidden; padding-top:0; padding-bottom:0; }
/* The harbor beacon. Everything (glow, rotating beams, lamp core) hangs off one
   zero-size anchor, .lamp, so all layers share an exact center and the sweep
   rotates around the bright point. Present in both themes: white lamp at night,
   dark harbor marker with a sea-glass glint by day. */
.beacon { position:absolute; inset:0; pointer-events:none; }
.beacon .lamp { position:absolute; right:16%; top:50%; width:0; height:0; }
.beacon .glow { position:absolute; width:1200px; height:1200px; left:-600px; top:-600px;
  border-radius:50%;
  background:radial-gradient(circle at center,
    var(--beacon-a) 0%, var(--beacon-b) 24%, transparent 62%); }
/* One beam, crisp direction, fading with distance from the lamp. */
.beacon .sweep { position:absolute; width:1400px; height:1400px; left:-700px; top:-700px;
  border-radius:50%; filter:blur(3px);
  background:conic-gradient(from 20deg,
    transparent 0deg, var(--beam) 11deg, transparent 26deg, transparent 360deg);
  -webkit-mask-image:radial-gradient(circle, rgba(0,0,0,1) 0%, rgba(0,0,0,0.9) 30%, transparent 72%);
  mask-image:radial-gradient(circle, rgba(0,0,0,1) 0%, rgba(0,0,0,0.9) 30%, transparent 72%); }
.beacon .core { position:absolute; width:10px; height:10px; left:-5px; top:-5px;
  border-radius:50%; background:var(--core-fill);
  box-shadow:0 0 10px 3px var(--core-halo), 0 0 70px 26px var(--core-halo-wide); }
.beacon .horizon { position:absolute; left:0; right:0; top:50%; height:1px;
  background:linear-gradient(90deg, transparent 0%, var(--border-subtle) 55%, var(--horizon) 82%, transparent 100%); }

.hero .content { position:relative; z-index:1; width:100%; padding-top:56px; padding-bottom:16px; }
.kicker { font-family:var(--font-mono); font-size:11px; font-weight:500; letter-spacing:0.26em;
  text-transform:uppercase; color:var(--ann); }
.kicker b { color:var(--ann-accent); font-weight:500; }
.hero h1 { margin-top:24px; max-width:15em; }
.hero .lead { margin-top:26px; max-width:34rem; }
.hero .actions { display:flex; align-items:center; gap:22px; margin-top:36px; flex-wrap:wrap; }
.link-quiet { font-family:var(--font-mono); font-size:12px; font-weight:500; letter-spacing:0.14em;
  text-transform:uppercase; color:var(--text-muted); text-decoration:none;
  border-bottom:1px solid var(--border-subtle); padding-bottom:4px; }
.link-quiet:hover { color:var(--ann-accent); border-color:var(--ann-accent); }
.hero .cred { margin-top:24px; font-size:13.5px; color:var(--text-muted); letter-spacing:0.01em; }

/* ---------- Readout: the spec sheet ---------- */
.readout { position:relative; z-index:1; border-top:1px solid var(--border-subtle);
  display:grid; grid-template-columns:repeat(4,1fr); }
.hero .readout { margin-top:64px; }
.readout > div { padding:24px 28px 26px 0; }
.readout > div + div { padding-left:28px; border-left:1px solid var(--border-subtle); }
.readout .k { display:block; font-family:var(--font-mono); font-size:10px; font-weight:500;
  letter-spacing:0.24em; text-transform:uppercase; color:var(--ann); margin-bottom:9px; }
.readout .v { display:block; font-family:var(--font-mono); font-size:14.5px; font-weight:500;
  letter-spacing:0.02em; color:var(--text-strong); }
.readout .v .count, .readout .v em { font-style:normal; color:var(--ann-accent); }

/* ---------- Ledger (what we do) ---------- */
.ledger { list-style:none; padding:0; margin:64px 0 0; border-top:1px solid var(--border-subtle); }
.ledger li { position:relative; display:grid; grid-template-columns:150px 1fr 220px; gap:36px;
  align-items:start; padding:46px 10px; border-bottom:1px solid var(--border-subtle);
  transition:background 180ms ease; }
.ledger li:hover { background:var(--surface-sunken); }
.ledger .ix { font-family:var(--font-mono); font-size:3rem; font-weight:300; line-height:1;
  color:var(--ann); opacity:0.55; transition:color 180ms ease,opacity 180ms ease; }
.ledger li:hover .ix { color:var(--ann-accent); opacity:1; }
.ledger h3 { font-size:1.6rem; letter-spacing:-0.02em; }
.ledger p { margin-top:12px; max-width:34rem; font-size:16px; color:var(--text-muted); }
.ledger .tag { justify-self:end; text-align:right; padding-top:10px; letter-spacing:0.18em; font-size:10.5px; }

/* ---------- Marine panel (who it's for) ---------- */
.panel-dark { padding-top:0; padding-bottom:0; }
.panel-dark .inner { position:relative; overflow:hidden; display:grid; grid-template-columns:1fr 1fr;
  gap:64px; align-items:center; padding:88px 64px;
  background:var(--surface-inverse); border:1px solid var(--border-subtle);
  color:var(--text-on-dark); }
.panel-dark .watermark { position:absolute; bottom:-120px; left:-90px; width:420px; height:auto;
  color:rgba(143,224,192,0.08); pointer-events:none; }
.panel-dark .station { color:rgba(237,243,240,0.55); }
.panel-dark .station .no { color:var(--glass-300); }
.panel-dark .station .rule { background:rgba(237,243,240,0.2); }
.panel-dark h2 { color:#fff; }
.panel-dark .lead { margin-top:24px; max-width:28rem; font-size:18px; color:rgba(237,243,240,0.82); }
.fits { position:relative; list-style:none; margin:0; padding:0; }
.fits li { display:flex; gap:22px; padding:24px 0; border-top:1px solid rgba(237,243,240,0.16); }
.fits li:first-child { border-top:none; }
.fits .n { font-family:var(--font-mono); font-size:11px; color:var(--ochre-300); min-width:46px;
  padding-top:4px; letter-spacing:0.1em; }
.fits .t { font-size:17px; line-height:1.5; }

/* ---------- Founders roster (homepage): compressed rows, full bios on About ---------- */
.founders { list-style:none; margin:56px 0 0; padding:0; border-top:1px solid var(--border-subtle); }
.founders li { display:grid; grid-template-columns:64px 1fr auto; gap:26px; align-items:center;
  padding:26px 10px; border-bottom:1px solid var(--border-subtle); }
.founders .avatar { width:64px; height:64px; }
.founders .name { font-weight:600; font-size:19px; color:var(--text-strong); letter-spacing:-0.01em; }
.founders .role { font-family:var(--font-mono); font-weight:500; font-size:11px; letter-spacing:0.14em;
  text-transform:uppercase; color:var(--ann-accent); margin-top:5px; }
.founders .creds { justify-self:end; text-align:right; }
.founders-more { display:inline-block; margin-top:32px; }

/* ---------- Founders (About page cards) ---------- */
.people { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:56px; }
.person { background:var(--surface-card); border:1px solid var(--border-subtle);
  padding:34px; display:flex; gap:22px; align-items:flex-start; }
.avatar { width:76px; height:76px; background:var(--surface-sunken);
  border:1px solid var(--border-subtle); flex-shrink:0;
  object-fit:cover; object-position:top center; filter:saturate(0.94); }
.person .name { font-weight:600; font-size:20px; color:var(--text-strong); letter-spacing:-0.01em; }
.person .role { font-family:var(--font-mono); font-weight:500; font-size:11px; letter-spacing:0.14em;
  text-transform:uppercase; color:var(--ann-accent); margin:6px 0 14px; }
.person p { font-size:15.5px; color:var(--text-muted); }
.person .social { display:inline-block; margin-top:16px; font-family:var(--font-mono);
  font-size:12px; font-weight:500; letter-spacing:0.12em; text-transform:uppercase;
  color:var(--text-muted); text-decoration:none; border-bottom:1px solid var(--border-subtle); padding-bottom:3px; }
.person .social:hover { color:var(--ann-accent); border-color:var(--ann-accent); }

/* ---------- Photo band ---------- */
.photo-band { position:relative; min-height:440px; display:flex; align-items:center; overflow:hidden;
  width:calc(100% - 2 * var(--gutter)); max-width:var(--container);
  margin:0 auto; padding:0; border:1px solid var(--border-subtle); }
.photo-band img { position:absolute; inset:-12% 0; width:100%; height:124%; object-fit:cover;
  object-position:center 32%; filter:saturate(0.7) brightness(0.52); will-change:transform; }
.photo-band .overlay { position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(4,13,18,0.88), rgba(4,13,18,0.30)); }
.photo-band .content { position:relative; color:#fff; padding:84px 64px; }
.photo-band .station { color:rgba(237,243,240,0.6); }
.photo-band .station .no { color:var(--glass-300); }
.photo-band .station .rule { background:rgba(237,243,240,0.25); }
.photo-band h2 { color:#fff; max-width:22rem; }
.photo-band .content p { margin-top:18px; max-width:30rem; font-size:18px; color:rgba(237,243,240,0.86); }
.photo-band .caption { position:absolute; right:22px; bottom:18px; color:rgba(237,243,240,0.7); }

/* ---------- Contact ---------- */
.contact-inner .lead { margin-top:24px; max-width:34rem; }
.contact-inner .actions { display:flex; gap:22px; margin-top:36px; flex-wrap:wrap; align-items:center; }

/* ---------- Page hero (subpages) ---------- */
.page-hero { padding-top:92px; padding-bottom:24px; }
.page-hero h1 { font-size:clamp(2.3rem,4.6vw,3.6rem); max-width:19em; }
.page-hero .lead { margin-top:26px; max-width:42rem; }
.page-hero .readout { margin-top:64px; }

/* Even vertical rhythm on stacked subpages. */
.even-stack > section { padding-top:48px; padding-bottom:48px; }
.even-stack > section:last-child { padding-bottom:100px; }
.even-stack > .page-hero { padding-top:92px; padding-bottom:48px; }

/* ---------- Feature panels (audit deliverables) ---------- */
.features { display:grid; grid-template-columns:repeat(auto-fit,minmax(15rem,1fr)); gap:24px; margin-top:56px; }
.feature { background:var(--surface-card); border:1px solid var(--border-subtle); padding:32px 30px; }
.feature .num { font-family:var(--font-mono); font-size:12px; color:var(--ann-accent); letter-spacing:0.1em; }
.feature h3 { margin:16px 0 8px; }
.feature p { font-size:15.5px; color:var(--text-muted); }

/* ---------- Survey line (audit process) ---------- */
.steps { list-style:none; counter-reset:step; margin:56px 0 0; padding:0;
  display:grid; gap:0; max-width:46rem; position:relative; }
.steps li { position:relative; padding:0 0 42px 66px; }
.steps li:last-child { padding-bottom:0; }
.steps li h3 { margin-bottom:8px; padding-top:6px; }
.steps li p { color:var(--text-muted); font-size:16px; max-width:38rem; }
.steps li::before { counter-increment:step; content:counter(step,decimal-leading-zero);
  position:absolute; left:0; top:0; font-family:var(--font-mono); font-size:12.5px; font-weight:500;
  color:var(--ann-accent); width:42px; height:42px; border:1px solid var(--border-strong);
  display:flex; align-items:center; justify-content:center; background:var(--surface-page); z-index:1; }
.steps li::after { content:""; position:absolute; left:21px; top:42px; bottom:0; width:1px;
  background:var(--border-subtle); }
.steps li:last-child::after { display:none; }

/* ---------- Warm callout (pricing): the terracotta moment ---------- */
.aside-warm { margin-top:0; background:var(--surface-warm); border:1px solid var(--border-strong);
  padding:38px 42px; max-width:48rem; }
.aside-warm .station, .aside-warm .station .no { color:var(--ochre-300); }
.aside-warm .station .rule { background:rgba(161,84,47,0.3); }
.aside-warm h3 { margin:18px 0 10px; color:var(--ochre-300); }
.aside-warm p { color:var(--text-body); font-size:16.5px; }

/* ---------- FAQ ---------- */
.faq { max-width:50rem; margin-top:56px; counter-reset:qa; border-top:1px solid var(--border-subtle); }
.faq .qa { display:grid; grid-template-columns:70px 1fr; gap:24px;
  padding:32px 0; border-bottom:1px solid var(--border-subtle); }
.faq .qa::before { counter-increment:qa; content:"Q." counter(qa,decimal-leading-zero);
  font-family:var(--font-mono); font-size:12px; color:var(--ann-accent);
  letter-spacing:0.08em; padding-top:6px; }
.faq .qa h3 { margin-bottom:8px; font-size:1.2rem; }
.faq .qa p { color:var(--text-muted); font-size:16.5px; }
.faq .qa p a { color:var(--link); font-weight:600; }
.faq .qa > div { min-width:0; }

/* ---------- Origin block (About) ---------- */
.origin { margin-top:64px; display:grid; grid-template-columns:320px 1fr;
  border:1px solid var(--border-subtle); overflow:hidden; }
.origin .photo { position:relative; }
.origin img { width:100%; height:100%; object-fit:cover; display:block; min-height:220px; filter:saturate(0.9); }
.origin .photo .caption { position:absolute; left:12px; bottom:10px; color:rgba(237,243,240,0.85); }
.origin .note { padding:38px 42px; background:var(--surface-warm); display:flex; flex-direction:column; justify-content:center; gap:12px; }
.origin .note .station, .origin .note .station .no { color:var(--ochre-300); }
.origin .note .station .rule { background:rgba(161,84,47,0.3); }
.origin .note p { font-size:16.5px; color:var(--text-body); max-width:38rem; }

/* ---------- Footer: the chart legend ---------- */
.foot { background:#020A0E; color:var(--text-on-dark); border-top:1px solid var(--border-subtle); }
.foot .top { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:40px; padding-top:76px; padding-bottom:60px; }
.foot .blurb { margin-top:20px; max-width:20rem; font-size:14.5px; line-height:1.6; color:rgba(237,243,240,0.6); }
.foot h4 { font-family:var(--font-mono); font-weight:500; font-size:10.5px; letter-spacing:0.24em;
  text-transform:uppercase; color:var(--glass-300); margin:0 0 22px; }
.foot ul { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:14px; }
.foot ul a, .foot ul span { font-size:14.5px; color:rgba(237,243,240,0.8); text-decoration:none; }
.foot ul a:hover { color:var(--white); }
.foot .legal { border-top:1px solid rgba(237,243,240,0.12); }
.foot .legal .wrap { display:flex; justify-content:space-between; padding-top:24px; padding-bottom:24px;
  font-family:var(--font-mono); font-size:11px; letter-spacing:0.08em; text-transform:uppercase;
  color:rgba(237,243,240,0.5); }
.updated { font-size:13px; color:var(--text-muted); }

/* ---------- Responsive ---------- */
@media (max-width:900px) {
  :root { --gutter:24px; }
  section { padding-top:64px; padding-bottom:64px; }
  .hero { min-height:0; }
  .hero .content { padding-top:72px; }
  .hero .readout { margin-top:64px; }
  .beacon .lamp { right:4%; transform:scale(0.6); }
  .readout { grid-template-columns:1fr 1fr; }
  .readout > div { padding:16px 16px 16px 0; }
  .readout > div + div { padding-left:0; border-left:none; }
  .readout > div:nth-child(even) { padding-left:16px; border-left:1px solid var(--border-subtle); }
  .readout > div:nth-child(n+3) { border-top:1px solid var(--border-subtle); }
  .ledger li { grid-template-columns:64px 1fr; gap:20px; padding:34px 4px; }
  .ledger .ix { font-size:1.7rem; }
  .ledger .tag { display:none; }
  .panel-dark .inner { grid-template-columns:1fr; padding:48px 28px; gap:40px; }
  .people, .foot .top { grid-template-columns:1fr; }
  .founders li { grid-template-columns:64px 1fr; }
  .founders .creds { grid-column:2; justify-self:start; text-align:left; }
  .photo-band .content { padding:56px 28px; }
  .origin { grid-template-columns:1fr; }
  .origin .note { padding:28px 24px; }
  .faq .qa { grid-template-columns:1fr; gap:8px; }
  .nav nav { gap:18px; }
}
@media (max-width:560px) {
  .nav .wrap { flex-direction:column; align-items:flex-start; gap:10px; }
  .nav nav { flex-wrap:wrap; }
  .foot .legal .wrap { flex-direction:column; gap:8px; }
  .aside-warm { padding:28px 22px; }
  .steps li { padding-left:58px; }
  .hero .readout { grid-template-columns:1fr; }
  .hero .readout > div { border-left:none; padding-left:0; }
}

/* Legacy eyebrow (kept for any straggler) */
.eyebrow { font-weight:600; font-size:12px; letter-spacing:0.22em; text-transform:uppercase; color:var(--brand-secondary); }
.eyebrow + h1, .eyebrow + h2, .eyebrow + h3 { margin-top:16px; }
