/* Blondie's portrait-screen edition. Loaded only at <=700px. */
.opening-scene{height:118svh;background:#281d26}.opening-sticky{height:100svh;min-height:650px;position:sticky;top:0}.opening-image picture{display:block;width:100%;height:100%}.opening-image img{object-position:51% 46%;filter:saturate(.78);transform:scale(calc(1.035 + var(--mobile-hero,0)*.07))}.opening-image{clip-path:inset(0 calc(var(--mobile-hero,0)*3.5%) calc(var(--mobile-hero,0)*5%) round 0 0 calc(var(--mobile-hero,0)*45%) 0)}
.opening-wash{background:linear-gradient(180deg,#20192366,transparent 38%,#251820df 94%),linear-gradient(90deg,#22192355,transparent 75%)}
.opening-caption{top:calc(102px + env(safe-area-inset-top,0px));left:21px;right:21px;font-size:8px}.opening-sticky h1{top:23%;left:20px;right:10px;font-size:20vw;line-height:.94;letter-spacing:-.075em;text-shadow:0 5px 25px #21131b35}.opening-sticky h1 i{display:block;font-size:.94em;line-height:.98;margin-top:5px}.opening-word{font-size:26vw;left:3vw;bottom:12%;color:#f8e7d2;line-height:.95;transform:translateX(calc(var(--mobile-hero,0)*-12px))}.opening-small{bottom:27%;left:23px;right:23px;display:block}.opening-small p{font-size:12px;line-height:1.5;max-width:195px}.opening-small a{max-width:195px;margin-top:15px;justify-content:space-between;min-height:44px}.opening-scroll{bottom:calc(26px + env(safe-area-inset-bottom,0px));font-size:9px}
/* Four visible destinations and one active editorial stage. */
.salon-selector{padding:64px 0 58px}.selector-heading{padding:0 23px;margin-bottom:28px}.selector-heading h2{font-size:17vw;line-height:.98;max-width:340px}.selector-heading>p{font-size:12px;line-height:1.6;max-width:275px;margin:22px 0 0}.salon-tabs{margin:0 23px 24px;border:0;gap:0;grid-template-columns:1fr 1fr}.salon-tabs button{padding:15px 0 14px;min-height:80px;border:0!important;border-bottom:1px solid #e7d6c049!important}.salon-tabs button:nth-child(even){padding-left:18px}.salon-tabs button>.eyebrow{font-size:7px;margin-bottom:7px;opacity:.55;letter-spacing:.09em}.salon-tabs strong{font-family:Bodoni,serif;font-size:26px;line-height:1.05;letter-spacing:-.03em}.salon-tabs .selector-plus{display:none}.salon-tabs button[aria-selected=true],.salon-tabs button[aria-selected=true]:hover{background:transparent;color:#e9c59a;border-bottom:2px solid #d9ac7b!important}.salon-tabs button:active{opacity:.7}
.mobile-experience .salon-stage{height:clamp(430px,60svh,550px);min-height:0;max-height:none;overflow:hidden;box-shadow:none}.mobile-experience .salon-panel{position:absolute;inset:0}.mobile-experience .salon-panel[hidden]{display:none}.mobile-experience .salon-panel img{transform:scale(1.035);transition:transform .7s;object-position:50% 25%}.mobile-experience .salon-panel-shade{background:linear-gradient(0deg,#1b1421f2 0%,#1b142175 43%,transparent 80%)}.salon-panel-copy{left:23px;right:23px;bottom:32px}.salon-panel h3{font-size:18vw;line-height:.95;margin:16px 0 18px}.salon-panel h3 i{display:block;margin:4px 0 0;font-size:.75em}.salon-panel-copy>p:not(.eyebrow){font-size:12px;max-width:260px}.salon-panel-copy>div{gap:25px;margin-top:24px}.salon-panel .button{min-height:48px;padding:13px 21px}.salon-panel .underlink{font-size:12px;min-height:44px;display:flex;align-items:center}.salon-panel-index{top:25px;right:23px;font-size:9px}
/* The portrait touches the edge; the name sits across the image like a cover line. */
.cast-story{padding:70px 0 40px;background:radial-gradient(ellipse at 85% 50%,var(--cast-tint,#6d4d40),transparent 70%),#271d26;transition:background-color .5s}.cast-heading{padding:0 22px}.cast-heading h2{font-size:20vw;line-height:.88;letter-spacing:-.06em;margin:26px 0 30px}.cast-heading h2 i{margin-left:10vw}.cast-heading-bottom{position:relative;top:auto;padding:0 23px 10px;background:none;backdrop-filter:none;border:0}.cast-heading-bottom>p{font-size:11px;max-width:240px;line-height:1.6}.cast-gallery{padding:25px 0 32px 18px;gap:14px;scroll-padding-left:18px;align-items:start}.cast-portrait:nth-child(n){flex-basis:85vw;margin-top:0;scroll-snap-stop:always}.cast-portrait:nth-child(even){margin-top:25px}.cast-portrait figure,.cast-portrait:nth-child(3n) figure{height:132vw;max-height:610px;min-height:0;overflow:hidden;box-shadow:12px 22px 40px #140e1b38}.cast-portrait img{object-position:50% 25%;transform:scale(1.055);filter:saturate(.66);transition:transform .65s,filter .65s}.cast-portrait.is-current img{transform:scale(1);filter:saturate(.88)}.cast-portrait figcaption{padding:115px 15px 25px;background:linear-gradient(transparent,#1e111ee8);gap:12px}.cast-name{font-size:clamp(52px,14vw,65px);line-height:.94;letter-spacing:-.065em;transform:translateY(8px);transition:transform .55s}.cast-portrait.is-current .cast-name{transform:none}.cast-location{font-size:10px;letter-spacing:.1em}.cast-mobile-book{display:block;font-size:10px;letter-spacing:.04em;width:max-content;padding:10px 0 3px;border-bottom:1px solid #eee0ce66}.cast-bottom{padding:0 23px;gap:20px;font-size:10px}.cast-bottom>span{max-width:140px}.cast-bottom a{min-height:44px;display:flex;align-items:start;padding-top:4px}
/* A darker room: a decisive mask, once on entry. */
.cut-scene{background:#121312}.cut-sticky{height:100svh;min-height:760px}.cut-title{top:65px;left:20px;right:10px}.cut-title>span{font-size:44px}.cut-title h2{font-size:25vw;letter-spacing:-.08em;line-height:.95}.cut-image{inset:0;clip-path:inset(0)}.mobile-experience.mobile-motion .cut-image{clip-path:inset(14% 10% 12% 10%);transition:clip-path 1s cubic-bezier(.22,.75,.2,1)}.mobile-experience.mobile-motion .cut-scene.in-view .cut-image{clip-path:inset(0)}.cut-image img{filter:saturate(.1) contrast(1.1);object-position:52% 50%;transform:scale(1.04)}.cut-shade{background:linear-gradient(0deg,#111312 0%,#11131255 55%,#1113128a)}.cut-copy{bottom:58px;left:23px;right:23px}.cut-copy h3{font-size:17vw;line-height:.95}.cut-copy h3 i{color:#dac19b}.cut-copy>div{gap:18px}.cut-copy .button{width:100%;justify-content:center;min-height:52px}
/* A deliberate final decision, with a real Noona continuation. */
.booking-finale{padding:0;display:block;background:#d9c7b0}.booking-invitation{min-height:65svh;padding:75px 23px 55px;display:flex;flex-direction:column;justify-content:end;position:relative}.booking-invitation h2{font-size:24vw;line-height:.9;letter-spacing:-.075em;margin:28px 0}.booking-invitation h2 i{color:#76523f}.booking-invitation>p:last-child{font-size:13px;max-width:250px;line-height:1.6}.booking-backdrop{height:72svh}.booking-backdrop img{object-position:65% 50%}.booking-atmosphere{background:linear-gradient(0deg,#d9c7b0 25%,#e6d1bcb0 65%,#d7bb9b66)}.reservation-panel{padding:30px 23px calc(36px + env(safe-area-inset-bottom,0px));background:#f3eade;border:0;box-shadow:0 -20px 60px #34231922}.reservation-heading{margin-bottom:20px}.reservation-panel h3{font-size:18vw;line-height:1}.reservation-panel>p{font-size:12px;margin:18px 0 28px;max-width:300px}.reservation-choice{padding:23px 3px;grid-template-columns:21px 1fr 24px;gap:11px;min-height:89px}.reservation-choice strong{font-family:Bodoni,serif;font-size:30px;line-height:1}.reservation-choice small{font-size:10px;margin-top:10px}.reservation-choice:active{background:#e8d9c5}.reservation-footer{font-size:9px;margin-top:22px}
.mobile-only{display:block}.page-home .footer{padding-bottom:calc(35px + env(safe-area-inset-bottom,0px))}
@media(max-height:740px){.opening-sticky h1{top:23%;font-size:19vw}.opening-small{bottom:25%}.opening-word{bottom:9%}.opening-scroll{bottom:16px}.opening-caption{top:96px}}
@media(prefers-reduced-motion:reduce){.opening-scene{height:auto}.opening-sticky{position:relative}.opening-image{clip-path:none}.opening-image img{transform:none}.cast-portrait img,.cast-name{transform:none!important;transition:none}.mobile-experience .salon-panel img{transform:none;transition:none}.mobile-experience .cut-image{clip-path:none;transition:none}.reservation-choice{transition:none}}

/* Mobile review: keep the cover line in frame and reserve the device's safe edges. */
.cast-heading h2 i{font-size:.87em;margin-left:6vw}
.page-home .header{padding-top:env(safe-area-inset-top,0px)}
html{scroll-padding-top:calc(88px + env(safe-area-inset-top,0px))}
.mobile-experience .salon-tabs button[aria-selected=true] strong{font-style:italic}
@media(prefers-reduced-motion:reduce){.intro-entry .opening-image{min-height:650px}.opening-word{transform:none}}

/* Keep the open navigation below the safe-area-aware header. */
.page-home #mobile-menu{top:calc(72px + env(safe-area-inset-top,0px));padding-bottom:calc(32px + env(safe-area-inset-bottom,0px))}

/* Final motion polish: stable snapping and controls, no smoothing lag on scroll. */
.cast-gallery{overscroll-behavior-x:contain}.cast-mobile-book{min-height:44px;display:flex;align-items:center;padding:8px 0}
.mobile-motion .opening-sticky h1{transform:translateY(calc(var(--mobile-hero,0)*-9px))}
@media(prefers-reduced-motion:reduce){.mobile-experience.mobile-motion .cut-image,.mobile-experience .cut-image{clip-path:none!important;transition:none!important}.opening-sticky h1{transform:none!important}.cast-story{transition:none}}

/* Compact supporting chapter: four choices, one active visual stage. */
.salon-selector{padding:45px 0}.selector-heading{margin-bottom:18px}.selector-heading h2{font-size:13vw}.selector-heading>p{margin:15px 0 0}.salon-tabs{margin-bottom:18px}.salon-tabs button{min-height:66px;padding-top:12px;padding-bottom:12px}.salon-panel h3{font-size:16vw}
.cast-bottom{display:block;padding-bottom:10px}.cast-bottom>span{display:block;max-width:none;margin-bottom:16px}.cast-salon-links{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.cast-salon-links a{min-height:46px;align-items:center;padding:12px 0;border-bottom:1px solid #e6d7c133;font-size:12px}

.selector-heading h2 i{display:block}
