/* =========================================================
   BIZOS — DESIGN SYSTEM
   AI-native ERP. Editorial. Swiss. Typography-first.
   No gradients. No shadows. Flat. Border-based hierarchy.
   ========================================================= */

:root{
  --paper:#F4F3EE; --paper-2:#ECEBE4; --surface:#FFFFFF;
  --ink:#0E0E0E; --ink-2:#1C1C1B; --ink-3:#2A2A28;
  --mute:#6E6D67; --mute-2:#8E8D86;
  --line:#D9D7CE; --line-2:#E5E3DA;
  --signal:#FF4D1A; --signal-ink:#C73A12; --signal-soft:#FFE9E0;
  --ok:#1F7A3A; --warn:#B86E00; --err:#B0271A; --info:#1F4FB0;

  --font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --font-display:"Instrument Serif","Times New Roman",Georgia,serif;
  --font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;

  --s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px;
  --s-5:20px; --s-6:24px; --s-7:32px; --s-8:40px;
  --s-9:48px; --s-10:64px; --s-11:80px; --s-12:96px;
  --s-13:128px; --s-14:160px;

  --container:1240px; --container-narrow:880px;
  --r-0:0; --r-1:2px; --r-2:4px; --r-3:8px; --r-pill:999px;
  --b:1px solid var(--line); --b-strong:1px solid var(--ink);
  --ease:cubic-bezier(.2,.7,.2,1);
  --d-fast:120ms; --d:220ms; --d-slow:420ms;
}

*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--font-sans); font-size:16px; line-height:1.55;
  color:var(--ink); background:var(--paper);
  font-feature-settings:"ss01","cv11","cv02","cv03";
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
img,svg,video{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;background:none;border:0;cursor:pointer;color:inherit}
hr{border:0;border-top:var(--b);margin:var(--s-9) 0}
::selection{background:var(--ink);color:var(--paper)}

/* TYPOGRAPHY */
.display{font-family:var(--font-display);font-weight:400;letter-spacing:-0.02em;line-height:.98;color:var(--ink)}
.h1{font-size:clamp(44px,6vw,88px);font-weight:400;letter-spacing:-0.03em;line-height:.98;font-family:var(--font-display)}
.h2{font-size:clamp(34px,4.2vw,56px);font-weight:400;letter-spacing:-0.025em;line-height:1.02;font-family:var(--font-display)}
.h3{font-size:clamp(24px,2.4vw,34px);font-weight:500;letter-spacing:-0.015em;line-height:1.12}
.h4{font-size:20px;font-weight:550;letter-spacing:-0.005em;line-height:1.25}
.h5{font-size:16px;font-weight:600;line-height:1.3}
.lead{font-size:clamp(18px,1.4vw,22px);line-height:1.5;color:var(--ink-2);max-width:62ch}
.eyebrow{font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--mute);display:inline-flex;align-items:center;gap:var(--s-2)}
.eyebrow .dot{width:6px;height:6px;background:var(--signal);border-radius:50%;display:inline-block}
.mono{font-family:var(--font-mono);font-size:13px;letter-spacing:-0.01em}
.muted{color:var(--mute)}
.italic{font-style:italic;font-family:var(--font-display)}

/* LAYOUT */
.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 var(--s-7)}
.container-narrow{width:100%;max-width:var(--container-narrow);margin:0 auto;padding:0 var(--s-7)}
.section{padding:var(--s-12) 0;border-top:var(--b)}
.section--tight{padding:var(--s-10) 0}
.grid{display:grid;gap:var(--s-6)}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
.grid-12{grid-template-columns:repeat(12,1fr)}
.row{display:flex;gap:var(--s-4)}
.row--between{justify-content:space-between}
.row--center{align-items:center}
.col{display:flex;flex-direction:column}
.gap-2{gap:var(--s-2)} .gap-3{gap:var(--s-3)} .gap-4{gap:var(--s-4)} .gap-6{gap:var(--s-6)} .gap-8{gap:var(--s-8)}
.col-span-4{grid-column:span 4} .col-span-5{grid-column:span 5}
.col-span-6{grid-column:span 6} .col-span-7{grid-column:span 7}
.col-span-8{grid-column:span 8} .col-span-12{grid-column:span 12}
.divider{height:1px;background:var(--line);width:100%}
.between{justify-content:space-between} .items-center{align-items:center}
.flex{display:flex}

