:root{--navy:#001B39;--blue:#1484C5;--teal:#1E4E66;--cyan:#009DCD;--silver:#C5C5C6;--ink:#1D1D21;--paper:#F7F7F7}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'Manrope',system-ui,sans-serif;color:var(--ink);line-height:1.7;background:#fff;overflow-x:hidden}
.font-display{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;letter-spacing:-0.015em;line-height:1.02}
.t-hero{font-size:clamp(2.6rem,6.4vw,5.6rem)}
.t-h2{font-size:clamp(2.1rem,4.2vw,3.6rem)}
.t-h3{font-size:clamp(1.55rem,2.4vw,2.1rem)}
.t-lead{font-size:clamp(1.05rem,1.35vw,1.2rem);line-height:1.8}
.eyebrow{font-size:.75rem;letter-spacing:.22em;text-transform:uppercase;font-weight:700}
.prose-cl p{margin:0 0 1.15em}
.prose-cl h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:clamp(1.6rem,2.6vw,2.2rem);line-height:1.15;color:var(--navy);margin:1.6em 0 .5em}
.prose-cl h3{font-weight:700;color:var(--navy);margin:1.4em 0 .4em}
.prose-cl ul{list-style:none;padding:0;margin:0 0 1.2em}
.prose-cl ul li{position:relative;padding-left:1.6em;margin:.45em 0}
.prose-cl ul li::before{content:"";position:absolute;left:0;top:.72em;width:.7em;height:2px;background:var(--blue)}
.prose-cl a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.site-header{transition:background-color .3s,box-shadow .3s}
.site-header::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(0,27,57,.96);box-shadow:0 1px 0 rgba(255,255,255,.08),0 12px 30px -18px rgba(0,0,0,.6);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);opacity:0;transition:opacity .3s}
.site-header.scrolled::before{opacity:1}
.nav-link{position:relative}
.nav-link::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.nav-link:hover::after,.nav-link[aria-current="page"]::after{transform:scaleX(1)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:3.1rem;padding:.8rem 1.6rem;border-radius:999px;font-weight:700;font-size:.95rem;transition:transform .25s,background-color .25s,box-shadow .25s,color .25s}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--blue);color:#fff;box-shadow:0 10px 30px -10px rgba(20,132,197,.7)}
.btn-primary:hover{background:#0f73ad}
.btn-ghost{border:1px solid rgba(255,255,255,.35);color:#fff}
.btn-ghost:hover{background:rgba(255,255,255,.1)}
.btn-dark{background:var(--navy);color:#fff}
.btn-dark:hover{background:var(--teal)}
.btn .arr{transition:transform .25s}
.btn:hover .arr{transform:translateX(4px)}
.card-lift{transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s}
.card-lift:hover{transform:translateY(-6px);box-shadow:0 30px 60px -30px rgba(0,27,57,.45)}
.zoom img{transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.zoom:hover img{transform:scale(1.06)}
.js .reveal{opacity:0;transform:translateY(26px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.js .reveal.in{opacity:1;transform:none}
@media print{.js .reveal{opacity:1!important;transform:none!important}}
.grain{background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1px);background-size:22px 22px}
details.faq summary{list-style:none;cursor:pointer}
details.faq summary::-webkit-details-marker{display:none}
details.faq .plus{transition:transform .3s}
details.faq[open] .plus{transform:rotate(45deg)}
details.faq[open]{background:#fff;box-shadow:0 20px 50px -35px rgba(0,27,57,.5)}
.field{width:100%;border:1px solid #d5dbe2;border-radius:.8rem;padding:.85rem 1rem;background:#fff;font-size:1rem;min-height:3.1rem;transition:border-color .2s,box-shadow .2s}
.field:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px rgba(20,132,197,.15)}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.grecaptcha-badge{visibility:hidden}
:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}
.skip{position:absolute;left:-999px;top:0}
.skip:focus{left:1rem;top:1rem;z-index:100;background:#fff;padding:.6rem 1rem;border-radius:.5rem}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.js .reveal{opacity:1;transform:none}}
.nav-main{color:#fff}
