/* BB2G house — business-card system (BRAND-KIT.md). Light by default, always.
   Dark only via html[data-theme="dark"] from a visible control. */
:root{
  --paper:#f1ece3; --paper-2:#f7f3ec; --panel:#fbf9f4;
  --ink:#0a0a0a; --ink-2:#3d382f; --ink-3:#6f6759;
  --gold:#a07020; --gold-mid:#c9a24a; --gold-hi:#f0d0a0; --gold-dk:#6f4d14;
  --metal:linear-gradient(180deg,#f0d0a0 0%,#d9b45e 30%,#a07020 64%,#7d5616 100%);
  --rule:rgba(160,112,32,.42); --rule-soft:rgba(160,112,32,.18);
  --red:#a82818;
  --good:#2e6b4f; --notice:#a07020; --warn:#b07818; --hot:#b8541c; --urgent:var(--red);
  --serif:"Didot","Bodoni 72","Bodoni MT","Playfair Display",Georgia,serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Helvetica,Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --wrap:1080px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);
  font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased}
img,video{max-width:100%;display:block}
a{color:var(--gold-dk);text-underline-offset:.18em}
a:hover{color:var(--ink)}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 22px}
h1,h2,h3{font-family:var(--serif);font-weight:700;line-height:1.12;letter-spacing:-.01em;margin:0 0 .5em}
h1{font-size:clamp(34px,6.2vw,60px)}
h2{font-size:clamp(26px,4vw,38px)}
h3{font-size:clamp(19px,2.4vw,23px)}
p{margin:0 0 1.05em;color:var(--ink-2)}
.lede{font-size:clamp(18px,2.2vw,21px);color:var(--ink-2)}
.label{font-family:var(--sans);font-size:11.5px;font-weight:700;text-transform:uppercase;
  letter-spacing:.26em;color:var(--gold-dk)}
.rule{height:1px;background:var(--rule);border:0;margin:0}
/* header — ivory, black Didot, gold hairline beneath. Never a coloured band. */
.site{position:sticky;top:0;z-index:60;background:rgba(241,236,227,.94);
  backdrop-filter:saturate(150%) blur(8px);border-bottom:1px solid var(--rule)}
.site .in{max-width:var(--wrap);margin:0 auto;padding:12px 22px;display:flex;gap:18px;align-items:center}
.site .bm{font-family:var(--serif);font-weight:700;font-size:19px;letter-spacing:.01em;
  text-decoration:none;color:var(--ink)}
.site .bm i{font-style:normal;background:var(--metal);-webkit-background-clip:text;background-clip:text;color:transparent}
.site nav{margin-left:auto;display:flex;gap:16px;flex-wrap:wrap}
.site nav a{font-size:13.5px;font-weight:600;text-decoration:none;color:var(--ink-2)}
.site nav a:hover,.site nav a[aria-current]{color:var(--gold-dk)}
/* square plates and buttons, radius 0 */
.btn{display:inline-block;padding:13px 26px;border:1px solid var(--ink);background:var(--ink);
  color:var(--gold-hi);font-weight:700;font-size:14.5px;letter-spacing:.06em;text-transform:uppercase;
  text-decoration:none;border-radius:0;cursor:pointer;font-family:var(--sans)}
.btn:hover{background:#000;color:#fff}
/* the full metal ramp bottoms out at #7d5616, where near-black ink is only
   2.9:1. Buttons use the LIGHT half of the ramp so the ink clears AA. */
.btn.alt{background:linear-gradient(180deg,#f7e2c0 0%,#eccf94 55%,#dcb96a 100%);color:#14100a;border-color:var(--gold-dk)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--rule)}
.card{background:var(--panel);border:1px solid var(--rule-soft);padding:22px;border-radius:0}
.grid{display:grid;gap:18px}
.g2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
section{padding:64px 0}
.foot{background:var(--paper-2);border-top:1px solid var(--rule);padding:40px 0;font-size:14px;color:var(--ink-3)}
.foot b{display:block;font-family:var(--serif);font-size:16px;color:var(--ink)}
/* status semantics — meaning, never decoration */
.tag{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  padding:3px 9px;border:1px solid currentColor}
.tag.good{color:var(--good)} .tag.notice{color:var(--notice)} .tag.warn{color:var(--warn)}
.tag.hot{color:var(--hot)} .tag.urgent{color:var(--urgent)}
.skip{position:absolute;left:-9999px}
.skip:focus{left:8px;top:8px;z-index:200;background:var(--ink);color:#fff;padding:10px 16px}
html[data-theme="dark"]{--paper:#14120e;--paper-2:#1a1713;--panel:#1f1b16;
  --ink:#f4efe6;--ink-2:#d6cfc2;--ink-3:#a29883;--rule:rgba(201,162,74,.38);--rule-soft:rgba(201,162,74,.16)}
html[data-theme="dark"] .site{background:rgba(20,18,14,.94)}
html[data-theme="dark"] .btn{background:var(--gold-hi);color:#14120e;border-color:var(--gold-hi)}
