*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  /* ── Brand palette (unchanged) ── */
  --bg:#06080c;--s1:#0b0e14;--s2:#10141c;--s3:#161c26;
  --b1:rgba(255,255,255,0.04);--b2:rgba(255,255,255,0.08);--b3:rgba(255,255,255,0.14);
  --tx:#dde2ee;--tx2:#8e9ab5;--tx3:#565f75;
  /* --tx3 is 3.14:1 on --bg and fails WCAG AA for text.
     --tx3t is the same role lightened to 4.66:1 for use on TEXT. */
  --tx3t:#6f7a94;
  --ac:#c8a96e;--ac2:rgba(200,169,110,0.12);--ac3:rgba(200,169,110,0.28);
  --fd:'DM Serif Display',Georgia,serif;
  --fm:'Syne Mono',ui-monospace,monospace;
  --fb:'Syne',system-ui,sans-serif;

  /* ── Material 3 type scale ── */
  --m3-display-l-size:57px;   --m3-display-l-lh:64px;
  --m3-display-s-size:36px;   --m3-display-s-lh:44px;
  --m3-headline-l-size:32px;  --m3-headline-l-lh:40px;
  --m3-headline-m-size:28px;  --m3-headline-m-lh:36px;
  --m3-headline-s-size:24px;  --m3-headline-s-lh:32px;
  --m3-title-l-size:22px;     --m3-title-l-lh:28px;
  --m3-title-m-size:16px;     --m3-title-m-lh:24px;
  --m3-body-l-size:16px;      --m3-body-l-lh:24px;
  --m3-body-m-size:14px;      --m3-body-m-lh:20px;
  --m3-label-l-size:14px;     --m3-label-l-lh:20px;
  --m3-label-m-size:12px;     --m3-label-m-lh:16px;

  /* ── Material 3 spacing (4dp grid) ── */
  --sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-6:24px;
  --sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-16:64px;--sp-20:80px;

  /* M3 layout margin: 16dp compact, 24dp medium and expanded */
  --gut:16px;
}
@media(min-width:600px){:root{--gut:24px}}

html{scroll-behavior:smooth}
body{
  background:var(--bg);color:var(--tx);
  font-family:var(--fb);
  font-size:var(--m3-body-l-size);line-height:var(--m3-body-l-lh);letter-spacing:.5px;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit}
:focus-visible{outline:3px solid var(--ac);outline-offset:3px;border-radius:2px}

.wrap{max-width:1140px;margin:0 auto;padding:0 var(--gut)}

/* ─────────── HEADER — M3 top app bar (64dp) ─────────── */
.hdr{
  position:sticky;top:0;z-index:20;
  background:rgba(6,8,12,.86);backdrop-filter:blur(10px);
  border-bottom:1px solid transparent;transition:border-color .2s;
}
.hdr.stuck{border-bottom-color:var(--b1)}
.hdr-in{display:flex;align-items:center;gap:var(--sp-3);height:64px}
.hdr-mark{width:28px;height:28px;flex-shrink:0}
.hdr-brand{
  font-family:var(--fd);font-weight:400;
  font-size:var(--m3-title-l-size);line-height:var(--m3-title-l-lh);
  letter-spacing:.01em;text-decoration:none;
}
.hdr-tag{
  font-family:var(--fm);font-weight:500;
  font-size:var(--m3-label-l-size);line-height:var(--m3-label-l-lh);
  letter-spacing:.14em;text-transform:uppercase;
  color:var(--tx3t);padding-left:var(--sp-3);border-left:1px solid var(--b2);
}
/* M3 outlined button: 40dp tall, full corner, 24dp padding, label-large */
.hdr-mail{
  margin-left:auto;display:inline-flex;align-items:center;
  height:40px;padding:0 var(--sp-6);border-radius:20px;
  border:1px solid var(--b2);text-decoration:none;
  font-family:var(--fm);font-weight:500;
  font-size:var(--m3-label-l-size);line-height:var(--m3-label-l-lh);letter-spacing:.06em;
  color:var(--tx2);transition:color .15s,border-color .15s,background .15s;
}
.hdr-mail:hover{color:var(--ac);border-color:var(--ac3);background:var(--ac2)}
@media(pointer:coarse){.hdr-mail{height:48px;border-radius:24px}}
@media(max-width:899px){.hdr-tag{display:none}}

