/* ══════════════════════════════════════════════════════════════
   COINCRAFT — shared stylesheet for the four-page site
   Design system per branding/BRANDBOOK_HANDOFF_v1.0.md
   Bone/Ink/Vellum/Graphite + Assay Gold (certification only)
   ══════════════════════════════════════════════════════════════ */
:root{
  --bone:#F5F0E6;
  --vellum:#EAE2D3;
  --ink:#1B1A17;
  --graphite:#57534A;
  --gold:#A87F3D;
  --seal:#7A2E22;
  --rule:#CFC7B6;
  --serif:"Fraunces",Georgia,serif;
  --sans:"Inter",-apple-system,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--bone);
  color:var(--ink);
  font-family:var(--sans);
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
::selection{background:var(--vellum);color:var(--ink)}
a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

.wrap{max-width:1080px;margin:0 auto;padding:0 32px}
.col{max-width:720px}

/* ── type ─────────────────────────────── */
h1,h2,.display{font-family:var(--serif);font-weight:500;line-height:1.12;letter-spacing:-0.01em}
h1{font-size:clamp(2.5rem,5.6vw,4.1rem)}
h2{font-size:clamp(1.9rem,3.6vw,2.6rem);margin-bottom:.6em}
h3{font-family:var(--serif);font-size:1.45rem;font-weight:500;margin-bottom:.5em}
.kicker{
  font-family:var(--mono);font-size:.72rem;letter-spacing:.22em;
  text-transform:uppercase;color:var(--graphite);display:block;margin-bottom:1.6rem;
}
.lede{color:var(--graphite);font-size:1.1rem;max-width:56ch}
p+p{margin-top:1em}
a{color:inherit}
.body-copy p{color:var(--graphite)}
.body-copy p.emph{color:var(--ink)}
.chain{font-family:var(--mono);font-size:.86rem;letter-spacing:.06em;color:var(--ink);margin-top:1.4em}

/* ── mark ─────────────────────────────── */
.mark{display:inline-block;width:40px;height:40px;color:var(--ink)}
.mark svg{width:100%;height:100%}

/* ── nav ──────────────────────────────── */
nav{padding:34px 0}
nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none}
.brand span{font-family:var(--serif);font-size:1.15rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em}
.nav-links{display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.nav-links a{font-size:.92rem;color:var(--graphite);text-decoration:none;padding-bottom:2px;border-bottom:1px solid transparent}
.nav-links a:hover{color:var(--ink);border-color:var(--gold)}
.nav-links a.active{color:var(--ink);border-bottom:1px solid var(--rule)}

/* ── hero ─────────────────────────────── */
.hero{padding:9vh 0 10vh;border-bottom:1px solid var(--rule)}
.hero .lede{margin-top:1.6rem}
.hero p.plain{color:var(--graphite);max-width:56ch}
.hero .pillars{font-weight:500;color:var(--ink);margin-top:1.8rem;font-size:1.08rem}
.hero .one-mind{color:var(--graphite);margin-top:.4rem}
.hero-ctas{display:flex;align-items:center;gap:32px;margin-top:2.6rem;flex-wrap:wrap}
.btn-gold{
  display:inline-block;background:transparent;color:var(--ink);
  border:1px solid var(--gold);
  font-family:var(--serif);font-size:1.05rem;
  padding:14px 30px;text-decoration:none;
}
.btn-gold:hover{background:var(--gold);color:var(--bone)}
.link-quiet{font-family:var(--serif);font-size:1.02rem;text-decoration:none;border-bottom:1px solid var(--graphite);display:inline-block;padding:2px 0}
.link-quiet:hover{border-color:var(--gold)}

/* ── sections ─────────────────────────── */
section{padding:11vh 0}
.rule-after{border-bottom:1px solid var(--rule)}

/* ── proof strip (stats) ──────────────── */
.stats{border-bottom:1px solid var(--rule);padding:7vh 0}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px}
.stat{border-top:2px solid var(--ink);padding-top:20px}
.stat .n{font-family:var(--serif);font-weight:500;font-size:clamp(2.2rem,4vw,3.2rem);line-height:1}
.stat .l{font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--graphite);margin-top:12px;line-height:1.7}
.stats-cap{font-family:var(--mono);font-size:.74rem;color:var(--graphite);margin-top:3rem;letter-spacing:.02em}

