*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--surface);color:var(--primary);font:400 clamp(1rem,.97rem + .15vw,1.075rem)/1.65 var(--body);overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:inherit}svg{display:block}.shell{width:min(1220px,calc(100% - 40px));margin-inline:auto}
.skip-link{position:fixed;top:-80px;left:16px;z-index:1000;padding:12px 18px;border-radius:10px;background:var(--primary);color:#fff;text-decoration:none}.skip-link:focus{top:16px}
:focus-visible{outline:3px solid var(--accent);outline-offset:4px;border-radius:5px}
h1,h2,h3{margin:0;font-family:var(--heading);font-weight:900;line-height:1.02;letter-spacing:-.045em}h1{font-size:clamp(3.15rem,1.7rem + 5.8vw,7rem);max-width:10.5ch}h2{font-size:clamp(2.35rem,1.65rem + 3vw,4.6rem)}h3{font-size:clamp(1.25rem,1.1rem + .6vw,1.65rem);letter-spacing:-.025em}h1 em,h2 em{font-weight:700;color:var(--secondary)}p{margin:0}.eyebrow{display:flex;align-items:center;gap:10px;color:var(--secondary);font-size:.76rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.eyebrow>span{width:28px;height:2px;background:var(--accent)}
.site-header{position:sticky;top:0;z-index:50;border-bottom:1px solid color-mix(in srgb,var(--primary) 9%,transparent);background:color-mix(in srgb,var(--surface) 84%,transparent);backdrop-filter:blur(18px)}.nav-row{min-height:78px;display:flex;align-items:center;gap:34px}.brand{display:flex;align-items:center;gap:12px;min-width:0;text-decoration:none}.brand-mark{display:grid;width:38px;height:38px;flex:none;place-items:center;border-radius:12px;background:var(--primary);box-shadow:0 8px 24px color-mix(in srgb,var(--primary) 18%,transparent)}.brand-mark svg{width:22px;fill:var(--accent)}.brand-copy{display:flex;min-width:0;flex-direction:column;line-height:1.15}.brand-copy strong{max-width:240px;overflow:hidden;font-family:var(--heading);font-size:1rem;text-overflow:ellipsis;white-space:nowrap}.brand-copy small{margin-top:4px;color:color-mix(in srgb,var(--primary) 62%,var(--surface));font-size:.68rem;letter-spacing:.04em}.nav-row nav{display:flex;gap:30px;margin-left:auto}.nav-row nav a{position:relative;padding:10px 0;font-size:.92rem;font-weight:600;text-decoration:none}.nav-row nav a::after{position:absolute;right:0;bottom:4px;left:0;height:2px;background:var(--accent);content:"";transform:scaleX(0);transition:transform .2s ease}.nav-row nav a:hover::after{transform:scaleX(1)}
.button{display:inline-flex;min-height:54px;align-items:center;justify-content:center;gap:10px;padding:14px 27px;border:2px solid var(--primary);border-radius:var(--radius,14px);background:var(--primary);color:var(--surface);font-weight:700;text-decoration:none;transition:transform .22s ease,box-shadow .22s ease,background .22s ease}.button svg{width:19px;fill:none;stroke:currentColor;stroke-width:2}.button:hover{transform:translateY(-2px);box-shadow:0 16px 34px color-mix(in srgb,var(--primary) 22%,transparent)}.button-compact{min-height:44px;padding:10px 19px;font-size:.87rem}
.hero{position:relative;padding:clamp(60px,8vw,116px) 0 0;isolation:isolate;overflow-x:clip}.hero-glow{position:absolute;z-index:-1;top:-10%;right:-13%;width:62vw;height:62vw;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 18%,transparent),transparent 68%);filter:blur(10px);pointer-events:none}.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;align-items:center;gap:clamp(40px,5vw,82px)}.hero-copy{display:flex;align-items:flex-start;flex-direction:column;gap:24px}.hero-lede{max-width:57ch;color:color-mix(in srgb,var(--primary) 72%,var(--surface));font-size:clamp(1.05rem,.98rem + .45vw,1.28rem)}.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.text-link{min-height:44px;display:inline-flex;align-items:center;border-bottom:1px solid color-mix(in srgb,var(--primary) 35%,transparent);font-weight:700;text-decoration:none}.text-link:hover{border-color:var(--accent)}.assurance-row{display:flex;gap:14px 24px;flex-wrap:wrap;padding-top:5px}.assurance-row span{display:flex;align-items:center;gap:8px;color:color-mix(in srgb,var(--primary) 78%,var(--surface));font-size:.86rem;font-weight:600}.assurance-row svg{width:18px;height:18px;padding:3px;border-radius:50%;background:color-mix(in srgb,var(--accent) 16%,transparent);fill:none;stroke:var(--secondary);stroke-width:2.4}
.hero-visual{position:relative;min-height:520px}.smile-card{position:absolute;inset:5% 8% 7%;display:grid;place-items:center;overflow:hidden;border:1px solid color-mix(in srgb,var(--primary) 10%,transparent);border-radius:48% 48% 43% 43% / 40% 40% 55% 55%;background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 94%,#fff),color-mix(in srgb,var(--accent) 12%,var(--surface)));box-shadow:0 40px 80px color-mix(in srgb,var(--primary) 17%,transparent),inset 0 1px #fff}.tooth{width:min(58%,270px);overflow:visible;animation:tooth-float 6s ease-in-out infinite}.orbit{position:absolute;border:1px solid color-mix(in srgb,var(--secondary) 22%,transparent);border-radius:50%}.orbit-one{inset:2% 5%;animation:orbit-spin 18s linear infinite}.orbit-two{inset:16% -4%;transform:rotate(55deg)}.spark{position:absolute;border-radius:50%;background:var(--accent);box-shadow:0 0 0 8px color-mix(in srgb,var(--accent) 12%,transparent)}.spark-a{top:17%;right:23%;width:11px;height:11px}.spark-b{bottom:21%;left:20%;width:8px;height:8px}.spark-c{top:37%;left:14%;width:6px;height:6px}.floating-note{position:absolute;z-index:3;display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center;min-width:185px;padding:14px 16px;border:1px solid color-mix(in srgb,var(--primary) 10%,transparent);border-radius:17px;background:color-mix(in srgb,var(--surface) 88%,transparent);box-shadow:0 18px 45px color-mix(in srgb,var(--primary) 15%,transparent);backdrop-filter:blur(14px)}.floating-note strong,.floating-note small{grid-column:2}.floating-note strong{font-size:.85rem}.floating-note small{color:color-mix(in srgb,var(--primary) 60%,var(--surface));font-size:.7rem}.note-icon{grid-row:1/3;display:grid;width:35px;height:35px;place-items:center;border-radius:11px;background:color-mix(in srgb,var(--accent) 17%,var(--surface))}.note-icon svg{width:19px;fill:none;stroke:var(--secondary);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.note-top{top:11%;left:-2%;animation:note-bob 6.5s ease-in-out infinite}.note-bottom{right:-2%;bottom:12%;animation:note-bob 7.2s ease-in-out infinite .6s}
.quick-strip{position:relative;z-index:5;display:grid;grid-template-columns:repeat(3,1fr);margin-top:clamp(48px,7vw,90px);border:1px solid color-mix(in srgb,var(--primary) 10%,transparent);border-radius:var(--panel-radius,24px);background:color-mix(in srgb,var(--surface) 92%,#fff);box-shadow:0 20px 60px color-mix(in srgb,var(--primary) 9%,transparent)}.quick-strip>div{display:flex;align-items:center;gap:16px;padding:24px 27px}.quick-strip>div+div{border-left:1px solid color-mix(in srgb,var(--primary) 10%,transparent)}.quick-strip>div>span{color:var(--accent);font-family:var(--heading);font-size:1.3rem;font-weight:900}.quick-strip p{display:flex;min-width:0;flex-direction:column}.quick-strip strong{font-size:.92rem}.quick-strip small{overflow:hidden;color:color-mix(in srgb,var(--primary) 60%,var(--surface));font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}
.services{padding:clamp(84px,10vw,150px) 0}.section-intro{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:clamp(42px,5vw,68px)}.section-intro>div{display:flex;max-width:680px;flex-direction:column;gap:16px}.section-intro>p{max-width:42ch;color:color-mix(in srgb,var(--primary) 68%,var(--surface))}.service-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.service-card{position:relative;min-height:285px;padding:clamp(28px,3.5vw,48px);overflow:hidden;border:1px solid color-mix(in srgb,var(--primary) 10%,transparent);border-radius:var(--card-radius,24px);background:color-mix(in srgb,var(--surface) 95%,#fff);transition:transform .25s ease,box-shadow .25s ease}.service-card:hover{transform:translateY(-5px);box-shadow:0 24px 60px color-mix(in srgb,var(--primary) 10%,transparent)}.service-card.featured{background:var(--primary);color:var(--surface)}.service-card:nth-child(4){grid-column:1/-1;min-height:250px}.service-number{position:absolute;top:24px;right:28px;color:color-mix(in srgb,var(--primary) 20%,var(--surface));font-family:var(--heading);font-size:clamp(2.2rem,2rem + 2vw,4rem);font-weight:900}.featured .service-number{color:color-mix(in srgb,var(--surface) 18%,var(--primary))}.service-icon{display:grid;width:54px;height:54px;margin-bottom:clamp(55px,8vw,105px);place-items:center;border-radius:16px;background:color-mix(in srgb,var(--accent) 16%,var(--surface))}.featured .service-icon{background:color-mix(in srgb,var(--accent) 18%,var(--primary))}.service-icon svg{width:25px;fill:none;stroke:var(--secondary);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6}.featured .service-icon svg{stroke:var(--accent)}.service-card h3{max-width:18ch}.service-card p{max-width:55ch;margin-top:14px;color:color-mix(in srgb,var(--primary) 67%,var(--surface))}.featured p{color:color-mix(in srgb,var(--surface) 72%,var(--primary))}
.about{padding:clamp(70px,9vw,130px) 0;background:color-mix(in srgb,var(--accent) 5%,var(--surface))}.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:clamp(50px,8vw,110px)}.about-art{position:relative;min-height:570px}.line-art{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden;border-radius:var(--card-radius,28px);background:var(--primary)}.line-art::before{position:absolute;width:360px;height:360px;border-radius:50%;background:var(--accent);content:"";filter:blur(100px);opacity:.18}.line-art svg{position:relative;width:68%;fill:none;stroke:color-mix(in srgb,var(--accent) 72%,#fff);stroke-linecap:round;stroke-width:3}.line-art svg path+path{stroke:#fff;stroke-width:5}.mini-card{position:absolute;right:-28px;bottom:32px;display:flex;min-width:245px;flex-direction:column;padding:20px 22px;border-radius:17px;background:var(--surface);box-shadow:0 24px 55px color-mix(in srgb,var(--primary) 20%,transparent)}.mini-card small{margin-top:4px;color:color-mix(in srgb,var(--primary) 60%,var(--surface))}.about-copy{display:flex;align-items:flex-start;flex-direction:column;gap:20px}.about-lede{max-width:56ch;color:color-mix(in srgb,var(--primary) 70%,var(--surface));font-size:1.08rem}.about-copy ul{width:100%;padding:12px 0 0;margin:0;list-style:none}.about-copy li{display:grid;grid-template-columns:42px 1fr;gap:15px;padding:18px 0;border-top:1px solid color-mix(in srgb,var(--primary) 12%,transparent)}.about-copy li>span{color:var(--accent);font-family:var(--heading);font-weight:900}.about-copy li strong{font-size:1rem}.about-copy li p{color:color-mix(in srgb,var(--primary) 62%,var(--surface));font-size:.88rem}
.contact{padding:clamp(76px,9vw,130px) 0}.contact-panel{position:relative;display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(35px,6vw,85px);overflow:hidden;padding:clamp(40px,6vw,82px);border-radius:var(--panel-radius,32px);background:var(--primary);color:var(--surface)}.contact-panel::before{position:absolute;right:-12%;bottom:-65%;width:58%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,var(--accent),transparent 68%);content:"";opacity:.27}.contact-copy{position:relative;z-index:1;display:flex;align-items:flex-start;flex-direction:column;gap:18px}.eyebrow.light{color:var(--accent)}.contact-copy h2{max-width:12ch}.contact-copy>p{color:color-mix(in srgb,var(--surface) 72%,var(--primary))}.contact-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:10px}.button-light{border-color:var(--surface);background:var(--surface);color:var(--primary)}.call-link{min-height:44px;display:inline-flex;align-items:center;font-weight:700;text-decoration:none}.visit-card{position:relative;z-index:1;display:flex;justify-content:center;flex-direction:column;gap:22px;padding:clamp(25px,4vw,43px);border:1px solid color-mix(in srgb,var(--surface) 18%,transparent);border-radius:var(--card-radius,24px);background:color-mix(in srgb,var(--surface) 8%,transparent);font-style:normal;backdrop-filter:blur(8px)}.visit-card .pin{display:grid;width:50px;height:50px;place-items:center;border-radius:15px;background:var(--accent);color:var(--primary)}.visit-card svg{width:25px;fill:none;stroke:currentColor;stroke-width:1.8}.visit-card p{display:flex;flex-direction:column}.visit-card small{color:color-mix(in srgb,var(--surface) 58%,var(--primary));font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}.visit-card strong{margin-top:5px;line-height:1.45}
.site-footer{padding:30px 0;border-top:1px solid color-mix(in srgb,var(--primary) 10%,transparent)}.footer-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:32px}.footer-row>p{max-width:42ch;color:color-mix(in srgb,var(--primary) 62%,var(--surface));font-size:.82rem}.footer-row>a:last-child{font-size:.88rem;font-weight:700}.footer-brand .brand-mark{width:34px;height:34px}.footer-brand .brand-mark svg{width:19px}
body[data-profile=editorial]{--radius:999px;--card-radius:28px;--panel-radius:34px}body[data-profile=bold]{--radius:10px;--card-radius:14px;--panel-radius:18px}body[data-profile=bold] h1,body[data-profile=bold] h2{letter-spacing:-.06em}body[data-profile=bold] .smile-card{border-radius:30px}body[data-profile=refined]{--radius:5px;--card-radius:7px;--panel-radius:9px}body[data-profile=refined] .brand-mark,body[data-profile=refined] .service-icon{border-radius:4px}body[data-profile=refined] .smile-card{border-radius:50% 50% 6px 6px}body[data-profile=refined] .hero-glow{opacity:.55}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}.reveal.in{opacity:1;transform:none}
@keyframes tooth-float{0%,100%{transform:translateY(-7px) rotate(-2deg)}50%{transform:translateY(9px) rotate(2deg)}}@keyframes note-bob{0%,100%{translate:0 -5px}50%{translate:0 7px}}@keyframes orbit-spin{to{transform:rotate(360deg)}}
@media(max-width:960px){.nav-row nav{display:none}.hero-grid,.about-grid,.contact-panel{grid-template-columns:1fr}.hero-visual{min-height:470px;order:-1;width:min(100%,560px);margin-inline:auto}.section-intro{align-items:flex-start;flex-direction:column}.service-grid{grid-template-columns:1fr 1fr}.service-card.featured{grid-row:auto;min-height:330px}.service-card:nth-child(4){grid-column:auto}.about-art{min-height:470px;order:2}.mini-card{right:20px}.footer-row{grid-template-columns:1fr auto}.footer-row>p{grid-column:1/-1;grid-row:2}}
@media(max-width:650px){.shell{width:min(100% - 30px,1220px)}.nav-row{min-height:68px;gap:12px}.site-header .brand-copy small{display:none}.site-header .brand-copy strong{max-width:125px}.button-compact{padding:9px 13px;font-size:.78rem}.hero{padding-top:35px}.hero-visual{min-height:360px}.smile-card{inset:4% 6% 8%}.floating-note{min-width:160px;padding:11px 12px}.note-top{top:5%;left:0}.note-bottom{right:0;bottom:7%}.quick-strip{grid-template-columns:1fr}.quick-strip>div{padding:17px 20px}.quick-strip>div+div{border-top:1px solid color-mix(in srgb,var(--primary) 10%,transparent);border-left:0}.hero-actions{align-items:stretch;flex-direction:column;width:100%}.hero-actions .button{width:100%}.service-grid{grid-template-columns:1fr}.service-card,.service-card.featured,.service-card:nth-child(4){min-height:280px}.service-icon{margin-bottom:55px}.about-art{min-height:390px}.mini-card{right:14px;bottom:14px;left:14px;min-width:0}.contact-panel{padding:34px 24px}.contact-actions{align-items:stretch;flex-direction:column;width:100%}.contact-actions .button{width:100%}.footer-row{display:flex;align-items:flex-start;flex-direction:column;gap:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}.button:hover,.service-card:hover{transform:none}.tooth,.floating-note,.orbit{animation:none!important}}
/* SANVEX_VISUAL_AUDIT_V3:dental-template-11 */
body{--audit-radius:26px;--audit-shadow:0 22px 60px color-mix(in srgb,currentColor 10%,transparent)}
:where(section){scroll-margin-top:92px}
:where(h1,h2,h3,p,address,.brand){overflow-wrap:anywhere}
:where(a,button){-webkit-tap-highlight-color:transparent}
:where(a,button):focus-visible{outline-offset:4px}
@media(min-width:761px){:where(.button,.pill,.primary,.secondary,.map,.nav-cta,.header-call,.call-small,.text-link){transition:transform .22s ease,box-shadow .22s ease,background .22s ease}:where(.button,.pill,.primary,.secondary,.map,.nav-cta,.header-call,.call-small):hover{transform:translateY(-2px)}}
@media(max-width:760px){:where(h1){hyphens:auto}:where(.button,.pill,.primary,.secondary,.map,.nav-cta,.header-call,.call-small){max-width:100%}}

.rating,.rating-chip,.rating-stamp,.orbit-badge,.hero-proof,.hero-facts>div:first-child{display:none!important}
.hero-photo,.story-photo,.studio-photo,.experience-photo{overflow:hidden;border-radius:var(--audit-radius)}
.hero-photo img,.story-photo img,.studio-photo img,.experience-photo img{width:100%;height:100%;object-fit:cover}
.services article,.care article,.principles article,.experience article{border-radius:var(--audit-radius);box-shadow:0 16px 44px color-mix(in srgb,var(--ink) 8%,transparent)}
.hours-card,.visit-panel{border-radius:var(--audit-radius);box-shadow:0 24px 65px color-mix(in srgb,var(--ink) 10%,transparent)}
@media(max-width:760px){.hero-photo img,.story-photo img,.studio-photo img,.experience-photo img{min-height:0!important;aspect-ratio:4/3;height:auto}.visit-panel{padding:34px 22px}}
