/* ============================================================
   PRO DENTAL - RED EDITION - TOOTH BACKGROUND (enhanced)
   "Molar constellation": giant tooth + halo echo in hero,
   rotated echo tooth in CTA band, sparkle glint, divider
   constellation, ghost molars in prices/faq.
   Pure CSS + inline SVG data URIs. No 3D, no JS.
   Loaded AFTER theme-red.css.
   ============================================================ */

/* ---------- HERO: big tooth + fine halo echo ---------- */
.hero::before {
  content: "";
  position: absolute; left: -170px; top: -60px;
  width: clamp(460px, 48vw, 720px); aspect-ratio: 1 / 1;
  background: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%203.2c1.5-1%203.4-1.4%205-.7%202.5%201%203.4%203.7%202.9%206.5-.4%202.4-1.4%204.7-2.3%207-.6%201.5-1%203.3-1.6%204.6-.4.9-1.5%201-2%200-.6-1.3-.8-3-1.4-4.4-.3-.7-.8-1.4-1.6-1.4s-1.3.7-1.6%201.4c-.6%201.4-.8%203.1-1.4%204.4-.5%201-1.6.9-2%200-.6-1.3-1-3.1-1.6-4.6-.9-2.3-1.9-4.6-2.3-7C2.6%206.2%203.5%203.5%206%202.5c1.6-.7%203.5-.3%205%20.7Z'%20fill%3D'none'%20stroke%3D'%23c2232d'%20stroke-width%3D'0.42'%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
  opacity: 0.14;
  pointer-events: none; z-index: 0;
}
.hero::after {
  content: "";
  position: absolute; left: -140px; top: -30px;
  width: clamp(460px, 48vw, 720px); aspect-ratio: 1 / 1;
  background: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%203.2c1.5-1%203.4-1.4%205-.7%202.5%201%203.4%203.7%202.9%206.5-.4%202.4-1.4%204.7-2.3%207-.6%201.5-1%203.3-1.6%204.6-.4.9-1.5%201-2%200-.6-1.3-.8-3-1.4-4.4-.3-.7-.8-1.4-1.6-1.4s-1.3.7-1.6%201.4c-.6%201.4-.8%203.1-1.4%204.4-.5%201-1.6.9-2%200-.6-1.3-1-3.1-1.6-4.6-.9-2.3-1.9-4.6-2.3-7C2.6%206.2%203.5%203.5%206%202.5c1.6-.7%203.5-.3%205%20.7Z'%20fill%3D'none'%20stroke%3D'%23c2232d'%20stroke-width%3D'1'%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
  opacity: 0.05;
  pointer-events: none; z-index: 0;
}
.hero__grid, .hero__strip { position: relative; z-index: 1; }

/* ---------- CTA BAND: rotated tooth + echo ---------- */
.cta-band { position: relative; overflow: hidden; }
.cta-band::before {
  content: "";
  position: absolute; right: -130px; top: 50%;
  transform: translateY(-50%) rotate(14deg);
  width: 460px; aspect-ratio: 1 / 1;
  background: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%203.2c1.5-1%203.4-1.4%205-.7%202.5%201%203.4%203.7%202.9%206.5-.4%202.4-1.4%204.7-2.3%207-.6%201.5-1%203.3-1.6%204.6-.4.9-1.5%201-2%200-.6-1.3-.8-3-1.4-4.4-.3-.7-.8-1.4-1.6-1.4s-1.3.7-1.6%201.4c-.6%201.4-.8%203.1-1.4%204.4-.5%201-1.6.9-2%200-.6-1.3-1-3.1-1.6-4.6-.9-2.3-1.9-4.6-2.3-7C2.6%206.2%203.5%203.5%206%202.5c1.6-.7%203.5-.3%205%20.7Z'%20fill%3D'none'%20stroke%3D'%23f6e3e4'%20stroke-width%3D'0.42'%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
  opacity: 0.13;
  pointer-events: none;
}
.cta-band::after {
  content: "";
  position: absolute; right: -100px; top: 50%;
  transform: translateY(-50%) rotate(14deg);
  width: 460px; aspect-ratio: 1 / 1;
  background: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%203.2c1.5-1%203.4-1.4%205-.7%202.5%201%203.4%203.7%202.9%206.5-.4%202.4-1.4%204.7-2.3%207-.6%201.5-1%203.3-1.6%204.6-.4.9-1.5%201-2%200-.6-1.3-.8-3-1.4-4.4-.3-.7-.8-1.4-1.6-1.4s-1.3.7-1.6%201.4c-.6%201.4-.8%203.1-1.4%204.4-.5%201-1.6.9-2%200-.6-1.3-1-3.1-1.6-4.6-.9-2.3-1.9-4.6-2.3-7C2.6%206.2%203.5%203.5%206%202.5c1.6-.7%203.5-.3%205%20.7Z'%20fill%3D'none'%20stroke%3D'%23f0b9bd'%20stroke-width%3D'1'%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
  opacity: 0.05;
  pointer-events: none;
}
.cta-band__in { position: relative; z-index: 1; }

