/*
Theme Name: Aurora Dental Health
Theme URI: https://auroradentalhealth.com/
Author: Aurora Dental Health
Description: A dynamic block theme for Aurora Dental Health.
Version: 1.1.0
Text Domain: aurora-dental-health
*/

:root {
	--adh-blue: #086bb1;
	--adh-blue-dark: #07558c;
	--adh-navy: #07344f;
	--adh-navy-deep: #05283d;
	--adh-ink: #153b50;
	--adh-body: #466574;
	--adh-muted: #6d8792;
	--adh-mist: #eaf5fb;
	--adh-cloud: #f4f8fa;
	--adh-warm: #fbfaf7;
	--adh-white: #fff;
	--adh-line: #d7e6ec;
	--adh-coral: #c94b42;
	--adh-coral-dark: #ad3b34;
	--adh-focus: #f5b842;
	--adh-container: 1280px;
	--adh-gutter: clamp(1.25rem, 4vw, 4.5rem);
	--adh-section: clamp(5.5rem, 8vw, 8rem);
	--adh-header-top: clamp(14px, 1.4vw, 20px);
	--adh-header-height: 82px;
	--adh-header-safe-area: calc(var(--adh-header-top) + var(--adh-header-height) + clamp(1.5rem, 3vw, 3rem));
	--adh-shadow: 0 18px 55px rgba(7, 52, 79, .14);
	--adh-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--adh-serif: "Iowan Old Style", Baskerville, Georgia, "Times New Roman", serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: var(--adh-header-safe-area); }
