:root{
  --black:#0A0A0A;
  --charcoal:#141412;
  --surface:#1A1A17;
  --surface-2:#201F1B;
  --hairline: rgba(242,240,234,0.10);
  --hairline-strong: rgba(242,240,234,0.18);
  --ink:#F2F0EA;
  --ink-dim:#B7B3A8;
  --ink-faint:#7A776E;
  --brass:#C9A567;
  --brass-bright:#E0C48A;
  --brass-dim:#8A7345;
  --chrome:#9C9994;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--black); color:var(--ink);
  font-family:'Inter', sans-serif; font-size:16px; line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
.serif{font-family:'Fraunces', serif;}
.mono{font-family:'IBM Plex Mono', monospace; letter-spacing:0.02em;}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
.wrap{max-width:1120px; margin:0 auto; padding:0 32px;}
.wrap-narrow{max-width:760px; margin:0 auto; padding:0 32px;}
::selection{background:var(--brass); color:var(--black);}
:focus-visible{outline:1px solid var(--brass); outline-offset:3px;}

/* ---- NAV ---- */
header.site{
  position:sticky; top:0; z-index:50;
  background:rgba(10,10,10,0.88);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--hairline);
}
.nav-row{display:flex; align-items:center; justify-content:space-between; height:64px;}
.logo{font-family:'Fraunces', serif; font-weight:500; font-size:18px; letter-spacing:0.02em;}
.logo span{color:var(--brass);}
nav.links{display:flex; gap:32px; align-items:center;}
nav.links a{font-size:13px; letter-spacing:0.06em; text-transform:uppercase; color:var(--ink-dim); transition:color .2s;}
nav.links a:hover, nav.links a.current{color:var(--ink);}
nav.links a.current{color:var(--brass-bright);}
.nav-cta{border:1px solid var(--brass-dim); color:var(--brass-bright)!important; padding:8px 16px; font-size:12px!important;}
.nav-cta:hover{background:var(--brass); color:var(--black)!important; border-color:var(--brass);}
.mobile-toggle{display:none; background:transparent; border:1px solid var(--hairline-strong); color:var(--ink-dim); font-size:12px; letter-spacing:.08em; text-transform:uppercase; padding:8px 14px; font-family:'Inter',sans-serif; cursor:pointer;}
.mobile-toggle:hover{border-color:var(--ink-dim); color:var(--ink);}
@media (max-width:900px){
  nav.links{
    display:none;
    position:absolute; top:64px; left:0; right:0;
    flex-direction:column; align-items:flex-start; gap:0;
    background:var(--charcoal); border-bottom:1px solid var(--hairline-strong);
    padding:8px 32px 20px; z-index:60;
  }
  nav.links.open{display:flex;}
  nav.links a{width:100%; padding:14px 0; border-bottom:1px solid var(--hairline);}
  nav.links a:last-child{border-bottom:none;}
  nav.links a.nav-cta{margin-top:12px; text-align:center; border:1px solid var(--brass-dim);}
  .mobile-toggle{display:block;}
}

/* ---- LEDGER STRIP ---- */
.ledger{border-bottom:1px solid var(--hairline); background:var(--charcoal); overflow-x:auto;}
.ledger-row{display:flex; min-width:max-content;}
.ledger-cell{flex:1; min-width:160px; padding:14px 24px; border-right:1px solid var(--hairline); font-family:'IBM Plex Mono', monospace;}
.ledger-cell:last-child{border-right:none;}
.ledger-label{font-size:10px; text-transform:uppercase; letter-spacing:0.1em; color:var(--ink-faint);}
.ledger-value{font-size:15px; color:var(--brass-bright); margin-top:4px;}

/* ---- PAGE HEADER (non-home pages) ---- */
.page-header{padding:72px 0 56px; border-bottom:1px solid var(--hairline);}
.eyebrow{
  font-family:'IBM Plex Mono', monospace; font-size:12px; letter-spacing:0.12em; text-transform:uppercase;
  color:var(--brass); display:flex; align-items:center; gap:10px; margin-bottom:24px;
}
.eyebrow::before{content:''; width:22px; height:1px; background:var(--brass-dim);}
h1{font-family:'Fraunces', serif; font-weight:400; font-size:clamp(32px, 4.6vw, 52px); line-height:1.1; letter-spacing:-0.01em; max-width:820px;}
h1 em{font-style:italic; color:var(--ink-dim); font-weight:300;}
.page-sub{margin-top:20px; max-width:600px; font-size:17px; color:var(--ink-dim);}

