:root{--navy:#24338b;--navy-deep:#161f5c;--blue:#3692dd;--orange:#f28022;--silver:#b3b1b3;--ink:#494949}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'Barlow',system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--ink);background:#fff;overflow-x:hidden}
.font-display{font-family:'Barlow Condensed','Barlow',system-ui,sans-serif}
.t-hero{font-size:clamp(2.9rem,8vw,6.4rem);line-height:.9;letter-spacing:-.025em}
.t-h1{font-size:clamp(2.6rem,6.2vw,5rem);line-height:.92;letter-spacing:-.02em}
.t-h2{font-size:clamp(2.1rem,4.4vw,3.6rem);line-height:.96;letter-spacing:-.015em}
.t-h3{font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.05;letter-spacing:-.01em}
.t-lead{font-size:clamp(1.08rem,1.5vw,1.3rem);line-height:1.65}
.prose-jw p{line-height:1.75;margin-bottom:1.1em}
.bg-navy{background-color:var(--navy)}.bg-navy-deep{background-color:var(--navy-deep)}.bg-blue{background-color:var(--blue)}.bg-orange{background-color:var(--orange)}.bg-silver{background-color:var(--silver)}
.bg-mist{background-color:#f3f5fb}
.text-navy{color:var(--navy)}.text-blue{color:var(--blue)}.text-orange{color:var(--orange)}.text-ink{color:var(--ink)}
.border-orange{border-color:var(--orange)}.border-navy{border-color:var(--navy)}
.eyebrow{font-family:'Barlow Condensed',sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.18em;font-size:.85rem;display:inline-flex;align-items:center;gap:.6rem}
.eyebrow::before{content:"";width:2rem;height:3px;background:var(--orange);display:inline-block}
.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;font-family:'Barlow Condensed',sans-serif;font-size:1.15rem;letter-spacing:.03em;text-transform:uppercase;transition:transform .2s ease,background-color .2s ease,color .2s ease,box-shadow .2s ease}
.btn:hover{transform:translateY(-2px)}
.btn-orange{background:var(--orange);color:#fff;box-shadow:0 10px 24px -10px rgba(242,128,34,.8)}.btn-orange:hover{background:#e06d10}
.btn-ghost{border:2px solid rgba(255,255,255,.7);color:#fff}.btn-ghost:hover{background:#fff;color:var(--navy)}
.btn-navy{background:var(--navy);color:#fff}.btn-navy:hover{background:var(--navy-deep)}
.btn svg{transition:transform .2s ease}.btn:hover svg.arrow{transform:translateX(4px)}
.hero-shade{background:linear-gradient(100deg,rgba(22,31,92,.96) 0%,rgba(36,51,139,.86) 38%,rgba(36,51,139,.25) 70%,rgba(36,51,139,.05) 100%)}
@media (max-width:767px){.hero-shade{background:linear-gradient(180deg,rgba(22,31,92,.1) 0,rgba(22,31,92,.25) 28vh,rgba(22,31,92,.85) 46vh,#161f5c 56vh,#161f5c 100%)}}
.stripe{background:repeating-linear-gradient(135deg,var(--orange) 0 14px,transparent 14px 28px)}
.plate{background:linear-gradient(145deg,#e9e8ea,#b3b1b3);}
.card-zoom img{transition:transform .7s cubic-bezier(.2,.7,.2,1)}.card-zoom:hover img{transform:scale(1.06)}
.lift{transition:transform .3s ease,box-shadow .3s ease}.lift:hover{transform:translateY(-4px);box-shadow:0 24px 50px -24px rgba(22,31,92,.45)}
.site-header{transition:background-color .3s ease,box-shadow .3s ease}
.site-header.scrolled{box-shadow:0 10px 30px -18px rgba(22,31,92,.5)}
.nav-link{position:relative;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)}
.js .reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.js .reveal.in{opacity:1;transform:none}
.field{width:100%;border:1.5px solid #d6d9e6;border-radius:.75rem;padding:.85rem 1rem;background:#fff;color:#1d2340;font-size:1rem;transition:border-color .2s,box-shadow .2s}
.field:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px rgba(54,146,221,.18)}
.label{display:block;font-weight:600;font-size:.95rem;color:#1d2340;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(180deg)}.chev{transition:transform .25s ease}
#lightbox{background:rgba(10,14,40,.94)}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .reveal{opacity:1;transform:none;transition:none}*,*::before,*::after{transition:none!important;animation:none!important}}
@media (max-width:767px){.hero-shade.hero-inner{background:linear-gradient(180deg,rgba(22,31,92,.78) 0%,rgba(22,31,92,.9) 100%)}}
/* Home hero: lighter, narrower shade on tablets; split panel + full team photo on desktop */
@media (min-width:768px) and (max-width:1279px){.hero-home{background:linear-gradient(100deg,rgba(22,31,92,.94) 0%,rgba(22,31,92,.72) 34%,rgba(22,31,92,.2) 56%,rgba(22,31,92,0) 70%)}}
@media (min-width:1280px){
  .hero-split{--seam:calc(max(0px, (100vw - 80rem) / 2) + 0.41 * min(100vw, 80rem))}
  .hero-split .hero-img{left:var(--seam);right:auto;width:calc(100% - var(--seam))}
  .hero-split .hero-home{right:auto;width:calc(var(--seam) + 3rem);background:linear-gradient(90deg,#161f5c 0,#161f5c calc(100% - 3rem),rgba(22,31,92,.4) calc(100% - 3rem + 1px),rgba(22,31,92,0) 100%)}
  .hero-split .hero-seam{left:var(--seam)}
  .hero-text{max-width:calc(0.41 * min(100vw, 80rem) - 4.5rem)}
  .hero-text .t-hero{font-size:3.5rem}
  .hero-text .btn{padding-left:1.15rem;padding-right:1.15rem;font-size:1.05rem}
  .hero-text .mt-10{margin-top:2rem}
}
