:root {
  --brand-1: #667eea;
  --brand-2: #764ba2;
  --font-display: "SF Pro Display", "SF Pro Icons", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --font-text: "SF Pro Text", "SF Pro Icons", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

body {
  font-family: var(--font-text) !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

header,
.site-header {
  background: linear-gradient(135deg, var(--brand-1) 0%, var(--brand-2) 100%);
  color: white;
  padding: 14px 0 !important;
  box-shadow: 0 2px 18px rgba(0, 0, 0, 0.12);
}

header nav,
header .header-inner,
.site-header-inner,
header > .max-w-2xl,
header > .max-w-3xl {
  width: 100%;
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 0 20px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
}

header a[href="/"]:not(.nav-link),
header a[href="/"] .logo,
.site-header a[href="/"].logo,
.logo {
  color: white;
  font-family: var(--font-display) !important;
  font-size: 23px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  line-height: 1.2;
  text-decoration: none !important;
}

.site-header .hero {
  padding-top: 54px;
}

h1,
h2,
h3,
.logo,
.eyebrow,
.hero-badge,
.badge,
.kicker,
.section-title,
.btn-primary,
.btn-secondary,
.cta-btn,
.cta-button,
.btn,
.nav-link,
button {
  font-family: var(--font-display) !important;
  letter-spacing: 0 !important;
}

p,
li,
input,
textarea,
select,
.subtitle,
.subheading,
.card p,
.benefit-card p,
.outcome-card p,
.screen-card p,
.practice-card p,
.note-card p,
.article-content,
.article-excerpt {
  font-family: var(--font-text) !important;
}

.hero h1,
.page-hero h1,
.article-title {
  font-family: var(--font-display) !important;
  font-size: clamp(34px, 7vw, 62px) !important;
  line-height: 1.05 !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
}

.btn-primary,
.btn-secondary,
.cta-btn,
.cta-button,
.submit-btn,
.book-btn,
.call-btn,
.maps-btn,
.final-cta-btn,
.card-btn,
.price-reveal-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px !important;
  text-decoration: none !important;
}

.btn-primary,
.submit-btn,
.book-btn,
.final-cta-btn,
.card-btn,
.price-reveal-btn {
  color: white !important;
  background: linear-gradient(135deg, var(--brand-1), var(--brand-2)) !important;
}

.btn-secondary,
.cta-btn,
.cta-button,
.call-btn,
.maps-btn {
  color: var(--brand-2) !important;
}

header .nav-link,
header .nav-manage,
.site-header .nav-link {
  border-radius: 8px !important;
}

.cta-section .btn-secondary {
  color: white !important;
  background: transparent !important;
  border-color: rgba(255, 255, 255, 0.45) !important;
}

.section-title h2,
.section h2,
.doctor-transition h2,
.pricing-section h2,
.faq-section h2,
.final-cta h2,
.cta-section h2,
.article-body h1,
.article-body h2 {
  font-family: var(--font-display) !important;
  font-size: clamp(28px, 5vw, 44px) !important;
  line-height: 1.12 !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
}

.cta-section h2,
.final-cta h2 {
  font-size: clamp(30px, 5vw, 46px) !important;
  line-height: 1.08 !important;
}

.benefit-card h3,
.outcome-card h3,
.screen-card h3,
.practice-card h3,
.journey-step h3,
.contact-card h3,
.note-card h2,
.price-card h3,
.faq-item h3,
.mini-card h3,
.step-card h3,
.side-card h3,
.article-body h3,
.cta-box h3,
.card-title {
  font-family: var(--font-display) !important;
  font-size: 19px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
}

.hero .subtitle,
.page-subtitle,
.article-subtitle,
.section-title p,
.doctor-transition p,
.cta-section p,
.final-cta p {
  font-family: var(--font-text) !important;
  font-size: 17px !important;
  line-height: 1.45 !important;
}

.kicker,
.eyebrow,
.hero-badge,
.badge,
.practice-card-label,
.note-label,
.card-date {
  font-family: var(--font-display) !important;
  letter-spacing: 0 !important;
}

.btn-primary,
.btn-secondary,
.cta-btn,
.cta-button,
.submit-btn,
.book-btn,
.call-btn,
.maps-btn,
.final-cta-btn,
.card-btn,
.price-reveal-btn,
button {
  font-family: var(--font-display) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
}

.contact-card,
.form-section,
.pain-card,
.price-card,
.faq-item,
.step-card,
.side-card,
.guide-card,
.mini-card,
.note-card,
.post-card,
.article-card,
.cta-box,
.profile-card,
.doctor-card,
.slot-card,
.final-cta-card,
.summary-card,
.journey-card,
.quote-panel,
.highlight-text,
.metric-card,
.screen-card,
.benefit-card,
.outcome-card,
.practice-card,
.mock-screen,
.panel,
.compare-card,
.rounded-2xl,
.rounded-xl {
  border-radius: 8px !important;
}

footer {
  background: linear-gradient(135deg, var(--brand-1) 0%, var(--brand-2) 100%);
  color: white;
  text-align: center;
  padding: 36px 20px;
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  font-size: 14px;
}

footer p {
  margin: 0;
  font-weight: 500;
}

.footer-links {
  margin-top: 14px;
  display: flex;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}

.footer-links a {
  color: rgba(255, 255, 255, 0.9);
  text-decoration: none;
  font-size: 12px;
  transition: color 0.2s;
}

.footer-links a:hover {
  color: white;
}

.footer-divider {
  color: rgba(255, 255, 255, 0.6);
  margin: 0 6px;
}

@media (max-width: 600px) {
  header,
  .site-header {
    padding: 11px 0 !important;
  }

  header nav,
  header .header-inner,
  .site-header-inner,
  header > .max-w-2xl,
  header > .max-w-3xl {
    padding: 0 14px !important;
  }

  header a[href="/"]:not(.nav-link),
  header a[href="/"] .logo,
  .site-header a[href="/"].logo,
  .logo {
    font-size: 17px !important;
  }

  .footer-links {
    margin-top: 12px;
    gap: 6px;
  }
}
