@media(max-width:1050px){
  .nav-wrap{grid-template-columns:130px 1fr auto}
  .brand img{width:130px}
  .site-nav{gap:18px}
  .hero-logo{display:none}
  .difference-dashboard-grid{grid-template-columns:1fr}
}
@media(max-width:850px){
  .topbar-inner{justify-content:center}
  .topbar span{display:none}
  .menu-toggle{display:block}
  .nav-wrap{grid-template-columns:100px 1fr auto}
  .brand img{width:100px;height:85px;margin:0}
  .site-nav{position:absolute;left:20px;right:20px;top:100%;background:#fff;box-shadow:var(--shadow);border-radius:18px;padding:20px;display:none;flex-direction:column;align-items:stretch}
  .site-nav.open{display:flex}
  .nav-cta .btn{display:none}
  .phone-link{font-size:.85rem}
  .services-grid{grid-template-columns:repeat(2,1fr)}
  .trust-strip-grid{grid-template-columns:repeat(2,1fr)}
  .gallery-grid{grid-template-columns:1fr}
}
@media(max-width:650px){
  .container{width:min(100% - 28px,1210px)}
  .section-pad{padding:66px 0}
  .topbar{font-size:.72rem}
  .nav-wrap{min-height:74px}
  .nav-cta{display:none}
  .hero{min-height:690px;background-position:62% center}
  .hero-content{min-height:690px;align-items:flex-end}
  .hero-overlay{background:linear-gradient(180deg,rgba(3,16,30,.45),rgba(3,16,30,.95) 55%)}
  .hero-copy{padding:120px 0 36px}
  .hero-actions{flex-direction:column}
  .hero-actions .btn{width:100%}
  h1{font-size:3.85rem}
  .steps-row{grid-template-columns:repeat(2,1fr);gap:20px}
  .steps-row:before{display:none}
  .dashboard-cards{grid-template-columns:1fr 1fr}
  .dashboard-cards article:nth-child(2){border-right:0}
  .dashboard-cards article{border-bottom:1px solid rgba(255,255,255,.18)}
  .trust-strip-grid,.services-grid,.footer-grid{grid-template-columns:1fr}
  .trust-strip article{border-right:0;border-bottom:1px solid #c9dceb}
  .cta-inner,.footer-bottom{flex-direction:column;align-items:flex-start}
  .mobile-actions{position:fixed;display:grid;grid-template-columns:1fr 1fr;left:10px;right:10px;bottom:10px;z-index:60;border-radius:14px;overflow:hidden;box-shadow:var(--shadow)}
  .mobile-actions a{text-align:center;padding:13px;text-decoration:none;font-weight:800;color:#fff}
  .mobile-actions a:first-child{background:var(--navy)}
  .mobile-actions a:last-child{background:var(--blue)}
  body{padding-bottom:70px}
}

@media(max-width:900px){
  .project-featured{grid-template-columns:1fr}
  .comparison-featured{min-height:420px}
  .projects-grid,.gallery-projects{grid-template-columns:1fr}
}
@media(max-width:650px){
  .comparison-featured{min-height:330px}
  .project-featured .project-copy{padding:28px}
  .project-featured .project-copy h3{font-size:2.3rem}
  .comparison-handle span{width:42px;height:42px}
}

@media(max-width:950px){
  .why-grid,.about-story-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
  .why-points,.about-values{grid-template-columns:1fr}
  .service-area-card{padding:26px}
  .service-area-card h2{font-size:3rem}
  .about-story-card{padding:28px}
  .about-story-card h2{font-size:2.7rem}
  .about-cta{flex-direction:column;align-items:flex-start}
}


@media(max-width:650px){
  .custom-service-map{border-radius:16px}
}

@media(max-width:950px){
  .visit-timeline{grid-template-columns:repeat(3,1fr);row-gap:32px}
  .visit-timeline::before{display:none}
  .service-detail-grid{grid-template-columns:1fr}
  .service-detail-wide{grid-column:auto}
}
@media(max-width:650px){
  .visit-timeline{grid-template-columns:1fr 1fr}
  .services-hero{padding:84px 0 66px}
  .service-detail-card{padding:24px}
  .service-detail-card h2{font-size:2.25rem}
}

@media(max-width:1050px){
  .review-track{grid-auto-columns:calc((100% - 18px)/2)}
  .footer-grid-premium{grid-template-columns:1.4fr 1fr 1fr}
  .footer-grid-premium>div:last-child{grid-column:2/4}
}
@media(max-width:800px){
  .reviews-intro,.reviews-page-hero-grid{grid-template-columns:1fr}
  .rating-summary,.reviews-hero-rating{justify-self:start}
  .review-page-grid{grid-template-columns:1fr}
  .footer-cta{align-items:flex-start;flex-direction:column}
}
@media(max-width:650px){
  .review-track{grid-auto-columns:100%}
  .review-arrow{display:none}
  .review-slide,.review-page-card{padding:22px}
  .review-card-top{grid-template-columns:auto 1fr}
  .review-stars{grid-column:2}
  .footer-grid-premium{grid-template-columns:1fr}
  .footer-grid-premium>div:last-child{grid-column:auto}
}

@media(max-width:1000px){
  .quote-page-hero-grid,.quote-builder-layout{grid-template-columns:1fr}
  .quote-sidebar{position:static}
}
@media(max-width:760px){
  .service-choice-grid,.condition-choice-grid{grid-template-columns:1fr 1fr}
  .quote-field-grid,.quote-summary{grid-template-columns:1fr}
  .summary-item.full{grid-column:auto}
  .photo-preview-list{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  .quote-page-hero{padding:78px 0 60px}
  .quote-hero-card{display:none}
  .quote-app,.quote-sidebar{padding:22px}
  .quote-step-heading h2{font-size:2.45rem}
  .service-choice-grid,.pool-choice-grid,.condition-choice-grid,.contact-choice-grid{grid-template-columns:1fr}
  .choice-card.compact{min-height:105px}
  .checkbox-grid{grid-template-columns:1fr}
  .quote-navigation{position:sticky;bottom:68px;z-index:10;margin-inline:-22px;margin-bottom:-22px;padding:16px 22px;background:rgba(255,255,255,.96);backdrop-filter:blur(10px)}
  .quote-navigation .btn{flex:1;padding-inline:10px}
}

@media(max-width:1050px){
  .owner-home-grid,.owner-hero-grid{grid-template-columns:1fr}
  .owner-hero-grid{padding-top:60px}
  .owner-hero-photo{max-width:720px}
  .core-values-grid{grid-template-columns:repeat(3,1fr)}
  .owner-timeline{grid-template-columns:repeat(3,1fr);row-gap:34px}
  .owner-timeline::before{display:none}
}
@media(max-width:700px){
  .owner-home-photo img{height:420px}
  .owner-home-copy blockquote{font-size:1.7rem}
  .owner-hero-grid{min-height:auto}
  .owner-hero-photo img{height:460px}
  .story-chapter{grid-template-columns:64px 1fr;gap:16px}
  .story-number{font-size:2.8rem}
  .core-values-grid{grid-template-columns:1fr}
  .owner-timeline{grid-template-columns:1fr 1fr}
  .customer-voice-grid{grid-template-columns:1fr}
  .customer-voice-grid blockquote{font-size:2rem}
  .owner-promise-section{padding:76px 0}
}

@media(max-width:1000px){
  .showcase-hero-grid{grid-template-columns:1fr}
  .showcase-summary-card{grid-template-columns:repeat(3,1fr)}
  .showcase-summary-card div{border-bottom:0;border-right:1px solid rgba(255,255,255,.14)}
  .showcase-summary-card div:last-child{border-right:0}
  .showcase-project{grid-template-columns:1fr}
  .showcase-comparison{min-height:430px}
  .project-story-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .showcase-toolbar,.project-library-inner{align-items:flex-start;flex-direction:column}
  .project-filters{justify-content:flex-start}
  .showcase-project-body{padding:26px}
  .showcase-project-heading{flex-direction:column}
  .showcase-project-heading h2{font-size:2.5rem}
  .project-facts{grid-template-columns:1fr}
  .project-modal-dialog{inset:2vh 12px}
  .project-modal-scroll{padding:56px 22px 30px}
  .project-modal-images{grid-template-columns:1fr}
  .project-modal-images img{height:280px}
  .project-modal-cta{align-items:flex-start;flex-direction:column}
}
@media(max-width:560px){
  .showcase-hero{padding:78px 0 60px}
  .showcase-summary-card{grid-template-columns:1fr}
  .showcase-summary-card div{border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}
  .showcase-comparison{min-height:320px}
  .project-modal-content h2{font-size:3rem}
}

@media(max-width:1100px){
  .premium-trust-grid{grid-template-columns:repeat(3,1fr)}
  .premium-trust-grid article:nth-child(3){border-right:0}
  .brand-promise-grid{grid-template-columns:repeat(3,1fr)}
  .future-feature-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:900px){
  .premium-process-grid{grid-template-columns:repeat(2,1fr);row-gap:34px}
  .premium-process-grid::before{display:none}
}
@media(max-width:700px){
  .premium-trust-grid{grid-template-columns:1fr}
  .premium-trust-grid article{border-right:0;border-bottom:1px solid var(--line)}
  .premium-trust-grid article:last-child{border-bottom:0}
  .brand-promise-grid,.future-feature-grid{grid-template-columns:1fr}
  .premium-process-grid{grid-template-columns:1fr}
  .brand-promise-section{padding:76px 0}
  .future-feature-grid article{min-height:auto;padding-bottom:70px}
}

@media(max-width:950px){
  .launch-check-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .launch-dashboard{padding:48px 0}
  .launch-score-card{flex-direction:column}
}

@media(max-width:900px){
  .legal-layout{grid-template-columns:1fr}
  .legal-summary{position:static}
}
@media(max-width:600px){
  .legal-hero{padding:72px 0 56px}
  .legal-content,.legal-summary{padding:22px}
  .footer-legal-links{display:block;margin-top:8px}
}


@media(max-width:1000px){
  .footer-trust-row{
    grid-template-columns:repeat(3,1fr);
  }
}
@media(max-width:760px){
  .floating-quote-button{
    display:none;
  }
  .footer-trust-row{
    grid-template-columns:1fr 1fr;
  }
  .footer-trust-row>span:last-child{
    grid-column:1/-1;
  }
}
@media(max-width:480px){
  .footer-trust-row{
    grid-template-columns:1fr;
  }
  .footer-trust-row>span:last-child{
    grid-column:auto;
  }
}


@media(max-width:1000px){
  .learning-hero-grid,
  .article-layout{
    grid-template-columns:1fr;
  }
  .learning-grid{
    grid-template-columns:repeat(2,1fr);
  }
  .article-sidebar{
    position:static;
  }
}
@media(max-width:760px){
  .learning-toolbar,
  .learning-help-inner,
  .split-heading{
    align-items:flex-start;
    flex-direction:column;
  }
  .learning-filters{
    justify-content:flex-start;
  }
  .learning-grid,
  .learning-home-grid{
    grid-template-columns:1fr;
  }
  .learning-card{
    min-height:auto;
  }
}
@media(max-width:560px){
  .learning-hero,
  .article-hero{
    padding:74px 0 58px;
  }
  .learning-hero-card{
    display:none;
  }
  .article-content{
    padding:24px;
  }
}


@media(max-width:1100px){
  .portal-login-grid,
  .portal-home-preview-grid{
    grid-template-columns:1fr;
  }
  .portal-login-card{max-width:520px}
  .portal-dashboard-shell{grid-template-columns:210px minmax(0,1fr)}
  .portal-summary-grid{grid-template-columns:repeat(2,1fr)}
  .portal-dashboard-grid{grid-template-columns:1fr}
  .portal-service-panel{grid-row:auto}
}
@media(max-width:820px){
  .portal-dashboard-shell{display:block}
  .portal-sidebar{
    position:static;
    height:auto;
  }
  .portal-sidebar nav{
    grid-template-columns:repeat(3,1fr);
  }
  .portal-sidebar-help{position:static;margin-top:20px}
  .portal-dashboard-header{align-items:flex-start;flex-direction:column}
}
@media(max-width:700px){
  .portal-benefit-list,
  .portal-security-strip .container,
  .portal-preview-features,
  .portal-summary-grid,
  .portal-visit-details,
  .portal-service-checklist,
  .portal-photo-grid,
  .mini-dashboard-grid{
    grid-template-columns:1fr;
  }
  .portal-sidebar nav{
    grid-template-columns:1fr 1fr;
  }
  .portal-dashboard-main{padding:22px}
}
@media(max-width:500px){
  .portal-login-section{padding:70px 0}
  .portal-login-card{padding:24px}
  .portal-sidebar nav{grid-template-columns:1fr}
  .portal-customer-chip{width:100%}
}


@media(max-width:1050px){
  .project-spotlight-grid,
  .seasonal-care-grid,
  .service-area-hero-grid,
  .service-area-page-grid,
  .location-content-grid{
    grid-template-columns:1fr;
  }
  .project-spotlight-copy{
    padding:32px;
  }
  .service-area-map-panel img{
    min-height:420px;
  }
  .location-sidebar{
    position:static;
  }
}
@media(max-width:760px){
  .seasonal-tab-buttons{
    grid-template-columns:1fr 1fr;
  }
  .seasonal-tab-buttons button{
    border-bottom:1px solid var(--line);
  }
  .location-page-grid,
  .location-service-cards{
    grid-template-columns:1fr;
  }
  .project-spotlight-comparison{
    min-height:340px;
  }
}
@media(max-width:520px){
  .seasonal-tab-buttons{
    grid-template-columns:1fr;
  }
  .seasonal-tab-panel{
    padding:24px;
  }
  .service-area-hero,
  .location-hero{
    padding:72px 0 56px;
  }
  .service-area-selector-panel{
    padding:24px;
  }
}


@media(max-width:1050px){
  .integration-layout{
    grid-template-columns:1fr;
  }
  .integration-sidebar{
    position:static;
  }
  .integration-flow{
    grid-template-columns:repeat(3,1fr);
  }
}
@media(max-width:760px){
  .quote-draft-toolbar{
    align-items:flex-start;
    flex-direction:column;
  }
  .integration-flow,
  .integration-phases{
    grid-template-columns:1fr;
  }
  .integration-table>div{
    grid-template-columns:1fr;
  }
}


@media(max-width:1000px){
  .tools-hero-grid,
  .tool-layout,
  .tools-home-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:760px){
  .troubleshooter-grid,
  .tools-home-cards{
    grid-template-columns:1fr;
  }
  .tools-cta-inner{
    align-items:flex-start;
    flex-direction:column;
  }
}
@media(max-width:560px){
  .tools-hero{
    padding:72px 0 56px;
  }
  .tools-hero-card{
    display:none;
  }
  .calculator-fields,
  .calculator-depth-grid{
    grid-template-columns:1fr;
  }
  .calculator-shape-tabs{
    grid-template-columns:1fr;
  }
}


/* Update 26 responsive header refinements */
@media(max-width:1180px){
  .nav-wrap{
    grid-template-columns:145px minmax(0,1fr) 174px;
    gap:18px;
  }
  .brand img{
    width:145px;
  }
  .nav-cta{
    width:174px;
    min-width:174px;
  }
  .header-quote-button{
    font-size:.8rem;
    padding-inline:10px;
  }
  .header-phone-link{
    font-size:.77rem;
  }
}

@media(max-width:950px){
  .nav-wrap{
    grid-template-columns:112px 1fr 168px;
  }
  .brand img{
    width:112px;
    height:88px;
  }
  .site-nav{
    gap:14px;
  }
  .site-nav a{
    font-size:.72rem;
  }
  .nav-cta{
    width:168px;
    min-width:168px;
  }
}

@media(max-width:850px){
  .nav-wrap{
    grid-template-columns:100px 1fr 155px;
  }
  .nav-cta{
    width:155px;
    min-width:155px;
  }
  .nav-cta .header-quote-button{
    display:flex;
    min-height:46px;
    font-size:.74rem;
  }
  .header-phone-link{
    font-size:.72rem;
  }
}

@media(max-width:650px){
  .nav-wrap{
    grid-template-columns:92px 1fr auto;
  }
  .nav-cta{
    display:none;
  }
}


/* Update 27: Header fit adjustments before the mobile menu breakpoint */
@media(max-width:1280px){
  .nav-wrap{
    grid-template-columns:142px minmax(0,1fr) 178px;
    gap:14px;
  }
  .brand img{
    width:142px;
  }
  .site-nav{
    gap:11px;
  }
  .site-nav a{
    font-size:.68rem;
  }
  .nav-cta{
    width:178px;
    min-width:178px;
  }
  .header-quote-button{
    padding-inline:9px;
    font-size:.77rem;
  }
  .header-phone-link{
    font-size:.74rem;
  }
}

@media(max-width:1120px){
  .nav-wrap{
    grid-template-columns:122px minmax(0,1fr) 166px;
    gap:10px;
  }
  .brand img{
    width:122px;
  }
  .site-nav{
    gap:8px;
  }
  .site-nav a{
    font-size:.62rem;
  }
  .nav-cta{
    width:166px;
    min-width:166px;
  }
}


/* Update 28: Respect reduced-motion preferences */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
    scroll-behavior:auto!important;
  }
}

@media(max-width:1100px){
  .portfolio-grid{grid-template-columns:repeat(2,1fr)}
  .real-work-grid,.service-proof-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:760px){
  .portfolio-grid,.real-work-grid,.service-proof-grid{grid-template-columns:1fr}
  .portfolio-image-button img{height:300px}
  .portfolio-cta-inner{align-items:flex-start;flex-direction:column}
  .real-work-card img,.service-proof-card img{height:280px}
}


/* Update 31 mobile hero framing */
@media(max-width:760px){
  .hero{
    min-height:640px;
    background-position:62% center;
  }
  .hero h1{
    font-size:clamp(3.8rem,13vw,5.2rem);
  }
}
@media(max-width:520px){
  .hero{
    min-height:600px;
    background-position:68% center;
  }
}
@media(prefers-reduced-motion:reduce){
  .hero-copy{animation:none!important}
}


/* V32.1: iPhone Safari quote-form reliability */
@media(max-width:560px){
  .quote-navigation{
    position:static;
    bottom:auto;
    z-index:auto;
    margin-inline:0;
    margin-bottom:0;
    padding:18px 0 0;
    background:#fff;
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
  }
  .quote-navigation .btn{
    min-height:54px;
    touch-action:manipulation;
    -webkit-tap-highlight-color:transparent;
  }
  .quote-submit{
    position:relative;
    z-index:2;
  }
}


/* V32.3: one-tap mobile call and quote actions */
@media(max-width:650px){
  body{
    padding-bottom:76px;
  }
  .mobile-action-dock{
    position:fixed;
    left:12px;
    right:12px;
    bottom:max(10px,env(safe-area-inset-bottom));
    z-index:160;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    padding:7px;
    border:1px solid rgba(255,255,255,.18);
    border-radius:17px;
    background:rgba(3,16,30,.94);
    box-shadow:0 14px 38px rgba(2,12,22,.32);
    -webkit-backdrop-filter:blur(12px);
    backdrop-filter:blur(12px);
  }
  .mobile-action-dock a{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:10px 12px;
    border-radius:11px;
    color:#fff;
    text-decoration:none;
    font-size:.79rem;
    font-weight:900;
    letter-spacing:.01em;
    touch-action:manipulation;
    -webkit-tap-highlight-color:transparent;
  }
  .mobile-action-call{
    background:#126fba;
  }
  .mobile-action-quote{
    background:#f18b18;
  }
}
