/* base reset (was supplied by the preview host) */
:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
body{margin:0}
img{max-width:100%}
[hidden]{display:none!important}
/* Layout: sticky top bar, side nav on desktop (tabs on mobile), one working canvas per screen. Merchant side and team side share tokens. */
:root{
  --bg:#FFFFFF; --surface:#FFFFFF; --soft:#FFF6F0; --peach:#FFCFB4; --line:#E2E8F0;
  --ink:#0F172A; --muted:#475569; --faint:#64748B;
  --accent:#D93E00; --accent-hi:#FC4C04; --on-accent:#FFFFFF; --accent-soft:#FFEDE3;
  --ok:#15803D; --ok-soft:#E3F5E9; --warn:#B45309; --warn-soft:#FDF0DC; --bad:#B91C1C; --bad-soft:#FCE6E6; --info:#1D4ED8; --info-soft:#E3EBFD;
  --shadow:0 1px 2px rgba(15,23,42,.05),0 8px 24px -12px rgba(217,62,0,.18);
  --f-display:"Bricolage Grotesque","Figtree","Helvetica Neue",Arial,sans-serif;
  --f-body:"Figtree","Helvetica Neue",Arial,sans-serif;
  --r:14px; --r-sm:9px; color-scheme:light;
}
/* Single light theme on purpose: matches demerchantbridge.com exactly. */
*{box-sizing:border-box}
html,body{background:var(--bg);color:var(--ink)}
body{font-family:var(--f-body);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--f-display);letter-spacing:-.02em;line-height:1.15;margin:0;text-wrap:balance}
h1{font-size:clamp(28px,4vw,40px);font-weight:700}
h2{font-size:22px;font-weight:700}
h3{font-size:16px;font-weight:700;letter-spacing:-.01em}
p{margin:0}
a{color:var(--accent)}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.num{font-variant-numeric:tabular-nums}
.muted{color:var(--muted)} .faint{color:var(--faint)} .small{font-size:13px}
.eyebrow{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}

/* top bar: floating pill, turns to glass on scroll */
html{background:var(--bg)}
body{background:radial-gradient(1100px 520px at 72% -120px,#FFE2D1 0%,rgba(255,226,209,0) 70%),radial-gradient(800px 420px at 8% -80px,#FFF1E8 0%,rgba(255,241,232,0) 70%),var(--bg);background-repeat:no-repeat}
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;padding-top:14px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));pointer-events:none}
.top-in{pointer-events:auto;display:flex;align-items:center;gap:12px;max-width:1240px;margin:0 auto;padding:8px 8px 8px 14px;background:rgba(255,255,255,.97);border:1px solid rgba(226,232,240,.9);border-radius:999px;box-shadow:0 12px 32px -14px rgba(15,23,42,.18);transition:background .35s,box-shadow .35s,border-color .35s,backdrop-filter .35s}
.top.scrolled .top-in{background:rgba(255,255,255,.58);border-color:rgba(255,255,255,.75);-webkit-backdrop-filter:blur(18px) saturate(170%);backdrop-filter:blur(18px) saturate(170%);box-shadow:0 18px 40px -16px rgba(15,23,42,.25)}
.brand{display:flex;align-items:center;flex:none;text-decoration:none;color:var(--ink);font-family:var(--f-display);font-weight:700}
.brand .logo{height:40px;width:auto;border-radius:4px;display:block}
.top-mid{flex:1;display:flex;justify-content:center;min-width:0}
.top-right{display:flex;align-items:center;gap:10px;flex:none}
.signin{border:0;background:transparent;color:var(--accent);font-weight:700;font-size:15px;cursor:pointer;padding:8px 10px;border-radius:999px}
.signin:hover{background:var(--accent-soft)}
.top-in .btn.join{padding:11px 20px;font-size:15px}
@media (max-width:640px){.brand .logo{height:34px}.top-in{padding:6px 6px 6px 10px}.top-right{gap:6px}.top-right:has(.seg) .join{display:none}.seg button{padding:6px 8px;font-size:12px}.signin{font-size:14px;padding:6px 8px}}
.seg{display:flex;background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:3px;gap:2px}
.seg button{border:0;background:transparent;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;white-space:nowrap}
.seg button[aria-pressed="true"]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}
.iconbtn{position:relative;border:1px solid var(--line);background:var(--surface);border-radius:999px;width:38px;height:38px;display:grid;place-items:center;cursor:pointer;flex:none}
.iconbtn svg{width:18px;height:18px}
.dot{position:absolute;top:-3px;right:-3px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--accent);color:var(--on-accent);font-size:11px;font-weight:700;display:grid;place-items:center}

