/* One cocoa surface for copy and threads. The booking steps keep the light paper. */
.booking-page .booking-intro-couture{
 --intro-cocoa:#28231f;
 position:relative;isolation:isolate;background:var(--intro-cocoa);color:#f4ece0;
 grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:2%;
 padding:48px max(7%,calc((100% - 1390px)/2)) 52px;margin:0 0 34px;
}
.booking-page .booking-intro-couture .booking-intro-copy{position:relative;z-index:2;min-width:0}
.booking-page .booking-intro-couture .eyebrow{color:#d7c4aa;font-size:11px;letter-spacing:.16em}
.booking-page .booking-intro-couture h1{color:#f4ece0;font-size:clamp(48px,5.2vw,78px);line-height:1.02;margin:20px 0 22px}
.booking-page .booking-intro-couture .booking-intro-copy>p:not(.eyebrow){color:#d3c5b5;font-size:16px;line-height:1.7;margin-bottom:0}
.booking-threads{position:relative;min-width:0;min-height:220px;height:100%;align-self:stretch;isolation:isolate}
.booking-threads::before,.booking-threads-render{position:absolute;inset:0;pointer-events:none}
.booking-threads::before{content:'';background:url('hn-booking-threads.svg?v=28') center/100% 75% no-repeat;opacity:.7}
.booking-threads::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#28231f,transparent 23%,transparent 84%,#28231f),linear-gradient(0deg,#28231f,transparent 20%,transparent 80%,#28231f);z-index:1}
.booking-threads-render canvas{display:block;width:100%;height:100%;pointer-events:none}
.booking-threads-mark{position:absolute;left:53%;top:49%;width:76px;height:76px;transform:translate(-50%,-50%);object-fit:contain;filter:none!important;-webkit-filter:none!important;mix-blend-mode:normal!important;z-index:2;pointer-events:none}
.booking-threads-pause{position:absolute;right:10px;bottom:3px;display:grid;place-items:center;width:44px;height:44px;padding:12px;background:transparent;color:#e9ddcb;border:1px solid #e9ddcb40;border-radius:50%;z-index:3;touch-action:manipulation;cursor:pointer}
.booking-threads-pause[hidden]{display:none!important}
.booking-threads-pause svg{width:18px;height:18px;grid-area:1/1}
.booking-threads-pause .silk-play-icon{display:none}
.booking-threads-pause[data-paused=true] .silk-play-icon{display:block}
.booking-threads-pause[data-paused=true] .silk-pause-icon{display:none}
.booking-threads-pause:hover{background:#ffffff0b;border-color:#e9ddcb80}
.booking-threads-pause:focus-visible{outline:2px solid #e9ddcb;outline-offset:4px}
.booking-threads[data-silk-state=fallback] canvas{visibility:hidden}
.booking-host{margin-top:24px}
.booking-host-photo{position:relative;aspect-ratio:1.65;overflow:hidden}
.booking-host-photo>img{display:block;width:100%;height:100%;object-fit:cover;object-position:65% center}
.booking-host-photo .intro-seal{left:12px;bottom:12px;padding:9px 12px;gap:10px}
.booking-host-photo .intro-seal .monogram{width:28px}
.booking-host-photo .intro-seal>span{font-size:8px;line-height:1.65;letter-spacing:.08em}
/* Do not pin a tall two-card column beyond the visible screen. */
.booking-page .visit-aside{position:static}
@media(max-width:1000px){
 .booking-page .booking-intro-couture{padding-left:6%;padding-right:6%;gap:0}
 .booking-page .booking-intro-couture h1{font-size:clamp(45px,5.4vw,64px)}
 .booking-threads-mark{width:65px;height:65px}
}
@media(max-width:760px){
 .booking-page .booking-intro-couture{display:block;padding:32px 6% 30px;margin-bottom:16px;overflow:hidden}
 .booking-page .booking-intro-couture h1{font-size:clamp(43px,7.9vw,60px);line-height:1.06;max-width:90%;margin:14px 0 18px}
 .booking-page .booking-intro-couture h1 br{display:block}
 .booking-page .booking-intro-couture .booking-intro-copy>p:not(.eyebrow){font-size:14px;max-width:84%;line-height:1.65}
 .booking-threads{position:absolute;inset:14px -14% 8px 22%;height:auto;min-height:0;z-index:0}
 .booking-threads-render,.booking-threads::before{opacity:.3}
 .booking-threads-mark{left:auto;right:18%;top:27px;transform:none;width:44px;height:44px}
 .booking-threads-pause{right:20%;bottom:0;background:#28231f}
 .booking-threads::after{background:linear-gradient(90deg,#28231f,transparent 50%,transparent 85%,#28231f)}
 .booking-page .booking-intro-couture .booking-intro-copy{pointer-events:none}
 .booking-host{margin-top:20px}
 .booking-host-photo{aspect-ratio:2.05}
}
@media(max-width:365px){
 .booking-page .booking-intro-couture h1{font-size:42px;max-width:100%}
 .booking-page .booking-intro-couture .booking-intro-copy>p:not(.eyebrow){font-size:13px;max-width:92%}
 .booking-threads-mark{right:18%;top:13px;width:36px;height:36px}
}

/* All stories share one grid cell: the longest sets the height before motion. */
#booking-welcome-title .booking-stories{display:grid}
#booking-welcome-title .booking-story{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .72s ease;overflow-wrap:normal}
#booking-welcome-title .booking-story.is-current{visibility:visible;opacity:1}
#booking-welcome-title .booking-story.is-out{visibility:visible;opacity:0}
.booking-stories-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(prefers-reduced-motion:reduce){#booking-welcome-title .booking-story{transition:none}}
