/* DentaVista — dc-cta widget styles */
.dv-cta {
                    background: var(--dv-navy);
                    color: #fff;
                }
                /* Solid light teal so .dv-grad reads on the dark band */
                .dv-cta .dv-title .dv-grad { color: var(--dv-teal); }

                .dv-cta__blob--a { width: 480px; height: 480px; top: -160px; left: -130px; background: rgba(91, 182, 223,.28); opacity: .9; }
                .dv-cta__blob--b { width: 440px; height: 440px; bottom: -190px; right: -120px; background: rgba(63, 160, 206,.22); opacity: .9; }

                .dv-cta__tooth {
                    position: absolute; z-index: 0; pointer-events: none;
                    width: clamp(280px, 30vw, 480px); height: auto;
                    left: 38%; top: 50%; transform: translateY(-50%) rotate(-8deg);
                    color: rgba(255,255,255,.05);
                }

                .dv-cta__inner {
                    position: relative; z-index: 1;
                    display: grid; grid-template-columns: 1.15fr .85fr;
                    gap: clamp(36px, 5vw, 72px); align-items: center;
                }

                .dv-cta__eyebrow { color: #8fe9dd; }
                .dv-cta__eyebrow::before { background: var(--dv-teal); }
                .dv-cta__title { color: #fff; margin-bottom: 20px; }
                .dv-cta__lead { color: rgba(255,255,255,.82); margin-bottom: 34px; max-width: 52ch; }

                .dv-cta__actions { display: flex; flex-wrap: wrap; gap: 14px; margin-bottom: 26px; }
                .dv-cta__cta, .dv-cta__call { min-height: 52px; }
                .dv-cta__call { color: var(--dv-navy); }
                .dv-cta__call:hover { color: var(--dv-teal-600); }

                .dv-cta__cta:focus-visible,
                .dv-cta__call:focus-visible,
                .dv-cta__chip:focus-visible {
                    outline: none; box-shadow: 0 0 0 3px rgba(91, 182, 223,.55);
                }

                .dv-cta__chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 12px; }
                .dv-cta__chip {
                    background: rgba(255,255,255,.10);
                    color: #eafbf8;
                    border: 1px solid rgba(255,255,255,.18);
                    -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
                }
                .dv-cta__chip svg { width: 16px; height: 16px; color: #8fe9dd; flex: none; }

                /* ---- Floating visual ---- */
                .dv-cta__visual { position: relative; min-height: 360px; }
                .dv-cta__deck {
                    position: relative; height: 100%; min-height: 360px;
                    transform-style: preserve-3d; transition: transform .3s var(--dv-ease);
                }
                .dv-cta__ring {
                    position: absolute; inset: 8% 14%;
                    border-radius: 28px; overflow: hidden;
                    border: 1px solid rgba(255,255,255,.14);
                    box-shadow: 0 30px 60px -30px rgba(0,0,0,.55);
                }
                .dv-cta__ring img { width: 100%; height: 100%; object-fit: cover; display: block; }
                .dv-cta__ring::after {
                    content: ""; position: absolute; inset: 0;
                    background: rgba(31, 42, 51,.28); pointer-events: none;
                }

                .dv-cta__stat {
                    position: absolute; width: 196px;
                    background: rgba(255,255,255,.06);
                    border: 1px solid rgba(255,255,255,.14);
                    border-radius: 20px; padding: 18px 20px;
                    -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
                    box-shadow: 0 30px 60px -28px rgba(0,0,0,.6);
                    transform: translateZ(40px);
                    animation: dv-cta-float 6s ease-in-out infinite;
                }
                .dv-cta__stat--1 { top: 6%; left: 4%; }
                .dv-cta__stat--2 { bottom: 8%; right: 2%; animation-delay: -3s; }
                .dv-cta__stat-icon {
                    width: 42px; height: 42px; border-radius: 12px; flex: none;
                    display: inline-flex; align-items: center; justify-content: center;
                    color: #fff; background: var(--dv-teal-600); margin-bottom: 12px;
                }
                .dv-cta__stat-icon svg { width: 23px; height: 23px; }
                .dv-cta__stat-num {
                    display: block;
                    font-family: var(--dv-font-head); font-weight: 800; letter-spacing: -.02em;
                    font-size: 2.1rem; line-height: 1; color: #fff;
                }
                .dv-cta__stat-label { display: block; margin-top: 6px; font-size: 13px; color: rgba(255,255,255,.72); }

                .dv-cta__badge {
                    position: absolute; top: 47%; left: 50%; transform: translate(-50%, -50%) translateZ(70px);
                    display: inline-flex; align-items: center; gap: 12px;
                    background: #fff; color: var(--dv-navy);
                    padding: 13px 18px; border-radius: 16px;
                    box-shadow: 0 30px 60px -24px rgba(0,0,0,.6);
                    animation: dv-cta-float 7s ease-in-out infinite; animation-delay: -1.5s;
                }
                .dv-cta__badge-dot { width: 11px; height: 11px; border-radius: 50%; flex: none; background: var(--dv-teal-600); box-shadow: 0 0 0 4px rgba(63, 160, 206,.22); }
                .dv-cta__badge-meta { display: flex; flex-direction: column; line-height: 1.25; }
                .dv-cta__badge-meta strong { font-size: 14.5px; font-weight: 800; }
                .dv-cta__badge-meta span { font-size: 12.5px; color: var(--dv-muted); }

                @keyframes dv-cta-float {
                    0%, 100% { transform: translateZ(40px) translateY(0); }
                    50% { transform: translateZ(40px) translateY(-12px); }
                }

                @media (max-width: 980px) {
                    .dv-cta__inner { grid-template-columns: 1fr; }
                    .dv-cta__visual { min-height: 320px; max-width: 480px; }
                    .dv-cta__tooth { left: auto; right: -120px; opacity: .7; }
                }
                @media (max-width: 600px) {
                    .dv-cta__actions .dv-btn { flex: 1 1 100%; }
                    .dv-cta__tooth { display: none; }
                    .dv-cta__visual { min-height: 300px; margin-top: 6px; }
                    .dv-cta__stat { width: 168px; padding: 15px 16px; }
                    .dv-cta__stat-num { font-size: 1.8rem; }
                    .dv-cta__badge { position: static; transform: none; margin: 0 auto; width: max-content; }
                }
                @media (prefers-reduced-motion: reduce) {
                    .dv-cta__stat, .dv-cta__badge { animation: none !important; }
                    .dv-cta * { animation: none !important; }
                }