/* shell */
.shell{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:220px minmax(0,1fr);gap:28px;padding-block:24px 64px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.shell.solo{grid-template-columns:minmax(0,1fr)}
.nav{display:flex;flex-direction:column;gap:2px;position:sticky;top:calc(env(safe-area-inset-top,0px) + 100px);align-self:start}
.nav button{display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;border:0;background:transparent;padding:9px 12px;border-radius:10px;font-weight:600;color:var(--muted);cursor:pointer}
.nav button:hover{background:var(--soft);color:var(--ink)}
.nav button[aria-current="page"]{background:var(--accent-soft);color:var(--accent)}
.nav .count{font-size:12px;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:0 7px;color:var(--muted)}
.nav .sep{height:1px;background:var(--line);margin:10px 4px}
.nav .label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);padding:6px 12px 4px}
main{min-width:0;display:flex;flex-direction:column;gap:22px}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.page-head p{max-width:62ch}

/* blocks */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px;min-width:0}
.card.tight{padding:14px 16px}
.grid{display:grid;gap:16px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g6{grid-template-columns:repeat(6,minmax(0,1fr))}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.between{justify-content:space-between}
.stack{display:flex;flex-direction:column;gap:12px}
.stack.s6{gap:6px}
.card-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:8px 15px;font-weight:600;font-size:14px;cursor:pointer;text-decoration:none;white-space:nowrap}
.btn:hover{border-color:var(--faint)}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.btn.primary:hover{background:var(--accent-hi);border-color:var(--accent-hi)}
.btn.ghost{background:transparent;border-color:transparent;color:var(--muted)}
.btn.ghost:hover{background:var(--soft);color:var(--ink)}
.btn.sm{padding:5px 11px;font-size:13px}
.btn.lg{padding:12px 22px;font-size:16px}
.btn.danger{color:var(--bad)}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.btn svg{width:15px;height:15px}

.pill{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:2px 9px;font-size:12px;font-weight:600;background:var(--soft);color:var(--muted);border:1px solid var(--line);white-space:nowrap}
.pill.accent{background:var(--accent-soft);color:var(--accent);border-color:transparent}
.pill.ok{background:var(--ok-soft);color:var(--ok);border-color:transparent}
.pill.warn{background:var(--warn-soft);color:var(--warn);border-color:transparent}
.pill.bad{background:var(--bad-soft);color:var(--bad);border-color:transparent}
.pill.info{background:var(--info-soft);color:var(--info);border-color:transparent}
.pill.demo{background:transparent;border-style:dashed;color:var(--faint)}

/* stats */
.stat{display:flex;flex-direction:column;gap:2px}
.stat .v{font-family:var(--f-display);font-size:30px;font-weight:700;letter-spacing:-.03em}
.stat .k{font-size:13px;color:var(--muted)}
.bar{height:8px;border-radius:999px;background:var(--soft);overflow:hidden;border:1px solid var(--line)}
.bar>i{display:block;height:100%;background:var(--accent);border-radius:999px}
.bar.ok>i{background:var(--ok)} .bar.warn>i{background:var(--warn)}

/* forms */
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field label,.flabel{font-size:13px;font-weight:600}
.field .hint{font-size:12px;color:var(--faint)}
input[type=text],input[type=email],input[type=url],input[type=number],input[type=date],input[type=time],input[type=search],select,textarea{width:100%;border:1px solid var(--line);background:var(--surface);border-radius:var(--r-sm);padding:9px 11px;font-size:15px;min-width:0}
textarea{min-height:96px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:transparent}
.checks{display:flex;flex-wrap:wrap;gap:8px}
.chk{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:999px;padding:6px 12px;cursor:pointer;font-size:14px;background:var(--surface);user-select:none}
.chk input{accent-color:var(--accent);margin:0}
.chk:has(input:checked){border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:600}
.toggle{display:inline-flex;align-items:center;gap:10px;cursor:pointer}
.toggle input{appearance:none;width:40px;height:23px;border-radius:999px;background:var(--line);position:relative;cursor:pointer;margin:0;flex:none;transition:background .15s}
.toggle input::after{content:"";position:absolute;top:3px;left:3px;width:17px;height:17px;border-radius:50%;background:var(--surface);transition:transform .15s;box-shadow:0 1px 2px rgba(0,0,0,.2)}
.toggle input:checked{background:var(--accent)}
.toggle input:checked::after{transform:translateX(17px)}
.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.formgrid .full{grid-column:1/-1}
.err{color:var(--bad);font-size:13px}

/* tables */
.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}
table{width:100%;border-collapse:collapse;font-size:14px}
th{text-align:left;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--faint);padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap;background:var(--soft)}
th.sortable{cursor:pointer}
td{padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:middle}
tr:last-child td{border-bottom:0}
tbody tr.click{cursor:pointer}
tbody tr.click:hover td{background:var(--soft)}
td .sub{font-size:12px;color:var(--faint)}