/* ─────────── HERO ─────────── */
.hero{padding-top:clamp(var(--sp-16),10vw,96px);padding-bottom:clamp(var(--sp-12),6vw,var(--sp-16))}
/* label-large */
.eyebrow{
  font-family:var(--fm);font-weight:500;
  font-size:var(--m3-label-l-size);line-height:var(--m3-label-l-lh);
  letter-spacing:.16em;text-transform:uppercase;
  color:var(--ac);margin-bottom:var(--sp-8);
}
/* display-small → display-large */
.hero-h1{
  font-family:var(--fd);font-weight:400;
  font-size:clamp(var(--m3-display-s-size),5.4vw,var(--m3-display-l-size));
  line-height:1.15;letter-spacing:-.005em;max-width:19ch;
}
.hero-h1 em{font-style:italic;color:var(--ac)}
/* body-large → title-large */
.hero-lede{
  margin-top:var(--sp-6);max-width:62ch;
  font-size:var(--m3-body-l-size);line-height:var(--m3-body-l-lh);letter-spacing:.5px;
  color:var(--tx2);
}
@media(min-width:600px){
  .hero-lede{font-size:var(--m3-title-l-size);line-height:var(--m3-title-l-lh);letter-spacing:0}
}

/* signature: the analytic chain */
.chain{
  margin-top:clamp(var(--sp-12),6vw,var(--sp-16));
  display:grid;grid-template-columns:repeat(4,1fr);column-gap:var(--sp-6);
  border-top:1px solid var(--b2);
}
.chain-step{position:relative;padding-top:var(--sp-6)}
.chain-step::before{
  content:"";position:absolute;top:-1px;left:0;width:32px;height:1px;background:var(--ac);
}
.chain-q{
  font-family:var(--fm);font-weight:500;
  font-size:var(--m3-label-l-size);line-height:var(--m3-label-l-lh);
  letter-spacing:.14em;text-transform:uppercase;
  color:var(--ac);margin-bottom:var(--sp-3);
}
.chain-t{font-size:var(--m3-body-l-size);line-height:var(--m3-body-l-lh);letter-spacing:.5px;color:var(--tx2)}
@media(max-width:900px){.chain{grid-template-columns:repeat(2,1fr);row-gap:var(--sp-8)}}
@media(max-width:520px){.chain{grid-template-columns:1fr;row-gap:var(--sp-6)}}

/* ─────────── BANNER RULE ─────────── */
.banner{
  background:var(--s1);border-top:1px solid var(--b1);border-bottom:1px solid var(--b1);
  margin-top:clamp(var(--sp-12),7vw,var(--sp-20));
}
.banner-in{
  display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-6);
  align-items:center;justify-content:center;
  padding-top:var(--sp-4);padding-bottom:var(--sp-4);
  font-family:var(--fm);font-weight:500;
  font-size:var(--m3-label-l-size);line-height:var(--m3-label-l-lh);
  letter-spacing:.16em;text-transform:uppercase;color:var(--tx3t);text-align:center;
}
.banner-in b{color:var(--ac);font-weight:400}

/* ─────────── SECTIONS ─────────── */
.sec{padding-top:clamp(56px,8vw,var(--sp-20))}
.sec-last{padding-bottom:clamp(56px,8vw,var(--sp-20))}
.sec-lbl{
  display:flex;align-items:center;gap:var(--sp-4);
  font-family:var(--fm);font-weight:500;
  font-size:var(--m3-label-l-size);line-height:var(--m3-label-l-lh);
  letter-spacing:.16em;text-transform:uppercase;
  color:var(--tx3t);margin-bottom:var(--sp-8);
}
.sec-lbl::after{content:"";flex:1;height:1px;background:var(--b1)}
/* headline-small → headline-large */
.sec-h2{
  font-family:var(--fd);font-weight:400;
  font-size:clamp(var(--m3-headline-s-size),3.2vw,var(--m3-headline-l-size));
  line-height:1.25;max-width:24ch;margin-bottom:var(--sp-6);
}
.sec-p{max-width:70ch;font-size:var(--m3-body-l-size);line-height:var(--m3-body-l-lh);letter-spacing:.5px;color:var(--tx2)}

/* ─────────── CAPABILITY GRID ─────────── */
.cap-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:var(--sp-4)}
.cap{
  background:var(--s1);border:1px solid var(--b1);border-radius:12px;padding:var(--sp-6);
  transition:border-color .18s,background .18s;
}
.cap:hover{border-color:var(--b2);background:var(--s2)}
/* title-medium */
.cap-t{
  font-size:var(--m3-title-m-size);line-height:var(--m3-title-m-lh);
  font-weight:500;letter-spacing:.15px;color:var(--tx);margin-bottom:var(--sp-2);
}
.cap-d{font-size:var(--m3-body-l-size);line-height:var(--m3-body-l-lh);letter-spacing:.5px;color:var(--tx2)}

