/*
 * ADSC homepage — Phase 2 components (2026-09-26)
 * 1) Meet Our Doctors  2) Complete Specialty Dental Services (expandable cards)  3) FAQ accordion
 * Scoped class prefixes: .adsc-hpdoc-*, .adsc-hpsvc-*, .adsc-hpfaq-*, .adsc-hpacc-*
 * Contrast (on #fff): navy #172852 14.4:1 · body #4a4a4a 8.9:1 · role gold #6b5a2c 6.7:1
 */
/* tokens for .adsc-hpdoc / .adsc-hpsvc / .adsc-hpfaq moved to assets/css/adsc-faq.css (2026-10-14) */
.adsc-sr {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

/* ---------- Shared section heads ---------- */
.adsc-hpdoc-head,
.adsc-hpsvc-head,
.adsc-hpfaq-head { max-width: 680px; margin: 0 auto 2.25rem; text-align: center; }
.adsc-hpdoc-head h2,
.adsc-hpsvc-head h2,
.adsc-hpfaq-head h2 {
	font-family: var(--hp-head); font-weight: 600; font-size: clamp(1.75rem, 3.2vw, 2.3rem);
	line-height: 1.2; color: var(--hp-navy); margin: 0 0 .75rem; text-wrap: balance;
}
.adsc-hpdoc-head p,
.adsc-hpsvc-head p,
.adsc-hpfaq-head p { color: var(--hp-body); font-size: 1.05rem; line-height: 1.65; margin: 0; }

/* ======================= 1) MEET OUR DOCTORS ======================= */
.adsc-hpdoc { padding: 80px 0; background: linear-gradient(180deg, #fff 0%, var(--hp-off) 100%); }
.adsc-hpdoc-eyebrow { font-weight: 500; color: var(--hp-gold-ink) !important; font-size: .98rem !important; margin: 0 0 .4rem !important; letter-spacing: .02em; }
.adsc-hpdoc-head h2::after { content: ""; display: block; width: 56px; height: 2px; background: var(--hp-gold); margin: .9rem auto 0; }
.adsc-hpdoc-grid {
	list-style: none; margin: 0 auto; padding: 0; max-width: 1080px;
	display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px;
}
.adsc-hpdoc-card {
	margin: 0; background: #fff; border: 1px solid var(--hp-line); border-radius: 14px; overflow: hidden;
	display: flex; flex-direction: column;
	box-shadow: 0 1px 2px rgba(23, 40, 82, .04), 0 8px 24px rgba(23, 40, 82, .06);
	transition: box-shadow .25s ease, transform .25s ease;
}
.adsc-hpdoc-card:hover { box-shadow: 0 2px 4px rgba(23, 40, 82, .06), 0 16px 36px rgba(23, 40, 82, .12); transform: translateY(-2px); }
.adsc-hpdoc-photo { position: relative; margin: 0; aspect-ratio: 4 / 5; background: #f1f1f3; overflow: hidden; }
.adsc-hpdoc-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 18%; display: block; max-width: none; }
.adsc-hpdoc-photo--initials { display: grid; place-items: center; background: linear-gradient(160deg, var(--hp-navy) 0%, var(--hp-navy-dark) 100%); }
.adsc-hpdoc-photo--initials span { font-family: var(--hp-head); font-size: 3.4rem; letter-spacing: .06em; color: #c9b48a; }
.adsc-hpdoc-body { padding: 20px 22px 22px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.adsc-hpdoc-body h3 { font-family: var(--hp-head); font-weight: 600; font-size: 1.3rem; line-height: 1.25; color: var(--hp-navy); margin: 0; }
.adsc-hpdoc-cred { font-family: var(--hp-text); font-weight: 500; font-size: .95rem; color: var(--hp-body); white-space: nowrap; }
.adsc-hpdoc-role { font-size: .95rem; font-weight: 600; color: var(--hp-gold-ink); margin: 0; line-height: 1.4; }
.adsc-hpdoc-desc { font-size: .97rem; line-height: 1.55; color: var(--hp-body); margin: 4px 0 14px; }
.adsc-hpdoc-link {
	margin-top: auto; align-self: flex-start; display: inline-flex; align-items: center; gap: 8px;
	min-height: 44px; padding: 10px 18px; border: 1.5px solid var(--hp-navy); border-radius: 999px;
	color: var(--hp-navy); font-weight: 600; font-size: .95rem; text-decoration: none; background: #fff;
	transition: background-color .2s ease, color .2s ease;
}
.adsc-hpdoc-link svg { width: 16px; height: 16px; flex: none; }
.adsc-hpdoc-link:hover { background: var(--hp-navy); color: #fff; }
.adsc-hpdoc-foot { text-align: center; margin: 36px 0 0; }
.adsc-hpdoc-foot a {
	display: inline-flex; align-items: center; min-height: 44px; padding: 12px 26px; border-radius: 999px;
	background: var(--hp-navy); color: #fff; font-weight: 600; text-decoration: none;
}
.adsc-hpdoc-foot a:hover { background: var(--hp-navy-dark); color: #fff; }

@media (max-width: 1024px) {
	.adsc-hpdoc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
}
@media (max-width: 600px) {
	.adsc-hpdoc { padding: 56px 0; }
	.adsc-hpdoc-head { margin-bottom: 1.6rem; }
	.adsc-hpdoc-grid { grid-template-columns: 1fr; gap: 14px; }
	.adsc-hpdoc-card { flex-direction: row; align-items: stretch; }
	.adsc-hpdoc-photo { aspect-ratio: auto; width: 112px; flex: none; }
	.adsc-hpdoc-photo--initials span { font-size: 1.9rem; }
	.adsc-hpdoc-body { padding: 14px 14px 14px 16px; gap: 3px; }
	.adsc-hpdoc-body h3 { font-size: 1.1rem; }
	.adsc-hpdoc-cred { font-size: .86rem; }
	.adsc-hpdoc-role { font-size: .88rem; }
	.adsc-hpdoc-desc { font-size: .92rem; margin: 2px 0 8px; }
	.adsc-hpdoc-link { padding: 8px 14px; font-size: .9rem; }
}

/* Shared accordion control moved to assets/css/adsc-faq.css (2026-10-14) */

/* ======================= 2) SERVICES (expandable cards) ======================= */
.adsc-hpsvc { background: #f5f5f5; }
.adsc-hpsvc-sub { font-family: var(--hp-head); font-size: 1.12rem !important; color: var(--hp-navy) !important; margin: 0 0 .75rem !important; }
.adsc-hpsvc-grid {
	max-width: 1080px; margin: 0 auto;
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 20px; align-items: start;
}
.adsc-hpsvc-card {
	background: #fff; border: 1px solid var(--hp-line); border-radius: 14px;
	box-shadow: 0 1px 2px rgba(23, 40, 82, .04), 0 6px 18px rgba(23, 40, 82, .05);
	transition: box-shadow .2s ease, border-color .2s ease;
}
.adsc-hpsvc-card:hover { box-shadow: 0 2px 4px rgba(23, 40, 82, .06), 0 12px 28px rgba(23, 40, 82, .09); }
.adsc-hpsvc-card:has(.adsc-hpacc-btn[aria-expanded="true"]) { border-color: var(--hp-gold); }
.adsc-hpsvc-cardhead { position: relative; padding: 14px 20px 16px; }
.adsc-hpsvc-cardhead h3 { margin: 0; font-size: inherit; line-height: inherit; }
.adsc-hpsvc-cardhead .adsc-hpacc-btn { position: static; padding: 6px 0; }
/* Whole card head is clickable, but the only control is the real button */
.adsc-hpsvc-cardhead .adsc-hpacc-btn::after { content: ""; position: absolute; inset: 0; border-radius: 14px 14px 0 0; }
.adsc-hpsvc-title { font-family: var(--hp-head); font-weight: 600; font-size: 1.2rem; line-height: 1.3; color: var(--hp-navy); }
.adsc-hpsvc-desc { margin: 2px 52px 0 0; font-size: .96rem; line-height: 1.5; color: var(--hp-body); }
.adsc-hpsvc-panel { margin: 0 20px; padding: 0 0 20px; border-top: 1px solid var(--hp-line); }
.adsc-hpsvc-panel > p { margin: 16px 0 12px; font-size: .98rem; line-height: 1.7; color: var(--hp-body); }
.adsc-hpsvc-panel > p a { color: var(--hp-navy); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.adsc-hpsvc-links { list-style: none; margin: 0 0 14px; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.adsc-hpsvc-links li { margin: 0; padding: 0; }
.adsc-hpsvc-links li::before { content: none; }
.adsc-hpsvc-links a {
	display: inline-flex; align-items: center; min-height: 44px; padding: 8px 14px; border-radius: 999px;
	background: var(--hp-off); border: 1px solid var(--hp-line); color: var(--hp-navy);
	font-size: .92rem; font-weight: 500; text-decoration: none;
}
.adsc-hpsvc-links a:hover { border-color: var(--hp-navy); text-decoration: underline; text-underline-offset: 3px; }
.adsc-hpsvc-more {
	display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 10px 18px;
	border-radius: 999px; background: var(--hp-navy); color: #fff !important; font-weight: 600; font-size: .95rem; text-decoration: none;
}
.adsc-hpsvc-more svg { width: 16px; height: 16px; flex: none; }
.adsc-hpsvc-more:hover { background: var(--hp-navy-dark); }
.adsc-hpsvc-cta { text-align: center; margin-top: 2.5rem; }
.adsc-hpsvc-cta p { font-size: 1.05rem; color: var(--hp-body); max-width: 700px; margin: 0 auto 1.5rem; line-height: 1.65; }

@media (max-width: 767px) {
	.adsc-hpsvc-grid { grid-template-columns: 1fr; gap: 12px; }
	.adsc-hpsvc-cardhead { padding: 10px 16px 14px; }
	.adsc-hpsvc-title { font-size: 1.1rem; }
	.adsc-hpsvc-desc { font-size: .93rem; margin-right: 48px; }
	.adsc-hpsvc-panel { margin: 0 16px; }
}

/* FAQ component moved to assets/css/adsc-faq.css (2026-10-14) */

/* Reduced motion: no lift, no rotation transitions */
@media (prefers-reduced-motion: reduce) {
	.adsc-hpdoc-card, .adsc-hpdoc-link, .adsc-hpsvc-card { transition: none !important; }
	.adsc-hpdoc-card:hover { transform: none; }
}

/* ---------- Scoped overrides: site-wide rules (e.g. "main a:not(...)" gold links,
   "h3:not(...)" gold headings, ".adsc-home p" margins) otherwise override the
   approved navy design. ID scope keeps these limited to the three components. ---------- */
#meet-our-doctors h3,
#all-services h3,
#faq h3 { color: var(--hp-navy); margin: 0; }
#all-services h3,
#faq h3 { font-size: inherit !important; line-height: inherit; }
#meet-our-doctors .adsc-hpdoc-head p { margin: 0; }
#meet-our-doctors .adsc-hpdoc-eyebrow { margin: 0 0 .4rem; }
#meet-our-doctors .adsc-hpdoc-role { margin: 0; }
#meet-our-doctors .adsc-hpdoc-desc { margin: 4px 0 14px; }
#meet-our-doctors .adsc-hpdoc-link { color: var(--hp-navy); text-decoration: none; }
#meet-our-doctors .adsc-hpdoc-link:hover { color: #fff; }
#meet-our-doctors .adsc-hpdoc-foot a,
#meet-our-doctors .adsc-hpdoc-foot a:hover { color: #fff; text-decoration: none; }
#all-services .adsc-hpsvc-head p,
#faq .adsc-hpfaq-head p { margin: 0 0 .5rem; }
#all-services .adsc-hpsvc-desc { margin: 0 52px 0 0; }
#all-services .adsc-hpsvc-panel > p { margin: 16px 0 12px; }
#all-services .adsc-hpsvc-panel > p a,
#faq .adsc-hpfaq-a a,
#faq .adsc-hpfaq-more a { color: var(--hp-navy); text-decoration: underline; text-underline-offset: 3px; }
#all-services .adsc-hpsvc-links a { color: var(--hp-navy); text-decoration: none; }
#all-services .adsc-hpsvc-links a:hover { text-decoration: underline; }
#all-services .adsc-hpsvc-more,
#all-services .adsc-hpsvc-more:hover { color: #fff; text-decoration: none; }
#all-services .adsc-hpsvc-cta p { margin: 0 auto 1.5rem; }
#faq .adsc-hpfaq-a p { margin: 0 0 10px; }
@media (max-width: 767px) {
	#all-services .adsc-hpsvc-desc { margin-right: 48px; }
}
@media (max-width: 600px) {
	#meet-our-doctors .adsc-hpdoc-desc { margin: 2px 0 8px; }
}

/* WCAG 2.4.11 (Focus Not Obscured): the site's fixed bottom bars (mobile CTA, sticky CTA,
   floating button — up to ~146px) can hide a control that the browser scrolls into view
   at the bottom edge. Keep focused controls in these components clear of them. */
#meet-our-doctors a,
#all-services a,
#all-services button,
#faq a,
#faq button { scroll-margin-bottom: 160px; scroll-margin-top: 96px; }

/* ======================= 4) HERO v2 (approved 2026-09-26) =======================
   Shorter copy, left-aligned, lighter navy overlay over the SAME image (adsc-hero-bg-1140w.webp, center/cover).
   !important is needed because older inline + site-wide hero rules also use it.
   Measured worst-case contrast over the photo: H1 5.1:1 (large text), lead 6.6:1, service line 5.6:1,
   secondary button text 6.6:1, primary button 6.9:1.
   IMAGE SWAP 2026-09-26 (user: "mix of A and B, more A"): adsc-hero-scan-xray-{1600w,800w}.webp = digital scanning
   suite (mirrored) with an implant X-ray blended in on the left, both from existing media-library photos.
   Overlay lightened slightly (.80/.66/.30 -> .74/.60/.28) so the X-ray reads. Re-measured worst case:
   desktop H1 4.8:1, lead 5.4:1, services 5.5:1; phone H1 7.1:1, lead 6.7:1 (all pass AA).
   Previous image: 2024/dental-images/adsc-hero-bg-1140w.webp (untouched). Backup: home-sections.before-hero-image-swap.css */
.adsc-hero.adsc-hero--v2 {
	min-height: 0 !important;
	padding: 104px 0 96px !important;
	background: linear-gradient(90deg, rgba(15, 28, 61, .74) 0%, rgba(23, 40, 82, .60) 38%, rgba(23, 40, 82, .28) 68%, rgba(23, 40, 82, .10) 100%),
		url('/wp-content/uploads/2026/09/adsc-hero-scan-xray-1600w.webp') center 45% / cover no-repeat !important;
}
.adsc-hero--v2 .adsc-container { max-width: 1240px !important; width: 100% !important; margin: 0 auto !important; }
.adsc-hero--v2 .adsc-hero-content { max-width: 560px !important; padding: 0 !important; margin: 0 !important; text-align: left !important; }
.adsc-hero.adsc-hero--v2 h1.adsc-hero-v2-h1 {
	margin: 0 0 18px !important; color: #fff !important; text-shadow: none !important;
	font-size: clamp(2.3rem, 1.3rem + 2.6vw, 3.4rem) !important; line-height: 1.1 !important; letter-spacing: -.005em; text-wrap: balance;
}
.adsc-hero.adsc-hero--v2 .adsc-hero-content p.adsc-hero-v2-lead {
	margin: 0 0 34px !important; max-width: 470px !important; color: #fff !important;
	font-size: 1.2rem !important; line-height: 1.55 !important; font-weight: 400;
}
.adsc-hero-v2-ctas { display: flex; flex-wrap: wrap; gap: 14px; }
.adsc-hero--v2 a.adsc-hero-v2-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	min-height: 54px; padding: 14px 28px; border-radius: 999px; border: 2px solid transparent;
	font-weight: 700; font-size: 1.02rem; line-height: 1.2; text-decoration: none !important;
	transition: background-color .2s ease, color .2s ease;
}
.adsc-hero-v2-btn svg { width: 18px; height: 18px; flex: none; }
.adsc-hero--v2 a.adsc-hero-v2-btn--primary { background: #d4af6f; color: #172852 !important; }
.adsc-hero--v2 a.adsc-hero-v2-btn--primary:hover { background: #e2c48e; color: #172852 !important; }
.adsc-hero--v2 a.adsc-hero-v2-btn--secondary { background: rgba(15, 28, 61, .6); color: #fff !important; border-color: #fff; }
.adsc-hero--v2 a.adsc-hero-v2-btn--secondary:hover { background: #fff; color: #172852 !important; }
.adsc-hero--v2 a.adsc-hero-v2-btn:focus-visible { outline: 3px solid #fff !important; outline-offset: 3px; }
.adsc-hero.adsc-hero--v2 .adsc-hero-content p.adsc-hero-v2-services {
	margin: 30px 0 0 !important; font-size: .92rem !important; line-height: 1.6 !important;
	letter-spacing: .01em; color: rgba(255, 255, 255, .92) !important;
}
.adsc-hero-v2-svc { white-space: nowrap; }
.adsc-hero-v2-dot { margin: 0 .5em; color: #d4af6f; }
@media (max-width: 600px) {
	.adsc-hero.adsc-hero--v2 {
		padding: 48px 0 52px !important;
		background: linear-gradient(180deg, rgba(15, 28, 61, .74) 0%, rgba(23, 40, 82, .70) 100%),
			url('/wp-content/uploads/2026/09/adsc-hero-scan-xray-800w.webp') 18% center / cover no-repeat !important;
	}
	.adsc-hero.adsc-hero--v2 h1.adsc-hero-v2-h1 { font-size: 2.15rem !important; margin-bottom: 14px !important; }
	.adsc-hero.adsc-hero--v2 .adsc-hero-content p.adsc-hero-v2-lead { font-size: 1.06rem !important; margin-bottom: 26px !important; }
	.adsc-hero-v2-ctas { flex-direction: column; gap: 12px; }
	.adsc-hero--v2 a.adsc-hero-v2-btn { width: 100%; min-height: 52px; }
	.adsc-hero.adsc-hero--v2 .adsc-hero-content p.adsc-hero-v2-services { margin-top: 24px !important; font-size: .86rem !important; }
}
@media (prefers-reduced-motion: reduce) { .adsc-hero--v2 a.adsc-hero-v2-btn { transition: none; } }

/* ==================== PHASE 1 QUICK WINS (2026-09-26) ==================== */
/* Line icons replacing emoji (trust bar, about features, contact box) */
.adsc-home .adsc-ico svg{width:20px;height:20px;display:block;flex:none}
.adsc-home .adsc-trust-icon.adsc-ico,
.adsc-home .adsc-feature-icon.adsc-ico{color:#d4af6f}
.adsc-home .adsc-feature-icon.adsc-ico svg{width:22px;height:22px}
.adsc-home .adsc-contact-icon.adsc-ico{color:#fff}

/* Bone Grafting Types card: glass class turned the navy card near-white (text invisible) */
#bone-grafting-detail .adsc-deep-stats-card,
#bone-grafting-detail .adsc-deep-stats-card.adsc-glass-card{background:var(--navy)!important;border:1px solid rgba(255,255,255,.12)!important;color:#fff}
#bone-grafting-detail .adsc-deep-stats-card h3,
#bone-grafting-detail .adsc-deep-stats-card .adsc-deep-stat-num{color:#d4af6f!important}
#bone-grafting-detail .adsc-deep-stats-card .adsc-deep-stat span:not(.adsc-deep-stat-num){color:rgba(255,255,255,.88)!important}

/* Specificity note: style.css has section:not(...)x4 .adsc-btn-gold {bg #7a6837!important} (0,5,1); these selectors are (0,5,3)+.
   Buttons: two styles. Light sections: solid navy (primary) + navy outline (secondary).
   Dark sections: solid light-gold with navy text (primary) + white outline (secondary). */
html body .adsc-home.adsc-home.adsc-home a.adsc-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:12px 26px!important;
  font-family:var(--font-body);font-size:.95rem!important;font-weight:600;line-height:1.2;letter-spacing:.01em;text-decoration:none!important;
  border-radius:999px;border:2px solid transparent;box-shadow:none!important;transform:none!important;transition:background-color .2s ease,color .2s ease,border-color .2s ease}
html body .adsc-home.adsc-home.adsc-home a.adsc-btn:focus-visible{outline:3px solid var(--navy);outline-offset:3px}
html body .adsc-home.adsc-home.adsc-home a.adsc-btn svg{flex:none}
html body .adsc-home.adsc-home.adsc-home a.adsc-btn.adsc-btn-primary{background:var(--navy)!important;color:#fff!important;border-color:var(--navy)!important}
html body .adsc-home.adsc-home.adsc-home a.adsc-btn.adsc-btn-primary:hover{background:var(--navy-dark)!important;border-color:var(--navy-dark)!important}
html body .adsc-home.adsc-home.adsc-home a.adsc-btn.adsc-btn-gold{background:transparent!important;color:var(--navy)!important;border-color:var(--navy)!important}
html body .adsc-home.adsc-home.adsc-home a.adsc-btn.adsc-btn-gold:hover{background:var(--navy)!important;color:#fff!important}
/* dark contexts */
html body .adsc-home.adsc-home.adsc-home .adsc-why a.adsc-btn.adsc-btn-gold,
html body .adsc-home.adsc-home.adsc-home .adsc-appointment a.adsc-btn.adsc-btn-gold,
html body .adsc-home.adsc-home.adsc-home .adsc-section[style*="var(--navy)"] a.adsc-btn.adsc-btn-gold{background:#d4af6f!important;color:var(--navy-dark)!important;border-color:#d4af6f!important}
html body .adsc-home.adsc-home.adsc-home .adsc-why a.adsc-btn.adsc-btn-gold:hover,
html body .adsc-home.adsc-home.adsc-home .adsc-appointment a.adsc-btn.adsc-btn-gold:hover,
html body .adsc-home.adsc-home.adsc-home .adsc-section[style*="var(--navy)"] a.adsc-btn.adsc-btn-gold:hover{background:#e2c792!important;border-color:#e2c792!important}
html body .adsc-home.adsc-home.adsc-home .adsc-why a.adsc-btn.adsc-btn-white,
html body .adsc-home.adsc-home.adsc-home .adsc-appointment a.adsc-btn.adsc-btn-white,
html body .adsc-home.adsc-home.adsc-home .adsc-section[style*="var(--navy)"] a.adsc-btn.adsc-btn-white{background:transparent!important;color:#fff!important;border-color:#fff!important}
html body .adsc-home.adsc-home.adsc-home .adsc-why a.adsc-btn.adsc-btn-white:hover,
html body .adsc-home.adsc-home.adsc-home .adsc-appointment a.adsc-btn.adsc-btn-white:hover,
html body .adsc-home.adsc-home.adsc-home .adsc-section[style*="var(--navy)"] a.adsc-btn.adsc-btn-white:hover{background:#fff!important;color:var(--navy)!important}
html body .adsc-home.adsc-home.adsc-home .adsc-why a.adsc-btn:focus-visible,
html body .adsc-home.adsc-home.adsc-home .adsc-appointment a.adsc-btn:focus-visible,
html body .adsc-home.adsc-home.adsc-home .adsc-section[style*="var(--navy)"] a.adsc-btn:focus-visible{outline-color:#fff}
/* gold CTA band keeps navy solid + white solid (white text on gold fails contrast) */
html body .adsc-home.adsc-home.adsc-home .adsc-cta a.adsc-btn.adsc-btn-white{background:#fff!important;color:var(--navy)!important;border-color:#fff!important}

/* ==================== HERO SLIDER (2026-09-28) ====================
   Three photos from uploads/slider-homepage/ crossfade behind the unchanged hero text.
   Replaces the single background photo AND the heavy full-width navy layers (the section's gradient
   background and the inline animated .adsc-hero::before). Readability now comes from one gradient that is
   strongest behind the text column and fades to clear across the rest of the photo.
   Hero size, padding, text, buttons and breakpoints are untouched (slides are absolutely positioned). */
.adsc-hero.adsc-hero--v2 {
	position: relative !important; overflow: hidden !important;
	background: #172852 !important; /* shows only if images fail */
}
.adsc-hero.adsc-hero--v2::before { display: none !important; }
.adsc-hero--v2 > .adsc-container { position: relative; z-index: 2; }
.adsc-hero-slides { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.adsc-hero-slide { position: absolute; inset: 0; overflow: hidden; opacity: 0; transition: opacity 1.8s ease-in-out; }
.adsc-hero-slide.is-active { opacity: 1; }
.adsc-hero-slide img {
	display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: 50% 50%;
}
.adsc-hero-slides::after {
	/* --tx = left edge of the hero text (same maths as the 1240px container + 24px padding). The shade is
	   strongest across the 560px text column and fades to clear within ~400px after it. */
	--tx: max(16px, calc(50% - 596px));
	content: ""; position: absolute; inset: 0; z-index: 1;
	background: linear-gradient(90deg, rgba(15, 28, 61, .74) 0, rgba(15, 28, 61, .68) calc(var(--tx) + 380px),
		rgba(15, 28, 61, .60) calc(var(--tx) + 580px), rgba(15, 28, 61, .22) calc(var(--tx) + 780px), rgba(15, 28, 61, 0) calc(var(--tx) + 980px));
}
@media (max-width: 600px) {
	.adsc-hero-slides::after {
		background: linear-gradient(180deg, rgba(15, 28, 61, .70) 0%, rgba(15, 28, 61, .60) 55%, rgba(15, 28, 61, .66) 100%);
	}
}
@media (prefers-reduced-motion: reduce) {
	.adsc-hero-slide { transition: none; }
}

/* ==================== HERO SLIDER rev. 2 (2026-09-28) ====================
   Horizontal slide, LEFT -> RIGHT: the current photo moves out to the right, the next enters from the
   left. Replaces the crossfade rules above (opacity is no longer used). The readability gradient
   (.adsc-hero-slides::after) and the hero text are unchanged and never move. */
.adsc-hero-slide { opacity: 1; transition: none; transform: translate3d(-100%, 0, 0); visibility: hidden; will-change: transform; }
.adsc-hero-slide.is-active { transform: translate3d(0, 0, 0); visibility: visible; }
.adsc-hero-slide.is-prep { transform: translate3d(-100%, 0, 0); visibility: visible; transition: none; }
.adsc-hero-slide.is-leaving { transform: translate3d(100%, 0, 0); visibility: visible; }
.adsc-hero-slide.is-moving { transition: transform 1.8s cubic-bezier(.65, 0, .35, 1); }

/* Indicators: three small buttons in a subtle navy pill, bottom centre of the hero. */
.adsc-hero-dots {
	position: absolute; left: 50%; bottom: 22px; z-index: 3; transform: translateX(-50%);
	display: none; align-items: center; gap: 2px; padding: 3px 6px; border-radius: 999px;
	background: rgba(15, 28, 61, .78);
}
.adsc-hero--v2.has-slider-js .adsc-hero-dots { display: flex; }
.adsc-hero-dot {
	position: relative; width: 28px; height: 24px; min-width: 0 !important; min-height: 0 !important;
	padding: 0; margin: 0; border: 0; background: transparent; cursor: pointer; border-radius: 999px;
}
.adsc-hero-dot::before {
	content: ""; position: absolute; top: 50%; left: 50%; width: 8px; height: 8px; border-radius: 999px;
	transform: translate(-50%, -50%); background: rgba(255, 255, 255, .72);
	transition: width .3s ease, background-color .3s ease;
}
.adsc-hero-dot:hover::before { background: #ffffff; }
.adsc-hero-dot[aria-current="true"]::before { width: 20px; background: #d4af6f; }
.adsc-hero-dot:focus-visible { outline: 2px solid #ffffff; outline-offset: 1px; }
@media (max-width: 600px) { .adsc-hero-dots { bottom: 12px; } }
@media (prefers-reduced-motion: reduce) {
	.adsc-hero-slide.is-moving { transition: none; }
	.adsc-hero-dot::before { transition: none; }
}

/* ==================== MEET OUR DOCTORS — compact (2026-09-28) ====================
   Same six doctors, names, credentials, roles, descriptions and profile links; only the layout is
   tighter: horizontal cards (small portrait + text) in a 3×2 grid, 2 columns on tablets and a
   swipeable row on phones. */
#meet-our-doctors.adsc-hpdoc { padding: 72px 0; }
#meet-our-doctors .adsc-hpdoc-head { margin-bottom: 32px; }
#meet-our-doctors .adsc-hpdoc-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
#meet-our-doctors .adsc-hpdoc-card { flex-direction: row; align-items: stretch; }
#meet-our-doctors .adsc-hpdoc-photo { aspect-ratio: auto; width: 118px; flex: none; }
#meet-our-doctors .adsc-hpdoc-photo--initials span { font-size: 1.9rem; }
#meet-our-doctors .adsc-hpdoc-body { padding: 16px 16px 16px 18px; gap: 3px; }
#meet-our-doctors .adsc-hpdoc-body h3 { font-size: 1.08rem !important; line-height: 1.25 !important; }
#meet-our-doctors .adsc-hpdoc-cred { font-size: .86rem; }
#meet-our-doctors .adsc-hpdoc-role { font-size: .86rem; }
#meet-our-doctors .adsc-hpdoc-desc { font-size: .9rem !important; line-height: 1.45 !important; margin: 4px 0 10px; }
#meet-our-doctors .adsc-hpdoc-link { padding: 7px 14px; font-size: .88rem; margin-top: auto; align-self: flex-start; }
#meet-our-doctors .adsc-hpdoc-foot { margin-top: 28px !important; }
@media (max-width: 1100px) {
	#meet-our-doctors .adsc-hpdoc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
	#meet-our-doctors.adsc-hpdoc { padding: 56px 0; }
	#meet-our-doctors .adsc-hpdoc-grid {
		display: grid; grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: 84%;
		gap: 12px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory;
		padding: 4px 2px 14px; margin: 0 -2px; scrollbar-width: thin;
	}
	#meet-our-doctors .adsc-hpdoc-card { scroll-snap-align: start; }
	#meet-our-doctors .adsc-hpdoc-card:hover { transform: none; }
	#meet-our-doctors .adsc-hpdoc-photo { width: 96px; }
	#meet-our-doctors .adsc-hpdoc-foot { margin-top: 18px !important; }
}

/* ==================== TREATMENT GUIDE (2026-09-28) ====================
   One accordion replacing the eight deep-content sections. Two columns of four on desktop. */
.adsc-tg { padding: 96px 0; background: #f5f5f7; }
.adsc-tg-head { max-width: 760px; margin: 0 auto 40px; text-align: center; }
html body .adsc-home .adsc-tg-eyebrow { margin: 0 0 .4rem !important; font-size: 1.0625rem !important; font-weight: 600 !important; color: #7a6837 !important; }
html body .adsc-home .adsc-tg-head h2 { margin: 0 0 .5em !important; }
html body .adsc-home .adsc-tg-intro { margin: 0 !important; color: #424245 !important; }
.adsc-tg-cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 24px; align-items: start; }
.adsc-tg-col { display: flex; flex-direction: column; gap: 12px; }
.adsc-tg-item { background: #ffffff; border: 1px solid #d2d2d7; border-radius: 16px; }
.adsc-tg-item.is-open { border-color: #172852; box-shadow: 0 8px 24px rgba(23, 40, 82, .08); }
html body .adsc-home h3.adsc-tg-title { margin: 0 !important; font-size: 1.0625rem !important; line-height: 1.3 !important; }
.adsc-tg-btn {
	display: flex !important; width: 100%; min-height: 64px; align-items: center; justify-content: space-between; gap: 16px;
	padding: 16px 20px; margin: 0; border: 0; border-radius: 16px; background: transparent; cursor: pointer; text-align: left;
	font: inherit; font-weight: 600; color: #1d1d1f; letter-spacing: -.01em;
}
.adsc-tg-btn:hover .adsc-tg-btn-text { color: #172852; text-decoration: underline; text-underline-offset: 3px; }
.adsc-tg-btn:focus-visible { outline: 3px solid #172852; outline-offset: 2px; }
.adsc-tg-icon { flex: none; color: #172852; transition: transform .25s ease; }
.adsc-tg-btn[aria-expanded="true"] .adsc-tg-icon { transform: rotate(180deg); }
.adsc-tg-panel { padding: 0 20px 20px; }
html body .adsc-home .adsc-tg-panel p { margin: 0 0 12px !important; font-size: 1rem !important; line-height: 1.55 !important; color: #424245 !important; }
html body .adsc-home .adsc-tg-panel p a:not(.adsc-tg-link) { color: #172852 !important; text-decoration: underline; }
.adsc-tg-facts { list-style: none; margin: 4px 0 16px !important; padding: 0 !important; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 16px; }
html body .adsc-home .adsc-tg-facts li {
	position: relative; margin: 0 !important; padding-left: 18px; font-size: .9375rem !important; line-height: 1.4 !important; color: #1d1d1f !important;
}
.adsc-tg-facts li::before { content: ""; position: absolute; left: 2px; top: .5em; width: 7px; height: 7px; border-radius: 50%; background: #7a6837; }
html body .adsc-home p.adsc-tg-links { display: flex; flex-wrap: wrap; gap: 8px 20px; align-items: center; margin: 0 !important; }
.adsc-tg-link { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; font-weight: 600; color: #172852 !important; text-decoration: underline; text-underline-offset: 3px; }
.adsc-tg-link--main { text-decoration: none; }
.adsc-tg-link--main:hover { text-decoration: underline; }
.adsc-tg-link svg { flex: none; }
.adsc-tg-link:focus-visible { outline: 3px solid #172852; outline-offset: 2px; border-radius: 4px; }
@media (max-width: 900px) {
	.adsc-tg-cols { grid-template-columns: 1fr; gap: 12px; }
}
@media (max-width: 600px) {
	.adsc-tg { padding: 64px 0; }
	.adsc-tg-head { margin-bottom: 28px; }
	.adsc-tg-btn { padding: 14px 16px; }
	.adsc-tg-panel { padding: 0 16px 16px; }
	.adsc-tg-facts { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) { .adsc-tg-icon { transition: none; } }
/* r13 fixes: a collapsed panel (hidden="until-found" keeps its box) must not keep its padding;
   doctor photos fill the card height instead of setting it. */
.adsc-tg-panel[hidden] { padding: 0; }
#meet-our-doctors .adsc-hpdoc-photo { align-self: stretch; }
#meet-our-doctors .adsc-hpdoc-photo img { position: absolute; inset: 0; }
#meet-our-doctors .adsc-hpdoc-photo--initials { min-height: 150px; }

/* ==================== r14 refinements (2026-09-28) ==================== */
/* Hero slider direction: RIGHT -> LEFT. The next photo is parked off the RIGHT edge and slides in;
   the current photo exits to the LEFT. Timing (20 s hold, 1.8 s move), overlay and text unchanged. */
.adsc-hero-slide { transform: translate3d(100%, 0, 0); }
.adsc-hero-slide.is-active { transform: translate3d(0, 0, 0); }
.adsc-hero-slide.is-prep { transform: translate3d(100%, 0, 0); }
.adsc-hero-slide.is-leaving { transform: translate3d(-100%, 0, 0); }

/* Meet Our Doctors: back to photo-on-top cards with a natural head-and-shoulders crop (5:4),
   kept compact. 3 columns desktop, 2 tablet, swipe row on phones (unchanged breakpoints). */
#meet-our-doctors .adsc-hpdoc-card { flex-direction: column; }
#meet-our-doctors .adsc-hpdoc-photo { width: auto; aspect-ratio: 5 / 4; align-self: auto; }
#meet-our-doctors .adsc-hpdoc-photo img { object-position: 50% 16%; }
#meet-our-doctors .adsc-hpdoc-photo--initials { min-height: 0; }
#meet-our-doctors .adsc-hpdoc-body { padding: 16px 18px 18px; }
@media (max-width: 640px) {
	#meet-our-doctors .adsc-hpdoc-photo { width: auto; }
}
/* View profile: light text link instead of an outlined button (same URLs). */
#meet-our-doctors .adsc-hpdoc-link,
#meet-our-doctors .adsc-hpdoc-link:hover {
	min-height: 32px; padding: 4px 0; border: 0; border-radius: 0; background: transparent;
	color: #172852; font-size: .92rem; font-weight: 600; gap: 6px;
}
#meet-our-doctors .adsc-hpdoc-link:hover { text-decoration: underline; text-underline-offset: 3px; }
#meet-our-doctors .adsc-hpdoc-link:focus-visible { outline: 3px solid #172852; outline-offset: 2px; border-radius: 4px; }

/* ==========================================================================
   HERO BAND (Part 4.1 rev. 2, 2026-10-14) — slim glass band across the bottom of the hero.
   Tiny gold eyebrow "What to expect" + slider dots in the band header, 3 equal columns with gold hairlines,
   thin gold top border, gold-outlined numerals, white 15-16px text. Navy glass at .80 keeps white text >= 7:1
   over the lightest slide pixels. Static markup (no CLS); fade-in only, none under reduced motion.
   ========================================================================== */
.adsc-hero.adsc-hero--v2 { padding-bottom: 0 !important; display: flex !important; flex-direction: column !important; align-items: stretch !important; justify-content: flex-end; }
.adsc-hero--v2 > .adsc-container { width: 100%; }
.adsc-hero--v2 > .adsc-container { padding-bottom: 48px !important; }
.adsc-hero-bandwrap {
	position: relative; z-index: 2;
	background: rgba(12, 22, 48, .80); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
	border-top: 1px solid rgba(212, 175, 111, .65);
}
.adsc-hero-bandwrap .adsc-container { max-width: 1240px !important; width: 100% !important; margin: 0 auto !important; padding-top: 14px; padding-bottom: 18px; }
.adsc-hero-band-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 28px; margin-bottom: 10px; }
.adsc-hero--v2 p.adsc-hero-band-eyebrow {
	margin: 0 !important; font-family: var(--font-body, var(--ax-font-text)); font-size: .7rem !important; font-weight: 600;
	letter-spacing: .2em; text-transform: uppercase; color: #e7c98f !important; line-height: 1.4;
}
/* dots: in the band header (static), never over the band */
.adsc-hero--v2 .adsc-hero-bandwrap .adsc-hero-dots { position: static; transform: none; left: auto; bottom: auto; background: transparent; padding: 0; }
.adsc-hero--v2 ol.adsc-hero-band {
	list-style: none !important; margin: 0 !important; padding: 0 !important;
	display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); background: none; border: 0; border-radius: 0;
}
.adsc-hero--v2 .adsc-hero-band li {
	display: flex; align-items: flex-start; gap: 12px; margin: 0 !important; padding: 2px 24px 2px 0 !important;
	color: #fff !important; font-family: var(--font-body, var(--ax-font-text)); font-size: .96rem !important; line-height: 1.5 !important;
}
.adsc-hero--v2 .adsc-hero-band li + li { border-left: 1px solid rgba(212, 175, 111, .5); padding-left: 24px !important; }
.adsc-hero--v2 .adsc-hero-band li::before, .adsc-hero--v2 .adsc-hero-band li::marker { content: none; }
.adsc-hero-band-num {
	flex: none; display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; margin-top: 0;
	border: 1px solid #d4af6f; border-radius: 50%; background: transparent; color: #e7c98f; font-size: .74rem; font-weight: 600; line-height: 1; font-variant-numeric: lining-nums;
}
.adsc-hero--v2 .adsc-hero-band .adsc-hero-band-text { flex: 1; min-width: 0; color: #fff !important; }
@media (max-width: 899.98px) {
	.adsc-hero--v2 > .adsc-container { padding-bottom: 28px !important; }
	.adsc-hero--v2 ol.adsc-hero-band { grid-template-columns: 1fr; }
	.adsc-hero--v2 .adsc-hero-band li { padding: 9px 0 !important; font-size: .94rem !important; }
	.adsc-hero--v2 .adsc-hero-band li + li { border-left: 0; border-top: 1px solid rgba(212, 175, 111, .32); padding-left: 0 !important; }
	.adsc-hero-bandwrap .adsc-container { padding-top: 12px; padding-bottom: 10px; }
	.adsc-hero-band-head { margin-bottom: 4px; }
}
@media (prefers-reduced-motion: no-preference) {
	.adsc-hero--v2 .adsc-hero-band { animation: adscHeroBandIn .6s ease .25s both; }
}
@keyframes adscHeroBandIn { from { opacity: 0; } to { opacity: 1; } }

/* TRUST STRIP (Part 4.1 rev. 2): one slim centred strip under the hero, small gold line icons, text unchanged.
   Mobile: 2-column grid; the 5th badge is centred across both columns so no badge sits alone at the side. */
html body .adsc-home .adsc-trust { padding: 14px 0 !important; background: #fff !important; border-bottom: 1px solid rgba(212, 175, 111, .4) !important; }
html body .adsc-home .adsc-trust .adsc-trust-items { display: flex !important; flex-wrap: wrap; justify-content: center; align-items: center; gap: 10px 36px !important; max-width: 1240px; margin: 0 auto; }
html body .adsc-home .adsc-trust .adsc-trust-item { gap: .5rem !important; font-size: .9rem !important; white-space: nowrap; }
html body .adsc-home .adsc-trust .adsc-trust-icon { width: auto !important; height: auto !important; background: transparent !important; border: 0 !important; color: #b7954f !important; }
html body .adsc-home .adsc-trust .adsc-trust-icon svg { width: 18px !important; height: 18px !important; }
html body .adsc-home .adsc-trust .adsc-trust-item span:last-child { color: #172852 !important; font-size: .9rem !important; font-weight: 500; }
@media (min-width: 761px) and (max-width: 1100px) {
	html body .adsc-home .adsc-trust .adsc-trust-items { display: grid !important; grid-template-columns: repeat(6, minmax(0, 1fr)); justify-items: center; gap: 10px 16px !important; }
	html body .adsc-home .adsc-trust .adsc-trust-item { grid-column: span 2; }
	html body .adsc-home .adsc-trust .adsc-trust-item:nth-child(4) { grid-column: 2 / span 2; }
	html body .adsc-home .adsc-trust .adsc-trust-item:nth-child(5) { grid-column: 4 / span 2; }
}
@media (max-width: 760px) {
	html body .adsc-home .adsc-trust .adsc-trust-items { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 12px !important; justify-items: start; }
	html body .adsc-home .adsc-trust .adsc-trust-item { white-space: normal; }
	html body .adsc-home .adsc-trust .adsc-trust-item:nth-child(5) { grid-column: 1 / -1; justify-self: center; }
	html body .adsc-home .adsc-trust .adsc-trust-item span:last-child { font-size: .84rem !important; line-height: 1.3; }
}

/* ==========================================================================
   CASES LINK — "View Before & After Cases (PDF)" (2026-10-11). Slim white line between the header and the hero.
   Navy text, thin document icon, a gold hairline that grows on hover/focus. Fixed height: no layout shift.
   ========================================================================== */
.adsc-cases-strip { background: #fff; border-bottom: 1px solid rgba(212, 175, 111, .45); }
.adsc-cases-strip .adsc-container { max-width: 1240px !important; width: 100% !important; margin: 0 auto !important; min-height: 44px; display: flex; align-items: center; justify-content: flex-end; }
.adsc-cases-strip a.adsc-cases-link { position: relative; display: inline-flex; align-items: center; gap: 8px; padding: 6px 0; color: #172852 !important; font-family: var(--font-body, var(--ax-font-text)); font-size: .9rem; font-weight: 500; line-height: 1.4; letter-spacing: .01em; text-decoration: none !important; white-space: nowrap; }
.adsc-cases-ico { flex: none; color: #7a6837; }
.adsc-cases-text { position: relative; }
.adsc-cases-text::after { content: ""; position: absolute; left: 0; right: 0; bottom: -3px; height: 1px; background: #d4af6f; transform: scaleX(.28); transform-origin: left center; transition: transform .3s ease; }
.adsc-cases-strip a.adsc-cases-link:hover .adsc-cases-text::after, .adsc-cases-strip a.adsc-cases-link:focus-visible .adsc-cases-text::after { transform: scaleX(1); }
.adsc-cases-strip a.adsc-cases-link:focus-visible { outline: 2px solid #172852; outline-offset: 4px; border-radius: 2px; }
@media (max-width: 767.98px) { .adsc-cases-strip .adsc-container { justify-content: center; min-height: 42px; } .adsc-cases-strip a.adsc-cases-link { font-size: .86rem; } }
@media (prefers-reduced-motion: reduce) { .adsc-cases-text::after { transition: none; } }


/* ==========================================================================
   MEET OUR SPECIALIST (Phase 2.5, 2026-10-13) — template-parts/home/meet-doctors.php
   Light by default; add .adsc-hpspec--dark for a navy section. Contrast (light): navy 14.4:1,
   body #4a4a4a 8.9:1, gold-ink #6b5a2c 6.7:1. (dark): #fff 16:1, body .82 white ≥ 11:1, #d8c49a 9.6:1.
   ========================================================================== */
.adsc-hpspec {
	--sp-bg: #fff; --sp-head: var(--ax-ink, #1d1d1f); --sp-ink: #172852; --sp-body: #4a4a4a; --sp-gold: #b79f6f; --sp-gold-ink: #6b5a2c;
	--sp-line: #e8e2d3; --sp-btn-bg: #172852; --sp-btn-ink: #fff; --sp-btn2-ink: #172852; --sp-btn2-line: #172852;
	background: var(--sp-bg); color: var(--sp-body);
	padding: clamp(72px, 9vw, 120px) 0;
	font-family: var(--font-body, var(--ax-font-text));
}
.adsc-hpspec--dark {
	--sp-bg: #0f1c3d; --sp-head: #fff; --sp-ink: #fff; --sp-body: rgba(255, 255, 255, .82); --sp-gold: #c9b48a; --sp-gold-ink: #d8c49a;
	--sp-line: rgba(201, 180, 138, .32); --sp-btn-bg: #d4af6f; --sp-btn-ink: #0f1c3d; --sp-btn2-ink: #fff; --sp-btn2-line: rgba(255, 255, 255, .7);
}
.adsc-hpspec-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(40px, 6vw, 88px); align-items: center; }
.adsc-hpspec-photo { position: relative; margin: 0; isolation: isolate; max-width: 460px; }
.adsc-hpspec-photo img { position: relative; z-index: 1; display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 4px; background: #f3f3f3; }
.adsc-hpspec-photo::after { content: ""; position: absolute; z-index: 0; inset: 16px -16px -16px 16px; border: 1px solid var(--sp-gold); border-radius: 4px; pointer-events: none; }
html body .adsc-hpspec.adsc-hpspec .adsc-hpspec-eyebrow { margin: 0 0 14px !important; font-size: .75rem !important; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--sp-gold-ink) !important; }
html body .adsc-hpspec.adsc-hpspec h2 { margin: 0 0 22px !important; font-family: var(--font-heading, var(--ax-font-display)); font-size: clamp(1.7rem, 2.6vw, 2.25rem) !important; font-weight: 600; line-height: 1.16 !important; letter-spacing: -.01em; color: var(--sp-head) !important; text-wrap: balance; }
html body .adsc-hpspec-body p { margin: 0 0 16px !important; font-size: 1.0625rem !important; line-height: 1.75 !important; color: var(--sp-body) !important; max-width: 38rem; }
html body .adsc-hpspec-body p.adsc-hpspec-lead { color: var(--sp-ink) !important; font-size: 1.125rem !important; }
.adsc-hpspec-facts { list-style: none !important; margin: 26px 0 34px !important; padding: 0 !important; border-top: 1px solid var(--sp-line); max-width: 38rem; }
html body .adsc-hpspec-facts li { position: relative; margin: 0 !important; padding: 12px 0 12px 26px !important; border-bottom: 1px solid var(--sp-line); font-size: .975rem !important; line-height: 1.5 !important; color: var(--sp-ink) !important; }
.adsc-hpspec-facts li::before { content: ""; position: absolute; left: 0; top: calc(12px + .75em); width: 12px; height: 1px; background: var(--sp-gold); }
.adsc-hpspec-ctas { display: flex; flex-wrap: wrap; gap: 12px; }
.adsc-hpspec-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 26px; border-radius: 4px; font-size: .95rem; font-weight: 600; letter-spacing: .01em; text-decoration: none !important; transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease; }
.adsc-hpspec-btn--primary { background: var(--sp-btn-bg); color: var(--sp-btn-ink) !important; border: 1px solid var(--sp-btn-bg); }
.adsc-hpspec-btn--primary:hover { background: #0f1c3d; border-color: #0f1c3d; }
.adsc-hpspec--dark .adsc-hpspec-btn--primary:hover { background: #e2c792; border-color: #e2c792; }
.adsc-hpspec-btn--secondary { background: transparent; color: var(--sp-btn2-ink) !important; border: 1px solid var(--sp-btn2-line); }
.adsc-hpspec-btn--secondary:hover { border-color: var(--sp-gold); color: var(--sp-btn2-ink) !important; }
.adsc-hpspec-btn:focus-visible { outline: 2px solid var(--sp-gold); outline-offset: 3px; }


/* Motion: only when JS opted in (adds .adsc-hpspec--animate) and the user allows motion. */
.adsc-hpspec--animate .adsc-hpspec-reveal { opacity: 0; transform: translateY(16px); transition: opacity .7s ease, transform .7s cubic-bezier(.2, .7, .2, 1); }
.adsc-hpspec--animate .adsc-hpspec-reveal.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
	.adsc-hpspec .adsc-hpspec-reveal, .adsc-hpspec-btn { opacity: 1 !important; transform: none !important; transition: none !important; }
}
@media (max-width: 860px) {
	.adsc-hpspec-grid { grid-template-columns: 1fr; gap: 44px; }
	.adsc-hpspec-photo { max-width: 380px; margin-right: 16px; }
}
@media (max-width: 480px) {
	.adsc-hpspec-photo { max-width: calc(100% - 16px); }
	.adsc-hpspec-btn { width: 100%; }
}

/* ==================== HERO 3 SLIDES (2026-10-14, Part 11) ====================
   Per-slide focal points so faces / the doctor stay clear of the text shade on every width; no extra overlays.
   Slide 1 (four young adults): keep faces in the upper-middle; slide 2 (room): chair right of centre; slide 3 (Dr. Walied): him right. */
.adsc-hero-slide--people img { object-position: 58% 32%; }
.adsc-hero-slide--room img   { object-position: 60% 50%; }
.adsc-hero-slide--doctor img { object-position: 64% 38%; }
@media (max-width: 600px) {
	.adsc-hero-slide--people img { object-position: 52% 28%; }
	.adsc-hero-slide--doctor img { object-position: 70% 30%; }
}
/* Dots: three equal gold dots, the active one a short gold bar (same component as before). */
.adsc-hero-dots { gap: 10px; }
