/* ============================================================
   ASMX Pro — REBRAND LAYER  ·  "Indigo / Fraunces"
   Loaded AFTER assets/site.css. It changes only the look: every class, id
   and data-attribute that site.js, middleware.js and lib/geo-render.js rely
   on is untouched, so all content, gates, consent and analytics keep working.
   Source of truth for the look: ASMXSandbox landing (.lx) + ASMXMobileApp tokens.
   Fonts: Fraunces (display), Inter (UI/body), JetBrains Mono (labels/data),
   all SIL OFL (assets/fonts/*-OFL.txt), self-hosted WOFF2 subsets (no Google requests,
   matching the cookie policy).
   ============================================================ */
@font-face{font-family:'Fraunces';font-weight:500;font-style:normal;font-display:swap;src:url(fonts/Fraunces_500Medium.woff2) format('woff2')}
@font-face{font-family:'Fraunces';font-weight:500;font-style:italic;font-display:swap;src:url(fonts/Fraunces_500Medium_Italic.woff2) format('woff2')}
@font-face{font-family:'Inter';font-weight:400;font-display:swap;src:url(fonts/Inter_400Regular.woff2) format('woff2')}
@font-face{font-family:'Inter';font-weight:500;font-display:swap;src:url(fonts/Inter_500Medium.woff2) format('woff2')}
@font-face{font-family:'Inter';font-weight:600;font-display:swap;src:url(fonts/Inter_600SemiBold.woff2) format('woff2')}
@font-face{font-family:'Inter';font-weight:700;font-display:swap;src:url(fonts/Inter_700Bold.woff2) format('woff2')}
@font-face{font-family:'JetBrains Mono';font-weight:400;font-display:swap;src:url(fonts/JetBrainsMono_400Regular.woff2) format('woff2')}
@font-face{font-family:'JetBrains Mono';font-weight:500;font-display:swap;src:url(fonts/JetBrainsMono_500Medium.woff2) format('woff2')}
@font-face{font-family:'JetBrains Mono';font-weight:600;font-display:swap;src:url(fonts/JetBrainsMono_600SemiBold.woff2) format('woff2')}

:root{
  /* page + surfaces (landing .lx palette) */
  --page:#05081a; --bg:#0b1028; --panel:#141a3a; --panel-2:#1a2147;
  --bd:rgba(255,255,255,.14); --bd-soft:rgba(255,255,255,.08);
  --white:#ffffff; --tx:#eef0ff; --mut:#9098c4; --faint:#7a82b0;
  /* the old "green" accent variable now carries the brand indigo, so every
     accent in site.css (ticks, numbers, labels, dots) re-themes in one move */
  --green:#8b8cf7; --green-d:#7c7cf5; --green-ink:#0b1028;
  --ind:#6366f1; --ind2:#8b8cf7; --indt:rgba(99,102,241,.16); --indb:rgba(124,124,245,.38);
  --org:#c2410c; --org2:#ea580c;
  --amber:#fdba74; --amber-ink:#2a1405; --red:#ff5a6e;
  --disp:'Fraunces',Georgia,serif; --ui:'Inter',system-ui,-apple-system,Segoe UI,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --ease:cubic-bezier(.2,.8,.2,1);
}

/* ---------- base ---------- */
body{font-family:var(--ui);background:var(--bg);color:var(--tx);font-size:15.5px;line-height:1.6;
  background-image:radial-gradient(1100px 700px at 78% -6%,rgba(99,102,241,.13),transparent 62%),radial-gradient(900px 700px at -10% 38%,rgba(43,58,143,.16),transparent 60%);background-attachment:fixed}
