/* Bridle design system — plum & gold "Digiverse". Shared by index.html + pricing.html. */
@font-face { font-family:Geist; src:url(https://cdn.jsdelivr.net/npm/geist@1/dist/fonts/geist-sans/Geist-Regular.woff2) format('woff2'); font-weight:400; font-display:swap; }
@font-face { font-family:Geist; src:url(https://cdn.jsdelivr.net/npm/geist@1/dist/fonts/geist-sans/Geist-Medium.woff2) format('woff2'); font-weight:500; font-display:swap; }
@font-face { font-family:Geist; src:url(https://cdn.jsdelivr.net/npm/geist@1/dist/fonts/geist-sans/Geist-SemiBold.woff2) format('woff2'); font-weight:600; font-display:swap; }

:root{
  --ivory:#FAF9F6; --taupe:#E7E2D9; --taupe2:#F1EEE7;
  --ink:#1A1523; --mut:#6B6472;
  --plum:#3B0764; --plum2:#240742; --plum3:#140428;
  --plum-line:#4A2472; --plum-card:#2A0B4E;
  --gold:#EAB308; --gold-d:#A16207; --gold-l:#FDE68A; --gold-sh:#FEF3C7;
  --ok:#1B6B57; --ok-l:#5DCAA5; --bad:#9B2C2C; --bad-l:#F0997B;
  --serif:'Fraunces',Georgia,'Times New Roman',serif;
  --sans:Geist,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  --mono:ui-monospace,'SF Mono',Menlo,Consolas,'Courier New',monospace;
  --wrap:70rem;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--ivory);line-height:1.6;font-size:17px;-webkit-font-smoothing:antialiased;overflow-x:clip;}
h1,h2,h3,h4{font-family:var(--serif);font-weight:600;letter-spacing:-.01em;line-height:1.08;margin:0;}
p{margin:0 0 1rem;}
a{color:inherit;}
.mono{font-family:var(--mono);}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 1.5rem;}
section{padding:5.5rem 0;}
.eyebrow{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.22em;color:var(--gold-d);margin:0 0 1rem;}
.dv .eyebrow{color:var(--gold-l);}
.lead{font-size:1.15rem;color:var(--mut);}
.dv .lead{color:#D9CCEB;}
.center{text-align:center;}
.center .sec-lead{margin-left:auto;margin-right:auto;}

/* ---- Digiverse (plum) surface ---- */
.dv{position:relative;background:linear-gradient(170deg,#3B0764 0%,#240742 46%,#140428 100%);color:var(--ivory);overflow:hidden;}
.dv h1,.dv h2,.dv h3,.dv h4{color:#fff;}
.dv::before{content:"";position:absolute;inset:0;background-image:radial-gradient(#C79BE8 1px,transparent 1px);background-size:28px 28px;opacity:.06;pointer-events:none;}
.glow{position:absolute;border-radius:50%;filter:blur(90px);pointer-events:none;opacity:.5;}
.glow.g1{width:34rem;height:34rem;background:#7C3AED;top:-14rem;left:-10rem;opacity:.35;}
.glow.g2{width:26rem;height:26rem;background:var(--gold);top:-8rem;right:-8rem;opacity:.10;}
.dv .wrap{position:relative;z-index:1;}
.hair{height:1px;border:0;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.5;margin:0;}

/* ---- buttons ---- */
.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--sans);font-weight:600;font-size:15px;
  padding:.75rem 1.3rem;border-radius:8px;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:transform .15s ease,box-shadow .2s ease,background .2s ease;}
.btn:active{transform:translateY(1px);}
.btn-gold{background:var(--gold);color:#2A0B12;box-shadow:0 6px 20px -8px rgba(234,179,8,.7);}
.btn-gold:hover{background:var(--gold-l);box-shadow:0 8px 26px -6px rgba(234,179,8,.8);}
.btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.28);}
.btn-ghost:hover{border-color:var(--gold-l);color:var(--gold-l);}
.btn-ink{background:var(--ink);color:var(--ivory);}
.btn-ink:hover{background:#2C2436;}
.btn-outline{background:transparent;color:var(--ink);border-color:var(--taupe);}
.btn-outline:hover{border-color:var(--gold-d);color:var(--gold-d);}
.arrow{transition:transform .15s ease;}
.btn:hover .arrow{transform:translateX(3px);}

/* ---- nav ---- */
nav.top{position:sticky;top:0;z-index:50;background:rgba(20,4,40,.82);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.08);}
nav.top .wrap{display:flex;align-items:center;gap:1.4rem;padding-top:.85rem;padding-bottom:.85rem;}
.brand{display:flex;align-items:center;gap:.6rem;font-family:var(--serif);font-weight:600;font-size:1.35rem;color:#fff;text-decoration:none;}
.brand .seal{width:1.5rem;height:1.5rem;}
nav.top .links{display:flex;gap:1.3rem;margin-left:1rem;font-size:14px;}
nav.top .links a{color:#C9BBDD;text-decoration:none;}
nav.top .links a:hover{color:#fff;}
nav.top .cta{margin-left:auto;}
.navtoggle{display:none;margin-left:auto;background:none;border:1px solid rgba(255,255,255,.25);border-radius:7px;color:#fff;padding:.4rem .6rem;cursor:pointer;}

/* ---- hero ---- */
.hero{padding:4.5rem 0 5.5rem;}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:3rem;align-items:center;}
.pill{display:inline-flex;align-items:center;gap:.5rem;font-size:12px;font-weight:600;letter-spacing:.04em;
  color:var(--gold-l);border:1px solid rgba(234,179,8,.4);border-radius:999px;padding:.32rem .8rem;margin-bottom:1.5rem;}
.pill .dot{width:7px;height:7px;border-radius:50%;background:var(--ok-l);box-shadow:0 0 0 3px rgba(93,202,165,.2);}
h1.title{font-size:clamp(2.6rem,6vw,4.4rem);font-weight:600;}
.shimmer{background:linear-gradient(100deg,var(--gold-d),var(--gold) 30%,var(--gold-sh) 50%,var(--gold) 70%,var(--gold-d));
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
  background-size:200% auto;animation:sheen 5s linear infinite;}
@keyframes sheen{to{background-position:200% center;}}
.hero .sub{font-size:1.25rem;color:#E5DAF3;max-width:34rem;margin:1.4rem 0 2rem;}
.hero .actions{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;}
.hero .micro{margin-top:1.6rem;font-size:13px;color:#B9A9D0;display:flex;flex-wrap:wrap;gap:1.2rem;}
.hero .micro b{color:#fff;font-weight:600;}
.emaillink{color:#C9BBDD;font-size:13px;text-decoration:none;border-bottom:1px dotted rgba(201,187,221,.5);}
.emaillink:hover{color:var(--gold-l);}
.hero-art{position:relative;}
.hero-art svg{width:100%;height:auto;display:block;filter:drop-shadow(0 24px 60px rgba(0,0,0,.45));}
.float{animation:float 7s ease-in-out infinite;}
@keyframes float{0%,100%{transform:translateY(0);}50%{transform:translateY(-10px);}}

/* ---- generic content ---- */
h2.sec{font-size:clamp(1.8rem,3.6vw,2.6rem);}
.sec-lead{max-width:42rem;margin:1rem 0 0;}
.quote{font-family:var(--serif);font-size:clamp(1.5rem,3vw,2.1rem);line-height:1.25;font-weight:500;}
.quote .em{color:var(--gold);}
.dv .quote .em{color:var(--gold-l);}

/* cards */
.cards{display:grid;gap:1.2rem;margin-top:2.5rem;}
.cols-3{grid-template-columns:repeat(3,1fr);}
.card{background:#fff;border:1px solid var(--taupe);border-radius:14px;padding:1.6rem;}
.card h3{font-size:1.15rem;margin-bottom:.5rem;}
.card p{color:var(--mut);margin:0;font-size:15px;}
.card .ic{width:2.4rem;height:2.4rem;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--taupe2);margin-bottom:1rem;}
.card .ic svg{width:1.3rem;height:1.3rem;}

/* four objects row */
.objects{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin-top:1.6rem;}
.obj{border:1px solid var(--taupe);border-radius:12px;padding:1rem 1.1rem;background:var(--taupe2);}
.obj .k{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--gold-d);font-weight:600;}
.obj h4{font-family:var(--serif);font-weight:600;font-size:1.05rem;margin:.3rem 0 .3rem;}
.obj p{font-size:13.5px;color:var(--mut);margin:0;}
.obj .n{float:right;font-family:var(--mono);font-size:12px;color:#B9AFC0;}

/* flow diagram */
.flow{display:flex;align-items:stretch;gap:0;margin-top:2.5rem;flex-wrap:wrap;}
.step{flex:1 1 0;min-width:170px;background:#fff;border:1px solid var(--taupe);border-radius:14px;padding:1.2rem;position:relative;}
.step .num{font-family:var(--mono);font-size:12px;color:var(--gold-d);font-weight:600;}
.step h4{font-family:var(--serif);font-weight:600;font-size:1.1rem;margin:.35rem 0 .5rem;}
.step ul{margin:.4rem 0 0;padding-left:1rem;font-size:13.5px;color:var(--mut);}
.step ul li{margin:.15rem 0;}
.step .failclosed{margin-top:.6rem;font-size:12px;color:var(--bad);font-weight:600;}
.conn{flex:0 0 2rem;display:flex;align-items:center;justify-content:center;color:var(--gold);}
.conn svg{width:1.4rem;height:1.4rem;}
.outcome{display:flex;gap:.6rem;margin-top:.7rem;flex-wrap:wrap;}
.tag{font-family:var(--mono);font-size:12px;font-weight:600;padding:.28rem .6rem;border-radius:6px;display:inline-flex;align-items:center;gap:.4rem;}
.tag.ok{background:#E7F3EE;color:var(--ok);border:1px solid #C6E2D7;}
.tag.bad{background:#F7EBEB;color:var(--bad);border:1px solid #EAD2D2;}
.tag .d{width:7px;height:7px;border-radius:50%;}
.tag.ok .d{background:var(--ok);}.tag.bad .d{background:var(--bad);}

/* topology svg */
.diagram{margin-top:2.5rem;overflow-x:auto;}
.diagram svg{display:block;margin:0 auto;width:100%;min-width:640px;max-width:60rem;height:auto;}

/* ---- live revoke widget ---- */
.demo{border:1px solid var(--plum-line);border-radius:18px;background:rgba(0,0,0,.22);padding:1.4rem;margin-top:2.5rem;display:grid;grid-template-columns:1.1fr .9fr;gap:1.4rem;}
.rendercard{border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:1.2rem;background:linear-gradient(180deg,rgba(93,202,165,.10),rgba(0,0,0,.15));transition:background .4s ease,border-color .4s ease;}
.rendercard.stopped{background:linear-gradient(180deg,rgba(240,153,123,.14),rgba(0,0,0,.2));border-color:rgba(240,153,123,.4);}
.rc-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;}
.rc-kick{font-size:11px;text-transform:uppercase;letter-spacing:.14em;font-weight:600;color:var(--ok-l);}
.rendercard.stopped .rc-kick{color:var(--bad-l);}
.statuschip{font-family:var(--mono);font-size:12px;font-weight:600;padding:.25rem .55rem;border-radius:6px;background:rgba(93,202,165,.14);color:var(--ok-l);border:1px solid rgba(93,202,165,.35);white-space:nowrap;}
.rendercard.stopped .statuschip{background:rgba(240,153,123,.16);color:var(--bad-l);border-color:rgba(240,153,123,.45);}
.rc-title{margin:.8rem 0 .2rem;font-size:14px;color:#E5DAF3;}
.frame{font-family:var(--mono);font-size:2.2rem;font-weight:600;color:#fff;letter-spacing:-.02em;}
.bar{height:7px;border-radius:99px;background:rgba(255,255,255,.12);overflow:hidden;margin:.7rem 0 1rem;}
.bar > i{display:block;height:100%;width:62%;background:linear-gradient(90deg,var(--ok-l),#9be9cf);transition:width .8s linear;}
.rendercard.stopped .bar > i{background:linear-gradient(90deg,var(--bad-l),#f6b7a2);}
.log{font-family:var(--mono);font-size:12px;line-height:1.7;background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:.7rem .8rem;height:8.2rem;overflow:hidden;color:#B9A9D0;}
.log-line .t{color:#6E5F86;margin-right:.5rem;}
.log-line.rev{color:var(--gold-l);}
.log-line.bad{color:var(--bad-l);}
.revoke-wrap{display:flex;flex-direction:column;justify-content:center;}
.btn-revoke{width:100%;justify-content:center;background:var(--bad);color:#fff;font-size:16px;padding:1rem;border:0;border-radius:12px;font-weight:600;font-family:var(--sans);cursor:pointer;transition:background .2s ease;}
.btn-revoke:hover{background:#7f2323;}
.btn-revoke:disabled{background:#4a3352;color:#9d8fae;cursor:default;}
.revoke-note{font-size:12.5px;color:#B9A9D0;margin:.7rem 0 0;text-align:center;}
.receipt{margin-top:1rem;border:1px solid rgba(93,202,165,.35);border-radius:12px;padding:1rem;background:rgba(0,0,0,.25);display:none;}
.receipt.show{display:block;}
.receipt h4{font-family:var(--serif);font-size:1.05rem;color:#fff;margin:0 0 .1rem;}
.receipt .cap{font-size:12px;color:#B9A9D0;margin:0 0 .7rem;}
.receipt ul{list-style:none;margin:0;padding:0;font-size:13px;}
.receipt li{display:flex;align-items:flex-start;gap:.5rem;padding:.2rem 0;color:#E5DAF3;}
.receipt li .ck{color:var(--ok-l);font-weight:700;flex:0 0 auto;}
.receipt li b{color:#fff;font-weight:600;}
.reset{margin-top:.7rem;background:none;border:0;color:#B9A9D0;font-size:12px;cursor:pointer;text-decoration:underline;font-family:var(--sans);}
.reset:hover{color:var(--gold-l);}

/* ---- evidence record panel (the artefact the demo produces) ---- */
.evidence{margin-top:1.4rem;border:1px solid var(--plum-line);border-radius:18px;background:rgba(0,0,0,.22);padding:1.4rem;}
.evidence .ev-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.4rem 1rem;margin-bottom:1rem;}
.evidence .ev-title{font-family:var(--serif);font-weight:600;font-size:1.15rem;color:#fff;margin:0;}
.evidence .ev-cap{font-size:12.5px;color:#B9A9D0;margin:0;}
/* the record viewer — reuses the codewrap look */
.rec-view{background:#100320;border:1px solid var(--plum-line);border-radius:14px;overflow:hidden;transition:border-color .4s ease;}
.rec-view.stopped{border-color:rgba(240,153,123,.4);}
.rec-bar{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.6rem .9rem;border-bottom:1px solid var(--plum-line);}
.rec-file{font-family:var(--mono);font-size:12px;color:#8E7BAD;display:flex;align-items:center;gap:.5rem;}
.rec-file .dot{width:9px;height:9px;border-radius:50%;background:var(--ok-l);}
.rec-view.stopped .rec-file .dot{background:var(--bad-l);}
.rec-chip{font-family:var(--mono);font-size:11.5px;font-weight:600;padding:.22rem .55rem;border-radius:6px;white-space:nowrap;
  background:rgba(93,202,165,.14);color:var(--ok-l);border:1px solid rgba(93,202,165,.35);}
.rec-view.stopped .rec-chip{background:rgba(240,153,123,.16);color:var(--bad-l);border-color:rgba(240,153,123,.45);}
.rec-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:0;}
.rec-json{margin:0;padding:1.1rem 1.2rem;overflow-x:auto;font-family:var(--mono);font-size:12.5px;line-height:1.7;color:#E5DAF3;border-right:1px solid var(--plum-line);}
.rec-json .k{color:#C79BE8;}.rec-json .s{color:#9be9cf;}.rec-json .c{color:#6E5F86;}.rec-json .g{color:var(--gold-l);}
.rec-map{padding:1.1rem 1.2rem;display:flex;flex-direction:column;gap:.7rem;}
.rec-map .row{display:flex;flex-direction:column;gap:.15rem;}
.rec-map .fk{font-family:var(--mono);font-size:11.5px;color:#B9A9D0;}
.rec-map .fv{font-size:13.5px;color:#E5DAF3;}
.rec-map .fv b{color:#fff;font-weight:600;}
/* honest-state badge */
.honest-badge{display:flex;align-items:flex-start;gap:.55rem;margin-top:1rem;padding:.7rem .9rem;border-radius:10px;
  background:rgba(234,179,8,.08);border:1px solid rgba(234,179,8,.28);font-size:12.5px;color:#D9CCEB;}
.honest-badge .hk{color:var(--gold-l);font-weight:700;flex:0 0 auto;}
.honest-badge a{color:var(--gold-l);}
/* includes | excludes */
.inex{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.2rem;}
.inex-col{border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1rem 1.1rem;background:rgba(0,0,0,.18);}
.inex-col h5{font-family:var(--sans);font-weight:600;font-size:11.5px;text-transform:uppercase;letter-spacing:.12em;margin:0 0 .7rem;}
.inex-col.inc h5{color:var(--ok-l);}
.inex-col.exc h5{color:var(--bad-l);}
.inex-col ul{list-style:none;margin:0;padding:0;font-size:13.5px;}
.inex-col li{display:flex;align-items:flex-start;gap:.5rem;padding:.22rem 0;color:#E5DAF3;}
.inex-col li .m{flex:0 0 auto;font-weight:700;}
.inex-col.inc li .m{color:var(--ok-l);}
.inex-col.exc li .m{color:var(--bad-l);}
.inex-note{margin:1rem 0 0;font-size:12.5px;color:#B9A9D0;}
.inex-note code{font-family:var(--mono);color:var(--gold-l);background:rgba(234,179,8,.1);padding:.1rem .35rem;border-radius:5px;}

/* ---- developer "integrate in minutes" ---- */
.dev-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:2.4rem;align-items:center;margin-top:2.5rem;}
.tabs{display:flex;gap:.4rem;margin-bottom:.8rem;}
.tab{font-family:var(--sans);font-size:13px;font-weight:600;padding:.4rem .9rem;border-radius:99px;border:1px solid rgba(255,255,255,.18);background:transparent;color:#C9BBDD;cursor:pointer;}
.tab.active{background:var(--gold);color:#2A0B12;border-color:var(--gold);}
.codewrap{background:#100320;border:1px solid var(--plum-line);border-radius:14px;overflow:hidden;}
.codebar{display:flex;align-items:center;gap:.4rem;padding:.6rem .9rem;border-bottom:1px solid var(--plum-line);}
.codebar .d{width:9px;height:9px;border-radius:50%;background:#5b3a80;}
.codebar .fn{margin-left:.6rem;font-family:var(--mono);font-size:12px;color:#8E7BAD;}
pre.code{margin:0;padding:1.1rem 1.2rem;overflow-x:auto;font-family:var(--mono);font-size:13px;line-height:1.65;color:#E5DAF3;}
pre.code .k{color:#C79BE8;}pre.code .s{color:#9be9cf;}pre.code .c{color:#6E5F86;}pre.code .g{color:var(--gold-l);}
.codepanel{display:none;}.codepanel.active{display:block;}
.getlist{list-style:none;margin:1.2rem 0 0;padding:0;}
.getlist li{display:flex;gap:.7rem;align-items:flex-start;padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:14.5px;color:#E5DAF3;}
.getlist li b{color:#fff;}
.getlist .gk{color:var(--gold-l);flex:0 0 auto;font-weight:700;}

/* ---- trust band ---- */
.trust{background:var(--taupe2);border-top:1px solid var(--taupe);border-bottom:1px solid var(--taupe);}
.trust .row{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center;}
.chip{display:inline-flex;align-items:center;gap:.5rem;background:#fff;border:1px solid var(--taupe);border-radius:99px;padding:.5rem 1rem;font-size:13.5px;font-weight:500;color:var(--ink);}
.chip svg{width:1rem;height:1rem;color:var(--gold-d);}
.trust .note{text-align:center;margin:1.6rem 0 0;font-size:14px;color:var(--mut);}
.trust .note a{color:var(--gold-d);}

/* ---- roadmap timeline ---- */
.timeline{margin-top:2.5rem;display:grid;gap:1rem;}
.tl{display:grid;grid-template-columns:auto 1fr;gap:1.1rem;align-items:start;}
.tl .lvl{font-family:var(--mono);font-size:12px;font-weight:600;padding:.3rem .6rem;border-radius:7px;white-space:nowrap;align-self:start;margin-top:.15rem;}
.tl.now .lvl{background:rgba(93,202,165,.16);color:var(--ok-l);border:1px solid rgba(93,202,165,.4);}
.tl.next .lvl{background:rgba(234,179,8,.14);color:var(--gold-l);border:1px solid rgba(234,179,8,.4);}
.tl.later .lvl{background:rgba(255,255,255,.06);color:#C9BBDD;border:1px solid rgba(255,255,255,.18);}
.tl .body{border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:1rem;}
.tl h4{font-size:1.1rem;color:#fff;margin-bottom:.25rem;}
.tl p{color:#C9BBDD;font-size:14px;margin:0;}
.tl .tier{display:inline-block;margin-top:.4rem;font-size:11.5px;color:#B9A9D0;font-family:var(--mono);}
.tl .status{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin-left:.5rem;}
.tl.now .status{color:var(--ok-l);}.tl.next .status,.tl.later .status{color:var(--gold-l);}
.roadmap-teaser{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.6rem;}
.rt{flex:1 1 200px;border:1px solid var(--taupe);border-radius:12px;padding:1rem 1.1rem;background:#fff;}
.rt .lvl{font-family:var(--mono);font-size:12px;font-weight:600;color:var(--gold-d);}
.rt h4{font-size:1rem;margin:.3rem 0 .2rem;}
.rt p{font-size:13px;color:var(--mut);margin:0;}

/* ---- footer ---- */
footer{background:var(--plum3);color:#B9A9D0;font-size:14px;padding:3.5rem 0 2rem;}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2rem;}
.foot-brand .brand{font-size:1.3rem;margin-bottom:.6rem;}
.foot-brand p{font-size:13.5px;color:#9E8FB6;max-width:20rem;}
footer h5{font-family:var(--sans);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#8E7BAD;margin:0 0 .9rem;}
footer ul{list-style:none;margin:0;padding:0;}
footer li{margin:.5rem 0;}
footer a{color:#C9BBDD;text-decoration:none;}footer a:hover{color:var(--gold-l);}
.foot-bottom{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:center;margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.08);font-size:13px;color:#8E7BAD;}
.soon{opacity:.6;}

/* ---- pricing ---- */
.toggle{display:inline-flex;align-items:center;gap:.7rem;margin-top:1.4rem;font-size:14px;color:var(--mut);}
.switch{position:relative;width:46px;height:26px;border-radius:99px;background:var(--taupe);border:1px solid #D8D2C6;cursor:pointer;transition:background .2s;}
.switch.on{background:var(--gold);border-color:var(--gold);}
.switch i{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 3px rgba(0,0,0,.2);}
.switch.on i{transform:translateX(20px);}
.save{font-size:12px;font-weight:600;color:var(--ok);background:#E7F3EE;border:1px solid #C6E2D7;border-radius:99px;padding:.15rem .55rem;}
.tiers{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2.5rem;align-items:stretch;}
.tier{display:flex;flex-direction:column;border:1px solid var(--taupe);border-radius:16px;padding:1.5rem;background:#fff;}
.tier.feat{border:2px solid var(--gold);box-shadow:0 16px 40px -20px rgba(234,179,8,.5);position:relative;}
.tier.feat::before{content:"Most popular";position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:var(--gold);color:#2A0B12;font-size:11px;font-weight:700;padding:.2rem .7rem;border-radius:99px;white-space:nowrap;}
.tier .tname{font-family:var(--serif);font-weight:600;font-size:1.3rem;}
.tier .tdesc{font-size:13px;color:var(--mut);margin:.3rem 0 1rem;min-height:2.4rem;}
.tier .price{font-family:var(--serif);font-weight:600;font-size:2.1rem;color:var(--ink);line-height:1;}
.tier .price .per{font-family:var(--sans);font-size:13px;font-weight:400;color:var(--mut);}
.tier .lvltag{display:inline-block;margin:.8rem 0;font-family:var(--mono);font-size:11.5px;font-weight:600;color:var(--gold-d);background:var(--taupe2);border:1px solid var(--taupe);border-radius:7px;padding:.25rem .55rem;}
.tier ul{list-style:none;margin:.6rem 0 1.4rem;padding:0;font-size:14px;}
.tier li{display:flex;gap:.5rem;align-items:flex-start;padding:.3rem 0;color:#3a3342;}
.tier li .c{color:var(--ok);font-weight:700;flex:0 0 auto;}
.tier li b{font-weight:600;color:var(--ink);}
.tier .btn{margin-top:auto;justify-content:center;}
.addons{margin-top:2rem;font-size:14px;color:var(--mut);}
.addons b{color:var(--ink);}

/* feature matrix */
.matrix-wrap{margin-top:3rem;overflow-x:auto;}
table.matrix{border-collapse:collapse;width:100%;min-width:720px;font-size:14px;}
table.matrix th,table.matrix td{text-align:left;padding:.7rem .9rem;border-bottom:1px solid var(--taupe);}
table.matrix thead th{font-family:var(--serif);font-weight:600;font-size:1rem;}
table.matrix thead th.feat{color:var(--gold-d);}
table.matrix td.c{text-align:center;}
table.matrix tr.grp td{background:var(--taupe2);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--mut);}
table.matrix .yes{color:var(--ok);font-weight:700;}
table.matrix .no{color:#C4BEB4;}
table.matrix .txt{font-size:13px;}

/* case study */
.case{background:var(--plum-card);border:1px solid var(--plum-line);border-radius:18px;padding:2rem;margin-top:2.5rem;color:var(--ivory);}
.case .stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin:1.5rem 0;}
.case .stat b{display:block;font-family:var(--serif);font-weight:600;font-size:1.9rem;color:#fff;line-height:1;}
.case .stat span{font-size:13px;color:#C9BBDD;}
.case .split{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;margin-top:1rem;}
.case .box{border-radius:12px;padding:1.1rem 1.2rem;font-size:14.5px;}
.case .box.good{background:rgba(93,202,165,.12);border:1px solid rgba(93,202,165,.35);}
.case .box.bad{background:rgba(240,153,123,.10);border:1px solid rgba(240,153,123,.3);}
.case .box h4{font-size:1rem;color:#fff;margin-bottom:.4rem;}
.case .box p{margin:0;color:#D9CCEB;}
.case .disc{font-size:12px;color:#9E8FB6;margin:1.2rem 0 0;}

/* faq */
.faq{margin-top:2.5rem;max-width:48rem;}
.faq details{border:1px solid var(--taupe);border-radius:12px;padding:.2rem 1.1rem;margin-bottom:.7rem;background:#fff;}
.faq summary{cursor:pointer;padding:.9rem 0;font-family:var(--serif);font-weight:600;font-size:1.05rem;list-style:none;position:relative;padding-right:1.5rem;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";position:absolute;right:0;top:.8rem;color:var(--gold-d);font-size:1.3rem;}
.faq details[open] summary::after{content:"–";}
.faq details p{margin:0 0 1rem;color:var(--mut);font-size:15px;}

/* ---- reveal ---- */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease;}
.reveal.in{opacity:1;transform:none;}

/* ---- responsive ---- */
@media (max-width:900px){
  .tiers{grid-template-columns:1fr 1fr;}
}
@media (max-width:860px){
  .hero-grid{grid-template-columns:1fr;gap:2.2rem;}
  .hero-art{max-width:24rem;margin:0 auto;}
  .cols-3{grid-template-columns:1fr;}
  .objects{grid-template-columns:1fr 1fr;}
  .demo{grid-template-columns:1fr;}
  .rec-grid{grid-template-columns:1fr;}
  .rec-json{border-right:0;border-bottom:1px solid var(--plum-line);}
  .inex{grid-template-columns:1fr;}
  .dev-grid{grid-template-columns:1fr;}
  .foot-grid{grid-template-columns:1fr 1fr;gap:1.6rem;}
  .case .stat-row{grid-template-columns:1fr 1fr;}
  .case .split{grid-template-columns:1fr;}
  nav.top .links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:#1b0636;border-bottom:1px solid rgba(255,255,255,.1);padding:.5rem 1.5rem 1rem;}
  nav.top .links.open{display:flex;}
  nav.top .links a{padding:.7rem 0;border-bottom:1px solid rgba(255,255,255,.06);}
  nav.top .cta{margin-left:auto;}
  .navtoggle{display:inline-flex;}
  section{padding:4rem 0;}
}
@media (max-width:560px){
  .tiers{grid-template-columns:1fr;}
  .objects{grid-template-columns:1fr;}
  .foot-grid{grid-template-columns:1fr;}
  .case .stat-row{grid-template-columns:1fr 1fr;}
  body{font-size:16px;}
}
/* keep the sticky nav within the smallest phones (brand + toggle + CTA is a no-shrink row) */
@media (max-width:480px){
  nav.top .wrap{gap:.6rem;padding-left:1rem;padding-right:1rem;}
  .brand{font-size:1.18rem;}
  .brand .seal{width:1.3rem;height:1.3rem;}
  nav.top .cta{padding:.55rem .85rem;font-size:13.5px;}
}
@media (prefers-reduced-motion:reduce){
  *{scroll-behavior:auto !important;}
  .reveal{opacity:1;transform:none;transition:none;}
  .shimmer,.float{animation:none;}
}
