/* Phase 2 service content. Inherits Topanga Detail's typography, blue accents, compact layout and existing header/footer. */
.service-hero, .service-index-hero {max-width:1440px; margin:0 auto; padding:clamp(2.75rem,5vw,4.5rem) max(4vw,24px)}
.service-hero {display:grid;grid-template-columns:1fr .94fr;gap:clamp(1.5rem,4vw,4rem);align-items:center}
.service-hero h1,.service-index-hero h1 {font:800 clamp(2.65rem,5vw,5.3rem)/1.02 Manrope,sans-serif;letter-spacing:-.055em;max-width:900px;margin:0 0 1.1rem}
.service-hero h1::after,.service-index-hero h1::after {content:"";display:block;width:23%;height:4px;border-radius:20px;margin-top:.28em;background:linear-gradient(90deg,var(--blue),transparent)}
.service-lead,.service-index-hero>p {color:var(--muted);font-size:1.07rem;line-height:1.7;max-width:680px}
.service-hero-photo{position:relative;margin:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:#101720}
.service-hero-photo img{width:100%;height:clamp(340px,38vw,495px);object-fit:cover}
.service-hero-photo figcaption{position:absolute;bottom:0;left:0;right:0;padding:1.7rem 1rem .7rem;font-size:.73rem;color:#eff6ff;background:linear-gradient(transparent,#05070ae8)}
.service-overview{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(1.5rem,5vw,5rem)}
.service-overview h2,.service-steps h2,.service-choice h2,.service-related h2,.service-local h2,.service-hub h2{font:800 clamp(1.7rem,2.9vw,2.75rem)/1.16 Manrope,sans-serif;letter-spacing:-.035em;margin:.2rem 0 1rem}
.service-overview>div:last-child{color:var(--muted);max-width:720px}
.service-overview>div:last-child p:first-child{margin-top:0}
.service-steps{padding-top:2.3rem;padding-bottom:3rem}
.service-step-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:1.35rem}
.service-step-grid article{border:1px solid var(--line);border-radius:16px;background:#0c1117;padding:1.25rem;min-height:200px}
.service-step-grid b{color:var(--blue2);font:700 .72rem Manrope,sans-serif}
.service-step-grid h3{font:700 1.12rem/1.3 Manrope,sans-serif;margin:.95rem 0 .45rem}
.service-step-grid p{color:var(--muted);font-size:.9rem;line-height:1.6;margin:0}
.service-choice{display:grid;grid-template-columns:1fr .9fr;gap:clamp(1rem,4vw,3rem);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.service-choice>div:first-child p:last-child{color:var(--muted)}
.service-choice-note{border:1px solid #165b93;background:linear-gradient(145deg,#0f2030,#091015);border-radius:var(--radius);padding:1.6rem}
.service-choice-note h3{margin:.1rem 0 .7rem;font:700 1.2rem Manrope,sans-serif}
.service-choice-note p{color:var(--muted);font-size:.94rem}
.service-related{padding-top:2.9rem;padding-bottom:2.9rem}
.service-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.2rem}
.service-related-grid a{display:flex;flex-direction:column;position:relative;min-height:118px;padding:1.15rem 2rem 1.15rem 1.2rem;border:1px solid var(--line);border-radius:13px;background:#0c1117;transition:border-color .2s,transform .2s}
.service-related-grid a:hover,.service-related-grid a:focus-visible{border-color:var(--blue);transform:translateY(-2px)}
.service-related-grid span{font-weight:700}.service-related-grid small{color:var(--muted);font-size:.78rem;margin-top:.5rem}.service-related-grid b{position:absolute;right:1.15rem;top:1.15rem;color:var(--blue2)}
.service-local{padding-top:1.7rem;padding-bottom:2.65rem}.service-local>header{max-width:680px}.service-local>header p:last-child{color:var(--muted)}
.service-city-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 1.4rem;margin-top:1rem}
.service-city-grid a{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--line);font-size:.91rem}
.service-city-grid a:hover,.service-city-grid a:focus-visible{color:var(--blue2);border-color:var(--blue)}
.service-city-grid span{color:var(--blue2)}
.service-faq{padding-top:2.7rem;padding-bottom:3rem}
.service-index-hero{padding-bottom:2rem}.service-index-hero>p{max-width:820px}.service-hub{padding-top:2rem;padding-bottom:2.6rem}
.service-hub header{max-width:800px}.service-hub header>p:last-child{color:var(--muted)}
.service-hub-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:1.4rem;align-items:stretch}
.service-hub-grid article{min-width:0}.service-hub-card{display:flex;flex-direction:column;height:100%;overflow:hidden;border:1px solid var(--line);border-radius:17px;background:#0b1016;transition:border-color .2s,transform .2s}
.service-hub-card:hover,.service-hub-card:focus-visible{border-color:var(--blue);transform:translateY(-2px)}
.service-hub-image{height:150px;overflow:hidden}.service-hub-image img{width:100%;height:100%;object-fit:cover}
.service-hub-copy{padding:1.1rem;display:flex;flex-direction:column;flex:1}.service-hub-copy small{color:var(--blue2);font-size:.69rem;text-transform:uppercase;letter-spacing:.07em}.service-hub-copy h3{font:700 1.16rem/1.28 Manrope,sans-serif;margin:.45rem 0}.service-hub-copy p{font-size:.86rem;line-height:1.5;color:var(--muted);margin:0 0 1.1rem;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.service-hub-copy span{margin-top:auto;font-weight:700;font-size:.8rem;color:var(--blue2)}
.service-page .service-more{margin-top:1.25rem}.service-page .service-more a{font-size:.9rem}
/* Internal links appear naturally inside existing homepage and city service cards. */
.service-grid h3 a,.catalog-grid h3 a{color:inherit;text-decoration:none;transition:color .2s}
.service-grid h3 a:hover,.service-grid h3 a:focus-visible,.catalog-grid h3 a:hover,.catalog-grid h3 a:focus-visible{color:var(--blue2)}
@media(max-width:1100px){.service-hub-grid,.service-step-grid{grid-template-columns:repeat(2,1fr)}.service-hero{grid-template-columns:1fr 1fr}}
@media(max-width:800px){.service-hero,.service-overview,.service-choice{grid-template-columns:1fr}.service-hero-photo img{height:330px}.service-city-grid,.service-related-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.service-hero,.service-index-hero{padding-top:2rem;padding-bottom:2rem}.service-hero h1,.service-index-hero h1{font-size:2.75rem}.service-hub-grid,.service-step-grid,.service-city-grid,.service-related-grid{grid-template-columns:1fr}.service-step-grid article{min-height:auto}.service-hub-image{height:180px}.service-hero .actions,.service-index-hero .actions{display:grid}.service-hero-photo img{height:310px}}

/* Phase 1: modern image formats maintain fixed card and hero dimensions. */
.service-hub-image > picture { height: 100%; }
