@font-face{font-family:'Barlow Condensed';font-weight:600;font-style:normal;font-display:swap;src:url(../fonts/barlow-condensed-latin-600-normal.woff2) format('woff2')}@font-face{font-family:'Barlow Condensed';font-weight:700;font-style:normal;font-display:swap;src:url(../fonts/barlow-condensed-latin-700-normal.woff2) format('woff2')}@font-face{font-family:'Barlow Condensed';font-weight:800;font-style:normal;font-display:swap;src:url(../fonts/barlow-condensed-latin-800-normal.woff2) format('woff2')}@font-face{font-family:'Inter';font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/inter-latin-400-normal.woff2) format('woff2')}@font-face{font-family:'Inter';font-weight:500;font-style:normal;font-display:swap;src:url(../fonts/inter-latin-500-normal.woff2) format('woff2')}@font-face{font-family:'Inter';font-weight:600;font-style:normal;font-display:swap;src:url(../fonts/inter-latin-600-normal.woff2) format('woff2')}
:root{--navy:#051F47;--red:#A6071D;--redl:#ff6a82;--gray:#F3F5F8;--slate:#4d5d75;--line:#dde2ea;--d:'Barlow Condensed','Arial Narrow',Impact,sans-serif;--b:Inter,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif}
*{box-sizing:border-box;margin:0}[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{font:400 1rem/1.65 var(--b);color:var(--navy);background:#fff;-webkit-font-smoothing:antialiased}
:focus-visible{outline:3px solid #2f7bff;outline-offset:3px}.dark :focus-visible,footer :focus-visible{outline-color:#fff}
.wrap{width:min(1180px,calc(100% - 2.5rem));margin-inline:auto}
section{padding:clamp(4rem,9vw,7rem) 0}
h1,h2,h3{font-family:var(--d);text-transform:uppercase;line-height:.95;letter-spacing:.01em}
h2{font-size:clamp(2rem,5vw,3.8rem);max-width:17ch}
a{color:inherit}
.i{width:1.5rem;height:1.5rem;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.eyebrow{display:flex;align-items:center;gap:.7rem;font:600 .78rem/1 var(--b);letter-spacing:.16em;text-transform:uppercase;color:var(--red);margin-bottom:1.1rem}
.eyebrow::before{content:"";width:2rem;height:2px;background:currentColor}
.dark{background:var(--navy);color:#fff}.dark .eyebrow{color:var(--redl)}.mut{color:#b8c4d6}
.btn{display:inline-flex;align-items:center;gap:.6rem;padding:.95rem 1.5rem;font:600 .95rem/1 var(--b);background:var(--red);color:#fff;border:2px solid var(--red);border-radius:2px;text-decoration:none;cursor:pointer;transition:background .2s,transform .2s,color .2s}
.btn:hover{background:#7e0516;border-color:#7e0516;transform:translateY(-1px)}
.btn.ghost{background:transparent;color:var(--navy);border-color:var(--navy)}.btn.ghost:hover{background:var(--navy);color:#fff}
.btn.sm{padding:.7rem 1.1rem;font-size:.88rem}
/* header */
header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-bottom:1px solid transparent;transition:box-shadow .25s,border-color .25s}
header.sc{border-color:var(--line);box-shadow:0 6px 20px -14px rgba(5,31,71,.4)}
.bar{display:flex;align-items:center;justify-content:space-between;height:72px}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none}.lg{width:40px;height:40px}
.wm{font:800 1.55rem/1 var(--d);letter-spacing:.06em;text-transform:uppercase}.wm span{font-weight:600;color:var(--slate);margin-left:.15em}
#menu{display:flex;align-items:center;gap:2rem;list-style:none;padding:0}
#menu a:not(.btn){text-decoration:none;font-weight:500;font-size:.93rem;padding:.4rem 0;background:linear-gradient(var(--red),var(--red)) 0 100%/0 2px no-repeat;transition:background-size .25s}
#menu a:not(.btn):hover{background-size:100% 2px}
.mt{display:none;font:600 .85rem var(--b);padding:.55rem 1rem;background:#fff;border:2px solid var(--navy);border-radius:2px;cursor:pointer;color:var(--navy)}
/* hero */
.hero{padding:clamp(2.5rem,6vw,5rem) 0 clamp(3.5rem,7vw,6rem);overflow-x:clip}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
h1{font-size:clamp(2.5rem,7.8vw,6.2rem);font-weight:800}h1 span{display:block}h1 em{font-style:normal;color:var(--red)}
.sub{font:600 1.08rem/1.4 var(--b);margin:1.7rem 0 .8rem;padding-left:1rem;border-left:3px solid var(--red)}
.lead{color:var(--slate);max-width:54ch}.cta{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:2rem}
.artw{position:relative}.artw::after{content:"";position:absolute;right:-14px;top:-14px;width:70px;height:70px;border:4px solid var(--red);border-left:0;border-bottom:0}
.art{display:block;width:100%;height:auto;box-shadow:22px 22px 0 var(--gray)}
/* strip */
.strip{background:var(--navy);color:#fff;padding:0}
.strip ul{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr)}
.strip li{padding:1.7rem 1.4rem;border-left:1px solid rgba(255,255,255,.14);font:700 1.45rem/1.05 var(--d);text-transform:uppercase;letter-spacing:.03em}
.strip li:first-child{border-left:0;padding-left:0}.strip small{display:block;font:600 .72rem var(--b);letter-spacing:.16em;color:var(--redl);margin-bottom:.5rem}
/* services */
.svc{background:var(--gray)}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:3rem}
.card{position:relative;display:flex;flex-direction:column;background:#fff;padding:2rem 1.8rem 1.6rem;border:1px solid var(--line);border-top:3px solid var(--navy);transition:transform .25s,box-shadow .25s,border-color .25s}
.card::after{content:attr(data-n);position:absolute;right:1.3rem;top:.8rem;font:800 3.8rem/1 var(--d);color:var(--gray);z-index:0}
.card>*{position:relative;z-index:1}
.card:hover{transform:translateY(-4px);box-shadow:0 20px 40px -20px rgba(5,31,71,.4);border-top-color:var(--red)}
.ico{display:grid;place-items:center;width:3.2rem;height:3.2rem;background:var(--navy);color:#fff;margin-bottom:1.4rem;transition:background .25s}.card:hover .ico{background:var(--red)}
.card h3{font-size:1.7rem;line-height:1;margin-bottom:.7rem;max-width:14ch}.card p{color:var(--slate);font-size:.95rem}
.more{margin-top:auto;padding-top:1.4rem;display:inline-flex;align-items:center;gap:.5rem;font:600 .9rem var(--b);text-decoration:none}
.more:hover{color:var(--red)}.more .i{width:1.1rem;height:1.1rem;transition:transform .2s}.more:hover .i{transform:translateX(4px)}
/* approach */
.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;margin-top:3.5rem;position:relative}
.steps::before{content:"";position:absolute;left:0;right:0;top:1.4rem;height:2px;background:var(--line)}
.steps li{position:relative;padding-top:4rem}
.steps b{position:absolute;top:0;left:0;display:grid;place-items:center;width:2.8rem;height:2.8rem;background:#fff;border:2px solid var(--navy);font:800 1.15rem var(--d);letter-spacing:.04em}
.steps li:last-child b{background:var(--red);border-color:var(--red);color:#fff}
.steps h3{font-size:1.9rem;margin-bottom:.5rem}.steps p{color:var(--slate);font-size:.95rem}
/* why */
.cut{clip-path:polygon(0 2.5rem,100% 0,100% 100%,0 100%);margin-top:-2.5rem;padding-top:calc(clamp(4rem,9vw,7rem) + 2.5rem)}
.why{display:grid;grid-template-columns:repeat(3,1fr);margin-top:3rem;border:1px solid rgba(255,255,255,.16)}
.why>div{padding:2.3rem 2rem;border-right:1px solid rgba(255,255,255,.16);transition:background .25s}.why>div:last-child{border:0}.why>div:hover{background:rgba(255,255,255,.04)}
.why .i{width:2.5rem;height:2.5rem;color:var(--redl);margin-bottom:1.4rem;stroke-width:1.3}
.why h3{font-size:1.85rem;margin-bottom:.6rem}
/* serve */
.serve{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);column-gap:2.5rem;margin-top:3rem;border-top:2px solid var(--navy)}
.serve li{padding:1.5rem 0;border-bottom:1px solid var(--line);font:700 1.75rem/1.05 var(--d);text-transform:uppercase}
.serve li::before{content:"";display:inline-block;width:.5rem;height:.5rem;background:var(--red);margin-right:.8rem;vertical-align:middle}
/* about */
.about{background:var(--gray)}.about .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,6vw,5rem);align-items:center}
.about p.t{color:var(--slate);margin-top:1.5rem;max-width:56ch}
.pq{font:800 clamp(2rem,5vw,4rem)/.98 var(--d);text-transform:uppercase;padding:2rem 0 2rem 1.8rem;border-left:6px solid var(--red)}.pq span{color:var(--red)}
/* faq */
.fw{display:grid;grid-template-columns:.8fr 1.5fr;gap:clamp(2rem,6vw,5rem)}.fw>div:first-child{position:sticky;top:100px;align-self:start}
details{border-bottom:1px solid var(--line)}details:first-child{border-top:2px solid var(--navy)}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:1rem;padding:1.25rem .2rem;font:600 1.02rem/1.4 var(--b);transition:color .2s}
summary::-webkit-details-marker{display:none}summary:hover{color:var(--red)}
summary::after{content:"+";font:400 1.8rem/1 var(--b);color:var(--red);transition:transform .25s}details[open] summary::after{transform:rotate(45deg)}
details p{padding:0 2.5rem 1.4rem .2rem;color:var(--slate)}
/* contact */
.contact .wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}
.contact h1,.contact h2{font-size:clamp(2.2rem,6vw,4.6rem);max-width:11ch}
.checks{list-style:none;padding:0;margin:2rem 0;display:grid;gap:.7rem;color:#dbe3ef}.checks li{display:flex;gap:.7rem}.checks .i{flex:none;width:1.2rem;height:1.2rem;margin-top:.25rem;color:var(--redl)}
.ph{font-size:.9rem;color:#b8c4d6;border-top:1px solid rgba(255,255,255,.16);padding-top:1.2rem}
.cf{background:#fff;color:var(--navy);padding:clamp(1.5rem,3.5vw,2.6rem);border-top:5px solid var(--red);box-shadow:0 30px 60px -20px rgba(0,0,0,.55)}
.fg{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}.fg .w{grid-column:1/-1}
.f label{display:block;font:600 .82rem var(--b);margin-bottom:.4rem}.f small{font-weight:400;color:var(--slate)}
.human-row{display:flex;align-items:center;gap:.8rem}.human-row span{flex:1;font-weight:600}.human-row input{max-width:150px}.human-refresh{margin-top:.4rem;padding:0;border:0;background:none;color:var(--red);font:600 .8rem var(--b);text-decoration:underline;cursor:pointer}.human-check p{font-size:.8rem;color:var(--slate);margin-top:.3rem}
.f:has([required]) label::after{content:" *";color:var(--red)}
.f input,.f select,.f textarea{width:100%;font:inherit;font-size:.95rem;padding:.8rem .9rem;border:1.5px solid #b3bfce;border-radius:2px;background:#fff;color:var(--navy);transition:border-color .15s,box-shadow .15s}
.f textarea{min-height:110px;resize:vertical}.f input:hover,.f select:hover,.f textarea:hover,.f :focus{border-color:var(--navy)}.f :focus{box-shadow:0 0 0 3px rgba(5,31,71,.15)}
.f [aria-invalid=true]{border-color:var(--red)}.err{display:block;color:#a6071d;font-size:.8rem;margin-top:.3rem}.err:empty{display:none}
.fine{font-size:.78rem;color:var(--slate);margin-top:1.1rem}.cf .btn{margin-top:1.4rem;width:100%;justify-content:center;padding:1.1rem}
.st{margin-top:1rem;padding:.9rem 1rem;font-size:.9rem;border-left:4px solid;background:var(--gray)}.st.e{border-color:var(--red)}.st.w{border-color:#c98a00}
#ok h3{font-size:2.2rem;margin-bottom:.6rem}
/* footer */
footer{background:#031534;color:#b8c4d6;position:relative;padding:4rem 0 2rem;font-size:.92rem}
.fgrid{display:grid;grid-template-columns:1.4fr .9fr 1fr 1.2fr 1.2fr;gap:2rem}.fgrid .fh{font:700 1.1rem var(--d);letter-spacing:.1em;color:#fff;margin-bottom:1rem}
.fgrid ul{list-style:none;padding:0;display:grid;gap:.5rem}footer a{text-decoration:none}footer a:hover{color:#fff;text-decoration:underline}
.tag{font:700 1.3rem/1.05 var(--d);text-transform:uppercase;color:#fff;margin:1rem 0 .7rem}
.fb{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:3rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.14);font-size:.83rem}.fb nav{display:flex;gap:1.5rem}
.logo{display:block;height:56px;width:auto}.fl{display:inline-flex}.fl .logo{height:60px}
.gray{background:var(--gray)}.comp{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;margin-top:3rem}.comp>div{background:#fff;border:1px solid var(--line);border-top:3px solid var(--red);padding:1.6rem}.comp .i{color:var(--red);margin-bottom:1rem}.comp h3{font-size:1.5rem;margin-bottom:.4rem}.comp b{display:block;font:600 .88rem var(--b);margin-bottom:.5rem;word-break:break-word}.comp p{color:var(--slate);font-size:.9rem}.comp a{font:600 .9rem var(--b)}.comp a:hover{color:var(--red)}
.pv{margin-top:1.25rem;background:#fff;border:1px solid var(--line)!important;padding:0 1.4rem}.pv p{padding:0 0 1.3rem}
@keyframes flow{to{stroke-dashoffset:-28}}.flow{animation:flow 1.8s linear infinite}
/* motion */
.js .rv{opacity:0;transform:translateY(16px);transition:opacity .7s,transform .7s}.js .rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before{transition:none!important;animation:none!important}.js .rv{opacity:1;transform:none}}
/* responsive */
@media(max-width:1180px){#menu{gap:1.3rem}}
@media(max-width:1000px){.comp{grid-template-columns:repeat(2,1fr)}.grid3{grid-template-columns:repeat(2,1fr)}.strip ul{grid-template-columns:repeat(2,1fr)}.strip li:nth-child(3){border-left:0;padding-left:0}.fgrid{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.mt{display:block}
#menu{position:fixed;top:72px;left:0;right:0;flex-direction:column;align-items:stretch;gap:.4rem;padding:1rem 1.25rem 1.5rem;background:#fff;border-bottom:3px solid var(--red);display:none}#menu.open{display:flex}#menu a:not(.btn){display:block;padding:.8rem 0;font-size:1.05rem}#menu .btn{justify-content:center}
.hero .wrap,.about .wrap,.fw,.contact .wrap{grid-template-columns:1fr}.fw>div:first-child{position:static}.art{box-shadow:12px 12px 0 var(--gray)}
.why{grid-template-columns:1fr}.why>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.16)}.serve{grid-template-columns:1fr 1fr}
.steps{grid-template-columns:1fr;gap:2rem}.steps::before{left:1.4rem;right:auto;top:0;bottom:0;width:2px;height:auto}.steps li{padding:0 0 0 4.2rem}}
@media(max-width:620px){.comp{grid-template-columns:1fr}.grid3,.fg,.serve,.fgrid{grid-template-columns:1fr}.strip ul{grid-template-columns:1fr}.strip li{border-left:0;padding-left:0;border-top:1px solid rgba(255,255,255,.14)}details p{padding-right:.2rem}}

#menu a[aria-current]:not(.btn){color:var(--red)}
.pagehd{background:var(--navy);color:#fff;padding:clamp(3rem,7vw,5.5rem) 0;border-bottom:4px solid var(--red)}.pagehd h1{font-size:clamp(2.2rem,6.5vw,5rem);max-width:18ch}.pagehd .lead{color:#b8c4d6;margin-top:1.2rem}
.sr{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(1.5rem,5vw,4rem);padding:3.5rem 0;border-top:1px solid var(--line)}.sr:first-child{border-top:0}
.sh{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.sh .ico{margin:0}.sh .n{font:800 3.6rem/1 var(--d);color:var(--line)}
.sr h2{font-size:clamp(2rem,4vw,2.8rem);max-width:none}.sr p{color:var(--slate)}
.sr ul{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.6rem 1.5rem;margin:1.2rem 0}.sr li::before{content:"";display:inline-block;width:.45rem;height:.45rem;background:var(--red);margin-right:.7rem}
.note{background:var(--gray);border-left:4px solid var(--red);padding:1rem 1.2rem;font-size:.92rem;margin:0 0 1.4rem}
.bandw{display:flex;flex-wrap:wrap;gap:2rem;align-items:center;justify-content:space-between}.bandw h2{max-width:20ch}
.prose{max-width:780px}.prose h2{font-size:1.9rem;max-width:none;margin:2.4rem 0 .6rem}.prose p,.prose li{color:var(--slate);margin-bottom:.8rem}.prose ul{padding-left:1.2rem}.prose a{color:var(--red);text-decoration:underline}
.ph a{color:#fff}.ph strong{color:#fff}
@media(max-width:900px){.sr{grid-template-columns:1fr}}@media(max-width:620px){.sr ul{grid-template-columns:1fr}}
.comp.two{grid-template-columns:repeat(2,1fr)}@media(max-width:620px){.comp.two{grid-template-columns:1fr}}.serve a{text-decoration:none}.serve a:hover{color:var(--red)}h1,h2,h3,.pq,.serve li,summary{overflow-wrap:break-word;hyphens:auto}.wrap>*,.fg>*,.comp>*{min-width:0}.why>div,.grid3>*,.steps>li,.serve>li,.fgrid>div,.strip li{min-width:0}@media(max-width:620px){.contact h1,.contact h2{max-width:none;font-size:2rem}.pagehd h1{font-size:2rem}}
.skip{position:absolute;left:-999px;top:0}.skip:focus{left:1rem;top:1rem;z-index:100;background:#fff;color:var(--navy);padding:.6rem 1rem;border:2px solid var(--navy)}
.hero,.pagehd,.contact,.bandsec{position:relative}.pagehd,.contact,.bandsec{overflow:hidden}.hero>.wrap,.pagehd>.wrap,.contact>.wrap,.bandsec>.wrap{position:relative;z-index:1}
.deco{position:absolute;pointer-events:none;z-index:0;will-change:transform}
.deco.d1{width:clamp(90px,15vw,210px);aspect-ratio:1;right:7%;top:14%;border:2px solid rgba(255,255,255,.14);transform:rotate(12deg)}
.deco.d2{width:14px;height:14px;background:var(--red);right:26%;bottom:22%}
.deco.d3{width:150px;height:150px;right:3%;bottom:8%;background:radial-gradient(rgba(255,255,255,.4) 1.5px,transparent 1.6px) 0 0/14px 14px;opacity:.5}
.proc{display:flex;flex-direction:column;gap:.3rem;margin-top:1.8rem;padding:1rem 1.2rem;background:var(--gray);border-left:4px solid var(--red);font-size:.93rem;color:var(--slate);max-width:56ch}
.proc strong{color:var(--navy);font:700 1.2rem/1.1 var(--d);text-transform:uppercase;letter-spacing:.03em}
.fline{position:absolute;left:0;top:0;width:100%;height:4px;background:var(--red);transform-origin:0 50%}
.w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.06em}.w>span{display:inline-block}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.gs .rv{transition:none}
@media(max-width:700px){.deco{display:none}}.eyebrow{line-height:1.4}@media(prefers-reduced-motion:reduce){.deco{transform:none!important}}
/* Mission illustrations replace empty geometric placeholders. */
.mission-art{display:block;position:absolute;z-index:0;pointer-events:none;user-select:none;object-fit:contain;filter:drop-shadow(0 16px 24px rgba(0,0,0,.18))}
.pagehd>.mission-art--page{width:clamp(75px,10vw,130px);right:clamp(.75rem,2vw,1.5rem);top:18%;transform:none}
.pagehd--illustrated::after{content:"";position:absolute;z-index:0;top:0;bottom:0;right:clamp(.75rem,2vw,1.5rem);width:min(60vw,560px);background-repeat:no-repeat;background-position:right center;background-size:auto 100%;pointer-events:none}
.pagehd--approach::after{background-image:url("../img/mission-approach.svg?v=20261013-1921")}
.pagehd--services::after{background-image:url("../img/mission-services.svg?v=20261013-1921")}
.pagehd>.wrap{padding-right:clamp(90px,12vw,155px)}
.pagehd--illustrated>.wrap{padding-right:clamp(520px,42vw,590px)}
.bandsec>.wrap{padding-right:clamp(75px,8vw,105px)}
.bandsec--illustrated::after{content:"";position:absolute;z-index:0;top:0;bottom:0;right:clamp(.75rem,2vw,1.5rem);width:min(42vw,420px);background-repeat:no-repeat;background-position:right center;background-size:auto 100%;pointer-events:none}
.bandsec--approach::after{background-image:url("../img/mission-approach.svg?v=20261013-1921")}
.bandsec--services::after{background-image:url("../img/mission-services.svg?v=20261013-1921")}
.bandsec--illustrated>.wrap{padding-right:clamp(250px,27vw,320px)}
.contact .wrap{grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr);gap:clamp(1.25rem,3vw,2.75rem)}
@media(max-width:700px){.pagehd>.wrap,.bandsec>.wrap{padding-right:0}.mission-art--page,.mission-art--band,.bandsec--illustrated::after{display:none}.bandsec--illustrated>.wrap{padding-right:0}}
@media(max-width:980px){.pagehd--illustrated::after{display:none}.pagehd--illustrated>.wrap{padding-right:0}}
@media(max-width:1000px){.contact .wrap{grid-template-columns:1fr}}