/* opportunity card */
.opp{display:flex;flex-direction:column;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:18px;min-width:0}
.opp.featured{border-color:var(--accent);box-shadow:var(--shadow)}
.opp ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:3px;color:var(--muted);font-size:14px}
.opp .acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:4px}
.opp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}

/* list items */
.li{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--line)}
.li:last-child{border-bottom:0}
.li .grow{flex:1;min-width:0}
.ico{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;flex:none;background:var(--soft);color:var(--accent)}
.ico svg{width:16px;height:16px}
.ico.ok{background:var(--ok-soft);color:var(--ok)} .ico.warn{background:var(--warn-soft);color:var(--warn)} .ico.bad{background:var(--bad-soft);color:var(--bad)} .ico.info{background:var(--info-soft);color:var(--info)}

.empty{border:1px dashed var(--line);border-radius:var(--r);padding:26px;text-align:center;color:var(--muted);display:flex;flex-direction:column;gap:10px;align-items:center;background:var(--surface)}
.empty h3{color:var(--ink)}

/* hero / landing */
.hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:32px;align-items:center;background:linear-gradient(160deg,var(--soft),var(--surface));border:1px solid var(--line);border-radius:22px;padding:clamp(22px,4vw,48px)}
.hero h1{font-size:clamp(32px,5vw,52px)}
.hero-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:12px}
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.step-n{font-family:var(--f-display);font-weight:700;color:var(--accent);font-size:14px}
.wizard-steps{display:flex;gap:8px;flex-wrap:wrap}
.wizard-steps span{font-size:13px;font-weight:600;padding:5px 12px;border-radius:999px;background:var(--soft);color:var(--faint);border:1px solid var(--line)}
.wizard-steps span.on{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.wizard-steps span.done{color:var(--ok);background:var(--ok-soft);border-color:transparent}
.platforms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.platform{border:1px solid var(--line);background:var(--surface);border-radius:var(--r);padding:16px;cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:4px}
.platform:hover{border-color:var(--accent)}
.platform[aria-pressed="true"]{border-color:var(--accent);background:var(--accent-soft)}
.platform b{font-size:15px}

/* profile view */
.kv{display:grid;grid-template-columns:minmax(0,180px) minmax(0,1fr);gap:8px 16px;font-size:14px}
.kv dt{color:var(--faint)} .kv dd{margin:0;min-width:0;overflow-wrap:anywhere}

/* kanban */
.kanban{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:14px;overflow-x:auto;padding-bottom:6px}
.col{background:var(--soft);border:1px solid var(--line);border-radius:var(--r);padding:12px;display:flex;flex-direction:column;gap:10px;min-height:120px}
.col h3{font-size:14px;display:flex;justify-content:space-between}

/* bars chart */
.hbar{display:grid;grid-template-columns:minmax(0,150px) minmax(0,1fr) 34px;gap:10px;align-items:center;font-size:13px}
.weeks{display:flex;align-items:flex-end;gap:8px;height:150px;padding-top:10px;border-bottom:1px solid var(--line)}
.weeks .w{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;height:100%;min-width:0}
.weeks .w i{display:block;width:100%;max-width:44px;background:var(--peach);border-radius:6px 6px 0 0}
.weeks .w.cur i{background:var(--accent)}
.weeks .w span{font-size:11px;color:var(--faint)}
.target-line{position:relative}

/* modal / drawer */
.overlay{position:fixed;inset:0;background:rgba(15,10,6,.45);z-index:50;display:flex;align-items:flex-start;justify-content:center;padding:calc(env(safe-area-inset-top,0px) + 40px) max(16px,env(safe-area-inset-right,0px)) 40px max(16px,env(safe-area-inset-left,0px));overflow-y:auto}
.modal{background:var(--surface);border:1px solid var(--line);border-radius:18px;width:min(640px,100%);padding:22px;display:flex;flex-direction:column;gap:16px;box-shadow:0 30px 80px -20px rgba(0,0,0,.4)}
.modal.wide{width:min(940px,100%)}
.modal-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.toast{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 22px);transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:10px 18px;border-radius:999px;font-weight:600;font-size:14px;z-index:60;box-shadow:0 10px 30px rgba(0,0,0,.25);max-width:calc(100% - 32px)}
.notice{border-radius:var(--r);padding:14px 16px;background:var(--warn-soft);color:var(--ink);border:1px solid transparent;font-size:14px}
.notice.info{background:var(--info-soft)} .notice.accent{background:var(--accent-soft)}
.quote{font-size:15px;border-left:3px solid var(--accent);padding-left:12px;color:var(--ink)}
.stars{color:var(--accent);letter-spacing:2px}
.panel-pop{position:absolute;right:0;top:46px;width:min(380px,calc(100vw - 32px));max-height:70vh;overflow:auto;z-index:30}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.tabs button{border:0;background:transparent;padding:9px 12px;font-weight:600;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}
.tabs button[aria-selected="true"]{color:var(--accent);border-bottom-color:var(--accent)}
.loading{display:grid;place-items:center;min-height:50vh;color:var(--muted);text-align:center;gap:10px}

