/* ---------- Human Branded — brand stylesheet ---------- */
@font-face{font-family:'Inter Tight';src:url('fonts/InterTight-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'Inter Tight';src:url('fonts/InterTight-Medium.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:'Inter Tight';src:url('fonts/InterTight-ExtraBold.ttf') format('truetype');font-weight:800;font-display:swap}
@font-face{font-family:'Inter Tight Light';src:url('fonts/InterTight-Light.ttf') format('truetype');font-weight:300;font-display:swap}
@font-face{font-family:'IBM Plex Mono';src:url('fonts/IBMPlexMono-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'IBM Plex Mono';src:url('fonts/IBMPlexMono-Medium.ttf') format('truetype');font-weight:500;font-display:swap}

:root{
 --ink:#0C0B0A;--paper:#F3F0EA;--card:#FAF8F3;--grey:#6B665E;--muted:#9A968C;--faint:#BEB9AE;
 --line:#E1DCD1;--dark:#0C0B0A;--dark-card:#16140F;--line-d:#272420;--cream2:#EAE5DA;
 --mono:'IBM Plex Mono',monospace;--sans:'Inter Tight',system-ui,sans-serif;--light:'Inter Tight Light','Inter Tight',sans-serif;
 --maxw:1180px;--r:14px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--paper);color:var(--ink);line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}img{display:block;max-width:100%}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 30px}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--grey)}