/* ─────────── APPLICATIONS ─────────── */
.app-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));
  column-gap:var(--sp-8);border-top:1px solid var(--b1);
}
.app{padding-top:var(--sp-6);padding-bottom:var(--sp-6);border-bottom:1px solid var(--b1)}
.app-t{
  font-family:var(--fm);font-weight:500;
  font-size:var(--m3-label-l-size);line-height:var(--m3-label-l-lh);
  letter-spacing:.14em;text-transform:uppercase;
  color:var(--ac);margin-bottom:var(--sp-3);
}
.app-d{font-size:var(--m3-body-l-size);line-height:var(--m3-body-l-lh);letter-spacing:.5px;color:var(--tx2)}

/* ─────────── WHY / REASON LIST ─────────── */
.why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));gap:var(--sp-6)}
.why{border-left:2px solid var(--ac3);padding:var(--sp-1) 0 var(--sp-1) var(--sp-4)}
.why b{
  display:block;font-size:var(--m3-title-m-size);line-height:var(--m3-title-m-lh);
  font-weight:500;letter-spacing:.15px;color:var(--tx);margin-bottom:var(--sp-2);
}
.why span{font-size:var(--m3-body-l-size);line-height:var(--m3-body-l-lh);letter-spacing:.5px;color:var(--tx2)}

/* ─────────── TWO PANELS ─────────── */
.duo{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(360px,100%),1fr));gap:var(--sp-4)}
.panel{background:var(--s1);border:1px solid var(--b1);border-radius:12px;padding:var(--sp-6)}
.panel-t{
  font-family:var(--fm);font-weight:500;
  font-size:var(--m3-label-l-size);line-height:var(--m3-label-l-lh);
  letter-spacing:.16em;text-transform:uppercase;color:var(--tx3t);
  padding-bottom:var(--sp-4);margin-bottom:var(--sp-4);border-bottom:1px solid var(--b1);
}
.dash{list-style:none;display:flex;flex-direction:column;gap:var(--sp-3)}
.dash li{
  position:relative;padding-left:var(--sp-6);
  font-size:var(--m3-body-l-size);line-height:var(--m3-body-l-lh);letter-spacing:.5px;color:var(--tx2);
}
.dash li::before{content:"—";position:absolute;left:0;color:var(--ac)}

/* ─────────── OUTPUT CHIPS — M3 assist chip (32dp, 8dp corner) ─────────── */
.chips{display:flex;flex-wrap:wrap;gap:var(--sp-2)}
.chip{
  display:inline-flex;align-items:center;min-height:32px;
  padding:var(--sp-1) var(--sp-4);border-radius:8px;
  background:var(--s3);color:var(--tx2);
  font-family:var(--fm);font-weight:500;
  font-size:var(--m3-label-l-size);line-height:var(--m3-label-l-lh);letter-spacing:.05em;
}

/* ─────────── ENGAGEMENT MODES ─────────── */
.mode-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:var(--sp-4)}
.mode{background:var(--s1);border:1px solid var(--b1);border-radius:12px;padding:var(--sp-6)}
.mode-t{
  font-family:var(--fm);font-weight:500;
  font-size:var(--m3-label-l-size);line-height:var(--m3-label-l-lh);
  letter-spacing:.14em;text-transform:uppercase;
  color:var(--ac);margin-bottom:var(--sp-3);
}
.mode-d{font-size:var(--m3-body-l-size);line-height:var(--m3-body-l-lh);letter-spacing:.5px;color:var(--tx2)}
.mode-note{
  margin-top:var(--sp-6);max-width:72ch;
  font-size:var(--m3-body-l-size);line-height:var(--m3-body-l-lh);letter-spacing:.5px;color:var(--tx3t);
}

