/* Services hub with phone-first service discovery. */
.services-v3 { min-height:70vh; padding:0 16px 64px; }
.services-v3-hero,.services-v3-section,.services-v3-local { max-width:1200px; margin:auto; }
.services-v3-hero { padding:42px 0 30px; }
.services-v3-hero h1 { max-width:13ch; margin:0; color:var(--plum); font:500 clamp(44px,11vw,64px)/.98 var(--display-serif); letter-spacing:-.05em; }
.services-v3-hero h1 em { color:var(--pink-strong); }
.services-v3-hero p:last-child { max-width:55ch; margin:16px 0 0; color:var(--muted); font-size:14px; }
.services-v3-grid { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.services-v3-card { min-width:0; text-decoration:none; }
.services-v3-card-media { position:relative; aspect-ratio:4/5; overflow:hidden; background:var(--pink-soft); }
.services-v3-card-media img { width:100%; height:100%; object-fit:cover; transition:transform .7s var(--ease-flower); }
.services-v3-card-media::after { content:""; position:absolute; inset:38% 0 0; background:linear-gradient(transparent,rgba(72,35,51,.58)); }
.services-v3-card-label { position:absolute; right:10px; bottom:10px; left:10px; z-index:1; color:#fff; font:500 18px/1.1 var(--display-serif); }
.services-v3-card-copy { padding:9px 1px 12px; }
.services-v3-card-copy p { margin:0; color:var(--muted); font-size:10px; }
.services-v3-card-copy span { display:inline-block; margin-top:7px; color:var(--pink-strong); font-size:9px; font-weight:800; }
.services-v3-section { padding:42px 0; }
.services-v3-section-head { margin-bottom:16px; }
.services-v3-section-head h2,.services-v3-local h2 { max-width:14ch; margin:0; color:var(--plum); font:500 clamp(31px,8vw,44px)/1.03 var(--display-serif); }
.services-v3-section-head p { max-width:50ch; color:var(--muted); font-size:12px; }
.services-v3-local { display:grid; gap:12px; padding:24px 18px; background:var(--pink-soft); }
.services-v3-local p { max-width:57ch; color:var(--muted); font-size:12px; }
.services-v3-zones { display:flex; flex-wrap:wrap; gap:7px; }
.services-v3-zones span { padding:7px 10px; border:1px solid var(--line); color:var(--plum); background:var(--bg); font-size:10px; }
.services-v3-links { display:flex; flex-wrap:wrap; gap:8px; }
.services-v3-links a { padding:11px 14px; color:var(--white); background:var(--plum); font-size:10px; font-weight:800; text-decoration:none; }
.services-v3-links a:hover { background:var(--pink-strong); }
@media(min-width:620px) {
  .services-v3 { padding-inline:22px; }
  .services-v3-hero { padding:58px 0 38px; }
  .services-v3-hero h1 { font-size:clamp(58px,7vw,78px); }
  .services-v3-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
  .services-v3-card-copy p { font-size:11px; }
  .services-v3-local { grid-template-columns:.8fr 1.2fr; gap:24px; padding:32px; }
  .services-v3-links { grid-column:2; }
}
@media(min-width:980px) {
  .services-v3-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
  .services-v3-card:hover img { transform:scale(1.045); }
  .services-v3-card-label { right:16px; bottom:16px; left:16px; font-size:22px; }
  .services-v3-card-copy { padding:12px 2px 18px; }
  .services-v3-card-copy p { font-size:12px; }
}
@media(prefers-reduced-motion:reduce) { .services-v3-card-media img { transition:none; } }