/* ---------- SPARKLE: animated glint on the hero photo ---------- */
.hero__media { position: relative; }
.hero__media::before {
  content: "";
  position: absolute; top: 26px; right: 30px; z-index: 3;
  width: 26px; height: 26px;
  background: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%203.2c1.5-1%203.4-1.4%205-.7%202.5%201%203.4%203.7%202.9%206.5-.4%202.4-1.4%204.7-2.3%207-.6%201.5-1%203.3-1.6%204.6-.4.9-1.5%201-2%200-.6-1.3-.8-3-1.4-4.4-.3-.7-.8-1.4-1.6-1.4s-1.3.7-1.6%201.4c-.6%201.4-.8%203.1-1.4%204.4-.5%201-1.6.9-2%200-.6-1.3-1-3.1-1.6-4.6-.9-2.3-1.9-4.6-2.3-7C2.6%206.2%203.5%203.5%206%202.5c1.6-.7%203.5-.3%205%20.7Z'%20fill%3D'none'%20stroke%3D'%23c2232d'%20stroke-width%3D'2.6'%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
  opacity: 0.9;
  animation: pdGlint 3.2s ease-in-out infinite;
}
@keyframes pdGlint {
  0%, 100% { opacity: 0.25; transform: scale(0.82) rotate(0deg); }
  50% { opacity: 0.95; transform: scale(1.06) rotate(18deg); }
}

/* ---------- SECTION DIVIDER: molar constellation ---------- */
.trust { position: relative; }
.trust::before {
  content: "";
  position: absolute; left: 0; top: 34px;
  width: 100%; height: 60px;
  background:
    url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%203.2c1.5-1%203.4-1.4%205-.7%202.5%201%203.4%203.7%202.9%206.5-.4%202.4-1.4%204.7-2.3%207-.6%201.5-1%203.3-1.6%204.6-.4.9-1.5%201-2%200-.6-1.3-.8-3-1.4-4.4-.3-.7-.8-1.4-1.6-1.4s-1.3.7-1.6%201.4c-.6%201.4-.8%203.1-1.4%204.4-.5%201-1.6.9-2%200-.6-1.3-1-3.1-1.6-4.6-.9-2.3-1.9-4.6-2.3-7C2.6%206.2%203.5%203.5%206%202.5c1.6-.7%203.5-.3%205%20.7Z'%20fill%3D'none'%20stroke%3D'%23c2232d'%20stroke-width%3D'0.55'%2F%3E%3C%2Fsvg%3E") no-repeat 12px 50% / 56px 56px,
    url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%203.2c1.5-1%203.4-1.4%205-.7%202.5%201%203.4%203.7%202.9%206.5-.4%202.4-1.4%204.7-2.3%207-.6%201.5-1%203.3-1.6%204.6-.4.9-1.5%201-2%200-.6-1.3-.8-3-1.4-4.4-.3-.7-.8-1.4-1.6-1.4s-1.3.7-1.6%201.4c-.6%201.4-.8%203.1-1.4%204.4-.5%201-1.6.9-2%200-.6-1.3-1-3.1-1.6-4.6-.9-2.3-1.9-4.6-2.3-7C2.6%206.2%203.5%203.5%206%202.5c1.6-.7%203.5-.3%205%20.7Z'%20fill%3D'none'%20stroke%3D'%23c2232d'%20stroke-width%3D'0.55'%2F%3E%3C%2Fsvg%3E") no-repeat 190px 50% / 40px 40px,
    url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%203.2c1.5-1%203.4-1.4%205-.7%202.5%201%203.4%203.7%202.9%206.5-.4%202.4-1.4%204.7-2.3%207-.6%201.5-1%203.3-1.6%204.6-.4.9-1.5%201-2%200-.6-1.3-.8-3-1.4-4.4-.3-.7-.8-1.4-1.6-1.4s-1.3.7-1.6%201.4c-.6%201.4-.8%203.1-1.4%204.4-.5%201-1.6.9-2%200-.6-1.3-1-3.1-1.6-4.6-.9-2.3-1.9-4.6-2.3-7C2.6%206.2%203.5%203.5%206%202.5c1.6-.7%203.5-.3%205%20.7Z'%20fill%3D'none'%20stroke%3D'%23c2232d'%20stroke-width%3D'0.55'%2F%3E%3C%2Fsvg%3E") no-repeat 300px 50% / 32px 32px,
    url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%203.2c1.5-1%203.4-1.4%205-.7%202.5%201%203.4%203.7%202.9%206.5-.4%202.4-1.4%204.7-2.3%207-.6%201.5-1%203.3-1.6%204.6-.4.9-1.5%201-2%200-.6-1.3-.8-3-1.4-4.4-.3-.7-.8-1.4-1.6-1.4s-1.3.7-1.6%201.4c-.6%201.4-.8%203.1-1.4%204.4-.5%201-1.6.9-2%200-.6-1.3-1-3.1-1.6-4.6-.9-2.3-1.9-4.6-2.3-7C2.6%206.2%203.5%203.5%206%202.5c1.6-.7%203.5-.3%205%20.7Z'%20fill%3D'none'%20stroke%3D'%23c2232d'%20stroke-width%3D'0.55'%2F%3E%3C%2Fsvg%3E") no-repeat 380px 50% / 30px 30px,
    url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%203.2c1.5-1%203.4-1.4%205-.7%202.5%201%203.4%203.7%202.9%206.5-.4%202.4-1.4%204.7-2.3%207-.6%201.5-1%203.3-1.6%204.6-.4.9-1.5%201-2%200-.6-1.3-.8-3-1.4-4.4-.3-.7-.8-1.4-1.6-1.4s-1.3.7-1.6%201.4c-.6%201.4-.8%203.1-1.4%204.4-.5%201-1.6.9-2%200-.6-1.3-1-3.1-1.6-4.6-.9-2.3-1.9-4.6-2.3-7C2.6%206.2%203.5%203.5%206%202.5c1.6-.7%203.5-.3%205%20.7Z'%20fill%3D'none'%20stroke%3D'%23c2232d'%20stroke-width%3D'0.55'%2F%3E%3C%2Fsvg%3E") no-repeat 505px 50% / 22px 22px;
  opacity: 0.1;
  pointer-events: none;
}
.trust .container { position: relative; z-index: 1; }

