.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.service-hero { padding:112px 0 56px; background:var(--clr-cream); }
.breadcrumbs { display:flex; flex-wrap:wrap; gap:8px; color:var(--clr-text-light); font-size:.75rem; margin-bottom:34px; }
.breadcrumbs a { text-decoration:underline; text-underline-offset:4px; }
.service-hero-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:clamp(32px,6vw,80px); align-items:center; }
.service-title { font:500 clamp(2.75rem,5vw,4.25rem)/1.1 var(--font-display); letter-spacing:-.035em; margin-bottom:24px; }
.service-title em { color:var(--clr-primary); font-weight:500; }
.service-lead { color:var(--clr-text-light); max-width:530px; margin-bottom:26px; }
.service-facts { display:flex; flex-wrap:wrap; gap:18px 32px; border-top:1px solid var(--clr-border); padding-top:22px; margin:26px 0; }
.service-facts dt { color:var(--clr-text-light); font-size:.75rem; }
.service-facts dd { font-size:1.125rem; font-weight:700; margin-top:3px; }
.service-portrait { min-width:0; }
.service-portrait img { width:100%; aspect-ratio:1; object-fit:cover; border-radius:44% 44% 8px 8px; }
.service-portrait figcaption { font-size:.75rem; color:var(--clr-text-light); margin-top:12px; }
.service-split { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(32px,6vw,80px); }
.service-copy p+p { margin-top:18px; }
.service-copy p { color:var(--clr-text-light); }
.service-benefits { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.service-benefit { padding:28px; border:1px solid var(--clr-border); border-radius:8px; background:white; }
.service-benefit>span { color:var(--clr-primary); font-size:.75rem; }
.service-benefit h3 { font:500 1.5rem/1.3 var(--font-display); margin:16px 0 14px; }
.service-benefit p { font-size:.875rem; color:var(--clr-text-light); }
.service-tinted { background:var(--clr-cream); }
.service-steps { counter-reset:steps; }
.service-steps li { position:relative; padding:0 0 26px 54px; }
.service-steps li::before { counter-increment:steps; content:'0' counter(steps); position:absolute; left:0; color:var(--clr-primary); font-weight:600; }
.service-steps h3 { font:500 1.375rem/1.3 var(--font-display); margin-bottom:8px; }
.service-steps p { color:var(--clr-text-light); font-size:.875rem; }
.service-prep { padding:32px; border:1px solid var(--clr-border); border-radius:8px; background:white; align-self:start; }
.service-prep h3 { font:500 1.5rem/1.3 var(--font-display); margin-bottom:18px; }
.service-prep p { color:var(--clr-text-light); font-size:.875rem; }
.service-prep p+p { margin-top:16px; }
.service-price-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; max-width:900px; margin:auto; }
.service-price-card { padding:32px; border:1px solid var(--clr-border); border-radius:8px; background:white; }
.service-price-card h3 { font:500 1.5rem/1.3 var(--font-display); margin-bottom:12px; }
.service-price-card>p { color:var(--clr-text-light); font-size:.875rem; }
.service-price-card .price { margin:18px 0 6px; color:var(--clr-text); }
.service-price-card .btn { margin-top:20px; }
.service-price-card.primary { background:var(--clr-cream); border-color:var(--clr-primary); }
.service-price-note { max-width:900px; margin:22px auto 0; font-size:.8125rem; color:var(--clr-text-light); }
.service-boutique { padding:clamp(28px,4vw,48px); border-radius:12px; background:var(--clr-plum); color:white; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:40px; align-items:center; }
.service-boutique img { width:100%; border-radius:8px; }
.service-boutique .section-label { color:#FFC8DB; }
.service-boutique p { color:#F2E3EA; margin-bottom:22px; font-size:.9375rem; }
.service-boutique h2 { font:500 clamp(1.75rem,3vw,2.5rem)/1.2 var(--font-display); margin-bottom:18px; }
.service-boutique .btn { background:white; color:var(--clr-plum); }
.service-boutique .btn:hover { background:var(--clr-primary-soft); }
.service-faq { max-width:900px; margin:auto; }
.service-contact { background:var(--clr-cream); }
.service-contact-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:48px; align-items:center; }
.service-contact .section-subtitle { margin-bottom:24px; }
.service-contact-info { padding:28px 32px; background:white; border:1px solid var(--clr-border); border-radius:8px; }
.service-contact-info p { font-size:.875rem; margin-bottom:18px; }
.service-contact-info strong { font-size:1rem; }
.service-contact-info a { display:block; overflow-wrap:anywhere; margin-top:6px; }
.service-contact-info a:hover { color:var(--clr-primary); }
.service-contact-info small { color:var(--clr-text-light); }
.service-work-link { margin-top:28px; }
.error-page { padding-block:160px 100px; min-height:70vh; background:var(--clr-cream); }
.error-page .section-subtitle { margin-bottom:28px; }
@media (max-width:900px) {
  .service-hero-grid { gap:32px; }
  .service-hero .service-title { font-size:clamp(2.5rem,5.8vw,3.5rem); }
  .service-split { gap:32px; }
  .service-benefits { gap:16px; }
  .service-benefit { padding:22px; }
  .service-boutique { gap:28px; }
}
@media (max-width:650px) {
  .service-hero { padding-top:96px; }
  .breadcrumbs { margin-bottom:24px; }
  .service-hero-grid,.service-split,.service-benefits,.service-price-grid,.service-boutique,.service-contact-grid { grid-template-columns:1fr; }
  .service-hero .service-title { font-size:clamp(2.25rem,10vw,3rem); }
  .service-portrait { max-width:380px; width:100%; margin:auto; }
  .service-facts { gap:16px 24px; }
  .service-facts dd { font-size:1rem; }
  .service-prep,.service-price-card,.service-contact-info { padding:24px; }
  .service-boutique { padding:24px; gap:24px; }
  .service-price-card .btn { display:flex; }
}
