/* ============================================================
   ALGODONES DENTAL CENTER — HOMEPAGE
   Enqueued only on the ADC Homepage template.
   CSS custom properties are namespaced (--adc-*) rather than
   generic names (--ink, --radius, --shadow, etc.) — those are
   common enough that a later-loading Kadence/Kadence Blocks
   :root declaration could silently redefine them and break
   colors/spacing across this page (the same class-name collision
   pattern that hit .dark earlier).

   DESIGN DIRECTION — clean clinic, not travel brochure. One
   accent color (--adc-accent, red) reserved ONLY for the CTA
   buttons that actually need to shout; everything else — savings
   badges, package "expires" tags, ribbons — uses the neutral or
   primary-blue palette so nothing competes with the real calls
   to action.

   REV 3 — Apple product-page pass: typography as the hero
   (fluid clamp() display scale, tighter tracking at large sizes),
   generous section rhythm, full-bleed imagery on hero / why-us /
   clinic strip, larger confident card surfaces. Motion is NOT
   implemented here — data-reveal / data-parallax
   attributes in template-home.php are hooks for the separate
   home-apple-motion.css/js engine; this file stays purely visual.
   ============================================================ */

:root{
  /* Values mirror the blog redesign's --brv2-* tokens (blog-redesign.css)
     so both templates read as one site. Change them together. */
  --adc-ink:        #0f172a;
  --adc-ink-soft:   #52607a;
  --adc-ink-faint:  #94a3b8;
  --adc-primary:    #003481;
  --adc-primary-d:  #002359;
  --adc-primary-l:  #eef4ff;
  --adc-price:      #0f4c9c;
  --adc-accent:     #bc000c;
  --adc-accent-d:   #99000a;
  --adc-neutral:    #f1f5f9;
  --adc-neutral-d:  #475569;
  --adc-paper:      #f8fafc;
  --adc-surface:    #ffffff;
  --adc-line:       #e2e8f0;
  --adc-line-soft:  #f1f5f9;
  --adc-radius:     12px;
  --adc-radius-lg:  16px;
  --adc-radius-xl:  24px;
  --adc-pill:       30px; /* every button radius */
  --adc-shadow-sm:  0 1px 2px 0 rgba(0,0,0,.05);
  --adc-shadow:     0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -4px rgba(0,0,0,.1);
  --adc-shadow-lg:  0 20px 25px -5px rgba(0,0,0,.1), 0 8px 10px -6px rgba(0,0,0,.1);
  /* Same pairing as the blog redesign: site heading font untouched,
     Plus Jakarta Sans for everything else. */
  --adc-font-display: Arial, Helvetica, sans-serif;
  --adc-font-body: "Plus Jakarta Sans", Arial, Helvetica, sans-serif;
  --adc-font-mono: var(--adc-font-body);

  --adc-display-hero:  clamp(2.2rem, 1.6rem + 2.2vw, 3.5rem);
  --adc-display-1:     clamp(1.9rem, 1.4rem + 1.6vw, 2.75rem);
  --adc-display-2:     clamp(1.6rem, 1.3rem + 1vw, 2.25rem);
  --adc-body-lg:        clamp(1rem, .96rem + .2vw, 1.1rem);

  --adc-space-section:    clamp(56px, 6vw, 96px);
  --adc-space-section-sm: clamp(40px, 4vw, 64px);
}

/* Kadence's global typography (body font, heading text-transform:
   capitalize) loads after this file and wins on equal specificity —
   scope to the template body class so ours wins. */
body.page-template-template-home :is(.hero,.section,.sticky-cta){font-family:var(--adc-font-body);}
/* kadence-child/style.css forces `p, li, td {font-family:arial !important}` site-wide. */
body.page-template-template-home :is(.hero,.section,.sticky-cta) :is(p,li,td){font-family:var(--adc-font-body) !important;}
body.page-template-template-home :is(.hero,.section) :is(h1,h2,h3,h4,h5){font-family:var(--adc-font-display);text-transform:none;}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--adc-font-body);
  color:var(--adc-ink);
  background:var(--adc-paper);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{margin:0;padding:0;list-style:none;}
button{font-family:inherit;cursor:pointer;}
.container{width:min(1140px, 100% - 48px);margin-inline:auto;}
@media (max-width:600px){.container{width:min(1140px, 100% - 32px);}}

h1,h2,h3,h4{font-family:var(--adc-font-display);line-height:1.08;margin:0;color:var(--adc-ink);font-weight:600;letter-spacing:-.02em;}

.eyebrow{
  font-family:var(--adc-font-mono);
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--adc-primary);
}
.section{padding:var(--adc-space-section) 0;}
.section-head{margin-bottom:clamp(36px,5vw,64px);}
/* Blog h2 pattern: bold heading led by a 6px primary pill bar. */
.section-head h2{font-size:var(--adc-display-2);margin-top:14px;letter-spacing:-.01em;font-weight:700;line-height:1.25;display:flex;align-items:center;gap:.6em;}
.section-head h2::before{content:"";flex:none;width:6px;height:1.3em;border-radius:999px;background:var(--adc-primary);}
.section-head.center h2{justify-content:center;}
.section-head strong,.section-head b,.consult-copy strong,.consult-copy b{color:var(--adc-ink);font-weight:600;}
.section-head p{color:var(--adc-ink-soft);font-size:var(--adc-body-lg);margin-top:16px;line-height:1.7;max-width:65ch;}
.section-head.center p{margin-inline:auto;}
.section-head p + p{margin-top:10px;}
/* TinyMCE fields render through wpautop — keep the <p> it adds from adding
   margins inside inline-ish slots (list items, notes, the why-us line). */