h1,h2,h3{font-family:var(--disp);font-weight:500;text-transform:none!important;letter-spacing:-.02em;line-height:1.06;color:#fff}
.gradtext{background:linear-gradient(120deg,#c7c9ff,#8b8cf7 55%,#6366f1);-webkit-background-clip:text;background-clip:text;color:transparent}
h1 em,h2 em,h3 em{font-style:italic;color:var(--ind2)}
.dot{color:var(--ind2)}
.mono{font-family:var(--mono)}
::selection{background:rgba(99,102,241,.45);color:#fff}
:focus-visible{outline:2px solid #c7c9ff;outline-offset:3px}

/* eyebrow: mono, wide tracking, live dot (the "SECURE INVESTOR ACCESS" treatment) */
.lbl,.eyebrow,.faqs .grp{font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--mut)}
.lbl{display:inline-flex!important;align-items:center;gap:10px}
.lbl::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ind2);box-shadow:0 0 0 3px rgba(139,140,247,.18);flex:none;animation:rb-pulse 2.6s ease-in-out infinite}
.center .lbl,.sec-top.center .lbl{justify-content:center}
@keyframes rb-pulse{50%{transform:scale(1.35);opacity:.6}}
.lead{color:var(--mut);font-size:17.5px;line-height:1.7}

/* ---------- buttons: ONE orange primary, glass secondary, 14px radius like the app ---------- */
.btn{border-radius:14px;font-family:var(--ui);font-weight:700;font-size:15px;letter-spacing:-.005em;padding:14px 24px;transition:transform .2s var(--ease),box-shadow .25s,background .2s,border-color .2s}
.btn::after{background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent)}
.btn-green{color:#fff;background:linear-gradient(180deg,#ea580c,#c2410c);border-color:rgba(255,255,255,.06);
  box-shadow:0 12px 26px -12px rgba(234,88,12,.85),inset 0 1px 0 rgba(255,255,255,.18)}
.btn-green:hover{transform:translateY(-2px);box-shadow:0 18px 36px -12px rgba(234,88,12,.95),inset 0 1px 0 rgba(255,255,255,.24)}
.btn-line{color:#fff;font-weight:600;background:rgba(26,33,71,.7);border-color:var(--bd);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 8px 22px -16px rgba(0,0,0,.8)}
.btn-line:hover{background:rgba(36,44,92,.8);border-color:var(--indb);transform:translateY(-2px)}
.btn:active{transform:scale(.985)}
.btn-lg{padding:17px 34px;font-size:16px}

/* ---------- risk bar ---------- */
.riskbar{background:#070b20;border-top:0;border-bottom:1px solid var(--bd-soft);font-family:var(--mono);font-size:11.5px;letter-spacing:.01em;color:#8a92bf}
.riskbar .d{background:var(--ind2);box-shadow:0 0 0 3px rgba(139,140,247,.18);animation:rb-pulse 2.6s ease-in-out infinite}
.riskbar strong{color:#e4e7ff}
.riskbar a{color:#fff;border-bottom-color:rgba(199,201,255,.45)}

/* ---------- nav ---------- */
header.nav{background:rgba(11,16,40,.66);-webkit-backdrop-filter:blur(20px) saturate(1.3);backdrop-filter:blur(20px) saturate(1.3)}
header.nav.scrolled{background:rgba(8,12,32,.9)}
header.nav::after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.08) 24%,rgba(139,140,247,.35) 50%,rgba(255,255,255,.08) 76%,transparent)}
.nav .logo{height:50px}
.navlinks a{font-family:var(--ui);font-size:13.5px;font-weight:500;color:#c4c8ea;border-radius:10px}
.navlinks a:hover,.navlinks a.on{color:#fff;border-color:var(--bd-soft);background:rgba(99,102,241,.10)}
.nav .login{font-family:var(--ui);color:#dfe2ff}
.nav .right .btn{padding:11px 18px;font-size:14px}
.burger{border-radius:12px;background:rgba(26,33,71,.6);border-color:var(--bd)}
.mobmenu,.ddmenu{background:linear-gradient(180deg,#151b3d,#0f1433);border-color:var(--bd);box-shadow:0 30px 60px -24px rgba(0,0,0,.9)}
.mobmenu a,.ddmenu a{color:#dfe2ff}
.ddt .cv{color:var(--ind2)}

/* ---------- ambient layer: navy gradient + faint masked grid + drifting indigo glow ---------- */
.hero,.cta,.geo-hero{isolation:isolate}
.hero{background:linear-gradient(160deg,#0d1335 0%,#0a0f2a 55%,#070b20 100%);padding:84px 0 110px}
.hero::before,.cta::before,.geo-hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:linear-gradient(rgba(140,150,220,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(140,150,220,.07) 1px,transparent 1px);background-size:38px 38px;
  -webkit-mask-image:radial-gradient(ellipse 70% 80% at 30% 38%,#000,transparent 72%);mask-image:radial-gradient(ellipse 70% 80% at 30% 38%,#000,transparent 72%)}
.hero::after{content:"";position:absolute;z-index:-1;pointer-events:none;width:70vw;aspect-ratio:1;left:-22vw;top:-38vw;border-radius:50%;
  background:radial-gradient(circle,rgba(99,102,241,.34),transparent 66%);filter:blur(40px);animation:rb-drift 24s ease-in-out infinite}
@keyframes rb-drift{50%{transform:translate(24px,-28px)}}
.hero h1{font-size:clamp(2.9rem,5.4vw,4.9rem);line-height:1.02;letter-spacing:-.025em;max-width:12ch}
.hero .stage{z-index:0}
.hero h1[style*="max-width:none"]{font-size:clamp(2.6rem,4.3vw,4rem);line-height:1.04}
.hero .sub{color:#aab1dc;font-size:18px;line-height:1.65}
.hero .reg{font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;color:#6c74a3;line-height:1.8}
.hero .reg b{color:#a3aad6;font-weight:500}

/* product stage: indigo halo + orbit rings instead of the green blob */
.stage .glow,.split .vis .glow{background:radial-gradient(circle,rgba(99,102,241,.42),rgba(99,102,241,.08) 45%,transparent 66%)}
.stage .blob,.split .vis .blob{background:none!important;border:1px solid rgba(139,140,247,.28);border-radius:50%!important;filter:none;opacity:1;animation:rb-spin 60s linear infinite}
.stage .blob::before,.split .vis .blob::before{content:"";position:absolute;inset:11%;border-radius:50%;border:1px dashed rgba(139,140,247,.22)}
.stage .blob::after,.split .vis .blob::after{content:"";position:absolute;top:-4px;left:50%;width:8px;height:8px;border-radius:50%;background:var(--ind2);box-shadow:0 0 14px 3px rgba(139,140,247,.7)}
@keyframes rb-spin{to{transform:rotate(360deg)}}
.phone{border-color:#0c1130;background:#0c1130;box-shadow:0 0 0 1px rgba(139,140,247,.22),0 60px 90px -38px rgba(0,0,0,.95),0 30px 80px -40px rgba(99,102,241,.55)}
.phone::before{background:#0c1130}
.imgframe{border-color:rgba(139,140,247,.25);border-radius:18px;box-shadow:0 0 0 1px rgba(255,255,255,.04),0 50px 90px -40px rgba(0,0,0,.95),0 30px 80px -40px rgba(99,102,241,.5)}
/* desktop1.png includes a Windows taskbar — cropped here; recapture cleanly before launch */
.imgframe img[src*="desktop1"],.imgframe img[src*="desktop2"]{aspect-ratio:1917/905;object-fit:cover;object-position:top}

/* ---------- sections ---------- */
section + section,.sec-line{border-top-color:rgba(255,255,255,.06)}
.sec-h{font-size:clamp(2.3rem,4.6vw,3.7rem);line-height:1.06;max-width:20ch}
.split .tx h2{font-size:clamp(2.1rem,3.8vw,3.3rem);line-height:1.06}
.split .tx p{color:var(--mut)}

/* cards: the app's glass-card recipe (gradient fill, hairline highlight, deep shadow) */
.card,.ccard,.step,.quote,.person,.form,.riskcard,.geo-grid .gc,.doc .box{
  background:linear-gradient(180deg,rgba(20,26,58,.92),rgba(12,17,48,.94));border-color:var(--bd-soft);border-radius:22px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 30px 60px -40px rgba(0,0,0,.9)}
.ccard::before,.step::before,.quote::before{content:"";position:absolute;top:0;left:12%;right:12%;height:1px;background:linear-gradient(90deg,transparent,rgba(199,201,255,.35),transparent);pointer-events:none}
.step,.quote{position:relative}
.ccard:hover{border-color:var(--indb);transform:translateY(-3px);box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 30px 60px -36px rgba(99,102,241,.45)}
.ccard .ic{background:var(--indt);color:#c7c9ff;border-color:var(--indb);border-radius:14px}
.ccard h3{font-size:clamp(1.4rem,1.9vw,1.7rem);letter-spacing:-.015em}
.ccard p{color:var(--mut)}
.go{font-family:var(--ui);color:#fff}
.go .ar{color:var(--ind2)}

/* the full-width accent card becomes an indigo panel with the grid */
.ccard.green{background:linear-gradient(120deg,#2f339a 0%,#4f46e5 55%,#6d6ff2 100%);border-color:rgba(199,201,255,.35);color:#fff;
  box-shadow:0 40px 80px -40px rgba(99,102,241,.8),inset 0 1px 0 rgba(255,255,255,.25)}
.ccard.green::after{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:38px 38px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 70%);mask-image:linear-gradient(90deg,transparent,#000 70%)}
.ccard.green h3,.ccard.green h3 .dot{color:#fff;position:relative;z-index:1}
.ccard.green .btn{position:relative;z-index:1;background:linear-gradient(180deg,#ea580c,#c2410c)!important;color:#fff!important;box-shadow:0 12px 26px -12px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.2)}

/* stats: numbers in mono like the app (MonoNumber, tabular) */
.stat .n{font-family:var(--mono);font-weight:600;letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:#fff}
.stat .n .dot{color:var(--ind2)}
.stat .l{font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--mut)}

/* lists */
.check li{color:#d3d7f5;border-top-color:var(--bd-soft)}
.check li .tk{background:var(--indt);color:#c7c9ff;box-shadow:inset 0 0 0 1px var(--indb)}
.flist .f{border-top-color:var(--bd-soft)}
.flist .f .n,.step .n,.riskcard .n,.frow2 .n{font-family:var(--mono);color:var(--ind2);font-weight:500}
.flist .f h3,.frow2 h3,.doc h3{font-family:var(--ui);font-weight:600;letter-spacing:-.005em;font-size:16px}
.flist .f p{color:var(--mut)}
.step h3{font-size:1.45rem;margin:16px 0 8px}

/* chips */
.chip{font-family:var(--mono);font-size:11.5px;color:#c4c8ea;border-color:var(--bd);background:rgba(255,255,255,.03);border-radius:999px}
.chip.green{color:#c7c9ff;border-color:var(--indb);background:var(--indt)}
.badge{font-family:var(--mono);color:#c7c9ff;border-color:var(--indb);background:var(--indt)}
.badge .d{background:var(--ind2)}

/* quotes */
.quote .qm{font-family:var(--disp);font-style:italic;font-size:3.4rem;color:var(--ind2);line-height:.7}
.quote .body{font-family:var(--disp);font-style:italic;font-size:16.5px;line-height:1.62;color:#c9cdf0;letter-spacing:-.005em}
.quote .by .mg{background:linear-gradient(135deg,#6366f1,#312e81);color:#fff;font-family:var(--mono)}
.quote .by .who small{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}

/* notices: the dashed "read and confirm" box from the investor app */
.notice{border:1px dashed rgba(253,186,116,.45);background:rgba(234,88,12,.06);border-radius:14px}
.notice summary{font-family:var(--mono)!important;letter-spacing:.22em!important;font-size:11px!important}
.notice h3{color:var(--amber)}

/* partners band */
.partners{background:rgba(5,8,26,.5);border-color:var(--bd-soft)}
.pchip{background:#f2f3ff;border-radius:14px;box-shadow:0 14px 30px -18px rgba(0,0,0,.9)}

/* closing CTA */
.cta{background:linear-gradient(180deg,transparent,rgba(13,19,53,.9) 40%,#070b20)}
.cta::before{-webkit-mask-image:radial-gradient(ellipse 60% 70% at 50% 40%,#000,transparent 72%);mask-image:radial-gradient(ellipse 60% 70% at 50% 40%,#000,transparent 72%)}
.cta .glow{background:radial-gradient(circle,rgba(99,102,241,.35),transparent 66%);width:760px;height:520px}
.cta h2{font-size:clamp(2.8rem,7.4vw,6.4rem);line-height:1.0;letter-spacing:-.03em}
.cta p{color:var(--mut)}

/* FAQ */
.faqs details{border-top-color:var(--bd-soft)}
.faqs summary{font-family:var(--ui);font-weight:600;color:#eef0ff}
.faqs summary::after{color:var(--ind2)}
.faqs details p{color:var(--mut)}

/* forms */
.inp,.sel,.ta{background:rgba(5,8,26,.6);border-color:var(--bd);border-radius:14px;font-family:var(--ui)}
.inp:focus,.sel:focus,.ta:focus{border-color:var(--indb);background:rgba(26,33,71,.6);box-shadow:0 0 0 4px rgba(99,102,241,.12)}
.radio label{border-radius:14px}
.form .ttl,.person .nm,.person .ph{font-family:var(--disp);font-weight:500;text-transform:none}
.form .note,.person .role{font-family:var(--mono)}

/* footer */
footer{background:var(--page);border-top-color:var(--bd-soft);color:var(--mut)}
footer .logo{height:44px}
.fh{font-family:var(--mono);font-size:10.5px;letter-spacing:.26em;color:#c4c8ea}
footer a{color:var(--mut)}
footer a:hover{color:#fff}
.flegal{border-top-color:var(--bd-soft)}
.flegal .row{font-family:var(--mono);font-size:11px;letter-spacing:.02em;color:#7a82b0}
.flegal p{color:#5f6795;font-size:11.5px}
.flegal p strong{color:#9098c4}
.flegal p a{color:#9098c4!important;display:inline;padding:0}

/* consent prompt + modals + regional gate (functionality unchanged, look only) */
.consent-modal,.modal{background:rgba(2,6,15,.72)}
.consent-card,.modal .dlg{background:linear-gradient(180deg,#141a3a,#0c1130);border-color:var(--bd);border-radius:22px;box-shadow:0 50px 100px -50px rgba(0,0,0,.95)}
.consent-prompt,.consent-prompt .cclose{font-family:var(--ui)}
.consent-prompt h2{font-family:var(--disp)}
.consent-prompt p b{color:#e4e7ff}
.consent-prompt a{color:#c7c9ff}
.consent-prompt .cbtns{background:#0f1435;box-shadow:0 -14px 14px -6px #0f1435}
.consent-prompt .cstatus{font-family:var(--mono)}
.geo-gate{background:linear-gradient(160deg,#0d1335,#05081a)}
.geo-gate .opt{background:rgba(5,8,26,.55);border-radius:14px}
.geo-gate .opt:has(input:checked){border-color:var(--indb);background:var(--indt)}
.geo-gate .opt:has(input:checked) b{color:#c7c9ff}
.geo-gate .gbar .reg,.geo-gate .fine,.geo-note,.geo-reg{font-family:var(--mono)}
.geo-note{background:#070b20}
.geo-reg{border-color:var(--indb);background:var(--indt)}
.geo-reg .dt{background:var(--ind2);box-shadow:0 0 8px var(--ind2)}

/* bottom scrubbing chart: navy fade, indigo playhead (line colours come from site.js) */
.tchart{background:linear-gradient(to top,rgba(5,8,26,.97),rgba(5,8,26,.6) 60%,rgba(5,8,26,0));border-top-color:var(--bd-soft)}
.tchart .head{background:rgba(139,140,247,.6)}
.tchart .head::after{background:var(--ind2);box-shadow:0 0 10px var(--ind2)}
.tchart .px{font-family:var(--mono);color:#c7c9ff;background:rgba(5,8,26,.8)}

/* entrance motion: the landing's lx-rise */
.reveal{transform:translateY(14px) scale(.985);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.hero .wrap>div:first-child>*{animation:rb-rise .9s var(--ease) both}
.hero .wrap>div:first-child>*:nth-child(2){animation-delay:.08s}
.hero .wrap>div:first-child>*:nth-child(3){animation-delay:.16s}
.hero .wrap>div:first-child>*:nth-child(4){animation-delay:.24s}
.hero .wrap>div:first-child>*:nth-child(n+5){animation-delay:.32s}
.hero .stage{animation:rb-rise 1.1s .2s var(--ease) both}
@keyframes rb-rise{from{opacity:0;transform:translateY(10px)}}
@media(prefers-reduced-motion:reduce){.lbl::before,.riskbar .d,.hero::after,.stage .blob,.split .vis .blob,.hero .wrap>div:first-child>*,.hero .stage{animation:none!important}}

/* ---------- mobile ---------- */
@media(max-width:600px){
  .hero{padding:48px 0 52px}
  .hero h1{font-size:clamp(2.3rem,11vw,3rem);line-height:1.04}
  .hero::after{width:140vw;left:-50vw;top:-70vw}
  .sec-h{font-size:clamp(1.8rem,8vw,2.4rem)}
  .split .tx h2{font-size:clamp(1.75rem,7.6vw,2.3rem)}
  .cta h2{font-size:clamp(2.1rem,10vw,2.8rem)}
  .btn{border-radius:14px;min-height:50px;justify-content:center;flex-shrink:0}
  .hero-cta .btn{flex:0 0 auto}
  .card,.ccard,.step,.quote{border-radius:18px}
  .stage .blob{display:block!important;width:240px;height:240px}
  .split .vis .blob{display:block!important;width:210px;height:210px}
}

/* ---------- remaining old-font references (site.css rules + a few inline styles in pages) ---------- */
.ticker .it,.frow2 .tag,.exlayr-by,.geo-grid .gc .k,.geo-switch label{font-family:var(--mono)}
.pstat-inline .n{font-family:var(--mono);font-weight:600;letter-spacing:-.04em}
.geo-switch select{font-family:var(--ui)}
.ticker{background:#070b20}
.ticker .it::before{background:var(--ind2)}
.frow2 .tag{color:#c7c9ff;border-color:var(--indb)}
.nf .big{font-family:var(--disp)!important;font-weight:500!important;letter-spacing:-.03em!important}
[style*="'Space Mono'"]{font-family:var(--mono)!important}
[style*="'Space Grotesk'"]{font-family:var(--ui)!important}
[style*="'Clash Display'"]{font-family:var(--disp)!important;font-weight:500!important}

/* ---------- regional pages: UK splash panel, gate header ---------- */
.geo-gate .gbar{border-bottom-color:var(--bd-soft)}
.geo-gate .gbar img{height:40px}
.gsplit{background:linear-gradient(180deg,rgba(20,26,58,.92),rgba(12,17,48,.94));border-color:var(--bd);box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 50px 100px -50px rgba(0,0,0,.95)}
.gcol+.gcol{border-color:var(--bd-soft)}
.gcol p{color:var(--mut)}
.geo-landing{position:relative;isolation:isolate}
.geo-hero .glow{background:radial-gradient(circle,rgba(99,102,241,.22),transparent 66%)}

/* ---------- photoreal phone renders (assets carry their own device + perspective) ----------
   Applies only to the four rendered images; flat screenshots elsewhere keep the CSS frame. */
.phone:has(> img[src*="01-ASMX_Dashboard"]),.phone:has(> img[src*="tradeticket"]),
.phone:has(> img[src*="primarymarketaaccess"]),.phone:has(> img[src*="ghost_ai_chat"]){
  border:0!important;background:none!important;border-radius:0!important;box-shadow:none!important;
  width:300px!important;filter:drop-shadow(0 50px 50px rgba(0,0,0,.55)) drop-shadow(0 20px 60px rgba(99,102,241,.28))}
.phone:has(> img[src*="01-ASMX_Dashboard"])::before,.phone:has(> img[src*="tradeticket"])::before,
.phone:has(> img[src*="primarymarketaaccess"])::before,.phone:has(> img[src*="ghost_ai_chat"])::before{display:none}
.phone:has(> img[src*="01-ASMX_Dashboard"]) img,.phone:has(> img[src*="tradeticket"]) img,
.phone:has(> img[src*="primarymarketaaccess"]) img,.phone:has(> img[src*="ghost_ai_chat"]) img{border-radius:0}
/* the renders are already angled: drop the CSS 3D tilt and the inline hero rotations */
.split .vis .phone:has(> img[src*="tradeticket"]),.split .vis .phone:has(> img[src*="ghost_ai_chat"]),
.split .vis .phone:has(> img[src*="primarymarketaaccess"]),.split .vis .phone:has(> img[src*="01-ASMX_Dashboard"]){transform:none!important}
.split .vis:hover .phone{transform:none}
.stage .p-a{transform:translate(-138px,-26px)!important;width:262px!important;z-index:1}
.stage .p-b{transform:translate(138px,26px)!important;width:262px!important;z-index:2;position:absolute}
@media(max-width:1100px){.stage .p-a{transform:translate(-112px,-20px)!important;width:220px!important}.stage .p-b{transform:translate(112px,20px)!important;width:220px!important}}
@media(max-width:600px){
  .phone:has(> img[src*="01-ASMX_Dashboard"]),.phone:has(> img[src*="tradeticket"]),
  .phone:has(> img[src*="primarymarketaaccess"]),.phone:has(> img[src*="ghost_ai_chat"]){width:220px!important}
  .stage .p-a,.hero .stage .phone.p-a{transform:none!important;width:240px!important}
}

/* ---------- home hero: ONE large phone (owner decision 2026-11-04) ---------- */
.hero .stage .p-b{display:none!important}
.hero .stage .p-a{transform:translateY(18px)!important;width:312px!important;position:relative}
@media(max-width:1100px){.hero .stage .p-a{transform:none!important;width:290px!important}}
@media(max-width:600px){.hero .stage .p-a,.hero .stage .phone.p-a{width:250px!important}}

/* ---------- MERJ clients page: inline old-green notice + modal close button ---------- */
.notice[style*="138,231,132"]{border:1px dashed var(--indb)!important;background:var(--indt)!important}
.notice[style*="138,231,132"] h3,.notice[style*="138,231,132"] strong{color:#c7c9ff}
button,input,select,textarea{font-family:inherit}
.modal .x{font-family:var(--ui)}

/* ---------- people monograms (about) + native checkboxes/radios ---------- */
.person .ph{background:linear-gradient(135deg,#6366f1,#312e81);border-color:rgba(199,201,255,.25);color:#fff}
input[type=checkbox],input[type=radio]{accent-color:#7c7cf5}

/* ---------- verification fixes (Ruflo audit 2026-11-04) ---------- */
/* reduced motion: no pre-reveal offset (site.css intent) */
@media(prefers-reduced-motion:reduce){.reveal{transform:none!important}}
/* mobile: keep site.css's smaller CTA glow */
@media(max-width:600px){.cta .glow{width:380px;height:300px}}
/* compliance text legibility: WCAG AA contrast + original sizes */
.riskbar{font-size:12px}
.hero .reg{font-size:12px;color:#8f97c6}
.flegal p{color:#7f87b5}
.flegal .row{font-size:12px;color:#8f97c6}
.lbl{font-size:11px}
/* browsers without :has(): drop the CSS frame so renders never get a double phone */
@supports not selector(:has(*)){.phone{border:0;background:none;box-shadow:none;border-radius:0}.phone::before{display:none}.phone img{border-radius:0}.split .vis .phone{transform:none}}

/* Video pop-up (assets/video-modal.js) */
.vmodal{position:fixed;inset:0;margin:auto;height:fit-content;padding:0;border:1px solid rgba(139,140,247,.45);border-radius:18px;background:#0b1028;width:min(960px,calc(100vw - 32px));max-width:none;overflow:visible;box-shadow:0 30px 90px rgba(0,0,0,.6),0 0 0 6px rgba(99,102,241,.12)}
.vmodal::backdrop{background:rgba(3,5,18,.82);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.vmodal-frame{position:relative;aspect-ratio:16/9;border-radius:17px;overflow:hidden;background:#000}
.vmodal-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vmodal-x{position:absolute;top:-46px;right:0;width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(20,26,58,.9);color:#fff;font-size:24px;line-height:1;cursor:pointer;display:grid;place-items:center}
.vmodal-x:hover,.vmodal-x:focus-visible{background:#6366f1;border-color:#8b8cf7;outline:none}
