/* Shared responsive corrections. Keep real content flowing rather than clipping overflow. */
main, main *, header .wrap > *, .site-footer-grid > * {min-width:0}
main img, main video, main svg {max-width:100%}
main p, main h1, main h2, main h3, main a, footer a {overflow-wrap:anywhere}
/* Section padding shorthands previously erased the shell's horizontal gutters. */
.sew-shell.sew-section {padding-left:5%;padding-right:5%}
@media(max-width:1100px){
 header nav.expanded {max-height:calc(100vh - 130px);max-height:calc(100dvh - 130px);overflow-y:auto;overscroll-behavior:contain;flex-wrap:nowrap}
 header nav a, header nav summary {white-space:normal}
 header .mobile-controls {flex-shrink:0}
}
@media(max-width:700px){
 .wrap,.sew-shell,.breadcrumb {padding-left:20px;padding-right:20px}
 .sew-shell.sew-section {padding-left:20px;padding-right:20px}
 .sew-flow {grid-template-columns:minmax(0,1fr);gap:26px;margin-top:28px}
 .sew-flow h3 {font-size:22px;margin:12px 0 8px}
 .sew-hero h1,.hero-copy h1 {font-size:clamp(34px,9vw,48px);letter-spacing:-1.5px}
 .sew-section h2,.sew-cta h2,.sectionhead h2,.pencil-intro h2 {font-size:clamp(28px,7.5vw,36px);letter-spacing:-1px}
 .sew-equipment {grid-template-columns:minmax(0,1fr)}
 .sew-machine {padding:26px}
 .sew-section {padding-top:44px;padding-bottom:44px}
 .sew-kicker {font-size:12px;letter-spacing:1.2px}
 .sew-types span {max-width:100%;overflow-wrap:anywhere}
 .sew-hero,.laser-feature,.injection-feature {gap:26px}
 .button {max-width:100%;white-space:normal;text-align:center}
 .contact .button {white-space:normal}
 .enquiry-layout,.inquiry-form {grid-template-columns:minmax(0,1fr)}
 .field {min-width:0}.field input,.field select,.field textarea {max-width:100%;font-size:16px}
 .fullwidth {grid-column:1/-1}
 .collection-nav {gap:8px}.collection-nav a {max-width:100%;white-space:normal}
 .pencil-modal {width:calc(100% - 24px);max-width:calc(100% - 24px);max-height:90vh;max-height:90dvh;padding:54px 12px 16px}
 .pencil-modal img {height:auto;max-height:65vh;max-height:65dvh}
 .pencil-modal button {min-height:44px}
 .marking-feature img {height:auto;max-height:65vh;object-fit:contain}
}
@media(max-width:420px){
 header .wrap {padding:12px 16px;gap:8px;min-height:72px}
 header .brand {font-size:15px;letter-spacing:-.6px;gap:3px}
 header .mobile-controls {gap:6px}
 header .menu-toggle {padding:8px;font-size:13px;min-height:40px;color:#111}
 header .language-switch {gap:3px;font-size:13px}
 header .language-switch a {padding:7px 5px;min-height:40px;display:inline-flex;align-items:center}
 .pagehero h1 {font-size:34px}
 .sew-photo img,.laser-feature img {border-radius:18px}
}
@media(max-width:350px){
 header .wrap {display:grid;grid-template-columns:minmax(0,1fr)}
 header .mobile-controls {justify-content:flex-end;width:100%}
 header nav {grid-column:1}
}
