/* ============================================================
   REFIRA - GAMBID LABS DESIGN STANDARD
   Editorial, financial, institutional. Mint accent as signal.
   Light warm-white base; dark graphite bands for product/ops.
   ============================================================ */
:root{
  --paper:#f4f3ee;        /* warm white base */
  --paper2:#eeece4;       /* light neutral band */
  --card:#fdfdfa;         /* raised surface */
  --line:#e2e1d8;         /* hairline */
  --line2:#d3d2c7;        /* stronger hairline */
  --ink:#0f120f;          /* near-black */
  --ink2:#4f544c;         /* secondary */
  --ink3:#8b9086;         /* tertiary / labels */
  --graphite:#0b0d0b;     /* dark band */
  --graphite2:#12160f;    /* dark raised */
  --dline:rgba(255,255,255,.09);
  --dline2:rgba(255,255,255,.16);
  --dink:#f4f5f0;
  --dink2:#a9aea3;
  --dink3:#6d726a;
  --mint:#12b878;         /* accent (light-safe) */
  --mint-b:#3ce8a6;       /* accent (dark-safe bright) */
  --mint-soft:rgba(18,184,120,.10);
  --amber:#b8860b;
  --red:#c0392b;
  --red-b:#e86054;
  --sans:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,Menlo,monospace;
  --maxw:1320px;
  --pad:clamp(20px,5vw,72px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--sans);background:var(--paper);color:var(--ink);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button{font-family:inherit;font-size:inherit;border:none;background:none;color:inherit;cursor:pointer}
.mono{font-family:var(--mono);font-feature-settings:"tnum" 1}
.wrap{max-width:var(--maxw);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}

/* ---- type scale ---- */
h1,h2,h3{font-weight:700;letter-spacing:-.02em;line-height:1.02}
.display{font-weight:800;letter-spacing:-.035em;line-height:.98;font-size:clamp(44px,7.6vw,116px)}
.h2{font-weight:700;letter-spacing:-.028em;line-height:1.02;font-size:clamp(30px,4.4vw,62px)}
.h3{font-weight:650;letter-spacing:-.02em;font-size:clamp(20px,2.1vw,29px)}
.lede{font-size:clamp(16px,1.5vw,20px);color:var(--ink2);line-height:1.55;font-weight:450;max-width:46ch}
.label{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--ink3)}
.eyebrow{font-family:var(--mono);font-size:11.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--mint);display:inline-flex;align-items:center;gap:11px}
.eyebrow::before{content:"";width:24px;height:1px;background:var(--mint);opacity:.7}
.idx{font-family:var(--mono);font-size:12.5px;letter-spacing:.1em;color:var(--ink3)}