.why-subtext p,.why-list li p,.pricing-foot__note p,.finance-note p,.treat-panel-inner p:last-child,.faq-a p:last-child{margin:0;}
.why-subtext strong,.why-subtext b,.why-list strong,.why-list b{color:#fff;font-weight:600;}
.section-head p a,.consult-copy p a{color:var(--adc-primary);text-decoration:underline;text-underline-offset:2px;}
.section-head.center{margin-inline:auto;text-align:center;}
.section.tint{background:var(--adc-surface);border-block:1px solid var(--adc-line-soft);}
.section.adc-dark{background:var(--adc-ink);color:#fff;padding:var(--adc-space-section) 0;}
.section.adc-dark .ink-soft{color:#AEB8CC;}

/* Buttons — magnetic cursor-follow hover is applied by the motion
   engine to .btn-primary/.btn-ghost/.btn-outline at runtime; keep
   hover styling here limited to color/border so it composes cleanly
   with that transform rather than fighting it. */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6em;
  min-height:48px;
  padding:14px 28px;border-radius:var(--adc-pill);font-weight:700;font-size:.96rem;box-shadow:var(--adc-shadow-sm);
  border:1.5px solid transparent;transition:background .15s ease, border-color .15s ease, color .15s ease;
  white-space:nowrap;
}
.btn:active{transform:translateY(1px);}
.btn-primary{background:var(--adc-accent);color:#fff;}
.btn-primary:hover,.btn-primary:active{background:var(--adc-accent-d);color:#fff;}
.btn-outline{border-color:var(--adc-line);color:var(--adc-ink);background:var(--adc-surface);}
.btn-outline:hover{border-color:var(--adc-primary);color:var(--adc-primary);}
.btn-ghost{border-color:var(--adc-primary);color:var(--adc-primary);}
.btn-ghost:hover{background:var(--adc-primary);color:#fff;}
.btn-sm{padding:12px 20px;font-size:.86rem;min-height:44px;}

/* ============ HERO — desktop: banner ~60% left, text right-aligned on the
   right, white background. Mobile: text first, centred, banner below. ============ */
.hero{position:relative;background:#fff;border-bottom:1px solid var(--adc-line);padding:clamp(40px,5vw,72px) 0 clamp(40px,5vw,64px);}
.hero-grid{display:grid;grid-template-columns:3fr 2fr;gap:clamp(28px,4vw,56px);align-items:center;}
.hero-visual{order:-1;} /* image first (left) on desktop; DOM keeps text first for mobile/screen readers */
.hero-copy{text-align:right;}
.hero-copy h1{font-size:clamp(2rem,1.3rem + 1.6vw,2.6rem);color:var(--adc-ink);letter-spacing:-.03em;text-wrap:balance;}
.hero-subhead{margin:18px 0 0;font-size:1.1rem;font-weight:700;line-height:1.4;color:var(--adc-ink);}
.hero-lede{margin-top:22px;}
.hero-lede p{margin:0;color:var(--adc-ink-soft);font-size:var(--adc-body-lg);line-height:1.6;}
.hero-actions{display:flex;justify-content:flex-end;margin-top:22px;}

/* Hero banner: shown whole at its own proportions (team + "Trusted Dentists"
   + membership logos are all part of the image — nothing may be cropped). */
.hero-visual{min-width:0;}
/* No box-shadow/radius: the banner PNG is transparent around the team and
   carries its own card shape — a CSS box would outline empty space.
   drop-shadow follows the visible pixels instead. */
.hero-banner{display:block;width:100%;height:auto;filter:drop-shadow(0 18px 28px rgba(15,23,42,.12));}
@media (max-width:960px){
  .hero-grid{grid-template-columns:1fr;}
  .hero-visual{order:0;}
  .hero-copy{text-align:center;}
  .hero-actions{justify-content:center;}
}
@media (max-width:640px){
  /* Button only as wide as its text, 15px side padding, centred. */
  .hero-actions .btn{flex:none;width:auto;padding-left:15px;padding-right:15px;}
}

/* ============ CREDIBILITY STRIP (replaces old bullet-only trust strip) ============ */
/* No-JS fallback grid; home-redesign.js turns it into a carousel. */
.clinic-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;}
.clinic-strip__item{display:block;position:relative;aspect-ratio:4/3;border-radius:var(--adc-radius-lg);overflow:hidden;border:1px solid var(--adc-line);box-shadow:var(--adc-shadow-sm);cursor:zoom-in;}
.clinic-strip__item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease;}
.clinic-strip__item:hover img{transform:scale(1.04);}
.clinic-strip__item:hover .ba-pair__zoom{opacity:1;}
.clinic-strip__item--placeholder{background:linear-gradient(155deg,#E3EAF7,#F3F6FC);cursor:default;}

/* ============ TRUST STRIP ============ */
.trust-strip{background:var(--adc-paper);border-bottom:1px solid var(--adc-line-soft);}
.trust-strip .container{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 0;flex-wrap:wrap;}
.trust-item{display:flex;align-items:center;gap:10px;font-size:.86rem;color:var(--adc-ink-soft);font-weight:500;}
.trust-item .ic{width:22px;height:22px;border-radius:50%;background:var(--adc-primary-l);color:var(--adc-primary);display:flex;align-items:center;justify-content:center;font-size:.72rem;flex:none;}

/* ============ VIDEO TESTIMONIALS ============ */
.reel-track{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.reel-card{position:relative;display:block;border-radius:var(--adc-radius-xl);overflow:hidden;box-shadow:var(--adc-shadow-sm);border:1px solid var(--adc-line);aspect-ratio:4/5;background:var(--adc-primary-l);transition:box-shadow .25s ease, transform .25s ease;}
.reel-card:hover{box-shadow:var(--adc-shadow);transform:translateY(-3px);}
.reel-card img{width:100%;height:100%;object-fit:cover;}
/* Quote sits in the top third so it never collides with the centered play button. */
.reel-card__placeholder{position:absolute;inset:0;padding:40px 28px;display:flex;align-items:flex-start;justify-content:center;text-align:center;background:linear-gradient(145deg, #1E4FA0, #16233D);color:#fff;}
.reel-card__quote-text{font-family:var(--adc-font-display);font-size:1.35rem;font-weight:700;line-height:1.3;}
.reel-card .fade{position:absolute;inset:0;background:linear-gradient(180deg, rgba(22,35,61,0) 45%, rgba(22,35,61,.82) 100%);}
.reel-play{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:54px;height:54px;border-radius:50%;background:rgba(255,255,255,.94);
  display:flex;align-items:center;justify-content:center;color:var(--adc-primary-d);font-size:1.05rem;
}
.reel-quote{position:absolute;left:16px;right:16px;bottom:16px;color:#fff;}
.reel-quote span{font-size:.86rem;font-weight:600;}
@media (max-width:820px){.reel-track{grid-template-columns:1fr;}}

/* ============ SAVINGS / PRICING ============ */
/* Real table on desktop — deep gradient header, zebra rows, tabular
   numerals, struck-through US price beside the bold blue ADC price. Below
   700px it hands off to .price-cards instead (same dual-render pattern as
   the blog template's own Cost Table: assets/css/blog-redesign.css,
   .adc-cost-table__table / .adc-cost-table__cards) rather than scrolling a
   cramped table sideways. */
/* Desktop table = the blog redesign's Cost Table, value for value
   (blog-redesign.css: .adc-cost-table__table / __acd / __us / __savings-pill):
   flat navy header, column hairlines, Arial bold-blue Algodones price,
   struck grey US price, green "N% off" pill. */
.price-table-card{border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;background:#fff;}
.price-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.875rem;}
.price-table thead th{
  background:#0f172a;color:#fff;padding:14px 18px;font-weight:700;text-align:left;
  font-size:.8125rem;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border-bottom:none;
}
.price-table thead th:nth-child(n+2){text-align:right;}
.price-table th,.price-table td{border-right:1px solid #f1f5f9;}
.price-table th:last-child,.price-table td:last-child{border-right:none;}
.price-table tbody td{padding:16px 18px;border-bottom:1px solid #f1f5f9;vertical-align:middle;color:#334155;font-size:1.0625rem;}
.price-table tbody tr:last-child td{border-bottom:0;}
.price-table tbody tr:hover td{background:var(--adc-primary-l);}
.price-table__name{display:block;font-weight:700;font-size:1.125rem;color:#0f172a;}
.price-table__sub{display:block;font-size:.875rem;color:#64748b;margin-top:2px;}
.price-table tbody td.price-table__adc{text-align:right;font-family:Arial,Helvetica,sans-serif;font-weight:800;font-size:1.25rem;color:#0f4c9c;font-variant-numeric:tabular-nums;white-space:nowrap;}
.price-table tbody td.price-table__us{text-align:right;color:#a3adbf;font-size:1.0625rem;font-variant-numeric:tabular-nums;white-space:nowrap;}
.price-table__us del{text-decoration-color:#a3adbf;}
.price-table tbody td.price-table__savings{text-align:right;}
.price-table__pill{
  display:inline-block;background:#e9f7ee;color:#157a3d;font-weight:800;font-size:1.0625rem;
  padding:8px 18px;line-height:1;border-radius:999px;white-space:nowrap;vertical-align:middle;transition:background .15s;
}
.price-table tbody tr:hover .price-table__pill{background:#a7e8bc;}
.price-table__pill::after{content:" off";font-weight:600;font-size:.8125rem;}

/* Mobile price list — one white rounded list; each row: name + "You pay" price, then "US avg" + "Save N%"
   (same design as the blog cost table and the price page). */
.price-cards{display:none;}
@media (max-width:700px){
  .price-table-card{display:none;}
  .price-cards{display:block;background:#fff;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden;}
  .price-card{padding:20px;}
  .price-card + .price-card{border-top:1px solid #eef2f7;}
  .price-card__top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;}
  .price-card__title{margin:0;font-size:15px;font-weight:700;line-height:1.3;color:#0f172a;}
  .price-card__subtitle{display:block;margin-top:2px;font-size:12.5px;font-weight:500;color:#94a3b8;}
  .price-card__pay{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;}
  .price-card__pay small{display:block;font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.04em;}
  .price-card__pay strong{font-size:24px;font-weight:800;color:#1e4fa3;line-height:1.1;}
  .price-card__meta{display:flex;justify-content:space-between;margin-top:12px;font-size:12.5px;color:#94a3b8;font-variant-numeric:tabular-nums;}
  .price-card__meta s{text-decoration:line-through;text-decoration-color:#f87171;text-decoration-thickness:1.5px;}
  .price-card__meta em{margin-left:auto;font-style:normal;font-weight:700;color:#059669;}
}
.pricing-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:36px;flex-wrap:wrap;}
.pricing-foot p{color:var(--adc-ink-soft);max-width:480px;font-size:.94rem;margin:0;}
.finance-note{display:flex;gap:10px;align-items:flex-start;margin-top:24px;padding:14px 18px;border-radius:var(--adc-radius);background:var(--adc-primary-l);color:var(--adc-ink-soft);font-size:.9rem;line-height:1.6;}
.finance-note .ic{flex:none;}

/* ============ BRAND MARQUEE ============ */
.section.brands-section{padding:44px 0;background:var(--adc-surface);border-block:1px solid var(--adc-line-soft);}
.brands-label{text-align:center;font-size:.86rem;color:var(--adc-ink-soft);font-weight:500;margin:0 0 24px;}
.brand-marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
.brand-marquee__track{display:flex;align-items:center;gap:56px;width:max-content;animation:adc-marquee 26s linear infinite;}
.brand-marquee__track img{height:28px;width:auto;object-fit:contain;filter:grayscale(1);opacity:.55;}
.brand-marquee__track .brand-name{font-family:var(--adc-font-display);font-weight:600;font-size:1.05rem;color:var(--adc-ink-soft);letter-spacing:-.01em;opacity:.7;}
@keyframes adc-marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media (prefers-reduced-motion: reduce){.brand-marquee__track{animation:none;overflow-x:auto;}}

/* ============ PACKAGES — same card as the blog's .card-package
   (blog-redesign.css): full-bleed 4:3 photo, title, tinted price band
   (old US price / big price / green savings pill), blue-tick list,
   coral pill "Book Now", terms line, red "Offer ends" chip. ============ */
/* Flex + center so 1–3 selected packages don't hug the left of a 4-col grid. */
.pkg-track{display:flex;flex-wrap:wrap;justify-content:center;gap:24px;}
.pkg-card{flex:0 1 calc((100% - 72px) / 4);min-width:250px;position:relative;background:var(--adc-surface);border:1px solid var(--adc-line);border-radius:var(--adc-radius-xl);overflow:hidden;box-shadow:var(--adc-shadow-sm);display:flex;flex-direction:column;transition:box-shadow .25s, transform .25s, border-color .25s;}
.pkg-card:hover{box-shadow:var(--adc-shadow);transform:translateY(-3px);border-color:var(--adc-primary);}
.pkg-photo{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--adc-primary-l);}
.pkg-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.pkg-body{padding:20px 24px 22px;display:flex;flex-direction:column;flex:1;}
.pkg-body h4{font-size:1.2rem;font-weight:700;line-height:1.3;letter-spacing:-.01em;}
.pkg-body h4 a{color:inherit;}
.pkg-price{display:flex;flex-direction:column;align-items:center;gap:2px;margin:14px -24px 0;padding:14px 24px;background:var(--adc-paper);border-block:1px solid var(--adc-line);text-align:center;}
.pkg-price del{font-size:1rem;font-weight:500;color:var(--adc-ink-faint);}
.pkg-price .adc-price{font-family:var(--adc-font-display);font-size:2rem;font-weight:700;color:var(--adc-ink);line-height:1.15;font-variant-numeric:tabular-nums;}
.pkg-savings{margin-top:6px;background:#e9f7ee;color:#157a3d;font-size:.78rem;font-weight:700;padding:4px 12px;border-radius:999px;}
.pkg-bullets{margin:18px 0 20px;padding:0;list-style:none;display:grid;gap:10px;}
.pkg-bullets li{font-size:.94rem;line-height:1.4;color:var(--adc-neutral-d);padding-left:22px;position:relative;}
.pkg-bullets li::before{content:"\2713";position:absolute;left:0;color:var(--adc-primary);font-weight:700;}
.pkg-body .btn{margin-top:auto;width:100%;}
.pkg-terms{margin:12px 0 0;padding-top:10px;border-top:1px solid var(--adc-line-soft);text-align:center;font-size:.7rem;color:var(--adc-ink-faint);}
.pkg-expires{align-self:center;display:inline-flex;align-items:center;gap:5px;margin-top:10px;font-size:.7rem;font-weight:700;color:var(--adc-accent);background:#fdf2f2;padding:4px 10px;border-radius:999px;}
.pkg-expires::before{content:"\23F1";}
@media (max-width:960px){.pkg-card{flex-basis:calc((100% - 24px) / 2);}}
@media (max-width:520px){.pkg-card{flex-basis:100%;min-width:0;}}

/* ============ DOCTOR CARDS — namespaced under .adc-doc-* so this card
   can NEVER collide with pb-custom-block-views/style.css, which is
   enqueued site-wide (every page, not just doctor archive pages) and
   uses aggressive specificity-doubled selectors like
   ".card-doctor-landscape.card-doctor-landscape" specifically to beat
   other rules. An earlier revision reused the site's real doctor-card
   class names "for continuity" — that's exactly what let the plugin's
   CSS win here instead of ours. Layout adapts to how many doctors are
   selected: 1 = single centered card, 2 = two columns, 3 = three
   columns, 4+ = carousel. No internal scroll anywhere in the card —
   credential text is capped to one line in PHP instead.
   NOTE: the inner "card-doctor-listing__image" wrapper is intentionally
   NOT renamed — it's hardcoded by the shared
   Kadence_Child_Theme_Custom_Code::dv_square_image() helper (also used
   elsewhere on the site) and we don't lay anything out based on it. */
/* No-JS fallback grid; home-redesign.js turns it into a carousel. */
.adc-doc-track{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;}

/* Blog doctor card (.card-doctor-landscape in blog-redesign.css): 80px
   round photo beside badge / name / specialization, hairline, details,
   then a footer bar with a full-width blue pill button. */
.adc-doc-card{
  background:var(--adc-surface);border-radius:var(--adc-radius-xl);overflow:hidden;
  box-shadow:var(--adc-shadow-sm);border:1px solid var(--adc-line);
  display:flex;flex-direction:column;transition:box-shadow .25s, transform .25s;
}
.adc-doc-card:hover{box-shadow:var(--adc-shadow);transform:translateY(-3px);}
.adc-doc-card__head{display:flex;align-items:center;gap:16px;padding:24px 24px 0;}
.adc-doc-card__photo{flex:none;width:80px;height:80px;border-radius:50%;overflow:hidden;background:var(--adc-primary);border:2px solid var(--adc-primary-l);}
/* !important: site-wide pb-custom-block-views CSS pins this wrapper to a
   fixed 250px height and the img to max-height:90%. */
.adc-doc-card__photo .card-doctor-listing__image,
.adc-doc-card__photo .card-doctor-listing__image picture{
  width:100% !important;height:100% !important;max-height:none !important;
  aspect-ratio:auto !important;padding:0 !important;display:block;
}
.adc-doc-card__photo .card-doctor-listing__image img{
  width:100% !important;height:100% !important;max-height:none !important;
  object-fit:cover !important;object-position:top center !important;border-radius:50%;display:block;
}
.adc-doc-card__name-group{display:flex;flex-direction:column;align-items:flex-start;min-width:0;}
.adc-doc-card__badge{
  display:inline-block;background:var(--adc-primary-l);color:var(--adc-primary);
  font-size:.68rem;font-weight:700;letter-spacing:.02em;padding:3px 10px;border-radius:999px;margin-bottom:6px;
}
.adc-doc-card__name{font-family:var(--adc-font-display);font-weight:600;font-size:1.2rem;color:var(--adc-ink);line-height:1.25;}
.adc-doc-card__specialization h5{margin:6px 0 0;font-size:.86rem;color:var(--adc-ink-faint);font-weight:500;font-family:var(--adc-font-body);}
.adc-doc-card__body{padding:0 24px 18px;flex:1;}
.adc-doc-card__divider{border-top:1px solid var(--adc-line);margin:14px 0;}
.adc-doc-card__section{margin-bottom:10px;}
.adc-doc-card__section-label{font-size:.64rem;text-transform:uppercase;letter-spacing:.06em;color:var(--adc-ink-faint);font-weight:700;margin-bottom:5px;}
.adc-doc-card__expertise{font-size:.84rem;color:#334155;line-height:1.5;}
.adc-doc-card__credentials{font-size:.84rem;color:#334155;line-height:1.55;}
.adc-doc-card__credential-line{margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.adc-doc-card__credential-line b{color:var(--adc-ink);font-weight:600;}
.adc-doc-card__footer{padding:16px 24px;border-top:1px solid var(--adc-line-soft);}
.adc-doc-card__cta{
  display:flex;align-items:center;justify-content:center;background:var(--adc-primary);color:#fff;font-weight:600;font-size:.86rem;
  padding:11px 16px;border-radius:var(--adc-pill);text-decoration:none;transition:background .15s;min-height:44px;
}
.adc-doc-card__cta:hover{background:var(--adc-primary-d);color:#fff;}

/* ============ TREATMENTS (accordion, always two columns — an image
   pane sits beside the list at all times; the before/after gallery
   lives in its own section below, so there's one place for that
   comparison experience instead of two) ============ */
.treat-wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,4vw,48px);align-items:start;}
.treat-visual{border-radius:var(--adc-radius-lg);overflow:hidden;box-shadow:var(--adc-shadow-lg);position:sticky;top:24px;aspect-ratio:4/5;}
.treat-visual__link{display:block;position:relative;width:100%;height:100%;cursor:zoom-in;}
.treat-visual__link:hover .ba-pair__zoom{opacity:1;}
.treat-visual img{width:100%;height:100%;object-fit:cover;display:block;transition:opacity .25s ease;}
.treat-visual img.is-swapping{opacity:0;}
.treat-visual .is-hidden{display:none !important;}

/* Animated placeholder — shown instead of a photo for any treatment with
   none of its own. A real Lottie motion-graphic (assets/lottie/{scene}.json,
   loaded by home-redesign.js via lottie-web), themed per procedure:
   implant, crown, smile or healing. This div is just the mount point +
   background/fade; the artwork itself lives entirely in the .json file. */
.treat-visual__scene{
  width:100%;height:100%;position:relative;overflow:hidden;
  background:linear-gradient(135deg,var(--adc-primary-l),var(--adc-line-soft));
  display:flex;align-items:center;justify-content:center;
  transition:opacity .18s ease;
}
.treat-visual__scene.is-swapping{opacity:0;}
.treat-visual__scene svg{width:100% !important;height:100% !important;}
@media (max-width:900px){
  .treat-wrap{grid-template-columns:1fr;}
  .treat-visual{position:static;order:-1;aspect-ratio:16/10;}
}
.treat-list{border-radius:var(--adc-radius-xl);overflow:hidden;border:1px solid var(--adc-line);box-shadow:var(--adc-shadow-sm);background:var(--adc-surface);}
/* !important throughout: .treat-item is a bare <button>, and the theme's
   own global button styling (white text on a filled background) is a
   directly-matched rule on the element itself — it beats our inherited
   color regardless of our selector's specificity, the same class of bug
   hit repeatedly in blog-redesign.css. */
.treat-item{width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--adc-line-soft);padding:20px 28px;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:14px;color:var(--adc-ink) !important;}
.treat-item:hover,.treat-item:focus{color:var(--adc-ink) !important;background:var(--adc-paper);}
.treat-item:last-child{border-bottom:0;}
.treat-item strong{font-family:var(--adc-font-display);font-size:1.15rem;font-weight:500;letter-spacing:-.01em;color:inherit !important;}
.treat-item .chev{transition:transform .2s ease;color:var(--adc-primary);}
.treat-item[aria-expanded="true"]{background:var(--adc-primary-l);color:var(--adc-ink) !important;}
.treat-item[aria-expanded="true"] .chev{transform:rotate(45deg);}
.treat-panel{max-height:0;overflow:hidden;transition:max-height .28s ease;background:var(--adc-primary-l);}
.treat-panel-inner{padding:0 32px 28px;font-size:.95rem;color:var(--adc-ink-soft);line-height:1.7;max-width:65ch;}
.treat-panel-inner ul{margin-top:8px;}
.treat-panel-inner li{padding-left:18px;position:relative;margin-bottom:6px;}
.treat-panel-inner li::before{content:"—";position:absolute;left:0;color:var(--adc-primary);}

/* ============ BEFORE / AFTER GALLERY ============ */
/* One combined image per case (before left / after right), shown at 4:3 so
   every card in the row lines up; tags mark each half. */
.ba-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.ba-pair{margin:0;}
.ba-pair__img{display:block;position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:var(--adc-radius-xl);border:1px solid var(--adc-line);box-shadow:var(--adc-shadow-sm);background:var(--adc-primary-l);cursor:zoom-in;}
.ba-pair__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease;}
.ba-pair:hover .ba-pair__img img{transform:scale(1.03);}
.ba-pair__img--ph{background:linear-gradient(90deg,#E2ECF9 0 calc(50% - 1px),#fff calc(50% - 1px) calc(50% + 1px),#D2E0F5 calc(50% + 1px));}
.ba-pair__zoom{
  position:absolute;top:12px;right:12px;z-index:1;width:34px;height:34px;border-radius:50%;
  background:rgba(15,23,42,.55);color:#fff;display:flex;align-items:center;justify-content:center;
  font-size:.95rem;opacity:0;transition:opacity .25s ease;
}
.ba-pair:hover .ba-pair__zoom{opacity:1;}

/* Lightbox — vanilla, no external library. Built once by home-redesign.js
   and reused for every [data-lightbox] group on the page. */
.adc-lightbox{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;background:rgba(10,14,26,.92);padding:min(6vh,48px) min(6vw,48px);}
.adc-lightbox.is-open{display:flex;}
.adc-lightbox__figure{max-width:min(92vw,1100px);max-height:88vh;display:flex;flex-direction:column;align-items:center;gap:14px;}
.adc-lightbox__img{max-width:100%;max-height:78vh;border-radius:var(--adc-radius-lg);box-shadow:var(--adc-shadow-lg);display:block;}
.adc-lightbox__caption{color:#fff;font-size:.95rem;text-align:center;opacity:.85;}
.adc-lightbox__close,.adc-lightbox__nav{
  position:absolute;background:rgba(255,255,255,.12);color:#fff;border:0;border-radius:50%;
  width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;cursor:pointer;
  transition:background .2s ease;
}
.adc-lightbox__close:hover,.adc-lightbox__nav:hover{background:rgba(255,255,255,.24);}
.adc-lightbox__close{top:18px;right:18px;}
.adc-lightbox__nav--prev{left:18px;top:50%;transform:translateY(-50%);}
.adc-lightbox__nav--next{right:18px;top:50%;transform:translateY(-50%);}
@media (max-width:640px){
  .adc-lightbox__nav{width:38px;height:38px;font-size:1.1rem;}
  .adc-lightbox__close{width:38px;height:38px;top:10px;right:10px;}
}
.ba-tag{position:absolute;bottom:10px;z-index:1;font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:4px 10px;border-radius:999px;color:#fff;}
.ba-tag--before{left:10px;background:rgba(18,28,44,.75);}
.ba-tag--after{right:10px;background:var(--adc-primary);}
.ba-pair__caption{margin:14px 2px 0;font-size:.9rem;font-weight:600;color:var(--adc-ink);text-align:center;}
@media (max-width:820px){.ba-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:520px){
  .ba-grid{grid-template-columns:1fr;gap:32px;}
}

/* ============ WHY US ============ */
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,5vw,72px);align-items:center;}
.why-eyebrow{color:#9DB6E8;}
.why-heading{color:#fff;font-size:var(--adc-display-2);margin-top:16px;letter-spacing:-.03em;}
.why-subtext{color:#AEB8CC;margin-top:16px;font-size:var(--adc-body-lg);line-height:1.7;}
.why-photo{border-radius:var(--adc-radius-xl);overflow:hidden;box-shadow:var(--adc-shadow-lg);aspect-ratio:4/3;}
.why-photo img{width:100%;height:100%;object-fit:cover;}
.why-photo--placeholder{background:linear-gradient(145deg, #1C2D4B, #0F182B);border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;padding:36px;text-align:center;}
.why-photo__inner{color:#fff;}
.why-photo__badge{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#9DB6E8;font-weight:700;}
.why-photo__inner h3{font-size:1.6rem;color:#fff;margin:12px 0 10px;}
.why-photo__inner p{color:#AEB8CC;font-size:.92rem;line-height:1.6;margin:0;}
.why-list{display:grid;gap:16px;margin-top:28px;}
.why-list li{display:flex;gap:14px;align-items:center;color:#D7DCE8;font-size:.98rem;}
.why-list .ic{width:28px;height:28px;border-radius:7px;background:rgba(255,255,255,.1);color:#fff;display:flex;align-items:center;justify-content:center;flex:none;font-size:.82rem;font-weight:600;}
@media (max-width:900px){.why-grid{grid-template-columns:1fr;}.why-photo{order:-1;}}
@media (max-width:640px){
  .why-photo{aspect-ratio:16/11;} /* stays inside the 16px page margin, rounded like on desktop (was full-bleed) */
}
.why-stats{display:grid;grid-template-columns:repeat(7,1fr);gap:20px;margin-top:64px;padding-top:44px;border-top:1px solid rgba(255,255,255,.12);}
.why-stat{text-align:center;}
.why-stat strong{display:block;font-family:var(--adc-font-display);font-weight:700;font-size:1.7rem;color:#fff;letter-spacing:-.02em;}
.why-stat span{display:block;font-size:.78rem;color:#AEB8CC;margin-top:4px;line-height:1.3;}
@media (max-width:960px){.why-stats{grid-template-columns:repeat(4,1fr);}}
@media (max-width:600px){.why-stats{grid-template-columns:repeat(2,1fr);}}

/* ============ BORDER-CROSSING CALLOUT ============ */
/* Blog's .adc-inline-cta band: primary gradient, white copy, white pill button. */
.section.border-callout{padding:var(--adc-space-section-sm) 0;background:var(--adc-surface);}
.border-card{display:flex;align-items:center;gap:28px;max-width:960px;margin-inline:auto;text-align:left;padding:32px 36px;border-radius:var(--adc-radius-lg);background:linear-gradient(135deg,var(--adc-primary),var(--adc-primary-d));color:#fff;}
.border-card__icon{flex:none;width:60px;height:60px;border-radius:50%;background:rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;font-size:1.5rem;}
.border-card__body h2{font-size:clamp(1.4rem,2.2vw,1.75rem);letter-spacing:-.01em;font-weight:700;color:#fff;}
.border-card__body p{color:rgba(255,255,255,.9);margin-top:10px;line-height:1.65;font-size:1rem;}
.border-card__body .btn{margin-top:18px;background:#fff;color:var(--adc-primary-d);border-color:#fff;}
.border-card__body .btn:hover{background:var(--adc-primary-l);color:var(--adc-primary-d);}
@media (max-width:640px){.border-card{flex-direction:column;text-align:center;}}

/* ============ TECH STRIP ============ */
.tech-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;}
.tech-card{background:var(--adc-surface);border:1px solid var(--adc-line);border-radius:var(--adc-radius-xl);box-shadow:var(--adc-shadow-sm);padding:30px 18px;text-align:center;transition:box-shadow .25s ease, transform .25s ease;}
.tech-card:hover{box-shadow:var(--adc-shadow);transform:translateY(-3px);}
.tech-card .ic{width:52px;height:52px;border-radius:50%;background:var(--adc-primary-l);color:var(--adc-primary-d);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-size:1.4rem;}
.tech-card strong{display:block;font-family:var(--adc-font-display);font-weight:600;font-size:.95rem;letter-spacing:-.01em;}
.tech-card span{display:block;font-size:.8rem;color:var(--adc-ink-soft);margin-top:5px;}
@media (max-width:960px){.tech-grid{grid-template-columns:repeat(3,1fr);}}
@media (max-width:600px){.tech-grid{grid-template-columns:repeat(2,1fr);}}

/* ============ CONTACT ============ */
.consult{display:grid;grid-template-columns:.9fr 1.1fr;gap:0;background:var(--adc-surface);border-radius:var(--adc-radius-xl);overflow:hidden;border:1px solid var(--adc-line-soft);box-shadow:var(--adc-shadow-lg);}
.consult-copy{padding:52px 48px;background:var(--adc-primary-l);}
.consult-copy h2{font-size:clamp(1.7rem,2.6vw,2.1rem);margin-top:14px;letter-spacing:-.02em;}
.consult-copy p{color:var(--adc-ink-soft);margin-top:16px;line-height:1.65;font-size:1.02rem;}
.consult-phone{margin-top:30px;display:flex;align-items:center;gap:14px;}
.consult-phone .ic{width:44px;height:44px;border-radius:50%;background:var(--adc-surface);border:1px solid var(--adc-line);color:var(--adc-primary);display:flex;align-items:center;justify-content:center;font-size:1rem;}
.consult-phone strong{display:block;font-weight:700;font-size:1.12rem;color:var(--adc-ink);}
.consult-phone span{font-size:.78rem;color:var(--adc-ink-soft);}
.consult-form{padding:40px;display:flex;align-items:center;}
/* Shortcode form (.mtc-form) ships capped at 400px with auto margins —
   let it fill the panel instead of floating in white space. */
.consult-form .mtc-form-wrapper{max-width:none !important;width:100%;margin:0 !important;}
/* Same [mtcform] reskin as the blog's .br-v2-sidebar-form: the shortcode's
   inline <style> (blue box, duplicate white title) loads later, so these
   need !important to win. */
.consult-form .mtc-form-wrapper .title,
.consult-form .mtc-form-wrapper .mtc-form-header,
.consult-form .mtc-form-wrapper .underline{display:none !important;}
.consult-form .mtc-form-wrapper .mtc-form{background:transparent !important;padding:0 !important;border-radius:0 !important;border:0 !important;box-shadow:none !important;}
.consult-form .mtc-form-wrapper .form-group{margin-bottom:14px !important;}
.consult-form .mtc-form-wrapper .form-group input,
.consult-form .mtc-form-wrapper .form-group textarea,
.consult-form .mtc-form-wrapper .form-group select{
  background:var(--adc-paper) !important;border:1.5px solid var(--adc-line) !important;border-radius:var(--adc-radius) !important;
  font-family:var(--adc-font-body) !important;color:var(--adc-ink) !important;box-shadow:none !important;
}
.consult-form .mtc-form-wrapper .form-group input:focus,
.consult-form .mtc-form-wrapper .form-group textarea:focus{background:#fff !important;border-color:var(--adc-primary) !important;outline:none !important;}
.consult-form .mtc-form-wrapper .iti__selected-country{background:var(--adc-paper) !important;border-radius:var(--adc-radius) 0 0 var(--adc-radius) !important;}
.consult-form .mtc-form-wrapper input[type="submit"]{
  background:var(--adc-accent) !important;border-radius:var(--adc-pill) !important;font-family:var(--adc-font-display) !important;
  font-weight:600 !important;letter-spacing:.01em !important;box-shadow:var(--adc-shadow-sm) !important;
}
.consult-form .mtc-form-wrapper input[type="submit"]:hover{background:var(--adc-accent-d) !important;color:#fff !important;}
.consult-form .mtc-form-wrapper .footer{color:var(--adc-ink-faint) !important;}
.field{margin-bottom:18px;}
.field label{display:block;font-size:.78rem;font-weight:600;margin-bottom:8px;color:var(--adc-ink-soft);}
.field input,.field textarea{
  width:100%;border:1.5px solid var(--adc-line);border-radius:10px;padding:13px 15px;font-family:inherit;font-size:.94rem;
  background:var(--adc-paper);color:var(--adc-ink);min-height:44px;
}
.field textarea{min-height:88px;}
.field input:focus,.field textarea:focus{outline:2px solid var(--adc-primary);outline-offset:1px;border-color:var(--adc-primary);}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media (max-width:960px){.consult{grid-template-columns:1fr;}.consult-copy,.consult-form{padding:38px 28px;}}
@media (max-width:520px){.field-row{grid-template-columns:1fr;}}

/* ============ FAQ ============ */
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 48px;}
.faq-item{border-top:1px solid var(--adc-line);}
.faq-item:nth-last-child(-n+2){border-bottom:1px solid var(--adc-line);}
button.faq-q,
.faq-grid button.faq-q,
.faq-item > button.faq-q{
  width:100%;
  text-align:left;
  background:transparent !important;
  background-color:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  padding:18px 0 !important;
  min-height:44px;
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
  font-family:var(--adc-font-display) !important;
  font-weight:600 !important;
  font-size:1.06rem !important;
  line-height:1.45 !important;
  color:#1e293b !important;
  letter-spacing:-.01em;
  text-transform:none !important;
  box-shadow:none !important;
}
button.faq-q:hover,
button.faq-q:focus,
button.faq-q:active,
.faq-grid button.faq-q:hover,
.faq-grid button.faq-q:focus{
  background:transparent !important;
  background-color:transparent !important;
  color:var(--adc-primary) !important;
  box-shadow:none !important;
}
.faq-q .chev{flex:none;color:var(--adc-primary);transition:transform .2s ease;font-size:1.2rem;line-height:1;}
.faq-q[aria-expanded="true"] .chev{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .25s ease;}
.faq-a > div,
.faq-a p{padding-bottom:20px;color:var(--adc-ink-soft);font-size:.92rem;line-height:1.7;margin:0;}
@media (max-width:820px){.faq-grid{grid-template-columns:1fr;}}

/* ============ CAROUSELS — [data-carousel] tracks, wrapped at runtime by
   home-redesign.js. Same chrome as the blog's .adc-carousel
   (blog-redesign.css): native scroll-snap, white shadowed arrows inset
   over the cards, hidden at either end / when everything fits.
   --per = cards visible at once; the next one peeks on phones. ============ */
.adc-carousel{position:relative;}
.adc-carousel__track{
  --per:3;--gap:24px;
  display:flex !important;flex-wrap:nowrap !important;justify-content:flex-start !important;gap:var(--gap) !important;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  scrollbar-width:none;padding:6px 2px 14px;margin:-6px -2px -14px; /* room for card shadows/hover lift */
}
.adc-carousel__track::-webkit-scrollbar{display:none;}
.adc-carousel__track:focus-visible{outline:3px solid var(--adc-primary);outline-offset:4px;}
.adc-carousel__track > *{flex:0 0 calc((100% - (var(--per) - 1) * var(--gap)) / var(--per)) !important;min-width:0 !important;max-width:none !important;scroll-snap-align:start;}
/* Center only when everything fits — centering an overflowing flex row makes its first card unreachable. */
.adc-carousel.is-not-scrollable .adc-carousel__track{justify-content:center !important;}
.pass-track.adc-carousel__track{--per:5;--gap:16px;}
.pkg-track.adc-carousel__track,.clinic-strip.adc-carousel__track{--per:4;--gap:20px;}
@media (max-width:1100px){.pass-track.adc-carousel__track{--per:3;}}
@media (max-width:960px){.adc-carousel__track,.pkg-track.adc-carousel__track,.clinic-strip.adc-carousel__track{--per:2;}}
@media (max-width:640px){.adc-carousel__track,.pkg-track.adc-carousel__track,.clinic-strip.adc-carousel__track{--per:1.15;--gap:14px;}}

.adc-carousel__nav{
  position:absolute;top:50%;transform:translateY(-50%);z-index:3;
  width:44px;height:44px;border-radius:50%;border:0;padding:0;
  background:#fff;color:#334155;box-shadow:var(--adc-shadow-lg);
  display:flex;align-items:center;justify-content:center;cursor:pointer;
  transition:background .15s, color .15s, transform .15s, opacity .15s;
}
.adc-carousel__nav::before{content:"";width:10px;height:10px;border-top:2.5px solid currentColor;border-right:2.5px solid currentColor;}
.adc-carousel__nav--prev{left:-10px;}
.adc-carousel__nav--next{right:-10px;}
.adc-carousel__nav--prev::before{transform:rotate(-135deg) translate(1px,-1px);}
.adc-carousel__nav--next::before{transform:rotate(45deg) translate(-1px,-1px);}
.adc-carousel__nav:hover{background:var(--adc-primary);color:#fff;transform:translateY(-50%) scale(1.06);}
.adc-carousel__nav[disabled]{opacity:0;visibility:hidden;}
.adc-carousel.is-not-scrollable .adc-carousel__nav{display:none;}
@media (max-width:640px){.adc-carousel__nav{display:none;}}

/* ============ MOBILE STICKY CTA ============ */
.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--adc-ink);display:none;padding:12px 16px;box-shadow:0 -8px 24px rgba(0,0,0,.2);}
.sticky-cta .row{display:flex;gap:10px;}
.sticky-cta .btn{flex:1;padding:13px 10px;font-size:.85rem;}
@media (max-width:720px){.sticky-cta{display:block;}body{padding-bottom:70px;}}

/* Legacy fade-in system — superseded by the data-reveal attributes the
   home-apple-motion engine reads (see template-home.php). Left in place,
   inert, only where a data-reveal container hasn't replaced it, so the
   two systems never fight visibly: nothing in this template still
   carries both a data-reveal attribute and the .reveal class. */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .5s ease, transform .5s ease;}
.reveal.in{opacity:1;transform:none;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  .reveal{opacity:1;transform:none;transition:none;}
  *{animation-duration:.001ms !important;transition-duration:.001ms !important;}
}
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible{
  outline:3px solid var(--adc-primary); outline-offset:2px; border-radius:4px;
}

/* ============ HOMEPAGE FEEDBACK ROUND — links, lists, captions, reviews ============ */
/* Links inside editor-written copy are coloured + underlined by default (not only on hover). */
:where(.section-head,.credibility,.why-subtext,.why-list,.faq-a,.treat-panel-inner,.pricing-foot__note,.finance-note,.consult-copy,.reel-cap,.g-card__text) a:not(.btn){color:var(--adc-primary);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px;}
:where(.section-head,.credibility,.why-subtext,.why-list,.faq-a,.treat-panel-inner,.pricing-foot__note,.finance-note,.consult-copy,.reel-cap,.g-card__text) a:not(.btn):hover{color:var(--adc-primary-d);text-decoration-thickness:2px;}
.adc-dark :where(.why-subtext,.why-list) a:not(.btn){color:#9DB6E8;}
.adc-dark :where(.why-subtext,.why-list) a:not(.btn):hover{color:#fff;}
/* The global reset (ul{list-style:none}) killed bullets in editor content; restore them, incl. nested levels. */
.faq-a ul,.faq-a ol,.treat-panel-inner ul,.treat-panel-inner ol,.section-head ul,.section-head ol,.why-subtext ul,.why-subtext ol,.consult-copy ul,.consult-copy ol{margin:.4em 0 .8em;padding-left:1.4em;color:var(--adc-ink-soft);}
.faq-a ul,.treat-panel-inner ul,.section-head ul,.why-subtext ul,.consult-copy ul{list-style:disc;}
.faq-a ol,.treat-panel-inner ol,.section-head ol,.why-subtext ol,.consult-copy ol{list-style:decimal;}
.faq-a ul ul,.treat-panel-inner ul ul,.section-head ul ul,.why-subtext ul ul,.consult-copy ul ul{list-style:circle;margin:.3em 0;}
.faq-a ul ul ul,.treat-panel-inner ul ul ul,.section-head ul ul ul,.why-subtext ul ul ul,.consult-copy ul ul ul{list-style:square;}
.faq-a ol ol,.treat-panel-inner ol ol{list-style:lower-alpha;margin:.3em 0;}
.faq-a li,.treat-panel-inner li,.section-head li,.why-subtext li,.consult-copy li{display:list-item;margin:.25em 0;padding-left:.2em;font-size:.92rem;line-height:1.7;}
.faq-a li::marker,.treat-panel-inner li::marker{color:var(--adc-primary);}
/* Photo captions below images */
.clinic-strip__fig{margin:0;min-width:0;}
.clinic-strip__caption{margin:10px 2px 0;font-size:.9rem;font-weight:600;color:var(--adc-ink);text-align:center;}
/* Video testimonials: quote + patient name/location sit below the video */
.reel-item{display:flex;flex-direction:column;gap:14px;min-width:0;}
.reel-cap{margin:0;}
.reel-cap__quote{margin:0;font-family:var(--adc-font-display);font-size:1.05rem;font-weight:600;line-height:1.4;color:var(--adc-ink);}
.reel-cap__source{display:block;margin-top:8px;font-style:normal;font-size:.86rem;font-weight:600;color:var(--adc-ink-soft);}
.reel-card__placeholder{background:linear-gradient(145deg,#1E4FA0,#16233D);}
/* Price list CTA: centred, CTA colour */
.pricing-foot{flex-direction:column;justify-content:center;text-align:center;}
.pricing-foot__note{max-width:60ch;margin-inline:auto;color:var(--adc-ink-soft);font-size:.94rem;}
.pricing-foot .btn{margin-inline:auto;}
/* Implant brands: full colour, static (no marquee) */
.brands-image img{width:100%;max-width:960px;height:auto;margin:0 auto;}
.brands-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:24px 48px;}
.brands-row img{height:44px;width:auto;object-fit:contain;filter:none;opacity:1;}
/* Treatments carousel: image, then two text lines */
.treat-carousel.adc-carousel__track{--per:4;--gap:20px;}
.g-track.adc-carousel__track{--per:3;--gap:20px;}
@media (max-width:960px){.treat-carousel.adc-carousel__track{--per:2;}.g-track.adc-carousel__track{--per:2;}}
@media (max-width:640px){.treat-carousel.adc-carousel__track,.g-track.adc-carousel__track{--per:1.15;--gap:14px;}}
.treat-carousel:not(.adc-carousel__track){display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;}
.treat-card{margin:0;min-width:0;}
.treat-card__img{display:block;position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:var(--adc-radius-lg);border:1px solid var(--adc-line);box-shadow:var(--adc-shadow-sm);background:var(--adc-primary-l);cursor:zoom-in;}
.treat-card__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease;}
.treat-card__img:hover img{transform:scale(1.03);}
.treat-card__img:hover .ba-pair__zoom{opacity:1;}
.treat-card__img--ph{display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;cursor:default;color:var(--adc-primary);}
.treat-card figcaption{display:flex;flex-direction:column;gap:4px;align-items:center;text-align:center;margin-top:14px;}
.treat-card__l1{font-size:1.02rem;font-weight:600;color:var(--adc-ink);}
.treat-card__l2{font-size:.9rem;color:var(--adc-accent);}
/* Why Us: video option; media stays in view beside a long list */
.why-grid{align-items:start;}
.why-photo,.why-video{position:sticky;top:96px;}
.why-video{aspect-ratio:16/9;background:#000;}
.why-video iframe{width:100%;height:100%;border:0;display:block;}
@media (max-width:900px){.why-photo,.why-video{position:static;}}
/* Package inclusions: 4 visible, rest scrolls, scrollbar hidden (height set in JS so wrapped lines still count as 4 points) */
.pkg-bullets{overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior:contain;}
.pkg-bullets::-webkit-scrollbar{display:none;}
.pkg-bullets.is-scrollable{-webkit-mask-image:linear-gradient(#000 calc(100% - 28px),transparent);mask-image:linear-gradient(#000 calc(100% - 28px),transparent);}
.pkg-bullets.is-scrollable.at-end{-webkit-mask-image:none;mask-image:none;}
/* Google-style reviews */
.g-summary{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:-20px 0 28px;}
.g-summary__num{font-family:var(--adc-font-display);font-size:2.4rem;line-height:1;color:var(--adc-ink);}
.g-summary__meta{color:var(--adc-ink-soft);font-size:.92rem;}
.g-stars{display:inline-flex;gap:2px;}
.g-stars svg{fill:#dadce0;display:block;}
.g-stars .on svg{fill:#fbbc04;}
.g-logo{font-weight:700;letter-spacing:-.01em;margin-left:6px;}
.g-logo i{font-style:normal;}
.g-logo i:nth-child(1),.g-logo i:nth-child(4){color:#4285f4;}
.g-logo i:nth-child(2),.g-logo i:nth-child(6){color:#ea4335;}
.g-logo i:nth-child(3){color:#fbbc04;}
.g-logo i:nth-child(5){color:#34a853;}
.g-card{background:#fff;border:1px solid var(--adc-line);border-radius:var(--adc-radius-lg);padding:20px;box-shadow:var(--adc-shadow-sm);display:flex;flex-direction:column;gap:10px;min-width:0;}
.g-card__head{display:flex;align-items:center;gap:12px;}
.g-card__avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;flex:none;}
.g-card__avatar--initial{display:flex;align-items:center;justify-content:center;background:var(--adc-primary);color:#fff;font-weight:700;}
.g-card__name{display:block;font-size:.95rem;color:var(--adc-ink);}
.g-card__time{display:block;font-size:.8rem;color:var(--adc-ink-faint);}
.g-card__text{margin:0;font-size:.92rem;line-height:1.6;color:var(--adc-neutral-d);display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden;}
.g-track:not(.adc-carousel__track){display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;}

/* Why Us uploaded video */
.why-video--file video{width:100%;height:100%;object-fit:cover;display:block;background:#000;}
/* Footer: menu 1, menu 2, contact info, map (4 columns) */
.adc-foot__grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr) minmax(0,2fr);}
.adc-foot__about{order:-1;}
.adc-foot__map{order:4;}
.adc-foot__contact{margin-bottom:14px;}
.adc-foot__map iframe{min-height:320px;}
@media (max-width:1023px){.adc-foot__grid{grid-template-columns:1fr 1fr;}.adc-foot__about{order:0;grid-column:1/-1;}.adc-foot__map{grid-column:1/-1;}}
@media (max-width:767px){.adc-foot__grid{grid-template-columns:1fr;}}

/* Treatment card text boxes are rich text (links, lists, sub-lists) */
.treat-card figcaption{align-items:stretch;text-align:center;}
.treat-card__l1,.treat-card__l2{width:100%;}
.treat-card__l1 p,.treat-card__l2 p{margin:0;}
.treat-card__l1 p+p,.treat-card__l2 p+p{margin-top:6px;}
.treat-card__l1{font-size:1.02rem;font-weight:600;color:var(--adc-ink);}
.treat-card__l2{font-size:.9rem;color:var(--adc-accent);}
.treat-card figcaption a{color:var(--adc-primary);text-decoration:underline;text-underline-offset:2px;}
.treat-card figcaption a:hover{color:var(--adc-primary-d);}
.treat-card figcaption ul,.treat-card figcaption ol{margin:6px 0;padding-left:1.3em;text-align:left;font-weight:400;font-size:.9rem;color:var(--adc-ink-soft);}
.treat-card figcaption ul{list-style:disc;}
.treat-card figcaption ol{list-style:decimal;}
.treat-card figcaption ul ul{list-style:circle;margin:2px 0;}
.treat-card figcaption ul ul ul{list-style:square;}
.treat-card figcaption li{display:list-item;margin:2px 0;line-height:1.5;}

/* Why Us video link: thumbnail cover -> player loads on click */
.why-video__cover{position:relative;display:block;width:100%;height:100%;padding:0;border:0;background:#000 center/cover no-repeat;cursor:pointer;}
.why-video__play{position:absolute;left:50%;top:50%;width:76px;height:76px;margin:-38px 0 0 -38px;border-radius:50%;background:var(--adc-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:28px;padding-left:5px;box-shadow:0 10px 30px rgba(0,0,0,.4);transition:transform .2s;}
.why-video__cover:hover .why-video__play{transform:scale(1.08);}
.why-video__cover:focus-visible{outline:3px solid #fff;outline-offset:-6px;}
/* Treatment card: centred, tidy text blocks */
.treat-card figcaption{gap:8px;padding:0 6px;}
.treat-card__l1{font-size:1.05rem;line-height:1.35;}
.treat-card__l2{font-size:.92rem;line-height:1.5;}
.treat-card figcaption ul,.treat-card figcaption ol{display:inline-block;text-align:left;margin:4px auto 0;padding-left:1.2em;color:var(--adc-ink);font-size:.92rem;}
.treat-card figcaption ul{list-style:disc;}
.treat-card figcaption li::marker{color:var(--adc-primary);}
.treat-card figcaption li{padding-left:.15em;margin:3px 0;}
.treat-card__l2 li{color:var(--adc-accent);}

/* ===== Treatment carousel card — redesign (overrides earlier treat-card rules) ===== */
.treat-carousel .treat-card{display:flex;flex-direction:column;height:100%;background:#fff;border:1px solid var(--adc-line);border-radius:var(--adc-radius-lg);overflow:hidden;box-shadow:var(--adc-shadow-sm);transition:box-shadow .25s ease,transform .25s ease;}
.treat-carousel .treat-card:hover{box-shadow:var(--adc-shadow);transform:translateY(-3px);}
.treat-carousel .treat-card__img{border:0;border-radius:0;box-shadow:none;background:var(--adc-primary-l);}
.treat-carousel .treat-card__img--ph{aspect-ratio:16/10;background:linear-gradient(145deg,#E8F0FF,#F6F9FF);color:var(--adc-primary);font-family:var(--adc-font-display);font-size:1.2rem;text-align:center;}
.treat-carousel .treat-card figcaption{flex:1;display:flex;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:18px 20px 22px;text-align:left;}
/* box 1: headline / price */
.treat-carousel .treat-card__l1{font-family:var(--adc-font-display);font-size:1.2rem;font-weight:700;line-height:1.3;color:var(--adc-primary);letter-spacing:-.01em;}
/* box 2: details, separated by a hairline when box 1 is present */
.treat-carousel .treat-card__l2{font-size:.92rem;font-weight:400;line-height:1.55;color:var(--adc-ink-soft);}
.treat-carousel .treat-card__l1+.treat-card__l2{margin-top:14px;padding-top:14px;border-top:1px solid var(--adc-line-soft);}
.treat-carousel .treat-card figcaption p{margin:0;}
.treat-carousel .treat-card figcaption p+p{margin-top:8px;}
.treat-carousel .treat-card figcaption a{color:var(--adc-primary);font-weight:600;text-decoration:underline;text-underline-offset:3px;}
.treat-carousel .treat-card figcaption a:hover{color:var(--adc-primary-d);}
/* lists become a checklist; sub-lists use a small dash */
.treat-carousel .treat-card figcaption ul,.treat-carousel .treat-card figcaption ol{display:block;margin:0;padding:0;list-style:none;text-align:left;font-size:.92rem;font-weight:400;color:var(--adc-ink-soft);}
.treat-carousel .treat-card figcaption li{position:relative;display:block;margin:0;padding:5px 0 5px 26px;line-height:1.5;color:inherit;}
.treat-carousel .treat-card figcaption ul>li::before{content:"\2713";position:absolute;left:0;top:6px;width:18px;height:18px;border-radius:50%;background:var(--adc-primary-l);color:var(--adc-primary);font-size:.68rem;font-weight:700;line-height:18px;text-align:center;}
.treat-carousel .treat-card figcaption ol{counter-reset:tc;}
.treat-carousel .treat-card figcaption ol>li{counter-increment:tc;}
.treat-carousel .treat-card figcaption ol>li::before{content:counter(tc);position:absolute;left:0;top:6px;width:18px;height:18px;border-radius:50%;background:var(--adc-primary-l);color:var(--adc-primary);font-size:.7rem;font-weight:700;line-height:18px;text-align:center;}
.treat-carousel .treat-card figcaption li ul,.treat-carousel .treat-card figcaption li ol{margin:2px 0 0;}
.treat-carousel .treat-card figcaption li li{padding:3px 0 3px 18px;font-size:.88rem;}
.treat-carousel .treat-card figcaption li li::before{content:"";left:4px;top:13px;width:6px;height:2px;border-radius:2px;background:var(--adc-ink-faint);}
.treat-carousel .treat-card__l2 li{color:inherit;}
.treat-carousel .treat-card figcaption ul+p,.treat-carousel .treat-card figcaption ol+p{margin-top:12px;}
.treat-carousel .treat-card figcaption ul+p,.treat-carousel .treat-card figcaption ol+p{margin-top:12px;}

/* Treatment images are 300x300 squares */
.treat-carousel .treat-card__img,.treat-carousel .treat-card__img--ph{aspect-ratio:1/1;}
.treat-carousel .treat-card__img img{object-fit:cover;}

/* Treatment images are 300x300 squares */
.treat-carousel .treat-card__img,.treat-carousel .treat-card__img--ph{aspect-ratio:1/1;}
.treat-carousel .treat-card__img img{object-fit:cover;}

/* Treatment images: 300x300 or 300x200 — the frame follows the image, no cropping */
.treat-carousel .treat-card__img{aspect-ratio:auto;}
.treat-carousel .treat-card__img img{width:100%;height:auto;object-fit:contain;}
.treat-carousel .treat-card__img--ph{aspect-ratio:3/2;}
.treat-carousel .treat-card__img.is-link{cursor:pointer;}

/* Treatment images: 300x300 or 300x200 — the frame follows the image, no cropping */
.treat-carousel .treat-card__img{aspect-ratio:auto;}
.treat-carousel .treat-card__img img{width:100%;height:auto;object-fit:contain;}
.treat-carousel .treat-card__img--ph{aspect-ratio:3/2;}
.treat-carousel .treat-card__img.is-link{cursor:pointer;}

/* Title link: looks like the headline, underlines on hover; list-item links stay underlined */
.treat-carousel .treat-card__l1 a{text-decoration:none;color:inherit;font-weight:inherit;}
.treat-carousel .treat-card__l1 a:hover{text-decoration:underline;text-underline-offset:3px;color:var(--adc-primary-d);}
.treat-carousel .treat-card figcaption li a{color:var(--adc-primary);text-decoration:underline;text-underline-offset:3px;}

/* Title link: looks like the headline, underlines on hover; list-item links stay underlined */
.treat-carousel .treat-card__l1 a{text-decoration:none;color:inherit;font-weight:inherit;}
.treat-carousel .treat-card__l1 a:hover{text-decoration:underline;text-underline-offset:3px;color:var(--adc-primary-d);}
.treat-carousel .treat-card figcaption li a{color:var(--adc-primary);text-decoration:underline;text-underline-offset:3px;}

/* Treatment card: links must look like links everywhere (title, paragraphs, list items) */
.treat-carousel .treat-card figcaption a,
.treat-carousel .treat-card__l1 a,
.treat-carousel .treat-card figcaption li a{color:var(--adc-primary);font-weight:600;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:4px;text-decoration-color:currentColor;cursor:pointer;}
.treat-carousel .treat-card figcaption a:hover,
.treat-carousel .treat-card__l1 a:hover{color:var(--adc-accent);}
/* Spacing between the main title and the list/text below it */
.treat-carousel .treat-card figcaption{padding:20px 22px 24px;}
.treat-carousel .treat-card__l1{margin:0 0 4px;}
.treat-carousel .treat-card__l1+.treat-card__l2{margin-top:16px;padding-top:16px;}
.treat-carousel .treat-card figcaption p+ul,
.treat-carousel .treat-card figcaption p+ol{margin-top:12px;}
.treat-carousel .treat-card figcaption ul+p,
.treat-carousel .treat-card figcaption ol+p{margin-top:14px;}
.treat-carousel .treat-card figcaption li{padding:6px 0 6px 28px;}
.treat-carousel .treat-card figcaption ul>li::before,
.treat-carousel .treat-card figcaption ol>li::before{top:7px;}
.treat-carousel .treat-card figcaption li li{padding:4px 0 4px 20px;}
.treat-carousel .treat-card figcaption li li::before{top:15px;}

/* Implant brands — static, full-colour, centred (no marquee) */
.section.brands-section{padding:56px 0;}
.brands-label{margin:0 auto 32px;max-width:60ch;font-size:1.02rem;font-weight:600;line-height:1.5;color:var(--adc-ink);text-align:center;}
.brands-image{max-width:1040px;margin:0 auto;}
.brands-image img{width:100%;max-width:1040px;height:auto;margin:0 auto;display:block;filter:none;opacity:1;}
.brands-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:28px 36px;align-items:center;justify-items:center;max-width:1040px;margin:0 auto;}
.brands-row img{height:auto;max-height:48px;width:auto;max-width:150px;object-fit:contain;filter:none;opacity:1;}
@media (max-width:640px){.section.brands-section{padding:40px 0;}.brands-row{grid-template-columns:repeat(2,1fr);gap:24px 20px;}}

/* Pricing footer: two columns (note left, button right); stacks on mobile */
.pricing-foot{flex-direction:row;justify-content:space-between;align-items:center;text-align:left;gap:24px 48px;max-width:960px;margin-inline:auto;padding:24px 32px;background:var(--adc-surface);border:1px solid var(--adc-line-soft);border-radius:16px;}
.pricing-foot__note{margin:0;max-width:none;flex:1 1 380px;}
.pricing-foot .btn{margin:0;flex:0 0 auto;white-space:nowrap;}
@media (max-width:720px){.pricing-foot{flex-direction:column;text-align:center;padding:20px;}.pricing-foot__note{flex-basis:auto;}}

/* Implant brands: refined label + logos on a clean card */
.section.brands-section{padding:64px 0;}
.brands-label{font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--adc-ink-soft);margin:0 auto 28px;}
.brands-image{max-width:880px;padding:28px 40px;background:#fff;border:1px solid var(--adc-line-soft);border-radius:16px;box-shadow:0 1px 2px rgba(16,24,40,.04);}
.brands-image img{max-width:100%;}
@media (max-width:640px){.brands-image{padding:16px 14px;}}

/* Brands image is a single 800x100 upload: never upscale past native size */
.brands-image{max-width:880px;padding:24px 40px;}
.brands-image img{width:100%;max-width:800px;aspect-ratio:8/1;object-fit:contain;}

/* Pricing footer: full width, same as the table above */
.pricing-foot{max-width:none;margin-inline:0;}

/* Brands: no box, greyscale, endless marquee of the single image (8 copies, shifts by half) */
.brands-marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
.brands-track{display:flex;width:max-content;animation:brands-scroll 40s linear infinite;}
.brands-track img{height:72px;width:auto;max-width:none;margin-right:64px;flex:none;filter:grayscale(1);opacity:.7;transition:filter .3s,opacity .3s;}
.brands-marquee:hover .brands-track{animation-play-state:paused;}
.brands-marquee:hover img{filter:none;opacity:1;}
@keyframes brands-scroll{to{transform:translateX(-50%);}}
@media (prefers-reduced-motion:reduce){.brands-track{animation:none;width:auto;justify-content:center;flex-wrap:wrap;}.brands-track img:nth-child(n+2){display:none;}}

/* Only the price-list footer is a card; other .pricing-foot rows (e.g. "See All Packages") stay plain */
.pricing-foot:not(.pricing-foot--card){background:none;border:0;padding:0;border-radius:0;max-width:none;}

/* Doctor cards: rating, city and full "extra info" like the blog card */
.adc-doc-card__meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:14px;font-size:.84rem;color:var(--adc-ink-soft);}
.adc-doc-card__stars{color:#f5a623;letter-spacing:1px;}
.adc-doc-card__rating b{color:var(--adc-ink);font-weight:700;}
.adc-doc-card__city{padding:2px 10px;border-radius:999px;background:var(--adc-surface);border:1px solid var(--adc-line-soft);font-size:.78rem;}
.adc-doc-card__credentials p{margin:0 0 6px;}
.adc-doc-card__credentials ul{margin:4px 0 0;padding-left:18px;}
.adc-doc-card__credentials li{margin:0 0 3px;}
.adc-doc-card__credentials strong,.adc-doc-card__credentials b{color:var(--adc-ink);font-weight:600;}

/* Doctor cards: fixed-height details, rest scrolls (scrollbar hidden, fade hint) — like package inclusions */
.adc-doc-card__credentials-wrap{max-height:190px;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior:contain;}
.adc-doc-card__credentials-wrap::-webkit-scrollbar{display:none;}
.adc-doc-card__credentials-wrap.is-scrollable{-webkit-mask-image:linear-gradient(#000 calc(100% - 32px),transparent);mask-image:linear-gradient(#000 calc(100% - 32px),transparent);}
.adc-doc-card__credentials-wrap.is-scrollable.at-end{-webkit-mask-image:none;mask-image:none;}
/* one consistent text style for everything from the "Extra info" editor */
.adc-doc-card__credentials,.adc-doc-card__credentials *{font-family:var(--adc-font-body) !important;font-size:.84rem !important;line-height:1.5 !important;color:#334155 !important;font-weight:400 !important;text-align:left !important;background:none !important;}
.adc-doc-card__credentials h1,.adc-doc-card__credentials h2,.adc-doc-card__credentials h3,.adc-doc-card__credentials h4,.adc-doc-card__credentials h5,.adc-doc-card__credentials h6,.adc-doc-card__credentials strong,.adc-doc-card__credentials b{display:block;margin:12px 0 5px !important;font-size:.64rem !important;text-transform:uppercase;letter-spacing:.06em;color:var(--adc-ink-faint) !important;font-weight:700 !important;}
.adc-doc-card__credentials>:first-child{margin-top:0 !important;}
.adc-doc-card__credentials ul,.adc-doc-card__credentials ol{margin:0 !important;padding:0 0 0 16px !important;}
.adc-doc-card__credentials li{margin:0 0 4px !important;padding:0 !important;}
.adc-doc-card__credentials p{margin:0 0 6px !important;}
.adc-doc-card__credentials ul{list-style:disc outside !important;}
.adc-doc-card__credentials ol{list-style:decimal outside !important;}
.adc-doc-card__credentials li{display:list-item !important;}
.adc-doc-card__credentials li::marker{color:var(--adc-primary);}

/* Package expiry: plain line under the terms, same size as the terms text, date in bold red */
.pkg-card .pkg-terms{border-top:0;padding-top:0;margin-top:12px;}
.pkg-card .pkg-expires{display:block;align-self:auto;margin:4px 0 0;padding:0;background:none;border-radius:0;text-align:center;font-size:.7rem;font-weight:400;color:var(--adc-ink-faint);}
.pkg-card .pkg-expires::before{content:none;}
.pkg-card .pkg-expires b{color:#e11d1d;font-weight:700;}

/* Brands: full colour again */
.brands-track img{filter:none;opacity:1;}

/* Price list footer: centred text, button below */
.pricing-foot--card{flex-direction:column;justify-content:center;text-align:center;gap:16px;}
.pricing-foot--card .pricing-foot__note{flex:none;max-width:none;text-align:center;}
.pricing-foot--card .pricing-foot__note p{margin-inline:auto;text-align:center;max-width:none;}
.pricing-foot--card .btn{margin:0 auto;}

/* ===== Treatment cards: tidier — equal heights, uniform image box, lighter links, scrolling list ===== */
.treat-carousel.adc-carousel__track{align-items:stretch !important;}
.treat-carousel .treat-card{border-radius:18px;transition:box-shadow .25s,transform .25s,border-color .25s;}
.treat-carousel .treat-card:hover{border-color:var(--adc-primary-l);}
.treat-carousel .treat-card__img{aspect-ratio:5/4;background:linear-gradient(180deg,#fff,var(--adc-surface));border-bottom:1px solid var(--adc-line-soft);}
.treat-carousel .treat-card__img img{height:100%;object-fit:contain;padding:10px;}
.treat-carousel .treat-card__img--ph{aspect-ratio:5/4;}
.treat-carousel .treat-card figcaption{padding:18px 20px 20px;}
.treat-carousel .treat-card__l1{font-size:1.1rem;}
.treat-carousel .treat-card__l1+.treat-card__l2{margin-top:12px;padding-top:12px;}
/* list: fixed height, rest scrolls, scrollbar hidden, fade hint */
.treat-carousel .treat-card__l2{max-height:260px;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior:contain;}
.treat-carousel .treat-card__l2::-webkit-scrollbar{display:none;}
.treat-carousel .treat-card__l2.is-scrollable{-webkit-mask-image:linear-gradient(#000 calc(100% - 30px),transparent);mask-image:linear-gradient(#000 calc(100% - 30px),transparent);}
.treat-carousel .treat-card__l2.is-scrollable.at-end{-webkit-mask-image:none;mask-image:none;}
/* list text: smaller, tighter, consistent; links in the same size, quieter underline */
.treat-carousel .treat-card figcaption ul,.treat-carousel .treat-card figcaption ol{font-size:.88rem;}
.treat-carousel .treat-card figcaption li{padding:4px 0 4px 26px;color:var(--adc-ink-soft);}
.treat-carousel .treat-card figcaption ul>li::before,.treat-carousel .treat-card figcaption ol>li::before{top:5px;width:16px;height:16px;font-size:.62rem;}
.treat-carousel .treat-card figcaption li a,.treat-carousel .treat-card figcaption a{font-size:inherit;font-weight:500;color:var(--adc-primary);text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:rgba(0,52,129,.35);text-underline-offset:3px;}
.treat-carousel .treat-card figcaption li a:hover,.treat-carousel .treat-card figcaption a:hover{color:var(--adc-primary-d);text-decoration-color:currentColor;}
.treat-carousel .treat-card__l1 a{text-decoration:none;}

/* ===== Treatment cards v3: image with title label, 4-item checklist + "Show all" ===== */
.treat-carousel .treat-card{border-radius:20px;border:1px solid var(--adc-line-soft);box-shadow:0 2px 6px rgba(16,24,40,.05);}
.treat-carousel .treat-card:hover{box-shadow:0 14px 34px rgba(16,24,40,.12);border-color:var(--adc-line);}
.treat-carousel .treat-card__img{aspect-ratio:6/5;border:0;background:var(--adc-primary-l);}
.treat-carousel .treat-card__img img{height:100%;object-fit:cover;object-position:center 35%;padding:0;}
.treat-carousel .treat-card__img::after{content:"";position:absolute;inset:auto 0 0 0;height:55%;background:linear-gradient(180deg,transparent,rgba(8,24,64,.78));pointer-events:none;}
.treat-card__tag{position:absolute;left:18px;right:18px;bottom:16px;z-index:1;color:#fff;font-family:var(--adc-font-display);font-weight:600;font-size:1.15rem;line-height:1.25;letter-spacing:-.01em;text-shadow:0 1px 8px rgba(0,0,0,.35);}
.treat-carousel .treat-card__img .ba-pair__zoom{z-index:2;}
.treat-carousel .treat-card figcaption{padding:16px 20px 20px;}
.treat-carousel .treat-card__l1{font-size:.95rem;font-weight:600;color:var(--adc-ink);}
.treat-carousel .treat-card__l1+.treat-card__l2{margin-top:10px;padding-top:10px;}
.treat-carousel .treat-card__l2{max-height:none;overflow:hidden;-webkit-mask-image:none;mask-image:none;transition:max-height .3s ease;}
.treat-carousel .treat-card__l2.is-collapsed{-webkit-mask-image:linear-gradient(#000 calc(100% - 22px),transparent);mask-image:linear-gradient(#000 calc(100% - 22px),transparent);}
.treat-card__more{align-self:flex-start;margin-top:8px;padding:6px 14px;border:1px solid var(--adc-line);border-radius:var(--adc-pill);background:#fff;color:var(--adc-primary);font:600 .78rem/1 var(--adc-font-body);cursor:pointer;transition:background .2s,border-color .2s;}
.treat-card__more:hover{background:var(--adc-primary-l);border-color:var(--adc-primary-l);}
.treat-carousel .treat-card figcaption{justify-content:flex-start;}

/* Title overlay lives beside (not inside) the lightbox link so it can be its own link */
.treat-card__media{position:relative;}
.treat-carousel .treat-card__img::after{content:none;}
.treat-card__media::after{content:"";position:absolute;inset:auto 0 0 0;height:55%;background:linear-gradient(180deg,transparent,rgba(8,24,64,.78));pointer-events:none;}
.treat-card__tag{display:block;text-decoration:none;}
a.treat-card__tag{color:#fff;}
a.treat-card__tag:hover{color:#fff;text-decoration:underline;text-underline-offset:4px;}

/* v3 fixes: lists can live in text box 1 or 2; image-less cards get the same titled header */
.treat-carousel .treat-card figcaption li:empty{display:none;}
.treat-carousel .treat-card__l1 li,.treat-carousel .treat-card__l1 ul{font-weight:400;}
.treat-carousel .treat-card__l1,.treat-carousel .treat-card__l2{overflow:hidden;transition:max-height .3s ease;}
.treat-carousel .treat-card__l1.is-collapsed{-webkit-mask-image:linear-gradient(#000 calc(100% - 22px),transparent);mask-image:linear-gradient(#000 calc(100% - 22px),transparent);}
.treat-carousel .treat-card__img--ph{aspect-ratio:6/5;display:flex;align-items:flex-end;justify-content:flex-start;text-align:left;padding:18px;background:linear-gradient(160deg,#1a4fb0 0%,#0b2a6b 100%);border:0;}
.treat-carousel .treat-card__img--ph strong,.treat-carousel .treat-card__img--ph a{color:#fff;font-family:var(--adc-font-display);font-weight:600;font-size:1.15rem;line-height:1.25;text-decoration:none;}
.treat-carousel .treat-card__img--ph a:hover{text-decoration:underline;text-underline-offset:4px;color:#fff;}

/* Card title sits BELOW the image (no overlay) */
.treat-card__media::after{content:none;}
.treat-card__tag{position:static;display:block;padding:16px 20px 0;color:var(--adc-ink);text-shadow:none;font-family:var(--adc-font-display);font-weight:700;font-size:1.15rem;line-height:1.3;letter-spacing:-.01em;}
a.treat-card__tag{color:var(--adc-primary);}
a.treat-card__tag:hover{color:var(--adc-primary-d);text-decoration:underline;text-underline-offset:4px;}
.treat-carousel .treat-card figcaption{padding-top:10px;}

/* Treatment card images are not clickable */
.treat-carousel .treat-card__img{cursor:default;}

/* "Show all" pill: the theme's button styles (white text on hover/focus) were washing it out */
.treat-carousel .treat-card .treat-card__more{color:var(--adc-primary) !important;background:#fff !important;border:1px solid var(--adc-line) !important;box-shadow:none !important;outline:0;text-shadow:none;}
.treat-carousel .treat-card .treat-card__more:hover{color:var(--adc-primary-d) !important;background:var(--adc-primary-l) !important;border-color:var(--adc-primary) !important;}
.treat-carousel .treat-card .treat-card__more:focus{color:var(--adc-primary) !important;background:#fff !important;}
.treat-carousel .treat-card .treat-card__more:focus-visible{outline:2px solid var(--adc-primary);outline-offset:2px;}

/* room inside the scrolling track so the card's hover shadow and lift aren't clipped */
.treat-carousel.adc-carousel__track{padding:10px 22px 52px;margin:-10px -22px -52px;}
/* Phones: the 16px page margin is narrower than that 22px shadow room, so cards
   snapped past the screen edge — keep the sides inside the margin. */
@media (max-width:640px){.treat-carousel.adc-carousel__track{padding-left:2px;padding-right:2px;margin-left:-2px;margin-right:-2px;scroll-padding-inline:2px;}}
.treat-carousel .treat-card{will-change:transform;}
.treat-carousel .treat-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(16,24,40,.14);}

/* Equal-height treatment cards: height:100% on a flex item of an auto-height row blocks stretching */
.treat-carousel.adc-carousel__track{align-items:stretch !important;}
.treat-carousel .treat-card{height:auto !important;align-self:stretch !important;}
.treat-carousel .treat-card figcaption{flex:1 1 auto;}

/* ===== Homepage tweaks (Oct 2026) ===== */
/* Price-list CTA: no box around it (desktop + mobile) — later than the
   .pricing-foot card rule above, so it wins on equal specificity. */
.pricing-foot{background:none;border:0;padding:0;border-radius:0;box-shadow:none;}
/* Desktop cost table: narrower, centred. */
.price-table-card{max-width:800px;margin-inline:auto;}
/* Consult (CTA + form): less empty space above the card on desktop —
   the previous section's bottom padding already separates them. */
/* Gap above the form card = the previous section's bottom padding + this
   section's top padding. Zero ours and shrink theirs so ~40px separates
   whatever section sits above it (any order — uses :has). */
@media (min-width:961px){
  #consult{padding-top:0;}
  .section:has(+ #consult){padding-bottom:40px;}
}
@media (max-width:640px){
  /* Mobile: no small eyebrow labels above section headings. */
  .eyebrow{display:none !important;}
  /* Mobile consult: drop the text column; the form's own heading sits above the form instead. */
  .consult-copy{display:none;}
  .consult-form .mtc-form-wrapper h2.title{display:block !important;margin:0 0 16px !important;text-align:left !important;font-size:1.375rem !important;line-height:1.3 !important;color:var(--adc-ink) !important;}
  .consult-form .mtc-form-wrapper h2.title::after{display:none !important;}
  /* Mobile: every section heading left-aligned (the hero keeps its own centring). */
  .section .section-head.center{text-align:left;margin-inline:0 !important;} /* !important: template has an inline margin-inline:auto */
  .section .section-head.center h2{justify-content:flex-start;}
  .section .section-head.center p{margin-inline:0;}
  .section .brands-label{text-align:left;}
  .section .border-card{text-align:left;align-items:flex-start;}
}
