.services-page { background:#fff; color:#171717; }
.services-page .site-header { --header-background:#fff; --header-foreground:#171717; --header-link-divider:#d5d5d5; }
.services-page main { overflow:hidden; }
.services-page-shell { width:min(calc(100% - 200px),1720px); margin-inline:auto; }
.services-narrow-shell { width:min(calc(100% - 300px),1600px); margin-inline:auto; }
.services-page h2 { margin:0; font-family:Inter,Arial,sans-serif; font-weight:500; letter-spacing:-.055em; }
.services-page p { font-family:Jost,Arial,sans-serif; font-weight:300; }
.services-title-area { padding-top:190px; }
.services-lead { width:780px; margin:32px 0 0 auto; font-size:25px; line-height:1.5; text-align:justify; }
.services-overview { position:relative; height:2075px; background:#fff; }
.service-image { overflow:hidden; }
.service-design-image { position:absolute; top:820px; left:50%; width:min(calc(100% - 300px),1600px); height:520px; transform:translateX(-50%); --parallax-pad:64px; }
.service-design-image img { object-position:center 48%; }
.design-service-grid { position:absolute; top:1455px; left:50%; transform:translateX(-50%); display:grid; grid-template-columns:540px 1fr; gap:95px; }
.service-copy h2 { font-size:65px; line-height:.96; }
.service-copy p { max-width:520px; margin:48px 0 0; font-size:24px; line-height:1.45; text-align:justify; }
.service-detail-list { margin:0; padding:0; list-style:none; align-self:start; }
.service-detail-list li { position:relative; min-height:72px; display:flex; align-items:center; border-bottom:1.5px solid currentColor; font:300 29px/1.18 Jost,Arial,sans-serif; }
.service-detail-list.is-reveal-ready li { border-bottom-color:transparent; opacity:0; transform:translate3d(0,12px,0); }
.service-detail-list.is-reveal-ready li::after { content:""; position:absolute; left:0; right:0; bottom:-1.5px; height:1.5px; background:currentColor; transform:scaleX(0); transform-origin:left center; }
.service-detail-list.is-reveal-ready.is-revealed li { opacity:1; transform:none; transition:opacity .65s ease,transform .72s cubic-bezier(.22,.7,.28,1); transition-delay:calc(var(--reveal-index) * 145ms); }
.service-detail-list.is-reveal-ready.is-revealed li::after { transform:scaleX(1); transition:transform .72s cubic-bezier(.22,.7,.28,1); transition-delay:calc(var(--reveal-index) * 145ms + 170ms); }
.services-section-rule { position:absolute; left:0; right:0; bottom:72px; height:1.5px; background:var(--gold-dark); }
.services-overview > .services-section-rule { left:50%; right:auto; transform:translateX(-50%); }

.service-zone { position:relative; }
.residential-zone { height:1230px; background:var(--ink); color:#f5f5f5; }
.residential-layout { position:relative; height:100%; }
.residential-heading { position:absolute; top:120px; left:735px; right:0; display:grid; grid-template-columns:430px 1fr; gap:80px; }
.residential-heading h2,.commercial-layout h2,.trades-copy h2 { font-size:65px; line-height:1.02; }
.residential-heading p { margin:0; font-size:23px; line-height:1.45; text-align:justify; }
.residential-image { position:absolute; top:410px; left:0; width:620px; height:610px; --parallax-pad:72px; }
.residential-image img { object-position:center 50%; }
.residential-list { position:absolute; top:410px; left:735px; right:0; }

.commercial-zone { height:1200px; background:#fff; color:#171717; }
.commercial-layout { position:relative; height:100%; display:grid; grid-template-columns:500px 430px 1fr; grid-template-rows:300px 1fr; column-gap:65px; padding-top:142px; }
.commercial-layout > h2 { transform:translateX(28px); }
.commercial-layout > .services-section-rule:first-child { top:72px; bottom:auto; }
.commercial-copy { grid-column:2; margin:0 0 0 28px; font-size:23px; line-height:1.45; text-align:justify; }
.commercial-list { grid-column:1 / 3; grid-row:2; width:955px; transform:translateX(28px); }
.commercial-image { grid-column:3; grid-row:1 / 3; align-self:center; width:100%; height:620px; --parallax-pad:72px; }
.commercial-image img { object-position:center 48%; }
.commercial-bottom-rule { bottom:72px; }

.trades-zone { height:1480px; background:var(--ink); color:#f5f5f5; }
.trades-layout { position:relative; height:100%; display:grid; grid-template-columns:650px 1fr; column-gap:100px; padding-top:135px; }
.trades-copy { margin-left:28px; }
.trades-copy p { width:510px; margin:55px 0 0; font-size:23px; line-height:1.45; text-align:justify; }
.trades-list { width:100%; }
.trades-image { position:absolute; top:655px; left:27px; right:11px; height:520px; --parallax-pad:68px; }
.trades-image img { object-position:center 53%; }
.services-back-to-top { position:absolute; right:0; bottom:90px; display:inline-flex; align-items:center; justify-content:center; width:252px; height:56px; border:1.5px solid var(--gold); background:var(--gold); color:#202020; font-size:23px; font-weight:700; text-decoration:none; transition:background-color .24s ease,color .24s ease; }
.services-back-to-top:hover,.services-back-to-top:focus-visible { background:var(--ink); color:var(--gold); }

@media (min-width:1921px) {
  .services-page-shell,.services-narrow-shell { position:relative; }
}

@media (max-width:1879px) {
  .services-page-shell { width:calc(100% - 2*clamp(48px,5.2vw,98px)); }
  .services-narrow-shell { width:calc(100% - 2*clamp(70px,7.8vw,146px)); }
  .services-title-area { padding-top:clamp(130px,9.9vw,188px); }
  .services-lead { width:min(44%,780px); font-size:clamp(20px,1.3vw,25px); }
  .services-overview { height:clamp(1700px,108vw,2030px); }
  .service-design-image { top:40%; width:calc(100% - 2*clamp(70px,7.8vw,146px)); height:clamp(410px,27vw,510px); }
  .design-service-grid { top:70%; grid-template-columns:minmax(420px,34%) 1fr; gap:clamp(50px,5vw,94px); }
  .service-copy h2,.residential-heading h2,.commercial-layout h2,.trades-copy h2 { font-size:clamp(50px,3.4vw,64px); }
  .service-copy p,.residential-heading p,.commercial-copy,.trades-copy p { font-size:clamp(19px,1.2vw,23px); }
  .service-detail-list li { min-height:clamp(58px,3.7vw,70px); font-size:clamp(21px,1.5vw,28px); }
  .residential-zone { height:clamp(1020px,64vw,1210px); }
  .residential-heading { left:38%; grid-template-columns:minmax(380px,.9fr) minmax(330px,1fr); gap:5vw; }
  .residential-image { top:34%; width:35%; height:52%; }
  .residential-list { top:34%; left:38%; }
  .commercial-zone { height:clamp(1030px,62.5vw,1180px); }
  .commercial-layout { grid-template-columns:minmax(370px,.95fr) minmax(330px,.85fr) minmax(430px,1.2fr); column-gap:4vw; }
  .commercial-layout > h2,.commercial-list { transform:none; }
  .commercial-copy { margin-left:0; }
  .commercial-list { width:100%; }
  .commercial-image { height:52vw; max-height:610px; }
  .trades-zone { height:clamp(1230px,77vw,1450px); }
  .trades-layout { grid-template-columns:34% 1fr; column-gap:6vw; }
  .trades-copy { margin-left:0; }
  .trades-copy p { width:100%; }
  .trades-image { top:44%; height:35%; }
}

@media (max-width:1199px) {
  .services-page-shell,.services-narrow-shell { width:calc(100% - 80px); }
  .services-overview,.residential-zone,.commercial-zone,.trades-zone { height:auto; }
  .services-overview { padding-bottom:90px; }
  .services-lead { width:min(100%,680px); margin:32px 0 0; text-align:left; }
  .service-design-image,.design-service-grid,.services-section-rule,.residential-heading,.residential-image,.residential-list,.trades-image,.services-back-to-top { position:relative; inset:auto; transform:none; }
  .service-design-image { width:calc(100% - 80px); height:50vw; margin:190px auto 0; }
  .design-service-grid { display:grid; width:calc(100% - 80px); margin:80px auto 0; grid-template-columns:minmax(330px,.8fr) minmax(0,1.2fr); }
  .services-overview > .services-section-rule { width:calc(100% - 80px); margin:80px auto 0; }
  .residential-zone { padding:90px 0; }
  .residential-layout { height:auto; display:grid; grid-template-columns:42% 1fr; gap:70px 6%; }
  .residential-heading { grid-column:2; display:block; }
  .residential-heading p { margin-top:35px; text-align:left; }
  .residential-image { grid-column:1; grid-row:2; width:100%; height:60vw; max-height:650px; }
  .residential-list { grid-column:2; grid-row:2; }
  .commercial-zone { padding:70px 0; }
  .commercial-layout { display:grid; height:auto; grid-template-columns:1fr 1fr; grid-template-rows:auto; gap:55px; padding-top:60px; }
  .commercial-layout > .services-section-rule:first-child { position:absolute; top:0; }
  .commercial-copy { grid-column:2; }
  .commercial-list { grid-column:1; grid-row:auto; width:100%; }
  .commercial-image { grid-column:2; grid-row:auto; height:65vw; max-height:650px; }
  .commercial-bottom-rule { position:absolute; bottom:-70px; }
  .trades-zone { padding:90px 0; }
  .trades-layout { height:auto; display:grid; grid-template-columns:1fr 1.2fr; gap:65px; padding-top:0; }
  .trades-image { grid-column:1 / -1; width:100%; height:52vw; margin-top:30px; }
  .services-back-to-top { grid-column:2; justify-self:end; margin-top:0; }
}

@media (max-width:900px) {
  .services-page-shell,.services-narrow-shell { width:calc(100% - 48px); }
  .services-title-area { padding-top:90px; }
  .service-design-image { width:calc(100% - 48px); height:62vw; margin-top:120px; }
  .design-service-grid { width:calc(100% - 48px); grid-template-columns:1fr; gap:55px; }
  .service-copy p { max-width:680px; text-align:left; }
  .services-overview > .services-section-rule { width:calc(100% - 48px); }
  .residential-layout { grid-template-columns:1fr; gap:50px; }
  .residential-heading,.residential-image,.residential-list { grid-column:1; grid-row:auto; }
  .residential-image { height:72vw; }
  .commercial-layout { grid-template-columns:1fr; }
  .commercial-copy,.commercial-list,.commercial-image { grid-column:1; grid-row:auto; }
  .commercial-copy { max-width:680px; }
  .commercial-image { height:82vw; }
  .trades-layout { grid-template-columns:1fr; }
  .trades-copy p { max-width:680px; text-align:left; }
  .trades-list,.services-back-to-top { grid-column:1; }
  .trades-image { height:62vw; }
}

@media (max-width:600px) {
  .services-page-shell,.services-narrow-shell { width:calc(100% - 36px); }
  .services-title-area { padding-top:90px; }
  .services-lead { font-size:18px; }
  .service-design-image { width:calc(100% - 36px); height:72vw; margin-top:90px; }
  .design-service-grid { width:calc(100% - 36px); margin-top:58px; }
  .service-copy h2,.residential-heading h2,.commercial-layout h2,.trades-copy h2 { font-size:clamp(40px,11vw,52px); }
  .service-copy p,.residential-heading p,.commercial-copy,.trades-copy p { font-size:18px; }
  .service-detail-list li { min-height:58px; font-size:19px; }
  .services-overview > .services-section-rule { width:calc(100% - 36px); }
  .residential-zone,.trades-zone { padding-block:72px; }
  .commercial-zone { padding-block:60px; }
  .commercial-layout { padding-top:48px; gap:42px; }
  .residential-image,.commercial-image { height:95vw; }
  .trades-image { height:70vw; }
  .services-back-to-top { width:210px; font-size:20px; }
}

@media (prefers-reduced-motion:reduce) {
  .service-detail-list.is-reveal-ready li { opacity:1; transform:none; }
  .service-detail-list.is-reveal-ready li::after { transform:scaleX(1); }
}