/* ---- buttons ---- */
.btn{display:inline-flex;align-items:center;gap:9px;height:46px;padding:0 22px;border-radius:3px;font-size:14.5px;font-weight:600;letter-spacing:-.01em;transition:transform .16s ease,background .16s,color .16s,border-color .16s;white-space:nowrap}
.btn .ar{transition:transform .2s ease}
.btn:hover .ar{transform:translateX(3px)}
.btn.solid{background:var(--ink);color:var(--paper)}
.btn.solid:hover{transform:translateY(-1px)}
.btn.mint{background:var(--mint);color:#04140d}
.btn.mint:hover{background:#0fa46b;transform:translateY(-1px)}
.btn.line{border:1px solid var(--line2);color:var(--ink);background:transparent}
.btn.line:hover{border-color:var(--ink);background:rgba(0,0,0,.02)}
.btn.sm{height:38px;padding:0 15px;font-size:13px}

/* ---- nav ---- */
nav{position:fixed;top:0;left:0;right:0;z-index:60;transition:background .25s,border-color .25s,backdrop-filter .25s;border-bottom:1px solid transparent}
nav.on{background:rgba(244,243,238,.82);backdrop-filter:saturate(1.4) blur(14px);border-bottom-color:var(--line)}
.navbar{display:flex;align-items:center;gap:18px;height:66px}
.brand{display:flex;align-items:center;gap:11px;font-weight:700;letter-spacing:-.02em;font-size:18px}
.mark{width:22px;height:22px;border-radius:5px;background:var(--ink);position:relative;flex-shrink:0}
.mark::before{content:"";position:absolute;inset:5px;border-radius:2px;border:1.6px solid var(--paper)}
.mark::after{content:"";position:absolute;left:9.5px;top:9.5px;width:3px;height:3px;border-radius:50%;background:var(--mint-b)}
.brand small{font-family:var(--mono);font-size:9px;letter-spacing:.16em;color:var(--ink3);text-transform:uppercase;font-weight:500;margin-left:2px;border-left:1px solid var(--line2);padding-left:9px}
.nav-links{display:flex;gap:24px;margin-left:26px}
.nav-links a{font-size:14px;font-weight:500;color:var(--ink2);transition:color .15s}
.nav-links a:hover{color:var(--ink)}
.nav-right{margin-left:auto;display:flex;align-items:center;gap:16px}
.nav-right .si{font-size:14px;font-weight:500;color:var(--ink2)}
.nav-right .si:hover{color:var(--ink)}
@media(max-width:820px){.nav-links{display:none}.brand small{display:none}}

/* ---- sections ---- */
section{position:relative}
.band{padding:clamp(64px,9vw,132px) 0}
.band.paper2{background:var(--paper2)}
.rule{height:1px;background:var(--line);border:0}
.dark{background:var(--graphite);color:var(--dink)}
.dark .label,.dark .idx{color:var(--dink3)}
.dark .lede{color:var(--dink2)}
.dark .eyebrow{color:var(--mint-b)}.dark .eyebrow::before{background:var(--mint-b)}
.sechead{display:grid;grid-template-columns:120px 1fr;gap:0 34px;align-items:start}
.sechead .idx{padding-top:12px}
.sechead .hx{max-width:none}
.sechead .hx h2{max-width:16em}
.sechead .hx .lede{max-width:44ch}
@media(max-width:720px){.sechead{grid-template-columns:1fr;gap:14px}.sechead .idx{padding-top:0}}

/* ---- hero ---- */
.hero{padding:calc(66px + clamp(34px,7vw,84px)) 0 clamp(40px,6vw,72px)}
.hero .display{max-width:15ch;margin-top:22px}
.hero .display .g{color:var(--ink3)}
.hero-sub{margin-top:26px}
.tw-line{margin-top:22px;font-family:var(--mono);font-size:clamp(13px,1.35vw,15.5px);letter-spacing:.01em;color:var(--ink2);min-height:1.5em;display:flex;align-items:center;gap:8px}
.tw-line .pr{color:var(--mint);font-weight:600}
.caret{display:inline-block;width:8px;height:1.05em;background:var(--mint);transform:translateY(1px);animation:blink 1.05s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
@media(prefers-reduced-motion:reduce){.caret{display:none}}
.hero-cta{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}
.hero-meta{margin-top:26px;display:flex;flex-wrap:wrap;gap:8px 26px;font-family:var(--mono);font-size:11.5px;letter-spacing:.05em;color:var(--ink3)}
.hero-meta b{color:var(--ink2);font-weight:600}

/* ---- product surface (recreated real UI) ---- */
.surface{background:var(--graphite);color:var(--dink);border:1px solid var(--dline);border-radius:6px;overflow:hidden;box-shadow:0 40px 90px -50px rgba(8,12,8,.6)}
.surface.light{background:var(--card);color:var(--ink);border-color:var(--line);box-shadow:0 30px 70px -46px rgba(20,24,18,.32)}
.s-bar{display:flex;align-items:center;gap:10px;padding:11px 16px;border-bottom:1px solid var(--dline);font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--dink3)}
.surface.light .s-bar{border-color:var(--line);color:var(--ink3)}
.s-bar .dot{width:8px;height:8px;border-radius:50%;background:var(--mint-b)}
.s-bar .sp{margin-left:auto}
.notional{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;color:var(--dink3);text-transform:uppercase;opacity:.85}
.surface.light .notional{color:var(--ink3)}

/* data table */
.tbl{width:100%;border-collapse:collapse;font-size:13px}
.tbl th{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--dink3);text-align:left;font-weight:500;padding:11px 14px;border-bottom:1px solid var(--dline)}
.surface.light .tbl th{color:var(--ink3);border-color:var(--line)}
.tbl td{padding:12px 14px;border-bottom:1px solid var(--dline)}
.surface.light .tbl td{border-color:var(--line)}
.tbl tr:last-child td{border-bottom:0}
.tbl .r{text-align:right}
.tbl .num{font-family:var(--mono);font-variant-numeric:tabular-nums}
.pos{color:var(--mint-b)}.surface.light .pos{color:var(--mint)}
.neg{color:var(--red-b)}.surface.light .neg{color:var(--red)}
.vb{display:inline-block;font-family:var(--mono);font-size:9.5px;font-weight:600;letter-spacing:.09em;padding:2px 8px;border-radius:999px}
.vb.star{color:#0b9c6a;background:rgba(60,232,166,.16)}
.vb.solid{color:var(--dink2);background:rgba(255,255,255,.09)}
.surface.light .vb.solid{color:var(--ink2);background:rgba(0,0,0,.06)}
.vb.watch{color:#d99b16;background:rgba(184,134,11,.18)}
.vb.drain{color:#ff7a6d;background:rgba(200,40,40,.18)}
.surface.light .vb.drain{color:var(--red)}
.hbar{width:52px;height:5px;border-radius:3px;background:var(--dline2);overflow:hidden;display:inline-block;vertical-align:middle}
.surface.light .hbar{background:var(--line2)}
.hbar span{display:block;height:100%;background:var(--mint-b)}
.surface.light .hbar span{background:var(--mint)}

/* value chain rail */
.chain{display:grid;grid-template-columns:repeat(8,1fr);gap:0;border:1px solid var(--dline);border-radius:6px;overflow:hidden}
.chain .node{padding:18px 14px;border-right:1px solid var(--dline);position:relative}
.chain .node:last-child{border-right:0}
.chain .node .k{font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--dink3);text-transform:uppercase}
.chain .node .v{font-family:var(--mono);font-size:14px;font-weight:600;margin-top:8px;color:var(--dink);opacity:0;transform:translateY(4px);transition:all .4s}
.chain .node.on .k{color:var(--mint-b)}
.chain .node.on .v{opacity:1;transform:none}
.chain .node .dot{position:absolute;top:14px;right:12px;width:7px;height:7px;border-radius:50%;border:1.4px solid var(--dink3);transition:all .3s}
.chain .node.on .dot{background:var(--mint-b);border-color:var(--mint-b);box-shadow:0 0 0 4px var(--mint-soft)}
@media(max-width:860px){.chain{grid-template-columns:repeat(4,1fr)}.chain .node:nth-child(4){border-right:0}.chain .node:nth-child(-n+4){border-bottom:1px solid var(--dline)}}
@media(max-width:520px){.chain{grid-template-columns:repeat(2,1fr)}.chain .node:nth-child(2){border-right:0}}

/* rrow */
.rrow{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--dline);font-size:13px;align-items:center}
.surface.light .rrow{border-color:var(--line)}
.rrow:last-child{border-bottom:0}
.rrow .k{color:var(--dink3);font-family:var(--mono);font-size:11px;letter-spacing:.05em;text-transform:uppercase}
.surface.light .rrow .k{color:var(--ink3)}
.rrow .v{font-family:var(--mono);font-size:13px}

/* two-col */
.two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,60px);align-items:center}
.two.wide{grid-template-columns:.9fr 1.1fr}
@media(max-width:900px){.two,.two.wide{grid-template-columns:1fr;gap:34px}}

