/* ============================================================
+   GRV — home page responsive rules
+   Extracted without selector or value changes.
+   ============================================================ */

/* Laptop transition — inclusive 1280 to preserve the approved 1280 layout. */
@media (max-width:1279px){
  .capacity-bottom{grid-template-columns:1fr;gap:24px;}
  .capacity-actions{justify-content:flex-start;}
}

@media (max-width:1199px){
  .home-hero-content{left:42px;right:42px;}
  .stats-grid,.philosophy-content{gap:60px;}
  .project-row{gap:50px;}
  .partners-home .partners{gap:50px;}
  .team-intro__inner{grid-template-columns:minmax(310px,38fr) minmax(0,62fr);gap:46px;}
  .team-intro__media{height:clamp(480px,48vw,570px);}
}

@media (max-width:1099px){
  .team-intro{min-height:auto;}
  .team-intro__inner{grid-template-columns:1fr;gap:38px;padding:96px 40px 62px;}
  .team-intro__copy{max-width:720px;gap:22px;}
  .team-intro__action{margin-top:4px;}
  .team-intro__title{max-width:none;}
  .team-intro__text{max-width:62ch;}
  .team-intro__media{height:auto;min-height:0;aspect-ratio:3 / 2;}
  .partners-copy{position:static;top:auto;}
  .capacity-grid{grid-template-columns:1fr;gap:48px;}
  .capacity-intro{max-width:760px;}
  .capacity-lead{max-width:560px;}
}

/* Tablet and below · up to 1023 */
@media (max-width:1023px){
  .home-hero{height:100svh;min-height:700px;}
  .home-hero-content{left:40px;right:40px;}
  .home-hero-thumbs{display:grid;}
  .stats-grid{grid-template-columns:1fr;gap:54px;}
  .stats-list{margin-left:0;max-width:none;}
  .philosophy-band{min-height:680px;}
  .philosophy-content{grid-template-columns:1fr;gap:30px;padding-left:40px;padding-right:40px;}
  .philosophy-copy{margin:0;max-width:714px;}
  .project-row,.project-row.reverse{grid-template-columns:1fr;gap:28px;}
  .project-row .project-image,.project-row.reverse .project-image{order:1;}
  .project-row .project-info,.project-row.reverse .project-info{order:2;}
  .project-info{max-width:680px;}
  .project-row .frame{aspect-ratio:16/10!important;}
  .team-showcase__inner{min-height:clamp(760px,calc(100svh - 88px),820px);padding:96px 40px 24px;}
  .team-showcase__card{width:min(38vw,310px);}
  .buildable-grid{grid-template-columns:1fr;gap:54px;}
  .buildable-copy{max-width:720px;gap:34px;}
  .rem-people-grid{grid-template-columns:1fr 1fr;}
  .build-site-carousel{grid-template-columns:1fr;gap:34px;}
  .build-site-aside{display:grid;grid-template-columns:1fr auto;align-items:end;}
  .build-site-aside .gx-mask{grid-column:1;}
  .build-site-aside .site-car-nav{grid-column:2;grid-row:1 / 3;}
  .build-site-title{max-width:none;margin-bottom:0;}
  .build-site-card,.build-site-card:first-child{width:clamp(320px,52vw,420px);flex-basis:clamp(320px,52vw,420px);}
  .build-site-card>picture{height:clamp(360px,52vw,440px);}
  .partners-layout{grid-template-columns:1fr;gap:48px;}
  .partners-title{max-width:18ch;}
  .partners-description{max-width:620px;}
  .final-band{height:480px;}
  .capacity-panel{max-width:none;}
}

