:root{
  --blue:#1D4ED8;--azure:#0A84FF;--cyan:#14B8E8;--violet:#6D3BF0;--magenta:#D946EF;
  --navy:#0B1B3B;--midnight:#070B26;--mist:#F6F8FD;--ink:#0B1B3B;--muted:#55627f;--line:#e3e8f3;
  --grad:linear-gradient(90deg,#1D4ED8,#14B8E8 40%,#6D3BF0 75%,#D946EF);
  --radius:18px;--shadow:0 12px 36px rgba(11,27,59,.08);--c:#1D4ED8;
  --wrap:1320px;--gut:clamp(20px,4vw,56px)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;font-family:"Avenir Next","Nunito Sans",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:17px;color:var(--ink);background:#fff;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit}img{max-width:100%}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:var(--gut)}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:#fff;color:#000;padding:8px 12px;border-radius:8px;z-index:100}
.sprite{position:absolute;width:0;height:0}
:focus-visible{outline:3px solid rgba(10,132,255,.55);outline-offset:2px}

/* header */
.hdr{position:sticky;top:0;z-index:50;background:rgba(7,11,38,.9);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08)}
.hdr .wrap{display:flex;align-items:center;gap:28px;height:72px}
.hdr .logo img{height:40px;width:auto;display:block}
.nav{display:flex;align-items:center;gap:6px;margin-left:12px;flex:1}
.nav a,.nav button.nl{font:inherit;font-size:.95rem;font-weight:600;color:#cdd6f4;text-decoration:none;background:none;border:0;padding:10px 14px;border-radius:10px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.nav a:hover,.nav button.nl:hover,.nav button.nl[aria-expanded=true]{background:rgba(255,255,255,.09);color:#fff}
.nav .nl svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2;transition:transform .2s}
.nav .nl[aria-expanded=true] svg{transform:rotate(180deg)}
.nav a.hcta,.hcta{font-weight:700;font-size:.92rem;text-decoration:none;color:#fff;padding:10px 20px;border-radius:999px;background:linear-gradient(90deg,#1D4ED8,#6D3BF0);box-shadow:0 6px 20px rgba(109,59,240,.35);white-space:nowrap}
.hcta:hover,.nav a.hcta:hover{filter:brightness(1.1);color:#fff;background:linear-gradient(90deg,#1D4ED8,#6D3BF0)}.nav a.hcta{background:linear-gradient(90deg,#1D4ED8,#6D3BF0);color:#fff;justify-content:center;width:auto}
.burger{display:none;margin-left:auto;background:none;border:1px solid rgba(255,255,255,.25);border-radius:10px;width:44px;height:44px;cursor:pointer;color:#fff}
.burger svg{width:22px;height:22px;stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round}
.mega{display:none;position:absolute;left:0;right:0;top:72px;background:#fff;color:var(--ink);border-bottom:1px solid var(--line);box-shadow:0 30px 60px rgba(7,11,38,.25);max-height:calc(100vh - 72px);overflow:auto}
.mega.open{display:block}
.mega .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;padding-block:30px;height:auto;align-items:start}
.mega h4{margin:0 0 10px;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.mega a{display:flex;gap:11px;align-items:flex-start;padding:9px 10px;margin:0 -10px;border-radius:12px;color:var(--ink);font-weight:600;line-height:1.3;text-decoration:none}
.mega a:hover{background:var(--mist)}
.mega a i{flex:none;width:11px;height:11px;border-radius:4px;background:var(--c);margin-top:6px}
.mega a small{display:block;font-weight:500;color:var(--muted);font-size:.82rem;margin-top:2px}

/* buttons, type */
.btn{display:inline-block;border:0;cursor:pointer;font:inherit;font-weight:700;text-decoration:none;padding:14px 26px;border-radius:14px;color:#fff;background:linear-gradient(90deg,#1D4ED8,#0A84FF 45%,#6D3BF0);box-shadow:0 10px 28px rgba(10,132,255,.35);transition:transform .15s,filter .15s}
.btn:hover{filter:brightness(1.08);transform:translateY(-1px)}
.btn.ghost{background:transparent;border:1px solid rgba(255,255,255,.4);box-shadow:none;margin-left:10px}
.btn.line{background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:none}
.eyebrow{font-weight:800;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--c)}
h1,h2,h3{letter-spacing:-.02em}
h2{font-size:clamp(1.7rem,3.2vw,2.5rem);line-height:1.15;margin:8px 0 12px;font-weight:800}
.sub{color:var(--muted);font-size:1.08rem;max-width:46em;margin:0}
.center{text-align:center}.center .sub{margin-inline:auto}
.sec{padding-block:clamp(56px,7vw,88px)}
.soft{background:var(--mist)}
.dark{background:var(--midnight);color:#dfe6ff}
.gt{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}

/* hero */
.hero{position:relative;overflow:hidden;color:#e9eeff;background:radial-gradient(900px 520px at 90% -10%,rgba(109,59,240,.4),transparent 62%),radial-gradient(760px 520px at -4% 110%,rgba(20,184,232,.26),transparent 62%),var(--midnight)}
.orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.45;pointer-events:none}
.orb.o1{width:380px;height:380px;background:#6D3BF0;right:-60px;top:20px;animation:drift 16s ease-in-out infinite alternate}
.orb.o2{width:320px;height:320px;background:#14B8E8;left:-100px;bottom:-80px;animation:drift 19s ease-in-out infinite alternate-reverse}
@keyframes drift{from{transform:translate(0,0) scale(1)}to{transform:translate(40px,-26px) scale(1.14)}}
.hero .wrap{position:relative;z-index:1}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(28px,4vw,72px);align-items:center;padding-block:clamp(40px,6vw,84px)}
.badge{display:inline-flex;align-items:center;gap:9px;font-size:.84rem;font-weight:700;padding:7px 15px;border-radius:999px;background:rgba(20,184,232,.12);color:#8fe3fa;border:1px solid rgba(20,184,232,.4)}
.badge i{width:8px;height:8px;border-radius:50%;background:#5ee0ff;animation:pulse 2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(94,224,255,.7)}70%{box-shadow:0 0 0 10px rgba(94,224,255,0)}100%{box-shadow:0 0 0 0 rgba(94,224,255,0)}}
.hero h1{font-size:clamp(2.3rem,4.6vw,3.9rem);line-height:1.05;margin:18px 0 18px;color:#fff;font-weight:800}
.hero .lead{font-size:1.14rem;color:#c6d0f0;max-width:34em;margin:0 0 28px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.chips span,.chips a{font-size:.85rem;color:#aebbe0;border:1px solid rgba(255,255,255,.18);padding:5px 13px;border-radius:999px;text-decoration:none}
.chips a:hover{color:#fff;border-color:rgba(255,255,255,.5)}
.crumb{font-size:.88rem;color:#9fb0dd;margin-bottom:6px}.crumb a{color:#b9c6ee;text-decoration:none}.crumb a:hover{color:#fff}

/* preview card (home) */
.preview{position:relative;background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.05));border:1px solid rgba(255,255,255,.2);border-radius:24px;padding:22px;backdrop-filter:blur(10px);box-shadow:0 30px 80px rgba(0,0,0,.45);animation:bob 7s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.pv-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.pv-head b{color:#fff}
.pv-tag{font-size:.72rem;color:#aebbe0;border:1px solid rgba(255,255,255,.22);padding:2px 9px;border-radius:999px}
.pv-total{background:rgba(7,11,38,.55);border-radius:16px;padding:16px 18px;margin-bottom:10px}
.pv-total small{color:#94a3cf;display:block}.pv-total strong{font-size:1.9rem;color:#fff;letter-spacing:-.02em}.pv-total em{font-style:normal;font-size:.85rem;color:#7ee7c4;margin-left:8px}
.pv-row{display:flex;justify-content:space-between;align-items:center;padding:11px 4px;border-top:1px solid rgba(255,255,255,.1);font-size:.93rem;opacity:0;transform:translateX(14px);animation:rowin .6s ease forwards}
.pv-row:nth-of-type(1){animation-delay:.5s}.pv-row:nth-of-type(2){animation-delay:.7s}.pv-row:nth-of-type(3){animation-delay:.9s}
@keyframes rowin{to{opacity:1;transform:none}}
.pv-row span:first-child{display:flex;align-items:center;gap:10px;color:#e6ecff}.pv-row span:last-child{color:#c6d0f0;font-variant-numeric:tabular-nums}
.dot{width:10px;height:10px;border-radius:3px}
.pv-foot{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.pv-foot span{font-size:.78rem;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:4px 11px;color:#d5dcf5}
.float{position:absolute;font-size:.82rem;font-weight:700;color:#0B1B3B;background:#fff;border-radius:12px;padding:9px 13px;box-shadow:0 12px 30px rgba(0,0,0,.35);animation:bob 5s ease-in-out infinite}
.float.a{left:-26px;bottom:62px}.float.b{right:-14px;top:-18px;animation-delay:-2s}
.float i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#12b886;margin-right:7px}

/* module hero medallion */
.medal-wrap{position:relative;display:grid;place-items:center;min-height:300px}
.medal{width:170px;height:170px;border-radius:44px;background:var(--c);display:grid;place-items:center;box-shadow:0 30px 80px color-mix(in srgb,var(--c) 55%,transparent);animation:bob 6s ease-in-out infinite;position:relative}
.medal:before{content:"";position:absolute;inset:-26px;border-radius:64px;border:1px dashed color-mix(in srgb,var(--c) 60%,#fff);opacity:.5;animation:spin 40s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.medal svg{width:78px;height:78px;stroke:#fff;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.orbit{position:absolute;font-size:.82rem;font-weight:700;color:#0B1B3B;background:#fff;border-radius:12px;padding:8px 13px;box-shadow:0 14px 34px rgba(0,0,0,.35);animation:bob 5.5s ease-in-out infinite}
.orbit i{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--c);margin-right:7px}
.orbit.p1{left:4%;top:12%}.orbit.p2{right:2%;top:28%;animation-delay:-1.8s}.orbit.p3{left:12%;bottom:6%;animation-delay:-3.4s}.orbit.p4{right:10%;bottom:2%;animation-delay:-.9s}

/* gap scene */
.seg{display:inline-flex;background:#e9edf8;border-radius:999px;padding:5px;margin:26px auto 22px}
.seg button{font:inherit;font-weight:700;font-size:.95rem;border:0;background:none;color:#4a5878;padding:10px 24px;border-radius:999px;cursor:pointer;transition:all .25s}
.seg button[aria-pressed=true]{background:#fff;color:var(--ink);box-shadow:0 4px 14px rgba(11,27,59,.15)}
.seg button[data-m=after][aria-pressed=true]{background:linear-gradient(90deg,#1D4ED8,#6D3BF0);color:#fff}
.stage{position:relative;max-width:1100px;margin:0 auto;aspect-ratio:900/440;border-radius:26px;overflow:hidden;background:radial-gradient(700px 360px at 50% 0%,#141c4a,transparent 70%),var(--midnight);border:1px solid #1d2658;box-shadow:0 30px 70px rgba(7,11,38,.35)}
.stage svg{position:absolute;inset:0;width:100%;height:100%;transition:opacity .7s ease}
.stage[data-mode=before] .after,.stage[data-mode=after] .before{opacity:0;pointer-events:none}
.node rect{fill:#161f4d;stroke:#34417f;stroke-width:1.4}
.node text{fill:#c6d0f0;font-size:15px;font-weight:700;text-anchor:middle;dominant-baseline:middle}
.before .node rect{fill:#18204a;stroke:#3b4786;stroke-dasharray:5 5}
.after .node rect{stroke:url(#gl);stroke-width:2}
.broken{fill:none;stroke:#ff6b81;stroke-width:2;stroke-dasharray:6 9;opacity:.85;animation:flick 2.6s steps(2,end) infinite}
@keyframes flick{0%,100%{opacity:.85}50%{opacity:.35}}
.gapdot{fill:#ff4d6d;animation:gp 1.8s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes gp{0%,100%{transform:scale(1)}50%{transform:scale(1.35)}}
.gapx{fill:#fff;font-size:13px;font-weight:800;text-anchor:middle;dominant-baseline:central}
.tag{font-size:12.5px;font-weight:700;text-anchor:middle;dominant-baseline:middle}
.tag-bg-r{fill:#2b1634;stroke:rgba(255,77,109,.6)}.tag-t-r{fill:#ff9aab}
.tag-bg-g{fill:#0c2c3a;stroke:rgba(46,204,160,.6)}.tag-t-g{fill:#7ee7c4}
.tag-g{animation:tagin 5s ease-in-out infinite}
@keyframes tagin{0%,100%{opacity:.75}50%{opacity:1}}
.link{fill:none;stroke:url(#gl);stroke-width:3;opacity:.9}
.flow{fill:none;stroke:#fff;stroke-width:3.5;stroke-linecap:round;stroke-dasharray:1 16;animation:flowm 1.1s linear infinite;opacity:.95}
@keyframes flowm{to{stroke-dashoffset:-17}}
.hubring{fill:none;stroke:url(#gl);stroke-width:2;opacity:.7;transform-box:fill-box;transform-origin:center;animation:ring 3.2s ease-out infinite}
@keyframes ring{from{transform:scale(1);opacity:.7}to{transform:scale(1.5);opacity:0}}
.gaplist{display:grid;grid-template-columns:1fr 1fr;gap:0;max-width:1100px;margin:26px auto 0;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff}
.gaplist>div{padding:18px 24px;border-top:1px solid var(--line)}
.gaplist>div:nth-child(-n+2){border-top:0;background:var(--mist);font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.gaplist .bad{color:#8a4455}.gaplist .good{color:#0b6b57;font-weight:600}
.gaplist .bad:before,.gaplist .good:before{content:"";display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:10px}
.gaplist .bad:before{background:#ff4d6d}.gaplist .good:before{background:#2ecca0}

/* cards */
.grid{display:grid;gap:18px;margin-top:40px}
.g4{grid-template-columns:repeat(4,1fr)}.grp .grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.g3{grid-template-columns:repeat(3,1fr)}.g2{grid-template-columns:repeat(2,1fr)}
.aud{display:block;text-decoration:none;color:inherit;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px 24px;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s}
.aud:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(11,27,59,.13)}
.ic{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;margin-bottom:16px;background:var(--c)}
.ic svg{width:24px;height:24px;stroke:#fff;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.aud h3,.mod h3{margin:0 0 6px;font-size:1.12rem}.aud p,.mod p{margin:0;color:var(--muted);font-size:.95rem}
.more{display:inline-block;margin-top:14px;font-weight:700;font-size:.9rem;color:var(--c)}
.grp{margin-top:44px}.grp h3{margin:0;font-size:1.25rem}.grp>p{margin:4px 0 0;color:var(--muted)}
.mod{display:block;text-decoration:none;color:inherit;background:#fff;border:1px solid var(--line);border-top:4px solid var(--c);border-radius:16px;padding:20px 20px 18px;transition:transform .2s,box-shadow .2s}
.mod:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(11,27,59,.12)}
.mod .ic{width:42px;height:42px;border-radius:13px;margin-bottom:12px}
.mod .more{margin-top:10px}

/* multi business */
.group2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px);align-items:center}
.ticks{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:12px}
.ticks li{padding-left:32px;position:relative}
.ticks li:before{content:"";position:absolute;left:0;top:.3em;width:20px;height:20px;border-radius:50%;background:var(--c) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m5.5 10.4 3 3 6-6.2' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/20px no-repeat}
.dark .ticks li:before{background-color:#14B8E8}
.tree{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.18);border-radius:22px;padding:26px}
.tree .top{display:flex;justify-content:space-between;background:linear-gradient(90deg,rgba(29,78,216,.7),rgba(109,59,240,.7));border-radius:14px;padding:14px 18px;margin-bottom:14px;font-weight:700}
.tree .kids{display:grid;gap:10px;margin-left:18px;border-left:2px dashed rgba(255,255,255,.25);padding-left:18px}
.tree .kid{display:flex;justify-content:space-between;gap:10px;background:rgba(255,255,255,.08);border-radius:12px;padding:12px 15px;font-size:.94rem}.tree .kid small{color:#9fb0dd}
.tree .note{margin-top:16px;font-size:.84rem;color:#9fb0dd}

/* module pages */
.mhero{--c:#1D4ED8}
.pains{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:34px}
.pain{background:#fff;border:1px solid #f1d3da;border-radius:16px;padding:20px;color:#6b3a47;font-weight:600;line-height:1.45;position:relative;padding-left:52px}
.pain:before{content:"!";position:absolute;left:18px;top:20px;width:22px;height:22px;border-radius:50%;background:#ff4d6d;color:#fff;font-weight:800;font-size:.8rem;display:grid;place-items:center}
.solves{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:34px}
.solve{background:#fff;border:1px solid var(--line);border-left:5px solid var(--c);border-radius:16px;padding:24px 26px;box-shadow:var(--shadow)}
.solve h3{margin:0 0 6px;font-size:1.15rem}.solve p{margin:0;color:var(--muted)}
.track{list-style:none;display:flex;margin:34px 0 10px;padding:0}
.track li{flex:1;position:relative;text-align:center;cursor:pointer;padding:0 4px;outline:none}
.track .d{width:56px;height:56px;border-radius:50%;margin:0 auto 12px;display:grid;place-items:center;background:#fff;border:2px solid #d5dcec;color:#8b97b3;font-weight:800;position:relative;z-index:1;transition:all .35s cubic-bezier(.2,.7,.2,1)}
.track li:hover .d,.track li:focus-visible .d{border-color:var(--c);color:var(--c)}
.track li.done .d{background:color-mix(in srgb,var(--c) 14%,#fff);border-color:var(--c);color:var(--c)}
.track li.on .d{background:var(--c);border-color:var(--c);color:#fff;transform:scale(1.18);box-shadow:0 0 0 9px color-mix(in srgb,var(--c) 20%,transparent),0 12px 26px color-mix(in srgb,var(--c) 45%,transparent)}
.track li.on .d:after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid var(--c);animation:ping 1.6s ease-out infinite}
@keyframes ping{from{transform:scale(.9);opacity:.8}to{transform:scale(1.5);opacity:0}}
.track .t{font-weight:700;font-size:.92rem;color:#33415f}.track li.on .t,.track li.done .t{color:var(--c)}
.track li:not(:last-child):after{content:"";position:absolute;top:27px;left:calc(50% + 34px);right:calc(-50% + 34px);height:3px;border-radius:2px;background:repeating-linear-gradient(90deg,#d5dcec 0 8px,transparent 8px 14px)}
.track li.done:not(:last-child):after{background:var(--c)}
.track li.on:not(:last-child):after{background:repeating-linear-gradient(90deg,var(--c) 0 8px,transparent 8px 14px);background-size:14px 3px;animation:dash .5s linear infinite}
@keyframes dash{to{background-position:14px 0}}
.cap{margin-top:22px;border-left:5px solid var(--c);background:color-mix(in srgb,var(--c) 7%,#fff);border-radius:0 16px 16px 0;padding:16px 22px;min-height:88px}
.cap b{display:block;color:var(--c);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase}.cap span{display:block;margin-top:4px;font-size:1.06rem}
.cap.fade{animation:fade .4s ease}@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.who{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:34px}
.whocard{background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px 30px;box-shadow:var(--shadow)}
.whocard h3{margin:0 0 4px;font-size:1.25rem}.whocard .k{font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--c)}
.whocard .ticks li:before{background-color:var(--c)}
.cols2{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(24px,4vw,60px);margin-top:30px}
.covers{columns:2;column-gap:36px;margin:0;padding:0;list-style:none}
.covers li{break-inside:avoid;padding:7px 0 7px 30px;position:relative}
.covers li:before{content:"";position:absolute;left:0;top:.62em;width:18px;height:18px;border-radius:50%;background:var(--c) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m5.5 10.4 3 3 6-6.2' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/18px no-repeat}
.side h4,.cols2 h4{margin:0 0 12px;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.cs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.cs span{font-size:.86rem;font-weight:700;padding:5px 12px;border-radius:999px;background:color-mix(in srgb,var(--c) 10%,#fff);color:var(--c);border:1px solid color-mix(in srgb,var(--c) 30%,#fff)}
.rel{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:20px}
.rel a{display:block;text-decoration:none;color:inherit;border:1px solid var(--line);border-left:5px solid var(--c);border-radius:14px;padding:14px 16px;background:#fff;font-weight:700;transition:transform .2s,box-shadow .2s}
.rel a:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(11,27,59,.1)}
.rel a small{display:block;color:var(--muted);font-weight:500;font-size:.82rem;margin-top:2px}
.faq{max-width:860px;margin:30px auto 0}
.faq details{border:1px solid var(--line);border-radius:14px;background:#fff;margin-bottom:10px;padding:0 22px}
.faq summary{cursor:pointer;font-weight:700;padding:18px 0;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";font-size:1.4rem;line-height:1;color:var(--c);transition:transform .2s}
.faq details[open] summary:after{transform:rotate(45deg)}
.faq p{margin:0 0 18px;color:var(--muted)}
.band{background:var(--midnight);color:#fff;text-align:center;position:relative;overflow:hidden}
.band:before{content:"";position:absolute;inset:0;background:radial-gradient(600px 300px at 80% 0%,rgba(109,59,240,.4),transparent 60%),radial-gradient(600px 300px at 10% 100%,rgba(20,184,232,.3),transparent 60%)}
.band .wrap{position:relative}
.band h2{color:#fff;margin-top:0}.band p{color:#b7c4e8;max-width:40em;margin:0 auto 22px}
.note{font-size:.85rem;color:var(--muted);margin-top:12px}

/* filings */
.filings{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:34px}
.fil{border:1px solid var(--line);border-left:5px solid var(--c);border-radius:14px;padding:16px 18px;background:#fff;transition:transform .2s,box-shadow .2s}
.fil:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(11,27,59,.1)}
.fil .fh{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px}.fil b{font-size:1.02rem}.fil p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.45}
.st{font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:2px 8px;border-radius:999px;white-space:nowrap}
.st-Drafted{background:#e6efff;color:#1D4ED8}.st-Estimated{background:#fff3d6;color:#9a5b00}.st-Tracked{background:#dcf6ea;color:#0a7a4f}.st-Collected{background:#efe6ff;color:#6D3BF0}

/* challenge + industries */
.chg{background:#fff;border:1px solid var(--line);border-top:4px solid var(--c);border-radius:16px;padding:20px;display:flex;flex-direction:column}
.chg h3{margin:0 0 8px;font-size:1.06rem;line-height:1.3}.chg p{margin:0 0 14px;color:var(--muted);font-size:.94rem;flex:1}
.chg .lk{display:flex;flex-wrap:wrap;gap:7px}.chg .lk a{font-size:.8rem;font-weight:700;text-decoration:none;padding:4px 11px;border-radius:999px;border:1px solid color-mix(in srgb,var(--c) 35%,#fff);background:color-mix(in srgb,var(--c) 9%,#fff);color:var(--c)}
.chg .lk a:hover{background:var(--c);color:#fff}
.ind-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px}
.ind-card h3{margin:0 0 12px;font-size:1.02rem;display:flex;align-items:center;gap:10px}.ind-card h3 i{width:10px;height:10px;border-radius:3px;display:inline-block}
.ind-card .tags{display:flex;flex-wrap:wrap;gap:7px}.ind-card .tags span{font-size:.84rem;color:#33415f;background:var(--mist);border:1px solid var(--line);padding:4px 11px;border-radius:999px}
.week{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:34px;position:relative}
.week>div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px}
.week b{display:block;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--c);margin-bottom:6px}
.week p{margin:0;color:var(--muted);font-size:.94rem}

/* form + footer */
.form{max-width:700px;margin:34px auto 0;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px;box-shadow:var(--shadow);text-align:left;color:var(--ink)}
.form label{display:block;font-weight:700;font-size:.9rem;margin:0 0 6px}
.form input[type=email],.form select{width:100%;font:inherit;padding:14px;border:1px solid #cbd5ea;border-radius:12px;background:#fff;color:var(--ink)}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{margin-bottom:16px}
.hp{position:absolute;left:-5000px;height:0;overflow:hidden}
.form .btn{width:100%;font-size:1.02rem}
.fine{font-size:.82rem;color:var(--muted);margin:14px 0 0}
details.keep{margin-top:10px;font-size:.85rem;color:var(--muted)}details.keep summary{cursor:pointer}
#msg{margin-top:14px;font-weight:700;min-height:1.4em}#msg.ok{color:#0f766e}#msg.err{color:#b42318}
.ftr{background:var(--midnight);color:#93a2cf;padding:54px 0 30px;font-size:.92rem}
.ftr .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:34px}
.ftr img{height:42px;width:auto}.ftr h4{margin:0 0 12px;color:#fff;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase}
.ftr a{display:block;color:#9fb0dd;text-decoration:none;padding:3px 0}.ftr a:hover{color:#fff}
.ftr .tag2{color:#c6d0f0;font-weight:700;margin:14px 0 6px}
.ftr .copy{border-top:1px solid rgba(255,255,255,.1);margin-top:34px;padding-top:20px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px}

.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}

@media (max-width:1100px){
  .cmp{grid-template-columns:1fr 1fr}.cmp .rk{grid-column:1/-1;background:var(--mist);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.cmp .ch:first-child{display:none}
  .filings{grid-template-columns:repeat(2,1fr)}
  .g4,.rel{grid-template-columns:repeat(2,1fr)}.pains{grid-template-columns:repeat(2,1fr)}
  .mega .wrap{grid-template-columns:repeat(2,1fr)}.week{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
  .spots{grid-template-columns:1fr}.sp-cols{grid-template-columns:1fr}.itiles{margin-top:6px}
  .firmviz{grid-template-columns:1fr}.fv-links{display:none}.fv-clients{margin-top:18px}
  .burger{display:inline-grid;place-items:center}
  .hdr .wrap{height:64px}.mega{top:64px;max-height:calc(100vh - 64px)}
  .nav{display:none;position:absolute;left:0;right:0;top:64px;background:var(--midnight);flex-direction:column;align-items:stretch;padding:14px var(--gut) 20px;margin:0;border-bottom:1px solid rgba(255,255,255,.1)}
  .nav.open{display:flex}.nav a,.nav button.nl{padding:14px 12px;justify-content:space-between;width:100%}
  .hcta{text-align:center;margin-top:8px}
  .hero-grid,.group2,.who,.cols2,.solves{grid-template-columns:1fr}
  .g3,.g2{grid-template-columns:1fr 1fr}
  .ftr .cols{grid-template-columns:1fr 1fr}
  .stage{display:none}.seg{display:none}
  .medal-wrap{min-height:250px}
  .track{flex-direction:column;margin:26px 0 6px}
  .track li{display:flex;align-items:center;gap:14px;text-align:left;padding:0 0 22px}
  .track .d{margin:0;flex:none;width:48px;height:48px}
  .track li:not(:last-child):after{top:48px;bottom:0;left:23px;right:auto;width:3px;height:auto;background:repeating-linear-gradient(180deg,#d5dcec 0 8px,transparent 8px 14px)}
  .track li.done:not(:last-child):after{background:var(--c)}
  .track li.on:not(:last-child):after{background:repeating-linear-gradient(180deg,var(--c) 0 8px,transparent 8px 14px);background-size:3px 14px;animation:dashv .5s linear infinite}
  @keyframes dashv{to{background-position:0 14px}}
  .float.a{left:6px}.float.b{right:6px}
}
@media (max-width:620px){
  body{font-size:16px}
  .g4,.g3,.g2,.rel,.pains,.row,.week,.ftr .cols,.filings{grid-template-columns:1fr}
  .covers{columns:1}.gaplist{grid-template-columns:1fr}.gaplist>div:nth-child(2){display:none}
  .gaplist>div:nth-child(-n+2){border-top:0}
  .btn.ghost{margin:12px 0 0}.form,.whocard{padding:22px}
  .hdr .logo img{height:34px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .orb,.preview,.itile,.fv-firm,.fv-u .u,.fv-links i,.float,.medal,.medal:before,.orbit,.badge i,.broken,.gapdot,.flow,.hubring,.tag-g,.track li.on .d:after,.track li.on:not(:last-child):after,.arm,.inbox .sheet,.archive .lid{animation:none}
  .pv-row{opacity:1;transform:none;animation:none}.reveal{opacity:1;transform:none;transition:none}.cap.fade{animation:none}
}

/* operations scene */
.stage{aspect-ratio:900/460}
.desk rect:first-child{fill:#161f4d;stroke:#3b4786;stroke-width:1.4;stroke-dasharray:5 5}
.desk .mon{fill:#0a1238;stroke:#4a5aa8;stroke-width:1.4;stroke-dasharray:0}
.desk text{fill:#c6d0f0;font-size:13.5px;font-weight:700;text-anchor:middle;dominant-baseline:middle}
.mv{animation-name:mv;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate;transform:translate(var(--x0),var(--y0))}
@keyframes mv{from{transform:translate(var(--x0),var(--y0))}to{transform:translate(var(--x1),var(--y1))}}
.bobw{animation:bobw .42s ease-in-out infinite alternate}
@keyframes bobw{from{transform:translateY(0)}to{transform:translateY(-2.5px)}}
.leg{transform-box:fill-box;transform-origin:50% 0;animation:leg .42s ease-in-out infinite alternate}
.leg.l1{transform:rotate(-24deg)}.leg.l2{animation-direction:alternate-reverse;transform:rotate(24deg)}
@keyframes leg{from{transform:rotate(-24deg)}to{transform:rotate(24deg)}}
.drop{animation:drop 5.5s ease-in infinite;opacity:0;transform:translate(var(--x),var(--y))}
@keyframes drop{0%{opacity:0;transform:translate(var(--x),var(--y)) rotate(0)}8%{opacity:1}70%{opacity:1}100%{opacity:0;transform:translate(calc(var(--x) + 26px),calc(var(--y) + 74px)) rotate(150deg)}}
.person .breathe{transform-box:fill-box;transform-origin:50% 100%;animation:breathe 3.4s ease-in-out infinite}
@keyframes breathe{0%,100%{transform:scaleY(1)}50%{transform:scaleY(1.025)}}
.person.bad .breathe{animation-duration:1.1s}
.pile rect{fill:#fff;opacity:0;animation:pileup 7s ease-in-out infinite}
.pile rect:nth-child(2){animation-delay:1.6s}.pile rect:nth-child(3){animation-delay:3.2s}
@keyframes pileup{0%{opacity:0}12%,88%{opacity:1}100%{opacity:0}}
.hand{transform-box:view-box;transform-origin:0 0;animation:spin 5s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.bar{transform-box:fill-box;transform-origin:50% 100%;animation:grow 3.2s ease-in-out infinite}
.bar.b2{animation-delay:.3s}.bar.b3{animation-delay:.6s}.bar.b4{animation-delay:.9s}
@keyframes grow{0%,100%{transform:scaleY(1)}50%{transform:scaleY(3.1)}}
.belt-base{fill:none;stroke:#1a2560;stroke-width:16;stroke-linecap:round}
.belt-flow{fill:none;stroke:url(#gl);stroke-width:4;stroke-dasharray:4 14;stroke-linecap:round;animation:beltm 1.2s linear infinite;opacity:.85}
@keyframes beltm{to{stroke-dashoffset:-18}}
.spoke{fill:none;stroke:rgba(127,211,255,.35);stroke-width:1.6;stroke-dasharray:3 9;animation:beltm 2s linear infinite}
.stn .stp{fill:#101a4a;stroke:url(#gl);stroke-width:2}
.stn text{fill:#fff;font-size:14.5px;font-weight:700;text-anchor:middle;dominant-baseline:middle}
.gear{fill:none;stroke:#7fd3ff;stroke-width:3.5;stroke-dasharray:3.2 3.2;transform-box:fill-box;transform-origin:center;animation:spin 6s linear infinite}
.okp{fill:#35c9a0;opacity:0;animation:okp 3.6s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.okc{fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:0;animation:okc 3.6s ease-in-out infinite}
@keyframes okp{0%,60%,100%{opacity:0;transform:scale(.4)}70%,90%{opacity:1;transform:scale(1)}}
@keyframes okc{0%,60%,100%{opacity:0}70%,90%{opacity:1}}
.pk{filter:drop-shadow(0 3px 6px rgba(0,0,0,.4))}
.pb-r{fill:#2b1634;stroke:rgba(255,77,109,.6)}.pb-g{fill:#0c2c3a;stroke:rgba(46,204,160,.6)}
.pt{font-size:12.5px;font-weight:700;text-anchor:middle;dominant-baseline:middle}.pt-r{fill:#ff9aab}.pt-g{fill:#7ee7c4}
.tg{animation:tagin 5s ease-in-out infinite}
.hubring{fill:none;stroke:url(#gl);stroke-width:2;transform-box:fill-box;transform-origin:center;animation:ring 3.2s ease-out infinite}
@keyframes ring{from{transform:scale(1);opacity:.7}to{transform:scale(1.55);opacity:0}}

.arm{transform-box:fill-box;transform-origin:50% 0;animation:stamp 1.7s ease-in-out infinite}
@keyframes stamp{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(58deg)}}
.inbox rect:first-child{fill:#17235a;stroke:#4a5aa8;stroke-width:1.6}.inbox .sheet{fill:#fff;animation:inb 3s ease-in-out infinite}
@keyframes inb{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
.archive .boxb{fill:#c28a4a;stroke:#8e5f2a;stroke-width:1.5}.archive .tape{fill:#e0b37a}
.archive .lid{fill:#d29b58;stroke:#8e5f2a;stroke-width:1.5;transform-box:fill-box;transform-origin:0 100%;animation:lid 4s ease-in-out infinite}
@keyframes lid{0%,35%,100%{transform:rotate(-28deg)}55%,85%{transform:rotate(0)}}
.inbox text,.archive text{fill:#9fb0dd;font-size:11.5px;font-weight:700;text-anchor:middle}

/* why anwa */
.cmp{display:grid;grid-template-columns:1.1fr 1.2fr 1.4fr;max-width:1100px;margin:34px auto 0;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff;box-shadow:var(--shadow)}
.cmp>div{padding:16px 22px;border-top:1px solid var(--line)}
.cmp .ch{border-top:0;background:var(--mist);font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.cmp .ch.me{background:linear-gradient(90deg,#1D4ED8,#6D3BF0);color:#fff}
.cmp .rk{font-weight:700}.cmp .bad{color:#8a4455}.cmp .good{color:#0b6b57;font-weight:600}
.cmp .bad:before,.cmp .good:before{content:"";display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:10px}
.cmp .bad:before{background:#ff4d6d}.cmp .good:before{background:#2ecca0}
.firmviz{display:grid;grid-template-columns:260px 90px 1fr;align-items:center;max-width:1000px;margin:40px auto 0}
.fv-firm{background:linear-gradient(135deg,#1D4ED8,#6D3BF0);border-radius:20px;padding:24px;color:#fff;box-shadow:0 20px 50px rgba(29,78,216,.4);animation:bob 7s ease-in-out infinite}
.fv-firm b{display:block;font-size:1.15rem}.fv-firm small{display:block;opacity:.85;margin:4px 0 14px}
.fv-chips{display:flex;flex-wrap:wrap;gap:6px}.fv-chips span{font-size:.72rem;font-weight:700;background:rgba(255,255,255,.18);padding:3px 9px;border-radius:999px}
.fv-links{display:grid;gap:30px}
.fv-links i{display:block;height:3px;border-radius:2px;background:repeating-linear-gradient(90deg,#7fd3ff 0 6px,transparent 6px 14px);animation:dash .6s linear infinite}
.fv-clients{display:grid;gap:14px}
.fv-co{display:flex;align-items:center;gap:14px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);border-left:5px solid var(--c);border-radius:16px;padding:14px 18px}
.fv-co b{flex:1}.fv-u{display:flex}.fv-u .u{width:26px;height:26px;border-radius:50%;background:var(--c);border:2px solid #0b1230;margin-left:-8px;animation:pulse2 2.4s ease-in-out infinite}
.fv-u .u:nth-child(2){animation-delay:.6s}.fv-u .u:first-child{margin-left:0}
@keyframes pulse2{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}
.fv-co em{font-style:normal;font-size:.78rem;font-weight:800;color:#7ee7c4;background:rgba(46,204,160,.14);border:1px solid rgba(46,204,160,.5);padding:3px 10px;border-radius:999px;white-space:nowrap}

/* industries */
.itiles{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.itile{background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.2);border-radius:22px;padding:22px 16px;text-align:center;color:#fff;backdrop-filter:blur(8px);animation:bob 6s ease-in-out infinite}
.itile .ic{margin:0 auto 12px;width:56px;height:56px;border-radius:17px;box-shadow:0 14px 30px color-mix(in srgb,var(--c) 50%,transparent)}
.itile .ic svg{width:28px;height:28px}.itile b{font-size:.95rem}
.spots{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:38px}
.spot{background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:var(--shadow);display:flex;flex-direction:column;position:relative;overflow:hidden}
.spot:before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:var(--c)}
.sp-h{display:flex;gap:16px;align-items:flex-start;margin-bottom:18px}.sp-h .ic{margin:0;flex:none;width:52px;height:52px}
.sp-h h3{margin:0 0 4px;font-size:1.25rem}.sp-h p{margin:0;color:var(--muted);font-size:.95rem}
.sp-cols{display:grid;grid-template-columns:1fr 1.15fr;gap:22px;flex:1}
.sp-cols h4{margin:0 0 10px;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.sp-cols ul{list-style:none;margin:0;padding:0;display:grid;gap:9px;font-size:.93rem}
.sp-cols li{padding-left:22px;position:relative;line-height:1.4}
.sp-bad li{color:#7a4452}.sp-bad li:before{content:"";position:absolute;left:0;top:.4em;width:10px;height:10px;border-radius:50%;background:#ff4d6d}
.sp-good li{color:#17342d;font-weight:600}.sp-good li:before{content:"";position:absolute;left:0;top:.38em;width:12px;height:12px;border-radius:50%;background:var(--c) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='m3 6.2 2 2 4-4.2' fill='none' stroke='%23fff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat}
.sp-f{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
.sp-f .lk{display:flex;flex-wrap:wrap;gap:7px}.sp-f .lk a{font-size:.8rem;font-weight:700;text-decoration:none;padding:4px 11px;border-radius:999px;border:1px solid color-mix(in srgb,var(--c) 35%,#fff);background:color-mix(in srgb,var(--c) 9%,#fff);color:var(--c)}
.sp-f .lk a:hover{background:var(--c);color:#fff}.sp-f small{display:block;margin-top:10px;color:var(--muted);font-size:.8rem}
.find{max-width:560px;margin:26px auto 0}.find input{width:100%;font:inherit;padding:15px 18px 15px 46px;border:1px solid #cbd5ea;border-radius:999px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2355627f' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") 16px center/20px no-repeat;color:var(--ink);box-shadow:var(--shadow)}
.ind-card .tags span.hit{background:#e6efff;border-color:#9db9ff;color:#1D4ED8}

/* responsive overrides for sections defined after the main breakpoints */
@media (max-width:1100px){
  .cmp{grid-template-columns:1fr 1fr}
  .cmp .rk{grid-column:1/-1;background:var(--mist);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
  .cmp .ch:first-child{display:none}
}
@media (max-width:900px){
  .spots{grid-template-columns:1fr}.sp-cols{grid-template-columns:1fr}
  .firmviz{grid-template-columns:1fr}.fv-links{display:none}.fv-clients{margin-top:18px}
}
@media (max-width:620px){
  .itiles{grid-template-columns:repeat(2,1fr)}
  .cmp{grid-template-columns:1fr}.cmp .ch{display:none}
  .fv-co{flex-wrap:wrap}
  .spot{padding:22px}
}
