/* Carabelli Dental 2026 landing page */
@layer reset, tokens, base, components, sections, utilities, responsive;

@layer reset {
  *, *::before, *::after { box-sizing: border-box; }
  html { -webkit-text-size-adjust: 100%; }
  body, h1, h2, h3, p, figure, blockquote, dl, dd { margin: 0; }
  ul, ol { margin: 0; padding: 0; list-style: none; }
  img, svg { display: block; max-width: 100%; }
  button, input { font: inherit; }
  button, a { -webkit-tap-highlight-color: transparent; }
  button { border: 0; }
  address { font-style: normal; }
}

/* Homepage revision 11: routed navigation, reusable carousels and richer section transitions. */
.no-js body > :not(noscript) { display: none !important; }
html.no-js, html.no-js body { overflow: hidden !important; }
.support-warning {
  position: fixed;
  inset: 0;
  z-index: 2147483647;
  display: none;
  place-items: center;
  overflow: auto;
  padding: clamp(1rem, 5vw, 3rem);
  background: rgba(8, 9, 10, .96);
  color: #fff;
  text-align: center;
}
.noscript-message { display: grid; }
.support-warning__dialog {
  width: min(100%, 38rem);
  padding: clamp(1.5rem, 6vw, 3.5rem);
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 1.5rem;
  background: #141517;
  box-shadow: 0 2rem 7rem rgba(0,0,0,.48);
}
.support-warning__dialog > svg { width: 3.25rem; height: 3.25rem; margin: 0 auto 1.25rem; color: var(--accent); }
.support-warning__dialog h2 { margin-block: .35rem 1rem; font-size: clamp(1.8rem, 7vw, 3rem); line-height: 1.05; }
.support-warning__dialog p:last-child { max-width: 31rem; margin-inline: auto; color: #bbb9b5; }

@media (max-width: 319.98px), (max-height: 479.98px) {
  html, body { overflow: hidden !important; }
  .resolution-warning { display: grid; }
}

.nav-item--submenu { position: relative; display: flex; align-items: center; }
.nav-item--submenu::before { content: ""; position: absolute; top: 100%; left: 50%; width: min(43rem, calc(100vw - 2rem)); height: 1.45rem; transform: translateX(-50%); }
.nav-services-trigger { display: inline-flex; align-items: center; gap: .32rem; border: 0; background: transparent; }
.nav-services-trigger svg { width: .82rem; height: .82rem; transition: transform 360ms cubic-bezier(.2,.8,.2,1); }
.nav-item--submenu.is-open .nav-services-trigger svg { transform: rotate(180deg); }
.nav-submenu {
  position: absolute;
  top: calc(100% + 1.35rem);
  left: 50%;
  width: min(43rem, calc(100vw - 2rem));
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 1rem 1rem 2.8rem 1rem;
  background: var(--surface-raised);
  box-shadow: 0 1.6rem 5rem rgba(12,12,13,.2);
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -.7rem);
  clip-path: inset(0 0 100% 0 round 1rem);
  transform-origin: 50% 0;
  transition: opacity 180ms ease, transform 420ms cubic-bezier(.16,1,.3,1), clip-path 420ms cubic-bezier(.16,1,.3,1);
}
.nav-submenu::before { content: ""; position: absolute; z-index: 3; inset: 0 auto 0 0; width: 3px; background: linear-gradient(var(--accent), transparent 85%); animation: submenu-rail 3.8s ease-in-out infinite; }
.nav-item--submenu.is-open .nav-submenu { opacity: 1; pointer-events: auto; transform: translate(-50%, 0); clip-path: inset(0 round 1rem); }
.nav-item--submenu.is-escape-closed .nav-submenu { opacity: 0; pointer-events: none; transform: translate(-50%, -.7rem); clip-path: inset(0 0 100% 0 round 1rem); }
.nav-submenu__intro { position: relative; display: flex; flex-direction: column; justify-content: flex-end; min-height: 20rem; padding: 2rem; overflow: hidden; background: var(--black-850); color: #f7f5f2; }
.nav-submenu__intro::before, .nav-submenu__intro::after { content: ""; position: absolute; width: 13rem; height: 13rem; border: 1px solid rgba(255,255,255,.11); border-radius: 50% 50% 10% 10%; }
.nav-submenu__intro::before { top: -6rem; left: -3rem; transform: rotate(22deg); }
.nav-submenu__intro::after { top: -3.5rem; left: 3.5rem; transform: rotate(-18deg); }
.nav-submenu__intro span { position: relative; z-index: 1; color: var(--accent); font-size: .66rem; font-weight: 780; letter-spacing: .16em; text-transform: uppercase; }
.nav-submenu__intro strong { position: relative; z-index: 1; max-width: 12ch; margin-top: .55rem; font-family: var(--font-display); font-size: 1.65rem; line-height: 1.05; }
.nav-submenu__intro p { position: relative; z-index: 1; margin-top: .8rem; color: #aaa8a3; font-size: .76rem; line-height: 1.55; }
.nav-submenu__links { display: grid; grid-template-columns: 1fr 1fr; align-content: center; padding: 1rem; }
.nav-submenu__links a { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: .75rem; min-height: 4.15rem; padding: .75rem; border-bottom: 1px solid var(--border); border-radius: .55rem; color: var(--text); font-size: .82rem; font-weight: 700; opacity: 0; transform: translateY(-.5rem); transition: color var(--transition), background-color var(--transition), opacity 300ms ease, transform 420ms cubic-bezier(.16,1,.3,1); }
.nav-submenu__links a:nth-child(odd) { border-right: 1px solid var(--border); }
.nav-submenu__links a span { color: var(--accent-text); font-size: .58rem; letter-spacing: .1em; }
.nav-submenu__links a:hover, .nav-submenu__links a:focus-visible { background: var(--accent-faint); color: var(--accent-text); }
.nav-item--submenu.is-open .nav-submenu__links a { opacity: 1; transform: none; }
.nav-item--submenu.is-open .nav-submenu__links a:nth-child(2) { transition-delay: 25ms; }
.nav-item--submenu.is-open .nav-submenu__links a:nth-child(3) { transition-delay: 50ms; }
.nav-item--submenu.is-open .nav-submenu__links a:nth-child(4) { transition-delay: 75ms; }
.nav-item--submenu.is-open .nav-submenu__links a:nth-child(5) { transition-delay: 100ms; }
.nav-item--submenu.is-open .nav-submenu__links a:nth-child(6) { transition-delay: 125ms; }
.nav-item--submenu.is-open .nav-submenu__links a:nth-child(7) { transition-delay: 150ms; }
.nav-item--submenu.is-open .nav-submenu__links a:nth-child(8) { transition-delay: 175ms; }

.mobile-submenu-heading button { width: 100%; min-height: 3.7rem; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--border); color: var(--text); font-family: var(--font-display); font-size: clamp(1.35rem, var(--fluid-mobile-nav), 1.8rem); font-weight: 650; text-align: left; }
.mobile-submenu-heading svg { width: 1.1rem; height: 1.1rem; transition: transform 350ms cubic-bezier(.2,.8,.2,1); }
.mobile-submenu-panel { display: grid; grid-template-rows: 0fr; opacity: 0; transition: grid-template-rows 450ms cubic-bezier(.16,1,.3,1), opacity 250ms ease; }
.mobile-submenu-panel > div { min-height: 0; overflow: hidden; padding-inline: .85rem; border-left: 2px solid var(--accent); }
.mobile-submenu-group.is-open .mobile-submenu-panel { grid-template-rows: 1fr; opacity: 1; }
.mobile-submenu-group.is-open .mobile-submenu-heading svg { transform: rotate(180deg); }

.media-frame, .image-frame { position: relative; overflow: hidden; }
.media-frame > img, .image-frame > img, main img { width: 100%; height: 100%; object-fit: cover; }
.ratio--1x1 { --media-ratio: 1 / 1; }
.ratio--1x2 { --media-ratio: 1 / 2; }
.ratio--2x1 { --media-ratio: 2 / 1; }
.ratio--3x4 { --media-ratio: 3 / 4; }
.ratio--4x3 { --media-ratio: 4 / 3; }
.ratio--4x6 { --media-ratio: 4 / 6; }
.ratio--6x4 { --media-ratio: 6 / 4; }
.ratio--16x9 { --media-ratio: 16 / 9; }
.ratio--9x16 { --media-ratio: 9 / 16; }
.ratio--golden-portrait { --media-ratio: 1 / 1.61; }
.ratio--golden-landscape { --media-ratio: 1.61 / 1; }
[class*="ratio--"].media-frame { aspect-ratio: var(--media-ratio); }
.hero-frame { aspect-ratio: 6 / 4; }
.doctor-frame { aspect-ratio: 4 / 6; }
.experience-frame { aspect-ratio: 2 / 1; }
.testimonial footer img { width: 3.2rem; height: 3.2rem; flex: 0 0 3.2rem; aspect-ratio: 1 / 1; object-fit: cover; }

.why-grid { grid-template-columns: repeat(12, minmax(0, 1fr)); grid-auto-flow: dense; grid-template-rows: none; align-items: stretch; }
.why-card { grid-column: span 5; min-width: 0; }
.why-card--feature { grid-column: span 7; grid-row: span 2; }
.why-card--dark { grid-column: span 5; }
.why-card--wide { grid-column: 1 / -1; }
.why-card--steps { grid-column: span 7; min-height: 20rem; align-content: start; background: linear-gradient(135deg, var(--surface-raised), var(--accent-faint)); border-radius: .75rem 4rem .75rem .75rem; }
.why-card--steps > div:nth-child(2) { max-width: 38rem; }
.why-card--steps ol { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, 1fr); align-self: end; counter-reset: care-step; }
.why-card--steps li { position: relative; min-height: 4.5rem; display: flex; align-items: flex-end; padding: .8rem; border-top: 1px solid var(--border-strong); color: var(--text); font-size: .78rem; font-weight: 760; letter-spacing: .09em; text-transform: uppercase; }
.why-card--steps li::before { counter-increment: care-step; content: "0" counter(care-step); position: absolute; top: .55rem; color: var(--accent-text); font-size: .58rem; }
.why-card--steps li + li { border-left: 1px solid var(--border); }
.why-card--comfort { grid-column: span 5; min-height: 20rem; align-content: space-between; border-radius: 4rem .75rem 4rem .75rem; background: var(--accent); color: var(--on-accent); }
.why-card--comfort p { color: color-mix(in srgb, var(--on-accent) 78%, transparent); }
.why-card--comfort .feature-icon { color: var(--on-accent); }
.why-card__note { grid-column: 1 / -1; width: fit-content; padding: .45rem .7rem; border: 1px solid color-mix(in srgb, var(--on-accent) 34%, transparent); border-radius: 999px; font-size: .65rem; font-weight: 760; letter-spacing: .08em; text-transform: uppercase; }

