@font-face{font-family:Montserrat;src:url('assets/fonts/Montserrat.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}
h1,h2,h3,.display{font-family:Montserrat,Inter,sans-serif;font-weight:700;letter-spacing:-.055em}
.principles strong,.lip-message p,.photo-label>span{font-family:Montserrat,Inter,sans-serif;font-weight:700}
.hero-title{font-size:clamp(68px,6.65vw,103px);font-weight:700;line-height:1.04;letter-spacing:-.065em}
.display{font-size:clamp(40px,4.25vw,64px);line-height:1.12}
.text-light{background-image:linear-gradient(110deg,#e7faff 0%,#9ceaff 25%,#45b4d9 48%,#f6fdff 54%,#75d7f3 65%,#e2faff 100%);background-size:240% 100%}
.hero-visual{overflow:hidden}
.hero-visual:before{content:'';position:absolute;z-index:3;inset:-15%;pointer-events:none;background:linear-gradient(112deg,transparent 35%,#a1e9ff08 43%,#d7faff47 48%,#ffffff22 50%,transparent 59%);mix-blend-mode:screen;transform:translateX(-110%);animation:portrait-reflection 11s ease-in-out infinite}
.hero-visual img{animation:portrait-light 9s ease-in-out infinite}
.hero-orbit{animation:orbit-light 10s ease-in-out infinite}
.hero-signature{animation:signature-float 7s ease-in-out infinite;will-change:transform;border-color:#b7eeff70;background:linear-gradient(125deg,#7eb7ce38,#0c2335a8 45%,#77cdea24);box-shadow:inset 0 1px 0 #f0fcff6b,inset 0 -1px 0 #6ccee92a,0 16px 45px #0006,0 0 28px #55ccf522}
.hero-signature:after{content:'';position:absolute;left:14%;right:14%;height:1px;top:-1px;background:linear-gradient(90deg,transparent,#fff,transparent);box-shadow:0 0 14px 2px #a1e8ffb3;animation:signature-rim 5s ease-in-out infinite;pointer-events:none}
.hero-signature:before{background:linear-gradient(115deg,transparent 30%,#fff6 47%,transparent 60%);background-size:250% 100%;animation:glass-sheen 7s ease-in-out infinite}
.signature-mark{color:#d6f5ff;text-shadow:0 0 16px #8fd6f840}.hero-signature small{color:#b0d2e1}
.button-primary,.nav-cta,.floating-wa{isolation:isolate;overflow:hidden;animation:cta-aura 3.8s ease-in-out infinite}
.button-primary:before,.nav-cta:before,.floating-wa:before{content:'';position:absolute;z-index:1;inset:-2px;pointer-events:none;border-radius:inherit;background:linear-gradient(112deg,transparent 28%,#fff1 37%,#fff9 48%,#fff2 54%,transparent 63%);transform:translateX(-145%);animation:cta-reflection 5.5s ease-in-out infinite}
.button-primary:after,.nav-cta:after,.floating-wa:after{content:'';position:absolute;z-index:0;inset:0;pointer-events:none;border-radius:inherit;border:1px solid #efffff78;box-shadow:inset 0 1px 0 #fffc,inset 0 -2px 5px #009fc83b}
.button-primary:hover{filter:brightness(1.07);box-shadow:0 0 50px #46d0f34d;transform:translateY(-3px)}
.button-primary svg,.nav-cta svg,.floating-wa svg{position:relative;z-index:2}
.floating-wa{border-color:#91e9ff7d;background:linear-gradient(135deg,#28617ce8,#0b2639ee)}
.floating-wa>svg{filter:drop-shadow(0 0 6px #99efff80)}
.nav-cta{border-color:#b2e8fb55;background:linear-gradient(120deg,#70bbd42e,#27475d4d)}
.case-carousel{padding:28px 0 24px;overflow:clip;position:relative;background:radial-gradient(ellipse at 50% 50%,#124a641f,transparent 70%)}
.carousel-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}
.carousel-heading>span{display:flex;align-items:center;gap:10px;font-size:9px;letter-spacing:.17em;color:#91bfd2}
.carousel-heading i{width:5px;height:5px;display:block;border-radius:50%;background:#91e7ff;box-shadow:0 0 14px #71dcff;animation:dot-breathe 3s ease-in-out infinite}
.carousel-toggle{padding:7px 12px;background:#16334666;border:1px solid #94d9f333;border-radius:22px;display:flex;align-items:center;gap:7px;font-size:10px;color:#a9d3e5}
.pause-icon{font-size:13px;line-height:1}.carousel-window{overflow:hidden;padding-bottom:24px;scrollbar-gutter:stable;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.carousel-track{display:flex;width:max-content;animation:case-marquee 48s linear infinite;will-change:transform}
.carousel-group{display:flex;gap:12px;padding:0 12px 0 0}
.carousel-card{width:272px;padding:9px;border-radius:19px;flex:none;background-color:#0c202c8c;transition:border-color .3s,box-shadow .3s}
.carousel-card img{width:100%;height:208px;object-fit:contain;border-radius:11px;background:#06121b;filter:none}
.carousel-card>span{display:flex;justify-content:space-between;align-items:center;padding:13px 5px 5px;font-size:8px;letter-spacing:.1em;color:#94bfd3;gap:10px}
.carousel-card>span>svg{width:13px;height:13px}
.carousel-card:hover{border-color:#a7eaff80;box-shadow:0 0 28px #48c1ef24}
.case-carousel[data-paused=true] .carousel-track,.case-carousel[data-visible=false] .carousel-track,.carousel-window:hover .carousel-track,.carousel-window:focus-within .carousel-track{animation-play-state:paused}
.carousel-note{font-size:9px;line-height:1.7;color:#688b9f;margin-top:18px;margin-bottom:0}
.intro{padding-top:86px}.principles{gap:18px;padding-top:28px}
.principles>span{display:flex;align-items:center;gap:15px;flex:1;padding:20px 17px;border-radius:18px;border:1px solid #91d6ed30;background:linear-gradient(120deg,#1b53652a,#0a1c2933);position:relative;overflow:hidden}
.principles i{display:grid;place-items:center;width:38px;height:38px;flex:none;margin:0;border:1px solid #5dcce95c;border-radius:50%;background:#16506a45;color:#aff1ff;font-size:12px;box-shadow:0 0 20px #63d5ef12;animation:principle-pulse 5s ease-in-out infinite}
.principles strong{font-size:15px;line-height:1.45;font-weight:700;letter-spacing:-.02em;color:#d2e7f0}
.principles>span:after{content:'';position:absolute;left:0;top:18%;bottom:18%;width:2px;background:linear-gradient(transparent,#7fddff,transparent);box-shadow:0 0 13px #73daff}
.principles>span:nth-child(2) i{animation-delay:1.3s}.principles>span:nth-child(3) i{animation-delay:2.6s}
.principles.is-visible>span{animation:principle-arrive .8s cubic-bezier(.2,.7,.2,1) both}.principles.is-visible>span:nth-child(2){animation-delay:.13s}.principles.is-visible>span:nth-child(3){animation-delay:.26s}
.journey-sticky .display{font-size:clamp(38px,4.1vw,62px)}
.botox-word{display:inline-block;position:relative;background:linear-gradient(112deg,#edfaff 10%,#c2edff 30%,#fff 45%,#6bceec 52%,#eafaff 62%);background-size:230% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:botox-polish 6s ease-in-out infinite;filter:drop-shadow(0 0 22px #52cfff26)}
.botox-word:after{content:'';position:absolute;height:2px;bottom:-5px;left:3px;right:3px;background:linear-gradient(90deg,transparent,#a9eeff,transparent);transform-origin:left;animation:botox-underline 6s ease-in-out infinite;box-shadow:0 0 18px #67d8ff}
.case-region{min-width:0}.scene-rail{display:none}
.scene{--stage-opacity:1;height:350px;margin:15px 0 0;background:none;border:0;border-radius:26px;box-shadow:none;backdrop-filter:none;isolation:isolate}
.scene:before{content:'';position:absolute;inset:0;border-radius:inherit;opacity:var(--stage-opacity,1);background:radial-gradient(ellipse at 50% 60%,#15495a7d,#06131b91 80%);border:1px solid #b2e9ff33;box-shadow:inset 0 1px 0 #d4f5ff30,0 12px 45px #0003;transition:opacity .25s;pointer-events:none}
.scene-home{position:relative;--stage-opacity:1;border-radius:26px}
.scene-home:before{content:'';position:absolute;inset:15px 0 0;border-radius:inherit;opacity:var(--stage-opacity,1);background:radial-gradient(ellipse at 50% 60%,#15495a7d,#06131b91 80%);border:1px solid #b2e9ff33;box-shadow:inset 0 1px 0 #d4f5ff30,0 12px 45px #0003;transition:opacity .15s linear;pointer-events:none}
.scene:before{display:none}
.scene-halo{opacity:var(--stage-opacity,1);transition:opacity .3s}.scene-caption{opacity:var(--stage-opacity,1);left:18px;right:18px;bottom:16px;transition:opacity .25s}
.scene-halo,.scene-caption{transition:opacity .15s linear}
.scene canvas{height:calc(100% - 35px)}.scene.stage-free .scene-caption{visibility:hidden}
.fallback-vial{width:116px;height:180px;border-color:#b2e9fb7a;background:linear-gradient(90deg,#ceeaff12,#e9faff66 8%,#17425611 20%,#8fcef322 70%,#d9faff66 94%,#c1edff12)}
.fallback-vial:before{background:linear-gradient(90deg,#111820,#42484b,#11161a);height:29px;top:-22px;left:13px;right:13px;border-radius:8px}
.fallback-vial>span{font:bold italic 22px Georgia,serif;background:#eeeee5;color:#352333;padding:10px 5px 3px;width:100%;text-align:center}
.fallback-vial>small{font-size:8px;background:#79385f;color:#fff;margin:0;width:100%;padding:5px;letter-spacing:0}
.scene-copy{transition:opacity .3s}.journey-sticky:has(.scene.stage-free) .scene-copy{opacity:.6}
.case-card,.review,.lip-feature,.photo-label{--pointer-x:30%;--pointer-y:20%}
.case-card:after,.review:after,.lip-feature:after{content:'';position:absolute;inset:0;border-radius:inherit;background:radial-gradient(240px circle at var(--pointer-x) var(--pointer-y),#bbecff14,transparent 70%);pointer-events:none;opacity:0;transition:opacity .4s}
.case-card:hover:after,.review:hover:after,.lip-feature:hover:after{opacity:1}
.case-caption h3{font-size:19px;line-height:1.4}.case-caption>span{font-size:9px}
.photo-label{animation:photo-label-float 8s ease-in-out infinite;border-color:#b0eaff50;box-shadow:inset 0 1px 0 #dff8ff40,0 18px 45px #0005,0 0 30px #58c5eb18}
.review{transition:border-color .4s,box-shadow .4s}.review:hover{border-color:#b5e9ff55;box-shadow:0 20px 70px -35px #4fc8ff35}
.care-item>span{font-size:11px;color:#9ce5fb}.care-item h3{font-size:20px;line-height:1.4}.section-label{font-size:10px}.clinical-note{font-size:11px}
.final-cta .display{font-size:clamp(52px,6.9vw,100px)}
@keyframes portrait-reflection{0%,46%,100%{transform:translateX(-115%);opacity:0}51%{opacity:.8}66%{transform:translateX(110%);opacity:.15}67%{opacity:0}}
@keyframes portrait-light{0%,100%{filter:brightness(1)}50%{filter:brightness(1.07)}}
@keyframes signature-float{0%,100%{transform:translate3d(0,0,0) rotate(-3deg)}50%{transform:translate3d(5px,-12px,0) rotate(-1.2deg)}}
@keyframes photo-label-float{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-7px) rotate(-1.7deg)}}
@keyframes signature-rim{0%,100%{opacity:.3;transform:scaleX(.55)}50%{opacity:.9;transform:scaleX(1)}}
@keyframes orbit-light{0%,100%{opacity:.3;transform:rotate(-25deg)}50%{opacity:.9;transform:rotate(-19deg)}}
@keyframes cta-aura{0%,100%{box-shadow:0 0 0 0 #6ce5ff00,0 0 20px #41b9e026}50%{box-shadow:0 0 0 5px #6ce5ff0c,0 0 38px #67d9ff55}}
@keyframes cta-reflection{0%,54%,100%{transform:translateX(-145%)}83%{transform:translateX(145%)}}
@keyframes dot-breathe{0%,100%{opacity:.5}50%{opacity:1;box-shadow:0 0 16px 2px #71dcff7a}}
@keyframes case-marquee{to{transform:translateX(-50%)}}
@keyframes principle-pulse{0%,100%{box-shadow:0 0 0 0 #5bd9ff00,0 0 10px #63d5ef12}50%{box-shadow:0 0 0 5px #5bd9ff09,0 0 24px #63d5ef30;border-color:#93e7ff99}}
@keyframes principle-arrive{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes botox-polish{0%,100%{background-position:0% 50%;filter:drop-shadow(0 0 14px #52cfff20)}55%{background-position:100% 50%;filter:drop-shadow(0 0 24px #80e3ff40)}}
@keyframes botox-underline{0%,100%{opacity:.15;transform:scaleX(.25)}50%{opacity:1;transform:scaleX(1)}}
@media(max-height:780px) and (min-width:901px){.scene{height:280px;margin-top:5px}.journey-sticky .display{font-size:44px}}
@media(max-width:1100px){.hero-title{font-size:79px}.principles strong{font-size:13px}.principles>span{padding:17px 13px;gap:11px}.principles i{width:32px;height:32px;font-size:10px}.journey-sticky .display{font-size:45px}.scene{height:320px}.display{font-size:48px}.case-caption h3{font-size:17px}}
@media(max-width:900px){.hero-title{font-size:65px}.principles{gap:11px}.principles>span{padding:17px 10px;gap:9px}.principles strong{font-size:12px}.principles i{width:27px;height:27px;font-size:9px}.display{font-size:41px}.journey-sticky .display{font-size:37px}.scene{height:300px}.doctor-copy .display{font-size:37px}.office-header .display{font-size:35px}.case-caption h3{font-size:16px}.lip-heading .display{font-size:38px}}
@media(max-width:680px){
 .hero-title{font-size:clamp(37px,11.7vw,71px);line-height:1.08;letter-spacing:-.065em}.hero-signature{animation-duration:6.5s;right:23px}.hero-signature>div{font-size:10px}.hero-signature small{font-size:7px}.signature-mark{font-size:28px}
 .hero-copy{margin-top:23px}.hero{min-height:930px}.scroll-cue{margin-top:37px}.display{font-size:clamp(31px,8.7vw,48px);line-height:1.15}.intro{padding-top:58px}.case-carousel{padding-top:8px;padding-bottom:16px}.carousel-heading{margin-bottom:16px;gap:10px}.carousel-heading>span{font-size:7px;letter-spacing:.12em}.carousel-toggle{font-size:9px;padding:6px 10px}.carousel-card{width:220px;padding:8px;border-radius:17px}.carousel-card img{height:192px}.carousel-card>span{font-size:7px;padding:11px 3px 4px;letter-spacing:.06em}.carousel-group{gap:10px;padding-right:10px}.carousel-track{animation-duration:42s}.carousel-note{font-size:8px;margin-top:14px}.carousel-window{mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
 .principles{display:grid;grid-template-columns:1fr;gap:14px;margin-top:32px;padding-top:23px}.principles>span{padding:19px 20px;gap:18px;border-radius:18px}.principles strong{font-size:17px}.principles i{width:41px;height:41px;font-size:12px}
 .journey-sticky{display:block;position:static}.journey-sticky .display{font-size:clamp(34px,10.2vw,54px)}.journey-sticky .eyebrow{font-size:10px}.journey-intro{font-size:13px;line-height:1.9}.scene-home{height:305px;margin:25px 0 0}.scene-home:before{inset:0}.scene{position:relative;top:auto;width:100%;height:305px;margin:0;z-index:1;background:none;border:0;box-shadow:none;backdrop-filter:none}.scene-copy{display:none}
 .case-region{display:grid;grid-template-columns:minmax(0,1fr) 90px;gap:16px;align-items:start;position:relative;margin-top:20px}.case-stack{padding-top:0;min-width:0}.scene-rail{display:block;grid-column:2;grid-row:1;align-self:stretch;min-width:0;pointer-events:none}.scene-dock{position:sticky;top:100px;width:90px;height:230px}.scene.is-docked{height:230px;width:90px;--stage-opacity:0!important;overflow:visible;border-radius:0}.scene.is-docked:before,.scene.is-docked .scene-halo,.scene.is-docked .scene-caption{display:none}.scene.is-docked canvas{width:100%;height:100%;pointer-events:none}.scene.is-docked .fallback-vial{left:8px;top:70px;width:64px;height:105px;transform:none}.scene.is-docked .fallback-vial>span{font-size:13px}.scene.is-docked .fallback-vial>small{font-size:5px}.scene.is-docked .fallback-syringe{left:40px;top:4px;height:64px;width:8px;transform:none}.scene.is-docked .fallback-syringe:after{height:20px;left:3px}
 .case-card{padding:9px;border-radius:18px}.case-topline{display:block;font-size:6px;line-height:1.8;padding:4px 3px 10px;letter-spacing:.06em}.case-topline>span{display:block}.case-topline>span:last-child{color:#b0d5e4}.case-caption{padding:17px 4px 6px}.case-caption h3{font-size:15px;line-height:1.45;letter-spacing:-.045em}.case-caption p{font-size:10px;line-height:1.85}.case-caption>span{font-size:8px;line-height:1.8}.case-image{border-radius:11px}.expand{width:28px;height:28px;right:7px;bottom:7px}.expand svg{width:14px}.case-pause{gap:13px;margin:34px 0}.case-pause .mini-line{width:18px;flex:none}.case-pause p{font-size:17px;line-height:1.5}.clinical-note{font-size:10px;line-height:1.8;margin-inline:3px}.scene-caption{font-size:8px}
 .care-item h3{font-size:18px}.care-item>span{font-size:11px}.lip-heading .display{font-size:clamp(29px,8.3vw,46px)}.lip-feature .case-caption h3{font-size:17px}.doctor-copy .display{font-size:clamp(33px,9.5vw,48px)}.office-header .display{font-size:clamp(30px,8.2vw,45px)}.faq-heading .display{font-size:clamp(31px,9vw,48px)}.location-copy .display{font-size:clamp(30px,8.3vw,46px)}.final-cta .display{font-size:clamp(45px,12.6vw,73px)}.final-cta .button{font-size:11px}.section-label{font-size:8px}.eyebrow{font-size:9px}
}
@media(max-width:360px){.hero-title{font-size:37px}.hero-signature{top:335px;right:21px}.hero-signature>div{font-size:9px}.hero-signature small{font-size:6px}.hero-content{padding-top:420px}.hero{min-height:860px}.principles strong{font-size:15px}.principles>span{padding:17px 16px;gap:15px}.principles i{width:36px;height:36px}.case-region{grid-template-columns:minmax(0,1fr) 76px;gap:11px}.scene-dock,.scene.is-docked{width:76px;height:210px}.case-caption h3{font-size:13px}.case-caption p{font-size:10px}.case-caption>span{font-size:7px}.case-card{padding:7px}.scene-home,.scene{height:280px}.scene.is-docked{height:210px}.journey-sticky .display{font-size:33px}.carousel-heading>span{font-size:6.5px}.case-pause p{font-size:15px}.case-topline{font-size:5.5px}.final-cta .display{font-size:43px}}
.carousel-controls{display:flex;gap:9px;align-items:center}.motion-choice{font-size:10px;color:#b2def0;background:#16334666;border:1px solid #94d9f333;border-radius:22px;padding:7px 12px}
@media(max-width:680px){.carousel-heading{flex-wrap:wrap}.motion-choice{font-size:9px;padding:6px 9px}.carousel-controls{gap:6px;margin-right:54px}}
@media(prefers-reduced-motion:reduce){html:not(.motion-enabled) .carousel-window{overflow-x:auto;mask-image:none}html:not(.motion-enabled) .carousel-track{animation:none;transform:none;will-change:auto}html:not(.motion-enabled) .carousel-group[aria-hidden=true]{display:none}html:not(.motion-enabled) .carousel-toggle{display:none}html:not(.motion-enabled) .hero-signature,html:not(.motion-enabled) .photo-label{transform:none}html:not(.motion-enabled) .principles.is-visible>span{opacity:1;transform:none}html:not(.motion-enabled) .scene *{transition:none!important}}
