/* Shared reading surfaces; core capability backgrounds are preserved. */
h4,h5,h6{font-size:16px}
.reading-surfaces:not(.homepage) #main-content{background:#fff;color:#161616;color-scheme:light;--text:#161616;--muted:#555555;--line:#dedede;--paper-line:#dedede;--paper:#fff;--ink:#161616;--surface:#f5f5f5;--focus:#444444}
.reading-surfaces:not(.homepage):not(.reliability-page):not(.toolkit-page) #main-content :is(.page-heading,.research-hero,.breadcrumb){background:#111315;color:#f4f3ef;color-scheme:dark;--text:#f4f3ef;--muted:#b9c0c5;--line:#34383d;--paper:#f1f0eb;--ink:#161616;--focus:#a9c8f1}
.reading-surfaces:not(.homepage):not(.reliability-page):not(.toolkit-page) #main-content :is(.page-heading,.breadcrumb){max-width:none;padding-inline:max(var(--gutter),calc((100% - var(--container))/2));box-shadow:none;clip-path:none}
/* Existing white toolkit hero/breadcrumb retain their treatment. */
.toolkit-page.reading-surfaces #main-content .breadcrumb{background:#fff;color:#555;box-shadow:none;clip-path:none}
.reading-surfaces:not(.homepage) #main-content :is(.section,.research-body,.research-initiatives,.research-related,.about-approach,.final-cta){background:#fff;color:#161616}
.reading-surfaces:not(.homepage) #main-content :is(.prose,.research-section-intro,.research-initiative-card p,.research-initiative-card .eyebrow,.research-initiatives>.container>.eyebrow,.research-related .eyebrow,.about-approach-grid p,.final-cta p){color:#555555}
.reading-surfaces:not(.homepage) #main-content :is(.prose h3,.prose strong,.prose a,.research-body .prose a){color:#161616}
.reading-surfaces:not(.homepage) #main-content :is(.technical-callout,.branch-panel,.success-panel,.download-box){background:#f5f5f5;color:#161616;border-color:#b7b7b7}
.reading-surfaces:not(.homepage) #main-content .technical-callout p{color:#555555}
.reading-surfaces:not(.homepage) #main-content .technical-table th{background:#eeeeee;color:#161616}
.reading-surfaces:not(.homepage) #main-content .research-initiative-card{border-color:#dedede}
.reading-surfaces:not(.homepage) #main-content .research-initiative-card:hover{background:#f5f5f5;border-color:#555555}
.reading-surfaces:not(.homepage) #main-content .research-related .related-grid>a{border-color:#dedede}
.reading-surfaces:not(.homepage) #main-content .final-cta .button{background:#161616;color:#fff;border-color:#161616}
.reading-surfaces:not(.homepage) #main-content .final-cta .button:hover{background:#303030;border-color:#303030}
.reading-surfaces:not(.homepage) #main-content :is(input,select,textarea){color-scheme:light}
.reading-surfaces:not(.homepage) #main-content input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.reading-surfaces:not(.homepage) #main-content select,.reading-surfaces:not(.homepage) #main-content textarea{background:#fff;color:#161616;border-color:#777777}
.reading-surfaces:not(.homepage) #main-content :is(.form-submit,.button-navy){background:#161616;color:#fff;border-color:#161616}
.reading-surfaces:not(.homepage) #main-content .article-contents{background:#f5f5f5;color:#161616}
.reading-surfaces:not(.homepage) #main-content .errorlist{color:#8b1c1c}
.reading-surfaces:not(.homepage) #main-content .error-summary{background:#fff4f4;color:#161616;border-color:#8b1c1c}
.reading-surfaces:not(.homepage) #main-content .field [aria-invalid=true]{border-color:#8b1c1c}
.reading-surfaces:not(.homepage) #main-content ::selection{background:#dddddd;color:#111315}
.prose{line-height:1.75}
.prose p,.prose li{max-width:70ch}
.technical-section,.technical-split{column-gap:clamp(32px,5vw,80px)}
.technical-section>*,.technical-split>*{min-width:0}
.technical-content img{height:auto;max-width:100%}
.button{max-width:100%;overflow-wrap:anywhere}
.header-inner{gap:22px}
.desktop-nav{gap:clamp(14px,1.2vw,22px)}
.desktop-nav .nav-capabilities-panel{width:min(460px,90vw)}
.mobile-nav a{gap:16px;white-space:normal}
.toolkit-navigation{display:flex;align-items:start;gap:18px;padding-block:24px;position:relative}
.toolkit-navigation .toolkit-overview-link{flex-shrink:0}
.toolkit-model-selector{flex:1;min-width:0;border:1px solid #d5d5d5;background:#fff}
.toolkit-model-selector summary{padding:12px 18px;min-height:48px;cursor:pointer;font-size:16px;line-height:1.5;color:#202020}
.toolkit-model-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:24px;border-top:1px solid #dedede}
.toolkit-model-groups .eyebrow{margin-bottom:14px}
.toolkit-navigation .toolkit-model-groups a{border:0;border-bottom:1px solid #dedede;background:#fff;white-space:normal;padding:12px 0}
.toolkit-navigation .toolkit-model-groups a[aria-current]{color:#111;background:#eeeeee;font-weight:650;padding-inline:12px}
.calculator-layout>*{min-width:0}
.calculator-results{border-top:3px solid #161616;background:#fff}
.calculator-results dl>div:first-child{padding-bottom:22px;border-bottom:1px solid #dedede;margin-bottom:22px}
.calculator-results dl>div:first-child dd{font-size:clamp(30px,3vw,42px);font-variant-numeric:tabular-nums;line-height:1.2;margin-top:12px}
.calculator-results dd{font-variant-numeric:tabular-nums}
.calculator-results .results-note{padding-top:18px;border-top:1px solid #dedede;color:#555555}
.calculator-panel,.calculator-method,.calculator-results{padding:clamp(22px,2.5vw,36px)}

@media(max-width:1350px){.desktop-nav{display:none}.menu-toggle{display:inline-flex}}
@media(min-width:1351px){.mobile-nav{display:none}}
@media(max-width:760px){.toolkit-model-groups{grid-template-columns:1fr}.toolkit-navigation{flex-direction:column;gap:12px}.toolkit-model-selector{width:100%}.toolkit-model-groups{padding:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.section-navigation,.toolkit-navigation{display:none}.reading-surfaces:not(.homepage):not(.reliability-page):not(.toolkit-page) #main-content :is(.page-heading,.breadcrumb){background:#fff;color:#000;box-shadow:none}}

.toolkit-page.reading-surfaces #main-content .button-navy{background:#111111;border-color:#111111;color:#fff}

/* Real full-width hero shells avoid shadow fragments around breadcrumbs. */
.page-hero-shell{background:#111315;color:#f4f3ef;--text:#f4f3ef;--muted:#b9c0c5;--paper:#f1f0eb;--ink:#161616}
.reading-surfaces:not(.homepage) #main-content .page-hero-shell .page-heading,
.reading-surfaces:not(.homepage) #main-content .page-hero-shell .breadcrumb{max-width:calc(var(--container) + var(--gutter)*2);padding-inline:var(--gutter)}
.page-heading.child-image-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:center}
.child-image-hero-copy{min-width:0}
.child-image-hero-copy h1{overflow-wrap:break-word}
.child-image-hero-copy .button{margin-top:34px}
.child-image-hero-media{margin:0;min-width:0}
.child-image-hero-media img{width:100%;height:auto;object-fit:contain}
.reading-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;grid-template-areas:"body navigation";gap:clamp(40px,5vw,80px);align-items:start;padding-top:48px}
.reading-layout-body{grid-area:body;min-width:0}
.reading-layout-body .technical-section{display:block}
.reading-layout-body .technical-section>div:first-child{margin-bottom:24px}
.reading-layout-body .technical-section h2{max-width:none}
.section-navigation{grid-area:navigation;position:sticky;top:24px;min-width:0;color:#161616;background:#fff;align-self:start}
.section-navigation-title{font-family:var(--font-mono);font-size:14px;letter-spacing:.06em;text-transform:uppercase;margin:0 0 18px;color:#555}
.section-navigation-toggle{display:none;align-items:center;justify-content:space-between;width:100%;text-align:left;background:#fff;color:#161616;border:1px solid #dedede;padding:16px 18px;font-size:16px;line-height:1.5;min-height:56px}
.section-navigation-toggle::after{content:"";width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .18s}
.section-navigation.is-open .section-navigation-toggle::after{transform:rotate(225deg)}
.section-navigation-panel{max-height:calc(100svh - 100px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.section-navigation-track{position:relative}
.section-navigation ol{list-style:none;padding:0;margin:0;border-left:1px solid #dedede}
.section-navigation li{margin:0;padding:0}
.section-navigation a{display:block;padding:11px 16px;min-height:44px;color:#555;font-size:16px;line-height:1.5;text-decoration:none;transition:color .16s,background .16s}
.section-navigation a:hover{color:#161616;background:#f5f5f5}
.section-navigation a[aria-current="location"]{color:#111;font-weight:650;background:#f5f5f5}
.section-navigation-indicator{position:absolute;left:0;top:0;width:2px;height:44px;background:#161616;pointer-events:none;transition:transform .18s,height .18s}
.reading-layout h2[id],.reading-layout section[id]{scroll-margin-top:24px}
@media(max-width:1100px){
 .reading-layout{display:block;padding-top:32px}
 .section-navigation{position:static;margin-bottom:32px}
 .section-navigation-title{display:none}
 .section-navigation-toggle{display:flex}
 .section-navigation-panel{max-height:min(60svh,480px);border:1px solid #dedede;border-top:0;padding:12px 0}
 .section-navigation.is-open .section-navigation-panel{animation:section-menu-open .18s ease-out}
}
@media(max-width:760px){
 .page-heading.child-image-hero{grid-template-columns:1fr;gap:32px;padding-bottom:40px}
 .child-image-hero-copy .button{margin-top:28px}
}
@keyframes section-menu-open{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.section-navigation-indicator,.section-navigation-toggle::after,.section-navigation a{transition:none}.section-navigation.is-open .section-navigation-panel{animation:none}}
@media print{.reading-layout{display:block}.section-navigation{display:none}.page-hero-shell{background:#fff;color:#000}.child-image-hero{display:block}}

.research-child-image{margin:0;min-width:0}
.research-child-image img{width:100%;height:auto;object-fit:contain}

.reliability-page .page-hero-shell .breadcrumb,.reliability-page .page-hero-shell .page-intro{color:#b9c0c5}
.reliability-page .page-hero-shell .eyebrow{color:#abb3b9}
.reliability-page .page-hero-shell .button{background:#f1f0eb;color:#161616;border-color:#f1f0eb}

/* The enquiry CTA is always beside search, never hidden at a breakpoint. */
.site-header .header-cta{display:inline-flex;flex-shrink:1}
.header-contact-actions{display:flex;align-items:center;gap:16px;min-width:0}
.header-contact-actions .search-link{flex-shrink:0}
@media(max-width:760px){
 .header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px}
 .header-inner>.wordmark{grid-column:1;grid-row:1}
 .header-actions{display:contents}
 .header-actions>.menu-toggle{grid-column:2;grid-row:1;justify-self:end}
 .header-contact-actions{grid-column:1/-1;grid-row:2;justify-content:flex-end;gap:8px}
 .header-contact-actions .header-cta{max-width:calc(100% - 52px);min-width:0;gap:12px;white-space:normal}
}

@media(min-width:1351px) and (max-width:1600px){.desktop-nav{gap:10px}.header-inner{gap:16px}.header-contact-actions{gap:10px}.header-cta{gap:12px}}

/* Shared internal hero sizing. Loaded after page-specific styles; keep the
   homepage's independent viewport/WebGL layout outside these rules. */
body:not(.homepage) { --internal-hero-min: 380px; }
body:not(.homepage) #main-content .page-hero-shell {
  min-height: var(--internal-hero-min);
}
body:not(.homepage) #main-content .page-heading:not(.interior-hero-heading) {
  height: auto;
  min-height: var(--internal-hero-min);
  padding-block: clamp(32px, 4vw, 56px);
  overflow-wrap: anywhere;
}
/* The shell includes the breadcrumb, so avoid reserving a second minimum. */
body:not(.homepage) #main-content .page-hero-shell > .page-heading {
  min-height: 0;
}
body:not(.homepage) #main-content .research-hero-inner {
  min-height: var(--internal-hero-min);
  padding-block: clamp(32px, 4vw, 56px);
}
body:not(.homepage) #main-content .research-hero-art {
  min-height: 0;
  min-width: 0;
}
body:not(.homepage) #main-content .toolkit-hero {
  min-height: 260px;
}
@media (max-width: 1100px) {
  body:not(.homepage) { --internal-hero-min: 300px; }
}
@media (max-width: 760px) {
  body:not(.homepage) { --internal-hero-min: 260px; }
}
@media print {
  body:not(.homepage) { --internal-hero-min: 0px; }
  body:not(.homepage) #main-content :is(.page-hero-shell, .page-heading, .research-hero-inner, .toolkit-hero) {
    min-height: 0;
  }
}

/* Compact bridge between technical articles and relevant engineering services. */
.technical-content .content-pair-section {
  padding-block: clamp(24px, 3vw, 38px);
}
.technical-content .content-pair-section h2 {
  font-size: clamp(1.45rem, 2vw, 2rem);
}
.technical-content .content-pair-section .prose p {
  max-width: 64ch;
}
.technical-content .content-pair-section .text-link {
  margin-top: 10px;
}