.stats-grid.five{grid-template-columns:repeat(5,1fr)}

/* ── architecture layers ──────────────── */
.layers{margin-top:3rem;border-top:1px solid var(--rule);max-width:860px}
.layer{display:grid;grid-template-columns:200px 1fr;gap:32px;padding:24px 0;border-bottom:1px solid var(--rule)}
.layer .ll{font-family:var(--mono);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--graphite);padding-top:4px}
.layer p{font-size:.96rem;color:var(--graphite)}

/* ── claim boundary ───────────────────── */
.boundary{display:grid;grid-template-columns:1fr 1fr;gap:48px 64px;margin-top:3rem;max-width:860px}
.boundary .bl{font-family:var(--mono);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--graphite);margin-bottom:14px}
.boundary ul{list-style:none}
.boundary li{padding:10px 0;border-bottom:1px solid var(--rule);font-size:.95rem;color:var(--graphite)}
.boundary .is li::before{content:"✓  ";color:var(--gold);font-family:var(--mono)}
.boundary .not li::before{content:"—  ";color:var(--graphite);font-family:var(--mono)}

/* ── architecture plates ──────────────── */
.aplate{margin:2.6rem 0 0;max-width:860px}
.aplate img{width:100%;height:auto;display:block;border:1px solid var(--rule)}
.aplate .plate-cap{margin-top:.9rem}

/* ── live plates (click to open) ──────── */
.plate-live{
  display:block;width:100%;padding:0;margin:0;border:none;background:none;
  cursor:pointer;position:relative;text-align:left;
}
.plate-live img{transition:border-color .45s ease}
.plate-live:hover img,.plate-live:focus-visible img{border-color:var(--gold)}
.plate-live .live-chip{
  position:absolute;right:16px;bottom:16px;
  font-family:var(--mono);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;
  color:#D4B96A;background:rgba(8,6,4,.82);border:1px solid rgba(197,164,78,.35);
  padding:7px 13px;opacity:.72;
  transition:opacity .35s ease,border-color .35s ease;pointer-events:none;
}
.plate-live:hover .live-chip,.plate-live:focus-visible .live-chip{opacity:1;border-color:rgba(197,164,78,.7)}

