/* V11.5 — compact content, gentle hover, full native preview retained. */
:root{--hover-tint:#EAF2F9;--ui-ease:cubic-bezier(.22,.61,.36,1)}
.case-filter-head{background:transparent;color:var(--ink);padding:0 0 14px;border-bottom:1px solid var(--line);margin-bottom:20px}
.case-filter-head button{color:var(--link);opacity:1;font-weight:400}
.case-filter-option{background:#F3F5F7;color:var(--ink);border-color:transparent;transition:background-color .22s var(--ui-ease),color .22s var(--ui-ease)}
.case-filter-option[aria-pressed=true],.case-filter-option[aria-pressed=true]:hover{background:var(--blue);color:white;border-color:var(--blue)}
.case-filter-option[aria-pressed=true] span{color:inherit!important}
.case-filter-option:not([aria-pressed=true]):focus-visible{background:var(--hover-tint);color:var(--ink);border-color:#B9D2E6}
.case-filter-group{transition:box-shadow .32s ease;background-color:transparent}
.filter-spotlight{box-shadow:0 0 0 7px #EAF2F9}
.nav-dropdown a,.policy-nav a,.role-row,.service-sheet-links a{transition:background-color .24s var(--ui-ease),color .24s var(--ui-ease)}
@media(hover:hover) and (pointer:fine){
 .case-filter-option:not([aria-pressed=true]):hover{background:var(--hover-tint);color:var(--ink);border-color:transparent}
 .case-filter-option:not([aria-pressed=true]):hover span,.case-filter-option:not([aria-pressed=true]):hover .case-filter-count{color:inherit;opacity:1}
 .nav-dropdown a:hover,.nav-dropdown a:focus-visible{background:var(--hover-tint);color:var(--ink)}
 .policy-nav a:not(.is-active):not([aria-current=page]):hover{background:var(--hover-tint);color:var(--ink)}
 .library-case-card:hover .case-photo{background:var(--hover-tint)}
 .library-case-card:hover h2{color:var(--blue)}
 .subpage .service-sheet-links a:hover{background:var(--hover-tint);color:var(--ink)}
 .role-row:not([aria-expanded=true]):hover{background:var(--hover-tint);color:var(--ink)}
 .compat-filter-label:hover{background:var(--hover-tint)!important;color:var(--ink)!important}
 input:checked+.compat-filter-label:hover{background:var(--blue)!important;color:white!important}
}
#industries>.section-heading .text-link{flex-shrink:0;white-space:nowrap}
/* Story — use the approved homepage video/header rhythm. */
#history-page{padding-bottom:0}
#history-page .story-hero{padding:0;background:none}
#history-page .story-film-media{aspect-ratio:21/9;width:calc(100% - var(--gutter)*2);max-width:var(--wrap)}
#history-page .story-playback{position:absolute;left:0;bottom:0;right:auto;top:auto;width:44px;height:44px;min-height:44px;padding:0;display:grid;place-items:center;border-radius:0}
#history-page .story-playback .control-icon{width:44px;height:44px}
.story-intro{padding-top:60px;padding-bottom:46px}
.story-intro h1{font-size:42px;line-height:1.28;margin-bottom:19px}
.story-intro .story-deck{font-size:22px;line-height:1.5;max-width:750px;color:#374752}
.story-intro .text-link{margin-top:18px;font-size:14px}
.story-journey{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 54px;margin:0;padding:0}
.journey-stage{min-width:0;position:relative}
.journey-marker{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #CAD9E5;padding-top:14px;margin-bottom:16px}
.journey-year{font-family:var(--heading-en);font-size:30px;font-weight:700;line-height:1.2;color:var(--blue);letter-spacing:-.02em}
.journey-number{font-size:11px;font-family:var(--font-en);color:#6F8597}
.journey-stage:nth-child(3){grid-row:2;grid-column:2}
.journey-stage:nth-child(4){grid-row:2;grid-column:1}
.journey-copy{padding-top:19px}
.journey-copy h2{font-size:24px;line-height:1.38;margin-bottom:11px}
.journey-copy p{font-size:15px;line-height:1.65;max-width:40em;color:#3F4C55}
.journey-stage .media-slot{width:100%;aspect-ratio:2/1}
.journey-stage .media-placeholder{background:#EDF2F6}
.journey-stage .media-label{font-size:14px}
.journey-stage:nth-child(5){grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 54px}
.journey-stage:nth-child(5) .journey-marker{grid-column:1/-1}
.journey-stage:nth-child(5) .journey-copy{align-self:center;padding-top:0}
.story-today-v115{padding-block:76px 70px}
.story-today-v115 h2{font-size:30px;line-height:1.3;margin-bottom:25px}
.story-today-v115 .media-slot{width:100%;aspect-ratio:32/9}
.story-today-v115>p{font-size:17px;line-height:1.7;max-width:58em;margin-top:27px}
#history-page .contact-band{padding-top:14px;padding-bottom:98px}
#history-page .contact-inner h2{font-size:var(--title-size);margin-bottom:20px;line-height:1.35}
#history-page .contact-inner p{font-size:16px;line-height:1.65}
/* Careers: two compact, equal columns. Do not enlarge the whole page. */
.careers-page .editorial-hero{padding-block:44px 40px}
.careers-page .editorial-intro{max-width:50em;line-height:1.6}
.careers-body{padding-top:38px;padding-bottom:70px}
.careers-body>h2{font-size:29px;margin-bottom:21px}
.role-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 28px;margin-top:0}
.role-row{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:16px;padding:22px 24px 20px;min-width:0;border-top:1px solid #CAD8E4;border-bottom:1px solid #CAD8E4;color:var(--ink)}
.role-row:last-child{border-bottom:1px solid #CAD8E4}
.role-row h3{font-size:21px;line-height:1.32;margin-bottom:10px}
.role-row p{font-size:14px;line-height:1.62;color:#46545E}
.role-row .role-field{font-size:11px;margin-bottom:8px}
.role-more{display:inline-flex;align-items:center;gap:13px;font-size:13px;line-height:1.5;min-height:28px;color:var(--link);margin-top:auto}
.role-more .arrow{width:13px;height:13px;flex:0 0 13px}
.role-row[aria-expanded=true],.role-row:active{background:var(--blue);color:white;border-color:var(--blue)}
.role-row[aria-expanded=true] h3,.role-row[aria-expanded=true] p,.role-row[aria-expanded=true] .role-more,.role-row:active h3,.role-row:active p,.role-row:active .role-more{color:white}
#info-dialog.job-review .dialog-head{padding-block:24px 18px}
#info-dialog.job-review .dialog-head h2{font-size:22px;line-height:1.35}
#info-dialog.job-review .dialog-body{padding-top:22px}
#info-dialog.job-review .dialog-body p,#info-dialog.job-review .dialog-body li{font-size:14px;line-height:1.7}
#info-dialog.job-review .dialog-body h3{font-size:17px;margin-top:21px;margin-bottom:11px}
#info-dialog.job-review .review-notice{font-size:12px;margin-top:20px}
#info-dialog.job-review[open]{animation:job-paper-in .3s var(--ui-ease) both}
#info-dialog.job-review.is-closing{animation:job-paper-out .22s var(--ui-ease) both}
@keyframes job-paper-in{from{opacity:0;transform:translateY(12px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes job-paper-out{from{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(8px) scale(.993)}}
/* Policy copy is unchanged; only its type scale / navigation geometry change. */
.policy-page .editorial-hero{padding:36px 0 32px}
.policy-page .editorial-hero h1{font-size:34px;line-height:1.3;margin-bottom:15px}
.policy-page .editorial-lead{font-size:16px;line-height:1.55;max-width:55em}
.policy-layout{grid-template-columns:254px minmax(0,1fr);gap:46px;padding-top:34px}
.policy-nav{gap:7px}
.policy-nav a{display:flex;justify-content:space-between;align-items:center;gap:18px;width:100%;min-height:48px;padding:11px 16px;font-size:13px;line-height:1.45;color:#455560;background:#F3F5F7}
.policy-nav a>span{min-width:0;flex:1}
.policy-nav .arrow{display:block;width:12px;height:12px;flex:0 0 12px;align-self:center}

.policy-nav .arrow{overflow:visible}
.policy-nav .is-active,.policy-nav a[aria-current=page]{background:var(--blue);color:white}
.policy-copy>section{margin-bottom:24px}
.policy-copy h2{font-size:19px;line-height:1.4;margin-bottom:9px}
.policy-copy p{font-size:14px;line-height:1.7;margin-bottom:9px}
.policy-review{font-size:11px!important;line-height:1.6!important;margin-top:13px}
.policy-sources{margin-top:21px;padding-top:16px}
/* Keep native no-script routes, filters and language labels usable. */
html:not([data-app-ready]) .compat-filter-details .case-filter-head{background:transparent;color:var(--ink)}
html:not([data-app-ready]) .compat-filter-details .case-filter-head button{color:var(--link)}
@media(min-width:621px){
 html:not([data-app-ready]) .compat-filter-details:not([open])>div{display:block!important}
 html:not([data-app-ready]) .compat-filter-details>summary{display:none!important}
}
@media(max-width:850px){
 .story-journey{gap:34px 32px}.journey-stage:nth-child(5){gap:0 32px}
 .journey-copy h2{font-size:22px}
 .policy-layout{grid-template-columns:220px minmax(0,1fr);gap:25px}
 .policy-nav{position:sticky;display:grid;top:110px}.policy-nav a{font-size:12px}
}
@media(max-width:620px){
 /* Same visible controls as the accepted phone view; no enlargement of the brand mark. */
 #home-page .intro{padding-top:44px;padding-bottom:43px}
 #home-page .intro h1,html[lang=en] #home-page .intro h1{font-size:28px;line-height:1.28}
 #home-page .intro p{font-size:14px;line-height:1.54;margin-top:16px}
 #home-page .section-heading h2,#home-page .mission h2,html[lang=en] #home-page .section-heading h2,html[lang=en] #home-page .mission h2{font-size:23px;line-height:1.3}
 #home-page .business-item h2,html[lang=en] #home-page .business-item h2{font-size:22px;margin-bottom:12px}
 #home-page .case-item h3,#home-page .industry-item h3{font-size:20px;line-height:1.35}
 #home-page .business-item p,#home-page .case-description,#home-page .industry-description{font-size:14px;line-height:1.55}
 #home-page .industry-description{margin-top:10px}
 .section-heading{margin-bottom:23px}
 #industries>.section-heading{gap:10px}
 #industries>.section-heading .text-link{font-size:12px;gap:6px}
 .contact-inner h2,html[lang=en] .contact-inner h2{font-size:24px;line-height:1.3}
 .subpage .sub-hero-copy h1,html[lang=en] .subpage .sub-hero-copy h1{font-size:28px;line-height:1.26;margin-bottom:13px}
 .subpage .sub-lead,html[lang=en] .subpage .sub-lead{font-size:18px;line-height:1.45}
 .subpage .sub-section-head h2,html[lang=en] .subpage .sub-section-head h2,#engineering-page #engineering-coordination .sub-section-head h2{font-size:23px;line-height:1.34}
 .subpage .sub-tile h3,html[lang=en] .subpage .sub-tile h3{font-size:20px;line-height:1.34;margin-bottom:10px}
 .subpage p{font-size:14px;line-height:1.55}
 .editorial-hero h1{font-size:26px;line-height:1.3}
 .editorial-hero .editorial-lead{font-size:19px;line-height:1.45}
 .editorial-hero .editorial-intro{font-size:14px;line-height:1.6}
 .case-library-hero h1,html[lang=en] .case-library-hero h1{font-size:28px;line-height:1.3}
 .case-library-hero p{font-size:14px!important;line-height:1.55!important}
 .case-detail-header h1,html[lang=en] .case-detail-header h1{font-size:26px;line-height:1.32}
 .library-case-card h2,html[lang=en] .library-case-card h2{font-size:21px;line-height:1.32}
 .case-detail-facts h2{font-size:20px}.case-detail-facts p{font-size:14px;line-height:1.58}
 /* English top-level labels occupy a calm 2 x 2 grid, never squeeze four into a row. */
 html[lang=en] .desktop-nav,html:not([data-app-ready]):has(#compat-lang-en:checked) .desktop-nav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:3px 22px!important;align-items:center}
 html[lang=en] .desktop-nav>.nav-item,html:not([data-app-ready]):has(#compat-lang-en:checked) .desktop-nav>.nav-item{min-width:0}
 html[lang=en] .nav-top,html:not([data-app-ready]):has(#compat-lang-en:checked) .nav-top{justify-content:space-between;gap:1px;min-width:0}
 html[lang=en] .desktop-nav .nav-link,html:not([data-app-ready]):has(#compat-lang-en:checked) .desktop-nav .nav-link{font-size:12px!important;white-space:nowrap!important;line-height:1.3!important;letter-spacing:-.01em;min-width:0;max-width:none;font-weight:500}
 html[lang=en] .nav-toggle,html:not([data-app-ready]):has(#compat-lang-en:checked) .nav-toggle{width:20px;min-width:20px;flex:0 0 20px}
 html[lang=en] .nav-dropdown,html:not([data-app-ready]):has(#compat-lang-en:checked) .nav-dropdown{width:min(300px,calc(100vw - 48px));max-width:calc(100vw - 48px)}
 html[lang=en] .nav-item:nth-child(2) .nav-dropdown,html:not([data-app-ready]):has(#compat-lang-en:checked) .nav-item:nth-child(2) .nav-dropdown{left:auto;right:0}
 /* One filter control, right-aligned with results; details stay hidden until opened. */
 .enhanced-only .case-library-layout{display:flex;flex-direction:column;align-items:stretch;gap:0;padding-top:22px}
 .enhanced-only .case-sidebar{display:contents}
 .enhanced-only .case-library-main{display:contents}
 .enhanced-only .case-toolbar{width:100%;order:0;display:grid;grid-template-columns:1fr auto;gap:11px 16px;margin-bottom:13px;align-items:center}
 .enhanced-only #case-result-count{grid-column:1;grid-row:1}
 .enhanced-only #case-filter-toggle{grid-column:2;grid-row:1;min-height:38px;min-width:83px;width:auto;padding:8px 11px;font-size:13px;gap:12px;background:#F3F5F7;color:var(--ink);border:1px solid #D5E0E8}
 .enhanced-only #case-filter-toggle[aria-expanded=true]{background:var(--hover-tint);color:var(--blue);border-color:#BAD1E3}
 .enhanced-only .case-search{grid-column:1/-1;grid-row:2;max-width:none;width:100%}
 .enhanced-only #case-filter-panel{width:100%;order:1;display:grid!important;grid-template-columns:1fr 1fr;column-gap:18px;row-gap:0;max-height:0;padding:0;overflow:hidden;visibility:hidden;opacity:0;border:0;transition:max-height .3s var(--ui-ease),opacity .23s ease,padding .3s var(--ui-ease),visibility .3s}
 .enhanced-only .case-sidebar.filters-open #case-filter-panel{max-height:1400px;padding:7px 0 20px;visibility:visible;opacity:1;border-bottom:1px solid #DCE4EB;margin-bottom:12px;row-gap:17px}
 .enhanced-only #case-filter-panel .case-filter-head{grid-column:1/-1;margin-bottom:0;padding:0;border:0;display:flex;justify-content:flex-end;min-height:25px}
 .enhanced-only #case-filter-panel .case-filter-head>span{display:none}
 .enhanced-only .case-active-filters{order:2}
 .enhanced-only .case-library-note{order:3;margin-top:0}
 .enhanced-only #case-results{order:4}
 html:not([data-app-ready]) .compat-filter-details{margin-bottom:15px;min-width:0}
 html:not([data-app-ready]) .compat-filter-details>summary{width:fit-content;min-width:92px;margin-left:auto;padding:8px 12px;min-height:38px;background:#F3F5F7;color:var(--ink);border:1px solid #D5E0E8;font-size:13px}
 html:not([data-app-ready]) .compat-filter-details .case-filter-head{justify-content:flex-end;display:flex;padding:6px 0 10px}
 html:not([data-app-ready]) .compat-filter-details .case-filter-head>span{display:none}
 html:not([data-app-ready]) .compat-filter-details[open]>div{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;padding-top:12px}
 html:not([data-app-ready]) .compat-filter-details .case-filter-head{grid-column:1/-1}
 /* Scope and rate links align to the same two-column tracks as the four steps. */
 #engineering-page .service-sheet-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:27px}
 #engineering-page .service-sheet-links a{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;min-height:62px;padding:12px 0;font-size:13px;line-height:1.4;border-top:1px solid #CBD6DF;border-bottom:1px solid #CBD6DF}
 #engineering-page .service-sheet-links a>span{min-width:0}
 #engineering-page .service-sheet-links .arrow{width:12px;height:12px;flex:0 0 12px}
 #engineering-page .delivery-four h3,html[lang=en] #engineering-page .delivery-four h3{font-size:19px}
 /* Story becomes chronological single-column on a phone. */
 #history-page .story-film-media{aspect-ratio:16/10}
 .story-intro{padding-block:35px 28px}
 .story-intro h1{font-size:27px;margin-bottom:12px}
 .story-intro .story-deck{font-size:18px;line-height:1.5}
 .story-intro .text-link{margin-top:12px;font-size:13px}
 .story-journey{grid-template-columns:1fr;gap:28px}
 .journey-stage:nth-child(n){grid-column:auto;grid-row:auto;display:block}
 .journey-marker{margin-bottom:13px;padding-top:12px}
 .journey-year{font-size:26px}
 .journey-copy,.journey-stage:nth-child(5) .journey-copy{padding-top:15px}
 .journey-copy h2{font-size:21px;line-height:1.35;margin-bottom:9px}
 .journey-copy p{font-size:14px;line-height:1.58}
 .story-today-v115{padding-block:42px}
 .story-today-v115 h2{font-size:25px;margin-bottom:19px}
 .story-today-v115 .media-slot{aspect-ratio:16/9!important}
 .story-today-v115>p{font-size:14px;line-height:1.62;margin-top:19px}
 #history-page .contact-band{padding-top:9px;padding-bottom:55px}
 #history-page .contact-inner h2{font-size:24px;line-height:1.35;margin-bottom:17px}
 #history-page .contact-inner p{font-size:14px;line-height:1.55}
 /* Jobs remain readable, a compact one-column layout on narrow phones. */
 .careers-page .editorial-hero{padding-block:30px}
 .careers-body{padding-top:29px;padding-bottom:48px}
 .careers-body>h2{font-size:24px;margin-bottom:19px}
 .role-list{grid-template-columns:1fr;gap:15px}
 .role-row{padding:19px 18px;gap:12px}
 .role-row h3{font-size:20px;line-height:1.33;margin-bottom:8px}
 .role-row p{font-size:13px;line-height:1.58}
 .role-more{font-size:13px}
 .policy-page .editorial-hero{padding-block:27px 25px}
 .policy-page .editorial-hero h1{font-size:25px;line-height:1.3}
 .policy-page .editorial-lead{font-size:14px;line-height:1.55}
 .policy-layout{grid-template-columns:1fr;gap:24px;padding-top:24px}
 .policy-nav{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
 .policy-nav a{font-size:11px;padding:10px 12px;min-height:45px;gap:10px}
 .policy-nav .arrow{width:10px;height:10px;flex:0 0 10px}
 .policy-copy h2{font-size:18px;line-height:1.4;margin-bottom:8px}
 .policy-copy p{font-size:13px;line-height:1.66;margin-bottom:8px}
 .policy-copy>section{margin-bottom:22px}
 .policy-review{font-size:10.5px!important}
}
@media(max-width:359px){
 html[lang=en] .desktop-nav,html:not([data-app-ready]):has(#compat-lang-en:checked) .desktop-nav{column-gap:12px!important}
 html[lang=en] .desktop-nav .nav-link,html:not([data-app-ready]):has(#compat-lang-en:checked) .desktop-nav .nav-link{font-size:11px!important;letter-spacing:-.02em}
 html[lang=en] .nav-toggle,html:not([data-app-ready]):has(#compat-lang-en:checked) .nav-toggle{width:16px;min-width:16px;flex-basis:16px}
}
@media(prefers-reduced-motion:reduce){
 #info-dialog.job-review[open],#info-dialog.job-review.is-closing{animation:none!important}
 .enhanced-only #case-filter-panel{transition:none}
}

/* A quiet directional rail makes the desktop timeline's return leg readable. */
@media(min-width:851px){
 .journey-stage:nth-child(1)::after,.journey-stage:nth-child(3)::after{content:"";position:absolute;top:0;width:54px;height:1px;background:#CAD9E5}
 .journey-stage:nth-child(1)::after{right:-54px}
 .journey-stage:nth-child(3)::after{left:-54px}
 .journey-stage:nth-child(2)::after{content:"";position:absolute;right:-20px;top:0;bottom:-44px;width:16px;border-right:1px solid #DCE6EE;border-top:1px solid #DCE6EE;border-bottom:1px solid #DCE6EE;border-radius:0 12px 12px 0;pointer-events:none}
 .journey-stage:nth-child(4)::after{content:"";position:absolute;left:-20px;top:0;bottom:-44px;width:16px;border-left:1px solid #DCE6EE;border-top:1px solid #DCE6EE;border-bottom:1px solid #DCE6EE;border-radius:12px 0 0 12px;pointer-events:none}
}

.compat-native-fields select{border:1px solid #cad4dd;padding:11px 12px;width:100%;min-width:0;background:white;font-size:14px}
#compat-career-application .compat-native-fields input{font-size:14px}
