@font-face{font-family:Manrope;src:url('/assets/body.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('/assets/body-bold.ttf') format('truetype');font-weight:600 800;font-display:swap}
@font-face{font-family:Barlow;src:url('/assets/display.ttf') format('truetype');font-weight:500 800;font-display:swap}
:root{--ink:#17262c;--muted:#56636b;--blue:#005cda;--orange:#ea681e;--line:#dce3e6;--soft:#f3f6f7;--max:1200px}
*{box-sizing:border-box}html{scroll-padding-top:110px}body{margin:0;background:#fff;color:var(--ink);font:15px/1.7 Manrope,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:4px}[hidden]{display:none!important}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:Barlow,'Arial Narrow',sans-serif;line-height:1.08;font-weight:600}h1{font-size:clamp(46px,5vw,76px);letter-spacing:-.02em}h2{font-size:clamp(34px,3.3vw,48px)}h3{font-size:27px}p{color:var(--muted)}p+p{margin-top:16px}ul,ol{padding-left:21px}.wrap{width:min(100% - 80px,var(--max));margin-inline:auto}.section{padding-block:64px}.eyebrow{display:block;font-size:11px;font-weight:700;letter-spacing:.13em;color:var(--blue);margin-bottom:14px}.lead{font-size:18px;line-height:1.65;max-width:660px}.soft{background:var(--soft)}.small-note{font-size:12px;margin-top:12px}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;min-height:48px;padding:13px 20px;border:1px solid var(--blue);background:var(--blue);color:#fff;font-size:13px;font-weight:700;line-height:1.5;transition:background .18s,transform .18s}.button:hover{background:#0049ac;border-color:#0049ac}.button:disabled{opacity:.6;cursor:wait}.button.secondary{background:transparent;color:var(--blue);border-color:#b3c6d8}.button.secondary:hover{background:#eef4fb}.text-link{display:inline-flex;gap:14px;align-items:center;color:var(--blue);font-weight:700;font-size:13px;padding-block:8px}.text-link:hover{text-decoration:underline;text-underline-offset:4px}.skip{position:fixed;top:-90px;left:16px;z-index:100;background:white;padding:12px}.skip:focus{top:10px}
.site-header{position:sticky;top:0;z-index:30;background:#fff;border-bottom:1px solid var(--line)}.header-inner{height:86px;max-width:1480px;margin:auto;padding-inline:40px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{flex-shrink:0}.brand img{width:204px;height:68px;object-fit:contain}.site-header nav{display:flex;align-items:center;gap:30px;font-size:13px;font-weight:700}.site-header nav>a:not(.button){padding-block:14px}.nav-group{position:relative}.nav-label{display:flex;align-items:center;gap:2px}.nav-label>a{padding-block:14px}.nav-label>a:hover,nav a[aria-current=page]{color:var(--blue)}.nav-cta[aria-current=page]{color:white}.dropdown-toggle{background:none;border:0;width:30px;min-height:44px;display:grid;place-items:center;color:var(--ink)}.chevron{display:block;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;width:7px;height:7px;transform:rotate(45deg);margin-top:-4px;transition:transform .2s}.dropdown-toggle[aria-expanded=true] .chevron{transform:rotate(225deg);margin-top:4px}.nav-panel{position:absolute;top:calc(100% + 12px);left:-18px;width:322px;max-height:calc(100dvh - 120px);overflow:auto;background:white;box-shadow:0 14px 35px #14253121;border:1px solid var(--line);border-top:3px solid var(--blue);list-style:none;margin:0;padding:8px;z-index:35}.nav-panel a{display:block;line-height:1.5;padding:13px 14px}.nav-panel a:hover,.nav-panel a:focus-visible{background:#eff5fc;color:var(--blue)}.nav-panel a:focus-visible{outline-offset:-3px}.nav-panel li:first-child{border-bottom:1px solid var(--line);margin-bottom:4px;color:var(--blue)}.mobile-contact,.menu-toggle{display:none}
.home-opening{padding-top:34px;padding-bottom:32px}.home-heading{margin-bottom:28px}.home-heading h1{font-size:clamp(44px,4.4vw,62px)}.home-heading h1 em{font-style:normal;color:var(--blue)}.division-cards{display:grid;grid-template-columns:1fr 1fr;gap:22px}.division-card{position:relative;display:flex;align-items:flex-end;min-height:320px;overflow:hidden;color:white;background:var(--ink);isolation:isolate}.division-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .4s}.division-card::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#091b29f2 0%,#122732a6 47%,#12273205 100%)}.division-card-link>div{padding:28px 30px;width:100%}.division-kicker{font-size:10px;letter-spacing:.09em;color:#e0e9ef;font-weight:700}.division-card h2{font-size:46px;display:flex;justify-content:space-between;align-items:center;margin:9px 0}.division-card h2>span{font-family:Manrope;font-size:28px;color:#ff9852}.division-card p{font-size:14px;color:#eff3f6;max-width:415px;line-height:1.6;min-height:3.2em}.division-action{display:block;margin-top:18px;font-size:12px;font-weight:700}.division-card:hover>img{transform:scale(1.035)}
.breadcrumb{display:flex;flex-wrap:wrap;gap:9px;font-size:11px;line-height:1.5;color:var(--muted);padding-block:22px}.breadcrumb>a{padding:5px 0}.breadcrumb>span{padding-block:5px}.breadcrumb>a:hover{color:var(--blue)}.division-hero{background:var(--soft)}.hero-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:64px;align-items:center;padding:12px 0 38px}.hero-grid h1{margin-bottom:20px}.hero-grid .button{margin-top:24px}.hero-grid figure{position:relative}.hero-grid figure>img{width:100%;height:310px;object-fit:cover}.hero-grid figcaption{position:absolute;bottom:8px;right:10px;padding:2px 7px;color:white;background:#17262ca6;font-size:9px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:60px;margin-bottom:30px}.section-heading>p{max-width:380px;font-size:14px}.section-heading h2{max-width:620px}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.service-grid.three{grid-template-columns:repeat(3,1fr)}.service-card{position:relative;border:1px solid var(--line);padding:26px 28px;display:flex;flex-direction:column;align-items:start;transition:border-color .2s,background .2s}.service-card:hover{background:#f7faff;border-color:#8aafd6}.card-index{display:block;font-size:11px;color:var(--blue);font-weight:700;margin-bottom:15px;letter-spacing:.04em}.service-card h3{margin-bottom:12px}.service-card p{font-size:14px;margin-bottom:20px}.card-link{display:flex;width:100%;justify-content:space-between;font-size:12px;color:var(--blue);font-weight:700;margin-top:auto}.audience-strip{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding:0 0 44px}.audience-strip>div{border-left:2px solid var(--orange);padding-left:20px}.audience-strip .eyebrow{margin-bottom:6px}.audience-strip p{font-size:13px}.process-section{background:var(--ink);color:white}.process-section .eyebrow{color:#ff9852}.process-section p{color:#cdd8de}.process-grid{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin:34px 0 0}.process-grid li{border-top:1px solid #617177;padding-top:22px}.step-number{font:34px/1 Barlow,sans-serif;color:#ff9852;display:block;margin-bottom:20px}.process-grid h3{font-size:25px;margin-bottom:12px}.process-grid p{font-size:13px;line-height:1.7}
.service-hero{border-bottom:1px solid var(--line)}.service-hero h1{font-size:clamp(42px,4.5vw,64px)}.service-hero .lead{font-size:17px}.service-hero .hero-grid{grid-template-columns:1.25fr 1fr}.service-hero .hero-grid figure>img{height:300px}.overview-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:90px}.overview-grid h2{font-size:38px;margin-bottom:22px}.situation-panel{border-left:2px solid var(--orange);padding-left:28px}.situation-panel h3{margin-bottom:18px}.check-list{list-style:none;padding:0;margin:0}.check-list li{position:relative;padding-left:21px;margin-bottom:12px;color:var(--muted);font-size:14px}.check-list li::before{content:'—';position:absolute;left:0;color:var(--blue)}.scope-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:30px}.scope-grid article{border-top:1px solid #c6d2d9;padding-top:24px}.scope-grid h3{font-size:26px;margin-bottom:12px}.scope-grid p{font-size:14px}.delivery-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;border-top:1px solid #c6d2d9;margin-top:36px;padding-top:30px}.delivery-grid h3{font-size:26px;margin-bottom:18px}.service-process{display:grid;grid-template-columns:1fr 1.6fr;gap:80px;padding-bottom:36px}.service-process ol{list-style:none;padding:0;margin:0}.service-process li{display:flex;gap:22px;padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid var(--line)}.service-process li>span{font:26px Barlow;color:var(--blue)}.service-process h3{font-size:25px;margin-bottom:8px}.service-process p{font-size:14px}.faq-section{display:grid;grid-template-columns:1fr 1.6fr;gap:80px}.faqs details{border-top:1px solid var(--line)}.faqs details:last-child{border-bottom:1px solid var(--line)}.faqs summary{list-style:none;position:relative;cursor:pointer;padding:19px 30px 19px 0;font-size:14px;font-weight:700}.faqs summary::-webkit-details-marker{display:none}.faqs summary::after{content:'+';position:absolute;right:3px;top:14px;color:var(--blue);font-size:23px;font-weight:400}.faqs details[open] summary::after{content:'−'}.faqs details p{font-size:14px;padding:0 25px 22px 0}.resources{display:flex;flex-wrap:wrap;align-items:center;gap:12px 30px;padding-bottom:34px}.resources .eyebrow{margin:0}.resources>a{font-size:13px;color:var(--blue);text-decoration:underline;text-underline-offset:4px}.related-links{display:flex;flex-wrap:wrap;gap:12px 28px;padding-block:30px}.related-links>span{width:100%;font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}
.page-heading{padding-bottom:32px}.page-heading>.eyebrow{margin-top:22px}.page-heading h1{margin-bottom:24px}.page-heading .lead{max-width:730px}.about-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:80px;align-items:center}.about-grid img{width:100%;aspect-ratio:1.1;object-fit:cover}.about-grid figcaption{font-size:11px;color:var(--muted);margin-top:7px}.about-grid h2{margin-bottom:25px}.division-links{display:flex;align-items:center;justify-content:space-between;gap:30px}.division-links p{margin-top:18px}.division-links>div:last-child{display:flex;gap:12px;flex-wrap:wrap}.cta-band{background:var(--blue);color:white;padding-block:42px}.cta-band .wrap{display:flex;align-items:center;justify-content:space-between;gap:40px}.cta-band h2{font-size:40px;margin-bottom:12px}.cta-band .eyebrow{color:#d7e8ff;font-size:10px;margin-bottom:10px}.cta-band p{color:#e3edfb;font-size:14px;max-width:680px}.cta-band .button{background:#fff;color:var(--blue);border-color:white;flex-shrink:0}.cta-band .button:hover{background:#e9f1fc}
.contact-layout{display:grid;grid-template-columns:.85fr 1.5fr;gap:80px;padding-top:20px}.contact-aside{border-top:2px solid var(--orange);padding-top:25px}.contact-aside h2{font-size:36px;margin-bottom:20px}.contact-aside h3{font-size:25px;margin:28px 0 13px}.contact-aside ol{color:var(--muted);font-size:14px;padding-left:18px}.contact-aside ol li{padding-left:6px;margin-bottom:8px}.email-link{overflow-wrap:anywhere;display:inline}.form-panel{padding:30px;background:var(--soft)}.preview-note{background:#e7eff8;border-left:3px solid var(--blue);padding:14px 17px;font-size:12px;margin-bottom:24px}.preview-note strong{display:block;margin-bottom:4px}.preview-note p{color:#43566b}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid label{display:block;font-size:12px;font-weight:700}.optional{font-weight:400;color:var(--muted)}.required{color:var(--blue)}.full{grid-column:1/-1}input,select,textarea{display:block;width:100%;min-width:0;max-width:100%;margin-top:7px;border:1px solid #aabac4;background:#fff;color:var(--ink);padding:11px 12px;border-radius:0;font-size:14px}select{padding-right:22px}textarea{resize:vertical}#submit-inquiry{margin-top:18px}#form-status{font-size:14px;margin-top:18px}#form-status.success{border-left:3px solid #267b52;padding:14px;background:#eef8f1;color:#23543a}#form-status.error{border-left:3px solid #ba4236;padding:14px;background:#fff0ee;color:#88372e}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.site-footer{background:#f3f6f7;border-top:1px solid var(--line);padding-top:40px}.footer-grid{display:grid;grid-template-columns:1.3fr .7fr 1fr;gap:60px}.footer-wordmark{font:bold 29px/1.1 Barlow,sans-serif}.footer-wordmark span{display:block;font:11px Manrope;margin-top:10px;color:var(--muted)}.footer-grid p{font-size:12px;margin-top:18px}.footer-label{display:block;font-size:10px;color:var(--muted);letter-spacing:.1em;font-weight:700;margin-bottom:12px}.footer-grid>div>a:not(.footer-wordmark){display:block;font-size:12px;padding-block:4px;overflow-wrap:anywhere}.footer-grid>div>a:hover{color:var(--blue)}.footer-base{border-top:1px solid var(--line);margin-top:30px;padding-block:18px;display:flex;justify-content:space-between;color:var(--muted);font-size:10px}
@media(max-width:1000px){.header-inner{padding-inline:28px}.site-header nav{gap:20px}.brand img{width:175px}.wrap{width:calc(100% - 56px)}.hero-grid,.service-hero .hero-grid{gap:35px}.service-grid.three{grid-template-columns:repeat(3,1fr)}.service-card{padding:23px}.overview-grid,.service-process,.faq-section,.contact-layout,.about-grid{gap:40px}.process-grid{gap:20px}.footer-grid{gap:30px}}
@media(max-width:800px){.header-inner{height:74px;gap:15px;padding-inline:24px}.brand{margin-right:auto}.brand img{width:158px;height:60px}.mobile-contact{display:inline-flex;gap:8px;align-items:center;color:var(--blue);font-size:12px;font-weight:700;min-height:44px}.menu-toggle{display:flex;align-items:center;gap:10px;min-height:44px;background:white;border:1px solid #b7c5ce;padding:8px 12px;font-size:12px;font-weight:700;color:var(--ink)}.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;max-height:calc(100dvh - 74px);overflow:auto;box-shadow:0 14px 24px #1425311c;padding:15px 24px 24px;background:#fff;align-items:stretch;gap:0;border-top:1px solid var(--line)}.site-header nav.is-open{display:flex;flex-direction:column}.nav-label{justify-content:space-between}.nav-label>a{flex:1}.dropdown-toggle{width:44px}.nav-panel{position:static;width:auto;border:0;border-left:2px solid var(--blue);box-shadow:none;margin:0 0 12px 5px;padding:0 8px;max-height:none;overflow:visible;font-size:12px}.nav-panel a{padding:12px}.nav-panel li:first-child{border:0;margin:0}.site-header nav>a:not(.button){border-top:1px solid var(--line)}.site-header .nav-cta{margin-top:12px;align-self:start}.home-heading h1{font-size:54px}.division-card{min-height:320px}.division-card-link>div{padding:25px}.division-card h2{font-size:39px}.division-kicker{font-size:9px}.hero-grid,.service-hero .hero-grid{grid-template-columns:1.2fr 1fr;gap:28px}.hero-grid h1{font-size:48px}.hero-grid .lead{font-size:16px}.hero-grid figure>img,.service-hero .hero-grid figure>img{height:280px}.service-grid.three{grid-template-columns:1fr}.service-grid.three .service-card{display:block}.process-grid{grid-template-columns:repeat(2,1fr);gap:28px}.section-heading{gap:28px}.scope-grid{gap:25px}.scope-grid h3{font-size:24px}.cta-band .wrap{display:block}.cta-band .button{margin-top:24px}.contact-layout{grid-template-columns:1fr}.contact-layout>.form-panel{grid-row:1}.contact-aside{max-width:620px}.about-grid{grid-template-columns:1fr 1.2fr}.division-links{display:block}.division-links>div:last-child{margin-top:25px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:600px){html{scroll-padding-top:92px}.wrap{width:calc(100% - 40px)}.section{padding-block:42px}.header-inner{padding-inline:18px;gap:11px}.brand img{width:140px}.menu-toggle{gap:7px;padding:8px 10px}.home-opening{padding-top:24px;padding-bottom:24px}.home-opening>.eyebrow{font-size:10px}.home-heading h1{font-size:34px}.home-heading{margin-bottom:24px}.division-cards{grid-template-columns:1fr;gap:14px}.division-card{min-height:210px}.division-card-link>div{padding:20px}.division-card h2{font-size:36px}.division-card p{font-size:13px}.division-action{margin-top:13px}.division-card>img{object-position:center 38%}.breadcrumb{font-size:10px;padding-block:15px;gap:6px}.hero-grid,.service-hero .hero-grid{grid-template-columns:1fr;padding-top:10px;padding-bottom:26px;gap:24px}.hero-grid h1,.service-hero h1{font-size:45px;margin-bottom:16px}.hero-grid .eyebrow{font-size:9px}.hero-grid .button{margin-top:20px}.hero-grid figure>img,.service-hero .hero-grid figure>img{height:190px}.section-heading{display:block;margin-bottom:24px}.section-heading>p{margin-top:16px;max-width:none;font-size:14px}.service-grid{grid-template-columns:1fr;gap:14px}.service-card{padding:22px}.service-card h3{font-size:27px}.service-card p{margin-bottom:14px}.card-index{margin-bottom:9px}.audience-strip{grid-template-columns:1fr;gap:20px;padding-bottom:32px}.process-grid{grid-template-columns:1fr 1fr;gap:24px 20px}.process-grid h3{font-size:24px}.process-grid p{font-size:12px}.process-grid li{padding-top:18px}.step-number{font-size:30px;margin-bottom:16px}.overview-grid{grid-template-columns:1fr;gap:28px}.overview-grid h2{font-size:34px;margin-bottom:18px}.overview-grid p{font-size:14px}.situation-panel{padding-left:20px}.scope-grid{grid-template-columns:1fr;gap:24px;margin-top:24px}.scope-grid article{padding-top:20px}.delivery-grid{grid-template-columns:1fr;gap:24px;margin-top:28px;padding-top:24px}.service-process{grid-template-columns:1fr;gap:26px;padding-bottom:10px}.service-process h2 br{display:none}.service-process li{gap:18px}.faq-section{grid-template-columns:1fr;gap:25px}.faqs summary{font-size:13px}.faqs details p{font-size:13px}.resources{padding-bottom:28px;gap:10px}.resources>a{width:100%;font-size:12px}.page-heading{padding-bottom:25px}.page-heading h1{font-size:45px}.page-heading>.eyebrow{margin-top:15px}.page-heading .lead{font-size:16px}.about-grid{grid-template-columns:1fr;gap:30px}.about-grid img{aspect-ratio:1.6}.about-grid h2{font-size:36px}.about-grid p{font-size:14px}.cta-band{padding-block:34px}.cta-band h2{font-size:35px}.cta-band p{font-size:13px}.related-links{padding-block:24px;gap:4px}.related-links>a{width:100%}.form-panel{padding:20px}.form-grid{grid-template-columns:1fr;gap:16px}.full{grid-column:auto}.contact-layout{padding-top:0;gap:32px}.contact-aside h2{font-size:32px}.preview-note{font-size:11px;padding:12px}.button{font-size:12px}.footer-grid{gap:24px 16px}.footer-grid>div:last-child{grid-column:1/-1}.footer-base{gap:15px;flex-wrap:wrap}.site-footer{padding-top:32px}}
@media(max-width:360px){.brand img{width:119px}.header-inner{gap:8px;padding-inline:13px}.mobile-contact{font-size:11px}.home-heading h1{font-size:30px}.process-grid{grid-template-columns:1fr}.nav-panel{font-size:11px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}


.home-help{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 20px;border-top:1px solid var(--line);padding-block:18px;margin-bottom:22px}.home-help p{font-size:13px}.home-help .text-link{font-size:13px}

/* Division films and shared interaction details. */
.division-ribbon{position:relative;isolation:isolate;min-height:560px;display:flex;background:#17262c;color:#fff}
.division-ribbon .ribbon-content{position:relative;z-index:1;pointer-events:none}
.division-ribbon .breadcrumb{color:#e4eaf0;pointer-events:auto;width:max-content;max-width:100%;padding-block:22px}
.division-ribbon .breadcrumb>a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.ribbon-copy{max-width:700px;padding:25px 0 90px;pointer-events:none}.ribbon-copy>*{pointer-events:auto}
.ribbon-copy .eyebrow{color:#c7e1ff;max-width:600px}
.ribbon-copy h1{font-size:clamp(46px,4.7vw,70px);margin-bottom:22px;text-shadow:0 2px 22px #08172130}
.ribbon-copy .lead{font-size:18px;max-width:530px;color:#edf2f6}
.ribbon-copy .button{margin-top:27px}
.hero-motion{position:absolute;inset:0;isolation:isolate;overflow:hidden;background:#17262c;min-width:0}
.hero-motion::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#081822e8 0%,#081822b8 34%,#08182245 67%,#0818221f 100%);pointer-events:none}
.hero-motion>.hero-poster,.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 44%}
body[data-page=engineering] .hero-motion>.hero-poster,body[data-page=engineering] .hero-video{object-position:60% top}
.hero-video{opacity:0;transition:opacity .45s ease}
.hero-motion.is-playing .hero-video,.hero-motion.has-played:not(.has-error) .hero-video{opacity:1}
.hero-motion.has-error .hero-video{visibility:hidden}
.hero-media-footer{position:absolute;inset:auto 0 0;display:flex;justify-content:flex-end;align-items:end;gap:12px;padding:26px max(40px,calc((100% - 1200px)/2)) 18px;background:linear-gradient(transparent,#0b1a2580);z-index:2;pointer-events:none}

.video-toggle{pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;gap:9px;flex-shrink:0;min-height:44px;padding:10px 13px;border:1px solid #ffffff80;background:#102531c4;color:#fff;font-size:11px;font-weight:700;line-height:1.4;transition:background .2s,border-color .2s}
.video-toggle:focus-visible{outline-offset:-4px}.video-toggle-icon{width:12px;text-align:center;font-size:12px;line-height:1}
.button{transition:background .22s,border-color .22s,transform .22s,box-shadow .22s}
.button>span,.text-link>span,.card-link>span,.division-card h2>span,.mobile-contact>span{display:inline-block;transition:transform .25s cubic-bezier(.2,.7,.2,1)}
.service-card{transition:transform .28s cubic-bezier(.2,.7,.2,1),box-shadow .28s,border-color .28s,background .28s}
.service-card::after{content:'';position:absolute;inset:-1px auto -1px -1px;width:3px;background:var(--blue);transform:scaleY(0);transform-origin:bottom;transition:transform .28s}
.division-card{transition:transform .3s,box-shadow .3s}.division-card>img{transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.division-action{width:max-content;position:relative;padding-bottom:3px}.division-action::after{content:'';position:absolute;inset:auto 0 0;height:1px;background:#ff9852;transform:scaleX(.24);transform-origin:left;transition:transform .3s}
.site-header nav>a:not(.button),.nav-label>a{position:relative}.site-header nav>a:not(.button)::after,.nav-label>a::after{content:'';position:absolute;bottom:9px;left:0;right:0;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .24s}
.nav-panel a{transition:background .2s,color .2s,transform .2s}.text-link{transition:color .2s}.faqs summary{transition:color .2s}.faqs summary::after{transition:transform .2s}
.button:not(:disabled):focus-visible{transform:translateY(-2px);box-shadow:0 6px 16px #005cda26}.button:focus-visible>span,.text-link:focus-visible>span,.service-card:focus-visible .card-link>span,.division-card:has(.division-card-link:focus-visible) h2>span,.mobile-contact:focus-visible>span{transform:translate(3px,-3px)}
.service-card:focus-visible{transform:translateY(-5px);box-shadow:0 13px 30px #17262c12;border-color:#8aafd6;background:#f7faff}.service-card:focus-visible::after{transform:scaleY(1)}
.division-card:has(.division-card-link:focus-visible){transform:translateY(-4px);box-shadow:0 15px 32px #17262c21}.division-card:has(.division-card-link:focus-visible)>img{transform:scale(1.055)}.division-card:has(.division-card-link:focus-visible) .division-action::after{transform:scaleX(1)}
.site-header nav>a:not(.button):focus-visible::after,.nav-label>a:focus-visible::after,.site-header nav>a[aria-current=page]:not(.button)::after,.nav-label>a[aria-current=page]::after{transform:scaleX(1)}
@media(hover:hover) and (pointer:fine){
  .button:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 6px 16px #005cda26}
  .button:hover>span,.text-link:hover>span,.service-card:hover .card-link>span,.division-card:hover h2>span,.mobile-contact:hover>span{transform:translate(3px,-3px)}
  .service-card:hover{transform:translateY(-5px);box-shadow:0 13px 30px #17262c12}.service-card:hover::after{transform:scaleY(1)}
  .division-card:hover{transform:translateY(-4px);box-shadow:0 15px 32px #17262c21}.division-card:hover>img{transform:scale(1.055)}.division-card:hover .division-action::after{transform:scaleX(1)}
  .site-header nav>a:not(.button):hover::after,.nav-label>a:hover::after{transform:scaleX(1)}.nav-panel a:hover{transform:translateX(3px)}
  .video-toggle:hover{background:#005cdacc;border-color:#ffffffb3}.faqs summary:hover{color:var(--blue)}.faqs summary:hover::after{transform:rotate(90deg)}
}
@media(min-width:1600px){.division-ribbon{min-height:590px}.ribbon-copy{padding-top:45px}}
@media(max-width:1000px){.division-ribbon{min-height:510px}.ribbon-copy{max-width:610px}.ribbon-copy h1{font-size:58px}.hero-motion::after{background:linear-gradient(90deg,#081822e8,#081822a6 47%,#08182233)}}
@media(max-width:800px){.ribbon-copy{max-width:560px;padding-top:20px}.ribbon-copy h1{font-size:52px}.ribbon-copy .lead{font-size:17px}.hero-media-footer{padding-inline:28px}}
@media(max-width:600px){.division-ribbon{min-height:540px}.division-ribbon .breadcrumb{padding-block:16px}.ribbon-copy{padding:20px 0 88px}.ribbon-copy h1{font-size:45px;margin-bottom:19px}.ribbon-copy .eyebrow{font-size:10px;max-width:330px}.ribbon-copy .lead{font-size:16px}.ribbon-copy .button{margin-top:23px}.hero-motion::after{background:linear-gradient(90deg,#081822dc,#081822a8)}.hero-motion>.hero-poster,.hero-video{object-position:58% center}body[data-page=engineering] .hero-motion>.hero-poster,body[data-page=engineering] .hero-video{object-position:64% center}.hero-media-footer{padding:24px 20px 15px;gap:12px}.video-toggle{font-size:10px;min-height:40px}}
@media(prefers-reduced-motion:reduce){.division-card,.division-card>img,.division-card h2>span,.service-card,.card-link>span,.button,.button>span,.text-link>span,.mobile-contact>span,.nav-panel a,.faqs summary::after{transform:none!important}.hero-video{transition:none}}

@media print{.site-header,.site-footer,.cta-band,.related-links,.preview-note{display:none}.section{padding-block:24px}.wrap{width:100%}details>p{display:block!important}.hero-grid figure{display:none}.hero-grid{display:block}body{font-size:11pt}.service-card,.scope-grid article,.process-grid li{break-inside:avoid}}

@media print{.division-ribbon{display:block;min-height:0;background:white;color:var(--ink)}.division-ribbon .hero-motion{display:none}.ribbon-copy{padding:20px 0}.ribbon-copy .eyebrow,.ribbon-copy .lead,.division-ribbon .breadcrumb{color:var(--ink)}}

/* The whole video card remains an accessible division link. */
.division-card-link{position:relative;z-index:1;display:flex;align-items:flex-end;align-self:stretch;min-height:inherit;width:100%}
.division-card-link:focus-visible{outline-offset:-4px}
.division-card>.hero-video{z-index:-2;object-position:center;transition:opacity .45s ease,transform .65s cubic-bezier(.2,.7,.2,1)}
.division-card.is-playing>.hero-video,.division-card.has-played:not(.has-error)>.hero-video{opacity:1}
.division-card.has-error>.hero-video{visibility:hidden}


.division-card:has(.division-card-link:focus-visible)>.hero-video{transform:scale(1.055)}
@media(hover:hover) and (pointer:fine){.division-card:hover>.hero-video{transform:scale(1.055)}}

@media(max-width:600px){.division-card>.hero-video{object-position:center 38%}.division-card[data-division=engineering]>.hero-video{object-position:60% 35%}}
@media(prefers-reduced-motion:reduce){.division-card>.hero-video{transform:none!important;transition:none}}
@media print{.division-card>.hero-video{display:none!important}}

/* Industrial overview: brochure-based services, workflow and delivery model. */
.industrial-jump{border-bottom:1px solid var(--line);background:#fff}
.industrial-jump .wrap{display:flex;gap:38px;flex-wrap:wrap}
.industrial-jump a{padding:19px 0;font-size:12px;font-weight:700;color:var(--muted);position:relative;transition:color .2s}
.industrial-jump a::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .2s}
.industrial-jump a:hover,.industrial-jump a:focus-visible{color:var(--blue)}
.industrial-jump a:hover::after,.industrial-jump a:focus-visible::after{transform:scaleX(1)}
.industrial-services .service-card{min-height:222px}
.industrial-process .process-grid li{display:flex;flex-direction:column}
.industrial-process .process-grid p{margin-bottom:24px}
.process-output{margin-top:auto;border-top:1px solid #ffffff26;padding-top:15px;color:#fff;font-size:12px;line-height:1.65}
.process-output>span{display:block;margin-bottom:5px;color:#ff9852;font-size:9px;letter-spacing:.1em;font-weight:700}
.software-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.software-family{border:1px solid var(--line);padding:27px 28px;background:linear-gradient(145deg,#f3f7fc,#fff 65%);border-top:3px solid var(--blue)}
.software-family h3{font-size:31px;margin-bottom:22px}
.software-family ul{list-style:none;padding:0;margin:0 0 20px;display:flex;flex-direction:column;gap:9px}
.software-family li{font-size:15px;font-weight:700;color:var(--ink);padding-left:14px;position:relative}
.software-family li::before{content:'';position:absolute;left:0;top:.75em;width:4px;height:4px;background:var(--orange)}
.software-family p{font-size:13px;border-top:1px solid var(--line);padding-top:17px}
.software-next{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:22px}
.software-next p{font-size:12px;max-width:580px}
.software-next .text-link{flex-shrink:0}
.industrial-advantages{display:grid;grid-template-columns:1.12fr 1fr;gap:70px;align-items:start}
.advantage-list article{display:flex;gap:22px;padding:22px 0;border-top:1px solid #c6d2d9}
.advantage-list article:first-child{padding-top:0;border-top:0}
.advantage-list article:last-child{padding-bottom:0}
.advantage-number{font:25px/1 Barlow,sans-serif;color:var(--blue);min-width:24px;margin-top:3px}
.advantage-list h3{font-size:26px;margin-bottom:10px}
.advantage-list p{font-size:14px}
.delivery-model{padding:32px 34px;background:#fff;border:1px solid var(--line);box-shadow:0 16px 40px #17262c06}
.delivery-model>.eyebrow{font-size:10px}
.delivery-model>h3{font-size:34px;margin-bottom:28px}
.delivery-model ol{list-style:none;margin:0;padding:0}
.delivery-model li{position:relative;border-left:1px solid #b5cee8;padding:0 0 25px 24px;margin-left:5px}
.delivery-model li::before{content:'';position:absolute;top:4px;left:-5px;width:9px;height:9px;background:var(--blue);box-shadow:0 0 0 4px #fff}
.delivery-model li:last-child{border-color:transparent;padding-bottom:0}
.delivery-model li:last-child::before{background:var(--orange)}
.delivery-location{font-size:10px;letter-spacing:.1em;color:var(--blue);font-weight:700}
.delivery-model h4{font-size:14px;line-height:1.5;margin:5px 0 7px}
.delivery-model li p{font-size:12px}
.delivery-result{font-size:12px!important;border-top:1px solid var(--line);padding-top:18px;margin-top:24px!important}
.industrial-sectors{border-top:1px solid #c6d2d9;margin-top:42px;padding-top:25px}
.industrial-sectors .eyebrow{font-size:10px}
.industrial-sectors ul{display:flex;flex-wrap:wrap;gap:10px 26px;list-style:none;margin:0;padding:0}
.industrial-sectors li{font-size:12px;color:var(--ink)}
@media(max-width:1000px){.industrial-advantages{gap:35px}.software-family{padding:23px}.software-next{align-items:start}.software-next .text-link{flex-shrink:1}}
@media(max-width:800px){.industrial-advantages{grid-template-columns:1fr;gap:32px}.delivery-model{display:block;max-width:none}.delivery-model ol{display:grid;grid-template-columns:1fr 1fr;gap:24px}.delivery-model li{padding-bottom:0;border-color:transparent}.software-grid{gap:14px}.software-family{padding:20px}.software-family h3{font-size:28px}.software-family li{font-size:13px}.industrial-jump .wrap{gap:30px}.industrial-jump a{font-size:11px}.industrial-process .process-grid p{margin-bottom:18px}}
@media(max-width:600px){.industrial-jump .wrap{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.industrial-jump a{padding:13px 0;font-size:11px}.industrial-services .service-card{min-height:0}.industrial-process .process-grid{grid-template-columns:1fr;gap:25px}.industrial-process .process-grid li{display:grid;grid-template-columns:34px 1fr;gap:0 16px;padding-top:20px}.industrial-process .step-number{grid-row:1/4;margin:0;font-size:28px}.industrial-process h3{font-size:25px}.industrial-process .process-grid p{margin-bottom:14px}.process-output{grid-column:2;font-size:12px}.software-grid{grid-template-columns:1fr;gap:16px}.software-family{padding:23px 24px}.software-family h3{font-size:30px;margin-bottom:17px}.software-family ul{gap:7px}.software-family li{font-size:14px}.software-family p{font-size:13px}.software-next{display:block;margin-top:18px}.software-next .text-link{margin-top:9px}.advantage-list article{gap:16px}.advantage-list p{font-size:13px}.delivery-model{padding:25px}.delivery-model>h3{font-size:31px}.delivery-model ol{display:block}.delivery-model li{border-color:#b5cee8;padding-bottom:25px}.delivery-model li:last-child{padding-bottom:0}.industrial-sectors{margin-top:30px}.industrial-sectors ul{display:grid;grid-template-columns:1fr 1fr;gap:13px 20px}.industrial-sectors li{font-size:11px}}
@media print{.industrial-jump{display:none}.software-grid{grid-template-columns:repeat(3,1fr)}.industrial-advantages{gap:30px}.delivery-model{box-shadow:none}}

/* Independent company websites retain the existing Corevex visual system. */
.split-brand{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:0}
.split-brand img{height:51px;width:200px}
.brand-division{font-size:10px;line-height:1.2;text-transform:uppercase;letter-spacing:.17em;font-weight:700;color:var(--blue);padding-left:61px;margin-top:-2px}
.home-ribbon-spacer{height:70px}
.about-focus-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px 44px}
.about-grid img{height:auto}
.about-focus-grid article{padding-top:20px;border-top:1px solid var(--line)}
.about-focus-grid h3{font-size:26px;margin-bottom:12px}
.about-focus-grid p{font-size:14px}
.about-scope-note{max-width:900px;border-left:2px solid var(--orange);padding-left:20px;margin-top:30px;font-size:14px}
.footer-base>a{color:var(--blue);font-weight:700}
.footer-base>a:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:1000px){.split-brand img{width:175px;height:47px}.brand-division{font-size:9px;padding-left:53px}}
@media(max-width:800px){.split-brand img{width:158px;height:44px}.brand-division{font-size:8px;padding-left:48px}.home-ribbon-spacer{height:50px}}
@media(max-width:600px){.split-brand img{width:137px;height:39px}.brand-division{font-size:8px;padding-left:42px}.home-ribbon-spacer{height:38px}.about-focus-grid{grid-template-columns:1fr;gap:23px}.about-focus-grid p,.about-scope-note{font-size:13px}}
@media(max-width:360px){.split-brand img{width:119px;height:34px}.brand-division{font-size:7px;padding-left:36px}}
