html,body{overflow-x:hidden}body{overflow-wrap:anywhere}.button,.feedback-submit,.referral-submit{min-height:44px}input,textarea{min-height:44px;font-size:16px;font-family:inherit}

@media(max-width:920px){
  .menu{display:block;width:48px;height:48px;padding:0;border:0;background:none;color:var(--blue);font-size:30px;line-height:1;cursor:pointer}
  .nav{position:relative;min-height:72px;padding:14px 20px}.logo{width:230px;height:auto}
  .links{display:none;position:absolute;z-index:20;top:100%;left:0;right:0;margin:0;padding:8px 20px 18px;background:#fff;box-shadow:0 8px 10px #0002;flex-direction:column}
  .links.open{display:flex}.links li{width:100%}.links a{display:block;min-height:48px;padding:14px 0 10px;border-bottom:1px solid #e5e5e5}
  .top div{grid-template-columns:repeat(2,1fr);font-size:13px}.top .email{display:none}
  .columns,.forms,.quote-section .forms,.contact,.contact-original-grid,.feedback-top-grid{grid-template-columns:minmax(0,1fr);gap:32px}
  .forms>*{min-width:0;width:100%}
  .service-grid-original{grid-template-columns:1fr}.service-card-wide{grid-column:auto}
  .service{grid-template-columns:1fr}.service:nth-child(even) img{order:0}
  .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.reviews{columns:1}
  .foot{flex-direction:column;align-items:center;gap:10px;text-align:center}
}

@media(max-width:600px){
  .top div{grid-template-columns:1fr;padding:0;font-size:13px}.top a{min-height:44px;padding:8px 12px;gap:8px}.top a+a{border-top:1px solid #ffffff55}.top a img{width:16px;height:16px;flex-basis:16px}
  .nav{padding:10px 16px}.logo{width:190px}.links{padding-left:18px;padding-right:18px}
  .hero{height:58vw;min-height:270px;max-height:350px}.slide{background-position:55% center}.caption{padding:15px 16px;font-size:clamp(15px,4.3vw,18px);line-height:1.35}
  main section{padding:42px 18px}h1{font-size:clamp(22px,6.5vw,26px);margin-bottom:30px}
  .intro-swirl{padding:48px 18px 62px}.intro-copy h1{font-size:clamp(22px,6.5vw,26px)}.intro-copy p{font-size:16px}.facebook-band{padding:42px 18px}.arrow-link{margin-left:36px}
  .dark,.card,.contact-details-card,.contact-form-card,.feedback-blue-box{padding:24px 20px}.quote-section .forms{display:grid;grid-template-columns:minmax(0,1fr);gap:28px}.quote-section .forms>.card{width:100%;min-width:0;margin:0}
  .button,.feedback-submit,.referral-submit{display:inline-flex;align-items:center;justify-content:center;width:100%}
  .services-content,.services-heading,.feedback-intro,.feedback-list-section,.contact-content{padding-left:16px;padding-right:16px}
  .service-grid-original{gap:22px}.service-copy{padding:22px 20px 28px}.service-copy h2{font-size:20px}.service-copy p{font-size:16px;text-align:left}.service-card>img,.service img{height:auto;aspect-ratio:16/10}
  .gallery{gap:7px}.gallery img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover}
  .contact-original-grid{gap:20px}.contact-coverage-card h2,.contact-coverage-card p{margin-left:20px;margin-right:20px}.contact-map iframe{height:230px}
  .feedback-words{padding:22px 20px 14px}.feedback-words p{font-size:16px}.covid-copy p{font-size:17px}.covid-policy-banner{font-size:16px;padding:20px 16px}
  .strap{padding:18px 14px;font-size:13px;line-height:1.5}
  .partners{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));justify-items:center;gap:26px 20px;padding:30px 20px}.partners img{width:auto;max-width:105px;max-height:66px}.partners img:last-child{grid-column:1/-1}
  .lightbox{grid-template-columns:42px minmax(0,1fr) 42px}
}

@media(max-width:360px){
  .logo{width:170px}.hero{min-height:250px}.gallery{grid-template-columns:1fr}.partners{grid-template-columns:1fr}.partners img:last-child{grid-column:auto}
}

@media(prefers-reduced-motion:reduce){.slide{animation:none;opacity:0}.slide:first-child{opacity:1}}