/* NAV */
.nav{position:sticky;top:0;z-index:50;background:rgba(244,243,238,.85);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:var(--b)}
.nav__inner{display:flex;align-items:center;justify-content:space-between;height:64px}
.nav__brand{display:flex;align-items:center;gap:var(--s-2);font-family:var(--font-mono);font-weight:600;font-size:15px;letter-spacing:-0.02em;color:var(--ink)}
.nav__brand-mark{width:22px;height:22px;border:1.5px solid var(--ink);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:14px;line-height:1}
.nav__links{display:flex;gap:var(--s-7);font-size:14px}
.nav__links a{color:var(--ink-2);font-weight:450;transition:color var(--d-fast) var(--ease)}
.nav__links a:hover{color:var(--signal)}
.nav__cta{display:flex;gap:var(--s-3);align-items:center}
.nav__burger{display:none;width:36px;height:36px;border:var(--b);align-items:center;justify-content:center;background:var(--surface)}
.nav__burger span{display:block;width:14px;height:1.5px;background:var(--ink);position:relative}
.nav__burger span::before,.nav__burger span::after{content:'';position:absolute;left:0;width:14px;height:1.5px;background:var(--ink)}
.nav__burger span::before{top:-5px} .nav__burger span::after{top:5px}
@media (max-width:920px){
  .nav__links,.nav__cta .btn-text{display:none}
  .nav__burger{display:inline-flex}
}
.nav__mobile{display:none;border-bottom:var(--b);background:var(--paper);padding:var(--s-4) var(--s-7)}
.nav__mobile.open{display:block}
.nav__mobile a{display:block;padding:var(--s-3) 0;border-bottom:var(--b);font-size:15px}
.nav__mobile a:last-child{border-bottom:0}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);padding:10px 18px;font-size:14px;font-weight:500;letter-spacing:-0.005em;border-radius:var(--r-2);border:1px solid transparent;transition:background var(--d-fast) var(--ease),color var(--d-fast) var(--ease),border-color var(--d-fast) var(--ease);white-space:nowrap;cursor:pointer;line-height:1}
.btn--primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.btn--primary:hover{background:var(--signal);border-color:var(--signal);color:#fff}
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn--ghost:hover{background:var(--ink);color:var(--paper)}
.btn--quiet{background:transparent;color:var(--ink);border-color:transparent}
.btn--quiet:hover{color:var(--signal)}
.btn--sm{padding:8px 14px;font-size:13px}
.btn--lg{padding:14px 22px;font-size:15px}
.btn .arrow{transition:transform var(--d) var(--ease)}
.btn:hover .arrow{transform:translateX(3px)}

/* HERO */
.hero{padding:var(--s-12) 0 var(--s-11);border-bottom:var(--b);position:relative}
.hero__kicker{margin-bottom:var(--s-6)}
.hero h1{margin:0 0 var(--s-6);max-width:14ch}
.hero h1 .accent{font-style:italic;color:var(--signal)}
.hero__sub{max-width:56ch;font-size:clamp(17px,1.3vw,20px);color:var(--ink-2);line-height:1.5}
.hero__cta{display:flex;gap:var(--s-3);margin-top:var(--s-7);flex-wrap:wrap}
.hero__meta{margin-top:var(--s-9);display:grid;grid-template-columns:repeat(4,1fr);border-top:var(--b)}
.hero__meta>div{padding:var(--s-5) var(--s-4) 0 0;border-right:var(--b)}
.hero__meta>div:last-child{border-right:0;padding-right:0}
.hero__meta .k{font-family:var(--font-mono);font-size:11px;color:var(--mute);text-transform:uppercase;letter-spacing:.12em}
.hero__meta .v{font-family:var(--font-display);font-size:30px;margin-top:6px;line-height:1}
@media (max-width:720px){
  .hero__meta{grid-template-columns:repeat(2,1fr)}
  .hero__meta>div{border-bottom:var(--b);padding-bottom:var(--s-5)}
  .hero__meta>div:nth-child(2){border-right:0}
}

/* PRODUCT MOCK */
.mock{border:var(--b-strong);background:var(--surface);border-radius:var(--r-3);overflow:hidden;margin-top:var(--s-9)}
.mock__bar{display:flex;align-items:center;gap:var(--s-3);padding:10px 14px;border-bottom:var(--b);background:var(--paper-2);font-family:var(--font-mono);font-size:12px;color:var(--mute)}
.mock__bar .dots{display:flex;gap:6px}
.mock__bar .dots i{width:8px;height:8px;border-radius:50%;background:var(--line);display:inline-block}
.mock__body{display:grid;grid-template-columns:220px 1fr 320px;min-height:460px}
.mock__side{border-right:var(--b);padding:var(--s-4);font-size:13px}
.mock__side h6{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--mute);margin:var(--s-5) 0 var(--s-3)}
.mock__side h6:first-child{margin-top:0}
.mock__side ul{list-style:none;padding:0;margin:0}
.mock__side li{padding:6px 8px;border-radius:var(--r-2);color:var(--ink-2)}
.mock__side li.active{background:var(--ink);color:var(--paper)}
.mock__side li.active::before{content:'›';margin-right:8px}
.mock__main{padding:var(--s-6)}
.mock__main .chat{display:flex;flex-direction:column;gap:var(--s-3)}
.chat__msg{font-size:14px;line-height:1.55}
.chat__msg.user::before{content:'You';display:block;font-family:var(--font-mono);font-size:11px;color:var(--mute);margin-bottom:2px;text-transform:uppercase;letter-spacing:.12em}
.chat__msg.agent::before{content:'Bizos · Finance Agent';display:block;font-family:var(--font-mono);font-size:11px;color:var(--signal);margin-bottom:2px;text-transform:uppercase;letter-spacing:.12em}
.chat__msg .step{display:flex;gap:var(--s-2);padding:6px 0;border-top:1px dashed var(--line);font-family:var(--font-mono);font-size:12px;color:var(--mute)}
.chat__msg .step i{color:var(--ok);font-style:normal}
.mock__right{border-left:var(--b);padding:var(--s-5);background:var(--paper-2)}
.mock__right h6{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--mute);margin:0 0 var(--s-4)}
.kpi{display:flex;flex-direction:column;gap:2px;padding:var(--s-3) 0;border-top:var(--b)}
.kpi:first-of-type{border-top:0;padding-top:0}
.kpi .k{font-size:12px;color:var(--mute)}
.kpi .v{font-family:var(--font-display);font-size:24px;line-height:1}
.kpi .d{font-size:11px;color:var(--ok);font-family:var(--font-mono)}
.kpi .d.neg{color:var(--err)}
@media (max-width:920px){
  .mock__body{grid-template-columns:1fr}
  .mock__side,.mock__right{display:none}
}

