:root{--navy:#15345C;--blue:#1CA0C9;--ink:#0f2747}
body{font-family:Inter,system-ui,sans-serif;font-size:1.0625rem}
.font-display{font-family:"Barlow Condensed",Inter,sans-serif}
.eyebrow{font-size:.78rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase}
.footer-h{margin-bottom:1rem;font-size:.78rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#fff}
.grid-lines{background-image:linear-gradient(rgba(28,160,201,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(28,160,201,.12) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse at 70% 30%,#000 10%,transparent 75%);mask-image:radial-gradient(ellipse at 70% 30%,#000 10%,transparent 75%)}
.btn-primary,.btn-ghost,.btn-outline,.btn-dark{display:inline-flex;align-items:center;gap:.6rem;min-height:3rem;padding:.8rem 1.5rem;border-radius:999px;font-weight:600;transition:transform .2s,background-color .2s,color .2s,box-shadow .2s}
.btn-primary{background:var(--blue);color:#fff;box-shadow:0 10px 25px -10px rgba(28,160,201,.8)}
.btn-primary:hover{background:#178bb0;transform:translateY(-2px)}
.btn-ghost{color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.35)}
.btn-ghost:hover{background:#fff;color:var(--navy);transform:translateY(-2px)}
.btn-outline{color:var(--navy);box-shadow:inset 0 0 0 1.5px rgba(21,52,92,.25)}
.btn-outline:hover{background:var(--navy);color:#fff;transform:translateY(-2px)}
.btn-dark{background:var(--navy);color:#fff}
.btn-dark:hover{background:#0c2140;transform:translateY(-2px)}
.btn-primary:disabled{opacity:.6;cursor:wait;transform:none}
.nav-link{position:relative;padding:.4rem 0;transition:color .2s}
.nav-link::after{content:"";position:absolute;left:0;bottom:-2px;height:2px;width:0;background:var(--blue);transition:width .25s}
.nav-link:hover::after,.nav-link[aria-current]::after{width:100%}
.icon-chip{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:2.75rem;height:2.75rem;border-radius:.9rem;background:#eef7fb;color:var(--blue)}
.chip{display:inline-flex;align-items:center;min-height:2.75rem;padding:.55rem 1.1rem;border-radius:999px;background:#fff;color:var(--navy);font-weight:500;font-size:.95rem;box-shadow:inset 0 0 0 1px rgba(21,52,92,.12);transition:all .2s}
.chip:hover{background:var(--navy);color:#fff}
.card{transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
.card:hover{transform:translateY(-6px);box-shadow:0 30px 60px -25px rgba(15,39,71,.45)}
.site-header.scrolled{border-color:rgba(0,0,0,.06);box-shadow:0 8px 30px -18px rgba(15,39,71,.35)}
.field{display:flex;flex-direction:column;gap:.45rem;font-size:.9rem;font-weight:500;color:var(--navy)}
.field input,.field select,.field textarea{width:100%;min-height:3rem;border-radius:.85rem;border:1px solid #cfd6e0;background:#fff;padding:.7rem .95rem;font-size:1rem;font-weight:400;color:#1f2430;transition:border-color .2s,box-shadow .2s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px rgba(28,160,201,.18)}
.field .invalid{border-color:#C92E2E}
.hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.grecaptcha-badge{visibility:hidden}
.form-ok.show,.form-err.show{display:flex}
html.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
html.js .reveal.in{opacity:1;transform:none}
@keyframes floaty{50%{transform:translateY(-10px)}}
.hero-float{animation:floaty 7s ease-in-out infinite}
.hero-float-2{animation:floaty 8s ease-in-out -3s infinite}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}html.js .reveal{opacity:1;transform:none;transition:none}.hero-float,.hero-float-2{animation:none}.card,.btn-primary,.btn-ghost,.btn-outline,.btn-dark{transition:none}}
