.service-page .site-header{position:relative}
.service-back{background:#efe5da;border-bottom:1px solid var(--line)}
.service-back .container{min-height:58px;display:flex;align-items:center;justify-content:space-between}
.service-back a,.service-back span{font-size:9px;text-transform:uppercase;letter-spacing:.15em}
.service-back a{color:var(--brown);font-weight:700}
.service-back span{color:var(--muted)}
.service-hero{min-height:min(680px,72vh);position:relative;display:flex;align-items:end;color:var(--white);overflow:hidden}
.service-hero>img,.service-hero>span{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.service-hero>img{object-position:center 45%}
.service-hero>span{background:linear-gradient(90deg,rgba(12,9,7,.78),rgba(12,9,7,.2) 72%)}
.service-hero .container{position:relative;padding-top:110px;padding-bottom:88px}
.service-hero h1{max-width:760px;margin:0;font:500 clamp(3.7rem,7vw,6.9rem)/.84 var(--serif);letter-spacing:-.045em}
.service-hero .eyebrow{color:#d6b69b;margin-bottom:18px}
.service-hero-lead{max-width:430px;margin:24px 0 0;font-size:16px;color:rgba(255,255,255,.86)}
.service-intro{padding:92px 0 70px}
.service-intro-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:12%;align-items:start}
.service-intro h2,.service-section h2,.approach h2{font:500 clamp(2.7rem,4.8vw,4.5rem)/.87 var(--serif);letter-spacing:-.04em;margin:0}
.service-intro-copy{max-width:640px;color:var(--muted);font-size:16px;line-height:1.75}
.service-intro-copy p{margin:0 0 20px}
.service-highlights{background:#eee4d9;border-block:1px solid var(--line);padding:44px 0}
.highlight-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.highlight{border-left:1px solid #cdbba9;padding-left:18px}
.highlight-icon{width:30px;height:30px;border:1px solid var(--brown);border-radius:50%;display:grid;place-items:center;color:var(--brown);font-size:12px;margin-bottom:18px}
.highlight h3{font:500 22px/1 var(--serif);margin-bottom:8px}
.highlight p{color:var(--muted);font-size:12px;line-height:1.55;margin:0;max-width:210px}
.service-section{padding:105px 0 95px}
.section-heading-row{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px}
.section-heading-row .eyebrow{margin-bottom:12px}
.section-heading-row>p:last-child{max-width:380px;color:var(--muted);font-size:13px;margin:0}
.story-grid-service{display:grid;grid-template-columns:1.35fr .8fr .8fr;gap:12px}
.story-card-service{position:relative;min-height:340px;overflow:hidden;color:var(--white)}
.story-card-service:first-child{min-height:420px;grid-row:span 2}
.story-card-service img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.story-card-service:hover img{transform:scale(1.02)}
.story-card-service:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 36%,rgba(12,9,7,.82))}
.story-card-copy{position:absolute;z-index:1;left:22px;right:18px;bottom:20px}
.story-card-copy span{font-size:9px;text-transform:uppercase;letter-spacing:.14em}
.story-card-copy h3{font:500 29px/1 var(--serif);margin:8px 0 7px}
.story-card-copy small{font-size:10px;color:rgba(255,255,255,.8)}
.service-specific{background:#f0e7dd;padding:85px 0}
.specific-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}
.specific-image{height:430px;object-fit:cover}
.specific-copy{max-width:500px}
.specific-copy h2{margin-bottom:20px}
.specific-copy p{color:var(--muted);line-height:1.7;margin-bottom:22px}
.specific-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;border-top:1px solid #cdbba9;padding-top:20px}
.specific-list span{font:500 20px/1 var(--serif);color:var(--ink)}
.specific-list small{display:block;color:var(--brown);font-size:9px;text-transform:uppercase;letter-spacing:.12em;margin-top:5px}
.approach{padding:100px 0 110px}
.approach-intro{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:42px}
.approach-intro p{max-width:350px;color:var(--muted);font-size:14px;margin:0}
.approach-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.approach-step{border-top:1px solid var(--brown);padding-top:16px}
.approach-step b{color:var(--brown);font-size:10px;letter-spacing:.15em}
.approach-step h3{font:500 27px/1 var(--serif);margin:18px 0 8px}
.approach-step p{color:var(--muted);font-size:12px;line-height:1.55;margin:0;max-width:210px}
.service-page .article-cta{margin-top:0}
.service-page .footer{margin-top:0}
@media(max-width:900px){
  .service-intro-grid,.specific-grid{grid-template-columns:1fr;gap:32px}
  .highlight-grid{grid-template-columns:repeat(2,1fr);gap:30px 18px}
  .story-grid-service{grid-template-columns:1fr 1fr}
  .story-card-service:first-child{grid-column:1/-1;grid-row:auto;min-height:390px}
  .specific-image{height:360px}
  .approach-grid{grid-template-columns:repeat(2,1fr);gap:30px 18px}
}
@media(max-width:600px){
  .service-back .container{min-height:64px}
  .service-back span{display:none}
  .service-hero{min-height:58vh}
  .service-hero .container{padding-top:80px;padding-bottom:58px}
  .service-hero h1{font-size:clamp(3.2rem,14vw,5rem)}
  .service-hero-lead{font-size:14px;max-width:300px}
  .service-intro{padding:68px 0 58px}
  .service-intro h2{font-size:clamp(2.8rem,12vw,4rem)}
  .service-intro-copy{font-size:15px}
  .service-highlights{padding:34px 0}
  .highlight{padding-left:13px}
  .highlight-icon{margin-bottom:12px}
  .highlight h3{font-size:20px}
  .highlight p{font-size:11px}
  .service-section{padding:72px 0 65px}
  .section-heading-row{display:block;margin-bottom:24px}
  .section-heading-row>p:last-child{margin-top:15px}
  .story-grid-service{grid-template-columns:1fr 1fr;gap:8px}
  .story-card-service,.story-card-service:first-child{min-height:245px}
  .story-card-service:first-child{min-height:330px}
  .story-card-copy{left:13px;bottom:14px}
  .story-card-copy h3{font-size:23px}
  .service-specific{padding:64px 0}
  .specific-image{height:290px}
  .specific-list span{font-size:17px}
  .approach{padding:70px 0 80px}
  .approach-intro{display:block;margin-bottom:30px}
  .approach-intro p{margin-top:18px}
  .approach-grid{gap:28px 14px}
  .approach-step h3{font-size:24px}
}

/* Services listing */
.services-page .site-header{position:relative}
.services-listing-hero{min-height:min(560px,58vh);position:relative;display:flex;align-items:end;color:var(--white);overflow:hidden}
.services-listing-hero>img,.services-listing-hero>span{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.services-listing-hero>span{background:linear-gradient(90deg,rgba(12,9,7,.75),rgba(12,9,7,.16) 75%)}
.services-listing-hero .container{position:relative;padding:100px 0 74px}
.services-listing-hero h1{font:500 clamp(3.8rem,7vw,6.8rem)/.83 var(--serif);letter-spacing:-.045em;max-width:700px;margin:0}
.services-listing-hero .eyebrow{color:#d6b69b;margin-bottom:18px}
.services-listing-hero p:last-child{max-width:440px;font-size:16px;color:rgba(255,255,255,.86);margin:24px 0 0}
.service-directory{padding:95px 0 55px}
.directory-intro{max-width:580px;margin-bottom:60px}
.directory-intro h2{font:500 clamp(2.8rem,5vw,4.6rem)/.86 var(--serif);margin:0;letter-spacing:-.04em}
.service-feature{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;padding:55px 0;border-top:1px solid var(--line)}
.service-feature.reverse .service-feature-image{order:1}.service-feature.reverse .service-feature-copy{order:2}
.service-feature-image{width:100%;aspect-ratio:4/3;object-fit:cover;overflow:hidden}.service-feature-image img{height:100%;width:100%;object-fit:cover;transition:transform .4s ease}.service-feature-image:hover img{transform:scale(1.02)}
.service-feature-copy{max-width:480px}.service-feature-copy .eyebrow{margin-bottom:17px}.service-feature-copy h2{font:500 clamp(2.8rem,4.5vw,4.5rem)/.86 var(--serif);margin:0 0 18px;letter-spacing:-.04em}.service-feature-copy>p:not(.eyebrow){color:var(--muted);font-size:15px;line-height:1.7;margin:0 0 25px}.service-feature-copy .button{margin-top:2px}
.service-notes{display:flex;gap:18px;flex-wrap:wrap;margin:28px 0 26px}.service-notes span{font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:var(--brown);border-top:1px solid #cdbba9;padding-top:9px}
.services-page .approach{background:#f0e7dd}
.service-page .article-cta,.services-page .article-cta{width:calc(100% - 48px);max-width:1320px;min-height:460px;margin:0 auto 105px;display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:1fr;overflow:hidden;background:#29231f;color:var(--white)}
.service-page .article-cta>img,.services-page .article-cta>img{grid-column:1;grid-row:1;width:100%;height:100%;min-height:460px;object-fit:cover;object-position:center;display:block}
.service-page .article-cta>span,.services-page .article-cta>span{display:none}
.service-page .article-cta>.container,.services-page .article-cta>.container{grid-column:2;grid-row:1;width:auto;max-width:none;padding:56px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:#29231f}
.service-page .article-cta h2,.services-page .article-cta h2{font:500 clamp(2.4rem,3.4vw,4rem)/.88 var(--serif);letter-spacing:-.04em;margin:0 0 20px;max-width:390px;color:var(--white)}
.service-page .article-cta p:not(.eyebrow),.services-page .article-cta p:not(.eyebrow){max-width:340px;margin:0;color:rgba(255,255,255,.82);font-size:16px;line-height:1.6}
.service-page .article-cta .hero-actions,.services-page .article-cta .hero-actions{margin-top:28px;display:flex;gap:10px;flex-wrap:wrap}
.service-page .article-cta .button,.services-page .article-cta .button{min-height:46px;padding:14px 20px;font-size:10px}
.service-page .article-cta .button-outline-light,.services-page .article-cta .button-outline-light{color:#fff;border-color:rgba(255,255,255,.75);background:transparent}
.service-page .article-cta .button-outline-light:hover,.services-page .article-cta .button-outline-light:hover{color:#fff;background:rgba(255,255,255,.14);border-color:#fff}
.related-services{padding:0 0 85px;background:var(--ivory)}
.related-service-links{display:grid;grid-template-columns:1fr 1fr;gap:12px;border-top:1px solid var(--line);padding-top:18px}
.related-service-links a{display:flex;justify-content:space-between;align-items:center;padding:18px 0;border-bottom:1px solid var(--line);font:500 25px/1 var(--serif);color:var(--ink)}
.related-service-links b{font:700 9px var(--sans);letter-spacing:.13em;text-transform:uppercase;color:var(--brown)}
.related-service-links a:hover b{transform:translateX(3px)}
@media(max-width:900px){.service-feature{gap:35px}.service-feature-copy h2{font-size:clamp(2.7rem,6vw,4rem)}.service-page .article-cta,.services-page .article-cta{min-height:420px}.service-page .article-cta>img,.services-page .article-cta>img{min-height:420px}.service-page .article-cta>.container,.services-page .article-cta>.container{padding:40px}.service-page .article-cta h2,.services-page .article-cta h2{font-size:clamp(2.2rem,4vw,3.3rem)}}
@media(max-width:600px){.services-listing-hero{min-height:52vh}.services-listing-hero .container{padding:80px 0 58px}.services-listing-hero h1{font-size:clamp(3.3rem,14vw,5.2rem)}.services-listing-hero p:last-child{font-size:14px}.service-directory{padding:70px 0 25px}.directory-intro{margin-bottom:35px}.service-feature,.service-feature.reverse{display:flex;flex-direction:column;gap:25px;padding:42px 0;align-items:stretch}.service-feature.reverse .service-feature-image,.service-feature.reverse .service-feature-copy{order:initial}.service-feature-image{aspect-ratio:4/3}.service-feature-copy h2{font-size:clamp(2.8rem,12vw,4.2rem)}.service-feature-copy>p:not(.eyebrow){font-size:14px}.service-notes{gap:10px 14px;margin-top:22px}.related-services{padding-bottom:60px}.related-service-links{grid-template-columns:1fr}.related-service-links a{font-size:23px}.service-page .article-cta,.services-page .article-cta{width:calc(100% - 32px);min-height:0;margin-bottom:70px;display:flex;flex-direction:column}.service-page .article-cta>img,.services-page .article-cta>img{width:100%;height:300px;min-height:0;aspect-ratio:4/3;object-position:center}.service-page .article-cta>.container,.services-page .article-cta>.container{padding:34px 24px 36px;display:block}.service-page .article-cta h2,.services-page .article-cta h2{font-size:clamp(2.7rem,11vw,4rem);margin-bottom:18px}.service-page .article-cta p:not(.eyebrow),.services-page .article-cta p:not(.eyebrow){font-size:14px}.service-page .article-cta .hero-actions,.services-page .article-cta .hero-actions{margin-top:24px;flex-direction:column;align-items:stretch;width:100%}.service-page .article-cta .button,.services-page .article-cta .button{width:100%;min-height:46px}}
