/* ────────────────────────────────────────────────────────────────
   INGOT PRIVATE — "Ivory & Ink"
   The stationery of an 1807 house: warm ivory paper, real ink,
   bullion gold used like a wax seal. Dark is punctuation, not the
   page. One file, every page.
   ──────────────────────────────────────────────────────────────── */
:root{
  --paper:#F7F5F0; --paper-2:#EFEBE1; --card:#FFFFFF;
  --obsidian:#12110F; --obsidian-2:#191713;
  --ink:#191713; --cream:#F0EDE3;
  --mute-l:#5F594C; --faint-l:#6E6656;
  --mute-d:#A9A294; --faint-d:#8B8474;
  --gold:#8A6D3B; --gold-hi:#CBA96B; --hunter:#37432F;
  --hair-l:rgba(25,23,19,.14); --hair-d:rgba(240,237,227,.14);
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  --sans:"Helvetica Neue",Helvetica,Arial,sans-serif;
  --mono:ui-monospace,"Menlo","Courier New",monospace;
  --max:1180px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:120px}
body{
  background:var(--paper); color:var(--ink);
  font-family:var(--sans); font-size:16px; line-height:1.65;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
img,svg{max-width:100%}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--strong,var(--gold));outline-offset:3px;border-radius:2px}
::selection{background:var(--gold);color:#fff}

.wrap{max-width:var(--max);margin:0 auto;padding-left:clamp(20px,5vw,52px);padding-right:clamp(20px,5vw,52px)}

/* ── plates (ivory by default; obsidian is punctuation) ── */
.plate{position:relative}
.plate--paper{background:var(--paper);color:var(--ink);
  --hair:var(--hair-l); --mute:var(--mute-l); --faint:var(--faint-l);
  --ground:var(--paper); --panel:var(--card); --strong:var(--ink); --accent:var(--gold);}
.plate--paper2{background:var(--paper-2);color:var(--ink);
  --hair:var(--hair-l); --mute:var(--mute-l); --faint:var(--faint-l);
  --ground:var(--paper-2); --panel:var(--card); --strong:var(--ink); --accent:var(--gold);}
.plate--obsidian{background:var(--obsidian);color:var(--cream);
  --hair:var(--hair-d); --mute:var(--mute-d); --faint:var(--faint-d);
  --ground:var(--obsidian); --panel:var(--obsidian-2); --strong:var(--cream); --accent:var(--gold-hi);}
.plate--paper + .plate--paper, .plate--paper + .plate--paper2,
.plate--paper2 + .plate--paper{border-top:1px solid var(--hair-l)}

/* legacy hook from v1 — the wireframe columns are gone for good */
.gridlines{display:none}

/* ── typography ─────────────────────────── */
.display{font-family:var(--serif);font-weight:700;line-height:1.06;letter-spacing:-.012em;text-wrap:balance}
.display--xl{font-size:clamp(38px,5.4vw,68px)}
.display--l{font-size:clamp(30px,3.8vw,46px)}
.display--m{font-size:clamp(23px,2.6vw,32px)}
.eyebrow{font-family:var(--sans);font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--accent,var(--gold));font-weight:700}
.lede{color:var(--mute);max-width:58ch;font-size:clamp(15.5px,1.35vw,18px);line-height:1.7}
.numerals{font-family:var(--serif);font-variant-numeric:tabular-nums lining-nums}
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}

/* ── utility bar + nav ──────────────────── */
.topbar{background:var(--obsidian);color:var(--mute-d);font-size:11.5px;letter-spacing:.06em}
.topbar .row{display:flex;gap:22px;align-items:center;padding-block:8px}
.topbar a{color:var(--mute-d)}
.topbar a:hover{color:var(--cream)}
.topbar .right{margin-left:auto;display:flex;gap:22px}
.topbar .mono{color:var(--gold-hi)}
@media(max-width:700px){.topbar .row{gap:14px}.topbar .hidesm{display:none}}

