:root{
  --ink:#101C2E;          /* deep institutional ink navy */
  --ink-2:#16283F;        /* section navy */
  --paper:#F1F1EC;        /* cool archival paper (not warm cream) */
  --paper-2:#E9E9E2;      /* slightly deeper paper */
  --brass:#957640;        /* restrained brass accent */
  --brass-lt:#C4A567;
  --brass-tx:#7A5F2E;      /* brass for small text on paper (meets 4.5:1) */
  --slate:#586573;        /* secondary text */
  --slate-lt:#8A94A0;
  --line:rgba(16,28,46,.14);
  --line-dk:rgba(241,241,236,.16);
  --maxw:1160px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--paper);color:var(--ink);
  font-family:"IBM Plex Sans",system-ui,sans-serif;
  font-weight:400;line-height:1.6;-webkit-font-smoothing:antialiased;
  font-size:17px;overflow-x:hidden;
}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px}
h1,h2,h3,.serif{font-family:"Libre Caslon Display",Georgia,serif;font-weight:400;letter-spacing:-.01em}
.mono{font-family:"IBM Plex Mono",monospace}
.eyebrow{
  font-family:"IBM Plex Mono",monospace;font-size:12px;font-weight:500;
  letter-spacing:.24em;text-transform:uppercase;color:var(--brass-tx);
}
a{color:inherit}
::selection{background:var(--brass);color:var(--paper)}

/* ---------- top bar ---------- */
header{position:sticky;top:0;z-index:50;background:rgba(241,241,236,.86);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;height:66px}
/* Contour lockup: the kit's SVG as a file, never recoloured. Its canvas carries its own clear space
   (the O starts 172 of 700 units in); the negative margin lines the O up with the page column. */
.mark{display:block;line-height:0}
.mark img{display:block;height:64px;width:auto;margin-left:calc(64px * -172 / 700)}
nav.links{display:flex;gap:34px;align-items:center}
nav.links a{font-size:13.5px;color:var(--slate);text-decoration:none;letter-spacing:.02em;transition:color .2s}
nav.links a:hover{color:var(--ink)}
.navcta{border:1px solid var(--ink);padding:9px 17px;border-radius:2px;color:var(--ink)!important;font-size:13px;letter-spacing:.03em;transition:all .2s}
.navcta:hover{background:var(--ink);color:var(--paper)!important}
@media(max-width:760px){nav.links a:not(.navcta){display:none}}
@media(max-width:760px){.mark img{height:56px;margin-left:calc(56px * -172 / 700)}}  /* mark ~35px tall: above the kit's 32px floor */

/* ---------- continuity spine ---------- */
.spine{position:fixed;left:38px;top:0;bottom:0;width:1px;
  background:var(--line);z-index:1;pointer-events:none}
.spine::before{content:"";position:absolute;top:0;left:0;width:1px;height:var(--spine,0%);
  background:linear-gradient(var(--brass),var(--brass-lt));transition:height .1s linear}
/* only render when the gutter is guaranteed wide — spine can never reach content */
@media(max-width:1400px){.spine{display:none}}

/* ---------- hero ---------- */
.hero{padding:120px 0 96px;position:relative}
.hero .eyebrow{display:block;margin-bottom:30px}
.hero h1{font-size:clamp(38px,6.4vw,74px);line-height:1.04;max-width:15ch;margin-bottom:34px}
.hero h1 em{font-style:italic;color:var(--brass)}
.lede{font-size:clamp(18px,2.2vw,22px);color:var(--slate);max-width:56ch;line-height:1.5;font-weight:300}
.lede b{color:var(--ink);font-weight:500}
.herocta{margin-top:46px;display:flex;gap:18px;flex-wrap:wrap}
.btn{display:inline-block;padding:15px 28px;border-radius:2px;font-size:14.5px;letter-spacing:.03em;
  text-decoration:none;transition:all .2s;cursor:pointer;border:1px solid transparent}
.btn-primary{background:var(--ink);color:var(--paper)}
.btn-primary:hover{background:var(--brass)}
.btn-ghost{border-color:var(--line);color:var(--ink)}
.btn-ghost:hover{border-color:var(--ink)}

.defn{margin-top:80px;border-top:1px solid var(--line);padding-top:26px;
  display:grid;grid-template-columns:180px 1fr;gap:40px;max-width:860px}
.defn .label{font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--slate);padding-top:5px}
.defn .body{font-size:19px;line-height:1.55;color:var(--ink)}
@media(max-width:640px){.defn{grid-template-columns:1fr;gap:12px}}

/* ---------- section frame ---------- */
section{position:relative}
.sec{padding-top:96px;padding-bottom:96px}
.sec-head{display:flex;align-items:baseline;gap:22px;margin-bottom:52px}
.sec-num{font-family:"IBM Plex Mono",monospace;font-size:13px;color:var(--brass-tx);letter-spacing:.1em;padding-top:8px}
.sec-title{font-size:clamp(28px,3.8vw,42px);line-height:1.1;max-width:20ch}
.sec-intro{font-size:19px;color:var(--slate);max-width:60ch;font-weight:300;line-height:1.55}

/* dark sections */
.dark{background:var(--ink);color:var(--paper)}
.dark .sec-title{color:var(--paper)}
.dark .sec-intro{color:#B9C2CD}
.dark .eyebrow{color:var(--brass-lt)}

/* ---------- problem ---------- */
.prob-quote{font-family:"Libre Caslon Display",serif;font-size:clamp(24px,3.4vw,36px);
  line-height:1.32;max-width:22ch;margin:0 0 40px;font-style:italic}
.prob-quote .hl{color:var(--brass-lt);font-style:normal}
.prob-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line-dk);
  border:1px solid var(--line-dk);margin-top:8px}
.prob-cell{background:var(--ink);padding:34px 30px}
.prob-cell .n{font-family:"IBM Plex Mono",monospace;font-size:12px;color:var(--brass-lt);letter-spacing:.14em}
.prob-cell p{margin-top:14px;color:#C6CED8;font-size:16.5px;line-height:1.55}
@media(max-width:720px){.prob-grid{grid-template-columns:1fr}}

/* ---------- components (Index/Charter/Ledger) ---------- */
.comp{border-top:1px solid var(--line);padding:38px 0;display:grid;
  grid-template-columns:220px 1fr;gap:48px;align-items:start}
.comp:last-child{border-bottom:1px solid var(--line)}
.comp .name{font-family:"Libre Caslon Display",serif;font-size:30px}
.comp .role{font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--brass-tx);margin-top:8px}
.comp .desc{font-size:17.5px;color:var(--slate);line-height:1.6;max-width:56ch}
.comp .desc b{color:var(--ink);font-weight:500}
@media(max-width:720px){.comp{grid-template-columns:1fr;gap:14px}}

/* ---------- doors (sequence) ---------- */
.doors{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line)}
.door{background:var(--paper);padding:36px 30px;position:relative;display:flex;flex-direction:column}
.door .step{font-family:"IBM Plex Mono",monospace;font-size:12px;color:var(--brass-tx);letter-spacing:.12em}
.door h3{font-size:22px;margin:16px 0 12px;line-height:1.2}
.door p{font-size:15.5px;color:var(--slate);line-height:1.55;margin-bottom:18px}
.door .moat{margin-top:auto;font-family:"IBM Plex Mono",monospace;font-size:11.5px;
  letter-spacing:.06em;color:var(--slate);text-transform:uppercase;border-top:1px solid var(--line);padding-top:14px}
@media(max-width:720px){.doors{grid-template-columns:1fr}}