.carousel { --carousel-gap: 1rem; position: relative; min-width: 0; }
.carousel-viewport { width: 100%; overflow-x: auto; overflow-y: hidden; overscroll-behavior-inline: contain; scroll-snap-type: x mandatory; scrollbar-width: none; touch-action: pan-x pan-y pinch-zoom; cursor: grab; }
.carousel-viewport::-webkit-scrollbar { display: none; }
.carousel-track { min-width: 100%; display: flex; gap: var(--carousel-gap); }
.carousel-slide { min-width: 0; flex: 0 0 var(--carousel-slide-size, 80%); scroll-snap-align: start; scroll-snap-stop: always; }
.carousel.is-dragging .carousel-viewport { cursor: grabbing; scroll-snap-type: none; user-select: none; }
.carousel-button { position: absolute; z-index: 5; width: 3rem; height: 3rem; display: grid; place-items: center; color: var(--text); transition: color var(--transition), background-color var(--transition), border-color var(--transition), transform var(--transition), opacity var(--transition); }
.carousel-button svg { width: 1.05rem; height: 1.05rem; }
.carousel-button:hover { transform: scale(1.06); }
.carousel-button:disabled { opacity: .35; cursor: not-allowed; }
.carousel-meta { display: flex; align-items: center; justify-content: flex-end; gap: .7rem; margin-top: 1rem; color: var(--text-muted); font-size: .67rem; font-weight: 760; letter-spacing: .1em; }
.carousel-meta__line { width: 3.2rem; height: 1px; background: var(--border-strong); }