/* feature list (no card farm) */
.flist{border-top:1px solid var(--line)}
.dark .flist{border-color:var(--dline)}
.fitem{display:grid;grid-template-columns:60px 1fr;gap:0 26px;padding:22px 0;border-bottom:1px solid var(--line)}
.dark .fitem{border-color:var(--dline)}
.fitem .idx{padding-top:3px}
.fitem h4{font-size:17px;font-weight:600;letter-spacing:-.01em;margin-bottom:5px}
.fitem p{font-size:14px;color:var(--ink2);max-width:52ch}
.dark .fitem p{color:var(--dink2)}

/* code */
.code{background:var(--graphite2);border:1px solid var(--dline);border-radius:6px;overflow:hidden}
.code .ch{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--dline);font-family:var(--mono);font-size:11px;color:var(--dink3);letter-spacing:.06em}
.code pre{margin:0;padding:16px;overflow-x:auto;font-family:var(--mono);font-size:12.5px;line-height:1.7;color:#cdd3c9}
.code .cm{color:#6d726a}.code .st{color:var(--mint-b)}.code .nm{color:#f0d98a}

/* pill tabs */
.tabs{display:inline-flex;border:1px solid var(--line2);border-radius:4px;overflow:hidden}
.dark .tabs{border-color:var(--dline2)}
.tabs button{padding:8px 16px;font-size:13px;font-weight:500;color:var(--ink2);border-right:1px solid var(--line2)}
.tabs button:last-child{border-right:0}
.tabs button.on{background:var(--ink);color:var(--paper)}

/* stat band */
.stats{display:grid;grid-template-columns:repeat(4,1fr)}
.stats .st{padding:26px 22px;border-right:1px solid var(--dline)}
.stats .st:last-child{border-right:0}
.stats .st .k{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--dink3)}
.stats .st .v{font-size:clamp(24px,3vw,38px);font-weight:700;letter-spacing:-.03em;margin-top:12px;color:var(--mint-b)}
.stats .st .s{font-size:12.5px;color:var(--dink2);margin-top:6px}
@media(max-width:820px){.stats{grid-template-columns:1fr 1fr}.stats .st:nth-child(2){border-right:0}.stats .st:nth-child(-n+2){border-bottom:1px solid var(--dline)}}

/* cta blocks */
.ctas{display:grid;grid-template-columns:1fr 1fr;gap:1px;border:1px solid var(--line);background:var(--line)}
.ctablk{background:var(--paper);padding:clamp(30px,4vw,54px);display:flex;flex-direction:column;justify-content:space-between;min-height:220px;transition:background .2s}
.ctablk.d{background:var(--graphite);color:var(--dink)}
.ctablk:hover{background:var(--paper2)}
.ctablk.d:hover{background:var(--graphite2)}
.ctablk .big{font-size:clamp(26px,3.2vw,42px);font-weight:700;letter-spacing:-.03em;display:flex;justify-content:space-between;align-items:center;gap:16px}
.ctablk p{font-size:14px;color:var(--ink2);margin-top:14px;max-width:34ch}
.ctablk.d p{color:var(--dink2)}
@media(max-width:720px){.ctas{grid-template-columns:1fr}}

/* footer */
footer{background:var(--graphite);color:var(--dink);padding-top:clamp(56px,7vw,96px);overflow:hidden}
.fcols{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:30px}
.fcol h5{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--dink3);margin-bottom:16px;font-weight:500}
.fcol a{display:block;font-size:14px;color:var(--dink2);padding:5px 0;transition:color .15s}
.fcol a:hover{color:var(--dink)}
.fbrand .brand{color:var(--dink)}
.fbrand .mark{background:var(--dink)}.fbrand .mark::before{border-color:var(--graphite)}
.fbrand p{font-size:13.5px;color:var(--dink2);margin-top:16px;max-width:34ch;line-height:1.6}
.fmeta{display:flex;flex-wrap:wrap;gap:14px 26px;align-items:center;padding:26px 0;margin-top:44px;border-top:1px solid var(--dline);font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--dink3)}
.fmeta .gl{margin-left:auto;color:var(--dink2)}
.wordmark{font-weight:800;letter-spacing:-.05em;line-height:.78;font-size:clamp(92px,25.5vw,412px);color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.10);text-align:center;padding:12px 0 6px;user-select:none;position:relative}
.wordmark::after{content:"REFIRA";position:absolute;inset:0;color:rgba(255,255,255,.03);-webkit-text-stroke:0;display:flex;align-items:center;justify-content:center;padding:12px 0 6px}
@media(max-width:900px){.fcols{grid-template-columns:1fr 1fr}.fbrand{grid-column:1/-1}}