/* ---------- infrastructure lineage ---------- */
.lineage{padding:98px 0}
.lineage .lin-head{max-width:60ch;margin-bottom:52px}
.lin-row{display:grid;grid-template-columns:40px 1fr;gap:26px;padding:26px 0;border-top:1px solid var(--line);position:relative}
.lin-row:first-of-type{border-top:1px solid var(--line)}
.lin-tick{position:relative;padding-top:9px}
.lin-tick .dot{width:9px;height:9px;border-radius:50%;background:var(--slate-lt);display:block}
.lin-row.now .lin-tick .dot{background:var(--brass);box-shadow:0 0 0 5px rgba(169,136,78,.14)}
/* connecting thread through the ticks */
.lin-row::after{content:"";position:absolute;left:19px;top:35px;bottom:-1px;width:1px;background:var(--line)}
.lin-row:last-child::after{display:none}
.lin-name{font-family:"Libre Caslon Display",serif;font-size:clamp(21px,2.6vw,28px);line-height:1.15}
.lin-row.now .lin-name{color:var(--ink)}
.lin-row:not(.now) .lin-name{color:var(--slate)}
.lin-mech{color:var(--slate);font-size:16px;margin-top:8px;max-width:60ch;line-height:1.55}
.lin-now-tag{display:inline-block;font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--brass-tx);border:1px solid var(--brass-tx);border-radius:2px;padding:3px 9px;margin-left:14px;vertical-align:middle}
.lin-close{margin-top:44px;font-family:"Libre Caslon Display",serif;font-size:clamp(22px,3vw,30px);line-height:1.3;max-width:26ch}
.lin-close em{font-style:italic;color:var(--brass-tx)}
@media(max-width:640px){.lin-row{grid-template-columns:24px 1fr;gap:16px}.lin-row::after{left:11px}}

/* ---------- becomes / compounding over time ---------- */
.becomes{padding:100px 0;text-align:center}
.becomes .lead{font-family:"Libre Caslon Display",serif;font-size:clamp(26px,3.6vw,40px);line-height:1.2;max-width:20ch;margin:0 auto}
.becomes .lead em{font-style:italic;color:var(--brass)}
.tl{position:relative;display:grid;grid-template-columns:repeat(4,1fr);max-width:880px;margin:64px auto 0}
.tl::before{content:"";position:absolute;top:3px;left:11%;right:11%;height:1px;background:var(--line)}
.tl .pt{position:relative;padding-top:30px;text-align:center;padding-left:8px;padding-right:8px}
.tl .pt::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:7px;height:7px;border-radius:50%;background:var(--brass)}
.tl .pt .lab{font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.1em;color:var(--slate);text-transform:uppercase}
.tl .pt.final::before{width:9px;height:9px;top:-1px}
.tl .pt.final .lab{font-family:"Libre Caslon Display",serif;font-style:italic;font-size:16.5px;letter-spacing:0;color:var(--ink);text-transform:none}
.moatline{margin:80px auto 0;max-width:24ch;font-family:"Libre Caslon Display",serif;font-size:clamp(24px,3.4vw,36px);line-height:1.25;color:var(--ink)}
.moatline em{font-style:italic;color:var(--brass)}
@media(max-width:640px){.tl{grid-template-columns:1fr;gap:22px;max-width:300px}.tl::before{display:none}.tl .pt{padding-top:22px}}

