/* GANTSEV_PAGES_V179.1 — stacked copy blocks + mobile fit */
.reveal,
.reveal.is-visible{
  opacity:1;
  transform:none;
  transition:none;
}

.service-story__intro,
.service-story__closing{
  padding:88px 0 28px;
}
.service-story__copy-block,
.service-story__intro .service-story__section-head,
.service-story__closing .service-story__section-head{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  grid-template-columns:none !important;
  gap:0 !important;
  max-width:780px !important;
  width:100% !important;
  margin:0 !important;
}
.service-story__intro h2,
.service-story__closing h2,
.service-story__copy-block h2{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 0 22px !important;
  padding:0 0 22px !important;
  font-size:clamp(32px,4.4vw,52px) !important;
  line-height:1.12 !important;
  letter-spacing:.01em !important;
  overflow-wrap:break-word !important;
  word-break:normal !important;
  hyphens:manual !important;
  border-bottom:1px solid var(--gold) !important;
}
.service-story__intro p,
.service-story__closing p,
.service-story__copy-block p{
  display:block !important;
  width:100% !important;
  max-width:680px !important;
  margin:0 0 16px !important;
  padding:0 !important;
  font-family:var(--serif);
  font-size:clamp(18px,1.45vw,24px);
  line-height:1.55;
  color:var(--ink);
}
.service-story__intro p:last-child,
.service-story__closing p:last-child,
.service-story__copy-block p:last-child{
  margin-bottom:0 !important;
}

.service-story__cta-box{
  align-items:flex-start;
  gap:28px;
}
.service-story__cta-box p{
  font-family:var(--serif);
  font-size:18px;
  line-height:1.5;
  max-width:640px;
  margin:12px 0 0;
}
.service-story__grouped-gallery{
  padding:80px 0 40px;
}
.service-story__gallery-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 28px;
  border-bottom:1px solid var(--line);
}
.service-story__gallery-tabs button{
  background:none;
  border:0;
  padding:12px 18px;
  text-transform:uppercase;
  font-family:var(--serif);
  font-size:15px;
  cursor:pointer;
  position:relative;
  color:var(--ink);
}
.service-story__gallery-tabs button:after{
  content:"";
  height:2px;
  background:var(--gold);
  position:absolute;
  left:50%;
  right:50%;
  bottom:-1px;
  transition:.25s;
}
.service-story__gallery-tabs button.is-active:after,
.service-story__gallery-tabs button:hover:after{
  left:12px;
  right:12px;
}
.service-story__gallery-panel{display:none}
.service-story__gallery-panel.is-active{display:block}
.service-story__hero-copy .gold-button,
.service-story__cta .gold-button{max-width:100%}

.reviews-page__filters{margin:0 0 48px}
.reviews-page__empty{font-family:var(--serif);font-size:24px;max-width:720px}
.reviews-page__showcase--text{grid-template-columns:1fr}
.reviews-page__tag,
.reviews-page__area,
.reviews-page__date{margin:4px 0 0;color:var(--soft-ink);font-size:14px}
.reviews-page__project{
  display:inline-flex;
  margin-top:18px;
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:.08em;
  text-decoration:none;
  font-size:13px;
}
.reviews-page__visual--plain{
  min-height:280px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  background:rgba(255,250,243,.72);
}
.reviews-page__video{font-family:var(--serif);text-transform:uppercase;color:var(--gold)}
.reviews-page__cta{padding-bottom:90px}
.reviews-page__cta h2{text-transform:uppercase}
.slider-controls.is-single [data-prev],
.slider-controls.is-single [data-next],
.slider-controls.is-single span{display:none}
.review-slide.is-text figure{display:none}
.review-slide.is-text{grid-template-columns:1fr}

@media(max-width:1100px){
  .service-story__hero-grid,
  .service-story--house .service-story__hero-grid{
    grid-template-columns:1fr !important;
    gap:36px !important;
  }
  .service-story__hero-media,
  .service-story__hero-media[data-service-hero-slider]{
    width:100% !important;
    height:min(520px,62vw) !important;
    min-height:320px !important;
  }
}

