/* Plain controls and a full-width mobile navigation. */
.header{z-index:40;background:#fff;backdrop-filter:none}.menu-backdrop{display:none}.menu-backdrop[hidden]{display:none}
.button{justify-content:center;box-shadow:none;border-radius:4px}.button:hover{transform:none}
.home-entry>svg,.entry-number,.service-detail-heading{display:none}
.home-entry{min-height:190px}.home-entry h3{margin-top:0}.entry-link{justify-content:flex-start;text-decoration:underline;text-underline-offset:5px}
.hero-float{background:transparent;border:0;border-radius:0;box-shadow:none;color:white;left:28px;right:28px;bottom:78px!important;padding:0;display:block}
.hero-float>.slide-copy{margin:0;font-size:inherit}.hero-float strong{font-size:25px;line-height:1.3;margin-bottom:7px}.hero-float small{font-size:13px;color:#eee}
.hero-slide:after{background:linear-gradient(180deg,transparent 35%,#000c 100%)}
.slider-controls{left:28px;right:28px;bottom:17px;gap:12px;border-top:1px solid #ffffff60;padding-top:9px}
.slider-position{color:#fff;font-size:12px;white-space:nowrap}.slider-arrows{gap:14px}
.slider-controls button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:0;background:transparent;min-width:44px;width:auto;height:44px;padding:0 3px;font-size:12px;line-height:1.2;font-weight:600}
.slider-controls button:hover{background:transparent;text-decoration:underline;text-underline-offset:5px}
.page-jumps{gap:0 24px}.page-jumps a{border:0;border-radius:0;background:none;padding:14px 0;border-bottom:1px solid #bdbdbd;font-size:12px;min-height:44px}
@media(max-width:980px){
 .header-inner{min-height:80px;flex-wrap:wrap}.js .header-inner{flex-wrap:nowrap}.header-cta{display:none}.logo img{width:120px}
 .js .header .menu-toggle{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:46px;min-width:94px;padding:10px 12px;border:1px solid #c9c9c9;border-radius:3px;background:#fff;font-size:14px;font-weight:600;color:#1f1f1f}
 .menu-glyph{display:flex;width:20px;height:18px;flex-direction:column;justify-content:center;gap:6px}.menu-glyph>span{display:block;width:20px;height:1.5px;background:currentColor;transition:transform .15s}
 .menu-toggle[aria-expanded=true] .menu-glyph{gap:0}.menu-toggle[aria-expanded=true] .menu-glyph>span:first-child{transform:translateY(.75px) rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-glyph>span:last-child{transform:translateY(-.75px) rotate(-45deg)}
 .header .nav{display:flex;flex-direction:column;align-items:stretch;gap:0;justify-content:flex-start;padding:14px 24px 24px;width:100%;background:#fff}
 .js .header .nav{display:none;position:absolute;left:0;right:0;top:100%;max-height:var(--menu-room,calc(100dvh - 80px));overflow-y:auto;overscroll-behavior:contain;border-top:1px solid #e1e1e1;border-bottom:1px solid #ccc;padding-bottom:max(24px,env(safe-area-inset-bottom))}
 .js .header .nav.is-open{display:flex}.header .nav a{display:flex;align-items:center;min-height:56px;padding:13px 12px;border-bottom:1px solid #e5e5e5;font-size:18px;font-weight:600;line-height:1.5}
 .header .nav a[aria-current=page]{border-left:3px solid var(--red);padding-left:9px}.header .nav a:last-child{border-bottom:0}
 .menu-backdrop:not([hidden]){display:block;position:fixed;inset:var(--menu-top,80px) 0 0;background:#0006;z-index:35;border:0;padding:0;width:100%}
 .menu-open{overflow:hidden}.menu-open .mobile-contact{visibility:hidden}
}
@media(max-width:740px){
 .topbar .wrap{font-size:9px;letter-spacing:0}.header-inner{min-height:76px}.hero-layout{padding-top:12px;gap:22px}.hero-modern .hero-content{padding-top:15px}
 .hero-modern .eyebrow{font-size:9px;letter-spacing:.07em;margin-bottom:19px}.hero-modern h1{font-size:clamp(39px,11.2vw,52px);line-height:1.09;letter-spacing:-.045em;margin-bottom:21px}
 .hero-modern p.lead{font-size:15px;margin-bottom:23px}.hero-modern .actions{gap:12px 20px;align-items:center}.hero-modern .text-link{font-size:12px;padding:12px 0;text-decoration:underline;text-underline-offset:5px}
 .button{min-height:48px;font-size:13px;padding:13px 18px}.hero-visual{min-height:340px;border-radius:4px}.hero-float{left:20px;right:20px;bottom:78px!important}.hero-float strong{font-size:22px}.hero-float small{font-size:12px}
 .slider-controls{left:20px;right:20px;bottom:10px}.slider-arrows{gap:10px}.slider-controls button{font-size:12px;min-width:44px;height:44px}.slider-position{font-size:11px}
 .home-entry-grid{gap:0}.home-entry{background:none;border:0;border-top:1px solid #ccc;border-radius:0;padding:23px 0;min-height:0}.home-entry:hover{transform:none;box-shadow:none}.home-entry h3{font-size:22px}.home-entry p{margin-bottom:16px}.entry-link{font-size:13px}
 .home-workshop-grid>img,.editorial-intro img,.editorial-image img{border-radius:4px}.home-workshop-grid h2,.home-contact h2{font-size:31px}
 .service-detail{border-radius:4px}.service-detail h2{font-size:25px}.service-detail li:before,.plain-checks li:before{content:none}.service-detail li,.plain-checks li{padding-left:0}
 .page-jumps{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;gap:22px;padding-top:8px;padding-bottom:5px}.page-jumps a{flex:0 0 auto;white-space:nowrap;font-size:13px}
 .contact-email-fallback,.form-card{border-radius:4px;box-shadow:none}.route-link>svg{display:none}.contact-email{font-size:21px;letter-spacing:-.025em}.contact-info h3{font-size:11px}.contact-info p{font-size:14px}
 .mobile-contact a{font-size:13px;min-height:54px}.footer-links{flex-wrap:wrap;gap:20px}.footer-bottom{font-size:12px}
}
@media(prefers-reduced-motion:reduce){.menu-glyph>span{transition:none}}
