/* Homepage hero v2 — "mapped stage by stage" */
.hx{position:relative;overflow:hidden;padding:72px 0 96px;color:#1E0A38;background:radial-gradient(900px 520px at 85% 0%,rgba(203,108,230,.22),transparent 62%),radial-gradient(700px 480px at 0% 100%,rgba(18,194,160,.16),transparent 60%),#F8F5FC}
.hx::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(139,43,190,.16) 1px,transparent 1.2px);background-size:26px 26px;-webkit-mask-image:linear-gradient(180deg,#000,transparent 85%);mask-image:linear-gradient(180deg,#000,transparent 85%);pointer-events:none}
.hx-topo{position:absolute;right:-120px;top:-40px;width:760px;max-width:80vw;opacity:.55;pointer-events:none}
.hx-topo path{fill:none;stroke:#8B2BBE;stroke-opacity:.28;stroke-width:1.4;stroke-dasharray:1400;stroke-dashoffset:1400;animation:hxDraw 3.2s cubic-bezier(.3,.7,.2,1) forwards}
.hx-topo path:nth-child(2){animation-delay:.25s}.hx-topo path:nth-child(3){animation-delay:.5s}.hx-topo path:nth-child(4){animation-delay:.75s}.hx-topo path:nth-child(5){animation-delay:1s}
@keyframes hxDraw{to{stroke-dashoffset:0}}
.hx .wrap{position:relative;z-index:2}
.hx-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.hx-pill{display:inline-flex;align-items:center;gap:10px;padding:7px 14px 7px 10px;border-radius:99px;background:#fff;border:1px solid #EBE2F3;font:600 .86rem 'Instrument Sans',sans-serif;color:#3D1A6B;text-decoration:none;box-shadow:0 4px 16px rgba(30,10,56,.06);margin-bottom:22px}
.hx-pill i{width:9px;height:9px;border-radius:50%;background:#12C2A0;box-shadow:0 0 0 0 rgba(18,194,160,.6);animation:hxPulse 2s infinite}
@keyframes hxPulse{70%{box-shadow:0 0 0 9px rgba(18,194,160,0)}100%{box-shadow:0 0 0 0 rgba(18,194,160,0)}}
.hx h1{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:clamp(2.4rem,5.4vw,4.3rem);line-height:1.02;letter-spacing:-.035em;color:#1E0A38;margin:0 0 20px;max-width:14ch}
.hx-sub{font-size:1.12rem;line-height:1.65;color:#4a3d63;max-width:48ch;margin:0 0 28px}
.hx-btns{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:30px}
.hx-proof{list-style:none;display:flex;gap:10px 22px;flex-wrap:wrap;padding:0;margin:0;font-size:.92rem;color:#5b4d78}
.hx-proof li{display:flex;align-items:center;gap:8px}.hx-proof li::before{content:"";width:16px;height:2px;background:linear-gradient(90deg,#12C2A0,#CB6CE6);border-radius:2px}
.hx-card{background:#fff;border:1px solid #EBE2F3;border-radius:24px;padding:22px;box-shadow:0 30px 70px -28px rgba(60,20,110,.35),0 2px 0 #fff inset;position:relative}
.hx-tabs{display:flex;gap:6px;background:#F4EEFA;padding:5px;border-radius:14px;margin-bottom:18px}
.hx-tabs button{flex:1;border:0;background:transparent;padding:10px 6px;border-radius:10px;font:700 .92rem 'Instrument Sans',sans-serif;color:#6B5C82;cursor:pointer;transition:background .2s,color .2s,box-shadow .2s}
.hx-tabs button[aria-selected=true]{background:#fff;color:#1E0A38;box-shadow:0 4px 12px rgba(30,10,56,.12)}
.hx-ttl{font:700 1.18rem 'Bricolage Grotesque',sans-serif;margin:0 0 4px}.hx-note{font-size:.88rem;color:#6B5C82;margin:0 0 16px}
.hx-stages{list-style:none;margin:0 0 18px;padding:0 0 0 0;position:relative}
.hx-stages::before{content:"";position:absolute;left:17px;top:18px;bottom:18px;width:2px;background:#EBE2F3}
.hx-stages::after{content:"";position:absolute;left:17px;top:18px;bottom:18px;width:2px;background:linear-gradient(#12C2A0,#CB6CE6);transform-origin:top;transform:scaleY(0);animation:hxLine 1.1s .2s ease forwards}
.hx-card.sw .hx-stages::after{animation:none;transform:scaleY(0);animation:hxLine 1.1s ease forwards}
@keyframes hxLine{to{transform:scaleY(1)}}
.hx-stages li{display:grid;grid-template-columns:36px 1fr;gap:14px;padding:9px 0;position:relative;z-index:1;opacity:0;transform:translateX(-8px);animation:hxIn .5s ease forwards}
.hx-stages li:nth-child(2){animation-delay:.25s}.hx-stages li:nth-child(3){animation-delay:.5s}
@keyframes hxIn{to{opacity:1;transform:none}}
.hx-n{width:36px;height:36px;border-radius:50%;background:#1E0A38;color:#fff;display:grid;place-items:center;font:700 .85rem 'Bricolage Grotesque',sans-serif;box-shadow:0 0 0 5px #fff}
.hx-stages li:nth-child(2) .hx-n{background:#8B2BBE}.hx-stages li:nth-child(3) .hx-n{background:#12C2A0;color:#04332a}
.hx-stages b{display:block;font:700 1rem 'Bricolage Grotesque',sans-serif}.hx-stages div span{font-size:.9rem;color:#5b4d78;line-height:1.45}
.hx-go{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding-top:14px;border-top:1px dashed #E3D6F0}
.hx-go a{font-weight:700;color:#8B2BBE;text-decoration:none}.hx-go a:hover{text-decoration:underline}
.hx .hero-chan{grid-column:1/-1;margin-top:8px}
@media (max-width:900px){.hx{padding:44px 0 64px}.hx-grid{grid-template-columns:1fr;gap:34px}.hx h1{max-width:none}.hx-btns .btn{width:100%;justify-content:center}.hx-topo{opacity:.3}}
@media (prefers-reduced-motion:reduce){.hx-topo path{stroke-dashoffset:0;animation:none}.hx-stages::after{transform:none;animation:none}.hx-stages li{opacity:1;transform:none;animation:none}}
.hx .chan{background:#fff!important;border:1px solid #EBE2F3!important;color:#1E0A38!important;box-shadow:0 4px 14px rgba(30,10,56,.06)}
.hx .chan-t b{color:#1E0A38!important}.hx .chan-t small{color:#6B5C82!important}
.hx .hero-chan{display:flex;flex-wrap:wrap;gap:12px}