body { margin: 0; background: var(--adh-white); color: var(--adh-body); font-family: var(--adh-sans); font-size: 16px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
body.adh-menu-open { overflow: hidden; }
body.adh-mobile-actions-visible .adh-site { padding-bottom: calc(78px + env(safe-area-inset-bottom)); }
img, picture, video, iframe { display: block; max-width: 100%; }
img { height: auto; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
h1, h2, h3, p, figure, blockquote { margin-top: 0; }
h1, h2 { color: var(--adh-navy); font-family: var(--adh-serif); font-weight: 400; letter-spacing: -.035em; line-height: .98; }
h2 { font-size: clamp(2.8rem, 4.5vw, 4.8rem); }
h3 { color: var(--adh-ink); font-family: var(--adh-sans); font-size: clamp(1.2rem, 1.8vw, 1.55rem); font-weight: 750; letter-spacing: -.025em; line-height: 1.18; }
svg { width: 1.25em; height: 1.25em; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.65; }
.adh-site { position: relative; min-width: 0; overflow: clip; }
.adh-container { width: min(100% - (2 * var(--adh-gutter)), var(--adh-container)); margin-inline: auto; }
.adh-kicker { margin: 0 0 .9rem; color: var(--adh-blue-dark); font-size: .68rem; font-weight: 800; letter-spacing: .16em; line-height: 1.35; text-transform: uppercase; }
.adh-kicker--light { color: #d8f1fb; }
.adh-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .85rem; }
.adh-button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: .65rem; padding: .78rem 1.25rem; border: 1px solid transparent; border-radius: 8px; cursor: pointer; font-size: .77rem; font-weight: 800; letter-spacing: .02em; line-height: 1.2; transition: background-color .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease; }
.adh-button svg { width: 1rem; transition: transform .2s ease; }
.adh-button:hover svg { transform: translateX(3px); }
.adh-button--primary { background: var(--adh-blue); box-shadow: 0 8px 24px rgba(8,107,177,.2); color: var(--adh-white); }
.adh-button--primary:hover { background: var(--adh-blue-dark); }
.adh-button--coral { background: var(--adh-coral); box-shadow: 0 9px 25px rgba(173,59,52,.22); color: var(--adh-white); }
.adh-button--coral:hover { background: var(--adh-coral-dark); }
.adh-button--light { background: var(--adh-white); color: var(--adh-navy); }
.adh-button--glass { border-color: rgba(255,255,255,.72); background: rgba(5,40,61,.18); color: var(--adh-white); backdrop-filter: blur(8px); }
.adh-button--glass:hover { background: rgba(5,40,61,.45); }
.adh-button--outline { border-color: #8fbfd5; background: var(--adh-white); color: var(--adh-blue-dark); }
.adh-button--outline:hover { border-color: var(--adh-blue); background: var(--adh-mist); }
.adh-text-link { display: inline-flex; min-height: 44px; align-items: center; gap: .55rem; border-bottom: 1px solid #6da9c4; color: var(--adh-blue-dark); font-size: .78rem; font-weight: 800; }
.adh-text-link svg { width: .95rem; }
.adh-text-link--light { border-color: rgba(255,255,255,.65); color: var(--adh-white); }
:where(a, button, input, textarea, select, summary):focus-visible { outline: 3px solid var(--adh-focus); outline-offset: 3px; }
.adh-skip-link { position: fixed; z-index: 1000; top: .75rem; left: .75rem; padding: .75rem 1rem; border-radius: .5rem; background: var(--adh-white); color: var(--adh-navy); font-weight: 800; transform: translateY(-180%); }
.adh-skip-link:focus { transform: translateY(0); }
.adh-heading-swoop { position: relative; display: block; width: 62px; height: 12px; margin: .3rem auto 1.3rem; overflow: hidden; }
.adh-heading-swoop::before { position: absolute; right: 4px; bottom: 4px; left: 4px; height: 20px; border-bottom: 3px solid var(--adh-blue); border-radius: 50%; content: ""; transform: rotate(-4deg); }
.adh-section-heading { max-width: 760px; margin-bottom: clamp(2.7rem, 5vw, 4.5rem); text-align: center; }
.adh-section-heading h2 { margin: 0; }
.adh-section-heading > p:last-child { max-width: 640px; margin: 0 auto; }

/* Floating header */
.adh-header { position: fixed; z-index: 100; top: var(--adh-header-top); right: 0; left: 0; pointer-events: none; }
.adh-header__inner { display: grid; min-height: var(--adh-header-height); grid-template-columns: 145px minmax(0,1fr) auto auto; align-items: center; gap: clamp(.65rem, 1.5vw, 1.5rem); padding: .55rem .75rem .55rem 1.25rem; border: 1px solid rgba(255,255,255,.75); border-radius: 20px; background: rgba(255,255,255,.95); box-shadow: 0 12px 42px rgba(5,40,61,.16); pointer-events: auto; transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease; backdrop-filter: blur(14px); }
.adh-header.is-scrolled .adh-header__inner { border-color: rgba(215,230,236,.92); background: rgba(255,255,255,.985); box-shadow: 0 14px 38px rgba(5,40,61,.2); }
.adh-brand { display: inline-flex; width: 140px; min-height: 50px; align-items: center; }
.adh-brand picture, .adh-brand img { display: block; width: 100%; height: auto; }
.adh-primary-nav { display: flex; height: var(--adh-header-height); align-items: stretch; justify-content: flex-end; gap: .15rem; }
.adh-primary-nav > a:not(.adh-mobile-book,.adh-mobile-emergency), .adh-nav-group > button { position: relative; display: inline-flex; min-height: 44px; align-items: center; padding-inline: clamp(.45rem,.72vw,.82rem); border: 0; background: transparent; color: #10384e; cursor: pointer; font-size: clamp(.8rem,.7vw,.84rem); font-weight: 780; letter-spacing: .005em; line-height: 1.25; white-space: nowrap; }
.adh-nav-group { position: relative; display: flex; align-items: stretch; }
.adh-nav-group > button { gap: .22rem; }
.adh-nav-group > button svg { width: .75rem; transition: transform .2s ease; }
.adh-nav-group.is-open > button svg { transform: rotate(180deg); }
.adh-primary-nav > a[aria-current="page"]::after, .adh-nav-group.is-current > button::after, .adh-primary-nav > a:hover::after, .adh-nav-group > button:hover::after { position: absolute; right: .45rem; bottom: 18px; left: .45rem; height: 2px; border-radius: 2px; background: var(--adh-blue); content: ""; }
.adh-submenu { position: absolute; z-index: 10; top: 100%; left: -.8rem; display: none; width: 306px; padding: .7rem; border: 1px solid var(--adh-line); border-radius: 0 0 18px 18px; background: var(--adh-white); box-shadow: var(--adh-shadow); }
.adh-nav-group.is-open > .adh-submenu { display: block; }
.adh-submenu > a { display: block; min-height: 50px; padding: .65rem .75rem; border-radius: 10px; color: var(--adh-ink); }
.adh-submenu > a:hover, .adh-submenu > a:focus-visible, .adh-submenu__links a:hover, .adh-submenu__links a:focus-visible { background: var(--adh-mist); }
.adh-submenu span { display: block; font-size: .8rem; font-weight: 800; }
.adh-submenu small { display: block; margin-top: .1rem; color: var(--adh-muted); font-size: .68rem; }
.adh-submenu--wide { left: 50%; width: min(650px,70vw); grid-template-columns: 215px 1fr; padding: 0; overflow: hidden; transform: translateX(-38%); }
.adh-nav-group.is-open > .adh-submenu--wide { display: grid; }
.adh-submenu__intro { padding: 1.4rem; background: var(--adh-navy); color: #d3eaf3; }
.adh-submenu__intro > span { color: #8bd1ed; font-size: .65rem; letter-spacing: .14em; text-transform: uppercase; }
.adh-submenu__intro p { margin: .65rem 0 1rem; color: var(--adh-white); font-size: .95rem; line-height: 1.4; }
.adh-submenu__intro a { display: inline-flex; min-height: 44px; align-items: center; gap: .4rem; color: var(--adh-white); font-size: .7rem; font-weight: 800; }
.adh-submenu__links { display: grid; grid-template-columns: repeat(2,1fr); align-content: center; gap: .15rem; padding: .9rem; }
.adh-submenu__links a { display: flex; min-height: 48px; align-items: center; padding: .5rem .65rem; border-radius: 9px; color: var(--adh-ink); font-size: .72rem; font-weight: 750; line-height: 1.3; }
.adh-header__call { display: inline-flex; min-width: 46px; min-height: 46px; align-items: center; justify-content: center; gap: .35rem; border-radius: 50%; background: var(--adh-mist); color: var(--adh-blue-dark); font-size: .68rem; font-weight: 800; }
.adh-header__call span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
.adh-header__call svg { width: 1.05rem; }
.adh-header__cta { min-height: 50px; padding-inline: 1.15rem; }
.adh-header__cta-short, .adh-menu-toggle, .adh-nav-scrim, .adh-mobile-book, .adh-mobile-emergency { display: none; }

/* Hero */
.adh-hero { position: relative; min-height: clamp(700px,90vh,940px); min-height: clamp(700px,90svh,940px); overflow: hidden; background: var(--adh-navy); color: var(--adh-white); isolation: isolate; }
.adh-hero__media, .adh-hero__shade { position: absolute; inset: 0; }
.adh-hero__media { --adh-hero-focal-x: 50%; --adh-hero-focal-y: 18%; }
.adh-hero__media video, .adh-hero__media picture, .adh-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: var(--adh-hero-focal-x) var(--adh-hero-focal-y); }
.adh-hero__media video { position: absolute; z-index: 2; opacity: 0; }
.adh-hero__media video.is-ready { opacity: 1; }
.adh-hero__shade { z-index: 3; background: linear-gradient(90deg,rgba(5,40,61,.81) 0%,rgba(5,40,61,.56) 38%,rgba(5,40,61,.16) 75%,rgba(5,40,61,.08) 100%); }
.adh-hero__inner { position: relative; z-index: 4; display: flex; min-height: inherit; align-items: flex-end; padding-top: var(--adh-header-safe-area); padding-bottom: clamp(7.5rem,16vh,10rem); }
.adh-hero__copy { width: min(650px,58vw); }
.adh-hero h1 { max-width: 650px; margin: 0 0 1.1rem; color: var(--adh-white); font-size: clamp(4.5rem,6.3vw,6.8rem); line-height: .9; text-wrap: balance; }
.adh-hero__copy > p:not(.adh-kicker) { max-width: 560px; margin-bottom: 1.65rem; color: #f2f8fa; font-size: clamp(1rem,1.25vw,1.18rem); }
.adh-hero__wave { position: absolute; z-index: 5; right: 0; bottom: -1px; left: 0; height: 95px; pointer-events: none; }
.adh-hero__wave svg { width: 100%; height: 100%; overflow: visible; }
.adh-hero__wave path:first-child { fill: var(--adh-white); stroke: none; }
.adh-hero__wave path:last-child { fill: none; stroke: #50aee0; stroke-width: 2; vector-effect: non-scaling-stroke; }

/* Start Here */
.adh-pathways { padding: clamp(4.5rem,7vw,7rem) 0 clamp(6rem,9vw,9rem); }
.adh-pathways header { margin-bottom: 3rem; text-align: center; }
.adh-pathways header h2 { margin: 0; }
.adh-pathway-list { display: grid; max-width: 1040px; grid-template-columns: repeat(3,1fr); margin-inline: auto; }
.adh-pathway-list > a { position: relative; display: flex; min-height: 265px; flex-direction: column; align-items: center; justify-content: flex-start; padding: 0 clamp(1.2rem,3vw,3rem); text-align: center; }
.adh-pathway-list > a + a { border-left: 1px solid var(--adh-line); }
.adh-pathway-list__icon { position: relative; display: grid; width: 126px; height: 126px; margin-bottom: 1.15rem; place-items: center; border-radius: 52% 52% 45% 45%; background: var(--adh-mist); color: var(--adh-blue); }
.adh-pathway-list__icon::after { position: absolute; right: 3px; bottom: -8px; left: 3px; height: 28px; border-bottom: 4px solid var(--adh-blue); border-radius: 50%; content: ""; transform: rotate(-3deg); }
.adh-pathway-list__icon svg { width: 3.5rem; height: 3.5rem; stroke-width: 1.25; }
.adh-pathway-list > a > span:nth-child(2) { display: flex; flex-direction: column; align-items: center; }
.adh-pathway-list strong { color: var(--adh-navy); font-family: var(--adh-serif); font-size: 1.45rem; font-weight: 400; line-height: 1.1; }
.adh-pathway-list small { margin-top: .45rem; color: var(--adh-muted); font-size: .78rem; line-height: 1.55; }
.adh-pathway-list > a > svg { width: 1rem; margin-top: .75rem; color: var(--adh-blue); transition: transform .2s ease; }
.adh-pathway-list > a:hover > svg { transform: translateX(4px); }

/* Explore Care */
.adh-service-discovery { position: relative; padding: 0 0 clamp(7rem,10vw,10rem); background: var(--adh-white); }
.adh-care-ribbon { display: grid; width: min(100%,1440px); height: 320px; grid-template-columns: 1.05fr 1.1fr .95fr; gap: 5px; margin-inline: auto; overflow: hidden; background: var(--adh-white); clip-path: polygon(0 10%,25% 2%,50% 8%,75% 1%,100% 11%,100% 89%,75% 99%,50% 92%,25% 100%,0 90%); }
.adh-care-ribbon figure { margin: 0; overflow: hidden; }
.adh-care-ribbon figure:first-child { clip-path: polygon(0 0,100% 0,88% 100%,0 100%); }
.adh-care-ribbon figure:nth-child(2) { margin-inline: -12%; clip-path: polygon(12% 0,100% 0,88% 100%,0 100%); }
.adh-care-ribbon figure:last-child { margin-left: -12%; clip-path: polygon(12% 0,100% 0,100% 100%,0 100%); }
.adh-care-ribbon img { width: 100%; height: 100%; object-fit: cover; }
.adh-care-ribbon figure:first-child img { object-position: 53% 52%; }
.adh-care-ribbon figure:nth-child(2) img { object-position: center 40%; }
.adh-care-links { position: relative; z-index: 3; display: grid; grid-template-columns: repeat(6,1fr); gap: 1rem; margin-top: -66px; }
.adh-care-links a { display: flex; min-width: 0; flex-direction: column; align-items: center; padding: 0 .25rem; text-align: center; }
.adh-care-links a > span { display: grid; width: 100px; height: 100px; margin-bottom: .9rem; place-items: center; border: 5px solid var(--adh-white); border-radius: 50%; background: var(--adh-blue-dark); box-shadow: 0 8px 26px rgba(7,52,79,.18); color: var(--adh-white); transition: background-color .2s ease, transform .2s ease; }
.adh-care-links a:hover > span { background: var(--adh-coral); transform: translateY(-4px); }
.adh-care-links svg { width: 2.4rem; height: 2.4rem; stroke-width: 1.3; }
.adh-care-links strong { max-width: 150px; color: var(--adh-navy); font-family: var(--adh-serif); font-size: 1.08rem; font-weight: 400; line-height: 1.1; }
.adh-care-links small { max-width: 155px; margin-top: .35rem; color: var(--adh-muted); font-size: .69rem; line-height: 1.45; }
.adh-service-more { margin-top: 2.3rem; text-align: center; }
.adh-section-wave { position: absolute; right: -8%; bottom: -55px; left: -8%; height: 110px; border-top: 2px solid #67b8e5; border-radius: 50%; background: var(--adh-white); transform: rotate(-1deg); }
.adh-service-discovery--full { padding-top: var(--adh-section); }
.adh-service-discovery--full .adh-care-links { margin-top: 0; padding-bottom: 4rem; border-bottom: 1px solid var(--adh-line); }
.adh-service-directory { display: grid; grid-template-columns: repeat(2,1fr); gap: 0 clamp(2rem,6vw,6rem); }
.adh-service-directory > section { display: grid; grid-template-columns: 58px 1fr; gap: 1rem; padding: 2.2rem 0; border-bottom: 1px solid var(--adh-line); scroll-margin-top: var(--adh-header-safe-area); }
.adh-service-directory > section > span { display: grid; width: 56px; height: 56px; place-items: center; border-radius: 50%; background: var(--adh-mist); color: var(--adh-blue); }
.adh-service-directory h3 { margin: 0 0 .4rem; }
.adh-service-directory p { margin-bottom: .8rem; }
.adh-service-directory ul { display: flex; flex-wrap: wrap; gap: .4rem; margin: 0 0 .8rem; padding: 0; list-style: none; }
.adh-service-directory li { padding: .28rem .58rem; border-radius: 999px; background: var(--adh-mist); color: var(--adh-ink); font-size: .7rem; }

/* Team */
.adh-team-section { position: relative; padding: var(--adh-section) 0; background: var(--adh-warm); }
.adh-team-photo { position: relative; max-width: 1080px; margin: 0 auto 3.2rem; }
.adh-team-photo picture { display: block; overflow: hidden; border-radius: 82px 20px 82px 20px; aspect-ratio: 16/7; box-shadow: 0 14px 38px rgba(7,52,79,.11); }
.adh-team-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 42%; }
.adh-team-photo figcaption { margin-top: .65rem; color: var(--adh-muted); font-size: .65rem; letter-spacing: .12em; line-height: 1.5; text-align: center; text-transform: uppercase; }
.adh-team-directory { display: grid; grid-template-columns: repeat(4,1fr); gap: clamp(1.2rem,3vw,3.5rem); }
.adh-team-person { display: flex; min-width: 0; flex-direction: column; align-items: center; padding: .25rem; text-align: center; }
.adh-team-directory__portrait { display: grid; width: 128px; height: 128px; overflow: hidden; place-items: center; border: 8px solid var(--adh-white); border-radius: 50%; background: var(--adh-mist); box-shadow: 0 8px 25px rgba(7,52,79,.1); color: var(--adh-blue-dark); font-family: var(--adh-serif); font-size: 2.35rem; }
.adh-team-directory__portrait img { width: 100%; height: 100%; object-fit: cover; }
.adh-portrait--dr-jeff-weaver img { object-position: 50% 43%; }
.adh-portrait--dr-saeid-jafarpour img { object-position: 50% 38%; }
.adh-portrait--dr-yvonne-woloszczuk img { object-position: 50% 38%; }
.adh-portrait--dr-jack-weaver img { object-position: 50% 27%; }
.adh-team-person > strong { margin-top: .8rem; color: var(--adh-ink); font-size: .86rem; line-height: 1.3; }
.adh-team-person > small { margin-top: .15rem; color: var(--adh-blue-dark); font-size: .62rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.adh-team-person > em { max-width: 260px; margin-top: .45rem; color: var(--adh-body); font-size: .7rem; font-style: normal; line-height: 1.45; }
.adh-team-person__link { display: inline-flex; min-height: 44px; align-items: center; gap: .45rem; color: var(--adh-blue-dark); font-size: .68rem; font-weight: 800; }
.adh-team-person__link svg { width: .9rem; }
.adh-team-cta { margin-top: 2rem; text-align: center; }
.adh-team-section--full .adh-team-photo picture { aspect-ratio: 16/8; }

/* Visit */
.adh-visit { position: relative; padding: var(--adh-section) 0; background: var(--adh-white); }
.adh-visit__facts { display: grid; grid-template-columns: repeat(4,1fr); margin-bottom: 3.2rem; }
.adh-visit__facts > div { display: flex; min-width: 0; flex-direction: column; align-items: center; padding: 0 1.2rem; text-align: center; }
.adh-visit__facts > div + div { border-left: 1px solid var(--adh-line); }
.adh-visit__facts > div > span { position: relative; display: grid; width: 64px; height: 64px; margin-bottom: .8rem; place-items: center; border-radius: 50%; background: var(--adh-mist); color: var(--adh-blue); }
.adh-visit__facts > div > span::after { position: absolute; right: -8px; bottom: -4px; left: -8px; height: 15px; border-bottom: 3px solid var(--adh-blue); border-radius: 50%; content: ""; transform: rotate(-4deg); }
.adh-visit__facts svg { width: 1.8rem; height: 1.8rem; }
.adh-visit__facts strong { color: var(--adh-ink); font-size: .78rem; }
.adh-visit__facts small { max-width: 190px; margin-top: .25rem; color: var(--adh-muted); font-size: .71rem; line-height: 1.5; }
.adh-visit__media { position: relative; display: grid; min-height: 470px; grid-template-columns: repeat(2,1fr); overflow: hidden; border-radius: 48px 14px 48px 14px; box-shadow: var(--adh-shadow); }
.adh-visit__media > figure, .adh-map { min-width: 0; margin: 0; }
.adh-visit__media > figure { position: relative; overflow: hidden; }
.adh-visit__media picture, .adh-visit__media figure img { width: 100%; height: 100%; object-fit: cover; }
.adh-visit__media figcaption { position: absolute; bottom: 1rem; left: 1rem; padding: .45rem .7rem; border-radius: 999px; background: rgba(5,40,61,.88); color: var(--adh-white); font-size: .59rem; letter-spacing: .09em; text-transform: uppercase; }
.adh-map { position: relative; min-height: 390px; background: var(--adh-mist); }
.adh-map iframe { width: 100%; height: 100%; min-height: 390px; border: 0; }
.adh-map > a { position: absolute; right: 1rem; bottom: 1rem; display: inline-flex; min-height: 44px; align-items: center; padding: .6rem .85rem; border-radius: 999px; background: var(--adh-navy); color: var(--adh-white); font-size: .68rem; font-weight: 800; }
.adh-visit__card { position: absolute; z-index: 3; top: 50%; left: 50%; width: min(335px,30vw); padding: 1.8rem; border: 1px solid rgba(255,255,255,.18); border-radius: 22px; background: rgba(7,52,79,.96); box-shadow: var(--adh-shadow); color: #d6eaf2; transform: translate(-50%,-50%); }
.adh-visit__card .adh-kicker { color: #91d4ee; }
.adh-visit__card h3 { margin-bottom: 1rem; color: var(--adh-white); font-family: var(--adh-serif); font-size: 2rem; font-weight: 400; }
.adh-visit__card p { font-size: .75rem; }
.adh-visit__card > a:not(.adh-button) { display: flex; min-height: 44px; align-items: center; color: var(--adh-white); font-size: .72rem; text-decoration: underline; text-underline-offset: 3px; }
.adh-visit__card .adh-button { width: 100%; margin-top: .75rem; }
.adh-office-hours { display: grid; grid-template-columns: .72fr 1.28fr; gap: 2.5rem; margin-top: 1rem; padding: 2rem clamp(1.4rem,4vw,4rem); border-radius: 14px 14px 42px 14px; background: var(--adh-mist); }
.adh-office-hours h3 { margin-bottom: .4rem; font-family: var(--adh-serif); font-size: 1.8rem; font-weight: 400; }
.adh-office-hours small { color: var(--adh-muted); font-size: .74rem; line-height: 1.5; }
.adh-hours { display: grid; grid-template-columns: repeat(2,1fr); gap: 0 1.5rem; }
.adh-hours p { display: flex; justify-content: space-between; gap: 1rem; margin: 0; padding: .45rem 0; border-bottom: 1px solid rgba(7,85,140,.16); font-size: .72rem; }
.adh-hours strong { color: var(--adh-ink); text-align: right; }

/* Inner page system */
.adh-page-hero { position: relative; overflow: hidden; padding: calc(var(--adh-header-safe-area) + 1rem) 0 clamp(4.5rem,7vw,7rem); background: var(--adh-mist); }
.adh-page-hero::after { position: absolute; right: -6vw; bottom: -15vw; width: min(40vw,500px); height: min(40vw,500px); border: clamp(32px,5vw,68px) solid rgba(8,107,177,.07); border-radius: 50%; content: ""; }
.adh-page-hero .adh-container { position: relative; z-index: 1; }
.adh-page-hero nav { display: flex; flex-wrap: wrap; gap: .45rem; margin-bottom: clamp(2.2rem,4vw,3.5rem); color: var(--adh-muted); font-size: .7rem; }
.adh-page-hero nav a { min-height: 44px; display: inline-flex; align-items: center; color: var(--adh-blue-dark); font-weight: 750; }
.adh-page-hero nav span { display: inline-flex; align-items: center; }
.adh-page-hero > .adh-container > div { display: grid; grid-template-columns: 1.08fr .82fr; align-items: end; gap: clamp(2rem,6vw,6rem); }
.adh-page-hero h1 { max-width: 800px; margin: 0; color: var(--adh-navy); font-size: clamp(3.8rem,6vw,6rem); }
.adh-page-hero > .adh-container > div > p { max-width: 560px; margin: 0 0 .4rem; font-size: clamp(1rem,1.3vw,1.16rem); }
.adh-story, .adh-first-visit, .adh-resources, .adh-doctor-profile, .adh-editor-section { padding: var(--adh-section) 0; }
.adh-story__grid { display: grid; grid-template-columns: .78fr 1.22fr; align-items: center; gap: clamp(3rem,8vw,8rem); }
.adh-story h2 { max-width: 540px; }
.adh-story figure { margin: 0; overflow: hidden; border-radius: 68px 14px 68px 14px; aspect-ratio: 4/3; }
.adh-story figure img { width: 100%; height: 100%; object-fit: cover; }
.adh-page-links { padding: 0 0 var(--adh-section); }
.adh-page-links > .adh-container { display: grid; grid-template-columns: repeat(3,1fr); gap: .8rem; }
.adh-page-links a { display: grid; min-height: 100px; grid-template-columns: 48px 1fr 20px; align-items: center; gap: 1rem; padding: 1.2rem; border-radius: 24px 8px 24px 8px; background: var(--adh-mist); color: var(--adh-ink); }
.adh-page-links a > span { display: grid; width: 46px; height: 46px; place-items: center; border-radius: 50%; background: var(--adh-white); color: var(--adh-blue); }
.adh-page-links a > svg { color: var(--adh-blue); }
.adh-first-visit__grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(3rem,8vw,8rem); }
.adh-first-visit header { align-self: start; }
.adh-first-visit article { display: grid; min-height: 118px; grid-template-columns: 54px 1fr; gap: 1.3rem; padding: 1.4rem 0; border-bottom: 1px solid var(--adh-line); }
.adh-first-visit article:first-child { border-top: 1px solid var(--adh-line); }
.adh-first-visit article > span { display: grid; width: 52px; height: 52px; place-items: center; border-radius: 50%; background: var(--adh-mist); color: var(--adh-blue); }
.adh-first-visit article h3 { margin: 0 0 .35rem; }
.adh-first-visit article p { margin: 0; }
.adh-callout { padding: clamp(3.5rem,6vw,6rem) 0; background: var(--adh-blue-dark); }
.adh-callout > .adh-container { display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.adh-callout h2 { margin: 0; color: var(--adh-white); }
.adh-callout .adh-kicker { color: #b8e6f5; }
.adh-resources > .adh-container { overflow: hidden; border: 1px solid var(--adh-line); border-radius: 36px 10px; }
.adh-resource-row { display: grid; grid-template-columns: 60px 1fr auto; align-items: center; gap: 2rem; padding: clamp(1.5rem,3vw,2.5rem); border-bottom: 1px solid var(--adh-line); }
.adh-resource-row:last-child { border-bottom: 0; }
.adh-resource-row > span { display: grid; width: 58px; height: 58px; place-items: center; border-radius: 50%; background: var(--adh-mist); color: var(--adh-blue); }
.adh-resource-row h2 { margin: 0 0 .45rem; font-size: clamp(2rem,3vw,3rem); }
.adh-resource-row p { max-width: 620px; margin: 0; }
.adh-resource-row .adh-kicker { margin-bottom: .4rem; }
.adh-resource-row > a { display: inline-flex; min-height: 44px; align-items: center; gap: .5rem; color: var(--adh-blue-dark); font-size: .75rem; font-weight: 800; }
.adh-doctor-profile { background: var(--adh-warm); }
.adh-doctor-profile__grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(3rem,8vw,8rem); align-items: center; }
.adh-doctor-profile__portrait { display: grid; width: min(360px,86%); aspect-ratio: 4/5; margin-inline: auto; overflow: hidden; place-items: center; border: 12px solid var(--adh-white); border-radius: 46% 46% 44% 44% / 38% 38% 48% 48%; background: var(--adh-mist); box-shadow: var(--adh-shadow); color: var(--adh-blue-dark); font-family: var(--adh-serif); font-size: clamp(3.5rem,8vw,7rem); }
.adh-doctor-profile__portrait img { width: 100%; height: 100%; object-fit: cover; }
.adh-doctor-profile__content h2 { max-width: 650px; }
.adh-doctor-profile__intro { max-width: 650px; font-size: 1.08rem; }
.adh-doctor-profile__biography { max-width: 700px; }
.adh-doctor-profile__biography p { margin-bottom: 1rem; }
.adh-doctor-profile__biography p:last-child { margin-bottom: 0; }
.adh-doctor-profile__biography + .adh-actions { margin-top: 2rem; }
.adh-doctor-profile__content ul { max-width: 700px; margin: 2rem 0; padding: 0; list-style: none; }
.adh-doctor-profile__content li { position: relative; padding: .8rem 0 .8rem 1.5rem; border-bottom: 1px solid var(--adh-line); }
.adh-doctor-profile__content li::before { position: absolute; top: 1.45rem; left: .1rem; width: 7px; height: 7px; border-radius: 50%; background: var(--adh-blue); content: ""; }
.adh-editorial-library { padding: var(--adh-section) 0; background: var(--adh-warm); }
.adh-editorial-library > .adh-container { display: grid; grid-template-columns: repeat(2,1fr); gap: clamp(2rem,6vw,6rem); }
.adh-testimonials blockquote { margin: 1.5rem 0 0; padding: 1.5rem; border-radius: 24px 8px; background: var(--adh-white); }
.adh-testimonials cite { display: block; margin-top: 1rem; color: var(--adh-blue-dark); font-size: .72rem; font-style: normal; font-weight: 800; }
.adh-faqs details { border-bottom: 1px solid var(--adh-line); }
.adh-faqs summary { display: flex; min-height: 60px; align-items: center; justify-content: space-between; gap: 1rem; cursor: pointer; color: var(--adh-ink); font-weight: 750; }
.adh-faqs details > div { padding: 0 0 1rem; }
.adh-prose { max-width: 820px; }
.adh-prose h2 { margin-top: 2rem; font-size: clamp(2rem,3vw,3.2rem); }
.adh-prose a { color: var(--adh-blue-dark); text-decoration: underline; }

/* Appointment Request */
.adh-appointment-request { padding: var(--adh-section) 0; scroll-margin-top: var(--adh-header-safe-area); background: var(--adh-white); }
.adh-appointment-request__layout { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(300px,.75fr); gap: clamp(2rem,5vw,5.5rem); align-items: start; }
.adh-appointment-request__form-card { min-width: 0; padding: clamp(1.6rem,3.6vw,3.5rem); border: 1px solid var(--adh-line); border-radius: 52px 14px 52px 14px; background: var(--adh-warm); box-shadow: 0 20px 55px rgba(7,52,79,.07); }
.adh-appointment-request__form-card > header { max-width: 660px; margin-bottom: 2.25rem; }
.adh-appointment-request__form-card > header h2 { margin-bottom: .8rem; }
.adh-appointment-request__form-card > header > p:last-child { max-width: 600px; margin: 0; }
.mana-dental-appointment-request__form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.15rem; }
.mana-dental-appointment-request__form > p { min-width: 0; margin: 0; }
.mana-dental-appointment-request__required-note,
.mana-dental-appointment-request__field--full_name,
.mana-dental-appointment-request__field--preferred-time,
.mana-dental-appointment-request__field--message,
.mana-dental-appointment-request__privacy,
.mana-dental-appointment-request__turnstile,
.mana-dental-appointment-request__submit { grid-column: 1/-1; }
.mana-dental-appointment-request__required-note { color: var(--adh-muted); font-size: .76rem; }
.mana-dental-appointment-request__form label { display: block; margin-bottom: .45rem; color: var(--adh-ink); font-size: .76rem; font-weight: 800; }
.mana-dental-appointment-request__form :is(input,select,textarea) { width: 100%; min-height: 52px; padding: .75rem .9rem; border: 1px solid rgba(7,52,79,.24); border-radius: 12px; background: var(--adh-white); color: var(--adh-ink); font: inherit; font-size: 1rem; line-height: 1.4; }
.mana-dental-appointment-request__form textarea { min-height: 138px; resize: vertical; }
.mana-dental-appointment-request__form :is(input,select,textarea):focus { border-color: var(--adh-blue); outline: 3px solid rgba(8,121,189,.2); outline-offset: 1px; }
.mana-dental-appointment-request__form [aria-invalid="true"] { border-color: #a43d3d; background: #fff9f8; }
.mana-dental-appointment-request__helper,
.mana-dental-appointment-request__field-error { display: block; margin-top: .4rem; font-size: .72rem; line-height: 1.5; }
.mana-dental-appointment-request__helper { color: var(--adh-muted); }
.mana-dental-appointment-request__field-error { color: #8f2929; font-weight: 750; }
.mana-dental-appointment-request__privacy { padding-top: .25rem; color: var(--adh-muted); font-size: .75rem; line-height: 1.6; }
.mana-dental-appointment-request__form button { display: inline-flex; min-height: 52px; align-items: center; justify-content: center; padding: .75rem 1.4rem; border: 1px solid var(--adh-blue-dark); border-radius: 9px; background: var(--adh-blue-dark); box-shadow: 0 10px 24px rgba(7,52,79,.13); color: var(--adh-white); cursor: pointer; font: inherit; font-size: .78rem; font-weight: 850; transition: background-color .18s ease,border-color .18s ease,box-shadow .18s ease; }
.mana-dental-appointment-request__form button:hover { border-color: var(--adh-blue); background: var(--adh-blue); box-shadow: 0 12px 28px rgba(8,121,189,.2); }
.mana-dental-appointment-request__form button:disabled { cursor: wait; opacity: .68; }
.mana-dental-appointment-request__notice { grid-column: 1/-1; margin: 0 0 1.4rem; padding: 1rem 1.15rem; border-left: 4px solid var(--adh-coral); border-radius: 6px 14px 14px 6px; background: #fff3f1; color: var(--adh-ink); }
.mana-dental-appointment-request__notice p { margin-bottom: .4rem; }
.mana-dental-appointment-request__notice ul { margin: 0; padding-left: 1.2rem; }
.mana-dental-appointment-request__notice a { color: var(--adh-blue-dark); font-weight: 750; text-decoration: underline; text-underline-offset: 3px; }
.mana-dental-appointment-request__turnstile { min-width: 0; }
.mana-dental-appointment-request__turnstile .cf-turnstile { display: block; max-width: 100%; min-height: 65px; }
.adh-appointment-request__support { position: sticky; top: calc(var(--adh-header-safe-area) + 1rem); overflow: hidden; padding: clamp(1.8rem,3vw,2.7rem); border-radius: 18px 54px 18px 54px; background: var(--adh-navy); box-shadow: var(--adh-shadow); color: #d5e8ee; }
.adh-appointment-request__support::after { position: absolute; right: -75px; bottom: -75px; width: 190px; height: 190px; border: 28px solid rgba(105,190,226,.11); border-radius: 50%; content: ""; pointer-events: none; }
.adh-appointment-request__support > * { position: relative; z-index: 1; }
.adh-appointment-request__icon { display: grid; width: 58px; height: 58px; margin-bottom: 1.5rem; place-items: center; border-radius: 50%; background: rgba(143,214,237,.14); color: #8fd6ed; }
.adh-appointment-request__icon svg { width: 1.75rem; height: 1.75rem; }
.adh-appointment-request__support .adh-kicker { color: #8fd6ed; }
.adh-appointment-request__support h2,
.adh-appointment-request__support h3 { color: var(--adh-white); }
.adh-appointment-request__support h2 { font-size: clamp(2.3rem,3.5vw,3.45rem); }
.adh-appointment-request__support h3 { margin: 0 0 .55rem; font-size: 1.15rem; }
.adh-appointment-request__support p { color: #d5e8ee; }
.adh-appointment-request__support-rule { height: 1px; margin: 2rem 0; background: rgba(255,255,255,.16); }
.adh-appointment-request__support .adh-button { width: 100%; margin-top: .8rem; gap: .55rem; }
.adh-appointment-request__support .adh-button svg { width: 1rem; }
.mana-dental-appointment-request__success { padding: clamp(1.5rem,3vw,2.8rem); border: 1px solid var(--adh-line); border-radius: 36px 10px 36px 10px; background: var(--adh-white); scroll-margin-top: var(--adh-header-safe-area); }
.mana-dental-appointment-request__success-icon { display: grid; width: 48px; height: 48px; margin-bottom: 1.2rem; place-items: center; border-radius: 50%; background: var(--adh-blue); color: var(--adh-white); font-size: 1.35rem; font-weight: 850; }
.mana-dental-appointment-request__success h2 { margin-bottom: .8rem; }
.mana-dental-appointment-request__success > p { max-width: 58ch; }
.mana-dental-appointment-request__success-note { color: var(--adh-ink); font-weight: 800; }
.mana-dental-appointment-request__success-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; }
.mana-dental-appointment-request__success-actions a { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; padding: .65rem 1.1rem; border: 1px solid var(--adh-blue-dark); border-radius: 8px; font-size: .76rem; font-weight: 850; }
.mana-dental-appointment-request__success-primary { background: var(--adh-blue-dark); color: var(--adh-white); }
.mana-dental-appointment-request__success-secondary { background: var(--adh-white); color: var(--adh-blue-dark); }
.mana-dental-appointment-request__success-contact { margin-top: 1.5rem; font-size: .8rem; }
.mana-dental-appointment-request__success-contact a { color: var(--adh-blue-dark); font-weight: 800; }

/* Footer */
.adh-emergency-band { padding: 2rem 0; background: var(--adh-navy); color: var(--adh-white); }
.adh-emergency-band__inner { display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.adh-emergency-band h2 { margin: 0; color: var(--adh-white); font-size: clamp(2rem,3vw,3.2rem); }
.adh-emergency-band .adh-kicker { margin-bottom: .4rem; color: #8fd6ed; }
.adh-emergency-band a { display: flex; min-height: 58px; align-items: center; gap: 1rem; padding-left: 2rem; border-left: 1px solid rgba(255,255,255,.18); }
.adh-emergency-band a > svg { color: #8fd6ed; }
.adh-emergency-band a span { color: #a9cbd7; font-size: .65rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.adh-emergency-band a strong { display: block; color: var(--adh-white); font-size: 1rem; letter-spacing: 0; }
.adh-footer { padding: clamp(3.5rem,6vw,6rem) 0 1.5rem; background: var(--adh-navy-deep); color: #b9d1da; }
.adh-footer__grid { display: grid; grid-template-columns: 1.7fr repeat(3,.7fr); gap: clamp(2rem,5vw,5rem); }
.adh-footer__brand > a { display: inline-flex; min-height: 54px; align-items: center; }
.adh-footer__brand picture, .adh-footer__brand img { display: block; width: 180px; height: auto; }
.adh-footer__brand p { max-width: 330px; margin-top: 1.4rem; color: #c2d7df; font-size: .79rem; line-height: 1.65; }
.adh-footer h2 { margin-bottom: .9rem; color: #8fd6ed; font-family: var(--adh-sans); font-size: .71rem; font-weight: 850; letter-spacing: .14em; line-height: 1.35; text-transform: uppercase; }
.adh-footer__grid > div:not(.adh-footer__brand) { display: flex; flex-direction: column; align-items: flex-start; }
.adh-footer__grid a { display: inline-flex; min-height: 44px; align-items: center; border-radius: 4px; color: #c2d7df; font-size: .79rem; font-weight: 620; line-height: 1.45; transition: color .18s ease, text-decoration-color .18s ease; }
.adh-footer__grid a:hover { color: var(--adh-white); text-decoration: underline; text-decoration-color: #8fd6ed; text-underline-offset: 4px; }
.adh-footer__bottom { display: flex; justify-content: space-between; gap: 1rem; margin-top: 3rem; padding-top: 1.25rem; border-top: 1px solid rgba(255,255,255,.1); color: #88a8b4; font-size: .67rem; line-height: 1.5; }
.adh-footer__bottom p { margin: 0; }
.adh-back-top { position: fixed; z-index: 90; right: 1rem; bottom: 1rem; display: grid; width: 48px; height: 48px; border: 0; border-radius: 50%; background: var(--adh-blue); box-shadow: var(--adh-shadow); color: var(--adh-white); cursor: pointer; opacity: 0; pointer-events: none; place-items: center; transform: translateY(15px); transition: opacity .2s ease, transform .2s ease; }
.adh-back-top.is-visible { opacity: 1; pointer-events: auto; transform: translateY(0); }
.adh-mobile-action-bar { display: none; }

@media (min-width: 1280px) {
	.adh-pathways { padding-top: clamp(2.25rem,3vw,3rem); }
}

@media (max-width: 1180px) {
	.adh-header__inner { grid-template-columns: 126px minmax(0,1fr) auto auto; gap: .45rem; }
	.adh-brand { width: 122px; }
	.adh-primary-nav > a:not(.adh-mobile-book,.adh-mobile-emergency), .adh-nav-group > button { padding-inline: .34rem; font-size: .8rem; }
	.adh-header__cta-label { display: none; }
	.adh-header__cta-short { display: inline; }
	.adh-header__cta { min-width: 70px; }
	.adh-care-links { gap: .4rem; }
	.adh-care-links a > span { width: 88px; height: 88px; }
}

@media (max-width: 1080px) {
	:root { --adh-header-top: 14px; --adh-header-height: 72px; }
	.adh-header { top: var(--adh-header-top); }
	.adh-header__inner { min-height: 72px; grid-template-columns: 132px 1fr auto auto auto; border-radius: 18px; backdrop-filter: none; }
	.adh-brand { width: 126px; }
	.adh-menu-toggle { display: inline-flex; min-width: 48px; min-height: 48px; align-items: center; justify-content: center; gap: .35rem; border: 0; border-radius: 50%; background: var(--adh-mist); color: var(--adh-navy); font-size: .7rem; font-weight: 800; cursor: pointer; }
	.adh-menu-toggle__icons { display: grid; place-items: center; }
	.adh-menu-toggle__icons svg { grid-area: 1/1; width: 1.15rem; }
	.adh-menu-toggle__icons svg:last-child, .adh-menu-toggle[aria-expanded="true"] svg:first-child { opacity: 0; }
	.adh-menu-toggle[aria-expanded="true"] svg:last-child { opacity: 1; }
	.adh-nav-scrim { position: fixed; z-index: 98; inset: 0; background: rgba(5,40,61,.48); backdrop-filter: blur(2px); }
	.adh-nav-scrim.is-visible { display: block; }
	.adh-primary-nav { position: fixed; z-index: 99; top: 98px; right: 14px; bottom: 14px; display: block; width: min(430px,calc(100% - 28px)); height: auto; padding: 1rem 1.2rem 2rem; overflow-y: auto; border-radius: 20px; background: var(--adh-white); box-shadow: var(--adh-shadow); transform: translateX(calc(100% + 30px)); transition: transform .25s ease; }
	.adh-primary-nav.is-open { transform: translateX(0); }
	.adh-primary-nav > a:not(.adh-mobile-book,.adh-mobile-emergency), .adh-nav-group > button { display: flex; width: 100%; min-height: 52px; justify-content: space-between; padding: .2rem .3rem; border-bottom: 1px solid var(--adh-line); font-size: .92rem; }
	.adh-primary-nav > a::after, .adh-nav-group > button::after { display: none !important; }
	.adh-nav-group { display: block; }
	.adh-submenu, .adh-submenu--wide { position: static; width: auto; padding: .35rem 0 .65rem .8rem; border: 0; border-radius: 0; box-shadow: none; transform: none; }
	.adh-nav-group.is-open > .adh-submenu--wide { display: block; }
	.adh-submenu__intro { display: none; }
	.adh-submenu > a, .adh-submenu__links a { min-height: 48px; padding: .5rem .65rem; }
	.adh-submenu__links { display: block; padding: 0; }
	.adh-mobile-book { display: flex; min-height: 52px; align-items: center; justify-content: center; gap: .6rem; margin-top: 1rem; border-radius: 8px; background: var(--adh-coral); color: var(--adh-white); font-size: .8rem; font-weight: 800; }
	.adh-mobile-emergency { display: flex; min-height: 48px; align-items: center; justify-content: center; margin-top: .4rem; color: var(--adh-navy); font-size: .74rem; font-weight: 800; }
	.adh-service-directory { grid-template-columns: 1fr; }
	.adh-visit__card { width: min(320px,40vw); }
}

@media (max-width: 760px) {
	:root { --adh-gutter: 1rem; --adh-section: 4.6rem; --adh-header-top: 10px; --adh-header-height: 68px; }
	body { font-size: 15px; }
	body.adh-mobile-actions-visible .adh-site { padding-bottom: calc(78px + env(safe-area-inset-bottom)); }
	.adh-header { top: var(--adh-header-top); }
	.adh-header__inner { min-height: 68px; grid-template-columns: 108px 1fr auto auto; padding: .35rem .45rem .35rem .9rem; border-radius: 16px; }
	.adh-brand { width: 104px; min-height: 44px; }
	.adh-header__call { display: none; }
	.adh-menu-toggle { width: 46px; min-width: 46px; min-height: 46px; padding: 0; }
	.adh-menu-toggle > span:first-child { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
	.adh-header__cta { min-width: 67px; min-height: 46px; padding: .65rem .75rem; }
	.adh-primary-nav { top: 88px; right: 10px; bottom: 10px; width: calc(100% - 20px); }

	.adh-hero { min-height: 760px; }
	.adh-hero__media { --adh-hero-focal-x: 57%; --adh-hero-focal-y: 18%; }
	.adh-hero__shade { background: linear-gradient(180deg,rgba(5,40,61,.12) 8%,rgba(5,40,61,.42) 42%,rgba(5,40,61,.91) 100%); }
	.adh-hero__inner { align-items: flex-end; padding-top: 120px; padding-bottom: 105px; }
	.adh-hero__copy { width: 100%; }
	.adh-hero h1 { margin-bottom: .9rem; font-size: clamp(3.7rem,16vw,4.7rem); }
	.adh-hero__copy > p:not(.adh-kicker) { margin-bottom: 1.25rem; font-size: .94rem; line-height: 1.55; }
	.adh-hero__actions { align-items: stretch; flex-direction: column; }
	.adh-hero__actions .adh-button { width: 100%; }
	.adh-hero__wave { height: 58px; }

	.adh-pathways { padding-top: 3.8rem; }
	.adh-pathways header { margin-bottom: 2rem; }
	.adh-pathway-list { grid-template-columns: 1fr; }
	.adh-pathway-list > a { min-height: 142px; flex-direction: row; align-items: center; justify-content: flex-start; gap: 1.15rem; padding: 1.1rem .3rem; text-align: left; }
	.adh-pathway-list > a + a { border-top: 1px solid var(--adh-line); border-left: 0; }
	.adh-pathway-list__icon { width: 88px; height: 88px; flex: 0 0 auto; margin: 0; }
	.adh-pathway-list__icon svg { width: 2.5rem; height: 2.5rem; }
	.adh-pathway-list > a > span:nth-child(2) { align-items: flex-start; }
	.adh-pathway-list > a > svg { margin: 0 0 0 auto; }

	.adh-section-heading { margin-bottom: 2.4rem; }
	.adh-service-discovery { padding-bottom: 6.5rem; }
	.adh-care-ribbon { height: 230px; grid-template-columns: 1.1fr 1fr; clip-path: polygon(0 9%,50% 0,100% 10%,100% 91%,50% 100%,0 90%); }
	.adh-care-ribbon figure:nth-child(2) { margin-left: -15%; margin-right: 0; }
	.adh-care-ribbon figure:last-child { display: none; }
	.adh-care-links { grid-template-columns: repeat(2,1fr); gap: 1.8rem .8rem; margin-top: -45px; }
	.adh-care-links a > span { width: 82px; height: 82px; margin-bottom: .65rem; }
	.adh-care-links svg { width: 2rem; height: 2rem; }
	.adh-care-links strong { font-size: 1rem; }
	.adh-care-links small { font-size: .68rem; }
	.adh-service-discovery--full .adh-care-links { margin-top: 0; padding-bottom: 2.5rem; }
	.adh-service-directory > section { grid-template-columns: 50px 1fr; gap: .8rem; padding: 1.6rem 0; }
	.adh-service-directory > section > span { width: 48px; height: 48px; }

	.adh-team-photo { margin-bottom: 2.2rem; }
	.adh-team-photo picture, .adh-team-section--full .adh-team-photo picture { border-radius: 44px 10px; aspect-ratio: 4/3; }
	.adh-team-directory { grid-template-columns: repeat(2,1fr); gap: 1.8rem .8rem; }
	.adh-team-directory__portrait { width: 94px; height: 94px; border-width: 6px; font-size: 1.75rem; }
	.adh-team-person > strong { font-size: .76rem; }
	.adh-team-person > em { font-size: .66rem; }

	.adh-visit__facts { grid-template-columns: repeat(2,1fr); gap: 1.7rem 0; }
	.adh-visit__facts > div { min-height: 132px; }
	.adh-visit__facts > div:nth-child(3) { border-left: 0; }
	.adh-visit__media { display: block; overflow: visible; border-radius: 36px 9px; box-shadow: none; }
	.adh-visit__media > figure { height: 270px; overflow: hidden; border-radius: 36px 9px 0 0; }
	.adh-map { min-height: 245px; border-radius: 0 0 36px 9px; overflow: hidden; }
	.adh-map iframe { min-height: 245px; }
	.adh-visit__card { position: relative; top: auto; left: auto; width: calc(100% - 2rem); margin: -4.5rem auto 1rem; transform: none; }
	.adh-office-hours { grid-template-columns: 1fr; gap: 1.25rem; padding: 1.5rem; }
	.adh-hours { grid-template-columns: 1fr; }

	.adh-page-hero { padding: 118px 0 4.3rem; }
	.adh-page-hero nav { margin-bottom: 2rem; }
	.adh-page-hero > .adh-container > div { grid-template-columns: 1fr; gap: 1rem; }
	.adh-page-hero h1 { font-size: clamp(3.3rem,15vw,4.4rem); }
	.adh-page-hero > .adh-container > div > p { font-size: .94rem; }
	.adh-story__grid, .adh-first-visit__grid, .adh-doctor-profile__grid { grid-template-columns: 1fr; gap: 2.5rem; }
	.adh-story__grid > div { order: 2; }
	.adh-story figure { order: 1; border-radius: 42px 9px; }
	.adh-page-links > .adh-container { grid-template-columns: 1fr; }
	.adh-callout > .adh-container { flex-direction: column; align-items: flex-start; }
	.adh-callout .adh-button { width: 100%; }
	.adh-resource-row { grid-template-columns: 52px 1fr; gap: 1rem; }
	.adh-resource-row > span { width: 50px; height: 50px; }
	.adh-resource-row > a { grid-column: 2; }
	.adh-doctor-profile__portrait { width: 220px; border-width: 8px; font-size: 4rem; }
	.adh-doctor-profile__content .adh-actions { flex-direction: column; align-items: stretch; }
	.adh-doctor-profile__content .adh-text-link { align-self: flex-start; }
	.adh-editorial-library > .adh-container { grid-template-columns: 1fr; }
	.adh-appointment-request__layout { grid-template-columns: 1fr; }
	.adh-appointment-request__support { position: static; }

	.adh-emergency-band__inner { align-items: flex-start; flex-direction: column; }
	.adh-emergency-band a { width: 100%; padding: 1rem 0 0; border-top: 1px solid rgba(255,255,255,.18); border-left: 0; }
	.adh-footer__grid { grid-template-columns: repeat(2,1fr); gap: 2.5rem 1.5rem; }
	.adh-footer__brand { grid-column: 1/-1; }
	.adh-footer__grid a { min-height: 44px; }
	.adh-footer__bottom { flex-direction: column; }
	.adh-back-top { bottom: calc(1rem + 74px + env(safe-area-inset-bottom)); }
	.adh-mobile-action-bar { position: fixed; z-index: 120; right: 10px; bottom: calc(10px + env(safe-area-inset-bottom)); left: 10px; display: grid; min-height: 64px; grid-template-columns: .72fr 1.55fr; gap: .55rem; padding: .55rem; border: 1px solid rgba(255,255,255,.16); border-radius: 17px; background: rgba(5,40,61,.97); box-shadow: 0 12px 35px rgba(5,40,61,.28); opacity: 0; pointer-events: none; transform: translateY(calc(100% + 22px)); transition: opacity .22s ease, transform .22s ease; backdrop-filter: blur(12px); }
	.adh-mobile-action-bar.is-visible { opacity: 1; pointer-events: auto; transform: translateY(0); }
	.adh-mobile-action-bar a { display: inline-flex; min-height: 52px; align-items: center; justify-content: center; gap: .45rem; border: 1px solid rgba(255,255,255,.45); border-radius: 10px; color: var(--adh-white); font-size: .76rem; font-weight: 800; }
	.adh-mobile-action-bar a:last-child { border-color: var(--adh-coral); background: var(--adh-coral); }
	.adh-mobile-action-bar svg { width: 1rem; }
	.mana-dental-appointment-request__form { grid-template-columns: 1fr; }
	.mana-dental-appointment-request__form > p { grid-column: 1/-1; }
	.adh-appointment-request__form-card { padding: 1.4rem 1rem; border-radius: 30px 9px 30px 9px; }
	.mana-dental-appointment-request__submit button,
	.mana-dental-appointment-request__success-actions a { width: 100%; }
	.mana-dental-appointment-request__success-actions { display: grid; grid-template-columns: 1fr; }
}

@media (max-width: 360px) {
	.adh-header__inner { grid-template-columns: 92px 1fr auto auto; gap: .3rem; padding-left: .65rem; }
	.adh-brand { width: 90px; }
	.adh-header__cta { min-width: 60px; padding-inline: .6rem; }
	.adh-hero h1 { font-size: 3.5rem; }
	.adh-page-hero h1 { font-size: 3.2rem; }
	.adh-care-links { gap-inline: .35rem; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.adh-hero__media video { display: none !important; }
	*, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