/* ─────────── DECISION ADVANTAGE ─────────── */
.adv{
  margin-top:clamp(56px,8vw,var(--sp-20));
  background:var(--s1);border-top:1px solid var(--ac3);border-bottom:1px solid var(--ac3);
}
.adv-in{padding-top:clamp(var(--sp-10),6vw,var(--sp-16));padding-bottom:clamp(var(--sp-10),6vw,var(--sp-16))}
.adv-lbl{
  font-family:var(--fm);font-weight:500;
  font-size:var(--m3-label-l-size);line-height:var(--m3-label-l-lh);
  letter-spacing:.16em;text-transform:uppercase;
  color:var(--ac);margin-bottom:var(--sp-8);
}
.adv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr));gap:var(--sp-8) var(--sp-12)}
/* title-large → headline-small */
.adv-i{
  font-family:var(--fd);font-weight:400;
  font-size:clamp(var(--m3-title-l-size),2.2vw,var(--m3-headline-s-size));
  line-height:1.35;color:var(--tx);
  padding-top:var(--sp-4);border-top:1px solid var(--b2);
}

/* ─────────── FOOTER ─────────── */
.ftr{padding-top:clamp(var(--sp-12),7vw,72px);padding-bottom:var(--sp-12)}
.ftr-top{display:flex;flex-wrap:wrap;gap:var(--sp-8);align-items:flex-start}
.ftr-brand{display:flex;align-items:center;gap:var(--sp-4)}
.ftr-mark{width:48px;height:48px}
.ftr-name{
  font-family:var(--fd);font-weight:400;
  font-size:var(--m3-headline-s-size);line-height:var(--m3-headline-s-lh);
}
.ftr-sub{
  font-family:var(--fm);font-weight:500;
  font-size:var(--m3-label-l-size);line-height:var(--m3-label-l-lh);
  letter-spacing:.12em;text-transform:uppercase;color:var(--tx3t);margin-top:var(--sp-1);
}
.ftr-cta{margin-left:auto;text-align:right}
.ftr-cta-lbl{
  font-family:var(--fm);font-weight:500;
  font-size:var(--m3-label-l-size);line-height:var(--m3-label-l-lh);
  letter-spacing:.14em;text-transform:uppercase;color:var(--tx3t);margin-bottom:var(--sp-2);
}
.ftr-mail{
  display:inline-block;font-family:var(--fm);
  font-size:var(--m3-title-l-size);line-height:var(--m3-title-l-lh);
  color:var(--ac);text-decoration:none;
  border-bottom:1px solid var(--ac3);padding-bottom:var(--sp-1);transition:border-color .15s;
}
.ftr-mail:hover{border-bottom-color:var(--ac)}
.ftr-rule{height:1px;background:var(--b1);margin:var(--sp-8) 0 var(--sp-6)}
.ftr-note{
  font-family:var(--fm);font-weight:500;
  font-size:var(--m3-body-m-size);line-height:28px;
  letter-spacing:.12em;text-transform:uppercase;color:var(--tx3t);
}
@media(max-width:680px){.ftr-cta{margin-left:0;text-align:left}}

/* ─────────── REVEAL ─────────── */
.rv{opacity:0;transform:translateY(14px);transition:opacity .55s ease,transform .55s ease}
.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .rv{opacity:1;transform:none;transition:none}
  *{animation-duration:.01ms!important;transition-duration:.01ms!important}
}

/* ═══════════════════════════════════════════════════════════════════════
   MULTI-PAGE ADDITIONS
   Everything above is shared with the original single about page.
   ═══════════════════════════════════════════════════════════════════════ */

/* ─────────── HEADER NAV ─────────── */
.nav{margin-left:auto;display:flex;align-items:center;gap:var(--sp-1)}
.nav-link{
  display:inline-flex;align-items:center;height:40px;padding:0 var(--sp-3);
  border-radius:20px;text-decoration:none;
  font-family:var(--fm);font-weight:500;
  font-size:var(--m3-label-l-size);line-height:var(--m3-label-l-lh);
  letter-spacing:.06em;text-transform:uppercase;
  color:var(--tx2);transition:color .15s,background .15s;
}
.nav-link:hover{color:var(--tx);background:var(--b1)}
.nav-link.on{color:var(--ac);background:var(--ac2)}
@media(pointer:coarse){.nav-link{height:48px;border-radius:24px}}
@media(max-width:479px){
  .nav{gap:0}
  .nav-link{padding:0 var(--sp-2);letter-spacing:.02em}
}

/* ─────────── PAGE HEAD (non-hero pages) ─────────── */
.page-head{padding-top:clamp(var(--sp-12),8vw,72px);padding-bottom:var(--sp-2)}
.page-h1{
  font-family:var(--fd);font-weight:400;
  font-size:clamp(var(--m3-headline-l-size),4.4vw,var(--m3-display-s-size));
  line-height:1.2;margin-top:var(--sp-4);max-width:22ch;
}
.page-intro{
  margin-top:var(--sp-6);max-width:62ch;
  font-size:var(--m3-body-l-size);line-height:var(--m3-body-l-lh);
  letter-spacing:.5px;color:var(--tx2);
}
@media(min-width:600px){
  .page-intro{font-size:var(--m3-title-l-size);line-height:var(--m3-title-l-lh);letter-spacing:0}
}