/* LOGO STRIP */
.logos{display:grid;grid-template-columns:repeat(6,1fr);border-top:var(--b);border-bottom:var(--b)}
.logos__item{border-right:var(--b);padding:var(--s-6) var(--s-4);font-family:var(--font-display);font-size:22px;letter-spacing:-0.02em;color:var(--mute);display:flex;align-items:center;justify-content:center;text-align:center}
.logos__item:last-child{border-right:0}
@media (max-width:760px){
  .logos{grid-template-columns:repeat(3,1fr)}
  .logos__item:nth-child(3){border-right:0}
  .logos__item:nth-child(n+4){border-top:var(--b)}
  .logos__item:nth-child(6){border-right:0}
}

/* BENTO */
.bento{display:grid;grid-template-columns:repeat(6,1fr);border:var(--b);border-radius:var(--r-3);overflow:hidden}
.bento__cell{padding:var(--s-7);border-right:var(--b);border-bottom:var(--b);background:var(--surface);display:flex;flex-direction:column;gap:var(--s-4);min-height:280px}
.bento__cell:hover{background:var(--paper-2)}
.bento__cell.w-2{grid-column:span 2}
.bento__cell.w-3{grid-column:span 3}
.bento__cell.w-4{grid-column:span 4}
.bento__cell.w-6{grid-column:span 6}
.bento__cell h4{margin:0}
.bento__cell p{margin:0;color:var(--mute);font-size:15px}
.bento__cell .ico{width:36px;height:36px;border:1.5px solid var(--ink);border-radius:var(--r-2);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:14px}
@media (max-width:920px){
  .bento{grid-template-columns:1fr}
  .bento__cell{grid-column:span 1 !important;border-right:0}
}

