:root{--brand:#427BCA;--sky:#49AEDF;--royal:#0101C3;--flame:#CF3B1F;--green:#39B54A;--ink:#284053;--navy:#0b1d45;--mist:#eef5fc}
html{-webkit-text-size-adjust:100%}
body{font-family:'Inter',system-ui,sans-serif;line-height:1.65;overflow-x:hidden}
.font-display{font-family:'Outfit',system-ui,sans-serif}
.text-h1{font-size:clamp(2.4rem,1.6rem + 3.6vw,4.6rem);line-height:1.02;letter-spacing:-0.035em}
.text-h2{font-size:clamp(1.9rem,1.4rem + 2vw,3.1rem);line-height:1.08;letter-spacing:-0.03em}
.text-h3{font-size:clamp(1.3rem,1.15rem + .6vw,1.7rem);line-height:1.2;letter-spacing:-0.02em}
.text-balance{text-wrap:balance}
.kicker{font-family:'Outfit',sans-serif;font-weight:600;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase}
.text-ink{color:var(--ink)}.text-navy{color:var(--navy)}.text-brand{color:var(--brand)}.text-flame{color:var(--flame)}.text-sky{color:var(--sky)}.text-green{color:var(--green)}
.bg-navy{background-color:var(--navy)}.bg-brand{background-color:var(--brand)}.bg-flame{background-color:var(--flame)}.bg-sky{background-color:var(--sky)}.bg-mist{background-color:var(--mist)}.bg-green{background-color:var(--green)}.bg-ink2{background-color:#081633}
.bg-navy\/95{background-color:rgba(11,29,69,.95)}
.bg-grad{background:linear-gradient(90deg,#427BCA 0%,#49AEDF 100%)}
.text-grad{background:linear-gradient(90deg,#7fb2f0,#49AEDF);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-mesh{background:radial-gradient(60% 80% at 0% 0%,rgba(66,123,202,.55),transparent 60%),radial-gradient(40% 60% at 30% 100%,rgba(73,174,223,.35),transparent 70%),linear-gradient(180deg,#0b1d45,#0b1d45)}
.ring-brand{--tw-ring-color:var(--brand)}
.hover\:ring-brand:hover{--tw-ring-color:var(--brand)}
.hover\:text-brand:hover,.group:hover .group-hover\:text-brand{color:var(--brand)}
.hover\:bg-brand:hover{background-color:var(--brand)}
.shadow-navy\/5{--tw-shadow-color:rgba(11,29,69,.06)}
.from-navy{--tw-gradient-from:#0b1d45 var(--tw-gradient-from-position);--tw-gradient-to:rgba(11,29,69,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.via-navy\/30{--tw-gradient-to:rgba(11,29,69,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(11,29,69,.3) var(--tw-gradient-via-position),var(--tw-gradient-to)}
/* header */
.site-header{background:rgba(255,255,255,.82);backdrop-filter:saturate(1.6) blur(14px);-webkit-backdrop-filter:saturate(1.6) blur(14px);border-bottom:1px solid rgba(11,29,69,.06);transition:box-shadow .3s}
.site-header.scrolled{box-shadow:0 10px 30px -12px rgba(11,29,69,.18)}
.navlink{font-family:'Outfit',sans-serif;font-weight:500;color:var(--navy);padding:.55rem .85rem;border-radius:999px;transition:color .2s,background .2s}
.navlink:hover{color:var(--brand);background:var(--mist)}
.navlink[aria-current="page"]{color:var(--brand);background:var(--mist)}
.dd-panel{opacity:0;visibility:hidden;transform:translate(-50%,6px);transition:all .2s}
.dd:hover .dd-panel,.dd:focus-within .dd-panel{opacity:1;visibility:visible;transform:translate(-50%,0)}
/* buttons */
.btn-primary,.btn-flame,.btn-white,.btn-ghost-white,.btn-outline{display:inline-flex;align-items:center;gap:.55rem;font-family:'Outfit',sans-serif;font-weight:600;border-radius:999px;padding:.95rem 1.6rem;min-height:48px;white-space:nowrap;transition:transform .2s,box-shadow .2s,background .2s,color .2s;justify-content:center}
.btn-primary{background:var(--brand);color:#fff;padding:.7rem 1.3rem}
.btn-primary:hover{background:#3466ad;transform:translateY(-1px)}
.btn-flame{background:var(--flame);color:#fff;box-shadow:0 10px 24px -10px rgba(207,59,31,.7)}
.btn-flame:hover{background:#b83218;transform:translateY(-2px);box-shadow:0 16px 30px -12px rgba(207,59,31,.8)}
.btn-white{background:#fff;color:var(--navy)}
.btn-white:hover{transform:translateY(-2px);box-shadow:0 14px 30px -14px rgba(0,0,0,.45)}
.btn-ghost-white{color:#fff;border:1.5px solid rgba(255,255,255,.45)}
.btn-ghost-white:hover{background:rgba(255,255,255,.12);border-color:#fff}
.btn-outline{color:var(--navy);border:1.5px solid rgba(11,29,69,.18)}
.btn-outline:hover{border-color:var(--brand);color:var(--brand)}
.link-arrow{display:inline-flex;align-items:center;gap:.4rem;font-family:'Outfit',sans-serif;font-weight:600;color:var(--brand)}
.link-arrow svg{transition:transform .2s}.link-arrow:hover svg,.group:hover .link-arrow svg{transform:translateX(4px)}
/* cards */
.lift{transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
.lift:hover{transform:translateY(-4px);box-shadow:0 24px 50px -24px rgba(11,29,69,.35)}
.zoom img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.zoom:hover img{transform:scale(1.05)}
/* forms */
.flabel{display:block;font-size:.9rem;font-weight:600;color:var(--navy);margin-bottom:.35rem}
.finput{width:100%;border-radius:.9rem;border:1.5px solid #d6e2f0;background:#fff;padding:.8rem 1rem;font-size:1rem;color:var(--ink);transition:border-color .2s,box-shadow .2s;min-height:48px}
.finput:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px rgba(66,123,202,.15)}
.finput.invalid{border-color:var(--flame)}
.hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.grecaptcha-badge{visibility:hidden}
.form-status:empty{display:none}
.form-ok{display:flex;gap:.75rem;border-radius:1rem;background:#e9f7ec;color:#1d6b2a;padding:1rem 1.2rem;border:1px solid #bfe5c6}
.form-err{display:flex;gap:.75rem;border-radius:1rem;background:#fdeeea;color:#9a2a14;padding:1rem 1.2rem;border:1px solid #f4c7bb}
/* reveal */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
.t-dot.active{width:1.75rem;background:var(--brand)}
.t-dot:not(.active){width:.625rem}
details summary::-webkit-details-marker{display:none}
details[open] .acc-icon{transform:rotate(45deg)}
.acc-icon{transition:transform .25s}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.reveal{opacity:1;transform:none;transition:none}.lift,.zoom img,.t-inner,.btn-flame,.btn-white{transition:none!important}}
@media print{.site-header,.mobile-bar{display:none}}
.bg-green\/15{background-color:rgba(57,181,74,.15)}
.bg-navy\/90{background-color:rgba(11,29,69,.9)}
