.t-light{--bg:#FFFFFF;--bg2:#F4F6FA;--surface:#FFFFFF;--surface2:#F8F9FC;--line:#DDE2EC;--line2:#C9D1E0;--ink:#0B0D12;--ink2:#1E2A45;--mute:#3D4A66;--accent:#1D4ED8;--accent-soft:#E6EDFF;--ok:#0E7A4E;--ok-soft:#E6F5EC;--warn:#8F5300;--warn-soft:#FFF3DC;--bad:#B4232F;--bad-soft:#FDECEE;--btn:#1D4ED8;--btn-ink:#FFFFFF;--cta:#0B0D12;--tint-violet:#F4F1FF;--tint-cyan:#E9F7FB;--tint-mint:#E9F7EF;--tint-pink:#FDEFF7;--pink:#B8146F;--cyan:#0A6F86;--shadow:0 1px 2px rgba(11,13,18,.04),0 12px 32px -12px rgba(11,13,18,.12)}
.t-dark{--bg:#0E0F12;--bg2:#121317;--surface:#17181D;--surface2:#1B1C22;--line:#25272E;--line2:#30333B;--ink:#F2F3F5;--ink2:#C4C7D0;--mute:#959AA6;--accent:#7FA6FF;--accent-soft:#15254A;--ok:#4BD89A;--ok-soft:#10271C;--warn:#F2B451;--warn-soft:#2B2210;--bad:#FF7A85;--bad-soft:#2E1418;--btn:#7FA6FF;--btn-ink:#0B0D12;--cta:#0A1B3F;--tint-violet:#16132A;--tint-cyan:#0E1F24;--tint-mint:#0F2018;--tint-pink:#241322;--pink:#FF8AD0;--cyan:#5ED6EE;--shadow:0 1px 2px rgba(0,0,0,.3),0 16px 40px -16px rgba(0,0,0,.6)}
.page{background:var(--bg);color:var(--ink);font-family:Geist,ui-sans-serif,system-ui,sans-serif;transition:background-color .25s ease,color .25s ease;-webkit-font-smoothing:antialiased}
.page *{box-sizing:border-box}
.band-navy,.band-black{--ink:#FFFFFF;--ink2:#E3EAF8;--mute:#BCC8E2;--accent:#8FB2FF;--accent-soft:#1A3A7A;--btn:#FFFFFF;--btn-ink:#0A1B3F;--ok:#5BE3A4;--ok-soft:#123A2A;--warn:#F5C063;--warn-soft:#3A2C10;--bad:#FF8A94;--bad-soft:#3A1A1F;--pink:#FF9AD5;--cyan:#6FE0F5;--tint-violet:#14306A;background:var(--bg);color:var(--ink)}
.band-navy{--bg:#0A1B3F;--bg2:#0F2552;--surface:#10265A;--surface2:#132E69;--line:#22407E;--line2:#2D4E94}
.band-black{--bg:#0B0D12;--bg2:#151821;--surface:#141821;--surface2:#1A1F2B;--line:#272C3A;--line2:#343A4B}
.band-navy .btn-secondary,.band-black .btn-secondary{background:transparent;color:#FFFFFF;border-color:rgba(255,255,255,.35)}
.mono{font-family:"Geist Mono",ui-monospace,monospace}
a{color:var(--ink);text-decoration:none}a:hover{color:var(--accent)}
.navlink{color:var(--ink2);font-size:14px;font-weight:500;padding:8px 12px;border-radius:8px}
.navlink:hover{color:var(--ink);background:var(--bg2)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:10px;font-size:15px;font-weight:600;border:1px solid transparent;cursor:pointer;transition:transform .15s ease,background-color .15s ease}
.btn-primary{background:var(--btn);color:var(--btn-ink)}
.btn-primary:hover{color:var(--btn-ink);transform:translateY(-1px)}
.btn-secondary{background:var(--surface);color:var(--ink);border-color:var(--line2)}
.btn-secondary:hover{color:var(--ink);background:var(--bg2)}
.iconbtn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink2);cursor:pointer}
.iconbtn:hover{color:var(--ink);background:var(--bg2)}
.tab{border:1px solid var(--line);background:var(--surface);color:var(--ink2);border-radius:999px;padding:9px 16px;font-size:14px;font-weight:500;cursor:pointer;min-height:40px}
.tab-on{background:var(--btn);color:var(--btn-ink);border-color:var(--btn)}
.faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 0;background:none;border:0;color:var(--ink);font:inherit;font-size:17px;font-weight:600;text-align:left;cursor:pointer}
.flink{color:var(--mute);font-size:14px}
.flink:hover{color:var(--ink)}
.desk{display:flex}
.mob{display:none}
@media (max-width:920px){.desk{display:none}.mob{display:inline-flex}}
@media (prefers-reduced-motion:reduce){.page,.btn{transition:none}}
.navon{color:var(--ink);font-weight:600}
.prompt{width:100%;text-align:left;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:12px;padding:14px 16px;font:inherit;font-size:15px;cursor:pointer;min-height:48px}
.prompt:hover{border-color:var(--line2)}
.prompt-on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);background:var(--tint-violet)}
.lbl{display:block;font-size:14px;font-weight:500;color:var(--ink)}
.fld{display:block;width:100%;margin-top:6px;min-height:44px;padding:10px 14px;border:1px solid var(--line2);border-radius:10px;background:var(--surface);color:var(--ink);font:inherit;font-size:15px}
.fld:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
select.fld{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%2394a3b8' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:18px;padding-right:40px}
.role{flex:1 1 220px;text-align:left;border:1px solid var(--line2);background:var(--surface);color:var(--ink);border-radius:12px;padding:16px;font:inherit;cursor:pointer}
.role-on{border:2px solid var(--accent);background:var(--tint-violet);padding:15px}
.route{display:block;padding:20px 0;border-top:1px solid var(--line)}
.route:hover .rt{color:var(--accent)}
.copy{border:1px solid var(--line2);background:var(--surface);color:var(--ink2);border-radius:8px;padding:6px 12px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;min-height:36px;min-width:72px}
.chip{border:1px solid var(--line);background:var(--surface);color:var(--ink2);border-radius:999px;padding:8px 14px;font-size:14px;font-weight:500;cursor:pointer;min-height:40px;font-family:inherit}
.chip-on{background:var(--btn);color:var(--btn-ink);border-color:var(--btn)}
.frow{display:block;padding:18px 0;border-top:1px solid var(--line)}
.frow:hover .fname{color:var(--accent)}
.sec li{padding:10px 0;border-top:1px solid var(--line);font-size:15px;line-height:1.55;color:var(--ink2)}
.ltab{display:block;width:100%;text-align:left;border:0;background:none;color:var(--ink2);font:inherit;font-size:15px;font-weight:500;padding:10px 14px;border-radius:10px;cursor:pointer;min-height:44px}
.ltab:hover{background:var(--bg2);color:var(--ink)}
.ltab-on{background:var(--accent-soft);color:var(--accent);font-weight:600}
.doc h2{margin:36px 0 0;font-size:20px;letter-spacing:-0.02em}
.doc p,.doc li{font-size:16px;line-height:1.7;color:var(--ink2)}
.doc p{margin:10px 0 0}
.doc ul{margin:10px 0 0;padding-left:20px}
.ph{background:var(--accent-soft);color:var(--accent);border-radius:4px;padding:0 4px;font-weight:500}
.cmp td,.cmp th{padding:14px 16px;border-top:1px solid var(--line);text-align:left;font-size:15px}
.cmp th{font-weight:600}
.yes{color:var(--ok);font-weight:600}
.no{color:var(--mute)}
[hidden]{display:none!important}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg)}
.btn{font-family:inherit}
html.t-light .ico-sun{display:none} html.t-dark .ico-moon{display:none}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 0;cursor:pointer;font-size:17px;font-weight:600;color:var(--ink)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";color:var(--mute);font-size:22px;font-weight:400;line-height:1}
.faq-item[open] summary::after{content:"\2212"}
.faq-item p{margin:0;padding:0 0 22px;max-width:680px;font-size:16px;line-height:1.65;color:var(--ink2)}
.partner-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:16px}
.partner-head{display:flex;gap:14px;align-items:center}
.partner-head h3{margin:0;font-size:17px}
.partner-badge{width:48px;height:48px;border-radius:12px;background:#0A1B3F;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}
.partner-sub{margin:2px 0 0;font-size:13px;color:var(--mute)}
.partner-bio{margin:0;font-size:15px;line-height:1.55;color:var(--ink2)}
.partner-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}
.partner-links .btn{min-height:40px;font-size:14px}
.legal-nav a{display:block;padding:10px 14px;border-radius:10px;font-size:15px;font-weight:500;color:var(--ink2)}
.legal-nav a:hover{background:var(--bg2);color:var(--ink)}
.legal-nav a[aria-current="page"]{background:var(--accent-soft);color:var(--accent);font-weight:600}
/* ---- motion ---- */
.btn{transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease}
.btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px -10px rgba(10,27,63,.45)}
.btn:active{transform:translateY(0)}
.btn svg{transition:transform .18s ease}.btn:hover svg{transform:translate(2px,-2px)}
.lift{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.lift:hover{transform:translateY(-4px);box-shadow:0 18px 40px -20px rgba(10,27,63,.45);border-color:var(--accent)!important}
.navlink,.flink,.frow,.route{transition:color .15s ease,background-color .15s ease}
.frow:hover,.route:hover{padding-left:6px;transition:padding .2s ease,color .15s ease}
html.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
html.js .reveal.in{opacity:1;transform:none}
.hl{position:relative;white-space:nowrap}
.hl::after{content:"";position:absolute;left:0;right:0;bottom:.04em;height:.06em;border-radius:2px;background:currentColor;opacity:.55;transform:scaleX(0);transform-origin:left;animation:hl-draw .9s .5s ease forwards}
@keyframes hl-draw{to{transform:scaleX(1)}}
.float-card{animation:float 5s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.hero-shot{animation:rise .8s .15s ease both}
@keyframes rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
.pulse{display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor;margin-right:6px;vertical-align:middle;animation:pulse 1.6s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}
[data-live-count]{transition:color .3s ease}
[data-live-count].bump{color:var(--ok)}
tr.row-new{animation:row-in .6s ease}
@keyframes row-in{from{opacity:0;transform:translateY(-8px);background:var(--accent-soft)}to{opacity:1;transform:none}}
.ico-tile{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;color:#FFFFFF;margin-bottom:14px;box-shadow:0 6px 16px -8px rgba(10,27,63,.5);transition:transform .22s ease}
.glance-ico,.step-ico{color:#FFFFFF!important;box-shadow:0 6px 16px -8px rgba(10,27,63,.5)}
:nth-child(4n+1)>.glance-ico,:nth-child(4n+1)>div>.step-ico{background:#1D4ED8!important}
:nth-child(4n+2)>.glance-ico,:nth-child(4n+2)>div>.step-ico{background:#0E7A4E!important}
:nth-child(4n+3)>.glance-ico,:nth-child(4n+3)>div>.step-ico{background:#C2410C!important}
:nth-child(4n+4)>.glance-ico,:nth-child(4n+4)>div>.step-ico{background:#7C3AED!important}
.lift:hover .ico-tile{transform:rotate(-6deg) scale(1.06)}
.flow-line{position:relative;height:18px;margin-left:22px;width:2px;background:var(--line2);overflow:hidden}
.flow-dot{position:absolute;left:-2px;top:-6px;width:6px;height:6px;border-radius:50%;background:var(--accent);animation:flow 2.4s linear infinite}
@keyframes flow{from{top:-6px}to{top:18px}}
.pill{display:inline-flex;align-items:center;border:1px solid var(--line2);border-radius:999px;padding:7px 14px;font-size:14px;font-weight:500;color:var(--ink);background:var(--surface);transition:background-color .15s ease,border-color .15s ease,transform .15s ease}
.pill:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}
.step-num{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:var(--btn);color:var(--btn-ink);font-size:18px;font-weight:700}
.step-ico{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:var(--accent-soft);color:var(--accent);transition:transform .22s ease}
.step-card{transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.step-card:hover{transform:translateY(-4px);border-color:var(--accent)!important;box-shadow:0 18px 40px -20px rgba(0,0,0,.6)}
.step-card:hover .step-ico{transform:rotate(-8deg) scale(1.08)}
.step-arrow{position:absolute;right:-24px;top:50%;transform:translateY(-50%);width:20px;text-align:center;color:var(--accent);font-size:20px;font-weight:700}
@media (max-width:900px){.step-arrow{display:none}}
.hero-grid{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56'%3E%3Cpath d='M56 0H0V56' fill='none' stroke='%23ffffff' stroke-opacity='.06'/%3E%3C/svg%3E");background-position:center top}
.btn-lg{min-height:54px;padding:0 26px;font-size:16px;border-radius:12px}
.hero-stat{padding:20px 16px;border-right:1px solid var(--line)}
.hero-stat:last-child{border-right:0}
.hero-stat-v{margin:0;font-size:34px;font-weight:700;letter-spacing:-.03em;color:var(--ink)}
.hero-stat-l{margin:4px 0 0;font-size:13px;line-height:1.4;color:var(--mute)}
.hero-logo{display:inline-flex;align-items:center;gap:8px;color:var(--ink2);font-weight:600;font-size:14px}
.hero-logo img{width:20px;height:20px;border-radius:5px}
.float-card-2{animation-delay:-2.5s}
@media (max-width:760px){.hero-stat{border-right:0;border-bottom:1px solid var(--line)}.float-card-2{display:none!important}}
.glance-ico{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:12px;background:var(--btn);color:var(--btn-ink);transition:transform .22s ease}
.glance.band-navy .glance-ico{background:#FFFFFF;color:#0A1B3F}
.glance:hover .glance-ico{transform:rotate(-8deg) scale(1.06)}
.mini-chip{border:1px solid var(--line2);border-radius:8px;padding:4px 10px;font-size:12px;font-weight:600;color:var(--ink2)}
.logo-tile{display:flex;align-items:center;justify-content:center;height:40px;border-radius:10px;background:#FFFFFF;border:1px solid #DDE2EC}
.logo-tile img{max-height:22px;max-width:70%;object-fit:contain}
.app-tile{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;padding:8px 10px;font-size:14px;font-weight:600;color:var(--ink)}
.app-tile img{width:22px;height:22px;border-radius:6px}
.feat-grid .frow{background:var(--surface);border:1px solid var(--line)!important;border-radius:14px;padding:18px 20px!important;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.feat-grid .frow:hover{transform:translateY(-3px);border-color:var(--accent)!important;box-shadow:0 14px 30px -18px rgba(10,27,63,.4);padding-left:20px!important}
@media (max-width:760px){[style*="position: sticky; top: 100px"]{position:static!important}}
@media (max-width:900px){.bento{grid-template-columns:1fr!important}.bento>*{grid-column:auto!important}}
@media (max-width:760px){[style*="grid-column: span 2"]{grid-column:auto!important}[style*="right: -12px"]{right:0!important}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}html.js .reveal{opacity:1;transform:none}.hl::after{transform:scaleX(1)}}
