/* Mobile layout supplements the approved desktop design and brand tokens. */
.nav-toggle{display:none}
@media(max-width:850px){
 html{scroll-padding-top:84px}
 .nav{position:relative;padding:16px 22px;gap:16px;flex-wrap:wrap}
 .nav .logo{width:170px;max-width:46vw}
 .nav-toggle{display:flex;align-items:center;gap:12px;min-height:44px;padding:10px 15px;background:var(--gw-graphite);color:var(--gw-white)}
 .nav-toggle[hidden]{display:none}
 .nav nav{width:100%;display:flex;flex-wrap:wrap;gap:8px 20px}
 .nav nav a:not(.button){display:block}
 header.nav-enhanced nav{display:none;position:absolute;top:100%;left:0;right:0;padding:12px 22px 22px;background:var(--gw-white);border-bottom:3px solid var(--gw-green);box-shadow:0 14px 24px rgba(37,55,69,.12);max-height:calc(100dvh - 76px);overflow:auto}
 header.nav-open nav{display:grid;grid-template-columns:1fr 1fr}
 .nav nav a{min-height:48px;display:flex!important;align-items:center;padding:10px 12px}
 .nav nav .button{grid-column:1/-1;justify-content:center}
 main>.media-section{padding-left:22px;padding-right:22px}
 .video-section video{aspect-ratio:16/9;object-fit:contain}
 .video-caption{gap:12px;flex-wrap:wrap}
 .section-head{margin-bottom:25px}
 .media-copy .button,.card a{min-height:44px;display:inline-flex;align-items:center}
 .founder-photo{min-height:0;aspect-ratio:4/3}
 .founder-photo>img{object-position:center 22%}
}
@media(max-width:700px){
 .section{padding-top:48px;padding-bottom:48px}
 .steps{display:grid;grid-template-columns:1fr;gap:28px;padding:12px 0;overflow:visible}
 .steps:before{left:31px;right:auto;top:44px;bottom:80px;width:2px;height:auto}
 .steps:after{left:27px;right:auto;top:auto;bottom:76px;border:5px solid transparent;border-top-color:var(--gw-green);border-bottom:0}
 .step{display:grid;grid-template-columns:64px minmax(0,1fr);column-gap:22px;align-content:start}
 .step .process-icon{grid-column:1;grid-row:1/4;width:64px;height:64px;margin:0;box-shadow:0 0 0 5px var(--gw-paper)}
 .step .number{grid-column:2;justify-self:start}
 .step h3{grid-column:2;font-size:20px;margin:12px 0 8px}
 .step p{grid-column:2;margin:0;font-size:14px}
 .quick-enquiry .contact-consent{min-height:44px;font-size:12px}
 .quick-enquiry .contact-consent input{width:20px;height:20px}
 .quick-enquiry .contact-consent span{font-size:12px}
 .contact-details summary{padding:12px 0;min-height:44px}
 .footer-phone a,.footer-map,.contact-footer-bottom a{min-height:44px;display:inline-flex;align-items:center}
 .contact-footer-main{padding:38px 22px;gap:30px}
 .contact-footer-bottom{margin:0 22px}
 .footer-email>div{min-width:0}
 .footer-email a{font-size:clamp(17px,5vw,21px)}
}
@media(max-width:600px){
 main>.hero-photo{padding:44px 22px 52px;min-height:0}
 .hero-photo h1{font-size:clamp(38px,10.3vw,56px);letter-spacing:-1.5px;margin:18px 0 22px}
 .hero-photo .intro{font-size:16px;line-height:1.65}
 .hero-photo .eyebrow{font-size:10px;letter-spacing:1.2px;max-width:300px}
 .hero-photo .actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:24px}
 .hero-photo .actions .button{text-align:center;font-size:14px;padding:14px 18px;min-height:48px}
 .hero-photo .fine{font-size:11px;line-height:1.6;margin:18px 0 0}
 .hero-caption{font-size:8px;right:22px;bottom:17px;letter-spacing:1px}
 h2{font-size:31px;letter-spacing:-1px}
 main>.video-section{padding-top:38px;padding-bottom:25px}
 .video-intro{margin-bottom:24px}
 main>.strip{gap:16px;padding:24px 22px}
 .strip>div+div{padding-top:14px;border-top:1px solid var(--gw-line)}
 .cards{grid-template-columns:1fr;gap:22px}
 .service-image{height:auto;aspect-ratio:16/10}
 .card-body{padding:22px}
 .card p{min-height:0;font-size:15px}
 .brand-heading{gap:12px;padding-left:22px;padding-right:22px}
 .brand-heading .eyebrow{font-size:9px;letter-spacing:1px}
 #brand-pause{min-width:64px;min-height:44px}
 .product-gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto}
 .product-panel,.product-panel:nth-child(n+5){grid-column:auto;aspect-ratio:3/4;min-height:210px}
 .product-panel:last-child{grid-column:1/-1;aspect-ratio:16/8;min-height:190px}
 .product-panel h3{font-size:clamp(17px,4.5vw,25px);top:20px;left:16px;right:12px;max-width:90%}
 .product-panel:after{background:linear-gradient(180deg,rgba(10,20,25,.6),rgba(10,20,25,.04) 80%)}
 .product-number{font-size:105px;top:34%;right:8px}
 .product-plus{width:36px;height:36px;top:auto;bottom:16px;right:16px;font-size:25px}
 .product-panel:last-child h3{max-width:65%;font-size:24px}
 .product-intro{padding-top:42px}
 .founder-copy{padding:26px 24px}
 .founder-quote p{font-size:15px}
 .about-inspection-photo{margin-left:0}
 .factory-inspected-badge{left:12px;top:12px;width:126px;padding:15px;border-radius:7px}
 .factory-inspected-badge svg{width:30px;height:30px;margin-bottom:8px}
 .factory-inspected-badge strong{font-size:36px}
 .factory-inspected-badge span{font-size:12px;margin-top:6px}
 .about-copy .button{max-width:100%;text-align:center}
 .video-play-fallback{padding:12px 18px;font-size:13px;min-height:44px}
 .video-open-link{top:8px;right:8px}
 .contact-form-card{padding:24px 18px}
}
@media(hover:none){.product-panel:active img{filter:grayscale(0);transform:scale(1.03)}}
@media(prefers-reduced-motion:reduce){.product-panel:active img{transform:none}}