/* ─────────── NEWS LIST ─────────── */
.news-list{display:flex;flex-direction:column;border-top:1px solid var(--b1)}
.news-item{
  display:block;text-decoration:none;padding:var(--sp-6) 0;
  border-bottom:1px solid var(--b1);transition:border-color .18s;
}
.news-item:hover{border-bottom-color:var(--b3)}
.news-item:hover .news-title{color:var(--ac)}
.news-date{
  font-family:var(--fm);font-weight:500;
  font-size:var(--m3-label-l-size);line-height:var(--m3-label-l-lh);
  letter-spacing:.14em;text-transform:uppercase;color:var(--tx3t);
  margin-bottom:var(--sp-3);
}
.news-title{
  font-family:var(--fd);font-weight:400;
  font-size:var(--m3-headline-s-size);line-height:var(--m3-headline-s-lh);
  color:var(--tx);margin-bottom:var(--sp-3);max-width:34ch;
  transition:color .15s;
}
.news-sum{
  max-width:70ch;font-size:var(--m3-body-l-size);line-height:var(--m3-body-l-lh);
  letter-spacing:.5px;color:var(--tx2);
}
.news-more{
  display:inline-block;margin-top:var(--sp-4);
  font-family:var(--fm);font-weight:500;
  font-size:var(--m3-label-l-size);line-height:var(--m3-label-l-lh);
  letter-spacing:.08em;text-transform:uppercase;color:var(--ac);
}
.news-more::after{content:"\00a0\2192"}

/* home page news teasers, three across */
.news-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:var(--sp-4)}
.news-card{
  display:block;text-decoration:none;
  background:var(--s1);border:1px solid var(--b1);border-radius:12px;padding:var(--sp-6);
  transition:border-color .18s,background .18s;
}
.news-card:hover{border-color:var(--b2);background:var(--s2)}
.news-card:hover .news-card-t{color:var(--ac)}
.news-card-t{
  font-size:var(--m3-title-m-size);line-height:var(--m3-title-m-lh);
  font-weight:500;letter-spacing:.15px;color:var(--tx);
  margin-bottom:var(--sp-2);transition:color .15s;
}
.news-card-s{
  font-size:var(--m3-body-l-size);line-height:var(--m3-body-l-lh);
  letter-spacing:.5px;color:var(--tx2);
}

/* ─────────── ARTICLE BODY ─────────── */
.post-head{padding-top:clamp(var(--sp-12),8vw,72px)}
.back-link{
  display:inline-flex;align-items:center;min-height:40px;
  font-family:var(--fm);font-weight:500;
  font-size:var(--m3-label-l-size);line-height:var(--m3-label-l-lh);
  letter-spacing:.08em;text-transform:uppercase;
  color:var(--tx3t);text-decoration:none;transition:color .15s;
}
.back-link:hover{color:var(--ac)}
.back-link::before{content:"\2190\00a0\00a0"}
.post-title{
  font-family:var(--fd);font-weight:400;
  font-size:clamp(var(--m3-headline-l-size),4.4vw,var(--m3-display-s-size));
  line-height:1.2;margin-top:var(--sp-4);max-width:24ch;
}
.post-meta{
  display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-4);align-items:center;
  margin-top:var(--sp-6);padding-bottom:var(--sp-6);border-bottom:1px solid var(--b1);
  font-family:var(--fm);font-weight:500;
  font-size:var(--m3-label-l-size);line-height:var(--m3-label-l-lh);
  letter-spacing:.14em;text-transform:uppercase;color:var(--tx3t);
}
.post-tag{padding:var(--sp-1) var(--sp-3);border-radius:8px;background:var(--s3);color:var(--tx2);letter-spacing:.06em}