@media (max-width:980px){
  .shell{grid-template-columns:minmax(0,1fr)}
  .nav{position:static;flex-direction:row;overflow-x:auto;gap:4px;padding-bottom:4px}
  .nav .sep,.nav .label{display:none}
  .nav button{white-space:nowrap}
  .g6{grid-template-columns:repeat(3,minmax(0,1fr))}
  .hero{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
  .g2,.g3,.formgrid,.steps,.platforms{grid-template-columns:minmax(0,1fr)}
  .g6{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kv{grid-template-columns:minmax(0,1fr)}
  .kv dt{margin-top:6px}
  .seg button{padding:6px 9px}
  .brand span.word{display:none}
  .hbar{grid-template-columns:minmax(0,100px) minmax(0,1fr) 30px}
}




/* we do the work */
.help{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(28px,5vw,64px);align-items:start}
.help-left{position:sticky;top:calc(env(safe-area-inset-top,0px) + 110px);display:flex;flex-direction:column;gap:20px}
.promise{display:flex;flex-direction:column;gap:10px}
.promise div{display:flex;gap:10px;align-items:flex-start;font-size:15px}
.promise svg{width:18px;height:18px;color:var(--accent);flex:none;margin-top:2px}
.docs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.docc{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:6px 18px 6px 6px;padding:20px 18px 18px;display:flex;flex-direction:column;gap:8px;min-width:0;box-shadow:4px 4px 0 var(--soft),4px 4px 0 1px var(--line)}
.docc::before{content:"";position:absolute;top:-1px;right:-1px;width:22px;height:22px;background:linear-gradient(225deg,var(--bg) 50%,var(--peach) 50%);border-radius:0 18px 0 6px}
.docc .tag{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.docc b{font-family:var(--f-display);font-size:18px;letter-spacing:-.02em}
.docc p{font-size:14px;color:var(--muted)}
.docc.wide{grid-column:1/-1;background:var(--soft)}
.docc.wide .plats{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.guide{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--surface)}
.guide div{padding:20px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:6px}
.guide div:last-child{border-right:0;background:var(--accent);color:var(--on-accent)}
.guide div:last-child .n,.guide div:last-child p{color:var(--on-accent);opacity:.9}
.guide .n{font-family:var(--f-display);font-weight:700;color:var(--accent);font-size:14px}
.guide b{font-size:16px}
.guide p{font-size:14px;color:var(--muted)}
@media (max-width:980px){.help{grid-template-columns:minmax(0,1fr)}.help-left{position:static}.guide{grid-template-columns:repeat(2,minmax(0,1fr))}.guide div:nth-child(2){border-right:0}.guide div:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media (max-width:640px){.docs,.guide{grid-template-columns:minmax(0,1fr)}.guide div{border-right:0;border-bottom:1px solid var(--line)}}

/* ===== content pages: about, contact, legal, journal ===== */
.page-hero{padding-block:clamp(48px,7vw,96px) clamp(36px,5vw,64px)}
.page-hero .band-in{gap:18px}
.page-hero h1{font-family:var(--f-display);font-size:clamp(36px,5.2vw,64px);line-height:1.04;letter-spacing:-.04em;font-weight:700;margin:0;max-width:20ch;text-wrap:balance}
.crumbs{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--faint)}
.crumbs button{all:unset;cursor:pointer;color:var(--accent);font-weight:600}
.crumbs button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.legal{display:grid;grid-template-columns:230px minmax(0,1fr);gap:clamp(24px,5vw,72px);align-items:start}
.toc{position:sticky;top:calc(env(safe-area-inset-top,0px) + 110px);display:flex;flex-direction:column;gap:2px;border-left:2px solid var(--line);padding-left:4px}
.toc span{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);padding:0 10px 8px}
.toc button{all:unset;cursor:pointer;font-size:14px;color:var(--muted);padding:6px 10px;border-radius:8px;line-height:1.35}
.toc button:hover{color:var(--accent);background:var(--soft)}
.toc button:focus-visible{outline:2px solid var(--accent)}
.prose{max-width:70ch;font-size:16.5px;line-height:1.7;color:var(--ink);min-width:0;overflow-wrap:anywhere}
.prose>*+*{margin-top:16px}
.prose h2{font-size:24px;margin-top:44px;scroll-margin-top:calc(env(safe-area-inset-top,0px) + 110px)}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:19px;margin-top:30px;scroll-margin-top:calc(env(safe-area-inset-top,0px) + 110px)}
.prose p,.prose li{color:#334155}
.prose ul,.prose ol{padding-left:22px;display:flex;flex-direction:column;gap:6px;margin-bottom:0}
.prose blockquote{margin-inline:0;border-left:3px solid var(--accent);padding:4px 0 4px 16px;font-size:19px;color:var(--ink)}
.prose strong{color:var(--ink)}
.prose a{color:var(--accent);text-underline-offset:3px}
.contact-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(20px,4vw,48px);align-items:start}
.cinfo{display:flex;flex-direction:column;gap:12px}
.cinfo>.card:not(.buyer-card){display:flex;gap:14px;align-items:flex-start}
.cinfo .grow{flex:1;min-width:0}
.cinfo .val{font-family:var(--f-display);font-size:18px;font-weight:600;letter-spacing:-.01em;user-select:all;overflow-wrap:anywhere}
.buyer-card{background:#0F172A;color:#F8FAFC;border-color:transparent}
.buyer-card p{color:#CBD5E1}
.posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.post-card{display:flex;flex-direction:column;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:22px;min-width:0;color:var(--ink);text-decoration:none;transition:border-color .2s,transform .2s}
.post-card:hover{border-color:var(--accent);transform:translateY(-2px)}
.post-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.post-card h3{font-size:21px;letter-spacing:-.025em;line-height:1.2}
.post-card p{color:var(--muted);font-size:15px}
.post-card .meta{margin-top:auto;font-size:13px;color:var(--faint)}
.post-card.lead{grid-column:1/-1;background:linear-gradient(150deg,var(--soft),var(--surface));padding:clamp(24px,4vw,40px)}
.post-card.lead h3{font-size:clamp(26px,3.2vw,38px);max-width:24ch}
.post-card.lead p{font-size:17px;max-width:60ch}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips button{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:6px 14px;font-weight:600;font-size:14px;color:var(--muted);cursor:pointer}
.chips button[aria-pressed="true"]{background:#0F172A;color:#fff;border-color:#0F172A}
.post-head{max-width:760px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:16px}
.post-head h1{max-width:none}
.post-body{max-width:760px;width:100%;margin:0 auto;font-size:18px}
@media (max-width:980px){.legal,.contact-grid{grid-template-columns:minmax(0,1fr)}.toc{display:none}.posts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.posts{grid-template-columns:minmax(0,1fr)}}

/* all-reviews page */
.rev-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}
.rev-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:22px;display:flex;flex-direction:column;gap:14px;min-width:0}
.rev-card .qmark{font-family:var(--f-display);font-size:56px;line-height:.6;color:var(--accent);height:22px}
.rev-card .rtext{font-size:16px;line-height:1.6;color:#334155;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}
.rev-card .readmore{all:unset;cursor:pointer;color:var(--accent);font-weight:600;font-size:14px;align-self:flex-start}
.rev-card .readmore:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.rev-card .rfoot{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;padding-top:12px;border-top:1px solid var(--line)}
.rev-card .rfoot b{display:block}
.rev-card .rfoot span{font-size:13px;color:var(--faint)}
.btn.on-dark{background:transparent;color:#F8FAFC;border-color:rgba(255,255,255,.35)}
.btn.on-dark:hover{border-color:#FF7A3D;color:#FF7A3D}
@media (max-width:980px){.rev-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.rev-grid{grid-template-columns:minmax(0,1fr)}}
/* trust: live numbers, Faire, who we are */
.stats-band{padding-block:28px;border-bottom:1px solid var(--line);background:var(--surface)}
.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.stat-item{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px;padding:6px 10px}
.stat-item+.stat-item{border-left:1px solid var(--line)}
.stat-item .v{font-family:var(--f-display);font-weight:700;font-size:clamp(28px,3.4vw,40px);letter-spacing:-.03em;color:var(--ink);line-height:1.1}
.stat-item .k{font-size:14px;color:var(--muted)}
.stats-note{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;color:var(--faint);margin-top:12px}
.faire-grid{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:18px;align-items:stretch}
.fcol{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:24px;display:flex;flex-direction:column;gap:10px;min-width:0}
.fcol.mb{background:#0F172A;border-color:#0F172A;color:#F8FAFC}
.fcol .tag{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}
.fcol.mb .tag{color:#FF7A3D}
.fcol h3{font-size:22px;letter-spacing:-.025em}
.fcol ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px;color:var(--muted);font-size:15px}
.fcol.mb ul{color:#CBD5E1}
.fplus{display:grid;place-items:center;font-family:var(--f-display);font-size:34px;font-weight:700;color:var(--accent)}
.people{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px}
.person{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:22px;display:flex;flex-direction:column;gap:12px;min-width:0}
.person img,.person .initials{width:88px;height:88px;border-radius:50%;object-fit:cover;flex:none}
.person .initials{display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-family:var(--f-display);font-weight:700;font-size:28px}
.person h3{font-size:19px}
.person p{color:var(--muted)}
.person .li-link{color:var(--accent);font-weight:600;text-decoration:none;margin-top:auto}
@media (max-width:980px){.faire-grid{grid-template-columns:minmax(0,1fr)}.fplus{font-size:26px}}
@media (max-width:640px){.stat-item+.stat-item{border-left:0;border-top:1px solid var(--line)}}
/* retail logos strip */
.logos-band{position:relative;padding-block:36px 32px;overflow:hidden;background:var(--surface);border-bottom:1px solid var(--line)}
.logos-head{text-align:center;margin-bottom:22px;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}
.logos-rows{display:flex;flex-direction:column;gap:14px}
.logos-track{display:flex;gap:44px;width:max-content;animation:scrollL 60s linear infinite}
.logos-track.rev{animation-name:scrollR}
.logos-track:hover{animation-play-state:paused}
.logo-item{display:flex;align-items:center;flex:none;font-family:var(--f-display);font-weight:700;font-size:clamp(15px,1.8vw,20px);color:var(--ink);opacity:.3;letter-spacing:-.02em;white-space:nowrap;transition:opacity .3s}
.logo-item:hover{opacity:.65}
@keyframes scrollL{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@keyframes scrollR{0%{transform:translateX(-50%)}100%{transform:translateX(0)}}
.logos-info{position:absolute;bottom:10px;right:max(16px,env(safe-area-inset-right,0px));width:22px;height:22px;border-radius:50%;border:1.5px solid var(--line);background:transparent;display:grid;place-items:center;cursor:default;opacity:.25;transition:opacity .3s}
.logos-info:hover{opacity:.6}
.logos-info svg{width:14px;height:14px;color:var(--faint)}
.logos-tip{display:none;position:absolute;bottom:calc(100% + 8px);right:0;width:300px;padding:10px 12px;background:var(--ink);color:#F8FAFC;font-size:12px;line-height:1.45;border-radius:10px;box-shadow:0 4px 16px rgba(0,0,0,.2);pointer-events:none}
.logos-info:hover .logos-tip{display:block}
@media(max-width:640px){.logos-tip{width:260px}}

/* reviews spotlight */
.band.dark{background:#0F172A;color:#F8FAFC}
.band.dark .eyebrow{color:#FF7A3D}
.band.dark .h-sec{color:#F8FAFC}
.band.dark .lede{color:#CBD5E1}
.spot{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,4vw,56px);align-items:stretch}
.who{display:flex;flex-direction:column;gap:4px}
.who button{all:unset;cursor:pointer;display:flex;flex-direction:column;gap:6px;padding:14px 16px;border-radius:14px;color:#94A3B8;transition:background .3s,color .3s}
.who button:focus-visible{outline:2px solid #FF7A3D;outline-offset:2px}
.who button b{font-family:var(--f-display);font-size:17px;letter-spacing:-.02em;color:inherit}
.who button span.sub{font-size:13px}
.who button.on{background:rgba(255,255,255,.06);color:#F8FAFC}
.who .prog{height:2px;background:rgba(255,255,255,.12);border-radius:2px;overflow:hidden}
.who .prog i{display:block;height:100%;width:0;background:#FF7A3D}
.spot.many .who{gap:2px}
.spot.many .who button{padding:10px 16px;gap:8px}
.spot.many .who button b{font-size:16px}
.stage{display:grid;position:relative;min-height:340px}
.slide{grid-area:1/1;display:flex;flex-direction:column;gap:20px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:22px;padding:clamp(22px,3.5vw,40px);opacity:0;transform:translateY(14px);filter:blur(3px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1),filter .9s;pointer-events:none;min-width:0}
.slide.on{opacity:1;transform:none;filter:none;pointer-events:auto}
.slide .qmark{font-family:var(--f-display);font-size:72px;line-height:.6;color:#FF7A3D;height:30px}
.slide .rtext{font-size:clamp(18px,1.9vw,22px);line-height:1.55;color:#F1F5F9;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}
.slide .rfoot{margin-top:auto;display:flex;justify-content:space-between;align-items:flex-end;gap:14px;flex-wrap:wrap;padding-top:16px;border-top:1px solid rgba(255,255,255,.1)}
.slide .rfoot b{display:block;font-size:16px}
.slide .rfoot span{font-size:13px;color:#94A3B8}
.readmore{all:unset;cursor:pointer;color:#FF7A3D;font-weight:600;font-size:15px;align-self:flex-start;border-bottom:1px solid rgba(255,122,61,.4);padding-bottom:2px}
.readmore:hover{border-color:#FF7A3D}
.readmore:focus-visible{outline:2px solid #FF7A3D;outline-offset:3px}
.band.dark .stars{color:#FF7A3D}
.band.dark .pill.demo{color:#94A3B8;border-color:#475569}
.spot-ctrl{display:flex;gap:8px}
.spot-ctrl button{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:transparent;color:#F8FAFC;cursor:pointer;font-size:18px}
.spot-ctrl button:hover{border-color:#FF7A3D;color:#FF7A3D}
.review-full{font-size:17px;line-height:1.65;white-space:pre-wrap}
@media (max-width:980px){.spot{grid-template-columns:minmax(0,1fr)}.who{flex-direction:row;overflow-x:auto;gap:6px}.who button{min-width:180px}}
@media (prefers-reduced-motion:reduce){.slide{transition:none;filter:none;transform:none}}

/* live briefs ticker */
.ticker{position:relative;padding-block:32px 40px;display:flex;flex-direction:column;gap:18px;overflow:hidden;background:radial-gradient(600px 220px at 12% 30%,rgba(252,76,4,.30),transparent 70%),radial-gradient(520px 240px at 55% 90%,rgba(255,207,180,.95),transparent 70%),radial-gradient(640px 260px at 92% 20%,rgba(217,62,0,.28),transparent 70%),linear-gradient(120deg,#FFE9DD,#FFD8C2 50%,#FFE6D8)}
.ticker-head{max-width:1180px;margin:0 auto;width:100%;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.live-badge{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.live-dot{width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 0 rgba(217,62,0,.5);animation:pulse 1.8s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(217,62,0,.45)}70%{box-shadow:0 0 0 9px rgba(217,62,0,0)}100%{box-shadow:0 0 0 0 rgba(217,62,0,0)}}
.track-wrap{padding-block:6px 10px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.track{display:flex;gap:14px;width:max-content;animation:drift var(--dur,60s) linear infinite}
.track-wrap:hover .track,.track-wrap:focus-within .track{animation-play-state:paused}
@keyframes drift{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.brief{width:310px;flex:none;text-align:left;position:relative;overflow:hidden;background:linear-gradient(145deg,rgba(255,255,255,.72),rgba(255,255,255,.38));-webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);border:1px solid rgba(255,255,255,.85);border-radius:18px;padding:16px 18px;display:flex;flex-direction:column;gap:9px;cursor:pointer;font:inherit;color:var(--ink);box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 14px 30px -14px rgba(160,50,0,.35);transition:transform .25s,box-shadow .25s,background .25s}
.brief::before{content:"";position:absolute;inset:0 0 auto 0;height:45%;background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,0));pointer-events:none}
.brief:hover{transform:translateY(-3px);background:linear-gradient(145deg,rgba(255,255,255,.85),rgba(255,255,255,.5));box-shadow:0 1px 0 rgba(255,255,255,.95) inset,0 20px 36px -14px rgba(160,50,0,.45)}
.brief .pill.accent{background:rgba(217,62,0,.12)}
.brief .meta{color:#64748B}
.brief b{font-size:15px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.brief .meta{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--faint)}
@media (prefers-reduced-motion:reduce){.track{animation:none;transform:none}.track-wrap{overflow-x:auto;-webkit-mask-image:none;mask-image:none;padding-inline:16px}}

/* ===== public landing page ===== */
.site{display:flex;flex-direction:column}
.band{padding-block:clamp(56px,8vw,104px)}
.band-in{max-width:1180px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));display:flex;flex-direction:column;gap:clamp(28px,4vw,48px)}
.band.soft{background:var(--soft);border-block:1px solid var(--line)}
.band.cta{background:var(--accent);color:var(--on-accent)}
section[id]{scroll-margin-top:calc(env(safe-area-inset-top,0px) + 96px)}
.display{font-family:var(--f-display);font-size:clamp(40px,6.4vw,78px);line-height:1.02;letter-spacing:-.04em;font-weight:700;margin:0;text-wrap:balance}
.display em{font-style:normal;color:var(--accent)}
.h-sec{font-family:var(--f-display);font-size:clamp(30px,4vw,46px);line-height:1.06;letter-spacing:-.035em;font-weight:700;margin:0;text-wrap:balance;max-width:20ch}
.lede{font-size:clamp(17px,1.6vw,20px);color:var(--muted);max-width:54ch;line-height:1.55}
.sec-head{display:flex;flex-direction:column;gap:14px}
.sec-head.split{flex-direction:row;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.s-hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(28px,5vw,64px);align-items:center}
.s-hero .band-in{gap:0}
.trust{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:14px;color:var(--muted)}
.trust span{display:inline-flex;align-items:center;gap:7px}
.trust svg{width:16px;height:16px;color:var(--ok)}
.matchviz{position:relative;display:flex;flex-direction:column;gap:12px;padding:22px;border-radius:24px;background:linear-gradient(155deg,var(--peach),var(--soft) 70%);border:1px solid var(--line)}
.matchviz .mcard{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px 16px;display:flex;flex-direction:column;gap:6px;box-shadow:var(--shadow)}
.matchviz .mcard:nth-child(2){margin-left:clamp(0px,4%,24px)}
.matchviz .mcard:nth-child(3){margin-left:clamp(0px,8%,48px)}
.matchviz .mcard b{font-size:15px;line-height:1.3}
.matchviz .profile-chip{align-self:flex-start;display:flex;gap:10px;align-items:center;background:var(--ink);color:var(--bg);border-radius:14px;padding:10px 14px;font-size:13px}
.matchviz .profile-chip span.k{opacity:.7}
.viz-label{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.platform-row{display:flex;flex-wrap:wrap;gap:10px}
.platform-row .pf{display:inline-flex;flex-direction:column;gap:2px;border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:12px 18px;min-width:140px}
.platform-row .pf b{font-family:var(--f-display);font-size:18px;letter-spacing:-.02em}
.platform-row .pf span{font-size:12px;color:var(--faint)}
.platform-row .pf.primary{border-color:var(--accent);background:var(--accent-soft)}
.platform-row .pf.primary span{color:var(--accent);font-weight:600}
.typegrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:18px;overflow:hidden}
.typegrid .t{background:var(--surface);padding:20px;display:flex;flex-direction:column;gap:6px;min-width:0}
.typegrid .t b{font-family:var(--f-display);font-size:17px;letter-spacing:-.02em}
.typegrid .t p{font-size:14px;color:var(--muted)}
.typegrid .t:hover b{color:var(--accent)}
.howgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.how{display:flex;flex-direction:column;gap:12px;padding-top:18px;border-top:3px solid var(--accent)}
.how .n{font-family:var(--f-display);font-weight:700;color:var(--accent);font-size:15px}
.how h3{font-size:24px;letter-spacing:-.03em}
.how p{color:var(--muted)}
.track-note{display:flex;gap:14px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px 18px}
.reqgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.req{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:10px;min-width:0}
.req p{font-size:14px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.req .lock{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:8px;padding-top:10px;border-top:1px dashed var(--line);font-size:13px;color:var(--faint)}
.funded{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,5vw,64px);align-items:start}
.funded .body{display:flex;flex-direction:column;gap:16px;font-size:17px;color:var(--muted);max-width:58ch}
.funded .body b{color:var(--ink)}
.testis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.testi{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:12px}
.testi p{font-size:17px;line-height:1.5}
.faq{display:flex;flex-direction:column;border-top:1px solid var(--line);max-width:860px}
.faq details{border-bottom:1px solid var(--line);padding:18px 0}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;font-family:var(--f-display);font-size:19px;font-weight:600;letter-spacing:-.02em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--accent);font-size:24px;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details p{margin-top:10px;color:var(--muted);max-width:68ch}
.cta-in{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.cta .h-sec{max-width:18ch;color:var(--on-accent)}
.cta .btn{background:var(--on-accent);color:var(--accent);border-color:var(--on-accent)}
.cta .btn:hover{opacity:.92}
.cta p{opacity:.85;max-width:44ch;margin-top:12px}
.site-foot{border-top:1px solid var(--line);padding-block:48px calc(env(safe-area-inset-bottom,0px) + 40px)}
.foot-grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:28px}
.foot-grid h4{margin:0 0 10px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}
.foot-grid a{display:block;color:var(--muted);text-decoration:none;font-size:14px;padding:3px 0}
.foot-grid a:hover{color:var(--accent)}
.toplinks{display:flex;gap:4px}
.toplinks button{border:0;background:transparent;font-weight:500;font-size:15px;color:var(--muted);padding:8px 12px;border-radius:999px;cursor:pointer}
.toplinks button:hover{color:var(--ink);background:var(--soft)}
@media (max-width:980px){.s-hero,.funded{grid-template-columns:minmax(0,1fr)}.typegrid{grid-template-columns:repeat(2,minmax(0,1fr))}.reqgrid,.testis{grid-template-columns:repeat(2,minmax(0,1fr))}.foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.toplinks{display:none}}
@media (max-width:640px){.typegrid,.howgrid,.reqgrid,.testis{grid-template-columns:minmax(0,1fr)}.foot-grid{grid-template-columns:minmax(0,1fr)}.platform-row .pf{min-width:0;flex:1 1 40%}.top-in .btn.join{padding:7px 12px;font-size:13px}}

@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