/* FLOW */
.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:var(--b);border-radius:var(--r-3);background:var(--surface)}
.flow__node{padding:var(--s-6);border-right:var(--b);position:relative;min-height:200px;display:flex;flex-direction:column;gap:var(--s-3)}
.flow__node:last-child{border-right:0}
.flow__node .num{font-family:var(--font-mono);font-size:11px;color:var(--signal);letter-spacing:.12em}
.flow__node h5{margin:0;font-size:18px;font-weight:550}
.flow__node p{margin:0;color:var(--mute);font-size:13.5px;line-height:1.5}
.flow__node::after{content:'→';position:absolute;right:-10px;top:50%;transform:translateY(-50%);width:20px;height:20px;background:var(--paper);color:var(--ink);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:14px;border:var(--b);border-radius:50%;z-index:1}
.flow__node:last-child::after{display:none}
@media (max-width:920px){
  .flow{grid-template-columns:1fr}
  .flow__node{border-right:0;border-bottom:var(--b)}
  .flow__node:last-child{border-bottom:0}
  .flow__node::after{top:auto;bottom:-10px;right:50%;transform:translateX(50%) rotate(90deg)}
}

/* SPLIT */
.split{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-12);align-items:center}
.split--reverse>:first-child{order:2}
@media (max-width:920px){
  .split{grid-template-columns:1fr;gap:var(--s-9)}
  .split--reverse>:first-child{order:0}
}

/* METRICS */
.metrics{display:grid;grid-template-columns:repeat(4,1fr);border-top:var(--b);border-bottom:var(--b)}
.metrics>div{padding:var(--s-7) var(--s-4);border-right:var(--b)}
.metrics>div:last-child{border-right:0}
.metrics .v{font-family:var(--font-display);font-size:clamp(40px,4.5vw,60px);line-height:1}
.metrics .k{font-size:13px;color:var(--mute);margin-top:var(--s-3)}
@media (max-width:760px){
  .metrics{grid-template-columns:repeat(2,1fr)}
  .metrics>div:nth-child(2){border-right:0}
  .metrics>div:nth-child(n+3){border-top:var(--b)}
}

