/* Brightwell Dental Group — warm, calm, trustworthy. Cream + evergreen + apricot, Fraunces + DM Sans. */
:root {
    --k-font-head: 'Fraunces', Georgia, serif;
    --k-font-body: 'DM Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
    --k-head-weight: 600;
    --k-bg: #FAF6F0;
    --k-ink: #2B3A38;
    --k-ink-strong: #15302C;
    --k-ink-soft: #5D6B68;
    --k-primary: #1F4D47;
    --k-primary-hover: #173C37;
    --k-on-primary: #FFFFFF;
    --k-primary-shadow: rgba(31, 77, 71, 0.28);
    --k-primary-soft: rgba(31, 77, 71, 0.09);
    --k-accent: #F2A57A;
    --k-on-accent: #3A1E0E;
    --k-accent-text: #A4502A;
    --k-link: #1F4D47;
    --k-focus: #D9763F;
    --k-line: rgba(31, 77, 71, 0.12);
    --k-line-strong: rgba(31, 77, 71, 0.24);
    --k-input-bg: rgba(255, 255, 255, 0.85);
    --k-glass-bg: rgba(255, 252, 247, 0.62);
    --k-glass-border: rgba(255, 255, 255, 0.85);
    --k-glass-highlight: rgba(255, 255, 255, 0.9);
    --k-glass-shadow: 0 18px 44px -18px rgba(31, 77, 71, 0.28);
    --k-glass-blur: 18px;
    --k-overlay-bg: rgba(250, 246, 240, 0.9);
    --k-radius: 16px;
    --k-radius-lg: 22px;
    --k-radius-xl: 30px;
    --k-urgent-bg: #C9502A;
    --k-urgent-ink: #FFFFFF;
    --k-ok-bg: #DCEFE5;
    --k-ok-ink: #1E6B48;
    --k-error: #B23A20;
    --k-star: #E39A3B;
    --k-map-bg: #EFE6DA;
    --k-map-road: #FFFFFF;
    --k-map-block: #E3D7C6;
    --k-map-park: #CFE2D6;
    --k-phone-bg: linear-gradient(160deg, #1F4D47 0%, #12302C 100%);
    --k-phone-ink: #F4EFE7;
    --k-bubble-ai: rgba(255, 255, 255, 0.12);
    --k-bubble-ai-ink: #F4EFE7;
    --k-bubble-caller: #F2A57A;
    --k-bubble-caller-ink: #3A1E0E;
    --k-wave: #F2A57A;
    --k-wave-caller: #FAF6F0;
    --k-glow-opacity: 0.45;
}
body {
    background:
        radial-gradient(1100px 600px at 100% -10%, rgba(242, 165, 122, 0.22), transparent 60%),
        radial-gradient(900px 600px at -10% 30%, rgba(156, 197, 184, 0.25), transparent 60%),
        var(--k-bg);
    background-attachment: fixed;
}
h1, h2 { font-variation-settings: 'opsz' 96; }
.k-logo span { font-family: 'Fraunces', serif; font-weight: 600; letter-spacing: -0.01em; }
.k-hero-media { border-radius: 200px 200px 34px 34px; box-shadow: 0 30px 60px -25px rgba(31, 77, 71, 0.45); }
.k-hero-media img { object-position: center 30%; }
.k-section:nth-of-type(even) { background: linear-gradient(180deg, transparent, rgba(239, 230, 218, 0.45), transparent); }
.k-service img { border-radius: 0; }
.k-icon { background: rgba(242, 165, 122, 0.22); color: #A4502A; }
.k-steps li::before { background: var(--k-accent); color: var(--k-on-accent); }
.offer-band { background: linear-gradient(120deg, rgba(31, 77, 71, 0.94), rgba(23, 60, 55, 0.92)); color: #F4EFE7; border-color: rgba(255, 255, 255, 0.15); }
.offer-band h2, .offer-band .k-eyebrow { color: #FAF6F0; }
.offer-band p { color: rgba(244, 239, 231, 0.85); }
.offer-band .k-btn-primary { background: var(--k-accent); color: var(--k-on-accent); box-shadow: none; }
.k-footer { background: #15302C; color: #E6DED2; margin-top: 40px; }
.k-footer h2 { color: #F2A57A; font-family: var(--k-font-body); }
.k-footer a, .k-footer .k-logo { color: #FAF6F0; }
.k-footer-bottom { border-top: 1px solid rgba(255, 255, 255, 0.12); }
.k-footer .k-badge-247 { background: #F2A57A; color: #3A1E0E; }
