/* Service-specific layout; shared brand and lavida-nav stay in velda-site.css. */
.service-page [id] { scroll-margin-top: 110px; }
.service-hero { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:clamp(2rem,5vw,5rem); align-items:center; padding-block:clamp(2rem,5vw,5rem); }
.service-breadcrumb { font-size:.8rem; color:var(--taupe); margin-bottom:2.2rem; }
.service-hero h1 { max-width:none; font-size:clamp(3.4rem,6.6vw,6.7rem); letter-spacing:-.065em; line-height:1; margin:1rem 0 1.6rem; }
.service-hero h1 span { display:block; font-size:.7em; margin-top:.3em; }
.service-hero__copy > p { max-width:38rem; }
.service-dek { font-family:var(--serif); font-size:clamp(1.6rem,2.6vw,2.1rem); line-height:1.2; margin-bottom:1rem; }
.service-facts { display:flex; flex-wrap:wrap; gap:1.5rem 2.5rem; margin:1.8rem 0; padding-block:1.2rem; border-block:1px solid var(--linen); }
.service-facts dt { font-size:.7rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--taupe); }
.service-facts dd { margin:0; font-size:1.12rem; }
.service-actions { display:flex; flex-wrap:wrap; align-items:center; gap:1rem 1.5rem; }
.service-page .service-small { margin-top:1.1rem; font-size:.85rem; }
.service-portrait { align-self:stretch; display:flex; flex-direction:column; }
.service-portrait img { width:100%; height:100%; min-height:0; max-height:720px; object-fit:cover; border-radius:120px 120px 14px 14px; }
.service-portrait figcaption { padding:1rem .5rem; font-size:.75rem; color:var(--taupe); text-align:center; }
.service-explainer { background:rgba(242,232,220,.65); }
.service-columns { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,5rem); }
.service-page h2 { font-size:clamp(2.5rem,4.5vw,4.8rem); line-height:1.02; }
.service-columns h2 { margin-top:1rem; }
.service-prose { display:grid; align-content:start; gap:1.25rem; font-size:1.08rem; }
.service-steps { list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem; padding:0; margin:0; }
.service-steps li { border-top:1px solid var(--gold); padding-top:1.5rem; }
.service-steps h3 { font-size:2rem; line-height:1.08; margin:1.2rem 0; }
.service-page a:focus-visible { outline:3px solid var(--gold); outline-offset:5px; }
@media(max-width:820px) {
 .service-hero { grid-template-columns:1fr; }
 .service-breadcrumb { margin-bottom:1.5rem; }
 .service-hero h1 { font-size:clamp(3rem,10.5vw,5rem); }
 .service-portrait { max-width:460px; width:100%; margin:auto; }
 .service-portrait img { height:auto; max-height:530px; object-position:center 35%; }
 .service-columns,.service-steps { grid-template-columns:1fr; }
 .service-steps { gap:2rem; }
}
@media(max-width:380px) {
 .service-facts { gap:1rem; }
 .service-facts dd { font-size:1rem; }
 .service-actions .button { width:100%; }
}
