/* Final art-direction pass for the conventional inner pages. Progressive enhancement only. */
:root{--award-ease:cubic-bezier(.16,1,.3,1)}
.company-pages .page-opening,.service-overview .svc-opening{isolation:isolate}
.company-pages .page-opening{min-height:min(720px,78svh);display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:clamp(64px,8vw,112px)}
.company-pages .page-opening:after{right:calc(-8% + var(--mx,0px));top:calc(-60% + var(--my,0px));width:72%;height:220%;border-color:#ffffff2d;transition:transform .8s var(--award-ease)}
.company-pages .page-opening:before{right:17%;width:2px;background:linear-gradient(transparent 8%,#ef3543 48%,transparent 90%);box-shadow:52px 0 0 #ffffff13,-52px 0 0 #ffffff0b}
.company-pages .page-opening h1{max-width:1120px}.company-pages .page-opening .lead{font-size:clamp(19px,2vw,28px);line-height:1.35;margin-top:clamp(28px,4vw,56px)}
.company-pages .page-opening .eyebrow:after{content:"";display:inline-block;width:clamp(50px,8vw,130px);height:1px;background:#ef3543;margin-left:18px;vertical-align:middle}
.company-pages .route-content{padding-top:clamp(70px,9vw,135px)}
.company-pages .service-row{grid-template-columns:70px minmax(0,1.15fr) minmax(280px,.85fr);gap:clamp(28px,5vw,88px);padding-block:clamp(50px,7vw,94px);transition:padding-left .55s var(--award-ease)}
.company-pages .service-row .step{font-size:12px;letter-spacing:.14em;color:var(--red)}
.company-pages .service-row h2{font-size:clamp(38px,4.4vw,66px);line-height:1.02;letter-spacing:-.045em}
.company-pages .service-row>div{align-self:end}.company-pages .service-row>div p{font-size:clamp(17px,1.45vw,21px);line-height:1.65}
.about-page .team-section{margin-top:clamp(60px,10vw,150px);padding-top:clamp(55px,7vw,90px)}
.about-page .team-section>h2{font-size:clamp(46px,6vw,88px);letter-spacing:-.055em;max-width:800px}
.about-page .team-section>p:not(.eyebrow){max-width:590px;margin:28px 0 62px;font-size:19px;color:var(--muted)}
.about-page #team-profiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,3vw,48px);align-items:start}
.about-page .person{position:relative;border:0;padding:0;overflow:hidden;background:var(--navy)}
.about-page .person:nth-child(2){margin-top:70px}.about-page .person:nth-child(3){margin-top:140px}
.about-page .person img{width:100%;aspect-ratio:4/5;object-fit:cover;filter:grayscale(1) contrast(1.06);opacity:.88;transition:filter .65s var(--award-ease),transform .8s var(--award-ease),opacity .65s}
.about-page .person:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.82) 82%);pointer-events:none}
.about-page .person-meta{position:absolute;z-index:2;left:22px;right:22px;bottom:20px;color:#fff}
.about-page .person-meta h3{position:static;margin:0;color:#fff;font-size:clamp(20px,2vw,30px);line-height:1.05}
.about-page .person-detail{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px}
.about-page .person-detail p{position:static;margin:0;color:#fff;font-size:11px;line-height:1;letter-spacing:.14em;text-transform:uppercase}
.about-page .person-detail a{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex:0 0 28px;color:#fff;border:1px solid #ffffff80;border-radius:3px;text-decoration:none;transition:background .2s,border-color .2s}.about-page .person-detail a:hover,.about-page .person-detail a:focus-visible{background:#0a66c2;border-color:#0a66c2}.about-page .person-detail a svg{width:13px;height:13px;display:block}
.about-page .person:hover img,.about-page .person:focus-within img{filter:grayscale(0);opacity:1;transform:scale(1.025)}
.careers-page .role-list{display:block;counter-reset:roles;margin-top:65px;border-top:1px solid var(--line)}
.careers-page .role-list article{counter-increment:roles;display:grid;grid-template-columns:80px minmax(240px,.8fr) minmax(300px,1.2fr);gap:4%;align-items:start;padding:38px 24px 38px 0;border-top:0;border-bottom:1px solid var(--line);transition:background .35s,padding-left .45s var(--award-ease)}
.careers-page .role-list article:before{content:"0" counter(roles);font-size:12px;letter-spacing:.14em;color:var(--red);padding-top:8px}
.careers-page .role-list article:hover{background:#f6f5f2;padding-left:24px}.careers-page .role-list h3{font-size:clamp(25px,2.4vw,36px);margin:0}.careers-page .role-list p{margin:4px 0 0;font-size:17px}
.careers-page .vacancies{display:grid;grid-template-columns:minmax(240px,.7fr) minmax(300px,1.3fr);gap:8%;align-items:start;margin-block:clamp(90px,12vw,170px)}
.careers-page .vacancies>h2{font-size:clamp(43px,5vw,72px);letter-spacing:-.045em}.careers-page .vacancies>.eyebrow{grid-column:1/-1}.careers-page .vacancy-empty{margin:0;padding:38px;border-left:0;border-top:3px solid var(--red)}
.careers-page .career-apply{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px 9%;padding:clamp(42px,7vw,95px);max-width:none}
.careers-page .career-apply h2{font-size:clamp(42px,5vw,72px);line-height:1;grid-row:1/5}.careers-page .career-apply>*:not(h2){grid-column:2}.careers-page .career-apply .button{justify-self:start}
.contact-page .route-content{display:grid;grid-template-columns:minmax(300px,.92fr) minmax(420px,1.08fr);gap:8%;align-items:start}
.contact-page .contact-facts{position:sticky;top:28px;padding:0 0 54px;border-bottom:0}
.contact-page .contact-facts:before{content:none}
.contact-page .phone{display:block;font-size:clamp(48px,6.8vw,104px);line-height:.96;letter-spacing:-.065em;text-decoration-thickness:2px;margin:30px 0 44px}
.contact-page .contact-facts p:last-child{font-size:18px;line-height:1.65}
.contact-page .service-row{grid-column:2;grid-template-columns:48px 1fr;padding-block:45px}.contact-page .service-row>div{grid-column:2}.contact-page .service-row h2{font-size:clamp(31px,3.2vw,48px)}.contact-page .route-content>.small{grid-column:2}
.contact-page .service-row .text-link{display:table;margin-top:18px}.contact-page .route-content>.small{margin-bottom:48px}
.service-overview .svc-opening{min-height:min(690px,75svh);display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(120deg,#fff 0 67%,#f3f2ee 67%)}
.service-overview .svc-opening h1{font-size:clamp(62px,8.3vw,124px);line-height:.88}.service-overview .svc-opening h1 em{color:var(--red)}
.service-overview .svc-capabilities{grid-template-columns:minmax(300px,.85fr) minmax(420px,1.15fr);padding-block:clamp(80px,11vw,155px)}
.service-overview .svc-section-label{position:sticky;top:30px}.service-overview .svc-section-label h2{font-size:clamp(48px,5.2vw,78px);line-height:.98}
.service-overview .svc-route{padding-left:clamp(28px,4vw,64px)}.service-overview .svc-route article{min-height:260px;padding:0 0 60px;margin-bottom:58px;transition:padding-left .55s var(--award-ease)}
.service-overview .svc-route article:hover{padding-left:22px}.service-overview .svc-route h3{font-size:clamp(44px,4.5vw,70px);letter-spacing:-.045em}.service-overview .svc-route p{font-size:18px;line-height:1.65}
.service-overview .svc-faq{display:grid;grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr);gap:8vw;background:#f2efe9;padding-block:110px}.service-overview .svc-faq-heading{align-self:start;position:sticky;top:118px}.service-overview .svc-faq-heading h2{margin:18px 0 24px;max-width:520px}.service-overview .svc-faq-heading>p:last-child{max-width:360px;color:#46515e}.service-overview .svc-faq-list{border-top:1px solid #071c3a}.service-overview .svc-faq-list article{padding:30px 0;border-bottom:1px solid #071c3a;display:grid;grid-template-columns:minmax(180px,.8fr) minmax(0,1.2fr);gap:34px}.service-overview .svc-faq-list h3{font-family:Arial,sans-serif;font-size:15px;line-height:1.35;letter-spacing:.02em;margin:0}.service-overview .svc-faq-list p{margin:0;color:#354454;line-height:1.65}
.service-overview .svc-close{max-width:none;background:var(--navy);color:#fff;padding-block:clamp(75px,9vw,130px)}.service-overview .svc-close h2{font-size:clamp(50px,6vw,88px);line-height:.96}.service-overview .svc-close p:last-child{color:#d8e0ea}
.award-reveal{opacity:1;transform:none}
@media(max-width:900px){.company-pages .page-opening{min-height:auto}.contact-page .route-content{display:block}.company-pages .service-row,.contact-page .route-content,.careers-page .vacancies,.careers-page .career-apply{grid-template-columns:1fr}.company-pages .service-row{gap:18px}.company-pages .service-row>div,.contact-page .service-row>div,.contact-page .route-content>.small,.careers-page .career-apply>*:not(h2){grid-column:auto}.contact-page .contact-facts{position:static}.careers-page .career-apply h2{grid-row:auto}.careers-page .role-list article{grid-template-columns:54px 1fr}.careers-page .role-list article p{grid-column:2}.service-overview .svc-section-label{position:static}.service-overview .svc-opening{min-height:auto;padding-block:88px}.service-overview .svc-opening-grid{grid-template-columns:minmax(0,1fr);gap:38px;align-items:start}.service-overview .svc-capabilities{grid-template-columns:minmax(0,1fr)}.service-overview .svc-route{min-width:0}.service-overview .svc-faq{grid-template-columns:1fr;gap:46px;padding-block:80px}.service-overview .svc-faq-heading{position:static}.service-overview .svc-faq-list article{grid-template-columns:minmax(150px,.75fr) minmax(0,1.25fr)}}
@media(max-width:650px){.company-pages .page-opening{padding-block:70px}.company-pages .page-opening h1{font-size:clamp(43px,12.5vw,64px)}.company-pages .page-opening .lead{font-size:19px}.company-pages .service-row{grid-template-columns:38px 1fr;padding-block:46px}.company-pages .service-row>div{grid-column:2}.about-page #team-profiles{grid-template-columns:1fr;gap:18px}.about-page .person:nth-child(2),.about-page .person:nth-child(3){margin-top:0}.about-page .person{display:block;padding-bottom:82px}.about-page .person:after{display:none}.about-page .person img{width:100%;max-height:none;aspect-ratio:5/4;object-fit:cover;object-position:center 18%;opacity:1}.about-page .person-meta{bottom:18px}.careers-page .role-list article{padding:26px 0;grid-template-columns:38px 1fr}.careers-page .role-list article:hover{padding-left:10px}.careers-page .vacancies{margin-block:75px}.careers-page .career-apply{padding:42px 24px}.contact-page .phone{font-size:clamp(43px,14vw,68px)}.service-overview .svc-opening{min-height:auto;padding-block:60px;background:#fff}.service-overview .svc-opening h1{font-size:clamp(54px,16vw,78px)}.service-overview .svc-capabilities{grid-template-columns:1fr;padding-block:70px}.service-overview .svc-route article{min-height:0}.service-overview .svc-route article:hover{padding-left:0}.service-overview .svc-faq{padding-block:64px}.service-overview .svc-faq-list article{display:block;padding:24px 0}.service-overview .svc-faq-list h3{margin-bottom:10px}}
@media(prefers-reduced-motion:reduce){.award-ready .award-reveal{opacity:1;transform:none;transition:none}.company-pages .page-opening:after,.about-page .person img,.careers-page .role-list article,.service-overview .svc-route article{transition:none}}