/* ---------- PRICES: huge quiet molar behind the grid ---------- */
.prices { position: relative; overflow-x: clip; }
.prices::before {
  content: "";
  position: absolute; right: -120px; top: 90px;
  width: 520px; aspect-ratio: 1 / 1;
  background: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%203.2c1.5-1%203.4-1.4%205-.7%202.5%201%203.4%203.7%202.9%206.5-.4%202.4-1.4%204.7-2.3%207-.6%201.5-1%203.3-1.6%204.6-.4.9-1.5%201-2%200-.6-1.3-.8-3-1.4-4.4-.3-.7-.8-1.4-1.6-1.4s-1.3.7-1.6%201.4c-.6%201.4-.8%203.1-1.4%204.4-.5%201-1.6.9-2%200-.6-1.3-1-3.1-1.6-4.6-.9-2.3-1.9-4.6-2.3-7C2.6%206.2%203.5%203.5%206%202.5c1.6-.7%203.5-.3%205%20.7Z'%20fill%3D'none'%20stroke%3D'%23241417'%20stroke-width%3D'0.5'%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
  opacity: 0.05;
  pointer-events: none; z-index: 0;
}
.prices .container { position: relative; z-index: 1; }

/* ---------- FAQ: ghost molar ---------- */
.faq { position: relative; overflow-x: clip; }
.faq::before {
  content: "";
  position: absolute; right: 4%; bottom: 6%;
  width: 360px; aspect-ratio: 1 / 1;
  background: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%203.2c1.5-1%203.4-1.4%205-.7%202.5%201%203.4%203.7%202.9%206.5-.4%202.4-1.4%204.7-2.3%207-.6%201.5-1%203.3-1.6%204.6-.4.9-1.5%201-2%200-.6-1.3-.8-3-1.4-4.4-.3-.7-.8-1.4-1.6-1.4s-1.3.7-1.6%201.4c-.6%201.4-.8%203.1-1.4%204.4-.5%201-1.6.9-2%200-.6-1.3-1-3.1-1.6-4.6-.9-2.3-1.9-4.6-2.3-7C2.6%206.2%203.5%203.5%206%202.5c1.6-.7%203.5-.3%205%20.7Z'%20fill%3D'none'%20stroke%3D'%23c2232d'%20stroke-width%3D'0.5'%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
  opacity: 0.06;
  pointer-events: none; z-index: 0;
}
.faq .container { position: relative; z-index: 1; }

/* ---------- mobile: keep it subtle ---------- */
@media (max-width: 640px) {
  .hero::before { left: -200px; top: -90px; width: 150vw; opacity: 0.11; }
  .hero::after { left: -180px; top: -70px; width: 150vw; opacity: 0.04; }
  .cta-band::before { right: -200px; width: 400px; }
  .cta-band::after { right: -170px; width: 400px; }
  .prices::before { width: 400px; right: -160px; }
  .faq::before { width: 260px; }
  .trust::before { display: none; }
}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
  .hero__media::before { animation: none; }
}
