/* CellHub Pro — homepage styles (v3, 2026-09-25 redesign). Replaces home.v2.css + home3d.v1.css on the
   homepage. Palette is the desktop app's own: slate/indigo surfaces, the #667eea→#764ba2 wordmark gradient,
   the violet POINT OF SALE button, the cyan CH mark and the KPI-card gradients. nav.v2.css still styles the
   shared nav/footer; the overrides at the end re-skin them for this page. Text colours clear WCAG AA. */
*{margin:0;padding:0;box-sizing:border-box}
:root{
  color-scheme:dark;
  --bg:#0E1024;--s1:#12142A;--s2:#161829;--s3:#1C1F33;--s4:#23264A;
  --bd:#262A45;--bd2:#353B68;--m3:#2a3050;
  --cyan:#22D3EE;--green:#22C55E;--yellow:#FBBF24;--orange:#FB923C;--red:#F87171;
  --txt:#F1F3FF;--m1:#A3AAC2;--m2:#8C93BA;--dim:#7E86AD;
  --pos1:#6D28D9;--pos2:#9333EA;
  --display:'Nunito','Segoe UI',system-ui,sans-serif;
  --body:'Inter','Segoe UI',system-ui,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,Consolas,monospace;
}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--txt);font-family:var(--body);font-size:16px;line-height:1.55;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%}
h1,h2,h3{font-family:var(--display);font-weight:900;letter-spacing:-.02em;text-wrap:balance}
:focus-visible{outline:3px solid var(--cyan);outline-offset:3px;border-radius:8px}
.wrap{width:100%;max-width:1240px;margin-inline:auto;padding-inline:24px}
.eyebrow{font-family:var(--mono);font-size:.8rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan)}
.grad{background:linear-gradient(90deg,#22D3EE,#818CF8 45%,#C084FC);-webkit-background-clip:text;background-clip:text;color:transparent}
.hot{background:linear-gradient(90deg,#F87171,#FB923C);-webkit-background-clip:text;background-clip:text;color:transparent}
.dim{color:var(--dim)}
.muted{color:var(--m1)}
.section{padding-block:120px}
.head{display:flex;flex-direction:column;gap:16px;max-width:840px;margin-bottom:48px}
.head h2{font-size:clamp(2.2rem,5vw,4rem);line-height:1}
.head p{font-size:1.1rem;color:var(--m1);max-width:640px}
.head.center{margin-inline:auto;text-align:center;align-items:center}

/* buttons: the app's POINT OF SALE button */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;border-radius:14px;font-family:var(--display);font-weight:900;font-size:1rem;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;transition:transform .2s ease,filter .2s ease}
.btn:hover{transform:translateY(-2px);filter:brightness(1.12)}
.btn-pos{background:linear-gradient(90deg,var(--pos1),var(--pos2));border:2px solid rgba(216,180,254,.55);color:#fff;box-shadow:0 14px 40px -12px rgba(147,51,234,.85)}
.btn-ghost{background:rgba(255,255,255,.06);border:2px solid rgba(255,255,255,.18);color:#fff}
.btn-white{background:#fff;color:#12142A}
.btn-lg{min-height:62px;padding:0 30px;font-size:1.05rem;border-radius:16px}
.btn[hidden]{display:none}

/* hero */
.hero{position:relative;padding-top:96px;overflow:hidden}
.hero::before{content:"";position:absolute;left:50%;top:-320px;width:1200px;height:1000px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(closest-side,rgba(124,58,237,.42),rgba(102,126,234,.14) 55%,transparent);pointer-events:none}
.hero-copy{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:22px}
.pill{display:inline-flex;align-items:center;gap:10px;padding:7px 16px 7px 7px;border-radius:999px;background:rgba(168,85,247,.12);border:1px solid rgba(192,132,252,.35);font-size:.9rem;font-weight:700;color:#E9D5FF}
.pill b{padding:4px 10px;border-radius:999px;background:linear-gradient(90deg,var(--pos1),var(--pos2));color:#fff;font-size:.75rem}
.hero .eyebrow{color:#C4B5FD}
.hero h1{font-size:clamp(2.8rem,8vw,6.5rem);line-height:.96;max-width:1100px}
.hero .lede{font-size:clamp(1.05rem,2vw,1.3rem);color:var(--m1);max-width:760px}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.signals{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 24px;font-size:.9rem;font-weight:600;color:var(--m1)}
.signals span{display:flex;align-items:center;gap:8px}
.dot{width:8px;height:8px;border-radius:50%;display:inline-block}
.stage{position:relative;left:50%;transform:translateX(-50%);width:min(1320px,100vw);height:clamp(340px,54vw,700px);margin-top:12px}
#hero3d{position:absolute;inset:0;width:100%;height:100%;display:none;touch-action:pan-y}
html.has-3d #hero3d{display:block}
html.has-3d .stage-still{display:none}
.stage-still{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:0 24px}
.stage-still img{width:min(1000px,100%);height:auto;border-radius:18px;border:1px solid var(--bd2);box-shadow:0 40px 100px rgba(0,0,0,.6)}
.stage-cap{position:absolute;left:50%;bottom:6px;transform:translateX(-50%);font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;color:var(--m2);white-space:nowrap}

/* carriers */
.carriers{border-block:1px solid var(--bd);background:rgba(255,255,255,.02)}
.carriers .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:18px 40px;padding-block:26px}
.carriers p{font-size:.9rem;color:var(--m1);max-width:260px}
.carriers strong{color:#fff}
.carrier-list{display:flex;flex-wrap:wrap;gap:10px 26px;font-family:var(--display);font-weight:900;font-size:1.25rem;color:#CBD5E1;text-transform:uppercase;list-style:none}
.carrier-list .portal{color:#60A5FA}

/* payment scene */
.pay-inner{min-height:100vh;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:center;padding-block:96px}
.pay h2{font-size:clamp(2.2rem,5vw,4rem);line-height:1}
.pay-copy{display:flex;flex-direction:column;gap:20px}
.pay-copy p{font-size:1.1rem;color:var(--m1);max-width:500px}
.pay-copy .note{font-size:.85rem;color:var(--m2)}
.pay-stage{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:18px;align-items:center}
.receipt{background:#F8FAFC;color:#0F172A;border-radius:16px;padding:22px 20px;font-family:var(--mono);font-size:.78rem;display:flex;flex-direction:column;gap:10px;box-shadow:0 40px 80px -30px rgba(0,0,0,.8);transform:rotate(-2deg)}
.r-head{font-family:var(--display);font-weight:900;font-size:1rem;text-align:center;letter-spacing:.04em}
.r-sub{text-align:center;font-size:.7rem;color:#475569;margin-top:-6px}
.r-line{display:flex;justify-content:space-between;gap:10px}
.r-line span:last-child{white-space:nowrap}
.r-line.tax{color:#334155}
.r-rule{border-top:1.5px dashed #94A3B8}
.r-total{font-weight:700;font-size:1rem}
.r-bars{height:34px;background:repeating-linear-gradient(90deg,#0F172A 0 2px,transparent 2px 4px,#0F172A 4px 5px,transparent 5px 8px);border-radius:2px}
.buckets{display:flex;flex-direction:column;gap:12px}
.bucket{border-radius:16px;padding:16px 18px;border:2px solid var(--bd);background:var(--s3);display:flex;flex-direction:column;gap:2px}
.b-label{font-size:.82rem;font-weight:700}
.b-val{font-family:var(--display);font-weight:900;font-size:1.75rem;font-variant-numeric:tabular-nums}
.b-note{font-size:.78rem;color:var(--m1)}
.bucket.carrier{border-color:rgba(59,130,246,.4);background:linear-gradient(135deg,rgba(59,130,246,.18),rgba(59,130,246,.07))}
.bucket.carrier .b-label{color:#93C5FD}
.bucket.remit{border-color:rgba(248,113,113,.4);background:linear-gradient(135deg,rgba(248,113,113,.16),rgba(248,113,113,.06))}
.bucket.remit .b-label{color:#FCA5A5}
.bucket.rev{border:0;background:linear-gradient(155deg,#2F8F55,#23794A);box-shadow:0 20px 50px -14px rgba(16,185,129,.6)}
.bucket.rev .b-label,.bucket.rev .b-note{color:#fff}
.bucket.rev .b-val{font-size:2.5rem}

/* quick actions (the app's Quick actions cards) */
.qa-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;perspective:1200px;list-style:none}
.qa{--rx:0deg;--ry:0deg;border-radius:22px;padding:24px 18px;background:linear-gradient(135deg,rgba(var(--c),.2),rgba(var(--c),.08));border:2px solid rgba(var(--c),.32);display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;transform:rotateX(var(--rx)) rotateY(var(--ry));transform-style:preserve-3d;transition:transform .25s ease,box-shadow .25s ease}
.qa:hover{box-shadow:0 30px 60px -20px rgba(var(--c),.55)}
.qa svg{width:46px;height:46px;transform:translateZ(36px)}
.qa h3{font-size:1.05rem;line-height:1.1;text-transform:uppercase;color:var(--tc);transform:translateZ(26px)}
.qa p{font-size:.82rem;color:#C3C9DB}

/* module tour */
.tour-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.tour-tab{min-height:44px;padding:0 16px;border-radius:12px;border:1px solid var(--bd2);background:var(--s3);color:var(--m1);font:700 .9rem var(--body);cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.tour-tab:hover{color:#fff;border-color:#8B5CF6}
.tour-tab[aria-selected="true"]{background:linear-gradient(90deg,var(--pos1),var(--pos2));border-color:rgba(216,180,254,.6);color:#fff}
.tour-frame{border-radius:22px;overflow:hidden;background:var(--s2);border:1px solid var(--bd2);box-shadow:0 50px 100px -40px rgba(124,58,237,.55)}
.tour-bar{display:flex;align-items:center;gap:8px;height:40px;padding:0 18px;background:#0D0F22;border-bottom:1px solid var(--bd)}
.tour-bar i{width:11px;height:11px;border-radius:50%;display:inline-block}
.tour-frame img{display:block;width:100%;height:auto;aspect-ratio:1440/900}
.tour-desc{margin-top:18px;font-size:1.05rem;color:var(--m1);max-width:820px;min-height:3.2em}

/* tax */
.tax{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:56px;align-items:center}
.tax h2{font-size:clamp(2.1rem,4.6vw,3.6rem);line-height:1}
.chips{display:flex;flex-wrap:wrap;gap:10px;list-style:none}
.chip{padding:9px 14px;border-radius:10px;background:var(--s3);border:1px solid var(--bd);font-size:.88rem;font-weight:600}
.panel{border-radius:22px;background:var(--s2);border:1px solid rgba(255,255,255,.12);padding:24px;display:flex;flex-direction:column;gap:16px;box-shadow:0 40px 80px -30px rgba(0,0,0,.7)}
.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.panel-head .t{font-family:var(--display);font-weight:900;font-size:1.4rem}
.panel-head .s{font-size:.8rem;color:var(--m1)}
.stat-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.stat{padding:14px;border-radius:14px;background:var(--s3);border:1px solid rgba(255,255,255,.08)}
.stat small{display:block;font-size:.66rem;font-weight:700;letter-spacing:.06em;color:var(--m1)}
.stat strong{display:block;font-family:var(--display);font-weight:900;font-size:1.35rem;margin-top:4px;font-variant-numeric:tabular-nums}
.ttable{border-radius:14px;background:var(--s3);border:1px solid rgba(255,255,255,.08);overflow:hidden;font-size:.88rem}
.trow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:13px 16px;border-top:1px solid rgba(255,255,255,.06)}
.trow.h{border-top:0;font-size:.68rem;font-weight:700;letter-spacing:.06em;color:var(--m1)}
.trow b{font-weight:700}

/* operator */
.op{position:relative;border-radius:36px;padding:clamp(32px,6vw,90px);background:linear-gradient(135deg,#1E1650,#2E1257 55%,#161829);border:1px solid rgba(192,132,252,.25);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center;overflow:hidden}
.op::before{content:"";position:absolute;left:35%;top:-240px;width:640px;height:640px;border-radius:50%;background:radial-gradient(closest-side,rgba(192,132,252,.35),transparent);pointer-events:none}
.op>*{position:relative}
.op h2{font-size:clamp(2.1rem,4.8vw,3.9rem);line-height:1}
.op .eyebrow{color:#D8B4FE}
.op-sub{font-size:1.1rem;color:#D4CDEB}
.orb{position:relative;width:110px;height:110px}
.orb-core{position:absolute;inset:18px;border-radius:50%;background:radial-gradient(circle at 34% 30%,#fff 0,#E9D5FF 12%,#A855F7 46%,#4C1D95 100%);box-shadow:0 0 50px rgba(168,85,247,.85);animation:breathe 4s ease-in-out infinite}
.orb-ring{position:absolute;left:-4px;right:-4px;top:40px;height:32px;border-radius:50%;border:2.5px solid rgba(233,213,255,.85);animation:tilt 8s linear infinite}
.orb-moon{position:absolute;right:6px;top:10px;width:11px;height:11px;border-radius:50%;background:#93C5FD;box-shadow:0 0 14px #93C5FD}
@keyframes breathe{50%{transform:scale(1.06);box-shadow:0 0 80px rgba(168,85,247,1)}}
@keyframes tilt{0%{transform:rotate(-18deg)}50%{transform:rotate(-8deg) scaleY(1.15)}100%{transform:rotate(-18deg)}}
.op-feats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;list-style:none}
.op-feat{padding:15px 17px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}
.op-feat b{display:block;font-size:.95rem}
.op-feat span{font-size:.88rem;color:#D8CCFF}
.moves{display:flex;flex-direction:column;gap:12px}
.moves-head{display:flex;justify-content:space-between;align-items:center}
.moves-head b{font-family:var(--display);font-weight:900;font-size:1.4rem}
.moves-head span{font-family:var(--mono);font-size:.72rem;color:#D8CCFF}
.move{display:flex;align-items:center;gap:16px;padding:18px 20px;border-radius:18px;color:#fff}
.move i{flex-shrink:0;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.22);display:grid;place-items:center}
.move div{flex-grow:1;min-width:0}
.move b{display:block;font-family:var(--display);font-weight:900;font-size:1.05rem;text-transform:uppercase}
.move span{font-size:.88rem}
.move em{font-style:normal;font-family:var(--display);font-weight:900;font-size:1.2rem;font-variant-numeric:tabular-nums}
.m-green{background:linear-gradient(155deg,#2F8F55,#23794A);box-shadow:0 16px 36px -12px rgba(16,185,129,.55)}
.m-orange{background:linear-gradient(155deg,#C2410C,#9A3412);box-shadow:0 16px 36px -12px rgba(249,115,22,.55)}
.m-pink{background:linear-gradient(155deg,#BE185D,#9D174D);box-shadow:0 16px 36px -12px rgba(236,72,153,.55)}
.m-violet{background:linear-gradient(155deg,#7E22CE,#6B21A8);box-shadow:0 16px 36px -12px rgba(147,51,234,.6)}

/* companion */
.comp{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.comp h2{font-size:clamp(2.2rem,5vw,4.1rem);line-height:1}
.comp-list{display:flex;flex-direction:column;gap:12px;font-size:1rem;font-weight:500;list-style:none}
.comp-list li{display:flex;gap:14px;align-items:center}
.comp-list i{flex-shrink:0;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;font-style:normal;font-weight:900}
.phone-stage{position:relative;display:flex;justify-content:center;perspective:1400px;padding-block:20px}
.phone-stage::before{content:"";position:absolute;top:10%;width:480px;max-width:100%;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,rgba(56,189,248,.4),rgba(124,58,237,.2) 60%,transparent)}
.phone{position:relative;width:310px;max-width:100%;aspect-ratio:310/620;border-radius:46px;background:#07081A;padding:12px;border:1px solid rgba(255,255,255,.16);box-shadow:0 50px 90px -30px rgba(0,0,0,.85);transform:rotateY(-22deg) rotateX(8deg);transform-style:preserve-3d}
.screen{height:100%;border-radius:36px;background:var(--s2);padding:38px 18px 18px;display:flex;flex-direction:column;gap:14px}
.ph-top{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:var(--m1)}
.tag{padding:4px 9px;border-radius:6px;background:#DC2626;font-size:.68rem;font-weight:800;color:#fff}
.ph-req{font-size:.8rem;color:var(--m1)}
.ph-item{font-family:var(--display);font-weight:900;font-size:1.35rem;line-height:1.15;margin-top:4px}
.mini{display:flex;flex-direction:column;gap:9px;padding:14px;border-radius:16px;background:var(--s3);border:1px solid rgba(255,255,255,.08);font-family:var(--mono);font-size:.78rem;color:#CBD5E1}
.mini div{display:flex;justify-content:space-between}
.mini .after{border-top:1px solid rgba(255,255,255,.1);padding-top:9px;color:#fff;font-weight:600}
.safe{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:12px;background:rgba(34,197,94,.14);border:1px solid rgba(34,197,94,.35);color:#86EFAC;font-size:.78rem;font-weight:800}
.acts{margin-top:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.acts span{display:flex;align-items:center;justify-content:center;min-height:44px;border-radius:12px;border:1px solid rgba(255,255,255,.18);font-size:.8rem;font-weight:700}
.acts span.ok{background:#15803D;border:0}

/* platform tiles (the app's sidebar tiles) */
.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;list-style:none}
.tile{padding:26px;border-radius:18px;display:flex;flex-direction:column;gap:8px;transition:transform .2s ease,filter .2s ease}
.tile:hover{transform:scale(1.02);filter:brightness(1.15)}
.tile b{font-family:var(--display);font-weight:900;font-size:1.15rem;text-transform:uppercase}
.tile span{font-size:.93rem;color:#C3C9DB}

/* get started */
.start{position:relative;border-radius:36px;padding:clamp(36px,6vw,80px);background:var(--s2);border:1px solid var(--bd2);display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:40px;align-items:center;overflow:hidden}
.start::before{content:"";position:absolute;right:-160px;top:-200px;width:560px;height:560px;border-radius:50%;background:radial-gradient(closest-side,rgba(147,51,234,.35),transparent);pointer-events:none}
.start>*{position:relative}
.start h2{font-size:clamp(2.2rem,5vw,3.8rem);line-height:1}
.start p{font-size:1.1rem;color:var(--m1);margin-top:14px}
.start .chips{margin-top:20px}
.start-ctas{display:flex;flex-direction:column;gap:12px}

/* faq */
.faq{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:64px}
.faq h2{font-size:clamp(2.1rem,4vw,3.1rem);line-height:1.05}
details{border-radius:18px;background:var(--s3);border:1px solid var(--bd);padding:0 24px;margin-bottom:12px}
summary{cursor:pointer;list-style:none;padding:22px 0;font-weight:800;font-size:1.05rem;display:flex;justify-content:space-between;gap:16px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-family:var(--display);font-size:1.5rem;line-height:1;color:var(--cyan);transition:transform .2s}
details[open] summary::after{transform:rotate(45deg)}
details p{padding-bottom:22px;color:var(--m1)}

/* final */
.final{position:relative;border-radius:36px;padding:clamp(40px,7vw,96px) 24px;background:linear-gradient(120deg,#4C1D95,#7E22CE 50%,#0E7490 120%);border:2px solid rgba(216,180,254,.4);text-align:center;display:flex;flex-direction:column;align-items:center;gap:20px;overflow:hidden}
.final h2{font-size:clamp(2.5rem,6vw,5rem);line-height:1;max-width:900px}
.final p{font-size:1.15rem;color:#EDE9FE}
.footer-inner{max-width:1240px;margin:90px auto 0;padding:32px 24px;border-top:1px solid var(--bd);display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;font-size:.8rem;color:var(--m2)}
.footer-inner .fl{font-family:var(--display);font-weight:900;font-size:1.2rem;background:linear-gradient(90deg,#8B9CF5,#A57BD8);-webkit-background-clip:text;background-clip:text;color:transparent}
.footer-inner a{color:var(--m1);text-decoration:underline}

/* nav re-skin for this page: the app's gradient wordmark and violet CTA */
.nlogo{font-family:var(--display);font-weight:900;font-size:1.25rem;background:linear-gradient(90deg,#8B9CF5,#A57BD8);-webkit-background-clip:text;background-clip:text;color:transparent}
.nlogo em{color:inherit}
.ncta{background:linear-gradient(90deg,var(--pos1),var(--pos2));color:#fff;border:1.5px solid rgba(216,180,254,.55);font-family:var(--display);font-weight:900;letter-spacing:.03em;text-transform:uppercase}

@media (max-width:1100px){.qa-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:980px){
  .pay-inner,.tax,.op,.comp,.faq,.start{grid-template-columns:minmax(0,1fr)}
  .pay-inner{min-height:0}
  .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stat-row{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .section{padding-block:80px}
  .qa-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pay-stage,.op-feats,.tiles{grid-template-columns:minmax(0,1fr)}
  .receipt{transform:none}
  .stage{height:clamp(300px,82vw,440px)}
  .phone{transform:none}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .orb-core,.orb-ring{animation:none}
  .btn,.qa,.tile{transition:none}
  .btn:hover{transform:none}
}
