@charset "UTF-8";
@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url("assets/fonts/inter-400.ttf") format("truetype")}
@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url("assets/fonts/inter-500.ttf") format("truetype")}
@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url("assets/fonts/inter-600.ttf") format("truetype")}
@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url("assets/fonts/inter-700.ttf") format("truetype")}

:root{--navy:#01386f;--navy-deep:#012c56;--copper:#b36a3f;--cream:#f5efe5;--sand:#e9dece;--charcoal:#464649;--rule:#b36a3f;--page-width:1120px;--header-height:106px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 24px)}
body{margin:0;background:var(--cream);color:var(--charcoal);font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:1.125rem;line-height:1.75;-webkit-font-smoothing:antialiased}
button{font:inherit;cursor:pointer}
button,a{-webkit-tap-highlight-color:transparent}
a{color:var(--navy);text-underline-offset:.25em;text-decoration-thickness:2px}
img{display:block;max-width:100%;height:auto}
button:focus-visible,a:focus-visible{outline:3px solid var(--navy);outline-offset:6px}
.approach a:focus-visible{outline-color:var(--cream)}
::selection{background:var(--navy);color:var(--cream)}
[hidden]{display:none!important}
p,h1,h2,h3,h4{margin:0}
h1,h2,h3,h4{color:var(--navy);font-weight:600;letter-spacing:-.035em;line-height:1.2;text-wrap:balance}
h1{font-size:clamp(2.875rem,5.1vw,4.25rem);line-height:1.1;font-weight:600}
h2{font-size:clamp(2.125rem,3.8vw,3rem)}
h3{font-size:1.625rem;letter-spacing:-.025em;line-height:1.3}
h4{font-size:1.125rem;letter-spacing:0;line-height:1.5;font-weight:700;text-wrap:initial}
.container{width:min(var(--page-width),calc(100% - 80px));margin-inline:auto}
.section{padding:88px 0}
.section-anchor{scroll-margin-top:16px}
.eyebrow{color:var(--navy);font-size:1rem;font-weight:600;line-height:1.6;letter-spacing:.075em;text-transform:uppercase;margin-bottom:18px}
.skip-link{position:fixed;top:-150px;left:20px;z-index:100;padding:12px 20px;background:var(--navy);color:var(--cream)}
.skip-link:focus{top:12px}
.site-header{position:sticky;top:0;z-index:20;background:var(--cream);border-bottom:3px solid var(--copper)}
.header-inner{min-height:var(--header-height);display:flex;align-items:center;justify-content:space-between;gap:32px}
.brand{display:block;flex:none;width:224px;margin-left:-5px}
.main-navigation{display:flex;align-items:center;gap:23px}
.main-navigation a{font-size:1rem;font-weight:600;text-decoration:none;white-space:nowrap;padding:12px 0}
.main-navigation a:hover{text-decoration:underline;text-decoration-color:var(--copper);text-underline-offset:7px}
.main-navigation .nav-contact{border-left:2px solid var(--copper);padding-left:23px}
.nav-contact span{margin-left:6px;font-size:1.25rem}
.menu-toggle{display:none}
.hero{padding-top:65px}
.hero>.container>.eyebrow{margin-bottom:31px}
.hero-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:65px;align-items:center}
.hero-image{margin-top:44px;aspect-ratio:16/7;border-top:3px solid var(--copper);overflow:hidden;background:var(--sand)}
.hero-image img{width:100%;height:100%;object-fit:cover;object-position:50% 48%}
.hero-amp{color:var(--navy)}
.hero-intro{font-size:1.1875rem;line-height:1.75}
.hero-promise{font-size:1.1875rem;line-height:1.75;margin-top:24px}
.hero-actions{display:flex;flex-direction:column;align-items:flex-start;gap:19px;margin-top:30px}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:56px;padding:13px 22px;border:2px solid transparent;text-decoration:none;font-size:1rem;line-height:1.5;font-weight:600;transition:background .18s}
.button-navy{background:var(--navy);color:var(--cream)}
.button-navy:hover{background:var(--navy-deep)}
.button span{font-size:1.375rem;line-height:1}
.text-link{display:inline-flex;align-items:center;gap:16px;text-decoration:underline;text-decoration-color:var(--copper);font-weight:600;font-size:1rem;color:var(--navy)}
.text-link:hover{text-decoration-color:var(--navy)}
.text-link span{font-size:1.25rem}
.brand-divider{display:flex;gap:16px;align-items:flex-end;margin-top:58px;width:100%;line-height:0}
.brand-divider>span{height:3px;background:var(--copper);flex:1;margin-bottom:1px}
.brand-divider>img{width:100px;height:auto;flex:none}
.hero .brand-divider{margin-top:51px}
.section-heading{display:grid;grid-template-columns:1fr 1.08fr;gap:68px;align-items:end;margin-bottom:43px}
.section-intro{font-size:1.125rem;line-height:1.8}
.capabilities{padding-bottom:49px}
.capabilities-heading,.contact-heading{grid-template-columns:1fr}
.capabilities-heading h2 br{display:none}
.capabilities-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:62px;row-gap:42px}
.capability{border-top:2px solid var(--rule);padding-top:23px}
.capability-lab{background:var(--sand);border-top:4px solid var(--copper);padding:27px 28px 30px;min-width:0}
.capability-lab h3{font-size:1.75rem}
.capability-lab h3 br{display:none}
.item-number{display:block;color:var(--navy);font-size:1rem;font-weight:600;letter-spacing:.04em;margin-bottom:14px}
.scope-list{list-style:none;padding:0;margin:22px 0 0;font-size:1.125rem;line-height:1.7}
.scope-list li{position:relative;margin:11px 0;padding-left:21px}
.scope-list li:before{content:"";position:absolute;left:0;top:14px;width:7px;height:2px;background:var(--navy)}
.service-images{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;margin-top:44px}
.service-images img{width:100%;height:auto;border-top:3px solid var(--copper)}
.partner-callout{margin-top:53px;background:var(--sand);border-left:3px solid var(--copper);display:grid;grid-template-columns:1fr 1.08fr;gap:42px;padding:33px 35px}
.partner-callout .eyebrow{font-size:1rem;letter-spacing:.045em;margin-bottom:14px;text-transform:none}
.partner-callout h3{font-size:1.625rem}
.partner-callout p:not(.eyebrow){font-size:1.125rem;line-height:1.75}
.partner-callout .text-link{margin-top:20px}
.open-scope{max-width:930px;margin-top:29px;font-size:1.125rem;line-height:1.8}
.open-scope a{font-weight:600}
.industries{background:var(--sand);padding-bottom:49px}
.industry-row{display:grid;grid-template-columns:1fr 1.35fr;gap:70px;border-top:2px solid var(--rule);padding:30px 0;align-items:center}
.industry-row:last-child{border-bottom:2px solid var(--rule)}
.industry-row h3{font-size:1.625rem}
.industry-row p{font-size:1.125rem;line-height:1.8}
.industries .brand-divider{margin-top:33px}
.approach{background:var(--navy);color:var(--cream);border-block:3px solid var(--copper)}
.approach .eyebrow{color:var(--cream)}
.approach h2{color:var(--cream);font-size:clamp(2.25rem,4.25vw,3.375rem);line-height:1.16;letter-spacing:-.035em}
.approach-intro{max-width:890px;margin-top:28px;font-size:1.1875rem;line-height:1.8}
.approach-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:38px;margin-top:42px}
.approach-steps article{padding-top:22px;border-top:2px solid var(--cream)}
.step-number{font-size:1rem;font-weight:600;color:var(--cream);letter-spacing:.05em}
.approach-steps h3{color:var(--cream);font-size:1.5rem;margin-top:13px;margin-bottom:15px}
.approach-steps p{font-size:1.125rem;line-height:1.75}
.leadership{padding-block:73px 49px}
.leadership-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:38px;margin-top:33px}
.leadership-grid article{border-top:2px solid var(--rule);padding-top:23px}
.leadership-grid h3{font-size:1.625rem}
.leadership-grid p{font-size:1rem;margin-top:9px}
.leadership .brand-divider{margin-top:33px}
.contact{background:var(--sand)}
.contact-heading{margin-bottom:41px}
.contacts-grid{display:grid;grid-template-columns:1fr 1fr;gap:62px}
.contact-person{border-top:3px solid var(--copper);padding-top:25px;display:flex;flex-direction:column;align-items:flex-start}
.contact-focus{font-size:1rem;font-weight:500;color:var(--navy);margin-bottom:18px;line-height:1.65}
.contact-person h3{font-size:2rem}
.contact-title{font-size:1.125rem;margin-top:7px}
.email-button{margin-top:24px;min-width:194px}
.phone-link{font-size:1.75rem;font-weight:500;line-height:1.5;color:var(--navy);text-decoration:underline;text-decoration-color:var(--copper);letter-spacing:-.025em;margin-top:23px}
.phone-link:hover{text-decoration-color:var(--navy)}
.closing-tagline{margin-top:26px;max-width:900px;color:var(--navy);font-size:clamp(1.375rem,2.4vw,1.75rem);font-weight:600;line-height:1.5;letter-spacing:-.025em;text-wrap:balance}
.site-footer{padding-top:42px;background:var(--cream);border-top:3px solid var(--copper)}
.footer-main{display:grid;grid-template-columns:150px 1fr .8fr 1fr;gap:33px;align-items:center;padding-bottom:36px}
.footer-brand{width:150px}
.footer-description p{font-size:1rem;font-weight:600;color:var(--navy);margin-bottom:9px}
.footer-description span{font-size:1rem;line-height:1.8}
.footer-nav{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.footer-nav a{font-size:1rem;text-decoration:none;color:var(--navy)}
.footer-nav a:hover{text-decoration:underline}
.footer-contact{display:flex;flex-direction:column;align-items:flex-start;gap:8px;font-size:1rem}
.footer-contact p{font-weight:600;color:var(--navy);margin-bottom:4px}
.footer-contact a{text-decoration:none}
.footer-contact a:hover{text-decoration:underline}
.footer-bottom{border-top:2px solid var(--rule);padding:22px 0 25px;display:flex;justify-content:space-between;gap:24px;font-size:1rem;line-height:1.6}
.footer-bottom a{white-space:nowrap;text-decoration:none;flex-shrink:0}
.footer-bottom a:hover{text-decoration:underline}
.footer-bottom a span{margin-left:10px;font-size:1.125rem}

@media(max-width:1060px){
  :root{--header-height:94px}
  .container{width:calc(100% - 64px)}
  .brand{width:209px}
  .header-inner{gap:24px}
  .js .menu-toggle{display:flex;align-items:center;gap:14px;background:none;border:2px solid var(--navy);padding:9px 13px;min-height:48px;color:var(--navy);font-size:1rem;font-weight:600}
  .menu-icon{display:block;position:relative;width:18px;height:14px;border-top:2px solid var(--navy);border-bottom:2px solid var(--navy)}
  .menu-icon:after{content:"";position:absolute;top:4px;left:0;width:18px;height:2px;background:var(--navy)}
  .js .main-navigation{display:none;position:absolute;top:100%;left:0;right:0;background:var(--cream);padding:17px 32px 22px;border-bottom:3px solid var(--copper);box-shadow:0 12px 18px rgba(1,56,111,.08)}
  .js .main-navigation.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0}
  .main-navigation a{font-size:1.125rem;padding:11px 0}
  .main-navigation .nav-contact{border-left:0;padding-left:0}
  html:not(.js) .header-inner{flex-wrap:wrap;padding-bottom:16px}
  html:not(.js) .main-navigation{flex-wrap:wrap;gap:14px 22px}
  .hero-grid{gap:39px;grid-template-columns:1.1fr 1fr}
  h1{font-size:3.375rem}
  .section-heading{gap:40px}
  .capabilities-grid{column-gap:40px}
  .partner-callout{gap:30px;padding:28px}
  .industry-row{gap:40px}
  .contacts-grid{gap:40px}
  .footer-main{grid-template-columns:130px 1fr 1fr;gap:28px;align-items:start}
  .footer-brand{width:130px;grid-row:span 2}
  .footer-description{padding-top:7px}
  .footer-nav{padding-left:20px}
  .footer-contact{grid-column:2/-1;flex-direction:row;flex-wrap:wrap;gap:8px 25px}
  .footer-contact p{flex-basis:100%;margin-bottom:0}
}
@media(max-width:800px){
  .container{width:calc(100% - 48px)}
  .hero{padding-top:47px}
  .hero-grid{grid-template-columns:1fr;gap:27px}
  .hero-image{aspect-ratio:1672/941;margin-top:34px}
  h1{font-size:clamp(2.75rem,7.5vw,3.75rem);max-width:710px}
  .hero-copy{max-width:660px}
  .hero-intro,.hero-promise{font-size:1.125rem}
  .hero-promise{margin-top:18px}
  .hero-actions{flex-direction:row;align-items:center;gap:25px;margin-top:25px}
  .section{padding-block:67px}
  .capabilities,.industries,.leadership{padding-bottom:37px}
  .section-heading{grid-template-columns:1fr;gap:23px;margin-bottom:35px}
  .section-heading h2 br{display:none}
  .section-intro{max-width:720px}
  .capabilities-grid{grid-template-columns:1fr;row-gap:36px}
  .capability h3{font-size:1.5rem}
  .capability h3 br{display:none}
  .capability-lab h3{font-size:1.75rem}
  .partner-callout{grid-template-columns:1fr;gap:23px;margin-top:39px}
  .partner-callout h3 br{display:none}
  .industry-row{grid-template-columns:1fr 1.2fr;gap:30px}
  .industry-row h3{font-size:1.5rem}
  .approach h2 br{display:none}
  .approach-steps{grid-template-columns:1fr;gap:27px;margin-top:34px}
  .approach-steps article{display:grid;grid-template-columns:2.5rem 1fr;gap:0 18px;padding-top:21px}
  .approach-steps h3{margin-top:0}
  .approach-steps p{grid-column:2}
  .leadership-grid{gap:26px}
  .leadership-grid h3{font-size:1.5rem}
  .contacts-grid{gap:32px}
  .contact-person h3{font-size:1.875rem}
  .contact-focus{min-height:3.3em}
  .brand-divider{margin-top:39px}
  .brand-divider>img{width:88px}
  .footer-bottom{flex-direction:column;gap:17px}
}
@media(max-width:600px){
  :root{--header-height:87px}
  .container{width:calc(100% - 40px)}
  .brand{width:182px}
  .header-inner{gap:16px}
  .hero{padding-top:36px}
  .eyebrow{font-size:1rem;letter-spacing:.045em;margin-bottom:16px}
  .hero>.container>.eyebrow{margin-bottom:22px;max-width:26ch}
  h1{font-size:clamp(2.5rem,8.5vw,3.25rem);line-height:1.13;letter-spacing:-.035em}
  .hero-grid{gap:23px}
  .hero-actions{flex-direction:column;align-items:flex-start;gap:18px}
  .hero .brand-divider{margin-top:33px}
  .section{padding-block:52px}
  .capabilities,.industries,.leadership{padding-bottom:32px}
  h2{font-size:2.125rem}
  .section-heading{gap:20px;margin-bottom:29px}
  .capabilities-grid{grid-template-columns:1fr;gap:32px}
  .capability{padding-top:21px}
  .capability-lab{padding:23px 21px 25px}
  .service-images{grid-template-columns:1fr;gap:22px;margin-top:32px}
  .item-number{margin-bottom:12px}
  .capability h3{font-size:1.625rem}
  .scope-list{margin-top:18px}
  .scope-list li{margin-block:10px}
  .partner-callout{padding:24px 22px;gap:19px;margin-top:32px}
  .partner-callout h3{font-size:1.625rem}
  .partner-callout .text-link{margin-top:16px}
  .open-scope{margin-top:25px}
  .brand-divider{gap:12px;margin-top:31px}
  .brand-divider>img{width:78px}
  .industry-row{grid-template-columns:1fr;gap:15px;padding:25px 0}
  .industry-row h3{font-size:1.625rem}
  .industry-row h3 br{display:none}
  .industry-row p{font-size:1.125rem}
  .industries .brand-divider{margin-top:27px}
  .approach h2{font-size:2.25rem}
  .approach-intro{font-size:1.125rem;margin-top:24px}
  .approach-steps{gap:25px}
  .approach-steps article{display:block}
  .approach-steps h3{font-size:1.5rem;margin-top:11px;margin-bottom:12px}
  .leadership-grid{grid-template-columns:1fr;gap:25px;margin-top:28px}
  .leadership-grid article{padding-top:20px}
  .leadership-grid h3{font-size:1.625rem}
  .leadership-grid p{font-size:1.125rem;margin-top:6px}
  .contacts-grid{grid-template-columns:1fr;gap:36px}
  .contact-heading{margin-bottom:30px}
  .contact-person{padding-top:22px}
  .contact-focus{min-height:0;margin-bottom:15px}
  .contact-person h3{font-size:2rem}
  .email-button{margin-top:22px}
  .phone-link{margin-top:20px;font-size:1.75rem}
  .site-footer{padding-top:31px}
  .footer-main{grid-template-columns:110px 1fr;gap:26px 24px;padding-bottom:28px}
  .footer-brand{width:110px;grid-row:auto}
  .footer-description{padding-top:0}
  .footer-nav{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;gap:12px 23px;padding-left:0;border-top:2px solid var(--copper);padding-top:24px}
  .footer-contact{grid-column:1/-1;gap:10px 23px}
  .footer-bottom{padding-block:22px;gap:16px}
}
@media(max-width:360px){
  .container{width:calc(100% - 32px)}
  .brand{width:158px}
  .js .menu-toggle{gap:9px;padding-inline:10px}
  h1{font-size:2.25rem}
  .footer-main{grid-template-columns:1fr}
  .footer-brand{width:125px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
