@font-face{font-family:Poppins;src:url('fonts/poppins-latin-300-normal.woff2') format('woff2');font-weight:300;font-display:swap}@font-face{font-family:Poppins;src:url('fonts/poppins-latin-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Poppins;src:url('fonts/poppins-latin-500-normal.woff2') format('woff2');font-weight:500;font-display:swap}@font-face{font-family:Poppins;src:url('fonts/poppins-latin-600-normal.woff2') format('woff2');font-weight:600;font-display:swap}:root{--brown:#6a351d;--brown-dark:#3b1d10;--brown-light:#9a684d;--black:#111111;--white:#ffffff;--warm:#f6f2ee;--muted:#756d68;--line:#ded7d1;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--white);color:var(--black);font-family:Poppins,Arial,sans-serif;font-size:16px;line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}button{font:inherit}.shell{width:min(var(--max),calc(100% - 48px));margin:auto}.notice{height:32px;margin:10px 16px 0;display:flex;align-items:center;justify-content:center;gap:10px;background:var(--brown);color:white;font-size:9px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;animation:noticeIn .6s ease both}.notice i{width:2px;height:2px;border-radius:50%;background:white}.nav{height:124px;max-width:1220px;margin:auto;padding:0 28px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:32px}.nav-side{display:flex;align-items:center;gap:25px;font-size:12px;color:#393532}.nav-right{justify-content:flex-end}.nav-side a{position:relative}.nav-side a:not(.phone):after{content:'';position:absolute;left:0;right:0;bottom:-5px;height:1px;background:var(--brown);transform:scaleX(0);transform-origin:right;transition:transform .35s cubic-bezier(.22,1,.36,1)}.nav-side a:hover:after{transform:scaleX(1);transform-origin:left}.logo{text-align:center;color:var(--brown);line-height:1}.logo strong{display:block;font-family:Georgia,'Times New Roman',serif;font-size:26px;font-weight:600}.logo span{display:block;margin-top:10px;font-size:10px;font-weight:600;letter-spacing:.56em;text-transform:uppercase;padding-left:.56em}.phone{border:1px solid var(--black);border-radius:999px;padding:10px 16px;font-size:10px;white-space:nowrap;transition:background .25s,color .25s}.phone:hover{background:var(--black);color:white}.menu,.mobile-nav{display:none}.hero{position:relative;margin:0 16px;height:calc(100vh - 182px);min-height:570px;overflow:hidden;background:var(--black)}.hero>img{position:absolute;inset:0;animation:heroScale 1.5s cubic-bezier(.22,1,.36,1) both}.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,17,17,.62),rgba(59,29,16,.5))}.hero-content{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:white;padding:35px 24px}.hero-kicker,.hero-place{font-size:9px;font-weight:600;letter-spacing:.24em;text-transform:uppercase}.hero-kicker{margin:0 0 28px;animation:rise .8s .25s both}.hero h1{margin:0;font-size:clamp(50px,6vw,84px);line-height:.98;letter-spacing:-.055em;font-weight:600;animation:rise .9s .35s both}.hero-place{margin:42px 0 24px;animation:rise .8s .48s both}.cta{min-width:192px;min-height:50px;padding:0 22px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;transition:transform .3s cubic-bezier(.22,1,.36,1),background .25s,color .25s}.cta:hover{transform:translateY(-3px)}.cta.light{border:1.5px solid white;color:white;animation:rise .8s .58s both}.cta.light:hover{background:white;color:var(--brown-dark)}.cta.dark{background:var(--black);color:white}.cta.dark:hover{background:var(--brown)}.scroll-cue{position:absolute;z-index:2;left:26px;bottom:23px;color:rgba(255,255,255,.72);font-size:9px;letter-spacing:.1em;text-transform:uppercase;writing-mode:vertical-rl}.scroll-cue b{margin-top:10px}.section{padding:128px 0}.section-intro{display:grid;grid-template-columns:1.2fr .8fr;gap:50px;align-items:end;margin-bottom:68px}.eyebrow{margin:0 0 18px;color:var(--brown);font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase}.section-intro .eyebrow{grid-column:1/-1}.section h2,.appointment h2,.contact h2{margin:0;font-size:clamp(42px,5vw,68px);line-height:1.03;letter-spacing:-.05em;font-weight:500}.section-intro>p:last-child{margin:0 0 8px;color:var(--muted);max-width:460px}.service-list{border-top:1px solid var(--black)}.service{display:grid;grid-template-columns:70px 1fr 50px;gap:28px;align-items:center;padding:34px 0;border-bottom:1px solid var(--line);transition:padding .35s,background .35s}.service:hover{padding-inline:20px;background:var(--warm)}.service>span{font-size:11px;color:var(--brown)}.service h3{margin:0 0 6px;font-size:25px;font-weight:500}.service p{margin:0;color:var(--muted);font-size:13px}.service>a{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;transition:background .25s,color .25s,transform .25s}.service:hover>a{background:var(--brown);color:white;transform:rotate(45deg)}.clinic{background:var(--black);color:white}.light-intro .eyebrow{color:#c79578}.light-intro>p:last-child{color:#aaa}.gallery{display:grid;grid-template-columns:1.25fr .75fr .75fr;grid-template-rows:270px 270px;gap:12px}.gallery figure{margin:0;position:relative;overflow:hidden;background:#222}.gallery-main{grid-row:span 2}.gallery-wide{grid-column:span 2}.gallery img{transition:transform .8s cubic-bezier(.22,1,.36,1),filter .5s}.gallery figure:hover img{transform:scale(1.04);filter:brightness(.78)}.gallery figcaption{position:absolute;left:14px;bottom:14px;padding:8px 11px;background:white;color:var(--black);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.about-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:90px;align-items:center}.portrait{height:650px;overflow:hidden}.about-copy h2{margin:0;font-size:clamp(44px,5vw,68px);line-height:1.05;letter-spacing:-.05em;font-weight:500}.about-copy>p:not(.eyebrow){color:var(--muted);font-size:17px;max-width:570px;margin:26px 0}.about-copy ul{list-style:none;padding:0;margin:34px 0;border-top:1px solid var(--line)}.about-copy li{padding:14px 0;border-bottom:1px solid var(--line);font-size:13px}.text-link{display:inline-flex;gap:18px;align-items:center;padding-bottom:5px;border-bottom:1px solid currentColor;font-size:12px}.text-link span{transition:transform .25s}.text-link:hover span{transform:translate(4px,4px)}.reviews{background:var(--warm)}.reviews-head{display:flex;align-items:end;justify-content:space-between;gap:40px}.reviews-head h2{max-width:650px}.rating{display:grid;grid-template-columns:auto auto;align-items:center;gap:0 13px}.rating strong{grid-row:span 2;font-size:60px;line-height:1;color:var(--brown);font-weight:500}.rating span{color:var(--brown);letter-spacing:2px}.rating small{color:var(--muted)}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:56px}.review-grid blockquote{margin:0;background:white;border:1px solid var(--line);padding:30px;min-height:370px;display:flex;flex-direction:column;transition:transform .35s,box-shadow .35s}.review-grid blockquote:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(40,25,16,.1)}.review-grid blockquote>span{font-family:Georgia,serif;font-size:54px;color:var(--brown);line-height:.8}.review-grid blockquote p{font-size:14px;color:#4a4542}.review-grid blockquote footer{margin-top:auto;padding-top:22px;border-top:1px solid var(--line)}.review-grid footer strong,.review-grid footer small{display:block}.review-grid footer strong{font-size:12px}.review-grid footer small{color:var(--muted)}.appointment{display:grid;grid-template-columns:1.05fr .95fr;min-height:680px;background:var(--brown);color:white}.appointment-image{overflow:hidden}.appointment-copy{padding:90px;display:flex;flex-direction:column;justify-content:center}.appointment-copy .eyebrow{color:#dfb69e}.appointment-copy>p:not(.eyebrow){color:rgba(255,255,255,.7);max-width:450px;margin:24px 0 36px}.appointment-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.appointment .text-link{color:white}.contact{padding:120px 0;background:white}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.contact-details{border-top:1px solid var(--black)}.contact-details>div{display:grid;grid-template-columns:110px 1fr;gap:30px;padding:20px 0;border-bottom:1px solid var(--line)}.contact-details span{font-size:10px;color:var(--brown);text-transform:uppercase;letter-spacing:.12em}.contact-details p,.contact-details a{margin:0;font-size:13px}.site-footer{padding:70px 0 30px;background:var(--black);color:white}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:60px;align-items:start}.footer-logo{text-align:left;color:white}.footer-grid nav{display:grid;grid-template-columns:1fr 1fr;gap:12px 25px;font-size:12px}.footer-grid nav a:hover{color:#c79578}.footer-meta{display:grid;justify-items:end;gap:11px;font-size:10px;color:#999}.reveal,.reveal-img{opacity:0;transform:translateY(30px);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1)}.reveal-img{transform:translateY(35px) scale(.985)}.visible{opacity:1;transform:none}@keyframes noticeIn{from{opacity:0;transform:translateY(-8px)}}@keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes heroScale{from{transform:scale(1.08);opacity:.6}to{transform:scale(1);opacity:1}}:focus-visible{outline:3px solid #c79578;outline-offset:3px}@media(max-width:950px){.nav{height:104px;display:flex;justify-content:space-between}.nav-side{display:none}.menu{display:block;width:44px;height:44px;border:0;background:transparent;padding:10px}.menu span{display:block;height:1px;background:var(--brown);margin:7px 0;transition:transform .25s}.mobile-nav{position:absolute;z-index:30;left:16px;right:16px;top:146px;background:white;border:1px solid var(--line);padding:12px;box-shadow:0 20px 45px rgba(20,12,8,.15)}.mobile-nav.open{display:grid;animation:rise .35s both}.mobile-nav a{padding:12px;border-bottom:1px solid var(--line);font-size:13px}.hero{height:calc(100vh - 162px)}.section-intro,.about-grid,.contact-grid{grid-template-columns:1fr;gap:35px}.gallery{grid-template-columns:1fr 1fr;grid-template-rows:320px 240px 240px}.gallery-main,.gallery-wide{grid-column:span 2;grid-row:auto}.about-grid{gap:50px}.portrait{height:560px}.appointment{grid-template-columns:1fr}.appointment-image{height:480px}.appointment-copy{padding:70px 40px}.review-grid{grid-template-columns:1fr}.review-grid blockquote{min-height:280px}.footer-grid{grid-template-columns:1fr 1fr}.footer-meta{grid-column:1/-1;justify-items:start}}@media(max-width:520px){.shell{width:calc(100% - 32px)}.notice{margin:0;height:30px;font-size:8px}.nav{height:88px;padding:0 18px}.logo{text-align:left}.logo strong{font-size:22px}.logo span{font-size:8px}.mobile-nav{top:118px;left:0;right:0}.hero{margin:0;height:calc(100vh - 118px);min-height:590px}.hero h1{font-size:47px}.hero-kicker{margin-bottom:22px}.hero-place{margin-top:36px}.scroll-cue{display:none}.section{padding:88px 0}.section-intro{margin-bottom:45px}.section h2,.appointment h2,.contact h2,.about-copy h2{font-size:40px}.service{grid-template-columns:38px 1fr;padding:26px 0}.service>a{display:none}.service h3{font-size:21px}.gallery{display:grid;grid-template-columns:1fr;grid-template-rows:repeat(4,260px)}.gallery-main,.gallery-wide{grid-column:auto}.portrait{height:480px}.reviews-head{align-items:start;flex-direction:column}.rating strong{font-size:50px}.appointment-image{height:390px}.appointment-copy{padding:68px 24px}.contact{padding:88px 0}.contact-grid{gap:45px}.contact-details>div{grid-template-columns:1fr;gap:5px}.footer-grid{grid-template-columns:1fr;gap:42px}.footer-grid nav{grid-template-columns:1fr}.footer-meta{grid-column:auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero>img,.hero-content>*{animation:none!important}.reveal,.reveal-img{opacity:1;transform:none;transition:none!important}*{transition:none!important}}
/* Premium motion and supplied identity */
.scroll-progress{position:fixed;z-index:120;left:0;top:0;width:0;height:3px;background:linear-gradient(90deg,var(--brown),#b88465);box-shadow:0 0 14px rgba(106,53,29,.35);pointer-events:none}
.click-orb{position:fixed;z-index:119;width:10px;height:10px;border:1px solid rgba(106,53,29,.55);border-radius:50%;pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.2)}
.click-orb.active{animation:premiumClick .8s cubic-bezier(.16,1,.3,1)}
.logo-image{width:148px;height:92px;display:flex;align-items:center;justify-content:center}.logo-image img{width:100%;height:100%;object-fit:contain}.nav>.logo-image{animation:softReveal 1.2s .18s both}
.portrait img{object-position:center 20%}
.site-footer{padding:38px 0;background:var(--black)}.footer-row{display:flex;align-items:center;justify-content:space-between;gap:42px}.footer-logo{width:112px;height:76px;filter:brightness(0) invert(1);opacity:.94;flex:0 0 auto}.footer-nav{display:flex;align-items:center;justify-content:flex-end;gap:22px;flex-wrap:wrap;font-size:11px}.footer-nav a{position:relative;color:white;white-space:nowrap}.footer-nav a:not(.phone):after{content:'';position:absolute;left:0;right:0;bottom:-5px;height:1px;background:#c79578;transform:scaleX(0);transform-origin:right;transition:transform .8s cubic-bezier(.16,1,.3,1)}.footer-nav a:hover:after{transform:scaleX(1);transform-origin:left}.footer-nav .phone{border-color:rgba(255,255,255,.65)}
/* Slow, steady premium hover language */
a,button,.service,.review-grid blockquote,.gallery figure{transition-duration:.65s!important;transition-timing-function:cubic-bezier(.16,1,.3,1)!important}.cta{transition:transform .7s cubic-bezier(.16,1,.3,1),background-color .7s,color .7s,box-shadow .7s}.cta:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(17,17,17,.18)}.phone{transition:background-color .7s,color .7s,border-color .7s,transform .7s cubic-bezier(.16,1,.3,1)}.phone:hover{transform:translateY(-2px)}.service{transition:padding .75s cubic-bezier(.16,1,.3,1),background-color .75s}.service>a{transition:background-color .7s,color .7s,transform .9s cubic-bezier(.16,1,.3,1)}.gallery img{transition:transform 1.4s cubic-bezier(.16,1,.3,1),filter 1s}.gallery figure:hover img{transform:scale(1.055)}.review-grid blockquote{transition:transform .8s cubic-bezier(.16,1,.3,1),box-shadow .8s}.text-link span{transition:transform .7s cubic-bezier(.16,1,.3,1)}
/* Layered scroll reveals */
.reveal,.reveal-img{transition-duration:1.15s;transition-timing-function:cubic-bezier(.16,1,.3,1)}.reveal-img{clip-path:inset(0 0 14% 0);transition:opacity 1.1s cubic-bezier(.16,1,.3,1),transform 1.35s cubic-bezier(.16,1,.3,1),clip-path 1.35s cubic-bezier(.16,1,.3,1)}.reveal-img.visible{clip-path:inset(0)}
body.motion-click main,body.motion-click header{filter:saturate(.94);transition:filter .55s ease}
@keyframes premiumClick{0%{opacity:.75;transform:translate(-50%,-50%) scale(.2)}70%{opacity:.2}100%{opacity:0;transform:translate(-50%,-50%) scale(9)}}@keyframes softReveal{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}
@media(max-width:950px){.logo-image{width:118px;height:76px}.footer-row{flex-direction:column;align-items:flex-start}.footer-nav{justify-content:flex-start}.footer-logo{width:105px;height:72px}}
@media(max-width:520px){.logo-image{width:104px;height:66px}.footer-nav{gap:16px 18px}.footer-nav .phone{width:100%;text-align:center}.site-footer{padding:42px 0}.click-orb{display:none}}
.site-footer .footer-row{justify-content:center}.site-footer .footer-nav{justify-content:center}
@media(prefers-reduced-motion:reduce){.scroll-progress{transition:none}.click-orb{display:none}.reveal-img{clip-path:none}}
