/* Location selection, staff editorial, and the booking finale. */
.salon-selector{padding:105px 5vw 120px;background:var(--scene-ink);color:var(--scene-cream)}
.selector-heading{display:flex;align-items:end;justify-content:space-between;gap:45px;margin-bottom:50px}.selector-heading h2{font-size:clamp(60px,7.7vw,120px);margin-top:25px;line-height:1}.selector-heading h2 i{color:#e1c19c}.selector-heading>p{font-size:13px;max-width:280px;margin-bottom:10px}
.salon-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-bottom:25px;border:1px solid #eee0ce55}.salon-tabs button{position:relative;background:transparent;color:inherit;border:0;border-right:1px solid #eee0ce55;text-align:left;padding:24px 23px;min-height:118px;transition:background .3s,color .3s}.salon-tabs button:last-child{border-right:0}.salon-tabs button>.eyebrow{display:block;font-size:9px;opacity:.75;margin-bottom:14px}.salon-tabs strong{font-weight:400;font-size:clamp(18px,1.7vw,28px);letter-spacing:-.04em}.selector-plus{position:absolute;right:20px;top:21px;font-size:20px}.salon-tabs button[aria-selected=true]{background:var(--scene-cream);color:var(--scene-ink)}.salon-tabs button:hover{background:#f2ece216}.salon-tabs button[aria-selected=true]:hover{background:var(--scene-cream)}.salon-tabs button:focus-visible{outline-offset:-5px;z-index:2}
.salon-stage{position:relative;min-height:640px;height:76svh;max-height:860px;isolation:isolate;box-shadow:0 30px 65px #160e193b}.salon-panel{position:absolute;inset:0;overflow:hidden}.salon-panel[hidden]{display:none}.salon-panel figure,.salon-panel-shade{position:absolute;inset:0}.salon-panel img{object-position:50% 28%;filter:saturate(.75)}.salon-panel:first-child img{object-position:50% 16%}.salon-panel-shade{background:linear-gradient(90deg,#1b1421d9 0%,#1b142140 68%,transparent),linear-gradient(0deg,#1b142180,transparent 55%)}.salon-panel-copy{position:absolute;left:5%;right:5%;bottom:55px;z-index:2}.salon-panel h3{font-size:clamp(70px,10vw,155px);font-weight:500;letter-spacing:-.06em;line-height:1;margin:18px 0 20px}.salon-panel h3 i{font-size:.75em;margin-left:20px;color:#e1c19c}.salon-panel-copy>p:not(.eyebrow){font-size:14px;max-width:400px}.salon-panel-copy>div{display:flex;align-items:center;gap:32px;margin-top:30px}.salon-panel-index{position:absolute;right:35px;top:30px;font-size:10px;letter-spacing:.15em}.salon-panel.is-entering img{animation:salon-image .65s cubic-bezier(.2,.7,.2,1) both}.salon-panel.is-entering .salon-panel-copy{animation:salon-copy .45s .05s ease both}@keyframes salon-image{from{transform:scale(1.035);opacity:.25}to{transform:scale(1);opacity:1}}@keyframes salon-copy{from{transform:translateY(12px);opacity:.35}to{transform:translateY(0);opacity:1}}.selector-nojs{display:flex;flex-wrap:wrap;gap:25px;padding:25px 0}
.cast-story{padding:90px 0 45px;color:var(--scene-cream);background:radial-gradient(ellipse at 80% 60%,#71504b,transparent 65%),var(--scene-ink);overflow:hidden}.cast-heading{padding:0 5vw;position:relative;z-index:2}.cast-heading h2{font-size:clamp(75px,10.5vw,166px);line-height:1;margin:25px 0;letter-spacing:-.065em}.cast-heading h2 i{color:#dfc2a3}.cast-heading-bottom{display:flex;justify-content:space-between;align-items:center;gap:25px}.cast-heading-bottom>p{font-size:14px}.cast-controls{display:flex;align-items:center;gap:10px}.cast-counter{font-size:11px;letter-spacing:.12em;margin-right:20px;font-variant-numeric:tabular-nums}.cast-controls button{border:1px solid #f2ece25c;background:transparent;width:52px;height:52px;font-size:23px;color:inherit;transition:background .25s,color .25s}.cast-controls button:hover{background:var(--scene-cream);color:var(--scene-ink)}.cast-controls button:disabled{opacity:.3;cursor:default}.cast-gallery{display:flex;align-items:start;gap:4vw;padding:45px 5vw 60px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:5vw;scrollbar-width:none;overscroll-behavior-x:contain}.cast-gallery::-webkit-scrollbar{display:none}.cast-portrait{position:relative;flex:0 0 37vw;scroll-snap-align:start;min-width:0}.cast-portrait figure{position:relative;height:690px;height:clamp(560px,72svh,850px);overflow:hidden;box-shadow:20px 25px 55px #190c2438}.cast-portrait:nth-child(3n+1){margin-top:75px}.cast-portrait:nth-child(3n+2){flex-basis:43vw}.cast-portrait:nth-child(3n){flex-basis:32vw;margin-top:125px}.cast-portrait:nth-child(3n) figure{height:clamp(490px,60svh,710px)}.cast-portrait img{object-position:50% 28%;transition:transform .65s cubic-bezier(.2,.7,.2,1);transform:scale(1.015)}.cast-portrait:hover img,.cast-portrait:focus-visible img{transform:scale(1.055)}.cast-portrait figcaption{position:absolute;bottom:0;left:0;right:0;display:flex;flex-direction:column;gap:12px;padding:100px 30px 30px;background:linear-gradient(transparent,#19121ce3)}.cast-name{font-family:Bodoni,serif;font-size:clamp(42px,4.2vw,68px);letter-spacing:-.045em;line-height:1.02}.cast-location{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.06em}.cast-location>span{font-size:20px;line-height:1}.cast-number{position:absolute;top:20px;left:25px;font-size:10px;background:#2b20287d;color:white;padding:4px 8px;letter-spacing:.12em}.cast-bottom{padding:0 5vw;display:flex;justify-content:space-between;gap:30px;font-size:11px}.cast-bottom a{border-bottom:1px solid #f2ece277;padding-bottom:5px}
.press-note{display:grid;grid-template-columns:1fr 2.2fr .7fr;gap:45px;padding:75px 5vw;background:var(--scene-cream);color:var(--scene-ink);align-items:center}.press-note>.eyebrow{align-self:start;margin-top:12px}.press-name{font-family:Bodoni,serif;font-size:clamp(45px,5.4vw,82px);letter-spacing:-.05em;line-height:1;display:block}.press-name i{font-size:.55em;letter-spacing:-.035em}.press-note p:not(.eyebrow){font-size:14px;max-width:480px;margin:25px 0 12px}.press-mark{font-family:Bodoni,serif;font-size:150px;color:var(--season-moss);font-style:italic;justify-self:end;line-height:1}
.booking-finale{position:relative;isolation:isolate;display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:5vw;padding:115px 5vw;min-height:105svh;background:#ded0b9;color:var(--scene-ink);overflow:hidden}.booking-backdrop,.booking-atmosphere{position:absolute;inset:0;z-index:-1}.booking-backdrop img{object-position:60% 45%;filter:saturate(.6)}.booking-atmosphere{background:linear-gradient(90deg,#dfcbb2d9 10%,#ddc8aa88 65%,#bfaa9166),linear-gradient(0deg,#ddcbb8a6,transparent)}.booking-invitation h2{font-size:clamp(80px,9.4vw,150px);line-height:.97;letter-spacing:-.065em;margin:35px 0}.booking-invitation h2 i{color:#79533e}.booking-invitation>p:last-child{font-size:16px;line-height:1.65;margin:30px 0}.reservation-panel{position:relative;background:#f7f0e7f5;padding:35px 38px 27px;box-shadow:15px 30px 90px #30211740;border-top:3px solid #a47b5b;backdrop-filter:blur(12px)}.reservation-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.reservation-monogram{font-family:Bodoni,serif;font-style:italic;font-size:50px;line-height:1;color:var(--season-rust)}.reservation-panel h3{font:500 clamp(45px,4.5vw,70px)/1.1 Bodoni,serif;letter-spacing:-.055em}.reservation-panel>p{font-size:12px;max-width:290px;margin:15px 0 30px;line-height:1.6}.reservation-choice{display:grid;grid-template-columns:25px 1fr 28px;gap:15px;align-items:center;border-top:1px solid #2b20282e;padding:23px 0;transition:padding .3s,background .3s}.reservation-choice:last-child{border-bottom:1px solid #2b20282e}.reservation-number{font-size:9px;color:#806955;align-self:start;padding-top:7px}.reservation-choice strong{display:block;font-size:24px;font-weight:400;line-height:1.25;letter-spacing:-.04em}.reservation-choice small{display:block;font-size:10px;margin-top:8px;color:#67584e}.reservation-arrow{font-size:28px;font-weight:400;transition:transform .3s}.reservation-choice:hover,.reservation-choice:focus-visible{background:#dbc4a82b;padding-left:8px}.reservation-choice:hover .reservation-arrow{transform:translate(3px,-3px)}.reservation-footer{display:flex;justify-content:space-between;gap:15px;margin-top:26px;font-size:9px}.reservation-footer a{text-decoration:underline}
@media(max-width:999px){.salon-selector{padding-top:80px}.selector-heading{display:block}.selector-heading>p{margin-top:25px;max-width:none}.salon-tabs{grid-template-columns:1fr 1fr}.salon-tabs button:nth-child(2){border-right:0}.salon-tabs button:nth-child(-n+2){border-bottom:1px solid #eee0ce55}.salon-tabs strong{font-size:24px}.salon-stage{height:680px;min-height:0}.salon-panel h3{font-size:11vw}.cast-heading h2{font-size:11vw}.cast-portrait{flex-basis:55vw}.cast-portrait:nth-child(3n+2){flex-basis:65vw}.cast-portrait:nth-child(3n){flex-basis:48vw}.cast-portrait figure{height:680px}.cast-portrait:nth-child(3n) figure{height:560px}.cast-name{font-size:52px}.press-note{grid-template-columns:1fr auto;gap:30px}.press-note>.eyebrow{grid-column:1/-1}.press-mark{font-size:120px}.booking-finale{grid-template-columns:1fr;gap:35px;padding:80px 7vw}.booking-invitation h2{font-size:12vw;margin:25px 0}.booking-invitation>p:last-child{margin-bottom:0}.reservation-panel{max-width:none}.reservation-choice{padding:25px 0}.reservation-choice strong{font-size:28px}.reservation-panel>p{max-width:none}}
@media(max-width:700px){.salon-selector{padding:75px 0 70px}.selector-heading{padding:0 24px;margin-bottom:30px}.selector-heading h2{font-size:14.5vw;line-height:1.05;margin-top:20px}.selector-heading>p{font-size:12px;margin-top:20px}.salon-tabs{margin:0 24px 22px}.salon-tabs button{padding:17px 12px;min-height:98px}.salon-tabs button>.eyebrow{font-size:7px;letter-spacing:.08em;margin-bottom:13px}.salon-tabs strong{font-size:17px;letter-spacing:-.045em}.selector-plus{font-size:16px;right:10px;top:11px}.salon-stage{height:590px;max-height:none;box-shadow:none}.salon-panel img{object-position:50% 30%}.salon-panel-shade{background:linear-gradient(0deg,#1b1421ed,transparent 85%),linear-gradient(90deg,#1b142138,transparent)}.salon-panel-copy{left:24px;right:24px;bottom:35px}.salon-panel h3{font-size:17vw;margin:15px 0;line-height:.95}.salon-panel h3 i{display:block;margin:6px 0 0;font-size:.85em}.salon-panel-copy>p:not(.eyebrow){font-size:12px;max-width:290px}.salon-panel-copy>div{gap:22px;margin-top:25px}.salon-panel-copy .button{font-size:12px;min-height:48px;padding:12px 22px}.salon-panel-copy .underlink{font-size:12px;min-height:44px;padding-top:13px}.salon-panel-index{right:24px;top:24px;font-size:9px}
.cast-story{padding-top:70px;padding-bottom:35px}.cast-heading{padding:0 24px}.cast-heading h2{font-size:18vw;line-height:.98;margin:25px 0}.cast-heading h2 i{display:block}.cast-heading-bottom{display:block}.cast-heading-bottom>p{font-size:12px;max-width:270px}.cast-controls{justify-content:end;margin-top:24px}.cast-controls button{width:46px;height:46px}.cast-counter{margin-right:auto;font-size:10px}.cast-gallery{padding:28px 24px 35px;scroll-padding:24px;gap:20px;align-items:start}.cast-portrait,.cast-portrait:nth-child(3n+2),.cast-portrait:nth-child(3n){flex-basis:82vw;margin-top:0}.cast-portrait figure,.cast-portrait:nth-child(3n) figure{height:120vw;max-height:560px;min-height:420px}.cast-portrait:nth-child(even){margin-top:22px}.cast-portrait figcaption{padding:100px 21px 24px}.cast-name{font-size:clamp(38px,10.5vw,49px)}.cast-location{font-size:10px;margin-top:0}.cast-number{left:18px;top:18px}.cast-bottom{padding:0 24px;font-size:9px;gap:18px;align-items:start}.cast-bottom>span{max-width:130px}.cast-bottom>a{max-width:135px;text-align:right}
.press-note{padding:50px 24px;gap:25px}.press-note>.eyebrow{margin-top:0}.press-name{font-size:46px}.press-name i{display:block;font-size:26px;margin-top:4px}.press-note p:not(.eyebrow){font-size:12px;line-height:1.65;margin-top:20px}.press-note .underlink{font-size:12px}.press-mark{font-size:85px;align-self:center}
.booking-finale{padding:65px 0 0;gap:30px;min-height:0}.booking-invitation{padding:0 24px}.booking-invitation h2{font-size:20vw;line-height:1;margin:25px 0}.booking-invitation>p:last-child{font-size:13px;margin:20px 0 10px}.booking-backdrop img{object-position:60% 50%}.booking-atmosphere{background:linear-gradient(90deg,#dfcbb2e8,#dfcbb299),linear-gradient(0deg,#e3d1bc,transparent)}.reservation-panel{padding:26px 24px 30px;border-top:2px solid #a47b5b;background:#f7f0e7;box-shadow:0 -15px 45px #30211715;backdrop-filter:none}.reservation-heading{margin-bottom:12px}.reservation-monogram{font-size:45px}.reservation-panel h3{font-size:52px}.reservation-panel>p{font-size:12px;max-width:260px;margin:13px 0 25px}.reservation-choice{grid-template-columns:21px 1fr 25px;gap:12px;padding:22px 0}.reservation-choice strong{font-size:23px}.reservation-choice small{font-size:10px}.reservation-arrow{font-size:25px}.reservation-footer{font-size:9px;align-items:center}.reservation-footer a{padding:10px 0}
}
@media(prefers-reduced-motion:reduce){.intro-entry .blondie-intro{display:none}.salon-panel.is-entering img,.salon-panel.is-entering .salon-panel-copy{animation:none}.cast-portrait img{transform:none!important;transition:none}.salon-tabs button,.reservation-choice,.reservation-arrow{transition:none}}
/* Review refinement: keep controls with the portraits and booking choices at the anchor. */
.cast-story{overflow:clip}
.cast-heading-bottom{position:sticky;top:80px;z-index:5;padding:13px 5vw;background:#2b2028ed;backdrop-filter:blur(12px);border-bottom:1px solid #f2ece218}
.cast-gallery{padding-top:35px}
.reservation-panel{scroll-margin-top:105px}
@media(min-width:1000px){.salon-selector{padding-top:85px}.selector-heading{margin-bottom:35px}.salon-stage{height:68svh;min-height:610px}.salon-panel-copy{bottom:50px}}
@media(max-width:700px){.cast-heading-bottom{top:76px;padding:10px 24px;display:flex;gap:15px}.cast-heading-bottom>p{font-size:10px;max-width:165px}.cast-controls{margin:0;gap:7px}.cast-counter{font-size:9px;margin:0 6px 0 0;white-space:nowrap}.cast-controls button{width:44px;height:44px;font-size:20px}.cast-portrait:nth-child(n){flex-basis:82vw;margin-top:0}.cast-portrait:nth-child(even){margin-top:22px}.cast-gallery{padding-top:25px}.reservation-panel{scroll-margin-top:88px}}
/* The document already reserves space for the fixed header at anchor targets. */
.reservation-panel{scroll-margin-top:0}
/* Desktop: native page scrolling advances the portrait strip; touch retains swipe. */
.motion-home .cast-story{overflow:clip;padding-bottom:0;height:calc(90px + var(--cast-heading,245px) + 100svh - 80px + var(--cast-travel,0px))}
.motion-home .cast-sticky{position:sticky;top:80px;height:calc(100svh - 80px)}
.motion-home .cast-heading-bottom{position:relative;top:0}
.motion-home .cast-gallery{scroll-snap-type:none;scroll-behavior:auto;overflow-x:auto;padding-top:25px;padding-bottom:25px}
.motion-home .cast-portrait figure{height:54svh;min-height:0;max-height:650px}
.motion-home .cast-portrait:nth-child(3n) figure{height:47svh}
.motion-home .cast-portrait:nth-child(3n+1){margin-top:35px}.motion-home .cast-portrait:nth-child(3n){margin-top:65px}
.motion-home .cast-bottom{padding-top:5px}

.motion-home .cast-heading{display:flow-root}

/* Use the actual Blondie identity for every decorative monogram. */
.reservation-monogram,.press-mark,.pause-monogram{display:block;width:64px;height:64px;flex:none;background:currentColor;mask:url('/assets/cropped-Blondie-logo_B.png') center/142% no-repeat;-webkit-mask:url('/assets/cropped-Blondie-logo_B.png') center/142% no-repeat;font-size:0}
.press-mark{width:120px;height:120px}
@media(max-width:700px){.press-mark{width:70px;height:70px}.reservation-monogram{width:48px;height:48px}}

/* Staff directory access stays attached to the featured lookbook. */
.cast-salon-links{display:flex;flex-wrap:wrap;gap:12px 28px}.cast-salon-links a{min-height:44px;display:flex;align-items:center}
@media(min-width:701px){.salon-stage{min-height:520px;height:65svh;max-height:700px}.salon-selector{padding-top:70px;padding-bottom:70px}.selector-heading{margin-bottom:30px}}
