/* Service pages (/services/…) — builds on styles.css */
.svc-page .nav-links a.active { color: var(--ink); background: var(--glass-bg-strong); }
.crumbs { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; font-size: .82rem; color: var(--muted); margin-bottom: 14px; }
.crumbs a { color: var(--ink-2); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--line); padding: 6px 0; }
.crumbs a:hover { color: var(--gold); }
.crumbs [aria-current] { color: var(--ink); font-weight: 600; }

.sp-hero { padding: 24px 0 40px; }
.sp-hero h1 { font-size: clamp(2.3rem, 9vw, 4.2rem); margin-bottom: 14px; }
.sp-hero .lead { max-width: 36em; }
.sp-hero-grid { display: grid; gap: 28px; align-items: center; }
.sp-hero-img { margin: 0; padding: 8px; border-radius: 160px 160px var(--radius) var(--radius); overflow: hidden; max-width: 520px; width: 100%; justify-self: center; }
.sp-hero-img img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 152px 152px 16px 16px; }
.facts { list-style: none; padding: 0; margin: 4px 0 18px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.facts li { display: flex; flex-direction: column; border-left: 1px solid var(--line); padding-left: 12px; }
.facts li:first-child { border: 0; padding-left: 0; }
.facts b { font-family: var(--serif); font-size: 1.6rem; line-height: 1.1; color: var(--gold); }
.facts span { font-size: .78rem; color: var(--muted); }
.sp-hero .hero-cta .btn-gold { flex: 1 1 100%; }
.sp-hero-index { padding-bottom: 8px; }

.sp-section { padding: 48px 0; }
.sp-two { display: grid; gap: 18px; align-items: start; }
.pricelist { padding: 18px 16px; }
.pl-head { display: grid; gap: 2px; margin-bottom: 6px; }
.pl-head h2 { margin: 0; }
.pl { list-style: none; margin: 0; padding: 0; }
.pl-row { display: grid; grid-template-columns: 1fr auto; grid-template-areas: "name price" "name book"; gap: 4px 12px; align-items: center; padding: 14px 0; border-bottom: 1px dashed var(--line); }
.pl-row:last-child { border-bottom: 0; }
.pl-name { grid-area: name; display: grid; gap: 2px; }
.pl-name b { font-weight: 700; color: var(--ink); }
.pl-name span { font-size: .8rem; color: var(--muted); }
.pl-price { grid-area: price; display: flex; gap: 8px; align-items: baseline; justify-content: flex-end; white-space: nowrap; }
.pl-price small { font-size: .72rem; color: var(--muted); }
.pl-price s { color: var(--muted); font-size: .85rem; }
.pl-price b { font-family: var(--serif); font-size: 1.35rem; color: var(--gold); }
.pl-book { grid-area: book; justify-self: end; min-height: 36px; }
.pl-note { margin: 10px 0 0; }

.sp-aside { display: grid; gap: 14px; }
.sp-card { padding: 20px; }
.sp-card h3 { font-size: 1.4rem; }
.sp-card .ticks { margin: 0; }
.offer-list { margin: 0 0 8px; padding-left: 18px; display: grid; gap: 8px; font-size: .9rem; color: var(--ink-2); }
.sp-cta { display: grid; gap: 10px; background: linear-gradient(135deg, #17130b, #2b2210); border-color: rgba(201, 162, 77, .5); }
.sp-cta h3 { background: var(--gold-grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.sp-cta p { color: #e3d7b8; margin: 0 0 4px; }
.sp-cta .btn-ghost { color: #f3e7c8; border-color: rgba(243, 231, 200, .3); background: transparent; }

.steps-grid { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
.steps-grid li { padding: 20px; position: relative; }
.steps-grid h3 { font-size: 1.25rem; margin-top: 6px; }
.steps-grid p { margin: 0; font-size: .9rem; }
.step-n { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--gold-grad); color: #1a1408; font-weight: 800; }

.sp-faq { max-width: 820px; }

.cat-group + .cat-group { margin-top: 36px; }
.cat-group h2 { font-size: clamp(1.6rem, 5vw, 2.2rem); }
.cat-grid { display: grid; gap: 12px; }
.cat-card { display: grid; grid-template-columns: 88px 1fr auto; gap: 14px; align-items: center; padding: 10px 16px 10px 10px; transition: transform .4s var(--ease), border-color .3s; }
.cat-card:hover { transform: translateY(-3px); border-color: var(--gold); }
.cat-img { width: 88px; height: 72px; border-radius: 14px; overflow: hidden; display: block; }
.cat-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.cat-card:hover .cat-img img { transform: scale(1.08); }
.cat-body { display: grid; gap: 2px; min-width: 0; }
.cat-body b { font-family: var(--serif); font-size: 1.3rem; line-height: 1.15; }
.cat-body small { color: var(--muted); font-size: .82rem; }
.cat-go { color: var(--gold); font-size: 1.3rem; transition: transform .3s var(--ease); }
.cat-card:hover .cat-go { transform: translateX(4px); }

.footer-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 14px; margin: 8px 0; font-size: .85rem; }
.footer-links a { color: var(--ink-2); padding: 6px 0; }
.footer-links a:hover { color: var(--gold); }

@media (min-width: 640px) {
  .sp-hero .hero-cta .btn-gold { flex: 0 1 auto; }
  .steps-grid { grid-template-columns: 1fr 1fr; }
  .cat-grid { grid-template-columns: 1fr 1fr; }
  .pl-row { grid-template-columns: 1fr auto auto; grid-template-areas: "name price book"; }
  .pricelist { padding: 22px 24px; }
}
@media (min-width: 1000px) {
  .sp-hero { padding: 40px 0 60px; }
  .sp-hero-grid { grid-template-columns: 1.1fr .9fr; gap: 56px; }
  .sp-two { grid-template-columns: 1.5fr 1fr; gap: 24px; }
  .sp-aside { position: sticky; top: 110px; }
  .steps-grid { grid-template-columns: repeat(4, 1fr); }
  .cat-grid { grid-template-columns: repeat(3, 1fr); }
  .sp-section { padding: 70px 0; }
}
