.mobile-heading,.mobile-dots,.mobile-break-space,.mobile-only{display:none}
.mobile-track,.benefits-grid,.process-grid{display:contents}
@media(max-width:1023px){
  :root{--stage-width:100%}
  body{width:100%;zoom:1;font-size:14px;line-height:22px}
  .stage{width:100%;max-width:640px;height:auto;margin:auto}
  .services,.contact,.about,.projects,.process,.engineering,.estimate,.footer{height:auto}
  .hero{height:813px}
  .hero .stage{height:100%;max-width:none}
  .hero-photo{inset:0;width:100%;height:100%}
  .hero-photo>img{object-position:59% center}
  .hero-photo::after{background:linear-gradient(90deg,rgba(0,0,0,.32),rgba(0,0,0,.12))}
  .header-logo{left:16px;top:26px;width:68.31px;height:72px}
  .header>nav:not(.menu-panel){display:none}
  .menu-toggle{left:auto;right:10px;top:24px;width:48px;height:44px}
  .menu-toggle .menu-icon{width:35px;height:19px}
  .menu-panel{left:16px;right:16px;top:108px;min-width:0;padding:16px 24px;box-shadow:0 12px 30px #0004}
  .menu-panel a{min-height:44px;display:flex;align-items:center;font-size:16px}
  .hero-pager{left:8px;top:162px}
  .hero-pager a{height:36px;padding-bottom:12px}
  .hero-pager a::before{top:-5px;height:9px}
  .hero-pager a::after{top:26px;height:9px}
  .hero-title{left:16px;top:350px;width:calc(100% - 32px);font-size:40px;line-height:53px;white-space:normal}
  .desktop-heading{display:none}.mobile-heading{display:inline}
  .mobile-break-space{display:inline}
  .desktop-only{display:none}.mobile-only{display:inline}
  .hero-copy{left:16px;top:486px;width:min(305px,calc(100% - 32px));font-size:14px;line-height:23px;white-space:normal}
  .hero-cta{left:16px;top:638px;width:calc(100% - 32px);height:54px;justify-content:center;padding:0}
  .hero-cta>img{right:18%;width:27px}
  .services .stage,.about .stage,.projects .stage,.process .stage{padding:40px 16px}
  .services-number,.services-label,.about-number,.about-label,.projects-number,.projects-label,.process-number,.process-label{
    position:static;display:inline-block;width:auto;font:400 12px/15px Inter,Arial,sans-serif;vertical-align:top
  }
  .services-label,.about-label,.projects-label,.process-label{margin-left:15px}
  .services-title,.about-title,.trust-title,.projects-title,.process-title,.engineering-title,.estimate-title{
    position:static;width:auto;white-space:normal;font-size:36px;line-height:48px
  }
  .services-title{margin-top:39px;line-height:45px}
  .services-copy,.about-copy,.trust-copy,.projects-copy,.process-copy,.engineering-copy,.estimate-copy{
    position:static;width:auto;white-space:normal;font-size:14px;line-height:22px
  }
  .services-copy{margin-top:36px}
  .services-copy br,.about-title br,.about-copy br,.trust-copy br,.projects-copy br,.process-copy br,.estimate-copy br{display:none}
  .services-link,.services-arrow{display:none}
  .mobile-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:16px;overscroll-behavior-x:contain}
  .mobile-track::-webkit-scrollbar{display:none}
  .services-track{margin-top:24px}
  .services-track .service-card{position:relative;inset:auto;flex:0 0 100%;width:100%;height:auto;aspect-ratio:343/424;scroll-snap-align:center;transform:none}
  .service-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  .service-card span{left:26px;right:auto;bottom:28px;font-size:16px;line-height:20px}
  .mobile-dots{display:flex;justify-content:center;gap:0;margin-top:0;height:44px;align-items:center}
  .mobile-dots button,.gallery-dots button{position:relative;width:24px;height:44px;background:none;border-radius:0}
  .mobile-dots button::after,.gallery-dots button::after{content:"";position:absolute;left:8px;top:18px;width:8px;height:8px;background:#d9d9d9;border-radius:50%}
  .mobile-dots button.active::after,.gallery-dots button.active::after{background:var(--accent)}
  .contact .stage{padding:0 16px 46px}
  .contact-photo{position:relative;left:-16px;top:auto;width:calc(100% + 32px);height:auto;aspect-ratio:375/164}
  .contact-photo img{position:absolute;width:152.45%;height:116.46%;left:-16.49%;top:-7.32%}
  .contact-title{position:static;width:auto;white-space:normal;margin-top:26px;font-size:24px;line-height:32px}
  .contact-copy{position:static;width:auto;white-space:normal;margin-top:22px;font-size:14px;line-height:22px}
  .contact form,.estimate form{display:grid;gap:18px;margin-top:28px}
  .contact input,.estimate input,.estimate select,.contact-submit,.estimate-submit{position:static;width:100%;height:54px;font-size:16px}
  .contact-submit,.estimate-submit{font-size:15px}
  .form-status{position:static;width:auto;max-width:none}
  .about-title{margin-top:21px}
  .about-copy{margin-top:36px}
  .gallery{position:relative;margin:44px -16px 0;height:auto}
  .gallery-window{position:relative;left:0;top:0;width:100%;height:auto;aspect-ratio:375/280;touch-action:pan-y}
  .gallery-window .gallery-main{position:absolute;inset:0}
  .gallery-main>img{object-position:14% center}
  .gallery-left,.gallery-right{display:none}
  .gallery-prev,.gallery-next{top:calc((100% - 44px)/2 - 22px);width:44px;height:44px;display:grid;place-items:center}
  .gallery-prev{left:0}.gallery-next{left:auto;right:0}
  .gallery-prev .gallery-prev-icon,.gallery-next .gallery-next-icon{width:9px;height:32px;opacity:.7}
  .gallery-dots{position:static;display:flex;justify-content:center;gap:0;height:44px}
  .gallery-dots .active{background:none}
  .trust-title{margin-top:34px}
  .trust-copy{margin-top:30px}
  .benefits-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:24px;row-gap:50px;margin-top:42px}
  .benefit{position:relative;min-width:0}
  .benefit:nth-child(even)::before{content:"";position:absolute;left:-12px;top:0;bottom:0;width:1px;background:#b8956a55}
  .benefit>img{position:static;width:auto;height:36px;max-width:44px}
  .benefit h3{position:static;width:auto;white-space:normal;margin-top:28px;min-height:40px;font-size:14px;line-height:20px}
  .benefit p{position:static;width:auto;white-space:normal;margin-top:14px;font-size:14px;line-height:20px}
  .benefit-divider-1,.benefit-divider-2,.benefit-divider-3,.benefit-divider-4{display:none}
  .trust-link{position:relative;inset:auto;width:100%;height:54px;margin-top:52px;justify-content:center;padding:0}
  .trust-link>img{left:auto;right:18%;width:27px}
  .about .stage{display:flex;flex-direction:column}
  .about-number{position:absolute;left:16px;top:40px}.about-label{margin-left:33px}
  .trust-link{order:1}
  .projects .stage{padding-top:26px;padding-bottom:28px}
  .projects-title{margin-top:21px}
  .projects-copy{margin-top:30px}
  .projects-track{margin:42px -16px 0}
  .projects-track figure{position:relative;flex:0 0 100%;min-width:0;height:424px;overflow:hidden;scroll-snap-align:center}
  .projects-track figure>div{position:absolute;inset:0;width:100%;height:100%}
  .projects-track figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  .projects-track figure>div::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 50%,#0008)}
  .projects-track figure:first-child img{object-position:12% center}
  .projects-track figcaption{position:absolute;left:16px;top:auto;bottom:57px;width:calc(100% - 32px);font-size:14px;line-height:25px;color:#fff;white-space:normal}
  .projects-track figure>p{position:absolute;left:16px;top:auto;bottom:32px;width:calc(100% - 32px);font-size:10px;line-height:25px;color:#fff;white-space:normal;opacity:1}
  .process-title{margin-top:21px}
  .process-copy{margin-top:30px}
  .process-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 24px;margin-top:32px}
  .process-grid article>*{position:static;width:auto;white-space:normal}
  .process-grid article>span{display:none}
  .process-grid article>img{width:auto;height:36px;margin:18px 0}
  .process-grid article>h3{font-size:14px;line-height:20px}
  .process-grid article>p:last-of-type{font-size:14px;line-height:20px;margin-top:14px}
  .process-link{position:relative;inset:auto;display:inline-flex;align-items:center;width:auto;min-height:44px;margin-top:28px;padding-right:54px;font-size:14px;white-space:normal}
  .process-arrow{position:relative;left:auto;top:auto;display:inline-block;vertical-align:middle;margin-left:-44px}
  .engineering .stage{padding:40px 16px}
  .engineering-title{font-size:32px;line-height:42px}
  .engineering-copy{margin-top:24px}
  .engineering-grid{position:static;display:grid;grid-template-columns:minmax(0,1fr);grid-auto-rows:auto;gap:36px;margin-top:36px}
  .engineering-image{width:100%;height:auto;aspect-ratio:384/252}
  .engineering-grid h3{font-size:16px;line-height:22px}
  .engineering-grid p{font-size:14px;line-height:22px}
  .estimate .stage{padding:40px 16px}
  .estimate-label{position:static;width:auto;font-size:12px;line-height:16px}
  .estimate-title{margin-top:24px;font-size:32px;line-height:42px}
  .estimate-copy{margin-top:24px}
  .estimate form{margin-top:32px}
  .footer .stage{padding:32px 16px;display:grid;grid-template-columns:1fr 1fr;gap:20px}
  .footer-logo,.footer nav a,.footer-phone,.footer-hours,.footer-social{position:static;width:auto;white-space:normal}
  .footer-logo{width:68px;height:72px}
  .footer nav{display:grid;gap:4px}
  .footer nav a{display:flex;align-items:center;min-height:44px;font-size:14px}
  .footer-phone,.footer-hours{grid-column:1/-1}
  .footer-phone{font-size:16px}.footer-hours{margin-top:-16px}
  .footer-social{grid-column:1/-1;width:145px;height:28px}
  @media(hover:none){.contact-submit:hover,.estimate-submit:hover{box-shadow:none;font-size:15px}}
}
@media(min-width:600px) and (max-width:1023px){
  .engineering-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(prefers-reduced-motion:reduce){.mobile-track{scroll-behavior:auto}}