/* PRICING */
.pricing{display:grid;grid-template-columns:repeat(3,1fr);border:var(--b);border-radius:var(--r-3);overflow:hidden;background:var(--surface)}
.plan{padding:var(--s-7);border-right:var(--b);display:flex;flex-direction:column;gap:var(--s-4)}
.plan:last-child{border-right:0}
.plan.featured{background:var(--ink);color:var(--paper)}
.plan.featured .plan__price{color:var(--paper)}
.plan.featured ul li::before{color:var(--signal)}
.plan.featured .btn--ghost{border-color:var(--paper);color:var(--paper)}
.plan.featured .btn--ghost:hover{background:var(--signal);border-color:var(--signal);color:#fff}
.plan.featured .muted{color:rgba(244,243,238,.65)}
.plan__name{font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.plan__price{font-family:var(--font-display);font-size:48px;line-height:1}
.plan__price small{font-family:var(--font-sans);font-size:14px;color:var(--mute)}
.plan ul{list-style:none;padding:0;margin:var(--s-4) 0;display:flex;flex-direction:column;gap:var(--s-3);font-size:14px}
.plan ul li{position:relative;padding-left:22px;line-height:1.5}
.plan ul li::before{content:'+';position:absolute;left:0;top:0;color:var(--signal);font-family:var(--font-mono);font-weight:600}
@media (max-width:920px){
  .pricing{grid-template-columns:1fr}
  .plan{border-right:0;border-bottom:var(--b)}
  .plan:last-child{border-bottom:0}
}

/* QUOTE */
.quote{border:var(--b);border-radius:var(--r-3);padding:var(--s-8);background:var(--surface)}
.quote__text{font-family:var(--font-display);font-size:clamp(22px,2.2vw,30px);line-height:1.25;letter-spacing:-0.015em;color:var(--ink)}
.quote__author{margin-top:var(--s-6);display:flex;align-items:center;gap:var(--s-3);border-top:var(--b);padding-top:var(--s-4)}
.quote__avatar{width:40px;height:40px;border:var(--b-strong);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:16px}
.quote__name{font-weight:550;font-size:14px}
.quote__role{font-size:12px;color:var(--mute)}

/* FAQ */
.faq{border-top:var(--b)}
.faq__item{border-bottom:var(--b)}
.faq__q{width:100%;display:flex;justify-content:space-between;align-items:center;padding:var(--s-5) 0;text-align:left;font-size:18px;font-weight:500;letter-spacing:-0.01em;color:var(--ink)}
.faq__q .sign{font-family:var(--font-mono);font-size:18px;color:var(--mute);transition:transform var(--d) var(--ease)}
.faq__item.open .faq__q .sign{transform:rotate(45deg);color:var(--signal)}
.faq__a{max-height:0;overflow:hidden;transition:max-height var(--d) var(--ease);color:var(--mute);font-size:15px;line-height:1.6}
.faq__item.open .faq__a{max-height:400px;padding-bottom:var(--s-5)}

/* TABLE */
.table{width:100%;border-collapse:collapse;font-size:14px}
.table th,.table td{text-align:left;padding:var(--s-4);border-bottom:var(--b);vertical-align:top}
.table th{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);font-weight:500;border-bottom:var(--b-strong)}
.table tr:hover td{background:var(--paper-2)}

/* TAGS */
.tag{display:inline-flex;align-items:center;gap:var(--s-2);padding:3px 8px;border:var(--b);border-radius:var(--r-pill);font-family:var(--font-mono);font-size:11px;color:var(--ink-2);background:var(--surface)}
.tag--signal{border-color:var(--signal);color:var(--signal)}
.tag--ok{border-color:var(--ok);color:var(--ok)}
.tag--mute{color:var(--mute)}

/* FORM */
.field{display:flex;flex-direction:column;gap:var(--s-2)}
.field label{font-size:12px;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.field input,.field textarea,.field select{width:100%;padding:12px 14px;background:var(--surface);border:var(--b);border-radius:var(--r-2);font:inherit;color:var(--ink);transition:border-color var(--d-fast) var(--ease)}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--ink)}
.field textarea{min-height:140px;resize:vertical}
.field--row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-4)}

/* FOOTER */
.footer{border-top:var(--b);padding:var(--s-11) 0 var(--s-7);background:var(--paper)}
.footer__grid{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:var(--s-8)}
.footer h6{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--mute);margin:0 0 var(--s-4);font-weight:500}
.footer ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--s-3)}
.footer a{font-size:14px;color:var(--ink-2)}
.footer a:hover{color:var(--signal)}
.footer__brand p{max-width:36ch;color:var(--mute);font-size:14px;line-height:1.55;margin:var(--s-4) 0 0}
.footer__bottom{margin-top:var(--s-10);padding-top:var(--s-5);border-top:var(--b);display:flex;justify-content:space-between;align-items:center;font-family:var(--font-mono);font-size:12px;color:var(--mute)}
@media (max-width:920px){
  .footer__grid{grid-template-columns:1fr 1fr}
  .footer__brand{grid-column:span 2}
}

