/* Service-page-only visual refinement. Copy, URL and provider form preservation. */
.service-visual-page main{min-width:0}
.service-visual-page main .section{padding-top:84px;padding-bottom:84px}
.service-visual-page .service-hero{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(30px,5vw,76px);padding-top:28px;padding-bottom:48px;align-items:center}
.service-visual-page .service-hero>*{min-width:0}
.service-visual-page .service-hero h1{font-size:clamp(38px,4vw,56px);line-height:1.08;max-width:650px;letter-spacing:-.04em}
.service-visual-page .service-hero .hero-copy{padding:0}
.service-visual-page .service-hero .hero-lead{font-size:21px;line-height:1.5;max-width:32ch;margin-bottom:16px}
.service-visual-page .service-hero .muted{font-size:15px;line-height:1.7;max-width:51ch}
.service-visual-page .service-hero .hero-photo{min-width:0;align-self:stretch}
.service-visual-page .service-hero .hero-photo img{width:100%;height:clamp(420px,39vw,560px);object-fit:cover;border-radius:3px}
.service-visual-page .service-hero figcaption{font-size:11px;padding-top:10px}
.service-visual-page .service-switch{display:flex;flex-wrap:wrap;align-items:stretch;gap:8px 25px;font-size:12px}
.service-visual-page .service-switch>span{flex-basis:100%;font-size:10px;letter-spacing:.08em;text-transform:uppercase;margin-right:0}
.service-visual-page .service-switch>a{display:flex;align-items:center;min-height:44px;padding:8px 0;max-width:100%;white-space:normal;overflow-wrap:anywhere}
.service-visual-page .service-switch a[aria-current=page]{border-color:var(--orange)}
.service-visual-page .service-intro{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(36px,7vw,105px);align-items:start}
.service-visual-page .service-intro .intro-body{max-width:65ch;font-size:17px;line-height:1.75}
.service-visual-page .service-intro .intro-body p:last-child{margin-bottom:0}
.service-visual-page .scope-section{background:color-mix(in srgb,var(--paper) 55%,var(--white));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.service-visual-page .scope-grid{gap:32px 38px}
.service-visual-page .scope-item{padding-top:22px;border-top:1px solid var(--line)}
.service-visual-page .scope-item .number{color:var(--orange);font-size:12px;letter-spacing:.06em}
.service-visual-page .scope-item h3{font-size:23px;line-height:1.2;margin:15px 0 12px;max-width:24ch}
.service-visual-page .scope-item p{font-size:15px;line-height:1.7;margin-bottom:0}
.service-visual-page .service-project-feature{display:block}
.service-visual-page .service-photo-slider{--photo-gap:20px;--photo-basis:calc((100% - var(--photo-gap)) / 1.7);margin-bottom:34px}
.service-visual-page .service-photo-slider .photo-slide{background:transparent;border-radius:2px}
.service-visual-page .service-photo-slider .photo-slide img{height:clamp(280px,32vw,440px);width:100%;object-fit:cover;aspect-ratio:auto}
.service-visual-page.service-custom-build .service-photo-slider .photo-slide img{object-fit:contain;background:var(--paper)}
.service-visual-page .service-photo-slider .photo-slide figcaption{margin:0;padding:10px 0;font-size:11px}
.service-visual-page .service-photo-slider .slider-status{margin:0;font-size:11px}
.service-visual-page .service-feature-copy{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,6vw,90px);align-items:start}
.service-visual-page .service-feature-copy h2{margin-bottom:0;max-width:540px}
.service-visual-page .service-feature-copy>div:last-child{max-width:52ch;padding-top:26px;font-size:16px;line-height:1.7}
.service-visual-page .service-planning{color:var(--ink);background:color-mix(in srgb,var(--orange) 5%,var(--paper));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.service-visual-page .planning-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(35px,6vw,90px);align-items:start}
.service-visual-page .planning-layout>div:first-child{position:sticky;top:95px}
.service-visual-page .service-planning-photo{margin:30px 0 0;max-width:480px;overflow:hidden;border-radius:2px}
.service-visual-page .service-planning-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.service-visual-page .planning-items article{border-top:1px solid var(--line);padding:22px 0}
.service-visual-page .planning-items article:first-child{padding-top:0;border-top:0}
.service-visual-page .planning-items article:last-child{padding-bottom:0}
.service-visual-page .planning-items h3{font-size:22px;line-height:1.25;margin-bottom:10px}
.service-visual-page .planning-items p{color:var(--muted);font-size:15px;line-height:1.75}
.service-visual-page .service-process{gap:clamp(35px,6vw,90px);align-items:start}
.service-visual-page .service-process .step p{font-size:15px;line-height:1.7}
.service-visual-page .service-process .step-num{color:var(--orange)}
.service-visual-page .service-faq{gap:clamp(35px,6vw,90px)}
.service-visual-page .service-faq .faq summary{font-size:17px;line-height:1.45;padding-right:28px}
.service-visual-page .service-faq .faq p{font-size:15px;line-height:1.75;max-width:65ch}
.service-visual-page .guides .guide h3{font-size:23px;line-height:1.25}
.service-visual-page .photo-track:focus-visible,.service-visual-page .photo-slider button:focus-visible{outline:3px solid var(--orange);outline-offset:4px}
.service-visual-page .photo-slider button:hover:not(:disabled){border-color:var(--orange)}
@media(max-width:1050px){
 .service-visual-page .service-hero{grid-template-columns:minmax(0,1fr);gap:26px}
 .service-visual-page .service-hero .hero-copy{max-width:720px}
 .service-visual-page .service-hero .hero-photo img{height:clamp(300px,45vw,440px)}
 .service-visual-page .service-intro,.service-visual-page .planning-layout{gap:40px}
 .service-visual-page .service-photo-slider{--photo-basis:calc((100% - var(--photo-gap)) / 1.5)}
}
@media(max-width:850px){
 .service-visual-page main .section{padding-top:55px;padding-bottom:55px}
 .service-visual-page .service-intro,.service-visual-page .planning-layout,.service-visual-page .service-feature-copy{grid-template-columns:minmax(0,1fr);gap:24px}
 .service-visual-page .planning-layout>div:first-child{position:static}
 .service-visual-page .service-planning-photo{max-width:none;margin-top:24px}
 .service-visual-page .service-planning-photo img{max-height:300px;aspect-ratio:16/9}
 .service-visual-page .service-feature-copy>div:last-child{padding-top:0;max-width:none}
 .service-visual-page .service-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 18px}
 .service-visual-page .service-switch>span{grid-column:1/-1}
 .service-visual-page .service-switch>a{min-width:0;font-size:12px;line-height:1.4}
}
@media(max-width:650px){
 .service-visual-page main .section{padding-top:43px;padding-bottom:43px}
 .service-visual-page .service-hero{padding-top:17px;padding-bottom:28px;gap:21px}
 .service-visual-page .service-hero h1{font-size:clamp(29px,8vw,34px);line-height:1.12;letter-spacing:-.035em;margin-bottom:14px}
 .service-visual-page .service-hero .hero-lead{font-size:17px;line-height:1.45;max-width:none;margin-bottom:12px}
 .service-visual-page .service-hero .muted{font-size:15px;line-height:1.55;max-width:none}
 .service-visual-page .service-hero .hero-actions{margin:18px 0 0}
 .service-visual-page .service-hero .hero-photo img{height:clamp(215px,64vw,280px)}
 .service-visual-page .service-hero figcaption{padding-top:8px;font-size:10px}
 .service-visual-page .service-intro .intro-body{font-size:16px;line-height:1.7}
 .service-visual-page .scope-grid{grid-template-columns:minmax(0,1fr);gap:23px}
 .service-visual-page .scope-item{padding-top:19px}
 .service-visual-page .scope-item h3{font-size:22px;margin:12px 0 10px}
 .service-visual-page .service-photo-slider{--photo-gap:12px;--photo-basis:calc((100% - var(--photo-gap)) / 1.08);margin-bottom:26px}
 .service-visual-page .service-photo-slider .photo-slide img{height:clamp(205px,62vw,280px)}
 .service-visual-page .service-photo-slider .photo-slide figcaption{font-size:10px;gap:10px;line-height:1.5}
 .service-visual-page .service-feature-copy{gap:18px}
 .service-visual-page .service-planning-photo img{height:210px;aspect-ratio:auto}
 .service-visual-page .planning-items h3{font-size:21px}
 .service-visual-page .planning-items article{padding:19px 0}
 .service-visual-page .service-faq .faq summary{font-size:16px}
 .service-visual-page .service-process,.service-visual-page .service-faq{gap:25px}
 .service-visual-page .service-photo-slider .slider-controls{gap:10px}
}

/* The three earlier canonical routes use service-page, not service-visual-page. */
.service-page .service-switch{flex-wrap:wrap;min-width:0}
@media(max-width:850px){
 .service-page .service-switch,.service-visual-page .service-switch{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;
  gap:5px 18px;width:100%;max-width:100%;min-width:0;justify-content:stretch;
 }
 .service-page .service-switch>span,.service-visual-page .service-switch>span{grid-column:1/-1;min-width:0;margin-right:0}
 .service-page .service-switch>a,.service-visual-page .service-switch>a{
  display:flex;align-items:center;min-width:0;max-width:100%;min-height:44px;padding:8px 0;
  white-space:normal;overflow-wrap:anywhere;font-size:12px;line-height:1.4;
 }
}
