/* Shared, semantic service-page components. Inherit variables from selected design. */
.service-intro { padding:clamp(3.5rem,8vw,8rem) 1.2rem clamp(2.5rem,5vw,5rem);max-width:1320px;margin:0 auto;}
.service-intro__kicker,.service-number {display:block;font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:1.1rem;}
.service-intro h1 {max-width:1100px;margin:0 0 1.25rem;font-size:clamp(2.4rem,5.9vw,6.2rem);line-height:1.02;letter-spacing:-.065em;text-wrap:balance;}
.service-intro p{max-width:860px;font-size:clamp(1rem,1.4vw,1.3rem);line-height:1.75;color:var(--text-muted);margin:0 0 1.6rem;}
.service-intro .cta-row{margin-top:2rem;}
.service-media{max-width:1280px;margin:0 auto 3rem;padding:0 1.2rem;}
.service-media img{width:100%;max-height:600px;object-fit:cover;border-radius:var(--radius);}
.service-media__note{margin:.55rem 0 0;color:var(--text-muted);font-size:.78rem;}
.service-copy{padding:clamp(2.5rem,5vw,5rem) 1.2rem;max-width:1280px;margin:0 auto;}
.service-copy > h2, .service-copy .section-header h2{font-size:clamp(1.8rem,3.5vw,3.3rem);line-height:1.12;letter-spacing:-.05em;max-width:960px;}
.service-copy > p,.service-copy .section-header p{max-width:920px;color:var(--text-muted);line-height:1.8;}
.service-copy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem;margin:2rem 0 0;}
.service-copy-card{padding:clamp(1.35rem,3vw,2.2rem);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);}
.service-copy-card h3{font-size:clamp(1.15rem,1.8vw,1.55rem);line-height:1.2;letter-spacing:-.028em;margin:0 0 .85rem;}
.service-copy-card p{color:var(--text-muted);line-height:1.76;margin:0;}
.service-copy-card a,.service-inline-link{display:inline-block;margin-top:1rem;color:var(--accent);font-weight:700;text-underline-offset:4px;text-decoration:underline;}
.service-crosslinks{display:flex;gap:.7rem;flex-wrap:wrap;margin:2rem 0 0;}
.service-crosslinks a{display:inline-block;padding:.65rem .9rem;border:1px solid var(--line);border-radius:4px;color:var(--text);font-size:.82rem;}
.service-crosslinks a:hover{border-color:var(--accent);color:var(--accent);}
.service-note{padding:1.2rem 1.4rem;margin:2rem 0;border-inline-start:3px solid var(--accent);background:var(--surface-soft);line-height:1.7;color:var(--text-muted);}
.service-directory-grid .card{display:block;text-decoration:none;padding:clamp(1.25rem,2.5vw,2rem);}
.service-directory-grid .card h3{margin:.3rem 0 .75rem;}
.service-directory-grid .card p{line-height:1.7;}
.service-link{display:block;color:var(--accent);font-size:.83rem;font-weight:700;margin-top:1.35rem;}
html[data-site-design="v2"] .service-copy-card{box-shadow:0 12px 30px rgba(18,33,49,.04);}
html[data-site-design="experimental"] .service-intro h1 {text-transform:uppercase;font-weight:800;font-size:clamp(2.5rem,7.2vw,8rem);line-height:.94;}
html[data-site-design="experimental"] .service-copy > h2,
html[data-site-design="experimental"] .service-copy .section-header h2{text-transform:uppercase;font-weight:800;}
html[data-site-design="experimental"] .service-copy-card{border-radius:2px;}
html[data-site-design="experimental"] .service-intro__kicker{letter-spacing:.2em;}
@media(max-width:720px){.service-copy-grid{grid-template-columns:1fr;}.service-intro{padding-top:3.8rem;}.service-copy{padding-block:2.5rem;}}
@media(prefers-reduced-motion:reduce){.service-copy-card,.service-crosslinks a{transition:none;}}