:root{--blue:#170DF2;--blue-deep:#080451;--blue-mid:#0F09A1;--logo-blue:#442ED2;--yellow:#FEEB85;--gold:#F8CB47;--red:#ED1C24;--ink:#0b0a1f;--tint:#f3f2ff}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'Manrope',system-ui,sans-serif;color:var(--ink);line-height:1.7;overflow-x:hidden}
.font-display,h1,h2,h3{font-family:'Syne',sans-serif;letter-spacing:-0.025em;line-height:1.02}
.t-hero{font-size:clamp(2.6rem,6.4vw,5.6rem);font-weight:800}
.t-h1{font-size:clamp(2.3rem,5.4vw,4.4rem);font-weight:800}
.t-h2{font-size:clamp(1.9rem,4vw,3.2rem);font-weight:800}
.t-h3{font-size:clamp(1.3rem,2.2vw,1.75rem);font-weight:700}
.t-lead{font-size:clamp(1.05rem,1.5vw,1.25rem);line-height:1.75}
.eyebrow{font-family:'Syne',sans-serif;font-weight:700;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase}
.bg-brand{background:var(--blue)}.bg-deep{background:var(--blue-deep)}.bg-tint{background:var(--tint)}.bg-yellow{background:var(--yellow)}
.text-brand{color:var(--blue)}.text-yellow{color:var(--yellow)}.text-gold{color:var(--gold)}.text-red{color:var(--red)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:52px;padding:.85rem 1.6rem;border-radius:999px;font-weight:700;transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease,color .25s ease}
.btn:hover{transform:translateY(-2px)}
.btn-yellow{background:var(--yellow);color:var(--blue-deep)}.btn-yellow:hover{background:#fff;box-shadow:0 14px 30px -12px rgba(254,235,133,.7)}
.btn-blue{background:var(--blue);color:#fff}.btn-blue:hover{background:var(--blue-mid);box-shadow:0 14px 30px -12px rgba(23,13,242,.6)}
.btn-ghost{border:2px solid rgba(255,255,255,.55);color:#fff}.btn-ghost:hover{background:#fff;color:var(--blue-deep)}
.btn-outline{border:2px solid var(--blue);color:var(--blue)}.btn-outline:hover{background:var(--blue);color:#fff}
.speed-lines{background:repeating-linear-gradient(115deg,transparent 0 18px,rgba(254,235,133,.9) 18px 22px)}
.hero-grad{background:linear-gradient(100deg,rgba(8,4,81,.96) 0%,rgba(15,9,161,.88) 38%,rgba(23,13,242,.35) 70%,rgba(23,13,242,0) 100%)}
@media (max-width:767px){.hero-grad{background:linear-gradient(180deg,rgba(8,4,81,.1) 0%,rgba(8,4,81,.78) 42%,rgba(8,4,81,.97) 100%)}}
.card-lift{transition:transform .35s ease,box-shadow .35s ease}.card-lift:hover{transform:translateY(-6px);box-shadow:0 30px 60px -30px rgba(8,4,81,.45)}
.zoom{overflow:hidden}.zoom img{transition:transform .7s cubic-bezier(.2,.7,.2,1)}.zoom:hover img,.zoom:focus-visible img{transform:scale(1.06)}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.reveal.in{opacity:1;transform:none}
.nav-link{position:relative;font-weight:600}.nav-link::after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:3px;border-radius:3px;background:var(--gold);transition:right .3s ease}
.nav-link:hover::after,.nav-link[aria-current=page]::after{right:0}
.field{width:100%;border:2px solid #dcdaf5;border-radius:14px;padding:.85rem 1rem;background:#fff;font:inherit;transition:border-color .2s,box-shadow .2s}
.field:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px rgba(23,13,242,.15)}
.label{display:block;font-weight:700;font-size:.9rem;margin-bottom:.4rem}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.grecaptcha-badge{visibility:hidden}
details.faq summary{list-style:none;cursor:pointer}details.faq summary::-webkit-details-marker{display:none}
details.faq .chev{transition:transform .3s}details.faq[open] .chev{transform:rotate(45deg)}
.carousel-track{transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.lightbox{background:rgba(8,4,81,.94)}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}
.call-bar{transition:transform .35s ease,opacity .35s ease}.call-bar.is-off{transform:translateY(160%);opacity:0;pointer-events:none}
@media (max-width:639px){.hero-call{display:none}}
