:root{--header-height:64px;--header-bg:#e8f0e7;--header-fg:#122e26;--header-glass:rgba(232,240,231,.76);--panel-bg:#fafbf6;--panel-fg:#122e26;--panel-muted:#4b6257;--panel-hover:#e5efdf;--focus:#387342}
html{scroll-padding-top:calc(var(--header-height) + 20px);color-scheme:light}
html[data-theme=dark]{color-scheme:dark;--mint:#192d25;--ink:#e7efe5;--paper:#10231c;--muted:#becdc0;--line:#365042;--header-bg:#192d25;--header-fg:#e7efe5;--header-glass:rgba(25,45,37,.76);--panel-bg:#152a21;--panel-fg:#e7efe5;--panel-muted:#bdcfc0;--panel-hover:#294635;--focus:#a0f28c}
.lucide{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.site-header.header{position:sticky;top:0;z-index:60;width:100%;height:var(--header-height);padding:0;display:block;border:0;background:var(--header-bg);color:var(--header-fg);transform:translateY(0);transition:transform 320ms cubic-bezier(.16,1,.3,1),background-color 220ms;isolation:isolate}
.site-header.is-hidden{transform:translateY(calc(-100% - 2px))}
.site-header.has-open-menu{transform:translateY(0)}
.header-shell{height:var(--header-height);width:100%;padding-inline:clamp(20px,4.3vw,68px);display:flex;align-items:center;gap:14px}
.site-header .brand{gap:8px;flex-shrink:0;min-height:44px;white-space:nowrap}
.site-header .brand-symbol{width:28px;height:36px}
.site-header .brand b{font-size:25px;line-height:1;letter-spacing:-.035em}
.site-header .brand small{font-size:9px;line-height:1.2;letter-spacing:.1em;margin-top:5px}
.primary-nav{display:flex;gap:9px;align-items:center;margin-inline-start:auto;height:100%}
.nav-group{position:relative;height:100%;display:flex;align-items:center}
.nav-trigger{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:0 11px;border:0;border-radius:8px;background:transparent;color:inherit;font-size:13px;font-weight:500;white-space:nowrap;transition:background-color 160ms}
.nav-trigger .lucide{width:13px;height:13px;transition:transform 180ms}
.nav-trigger[aria-expanded=true] .lucide{transform:rotate(180deg)}
.nav-trigger:hover,.nav-trigger[aria-expanded=true],.icon-control:hover,.icon-control[aria-expanded=true]{background:var(--panel-hover)}
.header-divider{width:1px;height:24px;background:var(--line);flex:0 0 1px;margin-inline:3px 4px}
.header-controls{display:flex;align-items:center;gap:4px;flex-shrink:0}
.site-header .icon-control{display:grid;place-items:center;width:44px;height:44px;min-width:44px;padding:0;border:0;border-radius:50%;background:transparent;color:inherit;cursor:pointer;transition:background-color 160ms}
.site-header .menu-button{background:var(--header-fg);color:var(--header-bg);margin-inline-start:5px}
.site-header .menu-button:hover,.site-header .menu-button[aria-expanded=true]{background:#355c43;color:#fff}
.menu-button .close-icon,.menu-button[aria-expanded=true] .menu-icon{display:none}
.menu-button[aria-expanded=true] .close-icon{display:block}
.site-header .header-cta{font-size:12px;min-height:44px;padding:11px 18px;gap:16px;white-space:nowrap;margin-inline:8px 5px;color:#122e26}
.header-cta .lucide{width:17px;height:17px}
.theme-control .sun-icon{display:none}
[data-theme=dark] .theme-control .moon-icon{display:none}
[data-theme=dark] .theme-control .sun-icon{display:block}
.language-group{position:relative}
.header-panel{position:absolute;z-index:2;border:0;background:var(--panel-bg);color:var(--panel-fg);opacity:0;transform:translateY(-12px);transition:opacity 220ms ease,transform 220ms cubic-bezier(.16,1,.3,1);pointer-events:none;box-shadow:0 20px 32px #10231c12}
.header-panel.is-open{opacity:1;transform:translateY(0);pointer-events:auto}
.header-panel a{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:44px;padding:11px 12px;font:400 14px/1.5 var(--sans);border-radius:7px;transition:background-color 150ms}
.header-panel a:hover,.header-panel a:focus-visible{background:var(--panel-hover)}
.header-panel a[aria-current=page]{font-weight:600}
.nav-dropdown{inset-block-start:100%;inset-inline-end:0;width:260px;max-height:calc(100dvh - var(--header-bottom,var(--header-height)) - 12px);overflow:auto;padding:12px;border-radius:0 0 12px 12px}
.language-panel{inset-block-start:calc(100% + 10px);inset-inline-end:0;width:196px;padding:12px;border-radius:12px}
.panel-label{display:block;font-size:12px;color:var(--panel-muted);padding:8px 12px 9px}
.language-panel .lucide{width:16px;height:16px}
.mega-panel{inset-block-start:100%;inset-inline:0;width:100%;max-height:calc(100dvh - var(--header-bottom,var(--header-height)));overflow-y:auto;overscroll-behavior:contain;padding:38px clamp(24px,6.25vw,100px) 44px;border-radius:0}
.mega-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.3fr;gap:45px;max-width:1500px;margin-inline:auto}
.mega-group h2{font:500 13px/1.4 var(--sans);letter-spacing:0;color:var(--panel-muted);margin:0 0 16px;padding:0}
.mega-group a{padding-inline:0;border-radius:0;font-size:15px;width:fit-content;max-width:100%;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:5px}
.mega-group a:hover,.mega-group a:focus-visible{background:transparent;text-decoration-color:currentColor}
.mega-invitation{padding-inline-start:25px;align-self:start}
.mega-invitation>svg{width:25px;height:25px;margin-bottom:18px;color:#56845d}
.mega-invitation h2{font-size:40px;line-height:1.03;letter-spacing:-.02em;margin:0 0 24px}
.mega-invitation .text-link{font-size:12px;padding:0 0 6px;min-height:36px;border-radius:0;justify-content:flex-start;gap:12px}
.site-header :is(button,a):focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.site-header.is-scrolled{background:var(--header-bg)}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.site-header.is-scrolled{background:var(--header-glass);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}}
.nojs-navigation{background:var(--panel-bg);color:var(--panel-fg);padding:25px 6.25vw;display:grid;grid-template-columns:repeat(4,1fr);gap:25px}
.nojs-navigation strong{display:block;font-weight:500;margin-bottom:10px}
.nojs-navigation a{display:block;min-height:44px;padding:10px 0}
html:not(.js) .js-only{display:none}
/* The existing homepage shares the selected theme. Photography stays unchanged. */
[data-theme=dark] body{background:var(--paper);color:var(--ink)}
[data-theme=dark] .top-note,[data-theme=dark] .story,[data-theme=dark] .footer{background:#0a1a14;color:#e8f0e7}
[data-theme=dark] .story-intro p+p,[data-theme=dark] .contact-placeholder p,[data-theme=dark] #privacy-note{color:#c1d0c5}
[data-theme=dark] .story h2 em{color:var(--green)}
[data-theme=dark] .story .text-link,[data-theme=dark] .footer .privacy-button{color:#e8f0e7}
[data-theme=dark] .button{color:#122e26}
[data-theme=dark] .button.ink{background:#e7efe5;color:#122e26}
[data-theme=dark] .button.ink:hover{background:#cdddc9}
[data-theme=dark] .smiles{background:#1d2b24}
[data-theme=dark] .kids{background:#28273c;color:#eeedf6}
[data-theme=dark] .kids-copy li{border-color:#4b4966}
[data-theme=dark] .kids-art>span{color:#122e26}
[data-theme=dark] .kids-spark{color:#c7bbed}
[data-theme=dark] .floating-note{background:#f0f4e9;color:#122e26}
[data-theme=dark] .image-label,[data-theme=dark] .compare-label{background:#f0f4e9;color:#122e26}
[data-theme=dark] .care-item.active h3 button{color:#a0f28c}
[data-theme=dark] .discipline-symbol{color:#a0f28c}
[data-theme=dark] .care-image figcaption,[data-theme=dark] .clinic-photo figcaption{background:#0a1a14;color:#e8f0e7}
[data-theme=dark] .case-button.selected{background:#e7efe5;color:#122e26}
[data-theme=dark] .running-lines,[data-theme=dark] .appointment{color:#122e26}
[data-theme=dark] .running-word,[data-theme=dark] .running-summary{color:#355e35}
[data-theme=dark] .appointment .form-notice,[data-theme=dark] .appointment input,[data-theme=dark] .appointment select{color:#122e26}
[data-theme=dark] .appointment select option{background:#a0f28c;color:#122e26}
[data-theme=dark] .appointment .consent input{accent-color:#122e26}
[data-theme=dark] .compare-divider{border-color:#f0f4e9}
[data-theme=dark] .compare-divider span{background:#f0f4e9;color:#122e26}
[data-theme=dark] :is(a,button,input,select,summary):focus-visible{outline-color:#a0f28c}
[data-theme=dark] .appointment :is(a,button,input,select):focus-visible,[data-theme=dark] .running-lines button:focus-visible{outline-color:#122e26}
[data-theme=dark] .footer .brand-symbol{color:#e8f0e7}
[dir=rtl] .site-header .brand b{direction:ltr}
[dir=rtl] .header-panel .lucide{transform:scaleX(-1)}
@media(max-width:1190px){.header-shell{padding-inline:24px;gap:9px}.nav-trigger{padding-inline:8px}.primary-nav{gap:2px}.site-header .header-cta{padding-inline:13px;gap:10px;font-size:11px}.mega-grid{gap:25px}.mega-invitation h2{font-size:34px}}
@media(max-width:999px){:root{--header-height:60px}.primary-nav,.header-divider,.site-header .header-cta{display:none}.header-shell{padding-inline:22px;gap:10px}.header-controls{margin-inline-start:auto}.site-header .brand b{font-size:23px}.site-header .brand small{font-size:9px}.site-header .brand-symbol{width:26px;height:32px}.site-header .menu-button{margin-inline-start:2px}.mega-grid{grid-template-columns:1fr 1fr;gap:30px}.mega-panel{padding:28px 24px 36px}.mega-invitation{padding-inline-start:0}.language-panel{inset-block-start:calc(100% + 8px);inset-inline-end:-48px}.nojs-navigation{grid-template-columns:1fr 1fr}}
@media(max-width:599px){.header-shell{padding-inline:16px;gap:7px}.site-header .brand{gap:6px}.site-header .brand-symbol{width:23px;height:30px}.site-header .brand b{font-size:21px}.site-header .brand small{font-size:8px;letter-spacing:.05em}.header-controls{gap:1px}.site-header .menu-button{margin-inline-start:1px}.mega-grid{grid-template-columns:1fr;gap:25px}.mega-panel{padding:27px 24px 36px}.mega-group h2{margin-bottom:7px}.mega-group a{min-height:44px}.mega-invitation{padding-top:10px}.mega-invitation h2{font-size:38px}.language-panel{inset-inline-end:-45px}.nojs-navigation{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.site-header.header,.header-panel,.nav-trigger .lucide{transition:none}}
/* Approved typography: Newsreader editorial display and Manrope interface. */
:root{--serif:'Newsreader',Georgia,serif;--sans:'Manrope',Arial,sans-serif}
h1,h2{font-optical-sizing:auto;line-height:1.04}
h1{font-size:clamp(72px,6.6vw,104px)}
.hero h1{font-size:clamp(72px,6.6vw,104px)}
.site-header .brand b{font-weight:600}
.care-image img{opacity:0;transition:opacity 240ms ease;pointer-events:none}
.care-image img.is-current{opacity:1}
@media(max-width:850px){.hero h1{font-size:clamp(62px,8.8vw,80px)}}
@media(max-width:600px){.hero h1{font-size:clamp(48px,13.5vw,76px)}h2{font-size:clamp(40px,11vw,53px)}.hero h1 em{margin-inline-start:0}.hero h1 br:nth-child(2){display:block}.hero-spark{width:35px;height:35px;margin-inline-start:20px}}
@media(prefers-reduced-motion:reduce){.care-image img{transition:none}}
.google-rating{display:flex;align-items:center;gap:10px;width:fit-content;max-width:100%;font-size:12px;margin-top:25px;color:inherit;flex-wrap:wrap}
.rating-score{font-size:19px;font-weight:600;line-height:1}.rating-score>span{font-size:11px;font-weight:400;margin-inline-start:3px}
.rating-stars{display:flex;gap:1px;color:#487442}.rating-stars .lucide{width:14px;height:14px;fill:currentColor;stroke-width:1.2}
.google-rating>.lucide{width:15px;height:15px}
.rating-date{display:block;font-size:10px;line-height:1.6;color:var(--muted);margin-top:6px}
.contact-section{display:grid;grid-template-columns:1fr 1fr;gap:6vw;background:#edf0e5;align-items:start}
.contact-copy h2{font-size:clamp(42px,4.2vw,66px)}.contact-copy>p{max-width:440px;font-size:14px;margin-top:25px;color:var(--muted)}
.contact-copy address{font-style:normal;margin-top:32px;display:flex;flex-direction:column;gap:19px;font-size:14px;overflow-wrap:anywhere}
.contact-copy address>div,.contact-copy address>a{display:flex;gap:14px;align-items:flex-start;width:fit-content}
.contact-copy address .lucide{width:20px;height:20px;margin-top:2px}
.contact-links{display:flex;align-items:flex-start;flex-direction:column;gap:22px;margin-top:30px}
.contact-copy .business-source{font-size:11px;line-height:1.7;max-width:420px;margin-top:28px}
.map-frame{height:320px;position:relative;background:#dce5d4;overflow:hidden;border-radius:12px}
.map-frame iframe{width:100%;height:100%;border:0;position:absolute;inset:0}





.contact-rating .google-rating{margin-top:20px}.contact-rating .rating-date{margin-top:6px}
.contact-placeholder>a{display:inline-flex;font-size:11px;min-height:36px;align-items:center}
[data-theme=dark] .contact-section{background:#182d23}
[data-theme=dark] .rating-stars{color:#a0f28c}
[data-theme=dark] .map-frame{background:#dce5d4}
@media(max-width:850px){.contact-section{gap:35px}.map-frame{height:300px}}
@media(max-width:600px){.contact-section{grid-template-columns:1fr;gap:40px}.contact-copy h2{font-size:45px}.map-frame{height:260px}.google-rating{font-size:11px;gap:8px}.rating-date{font-size:10px}.contact-copy address{font-size:14px}}
.route-options{display:flex;flex-wrap:wrap;gap:10px;width:100%}
.route-options a{display:inline-flex;align-items:center;gap:10px;min-height:48px;border:1px solid var(--line);padding:11px 13px;border-radius:30px;font-size:12px;transition:background-color 160ms}
.route-options a:hover{background:var(--panel-hover)}
.brand-map-icon{width:18px;height:18px;fill:currentColor;stroke:none}.route-options .lucide{width:13px;height:13px}
.opening-hours{margin-top:36px;max-width:420px}.opening-hours h3{font-size:18px;font-weight:500;margin-bottom:16px}
.opening-hours dl{margin:0;font-size:13px}.opening-hours dl>div{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid var(--line)}
.opening-hours dt{font-weight:400}.opening-hours dd{margin:0;white-space:nowrap;font-variant-numeric:tabular-nums}
.opening-hours>p{font-size:11px;line-height:1.7;margin-top:13px;color:var(--muted)}
@media(max-width:600px){.route-options{gap:8px}.route-options a{font-size:11px;padding:10px 12px}.contact-section{gap:35px}.opening-hours h3{font-size:18px}}
.map-column{position:sticky;top:calc(var(--header-height) + 24px);align-self:start}
@media(max-width:600px){.map-column{position:static}}
/* Specialty images settle gently into place when hover, focus or tap selects them. */
.care-image img{transform:scale(1.055);transition:opacity 320ms ease,transform 850ms cubic-bezier(.16,1,.3,1)}
.care-image img.is-current{transform:scale(1)}
@media(prefers-reduced-motion:reduce){.care-image img{transform:none!important;transition:none!important}}
:root{--logo-text:#373737;--logo-accent:#56845d}
[data-theme=dark]{--logo-text:#e8f0e7;--logo-accent:#a0f28c}
.logo-svg{display:block;width:220px;height:auto;max-width:100%;stroke:none;fill:var(--logo-text);flex-shrink:0}
.site-header .brand{width:194px;min-height:44px}
.site-header .logo-svg{width:194px;max-width:none;height:auto}
.footer .logo-svg{--logo-text:#e8f0e7;--logo-accent:#a0f28c}
@media(max-width:999px){.site-header .brand,.site-header .logo-svg{width:170px}}
@media(max-width:599px){.site-header .brand,.site-header .logo-svg{width:clamp(138px,40vw,166px)}.appointment h2{font-size:clamp(38px,11.2vw,54px)}}
.instagram-link{display:inline-flex;align-items:center;gap:10px;margin-top:24px;min-height:44px;font-size:12px;max-width:100%}
.instagram-link .lucide{width:18px;height:18px}.instagram-link .lucide:last-child{width:14px;height:14px}
.footer .instagram-link{margin-top:8px;font-size:11px;flex-wrap:wrap}
.practitioner-link{display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px solid var(--line);padding-top:26px;margin-top:42px}.practitioner-link h3{font-family:var(--serif);font-size:31px}.practitioner-link p{font-size:13px;color:var(--muted);margin-top:8px}
@media(max-width:600px){.practitioner-link{align-items:flex-start;flex-direction:column;gap:20px}.practitioner-link h3{font-size:29px}}
/* Confirmed logo size, shared by desktop, mobile and footer. */
.logo-svg,.site-header .brand,.site-header .logo-svg{width:140px}
@media(max-width:359px){.header-shell{padding-inline:14px;gap:5px}}
.social-links{display:flex;flex-wrap:wrap;gap:3px 24px}.social-links .instagram-link{margin-top:15px}.footer .social-links{gap:0}.footer .social-links .instagram-link{margin-top:7px}
.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}
.hero.hero-carousel{display:block;padding:0;min-height:0;position:relative}
.hero-track{display:flex;align-items:stretch;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;cursor:grab;touch-action:pan-x pan-y;outline-offset:-5px}
.hero-track::-webkit-scrollbar{display:none}.hero-track.is-dragging{scroll-snap-type:none;scroll-behavior:auto;cursor:grabbing;user-select:none}
.hero-slide{flex:0 0 100%;min-width:0;display:grid;grid-template-columns:1.1fr 1fr;gap:4vw;padding:40px 6.25vw 105px;min-height:740px;scroll-snap-align:start;scroll-snap-stop:always;perspective:1200px}
.hero-slide h2{font-size:clamp(72px,6.6vw,104px);line-height:1.04}
.hero-slide .hero-copy h1{animation:none}
.hero-slide .hero-visual{transform-style:preserve-3d;transform:rotateY(calc(var(--drag-tilt,0deg) + var(--pointer-y,0deg))) rotateX(var(--pointer-x,0deg));transition:transform 600ms cubic-bezier(.16,1,.3,1)}
.hero-slide .floating-note{transform:translateZ(45px) rotate(-5deg)}
.hero-slide:not(.is-active) .portrait-wrap img{animation:none}
.hero-slide.is-active .hero-copy>*{animation:hero-content-in 650ms cubic-bezier(.16,1,.3,1) both}
.hero-slide.is-active .hero-copy>*:nth-child(2){animation-delay:65ms}.hero-slide.is-active .hero-copy>*:nth-child(3){animation-delay:125ms}.hero-slide.is-active .hero-copy>*:nth-child(4){animation-delay:170ms}
.hero-carousel-controls{position:absolute;inset-inline-end:6.25vw;bottom:23px;display:flex;align-items:center;gap:12px;z-index:3}
.hero-arrow{display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;width:44px;height:44px;background:var(--panel-bg);color:var(--ink);padding:0}
.hero-arrow:hover{background:var(--panel-hover)}.hero-arrow:disabled{opacity:.4;cursor:default}
.hero-dots{display:flex;align-items:center;gap:2px}
.hero-dot{width:36px;height:44px;padding:0;border:0;background:transparent;display:grid;place-items:center;color:var(--ink)}
.hero-dot span{display:block;width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.35;font-size:0;transition:width 220ms,opacity 220ms}
.hero-dot[aria-pressed=true] span{width:22px;border-radius:8px;opacity:1}
.hero-carousel .scroll-link{bottom:27px}
@keyframes hero-content-in{from{opacity:.55;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
/* Seamless, independent loop for the narrow care ribbon. */
.care-ribbon{display:block;position:relative;padding:24px 0;overflow:hidden;white-space:normal}
.care-ribbon-track{display:flex;width:max-content;animation:care-ribbon-loop 36s linear infinite}
.care-ribbon-group{display:flex;align-items:center;justify-content:space-around;flex:0 0 auto;min-width:100vw;gap:35px;padding-inline:45px;white-space:nowrap}
.care-ribbon-group svg{width:18px;height:18px;color:#628b68}
.ribbon-pause{position:absolute;inset-inline-end:14px;top:50%;transform:translateY(-50%);width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--paper);color:var(--ink);padding:0}
.ribbon-pause svg{width:16px;height:16px}.care-ribbon.is-paused .care-ribbon-track,.care-ribbon.is-offscreen .care-ribbon-track,.care-ribbon.page-hidden .care-ribbon-track{animation-play-state:paused}
@keyframes care-ribbon-loop{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(min-width:1600px){.hero-slide{min-height:820px}}
@media(max-width:850px){.hero-slide{min-height:650px;gap:0;padding:25px 5vw 95px}.hero-slide h2{font-size:clamp(62px,8.8vw,80px)}}
@media(max-width:600px){.hero-slide{display:flex;flex-direction:column;padding:20px 24px 100px;gap:27px;min-height:0}.hero-slide h2{font-size:clamp(48px,13.5vw,76px)}.hero-slide .hero-visual{min-height:365px;margin:0 0 0 35px}.hero-carousel-controls{inset-inline-end:24px;bottom:22px;gap:5px}.hero-carousel .scroll-link{bottom:34px;max-width:125px;gap:16px;font-size:9px}.hero-dot{width:27px}.care-ribbon{padding:21px 0;font-size:24px}.care-ribbon-group{gap:24px;padding-inline:30px;min-width:max-content}.ribbon-pause{inset-inline-end:9px}}
@media(prefers-reduced-motion:reduce){.hero-track{scroll-behavior:auto}.hero-slide .hero-visual{transform:none!important;transition:none!important}.hero-slide .floating-note{transform:rotate(-5deg)}.hero-slide.is-active .hero-copy>*{animation:none!important}.care-ribbon-track{animation:none!important;transform:none!important;width:100%}.care-ribbon-group{flex:1 1 0;width:100%;min-width:0;white-space:normal;flex-wrap:wrap;justify-content:center;gap:12px 22px;padding-inline:24px}.care-ribbon-group+.care-ribbon-group{display:none}.ribbon-pause{display:none}}
.hero-dot{width:44px}
@media(max-width:600px){.hero-carousel-controls{inset-inline:0;justify-content:center;gap:8px}.hero-dot{width:44px}.hero-carousel .scroll-link{display:none}}
.logo-svg{direction:ltr;unicode-bidi:isolate}
html:not(.js) .care-ribbon-track{animation:none;width:100%;transform:none}html:not(.js) .care-ribbon-group{width:100%;min-width:0;flex:1 1 0;flex-wrap:wrap;white-space:normal;gap:12px 22px}html:not(.js) .care-ribbon-group+.care-ribbon-group{display:none}




.map-column>.route-options{margin-top:18px}

.app-map-icon{width:24px;height:24px;object-fit:contain;border-radius:5px;flex:none}
/* Scroll depth - native page scrolling, stable text and contained image layers. */
.hero-carousel.has-parallax .portrait-wrap img{animation:none;transform:translate3d(0,var(--scroll-portrait,0px),0) scale(1.24)}
.hero-carousel.has-parallax .floating-note{translate:0 var(--scroll-note,0px);rotate:var(--scroll-depth,0deg)}
.care-image.has-parallax{perspective:1100px}
.care-parallax-media{position:absolute;inset:-15% -5%;transform:translate3d(0,var(--scroll-care,0px),0) rotateY(var(--scroll-care-turn,0deg)) scale(1.04)}
.care-image.has-parallax .image-label,.care-image.has-parallax figcaption{z-index:1}
.clinic-photo.has-parallax img{animation:none;height:140%;transform:translate3d(0,var(--scroll-clinic,0px),0) scale(var(--scroll-clinic-scale,1.02));transform-origin:center top;will-change:auto}
@media(prefers-reduced-motion:reduce){.hero-carousel.has-parallax .portrait-wrap img{transform:none}.hero-carousel.has-parallax .floating-note{translate:none;rotate:none}.care-parallax-media{inset:0;transform:none}.clinic-photo.has-parallax img{height:100%;transform:none}}
/* Four user-approved editorial behaviors inspired by Montarville. */
.hero-signature{display:inline-block;transform-origin:left center}
.scroll-motion .hero-signature{transform:scale(var(--signature-scale,1));transition:transform 140ms linear}
.header-signature{font-family:var(--serif);font-size:22px;white-space:nowrap;opacity:0;transform:translateY(9px);transition:opacity 220ms,transform 220ms;pointer-events:none}
.has-compact-signature .header-signature{opacity:1;transform:none}
@media(max-width:1199px){.header-signature{position:absolute;inset-inline-start:clamp(20px,4.3vw,68px);top:47px;width:140px;text-align:center;font-size:11px;line-height:12px}}
@media(max-width:359px){.header-signature{inset-inline-start:14px}}
.split-heading>span{display:block}

.split-heading>span+span{padding-inline-start:clamp(12px,2.8vw,44px)}
@media(max-width:600px){.split-heading{font-size:clamp(37px,10vw,53px)}.split-heading>span+span{padding-inline-start:12px}}
@media(prefers-reduced-motion:reduce){.hero-signature{transform:none}.header-signature{display:none!important}}
/* Apple-inspired reversible entrances, driven by local GSAP/ScrollTrigger. */
[data-scroll-reveal]{transform-origin:center center}
.scroll-motion [data-reveal-hidden]{pointer-events:none}
.scroll-motion [data-scroll-reveal]:focus-within,.scroll-motion [data-scroll-reveal].is-motion-forced{opacity:1!important;transform:none!important;pointer-events:auto!important}
.split-heading>span{translate:none}
.story-manifesto{animation:none}
.hero-carousel-controls{padding:7px 10px;gap:5px;border-radius:999px;background:var(--panel-bg);box-shadow:0 8px 24px #10231c12;max-width:calc(100% - 48px)}
.hero-dot span{width:22px;border-radius:8px;transform:scaleX(.32);transition:transform 220ms,opacity 220ms}
.hero-dot[aria-pressed=true] span{transform:scaleX(1)}
.scroll-motion .hero-signature{transition:none}
@media(max-width:600px){.hero-carousel-controls{inset-inline:0;margin-inline:auto;width:max-content;gap:2px;padding:6px 8px}.hero-slide{padding-bottom:120px}}
@media(prefers-reduced-motion:reduce){[data-scroll-reveal]{opacity:1!important;transform:none!important;pointer-events:auto!important}}
/* Hit areas remain at least 44px even while the control pill is scaled in. */
.hero-carousel-controls button{width:48px;min-width:48px;height:48px;min-height:48px}
.hero-dot span{border-radius:50%}
.hero-dot[aria-pressed=true] span{border-radius:8px}

/* A single, visible agency credit - no keyword-stuffed or hidden links. */
.agency-credit{display:inline-flex;align-items:center;gap:10px;min-height:44px;max-width:100%;color:#c1d0c5;font-size:11px;line-height:1.5}
.agency-credit img{display:block;width:100px;height:auto;flex-shrink:0}
.agency-credit:hover span{text-decoration:underline;text-underline-offset:4px}
.footer-bottom{flex-wrap:wrap}
.journey-steps li{min-width:0}.journey-step-depth>span{font-family:var(--serif);font-size:42px;color:#56845d}
@media(max-width:600px){.journey-step-depth>span{font-size:38px}.agency-credit{width:100%}}
.agency-credit img{filter:brightness(0) invert(1)}







/* A single soft nod from the dental symbol; the wordmark stays fixed. */
.logo-svg{overflow:visible}
/* A continuous hover transition also returns smoothly when the pointer leaves. */
.logo-icon-motion{transform-box:fill-box;transform-origin:center;transform:translateY(0) rotate(0deg) scale(1);transition:transform 800ms cubic-bezier(.22,1,.36,1)}
.brand:focus-visible .logo-icon-motion{transform:translateY(-2px) rotate(-10deg) scale(1.12)}
@media(hover:hover) and (pointer:fine){.brand:hover .logo-icon-motion{transform:translateY(-2px) rotate(-10deg) scale(1.12)}}
@media(prefers-reduced-motion:reduce){.brand .logo-icon-motion{transition:none!important;transform:none!important}}

@media (max-width: 600px) {
  .contact-placeholder a[href^="tel:"] {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
  }
}