/* ---------- strategic position band ---------- */
.position{background:var(--ink);color:var(--paper);padding:110px 0;text-align:center}
.position .stmt{font-family:"Libre Caslon Display",serif;font-size:clamp(34px,6vw,72px);line-height:1.1;max-width:15ch;margin:0 auto}
.position .stmt .hl{color:var(--brass-lt)}
.position .sub{color:#B9C2CD;max-width:46ch;margin:28px auto 0;font-weight:300;font-size:18px}

/* ---------- ontop strip ---------- */
.ontop{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.ontop .keeps{list-style:none}
.ontop .keeps li{padding:13px 0;border-bottom:1px solid var(--line-dk);font-size:16px;color:#C6CED8;
  display:flex;gap:14px;align-items:baseline}
.ontop .keeps li::before{content:"›";color:var(--brass-lt);font-family:"IBM Plex Mono",monospace}
@media(max-width:720px){.ontop{grid-template-columns:1fr;gap:32px}}

/* ---------- whitepaper CTA band ---------- */
.wpcta{background:var(--paper-2);padding:80px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.wpcta .inner{display:flex;justify-content:space-between;align-items:center;gap:40px;flex-wrap:wrap}
.wpcta h2{font-size:clamp(26px,3.4vw,38px);max-width:16ch;line-height:1.12}
.wpcta p{color:var(--slate);margin-top:14px;max-width:44ch;font-weight:300}

/* ---------- white paper ---------- */
.paper-sec{background:var(--paper);padding:110px 0 60px}
.paper-doc{max-width:720px;margin:0 auto}
.paper-doc .eyebrow{display:block;text-align:center;margin-bottom:22px}
.paper-doc h2.wptitle{font-size:clamp(32px,5vw,52px);line-height:1.08;text-align:center;margin-bottom:20px}
.paper-doc .sub{text-align:center;color:var(--slate);font-size:19px;font-weight:300;
  max-width:52ch;margin:0 auto 20px;line-height:1.5}
.paper-doc .meta{text-align:center;font-family:"IBM Plex Mono",monospace;font-size:12px;
  color:var(--slate);letter-spacing:.1em;margin-bottom:56px}
.paper-doc .rule{height:1px;background:var(--line);margin:0 auto 56px;max-width:120px}
.paper-doc h3{font-family:"Libre Caslon Display",serif;font-size:27px;margin:52px 0 18px;line-height:1.2}
.paper-doc h3 .hn{font-family:"IBM Plex Mono",monospace;font-size:13px;color:var(--brass-tx);
  display:block;letter-spacing:.14em;margin-bottom:8px}
.paper-doc p{font-size:18px;line-height:1.72;color:#28323F;margin-bottom:22px}
.paper-doc p b{font-weight:600;color:var(--ink)}
.paper-doc .pull{font-family:"Libre Caslon Display",serif;font-style:italic;font-size:23px;
  line-height:1.44;color:var(--ink);border-left:2px solid var(--brass);padding:6px 0 6px 28px;margin:36px 0}
.paper-doc .disc{margin-top:60px;padding-top:26px;border-top:1px solid var(--line);
  font-size:13.5px;color:var(--slate);line-height:1.6}

/* ---------- founding paper artifact ---------- */
.paper-artifact{display:grid;grid-template-columns:300px 1fr;gap:64px;align-items:center}
.pa-cover{background:var(--ink);color:var(--paper);padding:44px 30px 34px;border-radius:2px;
  box-shadow:0 18px 46px rgba(16,28,46,.22);position:relative;min-height:400px;
  display:flex;flex-direction:column}
.pa-cover::after{content:"";position:absolute;left:10px;top:0;bottom:0;width:1px;background:rgba(196,165,103,.4)}
.pa-mark{color:var(--brass-lt);font-size:20px;margin-bottom:26px}
.pa-brand{font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.3em;color:#B9C2CD;margin-bottom:auto}
.pa-title{font-family:"Libre Caslon Display",serif;font-size:25px;line-height:1.22;margin-bottom:20px}
.pa-ed{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.16em;color:var(--brass-lt)}
@media(max-width:820px){.paper-artifact{grid-template-columns:1fr;gap:38px}.pa-cover{max-width:280px;min-height:330px}}

/* ---------- founding organizations ---------- */
.founding{background:var(--ink);color:var(--paper);padding:104px 0}
.fo-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start}
.fo-title{font-family:"Libre Caslon Display",serif;font-size:clamp(28px,3.8vw,44px);line-height:1.14;max-width:16ch;color:var(--paper)}
.fo-sub{color:#B9C2CD;font-weight:300;font-size:17.5px;line-height:1.6;margin-top:22px;max-width:44ch}
.fo-alt{margin-top:26px;font-size:15px;color:#8A94A0}
.fo-alt a{color:var(--brass-lt);border-bottom:1px solid rgba(196,165,103,.45);text-decoration:none}
.fo-lab{display:block;font-family:"IBM Plex Mono",monospace;font-size:11.5px;letter-spacing:.14em;
  text-transform:uppercase;color:#8A94A0;margin-bottom:18px}
.fo-lab .opt{text-transform:none;letter-spacing:0;font-family:"IBM Plex Sans",sans-serif}
.fo-in{display:block;width:100%;margin-top:8px;background:rgba(241,241,236,.05);
  border:1px solid rgba(241,241,236,.18);border-radius:2px;padding:12px 14px;
  color:var(--paper);font-family:"IBM Plex Sans",sans-serif;font-size:16px;transition:border-color .2s}
.fo-in:focus{outline:none;border-color:var(--brass)}
.fo-btn{width:100%;background:#A9884E;color:var(--ink);font-weight:500;border:none;margin-top:6px}
.fo-btn:hover{background:var(--brass-lt)}
.fo-consent{display:flex;gap:11px;align-items:flex-start;margin:-2px 0 20px;
  font-family:"IBM Plex Sans",sans-serif;font-size:13px;line-height:1.5;
  color:#8A94A0;text-transform:none;letter-spacing:0;cursor:pointer}
.fo-consent input[type="checkbox"]{flex:0 0 auto;margin-top:2px;width:16px;height:16px;
  accent-color:var(--brass);cursor:pointer}
.fo-consent a{color:var(--brass-lt);text-decoration:underline;text-underline-offset:2px}
.fo-fine{margin-top:14px;font-size:13px;color:#8A94A0;text-align:center}
.fo-fine a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.fo-error{display:none;margin-top:14px;font-size:13.5px;color:#E8A87C;text-align:center;line-height:1.5}
.fo-error.show{display:block}
.fo-error a{color:var(--brass-lt)}
.fo-btn[disabled]{opacity:.6;cursor:default}
.fo-success{display:none;text-align:center;padding:60px 20px;border:1px solid rgba(196,165,103,.3);border-radius:2px}
.fo-success.show{display:block}
.fo-check{width:44px;height:44px;border-radius:50%;border:1px solid var(--brass-lt);color:var(--brass-lt);
  display:flex;align-items:center;justify-content:center;margin:0 auto 20px;font-size:19px}
.fo-success-title{font-family:"Libre Caslon Display",serif;font-size:24px;color:var(--paper)}
.fo-success-body{color:#B9C2CD;margin-top:10px;font-size:15px;font-weight:300}
.hp{position:absolute;left:-9999px}
@media(max-width:820px){.fo-grid{grid-template-columns:1fr;gap:44px}}

/* ---------- footer ---------- */
footer{background:var(--ink);color:var(--paper);padding:76px 0 40px}
.foot-top{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;
  border-bottom:1px solid var(--line-dk);padding-bottom:44px}
.foot-mark img{display:block;height:84px;width:auto;margin-left:calc(84px * -172 / 700)}
.foot-tag{color:#8A94A0;max-width:34ch;margin-top:14px;font-size:15px;font-weight:300}
.foot-contact{text-align:right}
.foot-contact a{color:var(--paper);text-decoration:none;font-size:16px;border-bottom:1px solid var(--brass)}
.foot-contact .small{display:block;color:#8A94A0;font-size:13px;margin-top:10px}
.foot-bottom{padding-top:28px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
  font-size:12.5px;color:#8A94A0;line-height:1.6}
.foot-bottom .disc{max-width:60ch}
@media(max-width:640px){.foot-contact{text-align:left}}

/* reveal */
/* content is visible by default; it only animates in when the script has loaded */
.js .rv{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.js .rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  .js .rv{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
  .spine::before{transition:none}
}
a:focus-visible,.btn:focus-visible{outline:2px solid var(--brass);outline-offset:3px}

/* ================= v2 additions ================= */

/* ---------- proof strip ---------- */
.proof{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper-2)}
.proof ul{list-style:none;display:grid;grid-template-columns:repeat(4,1fr)}
.proof li{padding:22px 24px;font-family:"IBM Plex Mono",monospace;font-size:11.5px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--slate);border-left:1px solid var(--line);line-height:1.5}
.proof li:first-child{border-left:none;padding-left:0}
.proof li b{display:block;color:var(--brass-tx);font-weight:500;margin-bottom:6px}
@media(max-width:860px){.proof ul{grid-template-columns:1fr 1fr}.proof li{border-left:none;padding-left:0;border-top:1px solid var(--line)}
  .proof li:nth-child(-n+2){border-top:none}}
@media(max-width:520px){.proof ul{grid-template-columns:1fr}.proof li:nth-child(2){border-top:1px solid var(--line)}}

/* ---------- capability cards ---------- */
.caps{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
.cap{background:var(--paper);padding:40px 36px 34px;display:flex;flex-direction:column}
.cap .name{font-family:"Libre Caslon Display",serif;font-size:30px;line-height:1.1}
.cap .role{font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--brass-tx);margin:10px 0 18px}
.cap .desc{font-size:16.5px;color:var(--slate);line-height:1.6}
.cap .desc b{color:var(--ink);font-weight:500}
.cap .out{margin-top:auto;padding-top:22px}
.cap .out span{display:block;border-top:1px solid var(--line);padding-top:14px;font-family:"IBM Plex Mono",monospace;
  font-size:11.5px;letter-spacing:.06em;color:var(--slate);text-transform:uppercase}
@media(max-width:760px){.caps{grid-template-columns:1fr}}

/* ---------- portfolio structure ---------- */
.pf{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:start}
.pf-pts{list-style:none;margin-top:34px}
.pf-pts li{padding:20px 0;border-top:1px solid var(--line-dk)}
.pf-pts li b{display:block;font-family:"Libre Caslon Display",serif;font-weight:400;font-size:21px;color:var(--paper);margin-bottom:6px}
.pf-pts li span{color:#B9C2CD;font-size:15.5px;line-height:1.55;font-weight:300}
.pf-map{border:1px solid var(--line-dk);padding:34px 28px 30px;position:relative}
.pf-node{border:1px solid rgba(196,165,103,.55);padding:16px 18px;text-align:center}
.pf-node .t{font-family:"Libre Caslon Display",serif;font-size:20px;color:var(--paper)}
.pf-node .s{font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--brass-lt);margin-top:5px}
.pf-stem{width:1px;height:30px;background:rgba(196,165,103,.55);margin:0 auto}
.pf-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;position:relative;padding-top:30px}
.pf-row::before{content:"";position:absolute;top:0;left:16.6%;right:16.6%;height:1px;background:rgba(196,165,103,.55)}
.pf-plat{border:1px solid var(--line-dk);padding:14px 10px 12px;text-align:center;position:relative;background:rgba(241,241,236,.03)}
.pf-plat::before{content:"";position:absolute;top:-30px;left:50%;width:1px;height:30px;background:rgba(196,165,103,.55)}
.pf-plat .t{font-size:14px;color:var(--paper)}
.pf-plat .s{font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#8A94A0;margin-top:6px}
.pf-wall{margin-top:22px;font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  color:#8A94A0;text-align:center;border-top:1px dashed var(--line-dk);padding-top:16px}
.pf-cp{margin-top:18px;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.pf-cp span{font-size:12.5px;color:#C6CED8;border:1px solid var(--line-dk);border-radius:20px;padding:4px 12px}
@media(max-width:880px){.pf{grid-template-columns:1fr;gap:44px}}
@media(max-width:420px){.pf-row{grid-template-columns:1fr}.pf-row::before,.pf-plat::before{display:none}.pf-row{padding-top:14px}}

/* ---------- trust grid ---------- */
.trust{display:grid;grid-template-columns:repeat(4,1fr);gap:34px}
.trust div{border-top:1px solid var(--ink);padding-top:20px}
.trust h3{font-size:21px;line-height:1.2;margin-bottom:12px}
.trust p{font-size:15px;color:var(--slate);line-height:1.6}
@media(max-width:960px){.trust{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.trust{grid-template-columns:1fr}}

/* ---------- small paper band ---------- */
.wpcta .pa-cover{min-height:330px}

/* on navy, small brass text uses the light brass */
.dark .sec-num,.founding .eyebrow,.position .eyebrow{color:var(--brass-lt)}

/* ---------- multi-page additions ---------- */
nav.links a.on{color:var(--ink)}
.page-hero{padding:104px 0 64px}
.page-hero h1{font-size:clamp(36px,5.4vw,60px);line-height:1.06;max-width:18ch;margin:22px 0 26px}
.page-hero h1 em{font-style:italic;color:var(--brass)}
.more{display:inline-block;margin-top:18px;font-size:14px;letter-spacing:.03em;color:var(--brass-tx);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}
.dark .more{color:var(--brass-lt)}
.cta-band{background:var(--ink);color:var(--paper);padding:84px 0}
.cta-band .inner{display:flex;justify-content:space-between;align-items:center;gap:40px;flex-wrap:wrap}
.cta-band h2{font-size:clamp(26px,3.4vw,38px);line-height:1.14;max-width:22ch}
.cta-band p{color:#B9C2CD;margin-top:12px;font-weight:300;max-width:48ch}
.cta-band .btn-primary{background:#A9884E;color:var(--ink)}
.cta-band .btn-primary:hover{background:var(--brass-lt)}
.caps3{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.caps3 .cap{padding:38px 32px 32px}
@media(max-width:900px){.caps3{grid-template-columns:1fr}}
.quote-band{background:var(--ink);color:var(--paper);padding:92px 0;text-align:center}
.quote-band .prob-quote{margin:0 auto;max-width:26ch}

/* =========================================================
   v3 — product-led layout (Ontra / Harvey pattern)
   ========================================================= */
.hero2{padding:96px 0 40px;text-align:center}
.hero2 .eyebrow{display:block;margin-bottom:26px}
.hero2 h1{font-size:clamp(40px,6.6vw,80px);line-height:1.02;max-width:16ch;margin:0 auto 28px}
.hero2 h1 em{font-style:italic;color:var(--brass)}
.hero2 .lede{margin:0 auto;max-width:60ch}
.hero2 .herocta{justify-content:center}
.sectors{text-align:center;padding:30px 0 0;font-family:"IBM Plex Mono",monospace;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--slate)}
.sectors span{margin:0 14px;white-space:nowrap;display:inline-block}

/* ---------- product window (illustrative UI) ---------- */
.demo{max-width:1080px;margin:56px auto 0;padding:0 32px}
.win{background:#0C1626;border-radius:10px;box-shadow:0 40px 90px -20px rgba(16,28,46,.45),0 0 0 1px rgba(16,28,46,.12);overflow:hidden;color:#DCE2E9;text-align:left}
.win-bar{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#0A1220;border-bottom:1px solid rgba(255,255,255,.06)}
.win-bar i{width:10px;height:10px;border-radius:50%;background:#2A3546;display:block}
.win-bar .addr{margin-left:14px;font-family:"IBM Plex Mono",monospace;font-size:11.5px;color:#8E9AA8;letter-spacing:.04em}
.win-bar .tag{margin-left:auto;font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--brass-lt);border:1px solid rgba(196,165,103,.4);padding:3px 8px;border-radius:2px}
.win-body{display:grid;grid-template-columns:190px 1fr;min-height:450px}
.win-side{background:#0A1220;border-right:1px solid rgba(255,255,255,.06);padding:20px 14px}
.win-side .brand{padding:0 8px 10px;line-height:0}
.win-side .brand img{display:block;height:46px;width:auto;margin-left:calc(46px * -172 / 700)}
.win-side span{display:block;padding:8px 10px;border-radius:4px;font-size:13px;color:#A3AEBB}
.win-side span.on{background:rgba(196,165,103,.12);color:#F1F1EC}
.win-side span.sub{padding:5px 10px 5px 26px;font-size:12px}
.win-side .lab{font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#8E9AA8;padding:18px 10px 6px}
.win-main{padding:26px 30px;position:relative}
/* without scripting the first scene shows; with it, scenes rotate */
.demo .scene + .scene{display:none}
.js .demo .scene{display:none}
.js .demo .scene.on{display:block;animation:scenein .5s ease}
@keyframes scenein{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.crumb{font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#8E9AA8}
.scene h4,.win-main h4{font-family:"Libre Caslon Display",serif;font-weight:400;font-size:24px;color:#F1F1EC;margin:8px 0 18px;line-height:1.2}
.row{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;padding:12px 14px;border:1px solid rgba(255,255,255,.07);border-radius:6px;margin-bottom:8px;background:rgba(255,255,255,.02)}
.row .t{font-size:14px;color:#E6EAEF}
.row .s{font-size:12.5px;color:#9AA6B4;margin-top:3px}
.pill{font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:4px 9px;border-radius:20px;white-space:nowrap;display:inline-block}
.p-std{background:rgba(120,170,140,.16);color:#A8D8BA}
.p-cur{background:rgba(120,150,200,.16);color:#B3C9EC}
.p-deal{background:rgba(196,165,103,.18);color:#DEC48F}
.p-one{background:rgba(200,120,110,.18);color:#EDB2A9}
.p-wait{background:rgba(255,255,255,.09);color:#CDD4DC}
.kv{display:grid;grid-template-columns:150px 1fr;gap:10px 18px;font-size:13.5px;margin-top:6px}
.kv dt{color:#9AA6B4;font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;padding-top:3px}
.kv dd{color:#E6EAEF}
.alert{border-left:2px solid #EDB2A9;background:rgba(200,120,110,.09);padding:14px 16px;border-radius:0 6px 6px 0;margin-bottom:16px;font-size:13.5px;color:#F3DCD7}
.alert b{color:#fff;font-weight:500}
.doc{background:#F4F3EE;color:#1A2433;border-radius:4px;padding:22px 26px;font-family:"Libre Caslon Display",Georgia,serif;font-size:14px;line-height:1.6}
.doc .h{font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#7A5F2E;margin-bottom:8px}
.doc mark{background:rgba(169,136,78,.22);color:inherit;padding:0 3px}
.doc .blank{font-family:"IBM Plex Mono",monospace;font-size:11.5px;background:#E3E0D6;padding:1px 6px;border-radius:2px}
.cols{display:grid;grid-template-columns:1.25fr 1fr;gap:18px}
.side-note{font-size:12.5px;color:#9AA6B4;line-height:1.55}
.side-note .h{font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#9AA6B4;margin:0 0 8px}
.side-note ul{margin:0;padding:0}
.side-note li{list-style:none;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.06);color:#D2D9E1}
.demo-tabs{display:flex;gap:6px;justify-content:center;margin-top:22px;flex-wrap:wrap}
.demo-tabs button{font:inherit;font-size:13px;background:none;border:1px solid var(--line);color:var(--slate);padding:9px 16px;border-radius:30px;cursor:pointer;position:relative;overflow:hidden}
.demo-tabs button.on{border-color:var(--ink);color:var(--ink)}
.demo-tabs button .bar{position:absolute;left:0;bottom:0;height:2px;background:var(--brass);width:0}
.demo-tabs button.on .bar{animation:fill var(--dur,6s) linear forwards}
.demo.paused .demo-tabs button.on .bar{animation-play-state:paused}
@keyframes fill{to{width:100%}}
.demo-cap{text-align:center;margin-top:14px;font-size:12.5px;color:var(--slate)}
@media(max-width:820px){.win-body{grid-template-columns:1fr}.win-side{display:none}.cols{grid-template-columns:1fr}.kv{grid-template-columns:1fr;gap:4px}.kv dd{margin-bottom:8px}.win-main{padding:20px 18px}.demo{padding:0 16px}.row{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.js .demo .scene.on{animation:none}.demo-tabs button.on .bar{animation:none;width:100%}}

/* ---------- authority ---------- */
.auth{display:grid;grid-template-columns:1fr 1.1fr;gap:64px;align-items:center}
.auth-list{list-style:none;margin-top:30px}
.auth-list li{display:grid;grid-template-columns:30px 1fr;gap:14px;padding:18px 0;border-top:1px solid var(--line-dk)}
.auth-list .n{font-family:"IBM Plex Mono",monospace;font-size:12px;color:var(--brass-lt);padding-top:3px}
.auth-list b{display:block;font-family:"Libre Caslon Display",serif;font-weight:400;font-size:20px;color:var(--paper);margin-bottom:4px}
.auth-list span{color:#B9C2CD;font-size:15px;line-height:1.55;font-weight:300}
.labels{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
@media(max-width:900px){.auth{grid-template-columns:1fr;gap:40px}}

/* ---------- feature split rows ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;padding:56px 0;border-top:1px solid var(--line)}
.split.first{border-top:none;padding-top:0}
.split .name{font-family:"Libre Caslon Display",serif;font-size:34px;line-height:1.1}
.split .role{font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--brass-tx);margin:10px 0 18px}
.split .desc{font-size:17px;color:var(--slate);line-height:1.6;max-width:50ch}
.split .desc b{color:var(--ink);font-weight:500}
.split .win-body{grid-template-columns:1fr;min-height:0}
.split .win-main{padding:22px 24px}
.split.flip > :first-child{order:2}
@media(max-width:900px){.split{grid-template-columns:1fr;gap:30px}.split.flip > :first-child{order:0}}

/* ---------- hidden-until-real sections (preview build only) ---------- */
.tombs{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.tomb{border:1px solid var(--line);background:#fff;padding:26px 20px;text-align:center;min-height:220px;display:flex;flex-direction:column;justify-content:center;gap:10px}
.tomb .who{font-family:"Libre Caslon Display",serif;font-size:20px}
.tomb .what{font-size:13.5px;color:var(--slate)}
.tomb .when{font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.14em;color:var(--brass-tx);text-transform:uppercase}
@media(max-width:860px){.tombs{grid-template-columns:1fr 1fr}}
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.quote{border-top:1px solid var(--ink);padding-top:22px}
.quote p{font-family:"Libre Caslon Display",serif;font-size:21px;line-height:1.4}
.quote .by{margin-top:18px;font-size:13.5px;color:var(--slate)}
@media(max-width:860px){.quotes{grid-template-columns:1fr}}
.badges{display:flex;flex-wrap:wrap;gap:16px;margin-top:34px}
.badge{border:1px solid var(--line);padding:16px 20px;min-width:150px;text-align:center;background:#fff}
.badge .b{font-family:"Libre Caslon Display",serif;font-size:20px}
.badge .s{font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--slate);margin-top:4px}

/* reviewer fixes 10/1 */
.quote-band .more{color:var(--brass-lt)}
.foot-map{display:flex;flex-wrap:wrap;gap:8px 22px;padding:26px 0 0;font-size:14px}
.foot-map a{color:#B9C2CD;text-decoration:none}
.foot-map a:hover{color:var(--paper)}

.win-body.solo{grid-template-columns:1fr;min-height:0}
.auth .kv{grid-template-columns:140px 1fr}

/* reviewer fixes, v3 round */
.row .pill{justify-self:start}
@media(min-width:821px){.row .pill{justify-self:end}}
@media(max-width:820px){.demo .win-main{min-height:690px}.auth .kv{grid-template-columns:1fr}}
.demo-tabs button.pause{border-style:dashed}
.demo-tabs button:focus-visible{outline:2px solid var(--brass);outline-offset:2px}

/* illustrative cursor (site.js) */
.has-cur{position:relative}
.cur{position:absolute;left:0;top:0;z-index:6;pointer-events:none;transition:transform .45s cubic-bezier(.45,.05,.25,1);will-change:transform;filter:drop-shadow(0 2px 3px rgba(0,0,0,.35))}
.cur svg{display:block;transform-origin:4px 2px}
.cur i{position:absolute;left:4px;top:2px;width:28px;height:28px;margin:-14px 0 0 -14px;border-radius:50%;border:2px solid var(--brass-lt);opacity:0}
.cur.click svg{animation:curpress .26s ease}
.cur.click i{animation:curripple .6s ease-out}
@keyframes curpress{50%{transform:scale(.8)}}
@keyframes curripple{0%{opacity:.9;transform:scale(.3)}100%{opacity:0;transform:scale(1.7)}}
[data-click]{transition:box-shadow .3s,background-color .3s}
.hit{box-shadow:0 0 0 2px rgba(196,165,103,.7),0 0 0 7px rgba(196,165,103,.14);background-color:rgba(196,165,103,.08);border-radius:5px}
.demo-tabs button.hit{border-color:var(--brass);color:var(--ink)}
.opt{display:inline-block;border:1px solid rgba(255,255,255,.2);border-radius:4px;padding:3px 9px;margin:2px 6px 2px 0;font-size:12.5px;color:#E6EAEF}
.demo.idle .demo-tabs button.on .bar{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.cur{display:none}}
.tour-pause{margin-left:8px;font:inherit;font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#C9D1DA;background:none;border:1px solid rgba(255,255,255,.22);padding:3px 8px;border-radius:3px;cursor:pointer}
.tour-pause[aria-pressed="true"],.demo-tabs button.pause[aria-pressed="true"]{background:var(--brass-lt);border-color:var(--brass-lt);color:#0C1626}
.tour-pause:focus-visible{outline:2px solid var(--brass-lt);outline-offset:2px}
@media(prefers-reduced-motion:reduce){.tour-pause{display:none}}

/* =========================================================
   LIGHT VERSION: the site since Rick's 10/2/26 ruling. Appended after site-base + site-v3.
   Orelis Contour palette: forest #153A31, ivory #F6F2E8, bronze #C6A575 (bronze never as text on light).
   Harvey-style: light page, big left-aligned serif hero, product windows set into textured forest stages.
   ========================================================= */
:root{
  --paper:#FAF8F3; --paper-2:#F2EEE3;
  --ink:#17211E; --ink-2:#153A31; --forest:#153A31; --ivory:#F6F2E8; --bronze:#C6A575;
  /* every text use of the old brass becomes forest: bronze never carries text on a light ground */
  --brass:#153A31; --brass-lt:#153A31; --brass-tx:#153A31;
  --slate:#59615C; --slate-lt:#8C938E;
  --line:rgba(23,33,30,.12); --line-dk:rgba(23,33,30,.12);
}
::selection{background:var(--bronze);color:var(--ink)}
header{background:rgba(250,248,243,.9)}
.navcta{background:var(--forest);border-color:var(--forest);color:var(--ivory)!important}
.navcta:hover{background:#0F2C25;border-color:#0F2C25;color:var(--ivory)!important}
.btn-primary,.cta-band .btn-primary{background:var(--forest);color:var(--ivory)}
.btn-primary:hover,.cta-band .btn-primary:hover{background:#0F2C25}
.btn-ghost{border-color:rgba(23,33,30,.22);color:var(--ink)}
.hero h1 em,.hero2 h1 em,.page-hero h1 em,.becomes .lead em,.moatline em,.lin-close em{color:var(--forest)}

/* ---------- hero: Harvey split ---------- */
.hero2{padding:84px 0 28px;text-align:left}
.hero2 > .wrap:first-child{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);column-gap:80px;align-items:end}
.hero2 .eyebrow{grid-column:1/-1;margin-bottom:30px}
.hero2 h1{grid-column:1;grid-row:2/5;margin:0;max-width:10ch;font-size:clamp(48px,7.2vw,102px);line-height:.98;color:var(--ink)}
.hero2 .lede{grid-column:2;margin:0;max-width:46ch;font-size:17.5px}
.hero2 .herocta{grid-column:2;justify-content:flex-start;margin-top:26px}
/* Rick 10/3/26: the opening screen is the hero alone; the product graphic starts below the fold */
.hero2{padding-top:0}
.hero2 > .wrap:first-child{min-height:calc(100vh - 67px);min-height:calc(100svh - 67px);align-content:center;padding-top:56px;padding-bottom:72px}
@media(max-width:900px){
  .hero2 > .wrap:first-child{grid-template-columns:1fr}
  .hero2 h1{grid-row:auto;margin-bottom:26px}
  .hero2 .lede,.hero2 .herocta{grid-column:1}
}

/* ---------- formerly dark bands, now light ---------- */
.dark,.position,.cta-band,.quote-band,.founding,footer{background:var(--paper-2);color:var(--ink);border-top:1px solid var(--line)}
footer{border-top:1px solid var(--line)}
.dark .sec-title,.fo-title,.fo-success-title,.auth-list b,.position .stmt{color:var(--ink)}
.dark .sec-intro,.position .sub,.cta-band p,.fo-sub,.auth-list span,.prob-cell p,.ontop .keeps li,.fo-success-body{color:var(--slate)}
.dark .eyebrow,.dark .sec-num,.founding .eyebrow,.position .eyebrow,.auth-list .n,.prob-cell .n,
.prob-quote .hl,.position .stmt .hl,.quote-band .more,.ontop .keeps li::before{color:var(--forest)}
.prob-grid{background:var(--line);border-color:var(--line)}
.prob-cell{background:var(--paper)}
.fo-in{background:#fff;border-color:rgba(23,33,30,.5);color:var(--ink)}  /* field edge >= 3:1 */
.fo-btn{background:var(--forest);color:var(--ivory)}
.fo-btn:hover{background:#0F2C25}
.fo-alt,.fo-fine,.fo-consent{color:var(--slate)}
.fo-alt a,.fo-consent a,.fo-error a{color:var(--forest);border-bottom-color:rgba(21,58,49,.4)}
.fo-error{color:#8A3426}
.fo-check{border-color:var(--forest);color:var(--forest)}
.founding label,.fo-label{color:var(--slate)}
.foot-tag,.foot-contact .small,.foot-bottom,.foot-map a{color:var(--slate)}
.foot-contact a{color:var(--ink);border-bottom-color:var(--bronze)}
.foot-map a:hover{color:var(--ink)}
/* the paper card mirrors the Edition 1.3 cover: white page, forest lockup, forest title */
.pa-cover{background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:0 24px 50px -28px rgba(8,26,21,.35)}
.pa-mark img{display:block;height:54px;width:auto;margin-left:calc(54px * -172 / 700)}
.pa-title{color:var(--forest)}

/* ---------- product window: light app, forest rail ---------- */
.win{background:#fff;color:var(--ink);box-shadow:0 30px 70px -24px rgba(8,26,21,.5),0 0 0 1px rgba(23,33,30,.08)}
.win-bar{background:#F4F1EA;border-bottom:1px solid rgba(23,33,30,.08)}
.win-bar i{background:#D9D4C8}
.win-bar .addr{color:#646B66}
.win-bar .tag{color:var(--forest);border-color:rgba(21,58,49,.35)}
.win-side{background:var(--forest);border-right:none}
.win-side span{color:rgba(246,242,232,.74)}
.win-side span.sub{color:rgba(246,242,232,.62)}
.win-side span.on{background:rgba(246,242,232,.12);color:var(--ivory)}
.win-side .lab{color:rgba(246,242,232,.56)}
.crumb{color:#6B726D}
.scene h4,.win-main h4{color:var(--forest);font-size:26px}
.row{border:1px solid rgba(23,33,30,.09);background:#FBFAF7}
.row .t{color:var(--ink)}
.row .s{color:#6B726D}
.p-std{background:rgba(21,58,49,.09);color:#153A31}
.p-cur{background:rgba(52,84,122,.10);color:#2F4C70}
.p-deal{background:rgba(198,165,117,.24);color:#6B4F22}
.p-one{background:rgba(170,70,55,.10);color:#8A3426}
.p-wait{background:rgba(23,33,30,.07);color:#4A524D}
.kv dt{color:#6B726D}
.kv dd{color:var(--ink)}
.alert{border-left-color:#B5543F;background:rgba(170,70,55,.07);color:#5E2A20}
.alert b{color:#3D1912}
.doc{background:#fff;border:1px solid rgba(23,33,30,.12);color:var(--ink)}
.doc .h{color:var(--forest)}
.doc mark{background:rgba(198,165,117,.35)}
.doc .blank{background:#EFEBE0}
.side-note,.side-note .h{color:#59615C}
.side-note li{border-bottom-color:rgba(23,33,30,.08);color:var(--ink)}
.opt{border-color:rgba(23,33,30,.2);color:var(--ink)}
.tour-pause{color:var(--forest);border-color:rgba(21,58,49,.3)}
.tour-pause[aria-pressed="true"],.demo-tabs button.pause[aria-pressed="true"]{background:var(--forest);border-color:var(--forest);color:var(--ivory)}
.hit{box-shadow:0 0 0 2px rgba(198,165,117,.95),0 0 0 7px rgba(198,165,117,.2);background-color:rgba(198,165,117,.1)}
.demo-tabs button.on{border-color:var(--forest);color:var(--forest)}

/* ---------- stages: textured forest panels the windows sit in ---------- */
.stage{position:relative;border-radius:16px;overflow:hidden;background:#153A31 url(/stage-texture.jpg) center/cover no-repeat;padding:72px 72px 0}
.stage .win{border-radius:10px 10px 0 0}
.demo{max-width:1224px}
.split .stage,.auth .stage{padding:40px 0 0 40px;border-radius:14px}
.split .stage .win,.auth .stage .win{border-radius:10px 0 0 0;box-shadow:0 24px 60px -20px rgba(8,26,21,.55)}
@media(max-width:820px){
  .stage{padding:28px 14px 0;border-radius:12px}
  .split .stage,.auth .stage{padding:22px 0 0 16px}
}

/* bronze, decorative only */
.demo-tabs button .bar,.tl .pt::before,.lin-row.now .lin-tick .dot{background:var(--bronze)}
.cur i{border-color:var(--bronze)}
.pa-ed{color:var(--slate)}

/* =========================================================
   Website Rebuild 4: staged scenes (site.js) and the gated channel scenes
   ========================================================= */
[data-step]{transition:opacity .45s ease var(--d,0s),transform .45s ease var(--d,0s),visibility 0s linear var(--d,0s)}
.js [data-step]:not(.shown){opacity:0;transform:translateY(6px);visibility:hidden;transition:none}
.js [data-until].gone{opacity:0;visibility:hidden;transition:opacity .2s,visibility 0s linear .2s}
html:not(.js) [data-until]{display:none!important}
.stack{display:grid}
.stack > *{grid-area:1/1}
.btn-s{display:inline-block;background:var(--forest);color:var(--ivory);font-size:13px;padding:8px 16px;border-radius:5px;white-space:nowrap}
.ok{display:block;font-size:13.5px;color:#153A31;background:rgba(21,58,49,.08);border-radius:6px;padding:10px 12px;margin-top:12px;line-height:1.5}
.lnk{display:inline-block;margin-top:8px;font-size:13px;color:var(--forest);border:1px solid rgba(21,58,49,.3);border-radius:5px;padding:5px 10px}
.ph-empty{color:#6B726D}

/* the channel demo: one stage, a different window per channel */
.chan-lead{margin-top:72px}
.chan{margin-top:28px;padding:0}
.chan .stage{padding:56px}
.js .chan .scene.on{display:flex;align-items:center;justify-content:center;min-height:600px}
.chan .scene > .win,.chan .scene > .phone{width:100%;max-width:900px}
.chan .stage .win{border-radius:10px}
.chan .win-body{min-height:0}

/* email */
.mailwin .win-main{padding:18px 26px 22px}
.mail-hd{display:grid;grid-template-columns:76px 1fr;gap:10px;font-size:13.5px;padding:8px 0;border-bottom:1px solid rgba(23,33,30,.08);color:var(--ink)}
.mail-hd .k{font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#6B726D;padding-top:3px}
.mail-hd b{font-weight:500}
.mail-tx{font-size:14px;line-height:1.55;margin:14px 0;color:var(--ink)}
.mail-tx b{font-weight:600}
.mail-ft{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.att{display:inline-flex;align-items:center;gap:10px;border:1px solid rgba(23,33,30,.12);border-radius:6px;padding:7px 12px;font-size:13px;background:#FBFAF7;color:var(--ink)}
.att .ext{font-family:"IBM Plex Mono",monospace;font-size:9.5px;letter-spacing:.08em;background:#2F4C70;color:#fff;padding:3px 5px;border-radius:2px}
.mail.reply{margin-top:18px;padding:4px 16px 8px;border-left:2px solid var(--forest);background:#FBFAF7;border-radius:0 6px 6px 0}

/* text */
.chan .scene > .phone{max-width:350px}
.phone{background:#fff;border-radius:38px;padding:12px;border:1px solid rgba(23,33,30,.12);box-shadow:0 30px 70px -24px rgba(8,26,21,.55);text-align:left}
.ph-scr{background:#FBFAF7;border-radius:28px;overflow:hidden;display:flex;flex-direction:column;min-height:540px}
.ph-top{display:flex;flex-direction:column;align-items:center;gap:3px;padding:16px 12px 12px;border-bottom:1px solid rgba(23,33,30,.08);position:relative;color:var(--ink)}
.ph-top img{width:34px;height:34px;border-radius:50%;background:#fff;border:1px solid rgba(23,33,30,.12);padding:4px;box-sizing:border-box}
.ph-top b{font-size:13.5px;font-weight:600}
.ph-top .num{font-size:11px;color:#6B726D}
.ph-top .tag{position:absolute;top:12px;right:12px;font-family:"IBM Plex Mono",monospace;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--forest);border:1px solid rgba(21,58,49,.35);padding:2px 6px;border-radius:2px}
.ph-body{flex:1;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;padding:16px 12px}
.bub{max-width:80%;padding:9px 13px;border-radius:18px;font-size:13.5px;line-height:1.45}
.bub.me{align-self:flex-end;background:var(--forest);color:var(--ivory);border-bottom-right-radius:5px}
.bub.them{align-self:flex-start;background:#ECE8DD;color:var(--ink);border-bottom-left-radius:5px}
.ph-compose{display:flex;align-items:flex-end;gap:8px;padding:10px 12px 14px;border-top:1px solid rgba(23,33,30,.08)}
.ph-in{flex:1;min-width:0;border:1px solid rgba(23,33,30,.18);border-radius:18px;padding:8px 12px;font-size:13px;line-height:1.4;color:var(--ink);background:#fff}
.ph-send{flex:none;width:32px;height:32px;border-radius:50%;background:var(--forest);color:var(--ivory);display:grid;place-items:center;font-size:16px}

/* slack */
.chatwin .win-body{grid-template-columns:170px 1fr}
.chat-side{background:#232A27;padding:18px 12px}
.chat-side span{display:block;padding:6px 10px;border-radius:4px;font-size:13px;color:rgba(246,242,232,.7)}
.chat-side span.on{background:rgba(246,242,232,.14);color:var(--ivory)}
.chat-side .lab{font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:rgba(246,242,232,.66);padding:14px 10px 6px}
.chat-side .lab:first-child{padding-top:0}
.chatwin .win-main{display:flex;flex-direction:column;padding:18px 24px 20px}
.chat-hd{font-weight:600;font-size:15px;color:var(--ink);padding-bottom:12px;border-bottom:1px solid rgba(23,33,30,.08);margin-bottom:6px}
.msg{display:grid;grid-template-columns:36px 1fr;gap:12px;padding:10px 0;color:var(--ink)}
.msg .av{width:36px;height:36px;border-radius:7px;background:#D9DED8;color:#3A423E;display:grid;place-items:center;font-size:12px;font-weight:600;overflow:hidden}
.msg .av.o{background:#fff;border:1px solid rgba(23,33,30,.12)}
.msg .av img{width:30px;height:30px}
.msg b{font-weight:600;font-size:14px}
.msg i{font-style:normal;color:#6B726D;font-size:12px;margin-left:8px}
.msg p{margin:3px 0 0;font-size:14px;line-height:1.5}
.at{background:rgba(52,84,122,.12);color:#2F4C70;padding:0 3px;border-radius:3px}
.appt{font-family:"IBM Plex Mono",monospace;font-size:9.5px;letter-spacing:.06em;background:rgba(23,33,30,.08);color:#4A524D;padding:1px 5px;border-radius:3px;margin-left:6px;vertical-align:1px}
.chat-in{margin-top:auto;display:flex;align-items:center;gap:12px;border:1px solid rgba(23,33,30,.18);border-radius:8px;padding:10px 10px 10px 14px;font-size:13.5px;color:var(--ink)}
.chat-in .stack{flex:1;min-width:0}
.ph-in > span,.chat-in .stack > span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* after closing */
.wb-foot{margin-top:14px;align-items:center}
.wb-foot > span:first-child{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.wb-foot .note{font-size:12.5px;color:#6B726D}
.wb-foot .ok{margin-top:0}

/* positions, zoomed out */
.zoom-hd{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:8px 0 16px}
.zoom-hd h4{margin:0!important}
.seg{display:inline-flex;border:1px solid rgba(23,33,30,.18);border-radius:6px;overflow:hidden;font-size:12.5px;color:var(--ink);background:#fff}
.seg span{padding:6px 12px}
.seg span.on{background:var(--forest);color:var(--ivory)}
.sub-h{font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#6B726D;margin:0 0 10px}
.pgrid-wrap{overflow-x:auto}
.pgrid{display:grid;grid-template-columns:110px repeat(8,minmax(46px,1fr));gap:4px;min-width:520px}
.pgrid .ch{font-family:"IBM Plex Mono",monospace;font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:#6B726D;text-align:center;align-self:end;padding-bottom:3px}
.pgrid .rh{font-size:12.5px;color:var(--ink);align-self:center}
.pgrid i,.legend i{font-style:normal;text-align:center;border-radius:4px;font-family:"IBM Plex Mono",monospace;font-size:10.5px;padding:6px 0}
.pgrid i.std,.legend i.std{background:rgba(21,58,49,.14);color:#153A31}
.pgrid i.cp,.legend i.cp{background:rgba(52,84,122,.18);color:#2F4C70}
.pgrid i.deal,.legend i.deal{background:rgba(198,165,117,.34);color:#6B4F22}
.pgrid i.one,.legend i.one{background:rgba(170,70,55,.15);color:#8A3426}
.pgrid i.na{color:#6B726D;background:rgba(23,33,30,.03)}
.pgrid i.flag{box-shadow:0 0 0 2px rgba(170,70,55,.55)}
.legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:10px;font-size:11.5px;color:#59615C}
.legend span{display:inline-flex;align-items:center;gap:6px}
.legend i{display:inline-block;width:12px;height:12px;padding:0}
.callout{margin-top:14px;border-left:2px solid #B5543F;background:rgba(170,70,55,.06);padding:12px 14px;font-size:13.5px;line-height:1.5;border-radius:0 6px 6px 0;color:var(--ink)}
.callout b{font-weight:600}
.callout .lnk{display:block;width:max-content;margin-top:10px}

/* index: Orelis reads the document */
.doc.sm{font-size:12.5px;line-height:1.5;padding:14px 16px}
.doc.sm p{margin:0 0 6px;padding:6px 8px;border-radius:4px;transition:background-color .4s}
.doc.sm .h{display:block;margin-bottom:3px;letter-spacing:.08em}
.doc.sm p.read{background:rgba(198,165,117,.24)}
.found .h{font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#59615C;margin:0 0 8px}
.found .row{grid-template-columns:1fr;gap:6px;padding:9px 12px}
.found .row .pill{justify-self:start}
.cols.ex{grid-template-columns:1fr 1fr;gap:14px}

/* charter */
.ticks{list-style:none;margin:4px 0 16px;padding:0}
.ticks li{padding:9px 0 9px 26px;border-bottom:1px solid rgba(23,33,30,.08);position:relative;font-size:14px;color:var(--ink)}
.ticks li::before{content:"\2713";position:absolute;left:4px;color:var(--forest)}

@media(max-width:820px){
  .chan .stage{padding:20px 12px}
  .js .chan .scene.on{min-height:0}
  .chatwin .win-body{grid-template-columns:1fr}
  .chat-side{display:none}
  .mailwin .win-main,.chatwin .win-main{padding:14px 16px}
  .mail-hd{grid-template-columns:62px 1fr}
  .cols.ex{grid-template-columns:1fr}
  .pgrid{grid-template-columns:86px repeat(8,minmax(40px,1fr))}
}
@media(prefers-reduced-motion:reduce){[data-step]{transition:none}}

/* reviewer R6 low items (b) and the narrow product windows: nothing may push the page sideways */
.win-bar .addr{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.win-bar .tag,.win-bar .tour-pause{flex:none;white-space:nowrap}
.split > *,.auth > *{min-width:0}
@media(max-width:900px){.split{grid-template-columns:minmax(0,1fr)}.auth{grid-template-columns:minmax(0,1fr)}}
@media(max-width:400px){.win-bar .tag{font-size:9px;padding:2px 5px;letter-spacing:.1em}.win-bar{gap:6px;padding:10px 12px}.win-bar .addr{margin-left:6px}}

/* reviewer R6 low item (a): on short phones the opening screen still holds the hero buttons */
@media(max-width:900px) and (max-height:760px) and (orientation:portrait){
  .hero2 > .wrap:first-child{padding-top:28px;padding-bottom:28px}
  .hero2 .eyebrow{margin-bottom:18px}
  .hero2 h1{font-size:40px;margin-bottom:18px}
  .hero2 .lede{font-size:16px;line-height:1.5}
  .hero2 .herocta{margin-top:18px}
}
/* phones turned sideways: the desktop split, smaller */
@media(max-height:500px) and (orientation:landscape){
  .hero2 > .wrap:first-child{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);column-gap:36px;padding-top:20px;padding-bottom:20px}
  .hero2 .eyebrow{margin-bottom:14px}
  .hero2 h1{grid-row:2/5;margin:0;font-size:40px}
  .hero2 .lede,.hero2 .herocta{grid-column:2}
  .hero2 .lede{font-size:14.5px;line-height:1.5}
  .hero2 .herocta{margin-top:14px}
}
.stack > *,.win-main,.win-body > *{min-width:0}
/* header links stay on one line between the phone and desktop layouts (pre-existing wrap at 761-960px) */
@media(max-width:960px){nav.links{gap:16px}nav.links a{white-space:nowrap}}
.chan .scene > .win,.chan .scene > .phone{min-width:0}

/* Ledger (Rick 10/5/26): the number, the time on Orelis, and the Index it built */
.lg-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:2px 0 14px}
.lg-stats > div{border:1px solid rgba(23,33,30,.09);background:#FBFAF7;border-radius:6px;padding:12px 14px}
.lg-stats b{display:block;font-family:"Libre Caslon Display",serif;font-weight:400;font-size:28px;line-height:1.1;color:var(--forest)}
.lg-stats span{display:block;font-size:12px;color:#6B726D;margin-top:4px;line-height:1.35}
.lg-bars{margin:0 0 14px}
.lg-bar{display:grid;grid-template-columns:86px 1fr 56px;align-items:center;gap:10px;font-size:12.5px;color:#59615C;margin-bottom:6px}
.lg-bar i{display:block;height:10px;border-radius:5px;background:rgba(23,33,30,.16);width:var(--w);transform-origin:left;transform:scaleX(0);transition:transform .9s ease .2s}
.lg-bar.on i{background:var(--forest)}
.rv.in .lg-bar i,html:not(.js) .lg-bar i{transform:none}
@media(prefers-reduced-motion:reduce){.lg-bar i{transform:none;transition:none}}
.lg-bar em{font-style:normal;font-family:"IBM Plex Mono",monospace;font-size:11.5px;color:var(--ink);text-align:right}
.row .num{font-family:"Libre Caslon Display",serif;font-weight:400;font-size:22px;color:var(--forest);white-space:nowrap}
.note-s{font-size:12px;color:#6B726D;margin:10px 0 0}
@media(max-width:520px){.lg-stats{grid-template-columns:1fr}.lg-stats b{font-size:24px}}

/* Authority: the four points light in the list as the window shows each one */
.auth-list li{transition:background-color .35s,box-shadow .35s}
.auth-list li.lit{background:rgba(198,165,117,.16);box-shadow:-12px 0 0 rgba(198,165,117,.16),inset 3px 0 0 var(--bronze)}
.auth-req{margin-top:14px}
.auth-req .last{font-size:13px;color:#59615C;margin:0;padding:10px 0;border-top:1px solid rgba(23,33,30,.08)}
.auth-req .alert{margin:0}
.auth-req .acts{display:block;margin-top:10px}
.auth-req .ok{margin:0}
.auth-req{align-items:start}
.mail-hd > *{min-width:0;overflow-wrap:anywhere}
.ok.sm{font-size:12.5px;padding:7px 10px;margin-top:8px}
.ok + .btn-s{margin-top:12px}
.mail.later{margin-top:18px;padding:4px 16px 8px;border:1px dashed rgba(21,58,49,.35);background:#FBFAF7;border-radius:6px}
.lg-bars .sub-h{margin-bottom:8px}
