/* Theme: DUO — orchid (#BA77D9) + evergreen (#24B97C) as co-primary colors.
   Role discipline: evergreen = structure + actions; orchid = display accents.
   Playfair Display + Karla. */
@font-face { font-family: 'Playfair Display'; src: url('../fonts/playfair-500.woff2') format('woff2'); font-weight: 500; font-display: swap; }
@font-face { font-family: 'Playfair Display'; src: url('../fonts/playfair-600.woff2') format('woff2'); font-weight: 600; font-display: swap; }
@font-face { font-family: 'Playfair Display'; src: url('../fonts/playfair-700.woff2') format('woff2'); font-weight: 700; font-display: swap; }
@font-face { font-family: 'Karla'; src: url('../fonts/karla-400.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'Karla'; src: url('../fonts/karla-500.woff2') format('woff2'); font-weight: 500; font-display: swap; }
@font-face { font-family: 'Karla'; src: url('../fonts/karla-700.woff2') format('woff2'); font-weight: 700; font-display: swap; }

:root {
  --font-display: 'Playfair Display', Georgia, serif;
  --font-body: 'Karla', Arial, sans-serif;
  /* co-primaries (deepened from #24B97C / #BA77D9 for AA text contrast on white) */
  --accent: #17936B;          /* evergreen: buttons, links, nav, structure */
  --accent-2: #A85CC9;        /* orchid: display headings, icons, highlights */
  --accent-soft: #24B97C;
  --accent-2-soft: #BA77D9;
  --ink: #2B2F33;
  --ink-soft: #4E555B;
  --bg: #fff;
  --header-bg: #fff;
  --navbar-bg: #F2F8F5;
  --nav-link: #7FA491;
  --nav-link-active: #2E5C48;
  /* alternating tint families: mint sections lean green, gray sections lean lavender */
  --mint: #EEF8F3;
  --mint-strong: #DDF2E8;
  --gray: #F5F1F9;
  --card-bg: #F8F5FB;
  --review-strip-bg: #FAFCFB;
  --footer-bg: #2E5C48;
  --footer-strip-bg: #3D2A4D;   /* the duo signature: green footer, plum baseline strip */
  --btn-radius: 999px;
  --hero-band-bg: linear-gradient(120deg, rgba(10,36,26,.90), rgba(61,42,77,.86)), url('../img/5f21a0bc4bea630021c895c0_optimized_1920.webp') center/cover no-repeat #17372A;
  --dark-band-bg: linear-gradient(120deg, rgba(10,36,26,.90), rgba(61,42,77,.86)), url('../img/5f21a0bc4bea630021c895c0_optimized_1920.webp') center/cover no-repeat #17372A;
  --dark-photo-band-bg: linear-gradient(120deg, rgba(9,26,19,.85), rgba(45,30,58,.85)), url('../img/DENTAL-BG3.1.png') center/cover no-repeat #17372A;
}

/* Role assignments */
.section-title { color: var(--accent-2); font-weight: 600; letter-spacing: .01em; }
.prose h2 { color: var(--accent-2); }
.section-sub { font-family: var(--font-body); font-weight: 700; }
.home-hero__welcome { color: var(--accent-2-soft); font-family: var(--font-body); }
.home-hero__dot.is-active { background: var(--accent-2-soft); }
.card__icon { background: #fff; border-radius: 50%; overflow: hidden; box-shadow: 0 2px 10px rgba(43, 30, 58, .18); }
.checklist li::before { background: var(--accent-2); }
.testi__name { color: var(--accent-2); }
.testi__quote::before { color: var(--accent-2); }
.top-meta__label { color: var(--accent); }

/* Structure stays evergreen */
.nav-list a { font-weight: 500; letter-spacing: .05em; }
.btn { font-weight: 700; letter-spacing: .02em; box-shadow: 0 2px 10px rgba(23, 147, 107, .22); }
.btn:hover { filter: none; background: #106B4E; }
.btn--ghost { background: #fff; color: var(--accent); box-shadow: inset 0 0 0 1.5px var(--accent); }
.btn--ghost:hover { color: #106B4E; }

/* Shared component softening */
.card { border-radius: 14px; overflow: hidden; box-shadow: 0 6px 22px rgba(43, 60, 52, .08); }
.review-card, .testi__quote { border-radius: 14px; }
.profile-card { border-radius: 18px; }
.contact-info, .contact-form { border-radius: 18px; }
.contact-wrap { gap: 20px; }
.field input, .field textarea, .field select { border-radius: 10px; }
.page-hero__title { font-weight: 700; }