/* Mobile · up to 767 */
@media (max-width:767px){
  .home-hero{height:var(--home-hero-stable-height,100svh);min-height:620px;touch-action:pan-y;}
  .home-hero-slide img{object-position:55% center;}
  .home-hero-content{left:20px;right:20px;bottom:112px;}
  .home-hero-title h1{font-size:clamp(44px,13.8vw,54px);}

  .stats-section{padding-top:60px;padding-bottom:60px;}
  .stats-grid{gap:42px;}
  .stats-main{grid-template-columns:1fr;gap:15px;padding-bottom:22px;}
  .stats-main strong{font-size:clamp(46px,6vw,56px);white-space:normal;}
  .stats-main>span{max-width:260px;}
  .stats-row{grid-template-columns:95px 1fr;gap:14px;padding:18px 0;}
  .stats-key{font-size:clamp(38px,5vw,46px);}

  .philosophy-band{min-height:720px;align-items:flex-end;}
  .philosophy-band>img,.philosophy-band>picture>img{object-position:47% center;}
  .philosophy-shade{background:linear-gradient(to top,rgba(48,28,27,.82),rgba(48,28,27,.08) 65%);}
  .philosophy-content{grid-template-columns:1fr;gap:24px;padding:0 20px 40px;}
  .philosophy-copy .philosophy-lead{font-size:21px;line-height:1.4;margin-bottom:22px;}
  .philosophy-copy p{font-size:16px;line-height:1.4;}

  .selected-projects{padding-top:60px;padding-bottom:60px;}
  .selected-projects .section-head-row{margin-bottom:40px;}
  .project-list{gap:50px;}
  .project-row .frame{aspect-ratio:4/3!important;}
  .project-row:nth-child(2) .frame{aspect-ratio:3/4!important;}
  .project-labels{gap:9px;margin-bottom:13px;}
  .project-image .frame{position:relative;}
  .project-status--photo{
    position:absolute;
    right:12px;
    bottom:12px;
    z-index:3;
    display:inline-flex;
    margin:0;
    padding:8px 10px;
    font-size:10px;
    line-height:1;
  }
  .project-status--meta{display:none;}
  .project-number{font-size:34px;}
  .project-info h3{font-size:var(--text-h3);}
  .project-meta{font-size:16px;line-height:1.4;}
  .project-info .project-meta{margin-bottom:8px;}
  .project-description{margin-bottom:18px;font-size:16px;line-height:1.55;}

  .for-whom{padding-top:60px;padding-bottom:60px;}
  .for-whom-grid{grid-template-columns:1fr;gap:40px;}

  .tariffs-home{padding-top:60px;padding-bottom:60px;}
  .tariff-grid{gap:30px;}
  .tariff-grid>div>div{min-height:0!important;}
  .tariff-card{gap:28px;padding:30px 24px 24px;}

  .team-intro__inner{gap:34px;padding:60px 20px;}
  .team-intro__copy{gap:20px;}
  .team-intro__title{font-size:clamp(38px,11vw,46px);}
  .team-intro__text{gap:16px;}
  .team-intro__text p{font-size:16px;line-height:1.55;}
  .team-intro__media{aspect-ratio:3 / 2;}
  .team-showcase{min-height:auto;}
  .team-showcase__inner{display:flex;min-height:0;flex-direction:column;padding:96px 20px 24px;}
  .team-showcase__head{gap:24px;}
  .team-showcase__heading{gap:14px;}
  .team-showcase__title{font-size:clamp(28px,8vw,34px);}
  .team-showcase__subtitle{font-size:16px;line-height:1.5;}
  .team-showcase__counter{padding-top:5px;font-size:12px;}
  .team-showcase__stage{
    width:100%;
    container-type:inline-size;
    align-items:center !important;
    justify-content:center;
    padding:30px 0 14px;
    transition:opacity .14s ease;
  }
  .team-showcase__card{width:min(64vw,260px);align-self:center;}
  .team-showcase__note{width:min(64vw,260px) !important;max-width:min(64vw,260px) !important;}
  .team-showcase.is-switching .team-showcase__stage{opacity:1;}
  .team-showcase.is-switching .team-showcase__card{opacity:1;transform:none;}
  .team-showcase__meta h3{font-size:26px;}
  .team-showcase__controls{
    right:auto;
    left:50%;
    width:100cqw;
    transform:translate(-50%,-50%);
  }
  .team-showcase__controls button{width:34px;height:34px;font-size:14px;}

  .rem-home{padding-top:60px;padding-bottom:60px;}
  .buildable-grid{gap:44px;}
  .buildable-copy{gap:23px;}
  .buildable-title{font-size:clamp(36px,9vw,44px);}
  .buildable-benefits{font-size:17px;line-height:1.6;}
  .buildable-benefits li{padding:18px;}
  .rem-people-grid{grid-template-columns:1fr;gap:48px;}
  .rem-person-title{align-items:flex-end;}
  .rem-person-title span{max-width:150px;}
  .rem-person>p{font-size:14px;}
  .build-site-section{padding-top:64px;padding-bottom:0;}
  .build-site-title{font-size:clamp(40px,11vw,48px);}
  .build-site-carousel .site-car-nav button{width:48px;height:48px;}
  .build-site-card,.build-site-card:first-child{width:min(78vw,320px);max-width:none;flex-basis:min(78vw,320px);}
  .build-site-card>picture{height:clamp(330px,95vw,400px);}
  .build-site-track{
    overflow-y:hidden;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x mandatory;
    touch-action:pan-x pan-y;
    -webkit-overflow-scrolling:touch;
  }
  .build-site-card{scroll-snap-align:start;scroll-snap-stop:always;}

  .partners-home{padding-top:60px;padding-bottom:60px;}
  .partners-layout{gap:38px;}
  .partners-copy{gap:20px;}
  .partners-title{max-width:none;font-size:clamp(40px,11vw,48px);}
  .partners-description{font-size:16px;line-height:1.6;}
  .partners-groups{gap:34px;}
  .partners-group-title{margin-bottom:12px;font-size:12px;}
  .partners-home .partners-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .partners-home .plogo{min-height:138px;padding:22px 14px;}
  .partners-home .supplier-card,
  .partners-home .supplier-card:hover{
    background:color-mix(in srgb,var(--grv-paper) 94%,var(--grv-brown) 6%);
    border-color:color-mix(in srgb,var(--grv-paper) 62%,transparent);
  }
  .partners-home .plogo-mark{font-size:16px;}
  .supplier-card img{height:64px;max-width:88%;}

  .final-band{height:420px;}
  .final-band>img,.final-band>picture>img{object-position:48% center;}
  .final-band-sign{right:20px;bottom:24px;font-size:25px;gap:14px;}
  .sound-mark{font-size:26px;}

  .queue-section{padding-top:60px;padding-bottom:60px;}
  .capacity-grid{gap:42px;}
  .capacity-intro{gap:22px;}
  .capacity-title{font-size:clamp(35px,9.2vw,42px);line-height:1.03;}
  .capacity-title span{white-space:normal;}
  .capacity-lead{font-size:16px;line-height:1.55;}
  .capacity-panel{gap:24px;}
  .capacity-top{grid-template-columns:auto 1fr;gap:16px;}
  .capacity-number{font-size:92px;}
  .capacity-number-copy{font-size:14px;}
  .capacity-ratio{grid-column:1 / -1;padding:4px 0 0;text-align:left;}
  .capacity-ratio strong{font-size:32px;}
  .capacity-slots{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 8px;}
  .capacity-slot{height:64px;}
  .capacity-bottom{grid-template-columns:1fr;gap:24px;}
  .capacity-bottom-copy{max-width:430px;}
  .capacity-status span{white-space:normal;}
  .capacity-text{font-size:16px;line-height:1.55;}
  .capacity-actions{display:grid;grid-template-columns:1fr 1fr;justify-content:stretch;gap:10px;}
  .capacity-actions .gx-btn{width:100%;padding-right:12px;padding-left:12px;}
}

