@font-face{font-family:Poppins;src:url('assets/poppins-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Poppins;src:url('assets/poppins-medium.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:Poppins;src:url('assets/poppins-semibold.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:Poppins;src:url('assets/poppins-bold.ttf') format('truetype');font-weight:700;font-display:swap}
:root{--navy:#042a4e;--green:#2e7d32;--purple:#652d89;--muted:#7a7a7a}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--navy);font-family:Poppins,sans-serif;font-size:16px;line-height:1.5}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font:inherit}h1,h2,h3,p{margin:0}p{margin-bottom:14.4px}a:focus-visible,button:focus-visible{outline:3px solid #ad87cf;outline-offset:5px}.skip-link{position:fixed;top:-100px;left:12px;z-index:100;background:white;padding:12px}.skip-link:focus{top:10px}
.site-header{height:100px;padding:0 8%;display:flex;align-items:center;background:#fff;position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;flex:1;min-width:0}.brand img{width:5.3%;height:64px;object-fit:contain;flex-shrink:0}.brand-name{font-size:35.2px;font-weight:600;line-height:1;flex:1}.navigation{display:flex;align-items:center;gap:30px;margin-left:20px;flex-shrink:0}.navigation a{font-size:20px;font-weight:600;white-space:nowrap}.navigation .contact-button{font-size:16px;font-weight:400;background:var(--navy);color:#fff;border-radius:40px;padding:14px 45px;line-height:22px}.navigation a:hover{color:var(--purple)}.navigation .contact-button:hover{color:#fff;transform:scale(1.04)}.menu-toggle{display:none}
.hero{height:500px;position:relative;display:grid;place-items:center;overflow:hidden;background:#030022 url('assets/hero.jpg') center/cover}.hero video{position:absolute;width:100%;height:100%;object-fit:cover;inset:0}.hero h1{position:relative;color:white;font-size:40px;font-weight:600;line-height:1.2;text-align:center;padding:0 20px}
.main-sections{max-width:1160px;padding:10px 20px 33px;margin:auto}.about{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:40px 0 30px}.eyebrow{text-transform:uppercase;color:var(--muted);font-size:20px;font-weight:600;line-height:1;margin:0 0 20px}.about h2{font-size:32px;line-height:38px;font-weight:400;text-transform:capitalize;margin-bottom:25px}.about p,.division p{font-size:20px;line-height:30px}.about-copy{padding-right:5px}.about-image{width:100%;aspect-ratio:1;border-radius:10px;object-fit:cover}.purple{color:var(--purple);font-weight:700}.green{color:var(--green);font-weight:700}.expertise{padding-top:41px}.division-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.division{border-radius:15px;box-shadow:0 0 20px #0003;padding:10px;display:flex;flex-direction:column;align-items:center;gap:20px}.division-logo{width:125px;height:108px;object-fit:contain}.division h3{font-size:28px;font-weight:600;line-height:1;text-align:center}.division-copy{padding:5px 40px 0;width:100%;flex:1}.division-copy p:last-child{margin-bottom:14.4px}.button{display:inline-flex;align-items:center;justify-content:center;gap:5px;background:var(--navy);color:#fff;border:0;border-radius:3px;padding:12px 24px;font-size:15px;font-weight:500;line-height:1;margin-bottom:10px}.button[href]:hover{background:var(--purple)}.button svg{width:16px;height:16px}sub{font-size:.75em;line-height:0}.button[aria-disabled]{cursor:default}
.site-footer{background:var(--navy);color:#fff}.footer-main{padding:1% 8%;display:flex;align-items:stretch}.footer-brand{width:20%;padding:0 2%;display:flex;align-items:center;justify-content:center}.footer-brand img{width:100%;max-height:150px;object-fit:contain}.footer-address{width:25%;padding-left:7%}.footer-contact{width:30%;padding-left:2%}.site-footer h2{font-size:22px;line-height:1.2;font-weight:600;margin-bottom:20px}.site-footer address{font-style:normal;color:#fffc;font-size:16px;line-height:24px;margin-bottom:14.4px}.footer-contact a{color:#fffc;white-space:nowrap;display:flex;align-items:center;gap:10px;line-height:24px}.footer-contact svg{width:14px;height:14px;fill:#ad87cf;flex-shrink:0}.footer-contact a:hover{text-decoration:underline}.footer-legal{padding:0 8%;text-align:center;font-size:16px}.footer-legal p{line-height:16px;margin-bottom:10px}.footer-legal .privacy-link{line-height:24px;padding-bottom:14.4px;margin-bottom:0}.privacy-link a:hover{text-decoration:underline}
.privacy-page{max-width:1140px;margin:0 auto;padding-bottom:30px}.privacy-page>h1{font-size:40px;line-height:40px;font-weight:600;margin:10px 0 20px}.policy{padding:10px;font-size:16px;line-height:24px}.policy h2{font-size:32px;line-height:1.2;font-weight:500;margin:8px 0 16px}.policy h3{font-size:28px;line-height:1.2;font-weight:500;margin:8px 0 16px}.policy .spaced{margin-top:66px}.policy ul{margin:0 0 14.4px;padding-left:40px}.policy a:hover{text-decoration:underline}
@media(min-width:1500px){.brand img{max-width:64px}.brand-name{white-space:nowrap}}
@media(max-width:1024px){.site-header{padding:0 4%}.brand-name{font-size:28px}.brand img{width:40px;margin-right:8px}.navigation{gap:20px}.navigation a{font-size:18px}.navigation .contact-button{padding:12px 25px}.footer-address{padding-left:3%;width:32%}.footer-contact{width:45%}.footer-brand{width:20%}.privacy-page{padding:0 20px 30px}}
@media(max-width:767px){html{scroll-padding-top:95px}.site-header{height:auto;min-height:85px;padding:10px 20px;flex-wrap:wrap}.brand{max-width:calc(100% - 48px)}.brand-name{font-size:24px;line-height:1.1}.brand img{width:32px;height:50px;margin-right:10px}.menu-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:0;background:transparent;color:var(--navy);margin-left:auto;font-size:28px}.navigation{display:none;flex-basis:100%;margin:12px 0 0;align-items:stretch;gap:0}.navigation a{padding:12px 10px}.navigation .contact-button{align-self:flex-start;margin:8px 0}.hero{height:350px}.hero h1{font-size:30px;line-height:1.2}.main-sections{padding:10px 20px 30px}.about{grid-template-columns:1fr;padding-top:30px;gap:20px}.about-copy{padding:0}.about h2{font-size:28px;line-height:1.2}.about p,.division p{font-size:18px;line-height:27px}.about-image{margin-top:0}.expertise{padding-top:30px}.division-grid{grid-template-columns:1fr;gap:25px}.division-copy{padding:5px 20px 0}.division h3{font-size:26px}.footer-main{padding:30px 20px;flex-direction:column;gap:30px}.footer-brand,.footer-address,.footer-contact{width:100%;padding:0}.footer-brand{justify-content:flex-start}.footer-brand img{width:110px}.footer-contact a{white-space:normal;overflow-wrap:anywhere}.footer-legal{padding:0 20px;font-size:14px}.footer-legal p{line-height:21px}.privacy-page>h1{font-size:34px}.policy{padding:10px 0}.policy h2{font-size:28px}.policy h3{font-size:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero video{display:none}*{transition:none!important}}
/* Reference-aligned sizing and compact navigation. */
.brand img{width:4.44vw}
.navigation{gap:30px}.navigation .contact-button{margin-left:-10px}
.about{padding-top:41px}.about .eyebrow{font-size:20px;line-height:20px;margin-bottom:20px}.about-image{height:auto;align-self:start;margin-top:5px}
.footer-brand img{height:auto}
@media(max-width:1024px) and (min-width:768px){.site-header{padding:0 8%}.brand-name{font-size:35.2px}.brand img{width:4.44vw;margin:0}.navigation{gap:30px}.navigation a{font-size:20px}.navigation .contact-button{padding:14px 45px}}
@media(max-width:767px){
 html{scroll-padding-top:75px}.site-header{height:65px;min-height:65px;padding:0 5%;flex-wrap:nowrap;gap:0}.brand{flex:none;width:20%;max-width:none}.brand img{width:100%;height:64px;margin:0}.brand-name{display:none}.menu-toggle{display:flex;font-size:24px;width:40px;height:40px;margin:0 18px 0 auto;z-index:12}.navigation{display:contents;margin:0}.navigation>a:not(.contact-button){display:none}.navigation .contact-button{display:block;margin:0;padding:12px 25px;font-size:14px;line-height:16px;align-self:auto}.navigation.is-open>a:not(.contact-button){display:block;position:absolute;top:65px;left:0;right:0;padding:10px 20px;background:#f5f5fa;font-size:16px;line-height:20px}.navigation.is-open>a:nth-child(2){top:105px}.hero{height:500px}.hero h1{font-size:40px;line-height:1.2;padding:0}.about{padding-top:41px;gap:26px}.about-copy{padding-right:5px}.about h2{font-size:32px;line-height:38px}.about p,.division p{font-size:20px;line-height:30px}.about-image{margin-top:0}.expertise{padding-top:41px}.division-grid{gap:20px}.division-copy{padding:5px 40px 0}.division h3{font-size:28px}.footer-main{padding:30px 5%;gap:20px;align-items:center;text-align:center}.footer-contact{order:0}.footer-address{order:1}.footer-brand{order:2;justify-content:center}.footer-brand img{width:150px}.footer-contact a{justify-content:center}.footer-legal{font-size:16px;padding:0 5%}.footer-legal p{line-height:20.8px}
}
@media(max-width:767px){.about{gap:41px}.hero video{display:none}.menu-toggle{font-size:20px}}
/* Scale the desktop wordmark through tablet widths without changing mobile. */
@media(min-width:768px) and (max-width:1199px){
 .brand-name{font-size:clamp(22px,2.9vw,35.2px);line-height:1.1;min-width:0}
}
/* Keep the logo stable; its 64px box also fits the 65px mobile header. */
.site-header .brand img{width:64px;height:64px;max-width:64px;flex:0 0 64px;object-fit:contain;margin:0}
@media(max-width:767px){.site-header .brand{width:64px}}
