/* Service pages. Builds on site.css tokens, type and components. */
.svc .nav{background:rgba(11,10,9,.92);border-bottom-color:var(--line)}

.svc-hero{background:var(--canvas);padding:calc(env(safe-area-inset-top,0px) + clamp(110px,13vw,170px)) 0 clamp(56px,7vw,100px)}
.svc-hero .wrap{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(32px,5vw,80px);align-items:center}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0 0 clamp(22px,3vw,34px);padding:0;font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-dim)}
.crumbs li+li::before{content:"/";margin-right:8px;color:var(--line-strong)}
.crumbs a{text-decoration:none;color:var(--ink-soft)}
.crumbs a:hover{color:var(--ink)}
.svc-hero h1{font-family:var(--display);font-weight:640;font-stretch:72%;letter-spacing:-.022em;line-height:.95;font-size:clamp(2.6rem,6vw,5.6rem);margin:0;text-wrap:balance}
.svc-hero .lede{max-width:46ch}
.svc-hero .row-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.svc-media{position:relative;margin:0;border:1px solid var(--line);border-radius:2px;overflow:hidden;background:var(--surface);aspect-ratio:4/3}
.svc-media img,.svc-media video{width:100%;height:100%;object-fit:cover}
.svc-media video{position:absolute;inset:0}
.svc-media figcaption{position:absolute;left:12px;bottom:10px;font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);text-shadow:var(--tshadow)}

.svc-block{padding:clamp(56px,7vw,110px) 0;border-top:1px solid var(--line)}
.svc-block .wrap{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(30px,6vw,110px);align-items:start}
.svc-block h2{font-family:var(--display);font-weight:620;font-stretch:76%;letter-spacing:-.018em;line-height:1;font-size:clamp(1.9rem,3.4vw,3.2rem);margin:0;text-wrap:balance}
.svc-body{color:var(--ink-soft);max-width:62ch}
.svc-body p{margin:0 0 1em}
.svc-body p:last-child{margin-bottom:0}
.svc-body strong{color:var(--ink);font-weight:500}

.svc-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}
.svc-list li{position:relative;padding:16px 0 16px 22px;border-top:1px solid var(--line);color:var(--ink-soft)}
.svc-list li::before{content:"";position:absolute;left:0;top:1.45em;width:7px;height:7px;background:var(--accent)}
.svc-list b{display:block;color:var(--ink);font-weight:500}

.svc-steps{list-style:none;margin:0;padding:0;counter-reset:s;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.svc-steps li{counter-increment:s;border-top:1px solid var(--line-strong);padding-top:16px;color:var(--ink-soft)}
.svc-steps li::before{content:"Step " counter(s);display:block;font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:8px}
.svc-steps b{display:block;color:var(--ink);font-family:var(--display);font-weight:560;font-stretch:84%;font-size:1.2rem;line-height:1.2;margin-bottom:6px}

.svc-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:clamp(28px,4vw,48px)}
.svc-gallery figure{margin:0;border:1px solid var(--line);border-radius:2px;overflow:hidden;background:var(--surface);aspect-ratio:16/10}
.svc-gallery img{width:100%;height:100%;object-fit:cover}

.svc .faq{padding:clamp(56px,7vw,110px) 0;border-top:1px solid var(--line)}

.svc-more{padding:clamp(56px,7vw,110px) 0;border-top:1px solid var(--line)}
.svc-more ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.svc-more a{display:block;height:100%;padding:20px 22px;border:1px solid var(--line);border-radius:2px;text-decoration:none;background:var(--surface);transition:border-color .16s var(--ease-out),background-color .16s var(--ease-out)}
.svc-more a:hover{border-color:var(--accent);background:var(--surface-2)}
.svc-more b{display:block;font-family:var(--display);font-weight:600;font-stretch:84%;font-size:1.25rem;line-height:1.15}
.svc-more small{display:block;margin-top:6px;color:var(--ink-dim);font-size:.9rem}

.svc-cta{padding:clamp(70px,9vw,140px) 0;border-top:1px solid var(--line);text-align:center}
.svc-cta h2{font-family:var(--display);font-weight:640;font-stretch:72%;letter-spacing:-.022em;line-height:.95;font-size:clamp(2.4rem,5.4vw,5rem);margin:0 auto;max-width:16ch;text-wrap:balance}
.svc-cta .lede{margin:22px auto 0}
.svc-cta .row-cta{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:34px}
.svc-cta .direct{margin-top:26px;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 26px;font-family:var(--mono);font-size:.8rem;letter-spacing:.06em}
.svc-cta .direct a{text-decoration:none;color:var(--ink-soft)}
.svc-cta .direct a:hover{color:var(--ink)}

@media (max-width:900px){
  .svc-hero .wrap,.svc-block .wrap{grid-template-columns:minmax(0,1fr)}
  .svc .faq .faq-grid{grid-template-columns:minmax(0,1fr)}
  .svc-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:560px){
  .svc-list,.svc-steps{grid-template-columns:minmax(0,1fr)}
  .svc-gallery{grid-template-columns:minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce){.svc-media video{display:none}}