/* PAGE HEADER */
.page-header{padding:var(--s-12) 0 var(--s-10);border-bottom:var(--b)}
.page-header h1{margin:var(--s-4) 0;max-width:18ch}
.page-header .lead{margin-top:var(--s-4)}

/* DOCS */
.docs{display:grid;grid-template-columns:240px 1fr;gap:var(--s-10);padding-top:var(--s-9);padding-bottom:var(--s-12)}
.docs__nav{border-right:var(--b);padding-right:var(--s-6);position:sticky;top:80px;align-self:flex-start;max-height:calc(100vh - 100px);overflow:auto}
.docs__nav h6{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--mute);margin:var(--s-5) 0 var(--s-3)}
.docs__nav a{display:block;padding:6px 0;font-size:14px;color:var(--ink-2)}
.docs__nav a.active{color:var(--signal);font-weight:500}
.docs__nav a:hover{color:var(--signal)}
.docs__body h2{margin-top:var(--s-9)}
.docs__body h2:first-child{margin-top:0}
.docs__body h3{margin-top:var(--s-7)}
.docs__body p{color:var(--ink-2);max-width:70ch;line-height:1.65}
.docs__body pre{background:var(--ink);color:#EDEBE3;padding:var(--s-5);border-radius:var(--r-3);font-family:var(--font-mono);font-size:13px;line-height:1.55;overflow:auto}
.docs__body code{font-family:var(--font-mono);font-size:13px;background:var(--paper-2);padding:2px 6px;border-radius:var(--r-2)}
.docs__body pre code{background:none;padding:0;color:inherit}
@media (max-width:920px){
  .docs{grid-template-columns:1fr}
  .docs__nav{position:static;border-right:0;padding-right:0;border-bottom:var(--b);padding-bottom:var(--s-5)}
}

/* BLOG */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:var(--b)}
.post{padding:var(--s-7) var(--s-6) var(--s-7) 0;border-bottom:var(--b);border-right:var(--b);display:flex;flex-direction:column;gap:var(--s-3)}
.post:nth-child(3n){border-right:0;padding-right:0}
.post:nth-child(3n+1){padding-left:0}
.post:not(:nth-child(3n+1)){padding-left:var(--s-6)}
.post .meta{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;color:var(--mute);text-transform:uppercase}
.post h3{font-family:var(--font-display);font-size:26px;letter-spacing:-0.015em;line-height:1.1;font-weight:400}
.post p{color:var(--mute);font-size:14px;line-height:1.55}
.post .read{font-family:var(--font-mono);font-size:12px;margin-top:auto}
@media (max-width:920px){
  .posts{grid-template-columns:1fr}
  .post{border-right:0;padding:var(--s-6) 0 !important}
}

/* CHANGELOG */
.entry{display:grid;grid-template-columns:200px 1fr;gap:var(--s-8);padding:var(--s-8) 0;border-top:var(--b)}
.entry .date{font-family:var(--font-mono);font-size:12px;color:var(--mute);letter-spacing:.08em;text-transform:uppercase}
.entry h3{margin:0 0 var(--s-3)}
.entry ul{padding-left:var(--s-5);color:var(--ink-2);font-size:15px;line-height:1.7}
@media (max-width:760px){.entry{grid-template-columns:1fr;gap:var(--s-3)}}

