:root{--navy:#113A72;--navy-deep:#0A2348;--ink:#071830;--red:#AC0101;--steel:#CFD5E0;--text:#333333}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'Manrope',system-ui,sans-serif;color:var(--text);line-height:1.7;overflow-x:hidden}
.font-display{font-family:'Archivo',system-ui,sans-serif;font-stretch:112%;letter-spacing:-0.025em}
.h-hero{font-size:clamp(2.5rem,1.2rem + 5.4vw,5.4rem);line-height:.98;letter-spacing:-0.035em}
.h-page{font-size:clamp(2.2rem,1.2rem + 4vw,4.4rem);line-height:1;letter-spacing:-0.03em}
.h-sec{font-size:clamp(1.85rem,1.1rem + 2.6vw,3.25rem);line-height:1.05;letter-spacing:-0.03em}
.h-card{font-size:clamp(1.25rem,1rem + .8vw,1.6rem);line-height:1.15}
.lead{font-size:clamp(1.05rem,.98rem + .35vw,1.25rem);line-height:1.75}
.eyebrow{font-family:'Archivo',sans-serif;font-stretch:120%;font-weight:700;font-size:.75rem;letter-spacing:.22em;text-transform:uppercase}
.circuit{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.07' stroke-width='1.5'%3E%3Cpath d='M0 40h50l20 20h40l20-20h30M40 160v-40l20-20V60M120 0v30l-20 20v30l20 20h40'/%3E%3C/g%3E%3Cg fill='%23ffffff' fill-opacity='.12'%3E%3Ccircle cx='50' cy='40' r='3'/%3E%3Ccircle cx='60' cy='100' r='3'/%3E%3Ccircle cx='120' cy='100' r='3'/%3E%3Ccircle cx='110' cy='60' r='3'/%3E%3C/g%3E%3C/svg%3E")}
.outline-num{-webkit-text-stroke:2px var(--navy);color:transparent}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:3.25rem;padding:.8rem 1.5rem;border-radius:999px;font-weight:700;transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease,color .2s ease}
.btn:hover{transform:translateY(-2px)}
.btn svg{transition:transform .2s ease}.btn:hover svg{transform:translateX(3px)}
.btn-red{background:var(--red);color:#fff;box-shadow:0 10px 30px -10px rgba(172,1,1,.6)}
.btn-red:hover{background:#c10f0f}
.btn-ghost{border:2px solid rgba(255,255,255,.35);color:#fff}.btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.btn-navy{background:var(--navy);color:#fff}.btn-navy:hover{background:var(--navy-deep)}
.card-lift{transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease}
.card-lift:hover{transform:translateY(-6px);box-shadow:0 30px 60px -30px rgba(10,35,72,.45)}
.zoom{overflow:hidden}.zoom img{transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.zoom:hover img,.group:hover .zoom img{transform:scale(1.06)}
.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.js .reveal.is-in{opacity:1;transform:none}
.reveal-d1{transition-delay:.1s!important}.reveal-d2{transition-delay:.2s!important}.reveal-d3{transition-delay:.3s!important}
.nav-link{position:relative}
.nav-link::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.nav-link:hover::after,.nav-link[aria-current="page"]::after{transform:scaleX(1)}
.faq summary{list-style:none;cursor:pointer}.faq summary::-webkit-details-marker{display:none}
.faq details[open] .faq-icon{transform:rotate(45deg)}
.faq-icon{transition:transform .25s ease}
.field{width:100%;border:1.5px solid #d6dbe5;border-radius:.85rem;background:#fff;padding:.85rem 1rem;font:inherit;color:#0f172a;transition:border-color .2s,box-shadow .2s}
.field:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 4px rgba(17,58,114,.12)}
.hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.grecaptcha-badge{visibility:hidden}
:focus-visible{outline:3px solid var(--red);outline-offset:3px}
dialog::backdrop{background:rgba(7,24,48,.9)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.js .reveal{opacity:1;transform:none}}
.ph{background:#fff4d6;color:#7a4b00;border:1.5px dashed #e0a526;border-radius:.4rem;padding:0 .3em;font-weight:700;white-space:normal;-webkit-box-decoration-break:clone;box-decoration-break:clone}
