/* Final responsive layer. Reference screenshots were captured on a Retina iPhone;
   dimensions below use browser CSS pixels, not screenshot pixels. */
html,body{max-width:100%;overflow-x:hidden}img{max-width:100%}

@media (max-width:600px){
  .site-header{width:100%;height:145px!important;padding:18px 18px 14px!important;display:grid!important;grid-template-columns:52px 1fr 52px!important;grid-template-rows:78px 35px!important;gap:0!important;position:relative!important}
  .logo{grid-column:2!important;grid-row:1!important;width:66px!important;height:72px!important;justify-self:center!important;align-self:center!important}
  .menu-toggle{display:flex!important;grid-column:1!important;grid-row:1!important;align-self:end!important;margin-bottom:15px!important;gap:5px!important}.menu-toggle span{width:28px!important;height:3px!important}
  .header-phone{grid-column:1/4!important;grid-row:2!important;align-self:center!important;justify-self:center!important;margin:0!important;font-size:20px!important;line-height:1!important}

  .hero{width:100%;height:min(660px,calc(100svh - 145px))!important;min-height:520px!important;background-size:cover!important;background-position:center!important}.hero h1{font-size:clamp(30px,9vw,38px)!important;line-height:1.55!important;margin:0 0 38px!important}.hero p{font-size:clamp(16px,4.8vw,20px)!important;line-height:1.75!important;margin:0!important}
  .services-cards{width:100%!important;padding:28px 16px 38px!important;min-height:0!important}.cards{width:100%!important;gap:24px!important}.cards article{width:100%!important;height:auto!important;min-height:380px!important;padding:36px 22px 22px!important;border-bottom-width:6px!important}.cards i{font-size:42px!important}.cards h3{font-size:20px!important;margin:22px 0 8px!important}.cards h4{font-size:17px!important;margin:0 0 20px!important}.cards p{font-size:15px!important;line-height:1.65!important}.cards a{font-size:14px!important;padding-top:28px!important}
  .equipment,.equipment-photos,.equipment-copy{width:100%!important}.equipment-photos{height:auto!important;aspect-ratio:1.5/1!important}.equipment-photos img:nth-child(2){width:100%!important;height:100%!important;object-fit:cover!important}.equipment-copy{display:block!important;height:auto!important;object-fit:contain!important}
  .atouts{width:100%!important;padding:42px 20px 32px!important;min-height:0!important}.atouts h2{font-size:clamp(30px,8vw,36px)!important;line-height:1.35!important;margin-bottom:22px!important}.atouts h3,.atouts-intro p,.atouts-intro li{font-size:15px!important;line-height:1.65!important}.atouts ul{padding-left:27px!important;margin:10px 0 18px!important}.atouts-intro p{margin:22px 0!important}.atouts-intro .pill{margin:18px 0 42px!important}.pill{width:100%!important;min-width:0!important;max-width:100%!important;height:58px!important;font-size:17px!important;border-width:2px!important}.atouts-list details{margin-bottom:25px!important}.atouts-list summary{font-size:15px!important;line-height:1.5!important;gap:12px!important}.atouts-list summary:before{width:35px!important;height:35px!important;flex-basis:35px!important;font-size:30px!important}.atouts-list p{margin:9px 0 0 47px!important;font-size:14px!important;line-height:1.6!important}

  .page-hero{width:100%!important;height:212px!important;padding:0 16px!important;background-size:cover!important}.page-hero h1{font-size:clamp(31px,9vw,40px)!important}.about-content{width:100%!important;padding:38px 16px 28px!important;gap:30px!important}.about-copy h2{font-size:clamp(29px,8.2vw,36px)!important;line-height:1.55!important;margin:0 0 28px!important}.about-copy p{font-size:16px!important;line-height:1.65!important;margin:0 0 23px!important}.about-copy .pill{margin:8px 0 18px!important}.about-photo img{width:100%!important;height:auto!important;aspect-ratio:auto!important;object-fit:contain!important}.about-photo p{font-size:15px!important;line-height:1.6!important}
  .contact-hero{width:100%!important;height:auto!important;aspect-ratio:750/405!important;background-size:100% 100%!important;background-repeat:no-repeat!important}.contact-content{width:100%!important;padding:40px 16px 55px!important;gap:38px!important}.contact-info h2{font-size:clamp(29px,8.5vw,36px)!important;margin:0 0 24px!important}.contact-info p{font-size:16px!important;line-height:2!important;margin:0!important}.map{width:100%!important;height:auto!important;object-fit:contain!important}
  .services-intro{width:100%!important;padding:38px 20px!important}.services-intro h1{font-size:30px!important;margin-bottom:25px!important}.services-intro p{font-size:15px!important;line-height:1.65!important}.services-page .service-block{width:100%!important;padding:0!important;display:block!important}.service-block.repair:before,.service-block.advice:before,.service-block.course:before,.service-block.creation:before{width:100%!important;min-height:0!important;aspect-ratio:1.5/1!important;background-size:cover!important;background-position:center!important}.service-block div{width:100%!important;max-width:none!important;padding:38px 20px!important}.services-page .service-block h2{font-size:30px!important;line-height:1.35!important;margin-top:0!important}.services-page .service-block h3{font-size:17px!important;line-height:1.45!important}.services-page .service-block p,.services-page .service-block li{font-size:15px!important;line-height:1.6!important}.service-block .pill{margin-top:24px!important}
  footer{width:100%!important;min-height:0!important;padding:48px 20px 42px!important}footer section{margin-bottom:44px!important}footer section:last-child{margin-bottom:0!important}footer h2{font-size:20px!important;margin-bottom:20px!important}footer p{font-size:15px!important;line-height:2!important;margin-bottom:22px!important}footer .pill{width:100%!important;min-width:0!important;height:58px!important;font-size:17px!important}.social{font-size:27px!important}.top{width:48px!important;height:48px!important;right:12px!important;bottom:20px!important;font-size:45px!important}
  .site-header nav{display:flex!important;position:fixed!important;z-index:100!important;inset:0 22% 0 0!important;height:100vh!important;transform:translateX(-105%)!important;transition:transform .25s ease!important;background:linear-gradient(110deg,#477bd1,#42b7df)!important;flex-direction:column!important;align-items:flex-start!important;gap:0!important;padding:50px 18px 28px!important;box-shadow:none!important;overflow:auto!important}.site-header.open nav{display:flex!important;top:0!important;right:22%!important;padding:50px 18px 28px!important;transform:translateX(0)!important;box-shadow:none!important}.site-header nav a,.site-header nav .services-toggle,.site-header nav .services-toggle.active{font-size:20px!important;line-height:1.3!important;padding:12px 0 9px!important;color:#fff!important}.menu-close{display:block!important;font-size:39px!important;margin-bottom:10px!important}.site-header nav .subnav.open{display:block!important;position:static!important;min-width:0!important;background:transparent!important;box-shadow:none!important;padding:6px 0 7px 14px!important}.subnav a{font-size:16px!important;padding:8px 0!important}.drawer-phone{display:flex!important;height:58px!important;margin-top:23px!important;font-size:16px!important}
}

/* Half-width desktop remains a desktop layout, like the supplied MacBook references. */
@media (min-width:601px) and (max-width:760px){
  .site-header{height:134px!important;display:flex!important;padding:0 5%!important;gap:22px!important;position:sticky!important}.menu-toggle{display:none!important}.logo{width:74px!important;height:92px!important}.site-header nav{display:flex!important;position:relative!important;inset:auto!important;height:auto!important;transform:none!important;background:#fff!important;flex-direction:row!important;align-items:center!important;gap:20px!important;padding:0!important;box-shadow:none!important;overflow:visible!important}.site-header nav a,.site-header nav .services-toggle,.site-header nav .services-toggle.active{color:#080808!important;font-size:15px!important;padding:0!important;border:0!important}.site-header nav .active,.site-header nav .services-toggle.active{color:var(--blue)!important;border-bottom:3px solid var(--blue)!important;padding-bottom:13px!important}.site-header nav .subnav.open{display:flex!important;position:absolute!important;top:34px!important;left:70px!important;min-width:260px!important;background:#fff!important;box-shadow:0 5px 14px #0003!important;padding:10px 15px!important}.site-header nav .subnav.open a{font-size:14px!important;padding:8px 0!important}.menu-close,.drawer-phone{display:none!important}.header-phone{font-size:16px!important}.header-phone b{font-size:18px!important;margin-right:7px!important}
}