.service-option__heading { min-height: 8.7rem; display: grid; grid-template-columns: 1.05fr .95fr; gap: 1rem; align-items: end; padding: .5rem .25rem 1.35rem; }
.service-option__heading h3 { margin-top: .45rem; font-size: clamp(1.55rem, 2.3vw, 2.35rem); }
.service-option__heading p { color: var(--text-muted); font-size: .8rem; line-height: 1.55; }
.service-carousel { --carousel-slide-size: 84%; --carousel-gap: .8rem; padding-bottom: .25rem; }
.service-carousel .carousel-viewport { border-radius: 3rem .65rem .65rem .65rem; }
.service-slide { overflow: hidden; border: 1px solid var(--border); border-radius: 3rem .65rem .65rem .65rem; background: var(--surface-soft); transition: opacity 420ms ease, transform 520ms cubic-bezier(.16,1,.3,1); }
.service-slide:not(.is-active) { opacity: .7; transform: scale(.975); }
.service-slide > a { height: 100%; display: grid; grid-template-rows: auto 1fr; }
.service-thumb { background: var(--surface-soft); }
.service-slide > a > div:last-child { display: grid; grid-template-columns: auto 1fr; align-content: start; gap: .4rem .8rem; min-height: 12.5rem; padding: 1.3rem; }
.service-slide > a > div:last-child > span { grid-row: span 2; padding-top: .22rem; color: var(--accent-text); font-size: .62rem; font-weight: 780; }
.service-slide p { grid-column: 2; color: var(--text-muted); font-size: .78rem; line-height: 1.55; }
.service-carousel__button { top: 42%; border: 1px solid rgba(255,255,255,.5); border-radius: 50% 50% .35rem 50%; background: color-mix(in srgb, var(--black-950) 82%, transparent); color: #fff; box-shadow: 0 .8rem 2rem rgba(0,0,0,.2); }
.service-carousel__button--prev { left: .65rem; }
.service-carousel__button--next { right: .65rem; transform: rotate(45deg); }
.service-carousel__button--next svg { transform: rotate(-45deg); }
.service-carousel__button--next:hover { transform: rotate(45deg) scale(1.06); }

.testimonial-stage { max-width: 72rem; padding: 0; overflow: visible; }
.testimonial-viewport { overflow-x: auto; border-radius: inherit; background: var(--surface-raised); }
.testimonial-list { gap: 0; }
.testimonial { flex-basis: 100%; min-height: clamp(27rem, 42vw, 35rem); display: flex; flex-direction: column; justify-content: center; padding: clamp(3.5rem, 7vw, 6rem) clamp(3rem, 8vw, 7rem) clamp(6.5rem, 9vw, 7.5rem); opacity: .38; transform: scale(.965); transition: opacity 650ms ease, transform 750ms cubic-bezier(.16,1,.3,1); }
.testimonial blockquote { transform: translateY(.8rem); transition: transform 750ms cubic-bezier(.16,1,.3,1); }
.testimonial footer { opacity: .3; transform: translateY(.8rem); transition: opacity 500ms ease 80ms, transform 650ms cubic-bezier(.16,1,.3,1) 80ms; }
.testimonial.is-active { opacity: 1; transform: scale(1); }
.testimonial.is-active blockquote, .testimonial.is-active footer { opacity: 1; transform: none; }
.testimonial-carousel__button { top: 50%; border: 1px solid color-mix(in srgb, var(--accent) 34%, var(--border)); border-radius: 999px; background: color-mix(in srgb, var(--surface-raised) 88%, transparent); color: var(--accent-text); box-shadow: var(--shadow-sm); backdrop-filter: blur(12px); }
.testimonial-carousel__button--prev { left: -1.5rem; }
.testimonial-carousel__button--next { right: -1.5rem; }
.testimonial-controls { right: clamp(3rem, 8vw, 7rem); bottom: clamp(2rem, 4vw, 3.2rem); display: grid; grid-template-columns: auto minmax(5rem, 9rem); }
.testimonial-controls > span:first-child { min-width: auto; white-space: nowrap; }
.testimonial-progress { width: 100%; height: 2px; overflow: hidden; background: var(--border); }
.testimonial-progress span { display: block; width: 100%; height: 100%; background: var(--accent); transform: scaleX(var(--carousel-progress, .01)); transform-origin: left; transition: transform 600ms cubic-bezier(.16,1,.3,1); }

.insurance-carousel { --carousel-slide-size: clamp(12rem, 22%, 18rem); --carousel-gap: .75rem; padding-inline: 3.7rem; }
.insurance-carousel .carousel-viewport { padding-block: .3rem 1rem; }
.insurance-slide { overflow: hidden; border: 1px solid var(--border); border-radius: .75rem 2.4rem .75rem .75rem; background: var(--surface); transition: transform var(--transition), border-color var(--transition), box-shadow var(--transition); }
.insurance-slide:hover, .insurance-slide.is-active { border-color: var(--border-strong); box-shadow: var(--shadow-sm); transform: translateY(-3px); }
.insurance-slide .media-frame { border-bottom: 1px solid var(--border); }
.insurance-slide img { filter: grayscale(1) contrast(.9); opacity: .78; transition: filter var(--transition), opacity var(--transition), transform var(--transition); }
.insurance-slide:hover img, .insurance-slide.is-active img { filter: none; opacity: 1; }
.insurance-slide figcaption { padding: .72rem .85rem; color: var(--text-muted); font-size: .7rem; font-weight: 730; }
.insurance-carousel__button { top: 42%; border: 1px solid var(--border-strong); border-radius: .35rem; background: var(--surface-raised); clip-path: polygon(18% 0,100% 0,100% 82%,82% 100%,0 100%,0 18%); }
.insurance-carousel__button--prev { left: 0; }
.insurance-carousel__button--next { right: 0; }
.insurance-carousel__button:hover { border-color: var(--accent); background: var(--accent); color: var(--on-accent); }
.insurance-carousel__meta { padding-right: .25rem; }

.team-carousel { --carousel-slide-size: clamp(15rem, 27%, 22rem); --carousel-gap: clamp(.85rem, 2vw, 1.4rem); padding-inline: 3.8rem; }
.team-carousel .carousel-viewport { padding-block: .4rem 1.2rem; }
.team-member { margin: 0; }
.team-member .team-photo { aspect-ratio: 3 / 4; }
.team-member:nth-child(5n+1) .team-photo { border-radius: 7rem 7rem .75rem .75rem; }
.team-member:nth-child(5n+2) .team-photo { border-radius: .75rem 7rem .75rem .75rem; }
.team-member:nth-child(5n+3) .team-photo { border-radius: 7rem .75rem .75rem .75rem; }
.team-member:nth-child(5n+4) .team-photo { border-radius: 7rem 7rem .75rem 3rem; }
.team-member:nth-child(5n+5) .team-photo { border-radius: .75rem .75rem 6rem 6rem; }
.team-member--cta { border: 1px solid var(--border); border-radius: .8rem 5rem .8rem .8rem; background: var(--surface-raised); overflow: hidden; }
.team-member--cta .team-photo { border-radius: 0 !important; }
.team-member--cta > div:last-child { padding: 1.2rem; }
.team-member--cta > div:last-child span { grid-row: auto; grid-column: 1 / -1; }
.team-member--cta h3, .team-member--cta p, .team-member--cta a { grid-column: 1 / -1; }
.team-member--cta a { display: inline-flex; align-items: center; gap: .45rem; margin-top: .85rem; color: var(--accent-text); font-size: .76rem; font-weight: 750; }
.team-member--cta a svg { width: 1rem; height: 1rem; }
.team-carousel__button { top: 39%; border-radius: 50%; background: var(--surface-raised); color: var(--text); box-shadow: 0 0 0 1px var(--border), 0 0 0 .55rem color-mix(in srgb, var(--accent) 10%, transparent); }
.team-carousel__button::before { content: ""; position: absolute; inset: -.72rem; border: 1px dashed color-mix(in srgb, var(--accent) 55%, transparent); border-radius: 50%; animation: orbit-spin 12s linear infinite; }
.team-carousel__button--prev { left: .15rem; }
.team-carousel__button--next { right: .15rem; }
.team-carousel__button:hover { background: var(--accent); color: var(--on-accent); }
.team-carousel__meta { padding-right: .25rem; }

.map-frame.map-embed { min-height: 0 !important; aspect-ratio: 4 / 3; isolation: isolate; background: var(--surface-soft) url('/static/images/map.webp') center / cover no-repeat; }
.map-embed iframe { width: 100%; height: 100%; border: 0; filter: saturate(.78) contrast(.98); }
.map-embed > a { position: absolute; z-index: 2; right: 1rem; bottom: 1rem; display: inline-flex; align-items: center; gap: .55rem; padding: .8rem 1rem; border: 1px solid var(--border); border-radius: .65rem; background: var(--surface-raised); color: var(--text); box-shadow: var(--shadow-sm); font-size: .78rem; font-weight: 720; }
.map-embed > a svg { width: 1rem; height: 1rem; color: var(--accent); }

.transition-divider { --divider-from: var(--bg); --divider-to: var(--surface-soft); position: relative; z-index: 4; height: clamp(4rem, 6.5vw, 6rem); margin-block: -1px; overflow: hidden; background: var(--divider-from); }
.transition-divider svg { position: absolute; inset: -1px; width: calc(100% + 2px); height: calc(100% + 2px); }
.transition-divider .divider-fill { fill: var(--divider-to); stroke: none; }
.transition-divider .divider-accent { fill: none; stroke: var(--accent); stroke-width: 1.35; stroke-dasharray: 8 13; vector-effect: non-scaling-stroke; opacity: .48; animation: divider-flow 12s linear infinite; }
.transition-divider circle { fill: var(--accent); stroke: none; opacity: .65; animation: divider-pulse 3.6s ease-in-out infinite alternate; }
.divider--wave { --divider-from: var(--surface-strong); --divider-to: var(--surface-soft); }
.divider--pixel { --divider-from: var(--surface-soft); --divider-to: var(--bg); }
.divider--saw { --divider-from: var(--bg); --divider-to: var(--surface-soft); }
.divider--flute { --divider-from: var(--surface-soft); --divider-to: var(--surface-strong); }
.divider--arch { --divider-from: var(--surface-strong); --divider-to: var(--bg); }
.divider--scallop { --divider-from: var(--bg); --divider-to: var(--surface-soft); }
.divider--orbit { --divider-from: var(--surface-soft); --divider-to: var(--bg); }
.divider--route { --divider-from: var(--bg); --divider-to: var(--surface-soft); height: clamp(4rem, 6.5vw, 6rem); color: inherit; background: var(--divider-from); }
.divider--route svg { height: calc(100% + 2px); }
.divider--route .divider-fill { fill: var(--divider-to); stroke: none; }
.divider--route .divider-accent { fill: none; stroke: var(--accent); }
.divider--zigzag { --divider-from: var(--surface-soft); --divider-to: #0b0c0d; }

.section-art { transform-origin: 50% 50%; animation: art-breathe 20s ease-in-out infinite alternate; }
.section-art > .accent-path { animation: art-dash 18s linear infinite; stroke-dasharray: 10 18; }
.hero-art > path { animation: art-dash 24s linear infinite; }
.trust-art > rect { fill: url(#trust-fluting); stroke: none; }
.why-art > rect { fill: url(#why-dots); stroke: none; }
.why-art pattern circle { fill: currentColor; stroke: none; }
.experience-art > rect { fill: url(#experience-slats); stroke: none; }
.insurance-art > rect { fill: url(#insurance-tiles); stroke: none; }
.insurance-art pattern rect { fill: currentColor; stroke: none; }
.doctor-art > path:nth-child(odd), .team-art > path:nth-child(odd), .contact-art > path:nth-child(odd) { animation: art-float 22s ease-in-out infinite alternate; }
.services-art > path, .testimonials-art > path, .final-art > ellipse { animation: art-dash 26s linear infinite; stroke-dasharray: 12 20; }

@keyframes submenu-rail { 0%,100% { transform: scaleY(.35); transform-origin: top; } 50% { transform: scaleY(1); transform-origin: top; } }
@keyframes orbit-spin { to { transform: rotate(360deg); } }
@keyframes divider-flow { to { stroke-dashoffset: -84; } }
@keyframes divider-pulse { to { opacity: .3; transform: translateY(5px); } }
@keyframes art-breathe { from { transform: scale(1); opacity: .045; } to { transform: scale(1.025); opacity: .075; } }
@keyframes art-dash { to { stroke-dashoffset: -180; } }
@keyframes art-float { from { transform: translateY(-8px); } to { transform: translateY(12px); } }

@media (max-width: 74rem) {
  .service-carousel { --carousel-slide-size: clamp(18rem, 54%, 31rem); }
}

@media (max-width: 68rem) {
  .nav-submenu { display: none; }
  .hero-frame { aspect-ratio: 6 / 4; }
  .team-carousel { --carousel-slide-size: clamp(14rem, 38%, 20rem); }
  .insurance-carousel { --carousel-slide-size: clamp(11rem, 31%, 15rem); }
}

@media (max-width: 48rem) {
  .hero-frame, .experience-frame { aspect-ratio: 1 / 1; }
  .why-grid { grid-template-columns: 1fr; }
  .why-card, .why-card--feature, .why-card--dark, .why-card--wide, .why-card--steps, .why-card--comfort { grid-column: auto; grid-row: auto; }
  .why-card--steps ol { grid-template-columns: 1fr; }
  .why-card--steps li + li { border-left: 0; }
  .service-option__heading { min-height: 0; grid-template-columns: 1fr; }
  .service-carousel { --carousel-slide-size: 86%; }
  .testimonial { min-height: 31rem; padding: 4rem 2.25rem 7rem; }
  .testimonial-carousel__button--prev { left: .6rem; }
  .testimonial-carousel__button--next { right: .6rem; }
  .testimonial-controls { right: 2.25rem; left: 2.25rem; bottom: 2.2rem; grid-template-columns: auto 1fr; }
  .insurance-carousel, .team-carousel { padding-inline: 3.15rem; }
  .insurance-carousel { --carousel-slide-size: min(76%, 16rem); }
  .team-carousel { --carousel-slide-size: min(78%, 18rem); }
  .map-frame.map-embed { min-height: 0 !important; aspect-ratio: 4 / 3; order: 2; }
}

@media (max-width: 30rem) {
  .service-carousel { --carousel-slide-size: 91%; }
  .service-slide > a > div:last-child { min-height: 13.5rem; padding: 1rem; }
  .testimonial { min-height: 34rem; padding: 3.8rem 1.25rem 6.8rem; }
  .testimonial-controls { right: 1.25rem; left: 1.25rem; }
  .testimonial-carousel__button { top: auto; bottom: 1.5rem; }
  .testimonial-carousel__button--prev { left: auto; right: 4.85rem; }
  .testimonial-carousel__button--next { right: 1rem; }
  .testimonial-controls { right: 8rem; }
  .insurance-carousel, .team-carousel { padding-inline: 2.8rem; }
  .insurance-carousel { --carousel-slide-size: 88%; }
  .team-carousel { --carousel-slide-size: 90%; }
  .map-frame.map-embed { min-height: 0 !important; aspect-ratio: 4 / 3; border-radius: 3.5rem .75rem 3.5rem .75rem; }
}

@media (prefers-reduced-motion: reduce) {
  .section-art, .section-art *, .transition-divider *, .nav-submenu::before, .team-carousel__button::before { animation: none !important; transform: none; }
  .testimonial, .testimonial blockquote, .testimonial footer { transition: none; }
}
html[data-a11y-reduce-motion="true"] .section-art,
html[data-a11y-reduce-motion="true"] .section-art *,
html[data-a11y-reduce-motion="true"] .transition-divider *,
html[data-a11y-reduce-motion="true"] .nav-submenu::before,
html[data-a11y-reduce-motion="true"] .team-carousel__button::before { animation: none !important; transform: none; }

@layer tokens {
  :root {
    color-scheme: light;
    --font-sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
    --font-display: "Avenir Next", "Segoe UI Variable Display", "Segoe UI", ui-sans-serif, sans-serif;
    --fluid-h1: 6.4vw;
    --fluid-h2: 4.7vw;
    --fluid-h3: 2vw;
    --fluid-body-large: 1.5vw;
    --fluid-mobile-nav: 5vw;
    --fluid-trust: 1.1vw;
    --fluid-why: 3.4vw;
    --fluid-doctor: 1.55vw;
    --fluid-quote: 2.7vw;
    --fluid-h1-mobile: 13vw;
    --fluid-h2-mobile: 10.5vw;
    --black-950: #0b0b0c;
    --black-900: #111214;
    --black-850: #18191b;
    --black-800: #202124;
    --white: #fff;
    --ivory-050: #faf9f7;
    --ivory-100: #f5f3f0;
    --greige-150: #ece8e3;
    --greige-300: #d8d3cd;
    --gray-600: #696969;
    --bg: #f7f6f3;
    --surface: #fff;
    --surface-raised: #fff;
    --surface-soft: #f0edea;
    --surface-strong: #111214;
    --text: #151515;
    --text-muted: #646464;
    --text-on-strong: #f7f5f2;
    --border: #ddd9d4;
    --border-strong: #bcb6ae;
    --shadow-sm: 0 10px 28px rgba(20, 18, 15, .06);
    --shadow-md: 0 26px 60px rgba(20, 18, 15, .1);
    --radius-sm: .55rem;
    --radius-md: 1rem;
    --radius-lg: 1.75rem;
    --radius-xl: 3rem;
    --container: 83rem;
    --gutter: clamp(1.25rem, 4vw, 3rem);
    --section-space: clamp(5.5rem, 9vw, 9.5rem);
    --header-height: 5.5rem;
    --transition: 220ms cubic-bezier(.2, .7, .2, 1);
    --z-header: 100;
    --z-panel: 120;
    --accent: #d92f35;
    --accent-text: color-mix(in srgb, var(--accent) 75%, #000);
    --on-accent: #fff;
    --accent-soft: color-mix(in srgb, var(--accent) 13%, transparent);
    --accent-faint: color-mix(in srgb, var(--accent) 6%, transparent);
    --accent-deep: color-mix(in srgb, var(--accent) 82%, var(--black-950));
  }

  html[data-theme="dark"] {
    color-scheme: dark;
    --bg: #0c0d0e;
    --surface: #131416;
    --surface-raised: #191a1d;
    --surface-soft: #202124;
    --surface-strong: #090a0b;
    --text: #f7f5f2;
    --text-muted: #b7b4af;
    --text-on-strong: #f7f5f2;
    --border: #2e3033;
    --border-strong: #4b4d50;
    --accent-text: var(--accent);
    --shadow-sm: 0 12px 30px rgba(0, 0, 0, .22);
    --shadow-md: 0 30px 70px rgba(0, 0, 0, .32);
  }

  html[data-theme="light"][data-accent="0"] { --accent: #d92f35; --on-accent: #fff; }
  html[data-theme="light"][data-accent="1"] { --accent: #b82732; --on-accent: #fff; }
  html[data-theme="light"][data-accent="2"] { --accent: #922638; --on-accent: #fff; }
  html[data-theme="light"][data-accent="3"] { --accent: #d85047; --on-accent: #190807; }
  html[data-theme="light"][data-accent="4"] { --accent: #b85d45; --on-accent: #000; }
  html[data-theme="light"][data-accent="5"] { --accent: #9c4351; --on-accent: #fff; }
  html[data-theme="light"][data-accent="6"] { --accent: #70415d; --on-accent: #fff; }
  html[data-theme="light"][data-accent="7"] { --accent: #216c69; --on-accent: #fff; }
  html[data-theme="light"][data-accent="8"] { --accent: #35654b; --on-accent: #fff; }
  html[data-theme="light"][data-accent="9"] { --accent: #405d73; --on-accent: #fff; }
  html[data-theme="dark"][data-accent="0"] { --accent: #ff515b; --on-accent: #1b0507; }
  html[data-theme="dark"][data-accent="1"] { --accent: #ff6872; --on-accent: #1b0507; }
  html[data-theme="dark"][data-accent="2"] { --accent: #ff806b; --on-accent: #1d0904; }
  html[data-theme="dark"][data-accent="3"] { --accent: #f6a04d; --on-accent: #1b0d02; }
  html[data-theme="dark"][data-accent="4"] { --accent: #e8bd63; --on-accent: #171006; }
  html[data-theme="dark"][data-accent="5"] { --accent: #67ceae; --on-accent: #041711; }
  html[data-theme="dark"][data-accent="6"] { --accent: #57bbd2; --on-accent: #031317; }
  html[data-theme="dark"][data-accent="7"] { --accent: #899dff; --on-accent: #080d22; }
  html[data-theme="dark"][data-accent="8"] { --accent: #be8de8; --on-accent: #15081d; }
  html[data-theme="dark"][data-accent="9"] { --accent: #ee86b2; --on-accent: #1e0711; }
}

@layer base {
  html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header-height) + 1rem); background: var(--bg); }
  body {
    min-height: 100vh;
    background: var(--bg);
    color: var(--text);
    font-family: var(--font-sans);
    font-size: 1rem;
    line-height: 1.65;
    text-rendering: optimizeLegibility;
    transition: background-color var(--transition), color var(--transition);
  }
  a { color: inherit; text-decoration: none; }
  a, button { color: inherit; }
  button { cursor: pointer; background: transparent; }
  :focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; }
  ::selection { background: var(--accent); color: var(--on-accent); }
  h1, h2, h3 { font-family: var(--font-display); font-weight: 650; letter-spacing: -.045em; line-height: .98; text-wrap: balance; }
  h1 { font-size: clamp(3.25rem, var(--fluid-h1), 6.4rem); }
  h2 { font-size: clamp(2.5rem, var(--fluid-h2), 4.8rem); }
  h3 { font-size: clamp(1.35rem, var(--fluid-h3), 1.8rem); line-height: 1.12; }
  h1 em, h2 em { color: var(--accent); font-style: normal; }
  p { text-wrap: pretty; }
  .container { width: min(100% - (2 * var(--gutter)), var(--container)); margin-inline: auto; position: relative; z-index: 2; }
  .section { position: relative; padding-block: var(--section-space); overflow: clip; }
  .section--soft { background: var(--surface-soft); }
  .svg-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
  svg { width: 1.25rem; height: 1.25rem; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
  .section-art { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; color: var(--text); opacity: .065; }
  .section-art path, .section-art circle, .section-art rect { fill: none; stroke: currentColor; stroke-width: 1.3; vector-effect: non-scaling-stroke; }
  .section-art .accent-path { color: var(--accent); stroke-width: 2; }
  .image-frame { position: relative; overflow: hidden; background: var(--surface-soft); }
  .image-frame img { width: 100%; height: 100%; object-fit: cover; transition: transform 700ms cubic-bezier(.2, .7, .2, 1); }
  .image-frame:hover img { transform: scale(1.018); }
}

@layer components {
  .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
  .skip-link { position: fixed; top: .75rem; left: .75rem; z-index: 1000; transform: translateY(-150%); padding: .75rem 1rem; border-radius: .5rem; background: var(--accent); color: var(--on-accent); font-weight: 750; transition: transform var(--transition); }
  .skip-link:focus { transform: translateY(0); }
  .eyebrow { display: flex; align-items: center; gap: .75rem; margin-bottom: 1.4rem; color: var(--text-muted); font-size: .76rem; font-weight: 760; letter-spacing: .17em; line-height: 1.3; text-transform: uppercase; }
  .eyebrow > span { display: block; width: 2.2rem; height: 2px; background: var(--accent); }
  .eyebrow--light { color: #c8c4be; }
  .section-heading { margin-bottom: clamp(3rem, 6vw, 5.5rem); }
  .section-heading--split { display: grid; grid-template-columns: minmax(0, 8fr) minmax(18rem, 4fr); align-items: end; gap: 3rem; }
  .section-heading--split > div { max-width: 58rem; }
  .section-heading--split > p { max-width: 31rem; padding-bottom: .45rem; color: var(--text-muted); font-size: clamp(1rem, var(--fluid-body-large), 1.2rem); }
  .section-heading--center { max-width: 61rem; margin-inline: auto; text-align: center; }
  .section-heading--center .eyebrow { justify-content: center; }

  .button { min-height: 3.35rem; display: inline-flex; align-items: center; justify-content: center; gap: .75rem; padding: .8rem 1.2rem; border: 1px solid transparent; border-radius: .75rem; font-size: .94rem; font-weight: 720; line-height: 1.2; transition: transform var(--transition), background-color var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition); }
  .button svg { width: 1.15rem; height: 1.15rem; flex: 0 0 auto; }
  .button:hover { transform: translateY(-2px); }
  .button--primary { background: var(--accent); color: var(--on-accent); box-shadow: 0 9px 22px color-mix(in srgb, var(--accent) 24%, transparent); }
  .button--primary:hover { background: var(--accent-deep); }
  .button--secondary { border-color: var(--border-strong); background: var(--surface); color: var(--text); }
  .button--secondary:hover { border-color: var(--text); background: var(--surface-soft); }
  .button--light { border-color: rgba(255,255,255,.24); background: #f7f5f2; color: #111214; }
  .button--light:hover { background: #fff; }
  .button--dark-outline { border-color: rgba(255,255,255,.26); color: #f7f5f2; }
  .button--dark-outline:hover { border-color: #f7f5f2; background: rgba(255,255,255,.07); }
  .text-link { display: inline-flex; align-items: center; gap: .65rem; margin-top: 1.5rem; color: var(--text); font-weight: 720; }
  .text-link::after { content: ""; position: absolute; }
  .text-link svg { transition: transform var(--transition); }
  .text-link:hover svg { transform: translateX(.25rem); }

  .icon-button { width: 2.75rem; height: 2.75rem; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--border); border-radius: .7rem; background: var(--surface); color: var(--text); transition: background-color var(--transition), border-color var(--transition), color var(--transition), transform var(--transition); }
  .icon-button:hover { border-color: var(--border-strong); background: var(--surface-soft); transform: translateY(-1px); }
  .icon-button svg { width: 1.15rem; height: 1.15rem; }

  .site-header { position: sticky; top: 0; z-index: var(--z-header); height: var(--header-height); border-bottom: 1px solid transparent; background: color-mix(in srgb, var(--bg) 88%, transparent); backdrop-filter: blur(16px); transition: height var(--transition), border-color var(--transition), box-shadow var(--transition), background-color var(--transition); }
  .site-header.is-compact { --header-height: 4.7rem; border-bottom-color: var(--border); box-shadow: 0 8px 30px rgba(13, 13, 13, .055); background: color-mix(in srgb, var(--bg) 94%, transparent); }
  .header-shell { width: min(100% - 2rem, 91rem); height: 100%; margin-inline: auto; display: flex; align-items: center; gap: clamp(1rem, 2.5vw, 2.2rem); position: relative; }
  .brand-logo { display: inline-flex; width: 10.625rem; height: 3.895rem; flex: 0 0 10.625rem; align-items: center; overflow: hidden; }
  .brand-logo__art { display: block; width: 10.625rem; height: 3.895rem; background-image: url('/static/images/sprites.webp'); background-repeat: no-repeat; background-position: 0 0; background-size: 38.958rem 17.708rem; }
  html[data-theme="dark"] .site-header .brand-logo__art { filter: brightness(0) invert(1); }
  .desktop-nav { min-width: 0; display: flex; align-items: center; justify-content: center; gap: clamp(.2rem, .9vw, 1rem); flex: 1 1 auto; }
  .nav-link { position: relative; padding: .55rem .35rem; color: var(--text-muted); font-size: .87rem; font-weight: 680; white-space: nowrap; transition: color var(--transition); }
  .nav-link::after { content: ""; position: absolute; right: .3rem; bottom: .1rem; left: .3rem; height: 3px; border-radius: 3px; background: var(--accent); transform: scaleX(0); transform-origin: right; transition: transform var(--transition); }
  .nav-link:hover, .nav-link.is-current { color: var(--text); }
  .nav-link:hover::after, .nav-link.is-current::after { transform: scaleX(1); transform-origin: left; }
  .header-actions { display: flex; align-items: center; gap: .65rem; flex: 0 0 auto; }
  .utility-group { display: flex; gap: .3rem; padding: .25rem; border: 1px solid var(--border); border-radius: .9rem; background: var(--surface); }
  .utility-group .icon-button { width: 2.25rem; height: 2.25rem; border: 0; background: transparent; }
  .accent-button { position: relative; }
  .accent-dot { position: absolute; top: .38rem; right: .35rem; width: .42rem; height: .42rem; border: 1px solid var(--surface); border-radius: 50%; background: var(--accent); }
  .header-book { min-height: 2.8rem; padding-inline: 1rem; }
  .menu-toggle { display: none; }
  .menu-toggle .close-icon { display: none; }
  .menu-toggle[aria-expanded="true"] .menu-icon { display: none; }
  .menu-toggle[aria-expanded="true"] .close-icon { display: block; }

  .control-panel { position: absolute; top: calc(100% + .75rem); right: 0; z-index: var(--z-panel); width: min(23rem, calc(100vw - 2rem)); max-height: calc(100vh - var(--header-height) - 2rem); overflow: auto; padding: 1.25rem; border: 1px solid var(--border); border-radius: 1.1rem; background: var(--surface-raised); box-shadow: var(--shadow-md); }
  .control-panel[hidden] { display: none; }
  .control-panel::before { content: ""; position: absolute; inset: 0 auto auto 0; width: 6rem; height: 3px; border-radius: 0 4px 4px 0; background: var(--accent); }
  .panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 1.2rem; }
  .panel-heading h2 { margin-top: .1rem; font-size: 1.55rem; letter-spacing: -.025em; }
  .panel-kicker { color: var(--text-muted); font-size: .68rem; font-weight: 750; letter-spacing: .14em; text-transform: uppercase; }
  .panel-close { width: 2.25rem; height: 2.25rem; flex: 0 0 auto; }
  .theme-options { display: grid; grid-template-columns: repeat(3, 1fr); gap: .5rem; padding: 0; border: 0; }
  .theme-options label { position: relative; }
  .theme-options input { position: absolute; opacity: 0; pointer-events: none; }
  .theme-options span { min-height: 3rem; display: flex; align-items: center; justify-content: center; border: 1px solid var(--border); border-radius: .65rem; color: var(--text-muted); font-size: .85rem; font-weight: 720; cursor: pointer; }
  .theme-options input:checked + span { border-color: var(--accent); background: var(--accent-soft); color: var(--text); box-shadow: inset 0 0 0 1px var(--accent); }
  .theme-options input:focus-visible + span { outline: 3px solid var(--accent); outline-offset: 3px; }
  .selected-accent { margin-bottom: .85rem; color: var(--text-muted); font-size: .85rem; }
  .accent-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: .65rem; }
  .accent-swatch { aspect-ratio: 1; display: grid; place-items: center; border: 2px solid transparent; border-radius: .7rem; background: var(--swatch); box-shadow: inset 0 0 0 1px rgba(0,0,0,.12); }
  .accent-swatch[aria-checked="true"] { border-color: var(--text); box-shadow: inset 0 0 0 3px var(--surface), 0 0 0 1px var(--text); }
  .accent-swatch svg { width: 1rem; height: 1rem; color: var(--swatch-foreground); opacity: 0; }
  .accent-swatch[aria-checked="true"] svg { opacity: 1; }

  .accessibility-panel { width: min(31rem, calc(100vw - 2rem)); }
  .text-size-control { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .9rem; padding: .8rem; border: 1px solid var(--border); border-radius: .75rem; }
  .text-size-control > span { font-weight: 680; }
  .text-size-control > div { display: flex; align-items: center; gap: .5rem; }
  .text-size-control button { width: 2.25rem; height: 2.25rem; display: grid; place-items: center; border: 1px solid var(--border); border-radius: .55rem; background: var(--surface-soft); }
  .text-size-control button svg { width: 1rem; height: 1rem; }
  .text-size-control output { min-width: 3.3rem; text-align: center; color: var(--text-muted); font-size: .82rem; font-weight: 700; }
  .a11y-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .55rem; }
  .a11y-grid button { min-height: 4.4rem; display: flex; align-items: center; gap: .7rem; padding: .75rem; border: 1px solid var(--border); border-radius: .7rem; background: var(--surface); color: var(--text-muted); text-align: left; font-size: .78rem; font-weight: 670; line-height: 1.25; }
  .a11y-grid button svg { width: 1.2rem; height: 1.2rem; flex: 0 0 auto; }
  .a11y-grid button[aria-pressed="true"] { border-color: var(--accent); background: var(--accent-soft); color: var(--text); box-shadow: inset 0 0 0 1px var(--accent); }
  .a11y-reset { width: 100%; min-height: 2.8rem; display: flex; align-items: center; justify-content: center; gap: .6rem; margin-top: .65rem; border-radius: .65rem; background: var(--surface-soft); color: var(--text); font-size: .8rem; font-weight: 700; }
  .a11y-reset svg { width: 1rem; height: 1rem; }

  .section-divider { position: relative; z-index: 3; height: 0; color: var(--surface-soft); }
  .divider--smile svg { position: absolute; right: 0; bottom: -1px; left: 0; width: 100%; height: 5rem; stroke: none; fill: var(--surface-soft); }
  .divider--steps span { position: absolute; right: 0; bottom: -1.5rem; width: 28%; height: 3rem; background: linear-gradient(90deg, transparent 0 10%, var(--bg) 10% 22%, transparent 22% 30%, var(--bg) 30% 48%, transparent 48% 58%, var(--bg) 58% 78%, transparent 78%); opacity: .9; }
  .divider--perforation { height: 2rem; display: flex; align-items: center; justify-content: center; gap: 1rem; background: var(--surface-soft); }
  .divider--perforation span { width: .35rem; height: .35rem; transform: rotate(45deg); background: var(--accent); opacity: .45; }
  .divider--notch { height: 0; }
  .divider--notch svg { position: absolute; top: -1px; right: 0; left: 0; width: 100%; height: 3.5rem; fill: var(--surface-strong); stroke: none; }
  .divider--tiles { height: 1.5rem; background: var(--surface-soft); }
  .divider--tiles span { position: absolute; inset: 0; opacity: .18; background: repeating-linear-gradient(90deg, transparent 0 22px, var(--text) 22px 24px, transparent 24px 48px); }
  .divider--route { height: 2.5rem; color: var(--border-strong); background: var(--surface-soft); }
  .divider--route svg { width: 100%; height: 100%; }
  .divider--route path, .divider--route circle { fill: var(--surface-soft); stroke: currentColor; stroke-width: 1.25; vector-effect: non-scaling-stroke; }
}

@layer sections {
  .hero { min-height: calc(100svh - var(--header-height)); display: grid; align-items: center; padding-top: clamp(3.5rem, 7vw, 7rem); padding-bottom: clamp(4.5rem, 8vw, 7.5rem); background: var(--bg); }
  .hero-art path { stroke-dasharray: 14 18; }
  .hero-grid { display: grid; grid-template-columns: minmax(0, 5.2fr) minmax(0, 6.8fr); align-items: center; gap: clamp(2.5rem, 5vw, 6rem); }
  .hero-copy { max-width: 43rem; padding-top: 1.2rem; }
  .hero-copy h1 { max-width: 12ch; }
  .hero-lede { max-width: 39rem; margin-top: 1.7rem; color: var(--text-muted); font-size: clamp(1.05rem, var(--fluid-body-large), 1.28rem); line-height: 1.65; }
  .hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2.25rem; }
  .hero-proof { display: flex; flex-wrap: wrap; gap: .7rem 1.2rem; margin-top: 1.75rem; color: var(--text-muted); font-size: .79rem; font-weight: 650; }
  .hero-proof li { display: flex; align-items: center; gap: .35rem; }
  .hero-proof svg { width: .95rem; height: .95rem; color: var(--accent); stroke-width: 2.4; }
  .hero-visual { position: relative; width: 100%; max-width: 49rem; justify-self: end; }
  .hero-frame { aspect-ratio: 6 / 4; border-radius: 8rem 1.3rem 7rem 1.3rem; clip-path: polygon(0 0, 100% 0, 100% 78%, 91% 78%, 91% 100%, 0 100%); box-shadow: var(--shadow-md); }
  .hero-frame img { object-position: 48% center; }
  .hero-frame::before { content: ""; position: absolute; z-index: 2; inset: 0; border: 1px solid rgba(255,255,255,.28); border-radius: inherit; pointer-events: none; }
  .hero-frame__edge { position: absolute; z-index: 3; right: 0; bottom: 0; width: 9%; height: 22%; background: var(--accent); }
  .hero-visual::after { content: ""; position: absolute; z-index: -1; top: 1.5rem; right: -1.5rem; width: 62%; height: 89%; border: 1px solid var(--border-strong); border-radius: 2rem 6rem 2rem 7rem; }
  .hero-visual figcaption { display: flex; align-items: center; gap: .85rem; margin-top: 1rem; color: var(--text-muted); font-size: .78rem; font-weight: 660; letter-spacing: .04em; }
  .caption-index { display: grid; place-items: center; width: 2rem; height: 2rem; border: 1px solid var(--border-strong); border-radius: 50%; color: var(--text); font-size: .65rem; }
  .scroll-cue { position: absolute; z-index: 3; bottom: 1.25rem; left: 50%; display: flex; align-items: center; gap: .6rem; transform: translateX(-50%); color: var(--text-muted); font-size: .68rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
  .scroll-cue svg { width: 1rem; transform: rotate(90deg); }

  .trust-rail { position: relative; overflow: hidden; background: var(--surface-strong); color: var(--text-on-strong); }
  .trust-art { opacity: .12; }
  .trust-art path { stroke: #fff; stroke-width: 1; }
  .trust-grid { min-height: 10rem; display: grid; grid-template-columns: 1fr 1fr 1.5fr auto; align-items: stretch; }
  .trust-item { display: flex; align-items: center; gap: 1rem; padding: 1.5rem clamp(1rem, 2.2vw, 2rem); border-right: 1px solid rgba(255,255,255,.12); }
  .trust-item:first-child { padding-left: 0; }
  .trust-item > svg { width: 1.55rem; height: 1.55rem; color: var(--accent); }
  .trust-item span { display: grid; gap: .15rem; }
  .trust-item small { color: #a8a5a0; font-size: .68rem; font-weight: 690; letter-spacing: .08em; text-transform: uppercase; }
  .trust-item strong { font-size: clamp(.86rem, var(--fluid-trust), 1rem); font-weight: 650; line-height: 1.4; }
  .trust-book { align-self: center; display: flex; align-items: center; gap: .7rem; margin-left: 1.5rem; padding: .85rem 0 .85rem 1.2rem; color: #fff; font-size: .86rem; font-weight: 720; }
  .trust-book svg { width: 1rem; height: 1rem; color: var(--accent); }

  .why { padding-top: calc(var(--section-space) + 2rem); }
  .why-art { opacity: .045; }
  .why-art circle, .why-art path { fill: currentColor; stroke: currentColor; }
  .why-grid { display: grid; grid-template-columns: 1.15fr .85fr; grid-template-rows: auto auto; gap: 1rem; }
  .why-card { min-height: 16rem; position: relative; display: grid; grid-template-columns: auto 1fr; align-content: space-between; gap: 2rem; padding: clamp(1.5rem, 3vw, 2.5rem); border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--surface); transition: transform var(--transition), border-color var(--transition), box-shadow var(--transition); }
  .why-card:hover { transform: translateY(-4px); border-color: var(--border-strong); box-shadow: var(--shadow-sm); }
  .why-card--feature { min-height: 27rem; grid-row: span 2; grid-template-columns: 1fr auto; border-radius: var(--radius-xl) var(--radius-sm) var(--radius-lg) var(--radius-sm); background: var(--surface-raised); }
  .why-card--feature > div:not(.card-number) { align-self: end; max-width: 32rem; }
  .why-card--feature h3 { font-size: clamp(2rem, var(--fluid-why), 3.3rem); }
  .why-card--dark { background: var(--black-850); color: #f7f5f2; border-color: #2a2c2f; border-radius: var(--radius-sm) var(--radius-lg) var(--radius-sm) var(--radius-lg); }
  .why-card--wide { min-height: 13.5rem; grid-column: 1 / -1; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; border-radius: var(--radius-sm) var(--radius-sm) 4rem var(--radius-sm); }
  .card-number { color: var(--text-muted); font-size: .7rem; font-weight: 760; letter-spacing: .14em; }
  .feature-icon { width: 3.1rem; height: 3.1rem; color: var(--accent); stroke-width: 1.35; }
  .why-card h3 { margin-bottom: .7rem; }
  .why-card p { max-width: 35rem; color: var(--text-muted); }
  .why-card--dark p, .why-card--dark .card-number { color: #aaa8a3; }
  .why-card > a { display: inline-flex; align-items: center; gap: .5rem; grid-column: 1 / -1; justify-self: start; font-size: .8rem; font-weight: 720; }
  .why-card--wide > a { grid-column: auto; }
  .why-card > a svg { width: 1rem; height: 1rem; color: var(--accent); }

  .doctor-grid { display: grid; grid-template-columns: minmax(20rem, 5fr) minmax(0, 7fr); align-items: center; gap: clamp(3rem, 7vw, 8rem); }
  .doctor-visual { position: relative; width: min(100%, 32rem); padding: 1.4rem 0 0 1.4rem; }
  .doctor-frame { aspect-ratio: 4 / 6; border-radius: 11rem 11rem 1rem 1rem; box-shadow: var(--shadow-md); }
  .doctor-frame::before { content: ""; position: absolute; z-index: 2; inset: 0; border: 1px solid rgba(255,255,255,.35); border-radius: inherit; }
  .doctor-visual::before { content: ""; position: absolute; z-index: -1; inset: 0 1.4rem 1.4rem 0; border: 1px solid var(--text); border-radius: 11rem 11rem 1rem 1rem; }
  .doctor-visual::after { content: ""; position: absolute; z-index: 3; top: 8rem; right: -.6rem; width: .45rem; height: 6rem; background: var(--accent); }
  .doctor-visual figcaption { position: absolute; right: -2rem; bottom: 2.6rem; min-width: 12rem; padding: 1rem 1.2rem; border: 1px solid var(--border); border-radius: .75rem; background: var(--surface-raised); box-shadow: var(--shadow-sm); }
  .doctor-visual figcaption span, .doctor-visual figcaption small { display: block; }
  .doctor-visual figcaption span { font-weight: 760; }
  .doctor-visual figcaption small { margin-top: .15rem; color: var(--text-muted); font-size: .75rem; }
  .doctor-copy { max-width: 47rem; }
  .doctor-copy h2 { margin-bottom: 1.8rem; }
  .doctor-copy > p { color: var(--text-muted); }
  .doctor-copy > p + p { margin-top: 1rem; }
  .doctor-intro { font-size: clamp(1.08rem, var(--fluid-doctor), 1.3rem); color: var(--text) !important; }
  .credential-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin-top: 2rem; border-block: 1px solid var(--border); }
  .credential-list > div { padding: 1.2rem 1rem; border-right: 1px solid var(--border); }
  .credential-list > div:first-child { padding-left: 0; }
  .credential-list > div:last-child { border-right: 0; }
  .credential-list dt { margin-bottom: .35rem; color: var(--accent-text); font-size: .68rem; font-weight: 760; letter-spacing: .12em; text-transform: uppercase; }
  .credential-list dd { color: var(--text); font-size: .84rem; font-weight: 620; line-height: 1.45; }

  .services-art { opacity: .055; }
  .service-showcase { display: grid; grid-template-columns: 1.25fr .75fr; grid-template-rows: 1fr 1fr; gap: 1rem; }
  .service-card { position: relative; overflow: hidden; border: 1px solid var(--border); background: var(--surface); }
  .service-card--feature { grid-row: 1 / 3; min-height: 42rem; display: grid; grid-template-rows: 1.12fr .88fr; border-radius: 5rem .9rem .9rem .9rem; }
  .service-card--medium { min-height: 20.5rem; display: grid; grid-template-columns: .9fr 1.1fr; border-radius: .9rem; }
  .service-card--implant { border-radius: .9rem .9rem 4rem .9rem; }
  .service-image { min-height: 0; border-radius: inherit; }
  .service-card--feature .service-image { border-radius: 5rem .9rem 0 0; clip-path: polygon(0 0, 100% 0, 100% 85%, 87% 100%, 0 100%); }
  .service-card--medium .service-image { border-radius: .9rem 0 0 .9rem; }
  .service-card--denture .service-image { clip-path: polygon(0 0, 100% 0, 91% 50%, 100% 100%, 0 100%); }
  .service-card--implant .service-image { border-radius: .9rem 0 2.8rem .9rem; }
  .service-copy { display: grid; grid-template-columns: auto 1fr auto; align-content: center; gap: .6rem 1rem; padding: clamp(1.4rem, 3vw, 2.5rem); }
  .service-card--feature .service-copy { grid-template-columns: auto 1fr auto; }
  .service-copy h3 { align-self: center; }
  .service-copy p { grid-column: 2 / -1; color: var(--text-muted); font-size: .93rem; }
  .service-number { color: var(--text-muted); font-size: .68rem; font-weight: 750; letter-spacing: .13em; }
  .service-link { display: flex; align-items: center; gap: .5rem; grid-column: 2 / -1; justify-self: start; margin-top: .5rem; color: var(--text); font-size: .78rem; font-weight: 720; }
  .service-link svg { width: 1rem; height: 1rem; color: var(--accent); }
  .service-index { display: grid; grid-template-columns: 1fr 3fr; gap: 2rem; margin-top: 3rem; }
  .service-index > p { padding-top: 1.1rem; color: var(--text-muted); font-size: .7rem; font-weight: 760; letter-spacing: .15em; text-transform: uppercase; }
  .service-index > div { display: grid; grid-template-columns: 1fr 1fr; }
  .service-index a { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 4rem; padding: .7rem 0; border-bottom: 1px solid var(--border); color: var(--text); font-size: clamp(1rem, var(--fluid-body-large), 1.18rem); font-weight: 650; }
  .service-index a:nth-child(odd) { margin-right: 1.5rem; }
  .service-index a svg { width: 1rem; height: 1rem; color: var(--text-muted); transition: color var(--transition), transform var(--transition); }
  .service-index a:hover svg { color: var(--accent); transform: translate(.15rem, -.15rem); }

  .experience { background: var(--surface-strong); color: #f7f5f2; }
  .experience-art { opacity: .14; }
  .experience-art path { stroke: #fff; }
  .experience-grid { display: grid; grid-template-columns: 5fr 7fr; align-items: center; gap: clamp(3rem, 7vw, 7rem); }
  .experience-copy { max-width: 38rem; }
  .experience-copy h2 { margin-bottom: 1.8rem; }
  .experience-copy p { color: #bcb9b4; font-size: 1.05rem; }
  .experience-points { display: flex; flex-wrap: wrap; gap: .75rem 1.4rem; margin-block: 1.7rem 2rem; }
  .experience-points span { display: flex; align-items: center; gap: .5rem; color: #e1ddd8; font-size: .82rem; font-weight: 650; }
  .experience-points svg { width: 1.1rem; height: 1.1rem; color: var(--accent); }
  .experience-visual { position: relative; padding: 1.5rem 1.5rem 0 0; }
  .experience-frame { aspect-ratio: 2 / 1; border-radius: 1rem 6rem 1rem 1rem; clip-path: polygon(0 0, 100% 0, 100% 100%, 12% 100%, 0 85%); }
  .experience-visual::before { content: ""; position: absolute; z-index: -1; inset: 0 0 1.5rem 1.5rem; border: 1px solid rgba(255,255,255,.24); border-radius: 1rem 6rem 1rem 1rem; }
  .experience-visual figcaption { display: flex; justify-content: flex-end; margin-top: .9rem; color: #aaa7a1; font-size: .72rem; letter-spacing: .06em; }

  .testimonials { padding-top: calc(var(--section-space) + 2rem); }
  .testimonials-art { opacity: .038; }
  .testimonial-stage { max-width: 70rem; position: relative; margin-inline: auto; padding: clamp(2rem, 5vw, 4.5rem); border: 1px solid var(--border); border-radius: 1rem 5rem 1rem 1rem; background: var(--surface-raised); }
  .quote-mark { position: absolute; top: -2.2rem; left: clamp(1.5rem, 5vw, 4rem); width: 4.5rem; height: 4.5rem; padding: 1rem; border-radius: 50%; background: var(--accent); color: var(--on-accent); stroke-width: 1.4; }
  .testimonial blockquote { max-width: 56rem; font-family: var(--font-display); font-size: clamp(1.45rem, var(--fluid-quote), 2.55rem); font-weight: 560; letter-spacing: -.025em; line-height: 1.35; }
  .testimonial footer { display: flex; align-items: center; gap: .85rem; margin-top: 2rem; }
  .testimonial footer img { width: 3.2rem; height: 3.2rem; border-radius: 50%; object-fit: cover; }
  .testimonial footer strong, .testimonial footer small { display: block; }
  .testimonial footer strong { font-size: .9rem; }
  .testimonial footer small { margin-top: .1rem; color: var(--text-muted); font-size: .73rem; }
  .testimonial-controls { position: absolute; right: clamp(1.5rem, 5vw, 4rem); bottom: clamp(2rem, 5vw, 4rem); display: flex; align-items: center; gap: .65rem; }
  .testimonial-controls button { width: 2.7rem; height: 2.7rem; display: grid; place-items: center; border: 1px solid var(--border); border-radius: 50%; background: var(--surface); }
  .testimonial-controls button:hover { border-color: var(--accent); color: var(--accent); }
  .testimonial-controls button svg { width: 1rem; height: 1rem; }
  .testimonial-controls span { min-width: 3.8rem; color: var(--text-muted); text-align: center; font-size: .72rem; }
  .testimonial-controls b { color: var(--text); }

  .insurance-art { opacity: .035; }
  .insurance-art rect { fill: currentColor; stroke: none; }
  .insurance-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; }
  .insurance-grid > div { min-width: 0; aspect-ratio: 4 / 3; display: grid; place-items: center; padding: clamp(1rem, 2.3vw, 2rem); border: 1px solid var(--border); border-radius: .8rem; background: var(--surface); }
  .insurance-grid img { min-width: 0; width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(.88); opacity: .76; transition: filter var(--transition), opacity var(--transition), transform var(--transition); }
  .insurance-grid > div:hover img { filter: none; opacity: 1; transform: scale(1.025); }
  html[data-theme="dark"] .insurance-grid img { filter: grayscale(1) brightness(1.7) contrast(.65); }
  html[data-theme="dark"] .insurance-grid > div:hover img { filter: none; }
  .insurance-note { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1.2rem; margin-top: 1rem; padding: 1.2rem 1.35rem; border: 1px solid var(--border); border-radius: .8rem; background: var(--surface-raised); }
  .insurance-note > svg { width: 1.5rem; height: 1.5rem; color: var(--accent); }
  .insurance-note p { color: var(--text-muted); font-size: .84rem; }
  .insurance-note .text-link { margin-top: 0; white-space: nowrap; font-size: .82rem; }

  .team-art { opacity: .05; }
  .team-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(1rem, 2vw, 1.6rem); }
  .team-member--offset { margin-top: 3.5rem; }
  .team-photo { aspect-ratio: 3 / 4; border-radius: 7rem 7rem .75rem .75rem; background: var(--surface-soft); }
  .team-member:nth-child(2) .team-photo { border-radius: .75rem 7rem .75rem .75rem; }
  .team-member:nth-child(3) .team-photo { border-radius: 7rem .75rem .75rem .75rem; }
  .team-member:nth-child(4) .team-photo { border-radius: 7rem 7rem .75rem 3rem; }
  .team-member > div:last-child { position: relative; display: grid; grid-template-columns: auto 1fr; gap: 0 1rem; padding: 1.2rem .25rem 0; }
  .team-member > div:last-child span { grid-row: span 2; padding-top: .12rem; color: var(--accent-text); font-size: .65rem; font-weight: 780; }
  .team-member h3 { font-size: 1.35rem; }
  .team-member p { color: var(--text-muted); font-size: .82rem; }

  .contact-art { opacity: .055; }
  .contact-grid { display: grid; grid-template-columns: 6.4fr 5.6fr; align-items: center; gap: clamp(3rem, 7vw, 7rem); }
  .map-frame { min-height: 42rem; border-radius: 6rem .8rem 6rem .8rem; box-shadow: var(--shadow-md); }
  .map-frame img { filter: saturate(.72) sepia(.08); }
  .map-frame > span { position: absolute; right: 1.1rem; bottom: 1.1rem; display: flex; align-items: center; gap: .55rem; padding: .8rem 1rem; border-radius: .65rem; background: var(--surface-raised); color: var(--text); box-shadow: var(--shadow-sm); font-size: .78rem; font-weight: 720; }
  .map-frame > span svg { width: 1rem; height: 1rem; color: var(--accent); }
  .contact-copy h2 { margin-bottom: 2rem; }
  .contact-copy address { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; }
  .contact-copy address > * { min-height: 6.2rem; display: flex; align-items: flex-start; gap: .9rem; padding: 1rem; border: 1px solid var(--border); border-radius: .75rem; background: var(--surface); color: var(--text); font-size: .84rem; line-height: 1.45; }
  .contact-copy address svg { width: 1.2rem; height: 1.2rem; flex: 0 0 auto; margin-top: .15rem; color: var(--accent); }
  .contact-copy address span small { display: block; margin-bottom: .3rem; color: var(--text-muted); font-size: .64rem; font-weight: 750; letter-spacing: .11em; text-transform: uppercase; }
  .fax-line { margin: 1rem 0 1.4rem; color: var(--text-muted); font-size: .8rem; }
  .fax-line a { color: var(--text); font-weight: 650; }
  .contact-actions { display: flex; flex-wrap: wrap; gap: .75rem; }

  .final-cta { background: #0b0c0d; color: #f7f5f2; }
  .final-art { opacity: .19; }
  .final-art ellipse, .final-art path { stroke: #fff; }
  .final-cta__inner { max-width: 75rem; }
  .final-cta h2 { max-width: 16ch; }
  .final-cta__inner > div:last-child { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 2.2rem; }

  .site-footer { position: relative; overflow: hidden; padding-top: 5.5rem; background: #101113; color: #f7f5f2; }
  .footer-fluting { position: absolute; inset: 0 0 auto; height: 3px; background: repeating-linear-gradient(90deg, var(--accent) 0 2px, transparent 2px 18px); opacity: .8; }
  .footer-grid { display: grid; grid-template-columns: 1.15fr 1.35fr .8fr; gap: clamp(2.5rem, 5vw, 5rem); padding-bottom: 4rem; }
  .brand-logo--footer { filter: brightness(0) invert(1); }
  .footer-brand > p { max-width: 23rem; margin-top: 1.2rem; color: #aaa8a3; font-size: .9rem; }
  .social-link { width: 2.6rem; height: 2.6rem; display: grid; place-items: center; margin-top: 1.5rem; border: 1px solid #34363a; border-radius: .65rem; }
  .social-link:hover { border-color: var(--accent); color: var(--accent); }
  .social-link svg { width: 1rem; height: 1rem; fill: currentColor; stroke: none; }
  .footer-links { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
  .footer-grid h2 { margin-bottom: 1rem; font-family: var(--font-sans); font-size: .7rem; font-weight: 760; letter-spacing: .15em; text-transform: uppercase; }
  .footer-links a, .footer-contact a { width: fit-content; display: block; padding-block: .25rem; color: #aaa8a3; font-size: .86rem; transition: color var(--transition); }
  .footer-links a:hover, .footer-contact a:hover { color: #fff; }
  .footer-contact { min-width: 0; }
  .footer-contact a { overflow-wrap: anywhere; }
  .footer-bottom { min-height: 4.7rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-top: 1px solid #2a2c2f; color: #87857f; font-size: .72rem; }
  .footer-bottom > div { display: flex; gap: 1.5rem; }
  .footer-bottom a:hover { color: #fff; }
}

@layer utilities {
  .js .reveal { opacity: 0; transform: translateY(1rem); transition: opacity 700ms ease, transform 700ms cubic-bezier(.2, .7, .2, 1); }
  .js .reveal.is-visible { opacity: 1; transform: translateY(0); }
  html[data-a11y-line-height="true"] body { line-height: 1.95; }
  html[data-a11y-letter-spacing="true"] body { letter-spacing: .045em; }
  html[data-a11y-high-contrast="true"] { --text-muted: var(--text); --border: var(--text); }
  html[data-a11y-grayscale="true"] body { filter: grayscale(1); }
  html[data-a11y-low-saturation="true"] body { filter: saturate(.45); }
  html[data-a11y-highlight-links="true"] a:not(.button):not(.brand-logo) { text-decoration: underline !important; text-decoration-thickness: 2px !important; text-underline-offset: .25em !important; }
  html[data-a11y-strong-focus="true"] :focus-visible { outline-width: 5px; outline-offset: 5px; box-shadow: 0 0 0 8px var(--bg); }
  html[data-a11y-large-cursor="true"] body, html[data-a11y-large-cursor="true"] a, html[data-a11y-large-cursor="true"] button { cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Cpath d='M4 2v27l7-7 5 11 5-2-5-11h12z' fill='white' stroke='black' stroke-width='2'/%3E%3C/svg%3E") 4 2, auto; }
  body.menu-open { overflow: hidden; }
}

@layer responsive {
  @media (max-width: 78rem) {
    .desktop-nav { gap: .15rem; }
    .nav-link { font-size: .78rem; }
    .header-book span { display: none; }
    .header-book { width: 2.8rem; padding: 0; }
    .hero-grid { grid-template-columns: 5.5fr 6.5fr; gap: 3rem; }
    .trust-grid { grid-template-columns: 1fr 1fr 1.35fr; }
    .trust-book { grid-column: 1 / -1; min-height: 3.5rem; justify-content: center; margin: 0; border-top: 1px solid rgba(255,255,255,.12); }
    .why-card--feature { min-height: 25rem; }
    .service-card--feature { min-height: 38rem; }
    .service-card--medium { min-height: 18.5rem; }
  }

  @media (max-width: 68rem) {
    :root { --header-height: 5rem; }
    .desktop-nav, .utility-group { display: none; }
    .header-actions { margin-left: auto; }
    .header-book span { display: inline; }
    .header-book { width: auto; padding-inline: 1rem; }
    .menu-toggle { display: inline-flex; }
    .brand-logo { width: 9rem; height: 3.3rem; flex-basis: 9rem; }
    .brand-logo__art { width: 9rem; height: 3.3rem; background-size: 33rem 15rem; }
    .hero { min-height: auto; }
    .hero-grid { grid-template-columns: 1fr; }
    .hero-copy { max-width: 52rem; }
    .hero-copy h1 { max-width: 14ch; }
    .hero-visual { max-width: 55rem; justify-self: center; }
    .hero-frame { aspect-ratio: 6 / 4; }
    .hero-visual::after { right: -.75rem; }
    .scroll-cue { display: none; }
    .section-heading--split { grid-template-columns: 1fr; gap: 1.5rem; }
    .section-heading--split > p { max-width: 43rem; }
    .trust-grid { grid-template-columns: 1fr 1fr; }
    .trust-item { border-bottom: 1px solid rgba(255,255,255,.12); }
    .trust-item--wide { border-right: 0; }
    .doctor-grid { grid-template-columns: 5fr 7fr; gap: 4rem; }
    .doctor-visual figcaption { right: -1rem; }
    .credential-list { grid-template-columns: 1fr; }
    .credential-list > div { padding: .9rem 0; border-right: 0; border-bottom: 1px solid var(--border); }
    .credential-list > div:last-child { border-bottom: 0; }
    .service-showcase { grid-template-columns: 1fr 1fr; grid-template-rows: auto auto; }
    .service-card--feature { grid-column: 1 / -1; grid-row: auto; min-height: 35rem; grid-template-columns: 1.2fr .8fr; grid-template-rows: none; }
    .service-card--feature .service-image { border-radius: 5rem 0 0 .9rem; clip-path: polygon(0 0, 100% 0, 91% 50%, 100% 100%, 0 100%); }
    .service-card--medium { min-height: 21rem; grid-template-columns: 1fr; grid-template-rows: 1fr auto; }
    .service-card--medium .service-image { min-height: 13rem; border-radius: .9rem .9rem 0 0; clip-path: none; }
    .service-card--implant .service-image { border-radius: .9rem .9rem 2.8rem 0; }
    .service-copy { padding: 1.5rem; }
    .experience-grid { grid-template-columns: 1fr; }
    .experience-copy { max-width: 50rem; }
    .experience-visual { max-width: 60rem; }
    .contact-grid { grid-template-columns: 1fr 1fr; gap: 3rem; }
    .contact-copy address { grid-template-columns: 1fr; }
    .map-frame { min-height: 38rem; }
    .footer-grid { grid-template-columns: 1fr 1.35fr; }
    .footer-contact { grid-column: 1 / -1; display: grid; grid-template-columns: auto 1fr 1.5fr 1fr; align-items: start; gap: 1rem 2rem; padding-top: 2rem; border-top: 1px solid #2a2c2f; }
  }

  @media (max-width: 48rem) {
    :root { --gutter: 1.25rem; --section-space: 5.5rem; }
    .header-shell { width: calc(100% - 1.5rem); }
    .header-book { min-height: 2.65rem; font-size: .82rem; }
    .hero { padding-top: 3.2rem; }
    .hero-frame { aspect-ratio: 1 / 1; border-radius: 5rem 1rem 4rem 1rem; }
    .hero-actions { align-items: stretch; }
    .hero-actions .button { flex: 1 1 14rem; }
    .hero-proof { display: grid; grid-template-columns: 1fr 1fr; }
    .trust-grid { grid-template-columns: 1fr; }
    .trust-item { min-height: 6.4rem; padding-inline: 0; border-right: 0; }
    .trust-item--wide { border-bottom: 0; }
    .why-grid { grid-template-columns: 1fr; grid-template-rows: auto; }
    .why-card--feature { min-height: 22rem; grid-row: auto; border-radius: 3.5rem .75rem .75rem .75rem; }
    .why-card--wide { grid-column: auto; grid-template-columns: auto 1fr; align-items: start; border-radius: .75rem .75rem 3.5rem .75rem; }
    .why-card--wide > a { grid-column: 1 / -1; }
    .doctor-grid { grid-template-columns: 1fr; }
    .doctor-visual { width: min(82%, 26rem); justify-self: center; }
    .doctor-visual figcaption { right: -2rem; }
    .service-showcase { grid-template-columns: 1fr; }
    .service-card--feature { grid-column: auto; min-height: 38rem; grid-template-columns: 1fr; grid-template-rows: 1.1fr .9fr; }
    .service-card--feature .service-image { border-radius: 4rem .9rem 0 0; clip-path: polygon(0 0, 100% 0, 100% 85%, 87% 100%, 0 100%); }
    .service-card--medium { min-height: 30rem; }
    .service-card--medium .service-image { min-height: 20rem; }
    .service-index { grid-template-columns: 1fr; gap: .5rem; }
    .service-index > div { grid-template-columns: 1fr; }
    .service-index a:nth-child(odd) { margin-right: 0; }
    .experience-grid { gap: 3.5rem; }
    .testimonial-stage { padding-bottom: 7rem; border-radius: 1rem 3.5rem 1rem 1rem; }
    .testimonial-controls { right: auto; bottom: 2rem; left: clamp(1.5rem, 5vw, 4rem); }
    .insurance-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .insurance-note { grid-template-columns: auto 1fr; }
    .insurance-note .text-link { grid-column: 2; }
    .team-grid { grid-template-columns: 1fr 1fr; }
    .team-member--offset { margin-top: 2rem; }
    .contact-grid { grid-template-columns: 1fr; }
    .map-frame { min-height: 30rem; order: 2; }
    .contact-copy { order: 1; }
    .contact-copy address { grid-template-columns: 1fr 1fr; }
    .footer-grid { grid-template-columns: 1fr; }
    .footer-contact { grid-column: auto; display: block; padding-top: 2rem; }
    .footer-links { padding-top: 2rem; border-top: 1px solid #2a2c2f; }
    .footer-bottom { min-height: 6rem; align-items: flex-start; flex-direction: column; justify-content: center; }
  }

  @media (max-width: 30rem) {
    h1 { font-size: clamp(2.85rem, var(--fluid-h1-mobile), 4rem); }
    h2 { font-size: clamp(2.25rem, var(--fluid-h2-mobile), 3.2rem); }
    .brand-logo { width: 7.4rem; height: 2.713rem; flex-basis: 7.4rem; }
    .brand-logo__art { width: 7.4rem; height: 2.713rem; background-size: 27.133rem 12.333rem; }
    .header-book span { display: inline; }
    .header-book { width: auto; padding-inline: .7rem; flex-shrink: 0; }
    .header-book svg { width: 1.25rem; height: 1.25rem; flex: 0 0 1.25rem; }
    .header-actions { gap: .4rem; }
    .accessibility-panel { right: 0; width: 100%; padding: 1rem; }
    .a11y-grid { grid-template-columns: 1fr; }
    .hero-copy .eyebrow { font-size: .67rem; letter-spacing: .12em; }
    .hero-actions { flex-direction: column; }
    .hero-actions .button { flex-basis: auto; width: 100%; }
    .hero-proof { grid-template-columns: 1fr; }
    .hero-frame { aspect-ratio: 1 / 1; border-radius: 4rem .8rem 3rem .8rem; }
    .hero-visual::after { top: .75rem; right: -.4rem; }
    .why-card { grid-template-columns: 1fr; gap: 1.2rem; }
    .why-card--feature { grid-template-columns: 1fr auto; }
    .why-card--wide { grid-template-columns: 1fr; }
    .doctor-visual { width: 90%; padding-left: .75rem; }
    .doctor-visual figcaption { right: -1rem; bottom: 1.5rem; min-width: 10.5rem; }
    .service-card--feature { min-height: 34rem; }
    .service-card--medium { min-height: 27rem; }
    .service-card--medium .service-image { min-height: 17rem; }
    .service-copy { grid-template-columns: auto 1fr; }
    .service-link, .service-copy p { grid-column: 1 / -1; }
    .experience-visual { padding: .75rem .75rem 0 0; }
    .experience-frame { aspect-ratio: 1 / 1; border-radius: .75rem 3rem .75rem .75rem; }
    .testimonial-stage { padding: 2.5rem 1.25rem 6.5rem; }
    .quote-mark { left: 1.25rem; width: 3.6rem; height: 3.6rem; }
    .testimonial blockquote { font-size: 1.35rem; }
    .insurance-grid { gap: .5rem; }
    .insurance-grid > div { padding: .75rem; }
    .insurance-note { grid-template-columns: 1fr; }
    .insurance-note .text-link { grid-column: auto; }
    .team-grid { gap: .75rem; }
    .team-member--offset { margin-top: 1rem; }
    .team-photo { border-radius: 4rem 4rem .55rem .55rem; }
    .team-member > div:last-child { grid-template-columns: 1fr; gap: .15rem; }
    .team-member > div:last-child span { grid-row: auto; }
    .team-member h3 { font-size: 1.1rem; }
    .contact-copy address { grid-template-columns: 1fr; }
    .map-frame { min-height: 24rem; border-radius: 3.5rem .75rem 3.5rem .75rem; }
    .final-cta__inner > div:last-child { flex-direction: column; }
    .footer-links { min-width: 0; grid-template-columns: 1fr; gap: 1.75rem; }
    .footer-bottom > div { gap: .8rem; flex-wrap: wrap; }
  }

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

  html[data-a11y-reduce-motion="true"] { scroll-behavior: auto; }
  html[data-a11y-reduce-motion="true"] *, html[data-a11y-reduce-motion="true"] *::before, html[data-a11y-reduce-motion="true"] *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  html[data-a11y-reduce-motion="true"] .reveal { opacity: 1; transform: none; }
}
