:root{--paper:#f9f6ee;--ink:#2c2421;--wine:#572937;--gold:#795c32;--rule:#cfc5b5;--muted:#625a52;--mx:max(5vw,calc((100vw - 1340px)/2));font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}body{margin:0}img{display:block;max-width:100%}a{color:inherit;text-underline-offset:.25em}a:hover{color:var(--wine)}:focus-visible{outline:3px solid #07628b;outline-offset:4px}.skip{position:absolute;left:8px;top:-90px;background:white;padding:12px;z-index:4}.skip:focus{top:5px}
header{padding:10px var(--mx);display:flex;align-items:center;gap:3vw;border-bottom:1px solid var(--rule);min-height:86px;background:#fffcf6}.brand img{width:96px;height:66px;object-fit:contain}header nav{display:flex;align-items:center;gap:2.3vw;margin-left:auto}nav a,.button,.textlink{font-size:14px;font-weight:600}nav a{text-decoration:none;padding:10px 0}nav a[aria-current]{text-decoration:underline}.button{display:inline-flex;align-items:center;justify-content:center;gap:17px;text-decoration:none;border:1px solid var(--wine);background:var(--wine);color:white;padding:15px 22px;border-radius:2px;line-height:1.2}.button:hover{background:#3b1923;color:white}.button.light{background:var(--paper);color:var(--wine);border-color:var(--paper)}header details{display:none}
h1,h2,h3,.display{font-family:Georgia,'Times New Roman',serif;font-weight:400;margin:0;letter-spacing:-.047em;line-height:1.02}h1{font-size:clamp(60px,7.4vw,116px)}h2{font-size:clamp(42px,4.8vw,74px)}h3{font-size:clamp(28px,3.1vw,46px)}p{line-height:1.6;margin:0 0 1em}em{font-weight:400;color:var(--wine)}.label{font:600 11px/1.45 Arial,sans-serif;text-transform:uppercase;letter-spacing:.17em;color:var(--gold);margin:0 0 24px}.hero{display:grid;grid-template-columns:1fr 1fr;padding:32px var(--mx) 26px;gap:5.5vw;align-items:center}.heroCopy{padding:30px 0}.heroCopy>p:not(.label){font-size:18px;max-width:41ch;margin:26px 0 30px}.actions{display:flex;align-items:center;gap:23px;flex-wrap:wrap}.textlink{display:inline-block;padding:9px 0}.hero figure,.gallery figure{margin:0}.hero figure img{width:100%;height:clamp(440px,38vw,610px);object-fit:cover;object-position:50% 52%;border-radius:48% 48% 0 0 / 19% 19% 0 0}.hero figcaption,figcaption{font-size:12px;color:var(--muted);line-height:1.45;margin-top:9px}.strip{display:flex;gap:20px;justify-content:space-between;align-items:center;border-block:1px solid var(--rule);padding:18px var(--mx);font:italic clamp(17px,1.65vw,25px)/1.3 Georgia,serif}.strip span{font-size:.65em;color:var(--gold)}
section.block,.intro{padding:clamp(48px,6vw,94px) var(--mx)}.intro{padding-bottom:35px}.intro p:last-child,.lead{max-width:63ch;margin-top:20px;font-size:18px}.headrow{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:26px}.roomgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:36px 30px}.roomgrid article img{width:100%;aspect-ratio:1.85;object-fit:cover}.roomgrid article h3{margin:14px 0 6px}.roomgrid article p{color:var(--muted)}.roomgrid article a{text-decoration:none}.roomgrid article a:hover h3{text-decoration:underline}.features{background:#eee3f3;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:6vw}.features img{width:100%;height:340px;object-fit:cover}.features p:not(.label){margin:20px 0}.close{background:var(--wine);color:white;padding:55px var(--mx);display:flex;align-items:center;justify-content:space-between;gap:28px}.close h2{max-width:15ch}.close .label{color:#eddecc;margin-bottom:10px}.footer{padding:38px var(--mx);display:flex;justify-content:space-between;align-items:start;gap:30px}.footer strong{display:block;font:26px Georgia,serif;margin-bottom:9px}.footer p,.footer a{font-size:14px}.footer nav{display:grid;grid-template-columns:repeat(2,auto);gap:0 26px}.footer nav a{padding:6px 0}
.capacity,.details,.servicegroups,.gallery,.contacts{padding:0 var(--mx) clamp(45px,6vw,90px)}.capacity table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;margin-bottom:16px}th,td{text-align:left;border-bottom:1px solid var(--rule);padding:15px 8px}thead{color:var(--wine);background:#eee3f3}.capacity p{max-width:79ch;font-size:15px}.roomDetail,.servicegroups article{display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:center;padding-block:28px;border-top:1px solid var(--rule)}.roomDetail img,.servicegroups img{width:100%;height:320px;object-fit:cover}.roomDetail h2,.servicegroups h2,.contacts h2{font-size:clamp(32px,3.8vw,54px);margin:8px 0 15px}.roomDetail dl{display:flex;gap:20px;margin:16px 0}.roomDetail dd{font:28px Georgia,serif;margin:4px 0}.roomDetail dt{font-size:13px}.gallery{columns:3;column-gap:18px}.gallery figure{break-inside:avoid;margin-bottom:24px}.gallery img{width:100%;height:auto}.contacts{display:grid;grid-template-columns:1fr 1fr;gap:7vw}.contacts address{font-style:normal;line-height:1.6}.contacts article{border-top:1px solid var(--rule);padding-top:22px}.contacts .button{margin:8px 0 18px}.note{font-size:15px;color:var(--muted)}summary{cursor:pointer}.finder{padding:14px 18px;border:1px solid var(--rule);margin-bottom:24px}.finder label,.finder output{display:block;margin-top:13px}.finder input,.finder select{font:inherit;padding:9px;max-width:100%}.finder label{font-size:14px}
@media(max-width:740px){header{gap:16px;flex-wrap:wrap;min-height:70px}.brand img{width:74px;height:50px}header>nav{display:none}header>.button{margin-left:auto;padding:12px 14px}header details{display:block}header details nav{display:flex;flex-direction:column;align-items:stretch;position:absolute;z-index:2;right:5vw;top:67px;background:#fffcf6;border:1px solid var(--rule);padding:12px 24px;min-width:165px}header summary{padding:12px 0;font-size:14px}.hero{grid-template-columns:1fr;padding-top:10px;gap:8px}.heroCopy{padding:25px 0 13px}.heroCopy>p:not(.label){margin:16px 0;font-size:16px}.label{margin-bottom:14px}.hero figure img{height:clamp(300px,85vw,450px);object-position:center 55%}.strip{gap:12px;flex-wrap:wrap;justify-content:center;text-align:center}.features,.roomDetail,.servicegroups article,.contacts{grid-template-columns:1fr}.roomgrid{gap:18px}.headrow,.close,.footer{align-items:start;flex-direction:column}.gallery{columns:2}.roomDetail img,.features img,.servicegroups img{height:auto;max-height:340px;object-fit:cover}.capacity th,.capacity td{padding:12px 4px;font-size:14px}.close h2{max-width:100%}}@media(max-width:440px){.roomgrid{grid-template-columns:1fr}.gallery{column-gap:10px}.hero h1{font-size:clamp(55px,15vw,67px)}.strip{font-size:16px}.strip span{display:none}.capacity th,.capacity td{font-size:12px}.roomDetail dl{gap:13px}}
.more{margin:0;padding:0 var(--mx) 50px}.contacts address{margin:20px 0}.capacity caption{text-align:left;font-weight:bold;padding:12px 0}.hero figure img{background:#d6c5b0}
@media(max-width:440px){.strip{gap:6px 13px}.strip i{display:inline-block}.strip i:last-child{flex-basis:100%}}
@media(max-width:740px){header summary,header .button,header nav a,.textlink{min-height:44px}.finder summary{padding-block:10px}.finder input,.finder select{min-height:44px}}

/* Graces after dark. The dark proscenium frames the real venue photography. */
@font-face{font-family:Graces Display;src:url('/assets/cormorant.ttf') format('truetype');font-style:normal;font-weight:300 700;font-display:swap}
@font-face{font-family:Graces Display;src:url('/assets/cormorant-italic.ttf') format('truetype');font-style:italic;font-weight:300 700;font-display:swap}
:root{--paper:#faf5fb;--ink:#2d1935;--wine:#65307b;--champagne:#f4d9a9;--night:#321746;--gold:#714080;--rule:#d9c7df;--muted:#69556c;--mx:max(6vw,calc((100vw - 1400px)/2))}
h1,h2,h3,.display,.footer strong{font-family:'Graces Display',Georgia,serif;font-weight:500;letter-spacing:-.042em}
header{background:var(--night);color:#fff8ec;border-bottom:1px solid #57444a;position:relative;z-index:4}
header .brand img{height:65px;width:112px}
header nav a{font-weight:400;color:#f8f3eb}
header nav a:hover,header nav a:focus-visible{color:var(--champagne)}
header .button{background:transparent;color:var(--champagne);border-color:#af9974;border-radius:0}
header .button:hover{background:var(--champagne);color:var(--night)}
header details nav{background:var(--night)}
.button{border-radius:0;font-weight:500}
.label{letter-spacing:.19em}
.arrival{position:relative;isolation:isolate;min-height:clamp(570px,45vw,730px);display:flex;align-items:center;background:#201b1a;overflow:hidden}
.arrival>img{position:absolute;inset:0 0 0 auto;height:100%;width:80%;object-fit:cover;object-position:50% 47%;z-index:-2}
.arrival:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#171419 2%,rgba(23,20,25,.98) 18%,rgba(23,20,25,.84) 35%,rgba(23,20,25,.18) 69%,rgba(23,20,25,.05)),linear-gradient(to top,rgba(18,13,18,.42),transparent 40%)}
.arrivalCopy{color:#fff9f0;margin:56px var(--mx);max-width:570px}
.arrivalCopy .label,.stage .label,.close .label{color:var(--champagne)}
.arrivalCopy h1,.sceneWords h2{font-size:clamp(80px,8.9vw,154px);line-height:.86;letter-spacing:-.057em}
.arrivalCopy em,.sceneWords em{color:var(--champagne);font-weight:400}
.arrivalCopy>p:not(.label),.sceneWords>p:not(.label){font-size:17px;line-height:1.65;max-width:34ch;margin:24px 0 27px}
.arrivalCopy .textlink{color:white}.strip{background:#dcc7ee;letter-spacing:.01em}
.roomgrid article img{transition:filter .25s}
.roomgrid article a:hover img{filter:brightness(.93)}
.roomgrid article h3{font-size:clamp(36px,4vw,60px)}
.close{background:linear-gradient(110deg,#37124c,#653372)}
.close .button,.arrivalCopy .button{color:#2e2027;background:#f5e4c4}
.stage{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 74% 38%,#86508c 0%,#5a3370 28%,#382046 56%,#261232 91%);color:#fff8ec}
.stage:before{content:"";position:absolute;inset:auto -16% -42% 18%;height:68%;transform:rotate(-12deg);border-radius:50%;border-top:1px solid #bfa27e66;box-shadow:0 -16px 30px -20px #ffdeb45c;pointer-events:none}
.scene{display:grid;grid-template-columns:46% 54%;align-items:center;padding:28px var(--mx) 18px;position:relative;min-height:clamp(495px,40vw,650px)}
[hidden]{display:none!important}
.sceneWords{z-index:2;position:relative;padding-bottom:14px}
.sceneWords h2{font-size:clamp(68px,8.5vw,142px);font-weight:500}
.sceneWords>p:not(.label){color:#f5eee8;max-width:36ch}
.sceneLink{display:inline-flex;align-items:center;gap:26px;border-bottom:1px solid #c6ab88;color:#fff9ed;padding:8px 0;text-decoration:none;font-size:14px}
.sceneLink:hover,.sceneLink:focus-visible{color:#f1d095}
.sceneArt{height:clamp(405px,34vw,545px);position:relative;isolation:isolate}
.arc{position:absolute;inset:10% -15% 1% -5%;border-radius:50%;transform:rotate(-26deg);border:1px solid #eed4ad96;box-shadow:0 -5px 12px -7px #ffdeac}
.arc:before,.arc:after{content:"";position:absolute;inset:9px -2px -6px;border-radius:50%;border:1px solid #eed4ad38}
.arc:after{inset:-6px 2px 12px}
.mainPrint{position:absolute;inset:1% 9% 6% 19%;background:#614d48;clip-path:polygon(0 0,100% 0,100% 88%,88% 100%,0 100%);overflow:hidden}
.mainPrint img,.detailPrint img{width:100%;height:100%;object-fit:cover}
.detailPrint{position:absolute;bottom:1%;left:0;width:40%;height:37%;padding:4px;background:#ede0cb;box-shadow:0 15px 27px #140d1599;transform:rotate(-3deg)}
.sceneControls{position:relative;display:flex;gap:0;margin:0 var(--mx);border-top:1px solid #79666b;padding:6px 0 12px}
.sceneControls button{font:500 15px/1.25 Arial,sans-serif;border:0;background:transparent;color:#e8ddda;cursor:pointer;padding:17px 22px 13px;position:relative}
.sceneControls button:first-child{padding-left:0}
.sceneControls button[aria-pressed=true]{color:#ffe4b6}
.sceneControls button[aria-pressed=true]:before{content:"";position:absolute;inset:-7px 8px auto 0;border-top:2px solid #e3bf88}
.sceneControls button:hover{text-decoration:underline}
.guideLead{padding:60px var(--mx) 36px;display:flex;align-items:end;justify-content:space-between;gap:32px}
.guideLead p:not(.label){max-width:42ch;margin:0}
.guideLead .label{margin-bottom:10px}
.servicegroups article{padding-block:42px;gap:8vw}
.servicegroups article:nth-child(even) img{order:2}
.servicegroups article img{height:clamp(270px,28vw,470px)}
.servicegroups article:nth-child(even){grid-template-columns:.85fr 1.15fr}
.servicegroups article p{max-width:46ch}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.roomsPage .intro,.visitPage .intro,.galleryPage .intro{position:relative;isolation:isolate;background:#432251;color:#fff6e7;margin-bottom:38px;padding-block:46px;overflow:hidden}
.roomsPage .intro:before,.visitPage .intro:before,.galleryPage .intro:before{content:"";position:absolute;inset:0 0 0 auto;width:44%;z-index:-1;background:linear-gradient(to right,#432251,transparent 72%),var(--mast-photo) center 48%/cover}
.roomsPage{--mast-photo:url('/assets/editorial/venue-exterior.webp')}.galleryPage{--mast-photo:url('/assets/editorial/band.webp')}.visitPage{--mast-photo:url('/assets/editorial/arrival.webp')}
.intro .label{color:var(--champagne)}.intro h1{font-size:clamp(62px,6.8vw,115px)}.intro p:last-child{max-width:min(49ch,56%)}
@media(prefers-reduced-motion:no-preference){.scene:not([hidden]) .mainPrint img{animation:resolve-scene .6s ease-out both}@keyframes resolve-scene{from{transform:scale(1.035)}to{transform:scale(1)}}}
@media(max-width:740px){
 header .brand img{height:52px;width:83px}
 .arrival{min-height:640px;align-items:end}
 .arrival>img{width:100%;height:78%;object-position:55% 22%}
 .arrival:before{background:linear-gradient(to top,#1b151c 12%,rgba(27,21,28,.94) 28%,rgba(27,21,28,.18) 73%,transparent)}
 .arrivalCopy{margin:32px var(--mx)}
 .arrivalCopy h1,.sceneWords h2{font-size:clamp(66px,14vw,85px)}
 .arrivalCopy>p:not(.label),.sceneWords>p:not(.label){font-size:16px;margin:14px 0}
 .scene{grid-template-columns:1fr;padding-top:26px;min-height:0;gap:6px}
 .sceneWords{padding-bottom:0}
 .sceneArt{height:clamp(218px,55vw,330px);margin:0 0 4px}
 .mainPrint{inset:2% 3% 2% 24%}.detailPrint{width:32%;height:49%;left:5%}.arc{inset:17% -3% 0 8%}
 .sceneControls button{padding:14px 15px;font-size:14px}
 .guideLead{display:block;padding-top:40px}.guideLead p:not(.label){margin-top:15px}
 .servicegroups article,.servicegroups article:nth-child(even){grid-template-columns:1fr;gap:22px}.servicegroups article:nth-child(even) img{order:0}.servicegroups article img{height:270px}
 .roomsPage .intro:before,.visitPage .intro:before,.galleryPage .intro:before{width:65%;opacity:.3}
 .intro p:last-child{max-width:44ch}
}
header .brand{background:#f7efdd;border-radius:50%;padding:2px 13px;display:block}
header .brand img{width:86px;height:55px}
@media(max-width:740px){header .brand{padding:2px 9px}header .brand img{width:66px;height:44px}}

/* Full-bleed film with an independent, responsive poster behind the player. */
.filmHero{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;min-height:clamp(580px,77svh,860px);background:#201b20;color:white}
.filmBackdrop,.filmBackdrop picture,.filmBackdrop img,.filmBackdrop video{position:absolute;inset:0;width:100%;height:100%}
.filmBackdrop{z-index:-2}
.filmBackdrop img,.filmBackdrop video{object-fit:cover;object-position:50% 49%}
.filmBackdrop video{opacity:0}
.filmBackdrop video.ready{opacity:1}
.filmHero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(35,10,52,.94),rgba(51,18,64,.82) 35%,rgba(53,17,62,.17) 70%,rgba(17,13,17,.07)),linear-gradient(0deg,rgba(12,10,13,.52),transparent 25%)}
.filmHero .arrivalCopy{max-width:625px;margin:75px var(--mx) 100px}
.filmTools{position:absolute;bottom:24px;right:var(--mx);display:flex;align-items:center;gap:10px}
.filmTools a,#film-control{display:inline-flex;align-items:center;background:#351c47f2;color:#fff8ed;border:1px solid #c8b69c;padding:10px 16px;min-height:44px;font:500 13px Arial,sans-serif;text-decoration:none}
#film-control{cursor:pointer}.filmTools a:hover,#film-control:hover{background:#403340;color:white}
@media(max-width:740px){.filmHero{align-items:flex-end;min-height:clamp(610px,83svh,820px)}.filmHero:before{background:linear-gradient(0deg,rgba(37,11,49,.97),rgba(51,20,66,.86) 37%,rgba(41,16,49,.19) 77%,rgba(17,13,17,.07))}.filmHero .arrivalCopy{margin:70px var(--mx) 96px}.filmTools{left:var(--mx);right:auto;bottom:25px}}
header .brand{background:transparent;border-radius:0;padding:0}
header .brand img{width:112px;height:74px}
@media(max-width:740px){header .brand img{width:85px;height:57px}}

.roomgrid h3,.guideLead h2,.servicegroups h2,.headrow h2,.contacts h2{color:#592665}.roomDetail:nth-child(even){background:#f1e6f5}.roomDetail:nth-child(even)>div{padding-inline:16px}.sceneWords em,.arrivalCopy em{color:#f4dbb0}.finder{background:#f2e7f6}.strip{color:#392143}.roomgrid article a:hover h3{color:#7c368c}

/* November 7: original white masthead and wordmark, with spacious navigation. */
:root{--paper:#fff;--ink:#292529;--muted:#655f67;--rule:#e3dfe5}
header{background:#fff;color:var(--ink);min-height:108px;padding:16px var(--mx);gap:32px;border-color:var(--rule)}
header .brand{flex-shrink:0;padding:0}
header .brand img{width:185px;height:75px;object-fit:contain}
header>nav{gap:clamp(26px,2.8vw,44px)}
header nav a{color:var(--ink);font-size:14px;font-weight:400;min-height:44px;display:flex;align-items:center}
header nav a:hover,header nav a:focus-visible{color:#65307b}
header>nav a[aria-current]{text-decoration:none;box-shadow:inset 0 -1px #65307b}
header>.button{color:#542961;border-color:#a491aa;padding:15px 20px;white-space:nowrap;min-height:48px}
header>.button:hover{background:#542961;color:white}
header details{display:block;position:relative;flex-shrink:0}
header summary{display:flex;align-items:center;justify-content:center;gap:16px;min-height:48px;padding:12px 17px;border:1px solid #bcb3c0;list-style:none;font:14px Arial,sans-serif;background:#fff;color:#342a37}
header summary::-webkit-details-marker{display:none}
header summary:hover,header details[open] summary{background:#f6f3f7}
.menuIcon{width:20px;height:12px;border-block:1px solid currentColor;display:block;position:relative}
.menuIcon:after{content:"";position:absolute;inset:5px 0 auto;border-top:1px solid currentColor}
header details[open] .menuIcon{border-color:transparent}
header details[open] .menuIcon:before,header details[open] .menuIcon:after{content:"";position:absolute;inset:5px 0 auto;border-top:1px solid currentColor;transform:rotate(45deg)}
header details[open] .menuIcon:after{transform:rotate(-45deg)}
header details nav{position:absolute;right:0;top:calc(100% + 18px);display:flex;flex-direction:column;align-items:stretch;gap:0;min-width:260px;background:white;border:1px solid var(--rule);padding:14px 24px;box-shadow:0 14px 35px #26162e14;z-index:10}
header details nav a{padding:14px 0;min-height:49px;border-bottom:1px solid #efecf0;text-decoration:none}
header details nav a[aria-current]{color:#65307b;text-decoration:underline}
header details nav a:last-child{border:0;color:#65307b;justify-content:space-between}
.strip{background:#fff;color:#3c303e;padding-block:24px;gap:32px}
.features,.roomDetail:nth-child(even),.finder,thead{background:#f8f6f8}
.roomgrid h3,.guideLead h2,.servicegroups h2,.headrow h2,.contacts h2{color:#342b37}
.roomsPage .intro,.visitPage .intro,.galleryPage .intro{background:white;color:var(--ink);border-bottom:1px solid var(--rule)}
.roomsPage .intro:before,.visitPage .intro:before,.galleryPage .intro:before{background:linear-gradient(to right,#fff 2%,#ffffffbd 32%,#ffffff12 80%),var(--mast-photo) center 48%/cover}
.intro .label{color:#714080}
.filmHero:before{background:linear-gradient(90deg,rgba(20,18,22,.92),rgba(28,24,29,.79) 35%,rgba(28,24,29,.12) 72%,rgba(17,13,17,.04)),linear-gradient(0deg,rgba(12,10,13,.48),transparent 25%)}
.filmTools a,#film-control{background:#252129ed}
@media(max-width:1120px){header>nav{display:none}header>.button{margin-left:auto}header{gap:24px}}
@media(max-width:740px){header{flex-wrap:nowrap;padding-block:12px;min-height:84px;gap:16px}header .brand img{width:160px;height:auto}header details nav{top:calc(100% + 16px)}.filmHero:before{background:linear-gradient(0deg,rgba(20,18,22,.97),rgba(28,24,29,.86) 37%,rgba(28,24,29,.2) 77%,rgba(17,13,17,.07))}.strip{gap:12px 20px;padding-block:20px}}
@media(max-width:600px){header>.button{display:none}header details{margin-left:auto}header summary{gap:12px;padding:12px 14px}header .brand img{width:155px;height:auto}}
@media(max-width:360px){header .brand img{width:140px}header summary{gap:10px;padding:12px}}

/* Complete venue palette: white space, amethyst emphasis, the original gold mark. */
:root{--wine:#62317a;--gold:#6d4283;--paper:#fff;--ink:#302735;--muted:#665d6c;--rule:#e6deeb}
:focus-visible{outline-color:#76439b}
.button{background:var(--wine);border-color:var(--wine);color:white}
.button:hover{background:#48215c;color:white}
.textlink{color:var(--wine)}
h1 em,h2 em{color:var(--wine)}
.roomgrid{gap:44px 32px}.roomgrid article h3{color:#4f2b61}.roomgrid article p{margin-top:9px}
.features{background:#faf8fc;border-block:1px solid var(--rule)}
.close{position:relative;margin:0 var(--mx);padding:64px 0;background:white;color:var(--ink);border-top:1px solid var(--rule);gap:40px}
.close:before{content:"";position:absolute;top:-1px;left:0;width:90px;border-top:3px solid var(--wine)}
.close h2{max-width:18ch;font-size:clamp(46px,5.6vw,86px)}
.close .label{color:var(--wine);margin-bottom:20px}
.close .button{background:var(--wine);color:white;border-color:var(--wine);min-width:185px;flex-shrink:0}
.close .button:hover{background:#48215c}
.footer{border-top:1px solid var(--rule);padding-block:40px;background:#faf8fc}
.footer strong{color:#542e6b}
.roomsPage .intro,.visitPage .intro,.galleryPage .intro{padding-block:64px;min-height:315px;margin-bottom:48px;background:white}
.roomsPage .intro:before,.visitPage .intro:before,.galleryPage .intro:before{inset:30px var(--mx) 30px auto;width:32%;background:var(--mast-photo) center 48%/cover;opacity:1;border-bottom:3px solid #8657a1}
.intro h1{max-width:63%;font-size:clamp(60px,6.8vw,106px)}
.intro p:last-child{max-width:50%;font-size:17px;color:var(--muted)}
.stage{background:radial-gradient(ellipse at 80% 54%,#e8dcf2 0%,#f8f3fc 35%,#fff 72%);color:var(--ink);border-bottom:1px solid var(--rule)}
.stage:before{border-color:#a67dc255;box-shadow:none}
.stage .label{color:var(--wine)}
.sceneWords h2{color:#34263d}.sceneWords em{color:#70418b}
.sceneWords>p:not(.label){color:var(--muted)}
.sceneLink{color:#613277;border-color:#b89ac8}.sceneLink:hover,.sceneLink:focus-visible{color:#48215c}
.arc{border-color:#8d5baa88;box-shadow:none}.arc:before,.arc:after{border-color:#9d77b344}
.detailPrint{background:white;box-shadow:0 12px 30px #43235324}
.sceneControls{border-color:#d5bfdf;padding-bottom:16px}
.sceneControls button{color:#62536b;min-height:48px}
.sceneControls button[aria-pressed=true]{color:#62317a;font-weight:600}
.sceneControls button[aria-pressed=true]:before{border-color:#734392}
.roomDetail{padding-block:38px;gap:6vw}.roomDetail:nth-child(even){background:transparent}
.roomDetail:nth-child(even)>div{padding-inline:0}
.roomDetail h2{color:#57336b}.roomDetail dl{gap:28px}.roomDetail dt{color:var(--muted)}.roomDetail dd{color:#61377b}
.capacity{padding-bottom:44px}.capacity caption{font-size:18px;padding-bottom:20px}
.finder{background:#faf7fc;border-left:3px solid #795094}.finder summary{color:var(--wine)}
.contacts{gap:32px;align-items:stretch}
.contacts article{padding:32px;border:1px solid var(--rule);border-top:3px solid #795094;background:#fcfafd}
.contacts h2{color:#57336b}.contacts p,.contacts address{max-width:46ch}.contacts .button{margin-top:4px}
.gallery{column-gap:26px}.gallery figure{margin:0 0 30px}.gallery figure a{display:block;overflow:hidden;background:#f7f3fa}
.gallery img{transition:filter .2s;object-fit:cover}.gallery a:hover img{filter:brightness(.94)}
.gallery figcaption{color:#66536f;font-size:13px;padding:4px 0 0}
.photoViewer{position:fixed;inset:0;width:min(1120px,94vw);max-width:none;height:min(900px,94dvh);max-height:94dvh;padding:0;border:1px solid #cbb6d8;background:#fff;color:#302735;overflow:hidden}
.photoViewer[open]{display:flex;flex-direction:column}.photoViewer::backdrop{background:#201526e8;backdrop-filter:blur(6px)}
.viewerBar,.viewerBottom{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 20px;flex-shrink:0;background:white}
.viewerBar{border-bottom:1px solid var(--rule);font-size:13px;letter-spacing:.12em}
.photoViewer button{border:1px solid #9b7aad;background:white;color:#54286a;min-height:44px;min-width:48px;padding:10px 16px;cursor:pointer;font:14px Arial,sans-serif}
.photoViewer button:hover{background:#f2e9f7}
.viewerImage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;background:#f8f5fa;padding:12px}
.viewerImage img{width:100%;height:100%;object-fit:contain}
.viewerBottom{border-top:1px solid var(--rule)}.viewerBottom p{margin:0;text-align:center;font-size:14px}
.viewingPhoto{overflow:hidden}
@media(max-width:740px){
 .roomsPage .intro,.visitPage .intro,.galleryPage .intro{padding-top:36px;padding-bottom:220px;margin-bottom:32px;min-height:0}
 .roomsPage .intro:before,.visitPage .intro:before,.galleryPage .intro:before{inset:auto var(--mx) 28px;width:auto;height:160px;background-position:center 48%;opacity:1}
 .intro h1,.intro p:last-child{max-width:100%}.intro h1{font-size:clamp(58px,12vw,82px)}
 .close{padding-block:42px;gap:26px}.close h2{font-size:clamp(45px,10vw,66px)}
 .scene{padding-top:36px}.sceneWords h2{font-size:clamp(66px,13vw,85px)}
 .contacts{gap:24px}.contacts article{padding:24px}.contacts .button{max-width:100%}
 .gallery{column-gap:14px}.gallery figure{margin-bottom:23px}.gallery figcaption{font-size:12px;line-height:1.4}
 .roomgrid{gap:30px}.roomDetail dl{gap:22px}
 .photoViewer{width:96vw;height:92dvh;max-height:92dvh}.viewerBar,.viewerBottom{padding:10px 12px;gap:10px}.viewerImage{padding:8px}.viewerBottom p{font-size:12px}
}
@media(prefers-reduced-motion:reduce){.gallery img{transition:none}}


/* Balanced identity: white, deep aubergine, restrained antique gold. */
:root{--wine:#703298;--gold:#947436;--rule:#e5e0d9;--muted:#625e63}
header details{display:none}
header>nav{margin-left:auto;gap:clamp(36px,3.6vw,58px)}
header nav a{color:var(--wine);font-weight:700;font-size:16px;letter-spacing:0;text-transform:uppercase}
header nav a:hover,header nav a:focus-visible{color:#805f25}
header>nav a[aria-current]{color:var(--wine);box-shadow:inset 0 -2px #ad8d4d}
header>.button{background:var(--wine);border-color:var(--wine);color:#fff}
header>.button:hover{background:#351746}
header summary{border-color:#af925c;color:var(--wine);font-weight:700;letter-spacing:.08em;text-transform:uppercase}
header details nav a[aria-current],header details nav a:last-child{color:var(--wine)}
header details[open] summary,header summary:hover{background:#f7f5f0}
.filmHero:before{background:linear-gradient(90deg,rgba(18,12,23,.78),rgba(18,12,23,.62) 32%,rgba(18,12,23,.14) 53%,transparent 68%)}
.filmHero .arrivalCopy{color:#fff;text-shadow:0 2px 12px #0006}
.filmHero .arrivalCopy .label,.filmHero .arrivalCopy em{color:#b473d5}
.filmHero .arrivalCopy .button{background:var(--wine);border-color:var(--wine);color:#fff}
.filmHero .arrivalCopy .button:hover{background:#351746}
.filmHero .arrivalCopy .textlink{color:#f0d79e;text-decoration-color:#ad8d4d}
.filmTools a,#film-control{border-color:#baa16d;background:#302735ed;color:#fff}
.label,.intro .label,.stage .label{color:var(--wine)}
.strip{background:#fff;color:#39353b;border-bottom:1px solid var(--rule)}
.strip span{color:#a3854b}
.headrow h2,.features h2,.guideLead h2,.servicegroups h2{color:#302735}
.roomgrid article h3,.roomDetail h2,.contacts h2,.sceneWords em{color:var(--wine)}
.roomgrid article a:hover h3{color:#765929}
.features,.finder{background:#f8f7f4}
.finder{border-left-color:#ac8c4e}
thead{background:#f4f1ea;color:#4d2468}
.roomDetail dd{color:#302735}.gallery figcaption{color:#625e63}
.contacts article{border-top-color:#ad8d4d;background:white}
.close:before{width:100px;border-color:#ad8d4d}
.footer{background:#f8f7f4;border-top-color:#d8c9ab}
.footer strong{color:var(--wine)}.footer nav a{color:#48414a}
.stage{background:radial-gradient(ellipse at 80% 54%,#f2ece0 0%,#faf8f3 35%,#fff 72%)}
.stage:before,.arc,.arc:before,.arc:after{border-color:#ae8f4c55}
.sceneControls{border-color:#ded3bf}
.sceneControls button{color:#625e63}
.sceneControls button[aria-pressed=true]{color:var(--wine)}
.sceneControls button[aria-pressed=true]:before{border-color:#ad8d4d}
.sceneLink{color:var(--wine);border-color:#ad8d4d}
.roomsPage .intro:before,.visitPage .intro:before,.galleryPage .intro:before{border-bottom-color:#ad8d4d}
.gallery figure a,.viewerImage{background:#f8f7f4}
.photoViewer{border-color:#b8a276}
.photoViewer button{border-color:#b8a276;color:var(--wine)}
.photoViewer button:hover{background:#f4f1ea}
@media(max-width:1120px){header details{display:block}header>nav{display:none}}
@media(min-width:601px) and (max-width:1120px){header details .menuInquiry{display:none}}
@media(max-width:740px){.filmHero:before{background:linear-gradient(0deg,rgba(18,12,23,.87),rgba(18,12,23,.70) 46%,rgba(18,12,23,.08) 76%,transparent)}}

/* First-party event request, with delivery intentionally deferred. */
.contacts{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);align-items:start}
.formNotice{padding:16px 0;border-block:1px solid var(--rule);font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.formNotice a{color:var(--wine)}
.eventInquiry form{margin-top:26px}
.eventInquiry fieldset{border:0;padding:0;margin:0 0 30px;min-width:0}
.eventInquiry legend{font-family:'Graces Display',Georgia,serif;font-size:30px;color:var(--wine);margin-bottom:20px}
.formGrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px 18px}
.formWide{grid-column:1/-1}
.formGrid label{display:block;font-size:14px;font-weight:600;margin-bottom:9px;color:#39313e}
.formGrid input,.formGrid select,.formGrid textarea{width:100%;min-width:0;box-sizing:border-box;border:1px solid #bcb2c2;border-radius:0;background:#fff;color:#302735;font:16px Arial,sans-serif;padding:13px 12px;min-height:48px}
.formGrid textarea{resize:vertical;line-height:1.5}
.formGrid input:focus,.formGrid select:focus,.formGrid textarea:focus{border-color:var(--wine);outline:2px solid var(--wine);outline-offset:2px}
.fieldHint{display:block;font-size:12px;line-height:1.5;color:var(--muted);margin-top:7px}
.eventInquiry button{font:500 15px Arial,sans-serif;cursor:pointer;gap:24px;min-height:48px}
.requestReview h3{font-size:36px;color:var(--wine);margin:10px 0 24px}
.requestReview dl{margin:0 0 24px}.requestReview dt{font-size:12px;font-weight:bold;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-top:18px}
.requestReview dd{margin:4px 0 0;overflow-wrap:anywhere;white-space:pre-wrap}
.requestReview p[role=status]{font-size:14px;border-top:1px solid var(--rule);padding-top:20px}
@media(max-width:900px){.contacts{grid-template-columns:1fr}}
@media(max-width:440px){.formGrid{grid-template-columns:1fr}.formWide{grid-column:auto}.eventInquiry legend{font-size:27px}}

.venueMap{margin:24px 0;border:1px solid #d8c9ab;background:#f8f7f4;overflow:hidden}
.venueMap iframe{display:block;width:100%;height:330px;border:0}
@media(max-width:440px){.venueMap iframe{height:280px}}
