/* =========================================================================
   IMOM Landing Page — standalone mockup build
   Mockup only. Sample data is flagged inline. See README.md.
   ========================================================================= */

:root{
  --gold:#F2B72E; --gold2:#FFD066; --goldink:#0B1220;
  --pos:#2ED47A; --neg:#FF6B7A; --prifg:#FFFFFF;
  --warnbg:#FFF4D6; --warnfg:#5B4306;
}

/* ---------- THEMES ---------- */
/* Ocean Cool (default): light, cool blue, white surfaces */
[data-theme="ocean"]{
  --page:#F3F8FF; --page2:#E8F2FF; --card:#FFFFFF; --line:#D7E6F8; --lineS:#AFCBEE;
  --ink:#0B2A52; --body:#43577A; --chip:#E1EFFD;
  --pri:#1868D6; --pri2:#1455B0; --grn:#1E7FE0; --grnink:#1455B0;
  --dk:#071B3D; --dk2:#0C2A5C; --dk3:#123A78; --dkline:#2E5A9C; --dktext:#FFFFFF; --dkbody:#C2D6F5;
  --glow1:rgba(47,123,255,.32); --glow2:rgba(30,127,224,.22);
  --medal:#071B3D; --logo:dark;
}
/* Skyline Ice: near-white, airy sky-blue */
[data-theme="ice"]{
  --page:#FBFDFF; --page2:#F2F8FE; --card:#FFFFFF; --line:#E2EEF8; --lineS:#BFDCF2;
  --ink:#10324F; --body:#4B6378; --chip:#E6F3FC;
  --pri:#2A93D6; --pri2:#1F79B8; --grn:#2AA6D6; --grnink:#1F82AC;
  --dk:#0A2A42; --dk2:#103C5C; --dk3:#164E78; --dkline:#2E6A93; --dktext:#FFFFFF; --dkbody:#C9E2F2;
  --glow1:rgba(90,190,255,.28); --glow2:rgba(46,212,122,.14);
  --medal:#0A2A42; --logo:dark;
}
/* Royal Navy: deep navy, gold accents */
[data-theme="navy"]{
  --page:#F4F7FC; --page2:#EAF0FA; --card:#FFFFFF; --line:#DCE4F0; --lineS:#9DB2D8;
  --ink:#0B2A66; --body:#4A5B7C; --chip:#E4ECFA;
  --pri:#0B2A66; --pri2:#1356A8; --grn:#1F64C8; --grnink:#154A96;
  --dk:#06142F; --dk2:#0B2350; --dk3:#12326F; --dkline:#1D3C7A; --dktext:#FFFFFF; --dkbody:#B7C5E4;
  --glow1:rgba(47,123,255,.32); --glow2:rgba(47,123,255,.18);
  --medal:#06142F; --logo:dark;
}
/* Graphite Blue: charcoal neutrals, blue accent */
[data-theme="graphite"]{
  --page:#F7F6F3; --page2:#EFEDE7; --card:#FFFFFF; --line:#E3E0D8; --lineS:#C3C0B6;
  --ink:#14161C; --body:#555A66; --chip:#ECEAE3;
  --pri:#14161C; --pri2:#2B2F3B; --grn:#3E8FD6; --grnink:#226CB0;
  --dk:#0B0D12; --dk2:#14171F; --dk3:#1D212C; --dkline:#2F3545; --dktext:#FFFFFF; --dkbody:#B4BAC8;
  --glow1:rgba(240,185,59,.18); --glow2:rgba(62,143,214,.22);
  --medal:#0B0D12; --logo:dark;
}
/* Sky White: fully light theme, white page, light-sky-blue accents, flat logo */
[data-theme="sky"]{
  --page:#FFFFFF; --page2:#F3F9FF; --card:#FFFFFF; --line:#DCEBFB; --lineS:#B7D7F5;
  --ink:#0E2C4D; --body:#4A5F7D; --chip:#E7F3FD;
  --pri:#2E8FE6; --pri2:#1E72C4; --grn:#2E8FE6; --grnink:#1E72C4;
  --dk:#F5FAFF; --dk2:#EAF4FE; --dk3:#DEEEFC; --dkline:#C7E2F8; --dktext:#0E2C4D; --dkbody:#4A5F7D;
  --glow1:rgba(46,143,230,.16); --glow2:rgba(46,143,230,.10);
  --medal:#EAF4FE; --logo:light;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Manrope',system-ui,-apple-system,sans-serif;background:var(--page);color:var(--ink);font-size:16px;line-height:1.5;overflow-x:hidden;transition:background .25s,color .25s}
a{color:inherit;text-decoration:none}
img{max-width:100%}
summary{list-style:none;cursor:pointer}
summary::-webkit-details-marker{display:none}
.serif{font-family:'Instrument Serif',serif;font-style:italic;font-weight:400}
.wrap{max-width:1240px;margin:0 auto;padding:0 24px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---------- animations ---------- */
@keyframes rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes spinr{to{transform:rotate(-360deg)}}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(46,212,122,.6)}70%{box-shadow:0 0 0 10px rgba(46,212,122,0)}100%{box-shadow:0 0 0 0 rgba(46,212,122,0)}}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes glow{0%,100%{opacity:.55}50%{opacity:1}}
@keyframes shine{from{transform:translateX(-120%)}to{transform:translateX(220%)}}
@keyframes nodeglow{0%,100%{box-shadow:0 0 0 0 rgba(242,183,46,0)}50%{box-shadow:0 0 0 6px rgba(242,183,46,.24)}}
@keyframes dash{to{stroke-dashoffset:-32}}
@keyframes grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes pop{from{opacity:0;transform:scaleY(0)}to{opacity:1;transform:scaleY(1)}}
@keyframes mk{from{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes swing{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}

.rv{animation:rise .8s cubic-bezier(.2,.7,.2,1) both}
.rv.io{animation:rise .8s cubic-bezier(.2,.7,.2,1) both}
[data-io]{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
[data-io].in{opacity:1;transform:translateY(0)}
.bob{animation:bob 6s ease-in-out infinite}
.bob2{animation:bob 7.5s ease-in-out -2.5s infinite}
.bob3{animation:bob 8s ease-in-out -4s infinite}
.spin{transform-origin:50px 50px;animation:spin 60s linear infinite}
.spinr{transform-origin:50px 50px;animation:spinr 90s linear infinite}
.live{animation:pulse 2s infinite}
.glow{animation:glow 5s ease-in-out infinite}
.node{animation:nodeglow 6s ease-in-out infinite}
.track{display:flex;width:max-content;animation:marquee 55s linear infinite}
.tick:hover .track{animation-play-state:paused}
.flow{stroke-dasharray:6 10;animation:dash 1.1s linear infinite}
.bar{transform-origin:left;animation:grow 1.1s cubic-bezier(.2,.7,.2,1) both}
.cd{transform-box:fill-box;transform-origin:bottom;animation:pop .5s ease both}
.mk{transform-box:fill-box;transform-origin:center;animation:mk .55s cubic-bezier(.3,1.6,.5,1) both}
.draw{stroke-dasharray:1;stroke-dashoffset:1;animation:draw 2.2s ease .3s forwards}
.sw{transform-box:fill-box;transform-origin:center;animation:swing 5s ease-in-out infinite}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none !important;transition:none !important}}

/* ---------- top theme strip (preview tool) ---------- */
.themestrip{background:#0A0B10;color:#C9CEDB;padding:10px 24px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 14px;font-size:13px;font-weight:600}
.themestrip .lbl{color:#8D95AB;letter-spacing:.12em;font-size:11px;font-weight:800}
.thm{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 14px 0 10px;border-radius:999px;border:1.5px solid rgba(255,255,255,.22);background:transparent;color:#C9CEDB;font:inherit;font-weight:700;cursor:pointer;transition:transform .2s,border-color .2s}
.thm:hover{transform:translateY(-2px);border-color:var(--gold)}
.thm.on{border-color:#F2B72E;background:rgba(242,183,46,.16);color:#FFFFFF}
.thm .sw2{width:16px;height:16px;border-radius:50%;border:1px solid rgba(255,255,255,.4)}

/* ---------- announcement ---------- */
.announce{background:var(--pri);color:var(--prifg);text-align:center;padding:10px 24px;font-size:14px;font-weight:600}
.announce .g{color:var(--gold2);font-weight:800}
.announce a{text-decoration:underline;color:var(--gold2)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;border-radius:14px;font-size:15px;font-weight:800;border:none;cursor:pointer;font-family:inherit}
.btn-gold{position:relative;overflow:hidden;background:var(--gold);color:var(--goldink);transition:transform .2s,box-shadow .2s,background .2s}
.btn-gold:hover{background:var(--gold2);transform:translateY(-3px);box-shadow:0 16px 34px rgba(0,0,0,.28)}
.btn-gold::before{content:"";position:absolute;top:0;bottom:0;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.65),transparent);transform:translateX(-120%)}
.btn-gold:hover::before{animation:shine .8s ease}
.btn-ghost{background:transparent;border:1px solid rgba(255,255,255,.3);color:#FFFFFF;transition:background .2s,border-color .2s,transform .2s}
.btn-ghost:hover{background:rgba(255,255,255,.1);border-color:var(--gold);transform:translateY(-3px)}
.btn-pri{background:var(--pri);color:#FFFFFF;transition:transform .2s,box-shadow .2s,background .2s}
.btn-pri:hover{background:var(--pri2);transform:translateY(-3px);box-shadow:0 16px 34px rgba(0,0,0,.22)}
.btn-line{background:transparent;border:1.5px solid var(--pri);color:var(--pri);transition:background .2s,color .2s,transform .2s}
.btn-line:hover{background:var(--pri);color:#FFFFFF;transform:translateY(-3px)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}

/* ---------- header ---------- */
.hero{position:relative;background:
  radial-gradient(900px 520px at 82% 8%,var(--glow1),transparent 62%),
  radial-gradient(700px 420px at 6% 90%,var(--glow2),transparent 62%),
  var(--dk);color:var(--dktext);overflow:hidden}
.swoosh{height:3px;background:linear-gradient(90deg,transparent,var(--gold) 20%,var(--gold2) 50%,var(--gold) 80%,transparent);box-shadow:0 0 22px var(--gold)}
header.bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 24px;background:#FFFFFF;border-radius:22px;padding:10px 14px 10px 22px;box-shadow:0 14px 40px rgba(0,0,0,.35);margin-top:22px}
header.bar img.wm{height:38px;width:auto;display:block}
nav.primary{display:flex;flex-wrap:wrap;align-items:center;gap:6px 26px;font-size:14px}
.nl{position:relative;color:#0B2A52;padding:6px 0;font-weight:600;transition:color .2s}
.nl:hover{color:var(--grn)}
.nl::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--gold);transition:width .25s}
.nl:hover::after{width:100%}
.headerbtns{display:flex;flex-wrap:wrap;align-items:center;gap:8px}

.herogrid{padding:58px 0 90px;display:flex;flex-wrap:wrap;align-items:center;gap:48px;position:relative}
.eyebrow{margin:0;display:inline-flex;align-items:center;gap:10px;padding:8px 16px;border-radius:999px;border:1px solid rgba(242,183,46,.5);background:rgba(242,183,46,.1);color:var(--gold2);font-size:13px;font-weight:700;letter-spacing:.04em}
.dot{width:8px;height:8px;border-radius:50%;background:var(--pos)}
.h1{margin:22px 0 0;font-weight:800;font-size:clamp(38px,5.4vw,74px);line-height:1.02;letter-spacing:-.035em;color:var(--dktext)}
.lead{margin:24px 0 0;max-width:600px;color:var(--dkbody);font-size:18px;line-height:1.65}
.herobtns{margin-top:32px;display:flex;flex-wrap:wrap;gap:14px}
.stats{margin-top:40px;display:flex;flex-wrap:wrap;gap:12px 36px}
.stats b{display:block;font-weight:800;font-size:32px;color:var(--dktext);letter-spacing:-.02em}
.stats span{color:var(--dkbody);font-size:13px;font-weight:600}
.disc{margin:20px 0 0;color:var(--dkbody);opacity:.8;font-size:12.5px;max-width:560px}

.logostage{flex:1 1 400px;min-width:0;display:flex;flex-direction:column;align-items:center;gap:26px}
.logoring{position:relative;width:min(380px,80%);aspect-ratio:1/1}
.logoring svg{position:absolute;left:-16%;top:-16%;width:132%;height:132%;pointer-events:none}
.logoface{position:relative;width:100%;height:100%;border-radius:50%;padding:7%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 38%,var(--dk3),var(--medal) 74%);box-shadow:0 0 0 1px rgba(255,255,255,.08),0 0 0 14px rgba(242,183,46,.08),0 30px 80px rgba(0,0,0,.4)}
.logoface img{width:100%;height:100%;object-fit:contain;display:block}
.ringpulse{position:absolute;left:50%;top:50%;width:112%;height:112%;transform:translate(-50%,-50%);border-radius:50%;border:1px solid var(--gold);pointer-events:none}
.toasts{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
.toast{background:#FFFFFF;color:#0B1B3B;border-radius:16px;padding:11px 16px;box-shadow:0 18px 40px rgba(0,0,0,.35)}
.toast p{margin:5px 0 0;font-size:12px;color:#4A5B7C}
.badge-buy{padding:3px 10px;border-radius:999px;background:#D9F6E6;color:#0B7A47;font-size:12px;font-weight:800}

/* ---------- broker marquee ---------- */
.tick{background:var(--card);border-bottom:1px solid var(--line);overflow:hidden}
.tickrow{display:flex;align-items:center}
.ticklabel{flex:none;padding:18px 24px;background:var(--pri);color:#FFFFFF;font-size:13px;font-weight:800;letter-spacing:.08em;white-space:nowrap}
.trackwrap{overflow:hidden;flex:1}
.brokerchip{display:inline-flex;align-items:center;gap:10px;padding:18px 30px;white-space:nowrap;font-size:16px;font-weight:700;color:var(--ink)}
.mono{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;border-radius:8px;background:var(--chip);color:var(--pri);font-size:13px;font-weight:800}
.mono.soon{background:var(--gold);color:var(--goldink)}

/* ---------- section scaffolding ---------- */
section{position:relative}
.section-pad{padding:100px 0}
.darksec{background:var(--dk);color:var(--dktext)}
.kicker{margin:0;font-size:12px;font-weight:800;letter-spacing:.2em;text-transform:uppercase}
.kicker.gold{color:var(--gold)}
.kicker.grn{color:var(--grn)}
h2.h2{margin:14px 0 0;font-weight:800;font-size:clamp(30px,4vw,52px);line-height:1.06;letter-spacing:-.03em}
.sub{margin:16px 0 0;font-size:17px;line-height:1.65}
.sub.light{color:var(--body)}
.sub.dark{color:var(--dkbody)}

/* ---------- super intelligence orbit ---------- */
.si-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:52px}
.si-stats{margin-top:30px;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px}
.si-stat{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:16px}
.si-stat b{display:block;font-weight:800;font-size:36px;color:var(--gold)}
.si-stat span{color:var(--dkbody);font-size:13px}
.si-note{margin:26px 0 0;padding:14px 18px;border-radius:14px;background:rgba(242,183,46,.1);border:1px solid rgba(242,183,46,.4);color:var(--gold2);font-size:14px;font-weight:600;line-height:1.55}
.orbit{flex:1 1 400px;min-width:0;display:flex;justify-content:center}
.orbitbox{position:relative;width:100%;max-width:520px;aspect-ratio:1/1}
.orbitbox svg{position:absolute;inset:0;width:100%;height:100%}
.orbitlogo{position:absolute;left:50%;top:50%;width:28%;transform:translate(-50%,-50%)}
.orbnode{position:absolute;transform:translate(-50%,-50%);padding:6px 11px;border-radius:999px;background:var(--dk3);border:1px solid var(--dkline);color:#FFFFFF;font-size:11.5px;font-weight:700;white-space:nowrap}

/* ---------- flow diagram ---------- */
.flowcard{background:var(--card);border:1px solid var(--line);border-radius:28px;padding:24px;overflow-x:auto;box-shadow:0 20px 50px rgba(0,0,0,.06)}
.flowcard svg{display:block;width:100%;min-width:880px;height:auto}
.fn{cursor:pointer}
.fn rect.nd,.fn circle.nd{transition:stroke .25s,fill .25s}
.fn:hover rect.nd{stroke:var(--gold)}
.modetabs{margin-top:20px;display:flex;flex-wrap:wrap;gap:10px}
.modetab{min-height:46px;padding:0 22px;border-radius:999px;font:inherit;font-weight:800;font-size:14px;cursor:pointer;transition:transform .2s}
.modetab:hover{transform:translateY(-2px)}
.modepanel{margin-top:18px;background:var(--dk);color:#FFFFFF;border-radius:24px;padding:30px;display:flex;flex-wrap:wrap;gap:30px 50px;border:1px solid var(--dkline)}
.modeinfo{flex:1 1 340px;min-width:0}
.modetag{display:inline-flex;gap:8px;flex-wrap:wrap}
.pill{padding:5px 12px;border-radius:999px;font-size:11.5px;font-weight:800}
.modeinfo h3{margin:16px 0 0;font-weight:800;font-size:30px;letter-spacing:-.02em;color:#FFFFFF}
.modeinfo .msub{margin:6px 0 0;color:var(--gold2);font-size:14px;font-weight:800}
.modeinfo p{margin:12px 0 0;color:var(--dkbody);font-size:15px;line-height:1.65}
.modesteps{flex:1 1 300px;min-width:0;list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;align-self:center}
.modesteps li{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:12px 16px;font-size:14px;font-weight:700;color:#FFFFFF}
.modesteps .n{flex:none;display:inline-flex;width:30px;height:30px;align-items:center;justify-content:center;border-radius:50%;background:var(--gold);color:var(--goldink);font-weight:800}

/* ---------- bento ---------- */
.bento{display:flex;flex-wrap:wrap;gap:18px}
.bc{border-radius:22px;transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s,border-color .3s}
.bc-light{background:var(--card);border:1px solid var(--line);padding:26px}
.bc-light:hover{transform:translateY(-7px);box-shadow:0 26px 50px rgba(0,0,0,.12);border-color:var(--grn)}
.bc-dark{background:var(--dk);color:#FFFFFF;border:1px solid var(--dkline);padding:26px}
.bc-dark:hover{transform:translateY(-6px);box-shadow:0 32px 60px rgba(0,0,0,.3)}
.scanrow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.6fr) minmax(0,1fr) minmax(0,1.5fr);align-items:center;gap:10px;padding:12px 8px;border-top:1px solid rgba(255,255,255,.1);border-radius:8px;transition:background .2s}
.scanrow:hover{background:var(--dk3)}
.scanhead{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.6fr) minmax(0,1fr) minmax(0,1.5fr);gap:10px;padding:14px 8px 8px;color:var(--dkbody);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.leanbadge{justify-self:start;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:800}
.barwrap{flex:1;height:6px;border-radius:3px;background:rgba(255,255,255,.12);overflow:hidden}
.pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.pillfilter{padding:5px 13px;border-radius:999px;font-size:11.5px;font-weight:800}
.chartwrap{position:relative;margin-top:14px}
.chartlegend{display:flex;flex-wrap:wrap;gap:14px;font-size:12px;font-weight:700;color:#DCE5FA}
.chartlegend span{display:inline-flex;align-items:center;gap:6px}
.chartcta{margin-top:14px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}

/* ---------- strategies ---------- */
.strat{position:relative;overflow:hidden;background:var(--dk2);border:1px solid var(--dkline);border-radius:20px;padding:20px;transition:transform .3s cubic-bezier(.2,.7,.2,1),border-color .3s,background .3s}
.strat:hover{transform:translateY(-7px);border-color:var(--gold);background:var(--dk3)}
.straitop{display:flex;align-items:center;justify-content:space-between;gap:10px}
.cattag{padding:4px 10px;border-radius:999px;font-size:10.5px;font-weight:800;letter-spacing:.04em}
.builtin{padding:3px 10px;border-radius:999px;background:var(--dk3);color:var(--dkbody);font-size:10.5px;font-weight:700}
.strat h3{margin:12px 0 0;font-weight:800;font-size:18px;letter-spacing:-.01em;color:#FFFFFF}
.strat p{margin:6px 0 0;color:var(--dkbody);font-size:13.5px;line-height:1.55}
.comingsoon-card{border:2px dashed var(--dkline);border-radius:20px;padding:20px;display:flex;flex-direction:column;justify-content:center}
.soon-badge{align-self:flex-start;padding:4px 10px;border-radius:999px;background:#3F3413;color:#F2CB6A;font-size:10.5px;font-weight:800}
.tiers{margin-top:40px;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.tiercard{border-radius:18px;padding:22px}
.tiercard p:first-child{margin:0;font-weight:800;font-size:18px;color:#FFFFFF}
.tiercard p:last-child{margin:8px 0 0;font-size:13.5px;color:var(--dkbody);line-height:1.55}
.timecallout{margin-top:28px;display:flex;flex-wrap:wrap;align-items:center;gap:16px;background:rgba(242,183,46,.08);border:1px solid rgba(242,183,46,.4);border-radius:18px;padding:20px 24px}
.timecallout .ico{flex:none;display:inline-flex;width:50px;height:50px;align-items:center;justify-content:center;border-radius:14px;background:var(--gold);color:var(--goldink)}
.timecallout b{display:block;font-weight:800;font-size:17px;color:#FFFFFF}
.timecallout p{margin:4px 0 0;color:var(--dkbody);font-size:14px;line-height:1.55}
.journey{margin-top:60px}
.journeyhead{text-align:center}
.journeyrow{position:relative;margin-top:30px;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:24px}
.journeyline{position:absolute;left:12%;right:12%;top:33px;height:3px;border-radius:2px;background:linear-gradient(90deg,var(--pos),var(--gold))}
.jitem{text-align:center;transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.jitem:hover{transform:translateY(-6px)}
.jcircle{display:inline-flex;width:64px;height:64px;align-items:center;justify-content:center;border-radius:50%;background:var(--dk3);border:2px solid var(--gold);color:var(--gold);transition:background .25s,color .25s,box-shadow .25s}
.jitem:hover .jcircle{background:var(--gold);color:var(--goldink);box-shadow:0 0 0 8px rgba(242,183,46,.2)}
.jitem .step{margin:12px 0 0;color:var(--gold2);font-size:11px;font-weight:800;letter-spacing:.12em}
.jitem h3{margin:3px 0 0;font-weight:800;font-size:17px;color:#FFFFFF}
.jitem p{margin:5px auto 0;max-width:220px;color:var(--dkbody);font-size:13px;line-height:1.5}

/* ---------- brokers ---------- */
.brokergrid{margin-top:36px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.brokercard{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:20px;transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s,border-color .3s}
.brokercard:hover{transform:translateY(-5px);box-shadow:0 18px 36px rgba(0,0,0,.12);border-color:var(--grn)}
.brokercard .mono{width:42px;height:42px;background:var(--pri);color:var(--gold);font-size:17px}
.brokercard p.name{margin:12px 0 0;font-weight:800;font-size:17px;color:var(--ink)}
.brokercard p.status{margin:6px 0 0;display:inline-flex;align-items:center;gap:6px;color:var(--grnink);font-size:11.5px;font-weight:800}
.brokercard p.status .d{width:7px;height:7px;border-radius:50%;background:var(--grn)}
.moresoon{background:transparent;border:2px dashed var(--gold);border-radius:18px;padding:20px;display:flex;flex-direction:column;justify-content:center}
.moresoon .plus{width:42px;height:42px;background:var(--gold);color:var(--goldink);font-size:24px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;line-height:1}

/* ---------- roadmap ---------- */
.roadgrid{margin-top:36px;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}
.roadcard{background:var(--dk2);border:1px solid var(--dkline);border-radius:20px;padding:24px;display:flex;flex-direction:column;transition:transform .3s cubic-bezier(.2,.7,.2,1),border-color .3s,background .3s}
.roadcard:hover{transform:translateY(-7px);border-color:var(--gold);background:var(--dk3)}
.roadcard .status{align-self:flex-start;padding:4px 11px;border-radius:999px;font-size:11px;font-weight:800}
.roadcard .ic{margin-top:16px;display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;border-radius:12px;background:var(--dk3)}
.roadcard h3{margin:14px 0 0;font-weight:800;font-size:19px;letter-spacing:-.01em;color:#FFFFFF}
.roadcard p{margin:7px 0 0;color:var(--dkbody);font-size:14px;line-height:1.55}

/* ---------- pricing ---------- */
.pricehead{text-align:center}
.toggle{margin:26px auto 0;display:inline-flex;padding:5px;border-radius:14px;background:var(--card);border:1px solid var(--line);gap:4px}
.toggle button{min-height:44px;padding:0 22px;border:none;border-radius:10px;font:inherit;font-size:14px;font-weight:700;cursor:pointer;transition:transform .2s}
.toggle button:hover{transform:translateY(-2px)}
.plans{margin-top:48px;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;align-items:stretch}
.plan{border-radius:24px;padding:32px;display:flex;flex-direction:column;transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s}
.plan:hover{transform:translateY(-9px);box-shadow:0 30px 60px rgba(0,0,0,.2)}
.plan-light{background:var(--card);border:1px solid var(--line)}
.plan-pro{background:var(--dk);color:#FFFFFF;border:2px solid var(--gold);position:relative;box-shadow:0 24px 50px rgba(0,0,0,.26)}
.popular{position:absolute;top:-14px;left:32px;padding:5px 14px;border-radius:999px;background:var(--gold);color:var(--goldink);font-size:11px;font-weight:800;letter-spacing:.04em}
.plan h3{margin:0;font-weight:800;font-size:24px}
.plan .ptag{margin:6px 0 0;font-size:13.5px}
.plan .price{margin:22px 0 0;font-weight:800;font-size:50px;line-height:1;letter-spacing:-.03em}
.plan .price .per{font-size:15px;font-weight:600;letter-spacing:0}
.plan .savebox{margin:8px 0 0;font-size:13.5px}
.featlist{margin:24px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:11px;font-size:14.5px;flex:1}
.featlist li{display:flex;gap:10px;align-items:flex-start}
.featlist svg{flex:none;margin-top:3px}
.plan .btn{margin-top:28px}
.proadds{margin-top:64px}
.proaddsgrid{margin-top:26px;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.proaddcard{background:var(--dk);border:1px solid var(--dkline);border-radius:20px;padding:26px;color:#FFFFFF;transition:transform .3s cubic-bezier(.2,.7,.2,1),border-color .3s}
.proaddcard:hover{transform:translateY(-7px);border-color:var(--gold)}
.proaddcard .ic{display:inline-flex;width:48px;height:48px;align-items:center;justify-content:center;border-radius:14px;background:var(--gold);color:var(--goldink)}
.proaddcard h3{margin:16px 0 0;font-weight:800;font-size:20px}
.proaddcard p{margin:7px 0 0;color:var(--dkbody);font-size:14px;line-height:1.6}
.mocknote{margin:40px auto 0;max-width:760px;padding:13px 18px;border:1.5px dashed var(--lineS);border-radius:14px;text-align:center;color:var(--body);font-size:12.5px;line-height:1.6}
.risknote{margin:20px 0 0;text-align:center;color:var(--body);font-size:12.5px}

/* ---------- faq ---------- */
.faqwrap{max-width:860px;margin:0 auto}
.faqlist{margin-top:32px;display:flex;flex-direction:column;gap:12px}
.faq{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:0 22px;transition:border-color .2s,box-shadow .2s}
.faq:hover{border-color:var(--grn);box-shadow:0 8px 20px rgba(0,0,0,.08)}
.faq[open]{border-color:var(--grn)}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:62px;font-weight:700;font-size:15.5px;color:var(--ink)}
.faq summary svg{flex:none;transition:transform .25s;color:var(--grn)}
.faq[open] summary svg{transform:rotate(180deg)}
.faq p{margin:0;padding:0 0 20px;color:var(--body);font-size:14.5px;line-height:1.65}

/* ---------- final cta ---------- */
.finalcta{text-align:center}
.medal{display:inline-block;width:130px;padding:8px;border-radius:30px;background:var(--medal);border:2px solid var(--gold);box-shadow:0 0 0 6px rgba(242,183,46,.12)}
.finalcta h2{margin:24px 0 0;font-weight:800;font-size:clamp(30px,4.6vw,56px);line-height:1.04;letter-spacing:-.035em;color:#FFFFFF}
.finalcta p{margin:18px auto 0;max-width:540px;font-size:17px;line-height:1.6;color:var(--dkbody)}
.finalbtns{margin-top:32px;display:flex;flex-wrap:wrap;justify-content:center;gap:14px}

/* ---------- footer ---------- */
footer{background:#04070F;color:#B7C5E4}
.footrow{display:flex;flex-wrap:wrap;justify-content:space-between;gap:32px}
.footbrand img{height:44px;width:auto;display:block;background:#FFFFFF;border-radius:10px;padding:6px 10px}
.footbrand p{margin:14px 0 0;max-width:340px;font-size:13.5px;line-height:1.7}
.footnav{display:flex;flex-wrap:wrap;gap:10px 32px;font-size:13.5px;font-weight:600;align-content:flex-start}
.footnav a{transition:color .2s}
.footnav a:hover{color:var(--gold)}
.footlegal{margin:34px 0 0;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);font-size:11.5px;line-height:1.7;color:#8696BD}
.footcopy{margin:10px 0 0;font-size:11.5px;color:#8696BD}

@media (max-width:900px){
  .hidem{display:none !important}
}
