/* Shared Nexus typography, header and footer; a clean, live-text banner. */
/* Longer requirement label keeps the established stacked mobile CTA layout. */
@media(max-width:600px){.manufacturing-cta.site-cta .actions{grid-template-columns:1fr}}
/* Production gallery follows the shared Nexus type and colour system. */
.production-gallery{background:#fff}
.production-gallery-heading{margin-bottom:36px}
.production-gallery-heading .section-title{margin-top:20px}
.production-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.production-gallery-item{margin:0;min-width:0;aspect-ratio:4/3;border-radius:8px;overflow:hidden;background:#f3f1eb;transition:transform .35s ease,box-shadow .35s ease}
.production-gallery-item img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;opacity:1;filter:none}
.production-gallery-item>a{position:relative;display:block;width:100%;height:100%;color:#fff}
.production-gallery-item>a:focus-visible{outline:3px solid var(--red);outline-offset:-3px}
.production-gallery-view{position:absolute;right:14px;bottom:14px;padding:8px 11px;background:var(--brand-blue);color:#fff;font:700 .625rem/1.4 var(--font-body);letter-spacing:.08em;text-transform:uppercase;opacity:0;transition:opacity .25s ease}
.production-gallery-item>a:is(:hover,:focus-visible) .production-gallery-view{opacity:1}
@media(hover:none){.production-gallery-view{opacity:1}}
@media(hover:hover) and (pointer:fine){
.production-gallery-item img{transition:transform .5s ease}
.production-gallery-item:hover{transform:translateY(-5px);box-shadow:0 14px 30px #171b271f}
.production-gallery-item:hover img{opacity:1;filter:none;transform:scale(1.025)}
}
@media(max-width:900px){.production-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.production-gallery-grid{grid-template-columns:1fr;gap:18px}.production-gallery-heading{margin-bottom:28px}}
@media(prefers-reduced-motion:reduce){.production-gallery-item,.production-gallery-item img{transition:none!important;transform:none!important}}
/* Gentle scroll reveal and brand-blue hover; touch remains neutral. */
.process-step-card,.process-number,.process-step-icon,.process-step-copy h3,.process-step-copy p{transition:background-color .25s ease,color .25s ease,border-color .25s ease,box-shadow .25s ease}
@media(hover:hover) and (pointer:fine){
.process-step:hover .process-step-card{background:var(--brand-blue);border-color:var(--brand-blue);box-shadow:0 12px 28px #171b271a}
.process-step:hover .process-step-copy h3{color:#fff}
.process-step:hover .process-step-copy p{color:#ffffffc7}
.process-step:hover .process-step-icon{background:#ffffff14;color:#fff}
.process-step:hover .process-number{background:var(--red);border-color:var(--red);color:#fff}
}
@media(prefers-reduced-motion:no-preference){
.process-motion .process-step{opacity:0;transform:translateY(32px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1);transition-delay:var(--step-delay,0ms)}
.process-motion .process-step.is-visible{opacity:1;transform:none}
}
@media(prefers-reduced-motion:reduce){.process-step,.process-step-card,.process-number,.process-step-icon,.process-step-copy h3,.process-step-copy p{transition:none!important;transform:none!important;opacity:1!important}}
/* Manufacturing stages: ordered six-step timeline, using supplied image sheets. */
.manufacturing-stages{position:relative;background:#f3f1eb;overflow:visible}
.process-layout{display:grid;grid-template-columns:.72fr 1.5fr;gap:68px;align-items:start}
.process-intro{position:sticky;top:112px;padding-top:0;min-width:0;align-self:start}
.process-intro .section-title{margin-top:24px}
.process-period{color:var(--red)}
.process-intro>p{margin:24px 0 0;color:#666c76;font:400 1rem/1.75 var(--font-body);max-width:360px}
.process-picture{position:relative;overflow:hidden;aspect-ratio:2.7;background:#fff;min-width:0}
.process-picture img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}
.process-intro-image{width:100%;margin-top:44px;opacity:.22;mix-blend-mode:multiply}
.process-timeline{list-style:none;margin:0;padding:0;display:grid;gap:18px;position:relative}
.process-timeline:before{content:"";position:absolute;left:25px;top:29px;bottom:29px;width:1px;background:#c2c3c7}
.process-step{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:22px;position:relative}
.process-number{position:relative;z-index:1;display:grid;place-items:center;width:52px;height:52px;border:1px solid #dedbd3;border-radius:50%;background:#fbfaf6;color:var(--red);box-shadow:0 4px 12px #00000008;font:700 1.0625rem/1 var(--font-heading)}
.process-number:after{content:"";position:absolute;left:100%;top:50%;width:22px;height:1px;background:#c2c3c7}
.process-step-card{position:relative;display:grid;grid-template-columns:52px minmax(0,1fr) 30%;align-items:center;gap:18px;padding:18px 0 18px 20px;min-height:118px;border:1px solid #e7e3db;border-radius:10px;background:#fbfaf6;overflow:hidden}
.process-step-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#edebe5;color:var(--brand-blue)}
.process-step-icon svg{width:28px;height:30px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.process-step-copy{min-width:0}
.process-step-copy h3{margin:0;color:var(--text);font:700 1.0625rem/1.3 var(--font-heading)}
.process-step-copy p{margin:8px 0 0;color:#666c76;font:400 .875rem/1.6 var(--font-body)}
.process-step-card>.process-picture{width:100%;align-self:stretch;aspect-ratio:auto;min-height:100px}
@media(max-width:1100px){.process-layout{grid-template-columns:.7fr 1.5fr;gap:30px}.process-step-card{grid-template-columns:42px minmax(0,1fr);padding:18px;gap:14px}.process-step-icon{width:42px;height:42px}.process-step-card>.process-picture{grid-column:1/-1;aspect-ratio:2.7;max-height:180px;width:100%;min-height:0}}
@media(max-width:800px){.process-layout{grid-template-columns:1fr;gap:40px}.process-intro{position:static;padding-top:0}.process-intro .section-title{max-width:650px}.process-intro>p{max-width:580px}.process-intro-image{display:none}.process-step-card{grid-template-columns:48px minmax(0,1fr) 28%;padding:18px 0 18px 18px}.process-step-card>.process-picture{grid-column:auto;aspect-ratio:2.7;align-self:center}.process-step-icon{width:48px;height:48px}}
@media(max-width:600px){.process-step{grid-template-columns:40px minmax(0,1fr);gap:14px}.process-number{width:40px;height:40px;font-size:.875rem}.process-number:after{width:14px}.process-timeline:before{left:19px}.process-step-card{grid-template-columns:38px minmax(0,1fr);padding:16px;gap:12px}.process-step-icon{width:38px;height:38px}.process-step-icon svg{width:23px;height:25px}.process-step-card>.process-picture{grid-column:1/-1;aspect-ratio:2.7;width:100%;max-height:none}.process-step-copy h3{font-size:1rem}.process-step-copy p{font-size:.8125rem}}
/* Flush-edge images fade towards the live text. */
@media(min-width:1101px){
 .process-step-card{padding:24px 0 24px 20px;grid-template-columns:52px minmax(0,1fr) 34%;min-height:128px}
 .process-step-card>.process-picture{position:absolute;right:0;top:0;bottom:0;width:34%;min-height:0;mask-image:linear-gradient(to right,transparent,#000 30%);-webkit-mask-image:linear-gradient(to right,transparent,#000 30%)}
 .process-step-copy{position:relative;z-index:1}
}
@media(min-width:801px) and (max-width:1100px){
 .process-step-card>.process-picture{margin:0 -18px -18px;width:calc(100% + 36px);mask-image:linear-gradient(to bottom,transparent,#000 30%);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 30%)}
}
@media(min-width:601px) and (max-width:800px){
 .process-step-card>.process-picture{position:absolute;right:0;top:0;bottom:0;width:28%;height:100%;mask-image:linear-gradient(to right,transparent,#000 30%);-webkit-mask-image:linear-gradient(to right,transparent,#000 30%)}
}
@media(max-width:600px){
 .process-step-card>.process-picture{margin:0 -16px -16px;width:calc(100% + 32px);mask-image:linear-gradient(to bottom,transparent,#000 30%);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 30%)}
}
/* Use the same full-width hero structure and overlay as Outsourcing & Recruitment. */
.manufacturing-hero-copy{position:relative;z-index:1;width:100%;max-width:740px}
.manufacturing-hero h1{margin:0}
.manufacturing-hero h1 .manufacturing-title-accent{color:var(--red)}
.manufacturing-hero .lead{margin:30px 0 0;max-width:660px}
.manufacturing-hero,.manufacturing-hero .hero-inner{min-height:clamp(480px,70vh,620px)}
.manufacturing-hero .hero-inner{justify-content:center;padding-top:113px;padding-bottom:0}
.manufacturing-hero .hero-inner{padding-bottom:56px}
@media(max-width:600px){.manufacturing-hero .hero-inner{padding-bottom:140px!important}.manufacturing-trust span:last-child{grid-column:1/-1}}
.manufacturing-hero .hero-slide{object-position:center}
.manufacturing-hero .hero-shade{background:linear-gradient(90deg,rgb(var(--brand-blue-rgb) / 18%) 0%,transparent 70%)}
@media(max-width:900px){.manufacturing-hero .hero-shade{background:linear-gradient(90deg,rgb(var(--brand-blue-rgb) / 95%) 0%,rgb(var(--brand-blue-rgb) / 80%) 55%,rgb(var(--brand-blue-rgb) / 42%) 100%)}}
@media(max-width:600px){.manufacturing-hero,.manufacturing-hero .hero-inner{min-height:620px}.manufacturing-hero .hero-inner{padding-top:68px;padding-bottom:0}.manufacturing-hero .hero-slide{object-position:60% center}.manufacturing-hero .hero-shade{background:rgb(var(--brand-blue-rgb) / 76%)}}