/* ── plate lightbox ───────────────────── */
.plate-lb{
  position:fixed;inset:0;z-index:100;display:none;flex-direction:column;
  align-items:center;justify-content:center;padding:92px 40px 44px;
  background:rgba(10,9,6,.95);opacity:0;transition:opacity .3s ease;
}
.plate-lb.open{opacity:1}
.plate-lb-bar{
  position:absolute;top:0;left:0;right:0;display:flex;align-items:center;
  justify-content:space-between;padding:24px 32px;gap:16px;flex-wrap:wrap;
}
.plate-lb-title{font-family:var(--mono);font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:#A09880}
.plate-lb-actions{display:flex;align-items:center;gap:26px}
.plate-lb-actions a,.plate-lb-actions button{
  font-family:var(--mono);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;
  color:#D4B96A;background:none;border:none;cursor:pointer;text-decoration:none;
  border-bottom:1px solid rgba(197,164,78,.4);padding:0 0 3px;position:relative;
}
/* invisible tap-area extension — keeps the underline tight to the text
   while giving fingers a ~44px target */
.plate-lb-actions a::after,.plate-lb-actions button::after{
  content:"";position:absolute;inset:-14px -12px;
}
.plate-lb-actions a:hover,.plate-lb-actions button:hover{border-color:#D4B96A}
.plate-lb-stage{border:1px solid rgba(197,164,78,.35);background:#000;overflow:hidden;box-shadow:0 30px 90px rgba(0,0,0,.6)}
.plate-lb-stage iframe{display:block;border:none;transform-origin:0 0;background:#000}
body.plate-lb-open{overflow:hidden}

/* ── scroll reveals (JS-gated; reduced-motion safe) ── */
.rv{opacity:0;transform:translateY(14px);transition:opacity .65s ease,transform .65s ease}
.rv-in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}
@media print{
  .rv{opacity:1 !important;transform:none !important}
  .plate-lb{display:none !important}
  .plate-live .live-chip{display:none}
}
.thesis-note{
  border-left:2px solid var(--gold);padding:6px 0 6px 24px;margin:2.6rem 0 0;
  font-size:.92rem;color:var(--graphite);max-width:640px;
}

/* ── build record plate ───────────────── */
.record{border:1px solid var(--rule);background:var(--vellum);padding:22px 24px;margin:1.6rem 0;max-width:640px;
  font-family:var(--mono);font-size:.78rem;line-height:2;overflow-x:auto}
.record b{font-weight:500;color:var(--graphite);display:inline-block;min-width:110px;letter-spacing:.08em}

/* ── stanza (short ruled lines) ───────── */
.stanza{list-style:none;margin:2rem 0;max-width:640px}
.stanza li{padding:14px 0;border-bottom:1px solid var(--rule);color:var(--graphite)}
.stanza li:first-child{border-top:1px solid var(--rule)}

.pull{
  border-left:2px solid var(--gold);padding:6px 0 6px 24px;margin-top:2.4rem;
  font-family:var(--serif);font-size:1.12rem;line-height:1.5;max-width:620px;
}

/* ── before/now split plate ───────────── */
.split{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:3rem;max-width:820px;border-top:1px solid var(--rule)}
.split>div{padding:26px 32px 26px 0}
.split>div+div{border-left:1px solid var(--rule);padding-left:32px;padding-right:0}
.split .sl{font-family:var(--mono);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--graphite);margin-bottom:16px}
.split ul{list-style:none}
.split li{padding:7px 0;font-size:.92rem;color:var(--graphite)}
.split li.new{color:var(--ink)}
.split li.new::after{content:"  ·  added";font-family:var(--mono);font-size:.64rem;letter-spacing:.1em;color:var(--gold)}

/* ── lifecycle lines (handoff gap) ────── */
.lifeline{margin-top:3rem;max-width:820px}
.lifeline .row{margin-bottom:2.2rem}
.lifeline .rl{font-family:var(--mono);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--graphite);margin-bottom:14px}
.lifeline .steps{display:flex;align-items:center;flex-wrap:wrap;gap:0;font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}
.lifeline .steps span{color:var(--ink);white-space:nowrap;padding:4px 0}
.lifeline .steps i{flex:1;min-width:24px;height:1px;background:var(--graphite);margin:0 10px;position:relative}
.lifeline .broken i::after{
  content:"×";position:absolute;top:-11px;left:50%;transform:translateX(-50%);
  color:var(--seal);font-style:normal;font-size:.78rem;background:var(--bone);padding:0 4px;
}
.lifeline .whole i{background:var(--gold);height:2px}

/* ── process strip ────────────────────── */
.process{display:flex;align-items:center;flex-wrap:wrap;gap:0;margin:3rem 0 0;
  font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;
  border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:22px 0}
.process span{white-space:nowrap;padding:4px 0}
.process i{flex:1;min-width:20px;height:1px;background:var(--graphite);margin:0 12px}

/* ── capabilities ─────────────────────── */
.caps{display:grid;grid-template-columns:1fr 1fr;gap:48px 64px;margin-top:3.2rem}
.cap{border-top:2px solid var(--ink);padding-top:22px}
.cap p{font-size:.96rem;color:var(--graphite)}

/* ── flagship list ────────────────────── */
.flagship-list{list-style:none;margin:2rem 0;max-width:640px}
.flagship-list li{
  padding:11px 0;border-bottom:1px solid var(--rule);
  font-size:.96rem;color:var(--graphite);
}
.flagship-list li:first-child{border-top:1px solid var(--rule)}

/* ── artifact plates ──────────────────── */
.plate-cap{font-family:var(--mono);font-size:.72rem;color:var(--graphite);margin-top:.75rem;margin-bottom:1rem}
.ledger{border:1px solid var(--rule);background:var(--vellum);padding:22px;margin:1.6rem 0;overflow-x:auto;max-width:640px}
.ledger table{width:100%;border-collapse:collapse;font-family:var(--mono);font-size:.78rem}
.ledger th{text-align:left;color:var(--graphite);font-weight:500;letter-spacing:.12em;padding-bottom:10px;border-bottom:1px solid var(--rule)}
.ledger td{padding:9px 0;border-bottom:1px solid var(--rule)}
.ledger tr:last-child td{border-bottom:none}
.ledger .closed{color:var(--gold)}
.redact{display:inline-block;background:var(--ink);height:.72em;vertical-align:baseline}
.term{
  background:var(--ink);color:var(--bone);padding:22px 24px;margin:1.6rem 0;
  font-family:var(--mono);font-size:.72rem;line-height:1.8;overflow-x:auto;white-space:pre;max-width:640px;
}
.term .pass{color:var(--gold)}

/* topology plate */
.topo{border:1px solid var(--rule);background:var(--vellum);padding:28px;margin:1.6rem 0;max-width:640px}
.topo svg{width:100%;height:auto;display:block}

/* screenshot placeholder plate */
.plate-todo{
  border:1px solid var(--rule);background:var(--vellum);max-width:640px;margin:1.6rem 0;
  aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;
  font-family:var(--mono);font-size:.7rem;letter-spacing:.15em;color:var(--graphite);
}

/* ── decision strip (judgment) ────────── */
.decision{display:flex;align-items:center;flex-wrap:wrap;gap:0;margin-top:2.6rem;max-width:720px;
  font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;
  border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:22px 0}
.decision span{white-space:nowrap;padding:4px 0;color:var(--graphite)}
.decision span.final{color:var(--ink);border-bottom:2px solid var(--gold);padding-bottom:2px}
.decision i{flex:1;min-width:20px;height:1px;background:var(--graphite);margin:0 12px}

/* ── doors ────────────────────────────── */
.doors{display:grid;grid-template-columns:1fr 1fr;gap:48px 64px;margin-top:3.2rem}
.door{border-top:2px solid var(--ink);padding-top:24px}
.door .dl{font-family:var(--mono);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--graphite);margin-bottom:16px}
.door p{font-size:.96rem;color:var(--graphite)}
.door .for{font-size:.88rem;color:var(--graphite);margin-top:1.2em;font-style:italic}
.doors-cta{margin-top:3rem}

