/* ────────────────────────────────────────────────────────────────
   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:#8A8271;
  --mute-d:#A9A294; --faint-d:#7E786A;
  --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}
}
