/* HealthProMatcher — dental landing */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Space+Grotesk:wght@500;600;700&display=swap');

  :root {
    --font-display: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
    --font-text: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
    --dm-field-dark: linear-gradient(128deg, #0a2f52 0%, #0b3a4c 46%, #0d3b38 100%);
    --dm-field-deep: linear-gradient(128deg, #082744 0%, #0a3140 48%, #0b322f 100%);
    --dm-hairline: rgba(149,177,174,0.16);
    --dm-teal: #16a6a0;
    --dm-teal-deep: #0f8b86;
    --dm-teal-light: #8fe3de;
    --dm-teal-wash: #e6f4f3;
    --dm-teal-soft: #cbe7e5;
    --dm-ink: #12312e;
    --dm-ink-2: #334b49;
    --dm-text: #16211f;
    --dm-muted: #4d635f;
    --dm-faint: #6b807d;
    --dm-sage: #95b1ae;
    --dm-line: #e3edeb;
    --dm-line-soft: #eef4f3;
    --dm-line-strong: #dbe8e6;
    --dm-wash: #f2f8f7;
    --dm-wash-2: #f6fcfb;
    --dm-card: #fbfdfd;
    --dm-night: #0a1f1e;
    --dm-on-teal: #04211f;
    --font-mono: 'Space Grotesk', ui-monospace, SFMono-Regular, monospace;
    --radius-pill: 999px;
    --space-2: 8px;
    --control-h-sm: 36px;
    --control-h-lg: 54px;
    --fs-sm: 0.875rem;
    --fs-h3: 1.125rem;
    --fw-bold: 700;
    --ls-tight: -0.02em;
    --ls-label: 0.08em;
    --dur-fast: 120ms;
    --dur-base: 220ms;
    --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
    --mc-cobalt: #0060ff;
  }
  html { scroll-behavior: smooth; }
  body { margin: 0; background: #ffffff; color: var(--dm-text); font-family: var(--font-text); -webkit-font-smoothing: antialiased; }
  * { box-sizing: border-box; }
  a { color: var(--dm-teal-deep); text-decoration: none; }
  a:hover { color: var(--dm-teal); }
  h1, h2, h3, h4, h5 { margin: 0; font-family: var(--font-display); font-weight: 700; letter-spacing: -0.028em; }
  .eyebrow { font-size: 11.5px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; }
  p { margin: 0; text-wrap: pretty; }
  ul { margin: 0; padding: 0; list-style: none; }
  summary::-webkit-details-marker { display: none; }
  summary { list-style: none; cursor: pointer; }
  details[open] .faq-plus { transform: rotate(45deg); }
  @keyframes pulseRing { 0% { box-shadow: 0 0 0 0 rgba(22,166,160,0.45); } 70% { box-shadow: 0 0 0 14px rgba(22,166,160,0); } 100% { box-shadow: 0 0 0 0 rgba(22,166,160,0); } }

.btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; font-family:var(--font-text); font-weight:700; line-height:1; border-radius:999px; border:1px solid transparent; cursor:pointer; white-space:nowrap; background:var(--dm-teal); color:#fff; box-shadow:0 12px 30px rgba(22,166,160,0.34); transition:transform 120ms cubic-bezier(.16,1,.3,1), box-shadow 220ms cubic-bezier(.16,1,.3,1), background 220ms cubic-bezier(.16,1,.3,1); }
.btn:hover { background:var(--dm-teal-deep); transform:translateY(-1px); }
.btn-sm { height:36px; padding:0 16px; font-size:14px; }
.btn-lg { height:54px; padding:0 30px; font-size:18px; }
a .btn { text-decoration:none; }
.hv0:hover { border-color:var(--dm-sage) !important; background:rgba(255,255,255,0.06) !important; }
.hv1:hover { border-color:var(--dm-teal) !important; }
.hv2:hover { border-color:var(--dm-teal) !important; }
.hv3:hover { border-color:var(--dm-teal) !important; }

@media (max-width: 1024px) {
  .grid-2, [style*="grid-template-columns:1.08fr 0.92fr"], [style*="grid-template-columns:0.95fr 1.05fr"] { grid-template-columns: 1fr !important; }
}

header a, .btn, a[href="#how"] { white-space: nowrap; }
@media (max-width: 900px) {
  header nav { display: none !important; }
  section > div { padding-left: 20px !important; padding-right: 20px !important; }
}

/* Compact the whole landing to 80% of the original scale (matches app.policymatcher.com/buy/final-expense) */
body { zoom: 0.8; }

/* Floating incoming-call demo card (parity with final-expense) */
@keyframes dentalFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }
@media (prefers-reduced-motion: no-preference) {
  .dental-call-card { animation: dentalFloat 6s ease-in-out infinite; will-change: transform; }
}

/* ── Responsive: collapse inline card grids on tablet/mobile ───────────────
   The layout uses inline grid-template-columns with no classes, so we target
   the exact inline values. Comparison table (1.15fr 1fr 1fr 1fr) is left as-is
   (rows are grid cells — collapsing would scramble it; it already fits). */
@media (max-width: 1024px) {
  [style*="grid-template-columns:repeat(3,1fr)"],
  [style*="grid-template-columns:repeat(4,1fr)"] { grid-template-columns: repeat(2, 1fr) !important; }
  [style*="grid-template-columns:250px 1fr"]      { grid-template-columns: 1fr !important; }
  [style*="grid-template-columns:1.7fr 1fr 1fr 1fr"] { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 640px) {
  [style*="grid-template-columns:repeat(3,1fr)"],
  [style*="grid-template-columns:repeat(4,1fr)"],
  [style*="grid-template-columns:repeat(2,1fr)"],
  [style*="grid-template-columns:1fr 1fr"],
  [style*="grid-template-columns:1.7fr 1fr 1fr 1fr"] { grid-template-columns: 1fr !important; }
}

/* Hero launch-offer tooltip — works on hover (desktop) and tap/focus (mobile) */
.dm-tip{position:relative;display:inline-flex;align-items:center;cursor:pointer;color:var(--dm-teal-light);outline:none}
.dm-tip:focus-visible{border-radius:50%;box-shadow:0 0 0 2px rgba(143,227,222,0.6)}
.dm-tip-pop{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translateX(-50%) translateY(4px);width:min(280px,78vw);background:#0b2f36;color:rgba(255,255,255,0.9);border:1px solid rgba(143,227,222,0.35);border-radius:12px;padding:12px 14px;font-size:12.5px;line-height:1.55;letter-spacing:normal;text-transform:none;font-weight:500;text-align:left;box-shadow:0 18px 40px rgba(0,0,0,0.45);opacity:0;visibility:hidden;transition:opacity .16s ease,visibility .16s ease,transform .16s ease;z-index:60}
.dm-tip-pop::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:6px solid transparent;border-top-color:#0b2f36}
.dm-tip:hover .dm-tip-pop,.dm-tip:focus .dm-tip-pop,.dm-tip:focus-within .dm-tip-pop{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