/* ---- HERO (home) ---- */
.hero{padding:96px 0 72px; border-bottom:1px solid var(--hairline);}
.hero-cta{margin-top:40px; display:flex; gap:16px; flex-wrap:wrap;}
.btn{display:inline-block; padding:14px 26px; font-size:13px; letter-spacing:0.06em; text-transform:uppercase; border:1px solid transparent; transition:all .2s; cursor:pointer; font-family:'Inter',sans-serif;}
.btn-primary{background:var(--brass); color:var(--black); font-weight:500;}
.btn-primary:hover{background:var(--brass-bright);}
.btn-ghost{border-color:var(--hairline-strong); color:var(--ink); background:transparent;}
.btn-ghost:hover{border-color:var(--ink-dim);}

/* ---- SECTION ---- */
section{padding:88px 0; border-bottom:1px solid var(--hairline);}
section:last-of-type{border-bottom:none;}
.section-tag{font-family:'IBM Plex Mono', monospace; font-size:11px; letter-spacing:0.12em; text-transform:uppercase; color:var(--brass); margin-bottom:14px;}
h2{font-family:'Fraunces', serif; font-weight:400; font-size:clamp(26px, 3.4vw, 38px); max-width:680px; line-height:1.18; margin-bottom:16px;}
h3{font-family:'Fraunces', serif; font-weight:500;}
.section-lede{max-width:620px; color:var(--ink-dim); font-size:16px;}

/* ---- THESIS GRID ---- */
.thesis-grid{display:grid; grid-template-columns:repeat(2, 1fr); gap:1px; background:var(--hairline); margin-top:56px; border:1px solid var(--hairline);}
.thesis-item{background:var(--black); padding:32px;}
.thesis-tag{font-family:'IBM Plex Mono', monospace; font-size:11px; letter-spacing:0.1em; color:var(--brass-dim); border:1px solid var(--brass-dim); padding:3px 8px; display:inline-block; margin-bottom:18px;}
.thesis-item h3{font-size:19px; margin-bottom:10px;}
.thesis-item p{color:var(--ink-dim); font-size:14.5px;}
@media (max-width:720px){.thesis-grid{grid-template-columns:1fr;}}

/* ---- PHASES ---- */
.phase-list{margin-top:56px; border-top:1px solid var(--hairline);}
.phase-row{display:grid; grid-template-columns:80px 220px 1fr; gap:24px; padding:22px 0; border-bottom:1px solid var(--hairline); align-items:baseline;}
.phase-num{font-family:'IBM Plex Mono', monospace; color:var(--brass-dim); font-size:14px;}
.phase-name{font-family:'Fraunces', serif; font-size:18px; font-weight:500;}
.phase-desc{color:var(--ink-dim); font-size:14.5px;}
@media (max-width:720px){.phase-row{grid-template-columns:1fr; gap:6px;}}
.method-note{margin-top:32px; font-size:13.5px; color:var(--ink-faint); font-family:'IBM Plex Mono', monospace; border-left:2px solid var(--brass-dim); padding-left:16px;}

/* ---- STAGES / PRODUCT TIERS ---- */
.stage-block{margin-top:56px;}
.stage{border:1px solid var(--hairline); margin-bottom:20px;}
.stage-head{display:flex; align-items:center; gap:18px; padding:22px 28px; border-bottom:1px solid var(--hairline); background:var(--charcoal); flex-wrap:wrap;}
.stage-num{font-family:'IBM Plex Mono', monospace; color:var(--brass); font-size:13px; border:1px solid var(--brass-dim); padding:4px 9px;}
.stage-head h3{font-size:20px;}
.stage-sub{color:var(--ink-faint); font-size:13px; margin-left:auto; font-family:'IBM Plex Mono', monospace;}
.stage-body{padding:24px 28px; color:var(--ink-dim); font-size:15px;}
.tier-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--hairline); margin-top:20px; border:1px solid var(--hairline);}
.tier{background:var(--surface); padding:24px;}
.tier-name{font-family:'Fraunces', serif; font-size:17px; margin-bottom:6px;}
.tier-price{font-family:'IBM Plex Mono', monospace; font-size:22px; color:var(--brass-bright); margin-bottom:10px;}
.tier-meta{font-family:'IBM Plex Mono', monospace; font-size:11.5px; color:var(--brass-dim); margin-bottom:12px; text-transform:uppercase; letter-spacing:0.06em;}
.tier p{font-size:13.5px; color:var(--ink-faint);}
.tier ul{margin-top:12px; padding-left:18px; font-size:13.5px; color:var(--ink-dim);}
.tier li{margin-bottom:6px;}
@media (max-width:720px){.tier-grid{grid-template-columns:1fr;} .stage-head{flex-wrap:wrap;}}