/* reveal */
.rv{opacity:0;transform:translateY(16px);transition:opacity .7s cubic-bezier(.2,.6,.2,1),transform .7s cubic-bezier(.2,.6,.2,1)}
.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}.chain .node .v{opacity:1;transform:none}}

.mt{margin-top:clamp(30px,4vw,58px)}
.mt2{margin-top:clamp(16px,2vw,26px)}
.center{text-align:center}

/* ---- sub-page additions ---- */
.subhero{padding:calc(66px + clamp(40px,7vw,80px)) 0 clamp(30px,4vw,54px)}
.subhero .display{font-size:clamp(40px,6.4vw,92px);max-width:16ch;margin-top:20px}
.crumb{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3)}
.dark .crumb{color:var(--dink3)}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.dark .grid3{background:var(--dline);border-color:var(--dline)}
.gcell{background:var(--paper);padding:26px 24px}
.dark .gcell{background:var(--graphite)}
.gcell .idx{margin-bottom:14px}
.gcell h4{font-size:18px;font-weight:650;letter-spacing:-.01em;margin-bottom:8px}
.gcell p{font-size:13.5px;color:var(--ink2);line-height:1.55}
.dark .gcell p{color:var(--dink2)}
@media(max-width:820px){.grid3{grid-template-columns:1fr}}
.chapter{display:grid;grid-template-columns:120px 1fr;gap:0 34px;padding:clamp(40px,6vw,80px) 0;border-top:1px solid var(--line)}
.dark .chapter{border-color:var(--dline)}
.chapter .idx{padding-top:8px}
@media(max-width:720px){.chapter{grid-template-columns:1fr;gap:16px}}
.kv{border-top:1px solid var(--line)}
.dark .kv{border-color:var(--dline)}
.kv .row{display:grid;grid-template-columns:200px 1fr;gap:20px;padding:14px 0;border-bottom:1px solid var(--line);font-size:14px}
.dark .kv .row{border-color:var(--dline)}
.kv .row .k{font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--ink3);text-transform:uppercase}
.dark .kv .row .k{color:var(--dink3)}
.kv .row .v{color:var(--ink2)}
.dark .kv .row .v{color:var(--dink2)}
@media(max-width:640px){.kv .row{grid-template-columns:1fr;gap:4px}}
.diagram{display:flex;flex-wrap:wrap;align-items:stretch;gap:0;border:1px solid var(--dline);border-radius:6px;overflow:hidden}
.diagram .box{flex:1;min-width:150px;padding:20px 18px;border-right:1px solid var(--dline)}
.diagram .box:last-child{border-right:0}
.diagram .box .k{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--mint-b)}
.diagram .box .t{font-size:14px;margin-top:8px;color:var(--dink)}
.diagram .box .d{font-size:12px;margin-top:6px;color:var(--dink3)}
.pillrow{display:flex;flex-wrap:wrap;gap:8px}
.pill{font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--ink2);border:1px solid var(--line2);border-radius:3px;padding:6px 11px}
.dark .pill{color:var(--dink2);border-color:var(--dline2)}
.docs{display:grid;grid-template-columns:210px 1fr;gap:clamp(26px,4vw,58px);align-items:start}
.docnav{position:sticky;top:88px}
.docnav a{display:block;font-size:13.5px;color:var(--ink2);padding:6px 0;border-left:2px solid transparent;padding-left:12px;transition:color .15s,border-color .15s}
.docnav a:hover{color:var(--ink);border-color:var(--line2)}
.dark .docnav a{color:var(--dink2)}.dark .docnav a:hover{color:var(--dink)}
@media(max-width:820px){.docs{grid-template-columns:1fr}.docnav{position:static;display:flex;flex-wrap:wrap;gap:4px 16px;margin-bottom:20px}.docnav a{border-left:0;padding-left:0}}
.endbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:clamp(30px,4vw,54px) 0;border-top:1px solid var(--line)}

/* ---- a11y: keyboard focus + global reduced-motion guard ---- */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--mint);outline-offset:2px;border-radius:3px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important}}
