/* =====================================================================
   TOKENS — modelled on the United Carriers system:
   ink #111 on white, near-black #111 dark panels, one hot accent,
   one deep blue, squared display type + mono labels + neutral body.
   ===================================================================== */
:root{
  --bg:#000; --fg:#fff;
  --ink:#111; --ink-72:rgba(17,17,17,.72); --ink-40:rgba(17,17,17,.4); --ink-16:rgba(17,17,17,.16); --ink-08:rgba(17,17,17,.08);
  --paper:#fff; --paper-2:#f4f4f4;
  --night:#111; --night-2:#1a1a1a; --w-60:rgba(255,255,255,.6); --w-24:rgba(255,255,255,.24); --w-10:rgba(255,255,255,.1);
  --accent:#ff5a1f; --blue:#0016cb; --gain:#10b981;
  --display:'Tektur','Arial Black',Impact,sans-serif;
  --mono:'Space Mono',ui-monospace,Menlo,Consolas,monospace;
  --body:'Inter','Helvetica Neue',Arial,sans-serif;
  --pad:clamp(16px,2.1vw,40px);
  --max:1500px;
  --corner:22px;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#000;--fg:#fff}}
:root[data-theme="dark"]{--bg:#000;--fg:#fff}
html{scroll-behavior:smooth}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--fg);font-family:var(--body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.wrap{max-width:var(--max);margin:0 auto}

/* Rounded viewport frame (UC signature) */
.corner{position:fixed;width:var(--corner);height:var(--corner);z-index:300;pointer-events:none}
.corner.tl{top:0;left:0;background:radial-gradient(circle at 100% 100%,transparent calc(var(--corner) - .5px),#000 var(--corner))}
.corner.tr{top:0;right:0;background:radial-gradient(circle at 0 100%,transparent calc(var(--corner) - .5px),#000 var(--corner))}
.corner.bl{bottom:0;left:0;background:radial-gradient(circle at 100% 0,transparent calc(var(--corner) - .5px),#000 var(--corner))}
.corner.br{bottom:0;right:0;background:radial-gradient(circle at 0 0,transparent calc(var(--corner) - .5px),#000 var(--corner))}

/* Shared type */
.mono{font:400 12px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.h2{font:800 clamp(36px,4.6vw,76px)/.95 var(--display);text-transform:uppercase;letter-spacing:-.005em}
.h2 .dim{color:var(--ink-40)}
.on-dark .h2 .dim,.h2.on-dark .dim{color:rgba(255,255,255,.4)}
.label{display:flex;align-items:center;gap:12px;font:400 12px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-72);margin-bottom:22px}
.label::after{content:"";flex:0 0 48px;height:1px;background:currentColor;opacity:.5}
.on-dark .label{color:var(--w-60)}

/* Buttons */
.pill{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 28px;border-radius:99px;font:400 13px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--w-24);color:#fff;background:transparent;cursor:pointer;transition:background .25s,color .25s,border-color .25s;white-space:nowrap}
.pill:hover{background:#fff;color:var(--ink);border-color:#fff}
.pill.solid{background:#fff;color:var(--ink);border-color:#fff}
.pill.solid:hover{background:var(--accent);border-color:var(--accent);color:#000}
.pill.ink{border-color:var(--ink-16);color:var(--ink)}
.pill.ink:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.pill.ink.solid{background:var(--ink);color:#fff;border-color:var(--ink)}
.pill.ink.solid:hover{background:var(--accent);border-color:var(--accent);color:#000}
.pill.sm{height:40px;padding:0 20px;font-size:12px}

/* Reveal */
.rv{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}
.rv.in{opacity:1;transform:none}


/* =====================================================================
   TICKER + HEADER + MENU
   ===================================================================== */
.ticker{position:absolute;top:0;left:0;right:0;height:42px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 var(--pad);border-bottom:1px solid rgba(255,255,255,.12);font:400 12px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#a8a8a8;z-index:5;white-space:nowrap}
.ticker span:first-child{overflow:hidden;text-overflow:ellipsis}
.ticker a{color:#fff;transition:color .2s}
.ticker a:hover{color:var(--accent)}

.hdr{position:fixed;left:0;right:0;top:42px;height:68px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 var(--pad);z-index:100;color:#fff;transition:top .35s ease,background .35s ease,color .35s ease,height .35s ease}
.hdr.solid{top:0;height:58px;background:#fff;color:var(--ink);box-shadow:0 1px 0 var(--ink-08)}
.logo{display:flex;align-items:center;gap:12px;justify-self:start}
.logo img{height:38px;width:38px;border-radius:9px;object-fit:contain;background:#0d1017;padding:3px;border:1px solid rgba(255,255,255,.18)}
.hdr.solid .logo img{height:32px;width:32px}
.logo-text{font:800 clamp(18px,1.5vw,26px)/1 var(--display);letter-spacing:.02em;text-transform:uppercase}
.logo-text b{color:var(--accent);font-weight:800}
.menu-btn{display:inline-flex;align-items:center;gap:12px;background:none;border:0;color:inherit;font:400 13px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;padding:10px 6px}
.dots{display:inline-flex;gap:3px}
.dots i{width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.45;animation:dot 1.6s infinite}
.dots i:nth-child(2){animation-delay:.2s}.dots i:nth-child(3){animation-delay:.4s}.dots i:nth-child(4){animation-delay:.6s}
@keyframes dot{0%,100%{opacity:.3}40%{opacity:1}}
.hdr-right{justify-self:end;display:flex;align-items:center;gap:20px}
.hdr-right .soma-chip{display:inline-flex;align-items:center;gap:6px;font:400 11px/1 var(--mono);letter-spacing:.08em;opacity:.75}
.hdr-right .soma-chip img{width:14px;height:14px;object-fit:contain}
.hdr .pill{height:42px;padding:0 22px;font-size:12px}
.hdr.solid .pill{background:var(--ink);color:#fff;border-color:var(--ink)}
.hdr.solid .pill:hover{background:var(--accent);border-color:var(--accent);color:#000}

.menu{position:fixed;inset:0;z-index:200;background:#0a0a0a;color:#fff;display:grid;grid-template-rows:auto 1fr auto;padding:22px var(--pad) 32px;clip-path:inset(0 0 100% 0);transition:clip-path .6s cubic-bezier(.77,0,.18,1);visibility:hidden}
.menu.open{clip-path:inset(0 0 0 0);visibility:visible}
.menu-top{display:flex;justify-content:space-between;align-items:center}
.menu-links{align-self:center;display:flex;flex-direction:column;gap:clamp(6px,1.2vw,14px);padding:40px 0}
.menu-links a{display:flex;align-items:baseline;gap:20px;font:800 clamp(38px,6vw,96px)/1 var(--display);text-transform:uppercase;color:rgba(255,255,255,.35);transition:color .25s}
.menu-links a span{font:400 12px/1 var(--mono);letter-spacing:.1em;color:var(--w-60)}
.menu-links a:hover{color:#fff}
.menu-foot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:var(--w-60)}

/* Side tab (replaces the Awwwards badge — same placement, no award claim) */
.side-tab{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:90;background:var(--blue);color:#fff;border-radius:6px 0 0 6px;padding:14px 8px;display:flex;flex-direction:column;align-items:center;gap:10px;box-shadow:0 8px 30px rgba(0,22,203,.35);transition:padding .2s}
.side-tab:hover{padding-right:12px}
.side-tab b{font:900 15px/1 var(--display)}
.side-tab span{font:400 10px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;writing-mode:vertical-rl;transform:rotate(180deg)}

/* =====================================================================
   HERO (live canvas globe — kept from your current build)
   ===================================================================== */
.hero{position:relative;min-height:100svh;overflow:hidden;background:radial-gradient(ellipse 45% 45% at 60% 40%,rgba(130,80,35,.14),transparent 70%),radial-gradient(ellipse 40% 45% at 0% 100%,rgba(80,45,150,.16),transparent 70%),#000}
#g{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:grab;touch-action:pan-y;z-index:1}
#g:active{cursor:grabbing}
.hero-col{position:relative;z-index:3;min-height:100svh;padding:150px var(--pad) 56px;display:flex;flex-direction:column;justify-content:flex-end;pointer-events:none;max-width:var(--max);margin:0 auto}
.hero-col a{pointer-events:auto}
.kicker{font:700 clamp(18px,1.6vw,30px)/1 var(--display);text-transform:uppercase;margin-bottom:20px;letter-spacing:.02em}
h1{font:800 clamp(52px,7.2vw,150px)/.88 var(--display);text-transform:uppercase}
.hero-col p{margin:36px 0 44px;max-width:27em;font:400 clamp(16px,1.15vw,20px)/1.35 var(--body);color:rgba(255,255,255,.8)}
.cta{display:flex;gap:12px;flex-wrap:wrap}
.hero-meta{position:absolute;left:var(--pad);right:var(--pad);bottom:22px;display:flex;justify-content:space-between;z-index:3;color:rgba(255,255,255,.45);pointer-events:none}

/* =====================================================================
   INTRO (white editorial + stats)
   ===================================================================== */
.intro{background:var(--paper);color:var(--ink);padding:clamp(80px,10vw,150px) var(--pad)}
.intro-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(48px,8vw,120px) clamp(32px,6vw,100px);align-items:start}
.intro-grid .lead{grid-column:2;grid-row:1;font:400 clamp(17px,1.5vw,22px)/1.45 var(--body);max-width:580px}
.intro-grid .lead p+p{margin-top:1.1em}
.intro-grid .lead .pill{margin-top:32px}
.intro-grid .hl{grid-column:1;grid-row:2;align-self:end;position:sticky;bottom:60px}
.intro-grid .stats{grid-column:2;grid-row:2}
.stat{padding:22px 0 30px;border-top:1px solid var(--ink-16)}
.stat .n{font:800 clamp(60px,8vw,128px)/1 var(--display);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.stat:nth-child(3) .n{color:var(--ink-40)}
.stat .l{margin-top:10px;font:400 15px/1.3 var(--body);color:var(--ink-72)}

/* =====================================================================
   STRATEGIES (ghost word on white -> dark #111 grid)
   ===================================================================== */
.ghost{background:var(--paper);color:var(--ink);overflow:hidden;padding:clamp(40px,5vw,70px) 0 0;position:relative}
.ghost-meta{display:flex;justify-content:space-between;padding:0 var(--pad);color:var(--ink-40)}
.ghost-word{font:800 clamp(90px,19vw,360px)/.8 var(--display);text-transform:uppercase;color:#ececec;white-space:nowrap;letter-spacing:-.02em;margin:clamp(10px,2vw,30px) 0 -.06em;padding-left:var(--pad);will-change:transform}
.svc{background:var(--night);color:#fff;padding:clamp(70px,8vw,120px) var(--pad) clamp(70px,8vw,110px);position:relative}
.svc-head{display:grid;grid-template-columns:1.2fr 1fr;gap:40px clamp(32px,6vw,100px);align-items:end;margin-bottom:clamp(56px,6vw,90px)}
.svc-head p{font:400 16px/1.55 var(--body);color:var(--w-60);max-width:520px}
.svc-head p+p{margin-top:1em}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--w-10)}
.svc-item{padding:40px clamp(20px,2.4vw,40px) 44px;border-right:1px solid var(--w-10);border-bottom:1px solid var(--w-10);transition:background .3s}
.svc-item:nth-child(3n){border-right:0}
.svc-item:hover{background:#161616}
.svc-ic{width:44px;height:44px;margin-bottom:30px;color:#fff}
.svc-ic svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.svc-item h3{font:700 clamp(20px,1.7vw,28px)/1.05 var(--display);text-transform:uppercase;margin-bottom:16px}
.svc-item p{font:400 15px/1.5 var(--body);color:var(--w-60);max-width:34ch}
.svc-item .meta{margin-top:26px;display:flex;justify-content:space-between;gap:10px;color:rgba(255,255,255,.4)}
.svc-item .meta b{font-weight:400;color:var(--gain)}
.svc-btn{display:flex;justify-content:center;margin-top:56px}

/* =====================================================================
   DISCIPLINE (white, three numbered features)
   ===================================================================== */
.disc{background:var(--paper);color:var(--ink);padding:clamp(80px,10vw,150px) var(--pad)}
.disc-head{display:grid;grid-template-columns:1.2fr 1fr;gap:32px clamp(32px,6vw,100px);align-items:end;margin-bottom:clamp(56px,7vw,100px)}
.disc-head p{font:400 17px/1.5 var(--body);color:var(--ink-72);max-width:520px}
.disc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,48px)}
.feat{border-top:1px solid var(--ink);padding-top:22px}
.feat .num{display:flex;justify-content:space-between;color:var(--ink-40);margin-bottom:clamp(48px,6vw,90px)}
.feat h3{font:800 clamp(26px,2.4vw,40px)/.98 var(--display);text-transform:uppercase;margin-bottom:18px}
.feat p{font:400 15px/1.5 var(--body);color:var(--ink-72);max-width:36ch}

/* =====================================================================
   WHY US (deep-blue atmospheric band)
   ===================================================================== */
.why{position:relative;color:#fff;padding:clamp(90px,11vw,170px) var(--pad);overflow:hidden;background:
  radial-gradient(ellipse 60% 50% at 50% 0%,rgba(120,140,255,.35),transparent 70%),
  radial-gradient(ellipse 50% 60% at 15% 100%,rgba(255,90,31,.12),transparent 70%),
  linear-gradient(180deg,#0b1a6b 0%,#0a1658 40%,#050a2e 100%)}
.why::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.55) 1px,transparent 1.4px);background-size:44px 44px;mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,#000,transparent);opacity:.25;pointer-events:none}
.why-head{position:relative;text-align:center;max-width:980px;margin:0 auto clamp(60px,7vw,100px)}
.why-head .label{justify-content:center}
.why-head .label::before{content:"";flex:0 0 48px;height:1px;background:currentColor;opacity:.5}
.why-grid{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.12);border-radius:4px;overflow:hidden}
.why-card{background:rgba(8,14,60,.72);backdrop-filter:blur(6px);padding:clamp(28px,3vw,48px);text-align:center;display:flex;flex-direction:column;align-items:center;transition:background .3s}
.why-card:hover{background:rgba(20,30,110,.8)}
.chev{font:800 22px/1 var(--display);letter-spacing:-.18em;color:rgba(255,255,255,.75);margin-bottom:22px}
.why-card h3{font:700 clamp(19px,1.6vw,24px)/1.08 var(--display);text-transform:uppercase;margin-bottom:14px}
.why-card p{font:400 15px/1.5 var(--body);color:rgba(255,255,255,.7);max-width:32ch}

/* =====================================================================
   CAPITAL TIERS (white, hairline columns)
   ===================================================================== */
.tiers{background:var(--paper);color:var(--ink);padding:clamp(80px,10vw,150px) var(--pad)}
.tiers-head{display:grid;grid-template-columns:1.2fr 1fr;gap:32px clamp(32px,6vw,100px);align-items:end;margin-bottom:clamp(48px,6vw,80px)}
.tiers-head p{font:400 17px/1.5 var(--body);color:var(--ink-72);max-width:520px}
.tier-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink-16);border-bottom:1px solid var(--ink-16)}
.tier{padding:36px clamp(20px,2.4vw,40px) 40px;border-right:1px solid var(--ink-16);display:flex;flex-direction:column;position:relative}
.tier:last-child{border-right:0}
.tier.hot{background:var(--ink);color:#fff}
.tier .top{display:flex;justify-content:space-between;align-items:center;color:var(--ink-40);margin-bottom:44px}
.tier.hot .top{color:var(--w-60)}
.tier .badge{background:var(--accent);color:#000;padding:6px 10px;border-radius:99px;font:700 10px/1 var(--mono);letter-spacing:.1em}
.tier h3{font:800 clamp(24px,2vw,34px)/1 var(--display);text-transform:uppercase;margin-bottom:18px}
.tier .cap{font:700 clamp(18px,1.5vw,22px)/1.1 var(--mono);letter-spacing:-.01em;margin-bottom:10px}
.tier .split{color:var(--accent);margin-bottom:30px}
.tier ul{list-style:none;display:flex;flex-direction:column;margin-bottom:36px;flex:1}
.tier li{display:flex;gap:12px;padding:12px 0;border-top:1px solid var(--ink-08);font:400 14.5px/1.4 var(--body);color:var(--ink-72)}
.tier.hot li{border-color:var(--w-10);color:rgba(255,255,255,.75)}
.tier li::before{content:"→";font-family:var(--mono);color:var(--ink-40)}
.tier.hot li::before{color:var(--accent)}
.tier .pill{width:100%}

/* =====================================================================
   SIMULATOR (light grey)
   ===================================================================== */
.sim{background:var(--paper-2);color:var(--ink);padding:clamp(80px,10vw,150px) var(--pad)}
.sim-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(40px,6vw,100px);align-items:start}
.sim-grid>div:first-child p{font:400 17px/1.5 var(--body);color:var(--ink-72);max-width:460px;margin-top:24px}
.sim-card{background:#fff;border:1px solid var(--ink-08);border-radius:4px;display:grid;grid-template-columns:1fr 1fr}
.sim-in{padding:clamp(24px,3vw,40px);display:flex;flex-direction:column;gap:34px;border-right:1px solid var(--ink-08)}
.calc-group label{display:flex;justify-content:space-between;gap:10px;margin-bottom:14px;color:var(--ink-72)}
.calc-group label span:last-child{color:var(--ink);font-weight:700}
.calc-slider{width:100%;height:2px;background:var(--ink-16);outline:none;-webkit-appearance:none;appearance:none;cursor:pointer}
.calc-slider::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--ink);border:3px solid #fff;box-shadow:0 0 0 1px var(--ink)}
.calc-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--ink);border:3px solid #fff;box-shadow:0 0 0 1px var(--ink)}
.sim-out{padding:clamp(24px,3vw,40px);display:flex;flex-direction:column}
.res-row{display:flex;justify-content:space-between;gap:10px;padding:14px 0;border-bottom:1px solid var(--ink-08);font:400 14px/1.2 var(--body);color:var(--ink-72)}
.res-row .val{font:700 14px/1.2 var(--mono);color:var(--ink);text-align:right}
.res-total{padding:22px 0 18px}
.res-total .mono{color:var(--ink-40)}
.res-total .val{display:block;margin-top:10px;font:800 clamp(34px,3.2vw,52px)/1 var(--display);color:var(--ink)}
.sim-note{margin-top:14px;font:400 12px/1.45 var(--body);color:var(--ink-40)}
.sim-out .pill{margin-top:20px;width:100%}

/* =====================================================================
   PLATFORMS (UC partner grid: hairlines + corner ticks)
   ===================================================================== */
.plat{background:var(--paper);color:var(--ink);padding:clamp(70px,8vw,120px) var(--pad)}
.plat-row{display:grid;grid-template-columns:220px repeat(5,1fr);border:1px solid var(--ink-08);position:relative}
.plat-row>div{min-height:130px;display:flex;align-items:center;justify-content:center;border-right:1px solid var(--ink-08);font:700 clamp(15px,1.25vw,20px)/1.1 var(--display);text-transform:uppercase;text-align:center;padding:16px;position:relative}
.plat-row>div:last-child{border-right:0}
.plat-row>div:first-of-type{justify-content:flex-start;font:400 13px/1.3 var(--body);text-transform:none}
.plat-row>div small{display:block;margin-top:6px;font:400 11px/1 var(--mono);letter-spacing:.08em;color:var(--ink-40)}
.tick{position:absolute;width:7px;height:7px;border:solid var(--ink-40)}
.tick.a{top:-1px;left:-1px;border-width:1px 0 0 1px}.tick.b{top:-1px;right:-1px;border-width:1px 1px 0 0}
.tick.c{bottom:-1px;left:-1px;border-width:0 0 1px 1px}.tick.d{bottom:-1px;right:-1px;border-width:0 1px 1px 0}

/* =====================================================================
   PORTAL (UC "insights" layout: sticky left, card stack right)
   ===================================================================== */
.portal{background:var(--night);color:#fff;padding:clamp(80px,10vw,150px) var(--pad)}
.portal-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(40px,6vw,100px);align-items:start}
.portal-left{position:sticky;top:100px}
.portal-left p{font:400 16px/1.55 var(--body);color:var(--w-60);max-width:440px;margin:26px 0 34px}
.portal-stack{display:flex;flex-direction:column;gap:14px}
.p-card{background:var(--night-2);border:1px solid var(--w-10);border-radius:4px;padding:clamp(22px,2.4vw,34px);transition:border-color .3s}
.p-card:hover{border-color:var(--w-24)}
.p-card .meta{display:flex;gap:14px;color:rgba(255,255,255,.45);margin-bottom:18px}
.p-card .meta span+span::before{content:"|";margin-right:14px;opacity:.6}
.p-card h3{font:700 clamp(19px,1.5vw,24px)/1.15 var(--display);text-transform:uppercase;margin-bottom:10px}
.p-card p{font:400 15px/1.5 var(--body);color:var(--w-60)}
.term{font-family:var(--mono)}
.term-top{display:flex;justify-content:space-between;border-bottom:1px solid var(--w-10);padding-bottom:12px;margin-bottom:18px;font-size:11px;letter-spacing:.08em}
.term-top span:first-child{color:var(--gain)}
.term-top span:last-child{color:rgba(255,255,255,.4)}
.term .k{font-size:11px;letter-spacing:.08em;color:rgba(255,255,255,.45)}
.term .big{font:700 clamp(28px,2.6vw,38px)/1 var(--mono);margin:8px 0 18px}
.term-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
.term-row div{background:#121212;border:1px solid var(--w-10);border-radius:3px;padding:12px}
.term-row b{display:block;margin-top:6px;font-size:16px;color:var(--gain)}
.term-pos{font-size:11px;line-height:1.5;color:#7cc7ff;background:rgba(56,189,248,.07);border:1px solid rgba(56,189,248,.2);border-radius:3px;padding:9px 12px}
.sample{margin-top:10px;font:400 10px/1 var(--mono);letter-spacing:.1em;color:rgba(255,255,255,.3);text-transform:uppercase}

/* =====================================================================
   FAQ
   ===================================================================== */
.faq{background:var(--paper);color:var(--ink);padding:clamp(80px,10vw,140px) var(--pad)}
.faq-grid{display:grid;grid-template-columns:1fr 2fr 1fr;gap:clamp(32px,4vw,70px);align-items:start}
.faq-title{font:800 clamp(48px,5vw,84px)/1 var(--display);text-transform:uppercase;margin-bottom:22px}
.faq-grid>div:first-child p{font:400 15px/1.5 var(--body);color:var(--ink-72);max-width:260px}
.faq-list details{border-bottom:1px solid var(--ink-08)}
.faq-list details:first-child{border-top:1px solid var(--ink-08)}
.faq-list summary{list-style:none;display:grid;grid-template-columns:48px 1fr 24px;align-items:center;gap:10px;padding:22px 0;cursor:pointer;font:500 16px/1.35 var(--body)}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary .mono{color:var(--ink-40)}
.faq-list summary .pl{position:relative;width:12px;height:12px;justify-self:end}
.faq-list summary .pl::before,.faq-list summary .pl::after{content:"";position:absolute;left:0;top:50%;width:12px;height:1px;background:var(--ink);transition:transform .3s}
.faq-list summary .pl::after{transform:rotate(90deg)}
.faq-list details[open] summary .pl::after{transform:rotate(0)}
.faq-list details p{padding:0 34px 24px 58px;font:400 15px/1.6 var(--body);color:var(--ink-72);max-width:62ch}
.faq-aside p{font:400 15px/1.5 var(--body);color:var(--ink-72);margin-bottom:22px}

/* =====================================================================
   CTA + FOOTER
   ===================================================================== */
.band{position:relative;background:#000;color:#fff;text-align:center;padding:clamp(100px,13vw,200px) var(--pad) clamp(110px,14vw,210px);overflow:hidden}
.band::before{content:"";position:absolute;left:50%;top:62%;width:min(1500px,170vw);aspect-ratio:1;transform:translateX(-50%);border-radius:50%;
  background:radial-gradient(circle at 50% 50%,#000 64%,transparent 70.5%);
  box-shadow:0 -2px 0 rgba(255,140,70,.75),0 -30px 120px rgba(255,100,40,.35),0 -10px 260px rgba(50,90,255,.3)}
.band>*{position:relative}
.band .h2{font-size:clamp(44px,6.4vw,112px);max-width:1100px;margin:0 auto}
.band .h2 span{color:var(--accent)}
.band .pill{margin-top:40px}

footer{background:var(--paper);color:var(--ink);padding:clamp(60px,7vw,100px) var(--pad) calc(40px + env(safe-area-inset-bottom,0px));overflow:hidden;position:relative}
.f-tag{font:500 clamp(18px,1.6vw,24px)/1.3 var(--body);padding-bottom:40px;border-bottom:1px solid var(--ink-08)}
.f-cols{display:grid;grid-template-columns:1fr 1fr 1fr 1.3fr;gap:32px;padding:40px 0 50px}
.f-cols .mono{color:var(--ink-40);margin-bottom:18px}
.f-cols ul{list-style:none;display:flex;flex-direction:column;gap:12px;font:500 15px/1.2 var(--body)}
.f-cols ul a:hover{color:var(--accent)}
.soc{display:flex;gap:8px}
.soc a{width:40px;height:40px;border:1px solid var(--ink-16);border-radius:50%;display:grid;place-items:center;font-size:14px;transition:background .2s,color .2s}
.soc a:hover{background:var(--ink);color:#fff}
.f-cols .note{font:400 14px/1.5 var(--body);color:var(--ink-72)}
.marquee{border-top:1px solid var(--ink-08);border-bottom:1px solid var(--ink-08);padding:26px 0;overflow:hidden;margin:0 calc(var(--pad) * -1)}
.marquee-track{display:flex;width:max-content;animation:mq 38s linear infinite}
.marquee-track span{font:500 clamp(30px,3.4vw,56px)/1 var(--body);color:#c9c9c9;white-space:nowrap;padding-right:.6em}
@keyframes mq{to{transform:translateX(-50%)}}

.risk{padding:36px 0;font:400 12.5px/1.6 var(--body);color:var(--ink-72);max-width:980px}
.risk b{color:var(--ink)}
.f-bot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:26px;border-top:1px solid var(--ink-08);color:var(--ink-40)}
.f-bot a:hover{color:var(--ink)}


/* 4-step "how it works" */
.disc-grid.four{grid-template-columns:repeat(4,1fr)}

/* TARGET LADDER */
.ladder-key{list-style:none;display:flex;flex-wrap:wrap;gap:18px;margin-top:28px;font:400 13px/1 var(--body);color:var(--ink-72)}
.ladder-key li{display:flex;align-items:center;gap:8px}
.sw{width:18px;height:3px;border-radius:2px;display:inline-block}
.sw-p{background:var(--accent)}.sw-s{background:var(--blue)}.sw-b{width:9px;height:9px;border-radius:50%;background:var(--gain)}
.ladder-card{background:#fff;border:1px solid var(--ink-08);border-radius:4px;padding:clamp(20px,2.6vw,34px)}
.ladder-top{display:flex;justify-content:space-between;gap:10px;color:var(--ink-40);padding-bottom:16px;border-bottom:1px solid var(--ink-08)}
.ladder-top #ladder-status{color:var(--ink)}
.ladder{position:relative;height:clamp(380px,42vw,500px);margin:18px 0 10px 0}
.rung{position:absolute;left:0;right:0;height:0;border-top:1px solid var(--ink-08);display:flex;align-items:center}
.rung .rl{position:absolute;left:0;transform:translateY(-50%);font:700 11px/1 var(--mono);letter-spacing:.06em;color:var(--ink-40);background:#fff;padding-right:8px;transition:color .3s}
.rung .rn{position:absolute;right:0;transform:translateY(-50%);font:400 12px/1 var(--body);color:var(--ink-40);background:#fff;padding-left:8px;transition:color .3s;text-align:right}
.rung.tp{border-top-style:dashed}
.rung.hit .rl{color:var(--ink)}.rung.hit .rn{color:var(--ink-72)}
.rung .bk{position:absolute;left:52px;top:0;width:9px;height:9px;margin-top:-5px;border-radius:50%;background:var(--gain);transform:scale(0);transition:transform .35s cubic-bezier(.34,1.56,.64,1)}
.rung.hit .bk{transform:scale(1)}
.rung.sl .rl{color:#d33}
.lvl{position:absolute;left:44px;right:0;height:0;pointer-events:none}
.lvl::before{content:"";position:absolute;left:0;right:0;top:-1.5px;height:3px;border-radius:2px}
.lvl.price::before{background:var(--accent);box-shadow:0 0 14px rgba(255,90,31,.55)}
.lvl.price::after{content:"";position:absolute;right:30%;top:-6px;width:12px;height:12px;border-radius:50%;background:var(--accent);border:2px solid #fff;box-shadow:0 0 0 1px var(--accent)}
.lvl.stop{transition:bottom .55s cubic-bezier(.16,1,.3,1)}
.lvl.stop::before{background:var(--blue)}
.lvl.stop span{position:absolute;left:24px;top:6px;font:700 10px/1 var(--mono);letter-spacing:.08em;color:var(--blue);text-transform:uppercase;white-space:nowrap}
.ladder-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-top:16px;border-top:1px solid var(--ink-08)}
.ladder-foot .mono{color:var(--ink-40);font-size:10.5px}

/* Telegram mock */
.tg{display:flex;flex-direction:column;gap:10px;font-family:var(--body)}
.tg-msg{align-self:flex-start;max-width:92%;background:#1f2a36;border-radius:12px 12px 12px 4px;padding:11px 14px;font:400 13.5px/1.45 var(--body);color:rgba(255,255,255,.78)}
.tg-msg b{font:700 12px/1.6 var(--mono);letter-spacing:.04em;color:#fff}
.tg-btns{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:4px}
.tg-btns span{background:#26323f;border-radius:6px;padding:9px 6px;text-align:center;font:500 12px/1 var(--body);color:#8fc8ff}

/* =====================================================================
   RESPONSIVE
   ===================================================================== */
@media (max-width:1100px){
  .disc-grid.four{grid-template-columns:repeat(2,1fr)}
  .svc-grid,.why-grid{grid-template-columns:repeat(2,1fr)}
  .svc-item:nth-child(3n){border-right:1px solid var(--w-10)}
  .svc-item:nth-child(2n){border-right:0}
  .sim-grid{grid-template-columns:1fr}
  .plat-row{grid-template-columns:repeat(5,1fr)}
  .plat-row>div:first-of-type{grid-column:1/-1;justify-content:center;min-height:64px;border-right:0;border-bottom:1px solid var(--ink-08)}
  .faq-grid{grid-template-columns:1fr 2fr}
  .faq-aside{grid-column:2}
  .f-cols{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  :root{--corner:14px}
  .hdr{grid-template-columns:1fr auto;top:42px}
  .menu-btn{order:2;justify-self:end}
  .hdr-right{display:none}
  .ticker span:last-child{display:none}
  .hero-col{padding:130px 16px 64px}
  .hero-col p{margin:26px 0 32px}
  .intro-grid,.svc-head,.disc-head,.tiers-head,.portal-grid{grid-template-columns:1fr}
  .intro-grid .lead,.intro-grid .hl,.intro-grid .stats{grid-column:1;grid-row:auto;position:static}
  .intro-grid .hl{order:1}.intro-grid .lead{order:2}.intro-grid .stats{order:3}
  .disc-grid,.disc-grid.four,.tier-grid{grid-template-columns:1fr}
  .tier{border-right:0;border-bottom:1px solid var(--ink-16)}
  .tier:last-child{border-bottom:0}
  .portal-left{position:static}
  .faq-grid{grid-template-columns:1fr}
  .faq-aside{grid-column:1}
}
@media (max-width:640px){
  .svc-grid,.why-grid{grid-template-columns:1fr}
  .svc-item{border-right:0!important}
  .sim-card{grid-template-columns:1fr}
  .sim-in{border-right:0;border-bottom:1px solid var(--ink-08)}
  .plat-row{grid-template-columns:repeat(2,1fr)}
  .plat-row>div{min-height:96px;border-bottom:1px solid var(--ink-08)}
  .plat-row>div:nth-of-type(odd){border-right:0}
  .plat-row>div:last-of-type{grid-column:1/-1;border-bottom:0;border-right:0}
  .side-tab{display:none}
  .f-cols{grid-template-columns:1fr}
  .faq-list summary{grid-template-columns:36px 1fr 20px}
  .faq-list details p{padding:0 0 22px 46px}
  .hero-meta{display:none}
  .rung .rn{font-size:11px;max-width:62%}
  .lvl.price::after{right:8%}
}

/* =====================================================================
   MULTI-PAGE ADDITIONS
   ===================================================================== */
/* Inner page hero */
.phero{position:relative;background:#000;color:#fff;min-height:min(78svh,760px);display:flex;align-items:flex-end;overflow:hidden;padding:170px var(--pad) clamp(56px,7vw,100px)}
.phero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.7) 1px,transparent 1.3px);background-size:90px 90px;opacity:.18;pointer-events:none}
.phero::after{content:"";position:absolute;right:-30vw;top:20%;width:90vw;aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle,#000 64%,transparent 70.5%);
  box-shadow:-2px -2px 0 rgba(255,140,70,.7),-30px -30px 120px rgba(255,100,40,.28),-10px 30px 220px rgba(50,90,255,.3);pointer-events:none}
.phero-in{position:relative;z-index:2;width:100%}
.crumb{display:flex;gap:10px;color:rgba(255,255,255,.5);margin-bottom:26px}
.crumb a:hover{color:#fff}
.phero-h{font:800 clamp(52px,8vw,150px)/.88 var(--display);text-transform:uppercase}
.phero-h .dim{color:rgba(255,255,255,.4)}
.phero-p{margin-top:30px;max-width:30em;font:400 clamp(16px,1.2vw,20px)/1.4 var(--body);color:rgba(255,255,255,.75)}

/* Menu current page */
.menu-links a.cur{color:#fff}
.menu-links a.cur span{color:var(--accent)}
.menu-foot{align-items:center}
.menu-foot a.mono:hover{color:#fff}
.soc.dark a{border-color:rgba(255,255,255,.2);color:#fff}
.soc.dark a:hover{background:#fff;color:#000}
.soc{flex-wrap:wrap}

/* Next-page band */
.next{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;background:var(--paper);color:var(--ink);padding:clamp(40px,5vw,70px) var(--pad);border-top:1px solid var(--ink-08);transition:background .3s}
.next .mono{color:var(--ink-40)}
.next-t{font:800 clamp(34px,5vw,84px)/1 var(--display);text-transform:uppercase}
.next-a{font:400 clamp(30px,4vw,60px)/1 var(--body);transition:transform .3s}
.next:hover{background:var(--paper-2)}
.next:hover .next-a{transform:translateX(10px)}

/* Home: explore list */
.explore{background:var(--paper);color:var(--ink);padding:clamp(80px,10vw,150px) var(--pad)}
.explore-head{display:grid;grid-template-columns:1.2fr 1fr;gap:32px clamp(32px,6vw,100px);align-items:end;margin-bottom:clamp(40px,5vw,70px)}
.explore-head p{font:400 17px/1.5 var(--body);color:var(--ink-72)}
.explore-list{border-top:1px solid var(--ink-16)}
.ex-row{display:grid;grid-template-columns:60px 1fr 1.2fr 40px;align-items:center;gap:20px;padding:26px 0;border-bottom:1px solid var(--ink-16);transition:padding .3s,color .3s}
.ex-row .mono{color:var(--ink-40)}
.ex-t{font:800 clamp(24px,2.6vw,42px)/1 var(--display);text-transform:uppercase}
.ex-d{font:400 15px/1.45 var(--body);color:var(--ink-72)}
.ex-a{font:400 26px/1 var(--body);justify-self:end;transition:transform .3s}
.ex-row:hover{padding-left:14px}
.ex-row:hover .ex-t{color:var(--accent)}
.ex-row:hover .ex-a{transform:translateX(6px)}

/* Footer extras */
.f-mail{display:inline-block;margin-top:16px;font:500 15px/1.2 var(--body)}
.f-mail:hover{color:var(--accent)}
.f-cols ul .h{color:var(--ink-40);font-weight:400;font-size:13px}
.f-cols .note{margin-top:14px}
.risk p+p{margin-top:12px}

/* Contact page */
.contact{background:var(--paper);color:var(--ink);padding:clamp(80px,10vw,140px) var(--pad)}
.contact-main{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(40px,6vw,100px);align-items:end}
.contact-main p{font:400 17px/1.5 var(--body);color:var(--ink-72);max-width:440px;margin-top:24px}
.contact-cta{border-top:1px solid var(--ink)}
.big-link{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:10px 20px;padding:26px 0;border-bottom:1px solid var(--ink-16)}
.big-link .mono{color:var(--ink-40)}
.bl-t{grid-row:2;font:800 clamp(24px,2.8vw,44px)/1 var(--display);word-break:break-word}
.big-link .ex-a{grid-row:1/3;grid-column:2;align-self:center}
.big-link:hover .bl-t{color:var(--accent)}
.c-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--ink-08)}
.c-card{position:relative;display:flex;flex-direction:column;gap:10px;padding:30px;min-height:170px;border-right:1px solid var(--ink-08);border-bottom:1px solid var(--ink-08);transition:background .25s,color .25s}
.c-card:nth-child(3n){border-right:0}
.c-card:nth-last-child(-n+3){border-bottom:0}
.c-card i{font-size:22px;margin-bottom:auto}
.c-card .mono{color:var(--ink-40)}
.c-h{font:700 clamp(18px,1.5vw,22px)/1.1 var(--display)}
.c-card .ex-a{position:absolute;top:26px;right:26px;font-size:20px}
.c-card:hover{background:var(--ink);color:#fff}
.c-card:hover .mono{color:rgba(255,255,255,.5)}
.yt-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.yt{display:flex;flex-direction:column;gap:12px;padding:clamp(26px,3vw,40px);background:var(--ink);color:#fff;border-radius:4px;transition:background .25s}
.yt .mono{color:rgba(255,255,255,.5)}
.yt-t{font:800 clamp(24px,2.4vw,38px)/1 var(--display);text-transform:uppercase}
.yt-t i{color:#ff3b30}
.yt-h{font:400 14px/1 var(--mono);color:rgba(255,255,255,.6)}
.yt:hover{background:#000}
.yt-note{margin-top:28px;font:400 15px/1.5 var(--body);color:var(--ink-72);max-width:640px}

@media (max-width:900px){
  .explore-head,.contact-main{grid-template-columns:1fr}
  .ex-row{grid-template-columns:40px 1fr 30px}
  .ex-d{grid-column:2;grid-row:2}
  .ex-a{grid-column:3;grid-row:1/3}
  .c-grid{grid-template-columns:1fr 1fr}
  .c-card:nth-child(3n){border-right:1px solid var(--ink-08)}
  .c-card:nth-child(2n){border-right:0}
  .c-card:nth-last-child(-n+3){border-bottom:1px solid var(--ink-08)}
  .c-card:nth-last-child(-n+2){border-bottom:0}
  .phero::after{right:-60vw;top:40%;width:130vw}
}
@media (max-width:640px){
  .yt-grid{grid-template-columns:1fr}
  .c-card{padding:22px;min-height:140px}
  .next{grid-template-columns:1fr auto}
  .next .mono{grid-column:1/-1}
}

/* Logo mark & wordmark */
.logo img{border-radius:50%!important;padding:0!important;background:#000!important;border:1px solid rgba(255,255,255,.18)!important}
.logo-text{text-transform:none!important}
.hdr-right .soma-chip img{width:20px;height:20px;border-radius:50%}

/* Footer logos */
.f-brand{display:flex;align-items:center;gap:clamp(20px,3vw,40px);flex-wrap:wrap;padding-bottom:40px;border-bottom:1px solid var(--ink-08)}
.f-logos{display:flex;gap:14px}
.f-logos img{width:clamp(96px,9vw,140px);height:auto;border-radius:50%;background:#000}
.f-brand .f-tag{padding:0;border:0}

/* Investment plans page */
.terms-strip{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--ink-16);margin-bottom:clamp(28px,3vw,44px)}
.terms-strip div{padding:22px clamp(18px,2vw,30px);border-right:1px solid var(--ink-16)}
.terms-strip div:last-child{border-right:0}
.terms-strip .mono{display:block;color:var(--ink-40);margin-bottom:10px}
.terms-strip b{font:800 clamp(28px,3vw,48px)/1 var(--display)}
.plans-warn{margin-top:28px;font:400 14px/1.55 var(--body);color:var(--ink-72);max-width:820px}
.plans-portal{margin-top:28px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;font:500 15px/1.3 var(--body)}
@media (max-width:640px){.terms-strip{grid-template-columns:1fr}.terms-strip div{border-right:0;border-bottom:1px solid var(--ink-16)}.terms-strip div:last-child{border-bottom:0}}

/* Two-product grid */
.tier-grid.two{grid-template-columns:repeat(2,1fr)}
@media (max-width:900px){.tier-grid.two{grid-template-columns:1fr}}
.kicker{text-transform:none}
.f-bot span:first-child{text-transform:none;letter-spacing:.04em}

/* Menu: smaller links so all items fit */
.menu{overflow-y:auto}
.menu-links{gap:clamp(4px,.8vw,10px);padding:28px 0}
.menu-links a{font-size:clamp(24px,3.2vw,46px);gap:16px}
.menu-links a span{font-size:11px}
@media (max-height:700px){.menu-links a{font-size:clamp(20px,2.6vw,36px)}}

/* =====================================================================
   3D LAYER
   ===================================================================== */
.phero-3d{position:absolute;top:110px;right:0;bottom:0;width:58%;z-index:1;opacity:0;transition:opacity 1.4s ease}
.phero-3d.on{opacity:1}
.phero-3d canvas,.precision-3d canvas{display:block}
.phero::after{opacity:.55}
.phero-h{animation:rise3d 1.3s cubic-bezier(.16,1,.3,1) both}
.phero-p,.crumb{animation:fade3d 1.4s .25s cubic-bezier(.16,1,.3,1) both}
@keyframes rise3d{from{opacity:0;transform:perspective(1000px) rotateX(55deg) translateY(70px)}}
@keyframes fade3d{from{opacity:0;transform:translateY(16px)}}

/* headings flip up into place */
.h2.rv{transform:perspective(1000px) rotateX(42deg) translateY(40px);transform-origin:50% 100%}
.h2.rv.in{transform:none}

/* precision section (robotic hand) */
.precision{position:relative;background:#0a0a0a;color:#fff;padding:clamp(80px,9vw,140px) var(--pad);overflow:hidden}
.precision::before{content:"";position:absolute;right:-10%;bottom:-30%;width:70%;aspect-ratio:1;background:radial-gradient(circle,rgba(255,255,255,.07),transparent 60%);pointer-events:none}
.precision-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:clamp(24px,4vw,60px);align-items:center;position:relative}
.precision-copy p{font:400 17px/1.55 var(--body);color:rgba(255,255,255,.65);max-width:440px;margin:24px 0 34px}
.precision-3d{position:relative;height:min(640px,62vw);opacity:0;transition:opacity 1.4s ease}
.precision-3d.on{opacity:1}
.precision-3d::after{content:"";position:absolute;left:20%;right:20%;bottom:6%;height:40px;border-radius:50%;background:radial-gradient(ellipse,rgba(0,0,0,.6),transparent 70%);filter:blur(6px);pointer-events:none}

/* rolling icon ring */
.roll{background:var(--paper);color:var(--ink);padding:clamp(80px,9vw,140px) 0 clamp(60px,7vw,110px);overflow:hidden}
.roll-head{display:grid;grid-template-columns:1.2fr 1fr;gap:32px clamp(32px,6vw,100px);align-items:end;padding:0 var(--pad);margin-bottom:clamp(20px,3vw,40px)}
.roll-head p{font:400 17px/1.5 var(--body);color:var(--ink-72)}
.roll-head .mono{display:block;margin-top:10px;color:var(--ink-40)}
.roll-stage{position:relative;height:400px;perspective:1500px;cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.roll-stage.grab{cursor:grabbing}
.roll-ring{position:absolute;left:50%;top:50%;width:0;height:0;transform-style:preserve-3d}
.roll-tile{position:absolute;width:200px;height:250px;left:-100px;top:-125px;padding:24px;border-radius:18px;border:1px solid var(--ink-08);
  background:linear-gradient(160deg,#ffffff 0%,#f1f2f4 100%);box-shadow:0 40px 60px -40px rgba(0,0,0,.35),inset 0 1px 0 #fff;
  display:flex;flex-direction:column;justify-content:space-between;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.roll-tile svg{width:52px;height:52px;fill:none;stroke:var(--ink);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.roll-tile b{display:block;font:700 18px/1.1 var(--display);text-transform:uppercase;margin-bottom:8px}
.roll-tile span{font:400 13px/1.4 var(--body);color:var(--ink-72)}

/* 3D tilt + soft sheen */
.tilt{transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .9s ease,background .3s;will-change:transform;position:relative}
.tilt::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .35s;
  background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.09),transparent 45%)}
.tilt:hover::after{opacity:1}
.tiers .tilt::after,.contact .tilt::after,.disc .tilt::after,.explore .tilt::after,.sim .tilt::after{background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(17,17,17,.05),transparent 45%)}
.tier.hot.tilt::after{background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.08),transparent 45%)}
.pill{transition:background .25s,color .25s,border-color .25s,transform .3s cubic-bezier(.16,1,.3,1)}

@media (max-width:900px){
  .phero-3d{width:100%;top:60px;bottom:auto;height:60%}
  .phero-3d.on{opacity:.5}
  .precision-grid{grid-template-columns:1fr}
  .precision-3d{height:420px;order:-1}
  .roll-head{grid-template-columns:1fr}
  .roll-stage{height:320px}
  .roll-tile{width:156px;height:200px;left:-78px;top:-100px;padding:18px}
  .roll-tile svg{width:40px;height:40px}
  .roll-tile b{font-size:15px}
}


/* Rolling tiles: bigger cards and icons */
.roll-stage{height:460px}
.roll-tile{width:240px;height:300px;left:-120px;top:-150px;padding:26px}
.roll-tile svg{width:88px;height:88px;stroke-width:1.5}
.roll-tile b{font-size:21px}
.roll-tile span{font-size:14px}
@media (max-width:900px){
  .roll-stage{height:360px}
  .roll-tile{width:180px;height:230px;left:-90px;top:-115px;padding:20px}
  .roll-tile svg{width:64px;height:64px}
  .roll-tile b{font-size:16px}
  .roll-tile span{font-size:12.5px}
}

/* Faint logo in the hero background (static, transparent cut-out) */
.phero-3d.logo-bg{display:flex;align-items:center;justify-content:center;pointer-events:none}
.phero-3d.logo-bg img{width:min(560px,40vw);height:auto;opacity:.22;filter:saturate(.65)}
.phero-3d.logo-soma img{width:min(620px,44vw)}
@media (max-width:900px){.phero-3d.logo-bg img{width:78vw;opacity:.16}}

/* =====================================================================
   ACCOUNTS: register, login, account, agreement
   ===================================================================== */
.hdr-login{font-size:12px;letter-spacing:.08em;opacity:.85}
.hdr-login:hover{opacity:1;color:var(--accent)}
.auth{background:var(--paper-2);color:var(--ink);padding:clamp(48px,6vw,90px) var(--pad) clamp(70px,8vw,120px)}
.auth-wrap{max-width:900px}
.auth-wrap.narrow{max-width:520px}
.auth-card{background:#fff;border:1px solid var(--ink-08);border-radius:14px;padding:clamp(22px,3.4vw,44px);box-shadow:0 30px 60px -40px rgba(0,0,0,.18)}
.auth-h{font:800 clamp(26px,2.6vw,38px)/1.05 var(--display);text-transform:uppercase;margin-bottom:10px}
.auth-p{font:400 15px/1.55 var(--body);color:var(--ink-72);margin-bottom:24px}
.auth-p a,.auth-alt a{text-decoration:underline}
.auth-alt{margin-top:20px;font:400 14px/1.5 var(--body);color:var(--ink-72)}
.steps{list-style:none;display:flex;gap:8px;margin-bottom:18px;flex-wrap:wrap}
.steps li{flex:1;min-width:120px;padding:12px 14px;border-radius:10px;border:1px solid var(--ink-08);background:#fff;color:var(--ink-40);font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.steps li span{display:block;font-size:11px;margin-bottom:4px}
.steps li.on{border-color:var(--ink);color:var(--ink)}
.steps li.done{color:var(--gain);border-color:rgba(16,185,129,.4)}
.choice{border:0;margin:0 0 20px;padding:0}
.choice legend{font:600 13px/1 var(--body);color:var(--ink-72);margin-bottom:10px}
.choice{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.choice legend{grid-column:1/-1}
.choice-card{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--ink-16);border-radius:12px;padding:16px;cursor:pointer;transition:border-color .2s,background .2s}
.choice-card:has(input:checked){border-color:var(--ink);background:#fafafa}
.choice-card input{margin-top:3px;accent-color:#111}
.choice-card b{display:block;font:700 16px/1.2 var(--display);text-transform:uppercase}
.choice-card em{font-style:normal;font:400 13px/1.4 var(--body);color:var(--ink-72)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;margin-bottom:6px}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}
.field label{font:600 12.5px/1.2 var(--body);color:var(--ink-72)}
.field input,.field select{height:46px;border:1px solid var(--ink-16);border-radius:10px;padding:0 14px;font:400 15px/1 var(--body);background:#fff;color:var(--ink);width:100%}
.field input:focus,.field select:focus{outline:2px solid #111;outline-offset:1px;border-color:#111}
.field input[readonly]{background:#f6f6f7;color:var(--ink-72)}
.field input.sign{font-family:'Brush Script MT','Segoe Script',cursive;font-size:22px}
.err{min-height:20px;color:#b91c1c;font:500 14px/1.4 var(--body);margin:8px 0}
.note-ok{background:#ecfdf3;color:#15803d;border-radius:8px;padding:10px 12px;font:500 14px/1.4 var(--body);margin-bottom:14px}
.auth-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:8px}
.wrap-actions{justify-content:flex-start}
.agr-box{max-height:420px;overflow-y:auto;border:1px solid var(--ink-16);border-radius:12px;padding:20px 22px;background:#fbfbfb}
.agr-box.read{border-color:rgba(16,185,129,.5)}
.agr-hint{margin:10px 0 16px;color:var(--ink-40);font-size:11.5px}
.agr .agr-meta{color:var(--ink-40);font-size:11px;margin-bottom:16px}
.agr h3{font:700 16px/1.2 var(--display);text-transform:uppercase;margin:18px 0 10px}
.agr ol{padding-left:20px;display:flex;flex-direction:column;gap:8px;font:400 14px/1.55 var(--body);color:var(--ink-72)}
.agr ol b{color:var(--ink)}
.agr p{font:400 14px/1.55 var(--body);color:var(--ink-72)}
.agr .todo{background:#fff7ed;color:#9a3412;padding:0 4px;border-radius:3px}
.agr-page .agr h3{font-size:19px}
.checks{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}
.checks label{display:flex;gap:10px;align-items:flex-start;font:400 14px/1.45 var(--body);color:var(--ink)}
.checks input{margin-top:3px;width:16px;height:16px;accent-color:#111}
.gbtn{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;height:50px;border:1px solid var(--ink-16);border-radius:99px;background:#fff;font:600 15px/1 var(--body);color:var(--ink);cursor:pointer;transition:background .2s}
.gbtn:hover{background:#f6f6f7}
.gbtn svg{width:20px;height:20px}
.or{display:flex;align-items:center;gap:12px;margin:20px 0;color:var(--ink-40);font-size:11px}
.or::before,.or::after{content:"";flex:1;height:1px;background:var(--ink-08)}
.acct-dl{display:grid;grid-template-columns:auto 1fr;gap:12px 24px;margin:8px 0 26px;font:400 15px/1.4 var(--body)}
.acct-dl dt{color:var(--ink-40)}
.status{display:inline-block;padding:3px 10px;border-radius:99px;font:600 12px/1.6 var(--body);background:#fff7ed;color:#9a3412}
.status.s-approved,.status.s-active{background:#ecfdf3;color:#15803d}
.status.s-rejected{background:#fef2f2;color:#b91c1c}
.next-box{border-top:1px solid var(--ink-08);padding-top:20px;margin-bottom:22px}
.next-box h3{font:700 15px/1.2 var(--display);text-transform:uppercase;margin-bottom:10px}
.next-box ol{padding-left:20px;display:flex;flex-direction:column;gap:6px;font:400 14.5px/1.5 var(--body);color:var(--ink-72)}
@media (max-width:640px){.grid2,.choice{grid-template-columns:1fr}.auth-actions{justify-content:stretch}.auth-actions .pill{flex:1}}