/* ── engagement doors (engagements page) ── */
.door-lede{font-family:var(--serif);font-size:1.3rem;color:var(--ink);margin-top:.2rem;max-width:56ch}
.door-grid{display:grid;grid-template-columns:5fr 7fr;gap:48px 72px;margin-top:3rem;max-width:960px}
.subl{font-family:var(--mono);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--graphite);margin:0 0 16px}
.subl+ .subl,.tick+ .subl,p+ .subl{margin-top:2.4rem}
.tick{list-style:none}
.tick li{padding:9px 0;border-bottom:1px solid var(--rule);font-size:.93rem;color:var(--graphite)}
.tick li:first-child{border-top:1px solid var(--rule)}
.leads{
  border-left:2px solid var(--gold);padding:6px 0 6px 24px;margin-top:3rem;
  font-size:.95rem;color:var(--graphite);max-width:640px;
}
.leads b{color:var(--ink);font-weight:500}

/* ── artifact stack plate ─────────────── */
.stack{border:1px solid var(--rule);background:var(--vellum);max-width:400px;margin:2.6rem 0 0;
  font-family:var(--mono);font-size:.72rem;letter-spacing:.22em}
.stack div{padding:13px 22px;border-bottom:1px solid var(--rule);color:var(--graphite)}
.stack div:last-child{border-bottom:none;color:var(--ink)}