.nav{position:sticky;top:0;z-index:30;background:rgba(247,245,240,.92);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--hair-l)}
.nav .row{display:flex;align-items:center;gap:26px;padding-block:16px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:12px;color:var(--ink)}
.brand svg{width:44px;height:auto;flex:none}
.brand .word b{font-family:var(--serif);font-weight:700;font-size:17px;letter-spacing:.26em;display:block;color:var(--ink)}
.brand .word i{font-style:normal;display:block;font-size:8px;letter-spacing:.44em;color:var(--gold);margin-top:2px;font-weight:700}
.nav .links{margin-left:auto;min-width:0;display:flex;gap:clamp(14px,2.2vw,30px);flex-wrap:wrap;align-items:center}
.nav .links a{color:var(--mute-l);font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;
  padding:6px 0;border-bottom:2px solid transparent}
.nav .links a:hover{color:var(--ink)}
.nav .links a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--gold)}
.nav .links a.cta{color:#fff;background:var(--ink);padding:11px 20px;border-radius:2px;border-bottom:none;letter-spacing:.12em}
.nav .links a.cta:hover{background:var(--gold)}
.nav .links a.cta[aria-current="page"]{background:var(--gold)}
@media(max-width:1000px){
  .nav .row{gap:12px;padding-block:12px}
  .nav .links{margin-left:0;width:100%;gap:14px 18px}
  .nav .links a{font-size:11px}
  .nav .links a.cta{margin-left:auto;padding:9px 14px}
  .brand svg{width:36px}
  .brand .word b{font-size:15px;letter-spacing:.2em}
}

/* ── buttons ─────────────────────────────── */
.btn{display:inline-block;padding:15px 30px;border-radius:2px;font-size:12.5px;letter-spacing:.14em;
  text-transform:uppercase;font-weight:700;transition:background .18s,color .18s,border-color .18s}
.btn--solid{background:var(--ink);color:#fff}
.plate--obsidian .btn--solid{background:var(--gold-hi);color:var(--obsidian)}
.btn--solid:hover{background:var(--gold);color:#fff}
.btn--ghost{border:1px solid var(--strong);color:var(--strong)}
.btn--ghost:hover{border-color:var(--gold);color:var(--gold)}
.plate--obsidian .btn--ghost:hover{color:var(--gold-hi);border-color:var(--gold-hi)}

/* ── heroes ─────────────────────────────── */
.hero{padding:clamp(56px,8vw,110px) 0 clamp(52px,7vw,96px);position:relative;overflow:hidden}
.hero .eyebrow{margin-bottom:22px;display:block}
.hero .lede{margin-top:24px}
.hero .actions{display:flex;gap:14px;margin-top:38px;flex-wrap:wrap}
.hero-art{display:none}

/* product hero: text left, an object on obsidian right */
.hero-split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(32px,5vw,72px);align-items:center}
@media(max-width:900px){.hero-split{grid-template-columns:1fr}}
.vault{background:
    radial-gradient(120% 130% at 20% 0%, #26221B 0%, var(--obsidian) 55%);
  border-radius:6px;padding:clamp(28px,4vw,56px);display:grid;place-items:center;
  box-shadow:0 30px 70px rgba(25,23,19,.28);position:relative;overflow:hidden}
.vault::after{content:"";position:absolute;inset:0;border:1px solid rgba(203,169,107,.25);border-radius:6px;pointer-events:none}
.vault .stamp{position:absolute;bottom:14px;right:18px;color:rgba(240,237,227,.35);font-size:9px;letter-spacing:.3em;text-transform:uppercase}

/* ── stat band ──────────────────────────── */
.band{border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.band .cells{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.band .cell{padding:26px 26px 26px 0;border-left:1px solid var(--hair);padding-left:26px}
.band .cell:first-child{border-left:none;padding-left:0}
.band b{font-family:var(--serif);font-weight:700;font-size:clamp(20px,2.2vw,27px);display:block;font-variant-numeric:tabular-nums;color:var(--strong)}
.band span{color:var(--mute);font-size:10px;letter-spacing:.26em;text-transform:uppercase;display:block;margin-top:6px;font-weight:600}

/* ── sections ───────────────────────────── */
.section{padding:clamp(56px,8vw,104px) 0}
.section-head{max-width:760px}
.section-head .eyebrow{margin-bottom:14px;display:block}
.section-head .lede{margin-top:16px}

/* ── ledger rows ─────────────────────────── */
.ledger{margin-top:40px;border-top:2px solid var(--strong)}
.ledger a,.ledger .rowitem{display:grid;grid-template-columns:56px 1fr auto;gap:20px;align-items:baseline;
  padding:24px 6px;border-bottom:1px solid var(--hair);transition:background .15s}
.ledger a:hover{background:color-mix(in srgb, var(--strong) 4%, transparent)}
.ledger a:hover .name{color:var(--gold)}
.ledger .no{font-family:var(--serif);font-size:15px;color:var(--faint);font-weight:700}
.ledger .name{font-family:var(--serif);font-size:clamp(20px,2.1vw,27px);font-weight:700;color:var(--strong);transition:color .15s}
.ledger .meta{color:var(--mute);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;font-weight:600}
.ledger .sub{grid-column:2;color:var(--mute);font-size:14.5px;max-width:62ch;margin-top:4px}
@media(max-width:640px){.ledger a,.ledger .rowitem{grid-template-columns:40px 1fr}.ledger .meta{display:none}}

/* ── panels / cards ─────────────────────── */
.panelgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:22px;margin-top:46px}
.panel{border:1px solid var(--hair);background:var(--panel);padding:32px 28px;border-radius:4px;
  box-shadow:0 1px 0 rgba(25,23,19,.03), 0 12px 30px rgba(25,23,19,.05);border-top:3px solid var(--gold)}
.plate--obsidian .panel{box-shadow:none}
.panel h3{font-family:var(--serif);font-weight:700;font-size:21px;margin-bottom:10px;color:var(--strong)}
.panel p{color:var(--mute);font-size:14.5px}
.panel .figure{font-family:var(--serif);color:var(--strong);font-size:34px;font-weight:700;margin:18px 0 4px;font-variant-numeric:tabular-nums}
.panel .note{color:var(--faint);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:600}

/* insight / article cards */
.insights{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px;margin-top:46px}
.insight{border:1px solid var(--hair);background:var(--panel);border-radius:4px;padding:26px 26px 22px;display:flex;flex-direction:column;gap:12px;
  box-shadow:0 12px 30px rgba(25,23,19,.05);transition:border-color .15s}
.insight:hover{border-color:var(--gold)}
.insight .tag{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);font-weight:700}
.insight h3{font-family:var(--serif);font-weight:700;font-size:20px;line-height:1.25;color:var(--strong)}
.insight p{color:var(--mute);font-size:14px;flex:1}
.insight .when{color:var(--faint);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase}

/* ── metal card (the product) ────────────── */
.metal{aspect-ratio:1.586;border-radius:16px;position:relative;overflow:hidden;max-width:430px;width:100%;
  background:linear-gradient(135deg,#83838E 0%,#54545E 55%,#2E2E38 100%);
  box-shadow:0 30px 60px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.28);
  padding:7.5% 8%;display:flex;flex-direction:column;justify-content:space-between;
  transform:perspective(900px) rotateX(var(--ry,0deg)) rotateY(var(--rx,0deg));transition:transform .25s ease}
.metal::before{content:"";position:absolute;inset:0;opacity:.5;
  background:repeating-linear-gradient(180deg, rgba(255,255,255,.03) 0 1px, transparent 1px 3px)}
.metal::after{content:"";position:absolute;inset:0;
  background:radial-gradient(120% 120% at 50% 40%, transparent 55%, rgba(0,0,0,.35))}
.metal>*{position:relative;z-index:1}
.metal .row{display:flex;justify-content:space-between;align-items:flex-start}
.metal .brandline{display:flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.3em;font-weight:600;color:#F2F0EA;
  text-shadow:0 -1px 0 rgba(0,0,0,.5),0 1px 0 rgba(255,255,255,.12)}
.metal .brandline svg{width:30px;height:auto}
.metal .net{text-align:right;color:#F2F0EA;font-style:italic;font-weight:800;font-size:17px}
.metal .net small{display:block;font-style:normal;font-weight:600;font-size:8px;letter-spacing:.26em;color:#C9C5BB;margin-top:3px}
.metal .chip{width:44px;height:33px;border-radius:6px;background:linear-gradient(135deg,#EFDFAC,#C8A45E 55%,#96742F);box-shadow:0 1px 2px rgba(0,0,0,.4)}
.metal .pan{font-family:var(--mono);font-size:clamp(15px,2.4vw,19px);letter-spacing:.14em;color:#F2F0EA;
  text-shadow:0 -1px 0 rgba(0,0,0,.5),0 1px 0 rgba(255,255,255,.12)}
.metal .foot{display:flex;justify-content:space-between;font-size:9.5px;letter-spacing:.18em;color:#C9C5BB;margin-top:12px}

/* ── statement facsimile ─────────────────── */
.facsimile{background:#fff;color:#16120C;border-radius:4px;max-width:430px;
  box-shadow:0 22px 55px rgba(25,23,19,.18);border:1px solid var(--hair-l);padding:26px 26px 20px}
.plate--obsidian .facsimile{box-shadow:0 26px 60px rgba(0,0,0,.45);border:none}
.facsimile .fh{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid var(--gold);padding-bottom:10px}
.facsimile .fh svg{width:84px;height:auto}
.facsimile .fh span{font-size:8px;letter-spacing:.2em;color:#6E6659;text-align:right}
.facsimile table{width:100%;border-collapse:collapse;margin-top:12px;font-size:10.5px}
.facsimile td{padding:5px 0;border-bottom:1px solid rgba(0,0,0,.07)}
.facsimile td:last-child{text-align:right;font-family:var(--mono)}
.facsimile .total td{font-weight:700;border-bottom:none;font-size:11.5px}
.facsimile .qr{display:flex;gap:10px;align-items:center;margin-top:14px;padding-top:12px;border-top:1px solid rgba(0,0,0,.12)}
.facsimile .qr svg{width:44px;height:44px;flex:none}
.facsimile .qr p{font-size:8.5px;color:#6E6659;line-height:1.5}

/* ── timeline ───────────────────────────── */
.timeline{margin-top:52px;border-left:2px solid var(--hair);padding-left:clamp(24px,4vw,48px);display:grid;gap:clamp(40px,5vw,64px)}
.moment{position:relative}
.moment::before{content:"";position:absolute;left:calc(-1 * clamp(24px,4vw,48px) - 6px);top:14px;
  width:10px;height:10px;background:var(--gold);transform:rotate(45deg)}
.moment .year{font-family:var(--serif);font-size:clamp(36px,5vw,60px);font-weight:700;line-height:1;color:var(--strong)}
.moment h3{font-family:var(--serif);font-weight:700;font-size:20px;margin-top:10px;color:var(--strong)}
.moment p{color:var(--mute);max-width:58ch;margin-top:8px;font-size:15px}

/* ── process steps ──────────────────────── */
.steps{counter-reset:step;margin-top:44px;display:grid;gap:0;border-top:2px solid var(--strong)}
.step{display:grid;grid-template-columns:clamp(64px,8vw,100px) 1fr;gap:20px;padding:28px 0;border-bottom:1px solid var(--hair)}
.step::before{counter-increment:step;content:counter(step,upper-roman);
  font-family:var(--serif);font-size:clamp(24px,2.8vw,34px);color:var(--gold);line-height:1;font-weight:700}
.step h3{font-family:var(--serif);font-weight:700;font-size:20px;color:var(--strong)}
.step p{color:var(--mute);font-size:14.5px;margin-top:6px;max-width:60ch}

/* ── figures / fine print ────────────────── */
.figures{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:26px;margin-top:44px}
.figures .fig b{font-family:var(--serif);font-weight:700;font-size:clamp(24px,3vw,38px);display:block;font-variant-numeric:tabular-nums;color:var(--strong)}
.figures .fig span{color:var(--mute);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;display:block;margin-top:8px;font-weight:600}
.figures .fig a{border-bottom:1.5px solid var(--gold)}
.figures .fig a:hover{color:var(--gold)}

.fineprint{color:var(--mute);font-size:12px;line-height:1.8;max-width:76ch;margin-top:18px}

/* ── footer: the dense, real-bank end matter ── */
.footer{background:var(--obsidian);color:var(--cream);padding:56px 0 44px;
  --hair:var(--hair-d); --mute:var(--mute-d); --faint:var(--faint-d); --strong:var(--cream)}
.footer .cols{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:38px}
@media(max-width:860px){.footer .cols{grid-template-columns:1fr 1fr}}
@media(max-width:540px){.footer .cols{grid-template-columns:1fr}}
.footer h3{font-size:10.5px;letter-spacing:.3em;color:var(--gold-hi);text-transform:uppercase;margin-bottom:14px;font-weight:700}
.footer a{color:var(--mute-d);font-size:13.5px;display:block;padding:4px 0}
.footer a:hover{color:var(--cream)}
.footer .fine{color:var(--faint-d);font-size:11px;line-height:1.8;border-top:1px solid var(--hair-d);margin-top:40px;padding-top:22px}
.footer .legal{display:flex;gap:22px;flex-wrap:wrap;margin-top:16px;color:var(--mute-d);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase}
.footer .brand .word b{color:var(--cream)}

/* No scroll-reveal. A house chartered in 1807 does not fade in — and animating
   whole sections leaves them blank while you scroll past. `.reveal` stays in the
   markup as an inert hook. */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .metal{transform:none;transition:none}
  *{animation:none!important}
}

/* ════════════════════════════════════════════════════════════
   PART II — the depth layer: featured perspective, creed,
   numbered differentiators, standards row, metrics, personas,
   and a scroll-snap services carousel.
   ════════════════════════════════════════════════════════════ */

/* ── featured perspective (the top card) ─────────────── */
.featured{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:0;
  border:1px solid var(--hair);background:var(--card);border-radius:4px;overflow:hidden;
  box-shadow:0 20px 44px rgba(25,23,19,.07);margin-top:26px}
@media(max-width:860px){.featured{grid-template-columns:1fr}}
.featured .body{padding:clamp(28px,3.4vw,48px);display:flex;flex-direction:column;gap:14px;justify-content:center}
.featured .tag{font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);font-weight:700}
.featured h2{font-family:var(--serif);font-weight:700;font-size:clamp(24px,2.9vw,38px);line-height:1.14;color:var(--ink)}
.featured p{color:var(--mute-l);font-size:15px;max-width:52ch}
.featured .go{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--ink);
  border-bottom:2px solid var(--gold);align-self:flex-start;padding-bottom:3px;margin-top:4px}
.featured:hover .go{color:var(--gold)}
/* the plate: an engraved obsidian panel standing in for photography */
.featured .plateart{background:radial-gradient(130% 120% at 80% 0%, #26221B, var(--obsidian) 60%);
  min-height:280px;display:grid;place-items:center;position:relative;padding:34px}
.featured .plateart .rule{position:absolute;inset:22px;border:1px solid rgba(203,169,107,.22);border-radius:2px}
.featured .plateart .year{font-family:var(--serif);font-weight:700;color:var(--cream);
  font-size:clamp(46px,6vw,88px);line-height:1;font-variant-numeric:tabular-nums}
.featured .plateart .sub{position:absolute;bottom:26px;left:0;right:0;text-align:center;
  color:rgba(240,237,227,.42);font-size:9.5px;letter-spacing:.3em;text-transform:uppercase}

/* ── creed: one centered paragraph, set large ────────── */
.creed{text-align:center;max-width:26ch;margin:0 auto}
.creed p{font-family:var(--serif);font-weight:700;font-size:clamp(26px,3.6vw,46px);line-height:1.22;
  letter-spacing:-.01em;color:var(--ink);max-width:none}
.creed .after{font-family:var(--sans);font-weight:400;font-size:16px;line-height:1.7;color:var(--mute-l);
  max-width:52ch;margin:26px auto 0;letter-spacing:0}
.creed .mark{width:54px;height:auto;margin:0 auto 26px;display:block;opacity:.9}

/* ── numbered differentiators ────────────────────────── */
.tenets{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:0;margin-top:52px;
  border-top:1px solid var(--hair)}
.tenet{padding:34px 30px 34px 0;border-bottom:1px solid var(--hair);border-right:1px solid var(--hair);
  padding-right:30px;padding-left:0}
@media(min-width:861px){.tenet:nth-child(3n){border-right:none}}
@media(max-width:860px){.tenet{border-right:none}}
.tenet .n{font-family:var(--serif);font-weight:700;font-size:13px;color:var(--gold);
  font-variant-numeric:tabular-nums;display:block;margin-bottom:14px;letter-spacing:.08em}
.tenet h3{font-family:var(--serif);font-weight:700;font-size:20px;color:var(--ink);margin-bottom:9px;line-height:1.25}
.tenet p{color:var(--mute-l);font-size:14.5px;max-width:44ch}

/* ── standards row (regulatory facts, not fake press) ── */
.standards{display:flex;flex-wrap:wrap;gap:clamp(24px,4vw,64px);align-items:center;justify-content:space-between;
  padding:26px 0}
.standards .item{display:flex;align-items:baseline;gap:10px;color:var(--mute)}
.standards .item b{font-family:var(--serif);font-weight:700;color:var(--strong);font-size:17px;letter-spacing:.02em}
.standards .item span{font-size:10px;letter-spacing:.22em;text-transform:uppercase;font-weight:600}

/* ── metrics ─────────────────────────────────────────── */
.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1px;
  background:var(--hair);border:1px solid var(--hair);margin-top:48px}
.metric{background:var(--ground);padding:30px 24px}
.metric b{font-family:var(--serif);font-weight:700;font-size:clamp(28px,3.4vw,44px);display:block;
  font-variant-numeric:tabular-nums;color:var(--strong);line-height:1}
.metric span{color:var(--mute);font-size:10px;letter-spacing:.24em;text-transform:uppercase;
  display:block;margin-top:10px;font-weight:600}
.metric i{font-style:normal;display:block;color:var(--faint);font-size:12px;margin-top:6px}

/* ── personas ────────────────────────────────────────── */
.personas{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-top:46px}
.persona{border:1px solid var(--hair);background:var(--panel);border-radius:4px;overflow:hidden;
  display:flex;flex-direction:column;transition:border-color .16s,transform .16s}
.persona:hover{border-color:var(--gold);transform:translateY(-2px)}
.persona .cap{height:104px;background:linear-gradient(150deg,#2A251C,var(--obsidian));position:relative}
.persona .cap svg{position:absolute;left:22px;bottom:16px;width:38px;opacity:.95}
.persona .cap .no{position:absolute;right:20px;top:16px;color:rgba(240,237,227,.3);
  font-family:var(--serif);font-weight:700;font-size:15px;font-variant-numeric:tabular-nums}
.persona .txt{padding:24px 22px 26px}
.persona h3{font-family:var(--serif);font-weight:700;font-size:19px;color:var(--strong);margin-bottom:8px}
.persona p{color:var(--mute);font-size:14px}

/* ── services carousel (native scroll-snap) ──────────── */
.carousel{margin-top:44px}
.carousel .track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(280px,var(--slidew,38%));
  gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  padding-bottom:8px;scrollbar-width:none}
.carousel .track::-webkit-scrollbar{display:none}
@media(max-width:900px){.carousel .track{--slidew:80%}}
.slide{scroll-snap-align:start;border:1px solid var(--hair);background:var(--panel);border-radius:4px;
  padding:30px 28px 32px;display:flex;flex-direction:column;gap:12px;min-height:250px}
.slide .n{font-family:var(--serif);font-weight:700;color:var(--gold);font-size:13px;font-variant-numeric:tabular-nums}
.slide h3{font-family:var(--serif);font-weight:700;font-size:21px;color:var(--strong);line-height:1.22}
.slide p{color:var(--mute);font-size:14.5px;flex:1}
.slide .meta{color:var(--faint);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:600}
.carousel .rail{display:flex;align-items:center;gap:18px;margin-top:22px}
.carousel .counter{font-family:var(--serif);font-weight:700;font-variant-numeric:tabular-nums;
  color:var(--strong);font-size:15px;letter-spacing:.06em}
.carousel .counter em{font-style:normal;color:var(--faint)}
.carousel .bar{flex:1;height:2px;background:var(--hair);position:relative;overflow:hidden}
.carousel .bar i{position:absolute;inset:0 auto 0 0;background:var(--gold);width:0;transition:width .3s ease,left .3s ease}
.carousel .btns{display:flex;gap:8px}
.carousel button{width:42px;height:42px;border-radius:50%;border:1px solid var(--hair);background:transparent;
  color:var(--strong);cursor:pointer;display:grid;place-items:center;font-size:15px;transition:border-color .15s,background .15s}
.carousel button:hover:not(:disabled){border-color:var(--gold);color:var(--gold)}
.carousel button:disabled{opacity:.32;cursor:default}

/* ── stagger: only small elements, never whole sections ── */
@media (prefers-reduced-motion:no-preference){
  .js .lift{opacity:0;transform:translateY(10px)}
  .js .lift.in{opacity:1;transform:none;transition:opacity .5s ease,transform .5s ease}
}

/* ════════════════════════════════════════════════════════════
   PART III — component library: marquee, tabs, accordion,
   quote slider, team grid, CTA band, breadcrumb, article type.
   ════════════════════════════════════════════════════════════ */

/* ── marquee (continuous, pauses on hover, still on reduced motion) ── */
.marquee{overflow:hidden;position:relative;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee .lane{display:flex;gap:clamp(30px,5vw,80px);width:max-content;animation:slide 42s linear infinite}
.marquee:hover .lane{animation-play-state:paused}
.marquee .unit{display:flex;align-items:baseline;gap:10px;white-space:nowrap;color:var(--mute)}
.marquee .unit b{font-family:var(--serif);font-weight:700;color:var(--strong);font-size:clamp(15px,1.5vw,19px)}
.marquee .unit span{font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;font-weight:600}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.marquee .lane{animation:none;width:auto;flex-wrap:wrap;justify-content:center}}

/* ── tabs ────────────────────────────────────────────── */
.tabs{margin-top:44px}
.tablist{display:flex;gap:0;border-bottom:1px solid var(--hair);overflow-x:auto;scrollbar-width:none}
.tablist::-webkit-scrollbar{display:none}
.tablist button{background:none;border:none;cursor:pointer;font-family:inherit;white-space:nowrap;
  padding:16px 22px 14px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;
  color:var(--mute);border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s}
.tablist button:hover{color:var(--strong)}
.tablist button[aria-selected="true"]{color:var(--strong);border-bottom-color:var(--gold)}
.tabpanel{padding-top:36px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:clamp(28px,4vw,60px);align-items:start}
@media(max-width:820px){.tabpanel{grid-template-columns:1fr}}
.tabpanel[hidden]{display:none}
.tabpanel h3{font-family:var(--serif);font-weight:700;font-size:clamp(22px,2.6vw,32px);color:var(--strong);line-height:1.18}
.tabpanel p{color:var(--mute);margin-top:14px;max-width:56ch}
.tabpanel ul{list-style:none;margin-top:22px;display:grid;gap:11px}
.tabpanel li{color:var(--mute);font-size:14.5px;padding-left:20px;position:relative}
.tabpanel li::before{content:"";position:absolute;left:0;top:.6em;width:9px;height:1.5px;background:var(--gold)}
.tabfig{border:1px solid var(--hair);background:var(--panel);border-radius:4px;padding:26px 24px}
.tabfig dt{color:var(--faint);font-size:10px;letter-spacing:.22em;text-transform:uppercase;font-weight:600}
.tabfig dd{font-family:var(--serif);font-weight:700;font-size:26px;color:var(--strong);margin:6px 0 20px;
  font-variant-numeric:tabular-nums}
.tabfig dd:last-child{margin-bottom:0}

/* ── accordion (FAQ) ─────────────────────────────────── */
.accordion{margin-top:44px;border-top:1px solid var(--hair)}
.accordion details{border-bottom:1px solid var(--hair)}
.accordion summary{list-style:none;cursor:pointer;padding:24px 44px 24px 0;position:relative;
  font-family:var(--serif);font-weight:700;font-size:clamp(17px,1.8vw,21px);color:var(--strong)}
.accordion summary::-webkit-details-marker{display:none}
.accordion summary::after{content:"";position:absolute;right:8px;top:50%;width:12px;height:2px;background:var(--gold);
  transform:translateY(-50%)}
.accordion summary::before{content:"";position:absolute;right:13px;top:50%;width:2px;height:12px;background:var(--gold);
  transform:translateY(-50%);transition:opacity .18s,transform .18s}
.accordion details[open] summary::before{opacity:0;transform:translateY(-50%) rotate(90deg)}
.accordion summary:hover{color:var(--gold)}
.accordion .answer{color:var(--mute);font-size:15px;max-width:66ch;padding:0 0 26px}

/* ── quote slider ────────────────────────────────────── */
.quotes{margin-top:44px;position:relative}
.quote{display:none}
.quote[data-active]{display:block}
.quote blockquote{font-family:var(--serif);font-weight:700;font-size:clamp(21px,2.7vw,34px);line-height:1.32;
  color:var(--strong);max-width:24ch;letter-spacing:-.008em}
.quote .mark{font-size:clamp(40px,5vw,64px);color:var(--gold);line-height:.6;display:block;margin-bottom:14px;font-family:var(--serif)}
.quote figcaption{margin-top:22px;color:var(--mute);font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:600}
.quotes .dots{display:flex;gap:9px;margin-top:32px}
.quotes .dots button{width:9px;height:9px;border-radius:50%;border:1px solid var(--strong);background:transparent;
  cursor:pointer;padding:0;opacity:.32;transition:opacity .15s,background .15s}
.quotes .dots button[aria-current="true"]{opacity:1;background:var(--gold);border-color:var(--gold)}

/* ── team grid ───────────────────────────────────────── */
.team{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:22px;margin-top:46px}
.member{border:1px solid var(--hair);background:var(--panel);border-radius:4px;overflow:hidden}
.member .portrait{height:180px;background:linear-gradient(160deg,#2A251C,var(--obsidian));position:relative;display:grid;place-items:center}
.member .portrait .initials{font-family:var(--serif);font-weight:700;font-size:44px;color:rgba(240,237,227,.5);letter-spacing:.06em}
.member .portrait::after{content:"";position:absolute;inset:14px;border:1px solid rgba(203,169,107,.2)}
.member .txt{padding:20px 20px 24px}
.member h3{font-family:var(--serif);font-weight:700;font-size:18px;color:var(--strong)}
.member .role{color:var(--gold);font-size:10px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;margin-top:5px}
.member p{color:var(--mute);font-size:13.5px;margin-top:10px}

/* ── CTA band ────────────────────────────────────────── */
.ctaband{background:var(--obsidian);color:var(--cream);
  --hair:var(--hair-d);--mute:var(--mute-d);--faint:var(--faint-d);--strong:var(--cream);--accent:var(--gold-hi)}
.ctaband .inner{display:flex;gap:clamp(24px,4vw,60px);align-items:center;justify-content:space-between;flex-wrap:wrap;
  padding:clamp(44px,6vw,76px) 0}
.ctaband h2{font-family:var(--serif);font-weight:700;font-size:clamp(24px,3vw,40px);line-height:1.14;max-width:18ch}
.ctaband p{color:var(--mute-d);max-width:44ch;margin-top:12px}

/* ── breadcrumb ──────────────────────────────────────── */
.crumb{display:flex;gap:10px;align-items:center;color:var(--faint);font-size:11px;letter-spacing:.16em;
  text-transform:uppercase;font-weight:600;padding-top:26px}
.crumb a:hover{color:var(--gold)}
.crumb span{opacity:.5}

/* ── article typography ──────────────────────────────── */
.article{max-width:70ch;margin:0 auto}
.article .meta{color:var(--faint);font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:600}
.article h1{font-family:var(--serif);font-weight:700;font-size:clamp(30px,4.2vw,54px);line-height:1.1;
  letter-spacing:-.012em;margin-top:16px;text-wrap:balance}
.article .standfirst{font-family:var(--serif);font-size:clamp(18px,2vw,24px);line-height:1.45;color:var(--mute-l);
  margin-top:22px;font-weight:400}
.article .rule{height:1px;background:var(--hair);margin:38px 0}
.article p{margin-top:20px;font-size:17px;line-height:1.75;color:#2E2A22}
.article p:first-of-type::first-letter{font-family:var(--serif);font-weight:700;float:left;font-size:64px;
  line-height:.82;padding:4px 10px 0 0;color:var(--gold)}
.article h2{font-family:var(--serif);font-weight:700;font-size:clamp(21px,2.3vw,28px);margin-top:40px;color:var(--ink)}
.article blockquote{border-left:2px solid var(--gold);padding-left:22px;margin:32px 0;
  font-family:var(--serif);font-size:20px;line-height:1.45;color:var(--ink)}
.article .pull{font-family:var(--serif);font-weight:700;font-size:clamp(20px,2.4vw,29px);line-height:1.3;
  color:var(--ink);margin:36px 0;padding:26px 0;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.article .sig{margin-top:40px;color:var(--mute-l);font-size:13.5px}
.article .sig b{font-family:var(--serif);color:var(--ink);display:block;font-size:16px}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* count-up numerals shouldn't reflow as they tick */
.countup{font-variant-numeric:tabular-nums}