/* ---- FIT ---- */
.fit-grid{margin-top:56px; display:grid; grid-template-columns:1fr 1fr; gap:48px;}
.fit-col-label{font-family:'IBM Plex Mono', monospace; font-size:12px; letter-spacing:0.1em; text-transform:uppercase; margin-bottom:20px; padding-bottom:12px; border-bottom:1px solid var(--hairline-strong);}
.fit-yes .fit-col-label{color:var(--brass);}
.fit-no .fit-col-label{color:var(--ink-faint);}
.fit-card{padding:16px 0; border-bottom:1px solid var(--hairline);}
.fit-card h4{font-family:'Fraunces', serif; font-size:16px; margin-bottom:6px; font-weight:500;}
.fit-card p{font-size:13.5px; color:var(--ink-dim);}
@media (max-width:760px){.fit-grid{grid-template-columns:1fr; gap:8px;}}

/* ---- MARKETS ---- */
.market-strip{margin-top:56px; display:grid; grid-template-columns:repeat(5,1fr); border:1px solid var(--hairline);}
.market{padding:22px 18px; border-right:1px solid var(--hairline); text-align:center;}
.market:last-child{border-right:none;}
.market-name{font-family:'Fraunces', serif; font-size:15px; margin-bottom:8px;}
.market-status{font-family:'IBM Plex Mono', monospace; font-size:10.5px; letter-spacing:0.08em; text-transform:uppercase;}
.market-status.active{color:var(--brass-bright);}
.market-status.expansion{color:var(--ink-faint);}
@media (max-width:760px){.market-strip{grid-template-columns:repeat(2,1fr);} .market{border-bottom:1px solid var(--hairline);}}

/* ---- ABOUT ---- */
.about-grid{display:grid; grid-template-columns:340px 1fr; gap:64px; margin-top:16px; align-items:start;}
.about-photo{border:1px solid var(--hairline-strong); overflow:hidden; position:relative;}
.about-photo img{width:100%; height:auto; filter:grayscale(15%) contrast(1.05);}
.about-photo-cap{padding:14px 16px; border-top:1px solid var(--hairline); font-family:'IBM Plex Mono', monospace; font-size:11px; color:var(--ink-faint); text-transform:uppercase; letter-spacing:0.08em; background:var(--charcoal);}
.about-body p{color:var(--ink-dim); margin-bottom:18px; font-size:16px; max-width:560px;}
.about-body p:first-child{font-size:19px; color:var(--ink); font-family:'Fraunces', serif; font-weight:400; line-height:1.4;}
.credential-strip{display:flex; gap:1px; background:var(--hairline); border:1px solid var(--hairline); margin-top:40px;}
.credential-strip div{flex:1; padding:16px 18px; background:var(--black);}
.credential-strip .l{font-family:'IBM Plex Mono', monospace; font-size:10px; text-transform:uppercase; color:var(--ink-faint); letter-spacing:0.08em;}
.credential-strip .v{font-family:'IBM Plex Mono', monospace; font-size:14px; color:var(--brass-bright); margin-top:4px;}
@media (max-width:760px){.about-grid{grid-template-columns:1fr;} .about-photo{max-width:280px;}}

/* ---- CTA BAND ---- */
.diag-cta{background:var(--charcoal); text-align:center;}
.diag-cta .wrap{max-width:680px;}
.diag-cta h2{margin:0 auto 16px; max-width:none;}
.diag-cta .section-lede{margin:0 auto;}
.diag-cta .btn{margin-top:24px;}
.diag-meta{margin-top:18px; font-size:12.5px; color:var(--ink-faint); font-family:'IBM Plex Mono', monospace;}

/* ---- CONTACT ---- */
.contact-grid{margin-top:48px; display:grid; grid-template-columns:1fr 1fr; gap:64px;}
.contact-line{padding:14px 0; border-bottom:1px solid var(--hairline); font-size:15px;}
.contact-line span{display:block; font-family:'IBM Plex Mono', monospace; font-size:11px; color:var(--ink-faint); text-transform:uppercase; letter-spacing:0.08em; margin-bottom:4px;}
form.contact-form{display:flex; flex-direction:column; gap:14px;}
.contact-form input, .contact-form textarea{background:transparent; border:none; border-bottom:1px solid var(--hairline-strong); color:var(--ink); padding:12px 2px; font-family:'Inter', sans-serif; font-size:14.5px; width:100%;}
.contact-form input:focus, .contact-form textarea:focus{border-color:var(--brass); outline:none;}
.contact-form ::placeholder{color:var(--ink-faint);}
.contact-form button{margin-top:10px; align-self:flex-start; border:none;}
@media (max-width:760px){.contact-grid{grid-template-columns:1fr; gap:36px;}}

/* ---- FOOTER ---- */
footer{padding:40px 0;}
.footer-row{display:flex; justify-content:space-between; flex-wrap:wrap; gap:16px; align-items:center;}
.footer-links{display:flex; gap:24px; flex-wrap:wrap;}
.footer-links a{font-size:12.5px; color:var(--ink-faint);}
.footer-links a:hover{color:var(--ink-dim);}
.footer-copy{font-size:12px; color:var(--ink-faint); font-family:'IBM Plex Mono', monospace;}
