/* Fixed navigation over the campaign and the white editorial pages. */
.home .house-header {position:fixed;inset:0 0 auto;border:0;background:transparent;z-index:30;color:white;mix-blend-mode:difference}
.home .house-header .nav {height:55px;padding:0 24px;max-width:none}
.home .house-header .logo .word {font-size:13px;letter-spacing:-.025em;font-weight:650}
.home .house-header .logo img {display:none}
.home .main-nav {position:absolute;left:50%;transform:translateX(-50%);gap:27px}
.home .house-header :is(nav a,.bag,.menu-key) {font-size:12px;text-transform:uppercase;font-weight:450}
.home .house-header .bag {text-decoration:underline;text-underline-offset:4px}
.home .house-header :is(a,button):hover {color:var(--shop-on-dark)}
.studio,.studio-end {--warm:#994d38;font-family:'Helvetica Neue',Arial,sans-serif;color:#101010}
.studio {background:white;isolation:isolate}
.studio h1,.studio h2,.studio h3 {margin:0;font-weight:500;letter-spacing:-.025em;line-height:1.03}
.studio-cover,.studio-film {position:relative;height:100vh;height:100svh;overflow:hidden;color:white;isolation:isolate;background:#602d1c}
.cover-frame,.cover-frame :is(img,video),.studio-film>img,.studio-film>video,.end-portrait {position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cover-frame {transform:scale(var(--cover-scale,1));filter:blur(var(--cover-blur,0px));will-change:transform}
.cover-frame :is(img,video) {object-position:58% 42%}
.studio video {opacity:0;transition:opacity .55s}.studio video.played {opacity:1}
.cover-lockup {position:absolute;top:51%;left:0;right:0;text-align:center;display:grid;place-items:center;color:white;transform:scale(var(--lock-scale,1))}
.cover-lockup h1,.intro-phrase {grid-area:1/1}.cover-lockup h1 img,.end-mark {width:clamp(132px,15vw,230px);height:auto;filter:brightness(0) invert(1)}
.intro-phrase {margin:0;font-size:clamp(32px,4.4vw,78px);line-height:1.04;letter-spacing:-.025em;font-weight:500;text-shadow:0 1px 16px #0003}
.cover-lockup.speaking {top:45%}.cover-lockup.speaking h1 {opacity:0}.cover-lockup h1 {transition:opacity .45s}
.motion-key {position:absolute;z-index:2;right:22px;bottom:12px;border:0;background:#17121060;color:white;border-radius:30px;font-size:11px;padding:6px 14px;min-height:34px}
.studio-cover {position:sticky;top:0;z-index:0}.studio>section:not(.studio-cover) {position:relative;z-index:1}
.chapter,.studio-pad {background:white}.chapter {padding:5vw}.chapter-screen {text-align:center}
.chapter-line,.studio-facts h2 {font-size:clamp(46px,6.5vw,102px)}.chapter-card {display:flex;align-items:center;justify-content:center;gap:3vw;margin:32px 0}
.chapter-card img {width:min(44vw,520px);aspect-ratio:1;object-fit:cover;object-position:50% 22%}
.chapter-card span,.door-words,.studio-film h2,.studio-faq h2 {font-size:clamp(32px,4.2vw,74px);letter-spacing:-.025em;font-weight:500;line-height:1.05}
@media(min-width:661px){.chapter-card span {font-size:clamp(24px,3.7vw,74px)}}
.staged .chapter {height:calc(100svh + var(--chapter-travel));padding:0}.staged .chapter-screen,.staged .portal-screen {position:sticky;top:0;height:100svh;overflow:hidden}
.staged .chapter-line,.staged .chapter-card {position:absolute;inset:0;display:flex;align-items:center;justify-content:center;margin:0}
.staged .chapter-line {display:grid;place-content:center}.staged .chapter-card {display:grid;grid-template-columns:1fr min(41vw,68svh,520px) 1fr;gap:3.4vw;padding:0 3vw;opacity:0;pointer-events:none}
.staged .chapter-card img {width:100%}.staged .chapter-card span:first-child {text-align:right}.staged .chapter-card span:last-child {text-align:left}.staged .chapter-card.active {pointer-events:auto}
.studio a:hover,.studio summary:hover {color:var(--shop-green)}
.portal-screen,.dark-room {background-color:#0c0c0c;background-image:radial-gradient(#34302d .8px,transparent .9px);background-size:24px 24px;color:white}
.portal-screen {position:relative;overflow:hidden;height:80svh;display:grid;place-items:center}.staged .portal {height:245svh}
.portal-door {position:absolute;inset:-1px;pointer-events:none;transform-origin:50% 50%;display:none}.staged .portal-door {display:block}
.portal-door svg {display:block;width:100%;height:100%}.door-words {position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:min(36vw,490px);color:#121212}
.orbit {position:absolute;inset:0;pointer-events:none}
.orbit img {position:absolute;left:50%;top:50%;width:clamp(65px,11vw,165px);height:clamp(85px,15vw,210px);object-fit:cover;object-position:50% 20%;transform:translate(-50%,-50%) rotate(calc(var(--n)*60deg)) translateX(min(31vw,40vh)) rotate(calc(var(--n)*-60deg))}
.orbit-title {position:relative;text-align:center}.orbit-title a {font-size:clamp(26px,4.5vw,80px);line-height:1;letter-spacing:-.025em}.orbit-title small {display:block;margin:8px}
.dark-room,.studio-pad {padding:clamp(60px,7.5vw,140px) clamp(24px,7.5vw,150px)}.room-grid,.facts-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3.4vw}
.room-grid h2 {font-size:clamp(24px,2.3vw,42px);margin-bottom:20px}.room-grid p {color:#cac7c3;font-size:15px;margin:15px 0 0}
.room-image,.room-grid .bride-photo.bridal-carousel {width:100%;height:auto;aspect-ratio:1;display:block;overflow:hidden;background:#171413;border-radius:0}
.room-image img,.room-grid .bridal-carousel img {width:100%;height:100%;object-fit:cover;object-position:50% 20%}.detail-shot img {transform:scale(1.85);transform-origin:50% 45%;transition:transform .5s}.detail-shot:hover img {transform:scale(2.05)}.four-looks {display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.room-grid .bridal-controls {right:8px;bottom:8px}
.dark-link,.studio-pill {display:table;width:fit-content;margin:40px auto 0;padding:12px 23px;border-radius:40px;background:#fff;color:#141414;font-size:14px}
.studio-film {display:grid;place-items:center}.studio-film :is(img,video) {object-position:50% 29%}.studio-film h2 {z-index:1;text-align:center;color:white;text-shadow:0 2px 18px #0007}
.studio-facts h2 {max-width:19ch}.facts-grid {margin:50px 0 35px}.facts-grid p {color:#534f4b}.facts-grid b {display:block;font-size:clamp(38px,4.3vw,78px);color:#151515;font-weight:450;letter-spacing:-.025em}
.facts-note {display:flex;justify-content:space-between;align-items:center;gap:25px;border-top:1px solid #dedbd8;padding-top:20px}.facts-note p,.studio-faq p {color:#5b5652;max-width:45ch}.studio .studio-pill {background:#171717;color:white;margin:0}.studio-pill:hover,.dark-link:hover {background:var(--shop-green);color:white!important}
.studio-notes {text-align:center}.studio-notes h2 {font-size:16px;letter-spacing:0}.note-tabs {display:flex;flex-wrap:wrap;justify-content:center;gap:28px;margin:18px 0 32px}.note-tabs a {font-size:clamp(17px,2vw,32px);letter-spacing:-.025em;color:#706963}.note-tabs a[aria-current=true] {color:#101010;text-decoration:underline;text-underline-offset:6px}.studio-notes article p {max-width:37ch;margin:0 auto 18px;font-size:clamp(23px,3vw,42px);line-height:1.16;letter-spacing:-.025em}.studio-notes article>a {text-decoration:underline;text-underline-offset:4px}
.studio-faq {display:grid;grid-template-columns:1fr 1fr;gap:8vw}.studio-faq h2 {margin-bottom:15px}.studio-faq details {border-top:1px solid #d9d8d6}.studio-faq details:last-child {border-bottom:1px solid #d9d8d6}
.studio-faq summary {display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:65px;cursor:pointer;list-style:none}.studio-faq summary::-webkit-details-marker {display:none}.studio-faq summary:after {content:'+';border:1px solid #ccc;border-radius:50%;width:21px;height:21px;display:grid;place-items:center;font-size:14px;flex:none}.studio-faq details[open] summary:after {content:'−'}.studio-faq details p {padding:0 24px 20px 0}.studio-faq details a {text-decoration:underline}
.studio-end {position:relative;isolation:isolate;overflow:hidden;min-height:65svh;display:grid;place-items:center;text-align:center;background:#432016;color:white;padding:56px 20px 20px}
.end-portrait {object-position:center 28%;z-index:-2}.studio-end:before {content:'';position:absolute;inset:0;background:#180b0880;z-index:-1}.studio-end .end-mark {display:block;margin:auto;width:150px}.studio-end .studio-pill {background:#221611bb;color:white;margin:20px auto 32px;backdrop-filter:blur(8px)}.studio-end nav {display:flex;justify-content:center;gap:18px;flex-wrap:wrap;font-size:14px}.studio-end small {display:block;margin-top:30px}
@media(max-width:800px) {
 .home .house-header .main-nav.opened {background:#191919;color:white;transform:none;left:0}.home .house-header:has(.opened) {mix-blend-mode:normal;background:#191919}.home .house-header .nav {padding-inline:16px}
 .room-grid {grid-template-columns:1fr;gap:42px}.room-image,.room-grid .bride-photo.bridal-carousel {aspect-ratio:4/3}
 .studio-faq {grid-template-columns:1fr;gap:30px}.studio-facts .facts-note {align-items:start;flex-direction:column}.studio-notes .note-tabs {gap:16px}
}
@media(max-width:660px) {
 .staged .portal {margin-top:-12svh;height:220svh}
 .staged .portal-door {--atelier-intro-height:100%;background:linear-gradient(to bottom,transparent calc(var(--atelier-intro-height) - 1px),white 0)}
 .staged .portal-door :is(.portal-cutout,.door-words) {height:var(--atelier-intro-height)}
 .staged .chapter-card,.chapter-card {display:flex;flex-direction:column;gap:12px}.chapter-card img,.staged .chapter-card img {width:min(78vw,48svh)}.chapter-card span:first-child {align-self:flex-start;margin-left:9vw}.chapter-card span:last-child {align-self:flex-end;margin-right:9vw}
 .cover-frame :is(img,video) {object-position:64% center}.cover-lockup h1 img {width:135px}.door-words {font-size:25px;gap:37vw}.portal-door svg {width:180%;margin-left:-40%}
 .facts-grid {grid-template-columns:1fr;gap:18px;margin:32px 0}.facts-grid p {display:flex;align-items:baseline;gap:20px}.facts-grid b {min-width:2.8em}
}
@media(prefers-reduced-motion:reduce) {
 .cover-frame,.cover-lockup {transform:none;filter:none}.studio-cover {position:relative}.studio video,.cover-lockup h1,.detail-shot img {transition:none}
}
/* Leave the margins of the pinned stage inert. Only the photograph and type are links. */
.staged a.chapter-card.active {pointer-events:none}
.staged .chapter-card.active>* {pointer-events:auto}
.staged .chapter-card.active:focus-visible {outline-offset:-8px}
.home .studio-end {clip-path:inset(0)}
@media(min-width:801px) and (prefers-reduced-motion:no-preference) {
 .studio-end .end-portrait {height:120%;top:-10%;transform:translateY(var(--end-offset,0))}
 .studio-faq>div:first-child {align-self:start;position:sticky;top:82px}
}
@media(min-width:801px) {
 .home .main-nav :is(.nav-contact,.nav-bridal) {display:none}
 .home .nav-end .nav-booking {font-size:12px;text-decoration:underline;text-underline-offset:4px;text-transform:uppercase}
 .cover-frame :is(img,video) {transform:scale(1.48);transform-origin:58% 28%}
}
@media(max-width:800px) {.home .nav-end .nav-booking {display:none}}

/* Keep each chapter on its own opaque surface; fully hidden looks cannot bleed through. */
.staged .chapter-card.chapter-3d {background:#fff;isolation:isolate}
@media(max-width:800px), (pointer:coarse) {
  .staged .portal-door {will-change:transform,opacity;backface-visibility:hidden;-webkit-backface-visibility:hidden}
  .staged .portal-screen {isolation:isolate}
}
@media(prefers-reduced-motion:reduce) {.staged .portal-door {will-change:auto}}