/* DASHBOARD */
.dash{border:var(--b);border-radius:var(--r-3);overflow:hidden;background:var(--surface)}
.dash__head{display:flex;justify-content:space-between;align-items:center;padding:var(--s-5) var(--s-6);border-bottom:var(--b);background:var(--paper-2)}
.dash__grid{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:var(--b)}
.dash__kpi{padding:var(--s-6);border-right:var(--b)}
.dash__kpi:last-child{border-right:0}
.dash__kpi .k{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.dash__kpi .v{font-family:var(--font-display);font-size:36px;line-height:1;margin-top:var(--s-3)}
.dash__kpi .d{font-family:var(--font-mono);font-size:12px;margin-top:var(--s-2);color:var(--ok)}
.dash__chart{padding:var(--s-6);display:grid;grid-template-columns:2fr 1fr;gap:var(--s-6)}
.dash__bars{display:flex;align-items:flex-end;gap:var(--s-3);height:200px;border-bottom:var(--b);padding-bottom:var(--s-3)}
.dash__bars .bar{flex:1;background:var(--ink);border-radius:var(--r-1) var(--r-1) 0 0}
.dash__bars .bar.signal{background:var(--signal)}
.dash__list h6{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--mute);margin:0 0 var(--s-3)}
.dash__list .item{display:flex;justify-content:space-between;padding:var(--s-3) 0;border-bottom:var(--b);font-size:13px}
.dash__list .item:last-child{border-bottom:0}
@media (max-width:920px){
  .dash__grid{grid-template-columns:repeat(2,1fr)}
  .dash__kpi:nth-child(2){border-right:0}
  .dash__chart{grid-template-columns:1fr}
}

/* CTA */
.cta{border:var(--b-strong);border-radius:var(--r-3);padding:var(--s-11) var(--s-8);text-align:center;background:var(--ink);color:var(--paper)}
.cta h2{color:var(--paper);margin:0 0 var(--s-4);max-width:20ch;margin-left:auto;margin-right:auto}
.cta p{color:rgba(244,243,238,.75);max-width:56ch;margin:0 auto var(--s-7)}
.cta .btn--ghost{border-color:var(--paper);color:var(--paper)}
.cta .btn--ghost:hover{background:var(--signal);border-color:var(--signal)}
.cta .btn--primary{background:var(--signal);border-color:var(--signal);color:#fff}
.cta .btn--primary:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}

/* AUTH */
.auth{min-height:calc(100vh - 64px);display:grid;grid-template-columns:1fr 1fr}
.auth__panel{padding:var(--s-11) var(--s-9);display:flex;flex-direction:column;justify-content:center}
.auth__art{background:var(--ink);color:var(--paper);padding:var(--s-11) var(--s-9);display:flex;flex-direction:column;justify-content:space-between;border-left:var(--b-strong)}
.auth__art h2{color:var(--paper);font-family:var(--font-display);font-size:38px;letter-spacing:-0.02em;line-height:1.05;margin:0;max-width:18ch}
.auth__art .credit{font-family:var(--font-mono);font-size:12px;color:rgba(244,243,238,.6)}
.auth__panel form{display:flex;flex-direction:column;gap:var(--s-4);max-width:380px}
@media (max-width:920px){
  .auth{grid-template-columns:1fr;min-height:auto}
  .auth__art{display:none}
}

/* UTILS */
.center{text-align:center}
.mx-auto{margin-left:auto;margin-right:auto}
.mt-2{margin-top:var(--s-2)} .mt-3{margin-top:var(--s-3)} .mt-4{margin-top:var(--s-4)}
.mt-6{margin-top:var(--s-6)} .mt-8{margin-top:var(--s-8)} .mt-10{margin-top:var(--s-10)}
.mb-3{margin-bottom:var(--s-3)} .mb-4{margin-bottom:var(--s-4)} .mb-6{margin-bottom:var(--s-6)} .mb-8{margin-bottom:var(--s-8)}
.maxw-narrow{max-width:60ch}

/* ANIMATION */
.reveal{opacity:0;transform:translateY(8px);transition:opacity 600ms var(--ease),transform 600ms var(--ease)}
.reveal.in{opacity:1;transform:none}
.marquee{overflow:hidden;border-top:var(--b);border-bottom:var(--b);padding:var(--s-4) 0}
.marquee__inner{display:flex;gap:var(--s-9);animation:marquee 40s linear infinite;font-family:var(--font-mono);font-size:12px;color:var(--mute);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.marquee span::before{content:'●';margin-right:var(--s-4);color:var(--signal)}