/* ── receive checklist ────────────────── */
.check{list-style:none;margin:2.4rem 0 0;columns:2;column-gap:64px;max-width:820px}
.check li{padding:12px 0;border-bottom:1px solid var(--rule);font-size:.98rem;break-inside:avoid;color:var(--graphite)}
.check li::before{content:"✓  ";color:var(--graphite);font-family:var(--mono)}

/* ── about ────────────────────────────── */
.about{display:grid;grid-template-columns:280px 1fr;gap:64px;align-items:start;margin-top:3.2rem}
.portrait{
  aspect-ratio:4/5;background:var(--vellum);border:1px solid var(--rule);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--mono);font-size:.7rem;letter-spacing:.15em;color:var(--graphite);
}
.about-text p{color:var(--graphite)}
.about-text .first{color:var(--ink);font-size:1.05rem}

/* ── contact ──────────────────────────── */
.contact .email{
  font-family:var(--serif);font-size:clamp(1.5rem,3.4vw,2.2rem);
  text-decoration:none;border-bottom:2px solid var(--gold);padding-bottom:4px;
}
.contact p{color:var(--graphite);margin-top:1.6rem}
.four-things{margin:2rem 0;max-width:640px;counter-reset:ft;list-style:none}
.four-things li{
  padding:13px 0;border-bottom:1px solid var(--rule);color:var(--graphite);
  counter-increment:ft;
}
.four-things li:first-child{border-top:1px solid var(--rule)}
.four-things li::before{
  content:counter(ft,decimal-leading-zero)"  ";
  font-family:var(--mono);font-size:.78rem;color:var(--graphite);letter-spacing:.1em;
}
.four-things b{color:var(--ink);font-weight:500}

/* ── diligence: plate grid + dossier panel ── */
.plate-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px 48px;margin-top:3.2rem}
.plate-grid .plate-cap{margin-bottom:0}
.dossier-plate{
  background:var(--ink);color:var(--bone);border:1px solid var(--gold);
  padding:44px 48px;margin-top:3rem;max-width:720px;
}
.dossier-plate .dl{font-family:var(--mono);font-size:.64rem;letter-spacing:.24em;text-transform:uppercase;color:#A09880;margin-bottom:1.4rem}
.dossier-plate h3{color:var(--bone);margin-bottom:.8rem}
.dossier-plate p{color:#A09880;font-size:.95rem}
.dossier-plate .btn-gold{color:var(--bone);margin-top:2rem}
.dossier-plate .btn-gold:hover{color:var(--ink);background:var(--gold)}

/* ── footer ───────────────────────────── */
footer{border-top:1px solid var(--rule);padding:48px 0 64px;margin-top:6vh}
footer .wrap{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:24px}
footer .mark{width:34px;height:49px;color:var(--graphite)}
footer p{font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;color:var(--graphite);text-align:right}
footer p a{text-decoration:none;display:inline-block;padding:6px 0}

@media(max-width:820px){
  .caps,.doors,.boundary,.door-grid,.plate-grid{grid-template-columns:1fr;gap:40px}
  .dossier-plate{padding:34px 28px}
  .stats-grid.five{grid-template-columns:1fr 1fr}
  .layer{grid-template-columns:1fr;gap:10px}
  .about{grid-template-columns:1fr}
  .portrait{max-width:280px}
  .check{columns:1}
  .stats-grid{grid-template-columns:1fr 1fr;gap:32px}
  .split{grid-template-columns:1fr}
  .split>div+div{border-left:none;border-top:1px solid var(--rule);padding-left:0;padding-top:26px}
  .split>div{padding-right:0}
}
@media(max-width:480px){
  .wrap{padding:0 20px}
  nav .wrap{flex-wrap:wrap;gap:14px}
  .stats-grid{grid-template-columns:1fr 1fr;gap:28px}
  .lifeline .steps,.process,.decision{font-size:.62rem}
  .plate-cap{font-size:.78rem;line-height:1.65}
}