@media (max-width:560px){
  .team-showcase__head{display:grid;grid-template-columns:minmax(0,1fr) auto;}
  .team-showcase__counter{grid-column:2;grid-row:1;}
  .team-showcase__heading{grid-column:1 / -1;grid-row:1;padding-right:72px;}
  .build-site-aside{grid-template-columns:1fr;}
  .build-site-aside .site-car-nav{grid-column:1;grid-row:auto;margin-top:4px;}
}

/* Tablet alignment for the two REM25 construction cards. */
@media (min-width:768px) and (max-width:1180px){
  .rem-people-grid{align-items:stretch;}
  .rem-person{display:grid;height:100%;grid-template-rows:auto auto 1fr;}
  .rem-person-title{display:grid;grid-template-columns:1fr;grid-template-rows:minmax(54px,auto) minmax(30px,auto);align-items:start;gap:8px;}
  .rem-person-title h3{font-size:22px;}
  .rem-person-title span{max-width:none;text-align:left;}
  .rem-person>p{margin-top:17px;}
}

@media (max-width:767px){
  .partners-home .residential-list li{padding:14px;font-size:14px;}
  .residential-toggle{margin-top:24px;}
}

/* Small mobile · up to 430 */
@media (max-width:430px){
  .stats-main strong{font-size:clamp(44px,12vw,48px);}
  .capacity-actions{grid-template-columns:1fr;}
}
