/* Editorial room theatre. Existing venue typography and colors remain authoritative. */
:root{--journey-gutter:clamp(22px,5vw,80px);--journey-space:clamp(72px,8vw,128px);--journey-width:1320px;--theatre-ink:var(--ink)}
.atmosphere,.room-section,.arrival,.editorial-bridge,.journey-footer{width:calc(100% - 2 * var(--journey-gutter));max-width:var(--journey-width);margin:0 auto;padding:var(--journey-space) 0}
.chapter-label{display:flex;justify-content:space-between;gap:24px;font:12px/1.5 var(--body);color:var(--accent);letter-spacing:.035em;margin:0 0 30px}
.atmosphere{max-width:1600px;padding-top:clamp(70px,8vw,140px);padding-bottom:0;position:relative}
.theatre-heading{position:relative;padding:0 0 48px;max-width:1280px;display:grid;grid-template-columns:1fr .42fr;align-items:end;gap:50px}
.theatre-heading>p{font:14px/1.85 var(--body);color:var(--muted);max-width:28ch;padding-bottom:12px;justify-self:end}
.theatre-heading h2{font:300 clamp(76px,9.6vw,164px)/.93 var(--display);letter-spacing:-.065em;text-wrap:balance;max-width:12ch}
.theatre-heading h2 span{display:block}
.theatre-heading h2 span+span{padding-left:clamp(35px,6.5vw,110px)}
.theatre-rail{display:flex;align-items:center;gap:24px;padding:10px 0 20px}
.theatre-rail-label{font:11px/1.5 var(--body);color:var(--muted);flex:none}
.theatre-rail-line{height:1px;width:100%;background:var(--line);position:relative}
.theatre-rail-line:before{content:'';position:absolute;left:0;top:0;width:70px;height:1px;background:var(--accent)}
.room-theatre{position:relative;isolation:isolate}
.theatre-scene{position:relative;overflow:hidden;margin:0;background:var(--panel)}
.theatre-open{display:block;width:100%;padding:0;border:0;background:transparent;color:var(--ink);text-align:left;position:relative;overflow:hidden;cursor:zoom-in}
#theatre-image{display:block;width:100%;height:min(70svh,850px);min-height:420px;object-fit:cover;animation:none;transition:filter .5s,transform 1s cubic-bezier(.2,.7,.25,1);transform:scale(1)}
.theatre-open:hover #theatre-image{transform:scale(1.018);filter:brightness(1.06)}
.theatre-open:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#05080b80,transparent 30%);pointer-events:none}
.theatre-expand{position:absolute;z-index:2;bottom:28px;right:30px;display:inline-flex;align-items:center;gap:32px;font:12px/1.5 var(--body);color:#fff;border-bottom:1px solid #fffa;padding:12px 0}
.theatre-expand>span{font-size:22px;line-height:1}
.theatre-light{position:absolute;inset:0;pointer-events:none;z-index:1;box-shadow:inset 0 0 0 1px #ffffff18}
.theatre-scene.is-changing #theatre-image{animation:theatre-reveal .6s cubic-bezier(.22,.68,.28,1) both}
.theatre-scene.is-changing .theatre-light:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 44%,#fff2 50%,transparent 56%);animation:theatre-light .6s ease-out both}
.theatre-meta{display:grid;grid-template-columns:1.15fr 1fr;gap:56px;padding:29px 0 0;align-items:start}
.theatre-index{display:flex;gap:24px;flex-wrap:wrap;align-items:flex-start}
.theatre-choice{display:flex;align-items:baseline;gap:10px;border:0;border-bottom:1px solid transparent;background:transparent;color:var(--muted);font:12px/1.5 var(--body);padding:8px 0 13px;min-height:46px;text-align:left;transition:color .2s,border-color .2s}
.theatre-choice b{font:400 10px/1 var(--body);color:var(--muted)}
.theatre-choice[aria-pressed=true]{color:var(--ink);border-bottom-color:var(--accent)}
.theatre-choice[aria-pressed=true] b{color:var(--accent)}
.theatre-choice:hover{color:var(--ink)}
.theatre-caption{max-width:400px;justify-self:end;width:100%;padding-top:4px}
.theatre-caption h3{font:400 clamp(22px,2.1vw,32px)/1.2 var(--display);letter-spacing:-.02em;margin:0 0 9px}
.theatre-caption p{font:11px/1.7 var(--body);color:var(--muted);max-width:60ch}
.theatre-to-plan{margin-top:0;font-size:12px;justify-self:start}
.bridge-copy .text-link{font-size:12px;margin-top:20px}

/* A typographic pause connects the atmosphere to the table plan. */
.editorial-bridge{display:grid;grid-template-columns:70px 1.45fr 1fr;align-items:center;gap:32px;padding-top:clamp(90px,11vw,180px);padding-bottom:clamp(80px,9vw,140px)}
.bridge-number{align-self:start;padding-top:10px;font:300 46px/1 var(--display);letter-spacing:-.07em;color:var(--accent)}
.bridge-title{font:300 clamp(40px,4.8vw,76px)/1.04 var(--display);letter-spacing:-.045em;max-width:13ch;text-wrap:balance}
.bridge-copy{font:14px/1.85 var(--body);max-width:33ch;justify-self:end;color:var(--muted)}
.room-section{padding-top:0;padding-bottom:var(--journey-space)}
.room-section .section-heading{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:48px;margin-bottom:36px}
.room-section .section-heading h2{font:400 clamp(34px,3.6vw,58px)/1.08 var(--display);letter-spacing:-.035em;text-wrap:balance}
.section-heading .section-intro{justify-self:end;max-width:390px;color:var(--muted);font-size:14px;line-height:1.8}
.section-intro .preview-detail{display:block;font-size:11px;color:var(--accent);margin-top:12px}
/* The room plan and concierge selection form one complete surface. */
.room-section{border-top:0}
.room-section .room-disclosure{border:1px solid var(--line);background:var(--panel)}
.room-section .room-disclosure>summary{padding:22px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px;font:24px/1.2 var(--display);border-bottom:1px solid transparent}
.room-section .room-disclosure[open]>summary{border-bottom-color:var(--line)}
.room-section .room-disclosure>summary small{font:12px/1.5 var(--body);color:var(--muted);margin-left:18px}
.room-section .room-disclosure .disclosure-icon{font:26px/1 var(--body);width:32px;min-width:32px;height:32px;display:grid;place-items:center;transition:transform .25s}
.room-section .room-content{padding:28px;animation:none}
.room-section .map-caption{font-size:11px;margin-bottom:18px;color:var(--muted)}
.room-section .map-explorer{grid-template-columns:minmax(0,1fr) minmax(240px,.37fr);gap:28px;align-items:start}
.room-section .map-viewport{background:#eceae5;border:0;min-height:0}
.room-section .map-stage{transform-origin:0 0}
.room-section .map-pin span{border:1px solid #fff;background:#202a31;min-width:30px;height:30px;line-height:28px;font-size:10px;box-shadow:0 2px 7px #0006}
.room-section .map-pin[aria-pressed=true] span{background:var(--accent);color:var(--bg);outline:1px solid var(--accent);outline-offset:4px;box-shadow:0 0 0 2px #141814}
.room-section .map-toolbar{gap:8px;margin-top:16px}
.room-section .map-toolbar .icon-button{background:transparent;border-color:var(--line);height:44px;min-width:44px}
.room-section .map-note{font-size:11px;line-height:1.7;max-width:62ch;margin-top:14px}
.room-section .map-sidebar{padding:0!important;min-width:0}
.room-section .selected-preview{width:100%;height:150px;object-fit:cover;display:block;margin:0 0 10px}
.room-section .map-sidebar .selection-image-note{font-size:10px;line-height:1.5;color:var(--muted);margin:0 0 22px}
.room-section .map-sidebar .selection-label{font-size:11px;color:var(--accent);margin:0 0 7px;line-height:1.5}
.room-section .map-selected{font:28px/1.2 var(--display)!important;color:var(--ink)!important;margin:0 0 12px;letter-spacing:-.025em}
.room-section .map-sidebar .selection-facts{color:var(--muted);font-size:12px;line-height:1.65;margin:0 0 16px}
.room-section .map-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:204px;margin:0 -4px;padding:4px;gap:7px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.room-section .table-choice{padding:10px 8px;min-height:44px;font-size:11px;transition:background .2s,border-color .2s}
.room-section .table-choice:hover{border-color:var(--accent)}
.room-section .map-sidebar .button{width:100%;margin-top:20px;min-height:52px;padding:13px 15px;font-size:12px;gap:12px}
.room-afterword{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:22px;font-size:11px;line-height:1.6;color:var(--muted)}
.room-afterword .text-link{background:none;border-width:0 0 1px;border-style:solid;color:var(--ink);font:12px/1.5 var(--body);text-align:left;padding:8px 0;flex:none}

/* Arrival is an architectural photograph and a precise address. */
.arrival{border-top:1px solid var(--line);display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(60px,10vw,160px);align-items:center;padding-top:var(--journey-space);padding-bottom:var(--journey-space)}
.arrival-art{margin:0;position:relative;max-width:500px;width:100%}
.arrival-art img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
.arrival-art figcaption{font:10px/1.7 var(--body);color:var(--muted);padding-top:16px}
.arrival-information{min-width:0;max-width:500px;width:100%;padding-top:40px;justify-self:end}
.arrival-information h2{font:300 clamp(52px,5.9vw,96px)/.98 var(--display);letter-spacing:-.055em;margin:0 0 35px;text-wrap:balance}
.arrival .address{font-size:16px;line-height:1.9;color:var(--muted);max-width:100%}
.arrival .address>span{font:400 24px/1.6 var(--display);color:var(--ink)}
.arrival details{margin:30px 0 0}
.arrival details summary{font-size:13px;min-height:60px;gap:20px}
.arrival details summary>span{font-size:20px;color:var(--accent)}
.arrival details[open] summary>span{transform:rotate(45deg)}
.arrival details p{font-size:12px;line-height:1.8;max-width:65ch}

/* The final invitation is typographic, giving the reservation its own moment. */
.booking-fallback{width:calc(100% - 2 * var(--journey-gutter));max-width:var(--journey-width);margin:0 auto;position:relative;padding:36px 0 var(--journey-space);text-align:left;min-height:0;display:block;overflow:visible;isolation:auto;background:none}
.booking-fallback:after{content:none}
.invitation-rule{display:flex;align-items:center;gap:26px;font:11px/1.5 var(--body);color:var(--accent);padding:0 0 46px}
.invitation-rule:after{content:'';height:1px;background:var(--line);flex:1}
.booking-fallback .invitation-content{max-width:none;display:grid;grid-template-columns:1.65fr 1fr;column-gap:clamp(36px,6vw,90px);align-items:start}
.booking-fallback h2{grid-column:1;grid-row:1;font:300 clamp(76px,9.1vw,146px)/.93 var(--display);letter-spacing:-.065em;margin:0;color:var(--ink)}
.booking-fallback .invitation-action{grid-column:2;align-self:center;min-width:0}
.booking-fallback h2 span{display:block}
.booking-fallback h2 span+span{color:transparent;-webkit-text-stroke:1px var(--ink)}
.booking-fallback .invitation-action>p{grid-column:2;font:14px/1.8 var(--body);color:var(--muted);margin:14px 0 26px;max-width:32ch}
.booking-fallback .button{grid-column:2;width:fit-content;max-width:100%;min-height:60px;padding:17px 22px;font-size:13px;gap:28px;align-self:start}
.booking-fallback .invitation-action>.invitation-note{grid-column:2;font-size:10px;line-height:1.7;color:var(--muted);margin:19px 0 0;max-width:40ch}

/* Venue-specific materials, expressed with the real typography and photographs. */
html[data-venue=ab] .theatre-heading h2{font-weight:300;color:#eee3ce}
html[data-venue=ab] .theatre-heading h2 span+span{color:var(--ink)}
html[data-venue=ab] .theatre-scene{border-bottom:3px solid #642f38}
html[data-venue=ab] .arrival-art:before{content:'';position:absolute;width:36%;height:2px;background:#80434a;left:0;bottom:0}
html[data-venue=ab] .invitation-rule span{color:#d6b78b}
html[data-venue=sy] .theatre-heading h2{font-family:var(--display);font-size:clamp(84px,10.8vw,180px);line-height:.88;letter-spacing:-.045em}
html[data-venue=sy] .theatre-heading h2 span+span{padding-left:clamp(50px,9vw,150px)}
html[data-venue=sy] .theatre-scene{padding:10px;border:1px solid #d1bd9270}
html[data-venue=sy] .theatre-expand{right:35px;bottom:31px}
html[data-venue=sy] .arrival-art{padding:11px;border:1px solid #d1bd9266}
html[data-venue=sy] .arrival-art figcaption{padding:13px 4px 3px}
html[data-venue=sy] .bridge-title{font-size:clamp(46px,5.5vw,88px);line-height:1}
html[data-venue=sy] .booking-fallback h2{font-size:clamp(80px,10vw,160px);letter-spacing:-.04em}
html[data-venue=st] .theatre-heading h2{font-weight:400;font-size:clamp(74px,9.2vw,156px);letter-spacing:-.075em}
html[data-venue=st] .theatre-heading h2 span+span{padding-left:0}
html[data-venue=st] .theatre-rail-line:before{background:#c5d9dc;width:120px}
html[data-venue=st] .theatre-scene{border-top:2px solid #b6c9ce}
html[data-venue=st] .theatre-choice[aria-pressed=true]{border-bottom-width:2px}
html[data-venue=st] .arrival-art{border-left:2px solid #aec4ca;padding-left:12px}
html[data-venue=st] .booking-fallback h2{font-weight:400;letter-spacing:-.075em}

html[data-venue] .viewer-stage.switch-view{animation:theatre-viewer-reveal .6s cubic-bezier(.22,.68,.28,1) both}
@keyframes theatre-viewer-reveal{from{clip-path:inset(0 0 0 9%);filter:brightness(.8)}to{clip-path:inset(0);filter:brightness(1)}}
@keyframes theatre-reveal{from{clip-path:inset(0 0 0 9%);transform:scale(1.04);filter:brightness(.8)}to{clip-path:inset(0);transform:scale(1);filter:brightness(1)}}
@keyframes theatre-light{from{transform:translateX(-100%);opacity:0}30%{opacity:1}to{transform:translateX(100%);opacity:0}}
.journey-footer{padding-top:48px;padding-bottom:130px;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:start;gap:40px;border-top:0}
.footer-signature .footer-logo{width:125px;height:55px;object-fit:contain;object-position:left center;margin-bottom:18px}
.footer-signature p{font-size:11px}
.journey-footer .footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:0}
.journey-footer .footer-links a{display:inline-flex;font-size:12px;min-height:40px}
.footer-preview{max-width:270px;justify-self:end;width:100%}
.footer-preview>p{font-size:11px;margin-bottom:8px;color:var(--accent)}
.footer-preview .preview-controls{max-width:none}
.footer-preview .preview-controls summary{justify-content:space-between;gap:20px}
.footer-preview .preview-controls summary>span{font-size:18px}
.footer-preview .preview-controls[open]{padding:14px;background:var(--panel)}


@media(max-width:1100px){
  .theatre-meta{gap:30px;grid-template-columns:1.2fr 1fr}.theatre-index{gap:18px}.theatre-choice{font-size:11px;gap:8px}
  .editorial-bridge{grid-template-columns:50px 1.25fr 1fr;gap:28px}.bridge-copy{font-size:13px}
  .room-section .room-content{padding:22px}.room-section .map-explorer{grid-template-columns:minmax(0,1fr) 230px;gap:22px}.room-section .selected-preview{height:130px}.room-section .map-selected{font-size:25px!important}.room-section .map-list{max-height:160px}
  .arrival{gap:65px}.booking-fallback .invitation-content{grid-template-columns:1.4fr 1fr;column-gap:35px}.booking-fallback .button{font-size:12px;padding:16px 18px;gap:15px}
}
@media(max-width:760px){
  :root{--journey-gutter:26px;--journey-space:80px}
  .theatre-heading{padding-bottom:32px;grid-template-columns:1fr;gap:25px}.theatre-heading>p{justify-self:start;max-width:40ch;padding:0;font-size:13px}.theatre-heading h2{font-size:clamp(64px,11vw,88px)}.theatre-heading h2 span+span{padding-left:30px}
  html[data-venue=sy] .theatre-heading h2{font-size:clamp(72px,12vw,100px)}html[data-venue=sy] .theatre-heading h2 span+span{padding-left:45px}
  html[data-venue=st] .theatre-heading h2{font-size:clamp(64px,11vw,90px)}
  #theatre-image{height:55svh;min-height:360px;max-height:650px}.theatre-expand{right:22px;bottom:22px}
  .theatre-meta{grid-template-columns:1fr;gap:22px;padding-top:20px}.theatre-index{gap:22px}.theatre-caption{justify-self:start;max-width:520px}.theatre-to-plan{margin-top:22px}
  .editorial-bridge{grid-template-columns:44px 1fr;gap:18px 24px;padding-top:90px;padding-bottom:80px}.bridge-number{font-size:34px;padding-top:6px}.bridge-title{font-size:clamp(42px,7vw,58px);max-width:15ch}.bridge-copy{grid-column:2;justify-self:start;max-width:42ch;font-size:14px}
  html[data-venue=sy] .bridge-title{font-size:clamp(48px,8vw,66px)}
  .room-section .section-heading{grid-template-columns:1fr;gap:18px;margin-bottom:28px}.section-heading .section-intro{justify-self:start;max-width:530px;font-size:14px}
  .room-section .map-explorer{grid-template-columns:1fr;gap:26px}.room-section .map-sidebar{display:grid;grid-template-columns:140px 1fr;column-gap:22px;align-content:start;border-top:1px solid var(--line);padding-top:24px!important}.room-section .selected-preview{grid-column:1;grid-row:1/5;height:145px;margin:0}.room-section .map-sidebar>:not(.selected-preview){grid-column:2}.room-section .map-sidebar .selection-image-note{grid-column:1;grid-row:5;font-size:9px;margin:9px 0 0}.room-section .map-sidebar .map-list,.room-section .map-sidebar .button{grid-column:1/-1}.room-section .map-list{grid-template-columns:repeat(4,minmax(0,1fr));max-height:160px;margin-top:20px}.room-section .map-sidebar .selection-facts{margin-bottom:0}.room-section .map-selected{font-size:28px!important}
  .arrival{gap:36px;align-items:start}.arrival-information{padding-top:25px}.arrival-information .chapter-label{margin-bottom:20px}.arrival-information h2{font-size:50px;margin-bottom:25px}.arrival .address{font-size:14px}.arrival .address>span{font-size:22px}.arrival details summary{font-size:12px}.arrival-art figcaption{font-size:9px}
  .booking-fallback .invitation-action{grid-column:1}
  .booking-fallback .invitation-content{grid-template-columns:1fr}.booking-fallback h2{grid-column:1;grid-row:auto;font-size:clamp(72px,12vw,105px);margin-bottom:24px}.booking-fallback .invitation-action>p,.booking-fallback .button,.booking-fallback .invitation-action>.invitation-note{grid-column:1}.booking-fallback .invitation-action>p{margin:0 0 24px;max-width:42ch}.booking-fallback .invitation-action>.invitation-note{margin-top:18px}.booking-fallback .button{min-height:58px;font-size:13px;gap:30px}
  html[data-venue=sy] .booking-fallback h2{font-size:clamp(80px,13vw,116px)}.invitation-rule{padding-bottom:32px}
  .journey-footer{grid-template-columns:1fr 1fr;gap:28px}.footer-preview{grid-column:1/-1;justify-self:start;max-width:320px}
}
@media(max-width:520px){
  :root{--journey-gutter:20px;--journey-space:66px}
  .chapter-label{font-size:10px;margin-bottom:24px;gap:18px}.chapter-label>span:last-child{text-align:right}.atmosphere{padding-top:64px}
  .theatre-heading h2{font-size:clamp(52px,14vw,73px);letter-spacing:-.065em}.theatre-heading h2 span+span{padding-left:22px}
  html[data-venue=sy] .theatre-heading h2{font-size:clamp(61px,16vw,84px)}html[data-venue=sy] .theatre-heading h2 span+span{padding-left:25px}
  html[data-venue=st] .theatre-heading h2{font-size:clamp(51px,13.8vw,72px)}
  .theatre-rail{gap:16px;padding:5px 0 16px}.theatre-rail-label{font-size:10px}.theatre-rail-line:before{width:35px}
  #theatre-image{height:48svh;min-height:320px;max-height:460px;object-position:center}
  html[data-venue=sy] .theatre-scene{padding:6px}.theatre-expand,html[data-venue=sy] .theatre-expand{right:18px;bottom:18px;gap:22px;font-size:10px}
  .theatre-index{gap:8px 20px}.theatre-choice{font-size:11px;gap:7px;min-height:44px;padding-bottom:10px}.theatre-choice b{font-size:9px}.theatre-caption h3{font-size:26px}.theatre-caption p{font-size:10px}.theatre-meta{gap:20px}
  .editorial-bridge{grid-template-columns:30px 1fr;gap:18px;padding-top:76px;padding-bottom:66px}.bridge-number{font-size:26px}.bridge-title{font-size:clamp(36px,9.4vw,49px);max-width:13ch}.bridge-copy{font-size:12px;line-height:1.8}.editorial-bridge .bridge-title{letter-spacing:-.045em}html[data-venue=sy] .bridge-title{font-size:clamp(42px,10.6vw,55px)}
  .room-section .section-heading h2{font-size:34px}.room-section .room-disclosure>summary{padding:18px;font-size:22px}.room-section .room-disclosure>summary small{display:block;margin:6px 0 0;font-size:11px}.room-section .room-content{padding:18px 12px}.room-section .map-caption{font-size:10px}.room-section .map-sidebar{grid-template-columns:100px 1fr;column-gap:16px}.room-section .selected-preview{height:130px}.room-section .map-selected{font-size:25px!important}.room-section .map-sidebar .selection-facts{font-size:11px}.room-section .map-list{grid-template-columns:repeat(3,minmax(0,1fr));max-height:155px}.room-section .table-choice{font-size:10px}.room-afterword{display:block;margin-top:18px}.room-afterword .text-link{margin-top:10px}
  .arrival{grid-template-columns:1fr;gap:35px}.arrival-art{max-width:76%;margin-left:0}.arrival-art img{aspect-ratio:4/5}.arrival-information{padding:0 0 0 22px;justify-self:end}.arrival-information h2{font-size:clamp(51px,13.5vw,70px);max-width:8ch}.arrival .address{font-size:16px}.arrival .address>span{font-size:24px}.arrival details{margin-top:25px}.arrival-information .chapter-label{margin-bottom:20px}
  .booking-fallback{padding-top:22px}.booking-fallback h2{font-size:clamp(60px,16vw,83px);letter-spacing:-.07em}.booking-fallback .invitation-action>p{font-size:13px}.booking-fallback .invitation-action>.invitation-note{font-size:10px}.booking-fallback .button{font-size:12px;gap:22px;padding:16px 18px}
  html[data-venue=sy] .booking-fallback h2{font-size:clamp(67px,18vw,94px)}html[data-venue=st] .booking-fallback h2{font-size:clamp(58px,15.5vw,80px)}
  .footer-signature .footer-logo{width:105px;height:48px}.journey-footer .footer-links a{font-size:11px;min-height:40px}
}
html[data-motion=off] .viewer-stage.switch-view,html[data-motion=off] #theatre-image,html[data-motion=off] .theatre-light:after{animation:none!important;transition:none!important;transform:none!important}
@media(prefers-reduced-motion:reduce){html[data-venue] .viewer-stage.switch-view,#theatre-image,.theatre-light:after,.room-section .map-pin span{animation:none!important;transition:none!important;transform:none!important}}

/* Final editorial cadence: one introduction leads directly into the plan. */
.room-section .editorial-bridge{width:100%;max-width:none;margin:0;padding:0 0 52px;border:0}
.arrival-information h2>span{display:block}
.booking-fallback h2>span+span{-webkit-text-stroke:0;color:var(--accent)}
html[data-venue=sy] .booking-fallback .invitation-content{grid-template-columns:1.65fr 1fr}
html[data-venue=sy] .booking-fallback h2{font-size:clamp(64px,6.3vw,102px)}
@media(max-width:760px){html[data-venue=sy] .booking-fallback .invitation-content{grid-template-columns:1fr}html[data-venue=sy] .booking-fallback h2{font-size:clamp(48px,8.5vw,72px)}.room-section .editorial-bridge{padding-bottom:35px}}
@media(max-width:520px){html[data-venue=sy] .booking-fallback h2{font-size:clamp(39px,11.5vw,60px)}}

/* Different architectural endings, using a second genuine view of each venue. */
html[data-venue=ab] .arrival-art img{filter:brightness(1.2);object-position:45% 45%}
html[data-venue=sy] .arrival-art{grid-column:2;grid-row:1;justify-self:end;width:100%}
html[data-venue=sy] .arrival-information{grid-column:1;grid-row:1;padding-left:30px}
html[data-venue=st] .arrival{grid-template-columns:1.25fr 1fr;gap:7vw}
html[data-venue=st] .arrival-art{width:100%;max-width:none}
html[data-venue=st] .arrival-art img{aspect-ratio:1.2;object-position:50% 35%}
@media(max-width:760px){html[data-venue=sy] .arrival-information{padding-left:0}html[data-venue=st] .arrival{grid-template-columns:1fr;gap:35px}html[data-venue=st] .arrival-information{justify-self:start;padding-left:0}}
@media(max-width:520px){html[data-venue=sy] .arrival-art{grid-column:1;grid-row:1;max-width:85%;justify-self:end}html[data-venue=sy] .arrival-information{grid-column:1;grid-row:2;justify-self:start;padding-left:0}}

.bridge-copy .preview-detail{font-size:11px;color:var(--accent);margin-top:18px}

/* Practical visit information replaces empty policy accordions. */
.visit-information{font:13px/1.8 var(--body);max-width:44ch;margin-top:24px}
.visit-information a{text-decoration:underline;text-underline-offset:4px}
.identity-ab .visit-information{color:#614951}
.identity-sy .visit-information{color:#605c54}
.identity-st .visit-information{color:#bac2ce}

/* Keep every public table visible; no nested scroll or dismiss control. */
.room-section .map-list{max-height:none;overflow:visible}
.room-section .book-selection.secondary{background:transparent;color:var(--ink);border-color:var(--line)}

/* Secondary route to the separate Blender scan studies. */
.scan-study-link{margin:20px 0 0;font-size:14px}.scan-study-link a{color:inherit;text-underline-offset:5px}.scan-study-link a:focus-visible{outline:2px solid currentColor;outline-offset:5px}
