:root{
  --bg:#F3F8FF; --ink:#0F1B31; --body:#54678A; --line:#E6EDF8;
  --mint:#2EE6B8; --mint-deep:#0FBF93; --cyan:#3FBBE8;
  --grad:linear-gradient(120deg,#3BE8BC 0%,#3FBBE8 100%);
  --grad-soft:linear-gradient(120deg,rgba(59,232,188,.1),rgba(63,187,232,.1));
  --btn-ink:#07352B; --radius:20px; --maxw:1120px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{overflow-x:hidden}
body{background:linear-gradient(180deg,var(--bg) 0%,#FDFEFF 45%);color:var(--ink);font-family:'Inter',system-ui,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:'Gabarito',sans-serif;line-height:1.1;letter-spacing:-.015em}
a{color:inherit}
.wrap{max-width:var(--maxw);width:100%;margin:0 auto;padding-left:24px;padding-right:24px}
.btn{display:inline-block;text-decoration:none;font-weight:800;border-radius:999px;padding:14px 28px;font-size:15px;font-family:'Gabarito',sans-serif;transition:transform .15s, box-shadow .2s;cursor:pointer;border:none}
.btn:focus-visible{outline:3px solid var(--mint-deep);outline-offset:3px}
.btn-primary{background:var(--mint);color:var(--btn-ink);box-shadow:0 8px 22px rgba(15,191,147,.28)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(15,191,147,.38)}
.btn-ghost{border:2px solid #D6E3F8;color:var(--ink);background:#fff}
.btn-ghost:hover{border-color:var(--mint);transform:translateY(-2px)}

header{position:sticky;top:0;z-index:50;background:rgba(243,248,255,.88);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;justify-content:space-between;align-items:center;height:66px}
.nav .logo svg{height:25px;width:auto;display:block}
.nav-links{display:flex;gap:24px;align-items:center;font-size:14.5px;font-weight:600}
.nav-links a{text-decoration:none;color:var(--body);transition:color .2s}
.nav-links a:hover{color:var(--ink)}
.nav .btn{padding:9px 20px;font-size:14px}

/* hero */
.hero{padding-top:66px;padding-bottom:44px;display:grid;grid-template-columns:1.08fr .92fr;gap:48px;align-items:center}
.badge{display:inline-block;font-family:'Gabarito',sans-serif;font-weight:800;font-size:12.5px;background:var(--ink);color:var(--mint);border-radius:9px;padding:6px 14px;transform:rotate(-1.5deg);margin-bottom:18px;letter-spacing:.04em}
.hero h1{font-size:clamp(36px,5.2vw,62px);font-weight:900;margin-bottom:8px}
.hero h1 .whole{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.rotator{display:block;font-size:clamp(22px,3.2vw,36px);font-weight:800;color:var(--body);height:1.45em;overflow:hidden;margin-bottom:16px;font-family:'Gabarito',sans-serif}
.rotator .rw{display:inline-block;color:var(--ink);border-bottom:4px solid var(--mint);padding-bottom:2px;animation:pop .5s ease}
@keyframes pop{0%{opacity:0;transform:translateY(12px)}100%{opacity:1;transform:none}}
.hero .lede{font-size:17px;color:var(--body);max-width:30em;margin-bottom:26px}
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap}
.hero-note{margin-top:14px;font-size:14px;color:var(--body);font-weight:600}

/* receipt */
.thermal{background:#fff;border-radius:10px;padding:24px 26px 20px;transform:rotate(1.5deg);box-shadow:0 3px 0 var(--line), 0 22px 48px rgba(46,120,200,.16);font-family:'IBM Plex Mono',monospace;position:relative;transition:transform .3s}
.thermal:hover{transform:rotate(0deg) scale(1.02)}
.thermal::before{content:"";position:absolute;top:-14px;left:14%;width:72%;height:26px;border-radius:6px;background:linear-gradient(#DCE8F8,#C9DAF2);box-shadow:inset 0 -3px 5px rgba(60,90,140,.25)}
.thermal::after{content:"";position:absolute;left:0;right:0;bottom:-10px;height:10px;background:linear-gradient(-45deg,transparent 33%,#fff 33% 66%,transparent 66%),linear-gradient(45deg,transparent 33%,#fff 33% 66%,transparent 66%);background-size:14px 10px}
.t-head{font-size:11px;letter-spacing:.14em;color:#7A8AA8;display:flex;justify-content:space-between;margin-bottom:12px}
.t-head .st{color:var(--mint-deep);border:1.5px solid var(--mint-deep);border-radius:3px;padding:1px 7px;font-size:10px;animation:blink 2s infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.4}}
.trow{display:grid;grid-template-columns:auto 1fr auto;gap:10px;padding:8px 0;border-bottom:1px dashed var(--line);font-size:12.5px;color:#33456B;opacity:0;transform:translateY(6px)}
.trow.printed{opacity:1;transform:none;transition:opacity .4s, transform .4s}
.trow .tm{color:#9AA9C6}
.trow .pt{color:var(--mint-deep);font-weight:600}
.t-sum{padding:12px 0 4px;font-size:11px;letter-spacing:.06em;text-align:center;border-top:1.5px solid var(--ink);margin-top:4px;font-weight:600}
.t-foot{margin-top:8px;font-size:10.5px;letter-spacing:.1em;color:#9AA9C6;text-align:center}

/* marquee */
.marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;padding:14px 0;overflow:hidden}
.mq-track{display:flex;gap:34px;width:max-content;animation:mq 26s linear infinite;font-family:'Gabarito',sans-serif;font-weight:700;font-size:15px;color:var(--body);white-space:nowrap}
.mq-track span i{font-style:normal;margin-right:8px}
@keyframes mq{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.mq-track{animation:none}}

/* interactive */
.demo{padding:80px 0}
.sec-head{max-width:700px;margin:0 0 36px}
.eyebrow{font-size:13px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--mint-deep);margin-bottom:12px;font-family:'Gabarito',sans-serif}
.sec-head h2{font-size:clamp(28px,3.6vw,42px);font-weight:900;margin-bottom:10px}
.sec-head p{color:var(--body);font-size:16.5px}
.demo-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:stretch}
.channels{display:flex;flex-direction:column;gap:12px}
.ch{display:flex;align-items:center;gap:14px;background:#fff;border:1.5px solid var(--line);border-radius:16px;padding:15px 18px;cursor:pointer;text-align:left;font-family:'Inter',sans-serif;transition:transform .12s, border-color .15s, box-shadow .15s}
.ch:hover{border-color:var(--mint);transform:translateY(-2px);box-shadow:0 10px 24px rgba(15,191,147,.13)}
.ch:active{transform:scale(.97)}
.ch .cic{width:42px;height:42px;border-radius:12px;flex:none;display:flex;align-items:center;justify-content:center;background:var(--grad-soft);color:var(--mint-deep)}
.ch .cic svg{width:21px;height:21px}
.ch>span:nth-child(2){min-width:0}
.ch b{font-size:15.5px;display:block;font-family:'Gabarito',sans-serif;font-weight:800;overflow-wrap:anywhere}
.ch small{font-size:12.5px;color:var(--body)}
.ch .buy{margin-left:auto;font-family:'Gabarito',sans-serif;font-weight:800;font-size:11px;color:var(--mint-deep);border:1.5px solid var(--mint-deep);border-radius:99px;padding:4px 11px;flex:none}
.shopday{background:var(--ink);border-radius:22px;padding:24px;color:#E7EEF9;position:relative;overflow:hidden;display:flex;flex-direction:column}
.shopday::before{content:"";position:absolute;inset:0;background:radial-gradient(400px 200px at 80% -10%,rgba(59,232,188,.16),transparent 60%)}
.sd-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;position:relative;flex-wrap:wrap;gap:8px}
.sd-head .ttl{font-family:'Gabarito',sans-serif;font-weight:800;font-size:16px}
.member{font-family:'IBM Plex Mono',monospace;font-size:11.5px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:99px;padding:5px 12px}
.member b{color:var(--mint)}
.counters{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px;position:relative}
.cnt{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:10px 12px;text-align:center}
.cnt .v{font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:16px;color:#fff}
.cnt .l{font-size:10.5px;letter-spacing:.08em;color:#9FB0CC;text-transform:uppercase}
.feed{flex:1;min-height:190px;position:relative;font-family:'IBM Plex Mono',monospace;font-size:12px}
.feed .empty{color:#7688A8;text-align:center;padding-top:60px;font-family:'Inter',sans-serif;font-size:13.5px}
.frow{display:flex;justify-content:space-between;gap:10px;padding:8px 2px;border-bottom:1px dashed rgba(255,255,255,.12);animation:pop .35s ease}
.frow .src{color:#8FE9CF;margin-right:6px}
.frow .pts{color:var(--mint);font-weight:600}
.toast{position:absolute;right:16px;bottom:16px;max-width:calc(100% - 32px);text-align:center;line-height:1.35;background:var(--mint);color:var(--btn-ink);font-family:'Gabarito',sans-serif;font-weight:800;font-size:13px;border-radius:99px;padding:8px 16px;opacity:0;transform:translateY(8px);transition:opacity .25s, transform .25s;pointer-events:none}
.toast.show{opacity:1;transform:none}
.demo-note{margin-top:14px;font-size:14px;color:var(--body);text-align:center}
.demo-note b{color:var(--ink)}

/* ============ OWNERSHIP — POSTER SECTION ============ */
.own{background:var(--ink);color:#fff;padding:96px 0;position:relative;overflow:hidden}
.own::before{content:"";position:absolute;inset:0;background:
  radial-gradient(620px 340px at 12% 4%,rgba(59,232,188,.16),transparent 60%),
  radial-gradient(620px 340px at 88% 96%,rgba(63,187,232,.16),transparent 60%)}
.own .eyebrow{color:var(--mint);text-align:center;position:relative}
.own h2{font-size:clamp(38px,5.6vw,68px);font-weight:900;text-align:center;line-height:1.04;position:relative;margin-bottom:10px}
.own h2 .hl{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.own .own-sub{text-align:center;color:#AEBCD6;font-size:16.5px;max-width:38em;margin:0 auto;position:relative}

/* ownership funnel graphic */
.funnel{display:flex;flex-direction:column;align-items:center;gap:7px;margin:40px auto 8px;position:relative;max-width:520px}
.f-lay{
  font-family:'Gabarito',sans-serif;font-weight:900;letter-spacing:.1em;font-size:14px;color:#fff;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.2);
  display:flex;align-items:center;justify-content:center;height:46px;
  clip-path:polygon(3.5% 0,96.5% 0,91% 100%,9% 100%);
}
.f-lay.l1{width:min(520px,92%)}
.f-lay.l2{width:min(432px,78%)}
.f-lay.l3{width:min(352px,64%)}
.f-lay.l4{width:min(280px,51%);background:var(--grad);color:var(--btn-ink);border:none}
.f-drip{width:3px;height:16px;background:var(--grad);border-radius:99px}
.f-out{
  font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.18em;color:var(--mint);
  border:1.5px dashed rgba(59,232,188,.5);border-radius:99px;padding:7px 18px;
}

/* stage: phone + flywheel */
.own-stage{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;margin:48px auto 56px;max-width:940px;position:relative}
.ph-wrap{position:relative;display:flex;justify-content:center;min-height:440px;align-items:center}
.phone{
  width:232px;border-radius:36px;border:9px solid #24365A;background:#0B1526;padding:20px 16px 18px;
  box-shadow:0 30px 70px rgba(0,0,0,.5), 0 0 0 1px rgba(255,255,255,.06);position:relative;z-index:2;
}
.phone::before{content:"";position:absolute;top:9px;left:50%;transform:translateX(-50%);width:76px;height:7px;border-radius:99px;background:#24365A}
.ph-greet{font-family:'Gabarito',sans-serif;font-weight:800;font-size:14.5px;margin:16px 0 2px}
.ph-day{font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:.12em;color:#7C8DAD;margin-bottom:12px}
.ph-stat{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:13px;padding:11px 13px;margin-bottom:10px}
.ph-stat .l{font-size:8.5px;letter-spacing:.12em;color:#8FA0BF;font-family:'IBM Plex Mono',monospace}
.ph-stat .v{font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:17px;color:var(--mint)}
.ph-stat .d{font-size:9px;color:#8FA0BF;font-family:'IBM Plex Mono',monospace}
.ph-card{border-radius:13px;padding:12px 13px;background:linear-gradient(130deg,#16294A 0%,#1F3A63 100%);position:relative;overflow:hidden;margin-bottom:10px}
.ph-card::before{content:"";position:absolute;width:110px;height:110px;border-radius:50%;background:var(--grad);opacity:.28;top:-48px;right:-34px}
.ph-card .t{display:flex;justify-content:space-between;align-items:center;position:relative;margin-bottom:9px}
.ph-card .t svg{height:9px;width:auto;color:#fff}
.ph-card .tier{font-family:'IBM Plex Mono',monospace;font-size:7.5px;letter-spacing:.14em;background:rgba(59,232,188,.2);color:var(--mint);border-radius:3px;padding:1px 5px}
.ph-card .n{font-family:'Gabarito',sans-serif;font-weight:800;font-size:12px;position:relative}
.ph-card .p{font-family:'IBM Plex Mono',monospace;font-size:9px;color:#AFC2DE;position:relative}
.ph-card .p b{color:var(--mint)}
.ph-row{display:flex;justify-content:space-between;align-items:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:11px;padding:9px 12px;font-family:'IBM Plex Mono',monospace;font-size:9px;color:#C6D2E8}
.ph-row .ok{color:var(--mint)}
/* floating satellite chips */
.flo{
  position:absolute;background:#fff;color:var(--ink);border-radius:13px;padding:9px 13px;
  font-family:'IBM Plex Mono',monospace;font-size:10.5px;font-weight:600;box-shadow:0 14px 30px rgba(0,0,0,.35);
  z-index:3;animation:bob 4.5s ease-in-out infinite;white-space:nowrap;
}
.flo small{display:block;font-size:8px;letter-spacing:.1em;color:#8A99B8;font-weight:500}
.flo.f1{top:6%;left:3%;animation-delay:.2s;transform:rotate(-3deg)}
.flo.f2{top:16%;right:1%;animation-delay:1.4s;transform:rotate(2deg)}
.flo.f3{bottom:15%;left:1%;animation-delay:.8s;transform:rotate(2.5deg)}
.flo.f4{bottom:5%;right:4%;animation-delay:2s;transform:rotate(-2deg)}
.flo .g{color:var(--mint-deep)}
@keyframes bob{0%,100%{margin-top:0}50%{margin-top:-10px}}
@media (prefers-reduced-motion:reduce){.flo{animation:none}.fw-ring{animation:none}}

/* circular flywheel */
.fw-wrap{display:flex;flex-direction:column;align-items:center;gap:0}
.fw-cap{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.2em;color:#8FA0BF;margin-bottom:18px}
.fw{position:relative;width:340px;max-width:100%;height:340px}
.fw-ring{position:absolute;inset:34px;border:2.5px dashed rgba(59,232,188,.45);border-radius:50%;animation:spin 40s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.fw-c{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;
  background:var(--grad);color:var(--btn-ink);font-family:'Gabarito',sans-serif;font-weight:900;
  font-size:13px;line-height:1.25;border-radius:99px;padding:20px 18px;width:128px;height:128px;
  display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 10px rgba(59,232,188,.12), 0 0 60px rgba(59,232,188,.25);
}
.fw-n{
  position:absolute;background:#122443;border:1px solid rgba(255,255,255,.16);border-radius:12px;
  padding:9px 13px;font-family:'Gabarito',sans-serif;font-weight:800;font-size:12px;color:#fff;
  text-align:center;line-height:1.3;box-shadow:0 10px 26px rgba(0,0,0,.35);width:126px;
}
.fw-n .k{display:block;font-family:'IBM Plex Mono',monospace;font-size:8.5px;letter-spacing:.14em;color:var(--mint);margin-bottom:2px}
.fw-n.n1{top:-6px;left:50%;transform:translateX(-50%)}
.fw-n.n2{top:50%;right:0;transform:translateY(-50%)}
.fw-n.n3{bottom:-6px;left:50%;transform:translateX(-50%)}
.fw-n.n4{top:50%;left:0;transform:translateY(-50%)}

/* supporting benefit cards inside dark band */
.own-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;position:relative}
.ocard{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.13);border-radius:16px;padding:22px 20px;transition:background .2s, transform .2s}
.ocard:hover{background:rgba(255,255,255,.09);transform:translateY(-3px)}
.ocard .oic{width:40px;height:40px;border-radius:12px;background:rgba(59,232,188,.13);display:flex;align-items:center;justify-content:center;color:var(--mint);margin-bottom:13px}
.ocard .oic svg{width:20px;height:20px}
.ocard h3{font-size:16px;font-weight:800;margin-bottom:7px;color:#fff}
.ocard p{font-size:13px;color:#A9B8D2;line-height:1.5}

/* modules */
.modules{padding:80px 0}
.group{border:1px solid var(--line);border-radius:var(--radius);background:#fff;margin-bottom:16px;overflow:hidden}
.g-head{
  width:100%;display:flex;align-items:center;gap:16px;padding:22px 26px;background:#fff;border:none;cursor:pointer;
  text-align:left;font-family:'Gabarito',sans-serif;transition:background .2s;
}
.g-head:hover{background:#FBFDFF}
.g-head:focus-visible{outline:3px solid var(--mint-deep);outline-offset:-3px}
.g-head .gn{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--mint-deep);font-weight:600;letter-spacing:.1em}
.g-head .gt{font-weight:900;font-size:clamp(19px,2.4vw,24px);color:var(--ink)}
.g-head .gd{font-size:14px;color:var(--body);font-family:'Inter',sans-serif;font-weight:500}
.g-head .gc{margin-left:auto;font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--body);background:#F6F9FE;border:1px solid var(--line);border-radius:99px;padding:4px 12px;flex:none}
.g-head .chev{flex:none;width:34px;height:34px;border-radius:99px;border:1.5px solid var(--line);display:flex;align-items:center;justify-content:center;transition:transform .3s, background .2s, border-color .2s}
.g-head .chev svg{width:15px;height:15px;color:var(--body)}
.group.open .g-head .chev{transform:rotate(180deg);background:var(--mint);border-color:var(--mint)}
.group.open .g-head .chev svg{color:var(--btn-ink)}
.g-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s ease}
.group.open .g-body{grid-template-rows:1fr}
.g-inner{overflow:hidden}
.g-pad{padding:4px 26px 26px}
.bento{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.mod{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;position:relative;overflow:hidden;transition:transform .18s, box-shadow .18s, border-color .18s;display:flex;flex-direction:column}
.mod:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(46,120,200,.11);border-color:#CFE6F5}
.mod .code{position:absolute;top:19px;right:21px;font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.14em;color:#A9B8D2}
.mod .mic{width:44px;height:44px;border-radius:13px;position:relative;margin-bottom:13px;flex:none;background:linear-gradient(#fff,#fff) padding-box, var(--grad) border-box;border:1.5px solid transparent;display:flex;align-items:center;justify-content:center;color:var(--ink)}
.mod .mic svg{width:21px;height:21px}
.mod:hover .mic{background:var(--grad) padding-box, var(--grad) border-box;color:#fff;transition:all .2s}
.mod h3{font-size:17.5px;font-weight:800;margin-bottom:2px;padding-right:50px;overflow-wrap:anywhere}
.mod .sub{font-size:13px;color:var(--body);margin-bottom:13px;font-weight:600}
.mod ul{list-style:none;margin-bottom:13px}
.mod li{font-size:13px;color:#3A4A68;padding:4.5px 0 4.5px 22px;position:relative;line-height:1.45}
.mod li::before{content:"";position:absolute;left:2px;top:10px;width:10px;height:6px;border-left:2px solid var(--mint-deep);border-bottom:2px solid var(--mint-deep);transform:rotate(-45deg)}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:11px;border-top:1px solid #F0F5FC}
.chip{font-size:11px;font-weight:600;color:#54678A;background:#F6F9FE;border:1px solid var(--line);border-radius:999px;padding:3px 10px}
.soon{display:inline-block;font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:.1em;color:#8A6A00;background:#FBF3D9;border-radius:4px;padding:2px 7px;vertical-align:middle;margin-left:8px}

/* per-card mini visuals */
.mv{background:#FBFDFF;border:1px solid var(--line);border-radius:13px;padding:13px 15px;margin-bottom:14px;font-family:'IBM Plex Mono',monospace;font-size:11px;color:#33456B;box-shadow:0 8px 18px rgba(46,120,200,.06)}
.mod:nth-child(odd) .mv{transform:rotate(-.6deg)}
.mod:nth-child(even) .mv{transform:rotate(.6deg)}
.mv .h{display:flex;justify-content:space-between;font-size:9.5px;letter-spacing:.12em;color:#8A99B8;margin-bottom:9px}
.mv .r{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:4.5px 0;border-bottom:1px dashed var(--line)}
.mv .r>span:first-child{min-width:0;overflow-wrap:anywhere}
.mv .h>span{overflow-wrap:anywhere}
.mv .r:last-child{border-bottom:none}
.pill{font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:.06em;border-radius:99px;padding:2px 8px;flex:none}
.p-ok{color:#067A55;background:#E3F6ED}
.p-auto{color:#1D5FA8;background:#E8F1FC}
.mv .steps{display:flex;align-items:center;gap:5px;margin-top:8px}
.mv .stp{flex:1;height:5px;border-radius:99px;background:#E8EEF8}
.mv .stp.on{background:var(--grad)}
.mv .steps-l{display:flex;justify-content:space-between;font-size:8.5px;letter-spacing:.06em;color:#8A99B8;margin-top:5px}
.mv .big{font-size:17px;font-weight:600;color:var(--ink)}
.mv.wa{background:#F0FBF5;border-color:#D7F2E3}
.mv.wa .bub{background:#fff;border:1px solid #D7F2E3;border-radius:10px 10px 10px 3px;padding:9px 11px;font-family:'Inter',sans-serif;font-size:12px;color:#2A3B33;line-height:1.45}
.mv.wa .tick{text-align:right;font-size:9px;color:#0FBF93;margin-top:5px;letter-spacing:.05em}
.mv .seg{margin:5px 0}
.mv .seg .sl{display:flex;justify-content:space-between;font-size:9.5px;color:#54678A;margin-bottom:3px}
.mv .seg .sb{height:7px;border-radius:99px;background:#E8EEF8;overflow:hidden}
.mv .seg .sb i{display:block;height:100%;border-radius:99px}
.mv .stars{color:#F5B83D;font-size:13px;letter-spacing:2px}
.mv.tix{text-align:center;background:repeating-linear-gradient(0deg,#FBFDFF,#FBFDFF 26px,#F4F8FE 26px,#F4F8FE 27px)}
.mv.tix .now{font-size:9.5px;letter-spacing:.16em;color:#8A99B8}
.mv.tix .num{font-family:'Gabarito',sans-serif;font-weight:900;font-size:26px;color:var(--ink);margin:2px 0}
.mv .sync{display:flex;gap:5px;margin-top:2px}
.mv .sync b{font-size:8.5px;letter-spacing:.06em;color:#067A55;background:#E3F6ED;border-radius:4px;padding:2px 6px;font-weight:600}
.mv .bars{display:flex;align-items:flex-end;gap:5px;height:44px;margin:7px 0 5px}
.mv .bars i{flex:1;border-radius:4px 4px 0 0;background:var(--grad);opacity:.85}
.mod.lead{grid-column:span 2;display:grid;grid-template-columns:1.05fr .95fr;gap:26px;align-items:start}
.vig{align-self:stretch;display:flex;align-items:center;justify-content:center;padding:8px 0}
.v-bill{width:100%;max-width:250px;background:#FBFDFF;border:1px solid var(--line);border-radius:12px;padding:16px 18px;font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:#33456B;box-shadow:0 12px 28px rgba(46,120,200,.1);transform:rotate(1.5deg)}
.v-bill .vb-h{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.1em;color:#8A99B8;margin-bottom:10px}
.v-bill .vb-h .off{color:var(--mint-deep);border:1px solid var(--mint-deep);border-radius:3px;padding:0 5px;font-size:9px}
.v-bill .vb-r{display:flex;justify-content:space-between;padding:5px 0;border-bottom:1px dashed var(--line)}
.v-bill .vb-t{display:flex;justify-content:space-between;padding-top:9px;font-weight:600;color:var(--ink)}
.v-card{width:100%;max-width:260px;border-radius:16px;padding:18px 20px;color:#fff;position:relative;overflow:hidden;background:linear-gradient(130deg,#0F1B31 0%,#1C3252 100%);box-shadow:0 14px 30px rgba(20,40,80,.25);transform:rotate(-1.5deg)}
.v-card::before{content:"";position:absolute;width:170px;height:170px;border-radius:50%;background:var(--grad);opacity:.25;top:-70px;right:-50px}
.v-card .vc-t{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;position:relative}
.v-card .tier{font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:.16em;background:rgba(59,232,188,.18);color:var(--mint);border-radius:4px;padding:2px 7px}
.v-card .vc-n{font-family:'Gabarito',sans-serif;font-weight:800;font-size:16px;position:relative}
.v-card .vc-p{font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:#AFC2DE;margin-bottom:10px;position:relative}
.v-card .vc-p b{color:var(--mint);font-size:13px}
.v-card .bar{height:5px;border-radius:99px;background:rgba(255,255,255,.14);overflow:hidden;position:relative}
.v-card .bar i{display:block;height:100%;width:68%;border-radius:99px;background:var(--grad)}
.v-card .vc-f{font-size:9.5px;font-family:'IBM Plex Mono',monospace;color:#8FA3C4;margin-top:7px;letter-spacing:.06em;position:relative}
.v-inv{width:100%;max-width:260px;display:flex;flex-direction:column;gap:10px;transform:rotate(1deg)}
.v-inv .vi-r{background:#FBFDFF;border:1px solid var(--line);border-radius:12px;padding:12px 15px;display:flex;justify-content:space-between;align-items:center;font-size:12px;box-shadow:0 8px 20px rgba(46,120,200,.07)}
.v-inv .vi-r b{font-family:'IBM Plex Mono',monospace;font-size:11px;color:#33456B;font-weight:500}

/* ============ PRIVATE PREVIEW: AI AGENT+ ============ */
.soonSec{
  position:relative;overflow:hidden;
  background:
    radial-gradient(760px 420px at 50% -12%,rgba(59,232,188,.13),transparent 66%),
    linear-gradient(180deg,#F4FBFA 0%,#FBFDFF 60%,#FFFFFF 100%);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
.soonSec::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(rgba(15,27,49,.075) 1px, transparent 1px);
  background-size:20px 20px;
  -webkit-mask-image:radial-gradient(820px 480px at 50% 16%,#000,transparent 76%);
  mask-image:radial-gradient(820px 480px at 50% 16%,#000,transparent 76%);
}
.soonSec .wrap{position:relative}
.soonSec .sec-head{max-width:640px;margin-left:auto;margin-right:auto;text-align:center}
.soonSec h2 .plus{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.pv-tag{
  display:inline-flex;align-items:center;gap:8px;font-family:'IBM Plex Mono',monospace;font-size:11px;
  letter-spacing:.17em;color:#0B6E58;background:rgba(59,232,188,.15);border:1px solid rgba(15,191,147,.35);
  border-radius:99px;padding:6px 15px;margin-bottom:16px;text-transform:uppercase;
}
.pv-tag svg{width:13px;height:13px}

/* the preview card */
.agent{
  position:relative;display:grid;grid-template-columns:1.04fr .96fr;gap:48px;align-items:center;
  background:#fff;border:1.5px dashed rgba(15,191,147,.45);border-radius:28px;padding:46px 48px;
  box-shadow:0 30px 70px rgba(20,60,110,.10), 0 2px 0 rgba(15,191,147,.10);
}
.agent::before{
  content:"";position:absolute;inset:7px;border-radius:21px;pointer-events:none;
  background:linear-gradient(180deg,rgba(59,232,188,.05),transparent 42%);
}
.ag-seal{
  position:absolute;top:-13px;left:44px;display:inline-flex;align-items:center;gap:7px;
  background:var(--ink);color:var(--mint);font-family:'IBM Plex Mono',monospace;font-size:10px;
  letter-spacing:.16em;border-radius:99px;padding:6px 15px;box-shadow:0 8px 20px rgba(15,27,49,.22);
}
.ag-seal i{width:6px;height:6px;border-radius:99px;background:var(--mint);flex:none;animation:blink 2s infinite;font-style:normal}
.ag-copy{position:relative}
.ag-copy h3{font-size:clamp(23px,2.9vw,30px);font-weight:900;color:var(--ink);margin-bottom:10px;line-height:1.18}
.ag-copy .ag-lede{color:var(--body);font-size:15.5px;margin-bottom:24px;max-width:31em}
.ag-list{list-style:none;display:flex;flex-direction:column;gap:11px;margin-bottom:26px}
.ag-list li{
  padding:11px 15px 11px 40px;position:relative;font-size:13.5px;color:var(--body);line-height:1.45;
  background:#F8FCFB;border:1px solid #E2F1EC;border-radius:13px;
}
.ag-list li::before{
  content:"";position:absolute;left:14px;top:13px;width:15px;height:15px;border-radius:5px;
  background:rgba(59,232,188,.18);border:1px solid rgba(15,191,147,.35);
}
.ag-list li::after{content:"";position:absolute;left:18px;top:18px;width:7px;height:4px;border-left:1.8px solid var(--mint-deep);border-bottom:1.8px solid var(--mint-deep);transform:rotate(-45deg)}
.ag-list b{display:block;font-family:'Gabarito',sans-serif;font-weight:800;font-size:14.5px;color:var(--ink);margin-bottom:1px}
.ag-foot{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.ag-foot .note{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.09em;color:#8A99B8;line-height:1.5}

/* phone + whatsapp mock */
.ag-stage{position:relative;display:flex;justify-content:center}
.ag-phone{
  width:100%;max-width:288px;border-radius:40px;border:9px solid #24365A;background:#0B1526;
  padding:16px 12px 14px;position:relative;box-shadow:0 34px 70px rgba(20,45,90,.34), 0 0 0 1px rgba(255,255,255,.05);
}
.ag-phone::before{content:"";position:absolute;top:9px;left:50%;transform:translateX(-50%);width:74px;height:7px;border-radius:99px;background:#24365A}
.agc-h{
  display:flex;align-items:center;gap:9px;padding:12px 4px 12px;margin-bottom:12px;
  border-bottom:1px solid rgba(255,255,255,.09);font-family:'IBM Plex Mono',monospace;font-size:9.5px;
  letter-spacing:.12em;color:#8FA0BF;
}
.agc-h .dot{width:8px;height:8px;border-radius:99px;background:var(--mint);flex:none;box-shadow:0 0 0 4px rgba(59,232,188,.16)}

/* brain / neural-node illustration */
.brain-viz{
  width:100%;max-width:320px;border-radius:32px;border:1px solid rgba(255,255,255,.08);
  background:radial-gradient(120% 100% at 30% 15%,#132038 0%,#0B1526 60%,#081020 100%);
  padding:16px 16px 18px;position:relative;box-shadow:0 34px 70px rgba(20,45,90,.34), 0 0 0 1px rgba(255,255,255,.05);
  overflow:hidden;
}
.bv-h{
  display:flex;align-items:center;gap:9px;padding:2px 4px 12px;margin-bottom:6px;
  border-bottom:1px solid rgba(255,255,255,.09);font-family:'IBM Plex Mono',monospace;font-size:9.5px;
  letter-spacing:.12em;color:#8FA0BF;
}
.bv-h .dot{width:8px;height:8px;border-radius:99px;background:var(--mint);flex:none;box-shadow:0 0 0 4px rgba(59,232,188,.16)}
.bv-svg{width:100%;height:auto;display:block}
.bv-edge{fill:none;stroke:rgba(107,169,232,.28);stroke-width:1.3}
.bv-node{fill:#7FE2C9;transform-box:fill-box;transform-origin:center}
.bv-core{fill:var(--mint)}
.bv-ring{fill:none;stroke:rgba(59,232,188,.55);stroke-width:1.5;transform-box:fill-box;transform-origin:center}
.bv-spark{fill:#8FE7FF}
.bv-foot{
  display:flex;align-items:center;justify-content:center;gap:8px;margin-top:2px;
  font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:.14em;color:#6E80A3;
}
.bv-foot i{width:3px;height:3px;border-radius:99px;background:#3A4F78;flex:none}
@media (prefers-reduced-motion:no-preference){
  .bv-edge{stroke-dasharray:5 9;animation:bv-flow 1.8s linear infinite}
  .bv-edge.e2,.bv-edge.e4,.bv-edge.e6{animation-delay:-.4s}
  .bv-edge.e3,.bv-edge.e5{animation-delay:-.9s}
  .bv-edge.e7,.bv-edge.e8,.bv-edge.e9{animation-duration:2.6s;stroke-dasharray:3 7;opacity:.6}
  .bv-node{animation:bv-node-glow 2.6s ease-in-out infinite}
  .bv-node.n2{animation-delay:-.4s}.bv-node.n3{animation-delay:-.8s}.bv-node.n4{animation-delay:-1.2s}
  .bv-node.n5{animation-delay:-1.6s}.bv-node.n6{animation-delay:-2s}
  .bv-core{animation:bv-core-breathe 2.4s ease-in-out infinite}
  .bv-ring{animation:bv-pulse-ring 2.4s ease-out infinite}
  .bv-ring2{animation-delay:1.2s}
  .bv-spark{animation:bv-spark 3.2s ease-in-out infinite}
  .bv-spark.s2{animation-delay:-.7s}.bv-spark.s3{animation-delay:-1.4s}.bv-spark.s4{animation-delay:-2.1s}.bv-spark.s5{animation-delay:-2.8s}
}
@keyframes bv-flow{to{stroke-dashoffset:-28}}
@keyframes bv-node-glow{0%,100%{opacity:.65;transform:scale(1)}50%{opacity:1;transform:scale(1.4)}}
@keyframes bv-core-breathe{0%,100%{filter:drop-shadow(0 0 5px rgba(59,232,188,.65))}50%{filter:drop-shadow(0 0 15px rgba(59,232,188,.95))}}
@keyframes bv-pulse-ring{0%{r:14;opacity:.6}100%{r:78;opacity:0}}
@keyframes bv-spark{0%,100%{opacity:0;transform:scale(.5)}50%{opacity:1;transform:scale(1)}}
.agc-body{display:flex;flex-direction:column;gap:9px}
.agc-body .b{max-width:90%;font-size:12.5px;line-height:1.45;border-radius:14px;position:relative}
.agc-body .in{align-self:flex-start;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);border-bottom-left-radius:4px;color:#D5DFF0;padding:9px 12px}
.agc-body .out{align-self:flex-end;background:linear-gradient(130deg,rgba(59,232,188,.2),rgba(63,187,232,.2));border:1px solid rgba(59,232,188,.3);border-bottom-right-radius:4px;color:#EAF6F2;padding:9px 12px}
.agc-body .out.card{padding:0;overflow:hidden}
.agc-body .out.card .txt{padding:10px 12px 8px}
.agc-body .tk{display:block;text-align:right;font-family:'IBM Plex Mono',monospace;font-size:8.5px;color:var(--mint);margin-top:4px;letter-spacing:.05em}
/* whatsapp interactive button */
.wa-btn{
  display:flex;align-items:center;justify-content:center;gap:7px;
  border-top:1px solid rgba(59,232,188,.3);padding:10px 12px;
  font-family:'Gabarito',sans-serif;font-weight:800;font-size:12.5px;color:var(--mint);
  background:rgba(59,232,188,.07);
}
.wa-btn svg{width:13px;height:13px;flex:none}
.agc-sys{
  margin-top:11px;text-align:center;font-family:'IBM Plex Mono',monospace;font-size:8.5px;letter-spacing:.07em;
  color:#8FA0BF;border-top:1px dashed rgba(255,255,255,.16);padding-top:10px;line-height:1.55;
}
.agc-sys b{color:var(--mint);font-weight:500}

/* CTA */
.cta{padding:84px 0}
.soonSec{padding:70px 0}
.cta-band{border-radius:26px;text-align:center;padding:64px 40px;position:relative;overflow:hidden;background:var(--ink);color:#fff}
.cta-band::before{content:"";position:absolute;inset:0;background:radial-gradient(500px 260px at 15% 0%,rgba(59,232,188,.22),transparent 60%),radial-gradient(500px 260px at 85% 100%,rgba(63,187,232,.22),transparent 60%)}
.cta-band h2{font-size:clamp(28px,3.8vw,46px);font-weight:900;margin-bottom:12px;position:relative}
.cta-band h2 .hl{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.cta-band p{color:#B9C6DD;max-width:34em;margin:0 auto 28px;position:relative}
.cta-band .btn{position:relative}

footer{padding:34px 0 44px}
.foot{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.foot svg{height:20px;width:auto;opacity:.85}
.foot p{font-size:13px;color:var(--body)}
.foot-links{display:flex;gap:18px}
.foot-links a{font-size:13px;color:var(--body);text-decoration:none}
.foot-links a:hover{color:var(--ink);text-decoration:underline}

@media (prefers-reduced-motion:no-preference){
  .reveal{opacity:0;transform:translateY(16px);transition:opacity .55s ease, transform .55s ease}
  .reveal.in{opacity:1;transform:none}
}
@media (max-width:980px){
  .own-stage{grid-template-columns:1fr;gap:64px}
  .own-cards{grid-template-columns:repeat(2,1fr)}
  .agent{grid-template-columns:1fr;gap:34px;padding:44px 34px 38px}
  .soonSec .sec-head{text-align:center}
}
@media (max-width:920px){
  .hero{grid-template-columns:1fr;padding-top:48px;padding-bottom:36px}
  .thermal{transform:none;max-width:460px;margin-top:16px}
  .demo-grid{grid-template-columns:1fr}
  .bento{grid-template-columns:1fr}
  .mod.lead{grid-column:span 1;grid-template-columns:1fr}
  .nav-links a:not(.btn){display:none}
  .g-head{padding:18px 18px}
  .g-pad{padding:4px 18px 18px}
  .g-head .gd{display:none}
  .flo.f1{left:-2%}.flo.f3{left:-2%}
}

/* ---------- tablet / large phone ---------- */
@media (max-width:720px){
  .demo,.modules,.soonSec{padding:60px 0}
  .own{padding:66px 0}
  .cta{padding:60px 0}
  .sec-head{margin-bottom:28px}
  .sec-head p{font-size:15.5px}
  .own .own-sub{font-size:15.5px}
  .ocard{padding:19px 17px}
  .mod{padding:20px 19px}
  .mod .code{top:16px;right:16px}
}

/* ---------- phone ---------- */
@media (max-width:560px){
  .wrap{padding-left:18px;padding-right:18px}
  body{font-size:15.5px}

  /* nav + hero */
  .nav{height:60px}
  .nav .logo svg{height:22px}
  .nav .btn{padding:8px 16px;font-size:13.5px}
  .hero{padding-top:34px;padding-bottom:26px;gap:34px}
  .badge{font-size:11.5px;padding:5px 12px;margin-bottom:14px}
  .hero h1{font-size:clamp(31px,8.4vw,40px)}
  .rotator{font-size:clamp(20px,6.2vw,28px);margin-bottom:14px}
  .hero .lede{font-size:16px;margin-bottom:22px}
  .hero-ctas .btn{flex:1 1 auto;text-align:center;padding:13px 20px}
  .hero-note{font-size:13.5px}

  /* receipt */
  .thermal{padding:20px 18px 16px;margin-top:8px}
  .t-head{font-size:9.5px;letter-spacing:.06em;gap:8px}
  .trow{font-size:11.5px;gap:8px;padding:7px 0}
  .t-sum{font-size:10px;letter-spacing:.03em}

  /* marquee */
  .mq-track{font-size:14px;gap:26px}

  /* interactive demo */
  .ch{padding:13px 14px;gap:11px;border-radius:14px}
  .ch .cic{width:36px;height:36px}
  .ch .cic svg{width:18px;height:18px}
  .ch b{font-size:14.5px}
  .ch small{font-size:12px;display:block}
  .ch .buy{font-size:9.5px;padding:3px 8px;letter-spacing:.02em}
  .shopday{padding:18px 16px;border-radius:18px}
  .sd-head .ttl{font-size:15px}
  .member{font-size:10.5px;padding:4px 10px}
  .counters{gap:7px}
  .cnt{padding:9px 5px}
  .cnt .v{font-size:13.5px}
  .cnt .l{font-size:9px;letter-spacing:.03em}
  .feed{min-height:150px}
  .frow{font-size:11px}
  .feed .empty{font-size:12.5px;padding-top:44px}
  .toast{left:12px;right:12px;bottom:12px;max-width:none;font-size:12px;padding:7px 12px}

  /* ownership */
  .own{padding:58px 0}
  .own-cards{grid-template-columns:1fr}
  .funnel{margin:30px auto 6px;gap:6px}
  .f-lay{font-size:11.5px;height:40px;letter-spacing:.05em}
  .f-out{font-size:10px;letter-spacing:.12em;padding:6px 14px}
  .own-stage{margin:34px auto 40px;gap:44px}
  .ph-wrap{min-height:0}
  .flo{display:none}
  .phone{width:210px}

  /* flywheel → linear on phone (circle overlaps at this width) */
  .fw-cap{font-size:10px;letter-spacing:.14em;margin-bottom:14px;text-align:center}
  .fw{width:100%;max-width:340px;height:auto;display:flex;flex-direction:column;align-items:stretch;gap:10px}
  .fw-ring{display:none}
  .fw-c{
    position:static;transform:none;width:100%;height:auto;border-radius:16px;
    padding:15px 16px;font-size:13px;order:5;box-shadow:0 0 40px rgba(59,232,188,.22);
  }
  .fw-c br{display:none}
  .fw-n{position:static;transform:none!important;width:100%;text-align:left;padding:11px 14px;font-size:12.5px}
  .fw-n .k{display:inline-block;margin:0 8px 0 0}
  .fw-n.n1{order:1}.fw-n.n2{order:2}.fw-n.n3{order:3}.fw-n.n4{order:4}

  /* modules */
  .modules{padding:52px 0}
  .g-head{gap:10px;padding:15px 14px}
  .g-head .gn{font-size:11px}
  .g-head .gc{font-size:10px;padding:3px 9px}
  .g-head .chev{width:30px;height:30px}
  .g-head .chev svg{width:13px;height:13px}
  .g-pad{padding:4px 14px 16px}
  .mod{padding:19px 17px}
  .mod h3{font-size:16.5px;padding-right:44px}
  .mv{font-size:10.5px;padding:12px 13px;transform:none!important}
  .mv .big{font-size:15px}
  .chip{font-size:10.5px}

  /* AI Agent+ private preview */
  .soonSec{padding:52px 0}
  .agent{padding:34px 18px 30px;border-radius:22px;gap:28px}
  .ag-seal{left:50%;transform:translateX(-50%);white-space:nowrap;font-size:9px;letter-spacing:.12em;padding:5px 13px}
  .ag-copy h3{font-size:21.5px}
  .ag-copy .ag-lede{font-size:14.5px;margin-bottom:20px}
  .ag-list{gap:9px;margin-bottom:22px}
  .ag-list li{font-size:12.5px;padding:10px 13px 10px 36px}
  .ag-list li::before{left:12px}
  .ag-list li::after{left:16px}
  .ag-list b{font-size:14px}
  .ag-foot{flex-direction:column;align-items:stretch;gap:12px}
  .ag-foot .btn{display:block;text-align:center}
  .ag-foot .note{text-align:center;font-size:9.5px;letter-spacing:.06em}
  .ag-phone{max-width:272px;padding:14px 10px 12px;border-radius:36px}
  .agc-body .b{font-size:12px;max-width:93%}
  .agc-sys{font-size:8px;letter-spacing:.04em}

  /* CTA + footer */
  .cta{padding:52px 0}
  .cta-band{padding:40px 22px;border-radius:20px}
  .cta-band p{font-size:15px;margin-bottom:24px}
  .cta-band .btn{display:block}
  .foot{flex-direction:column;text-align:center;gap:12px}
}

@media (max-width:380px){
  .ch .buy{display:none}
  .cnt .v{font-size:12.5px}
  .hero h1{font-size:29px}
  .phone{width:190px}
}

@media (min-width:921px) and (max-width:1100px){
  .bento{grid-template-columns:repeat(2,1fr)}
  .mod.lead{grid-column:span 2}
}

/* ===== shared: definition, FAQ, footer, subpages ===== */
.define{padding:8px 0 40px}
.define p{max-width:52em;font-size:17px;color:var(--body);border-left:4px solid var(--mint);padding:4px 0 4px 18px}
.define strong{color:var(--ink)}

.faq{padding:72px 0}
.faq-list{max-width:820px;display:grid;gap:12px}
.faq-list details{background:#fff;border:1px solid var(--line);border-radius:16px;padding:0 22px;transition:border-color .2s}
.faq-list details[open]{border-color:#BFEFE1}
.faq-list summary{cursor:pointer;list-style:none;font-family:'Gabarito',sans-serif;font-weight:700;font-size:17.5px;padding:18px 32px 18px 0;position:relative}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";position:absolute;right:0;top:14px;font-size:24px;color:var(--mint-deep);font-weight:600}
.faq-list details[open] summary::after{content:"–"}
.faq-list summary:focus-visible{outline:3px solid var(--mint-deep);outline-offset:4px;border-radius:6px}
.faq-list .ans{color:var(--body);padding:0 0 20px;max-width:46em}
.faq-list .ans a{color:var(--mint-deep);font-weight:600}

footer{border-top:1px solid var(--line);padding:48px 0 36px;background:#fff}
.foot-grid{display:grid;grid-template-columns:1.3fr repeat(4,1fr);gap:28px;margin-bottom:32px}
.foot-grid .brand svg{height:22px;width:auto;margin-bottom:12px}
.foot-grid .brand p{font-size:13.5px;color:var(--body);max-width:22em}
.foot-col h4{font-family:'Gabarito',sans-serif;font-size:13px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px;color:var(--ink)}
.foot-col a{display:block;font-size:13.5px;color:var(--body);text-decoration:none;padding:3px 0}
.foot-col a:hover{color:var(--ink);text-decoration:underline}
.foot-base{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:20px;font-size:13px;color:var(--body)}
.foot-base a{color:var(--body)}
@media (max-width:860px){.foot-grid{grid-template-columns:1fr 1fr}.foot-grid .brand{grid-column:1/-1}}

.crumbs{font-size:13px;color:var(--body);padding-top:28px}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px}
.crumbs li+li::before{content:"/";margin-right:6px;color:#A9B7CF}
.crumbs a{color:var(--body);text-decoration:none}
.crumbs a:hover{color:var(--ink);text-decoration:underline}

.p-hero{padding-top:28px;padding-bottom:48px}
.p-hero > *{max-width:820px}
.p-hero h1{font-size:clamp(32px,4.6vw,54px);font-weight:900;margin:6px 0 16px}
.p-hero h1 .hl{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.p-hero .lede{font-size:18px;color:var(--body);margin-bottom:24px}
.p-sec{padding:44px 0}
.p-sec h2{font-size:clamp(24px,3vw,34px);font-weight:900;margin-bottom:18px}
.p-sec > .wrap > p{color:var(--body);max-width:46em;margin-bottom:18px}
.pcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.pcard{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;display:block;text-decoration:none;color:inherit;transition:border-color .2s, transform .15s}
a.pcard:hover{border-color:var(--mint);transform:translateY(-2px)}
.pcard .code{font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:var(--mint-deep);letter-spacing:.08em}
.pcard h3{font-size:19px;font-weight:800;margin:6px 0 6px}
.pcard p{font-size:14.5px;color:var(--body)}
.pcard .soon{font-size:10.5px;font-weight:800;background:var(--ink);color:var(--mint);border-radius:6px;padding:2px 7px;margin-left:6px;vertical-align:middle;letter-spacing:.04em}
.ticks{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px 22px;max-width:960px}
.ticks li{position:relative;padding-left:28px;color:var(--ink)}
.ticks li::before{content:"";position:absolute;left:0;top:5px;width:16px;height:16px;border-radius:50%;background:var(--grad)}
.ticks li::after{content:"";position:absolute;left:5px;top:9px;width:6px;height:4px;border-left:2px solid #07352B;border-bottom:2px solid #07352B;transform:rotate(-45deg)}
.pairs{display:grid;gap:12px;max-width:900px}
.pair{display:grid;grid-template-columns:1fr 1.4fr;gap:18px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px 22px}
.pair .pb{font-weight:700;color:var(--ink)}
.pair .ps{color:var(--body)}
.pair .ps a{color:var(--mint-deep);font-weight:600}
@media (max-width:640px){.pair{grid-template-columns:1fr;gap:6px}}
.facts{display:grid;grid-template-columns:200px 1fr;gap:8px 20px;max-width:760px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px}
.facts dt{font-weight:700}
.facts dd{color:var(--body)}
@media (max-width:560px){.facts{grid-template-columns:1fr}.facts dd{margin-bottom:8px}}
.lang-link{font-weight:700}
html[lang^="zh"] body{font-family:'Inter','Noto Sans SC',system-ui,sans-serif}
html[lang^="zh"] h1,html[lang^="zh"] h2,html[lang^="zh"] h3{font-family:'Gabarito','Noto Sans SC',sans-serif;letter-spacing:0}
.tldr{background:#fff;border:1px solid #BFEFE1;border-left:4px solid var(--mint);border-radius:14px;padding:18px 22px;margin-top:6px}
.tldr strong{font-family:'Gabarito',sans-serif;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--mint-deep)}
.tldr p{margin-top:6px;font-size:17px;color:var(--ink)}
.g-note{margin-top:14px;font-size:14px;color:var(--body)}
.g-sec{padding:26px 0}
.g-sec p{max-width:46em;color:var(--body);margin-bottom:12px}
.steps{max-width:46em;padding-left:22px;display:grid;gap:8px}
.steps li{padding-left:6px}
.steps li::marker{font-family:'Gabarito',sans-serif;font-weight:800;color:var(--mint-deep)}
.tbl-wrap{overflow-x:auto;max-width:900px}
.tbl{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:14px;font-size:14.5px}
.tbl th,.tbl td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.tbl th{font-family:'Gabarito',sans-serif;background:#F6F9FE}
.src-list{list-style:none;display:grid;gap:6px;font-size:14px}
.src-list a{color:var(--mint-deep);font-weight:600}
.src-list span{color:var(--body)}
.contact-direct{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}
.contact-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:32px;align-items:start}
.contact-side h2{font-size:22px;margin-bottom:14px}
.contact-side .contact-direct{flex-direction:column;align-items:flex-start}
.lead-form{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;display:grid;gap:14px}
.lf-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.lead-form label{display:grid;gap:6px;font-size:14px;font-weight:600;color:var(--ink)}
.lead-form input,.lead-form select,.lead-form textarea{font:inherit;font-weight:400;border:1.5px solid #D6E3F8;border-radius:12px;padding:11px 13px;background:#FBFDFF;color:var(--ink);width:100%}
.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus{outline:none;border-color:var(--mint-deep);box-shadow:0 0 0 3px rgba(46,230,184,.2)}
.lead-form .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.lead-form button{justify-self:start}
.lead-form button:disabled{opacity:.6;cursor:wait}
.lf-status{font-size:14px;color:var(--body)}
.lf-status a,.lf-done a{color:var(--mint-deep);font-weight:700}
.lf-done{font-size:17px}
@media (max-width:820px){.contact-grid{grid-template-columns:1fr}.lf-grid{grid-template-columns:1fr}}
