/* Nord's floating navigation and motion surfaces. Content is visible without JS. */
.header.nord-header{top:16px;background:transparent;border:0;pointer-events:none;padding-block:16px 0;margin-top:0;z-index:40}
.nav-console{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:70px}
.nav-console>*{pointer-events:auto}
.nav-brand{display:flex;align-items:center;gap:12px;background:var(--blue);color:white;border-radius:16px;padding:15px 22px;font-size:41px;line-height:.8;font-weight:600;letter-spacing:-.065em;box-shadow:0 8px 30px #164bce12}
.nav-brand svg{width:31px;height:31px;fill:currentColor;stroke:none}
.nav-brand small{display:block;font-weight:400;font-size:9px;line-height:1.4;letter-spacing:.045em;margin-top:7px}
.nav-brand:focus-visible,.menu-toggle:focus-visible{outline-color:var(--ink)}
.nav-position{align-items:center;gap:10px;min-height:49px;padding:14px 20px;background:#ffffffed;border:1px solid #dbe6ed;border-radius:50px;font-size:12px;box-shadow:0 4px 24px #152d3906}
.nav-position-dot{width:6px;height:6px;background:var(--blue);border-radius:50%;flex-shrink:0}
.nav-position-label{min-width:112px}
.nav-meter{width:42px;height:3px;overflow:hidden;background:#d7e2ed;border-radius:2px;margin-left:15px}
.nav-meter>span{display:block;width:100%;height:100%;background:var(--blue);transform:scaleX(0);transform-origin:left center}
.nav-actions{display:flex;align-items:center;gap:10px}
.nav-book,.is-enhanced .nord-header .menu-toggle{display:flex;align-items:center;justify-content:center;gap:18px;min-height:60px;padding:17px 23px;border-radius:14px;font-size:14px;font-weight:500;line-height:1.2}
.nav-book{background:var(--yellow);color:var(--ink)}
.nav-book svg{width:21px;height:21px;transition:transform .25s}
.nav-book:hover svg{transform:translate(3px,-3px)}
.is-enhanced .nord-header .menu-toggle{background:var(--ink);color:#fff;min-width:118px}
.menu-toggle svg{width:22px;height:22px;transition:transform .4s}
.menu-toggle:hover svg{transform:rotate(90deg)}
.nav-fallback{display:flex;flex-wrap:wrap;gap:20px;margin-top:25px}
body.nav-open{overflow:hidden}
body.nav-open .nord-header{visibility:hidden}
body.nav-closing .nord-header{visibility:visible}
.nav-dialog{position:fixed;inset:20px;width:calc(100% - 40px);max-width:1640px;height:calc(100dvh - 40px);max-height:calc(100dvh - 40px);margin:auto;padding:34px 48px 30px;border-radius:26px;background:var(--blue);color:#fff;box-shadow:none;overflow:auto;overscroll-behavior:contain}
.nav-dialog[open]{display:flex;flex-direction:column}
.nav-dialog::backdrop{background:#152d3966;backdrop-filter:blur(6px);opacity:1;transition:opacity .24s ease}
.nav-dialog.is-closing::backdrop{opacity:0}
.nav-dialog :focus-visible{outline-color:var(--yellow);outline-offset:5px}
.nav-dialog-top{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-shrink:0}
#nav-title{display:flex;align-items:center;gap:28px;font-size:46px;font-weight:600;letter-spacing:-.065em;line-height:1.1}
#nav-title>span{font-size:13px;font-weight:400;letter-spacing:0;color:#d9e5ff}
.menu-close{display:flex;align-items:center;gap:15px;padding:14px 18px;border-radius:12px;background:#ffffff12;color:white;min-height:52px;font-size:14px}
.menu-close:hover{background:#ffffff25}
.menu-close svg{width:20px;height:20px}
.nav-dialog-body{display:grid;grid-template-columns:1.5fr 1fr;align-items:center;gap:70px;flex:1;padding-block:48px}
.is-enhanced .nav-dialog #main-nav{display:flex;flex-direction:column;align-items:stretch;position:static;background:none;box-shadow:none;padding:0;margin:0;gap:0;max-height:none;overflow:visible;width:100%}
.is-enhanced .nav-dialog #main-nav>a{display:flex;align-items:center;gap:20px;padding:15px 0;border-bottom:1px solid #ffffff40;color:white;line-height:1.04;letter-spacing:-.045em;font-size:clamp(44px,5.5vw,88px);font-weight:500;min-height:90px}
.is-enhanced .nav-dialog #main-nav>a:hover{color:var(--yellow)}
.nav-link-index{font-size:11px;font-weight:400;letter-spacing:0;align-self:center;color:#d9e5ff;width:20px;flex-shrink:0}
.nav-link-mask{display:block;overflow:hidden;padding-block:.16em;margin-block:-.16em}
.nav-link-name{display:block}
.nav-dialog #main-nav>a svg{width:35px;height:35px;margin-left:auto;transition:transform .3s}
.nav-dialog #main-nav>a:hover svg{transform:translate(4px,-4px)}
.nav-art{justify-self:center;text-align:center;max-width:350px;width:100%;color:var(--yellow)}
.nav-tooth{width:100%;height:auto;overflow:visible;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;transform:rotate(-8deg)}
.tooth-detail{stroke-width:1.7}
.tooth-spark{stroke-width:2}
.nav-art>span{display:block;font-size:27px;line-height:1.1;letter-spacing:-.025em;margin-top:30px}
.nav-dialog-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px;border-top:1px solid #ffffff40;padding-top:22px;color:#d9e5ff;font-size:12px;flex-shrink:0}
.nav-dialog-bottom>span:last-child{text-align:right}
.nav-dialog-bottom small{display:block;font-size:10px;margin-top:2px}
.nav-dialog-bottom button{color:white;display:flex;align-items:center;gap:15px;padding:10px 0;min-height:44px;font-size:15px}
.nav-dialog-bottom button:hover{color:var(--yellow)}
.hero-line{display:block;overflow:hidden;padding-block:.16em;margin-block:-.16em}
.hero-line>span{display:block}
.hero-visual{perspective:1100px}
.photo-cross{transform-origin:center;backface-visibility:hidden}
.photo-cross img{transform-origin:center;backface-visibility:hidden}
.service-nav{position:relative;isolation:isolate}
.service-marker{position:absolute;top:0;left:0;background:var(--ice);border-radius:12px;pointer-events:none;z-index:0;display:none;transform-origin:top left}
.is-enhanced .service-marker{display:block}
.service-nav button{z-index:1;isolation:auto}
.service-nav button::before{display:none}
.service-nav button[aria-selected="true"]{background:transparent}
.footer-letters{display:flex;letter-spacing:inherit;line-height:inherit}
.footer-letter{display:block}
.faq-list{position:relative}
.faq-list.faq-sizing{position:absolute;top:0;left:0;width:100%;min-height:0!important;visibility:hidden;pointer-events:none;contain:layout style}
@media(min-width:1800px){.nav-dialog-body{gap:100px}.nav-dialog{padding:40px 70px}.nav-art{max-width:400px}}
@media(max-width:1100px){.nav-position{display:none!important}.nav-dialog-body{gap:35px}.nav-dialog{padding-inline:35px}.nav-art{max-width:270px}.is-enhanced .nav-dialog #main-nav>a{font-size:56px;min-height:85px}.nav-art>span{font-size:24px}}
@media(max-width:700px){.header.nord-header{top:10px;padding-top:12px}.nav-console{gap:8px;min-height:60px}.nav-brand{border-radius:12px;padding:14px 16px;font-size:33px;gap:9px}.nav-brand svg{width:24px;height:24px}.nav-brand small{font-size:8px;margin-top:6px}.nav-actions{gap:8px}.nav-book,.is-enhanced .nord-header .menu-toggle{min-height:54px;padding:15px 17px;border-radius:12px;gap:10px;font-size:13px}.nav-book{width:54px;padding:15px}.nav-book>span{display:none}.is-enhanced .nord-header .menu-toggle{min-width:96px}.menu-toggle svg{width:19px;height:19px}.nav-dialog{inset:12px;width:calc(100% - 24px);height:calc(100dvh - 24px);max-height:calc(100dvh - 24px);padding:24px;border-radius:18px}.nav-dialog-top{gap:12px}#nav-title{font-size:39px}#nav-title>span{display:none}.menu-close{font-size:12px;gap:10px;padding:12px;min-height:44px}.nav-dialog-body{grid-template-columns:1fr;align-content:center;gap:20px;padding-block:35px}.is-enhanced .nav-dialog #main-nav>a{font-size:clamp(32px,8.7vw,55px);min-height:72px;padding:17px 0;gap:12px}.nav-link-index{font-size:10px;width:15px}.nav-dialog #main-nav>a svg{width:25px;height:25px}.nav-art{display:none}.nav-dialog-bottom{flex-wrap:wrap;gap:12px;padding-top:17px;font-size:10px}.nav-dialog-bottom>span:first-child{width:100%}.nav-dialog-bottom button{font-size:14px}.nav-dialog-bottom>span:last-child{font-size:10px}.nav-dialog-bottom small{font-size:9px}}
@media(max-height:620px) and (min-width:701px){.nav-dialog{padding:22px 35px}.nav-dialog-body{padding-block:20px;gap:40px}.is-enhanced .nav-dialog #main-nav>a{font-size:40px;min-height:58px;padding:8px 0}.nav-art{max-width:160px}.nav-art>span{font-size:18px;margin-top:10px}.nav-dialog-bottom{padding-top:10px}.menu-close{min-height:44px;padding:10px 14px}#nav-title{font-size:36px}}
@media(max-width:700px) and (min-height:621px){.nav-art{display:block;position:absolute;right:28px;top:105px;width:90px;opacity:.4;pointer-events:none}.nav-art>span{display:none}.is-enhanced .nav-dialog #main-nav>a{font-size:clamp(32px,10.5vw,50px)}}
@media(max-width:360px){.nav-brand{padding-inline:13px;font-size:31px}.nav-brand svg{width:23px;height:23px}}
@media(max-width:700px){.service-nav button{min-height:80px;padding-block:12px}}
@media(prefers-reduced-motion:reduce){.menu-toggle:hover svg,.nav-book:hover svg,.nav-dialog #main-nav>a:hover svg{transform:none}}

/* Final audit 2026-10-09: no visible text under 11px (logo taglines 10px) and 44px tap height for footer/header links. */
html body .demo-note span,html body .demo-note a{font-size:11px}
html body .nav-brand small{font-size:10px}
html body .service-facts dt,html body .visit-intro figcaption,html body .booking-progress li,html body .footer-hours p{font-size:11px}
html body .faq-intro .text-link{min-height:44px}
html body .footer-links a,html body .footer-links button{display:inline-flex;align-items:center;min-height:44px}
html body .footer-links{gap:0}
html body #about-open{display:inline-flex;align-items:center;min-height:44px;margin-block:-12px}
html body .footer-bottom span>a{display:inline-flex;align-items:center;min-height:44px;margin-block:-14px}
