/* Arvada brand layer: loaded after site.css on every page.
   Fonts: Plus Jakarta Sans (headings) + Manrope (text) — Google Fonts link is in each page <head>. */

    /* Every template rule that named Mulish: headings -> Plus Jakarta Sans, everything else -> Manrope */
    .about-exp strong,
    .appt-points strong,
    .cases-title p,
    .fa-feature-text strong,
    .fa-num,
    .fin-tag,
    .fin-title,
    .logo-ph,
    .page-banner .breadcrumb,
    .page-banner-eyebrow,
    .price-card .price,
    .rating-card .big-score,
    .rating-line,
    .status .code,
    .team2-role,
    .tech-num,
    .title-bar span,
    .why-lead,
    .why-title span,
    .why2-stats strong,
    body,
    h4,
    h5,
    h6 { font-family: 'Manrope', 'Segoe UI', Arial, sans-serif; }
    .appr-card h3,
    .appr-head h2,
    .fa-hero h1,
    .page-banner h1,
    .section-title,
    .special-offers .price-card h3,
    h1,
    h2,
    h3 { font-family: 'Plus Jakarta Sans', 'Manrope', 'Segoe UI', Arial, sans-serif; }

    /* Manrope weights +100 vs the template (generated from site.css; headings excluded) */
    .btn-primary { font-weight: 700; }
    .btn-outline { font-weight: 700; }
    .section-label { font-weight: 800; }
    .nav-cta { font-weight: 700; }
    .logo-text strong { font-weight: 800; }
    nav a { font-weight: 500; }
    .mnav-links > a, .mnav-links summary { font-weight: 700; }
    .mnav-links details a { font-weight: 600; }
    .mnav-actions .btn-primary, .mnav-call { font-weight: 700; }
    .hero-eyebrow { font-weight: 800; }
    .hero-btn { font-weight: 700; }
    .about-exp strong { font-weight: 800; }
    .about-exp span { font-weight: 600; }
    .about-list li { font-weight: 700; }
    .title-bar span { font-weight: 800; }
    .restore-text > p:first-of-type { font-weight: 600; }
    .video-chip { font-weight: 600; }
    .restore-closing a { font-weight: 700; }
    .btn-outline-dark { font-weight: 600; }
    .cases-title p { font-weight: 800; }
    .svc-note p a { font-weight: 700; }
    .why-title span { font-weight: 800; }
    .why-lead { font-weight: 700; }
    .why-btn { font-weight: 700; }
    .why2-stats strong { font-weight: 800; }
    .testi-avatar { font-weight: 800; }
    .join a { font-weight: 700; }
    .rating-line { font-weight: 700; }
    .rating-line strong { font-weight: 700; }
    .logo-ph { font-weight: 800; }
    .btn-outline-light { font-weight: 600; }
    .team2-role { font-weight: 800; }
    .team2-more { font-weight: 700; }
    .faq-item summary { font-weight: 700; }
    .appt-points strong { font-weight: 800; }
    .appt-points a { font-weight: 700; }
    .form-group input:hover + label, .form-group input:focus + label, .form-group input:not(:placeholder-shown) + label, .form-group textarea:hover + label, .form-group textarea:focus + label, .form-group textarea:not(:placeholder-shown) + label, .form-group-select label { font-weight: 700; }
    .footer-heading { font-weight: 800; }
    .fin-tag { font-weight: 800; }
    .fin-title { font-weight: 800; }
    .prose h4 { font-weight: 800; }
    .prose a:not(.btn-primary):not(.btn-outline-dark) { font-weight: 700; }
    .prose strong, .prose b { font-weight: 800; }
    .prose ol li::before { font-weight: 800; }
    .side-list a { font-weight: 600; }
    .side-cta .call { font-weight: 700; }
    .staff-card p { font-weight: 700; }
    .ba .tag { font-weight: 700; }
    .price-card .price { font-weight: 800; }
    .info-item a { font-weight: 700; }
    .status .code { font-weight: 800; }
    .chips li { font-weight: 700; }
    .svc-tile .more { font-weight: 700; }
    .rating-card .big-score { font-weight: 800; }
    .tile-link p { font-weight: 800; }
    .tile-link .more { font-weight: 700; }
    .page-banner-eyebrow { font-weight: 800; }
    .page-banner .breadcrumb { font-weight: 800; }
    .page-banner .breadcrumb { font-weight: 800; }
    .appr-eyebrow { font-weight: 800; }
    .appr-foot a { font-weight: 700; }
    .cc-item a { font-weight: 600; }
    .np-callout p { font-weight: 600; }
    .np-callout a { font-weight: 800; }
    .post-op .svc-card p { font-weight: 800; }
    .dropdown-menu a.active { font-weight: 700; }
    .mnav-links details a.active { font-weight: 700; }
    .tech-num { font-weight: 800; }
    .svc-chips li { font-weight: 700; }
    .dropdown-menu.cols-2 a.view-all { font-weight: 800; }
    .svcx-lead { font-weight: 600; }
    .svcx-cta-box p a { font-weight: 800; }
    .side-list a { font-weight: 600; }
    .side-cta .btn-primary { font-weight: 800; }
    .side-cta .call { font-weight: 800; }
    .svcx-main .svcx-cta-box p a { font-weight: 800; }
    .dr-cred { font-weight: 700; }
    .page-banner .banner-cred { font-weight: 600; }
    .fin-more { font-weight: 800; }
    .fa-hero .breadcrumb { font-weight: 800; }
    .fa-chips li { font-weight: 700; }
    .fa-shot span { font-weight: 800; }
    .fa-cta p { font-weight: 700; }
    .fa-opt-link { font-weight: 800; }
    .fa-quote { font-weight: 600; }
    .fa-quote cite { font-weight: 800; }
    .fa-table tbody th { font-weight: 800; }
    .fa-table td:last-child { font-weight: 600; }
    .fa-num { font-weight: 800; }
    .fa-final-box .fa-links a { font-weight: 700; }
    .dropdown-menu.cols-2 a.feature-link { font-weight: 800; }
    .mnav-links details a.feature-link { font-weight: 800; }
    .fa-feature-text small { font-weight: 800; }
    .fa-feature-text em { font-weight: 800; }
    .dropdown-menu.cols-2 a.feature-link { font-weight: 800; }
    .dropdown-menu.cols-2 a { font-weight: 600; }
    .dropdown-menu.cols-2 a.view-all { font-weight: 800; }
    .dropdown-menu.cols-2 a.active:not(.feature-link) { font-weight: 800; }
    .fa-hero .breadcrumb { font-weight: 800; }
    .fa-list li { font-weight: 700; }
    .fa-more-title span { font-weight: 800; }
    .fa-table thead th { font-weight: 800; }
    .fa-table tbody th { font-weight: 800; }
    .fa-table td:last-child { font-weight: 700; }
    @media (max-width: 767px) {
      .fa-table td::before { font-weight: 800; }
    }
    .fa-actions a, .fa-cta .fa-actions a { font-weight: 700; }
    .fa-actions a, .fa-cta .fa-actions a { font-weight: 700; }
    .home-fa-quote cite { font-weight: 700; }
    .svcx-quote cite { font-weight: 700; }
    body, .about-exp strong, .title-bar span, .cases-title p, .why-title span, .why-lead, .why2-stats strong,
    .rating-line, .logo-ph, .team2-role, .appt-points strong, .fin-tag, .fin-title { font-family: 'Manrope', 'Segoe UI', Arial, sans-serif; }
    h1, h2, h3, .section-title { font-family: 'Plus Jakarta Sans', 'Manrope', 'Segoe UI', Arial, sans-serif; }
    body, nav a { font-weight: 600; } /* Manrope default weight (was 500, +100) */
    .hero-sub { font-weight: 500; } /* hero description: one step lighter */
    /* Section title separator: blue-to-green gradient (vertical bar on desktop, short horizontal bar on mobile) */
    .title-bar, .cases-title { border-image: linear-gradient(180deg, #07a7e3 0%, #32dac3 100%) 1; }
    .title-bar::before { background: linear-gradient(90deg, #07a7e3 0%, #32dac3 100%) !important; }
    .btn-primary, .hero-btn, .nav-cta, .btn-outline-dark, .btn-outline-light, .why-btn, .mnav-call, button { font-weight: 700; } /* all buttons (was 600, +100) */
    .top-bar { background: linear-gradient(90deg, #0786b8 0%, #0c9dc2 50%, #12ad9f 100%); border-bottom-color: rgba(255,255,255,.18); } /* light brand gradient top bar */
    .top-bar, .top-bar a { color: #ffffff; }
    /* Footer: light brand gradient (blue to teal-green) with white text, like the old site but in Arvada colors */
    footer { background: linear-gradient(135deg, #0786b8 0%, #0c9dc2 45%, #12ad9f 100%); color: rgba(255,255,255,.92); }
    .footer-links a, .footer-contact-item a, .footer-bottom-links a { color: rgba(255,255,255,.92); }
    .footer-credit { color: #ffffff; }
    .footer-contact-item svg { color: #ffffff; }
    .footer-links a:hover, .footer-contact-item a:hover, .footer-bottom-links a:hover, .footer-credit:hover { color: #09162a; }
    .footer-bottom { border-top-color: rgba(255,255,255,.25); }
    .social-link:hover { background: #ffffff; border-color: #ffffff; color: #0786b8; }
    .appt { background: linear-gradient(90deg, rgba(2,18,17,.93) 0%, rgba(3,24,23,.86) 50%, rgba(3,24,23,.8) 100%), url('./hero-bg.png') center / cover no-repeat; } /* booking section: dark green fade */
    .appt .round-icon, .appt .appt-points .round-icon { /* booking icons match the Welcome phone icon */
      background: linear-gradient(135deg, rgba(50,218,195,.06), rgba(50,218,195,.22));
      box-shadow: inset 0 0 0 2px rgba(50,218,195,.45);
      color: var(--secondary);
    }
    @media (min-width: 768px) { .team2 #teamTrack { grid-template-columns: repeat(2, minmax(0, 400px)); justify-content: center; } } /* two dentists: centered pair */
    .logo img { width: 200px; } .site-top.scrolled .logo img { width: 150px; } /* homepage logo size */
    .mnav-logo img { width: 200px; } .mnav-panel { background: linear-gradient(160deg, #0786b8 0%, #0c9dc2 50%, #12ad9f 100%); } /* mobile menu: logo size + brand gradient panel */
    .mnav-call { background: transparent; color: var(--white); box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.85); } /* outline phone button */
    .mnav-call:hover { background: rgba(255,255,255,.08); }
    .mnav-actions .btn-primary { background: #ffffff; color: #0786b8; } /* stands out on the gradient panel */
    /* Mobile menu on the gradient: all links white (default, hover, open, active) */
    .mnav-links > a, .mnav-links summary, .mnav-links details a, .mnav-links details a.feature-link,
    .mnav-links details[open] > summary, .mnav-links details.has-active > summary, .mnav-links details a.active,
    .mnav-links details a:hover, .mnav-links > a:hover { color: #ffffff; }
    .mnav-links summary:focus-visible, .mnav-links a:focus-visible, .mnav-actions a:focus-visible { outline-color: #ffffff; }
    /* Homepage light tint: very light green #f3fbf9 replaces the old light blue #f2f8fc everywhere */
    :root { --light: #f3fbf9; }
    .section.restore, .why2, .why2-card, .stories, .dropdown-menu.cols-2 a.view-all { background: #f3fbf9; }
    .section.home-fa { background: linear-gradient(180deg, #ffffff 0%, #ffffff 65%, #f3fbf9 100%); }
    .dropdown-menu.cols-2 a.feature-link { background: linear-gradient(90deg, #0786b8 0%, #0c9dc2 50%, #12ad9f 100%); border-bottom-color: transparent; } /* Services menu feature row: brand gradient */
    .dropdown-menu.cols-2 a.feature-link:hover, .dropdown-menu.cols-2 a.feature-link.active { background: linear-gradient(90deg, #066f99 0%, #0a87a8 50%, #0f9488 100%); }
    /* Welcome + full-arch sections: green-to-blue gradient on the front badge; green photo frame behind */
    .about .about-exp, .about a.about-exp.is-call, .home-fa .about-exp, .doctor .about-exp, .svcx-page .about-exp { background: linear-gradient(135deg, #0382b4 0%, #07a7e3 50%, #32dac3 100%); box-shadow: 0 16px 40px rgba(50,218,195,.3); }
    .about a.about-exp.is-call:hover { background: linear-gradient(135deg, #013650 0%, #0382b4 50%, #1fb8a2 100%); }
    .about .about-media::before, .home-fa .about-media::before, .doctor .about-media::before, .svcx-page .about-media::before {
      background: linear-gradient(135deg, rgba(50,218,195,.06), rgba(50,218,195,.22));
      border: 2px solid rgba(50,218,195,.45);
    }
    .about .about-media img { aspect-ratio: auto 2000 / 1325; height: auto; } /* Welcome photo: show the whole image, no cropping */
    .about .about-call .round-icon { /* phone icon matches the green photo frame */
      background: linear-gradient(135deg, rgba(50,218,195,.06), rgba(50,218,195,.22));
      box-shadow: inset 0 0 0 2px rgba(50,218,195,.45);
      color: var(--secondary); /* green phone symbol (SVG uses currentColor) */
    }
  
    /* Contact page card: photo fades into deep brand blue/teal instead of charcoal */
    .contact-card { background: #053f5c; }
    .contact-card::before { background: linear-gradient(180deg, rgba(4,52,78,.25) 0%, rgba(4,52,78,.66) 32%, rgba(4,58,82,.93) 62%, rgba(5,66,68,.98) 100%); }
    .cc-item a:hover { color: #bff5ec; }
    @media (max-width: 560px) {
      .contact-card::before { background: linear-gradient(180deg, rgba(4,52,78,.1) 0%, rgba(4,52,78,.1) 20%, rgba(4,58,82,.94) 48%, rgba(5,66,68,.98) 100%); }
    }
    /* Desktop logo: 280px in header and footer (header shrinks to 205px on scroll); mobile stays 200px */
    @media (min-width: 992px) {
      header .logo img, footer .logo img { width: 280px; max-width: 100%; }
      .site-top.scrolled header .logo img { width: 205px; }
    }

/* Inner pages: Meet the Team tiles use the green tint like the homepage frames */
.meet-team .staff-tile { background: linear-gradient(135deg, rgba(50,218,195,.06), rgba(50,218,195,.22)); border-color: rgba(50,218,195,.45); }
.meet-team .staff-tile:hover { border-color: rgba(50,218,195,.75); }
.appr-panel { background: #f3fbf9; } /* light green panel (was Lakewood light blue #f2f8fc) */
.page-section.appr:has(+ .appt) { padding: 0 0 80px; } /* gap only when the cards panel sits right above the booking section */
@media (max-width: 991px) { .page-section.appr:has(+ .appt) { padding-bottom: 60px; } }
@media (max-width: 560px) { .page-section.appr:has(+ .appt) { padding-bottom: 40px; } }
/* Insurance & Finance: insurer logo grid */
.ins-logos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 32px 0 0; padding: 0; list-style: none; }
.ins-logos li { display: flex; align-items: center; justify-content: center; padding: 12px 14px; background: #fff; border: 1px solid rgba(50,218,195,.45); border-radius: 14px; }
.ins-logos img { display: block; width: 100%; max-width: 185px; height: auto; }
@media (max-width: 767px) { .ins-logos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } }
/* Lender cards: center the last row when it isn't full */
.financing .fin-grid { display: flex; flex-wrap: wrap; justify-content: center; }
.financing .fin-grid .fin-card { flex: 0 0 calc((100% - 48px) / 3); }
@media (max-width: 991px) { .financing .fin-grid .fin-card { flex-basis: calc((100% - 20px) / 2); } }
@media (max-width: 560px) { .financing .fin-grid { gap: 12px; } .financing .fin-grid .fin-card { flex-basis: calc((100% - 12px) / 2); } }
.section.fin-lenders { background: #f3fbf9; }
.fin-lenders .fin-card { background: #fff; }
/* For Patients hub: 4 service-style cards, 2x2 */
.fp-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; max-width: 900px; margin-left: auto; margin-right: auto; }
@media (max-width: 767px) { .fp-grid { grid-template-columns: 1fr !important; } }
.np-insurance .ins-logos { max-width: 960px; margin-left: auto; margin-right: auto; }
/* Service-style pages: photo sits at the top, heading below it */
.svcx-main .svcx-photo.svcx-first { margin-top: 0; }
.svcx-main .svcx-first + .title-bar { margin-top: 28px; }
.side-card { background: #f3fbf9; } /* sidebar card: mint (was Lakewood light blue) */
/* Home Care hub: card text like the For Patients cards (plain, not blue/bold/spaced) */
.post-op .svc-card p { flex: 1 1 auto; margin-bottom: 0; font-weight: inherit; letter-spacing: normal; color: #6b7280; }
/* Survey / booking page */
.sv-card { position: relative; max-width: 760px; margin: 36px auto 0; padding: 40px; background: #fff; border: 1px solid rgba(50,218,195,.45); border-radius: 26px; box-shadow: 0 20px 44px -28px rgba(14,42,71,.35); }
.sv-progress { height: 6px; background: #f3fbf9; border-radius: 99px; overflow: hidden; }
.sv-progress span { display: block; height: 100%; width: 20%; background: linear-gradient(90deg, #07a7e3, #32dac3); border-radius: 99px; transition: width .35s; }
.sv-count { margin: 10px 0 24px; font-size: .8rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #07a7e3; }
.sv-step { border: 0; margin: 0; padding: 0; min-width: 0; }
.sv-q { padding: 0; font-family: 'Plus Jakarta Sans', 'Manrope', sans-serif; font-size: 1.6rem; font-weight: 700; line-height: 1.3; color: #26282a; outline: none; }
.sv-sub { margin: 10px 0 0; color: #6b7280; }
.sv-opts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 24px; }
.sv-opt { position: relative; cursor: pointer; }
.sv-opt input { position: absolute; opacity: 0; inset: 0; }
.sv-opt span { display: block; padding: 15px 18px; background: #f3fbf9; border: 1.5px solid rgba(50,218,195,.35); border-radius: 14px; font-weight: 700; color: #26282a; transition: border-color .2s, background .2s; }
.sv-opt:hover span { border-color: #32dac3; }
.sv-opt input:checked + span { background: #fff; border-color: #07a7e3; box-shadow: 0 0 0 3px rgba(7,167,227,.15); color: #0382b4; }
.sv-opt input:focus-visible + span { outline: 2px solid #07a7e3; outline-offset: 2px; }
.sv-step .form-row { margin-top: 24px; }
.sv-step .consent { margin-top: 8px; }
.sv-legal { margin-top: 12px; font-size: .85rem; }
.sv-err { margin-top: 16px; color: #c0392b; font-weight: 700; }
.sv-nav { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 28px; }
@media (max-width: 560px) { .sv-card { padding: 26px 20px; border-radius: 20px; } .sv-q { font-size: 1.3rem; } .sv-opts { grid-template-columns: 1fr; } }

/* Small service cards inside a service page (e.g. Types of Dental Implants) */
.svcx-main .svc-mini { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 22px; }
.svc-mini .svc-card { padding: 12px 12px 26px; }
.svc-mini .svc-pic { aspect-ratio: 4 / 3; }
.svc-mini .svc-card h3 { font-size: .95rem; margin-top: 16px; }
.svc-mini .svc-card p { font-size: .88rem; line-height: 1.65; padding: 0 6px 30px; }
.svc-mini .svc-go { width: 44px; height: 44px; }
@media (max-width: 991px) { .svcx-main .svc-mini { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .svcx-main .svc-mini { grid-template-columns: 1fr; } }
/* Small service cards: description limited to two lines */
.svc-mini .svc-card p { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden; flex: 0 0 auto; padding-bottom: 0; margin-bottom: 40px; }
.svc-mini .svc-card p { margin-bottom: 72px; } /* room above the arrow button */
/* All-on-4 video testimonials: same wide thumbnails as the homepage */
.fa-results-home .case-card { aspect-ratio: 16 / 9; }

/* form validation */
.form-group.is-invalid input,.form-group.is-invalid select,.form-group.is-invalid textarea{border-color:#dc2626}
.field-err{margin:6px 2px 0;font-size:13px;color:#dc2626}
.form-status{margin:0 0 12px;font-size:14px;color:#dc2626}
.form-legal{margin:-8px 0 20px;font-size:13px;color:#6b7280}
.form-legal a{color:#07a7e3;font-weight:600;text-decoration:underline;text-underline-offset:2px}
.form-legal a:hover{color:#32dac3}
.sv-step .form-legal{margin:14px 0 0}

/* responsive: grid items must be allowed to shrink below their content width */
[class*="grid"] > *{min-width:0}
.sv-back .sv-back-ico{display:none}
@media (max-width:640px){
  .sv-nav{align-items:center}
  .sv-back{display:inline-flex;align-items:center;justify-content:center;padding:0!important;width:48px;height:48px;min-width:48px;border-radius:50%;flex:0 0 48px;align-self:center}
  .sv-back .sv-back-ico{display:block}
  .sv-back .sv-back-txt{display:none}
}

/* Homepage financing pop-up: white card, brand-green button with dark text for contrast */
.fin-pop{background:#fff;border:2px solid #a6eee3;box-shadow:0 18px 44px -10px rgba(3,40,50,.28)}
.fin-title{color:#1f2937}
.fin-close{color:#6b7280}
.fin-close:hover{background:#f3fbf9;color:#111827}
.fin-tag{background:#32dac3;color:#0b2a3a}
@media (max-width:991px){.fin-pop{border:2px solid #a6eee3;box-shadow:0 16px 40px rgba(3,40,50,.3)}}

/* Survey Back button: same as "View More Results" (white, thin dark outline) */
.sv-nav .sv-back,.sv-nav .sv-back:focus{background:#fff!important;border:1px solid #303234!important;color:#303234!important;padding:14px 30px}
.sv-nav .sv-back::after{display:none}
.sv-nav .sv-back:hover{background:#303234!important;color:#fff!important}

/* Header: keep "Book a Consultation" on one line, never clipped */
.nav-cta{flex-shrink:0;white-space:nowrap}
@media (max-width:1439px){.nav-cta{padding-left:18px;padding-right:18px}}
@media (min-width:1200px) and (max-width:1439px){.nav-inner > nav > a, .nav-inner > nav > .nav-dropdown > a{padding-left:9px;padding-right:9px}}

/* Service pages: standalone button rows inside body copy */
.svcx-btn-row{margin:28px 0 28px}

/* Header: white background so the blue logo is visible */
header,.site-top.scrolled header{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 6px 24px -12px rgba(3,40,50,.25)}
header nav > a, header nav > .nav-dropdown > a{color:#1f2937}
header nav > a:hover, header nav > a.active, header nav > .nav-dropdown:hover > a, header nav > .nav-dropdown > a.active{color:var(--primary)}
header .hamburger span{background:#1f2937}

/* Footer: negative (all-white) logo so it reads on the blue-to-teal gradient */
footer .logo img{filter:brightness(0) invert(1)}

/* Dark CTA panels -> brand gradient (decorative rings kept) */
.svcx-main .svcx-cta-box,
.special-offers .price-card.hl{background:linear-gradient(135deg,#0382b4 0%,#07a7e3 50%,#32dac3 100%);border-color:transparent}
.special-offers .price-card.hl{isolation:isolate}
.special-offers .price-card.hl::after{content:'';position:absolute;z-index:-1;right:-90px;top:-110px;width:320px;height:320px;border-radius:50%;border:2px solid rgba(255,255,255,.08);box-shadow:0 0 0 44px rgba(255,255,255,.03),0 0 0 92px rgba(255,255,255,.018);pointer-events:none}
.special-offers .price-card.hl::before{background:rgba(255,255,255,.35)}
.svcx-main .svcx-cta-box .title-bar span,
.special-offers .price-card.hl .title-bar span{color:#e9fbff}
.svcx-main .svcx-cta-box .title-bar,
.special-offers .price-card.hl .title-bar{border-image:none;border-left-color:#fff}
.svcx-main .svcx-cta-box p,
.special-offers .price-card.hl p:not(.price){color:rgba(255,255,255,.92)}
.special-offers .price-card.hl h3,.special-offers .price-card.hl .price{color:#fff}
.special-offers .price-card.hl .price span{color:rgba(255,255,255,.85)!important}
.special-offers .price-card.hl .price::after{background:rgba(255,255,255,.45)}
.svcx-main .svcx-cta-box .btn-primary,
.special-offers .price-card.hl .btn-primary{background:#fff;color:#0786b8}
.svcx-main .svcx-cta-box .btn-primary:hover,
.special-offers .price-card.hl .btn-primary:hover{background:#fff;color:#0786b8}
.special-offers .price-card.hl h3::before,
.special-offers .price-card.hl .offer-title::before{background:#fff!important}
/* Light offer cards: mint background + the same ring object in a soft brand tint */
.special-offers .price-card:not(.hl){background:#f3fbf9;isolation:isolate}
.special-offers .price-card:not(.hl)::after{content:'';position:absolute;z-index:-1;right:-90px;top:-110px;width:320px;height:320px;border-radius:50%;border:2px solid rgba(7,167,227,.06);box-shadow:0 0 0 44px rgba(50,218,195,.03),0 0 0 92px rgba(7,167,227,.018);pointer-events:none}
.special-offers .price-card.hl .price span:nth-child(2){color:#fff!important}

/* Special offer terms + All-on-X consultation card */
.special-offers .offer-terms{max-width:860px;margin:36px auto 0;text-align:center;font-size:.9rem;line-height:1.7;color:#5b6470}
.special-offers .offer-terms strong{color:#0b2a3a}
.special-offers.aox-consult{padding-top:0}

/* Reserve image space (prevents layout shift); attrs give aspect ratio */
img{height:auto}
