/* Responsive rhythm and interaction tokens. Keep brand and content unchanged. */
:root{--gutter:max(24px,min(4.4vw,80px),calc((100vw - 1680px)/2));--space-section:clamp(64px,6.5vw,104px);--motion-press:100ms;--motion-feedback:180ms;--motion-enter:260ms;--ease-out:cubic-bezier(.2,.8,.2,1)}
.engineering-stage{--hairline-plate:#102438;--hairline-hi:#94C9A9;--hairline-edge:#7697a9;--hairline-mid:#547589;--hairline-lo:#3a586d;--hairline-stroke:1;max-width:100%;overflow:hidden}
.scene{width:100%;margin-left:0;padding-top:0}.scene figcaption{padding-inline:24px}.figure-read{font-size:0.8125rem;color:#b6cad6}
.engineering-stage .hero-construction :is(path,circle){fill:none;stroke:#547589;stroke-width:.6;opacity:.3}
.engineering-stage .construction-dashed{stroke-dasharray:2 5}
.engineering-stage .scene-base>.sil,.engineering-stage .scene-base>g>.sil{fill:#1C759A;fill-opacity:.2;stroke:#009EDC}
.engineering-stage .scene-board>g>.sil{fill:url(#hero-board);stroke:#009EDC}
.engineering-stage .scene-shell>g>.sil{fill:url(#hero-glass);stroke:#b6cad6}
.engineering-stage .scene-board .scene-component>.sil{fill:#102438;fill-opacity:.8;stroke:#94C9A9}
.engineering-stage .scene-wall>.fo{fill:#1C759A;fill-opacity:.12}
.engineering-stage .scene-board>.nf{stroke:#94C9A9;stroke-opacity:.8}
.engineering-stage .scene-shell>.nf{stroke:#b6cad6;stroke-opacity:.65}
@media(prefers-reduced-transparency:reduce){.engineering-stage .scene-shell>g>.sil{fill:#1C759A}.engineering-stage .scene-board>g>.sil{fill:#009EDC}.engineering-stage .scene-wall>.fo{fill:#102438;fill-opacity:1}}
.section{padding:var(--space-section) var(--gutter)}
h1,h2,h3{overflow-wrap:anywhere}.button,.textlink{max-width:100%;overflow-wrap:anywhere}
.nav,.hero,.page-opening,.page-body,.page-cta,.breadcrumb,.contact-page,.work-opening,.work-body,.work-index,.work-contact,footer{padding-inline:var(--gutter)}
.service-index{padding-inline:var(--gutter)}
.section-head{grid-template-columns:minmax(0,22fr) minmax(0,48fr) minmax(0,30fr);gap:0 24px}
.section-head>p,.service-grid p,.work-description p,.service-reading p{max-width:60ch}
:is(.hero-grid,.section-head,.service-grid,.machine-layout,.product-grid,.opening-split,.service-row,.detail-opening,.spec-section,.detail-enquiry,.contact-grid,.work-section)>*{min-width:0}
.service-reading dl>div{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:24px}
.service-reading dd{padding-right:0}
.service-grid article{padding:32px 32px 0}
.service-grid .mini-drawing{margin:16px 0 24px;height:128px;width:160px}
.capability-image{width:160px;height:128px}
.service-grid h3{min-height:44px}
.service-grid p{min-height:5em;margin-bottom:24px;line-height:1.6}
.service-bottom{font-size:0.875rem;min-height:64px;gap:16px;padding:20px 0}
.service-bottom span{flex-shrink:0}
.process-grid{gap:24px;grid-template-columns:repeat(5,minmax(0,1fr))}.process-grid article{padding-top:24px;min-width:0}.process-grid p{overflow-wrap:anywhere}
.machine-explorers{gap:24px}.machine-explorers p{font-size:1rem}
.principle-choice{padding-block:24px;gap:24px}.principle-display figcaption{font-size:0.875rem}.principle-display figcaption>span:last-child{font-size:0.8125rem}
.image-label{font-size:0.8125rem;line-height:1.5;bottom:16px}
.work-index a{min-height:44px;display:inline-flex;align-items:center}
:is(.nav nav a,.product-title a,.textlink,.product-info>a,.breadcrumb a,.related>a){min-height:44px;display:inline-flex;align-items:center}
.nav nav a{padding-block:10px}.product-title a{line-height:1.25}.product-info>a{padding-block:8px}
.textlink{align-self:flex-start;line-height:1.4;padding-block:10px}
.button,.menu,.gallery-controls button,.feeder-list,.principle-choice,.close-lightbox,.email-close,.inspect-image,.tab-design button{touch-action:manipulation;transition:background-color var(--motion-feedback) var(--ease-out),color var(--motion-feedback) var(--ease-out),border-color var(--motion-feedback) var(--ease-out),box-shadow var(--motion-feedback) var(--ease-out)}
.button{min-height:52px;justify-content:space-between}
@media(hover:hover){.blue:hover{background:var(--accent)}.outline:hover{border-color:var(--brand-secondary)}.nav nav a:hover,.textlink:hover,.product-info>a:hover,.breadcrumb a:hover,.related>a:hover{color:var(--brand-secondary)}.hero .textlink:hover,.equipment .textlink:hover,.contact .textlink:hover{color:var(--accent)}.email-close:hover,.close-lightbox:hover,.menu:hover{background:#e8eef2}}
:is(.button,.menu,.gallery-controls button,.feeder-list,.principle-choice,.close-lightbox,.email-close):active{box-shadow:inset 0 0 0 2px currentColor;transition-duration:var(--motion-press)}
.nav nav a:active,.textlink:active{opacity:.7}
:focus-visible{scroll-margin-block:calc(var(--nav-height,108px) + 32px)}
[id]{scroll-margin-top:calc(var(--nav-height,108px) + 32px)}
.skip{z-index:60}
.nav.nav-floating{top:max(12px,env(safe-area-inset-top));background:rgba(245,247,250,.96);backdrop-filter:blur(12px);transition:top var(--motion-feedback) var(--ease-out),box-shadow var(--motion-feedback) var(--ease-out)}
.nav.nav-floating nav.open{top:100%}
.machine-stage .hotspot-popup{pointer-events:auto;border-radius:6px;animation:popover-in var(--motion-feedback) var(--ease-out)}
.hotspot-popup p{font-size:0.9375rem}.hotspot-popup strong{font-size:1rem}
.email-dialog[open],.work-lightbox[open]{animation:dialog-in var(--motion-enter) var(--ease-out)}
.email-dialog::backdrop,.work-lightbox::backdrop{animation:backdrop-in var(--motion-feedback) var(--ease-out)}
@keyframes popover-in{from{opacity:0}to{opacity:1}}
@keyframes dialog-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes backdrop-in{from{opacity:0}to{opacity:1}}
@media(max-width:1100px){.navcta{display:none}.section-head{grid-template-columns:minmax(0,22fr) minmax(0,48fr) minmax(0,30fr);gap:0 20px}.service-grid article{padding:24px 20px 0}.service-grid p{min-height:6.4em}.service-reading dl>div{grid-template-columns:1fr;gap:8px}.machine-layout{grid-template-columns:minmax(0,37fr) minmax(0,63fr)}}
@media(max-width:900px){.nav nav{gap:20px}.navcta{display:none}.hero h1{font-size:clamp(3rem,7vw,4.375rem);white-space:normal}.process-grid{gap:16px}.process-grid p{font-size:1rem}.service-grid article{padding-inline:16px}.service-grid h3{font-size:1.6875rem;min-height:2.3em}.service-bottom{font-size:0.8125rem}}
@media(max-width:800px){:root{--gutter:32px;--space-section:64px}.section-head{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}.section-head>.eyebrow{grid-column:1/-1}.section-head>p{font-size:1.0625rem;padding-top:4px}.machine-layout{grid-template-columns:1fr}.machine-copy{padding-right:0}.hero-grid{display:flex;flex-direction:column;align-items:stretch}.hero-copy{display:contents}.hero h1{order:1;padding-top:40px;font-size:clamp(3rem,9vw,4.75rem)}.hero-copy>p{order:2;font-size:1.125rem}.scene{order:3;align-self:center;width:100%;max-width:600px;margin:0}.hero .actions{order:4;margin:8px 0 32px}.service-grid p{min-height:8em;font-size:1rem}.principle-list .principle-heading{font-size:1.25rem}.contact-grid{gap:32px}.work-teaser>div{gap:24px}.small,.micro,.index,.eyebrow{font-size:0.8125rem}.hero-bottom{font-size:0.8125rem}}
@media(max-width:600px){:root{--gutter:24px;--space-section:56px}.section-head{display:block}.section-head>p{padding-top:20px}.service-grid{grid-template-columns:1fr}.service-grid article{padding:24px 24px 0;border-left:1px solid #c1ced6;border-bottom:1px solid #c1ced6}.service-grid article:last-child{border-bottom:0}.service-grid h3{font-size:1.875rem;min-height:44px}.service-grid p{min-height:0}.service-bottom{font-size:0.875rem}.service-grid .mini-drawing{margin-block:8px 16px}.principle-layout{grid-template-columns:1fr;gap:24px}.principle-list .principle-heading{font-size:1.3125rem}.principle-display>img{height:280px}.page-cta{flex-wrap:wrap;gap:24px}.nav{padding-inline:var(--gutter)}.hero-copy>p{font-size:1.0625rem}.hero .actions>a{font-size:0.9375rem}.hero .actions{gap:12px 24px}.machine-stage{min-height:380px}.image-label{font-size:0.75rem;max-width:90%}.hotspot-popup p{font-size:0.875rem}.catalog-heading{flex-wrap:wrap}.work-index{font-size:0.9375rem;gap:8px 24px}.spec-table th,.spec-table td{overflow-wrap:anywhere}.email-dialog{padding:28px 24px}.email-dialog h2{font-size:2.125rem}.email-recipient{font-size:1.125rem}}
@media(max-width:360px){:root{--gutter:20px}.hero .actions{gap:12px 20px}.hero .actions>a{font-size:0.875rem}.contact-email{font-size:1.1875rem}.service-grid article{padding-inline:20px}}
@media(prefers-reduced-transparency:reduce){.nav.nav-floating{background:var(--surface-light);backdrop-filter:none}.machine-markers .hotspot.h1{background:var(--surface-dark)}.machine-markers .hotspot.h1[aria-expanded=true]{background:var(--accent)}}
@media(prefers-contrast:more){:root{--text-muted:#30485c;--border-subtle:#506374}.nav.nav-floating{background:var(--surface-light);backdrop-filter:none}.machine-markers .hotspot.h1{background:var(--surface-dark);border-width:2px}.machine-markers .hotspot.h1[aria-expanded=true]{background:var(--accent)}.service-grid,.service-grid article,.service-bottom,.principle-choice{border-color:#506374}.product-info p,.section-head>p{color:#30485c}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.nav.nav-floating{transition:none}.inspect-image:hover>img{transform:none}}
@media(max-width:1100px){.nav nav .navcta{display:none}}
@media(max-width:900px){.nav{height:88px}.nav img{width:153px}.menu{display:block;border:1px solid #cad5df;background:transparent;padding:11px 15px;font-size:.875rem;min-height:44px;color:var(--text-primary)}.nav nav{display:none;position:absolute;top:100%;left:0;right:0;padding:20px var(--gutter);background:var(--surface-light);border-bottom:1px solid var(--border-subtle);z-index:9}.nav nav.open{display:flex;flex-direction:column;align-items:stretch;gap:8px}.nav nav a{padding-block:13px}.hero-sequence{height:auto}.hero-sequence>.hero{position:relative;min-height:0;display:block}.hero-grid{display:flex;flex-direction:column;align-items:stretch;min-height:0}.hero-copy{display:contents}.hero h1{order:1;padding-top:40px;font-size:clamp(3rem,9vw,4.75rem)}.hero-copy>p{order:2}.scene{order:3;align-self:center;width:100%;max-width:600px;margin:0}.hero .actions{order:4;margin:8px 0 32px}.hero-sequence .scene .assembly-scene{max-height:none}}
@media(max-width:600px){.process-grid{grid-template-columns:1fr}}
