/* Service content uses the parent vertical's theme and shared controls. */
.service-page .service-hero { min-height:690px; }
.service-breadcrumbs { display:flex; flex-wrap:wrap; align-items:center; gap:10px; font-size:12px; color:#e2eadc; margin-bottom:24px; }
.service-breadcrumbs a { text-decoration:none; }
.service-breadcrumbs a:hover { text-decoration:underline; }
.service-page .hero h1 { font-size:clamp(42px,4.2vw,62px); }
.service-page .hero-copy { font-size:18px; }
.service-jump { border-bottom:1px solid #dcded5; background:white; }
.service-jump .wrap { display:flex; flex-wrap:wrap; gap:16px 44px; padding-block:22px; }
.service-jump a { text-decoration:none; font-size:14px; font-weight:700; }
.service-jump a:hover { color:var(--accentInk); text-decoration:underline; }
.service-section { padding-block:64px; }
.service-intro { max-width:690px; }
.service-intro h2 { margin-bottom:18px; }
.service-intro>p:not(.eyebrow) { color:var(--muted); line-height:1.75; }
.service-scope-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:36px; margin-top:38px; }
.service-scope-grid article { border-top:1px solid #cdd5c7; padding:26px 8px 0 0; }
.service-scope-grid .icon { width:48px; height:48px; color:var(--accentInk); margin-bottom:18px; }
.service-scope-grid h3 { margin-bottom:12px; font-size:22px; }
.service-scope-grid p { color:var(--muted); font-size:16px; line-height:1.75; }
.service-factor-band { background:var(--soft); padding-block:60px; }
.service-factor-layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:70px; }
.service-text-link { display:inline-flex; align-items:center; gap:16px; font-weight:800; font-size:14px; margin-top:24px; }
.service-factor-list { margin:0; padding:0; list-style:none; }
.service-factor-list li { display:flex; gap:26px; padding-block:24px; border-bottom:1px solid #cad5b9; }
.service-factor-list li:first-child { padding-top:0; }
.service-factor-list li:last-child { padding-bottom:0; border:0; }
.factor-number { color:var(--accentInk); font-size:28px; font-weight:800; line-height:1.2; min-width:40px; }
.service-factor-list h3 { font-size:20px; margin-bottom:9px; }
.service-factor-list p { color:var(--muted); font-size:15px; line-height:1.7; }
.service-preparation { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.service-checklist { list-style:none; padding:0; margin:28px 0 0; display:grid; gap:24px; }
.service-checklist li { display:flex; gap:18px; }
.service-checklist .icon { width:24px; height:24px; color:var(--accentInk); margin-top:2px; }
.service-checklist h3 { font-size:18px; margin-bottom:8px; }
.service-checklist p { font-size:15px; color:var(--muted); line-height:1.7; }
.service-garden { width:100%; height:610px; object-fit:cover; border-radius:22px; }
.service-reading { display:grid; grid-template-columns:1.1fr 1fr; gap:64px; padding-top:16px; }
.service-reading h2 { font-size:32px; }
.service-location-links { list-style:none; margin:24px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:22px 32px; }
.service-location-links a,.service-related a { display:inline-flex; align-items:center; gap:14px; font-weight:800; font-size:15px; }
.service-location-links .future-link { font-size:15px; }
.service-location-links small { display:block; font-size:12px; color:var(--muted); margin-top:7px; }
.service-related { padding:30px; background:var(--soft); border-radius:18px; align-self:center; }
.service-related>.icon { width:42px; height:42px; color:var(--accentInk); margin-bottom:20px; }
.service-related h3 { font-size:26px; margin-bottom:14px; }
.service-related p { color:var(--muted); margin-bottom:20px; font-size:16px; line-height:1.75; }
.service-page .faq { padding-top:16px; }
.service-page .faq details>p { font-size:16px; }
@media(max-width:1150px) {
 .service-factor-layout,.service-preparation,.service-reading { gap:36px; }
 .service-page .hero h1 { font-size:47px; }
 .service-scope-grid { gap:24px; }
}
@media(max-width:900px) {
 .service-factor-layout { grid-template-columns:1fr; gap:32px; }
 .service-garden { height:570px; }
 .service-scope-grid h3 { font-size:20px; }
 .service-page .hero h1 { font-size:42px; }
 .service-page .hero-copy { font-size:16px; }
}
@media(max-width:760px) {
 .service-page .service-hero { min-height:0; }
 .service-breadcrumbs { margin-bottom:20px; font-size:11px; gap:8px; }
 .service-page .hero h1 { font-size:clamp(38px,9vw,58px); }
 .service-page .hero-copy { font-size:17px; }
 .service-jump .wrap { display:grid; grid-template-columns:1fr 1fr; gap:16px; padding-block:20px; }
 .service-jump a { font-size:13px; }
 .service-section { padding-block:38px; }
 .service-scope-grid { grid-template-columns:1fr; gap:24px; margin-top:28px; }
 .service-scope-grid article { padding-top:22px; }
 .service-scope-grid .icon { width:40px; height:40px; margin-bottom:12px; }
 .service-factor-band { padding-block:38px; }
 .service-factor-list li { gap:18px; padding-block:22px; }
 .factor-number { font-size:24px; min-width:32px; }
 .service-preparation,.service-reading { grid-template-columns:1fr; gap:30px; }
 .service-garden { height:320px; }
 .service-reading { padding-top:0; }
 .service-reading h2 { font-size:29px; }
 .service-related { padding:25px; }
 .service-related h3 { font-size:25px; }
 .service-page .faq { padding-top:0; }
}
/* Location pages share the editorial shell; their service list is a pair. */
.location-page .service-scope-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.location-page .service-scope-grid h3 a { display:inline-flex; align-items:center; gap:12px; text-decoration:none; }
.location-page .service-scope-grid h3 a:hover { text-decoration:underline; }
.location-page .service-scope-grid h3 .icon { width:22px; height:22px; margin:0; }
.location-page .service-breadcrumbs>a>.icon { display:none; }
@media(max-width:760px) { .location-page .service-scope-grid { grid-template-columns:1fr; } }