@media(max-width:900px){
  .service-story,
  .reviews-page,
  .service-story__hero,
  .service-story__intro,
  .service-story__closing,
  .service-story__benefits,
  .service-story__scope,
  .service-story__album,
  .service-story__process,
  .service-story__results,
  .service-story__cta,
  .service-story__grouped-gallery{
    overflow-x:clip;
  }
  .service-story__hero-grid,
  .service-story__benefit-grid,
  .service-story--apartment .service-story__benefit-grid,
  .service-story__scope-grid,
  .service-story--house .service-story__scope-grid,
  .service-story__album-grid,
  .service-story__cta-box,
  .reviews-page__showcase{
    grid-template-columns:1fr !important;
  }
  .service-story__album-grid{
    grid-auto-rows:240px !important;
  }
  .service-story__album-card:first-child,
  .service-story__album-card:nth-child(4){
    grid-row:auto !important;
    grid-column:auto !important;
  }
  .gold-button{
    width:100%;
    min-height:54px;
  }
  .service-story__gallery-tabs{
    overflow-x:auto;
    flex-wrap:nowrap;
    -webkit-overflow-scrolling:touch;
  }
  .service-story__gallery-tabs button{white-space:nowrap}
  .service-story__result-carousel{
    display:block;
    padding:0 !important;
  }
  .service-story__carousel-arrow{display:none}
  .service-story__process-list article,
  .service-story--commercial .service-story__process-list article{
    grid-template-columns:64px minmax(0,1fr) !important;
    gap:14px !important;
    padding:20px 0 !important;
  }
  .service-story__cta-box{
    flex-direction:column !important;
    align-items:stretch !important;
    padding:28px 20px !important;
  }
  .reviews-page__showcase{gap:28px}
  .service-story--commercial .service-story__hero{
    background:transparent !important;
    color:inherit !important;
  }
  .service-story--commercial .service-story__hero-copy,
  .service-story--contracting .service-story__hero-copy{
    color:var(--ink) !important;
  }
  .service-story--contracting .service-story__hero{
    background:transparent !important;
    color:inherit !important;
  }
}

@media(max-width:600px){
  .service-story__hero{
    min-height:auto !important;
    padding:42px 0 48px !important;
  }
  .service-story__hero-copy h1,
  .reviews-page__head h1{
    font-size:clamp(34px,10.5vw,48px) !important;
    line-height:1.05 !important;
    max-width:100% !important;
    overflow-wrap:break-word !important;
  }
  .service-story__hero-copy>p:not(.eyebrow){
    font-size:17px !important;
    line-height:1.5 !important;
    max-width:100% !important;
    margin-bottom:24px !important;
  }
  .service-story__intro,
  .service-story__closing{
    padding:56px 0 12px !important;
  }
  .service-story__intro h2,
  .service-story__closing h2,
  .service-story__copy-block h2,
  .service-story__section-head h2,
  .service-story__cta-box h2{
    font-size:clamp(28px,8.4vw,40px) !important;
    line-height:1.12 !important;
    max-width:100% !important;
  }
  .service-story__intro p,
  .service-story__closing p,
  .service-story__copy-block p{
    font-size:17px !important;
    line-height:1.5 !important;
  }
  .service-story__hero-media,
  .service-story__hero-media[data-service-hero-slider]{
    height:min(420px,70vw) !important;
    min-height:240px !important;
    max-height:480px !important;
  }
  .service-story__process-list article,
  .service-story--commercial .service-story__process-list article{
    grid-template-columns:1fr !important;
    gap:8px !important;
  }
  .service-story__process-list b{font-size:28px !important}
  .service-story__process-list h3{font-size:18px !important}
  .service-story__process-list p{font-size:14px !important}
  .service-story__benefit-card,
  .service-story--apartment .service-story__benefit-card,
  .service-story__scope-card{
    min-height:0 !important;
    padding:22px !important;
    padding-left:22px !important;
  }
  .service-story--apartment .service-story__benefit-card .service-story__icon{
    position:static !important;
    margin-bottom:12px;
  }
}
