.dentalcraft-visual-polish {
    --dcvp-accent: var(--accent, #0a7fa8);
    --dcvp-accent-strong: var(--accent-strong, #075f82);
    --dcvp-ink: var(--text, #112331);
    --dcvp-border: var(--border, #d9e8ee);
    --dcvp-ring: rgba(10, 127, 168, 0.28);
}

@media (min-width: 981px) {
    .dentalcraft-visual-polish .header-inner {
        gap: 18px;
    }

    .dentalcraft-visual-polish .nav,
    .dentalcraft-visual-polish .nav-menu {
        gap: 16px;
    }

    .dentalcraft-visual-polish .nav {
        font-size: 0.84rem;
    }

    .dentalcraft-visual-polish .nav-menu > li > a,
    .dentalcraft-visual-polish .header-cta {
        white-space: nowrap;
    }

    .dentalcraft-visual-polish .header-cta {
        flex: 0 0 auto;
        padding-inline: 18px;
        font-size: 0.88rem;
    }
}

@media (min-width: 981px) and (max-width: 1120px) {
    .dentalcraft-visual-polish .header-inner {
        gap: 12px;
    }

    .dentalcraft-visual-polish .nav,
    .dentalcraft-visual-polish .nav-menu {
        gap: 10px;
    }

    .dentalcraft-visual-polish .nav {
        font-size: 0.78rem;
    }

    .dentalcraft-visual-polish .header-cta {
        padding-inline: 12px;
        font-size: 0.78rem;
    }
}

@media (max-width: 980px) {
    .dentalcraft-visual-polish .header-inner {
        min-height: auto;
        flex-wrap: wrap;
    }

    .dentalcraft-visual-polish .brand {
        min-width: 0;
    }

    .dentalcraft-visual-polish .menu-toggle {
        display: inline-flex;
        margin-left: auto;
    }

    .dentalcraft-visual-polish .site-header.has-mobile-menu .header-inner > .header-cta {
        display: none;
    }

    .dentalcraft-visual-polish .nav {
        order: 3;
        width: 100%;
        display: none;
        flex: 0 0 100%;
        justify-content: flex-start;
        padding: 4px 0 8px;
    }

    .dentalcraft-visual-polish .nav.is-open {
        display: flex;
    }

    .dentalcraft-visual-polish .nav,
    .dentalcraft-visual-polish .nav-menu {
        align-items: stretch;
        flex-direction: column;
        gap: 0;
    }

    .dentalcraft-visual-polish .nav a,
    .dentalcraft-visual-polish .nav-menu a {
        width: 100%;
        border-top: 1px solid rgba(217, 232, 238, 0.8);
        padding: 11px 0;
    }

    .dentalcraft-visual-polish .nav-menu > li > a {
        display: block;
    }

    .dentalcraft-visual-polish .mobile-nav-cta {
        display: block;
        margin-top: 10px;
        border-top: 0;
        border-radius: 999px;
        padding: 11px 16px;
        background: var(--dcvp-accent);
        color: #ffffff;
        font-weight: 800;
        text-align: center;
    }

    .dentalcraft-visual-polish .nav-menu > li > a::after {
        display: none;
    }
}

.dentalcraft-visual-polish :where(.button, .contact-map-link) {
    transition: transform 160ms ease, background-color 160ms ease, border-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.dentalcraft-visual-polish .button:not(.secondary) {
    box-shadow: 0 14px 28px rgba(10, 127, 168, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.28);
}

.dentalcraft-visual-polish .button.secondary {
    box-shadow: 0 9px 20px rgba(16, 62, 80, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.dentalcraft-visual-polish :where(.button, .contact-map-link):focus-visible,
.dentalcraft-visual-polish .faq-item summary:focus-visible {
    outline: 3px solid var(--dcvp-ring);
    outline-offset: 4px;
}

.dentalcraft-visual-polish :where(.button, .contact-map-link):active {
    transform: translateY(0) scale(0.985);
    transition-duration: 80ms;
}

.dentalcraft-visual-polish .nav-menu > li > a {
    position: relative;
}

.dentalcraft-visual-polish .nav-menu > li > a::after {
    position: absolute;
    right: 0;
    bottom: -8px;
    left: 0;
    height: 2px;
    border-radius: 2px;
    content: "";
    background: var(--dcvp-accent);
    opacity: 0;
    transform: scaleX(0.35);
    transition: opacity 160ms ease, transform 160ms ease;
}

.dentalcraft-visual-polish .nav-menu > li > a:hover::after,
.dentalcraft-visual-polish .nav-menu > li > a:focus-visible::after,
.dentalcraft-visual-polish .nav-menu > .current-menu-item > a::after,
.dentalcraft-visual-polish .nav-menu > .current_page_item > a::after {
    opacity: 1;
    transform: scaleX(1);
}

.dentalcraft-visual-polish .lead-form :where(input:not([type="checkbox"]), select, textarea) {
    transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.dentalcraft-visual-polish .lead-form :where(input:not([type="checkbox"]), select, textarea):focus {
    outline: none;
    border-color: var(--dcvp-accent);
    background: #ffffff;
    box-shadow: 0 0 0 4px var(--dcvp-ring), 0 12px 24px rgba(16, 62, 80, 0.08);
}

.dentalcraft-visual-polish .checkbox-row input[type="checkbox"] {
    accent-color: var(--dcvp-accent);
    cursor: pointer;
    transition: transform 140ms ease;
}

.dentalcraft-visual-polish .checkbox-row input[type="checkbox"]:checked {
    color-scheme: light;
    box-shadow: 0 0 0 4px var(--dcvp-ring);
    animation: dcvp-check-pop 240ms ease-out;
}

.dentalcraft-visual-polish .checkbox-row input[type="checkbox"]:focus-visible {
    outline: 3px solid var(--dcvp-ring);
    outline-offset: 3px;
}

.dentalcraft-visual-polish .checkbox-row:has(input[type="checkbox"]:checked) {
    color: var(--dcvp-ink);
}

.dentalcraft-visual-polish .faq-item {
    transition: background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.dentalcraft-visual-polish .faq-item summary {
    transition: color 160ms ease;
}

.dentalcraft-visual-polish .faq-item[open] {
    border-color: rgba(10, 127, 168, 0.42);
    background: #fbfeff;
    box-shadow: 0 18px 42px rgba(11, 69, 90, 0.13), inset 3px 0 0 var(--dcvp-accent);
}

.dentalcraft-visual-polish .faq-item[open] summary {
    color: var(--dcvp-accent-strong);
}

.dentalcraft-visual-polish .hero-dot {
    transition: width 180ms ease, background-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.dentalcraft-visual-polish .hero-dot.is-active {
    box-shadow: 0 0 0 4px rgba(10, 127, 168, 0.18);
}

.dentalcraft-visual-polish :where(.service-card, .proof-card, .workflow-step, .review-card) {
    isolation: isolate;
    overflow: hidden;
    position: relative;
    transition: border-color 220ms ease, box-shadow 220ms ease, transform 220ms ease;
}

.dentalcraft-visual-polish :where(.service-card, .proof-card, .workflow-step, .review-card)::before {
    background: linear-gradient(112deg, transparent 22%, rgba(255, 255, 255, 0.68) 48%, transparent 74%);
    content: "";
    inset: 0;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    transform: translateX(-115%);
    transition: opacity 180ms ease, transform 520ms cubic-bezier(0.22, 1, 0.36, 1);
}

.dentalcraft-visual-polish :where(.service-card, .proof-card) .icon-pill,
.dentalcraft-visual-polish .workflow-step .step-number,
.dentalcraft-visual-polish .proof-card .proof-number,
.dentalcraft-visual-polish .review-card :where(.review-stars, .quote-mark) {
    transition: background-color 200ms ease, box-shadow 200ms ease, color 200ms ease, opacity 200ms ease, transform 200ms ease;
}

@keyframes dcvp-check-pop {
    0% {
        transform: scale(0.9);
    }

    60% {
        transform: scale(1.08);
    }

    100% {
        transform: scale(1);
    }
}

@media (hover: hover) {
    .dentalcraft-visual-polish .button:hover {
        box-shadow: 0 18px 34px rgba(10, 127, 168, 0.3), 0 0 0 1px rgba(10, 127, 168, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.32);
        transform: translateY(-2px);
    }

    .dentalcraft-visual-polish .button.secondary:hover {
        box-shadow: 0 14px 28px rgba(16, 62, 80, 0.15), 0 0 0 1px rgba(10, 127, 168, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.94);
    }

    .dentalcraft-visual-polish .contact-map-link:hover {
        box-shadow: 0 10px 22px rgba(10, 127, 168, 0.14);
        transform: translateY(-1px);
    }

    .dentalcraft-visual-polish .floating-cta.is-visible:hover,
    .dentalcraft-visual-polish .back-to-top.is-visible:hover {
        box-shadow: 0 20px 38px rgba(10, 127, 168, 0.36), 0 0 0 4px rgba(10, 127, 168, 0.12);
        transform: translateY(-2px);
    }

    .dentalcraft-visual-polish :where(.service-card, .proof-card, .workflow-step, .review-card):hover {
        border-color: rgba(10, 127, 168, 0.46);
        box-shadow: 0 22px 44px rgba(11, 69, 90, 0.14), 0 0 0 1px rgba(10, 127, 168, 0.06);
        transform: translateY(-3px);
    }

    .dentalcraft-visual-polish :where(.service-card, .proof-card, .workflow-step, .review-card):hover::before {
        opacity: 0.72;
        transform: translateX(115%);
    }

    .dentalcraft-visual-polish :where(.service-card, .proof-card):hover .icon-pill,
    .dentalcraft-visual-polish .workflow-step:hover .step-number {
        box-shadow: 0 13px 25px rgba(10, 127, 168, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.78);
        transform: translateY(-1px) scale(1.04);
    }

    .dentalcraft-visual-polish .proof-card:hover .proof-number,
    .dentalcraft-visual-polish .review-card:hover :where(.review-stars, .quote-mark) {
        color: rgba(10, 127, 168, 0.34);
    }
}

@media (prefers-reduced-motion: reduce) {
    .dentalcraft-visual-polish :where(.button, .contact-map-link, .nav-menu > li > a::after, .lead-form input, .lead-form select, .lead-form textarea, .checkbox-row input[type="checkbox"], .faq-item, .faq-item summary, .hero-dot, .service-card, .proof-card, .workflow-step, .review-card, .icon-pill, .step-number, .proof-number, .review-stars, .quote-mark) {
        animation: none;
        transition: none;
    }

    .dentalcraft-visual-polish :where(.service-card, .proof-card, .workflow-step, .review-card)::before {
        display: none;
    }

    .dentalcraft-visual-polish :where(.button, .contact-map-link):hover,
    .dentalcraft-visual-polish :where(.button, .contact-map-link):active,
    .dentalcraft-visual-polish :where(.service-card, .proof-card, .workflow-step, .review-card):hover,
    .dentalcraft-visual-polish :where(.service-card, .proof-card):hover .icon-pill,
    .dentalcraft-visual-polish .workflow-step:hover .step-number,
    .dentalcraft-visual-polish .floating-cta.is-visible:hover,
    .dentalcraft-visual-polish .back-to-top.is-visible:hover {
        transform: none;
    }
}
