/* 026D: light editorial integration; source artwork and logo remain unchanged. */
:root{--editorial-ink:#102b3d;--editorial-accent:#006e81;--editorial-paper:#f1f5f6}
body{color:var(--editorial-ink);background:#fff}
.wrap{max-width:1680px;width:calc(100% - 112px)}
.hero-shell{background:#eaf1f5;color:var(--editorial-ink);overflow:visible;position:relative;isolation:isolate}
.hero-shell:after,.site-header:before{display:none}
.site-header{position:relative;z-index:30;min-height:100px;height:auto;padding-block:20px;gap:24px}
.brand{display:block;width:268px;background:#031927;padding:16px 20px;flex-shrink:0}
.brand img{height:auto;width:100%;filter:none}
#navigation{color:var(--editorial-ink)}
.service-menu{background:#fff;color:var(--editorial-ink);border-color:#b8cbd3}
.service-menu a:hover{background:#e7f1f4}
.services summary span{color:var(--editorial-accent)}
.hero{padding-top:42px;padding-bottom:0;min-height:0;position:relative;z-index:2;pointer-events:none}
.hero h1{font-family:'Segoe UI',Arial,sans-serif;font-weight:400;font-size:clamp(2.5rem,4.3vw,5.1rem);line-height:1.02;letter-spacing:-.045em;white-space:normal;max-width:16em;text-shadow:none}
.hero h1 span{display:block;color:var(--editorial-accent)}
.hero-panorama{position:relative;z-index:0;margin-top:32px}
.hero-panorama picture,.hero-panorama img{display:block;width:100%;height:auto;aspect-ratio:2079/756;object-fit:contain}
.hero-summary{padding-block:32px 40px;border-bottom:1px solid #c5d5dc}
.hero-summary .hero-copy{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:center;gap:60px;max-width:none;margin:0;color:var(--editorial-ink);font-size:1.125rem;line-height:1.6}
.hero-summary .actions{margin:0;gap:20px;justify-content:flex-end}
.button{background:#006e81;color:white;border:1px solid #006e81;border-radius:3px}
.button:hover{background:#00596b;color:white}
.text-link{color:#00677a}
.hero-shell :focus-visible{outline-color:#00677a}
.brand:focus-visible{outline-color:#00677a;outline-offset:5px}
.capabilities{background:#fff;padding:68px 0 72px;container-type:normal}
.capabilities h2{font-family:'Segoe UI',Arial,sans-serif;font-size:clamp(2rem,3.1vw,3.5rem);font-weight:400;max-width:28em}
.capabilities h2 span{color:var(--editorial-accent)}
.capabilities>.wrap>p{font-size:1.125rem;margin-top:18px;color:#425d6d}
.cap-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-template-rows:auto auto;gap:32px;margin-top:38px;align-items:start}
.cap-grid .capability,.cap-grid .capability.lead-capability,.cap-grid .capability:not(.lead-capability){display:flex;flex-direction:column;position:relative;grid-column:auto;grid-row:auto;min-height:0;padding:0;margin:0;border:0;gap:0;background:#f2f6f7;overflow:visible}
.cap-grid .capability.lead-capability{grid-row:1/3;background:#eaf1f4}
.cap-grid .capability picture{display:block;width:100%;overflow:hidden}
.cap-grid .capability img,.cap-grid .capability.lead-capability img,.cap-grid .capability:not(.lead-capability) img{position:static;inset:auto;display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;object-position:center;margin:0;transform:none;opacity:1}
.cap-grid .capability .cap-copy,.cap-grid .capability.lead-capability .cap-copy,.cap-grid .capability:not(.lead-capability) .cap-copy{width:100%;max-width:none;padding:24px 26px 28px;margin:0}
.cap-grid .capability .number{position:static;display:block;color:#00677a;font-size:.875rem;letter-spacing:.1em;margin:0 0 14px}
.cap-grid .capability h3{font-family:'Segoe UI',Arial,sans-serif;font-weight:500;font-size:1.45rem;line-height:1.18;max-width:none;letter-spacing:-.025em}
.cap-grid .lead-capability h3{font-size:clamp(1.7rem,2.3vw,2.7rem)}
.cap-grid .capability p{font-size:1rem;color:#425d6d;line-height:1.6;margin-top:16px;max-width:none}
.cap-grid .lead-capability p{font-size:1.125rem}
.cap-grid .capability .text-link{font-size:1rem;margin-top:20px;padding:8px 0;min-height:44px;line-height:1.5;overflow-wrap:anywhere}
.intro{padding-block:64px;border-top:1px solid #c5d5dc}
.intro h2{font-weight:400}
.intro h2 span{color:var(--editorial-accent)}
@media(min-width:1101px){.lead-capability .cap-copy{padding-bottom:44px!important}}
@media(max-width:1100px){
 .wrap{width:calc(100% - 64px)}
 .hero{padding-top:28px}.hero-panorama{margin-top:28px}
 .hero-summary .hero-copy{gap:28px;grid-template-columns:1fr}.hero-summary .actions{justify-content:flex-start}
 .cap-grid{grid-template-columns:1fr 1fr;gap:24px}.cap-grid .capability.lead-capability{grid-column:1/-1;grid-row:auto;display:grid;grid-template-columns:1fr 1fr;align-items:center}
}
@media(max-width:980px){
 .site-header{flex-wrap:wrap;gap:16px}.menu-toggle{color:var(--editorial-ink);min-height:44px}
 #navigation{background:#fff;color:var(--editorial-ink);top:100%;left:0;right:0;width:100%;max-height:min(70dvh,calc(100dvh - 110px));box-shadow:0 15px 30px #102b3d22;scroll-padding:10px;padding:18px;flex-wrap:nowrap}
 #navigation .service-menu{background:transparent;color:inherit;box-shadow:none}
 #navigation a,#navigation summary{min-height:44px;overflow-wrap:anywhere}
 html:not(.nav-ready) #navigation{max-height:none;position:static}
}
@media(max-width:700px){
 .wrap{width:calc(100% - 40px)}.site-header{padding-block:16px;min-height:80px;gap:10px}.brand{width:196px;padding:14px}.menu-toggle{min-width:64px;font-size:.875rem;padding:8px 0}
 .hero{padding-top:24px;padding-bottom:25px}.hero h1{font-size:clamp(2.25rem,8.5vw,3.6rem);max-width:12em;line-height:1.08}.hero h1 span{margin-top:4px}.hero h1 br{display:none}
 .hero-panorama{margin-top:0}.hero-summary{padding-block:26px 32px}.hero-summary .hero-copy{font-size:1rem;gap:24px}.hero-summary .actions{align-items:flex-start;flex-direction:column}
 .capabilities{padding-block:40px}.cap-grid{display:flex;flex-direction:column;gap:28px;margin-top:28px}.cap-grid .capability,.cap-grid .capability.lead-capability{display:flex;flex-direction:column;width:100%}
 .cap-grid .capability .cap-copy{padding:24px!important}.cap-grid .capability h3{font-size:1.5rem}.cap-grid .lead-capability h3{font-size:1.8rem}
 .intro{padding-block:40px}.intro h2{margin-bottom:25px}
 #navigation{max-height:min(70dvh,calc(100dvh - 100% - 8px))}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Anchor the expanded desktop menu to the full header, including at 200% text. */
@media(min-width:981px){.site-header .services{position:static}.site-header .service-menu{top:100%;right:0;width:min(34rem,100%);max-height:65dvh;overflow:auto;scroll-padding:10px}}
