:root{--navy:#0B1B33;--amber:#E8921A;--ink:#1C2736;--mist:#EEF2F7;--line:#D5DCE6;--white:#fff;--soft:#46546A}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font:17px/1.6 "Montserrat",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:var(--white);overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--amber);outline-offset:3px}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
h1,h2,h3{text-transform:uppercase;letter-spacing:.04em}
header{background:var(--white);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}
header .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;padding-top:10px;padding-bottom:10px}
.brand img{height:72px;width:auto}
nav{display:flex;align-items:center;gap:8px 22px;flex-wrap:wrap}
nav a{text-decoration:none;font-weight:700;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--navy);padding:6px 0;border-bottom:2px solid transparent}
nav a:hover,nav a[aria-current]{border-bottom-color:var(--amber)}
nav a.btn{border:0;padding:8px 14px;font-size:13px;letter-spacing:.1em}
.btn{display:inline-block;background:var(--amber);color:var(--navy);font-weight:700;padding:13px 24px;text-decoration:none;border-radius:4px;border:0;font:inherit;font-weight:700;font-size:13px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:transform .2s,background .2s}
.btn:hover{background:#f5a53a;transform:translateY(-2px)}
.btn.ghost{background:transparent;color:var(--white);border:2px solid rgba(255,255,255,.5)}
.btn.ghost:hover{border-color:var(--amber)}
.hero{background:linear-gradient(100deg,#0B1B33 0%,#17325A 100%);color:var(--white)}
.hero .wrap{padding-top:96px;padding-bottom:104px}
.hero h1{font-size:clamp(32px,5vw,54px);line-height:1.1;margin:0 0 20px;max-width:15em;font-weight:800}
.hero p{max-width:34em;font-size:19px;margin:0 0 32px;color:#DCE4F0}
.hero .btn+.btn{margin-left:12px}
.tag{border-left:4px solid var(--amber);padding-left:14px;margin:0 0 28px;font-weight:600;letter-spacing:.06em}
.coord{background:var(--mist);border-bottom:1px solid var(--line)}
.coord .wrap{padding-top:20px;padding-bottom:20px;color:var(--ink)}
.coord strong{color:var(--navy)}
.q{color:var(--amber)}
section{padding:76px 0}
section.alt{background:var(--mist)}
h2{font-size:clamp(25px,3.2vw,34px);line-height:1.15;margin:0 0 14px;color:var(--navy);font-weight:800;position:relative;padding-bottom:14px}
h2:after{content:"";position:absolute;left:0;bottom:0;width:64px;height:4px;background:var(--amber);transform-origin:left;transition:transform .8s .25s}
.js h2[data-fx]:not(.in):after{transform:scaleX(0)}
h3{font-size:18px;margin:0 0 8px;color:var(--navy);font-weight:800}
.lead{max-width:42em;color:var(--soft);margin:0 0 40px}
.grid{display:grid;gap:28px}
.g4{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.g2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.pillar{border-top:4px solid var(--amber);padding-top:16px}
.pillar p{margin:0;color:var(--soft)}
.split{display:grid;gap:48px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:center}
.split img{border-radius:4px;width:100%;max-height:440px;object-fit:cover}
ul.plain{list-style:none;margin:0;padding:0}
ul.plain li{padding:12px 0;border-bottom:1px solid var(--line);font-weight:600;color:var(--navy)}
.svc{background:var(--white);border:1px solid var(--line);border-top:5px solid var(--navy);padding:30px 26px;transition:transform .25s,box-shadow .25s}
.svc:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(11,27,51,.12)}
.svc h3{font-size:20px;margin-top:6px}
.svc ul{list-style:none;margin:14px 0 0;padding:0}
.svc li{padding:9px 0 9px 22px;border-top:1px solid var(--line);position:relative;font-weight:600;color:#2E3B4E}
.svc li:before{content:"";position:absolute;left:0;top:16px;width:9px;height:9px;background:var(--amber);transform:rotate(45deg)}
.ico{width:76px;height:76px;margin-bottom:8px}
.svc li{break-inside:avoid}
.svc.in li:nth-child(6){transition-delay:1.1s}
.ico path{stroke-dasharray:1;stroke-dashoffset:0}
.js .svc:not(.in) .ico path{stroke-dashoffset:1}
.svc.in .ico path{transition:stroke-dashoffset 1.2s ease}
.js .svc:not(.in) li{opacity:0;transform:translateX(-16px)}
.svc li{transition:opacity .5s,transform .5s}
.svc.in li:nth-child(1){transition-delay:.35s}.svc.in li:nth-child(2){transition-delay:.5s}.svc.in li:nth-child(3){transition-delay:.65s}.svc.in li:nth-child(4){transition-delay:.8s}.svc.in li:nth-child(5){transition-delay:.95s}
.team{display:grid;gap:36px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));max-width:640px;margin-top:36px}
.member{text-align:center}
.member img,.av{width:168px;height:168px;border-radius:50%;margin:0 auto 16px;border:4px solid var(--amber);object-fit:cover}
.av{background:var(--navy);color:var(--white);display:grid;place-items:center;font-size:44px;font-weight:800;letter-spacing:.06em}
.member h3{margin:0}
.member a{display:block;width:168px;margin:0 auto;border-radius:50%;transition:transform .25s}
.member a:hover{transform:scale(1.05)}
.form{display:grid;gap:18px;grid-template-columns:1fr 1fr;max-width:680px}
.form .full{grid-column:1/-1}
.form label{display:block;font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--navy);margin-bottom:6px}
.form input,.form textarea{width:100%;font:inherit;padding:12px 14px;border:1px solid #9AA7BA;border-radius:4px;background:var(--white);color:var(--ink)}
.form textarea{min-height:150px;resize:vertical}
.hp{position:absolute;left:-9999px}
#fmsg{margin:0;font-weight:600}
.cta{background:var(--navy);color:var(--white)}
.cta h2{color:var(--white)}
.cta p{color:#DCE4F0;max-width:38em;margin:0 0 26px}
.pagehead{background:var(--navy);color:var(--white)}
.pagehead .wrap{padding-top:64px;padding-bottom:64px}
.pagehead h1{margin:0 0 12px;font-size:clamp(30px,4.4vw,46px);font-weight:800}
.pagehead p{margin:0;max-width:38em;color:#DCE4F0}
footer{background:#08142A;color:#B7C3D6;font-size:14px}
footer .wrap{padding-top:28px;padding-bottom:28px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
footer a{text-decoration:none;color:var(--amber)}
.js [data-fx]{opacity:0;transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1);transition-delay:var(--d,0s)}
.js [data-fx=up]{transform:translateY(34px)}
.js [data-fx=left]{transform:translateX(-48px)}
.js [data-fx=right]{transform:translateX(48px)}
.js [data-fx=pop]{transform:scale(.88) translateY(20px)}
.js [data-fx].in{opacity:1;transform:none}
.js .pillar[data-fx]{border-top-color:transparent;background:linear-gradient(var(--amber),var(--amber)) top left/0 4px no-repeat;transition:opacity .8s,transform .8s,background-size .9s .3s;transition-delay:var(--d,0s)}
.js .pillar[data-fx].in{background-size:100% 4px}
@keyframes rise{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}
.hero .tag,.hero h1,.hero p,.hero .btn{animation:rise .9s cubic-bezier(.2,.8,.2,1) both}
.hero h1{animation-delay:.15s}.hero p{animation-delay:.3s}.hero .btn{animation-delay:.45s}.hero .btn+.btn{animation-delay:.55s}
@media(max-width:560px){.hero .btn+.btn{margin:12px 0 0}.hero .wrap{padding-top:64px;padding-bottom:72px}section{padding:54px 0}.form{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.js [data-fx],.js .svc li{opacity:1!important;transform:none!important}.js .svc .ico path{stroke-dashoffset:0!important}}