.eyebrow .num{color:var(--ink);font-weight:500;margin-right:10px}
.dark .eyebrow{color:#8F8A80}.dark .eyebrow .num{color:#fff}
h1,h2,h3{font-weight:800;letter-spacing:-.015em;line-height:1.03}
.light{font-family:var(--light);font-weight:300}
section{padding:96px 0}
.dark{background:var(--dark);color:#EBE7DE}
.dark h1,.dark h2,.dark h3{color:#fff}.dark .grey{color:#8F8A80}

/* nav */
header.nav{position:sticky;top:0;z-index:50;background:rgba(243,240,234,.85);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav .row{display:flex;align-items:center;justify-content:space-between;height:70px;gap:20px}
.nav .logo{height:32px}
.nav .links{display:flex;gap:26px;align-items:center}
.nav .links a{font-size:15px;color:var(--ink);opacity:.82}
.nav .links a:hover{opacity:1}
.nav .links a.cta{color:#fff;opacity:1}
.nav .links a.cta:hover{color:#fff}
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:13px;font-weight:500;letter-spacing:.02em;padding:12px 20px;border-radius:10px;background:var(--ink);color:#fff;border:1px solid var(--ink);transition:.15s;cursor:pointer}
.btn:hover{background:#000}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}.btn.ghost:hover{border-color:var(--ink)}
.btn.lod{background:var(--paper);color:var(--ink);border-color:var(--paper)}.btn.lod:hover{background:#fff}
.btn.ghost-d{background:transparent;color:#fff;border-color:#39352F}.btn.ghost-d:hover{border-color:#fff}
.navtoggle{display:none;background:none;border:none;color:var(--ink);cursor:pointer;padding:6px}
@media(max-width:820px){
 .navtoggle{display:inline-flex;align-items:center}
 .nav .row{position:relative}
 .nav .links{position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;padding:8px 30px 20px;display:none;box-shadow:0 18px 34px -22px rgba(0,0,0,.3)}
 .nav.open .links{display:flex}
 .nav .links a{font-size:17px;padding:12px 0;border-bottom:1px solid var(--line)}
 .nav .links a.cta{margin-top:12px;justify-content:center;border-bottom:none}
}

/* hero */
.hero{position:relative;overflow:hidden;background:var(--dark);color:#EBE7DE;padding:128px 0 116px}
.hero .fp{position:absolute;right:-30px;top:50%;transform:translateY(-50%);height:128%;opacity:.12;pointer-events:none}
.hero .inner{position:relative;z-index:2;max-width:760px}
.hero .logo-h{height:64px;margin-bottom:30px}
.hero h1{font-size:60px;line-height:1.07;letter-spacing:-.012em;color:#fff;max-width:15ch}
.hero h1 .l{font-family:var(--light);font-weight:300;color:#BEB9AE}
.hero .sub{font-size:21px;color:#A9A498;margin-top:24px;max-width:560px;line-height:1.45}
.hero .cta-row{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap}
.hero .tags{display:flex;gap:10px;margin-top:40px;flex-wrap:wrap}
.tag{font-family:var(--mono);font-size:12px;color:#8F8A80;border:1px solid var(--line-d);border-radius:999px;padding:6px 14px}
@media(max-width:760px){.hero{padding:92px 0 80px}.hero h1{font-size:34px;max-width:none;line-height:1.1}.hero .logo-h{height:44px}.hero .sub{font-size:18px}.hero .fp{height:100%;opacity:.08;right:-60px}}

/* thesis */
.thesis h2{font-size:60px;line-height:1.02;letter-spacing:-.02em;max-width:16ch}
.thesis h2 b{font-weight:800}.thesis h2 .l{font-family:var(--light);font-weight:300}
.thesis p{font-size:19px;color:var(--grey);max-width:620px;margin-top:28px;line-height:1.5}
@media(max-width:760px){.thesis h2{font-size:34px}}

.shead{max-width:760px;margin-bottom:46px}
.shead h2{font-size:42px;margin-top:16px;letter-spacing:-.02em}
.shead p{font-size:18px;color:var(--grey);margin-top:16px;line-height:1.5;max-width:640px}
.dark .shead p{color:#8F8A80}
@media(max-width:760px){.shead h2{font-size:30px}section{padding:64px 0}}

/* three cols */
.cols3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
@media(max-width:780px){.cols3{grid-template-columns:1fr;gap:22px}}
.col h3{font-size:23px;margin-bottom:10px}
.col .bar{width:34px;height:3px;background:var(--ink);margin-bottom:18px}
.dark .col .bar{background:#fff}
.col p{font-size:15.5px;color:var(--grey);line-height:1.5}
.dark .col p{color:#8F8A80}

/* gap split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:26px}
@media(max-width:780px){.split{grid-template-columns:1fr}}
.panel{border-radius:var(--r);padding:34px;border:1px solid var(--line);background:var(--card)}
.panel.good{background:var(--ink);color:#EBE7DE;border-color:var(--ink)}
.panel .lab{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--grey);margin-bottom:16px}
.panel.good .lab{color:#A9A498}
.panel p{font-size:23px;font-family:var(--light);font-weight:300;line-height:1.32}

/* tiers */
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:820px){.tiers{grid-template-columns:1fr}}
.tier{border:1px solid var(--line-d);border-radius:var(--r);padding:30px;background:var(--dark-card);display:flex;flex-direction:column}
.tier .tnum{font-family:var(--mono);font-size:11px;letter-spacing:.16em;color:#8F8A80;margin-bottom:20px}
.tier .tlogo{height:34px;margin-bottom:18px;align-self:flex-start}
.tier p{font-size:15px;color:#A9A498;line-height:1.5;flex:1}
.tier .model{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#fff;margin-top:18px}
.tier a.tlink{font-family:var(--mono);font-size:12px;color:#fff;margin-top:16px;border-bottom:1px solid #39352F;padding-bottom:3px;align-self:flex-start}
.tier a.tlink:hover{border-color:#fff}

/* roadmap */
.road{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.road .r{display:grid;grid-template-columns:130px 230px 1fr;gap:20px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line)}
.road .st{font-family:var(--mono);font-size:11px;letter-spacing:.12em}
.road .st.now{color:var(--ink);font-weight:500}.road .st.soon{color:var(--muted)}
.road .rlogo{height:30px}
.road .rd{font-size:16px;color:var(--grey)}
@media(max-width:680px){.road .r{grid-template-columns:1fr;gap:8px}.road .rlogo{height:26px}}

/* desk spotlight */
.desk{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
@media(max-width:820px){.desk{grid-template-columns:1fr;gap:30px}}
.desk-feat{display:flex;flex-direction:column;gap:18px;border-top:1px solid var(--line-d);padding-top:6px}
.desk-feat .it{padding-top:16px;border-bottom:1px solid var(--line-d);padding-bottom:16px}
.desk-feat .it:last-child{border-bottom:none}
.desk-feat b{display:block;font-size:17px;color:#fff;margin-bottom:5px}
.desk-feat p{font-size:14.5px;color:#8F8A80;line-height:1.45}

/* plugins band */
.gpband{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;border:1px solid var(--line);border-radius:var(--r);background:var(--card);padding:40px}
@media(max-width:760px){.gpband{grid-template-columns:1fr}}
.gpband .gplogo{height:30px;margin-bottom:16px}
.gpband p{font-size:16px;color:var(--grey);line-height:1.5;max-width:520px}

/* projects */
.proj-feats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin-top:10px}
@media(max-width:760px){.proj-feats{grid-template-columns:1fr 1fr}}
.proj-feats .pf{background:var(--paper);padding:24px 22px}
.proj-feats .pf b{font-size:16px;display:block;margin-bottom:6px}
.proj-feats .pf p{font-size:13.5px;color:var(--grey);line-height:1.4}

/* cta */
.cta-band{text-align:center}
.cta-band h2{font-size:56px;letter-spacing:-.025em;max-width:880px;margin:0 auto}
.cta-band h2 .l{font-family:var(--light);font-weight:300;color:#BEB9AE}
.cta-band p{color:#8F8A80;font-size:18px;margin:22px auto 34px;max-width:520px}
.cta-band .row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
@media(max-width:760px){.cta-band h2{font-size:34px}}

/* footer */
footer.ft{background:var(--dark);color:#8F8A80;padding:56px 0 42px;border-top:1px solid var(--dark-card)}
footer.ft .top{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;align-items:flex-start}
footer.ft .logo{height:24px;margin-bottom:14px}
footer.ft .cols{display:flex;gap:60px;flex-wrap:wrap}
footer.ft h4{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#5E5A52;margin-bottom:14px;font-weight:500}
footer.ft a{display:block;color:#AEA99E;font-size:14px;margin-bottom:9px}footer.ft a:hover{color:#fff}
footer.ft .base{margin-top:42px;padding-top:22px;border-top:1px solid var(--dark-card);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-family:var(--mono);font-size:12px;color:#5E5A52}

/* language switcher */
.lang{display:flex;gap:5px;font-family:var(--mono);font-size:12px;align-items:center}
.lang a{padding:3px 8px;border-radius:6px;color:var(--muted);opacity:1}
.lang a.on{background:var(--ink);color:var(--paper)}
@media(max-width:820px){.nav .links .lang{padding:14px 0 4px;border-bottom:none}.nav .links .lang a{border-bottom:none}}