.prose{max-width:70ch;padding-top:var(--sp-8);color:var(--tx2)}
.prose > * + *{margin-top:var(--sp-6)}
.prose p,.prose li{
  font-size:var(--m3-body-l-size);line-height:var(--m3-body-l-lh);letter-spacing:.5px;
}
.prose h2{
  font-family:var(--fd);font-weight:400;color:var(--tx);
  font-size:var(--m3-headline-s-size);line-height:var(--m3-headline-s-lh);
  margin-top:var(--sp-12);
}
.prose h3{
  font-size:var(--m3-title-l-size);line-height:var(--m3-title-l-lh);
  font-weight:500;color:var(--tx);margin-top:var(--sp-8);
}
.prose strong{color:var(--tx);font-weight:600}
.prose a{color:var(--ac);text-decoration:underline;text-underline-offset:3px}
.prose ul,.prose ol{padding-left:var(--sp-6)}
.prose li + li{margin-top:var(--sp-3)}
.prose li::marker{color:var(--ac)}
.prose blockquote{
  border-left:2px solid var(--ac3);padding:var(--sp-1) 0 var(--sp-1) var(--sp-6);
  color:var(--tx);font-family:var(--fd);
  font-size:var(--m3-title-l-size);line-height:1.4;
}
.prose blockquote p{font:inherit;letter-spacing:0}
.prose code{
  font-family:var(--fm);font-size:var(--m3-body-m-size);
  background:var(--s3);padding:2px var(--sp-1);border-radius:4px;color:var(--tx);
}
.prose pre{
  background:var(--s1);border:1px solid var(--b1);border-radius:12px;
  padding:var(--sp-4);overflow-x:auto;
}
.prose pre code{background:none;padding:0}
.prose img{max-width:100%;height:auto;border-radius:12px}
.prose hr{border:0;height:1px;background:var(--b1);margin-top:var(--sp-8)}

/* ─────────── CONTACT ─────────── */
.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:var(--sp-4)}
.contact-card{background:var(--s1);border:1px solid var(--b1);border-radius:12px;padding:var(--sp-6)}
.contact-lbl{
  font-family:var(--fm);font-weight:500;
  font-size:var(--m3-label-l-size);line-height:var(--m3-label-l-lh);
  letter-spacing:.14em;text-transform:uppercase;color:var(--ac);margin-bottom:var(--sp-3);
}
.contact-val{
  font-family:var(--fm);font-size:var(--m3-title-l-size);line-height:var(--m3-title-l-lh);
  color:var(--tx);text-decoration:none;border-bottom:1px solid var(--ac3);
  padding-bottom:var(--sp-1);transition:border-color .15s;
}
a.contact-val:hover{border-bottom-color:var(--ac)}
.contact-note{
  margin-top:var(--sp-3);
  font-size:var(--m3-body-l-size);line-height:var(--m3-body-l-lh);
  letter-spacing:.5px;color:var(--tx2);
}

/* ─────────── CTA BAND ─────────── */
.cta{margin-top:clamp(56px,8vw,var(--sp-20));background:var(--s1);border-top:1px solid var(--b1);border-bottom:1px solid var(--b1)}
.cta-in{
  padding-top:clamp(var(--sp-10),6vw,var(--sp-16));
  padding-bottom:clamp(var(--sp-10),6vw,var(--sp-16));
  display:flex;flex-wrap:wrap;gap:var(--sp-6);align-items:center;
}
.cta-h{
  font-family:var(--fd);font-weight:400;
  font-size:clamp(var(--m3-headline-s-size),3.2vw,var(--m3-headline-l-size));
  line-height:1.25;max-width:20ch;
}
/* M3 filled button */
.btn{
  margin-left:auto;display:inline-flex;align-items:center;
  height:40px;padding:0 var(--sp-6);border-radius:20px;
  background:var(--ac);color:#06080c;text-decoration:none;
  font-family:var(--fm);font-weight:500;
  font-size:var(--m3-label-l-size);line-height:var(--m3-label-l-lh);letter-spacing:.06em;
  transition:filter .15s;
}
.btn:hover{filter:brightness(1.12)}
@media(pointer:coarse){.btn{height:48px;border-radius:24px}}
@media(max-width:600px){.btn{margin-left:0}}

/* ─────────── EMPTY STATE ─────────── */
.empty{
  padding:var(--sp-16) 0;border-top:1px solid var(--b1);
  font-size:var(--m3-body-l-size);line-height:var(--m3-body-l-lh);
  letter-spacing:.5px;color:var(--tx2);
}

/* At the narrowest supported width the wordmark and the three nav links
   cannot both fit; the mark alone still links home. */
@media(max-width:399px){
  .hdr-brand span{display:none}
  .hdr-in{gap:var(--sp-2)}
}

/* When the CTA band follows the advantage band directly, collapse the gap
   and the doubled rule so they read as one block. */
.adv + .cta{margin-top:0;border-top:0}