.service-hero{position:relative;min-height:72vh;overflow:hidden;color:var(--white)}
.service-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.service-hero:after{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,18,13,.82),rgba(9,18,13,.38) 58%,rgba(9,18,13,.08));content:""}
.service-hero-inner{position:relative;z-index:1;display:flex;min-height:72vh;width:min(1120px,calc(100% - 36px));margin:0 auto;padding:132px 0 64px;flex-direction:column;justify-content:flex-end}
.service-hero h1{max-width:900px;font-size:clamp(3rem,7vw,6rem)}
.service-hero-copy{max-width:670px;color:rgba(255,253,248,.84);font-size:1.12rem}
.service-back-link{display:inline-flex;width:fit-content;min-height:44px;align-items:center;gap:9px;margin-bottom:10px;color:var(--white);font-weight:800}
.service-back-link:hover,.service-back-link:focus-visible{color:var(--moss)}
.service-back-arrow{font-size:1.4rem;line-height:1;transition:transform .18s ease}
.service-back-link:hover .service-back-arrow,.service-back-link:focus-visible .service-back-arrow{transform:translateX(-3px)}
.service-breadcrumb{margin-bottom:18px;color:var(--moss);font-weight:800}
.service-breadcrumb a{text-decoration:underline;text-underline-offset:4px}
.service-intro-grid,.service-cta-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,7vw,84px)}
.service-points{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.service-points article{padding:20px;border:1px solid var(--line);border-radius:8px;background:#fbfaf4}
.service-points h3{color:var(--forest)}
.service-points p{margin:0;color:var(--muted)}
.service-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.service-gallery figure{position:relative;min-height:310px;margin:0;overflow:hidden;border-radius:8px;background:var(--forest)}
.service-gallery img,.service-gallery video{width:100%;height:100%;object-fit:cover}
.service-gallery video{display:block;background:var(--forest)}
.service-gallery figcaption{position:absolute;right:14px;bottom:14px;left:14px;padding:9px 11px;border-radius:4px;color:var(--white);background:rgba(23,33,28,.82);font-weight:800}
.service-gallery figure.media-video figcaption{top:14px;bottom:auto}
.service-gallery.is-collapsed figure:nth-child(n+7){display:none}
.service-gallery-toggle{display:block;min-height:48px;margin:24px auto 0;padding:12px 20px;border:1px solid var(--forest);border-radius:6px;color:var(--forest);background:transparent;font:inherit;font-weight:800;cursor:pointer}
.service-gallery-toggle:hover,.service-gallery-toggle:focus-visible{color:var(--white);background:var(--forest)}
.service-cta{color:var(--white);background:var(--forest)}
.service-cta .section-inner{padding-block:70px}
.service-cta p{color:rgba(255,253,248,.74)}
.service-contact-list{display:grid;gap:12px}
.service-contact-list a,.service-contact-list p{margin:0;padding:16px;border:1px solid rgba(255,253,248,.18);border-radius:8px;background:rgba(255,253,248,.08)}
@media(max-width:900px){
  .service-intro-grid,.service-cta-grid{grid-template-columns:1fr}
  .service-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .service-hero,.service-hero-inner{min-height:min(640px,92svh)}
  .service-hero-inner{width:min(1120px,calc(100% - 28px));padding:98px 0 34px}
  .service-hero h1{font-size:clamp(2.25rem,11vw,3.2rem);line-height:1}
  .service-hero-copy{font-size:1rem}
  .service-back-link{margin-bottom:6px}
  .service-breadcrumb{margin-bottom:14px;font-size:.86rem}
  .service-intro-grid,.service-cta-grid{gap:24px}
  .service-points,.service-gallery{grid-template-columns:1fr}
  .service-points{gap:10px}
  .service-points article{padding:16px}
  .service-gallery{gap:10px}
  .service-gallery figure{min-height:230px}
  .service-gallery figcaption{right:10px;bottom:10px;left:10px;padding:8px 10px;font-size:.9rem}
  .service-gallery.is-collapsed figure:nth-child(n+4){display:none}
  .service-gallery-toggle{width:100%;min-height:50px;margin-top:18px}
  .service-cta .section-inner{padding-block:50px}
  .service-contact-list{gap:10px}
  .service-contact-list a,.service-contact-list p{padding:14px}
}
