:root{--navy:#0f1568;--navy-d:#0d1258;--ink:#090c3f;--blue:#2E3192;--steel:#305088;--orange:#f68c24;--orange-d:#e07a14;--taupe:#7E7667;--mist:#f6f6f6;--text:#333333}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{font-family:'Manrope',system-ui,sans-serif;color:var(--text);-webkit-font-smoothing:antialiased;line-height:1.7}
.font-display{font-family:'Barlow Condensed','Arial Narrow',sans-serif}
.t-hero{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:clamp(2.9rem,4.2vw + 1.6rem,6rem);line-height:.93;letter-spacing:-.015em}
.t-1{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:clamp(2.5rem,3vw + 1.4rem,4.5rem);line-height:.95;letter-spacing:-.01em}
.t-2{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:clamp(2.1rem,2.2vw + 1.2rem,3.5rem);line-height:1;letter-spacing:-.01em}
.t-3{font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:clamp(1.5rem,1vw + 1.1rem,2rem);line-height:1.1}
.eyebrow{font-family:'Barlow Condensed',sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.18em;font-size:.9rem}
.lead{font-size:clamp(1.05rem,.4vw + .95rem,1.25rem);line-height:1.75}
.bg-navy{background:var(--navy)}.bg-navy-d{background:var(--navy-d)}.bg-ink{background:var(--ink)}.bg-mist{background:var(--mist)}.bg-orange{background:var(--orange)}
.text-navy{color:var(--navy)}.text-orange{color:var(--orange)}.text-taupe{color:var(--taupe)}.text-steel{color:var(--steel)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:3.25rem;padding:.8rem 1.6rem;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-primary{background:var(--orange);color:var(--ink);box-shadow:0 10px 30px -10px rgba(246,140,36,.7)}
.btn-primary:hover{background:#ff9d3c}
.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(--blue)}
.btn-outline{border:2px solid var(--navy);color:var(--navy)}.btn-outline:hover{background:var(--navy);color:#fff}
.btn svg{transition:transform .2s ease}.btn:hover svg.arrow{transform:translateX(4px)}
.site-header{backdrop-filter:saturate(1.6) blur(14px);-webkit-backdrop-filter:saturate(1.6) blur(14px);background:rgba(255,255,255,.86)}
.site-header.scrolled{box-shadow:0 8px 30px -18px rgba(9,12,63,.45)}
.nav-link{position:relative;font-weight:600;color:var(--navy);padding:.5rem 0}
.nav-link::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.nav-link:hover::after,.nav-link[aria-current="page"]::after{transform:scaleX(1)}
.dropdown{opacity:0;visibility:hidden;transform:translateY(8px);transition:all .2s ease}
.group:hover .dropdown,.group:focus-within .dropdown{opacity:1;visibility:visible;transform:none}
.card-zoom img{transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.card-zoom:hover img,.card-zoom:focus-visible img{transform:scale(1.06)}
.lift{transition:transform .25s ease,box-shadow .25s ease}.lift:hover{transform:translateY(-4px);box-shadow:0 24px 50px -24px rgba(9,12,63,.45)}
.grain{background-image:radial-gradient(circle at 15% 20%,rgba(48,80,136,.55),transparent 45%),radial-gradient(circle at 85% 90%,rgba(46,49,146,.6),transparent 50%)}
.stripes{background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.05) 0 2px,transparent 2px 22px)}
.hero-photo{clip-path:polygon(14% 0,100% 0,100% 100%,0 100%)}
@media (max-width:1023px){.hero-photo{clip-path:none}}
.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.js .reveal.in{opacity:1;transform:none}
.js .reveal.d1{transition-delay:.08s}.js .reveal.d2{transition-delay:.16s}.js .reveal.d3{transition-delay:.24s}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .reveal{opacity:1;transform:none;transition:none}.btn,.lift,.card-zoom img{transition:none}.btn:hover,.lift:hover{transform:none}.card-zoom:hover img{transform:none}}
.field{width:100%;border:1.5px solid #d6d8e6;border-radius:.85rem;padding:.85rem 1rem;background:#fff;font:inherit;color:var(--ink);transition:border-color .2s,box-shadow .2s;min-height:3.25rem}
.field:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 4px rgba(15,21,104,.12)}
.label{display:block;font-weight:700;font-size:.9rem;color:var(--navy);margin-bottom:.4rem}
.hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.grecaptcha-badge{visibility:hidden}
details summary{list-style:none;cursor:pointer}details summary::-webkit-details-marker{display:none}
details[open] .chev{transform:rotate(45deg)}.chev{transition:transform .25s ease}
.makes img{filter:grayscale(1);opacity:.65;transition:filter .3s,opacity .3s;mix-blend-mode:multiply}.makes img:hover{filter:none;opacity:1}
#lightbox{background:rgba(9,12,63,.94)}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;z-index:100;background:#fff;padding:.75rem 1rem;border-radius:.5rem}
.is-today{color:var(--orange)!important;font-weight:800}.is-today span:first-child::after{content:" (today)";font-weight:600;font-size:.8em;opacity:.85}
