/* Service pages (commercial, lake-home care). Builds on styles.css tokens. */
.crumbs{font-size:14px;color:var(--muted);padding-top:22px}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0}
.crumbs li + li::before{content:"/";margin-right:8px;color:var(--line)}
.crumbs a{text-decoration:none;border-bottom:1px solid var(--line)}

.shero{padding:clamp(24px,4vw,56px) 0 clamp(56px,8vw,110px)}
.shero .hero__title{font-size:clamp(50px,6.6vw,92px)}
.shero__photo{margin:0;position:relative}
.shero__photo img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 30%;border-radius:var(--r)}
.shero__photo--wide img{aspect-ratio:4/3;object-position:50% 50%}
.shero__photo figcaption{font-size:14px;color:var(--muted);margin-top:10px}

.scope{padding:clamp(80px,10vw,140px) 0}
.scope__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(32px,6vw,90px);align-items:start}
.checks{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--ink)}
.checks li{padding:18px 18px 18px 30px;border-bottom:1px solid var(--line);position:relative;font-weight:500}
.checks li::before{content:"";position:absolute;left:2px;top:25px;width:12px;height:7px;border-left:2px solid var(--lake);border-bottom:2px solid var(--lake);transform:rotate(-45deg)}
.checks li span{display:block;font-weight:400;color:var(--muted);font-size:15px;margin-top:2px}
.scope__note{margin-top:22px;color:var(--muted);font-size:15.5px}

.rhythm{padding:clamp(80px,10vw,140px) 0;border-top:1px solid var(--line);background:var(--stone)}
.rhythm .plan--feature{background:var(--paper)}

.fits{padding:clamp(80px,10vw,140px) 0}
.fits__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.fit{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px 22px}
.fit h3{font-size:23px;margin-bottom:10px}
.fit p{color:var(--ink-2);font-size:15px;margin:0}
.fits__more{margin-top:26px}

.photos{padding:clamp(80px,10vw,140px) 0;background:var(--ink);color:var(--paper)}
.photos .gallery{margin-top:0}

.faq{padding:clamp(80px,10vw,140px) 0;border-top:1px solid var(--line)}
.faq__grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(32px,6vw,80px)}
.faq__list{border-top:1px solid var(--ink)}
.faq details{border-bottom:1px solid var(--line);padding:18px 0}
.faq summary{cursor:pointer;font-family:var(--serif);font-size:clamp(20px,2vw,24px);list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--brass);font-family:var(--sans);font-size:24px;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:12px 0 0;color:var(--ink-2);max-width:40em}

.related{padding:clamp(56px,7vw,90px) 0;border-top:1px solid var(--line)}
.related__row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.related a{display:block;text-decoration:none;border:1px solid var(--line);border-radius:var(--r);padding:24px 26px;background:#fff}
.related a:hover{border-color:var(--ink)}
.related small{display:block;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--brass);margin-bottom:8px}
.related strong{font-family:var(--serif);font-weight:400;font-size:26px;line-height:1.15}


@media (max-width:1100px){.fits__grid{grid-template-columns:1fr 1fr}}
@media (max-width:980px){
  .scope__grid,.faq__grid{grid-template-columns:1fr}
  .shero__photo{max-width:520px}
}
@media (max-width:720px){
  .crumbs{padding-top:14px}
  .shero{padding:18px 0 48px}
  .shero .hero__title{font-size:44px}
  .checks{grid-template-columns:1fr}
  .fits__grid,.related__row{grid-template-columns:1fr}
  .scope,.rhythm,.fits,.photos,.faq{padding:56px 0}
}
