/* Real BDS media, tactile frames and a small theatrical opening. */
.curtain-stage{position:absolute;inset:0;z-index:12;overflow:hidden;pointer-events:none;contain:paint}
.curtain-stage[hidden]{display:none}.curtain-panel{position:absolute;top:0;bottom:0;width:50.2%;background-image:url('assets/sage-curtains.webp');background-size:200% 100%;will-change:transform;box-shadow:0 12px 40px #10281b77;transition:transform 1.55s cubic-bezier(.7,0,.18,1),border-radius 1.55s}
.curtain-left{left:0;background-position:left center}.curtain-right{right:0;background-position:right center}
.curtain-stage.is-open .curtain-left{transform:translate(-103%,-8%);border-bottom-right-radius:50%}.curtain-stage.is-open .curtain-right{transform:translate(103%,-8%);border-bottom-left-radius:50%}
.curtain-skip{pointer-events:auto;position:absolute;top:190px;left:50%;translate:-50% 0;border:1px solid #f4ecd790;background:#edf3e6ee;color:#273e30;font:600 14px 'DM Sans',sans-serif;border-radius:50px;padding:13px 20px;box-shadow:0 8px 30px #0002;cursor:pointer;white-space:nowrap;transition:opacity .15s}
.curtain-stage.is-open .curtain-skip{opacity:0;pointer-events:none}
.hero-smile-case:after,.credit-pass:after{content:'';position:absolute;right:0;bottom:0;width:23px;height:23px;background:linear-gradient(135deg,#c6cfbb66 0%,#fffdf7 45%,#d2d8c7 49%,#fffdf7 52%);border-top-left-radius:8px;box-shadow:-3px -3px 5px #24372c08;pointer-events:none}
.credit-pass{position:relative;overflow:hidden}
.film-section{padding-top:65px}.film-layout{gap:40px}.film-copy{order:0}.film-copy h2{max-width:900px;margin:auto}.film-copy>p:not(.eyebrow){font-size:19px;margin-top:18px}.film-copy .case-context{margin-top:10px!important}
.visit-reel{position:relative;order:1;display:grid;grid-template-columns:180px minmax(0,360px) 180px;align-items:center;gap:38px;width:100%;max-width:900px;justify-content:center;padding:15px 0 0}
.visit-reel .film-frame{width:100%;order:0;transform:rotate(-.5deg);box-shadow:10px 14px 0 #d3ddc266,0 18px 45px #283d2920;border-radius:22px;padding:7px}
.visit-reel .film-frame video{border-radius:15px;display:block;width:100%;height:auto;aspect-ratio:608/1080;object-fit:contain;background:#18291e}
.visit-reel .film-corner{top:18px;left:18px;font-size:11px;padding:5px 10px;pointer-events:none}
.visit-side{margin:0;position:relative;z-index:1}.visit-left{rotate:-8deg;translate:0 -20px}.visit-right{rotate:8deg;translate:0 30px}.phone-shell{border:5px solid #2a352b;border-radius:25px;padding:3px;background:#2a352b;box-shadow:0 22px 40px #31432d25;overflow:hidden}
.phone-shell video{display:block;width:100%;aspect-ratio:608/1080;object-fit:contain;border-radius:18px;background:#24372c}.visit-side figcaption{font-size:14px;font-weight:600;margin-top:19px;text-align:center;color:#46583c}.visit-side figcaption span{font-family:Georgia,serif;font-style:italic;color:#829468;margin-right:6px;font-weight:400;font-size:20px}
.reel-note{grid-column:1/-1;max-width:550px;margin:5px auto 0;font-size:12px;line-height:1.6;color:#596650;text-align:center}
.smile-studio{margin-top:30px;background:radial-gradient(ellipse at 50% 55%,#dce7cf,#f2f0e4 70%);border:1px solid #d7dfcb;border-radius:20px;padding:23px 16px 14px;overflow:hidden}
.studio-tabs{display:flex;justify-content:center;gap:7px;position:relative;z-index:3}.studio-tabs button{border:1px solid #b9c6ab;border-radius:30px;font:500 14px 'DM Sans',sans-serif;background:#faf9f0;padding:10px 17px;min-height:44px;color:#445a38;cursor:pointer;transition:background .2s,box-shadow .2s}.studio-tabs button[aria-pressed=true]{background:#2c4432;color:#fffdf3;border-color:#2c4432;box-shadow:0 6px 16px #2c443218}.studio-tabs button span{padding-left:5px}
.tablet-stack{height:370px;position:relative;display:flex;justify-content:center;align-items:center;perspective:1000px;margin:15px -16px 0}.tablet{position:absolute;border:7px solid #31392f;border-radius:21px;background:#31392f;box-shadow:0 14px 28px #26392730;overflow:hidden}.tablet img{display:block;width:100%;height:auto;object-fit:contain;background:#fff}.tablet-main{margin:0;z-index:2;width:225px;rotate:-3deg;transition:rotate .4s,transform .4s}.tablet-main:hover{rotate:0deg;transform:translateY(-4px)}.tablet-screen{background:#fff;overflow:hidden;border-radius:12px 12px 4px 4px;min-height:185px;display:flex;align-items:center}.tablet-main figcaption{font-size:10px;line-height:1.5;color:#faf9f0;padding:10px;text-align:center;background:#31392f}.tablet-camera{position:absolute;top:-5px;left:50%;width:4px;height:4px;background:#bbc1b3;border-radius:100%}.tablet-left{width:175px;left:8%;rotate:-13deg;transform:rotateY(10deg) translateY(15px);opacity:.9}.tablet-right{width:175px;right:8%;rotate:12deg;transform:rotateY(-12deg) translateY(24px);opacity:.9}.studio-note{font-size:11px;line-height:1.6;color:#5b6952;text-align:center;margin:0 auto;max-width:360px;min-height:36px}
.decision-story{max-width:700px;font-size:21px;line-height:1.75;margin:0 0 36px;color:#596650}.decision-story strong{color:#344b37;font-weight:500}
.route-map{height:290px;margin:40px auto 0;max-width:1100px;overflow:visible;position:relative}.train-lane{position:absolute;left:0;right:0;top:0;height:150px;overflow:hidden}.tooth-train{position:absolute;width:430px;max-width:none;height:auto;left:0;bottom:0;transform:translateX(0);animation:tooth-commute 12s cubic-bezier(.32,.04,.24,1) infinite;animation-play-state:paused;filter:drop-shadow(0 9px 5px #34472f19)}
.route-map.is-visible .tooth-train{animation-play-state:running}.route-track{top:152px;left:5%;right:5%;height:4px;background:#afbd9b}.route-track:after{content:'';position:absolute;top:8px;left:0;right:0;height:2px;background:#afbd9b80}.route-trace{background:#7f9365}.route-stop{top:137px;padding-top:50px}.route-stop:before{width:24px;height:24px}.route-stop b{font-size:26px}.route-stop small{font-size:13px}.route-illustration-note{font-size:12px;color:#68765b;margin:0 0 18px}.journey-section .text-link{font-size:16px}
@keyframes tooth-commute{0%,9%{transform:translateX(-102%)}58%,78%{transform:translateX(var(--train-travel,500px))}100%{transform:translateX(var(--train-exit,1200px))}}
.motion-off .tooth-train,.page-hidden .tooth-train{animation-play-state:paused!important}
@media(max-width:1000px){.visit-reel{grid-template-columns:150px minmax(0,330px) 150px;gap:23px}.tablet-left{left:8%}.tablet-right{right:8%}.tablet-stack{height:330px}.tablet-main{width:200px}.tablet-left,.tablet-right{width:150px}}
@media(max-width:700px){.curtain-skip{top:205px;font-size:12px}.film-section{padding-top:40px}.film-layout{gap:25px}.film-copy h2{font-size:58px;line-height:1.03}.film-copy h2 em{display:block}.film-copy>p:not(.eyebrow){font-size:17px}.film-copy .case-context{font-size:13px!important}.visit-reel{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 20px;max-width:370px;padding-inline:8px}.visit-reel .film-frame{grid-column:1/-1;grid-row:1;width:calc(100% - 14px);max-width:310px;justify-self:center}.visit-side{grid-row:2;max-width:140px;width:100%;justify-self:center}.visit-left{rotate:-5deg;translate:0 0}.visit-right{rotate:5deg;translate:0 0}.phone-shell{border-width:4px;border-radius:20px}.phone-shell video{border-radius:13px}.visit-side figcaption{font-size:12px;margin-top:13px}.visit-side figcaption span{font-size:16px}.reel-note{font-size:11px;margin-top:0}.smile-studio{padding-inline:10px;border-radius:15px}.tablet-stack{height:350px;margin-inline:-10px}.tablet-main{width:210px}.tablet-left{width:145px;left:8%}.tablet-right{width:145px;right:8%}.studio-tabs button{font-size:13px;padding-inline:14px}.studio-note{font-size:10px}.decision-story{font-size:18px;line-height:1.7;margin-bottom:28px}.route-map{height:230px;margin-top:25px;width:100%}.train-lane{top:0;height:116px}.tooth-train{width:290px}.route-track{top:118px}.route-stop{top:103px;padding-top:45px}.route-stop b{font-size:19px}.route-stop small{font-size:11px}.route-illustration-note{font-size:11px;line-height:1.6;max-width:270px}.route-stop:before{width:24px;height:24px}}
@media(max-width:370px){.film-copy h2{font-size:51px}.tablet-main{width:185px}.tablet-left,.tablet-right{width:125px}.tablet-stack{height:315px}.studio-tabs{gap:5px}.studio-tabs button{font-size:12px;padding-inline:11px}.route-stop b{font-size:17px}.route-stop small{font-size:10px}}
@media(prefers-reduced-motion:reduce){.curtain-stage{display:none!important}.tooth-train{animation:none;transform:translateX(var(--train-travel,100px))}.tablet-main,.studio-tabs button{transition:none}.tablet-main:hover{transform:none}}

@media(max-width:700px){.journey-section h2{font-size:clamp(42px,12.3vw,52px);line-height:1.04}.tooth-train{width:min(290px,95%)}}
