@font-face{font-family:"League Spartan";src:url("/assets/fonts/league-spartan-latin.woff2") format("woff2");font-weight:500 800;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("/assets/fonts/inter-latin.woff2") format("woff2");font-weight:400 600;font-style:normal;font-display:swap}
:root{
  --paper:#f8f5ff; --ink:#1c0a5c; --card:#ffffff; --line:#ddd2ff; --muted:#5b4b96;
  --violet:#6b3dff; --violet-text:#5a2ee6; --lilac:#c9b8ff; --deep:#6b3dff; --deeper:#1c0a5c; --tint:#efe9ff;
  --display:"League Spartan","Jost","Poppins",system-ui,sans-serif;
  --text:"Inter","DM Sans",system-ui,sans-serif;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){--paper:#170a45;--ink:#f3eeff;--card:#22136a;--line:#3b2b91;--muted:#bdb0ec;--violet-text:#b7a2ff;--tint:#1f1060;}
}
:root[data-theme="dark"]{--paper:#170a45;--ink:#f3eeff;--card:#22136a;--line:#3b2b91;--muted:#bdb0ec;--violet-text:#b7a2ff;--tint:#1f1060;}
*,*::before,*::after{box-sizing:inherit}
html{background:#6b3dff;scroll-padding-top:calc(84px + env(safe-area-inset-top,0px));-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--text);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
h1,h2,h3{font-family:var(--display);font-weight:700;letter-spacing:-.02em;margin:0;line-height:1.02}
p{margin:0}
a{color:inherit}
:focus-visible{outline:3px solid #6b3dff;outline-offset:3px;border-radius:6px}
.site-header :focus-visible,.hero :focus-visible,.page-hero :focus-visible,.on-violet :focus-visible,.on-plum :focus-visible,.pub :focus-visible{outline-color:#fff}
.skip{position:absolute;left:12px;top:-60px;background:#fff;color:#1c0a5c;padding:10px 14px;border-radius:8px;z-index:100;text-decoration:none}
.skip:focus{top:calc(10px + env(safe-area-inset-top,0px))}
.wrap{width:min(1180px,100% - 48px);margin-inline:auto;position:relative;z-index:1}

/* ---------- patterns (decorative layers) ---------- */
.pat{position:absolute;inset:0;pointer-events:none;z-index:0}
.pat-dots{background-image:radial-gradient(rgba(255,255,255,.26) 1.7px,transparent 2px);background-size:28px 28px;-webkit-mask-image:linear-gradient(115deg,transparent 30%,#000 90%);mask-image:linear-gradient(115deg,transparent 30%,#000 90%)}
.pat-dots-dark{background-image:radial-gradient(rgba(107,61,255,.22) 1.7px,transparent 2px);background-size:28px 28px;-webkit-mask-image:linear-gradient(200deg,#000 0%,transparent 55%);mask-image:linear-gradient(200deg,#000 0%,transparent 55%)}
.pat-rings{background-image:repeating-radial-gradient(circle at 100% 0,transparent 0 34px,rgba(255,255,255,.16) 34px 36px)}
.pat-rings-left{background-image:repeating-radial-gradient(circle at 0 100%,transparent 0 34px,rgba(255,255,255,.14) 34px 36px)}
.pat-plus{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44'%3E%3Cpath d='M22 15v14M15 22h14' stroke='%23c9b8ff' stroke-opacity='.4' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")}
.pat-plus-light{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44'%3E%3Cpath d='M22 15v14M15 22h14' stroke='%236b3dff' stroke-opacity='.22' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");-webkit-mask-image:linear-gradient(90deg,transparent 40%,#000);mask-image:linear-gradient(90deg,transparent 40%,#000)}
.pat-stripes{background-image:repeating-linear-gradient(135deg,rgba(28,10,92,.09) 0 2px,transparent 2px 18px)}
.pat-scallop{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='24'%3E%3Cpath d='M0 24a24 24 0 0 1 48 0' fill='none' stroke='%23ffffff' stroke-opacity='.2' stroke-width='2'/%3E%3C/svg%3E");-webkit-mask-image:linear-gradient(0deg,#000,transparent 70%);mask-image:linear-gradient(0deg,#000,transparent 70%)}
.pat-discs{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Ccircle cx='30' cy='34' r='13' fill='%23ffffff' fill-opacity='.14'/%3E%3Ccircle cx='108' cy='96' r='7' fill='%23c9b8ff' fill-opacity='.5'/%3E%3Ccircle cx='58' cy='128' r='4' fill='%23ffffff' fill-opacity='.4'/%3E%3Ccircle cx='140' cy='22' r='5' fill='%23ffffff' fill-opacity='.3'/%3E%3C/svg%3E")}
.pat-discs{-webkit-mask-image:linear-gradient(90deg,transparent 35%,#000);mask-image:linear-gradient(90deg,transparent 35%,#000)}
.bigdisc{position:absolute;border-radius:50%;pointer-events:none;z-index:0}

/* ---------- header ---------- */
.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:#6b3dff;color:#fff;border-bottom:1px solid rgba(255,255,255,.2)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:76px;gap:20px}
.brand img{height:50px;width:auto}
.nav{display:flex;align-items:center;gap:6px}
.nav a{font-family:var(--display);font-weight:600;font-size:18px;text-decoration:none;color:#f3efff;padding:8px 14px;border-radius:999px;letter-spacing:-.01em;transition:background .2s}
.nav a:hover,.nav a[aria-current="page"]{color:#fff;background:rgba(255,255,255,.14)}
.nav .btn{margin-left:10px;color:#fff;background:var(--violet)}
.nav .btn:hover{background:#7d55ff}
.menu-btn{display:none;background:none;border:1px solid rgba(255,255,255,.35);color:#fff;border-radius:999px;padding:9px 16px;font:600 16px var(--display);cursor:pointer}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--display);font-weight:700;font-size:19px;letter-spacing:-.01em;text-decoration:none;border-radius:999px;padding:14px 26px;border:2px solid transparent;cursor:pointer;transition:transform .18s ease,background .18s ease,box-shadow .18s ease}
.btn:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(28,10,92,.28)}
.btn-violet{background:var(--violet);color:#fff}
.btn-violet:hover{background:#7d55ff}
.btn-white{background:#fff;color:#1c0a5c}
.btn-line{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
.btn-line:hover{border-color:#fff}
.btn-deep{background:#6b3dff;color:#fff}
.btn-small{font-size:17px;padding:10px 20px}

/* ---------- routes / sections ---------- */
[data-route]{display:none}
[data-route].active{display:block}
.section{padding:104px 0;position:relative;overflow:hidden}
.on-deep{background:#6b3dff;color:#fff}
.on-violet{background:var(--violet);color:#fff}
.on-lilac{background:var(--lilac);color:#1c0a5c}
.on-paper{background:var(--paper);color:var(--ink)}
.on-card{background:var(--card);color:var(--ink);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.h2{font-size:clamp(2.1rem,4.4vw,3.6rem)}
.lede{font-size:1.15rem;max-width:56ch}
.muted{color:var(--muted)}
.on-deep .muted{color:#cfc3f5}
.on-violet .muted{color:#ece6ff}
.on-lilac .muted{color:#3a2a8a}

.ph{background:rgba(201,184,255,.6);color:#1c0a5c;border-radius:5px;padding:0 .22em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.on-deep .ph,.on-violet .ph{background:var(--lilac)}

/* ---------- scroll reveal ---------- */
.js .reveal{opacity:0;translate:0 30px;transition:opacity .6s ease var(--d,0s),translate .7s cubic-bezier(.2,.8,.2,1) var(--d,0s),transform .25s ease,box-shadow .25s ease}
.js .reveal.in{opacity:1;translate:0 0}

/* ---------- hero ---------- */
.hero{background:#6b3dff;color:#fff;padding:72px 0 96px;overflow:hidden;position:relative}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;min-height:560px}
.hero h1{font-size:clamp(3rem,7vw,6rem);font-weight:800;line-height:.94;letter-spacing:-.03em}
.hero p.sub{margin-top:26px;font-size:1.2rem;color:#f3efff;max-width:50ch}
.hero .actions{margin-top:36px;display:flex;gap:14px;flex-wrap:wrap}
.slots{position:relative;height:520px;max-width:460px;width:100%;margin-inline:auto}
.slots::before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;background:var(--violet);right:-40px;top:40px;z-index:0;box-shadow:inset 0 0 0 26px rgba(255,255,255,.06),inset 0 0 0 54px rgba(255,255,255,.05)}
.slot{position:absolute;z-index:1;width:min(310px,78%);height:130px;border-radius:24px;padding:18px 20px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 18px 40px rgba(20,6,70,.35)}
.slot h3{font-size:26px;font-weight:700}
.slot .pill{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;font:600 14px var(--text);padding:5px 12px;border-radius:999px;background:rgba(28,10,92,.16)}
.slot .pill i{width:8px;height:8px;border-radius:50%;background:currentColor;display:block}
.slot .mini{position:absolute;right:18px;top:14px;width:50px;height:100px;border:2px solid currentColor;border-radius:12px;opacity:.9}
.slot .mini::after{content:"";position:absolute;background:currentColor;opacity:.9}
.mini.banner::after{left:6px;right:6px;bottom:6px;height:14px;border-radius:5px}
.mini.inter::after{inset:6px;border-radius:7px;opacity:.35}
.mini.reward::after{left:50%;top:50%;width:0;height:0;background:none;border-left:15px solid currentColor;border-top:9px solid transparent;border-bottom:9px solid transparent;transform:translate(-30%,-50%)}
.mini.native::after{left:6px;right:6px;top:36px;height:30px;border-radius:5px;opacity:.5}
.s1{top:0;left:6%;background:#fff;color:#1c0a5c;transform:rotate(-4deg)}
.s2{top:130px;right:0;background:var(--lilac);color:#1c0a5c;transform:rotate(3deg)}
.s3{top:262px;left:0;background:#fff;color:#1c0a5c;transform:rotate(-2deg)}
.s4{top:394px;right:6%;background:#4a25c8;color:#fff;border:1px solid rgba(255,255,255,.3);transform:rotate(4deg)}
@media (prefers-reduced-motion:no-preference){
  .slot{animation:drop .7s cubic-bezier(.2,.8,.2,1) both,float 5.5s ease-in-out 1.2s infinite}
  .s2{animation-delay:.12s,1.6s}.s3{animation-delay:.24s,2.1s}.s4{animation-delay:.36s,2.6s}
  .slot .pill{animation:reserve .4s ease both}
  .s1 .pill{animation-delay:1s}.s2 .pill{animation-delay:1.15s}.s3 .pill{animation-delay:1.3s}.s4 .pill{animation-delay:1.45s}
  .slot .pill i{animation:blink 2s ease-in-out infinite}
  .slots::before{animation:breathe 7s ease-in-out infinite}
  .slot:hover{animation-play-state:paused,paused;transform:rotate(0deg) scale(1.04);transition:transform .25s}
}
@keyframes drop{from{opacity:0;translate:0 -36px}to{opacity:1;translate:0 0}}
@keyframes float{0%,100%{translate:0 0}50%{translate:0 -10px}}
@keyframes reserve{from{opacity:0;scale:.6}to{opacity:1;scale:1}}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.25}}
@keyframes breathe{0%,100%{scale:1}50%{scale:1.05}}

/* ---------- compare ---------- */
.compare{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.compare .h2{max-width:14ch}
.chart-card{background:#1c0a5c;border-radius:28px;padding:26px;color:#fff;box-shadow:0 24px 60px rgba(28,10,92,.4)}
.toggle{display:inline-flex;background:rgba(255,255,255,.12);border-radius:999px;padding:5px;gap:4px}
.toggle button{font:600 17px var(--display);color:#e0d7ff;background:none;border:0;border-radius:999px;padding:10px 20px;cursor:pointer;transition:background .2s}
.toggle button[aria-pressed="true"]{background:#fff;color:#1c0a5c}
.chart{width:100%;height:auto;margin-top:18px}
.chart text{font:500 13px var(--text);fill:#bdb0ec}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:8px}
.facts div{border-top:1px solid rgba(255,255,255,.22);padding-top:12px}
.facts b{display:block;font:600 14px var(--text);color:#bdb0ec;margin-bottom:4px}
.facts span{font:700 20px/1.15 var(--display);letter-spacing:-.01em}
.note{font-size:14px;margin-top:16px;color:#bdb0ec}

/* ---------- stats ---------- */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.stat{padding:8px 32px;border-left:1px solid var(--line)}
.stat:first-child{border-left:0;padding-left:0}
.stat b{display:block;font:800 clamp(2.6rem,5vw,4.2rem)/1 var(--display);letter-spacing:-.03em}
.stat>span{display:block;margin-top:10px;color:var(--muted);max-width:26ch}

/* ---------- steps ---------- */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px;counter-reset:s}
.step{background:var(--tint);border:1px solid var(--line);border-radius:26px;padding:30px;counter-increment:s;position:relative;overflow:hidden}
.step:nth-child(2){border-radius:26px 26px 26px 80px}
.step:nth-child(3){border-radius:26px 80px 26px 26px}
.step::before{content:counter(s);display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--violet);color:#fff;font:700 21px var(--display);margin-bottom:20px;transition:transform .5s cubic-bezier(.3,1.6,.5,1)}
.step::after{content:"";position:absolute;right:-30px;bottom:-30px;width:120px;height:120px;border-radius:50%;border:2px solid var(--violet);opacity:.18;box-shadow:0 0 0 16px rgba(107,61,255,.12),0 0 0 32px rgba(107,61,255,.07);transition:transform .5s ease,opacity .3s}
.step:hover{transform:translateY(-8px);box-shadow:0 20px 40px rgba(107,61,255,.22)}
.step:hover::before{transform:rotate(360deg) scale(1.12)}
.step:hover::after{transform:scale(1.35);opacity:.32}
.step h3{font-size:1.7rem;line-height:1.1;margin-bottom:10px}
.step p{color:var(--muted)}

/* ---------- archive ---------- */
.archive{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.rings{position:relative;aspect-ratio:1;max-width:400px;width:100%;margin-inline:auto}
.rings i{position:absolute;border-radius:50%;inset:0;border:2px solid var(--lilac);opacity:.9}
.rings i:nth-child(2){inset:14%;border-color:#fff;opacity:.7}
.rings i:nth-child(3){inset:28%;border-color:var(--lilac)}
.rings i:nth-child(4){inset:42%;background:var(--violet);border:0;opacity:1;box-shadow:0 0 0 10px rgba(107,61,255,.35)}
.rings .orbit{position:absolute;inset:0;border-radius:50%}
.rings .orbit em{position:absolute;left:50%;top:-8px;width:18px;height:18px;margin-left:-9px;border-radius:50%;background:#fff}
@media (prefers-reduced-motion:no-preference){
  .rings .orbit{animation:spin 14s linear infinite}
  .rings i:nth-child(4){animation:pulse 3s ease-in-out infinite}
}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes pulse{0%,100%{box-shadow:0 0 0 10px rgba(107,61,255,.35)}50%{box-shadow:0 0 0 22px rgba(107,61,255,.12)}}

/* ---------- services ---------- */
.services{margin-top:44px;border-top:1px solid var(--line)}
.svc{display:grid;grid-template-columns:.8fr 1.2fr;gap:32px;padding:26px 18px;border-bottom:1px solid var(--line);border-radius:18px;transition:background .25s,padding-left .25s}
.svc:hover{background:var(--tint);padding-left:30px}
.svc h3{font-size:1.7rem}
.svc p{color:var(--muted);max-width:60ch}

/* ---------- split / cta ---------- */
.split{display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap}
.cta h2{font-size:clamp(2.4rem,5.6vw,4.8rem);max-width:16ch}
.cta .actions{margin-top:30px;display:flex;gap:14px;flex-wrap:wrap}

/* ---------- inner pages ---------- */
.page-hero{background:#6b3dff;color:#fff;padding:88px 0 72px;position:relative;overflow:hidden}
.page-hero h1{font-size:clamp(2.8rem,6vw,5rem);font-weight:800;max-width:18ch}
.page-hero p{margin-top:22px;font-size:1.15rem;color:#f3efff;max-width:58ch}
.two{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.checks{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:14px}
.checks li{display:grid;grid-template-columns:28px 1fr;gap:12px}
.checks li::before{content:"";width:22px;height:22px;border-radius:50%;margin-top:3px;background:var(--card);box-shadow:inset 0 0 0 6px var(--violet)}
.formats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:40px}
.format{border-radius:22px;padding:24px;min-height:220px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}
.format>*{position:relative;z-index:1}
.format::before{content:"";position:absolute;inset:0;opacity:.7;transition:background-position .8s ease,transform .8s ease}
.format:hover{transform:translateY(-8px) rotate(-1deg);box-shadow:0 22px 44px rgba(107,61,255,.28)}
.format:hover::before{background-position:40px 40px}
.format:nth-child(1){background:var(--violet);color:#fff}
.format:nth-child(1)::before{background-image:radial-gradient(rgba(255,255,255,.3) 1.7px,transparent 2px);background-size:22px 22px}
.format:nth-child(2){background:var(--lilac);color:#1c0a5c}
.format:nth-child(2)::before{background-image:repeating-linear-gradient(135deg,rgba(28,10,92,.1) 0 2px,transparent 2px 14px)}
.format:nth-child(3){background:#6b3dff;color:#fff}
.format:nth-child(3)::before{background-image:repeating-radial-gradient(circle at 100% 100%,transparent 0 22px,rgba(255,255,255,.14) 22px 24px)}
.format:nth-child(4){background:var(--tint);color:var(--ink);border:1px solid var(--line)}
.format:nth-child(4)::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36'%3E%3Cpath d='M18 11v14M11 18h14' stroke='%236b3dff' stroke-opacity='.35' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")}
.format h3{font-size:1.6rem}
.format p{font-size:.98rem}
.table-wrap{overflow-x:auto;margin-top:36px;border:1px solid var(--line);border-radius:22px;background:var(--card)}
table{border-collapse:collapse;width:100%;min-width:560px}
th,td{text-align:left;padding:18px 22px;border-bottom:1px solid var(--line);vertical-align:top}
tr:last-child td,tr:last-child th{border-bottom:0}
thead th{font:700 19px var(--display);background:var(--tint)}
thead th:last-child{background:var(--violet);color:#fff}
tbody th{font:600 17px var(--text);color:var(--muted);width:24%}
tbody tr{transition:background .2s}
tbody tr:hover{background:var(--tint)}
details{border-bottom:1px solid var(--line);padding:20px 0}
details:first-of-type{border-top:1px solid var(--line)}
summary{cursor:pointer;font:700 1.45rem var(--display);letter-spacing:-.01em;list-style:none;display:flex;justify-content:space-between;gap:20px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-size:1.8rem;line-height:1;color:var(--violet-text);transition:transform .25s}
details[open] summary::after{content:"\2212"}
details p{margin-top:12px;color:var(--muted);max-width:64ch}

/* ---------- cases ---------- */
.draft{background:var(--lilac);color:#1c0a5c;border-radius:14px;padding:14px 18px;font-size:15px;margin-bottom:32px}
.cases{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.case{border-radius:28px;padding:30px;display:flex;flex-direction:column;gap:22px;min-height:440px;justify-content:space-between;position:relative;overflow:hidden}
.case>*{position:relative;z-index:1}
.case::before{content:"";position:absolute;inset:0;opacity:.8;transition:transform .8s ease}
.case:hover{transform:translateY(-8px) rotate(-1deg);box-shadow:0 26px 50px rgba(107,61,255,.3)}
.case:hover::before{transform:scale(1.15) rotate(3deg)}
.case:nth-child(1){background:var(--violet);color:#fff}
.case:nth-child(1)::before{background-image:repeating-radial-gradient(circle at 100% 0,transparent 0 30px,rgba(255,255,255,.16) 30px 32px)}
.case:nth-child(2){background:#6b3dff;color:#fff}
.case:nth-child(2)::before{background-image:radial-gradient(rgba(255,255,255,.22) 1.7px,transparent 2px);background-size:24px 24px}
.case:nth-child(3){background:var(--tint);border:1px solid var(--line);color:var(--ink)}
.case:nth-child(3)::before{background-image:repeating-linear-gradient(135deg,rgba(107,61,255,.1) 0 2px,transparent 2px 16px)}
.case .tag{align-self:flex-start;font:600 14px var(--text);border:1px solid currentColor;border-radius:999px;padding:3px 12px;opacity:.9}
.case h3{font-size:1.75rem;line-height:1.05}
.case .big{font:800 clamp(3rem,5vw,4.4rem)/1 var(--display);letter-spacing:-.03em}
.case dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:6px 16px;font-size:15px}
.case dt{opacity:.8}.case dd{margin:0}
.case .ph{color:#1c0a5c;background:var(--lilac)}

/* ---------- contact ---------- */
.contact{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px}
form{display:grid;gap:18px}
.field{display:grid;gap:6px}
label{font:600 15px var(--text)}
input,select,textarea{font:400 17px var(--text);color:var(--ink);background:var(--card);border:1.5px solid var(--line);border-radius:14px;padding:13px 15px;width:100%;transition:border-color .2s,box-shadow .2s}
textarea{min-height:140px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--violet);outline:none;box-shadow:0 0 0 3px rgba(107,61,255,.28)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.status{min-height:1.4em;font-size:15px;color:var(--muted)}
.ways{display:grid;gap:22px;margin-top:30px}
.ways b{display:block;font:700 1.3rem var(--display)}
.ways a{color:var(--violet-text);font-weight:600}

/* ---------- footer ---------- */
.site-footer{background:#6b3dff;color:#fff;padding:72px 0 48px;border-top:1px solid rgba(255,255,255,.14);position:relative;overflow:hidden}
.foot{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px}
.foot img{height:88px;width:auto}
.foot p{color:#cfc3f5;margin-top:16px;max-width:34ch}
.foot h4{font:700 19px var(--display);margin:0 0 12px}
.foot a{display:block;color:#e6dfff;text-decoration:none;padding:5px 0}
.foot a:hover{color:#fff;text-decoration:underline}
.legal{margin-top:48px;padding-top:22px;border-top:1px solid rgba(255,255,255,.16);color:#bdb0ec;font-size:14px}


/* ---------- results strip ---------- */
.results{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:40px}
.res{display:block;padding:8px 28px;border-left:1px solid var(--line);text-decoration:none;color:inherit;transition:transform .25s ease}
.res:first-child{border-left:0;padding-left:0}
.res b{display:block;font:800 clamp(2.4rem,4.2vw,3.8rem)/1 var(--display);letter-spacing:-.03em}
.res>span{display:block;margin-top:10px;color:var(--muted);max-width:22ch}
.res em{font-style:normal;display:block;margin-top:8px;font:700 18px var(--display);color:var(--violet-text)}
.res:hover{transform:translateY(-6px)}

/* ---------- client marquee ---------- */
.marquee{overflow:hidden;margin-top:18px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.track{display:flex;gap:14px;width:max-content;padding:8px 0}
.client{display:inline-flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:16px 28px;font:700 24px var(--display);letter-spacing:-.01em;white-space:nowrap;color:var(--ink);box-shadow:0 6px 18px rgba(107,61,255,.1);transition:transform .2s,background .2s}
.client::before{content:"";width:12px;height:12px;border-radius:50%;background:var(--violet)}
.client:nth-child(3n+2)::before{background:var(--lilac)}
.client:nth-child(3n)::before{background:var(--deep)}
.client:hover{transform:translateY(-4px);background:var(--tint)}
.more{margin-top:22px;color:var(--muted);font-size:1.05rem}
@media (prefers-reduced-motion:no-preference){
  .track{animation:marq 50s linear infinite}
  .marquee.rev .track{animation-direction:reverse;animation-duration:56s}
  .marquee:hover .track{animation-play-state:paused}
}
@media (prefers-reduced-motion:reduce){.track{flex-wrap:wrap;width:auto;justify-content:flex-start}.marquee{-webkit-mask-image:none;mask-image:none}}
@keyframes marq{to{transform:translateX(-50%)}}

/* ---------- case panels ---------- */
.nosclip{overflow:visible}
.stack{display:grid;gap:28px}
.cp{position:sticky;top:calc(96px + var(--i,0) * 14px);border-radius:34px;padding:52px;display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;min-height:460px;overflow:hidden;box-shadow:0 -12px 40px rgba(28,10,92,.14)}
.cp:nth-child(even){grid-template-columns:.95fr 1.05fr}
.cp:nth-child(even) .cp-text{order:2}
.cp>*{position:relative;z-index:1}
.cp::before{content:"";position:absolute;inset:-10%;z-index:0;transition:transform 1.2s ease}
.cp:hover::before{transform:scale(1.08) rotate(2deg)}
.industry{display:inline-block;font:600 14px var(--text);border:1px solid currentColor;border-radius:999px;padding:4px 14px;margin-bottom:22px}
.cp h2{font-size:clamp(2.6rem,5vw,4.4rem);font-weight:800;letter-spacing:-.03em}
.cp h3{font-size:clamp(1.3rem,2.2vw,1.8rem);margin-top:12px;font-weight:600;letter-spacing:-.01em;line-height:1.1}
.cp p{margin-top:20px;max-width:52ch}
.num{display:block;font:800 clamp(3.6rem,8vw,6.8rem)/.95 var(--display);letter-spacing:-.04em}
.lbl{display:block;font:700 22px var(--display);margin-top:8px}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.chip{border-radius:999px;padding:9px 18px;font:500 15px var(--text);background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.38)}
.js .chip{opacity:0;translate:-18px 0;transition:opacity .5s ease calc(.4s + var(--k,0) * .12s),translate .5s cubic-bezier(.2,.8,.2,1) calc(.4s + var(--k,0) * .12s)}
.js .in .chip{opacity:1;translate:0 0}
.cp1{background:var(--violet);color:#fff}
.cp1::before{background-image:repeating-radial-gradient(circle at 100% 0,transparent 0 34px,rgba(255,255,255,.16) 34px 36px)}
.cp2{background:#6b3dff;color:#fff}
.cp2::before{background-image:radial-gradient(rgba(255,255,255,.2) 1.7px,transparent 2px);background-size:26px 26px}
.cp3{background:var(--lilac);color:#1c0a5c}
.cp3::before{background-image:repeating-linear-gradient(135deg,rgba(28,10,92,.09) 0 2px,transparent 2px 18px)}
.cp3 .chip{background:rgba(255,255,255,.6);border-color:rgba(28,10,92,.22)}
.cp4{background:var(--tint);color:var(--ink);border:1px solid var(--line)}
.cp4::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44'%3E%3Cpath d='M22 15v14M15 22h14' stroke='%236b3dff' stroke-opacity='.28' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")}
.cp4 .chip{background:var(--card);border-color:var(--line)}
.gauge{display:flex;align-items:center;gap:18px;margin-top:26px}
.gauge .ring{position:relative;width:132px;height:132px;flex:none}
.gauge svg{width:100%;height:100%}
.gauge .arc{stroke-dasharray:326.7;stroke-dashoffset:32.7}
.js .gauge .arc{stroke-dashoffset:326.7;transition:stroke-dashoffset 1.5s cubic-bezier(.2,.8,.2,1) .3s}
.js .in .gauge .arc{stroke-dashoffset:32.7}
.gauge .pct{position:absolute;inset:0;display:grid;place-items:center;font:800 28px var(--display)}
.gauge .gl{font:700 20px/1.15 var(--display);max-width:14ch}

/* ===== v4 overrides: brand violet #6b3dff + lilac #c9b8ff ===== */
.nav .btn{background:#fff;color:#1c0a5c}
.nav .btn:hover{background:var(--lilac)}
.nav a:hover,.nav a[aria-current="page"]{background:rgba(255,255,255,.2)}
.btn-line-dark{background:transparent;color:#1c0a5c;border-color:rgba(28,10,92,.45)}
.btn-line-dark:hover{border-color:#1c0a5c}
.slots::before{background:rgba(255,255,255,.16);box-shadow:inset 0 0 0 26px rgba(255,255,255,.08),inset 0 0 0 54px rgba(255,255,255,.06)}
.s3{background:var(--tint);color:#1c0a5c}
.s4{background:#fff;color:#1c0a5c;border:0}
.chart-card{background:#fff;color:#1c0a5c;box-shadow:0 24px 60px rgba(107,61,255,.4)}
.toggle{background:var(--tint)}
.toggle button{color:#5b4b96}
.toggle button[aria-pressed="true"]{background:var(--violet);color:#fff}
.chart text{fill:#5b4b96}
.facts div{border-top:1px solid var(--line)}
.facts b,.note{color:#5b4b96}
.on-lilac .compare .lede{color:#2b1c78}
.rings i:nth-child(4){background:#fff;box-shadow:0 0 0 10px rgba(255,255,255,.28)}
@keyframes pulse{0%,100%{box-shadow:0 0 0 10px rgba(255,255,255,.28)}50%{box-shadow:0 0 0 24px rgba(255,255,255,.1)}}
.format:nth-child(3){background:var(--tint);color:var(--ink);border:1px solid var(--line)}
.format:nth-child(3)::before{background-image:repeating-radial-gradient(circle at 100% 100%,transparent 0 22px,rgba(107,61,255,.2) 22px 24px)}
.format:nth-child(4){background:var(--violet);color:#fff;border:0}
.format:nth-child(4)::before{background-image:radial-gradient(rgba(255,255,255,.32) 1.7px,transparent 2px);background-size:20px 20px}
.cp2{background:var(--tint);color:var(--ink);border:1px solid var(--line)}
.cp2::before{background-image:radial-gradient(rgba(107,61,255,.24) 1.8px,transparent 2px);background-size:26px 26px}
.cp2 .chip{background:#fff;border-color:var(--line)}
.cp2 svg circle:first-child{stroke:#ddd2ff}
.cp2 .arc{stroke:#6b3dff}
.cp4{background:var(--violet);color:#fff;border:0}
.cp4::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44'%3E%3Cpath d='M22 15v14M15 22h14' stroke='%23ffffff' stroke-opacity='.4' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")}
.cp4 .chip{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.4)}

/* more patterns */
.m-r{-webkit-mask-image:linear-gradient(90deg,transparent 30%,#000);mask-image:linear-gradient(90deg,transparent 30%,#000)}
.m-l{-webkit-mask-image:linear-gradient(270deg,transparent 30%,#000);mask-image:linear-gradient(270deg,transparent 30%,#000)}
.m-b{-webkit-mask-image:linear-gradient(0deg,#000 0,transparent 55%);mask-image:linear-gradient(0deg,#000 0,transparent 55%)}
.m-t{-webkit-mask-image:linear-gradient(180deg,#000 0,transparent 55%);mask-image:linear-gradient(180deg,#000 0,transparent 55%)}
.pat-rings-v{background-image:repeating-radial-gradient(circle at 100% 0,transparent 0 34px,rgba(107,61,255,.22) 34px 36px)}
.pat-stripes-v{background-image:repeating-linear-gradient(135deg,rgba(107,61,255,.16) 0 3px,transparent 3px 20px)}
.pat-stripes-w{background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.2) 0 3px,transparent 3px 20px)}
.pat-waves{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='26'%3E%3Cpath d='M0 13q20-16 40 0t40 0' fill='none' stroke='%23ffffff' stroke-opacity='.32' stroke-width='2'/%3E%3C/svg%3E")}
.pat-waves-v{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='26'%3E%3Cpath d='M0 13q20-16 40 0t40 0' fill='none' stroke='%236b3dff' stroke-opacity='.3' stroke-width='2'/%3E%3C/svg%3E")}
.pat-chevron-v{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='24'%3E%3Cpath d='M0 20l20-14 20 14' fill='none' stroke='%236b3dff' stroke-opacity='.26' stroke-width='2'/%3E%3C/svg%3E")}
.pat-checker-v{background-image:conic-gradient(rgba(107,61,255,.1) 25%,transparent 0 50%,rgba(107,61,255,.1) 0 75%,transparent 0);background-size:44px 44px}
.pat-grid-v{background-image:linear-gradient(rgba(107,61,255,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(107,61,255,.16) 1px,transparent 1px);background-size:56px 56px}
.pat-discs-v{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Ccircle cx='30' cy='34' r='13' fill='%236b3dff' fill-opacity='.2'/%3E%3Ccircle cx='108' cy='96' r='7' fill='%236b3dff' fill-opacity='.35'/%3E%3Ccircle cx='58' cy='128' r='4' fill='%236b3dff' fill-opacity='.4'/%3E%3Ccircle cx='140' cy='22' r='5' fill='%236b3dff' fill-opacity='.35'/%3E%3C/svg%3E");-webkit-mask-image:linear-gradient(90deg,transparent 30%,#000);mask-image:linear-gradient(90deg,transparent 30%,#000)}
.pat-scallop-v{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='24'%3E%3Cpath d='M0 24a24 24 0 0 1 48 0' fill='none' stroke='%236b3dff' stroke-opacity='.22' stroke-width='2'/%3E%3C/svg%3E");-webkit-mask-image:linear-gradient(0deg,#000,transparent 60%);mask-image:linear-gradient(0deg,#000,transparent 60%)}
.pat-dots-w{background-image:radial-gradient(rgba(255,255,255,.3) 1.8px,transparent 2.1px);background-size:26px 26px}

/* case teasers (home, no numbers) */
.teasers{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:40px}
.tz{display:flex;flex-direction:column;justify-content:space-between;gap:36px;min-height:290px;border-radius:26px;padding:26px;text-decoration:none;position:relative;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}
.tz>*{position:relative;z-index:1}
.tz::before{content:"";position:absolute;inset:-10%;z-index:0;transition:transform 1s ease}
.tz:hover{transform:translateY(-8px) rotate(-1deg);box-shadow:0 24px 46px rgba(107,61,255,.3)}
.tz:hover::before{transform:scale(1.12) rotate(3deg)}
.tz h3{font-size:2.1rem;font-weight:800;letter-spacing:-.03em}
.tz p{margin-top:8px;font-size:1rem;opacity:.95}
.tz .go{display:inline-flex;align-items:center;gap:10px;font:700 17px var(--display)}
.tz .go i{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:currentColor;transition:transform .3s}
.tz .go i::after{content:"";width:9px;height:9px;border-top:2.5px solid var(--bgc,#fff);border-right:2.5px solid var(--bgc,#fff);transform:rotate(45deg) translate(-1px,1px)}
.tz:hover .go i{transform:translateX(8px)}
.tz1{background:var(--violet);color:#fff;--bgc:#6b3dff}.tz1::before{background-image:repeating-radial-gradient(circle at 100% 0,transparent 0 30px,rgba(255,255,255,.2) 30px 32px)}
.tz2{background:var(--lilac);color:#1c0a5c;--bgc:#c9b8ff}.tz2::before{background-image:repeating-linear-gradient(135deg,rgba(107,61,255,.16) 0 3px,transparent 3px 18px)}
.tz3{background:var(--tint);color:var(--ink);border:1px solid var(--line);--bgc:#efe9ff}.tz3::before{background-image:radial-gradient(rgba(107,61,255,.26) 1.8px,transparent 2px);background-size:24px 24px}
.tz4{background:var(--violet);color:#fff;--bgc:#6b3dff}.tz4::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='26'%3E%3Cpath d='M0 13q20-16 40 0t40 0' fill='none' stroke='%23ffffff' stroke-opacity='.3' stroke-width='2'/%3E%3C/svg%3E")}

/* MMPs */
.mmps{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;margin-top:36px}
.mmp{background:#fff;color:#1c0a5c;border-radius:22px;padding:26px 24px;font:700 28px/1.05 var(--display);letter-spacing:-.02em;position:relative;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}
.mmp small{display:block;font:500 14px var(--text);color:#5b4b96;letter-spacing:0;margin-top:8px}
.mmp::after{content:"";position:absolute;right:-26px;bottom:-26px;width:90px;height:90px;border-radius:50%;border:2px solid var(--violet);opacity:.25;box-shadow:0 0 0 14px rgba(107,61,255,.1),0 0 0 28px rgba(107,61,255,.06);transition:transform .5s}
.mmp:hover{transform:translateY(-6px) rotate(-1deg);box-shadow:0 20px 40px rgba(28,10,92,.25)}
.mmp:hover::after{transform:scale(1.5)}

.hero .pat-waves{-webkit-mask-image:linear-gradient(0deg,#000 0,transparent 24%);mask-image:linear-gradient(0deg,#000 0,transparent 24%)}
.on-lilac .ph{background:rgba(255,255,255,.75)}
.on-tint{background:var(--tint)}
.on-tint .step{background:#fff}

/* ===== v6: cream + plum contrast ===== */
:root{--cream:#f4ecdf;--plum:#2b1180}
.btn-sun{background:var(--cream);color:#1c0a5c}
.btn-sun:hover{background:#fff}
.nav .btn{background:var(--cream);color:#1c0a5c}
.nav .btn:hover{background:#fff}
.on-plum{background:var(--plum);color:#fff}
.on-plum .muted{color:#d9cff5}
.on-cream{background:var(--cream);color:#1c0a5c}
.on-cream .services{border-top-color:#d9ccb6}
.on-cream .svc{border-bottom-color:#d9ccb6}
.on-cream .svc p{color:#5b4b96}
.on-cream .svc:hover{background:rgba(255,255,255,.6)}
.s2{background:var(--cream)}
.s3{background:var(--plum);color:#fff}
.s3 .pill{background:rgba(255,255,255,.18)}
.tz2{background:var(--cream);color:#1c0a5c;--bgc:#f4ecdf;border:1px solid #e3d6c0}
.tz2::before{display:none}
.tz3{background:var(--plum);color:#fff;border:0;--bgc:#2b1180}
.tz3::before{display:none}
.tz4::before{background-image:radial-gradient(rgba(255,255,255,.3) 1.8px,transparent 2px);background-size:24px 24px}
.format:nth-child(1)::before{background-image:radial-gradient(rgba(255,255,255,.3) 1.7px,transparent 2px)}
.format:nth-child(2){background:var(--cream);color:#1c0a5c;border:1px solid #e3d6c0}
.format:nth-child(2)::before{display:none}
.format:nth-child(3)::before{display:none}
.format:nth-child(4){background:var(--plum);color:#fff}
.format:nth-child(4)::before{display:none}
.cp2::before{display:none}
.cp3{background:var(--plum);color:#fff}
.cp3::before{display:none}
.cp3 .chip{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.35)}
.cp1 .num,.cp3 .num,.cp4 .num{color:var(--cream)}
.rings i:nth-child(4){background:var(--cream);box-shadow:0 0 0 10px rgba(244,236,223,.3)}
.rings .orbit em{background:var(--cream)}
@keyframes pulse{0%,100%{box-shadow:0 0 0 10px rgba(244,236,223,.3)}50%{box-shadow:0 0 0 24px rgba(244,236,223,.1)}}
.step:nth-child(2)::before{background:var(--plum);color:#fff}
.client:nth-child(4n)::before{background:var(--plum)}
.client:nth-child(5n+1)::before{background:var(--lilac)}
.mmp::after{border-color:var(--violet)}

.foot .tag{font:800 26px/1.1 var(--display);letter-spacing:-.02em;color:#fff;margin-top:18px}
.foot .tag+p{margin-top:10px}
.foot address{font-style:normal;color:#e6dfff;padding:5px 0}
.cta .tagline{margin-top:28px;font:700 22px var(--display);letter-spacing:-.01em;opacity:.9}
.ways span{display:block;font-size:1.05rem}

/* ===== v8: patterns pared back ===== */
.tz4::before{display:none}
.format:nth-child(1)::before{display:none}
.step::after{display:none}
.mmp::after{display:none}
.mmps{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}
.mmp{display:grid;place-items:center;text-align:center;min-height:104px;padding:20px;font-size:26px;border-radius:20px}
.mmp small{display:none}
.mmp img{max-height:40px;width:auto;max-width:100%}

/* MMP logo wall */
.mmps{grid-template-columns:repeat(4,1fr);gap:18px}
.mmp{min-height:150px;padding:26px;border-radius:22px;background:#fff}
.mmp img{max-height:72px;max-width:88%;width:auto;height:auto}
.mmp img.tall{max-height:104px}
@media (max-width:760px){.mmps{grid-template-columns:1fr 1fr}.mmp{min-height:120px;padding:18px}.mmp img{max-height:46px}.mmp img.tall{max-height:70px}}

/* ===== hero phone ===== */
.stage{position:relative;width:100%;max-width:460px;height:590px;margin-inline:auto;display:grid;place-items:center}
.stage::before{content:"";position:absolute;width:430px;height:430px;border-radius:50%;background:rgba(255,255,255,.15);box-shadow:inset 0 0 0 26px rgba(255,255,255,.07),inset 0 0 0 54px rgba(255,255,255,.05)}
.phone{position:relative;width:270px;height:530px;background:#fff;border-radius:46px;padding:12px;box-shadow:0 34px 70px rgba(20,6,70,.38)}
.notch{position:absolute;left:50%;top:18px;width:86px;height:22px;margin-left:-43px;background:#1c0a5c;border-radius:14px;z-index:5}
.screen{position:relative;width:100%;height:100%;border-radius:36px;background:#f3eeff;overflow:hidden;padding:52px 14px 14px}
.appbar{display:flex;align-items:center;gap:8px;margin-bottom:14px}
.appbar i{width:26px;height:26px;border-radius:50%;background:#c9b8ff;flex:none}
.appbar span{height:12px;width:90px;border-radius:6px;background:#c9b8ff}
.feed{display:grid;gap:10px}
.post{display:grid;grid-template-columns:34px 1fr;grid-template-rows:12px 10px;gap:6px 10px;background:#fff;border-radius:16px;padding:12px}
.post em{grid-row:1/3;width:34px;height:34px;border-radius:50%;background:#ddd2ff}
.post span{height:10px;border-radius:5px;background:#ddd2ff;align-self:center}
.post span.s{width:60%;background:#ece6ff}
.native{background:#fff;border-radius:16px;padding:10px;display:grid;gap:8px;box-shadow:0 0 0 2px #6b3dff;position:relative}
.native b,.banner b{font:700 11px var(--text);color:#fff;background:#6b3dff;border-radius:6px;padding:2px 7px;justify-self:start;position:absolute;top:8px;left:8px;z-index:2}
.native .img{height:78px;border-radius:10px;background:#6b3dff}
.native span{height:9px;border-radius:5px;background:#ddd2ff}
.native span.s{width:55%;background:#ece6ff}
.banner{position:absolute;left:12px;right:12px;bottom:14px;height:56px;border-radius:16px;background:#6b3dff;display:flex;align-items:center;padding-left:56px}
.banner b{background:#f4ecdf;color:#1c0a5c}
.banner span{height:10px;width:96px;border-radius:5px;background:rgba(255,255,255,.75)}
.inter{position:absolute;inset:44px 12px 14px;border-radius:24px;background:#6b3dff;padding:18px;display:grid;grid-template-rows:auto 1fr auto auto;gap:12px;justify-items:center;z-index:3}
.inter i{justify-self:end;font:400 22px/1 var(--text);font-style:normal;color:#fff;width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.2);display:grid;place-items:center}
.inter .art{width:100%;border-radius:16px;background:rgba(255,255,255,.18);position:relative}
.inter .art::after{content:"";position:absolute;left:50%;top:50%;width:64px;height:64px;margin:-32px;border-radius:50%;background:#f4ecdf}
.inter span{height:10px;width:70%;border-radius:5px;background:rgba(255,255,255,.75)}
.inter u{text-decoration:none;font:700 15px var(--display);background:#f4ecdf;color:#1c0a5c;border-radius:999px;padding:9px 22px}
.reward{position:absolute;inset:44px 12px 14px;border-radius:24px;background:#1c0a5c;display:grid;place-items:center;align-content:center;gap:14px;z-index:3;color:#fff}
.reward .play{width:74px;height:74px;border-radius:50%;background:#f4ecdf;position:relative}
.reward .play::after{content:"";position:absolute;left:52%;top:50%;transform:translate(-40%,-50%);border-left:24px solid #1c0a5c;border-top:15px solid transparent;border-bottom:15px solid transparent}
.reward .bar{width:70%;height:8px;border-radius:4px;background:rgba(255,255,255,.25);overflow:hidden}
.reward .bar i{display:block;height:100%;width:62%;background:#c9b8ff;border-radius:4px}
.reward small{font:600 14px var(--text)}
.fmt{position:absolute;left:0;top:34px;z-index:6;background:#fff;color:#1c0a5c;border-radius:20px;padding:14px 18px;display:grid;gap:8px;transform:rotate(-4deg);box-shadow:0 18px 40px rgba(20,6,70,.3)}
.fname{display:grid;font:800 24px/1 var(--display);letter-spacing:-.02em}
.fname b{grid-area:1/1;font-weight:800;opacity:0}
.fmt .pill{display:inline-flex;align-items:center;gap:8px;font:600 14px var(--text);background:#ece6ff;border-radius:999px;padding:5px 12px;justify-self:start}
.fmt .pill i{width:8px;height:8px;border-radius:50%;background:#6b3dff}
/* default (no motion): banner only */
.a1{opacity:1}.a2,.a3,.a4{opacity:0}
.fname .a1{opacity:1}
.native.a4{opacity:1}
@media (prefers-reduced-motion:no-preference){
  .a1,.a2,.a3,.native.a4,.fname b{animation:cycle 12s ease-in-out infinite both}
  .a1,.fname .a1{animation-delay:0s}
  .a2,.fname .a2{animation-delay:3s}
  .a3,.fname .a3{animation-delay:6s}
  .native.a4,.fname .a4{animation-delay:9s}
  .phone{animation:bob 6s ease-in-out infinite}
  .fmt .pill i{animation:blink 2s ease-in-out infinite}
  .stage::before{animation:breathe 7s ease-in-out infinite}
}
@keyframes cycle{0%{opacity:0;transform:translateY(14px) scale(.96)}5%,22%{opacity:1;transform:none}27%,100%{opacity:0;transform:translateY(-6px) scale(.98)}}
@keyframes bob{0%,100%{translate:0 0}50%{translate:0 -10px}}

/* ===== v11: alignment fixes ===== */
.marquee{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.marquee .track{padding-left:24px}
.two>.checks{margin-top:10px}
.mmps{grid-auto-rows:132px}
.mmp{height:132px;min-height:0;padding:16px}
.mmp img{max-height:66px}
.mmp img.tall{max-height:92px}
tbody th,td{vertical-align:middle}
tbody th{font:600 17px/1.5 var(--text)}
.cp,.cp:nth-child(even){grid-template-columns:1fr 1fr}
.cp4{background:var(--lilac);color:#1c0a5c}
.cp4::before{display:none}
.cp4 .num{color:#2b1180}
.cp4 .chip{background:rgba(255,255,255,.6);border-color:rgba(28,10,92,.22)}

/* ===== v13 ===== */
.hero .wrap{grid-template-columns:1.3fr .7fr}
.hero h1{font-size:clamp(2.2rem,4.2vw,3.9rem);line-height:1.02;letter-spacing:-.03em}
.hero h1 span{display:block}
@media (min-width:961px){.hero h1 span{white-space:nowrap}}
.tz1::before{display:none}

/* route (how it works) */
.route{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:56px}
.rail{position:absolute;left:22px;right:0;top:22px;height:0;z-index:0}
.rail .dash{position:absolute;left:0;right:0;top:0;border-top:3px dashed rgba(107,61,255,.5)}
.rail .ad{position:absolute;top:-9px;left:0;width:18px;height:18px;border-radius:50%;background:var(--violet);box-shadow:0 0 0 6px rgba(107,61,255,.18)}
@media (prefers-reduced-motion:no-preference){.rail .ad{animation:travel 6s ease-in-out infinite}}
@keyframes travel{0%{left:0}100%{left:calc(100% - 18px)}}
.leg{position:relative;z-index:1}
.disc{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--violet);color:#fff;font:700 21px var(--display);box-shadow:0 0 0 8px var(--tint)}
.leg2 .disc,.leg3 .disc{background:#2b1180}
.legcard{margin-top:24px;background:#fff;border:1px solid var(--line);border-radius:28px;padding:32px 30px 34px;transition:transform .3s ease,box-shadow .3s ease}
.legcard:hover{transform:translateY(-8px);box-shadow:0 22px 44px rgba(107,61,255,.22)}
.legcard h3{font:800 clamp(2.8rem,4.4vw,4rem)/1 var(--display);letter-spacing:-.03em;margin-bottom:16px}
.legcard p{color:var(--muted);max-width:32ch}
.leg2 .legcard{background:var(--lilac);border-color:transparent;color:#1c0a5c}
.leg2 .legcard p{color:#2b1c78}
.leg3 .legcard{background:var(--violet);border-color:transparent;color:#fff}
.leg3 .legcard p{color:#ece6ff}

/* publisher card */
.pub{position:relative;overflow:hidden;background:#2b1180;color:#fff;border-radius:36px;padding:60px 56px;display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap;box-shadow:0 30px 70px rgba(43,17,128,.32);transition:transform .25s ease,box-shadow .3s ease;will-change:transform}
.pub:hover{box-shadow:0 40px 90px rgba(43,17,128,.42)}
.pub-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(460px circle at var(--mx,72%) var(--my,25%),rgba(201,184,255,.42),transparent 62%)}
.pub-orbs i{position:absolute;border-radius:50%;pointer-events:none}
.pub-orbs i:nth-child(1){width:170px;height:170px;right:-40px;top:-50px;background:#6b3dff}
.pub-orbs i:nth-child(2){width:64px;height:64px;right:230px;bottom:26px;background:var(--lilac);opacity:.9}
.pub-orbs i:nth-child(3){width:26px;height:26px;right:120px;top:36px;background:var(--cream)}
@media (prefers-reduced-motion:no-preference){
  .pub-orbs i:nth-child(1){animation:drift 9s ease-in-out infinite}
  .pub-orbs i:nth-child(2){animation:drift 7s ease-in-out -2s infinite}
  .pub-orbs i:nth-child(3){animation:drift 5s ease-in-out -1s infinite}
}
@keyframes drift{0%,100%{translate:0 0}50%{translate:-14px 16px}}
.pub-text,.pub .btn{position:relative;z-index:1}
.pub h2{font-size:clamp(2rem,3.8vw,3.2rem);max-width:16ch}
.pub p{margin-top:14px;color:#d9cff5;max-width:44ch}

/* white footer */
.site-footer{background:#fff;color:#1c0a5c;border-top:1px solid var(--line)}
.foot img{height:104px}
.foot .tag{font:600 16px/1.2 var(--display);letter-spacing:0;color:#6b3dff;margin-top:20px}
.foot .tag+p{font-size:15px;margin-top:8px}
.foot p{color:#5b4b96}
.foot h4{color:#1c0a5c}
.foot a{color:#5b4b96}
.foot a:hover{color:#6b3dff;text-decoration:underline}
.foot address{color:#5b4b96;line-height:1.6}
.legal{border-top:1px solid var(--line);color:#7a6bb0}

.pub-orbs{position:absolute;inset:0;pointer-events:none}
.pub-glow{opacity:.35;transition:opacity .3s ease}
.pub:hover .pub-glow{opacity:1}
.route{align-items:stretch}
.leg{display:flex;flex-direction:column}
.legcard{flex:1}
.foot{grid-template-columns:1.2fr .8fr 1.1fr 1.5fr}
.foot address{white-space:nowrap}

/* channels */
.chan-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.chan-chips span{font:600 16px var(--display);border:1.5px solid rgba(255,255,255,.55);border-radius:999px;padding:7px 18px;color:#fff;transition:background .2s,color .2s}
.chan-chips span:hover{background:#fff;color:#6b3dff}
.channels{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:40px}
.chan{background:#fff;color:#1c0a5c;border-radius:26px;padding:30px 26px 32px;transition:transform .3s ease,box-shadow .3s ease;display:flex;flex-direction:column}
.chan:hover{transform:translateY(-8px) rotate(-1deg);box-shadow:0 24px 46px rgba(107,61,255,.28)}
.chan h3{font:800 clamp(2.6rem,4vw,3.6rem)/1 var(--display);letter-spacing:-.03em}
.chan small{display:block;font:600 15px var(--text);color:#6b3dff;margin:10px 0 16px}
.chan p{color:#5b4b96}
.chan:nth-child(2){background:#2b1180;color:#fff}
.chan:nth-child(2) small{color:#c9b8ff}.chan:nth-child(2) p{color:#d9cff5}
.chan:nth-child(3){background:#6b3dff;color:#fff}
.chan:nth-child(3) small{color:#efe9ff}.chan:nth-child(3) p{color:#ece6ff}
.chan:nth-child(4){background:var(--cream);color:#1c0a5c}

/* ===== v15: new home hero ===== */
.hero-home h1{font-size:clamp(3rem,6.6vw,6rem);line-height:.96;letter-spacing:-.035em}
.scale{position:relative;width:100%;max-width:500px;height:560px;margin-inline:auto}
.scale .rg{position:absolute;left:50%;top:50%;translate:-50% -50%;border-radius:50%;border:2px solid rgba(255,255,255,.4)}
.rg1{width:210px;height:210px;background:rgba(255,255,255,.14)}
.rg2{width:340px;height:340px;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.3)}
.rg3{width:470px;height:470px;background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.2)}
.scale .core{position:absolute;left:50%;top:50%;translate:-50% -50%;width:190px;height:auto;filter:drop-shadow(0 18px 34px rgba(20,6,70,.35))}
.scale .pulse{position:absolute;left:50%;top:50%;width:210px;height:210px;translate:-50% -50%;border-radius:50%;border:2px solid #fff;opacity:0;box-sizing:border-box;pointer-events:none}
.orbit2{position:absolute;left:50%;top:50%;width:340px;height:340px;margin:-170px 0 0 -170px;border-radius:50%}
.orbit2 i{position:absolute;top:-8px;left:50%;margin-left:-8px;width:16px;height:16px;border-radius:50%;background:var(--cream)}
.oc{position:absolute;z-index:2;font:700 17px var(--display);border-radius:999px;padding:10px 18px 10px 16px;white-space:nowrap;box-shadow:0 14px 30px rgba(20,6,70,.3);display:inline-flex;align-items:center;gap:9px}
.oc::before{content:"";width:9px;height:9px;border-radius:50%;background:#6b3dff}
.oc1{top:52px;left:6px;background:#fff;color:#1c0a5c}
.oc2{top:150px;right:-6px;background:var(--cream);color:#1c0a5c}
.oc3{bottom:150px;left:-10px;background:#2b1180;color:#fff}
.oc3::before{background:var(--lilac)}
.oc4{bottom:58px;right:14px;background:var(--lilac);color:#1c0a5c}
@media (prefers-reduced-motion:no-preference){
  .scale .rg1{animation:breathe 5s ease-in-out infinite}
  .scale .rg2{animation:breathe 6.5s ease-in-out -1s infinite}
  .scale .rg3{animation:breathe 8s ease-in-out -2s infinite}
  .scale .pulse{animation:ripple 18s linear infinite}
  .scale .pulse.p2{animation-delay:-3s}.scale .pulse.p3{animation-delay:-6s}.scale .pulse.p4{animation-delay:-9s}.scale .pulse.p5{animation-delay:-12s}.scale .pulse.p6{animation-delay:-15s}
  .orbit2{animation:spin 16s linear infinite}
  .oc{animation:nudge 6s ease-in-out infinite}
  .oc:hover,.oc:focus-visible{animation-play-state:paused}
  .oc2{animation-delay:-2s}.oc3{animation-delay:-4s}.oc4{animation-delay:-1s}
}
@keyframes nudge{0%,100%{translate:0 0}50%{translate:0 -5px}}
@keyframes ping2{0%{scale:1;opacity:.38}100%{scale:2.9;opacity:0}}
@keyframes ripple{0%{width:210px;height:210px;opacity:.34}100%{width:var(--rd,1400px);height:var(--rd,1400px);opacity:0}}
.hero .wrap>div:first-child{position:relative;z-index:2}

/* pillars (home) */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}
.pillar{background:#fff;color:#1c0a5c;border-radius:28px;padding:34px 30px 36px;display:flex;flex-direction:column;transition:transform .3s ease,box-shadow .3s ease}
.pillar:hover{transform:translateY(-8px) rotate(-1deg);box-shadow:0 24px 46px rgba(107,61,255,.28)}
.pillar h3{font:800 clamp(2.8rem,4.4vw,4rem)/1 var(--display);letter-spacing:-.03em}
.pillar small{display:block;font:600 15px var(--text);color:#6b3dff;margin:12px 0 16px}
.pillar p{color:#5b4b96;max-width:34ch}
.pillar:nth-child(2){background:#6b3dff;color:#fff}
.pillar:nth-child(2) small{color:#efe9ff}.pillar:nth-child(2) p{color:#ece6ff}
.pillar:nth-child(3){background:#2b1180;color:#fff}
.pillar:nth-child(3) small{color:#c9b8ff}.pillar:nth-child(3) p{color:#d9cff5}
.plink{margin-top:auto;padding-top:22px;font:700 17px var(--display);color:#fff;text-decoration:underline;text-underline-offset:5px}
.chan:nth-child(1){border:1px solid var(--line)}
.hero .chan-chips{margin-top:28px}

/* ===== v16 ===== */
/* goal picker */
.scale .pick{position:absolute;top:0;left:0;right:0;text-align:center;font:600 16px var(--display);color:#efe9ff;letter-spacing:.01em;z-index:3}
button.oc{border:0;cursor:pointer;background:#fff;color:#1c0a5c;font-family:var(--display);transition:background .2s,color .2s,transform .2s,box-shadow .2s}
button.oc::before{background:#6b3dff}
button.oc:hover{transform:translateY(-3px)}
button.oc[aria-pressed="true"]{background:#2b1180;color:#fff;box-shadow:0 0 0 3px var(--cream),0 14px 30px rgba(20,6,70,.3)}
button.oc[aria-pressed="true"]::before{background:var(--cream)}
.oc1{top:52px;left:44px;right:auto;bottom:auto}
.oc2{top:112px;left:auto;right:-4px;bottom:auto}
.oc3{top:172px;left:-34px;right:auto;bottom:auto}
.oc4{top:auto;left:auto;bottom:128px;right:-2px;background:#fff;color:#1c0a5c}
.oc5{top:auto;bottom:72px;left:20px;right:auto}
.oc3,.oc4{background:#fff;color:#1c0a5c}
.oc3::before{background:#6b3dff}
.goalcap{position:absolute;bottom:4px;left:0;right:0;text-align:center;font:500 16px var(--text);color:#efe9ff;z-index:3}
.goalcap b{color:#fff;font-family:var(--display);font-size:19px;margin-left:4px}
.core.hit{animation:hit .5s ease}
@keyframes hit{0%{scale:1}40%{scale:1.14}100%{scale:1}}

/* contact hero chat */
.contact-top{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.contact-hero h1{max-width:14ch}
.chat{display:grid;gap:14px;max-width:440px;width:100%;justify-self:end}
.msg{display:grid;gap:5px;max-width:86%}
.msg small{font:600 13px var(--text);opacity:.85}
.msg span{padding:14px 18px;border-radius:22px;font:500 17px/1.35 var(--text)}
.msg.you{justify-self:end;text-align:right}
.msg.you span{background:#fff;color:#1c0a5c;border-bottom-right-radius:6px}
.msg.us{justify-self:start}
.msg.us span{background:#2b1180;color:#fff;border-bottom-left-radius:6px}
.typing{justify-self:start;display:flex;gap:6px;background:rgba(255,255,255,.18);padding:14px 18px;border-radius:22px;width:max-content}
.typing i{width:9px;height:9px;border-radius:50%;background:#fff;opacity:.7}
@media (prefers-reduced-motion:no-preference){
  .msg,.typing{animation:pop .4s cubic-bezier(.2,.9,.3,1.2) both}
  .m1{animation-delay:.1s}.m2{animation-delay:.6s}.m3{animation-delay:1.2s}.m4{animation-delay:1.8s}.typing{animation-delay:2.4s}
  .typing i{animation:dotty 1.2s ease-in-out infinite}
  .typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
}
@keyframes pop{from{opacity:0;translate:0 18px;scale:.94}to{opacity:1;translate:0 0;scale:1}}
@keyframes dotty{0%,100%{translate:0 0;opacity:.4}50%{translate:0 -5px;opacity:1}}
.lab{font:600 15px var(--text)}
.goalchips{display:flex;flex-wrap:wrap;gap:8px}
.goalchips button{font:600 15px var(--text);color:#1c0a5c;background:var(--card);border:1.5px solid var(--line);border-radius:999px;padding:9px 16px;cursor:pointer;transition:background .2s,color .2s,border-color .2s,transform .2s}
.goalchips button:hover{border-color:var(--violet);transform:translateY(-2px)}
.goalchips button[aria-pressed="true"]{background:var(--violet);border-color:var(--violet);color:#fff}

/* compact white footer */
.site-footer{padding:40px 0 26px}
.foot2{display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap}
.fbrand img{height:68px;width:auto}
.fbrand .tag{margin:10px 0 0;font:600 15px/1.2 var(--display);color:#6b3dff}
.flinks{display:flex;flex-wrap:wrap;gap:8px 28px}
.flinks a{font:600 17px var(--display);color:#1c0a5c;text-decoration:none;padding:4px 0}
.flinks a:hover{color:#6b3dff;text-decoration:underline;text-underline-offset:5px}
.fmeta{margin-top:26px;padding-top:18px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 28px;font-size:14px;color:#5b4b96}
.fmeta address{font-style:normal}
.fmeta a{color:#5b4b96}
.fmeta a:hover{color:#6b3dff}

.oc6{top:auto;bottom:4px;left:0;right:0;margin-inline:auto;width:max-content;background:transparent;color:#fff;border:2px dashed rgba(255,255,255,.85);box-shadow:none;text-decoration:none;transition:background .2s,color .2s,transform .2s}
.oc6::before{background:var(--cream)}
.oc6:hover,.oc6:focus-visible{background:#fff;color:#1c0a5c;transform:translateY(-3px)}
.oc6:hover::before{background:#6b3dff}
.fbrand{width:max-content;text-align:center}
.fbrand img{height:76px}
.fbrand .tag{font-size:14px;text-align:center}

.pillars{grid-template-columns:repeat(3,minmax(0,1fr))}
.pillar h3{font-size:clamp(2.3rem,3.7vw,3.6rem)}
.oc5{bottom:90px}

/* ===== v18 ===== */
[hidden]{display:none!important}
.h2.two-line span{display:block}
@media (min-width:961px){.h2.two-line span{white-space:nowrap}}
.compare .h2.two-line{font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.08;max-width:none}

/* word reveal */
.w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.14em;margin-bottom:-.14em}
.w i{display:inline-block;font-style:normal}
@keyframes wordup{from{transform:translateY(110%)}to{transform:none}}





/* ===== channel illustrations ===== */
.chan{--bgc:#fff}
.chan:nth-child(2){--bgc:#2b1180}
.chan:nth-child(3){--bgc:#6b3dff}
.chan:nth-child(4){--bgc:#f4ecdf}
.ill{height:126px;margin-bottom:22px;display:flex;align-items:center;gap:14px;color:inherit}
/* in-app phone */
.ph2{position:relative;width:66px;height:112px;border:3px solid currentColor;border-radius:17px;overflow:hidden}
.ph2 .ln{position:absolute;left:9px;height:7px;border-radius:4px;background:currentColor;opacity:.3}
.ph2 .l1{top:14px;width:34px}.ph2 .l2{top:28px;width:44px}.ph2 .l3{top:42px;width:26px}
.ph2 .bn{position:absolute;left:7px;right:7px;bottom:9px;height:20px;border-radius:7px;background:currentColor}
/* CTV */
.tv{display:grid;justify-items:center;gap:6px}
.tv .scr{position:relative;width:150px;height:92px;border:3px solid currentColor;border-radius:13px;display:grid;place-items:center}
.tv .play{width:0;height:0;border-left:20px solid currentColor;border-top:12px solid transparent;border-bottom:12px solid transparent;opacity:.7;margin-left:6px}
.tv .adtag{position:absolute;top:8px;left:8px;font:700 11px var(--text);font-style:normal;background:currentColor;border-radius:5px;padding:1px 7px}
.tv .adtag{color:var(--bgc)}
.tv .adbar{position:absolute;left:12px;right:12px;bottom:9px;height:6px}
.tv .adbar::before{content:"";position:absolute;inset:0;background:currentColor;opacity:.25;border-radius:3px}
.tv .adbar b{position:absolute;left:0;top:0;bottom:0;width:60%;background:currentColor;border-radius:3px}
.tv .stand{width:46px;height:5px;border-radius:3px;background:currentColor;opacity:.8}
/* DSP network */
.ill svg.net{width:170px;height:104px;overflow:visible}
.net line{stroke:currentColor;stroke-opacity:.35;stroke-width:2}
.net circle{fill:currentColor;transform-box:fill-box;transform-origin:center}
.net .win{fill:none;stroke:currentColor;stroke-width:2;opacity:0}
/* OEM device */
.dev{width:96px;height:112px;border:3px solid currentColor;border-radius:19px;padding:13px 11px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;align-content:start}
.dev i{aspect-ratio:1;border-radius:7px;background:currentColor;opacity:.28}
.dev i.new{opacity:1}
.ill .pre{font:700 12px var(--text);border:1.5px solid currentColor;border-radius:999px;padding:3px 10px;white-space:nowrap}
@media (prefers-reduced-motion:no-preference){
  .ph2 .bn{animation:bannerUp 4.2s ease-in-out infinite}
  .tv .adbar b{animation:adfill 5s linear infinite}
  .tv .adtag{animation:blink 2.4s ease-in-out infinite}
  .net circle.nd{animation:blip 3.2s ease-in-out infinite;animation-delay:calc(var(--i) * .38s)}
  .net .win{animation:winring 3.2s ease-out infinite;animation-delay:2.2s}
  .dev i.new{animation:popIcon 4s ease-in-out infinite}
  .ill .pre{animation:blink 3.4s ease-in-out infinite}
  .chan:hover .ill{animation:wiggle .6s ease}
}
@keyframes bannerUp{0%,8%{transform:translateY(34px);opacity:0}24%,76%{transform:none;opacity:1}92%,100%{transform:translateY(34px);opacity:0}}
@keyframes adfill{0%{width:0}92%,100%{width:100%}}
@keyframes blip{0%,100%{opacity:.4;transform:scale(1)}18%{opacity:1;transform:scale(1.5)}38%{opacity:.4;transform:scale(1)}}
@keyframes winring{0%{opacity:.9;transform:scale(1)}100%{opacity:0;transform:scale(3.2)}}
@keyframes popIcon{0%,12%{transform:scale(0);opacity:0}28%{transform:scale(1.3);opacity:1}40%,100%{transform:scale(1);opacity:1}}
@keyframes wiggle{0%,100%{rotate:0deg}30%{rotate:-4deg}60%{rotate:3deg}}

/* ===== v20 ===== */
.cp1::before{display:none}

/* call-to-action: sliding words + shine */
.cta-fx{position:relative;overflow:hidden}
.cta-fx .bigdisc{display:none}
.cta-marq{position:absolute;left:0;display:flex;width:max-content;white-space:nowrap;font:800 clamp(3.4rem,8vw,7rem)/1 var(--display);letter-spacing:-.03em;color:transparent;-webkit-text-stroke:2px rgba(107,61,255,.26);pointer-events:none;z-index:0;user-select:none}
.cta-marq span{padding-right:.5em}
.cta-marq.top{top:-.2em}
.cta-marq.bot{bottom:-.24em}
.cta h2,.cta .actions{position:relative;z-index:1}
.cta .actions .btn:first-child{position:relative;overflow:hidden}
.cta .actions .btn:first-child::before{content:"";position:absolute;top:0;bottom:0;left:-70%;width:45%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.6),transparent);transform:skewX(-20deg);opacity:0}
.js .cta h2{opacity:0;translate:0 26px;transition:opacity .7s ease,translate .8s cubic-bezier(.2,.8,.2,1)}
.js .cta.in h2{opacity:1;translate:0 0}
@media (prefers-reduced-motion:no-preference){
  .cta-marq.top{animation:marqL 46s linear infinite}
  .cta-marq.bot{animation:marqR 52s linear infinite}
  .cta .actions .btn:first-child::before{animation:shine 3.8s ease-in-out infinite;opacity:1}
}
@keyframes marqL{to{transform:translateX(-50%)}}
@keyframes marqR{from{transform:translateX(-50%)}to{transform:none}}
@keyframes shine{0%,55%{left:-70%}100%{left:130%}}

/* ===== v21 ===== */
.client.logo{display:inline-flex;align-items:center;justify-content:center;flex:none;width:232px;height:92px;padding:0 26px;border-radius:20px;gap:0;font:inherit}
.client.logo::before{display:none}
.client.logo img{max-height:48px;max-width:156px;width:auto;height:auto;object-fit:contain;display:block}
.client.logo:hover{transform:translateY(-4px);background:#fff}



/* ===== v23 ===== */
/* chart, auto-playing */
.legend{display:flex;gap:22px;flex-wrap:wrap;margin-bottom:6px}
.lg{display:inline-flex;align-items:center;gap:9px;font:700 16px var(--display)}
.lg i,.facts2 span i{width:12px;height:12px;border-radius:50%;display:inline-block;flex:none}
.lg.a i,.facts2 .a i{background:#2b1180}
.lg.b i,.facts2 .b i{background:#6b3dff}
.facts2{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:6px}
.facts2 div{border-top:1px solid var(--line);padding-top:12px;display:grid;gap:6px;align-content:start}
.facts2 b{font:600 14px var(--text);color:#5b4b96}
.facts2 span{display:flex;align-items:flex-start;gap:8px;font:600 15px/1.25 var(--text)}
.facts2 span i{margin-top:4px;width:9px;height:9px}
.cl{stroke-dasharray:1;stroke-dashoffset:0}
.dotA,.dotB{opacity:1}
@media (prefers-reduced-motion:no-preference){
  .cl{stroke-dashoffset:1;animation:lineloop 9s ease-in-out infinite}
  .cl.b{animation-delay:.25s}
  .dotA,.dotB{opacity:0;animation:dotloop 9s ease-in-out infinite}
  .dotB{animation-delay:.25s}
}
@keyframes lineloop{0%{stroke-dashoffset:1;opacity:1}50%,86%{stroke-dashoffset:0;opacity:1}96%,100%{stroke-dashoffset:0;opacity:0}}
@keyframes dotloop{0%,48%{opacity:0;transform:scale(.3)}54%,86%{opacity:1;transform:scale(1)}96%,100%{opacity:0}}
.chart .dotA,.chart .dotB{transform-box:fill-box;transform-origin:center}

/* channel illustrations v2 */
.ill{height:140px;margin-bottom:22px;display:flex;align-items:center;gap:14px}
.ph3{position:relative;width:78px;height:128px;border:3px solid currentColor;border-radius:19px;overflow:hidden;padding:8px 8px 0}
.scrl{display:grid;gap:8px}
.scrl .post{display:block;height:28px;border-radius:8px;background:currentColor;opacity:.2}
.scrl .post.ad{opacity:1;position:relative}
.scrl .post.ad em{grid-row:auto;width:auto;height:auto;border-radius:0;background:none;position:absolute;left:5px;top:4px;font:700 9px/1 var(--text);font-style:normal;color:var(--bgc)}
.tv2{display:grid;justify-items:center;gap:7px}
.scr2{position:relative;width:168px;height:100px;border:3px solid currentColor;border-radius:13px;overflow:hidden}
.scr2 .sun{position:absolute;top:14px;left:18px;width:16px;height:16px;border-radius:50%;background:currentColor;opacity:.45}
.scr2 .mtn{position:absolute;left:-6px;right:-6px;bottom:-2px;height:46px;background:currentColor;opacity:.22;clip-path:polygon(0 100%,18% 34%,34% 70%,56% 8%,78% 62%,90% 40%,100% 100%)}
.scr2 .lt{position:absolute;left:0;bottom:12px;width:66%;height:24px;background:currentColor;border-radius:0 9px 9px 0;display:flex;align-items:center;padding-left:10px}
.scr2 .lt em{font:700 11px var(--text);font-style:normal;color:var(--bgc)}
.scr2 .cd{position:absolute;top:6px;right:6px;width:26px;height:26px;transform:rotate(-90deg)}
.scr2 .cd circle{fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0}
.stand2{width:50px;height:5px;border-radius:3px;background:currentColor;opacity:.8}
.bids{display:grid;gap:10px;width:150px;position:relative}
.bd{position:relative;display:block;height:15px}
.bd b{display:block;height:100%;width:var(--w);border-radius:8px;background:currentColor;opacity:.3}
.bd .won{position:absolute;left:calc(100% + 8px);top:-3px;font:700 12px var(--text);font-style:normal;border:1.5px solid currentColor;border-radius:999px;padding:2px 9px;opacity:1}
.dev2{width:100px;height:124px;border:3px solid currentColor;border-radius:21px;padding:15px 12px;display:grid;grid-template-columns:repeat(3,1fr);gap:9px;align-content:start;flex:none}
.dev2 i{aspect-ratio:1;border-radius:8px;background:currentColor;opacity:.3}
.dev2 i.new{opacity:1}
.pre2{font:700 12px var(--text);border:1.5px solid currentColor;border-radius:999px;padding:3px 10px;white-space:nowrap}
@media (prefers-reduced-motion:no-preference){
  .scrl{animation:feedup 7s linear infinite}
  .scr2 .sun{animation:sunmove 8s ease-in-out infinite alternate}
  .scr2 .lt{animation:ltslide 6s ease-in-out infinite}
  .scr2 .cd circle{animation:cdown 6s linear infinite}
  .bd b{width:0;animation:bidgrow 5.5s ease-in-out infinite;animation-delay:var(--dl)}
  .bd.win b{animation-name:bidwin}
  .bd .won{opacity:0;animation:wonchip 5.5s ease-in-out infinite;animation-delay:var(--dl)}
  .dev2 i{animation:iconin 6.5s ease-in-out infinite;animation-delay:calc(var(--i) * .16s)}
  .dev2 i.new{animation-name:iconnew}
  .pre2{animation:prechip 6.5s ease-in-out infinite}
  .chan:hover .ill{animation:none}
}
@keyframes feedup{to{transform:translateY(-50%)}}
@keyframes sunmove{to{translate:110px 0}}
@keyframes ltslide{0%,20%{transform:translateX(-105%)}32%,72%{transform:translateX(0)}84%,100%{transform:translateX(-105%)}}
@keyframes cdown{0%,20%{stroke-dashoffset:0;opacity:0}24%{opacity:1}72%{stroke-dashoffset:1;opacity:1}84%,100%{stroke-dashoffset:1;opacity:0}}
@keyframes bidgrow{0%{width:0}55%,88%{width:var(--w)}100%{width:0}}
@keyframes bidwin{0%{width:0;opacity:.3}55%{width:var(--w);opacity:.3}64%,88%{width:var(--w);opacity:1}100%{width:0;opacity:.3}}
@keyframes wonchip{0%,60%{opacity:0;transform:scale(.6)}68%,88%{opacity:1;transform:scale(1)}100%{opacity:0}}
@keyframes iconin{0%{transform:scale(0);opacity:0}7%{transform:scale(1.25);opacity:.3}12%,84%{transform:scale(1);opacity:.3}94%,100%{transform:scale(0);opacity:0}}
@keyframes iconnew{0%{transform:scale(0);opacity:0}7%{transform:scale(1.4);opacity:1}12%,84%{transform:scale(1);opacity:1}94%,100%{transform:scale(0);opacity:0}}
@keyframes prechip{0%,30%{opacity:0;transform:translateX(-8px)}40%,84%{opacity:1;transform:none}94%,100%{opacity:0}}

/* format mini screens */
.fmini{margin-bottom:16px}
.fm{position:relative;width:62px;height:100px;border:3px solid currentColor;border-radius:17px;overflow:hidden}
.fm .l{position:absolute;left:8px;height:6px;border-radius:3px;background:currentColor;opacity:.3;display:block}
.fm .bn{position:absolute;left:6px;right:6px;bottom:8px;height:17px;border-radius:6px;background:currentColor}
.fm .it{position:absolute;inset:8px;border-radius:10px;background:currentColor;display:block}
.fm .it u{position:absolute;right:5px;top:4px;width:9px;height:9px;text-decoration:none;opacity:.6;background:linear-gradient(45deg,transparent 42%,var(--bgf,#fff) 42% 58%,transparent 58%),linear-gradient(-45deg,transparent 42%,var(--bgf,#fff) 42% 58%,transparent 58%)}
.fm .rw{position:absolute;left:50%;top:50%;width:40px;height:40px;margin:-20px 0 0 -20px}
.fm .rw svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.fm .rw circle{fill:none;stroke-width:3.5}
.fm .rt{stroke:currentColor;opacity:.25}
.fm .rp{stroke:currentColor;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0}
.fm .pl{position:absolute;left:15px;top:11px;width:0;height:0;border-left:13px solid currentColor;border-top:9px solid transparent;border-bottom:9px solid transparent}
.fm .plus{position:absolute;right:5px;top:6px;width:16px;height:16px;border-radius:50%;background:currentColor;font:800 13px/16px var(--display);text-align:center}
.fm .nc{position:absolute;left:6px;right:6px;top:34px;height:26px;border-radius:8px;border:2.5px solid currentColor;display:block}
.format:nth-child(1){--bgf:#6b3dff}
.format:nth-child(2){--bgf:#f4ecdf}
.format:nth-child(3){--bgf:#efe9ff}
.format:nth-child(4){--bgf:#2b1180}
.fm .plus{color:var(--bgf)}
@media (prefers-reduced-motion:no-preference){
  .fm .bn{animation:bannerUp 3.8s ease-in-out infinite}
  .fm .it{animation:interPop 3.8s ease-in-out infinite}
  .fm .rp{animation:rwfill 3.8s ease-in-out infinite}
  .fm .plus{animation:plusPop 3.8s ease-in-out infinite}
  .fm .nc{animation:natPulse 2.4s ease-in-out infinite}
}
@keyframes interPop{0%,8%{transform:scale(.4);opacity:0}24%,74%{transform:scale(1);opacity:1}90%,100%{transform:scale(.4);opacity:0}}
@keyframes rwfill{0%,6%{stroke-dashoffset:1}62%,90%{stroke-dashoffset:0}100%{stroke-dashoffset:1}}
@keyframes plusPop{0%,60%{transform:scale(0)}70%{transform:scale(1.35)}78%,90%{transform:scale(1)}100%{transform:scale(0)}}
@keyframes natPulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.06);opacity:.6}}
.format{min-height:290px}

/* ===== v24: case card art ===== */

/* case card illustrations */
.cp1{--pbg:#6b3dff}.cp2{--pbg:#efe9ff}.cp3{--pbg:#2b1180}.cp4{--pbg:#c9b8ff}
.cart{display:flex;align-items:center;gap:20px;height:116px;margin-bottom:16px}
.lchip{font:700 14px var(--text);background:currentColor;border-radius:999px;padding:4px 13px;white-space:nowrap}
.lchip{color:var(--pbg)}
.lchip{position:relative;isolation:isolate}
/* the chip needs contrasting text: use a pseudo layer */
.lchip{background:transparent;border:2px solid currentColor;color:inherit}
/* Baubap: loan funded */
.lcard{position:relative;width:176px;height:98px;border:3px solid currentColor;border-radius:17px;padding:15px 17px;flex:none}
.lh{display:block;width:64px;height:10px;border-radius:5px;background:currentColor}
.lsub{display:block;width:104px;height:7px;border-radius:4px;background:currentColor;opacity:.35;margin-top:10px}
.ltrack{position:absolute;left:17px;right:60px;bottom:17px;height:9px;border-radius:5px;overflow:hidden}
.ltrack::before{content:"";position:absolute;inset:0;background:currentColor;opacity:.25}
.ltrack b{position:absolute;left:0;top:0;bottom:0;width:100%;background:currentColor;border-radius:5px}
.lchk{position:absolute;right:14px;bottom:12px;width:30px;height:30px;border-radius:50%;background:currentColor}
.lchk::after{content:"";position:absolute;left:10px;top:6px;width:7px;height:13px;border-right:3px solid var(--pbg);border-bottom:3px solid var(--pbg);transform:rotate(45deg)}
/* Bajaj: registration form */
.rphone{position:relative;width:78px;height:106px;border:3px solid currentColor;border-radius:19px;padding:15px 11px;flex:none}
.rf{display:block;height:13px;border-radius:7px;border:2px solid currentColor;margin-bottom:10px;overflow:hidden;position:relative}
.rf b{display:block;height:100%;width:80%;background:currentColor;opacity:.75}
.rbtn{position:absolute;left:11px;right:11px;bottom:12px;height:20px;border-radius:10px;border:2px solid currentColor;background:currentColor;display:grid;place-items:center}
.rbtn em{width:6px;height:11px;border-right:3px solid var(--pbg);border-bottom:3px solid var(--pbg);transform:rotate(45deg) translate(-1px,-1px)}
/* Boyle: first deposit */
.dep{position:relative;width:132px;height:104px;flex:none}
.wallet{position:absolute;left:8px;right:8px;bottom:0;height:60px;border:3px solid currentColor;border-radius:15px;transform-origin:center bottom}
.wallet i{position:absolute;left:50%;top:-3px;width:44px;height:6px;margin-left:-22px;background:currentColor;border-radius:0 0 4px 4px}
.coin{position:absolute;left:50%;top:2px;width:30px;height:30px;margin-left:-15px;border-radius:50%;background:currentColor;z-index:2;opacity:0}
.coin::after{content:"";position:absolute;inset:6px;border-radius:50%;border:2.5px solid var(--pbg)}
.plus1{position:absolute;left:50%;top:0;margin-left:26px;font:800 20px var(--display);opacity:0}
/* Moomoo: candles */
.candles{width:170px;height:104px;flex:none;overflow:visible}
.candles line{stroke:currentColor;stroke-width:2.5;stroke-linecap:round}
.candles rect{fill:currentColor}
.candles rect.hi{fill:#6b3dff}
.candles g{transform-box:fill-box;transform-origin:center bottom}
.cring{fill:none;stroke:#6b3dff;stroke-width:2;opacity:0;transform-box:fill-box;transform-origin:center}

@media (prefers-reduced-motion:no-preference){
  .ltrack b{animation:loanfill 5.4s ease-in-out infinite}
  .lchk{animation:chkpop 5.4s ease-in-out infinite}
  .c-loan .lchip{animation:chippop 5.4s ease-in-out infinite}
  .rf.f1 b{animation:fA 5.8s ease-in-out infinite}
  .rf.f2 b{animation:fB 5.8s ease-in-out infinite}
  .rf.f3 b{animation:fC 5.8s ease-in-out infinite}
  .rbtn{animation:btnon 5.8s ease-in-out infinite}
  .c-reg .lchip{animation:chippop2 5.8s ease-in-out infinite}
  .coin{animation:coindrop 3.4s ease-in infinite}
  .wallet{animation:walletbump 3.4s ease-in-out infinite}
  .plus1{animation:plusfloat 3.4s ease-out infinite}
  .candles g{animation:candle 6.6s ease-in-out infinite;animation-delay:calc(var(--i) * .3s)}
  .cring{animation:ringc 6.6s ease-out infinite;animation-delay:2.4s}
  .c-mkt .lchip{animation:chippop3 6.6s ease-in-out infinite}
}
@keyframes loanfill{0%,6%{width:0}50%,90%{width:100%}100%{width:0}}
@keyframes chkpop{0%,50%{transform:scale(0)}58%{transform:scale(1.25)}64%,90%{transform:scale(1)}100%{transform:scale(0)}}
@keyframes chippop{0%,54%{opacity:0;transform:translateX(-8px)}64%,90%{opacity:1;transform:none}100%{opacity:0}}
@keyframes fA{0%,4%{width:0}16%,90%{width:80%}100%{width:0}}
@keyframes fB{0%,16%{width:0}28%,90%{width:80%}100%{width:0}}
@keyframes fC{0%,28%{width:0}40%,90%{width:80%}100%{width:0}}
@keyframes btnon{0%,42%{background:transparent}50%,90%{background:currentColor}100%{background:transparent}}
@keyframes chippop2{0%,50%{opacity:0;transform:translateX(-8px)}60%,90%{opacity:1;transform:none}100%{opacity:0}}
@keyframes coindrop{0%{transform:translateY(-4px);opacity:0}12%{opacity:1}50%{transform:translateY(46px);opacity:1}58%,100%{transform:translateY(58px);opacity:0}}
@keyframes walletbump{0%,50%{transform:scale(1)}58%{transform:scale(1.07,.94)}68%,100%{transform:scale(1)}}
@keyframes plusfloat{0%,54%{opacity:0;transform:translateY(0)}62%{opacity:1}90%,100%{opacity:0;transform:translateY(-22px)}}
@keyframes candle{0%,3%{transform:scaleY(0)}14%,86%{transform:scaleY(1)}96%,100%{transform:scaleY(0)}}
@keyframes ringc{0%{opacity:.9;transform:scale(1)}40%,100%{opacity:0;transform:scale(3)}}
@keyframes chippop3{0%,36%{opacity:0;transform:translateX(-8px)}46%,86%{opacity:1;transform:none}96%,100%{opacity:0}}

/* ===== v27: certificate of trust ===== */
.cert-wrap{position:relative;width:100%;max-width:440px;justify-self:end;perspective:1000px}
.cert{position:relative;aspect-ratio:440/310;background:#f4ecdf;border-radius:18px;box-shadow:0 34px 70px rgba(20,6,70,.42);transform:rotate(-3deg);color:#1c0a5c;overflow:hidden;transition:transform .35s ease}
.cert-wrap:hover .cert{transform:rotate(-1deg) scale(1.02)}
.cframe{position:absolute;inset:0;width:100%;height:100%}
.cframe rect{fill:none}
.cframe .c1{stroke:#6b3dff;stroke-width:3;stroke-dasharray:1;stroke-dashoffset:0}
.cframe .c2{stroke:#c9b8ff;stroke-width:1.5}
.corner{position:absolute;width:26px;height:26px;border:3px solid #6b3dff;border-radius:50%;opacity:.9}
.corner.tl{left:26px;top:26px;border-right-color:transparent;border-bottom-color:transparent}
.corner.tr{right:26px;top:26px;border-left-color:transparent;border-bottom-color:transparent}
.corner.bl{left:26px;bottom:26px;border-right-color:transparent;border-top-color:transparent}
.corner.br{right:26px;bottom:26px;border-left-color:transparent;border-top-color:transparent}
.cbody{position:absolute;left:0;right:0;top:11%;text-align:center;padding:0 12%}
.page-hero .cbody p{margin:0;max-width:none;color:inherit}
.cbrand{font:700 15px var(--display);color:#6b3dff}
.ctitle{font:800 clamp(1.6rem,3.1vw,2.35rem)/1.02 var(--display);letter-spacing:-.02em;margin:8px 0 0;color:#1c0a5c}
.cdiv{display:block;width:120px;height:2px;background:#6b3dff;margin:12px auto 12px;position:relative}
.cdiv::after{content:"";position:absolute;left:50%;top:50%;width:9px;height:9px;margin:-4.5px;background:#f4ecdf;border:2px solid #6b3dff;transform:rotate(45deg)}
.page-hero .cbody .ctext{font:500 clamp(.8rem,1.35vw,.95rem)/1.45 var(--text);color:#3a2a8a;max-width:30ch;margin-inline:auto}
.csign{position:absolute;left:11%;bottom:12%;width:38%}
.sigsvg{display:block;width:100%;height:auto;border-bottom:1.5px solid #1c0a5c;padding-bottom:2px}
.sig{fill:none;stroke:#6b3dff;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0}
.siglab{display:block;margin-top:5px;font:600 12px var(--display);color:#3a2a8a}
.cseal{position:absolute;right:11%;bottom:15%;width:22%;aspect-ratio:1;transform:rotate(-8deg)}
.cseal svg{position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(0 8px 14px rgba(43,17,128,.35))}
.cseal .rib{position:absolute;bottom:-26%;width:24%;height:42%;background:#2b1180;z-index:-1}
.cseal .r1{left:22%;transform:rotate(12deg);clip-path:polygon(0 0,100% 0,100% 100%,50% 82%,0 100%)}
.cseal .r2{right:22%;transform:rotate(-12deg);clip-path:polygon(0 0,100% 0,100% 100%,50% 82%,0 100%)}
.cping{position:absolute;inset:0;border-radius:50%;border:2px solid #6b3dff;opacity:0}
.cshine{position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-18deg);pointer-events:none;opacity:0}
@media (prefers-reduced-motion:no-preference){
  .cert{animation:certcycle 7.5s ease-in-out infinite}
  .cframe .c1{animation:cframe 7.5s ease-in-out infinite}
  .cbrand,.ctitle,.cdiv{animation:cfade1 7.5s ease-in-out infinite}
  .ctext{animation:cfade2 7.5s ease-in-out infinite}
  .sig{animation:csig 7.5s ease-in-out infinite}
  .siglab{animation:csiglab 7.5s ease-in-out infinite}
  .cseal{animation:cstamp 7.5s cubic-bezier(.3,1.4,.4,1) infinite}
  .cping{animation:cping 7.5s ease-out infinite}
  .cshine{animation:cshine 7.5s ease-in-out infinite}
}
@keyframes certcycle{0%{opacity:0;transform:translateY(22px) rotate(-6deg) scale(.96)}4%,91%{opacity:1;transform:translateY(0) rotate(-3deg) scale(1)}97%,100%{opacity:0;transform:translateY(-10px) rotate(-3deg) scale(1)}}
@keyframes cframe{0%,2%{stroke-dashoffset:1}14%,100%{stroke-dashoffset:0}}
@keyframes cfade1{0%,7%{opacity:0;transform:translateY(8px)}15%,100%{opacity:1;transform:none}}
@keyframes cfade2{0%,14%{opacity:0;transform:translateY(8px)}22%,100%{opacity:1;transform:none}}
@keyframes csig{0%,20%{stroke-dashoffset:1}38%,100%{stroke-dashoffset:0}}
@keyframes csiglab{0%,34%{opacity:0}40%,100%{opacity:1}}
@keyframes cstamp{0%,40%{opacity:0;transform:rotate(-30deg) scale(2.6)}46%{opacity:1;transform:rotate(-6deg) scale(.88)}50%{transform:rotate(-9deg) scale(1.06)}54%,100%{opacity:1;transform:rotate(-8deg) scale(1)}}
@keyframes cping{0%,44%{opacity:0;transform:scale(1)}46%{opacity:.8}64%,100%{opacity:0;transform:scale(2.3)}}
@keyframes cshine{0%,60%{left:-60%;opacity:0}62%{opacity:1}78%,100%{left:130%;opacity:0}}

@media (max-width:960px){
  .hero .wrap,.compare,.archive,.two,.contact{grid-template-columns:1fr}
  .hero .wrap{min-height:0}
  .stage{height:560px}
  .steps,.cases{grid-template-columns:1fr}
  .route{grid-template-columns:1fr}
  .pillars{grid-template-columns:1fr}
  .contact-top{grid-template-columns:1fr}
  .cert-wrap{justify-self:start}
  .chat{justify-self:start}
  .scale{height:500px;transform:scale(.9);transform-origin:center top}
  .channels{grid-template-columns:1fr 1fr}
  .rail{display:none}
  .hero .wrap{grid-template-columns:1fr}
  .pub{padding:38px 28px}
  .teasers{grid-template-columns:1fr 1fr}
  .results{grid-template-columns:1fr 1fr;gap:28px 0}
  .res:nth-child(3){border-left:0;padding-left:0}
  .cp,.cp:nth-child(even){grid-template-columns:1fr;position:static;padding:34px 26px;gap:28px}
  .cp:nth-child(even) .cp-text{order:0}
  .formats{grid-template-columns:1fr 1fr}
  .stats{grid-template-columns:1fr;gap:26px}
  .stat{border-left:0;padding:0 0 22px;border-bottom:1px solid var(--line)}
  .svc{grid-template-columns:1fr;gap:8px}
  .foot{grid-template-columns:1fr 1fr}
  .foot>div:first-child{grid-column:1/-1}
  .section{padding:72px 0}
}
@media (max-width:760px){
  .menu-btn{display:inline-block}
  .nav{display:none;position:absolute;left:0;right:0;top:76px;background:#6b3dff;border-bottom:1px solid rgba(255,255,255,.14);flex-direction:column;align-items:stretch;padding:14px 24px 22px;gap:4px}
  .nav.open{display:flex}
  .nav a{font-size:20px}
  .nav .btn{margin:10px 0 0;text-align:center}
  .formats{grid-template-columns:1fr}
  .row2{grid-template-columns:1fr}
  .facts{grid-template-columns:1fr}
  .channels{grid-template-columns:1fr}
  .teasers{grid-template-columns:1fr}
  .results{grid-template-columns:1fr}
  .res,.res:nth-child(3){border-left:0;padding:0 0 18px;border-bottom:1px solid var(--line)}
  .slot{width:84%}
  .slots::before{width:320px;height:320px;right:-30px}
}
/* ===== v26: audit fixes ===== */
.bd .won{font-size:13px}
.pre2{font-size:13px}
@media (max-width:960px){
  .tz{min-height:0;gap:26px}
}
@media (max-width:760px){
  .pub-orbs i:nth-child(3){display:none}
  .pub-orbs i:nth-child(2){right:18px;bottom:18px;width:44px;height:44px}
  .pub-orbs i:nth-child(1){width:110px;height:110px;right:-34px;top:-40px}
}
@media (max-width:960px){
  .hero .wrap{grid-template-columns:minmax(0,1fr)}
  .hero .wrap>*{min-width:0}
}
@media (max-width:600px){
  .scale{width:500px;max-width:none;height:560px;justify-self:start;margin-left:calc(50% - 250px);transform:scale(.66);transform-origin:center top;margin-bottom:-200px}
  .stage{height:520px}
  .stage::before{width:300px;height:300px}
  .facts2{grid-template-columns:1fr;gap:14px}
  .facts2 div{grid-template-columns:auto 1fr;column-gap:16px;align-items:start}
  .facts2 b{grid-row:span 2}
}

/* email chooser */
.mailpop{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);width:min(92vw,400px);background:#fff;color:#1c0a5c;border:1px solid var(--line);border-radius:22px;box-shadow:0 24px 60px rgba(20,6,70,.35);padding:18px 18px 16px;z-index:210;display:grid;gap:10px}
.mp-head{display:flex;justify-content:space-between;align-items:center}
.mp-title{margin:0!important;font:800 20px var(--display);letter-spacing:-.01em}
.mp-x{border:0;background:transparent;font-size:28px;line-height:1;color:#5b4b96;cursor:pointer;padding:0 4px}
.mp-sub{margin:0!important;font-size:14px;color:#5b4b96;max-width:none!important}
.mp-btn{display:block;text-align:center;text-decoration:none;font:700 16px var(--display);padding:12px 16px;border-radius:999px;background:#6b3dff;color:#fff!important;border:0;cursor:pointer;transition:background .2s,transform .2s}
.mp-btn:hover,.mp-btn:focus-visible{background:#2b1180;transform:translateY(-2px)}
.mp-alt{background:transparent;color:#6b3dff!important;border:2px solid #6b3dff}
.mp-alt:hover,.mp-alt:focus-visible{background:#6b3dff;color:#fff!important}
.linkbtn{background:none;border:0;padding:0;font:700 inherit;font-family:inherit;color:#6b3dff;text-decoration:underline;cursor:pointer}

/* copied-email toast */
.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translate(-50%,20px);background:#2b1180;color:#fff;font:600 15px var(--display);padding:12px 22px;border-radius:999px;box-shadow:0 14px 34px rgba(20,6,70,.35);opacity:0;pointer-events:none;transition:opacity .25s ease,transform .3s cubic-bezier(.2,.9,.3,1.2);z-index:200;max-width:calc(100vw - 32px);text-align:center}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* LinkedIn: small icon next to the email */
.fcontact{display:flex;align-items:center;gap:12px}
.fcontact .fli{width:48px;height:48px;padding:0;gap:0;justify-content:center;flex:none}
.fcontact .fli svg{width:22px;height:22px;flex:none}
@media (max-width:960px){.fcontact{flex-wrap:nowrap;gap:10px;max-width:100%}.fcontact .fmail{font-size:14px;padding:6px 6px 6px 16px;gap:10px;min-width:0}.fcontact .fmail i{width:34px;height:34px;font-size:18px}.fcontact .fli{width:44px;height:44px}.fcontact .fli svg{width:20px;height:20px}}
@media (max-width:359px){.fcontact{flex-wrap:wrap}}

/* ===== menu icon + LinkedIn ===== */
.menu-btn{width:48px;height:48px;padding:0;place-items:center;border:1.5px solid rgba(255,255,255,.4);border-radius:50%;background:none;cursor:pointer}
@media (max-width:960px){.menu-btn{display:grid}}
.menu-btn .bars{position:relative;display:block;width:22px;height:16px}
.menu-btn .bars i{position:absolute;left:0;width:100%;height:2.5px;border-radius:2px;background:#fff;transition:transform .3s ease,opacity .2s ease,top .3s ease}
.menu-btn .bars i:nth-child(1){top:0}
.menu-btn .bars i:nth-child(2){top:6.75px}
.menu-btn .bars i:nth-child(3){top:13.5px}
.menu-btn[aria-expanded="true"] .bars i:nth-child(1){top:6.75px;transform:rotate(45deg)}
.menu-btn[aria-expanded="true"] .bars i:nth-child(2){opacity:0}
.menu-btn[aria-expanded="true"] .bars i:nth-child(3){top:6.75px;transform:rotate(-45deg)}
.fright{display:flex;align-items:center;gap:12px}
.fli{display:inline-flex;align-items:center;gap:10px;height:44px;padding:0 18px 0 14px;border-radius:999px;border:2px solid #6b3dff;color:#6b3dff;font:700 16px var(--display);text-decoration:none;transition:background .25s,color .25s,transform .25s}
.fli:hover,.fli:focus-visible{background:#6b3dff;color:#fff;transform:translateY(-3px)}

/* hero goal chips: every chip looks the same */
button.oc[aria-pressed="true"]{background:#fff;color:#1c0a5c;box-shadow:0 14px 30px rgba(20,6,70,.3)}
button.oc[aria-pressed="true"]::before{background:#6b3dff}

/* ===== creative footer ===== */
.site-footer{position:relative;overflow:hidden;padding:52px 0 0}
.fdisc{position:absolute;border-radius:50%;pointer-events:none}
.fd1{width:360px;height:360px;right:-110px;top:-170px;background:#f3eeff}
.fd2{width:130px;height:130px;left:41%;top:-50px;background:#f8f5ff}
.foot-top{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:36px;align-items:center}
.flinks{justify-content:center}
.fmail{display:inline-flex;align-items:center;gap:14px;background:#6b3dff;color:#fff!important;text-decoration:none!important;border-radius:999px;padding:8px 8px 8px 24px;font:700 17px var(--display);box-shadow:0 12px 30px rgba(107,61,255,.28);transition:background .25s,transform .25s}
.fmail i{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#f4ecdf;color:#2b1180;font-style:normal;font-size:20px;transition:transform .3s}
.fmail:hover{background:#2b1180;transform:translateY(-3px)}
.fmail:hover i{transform:rotate(-45deg)}
.fmeta{position:relative;align-items:center}
.totop{width:44px;height:44px;border-radius:50%;border:2px solid #6b3dff;background:transparent;color:#6b3dff;font:700 20px var(--display);cursor:pointer;display:grid;place-items:center;transition:background .25s,color .25s,transform .25s}
.totop:hover{background:#6b3dff;color:#fff;transform:translateY(-4px)}
.fbig{position:relative;display:block;margin-top:14px;text-align:center;white-space:nowrap;overflow:hidden;font:800 clamp(2.5rem,9.4vw,10.5rem)/1 var(--display);letter-spacing:-.035em;color:#eee8ff;height:.74em;padding-top:.02em;user-select:none}
.fbig span{display:inline-block;transition:transform .3s cubic-bezier(.2,.9,.3,1.4),color .3s ease}
.fbig span:hover{transform:translateY(-.08em);color:#6b3dff}
.js .fbig span{transform:translateY(105%);transition:transform .8s cubic-bezier(.2,.8,.2,1) calc(var(--i) * .035s),color .3s ease}
.js .fbig.in span{transform:none}
.js .fbig.in span:hover{transform:translateY(-.08em);transition:transform .3s cubic-bezier(.2,.9,.3,1.4),color .3s ease}
@media (max-width:960px){
  .foot-top{grid-template-columns:1fr;gap:22px;justify-items:start}
  .flinks{justify-content:flex-start}
  .fbig{font-size:clamp(1.6rem,9vw,4rem)}
}

/* ===== about page ===== */
.about-hero .contact-top{align-items:center}
.loop{position:relative;width:100%;max-width:420px;aspect-ratio:1;justify-self:end}
.lring{position:absolute;inset:0;width:100%;height:100%}
.lring circle{fill:none}
.ring-bg{stroke:rgba(255,255,255,.18);stroke-width:2}
.ring-bg.r2{stroke:rgba(255,255,255,.1)}
.ring-dash{stroke:rgba(255,255,255,.55);stroke-width:2.5;stroke-dasharray:3 11;stroke-linecap:round}
.lorbit{position:absolute;inset:0}
.lorbit i{position:absolute;left:50%;top:12.5%;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:#f4ecdf;box-shadow:0 0 0 7px rgba(244,236,223,.22)}
.lcore{position:absolute;left:50%;top:44%;width:34%;height:auto;translate:-50% -50%;filter:drop-shadow(0 16px 30px rgba(20,6,70,.35))}
.lcap{position:absolute;left:0;right:0;top:57%;margin:0!important;text-align:center;font:600 15px var(--display);color:#f3efff;max-width:none!important}
.lc{position:absolute;transform:translate(-50%,-50%);padding:9px 20px;border-radius:999px;background:rgba(255,255,255,.16);color:#fff;font:700 18px var(--display);white-space:nowrap;border:1.5px solid rgba(255,255,255,.35)}
.lc0{left:50%;top:12.5%}.lc1{left:87.5%;top:50%}.lc2{left:50%;top:87.5%}.lc3{left:12.5%;top:50%}
@media (prefers-reduced-motion:no-preference){
  .lorbit{animation:spin 8s linear infinite}
  .ring-dash{animation:marchring 3s linear infinite}
  .lcore{animation:corepulse 4s ease-in-out infinite}
  .lc{animation:lchip 8s ease-in-out infinite;animation-delay:calc(var(--i) * 2s - .25s)}
  .about-hero h1,.about-hero .contact-top p{animation:fadeup .8s cubic-bezier(.2,.8,.2,1) both}
  .about-hero .contact-top p{animation-delay:.15s}
}
@keyframes marchring{to{stroke-dashoffset:-56}}
@keyframes corepulse{0%,100%{scale:1}50%{scale:1.06}}
@keyframes lchip{0%{background:#fff;color:#2b1180;scale:1.14;box-shadow:0 0 0 8px rgba(255,255,255,.2)}12%{background:#fff;color:#2b1180;scale:1.1}26%,100%{background:rgba(255,255,255,.16);color:#fff;scale:1;box-shadow:none}}
@keyframes fadeup{from{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}
/* highlighted words */
.hl{background:linear-gradient(transparent 60%,rgba(107,61,255,.3) 60%) no-repeat;background-size:100% 100%;color:inherit;padding:0 2px;border-radius:2px}
.js .hl{background-size:0% 100%;transition:background-size .9s cubic-bezier(.3,.7,.2,1) .5s}
.js .in .hl{background-size:100% 100%}
.js .in .hl:nth-of-type(2){transition-delay:.9s}
.js .in .hl:nth-of-type(3){transition-delay:1.3s}
/* name equation */
.eq{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:18px;align-items:stretch;margin-top:44px}
.eqcard,.eqres{border-radius:28px;padding:30px 28px 32px;display:flex;flex-direction:column}
.eqcard h3{font:800 clamp(2.6rem,4.4vw,4rem)/1 var(--display);letter-spacing:-.03em;margin:12px 0 14px}
.eqcard p{max-width:34ch}
.eqtag{font:700 13px var(--text);border:1.5px solid currentColor;border-radius:999px;padding:3px 12px;align-self:flex-start}
.e1{background:var(--lilac);color:#1c0a5c}.e1 p{color:#2b1c78}
.e2{background:#2b1180;color:#fff}.e2 p{color:#d9cff5}
.eqop{align-self:center;font:800 clamp(2.4rem,4vw,3.6rem)/1 var(--display);color:#6b3dff}
.eqres{background:#6b3dff;color:#fff;justify-content:center;align-items:flex-start;gap:16px;box-shadow:0 26px 60px rgba(107,61,255,.35)}
.eqres img{width:100%;max-width:230px;height:auto}
.eqres p{color:#ece6ff;font:600 1.05rem var(--display);max-width:none}
.js .eq .e1{opacity:0;translate:-46px 0;transition:opacity .7s ease .1s,translate .8s cubic-bezier(.2,.8,.2,1) .1s}
.js .eq .e2{opacity:0;translate:46px 0;transition:opacity .7s ease .1s,translate .8s cubic-bezier(.2,.8,.2,1) .1s}
.js .eq .eqop{opacity:0;scale:.3;transition:opacity .4s ease .75s,scale .5s cubic-bezier(.2,1.6,.4,1) .75s}
.js .eq .op2{transition-delay:1.15s}
.js .eq .eqres{opacity:0;scale:.9;transition:opacity .6s ease 1.3s,scale .7s cubic-bezier(.2,1.4,.4,1) 1.3s}
.js .eq.in .e1,.js .eq.in .e2{opacity:1;translate:0 0}
.js .eq.in .eqop{opacity:1;scale:1}
.js .eq.in .eqres{opacity:1;scale:1}
/* traits */
.traits{margin-top:36px;border-top:1px solid var(--line)}
.trait{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:32px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line);transition:padding-left .35s ease,background .35s ease}
.trait:hover{padding-left:18px;background:linear-gradient(90deg,rgba(107,61,255,.07),transparent)}
.trait h3{font:800 clamp(2.2rem,4.6vw,3.8rem)/1 var(--display);letter-spacing:-.03em;color:var(--ink)}
.trait p{color:var(--muted);font-size:1.12rem;max-width:44ch}
@media (max-width:960px){
  .eq{grid-template-columns:1fr;gap:12px}
  .eqop{justify-self:center}
  .trait{grid-template-columns:1fr;gap:10px}
  .loop{justify-self:center;max-width:340px}
  .lc{font-size:15px;padding:7px 14px}
}

/* ===== launch pages ===== */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.consent{font-size:14px;color:var(--muted)}
.consent a{color:var(--violet-text)}
.prose{max-width:74ch}
.prose h2{font:800 clamp(1.5rem,2.4vw,2rem)/1.1 var(--display);letter-spacing:-.02em;margin:44px 0 12px;color:var(--ink)}
.prose h2:first-child{margin-top:0}
.prose h3{font:700 1.2rem var(--display);margin:24px 0 6px}
.prose p,.prose li{color:var(--ink);opacity:.92}
.prose p{margin:0 0 14px}
.prose ul{margin:0 0 14px;padding-left:1.2em}
.prose li{margin:6px 0}
.prose a{color:var(--violet-text);font-weight:600}
.prose .meta{color:var(--muted);font-size:15px}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:40px}
.duo .pillar h3{font-size:clamp(2.6rem,4vw,3.6rem)}
.about-two{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start}
.about-two p{color:var(--muted);font-size:1.12rem;max-width:58ch}
.about-two p+p{margin-top:16px}
.find{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:36px}
.find .pillar{min-height:0}
.pillar.plain{background:#fff!important;color:#1c0a5c!important;border:1px solid var(--line)}
.pillar.plain small{color:#6b3dff!important}
.pillar.plain p{color:#5b4b96!important}
.find .pillar p{max-width:none}
.err404{min-height:52vh;display:grid;align-content:center}
@media (max-width:960px){.duo,.about-two,.find{grid-template-columns:1fr}}
