@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;600;700&family=Manrope:wght@400;500;600&display=swap');
:root{--green:#244f3d;--deep:#17372c;--cream:#f5f3ec;--ink:#223b32;--muted:#637169;--line:#d8ddd5;--white:#fff;--heading:'Manrope',sans-serif;--body:'DM Sans',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;color:var(--ink);background:var(--cream);font-family:var(--body);font-size:16px;line-height:1.65}button,input,select{font:inherit}a{color:inherit}button,a,input,select{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #c9a467;outline-offset:5px}button,.button{cursor:pointer}.skip-link{position:fixed;top:-80px;z-index:100;background:white;padding:12px}.skip-link:focus{top:10px}.site-header{height:94px;position:fixed;top:0;left:0;width:100%;z-index:30;background:rgba(250,250,247,.97);border-bottom:1px solid rgba(36,79,61,.12);display:flex;align-items:center;justify-content:space-between;padding:0 5vw}.brand{display:flex;align-items:center;width:205px;height:86px;overflow:hidden}.brand img{width:200px;height:112px;object-fit:contain;mix-blend-mode:multiply}nav{display:flex;gap:35px;align-items:center}nav a{text-decoration:none;font-size:14px;font-weight:500}nav a:not(.button):hover{text-decoration:underline;text-underline-offset:6px}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;padding:15px 27px;min-height:54px;border:1px solid var(--green);background:var(--green);color:white;text-decoration:none;font-size:14px;font-weight:600;border-radius:4px;transition:background .2s,transform .2s}.button:hover{background:var(--deep);transform:translateY(-2px)}.button.light{background:var(--cream);border-color:var(--cream);color:var(--deep)}.button.outline{background:transparent;color:var(--green)}.button span{font-size:21px;line-height:1}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:12px;font-weight:600;display:block;margin-bottom:22px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--heading);font-weight:400}h1{font-size:clamp(42px,5.7vw,86px);line-height:1.07;letter-spacing:-.055em;margin-bottom:28px;max-width:740px}h2{font-size:clamp(34px,4vw,61px);line-height:1.14;letter-spacing:-.04em;margin-bottom:24px}h3{font-size:26px;line-height:1.25;letter-spacing:-.025em}.story{position:relative;height:510svh;margin-top:94px}.story-stage{height:calc(100svh - 94px);min-height:540px;position:sticky;top:94px;background:var(--deep);overflow:hidden;color:white}.story-stage canvas,.story-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.story-stage:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,30,24,.68),rgba(8,30,24,.1) 74%),linear-gradient(0deg,rgba(8,30,24,.35),transparent 50%);pointer-events:none}.chapter{position:absolute;z-index:2;top:50%;left:7vw;transform:translateY(-50%);width:min(640px,80%);opacity:0;visibility:hidden;transition:opacity .32s,visibility .32s}.chapter.active{opacity:1;visibility:visible}.chapter p{max-width:390px;font-size:18px;color:#f1f3ee;line-height:1.6;margin-bottom:30px}.chapter h2{font-size:clamp(44px,5.5vw,80px);max-width:620px;line-height:1.08}.story-bottom{position:absolute;bottom:30px;left:7vw;right:5vw;z-index:3;display:flex;justify-content:space-between;align-items:center;font-size:12px;letter-spacing:.08em}.story-steps{display:flex;gap:12px;align-items:center}.story-steps i{height:2px;width:34px;background:#ffffff55}.story-steps i.active{background:white}.story-bottom a{text-underline-offset:5px}.scroll-hint{display:flex;align-items:center;gap:14px}.scroll-hint span{font-size:22px}.intro{padding:95px 7vw 105px;display:grid;grid-template-columns:1fr 1fr;gap:10vw;border-bottom:1px solid var(--line)}.intro .eyebrow{color:var(--green)}.intro h2{max-width:530px}.intro-copy{padding-top:39px;max-width:500px}.intro-copy p{color:var(--muted);font-size:18px}.text-link{display:inline-flex;gap:20px;font-size:14px;font-weight:600;text-decoration:none;border-bottom:1px solid var(--green);padding-bottom:7px;margin-top:10px}.space{padding:105px 7vw;display:grid;grid-template-columns:1.12fr 1fr;gap:8vw;align-items:center}.space-image{position:relative}.space-image>img{width:100%;height:620px;object-fit:cover;border-radius:3px}.image-caption{font-size:12px;letter-spacing:.08em;color:var(--muted);margin-top:12px}.space-copy p{color:var(--muted);max-width:470px;font-size:18px}.details{margin-top:35px;border-top:1px solid var(--line)}.detail{display:flex;gap:20px;padding:18px 0;border-bottom:1px solid var(--line);align-items:center}.detail span{font-size:12px;color:var(--muted)}.detail p{margin:0;font-size:16px;color:var(--ink)}.about{padding:105px 7vw;background:#e8ece5}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:55px}.section-head h2{margin-bottom:0;max-width:600px}.section-head>p{max-width:355px;color:var(--muted);margin-bottom:4px}.doctors{display:grid;grid-template-columns:1fr 1fr;gap:38px}.doctor img{width:100%;height:540px;object-fit:cover;object-position:center 28%;border-radius:3px}.doctor-text{padding-top:28px;max-width:540px}.doctor h3{margin-bottom:8px}.doctor .role{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--green);margin-bottom:16px}.doctor-text>p:last-child{color:var(--muted);margin-bottom:0}.visit{display:grid;grid-template-columns:1fr 1fr;background:var(--deep);color:var(--cream)}.visit-photo{min-height:590px;background:url('assets/lounge.webp') center/cover}.visit-copy{padding:80px 7vw;align-self:center}.visit-copy p{color:#d6dfd4}.visit-address{margin:28px 0;font-style:normal;line-height:1.8}.visit-address a{text-decoration:none}.visit-address a:hover{text-decoration:underline}.visit-links{display:flex;gap:25px;flex-wrap:wrap}.visit .text-link{border-color:#b7cabc;color:var(--cream)}footer{display:flex;justify-content:space-between;gap:20px;padding:30px 7vw;font-size:12px;color:var(--muted)}footer a{text-underline-offset:3px}.booking{padding:100px 7vw;display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw;background:white}.booking-intro p{color:var(--muted);max-width:400px}.booking-intro a{white-space:nowrap}.booking form{max-width:650px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.field{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:500}.field.full{grid-column:1/-1}.field input,.field select{width:100%;border:1px solid #cbd2cc;border-radius:3px;background:#fafbf8;color:var(--ink);height:52px;padding:10px 13px}.consent{display:flex;align-items:flex-start;gap:12px;font-size:14px;line-height:1.6;margin:24px 0}.consent input{width:18px;height:18px;flex-shrink:0;margin-top:4px;accent-color:var(--green)}.form-note{font-size:12px;color:var(--muted);line-height:1.6;margin:16px 0 0}.form-status{font-size:14px;margin-top:15px}.honeypot{position:absolute;left:-10000px}.menu-toggle{display:none}.mobile-menu{display:none}.style-board{padding:140px 7vw 70px}.swatches{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.swatch{height:130px;border-radius:4px;padding:20px;border:1px solid var(--line)}.style-samples{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin:70px 0}.style-card{padding:30px;border:1px solid var(--line)}.style-board .board-logo{max-width:330px;mix-blend-mode:multiply}.style-board .photo-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.photo-row img{width:100%;height:300px;object-fit:cover}
@media(min-width:1600px){.story-stage{max-height:1200px}.space-image>img{height:740px}.doctor img{height:680px}}
@media(max-width:800px){.site-header{height:78px;padding:0 5vw}.brand{width:160px;height:73px}.brand img{width:155px;height:94px}nav{gap:15px}nav>a:not(.button){display:none}nav .button{padding:10px 17px;min-height:44px}.story{margin-top:78px;height:450svh}.story-stage{top:78px;height:calc(100svh - 78px);min-height:520px}.chapter{left:7vw;top:auto;bottom:115px;transform:none;width:86%}.chapter h1,.chapter h2{font-size:clamp(40px,8.4vw,65px);max-width:520px}.chapter p{font-size:16px;max-width:320px;margin-bottom:24px}.eyebrow{font-size:11px;margin-bottom:18px}.story-stage:after{background:linear-gradient(0deg,rgba(8,30,24,.82),rgba(8,30,24,.22) 75%)}.story-bottom{bottom:27px;left:7vw;right:7vw}.story-steps{display:none}.intro,.space,.booking{grid-template-columns:1fr;gap:30px;padding:65px 7vw}.intro-copy{padding-top:0}.intro h2{margin-bottom:0}.space-image>img{height:440px}.space-copy{padding-top:10px}.about{padding:65px 7vw}.section-head{display:block;margin-bottom:35px}.section-head>p{margin-top:24px;max-width:500px}.doctors{gap:30px}.doctor img{height:350px}.doctor h3{font-size:23px}.doctor-text>p:last-child{font-size:15px}.visit{grid-template-columns:1fr}.visit-photo{min-height:360px}.visit-copy{padding:55px 7vw}.booking{gap:25px}.booking-intro h2{max-width:550px}footer{flex-wrap:wrap}.style-samples{grid-template-columns:1fr}.swatches{grid-template-columns:1fr 1fr}.style-board{padding-top:110px}.style-board .photo-row{grid-template-columns:1fr}}
@media(max-width:480px){.doctors{grid-template-columns:1fr;gap:45px}.doctor img{height:440px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.story-bottom{font-size:10px}.scroll-hint{gap:7px}.space-image>img{height:380px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}.story{height:auto}.story-stage{position:relative;top:0;min-height:660px;height:calc(100svh - 78px)}.story-stage canvas{display:none}.chapter:not([data-chapter="0"]){display:none}.chapter[data-chapter="0"]{opacity:1;visibility:visible}.scroll-hint{display:none}}
/* Authentic photo chapters: the original pixels remain unchanged. */
.photo-story{position:absolute;inset:0;background:var(--deep)}.photo-story img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;will-change:transform,opacity;transform-origin:center}.photo-story img:first-child{opacity:1}.photo-story img.portrait{object-fit:contain;object-position:right center;background:var(--deep);transform-origin:80% center}.photo-story img.entrance{object-position:center center}.story-stage[data-scene="-1"]:after{background:linear-gradient(0deg,rgba(8,30,24,.20),transparent 30%)}
@media(max-width:800px){.photo-story img.portrait{object-fit:cover;object-position:center;transform-origin:center}.chapter[data-chapter="2"]{top:35px;bottom:auto}.chapter[data-chapter="2"] h2{font-size:40px;max-width:310px}.chapter[data-chapter="2"] p{font-size:15px;max-width:290px}.story-stage[data-scene="2"]:after{background:linear-gradient(180deg,rgba(8,30,24,.83),rgba(8,30,24,.28) 65%,rgba(8,30,24,.4))}}
@media(prefers-reduced-motion:reduce){.photo-story{display:none}}

html:not(.js) .story{height:auto}html:not(.js) .story-stage{position:relative;top:0}html:not(.js) .scroll-hint{display:none}
/* Patient-centred approach and real details from the clinic. */
.story{height:420svh}.wellness{padding:30px 7vw 90px;display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.wellness-copy{max-width:540px}.wellness-copy>p{font-size:18px;color:var(--muted)}.wellness-copy .wellness-close{color:var(--green);font-weight:500;margin-top:27px}.wellness-photo{margin:0}.wellness-photo img{display:block;width:100%;height:600px;object-fit:cover;object-position:center 42%;border-radius:3px}.clinic-details{padding:0 7vw 100px;display:grid;grid-template-columns:1fr 1fr;gap:38px}.clinic-details figure{margin:0}.clinic-details img{width:100%;height:440px;object-fit:cover;object-position:center 56%;border-radius:3px;display:block}.clinic-details figcaption{font-size:14px;color:var(--muted);margin-top:14px}
@media(max-width:800px){.story{height:380svh}.wellness{grid-template-columns:1fr;padding:5px 7vw 55px;gap:35px}.wellness-photo img{height:500px}.clinic-details{padding:0 7vw 60px;gap:20px}.clinic-details img{height:330px}}
@media(max-width:480px){.wellness-photo img{height:450px}.clinic-details{grid-template-columns:1fr;gap:30px}.clinic-details img{height:400px}}
@media(prefers-reduced-motion:reduce){.story{height:auto}}

/* Fourth photo chapter: keep the patient and mirror unobstructed. */
.story{height:520svh}
.chapter[data-chapter="3"]{width:min(510px,40%)}
.chapter[data-chapter="3"] h2{font-size:clamp(40px,4.5vw,68px)}
@media(max-width:800px){.story{height:480svh}.photo-story img.smile{object-fit:contain;object-position:center top;transform-origin:center top}.chapter[data-chapter="3"]{width:86%;bottom:78px;top:auto}.chapter[data-chapter="3"] h2{font-size:34px;max-width:330px;margin-bottom:12px}.chapter[data-chapter="3"] p{font-size:15px;line-height:1.45;max-width:330px;margin-bottom:15px}.chapter[data-chapter="3"] .eyebrow{margin-bottom:10px}.story-stage[data-scene="3"]:after{background:linear-gradient(0deg,rgba(8,30,24,.96),rgba(8,30,24,.82) 32%,transparent 65%)}}
@media(prefers-reduced-motion:reduce){.story{height:auto}}
/* Mobile composition shares content with desktop, with dedicated media and pacing. */
:root{--header-height:94px}
html{scroll-padding-top:calc(var(--header-height) + 20px)}
[id]{scroll-margin-top:20px}
.site-header{z-index:100;height:var(--header-height)}
.story-poster img{width:100%;height:100%;object-fit:cover}
.photo-story{background:transparent}.photo-story img:not([src]){visibility:hidden}
.visit-photo{display:block;background:none;overflow:hidden}.visit-photo img{width:100%;height:100%;object-fit:cover;display:block}
.menu-toggle{display:none}.mobile-menu:not([open]){display:none}.mobile-menu[open]{display:block}
.mobile-menu{border:0;background:var(--cream);color:var(--deep);padding:24px;max-width:100%;width:min(440px,100vw);max-height:100dvh;margin:0 0 0 auto;height:100dvh;z-index:150;padding-top:calc(22px + env(safe-area-inset-top));padding-bottom:calc(24px + env(safe-area-inset-bottom))}
.mobile-menu::backdrop{background:#102e25b8}.menu-top{display:flex;align-items:center;justify-content:space-between;gap:16px}.menu-top h2{font-size:22px;margin:0}.menu-close{width:48px;height:48px;border:1px solid var(--line);border-radius:50%;background:none;color:var(--green);font-size:30px}
.mobile-menu nav{display:flex;flex-direction:column;align-items:stretch;gap:12px;margin-top:40px}.mobile-menu nav a{display:flex!important;align-items:center;min-height:48px;font-size:20px;padding:8px 12px}.mobile-menu nav .button{margin-top:16px;font-size:16px}.menu-open{overflow:hidden}
@media(max-width:800px){
 :root{--header-height:calc(70px + env(safe-area-inset-top))}
 .site-header{height:var(--header-height);padding:env(safe-area-inset-top) max(18px,env(safe-area-inset-right)) 0 max(18px,env(safe-area-inset-left));background:#f5f3ec;border-bottom:1px solid #244f3d30}
 .brand{width:158px;height:66px}.brand img{width:154px;height:86px}.desktop-nav{display:none}
 .menu-toggle{display:flex;width:48px;height:48px;flex-direction:column;justify-content:center;align-items:center;gap:5px;background:var(--green);border:0;border-radius:4px}.menu-toggle span{display:block;width:21px;height:2px;background:white}
 .story{margin-top:var(--header-height);height:310svh}.story-stage{top:var(--header-height);height:calc(100svh - var(--header-height));min-height:0}
 .photo-story img,.photo-story img.portrait,.photo-story img.smile{object-fit:cover;object-position:center;transform-origin:center;background:transparent}
 .chapter,.chapter[data-chapter="2"],.chapter[data-chapter="3"]{top:auto;bottom:calc(74px + env(safe-area-inset-bottom));left:6vw;transform:none;width:88%}
 .chapter h1{font-size:clamp(34px,8.5vw,44px);line-height:1.08;letter-spacing:-.04em;max-width:340px;margin-bottom:20px}
 .chapter[data-chapter="0"] p,.chapter[data-chapter="1"],.chapter[data-chapter="2"],.chapter[data-chapter="3"] p{display:none}
 .chapter[data-chapter="3"] h2{font-size:clamp(30px,7.6vw,40px);max-width:330px;margin-bottom:16px}.chapter[data-chapter="3"] .eyebrow{font-size:12px;margin-bottom:12px;letter-spacing:.12em}
 .chapter .button{min-height:48px;padding:12px 21px;font-size:15px}
 .story-stage:after,.story-stage[data-scene="3"]:after{background:linear-gradient(0deg,rgba(8,30,24,.90),rgba(8,30,24,.65) 22%,transparent 60%)}
 .story-stage[data-scene="-1"]:after{background:linear-gradient(0deg,rgba(8,30,24,.4),transparent 20%)}
 .story-bottom{bottom:calc(15px + env(safe-area-inset-bottom));left:6vw;right:6vw;font-size:12px;letter-spacing:.03em}.story-bottom a{display:flex;min-height:44px;align-items:center}.scroll-hint{font-size:11px}
 .intro,.space,.about,.booking{padding:56px 6vw}.intro-copy p,.space-copy p,.wellness-copy>p{font-size:17px}
 .eyebrow{font-size:12px;letter-spacing:.13em}.wellness{padding-left:6vw;padding-right:6vw}.clinic-details{padding-left:6vw;padding-right:6vw}
 .visit-photo{min-height:0;height:330px}.visit-copy{padding:48px 6vw}.space-image>img{height:440px}.form-note{font-size:14px}footer{font-size:14px;padding-bottom:calc(24px + env(safe-area-inset-bottom));overflow-wrap:anywhere}
}
@media(max-width:800px) and (max-height:650px){.chapter,.chapter[data-chapter="3"]{bottom:64px}.chapter h1{font-size:32px;max-width:280px}.chapter[data-chapter="3"] h2{font-size:29px;max-width:290px}.chapter[data-chapter="3"] .eyebrow{display:none}.story{height:290svh}}
@media(prefers-reduced-motion:reduce){.story{height:auto}.story-stage{position:relative;top:0;min-height:560px}.photo-story{display:none}.scroll-hint{display:none}}

/* Mobile tour revision: show the full photographs and a caption for every stop. */
@media(max-width:800px){
 .story-stage{background:var(--deep)}
 .photo-story,.story-poster{inset:0 0 auto;height:calc(100% - 245px);width:100%;background:var(--deep)}
 .photo-story img,.photo-story img.portrait,.photo-story img.smile,.story-poster img{object-fit:contain;object-position:center;transform:none!important;background:var(--deep)}
 .story-stage:after,.story-stage[data-scene="3"]:after,.story-stage[data-scene="-1"]:after,.story-stage[data-scene="2"]:after{background:none}
 .chapter,.chapter[data-chapter="1"],.chapter[data-chapter="2"],.chapter[data-chapter="3"]{display:block;top:auto;bottom:65px;left:6vw;width:88%;transform:none}
 .chapter h1,.chapter h2,.chapter[data-chapter="2"] h2,.chapter[data-chapter="3"] h2{font-size:clamp(26px,7.2vw,34px);line-height:1.1;max-width:100%;margin-bottom:12px}
 .chapter .eyebrow,.chapter[data-chapter="3"] .eyebrow{display:block;font-size:11px;letter-spacing:.1em;margin-bottom:10px}
 .chapter[data-chapter="1"] p,.chapter[data-chapter="2"] p{display:block;font-size:15px;line-height:1.45;margin-bottom:14px;max-width:100%}
 .chapter[data-chapter="2"] .button{display:none}
 .chapter[data-chapter="0"] p,.chapter[data-chapter="3"] p{display:none}
 .story-bottom{bottom:10px}
}
@media(max-width:800px) and (max-height:650px){
 .photo-story,.story-poster{height:calc(100% - 215px)}
 .chapter h1,.chapter h2,.chapter[data-chapter="2"] h2,.chapter[data-chapter="3"] h2{font-size:27px}
 .chapter[data-chapter="1"] p,.chapter[data-chapter="2"] p{font-size:14px;margin-bottom:0}
 .chapter .eyebrow{font-size:10px;margin-bottom:8px}
}
@media(prefers-reduced-motion:reduce){.chapter:not([data-chapter="0"]){display:none}}
@media(max-width:800px){
 .photo-story,.story-poster{height:min(58%,100vw)}
 .chapter,.chapter[data-chapter="1"],.chapter[data-chapter="2"],.chapter[data-chapter="3"]{top:calc(min(58%,100vw) + 18px);bottom:auto}
 .chapter h1{max-width:310px}
}
@media(max-width:800px) and (max-height:650px){
 .photo-story,.story-poster{height:52%}
 .chapter,.chapter[data-chapter="1"],.chapter[data-chapter="2"],.chapter[data-chapter="3"]{top:calc(52% + 12px);bottom:auto}
 .chapter[data-chapter="1"] p,.chapter[data-chapter="2"] p{display:none}
}
/* Balanced mobile framing: closer rooms, immersive chair and smile. */
@media(max-width:800px){
 .photo-story{height:100%;background:var(--deep)}
 .story-poster{height:62%}
 .story-poster img,.photo-story img[data-photo="0"],.photo-story img[data-photo="1"]{object-fit:cover;object-position:center}
 .photo-story img[data-photo="0"],.photo-story img[data-photo="1"]{height:62%;background:var(--deep)}
 .photo-story img[data-photo="2"],.photo-story img[data-photo="3"]{height:100%;object-fit:cover;object-position:50% 38%;background:var(--deep)}
 .chapter,.chapter[data-chapter="1"]{top:calc(62% + 16px);bottom:auto}
 .chapter[data-chapter="2"],.chapter[data-chapter="3"]{top:auto;bottom:calc(72px + env(safe-area-inset-bottom));text-shadow:0 1px 12px #102e2580}
 .chapter[data-chapter="2"] h2,.chapter[data-chapter="3"] h2{font-size:clamp(29px,8vw,37px);max-width:340px}
 .chapter[data-chapter="2"] p{display:none}
 .chapter[data-chapter="2"] .button{display:inline-flex;text-shadow:none}
 .story-stage[data-scene="2"]:after,.story-stage[data-scene="3"]:after{background:linear-gradient(0deg,rgba(8,30,24,.93),rgba(8,30,24,.67) 26%,transparent 66%)}
}
@media(max-width:800px) and (max-height:650px){
 .chapter,.chapter[data-chapter="1"]{top:calc(62% + 10px)}
 .chapter[data-chapter="2"],.chapter[data-chapter="3"]{top:auto;bottom:62px}
 .chapter h1,.chapter h2,.chapter[data-chapter="2"] h2,.chapter[data-chapter="3"] h2{font-size:26px;margin-bottom:10px}
 .chapter .eyebrow{margin-bottom:7px}
}
/* Opening photos flow into the background, with captions over the image. */
@media(max-width:800px){
 .story-poster,.photo-story img[data-photo="0"],.photo-story img[data-photo="1"]{height:74%}
 .chapter[data-chapter="0"],.chapter[data-chapter="1"]{top:47%;bottom:auto;text-shadow:0 1px 12px #102e2580}
 .chapter[data-chapter="0"] .button{ text-shadow:none }
 .story-stage[data-scene="0"]:after,.story-stage[data-scene="1"]:after{background:linear-gradient(180deg,rgba(13,25,21,0) 25%,rgba(13,25,21,.10) 37%,rgba(13,25,21,.58) 54%,rgba(13,25,21,.94) 68%,#0d1915 74%)}
}

/* Vector arrows render consistently on iPhone and desktop. */
.icon-arrow{display:inline-block;width:22px;height:22px;flex:0 0 22px;vertical-align:middle}
.scroll-hint .icon-arrow{width:20px;height:20px;flex-basis:20px}
@media(min-width:801px){
 .photo-story img.portrait{padding-left:32%;object-fit:cover;object-position:50% 38%;background:var(--deep);transform-origin:70% center}
 .chapter[data-chapter="2"],.chapter[data-chapter="3"]{width:35%;left:6vw}
 .chapter[data-chapter="2"] h2,.chapter[data-chapter="3"] h2{font-size:clamp(40px,4.2vw,65px)}
 .story-stage[data-scene="2"]:after,.story-stage[data-scene="3"]:after{background:linear-gradient(90deg,var(--deep) 32%,rgba(23,55,44,.72) 42%,rgba(23,55,44,.12) 62%,transparent 80%),linear-gradient(0deg,rgba(8,30,24,.35),transparent 35%)}
}
/* Continuous translucent treatment throughout the desktop tour. */
@media(min-width:801px){
 .photo-story img.portrait{padding-left:0;object-fit:cover;object-position:50% 28%;background:transparent;transform-origin:center}
 .story-stage:after,.story-stage[data-scene="-1"]:after,.story-stage[data-scene="2"]:after,.story-stage[data-scene="3"]:after{background:linear-gradient(90deg,rgba(23,55,44,.83),rgba(23,55,44,.64) 32%,rgba(23,55,44,.24) 62%,rgba(23,55,44,.08)),linear-gradient(0deg,rgba(8,30,24,.28),transparent 35%)}
}

/* Final framing balance and lower opening captions. */
@media(min-width:801px){
 .photo-story img.portrait{padding-left:27%;object-position:50% 34%;background:var(--deep);transform-origin:70% center}
 .story-stage:after,.story-stage[data-scene="-1"]:after,.story-stage[data-scene="2"]:after,.story-stage[data-scene="3"]:after{background:linear-gradient(90deg,rgba(23,55,44,.87),rgba(23,55,44,.76) 27%,rgba(23,55,44,.46) 43%,rgba(23,55,44,.14) 64%,rgba(23,55,44,.05)),linear-gradient(0deg,rgba(8,30,24,.28),transparent 35%)}
 .photo-story img.portrait{mask-image:linear-gradient(90deg,transparent 24%,#000 44%);-webkit-mask-image:linear-gradient(90deg,transparent 24%,#000 44%)}
}
@media(max-width:800px){
 .chapter[data-chapter="0"],.chapter[data-chapter="1"]{top:57%;bottom:auto}
}
@media(max-width:800px) and (max-height:650px){
 .chapter[data-chapter="0"],.chapter[data-chapter="1"]{top:54%;bottom:auto}
}
@media(min-width:801px){
 .photo-story img.portrait{mask-image:none;-webkit-mask-image:none}
 .story-stage:after,.story-stage[data-scene="-1"]:after,.story-stage[data-scene="2"]:after,.story-stage[data-scene="3"]:after{background:linear-gradient(90deg,rgba(23,55,44,.98),rgba(23,55,44,.98) 27%,rgba(23,55,44,.58) 43%,rgba(23,55,44,.14) 64%,rgba(23,55,44,.05)),linear-gradient(0deg,rgba(8,30,24,.28),transparent 35%)}
}
.photo-plane{position:absolute;inset:0;opacity:0;background:var(--deep)}
@media(min-width:801px){
 .portrait-plane:before{content:'';position:absolute;inset:-20px;background-image:var(--backdrop);background-size:cover;background-position:center 34%;filter:blur(18px);opacity:.75}
 .photo-story img.portrait{background:transparent;mask-image:linear-gradient(90deg,transparent 27%,#000 45%);-webkit-mask-image:linear-gradient(90deg,transparent 27%,#000 45%)}
 .story-stage:after,.story-stage[data-scene="-1"]:after,.story-stage[data-scene="2"]:after,.story-stage[data-scene="3"]:after{background:linear-gradient(90deg,rgba(23,55,44,.83),rgba(23,55,44,.64) 32%,rgba(23,55,44,.24) 62%,rgba(23,55,44,.08)),linear-gradient(0deg,rgba(8,30,24,.28),transparent 35%)}
}
/* Slightly wider view of the treatment chair, desktop only. */
@media(min-width:801px){
 .photo-story img.portrait[data-photo="2"]{padding-left:39%;mask-image:linear-gradient(90deg,transparent 39%,#000 51%);-webkit-mask-image:linear-gradient(90deg,transparent 39%,#000 51%)}
}
/* Supporting copy remains visible on the final two mobile tour stops. */
@media(max-width:800px){
 .chapter[data-chapter="2"] p,.chapter[data-chapter="3"] p{display:block;font-size:16px;line-height:1.45;max-width:360px;margin:0 0 16px;color:#f1f3ee}
 .story-stage[data-scene="2"]:after,.story-stage[data-scene="3"]:after{background:linear-gradient(0deg,rgba(8,30,24,.94),rgba(8,30,24,.76) 35%,rgba(8,30,24,.18) 66%,transparent 85%)}
}
@media(max-width:800px) and (max-height:650px){
 .chapter[data-chapter="2"] p,.chapter[data-chapter="3"] p{font-size:14px;line-height:1.4;margin-bottom:12px}
 .chapter[data-chapter="2"] h2,.chapter[data-chapter="3"] h2{font-size:25px;margin-bottom:10px}
}
/* Restore the locally owned introduction on the mobile opening. */
@media(max-width:800px){
 .chapter[data-chapter="0"]{top:auto;bottom:calc(72px + env(safe-area-inset-bottom))}
 .chapter[data-chapter="0"] p{display:block;font-size:16px;line-height:1.45;max-width:360px;margin:0 0 16px;color:#f1f3ee}
}
@media(max-width:800px) and (max-height:650px){
 .chapter[data-chapter="0"]{top:auto;bottom:62px}
 .chapter[data-chapter="0"] p{font-size:14px;line-height:1.4;margin-bottom:12px}
}

/* Lower the lounge caption on phones. */
@media(max-width:800px){
 .chapter[data-chapter="1"]{top:63%;bottom:auto}
}
@media(max-width:800px) and (max-height:650px){
 .chapter[data-chapter="1"]{top:59%;bottom:auto}
}

/* Services page shares the clinic's type, palette and navigation. */
.social-links{display:flex;gap:22px;flex-wrap:wrap}.social-links a{display:inline-flex;align-items:center;min-height:44px}
.services-preview{padding:75px 7vw;background:#e8ece5}.services-preview p{max-width:660px;font-size:18px}.services-preview h2{margin-bottom:20px}
.services-hero{padding:160px 7vw 80px;display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center}.services-hero h1{font-size:clamp(42px,5vw,72px)}.services-hero p{max-width:550px;font-size:18px;color:var(--muted)}.services-hero img{width:100%;height:630px;object-fit:cover;object-position:center 35%;border-radius:3px}.services-hero .text-link,.services-close .text-link{display:table;margin-top:24px}.breadcrumbs{display:block;margin-bottom:32px;font-size:14px}.services-hero .eyebrow{margin-bottom:18px}
.services-list,.service-area,.service-faq,.services-close{padding:80px 7vw}.services-list{background:#e8ece5}.section-intro{max-width:690px;font-size:18px;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 7vw;margin-top:40px}.service-grid article{padding:35px 0;border-top:1px solid #c4cec4;scroll-margin-top:110px}.service-grid h3{font-size:30px}.service-grid p{max-width:560px;color:var(--muted);margin-bottom:0}.service-grid .eyebrow{margin-bottom:16px}.emergency-panel{display:grid;grid-template-columns:1fr 1fr;gap:7vw;padding:75px 7vw;background:var(--deep);color:var(--cream)}.emergency-panel p{color:#e1e8e0}.service-area{max-width:1000px}.service-area p{font-size:18px}.service-area address{font-style:normal;margin-top:24px}.service-faq{background:#e8ece5}.service-faq details{max-width:900px;padding:22px 0;border-bottom:1px solid #c4cec4}.service-faq summary{font-size:19px;cursor:pointer;padding-right:20px}.service-faq details p{margin:16px 0 0;max-width:760px}.services-close{text-align:center}.services-close .text-link{margin:24px auto 0}.services-close p{font-size:18px}
@media(min-width:801px) and (max-width:1050px){.desktop-nav{gap:18px}.site-header{padding:0 3vw}}
@media(max-width:800px){.services-hero{grid-template-columns:1fr;padding:115px 6vw 45px;gap:30px}.services-hero img{height:360px}.services-hero h1{font-size:45px}.services-hero p{font-size:17px}.service-grid,.emergency-panel{grid-template-columns:1fr;gap:0}.services-list,.service-area,.service-faq,.services-close,.services-preview,.emergency-panel{padding:48px 6vw}.service-grid h3{font-size:27px}.service-grid article{padding:28px 0}.emergency-panel h2{margin-bottom:24px}footer{align-items:center}.services-hero .eyebrow{font-size:11px}}

.cbct-section{padding:80px 7vw;display:grid;grid-template-columns:1fr 1fr;gap:7vw}.cbct-section p,.cbct-section li{color:var(--muted)}.cbct-section ul{padding-left:22px}.cbct-section li{margin-bottom:12px}.cbct-section h3{margin-top:30px}.service-grid article p+p{margin-top:18px}.services-hero img{height:auto;max-height:720px;object-fit:contain}
@media(max-width:800px){.cbct-section{padding:48px 6vw;grid-template-columns:1fr;gap:10px}.services-hero img{height:auto;max-height:none}}

.services-preview{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:7vw;background:var(--cream)}.services-preview>img{display:block;width:100%;height:auto;border-radius:3px}.services-preview-copy p{max-width:540px}
@media(max-width:800px){.services-preview{grid-template-columns:1fr;gap:30px}}

.legacy-content{padding:150px 7vw 80px;min-height:75vh}.legacy-content img{max-width:100%;height:auto}
body.admin-bar .site-header{top:32px}body.admin-bar .story-stage{top:calc(var(--header-height) + 32px);height:calc(100svh - var(--header-height) - 32px)}
@media(max-width:800px){body.admin-bar .story-stage{top:calc(var(--header-height) + 32px);height:calc(100svh - var(--header-height) - 32px)}}
@media(max-width:782px){body.admin-bar .site-header{top:46px}body.admin-bar .story-stage{top:calc(var(--header-height) + 46px);height:calc(100svh - var(--header-height) - 46px)}}
@media(max-width:600px){body.admin-bar .site-header{top:0}body.admin-bar .story-stage{top:var(--header-height);height:calc(100svh - var(--header-height))}}
@media(prefers-reduced-motion:reduce){body.admin-bar .story-stage{top:0}}
