@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{color-scheme:dark;--bg:#050505;--surface:#10100e;--card:#171612;--text:#f8f5ed;--muted:#a9a69d;--line:#353024;--gold:#d8b65e;--gold-hi:#f5d98c;--gold-dark:#8e6d31;--cream:#f7f0df;--shadow:rgba(0,0,0,.5)}
html[data-theme=light]{color-scheme:light;--bg:#faf7ee;--surface:#fffdf8;--card:#f2eadc;--text:#211c14;--muted:#6a6050;--line:#d7c9ab;--gold:#997024;--gold-hi:#b18a38;--gold-dark:#70531c;--cream:#fff;--shadow:rgba(61,43,16,.15)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',Arial,sans-serif;font-size:15px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.12}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:400;letter-spacing:-.04em}em{color:var(--gold);font-weight:400}section{scroll-margin-top:100px}.section{padding:110px max(5vw,22px)}.eyebrow{font-size:11px;letter-spacing:.27em;font-weight:700;color:var(--gold);text-transform:uppercase;margin-bottom:25px}.topline{min-height:30px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:5px 5vw;font-size:10px;letter-spacing:.23em;color:var(--gold)}.header{height:95px;padding:9px 5vw;display:flex;align-items:center;justify-content:space-between;gap:32px;border-bottom:1px solid var(--line);background:var(--bg);position:sticky;top:0;z-index:40}.brand{display:flex;flex-direction:column;align-items:center;flex:0 0 170px}.brand img{height:55px;width:150px;object-fit:contain;object-position:center}.brand span{font-size:8px;letter-spacing:.21em;color:var(--gold)}nav{display:flex;align-items:center;gap:25px}nav a{font-size:12px;letter-spacing:.08em;transition:color .2s}nav a:hover,.visit-contact a:hover{color:var(--gold)}.header-actions{display:flex;align-items:center;gap:14px}.theme-toggle,.menu-toggle{border:1px solid var(--line);background:transparent;color:var(--text);padding:10px 13px;font-size:12px}.theme-toggle:hover{border-color:var(--gold)}.header-book,.button.gold{background:linear-gradient(115deg,var(--gold-dark),var(--gold-hi) 50%,var(--gold));color:#151007;font-weight:700}.header-book{font-size:11px;letter-spacing:.07em;padding:13px 18px}.menu-toggle{display:none}.hero{min-height:670px;display:grid;grid-template-columns:1.1fr .9fr;position:relative;background:radial-gradient(circle at 30% 40%,rgba(161,111,35,.12),transparent 42%),var(--bg)}.hero-copy{padding:100px 5vw 80px;align-self:center;max-width:740px}.hero h1{font-size:clamp(66px,8vw,128px);margin-bottom:30px}.hero-copy>p:not(.eyebrow):not(.hero-footnote){max-width:500px;color:var(--muted);font-size:17px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:38px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:14px 23px;border:1px solid var(--gold);font-size:12px;letter-spacing:.07em;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button.outline{background:transparent;color:var(--gold)}.hero-footnote{font-size:10px;letter-spacing:.23em;color:var(--gold-dark);margin-top:65px}.hero-visual{position:relative;min-height:580px;overflow:hidden}.hero-visual img{width:100%;height:100%;object-fit:cover;filter:saturate(.7) contrast(1.08)}.hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.88),transparent 45%),linear-gradient(90deg,var(--bg),transparent 35%)}.hero-image-note{position:absolute;z-index:2;bottom:55px;left:15%;color:#fff}.hero-image-note span{font-size:10px;letter-spacing:.24em;color:var(--gold-hi)}.hero-image-note strong{display:block;font-family:Georgia,serif;font-size:27px;font-style:italic;font-weight:400;margin-top:12px}.hero-side{position:absolute;right:9px;top:45%;font-size:9px;letter-spacing:.2em;writing-mode:vertical-rl;color:var(--gold)}.intro{text-align:center;max-width:1100px;margin:auto}.intro h2,.section-heading h2,.booking-copy h2,.visit-section h2{font-size:clamp(44px,5vw,75px);margin-bottom:25px}.intro>p:last-child{max-width:650px;margin:0 auto;color:var(--muted)}.departments{display:grid;grid-template-columns:repeat(3,1fr)}.department{height:500px;position:relative;overflow:hidden;background:#222}.department img{width:100%;height:100%;object-fit:cover;filter:brightness(.57) grayscale(.3);transition:transform .6s}.department:hover img{transform:scale(1.05)}.department:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.92),transparent 70%)}.department-content{position:absolute;z-index:1;bottom:35px;left:30px;right:30px;color:#fff}.department-content>span{color:var(--gold-hi);letter-spacing:.18em;font-size:10px}.department-content h2{font-size:clamp(36px,3.5vw,58px);margin:15px 0}.department-content p{color:#dfd9cc}.department-content a{display:inline-block;color:var(--gold-hi);font-size:12px;letter-spacing:.05em;border-bottom:1px solid var(--gold);padding-bottom:6px}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:42px}.section-heading>p{max-width:420px;color:var(--muted)}.category-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:30px}.category-button{position:relative;border:1px solid var(--line);padding:0;background:var(--surface);color:var(--text);text-align:left;overflow:hidden}.category-button img{width:100%;height:132px;object-fit:cover;filter:brightness(.75)}.category-button span{display:block;padding:12px 15px;letter-spacing:.03em;font-size:13px}.category-button.active{border-color:var(--gold);box-shadow:inset 0 -2px var(--gold)}.category-button.active span{color:var(--gold)}.category-button:hover img{filter:brightness(1)}.service-detail{display:grid;grid-template-columns:40% 60%;min-height:420px;background:var(--surface);border:1px solid var(--line)}.service-detail-visual{position:relative;min-height:400px}.service-detail-visual img{width:100%;height:100%;object-fit:cover}.service-detail-visual span{position:absolute;bottom:20px;left:20px;background:#070707d9;color:#f1d17a;font-size:10px;letter-spacing:.2em;padding:10px 13px}.service-detail-content{padding:35px 42px}.service-detail-content h3{font-family:'Playfair Display',Georgia,serif;font-size:40px;font-weight:400}.service-detail-content>p{color:var(--muted)}.service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px;margin-top:24px}.service-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line);font-size:13px}.service-row strong{white-space:nowrap;font-size:12px;color:var(--gold);font-weight:600}.service-row button{border:0;background:none;color:var(--text);padding:0;text-align:left}.service-row button:hover{color:var(--gold)}.service-hint{font-size:12px;margin-top:25px}.quote-panel{text-align:center;background:linear-gradient(120deg,#3c2c12,#a77b2c 55%,#3d2a0f);color:#fff;padding:60px 20px}.quote-panel>span{font-size:10px;letter-spacing:.24em}.quote-panel>p{font-family:'Playfair Display',Georgia,serif;font-size:clamp(45px,6vw,80px);margin:12px 0}.quote-panel em{color:#ffe9ab}.quote-panel a{font-size:11px;letter-spacing:.16em;border-bottom:1px solid #fff8;padding-bottom:7px}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.gallery figure{margin:0;overflow:hidden;aspect-ratio:1;background:var(--card)}.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.gallery img:hover{transform:scale(1.06)}.product-section{background:var(--surface)}.product-departments{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.product-department{min-height:170px;padding:25px;border:1px solid var(--line);background:var(--bg);display:flex;flex-direction:column;justify-content:space-between}.product-department span{font-size:11px;letter-spacing:.16em;color:var(--gold)}.product-department h3{font-family:'Playfair Display',Georgia,serif;font-size:25px;font-weight:400;margin:0}.product-department small{color:var(--muted)}.integration-note{display:flex;align-items:center;gap:22px;border:1px solid var(--gold-dark);padding:20px 25px;margin-top:25px;font-size:12px}.integration-note strong{color:var(--gold);white-space:nowrap}.integration-note span{color:var(--muted)}.booking-section{display:grid;grid-template-columns:1fr 1fr;gap:7vw;padding:110px 7vw}.booking-copy>p:not(.eyebrow){max-width:510px;color:var(--muted)}.booking-copy ul{padding-left:22px;line-height:2.1;color:var(--muted)}.booking-form{background:var(--surface);border:1px solid var(--line);padding:35px;display:flex;flex-direction:column;gap:7px}.booking-form h3{font-size:32px;font-family:'Playfair Display',Georgia,serif;font-weight:400;margin:0 0 16px}.booking-form label{font-size:11px;letter-spacing:.05em;margin-top:9px}.booking-form input,.booking-form select,.booking-form textarea{width:100%;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:0;padding:11px 13px;min-height:44px}.booking-form :focus{outline:1px solid var(--gold)}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.booking-form button{margin-top:18px}.fineprint{font-size:11px;color:var(--muted);margin:6px 0}.visit-section{display:flex;justify-content:space-between;gap:35px;background:var(--surface);border-top:1px solid var(--line)}.visit-section p:not(.eyebrow){color:var(--muted)}.visit-contact{display:flex;flex-direction:column;justify-content:center;gap:13px;font-size:19px}.visit-contact a:first-child{color:var(--gold)}footer{padding:45px 5vw;background:#090909;color:#c9c2b4;text-align:center;border-top:1px solid #44371f}.footer-brand{font-family:Georgia,serif;font-size:32px;letter-spacing:.12em;color:#e4bd63}.footer-brand span{display:block;font-family:Arial,sans-serif;font-size:9px;letter-spacing:.25em}footer p{font-size:12px;margin:12px 0}footer small{font-size:10px;color:#9f9685}.whatsapp{position:fixed;right:20px;bottom:20px;z-index:50;background:#1e6e49;color:#fff;padding:12px 18px;font-size:13px;box-shadow:0 5px 25px #0005}
@media(max-width:1120px){.header{gap:12px}.header nav{gap:12px}.brand{flex-basis:135px}.brand img{width:126px}.header-book{display:none}.category-strip{grid-template-columns:repeat(3,1fr)}.product-departments{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.topline span:nth-child(2){display:none}.header{height:78px}.brand img{height:42px}.brand span{font-size:7px}.menu-toggle{display:block}.header nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--bg);border-bottom:1px solid var(--gold);padding:16px 5vw;flex-direction:column;align-items:start}.header nav.open{display:flex}.theme-toggle span{display:none}.hero{grid-template-columns:1fr}.hero-copy{padding:78px 6vw 55px}.hero h1{font-size:clamp(55px,15vw,85px)}.hero-visual{min-height:400px;max-height:530px}.hero-side{display:none}.section{padding:72px 6vw}.departments{grid-template-columns:1fr}.department{height:390px}.section-heading{display:block}.section-heading>p{max-width:none}.category-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.category-button img{height:105px}.service-detail{grid-template-columns:1fr}.service-detail-visual{height:260px;min-height:0}.service-detail-content{padding:28px 22px}.service-list{grid-template-columns:1fr}.gallery{grid-template-columns:repeat(2,1fr)}.product-departments{grid-template-columns:repeat(2,1fr)}.integration-note{display:block}.integration-note strong{display:block;margin-bottom:7px}.booking-section{grid-template-columns:1fr;padding:72px 6vw}.booking-form{padding:24px}.visit-section{display:block}.visit-contact{font-size:16px;margin-top:22px}.whatsapp span{display:none}}
@media(max-width:390px){.category-strip{gap:7px}.category-button span{font-size:11px;padding:10px}.product-departments{grid-template-columns:1fr}.form-pair{grid-template-columns:1fr}.topline{letter-spacing:.1em}}
.product-showcase-heading{font-family:'Playfair Display',Georgia,serif;font-size:32px;font-weight:400;margin:55px 0 20px}.product-showcase{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px}.showcase-card{border:1px solid var(--line);padding:10px;background:var(--bg)}.showcase-card img{height:180px;width:100%;object-fit:contain;background:#f0eee9}.showcase-card h4{margin:13px 7px 2px;font-size:14px;font-weight:600}.showcase-card small{display:block;color:var(--muted);margin:0 7px 9px;font-size:10px}.product-department a{display:inline-block;background:none;border-bottom:1px solid var(--gold);color:var(--text);padding:0 0 5px;font-size:12px}.product-department a:hover{color:var(--gold)}@media(max-width:760px){.product-showcase{grid-template-columns:repeat(2,minmax(0,1fr))}.showcase-card img{height:150px}}
.gallery-media-button{position:relative;display:block;width:100%;height:100%;border:0;padding:0;background:transparent;color:#fff;cursor:pointer}.gallery-media-button>span{position:absolute;bottom:0;left:0;right:0;padding:15px;background:linear-gradient(transparent,#000b);font-size:12px;text-align:left}.social-gallery-card{height:100%;min-height:170px;display:flex;flex-direction:column;justify-content:end;gap:12px;padding:20px;background:linear-gradient(135deg,#392a15,#0d0b09);color:#f5d98c}.social-gallery-card span{font-size:11px;letter-spacing:.12em}.social-gallery-card strong{font-family:Georgia,serif;font-size:20px;font-weight:400}.gallery-viewer{background:#050505;color:#fff;border:1px solid #c2a050;padding:35px;max-width:min(1100px,95vw);max-height:92vh}.gallery-viewer::backdrop{background:#000d}.gallery-viewer img,.gallery-viewer video{display:block;max-height:80vh;max-width:85vw}.gallery-close{position:absolute;top:5px;right:8px;border:0;background:#17120b;color:#f7d986;font-size:20px;padding:6px 12px}
.tips-section{background:var(--surface)}.tips-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.tip-card{background:var(--bg);border:1px solid var(--line)}.tip-card>img{width:100%;height:220px;object-fit:cover}.tip-card-content{padding:24px}.tip-card-content>span{color:var(--gold);font-size:10px;letter-spacing:.2em}.tip-card h3{font-family:'Playfair Display',Georgia,serif;font-weight:400;font-size:27px;margin:13px 0}.tip-card p{color:var(--muted);font-size:13px}.tip-card button{color:var(--gold);border:0;border-bottom:1px solid var(--gold);padding:0 0 6px;background:none}.tip-viewer{max-width:min(900px,96vw);width:900px;max-height:92vh;overflow:auto;background:var(--bg);color:var(--text);border:1px solid var(--gold);padding:35px 42px}.tip-viewer::backdrop{background:#000d}.tip-viewer h2{font-size:clamp(35px,5vw,55px)}.tip-viewer p:not(.eyebrow){color:var(--muted);font-size:15px;line-height:1.9}.tip-featured{width:100%;height:320px;object-fit:cover;margin-bottom:30px}@media(max-width:950px){.tips-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:630px){.tips-grid{grid-template-columns:1fr}.tip-viewer{padding:35px 18px}.tip-featured{height:220px}}

/* Refined motion layer: preserve the site's original fonts and gold/black/ivory palette. */
@keyframes mirror-rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes mirror-glow{0%,100%{filter:drop-shadow(0 0 0 transparent)}50%{filter:drop-shadow(0 0 12px rgba(219,176,75,.27))}}
@keyframes mirror-sheen{from{transform:translateX(-160%) skewX(-24deg)}to{transform:translateX(260%) skewX(-24deg)}}
.hero-copy .eyebrow{animation:mirror-rise .65s ease both}.hero h1{animation:mirror-rise .8s .12s ease both}.hero-copy>p:not(.eyebrow){animation:mirror-rise .75s .24s ease both}.hero-actions{animation:mirror-rise .75s .34s ease both}.hero h1 em,.quote-panel em{animation:mirror-glow 5.5s ease-in-out infinite}
.category-button,.department,.product-department,.tip-card,.showcase-card,.gallery figure{transition:transform .35s cubic-bezier(.2,.75,.2,1),box-shadow .35s,border-color .35s,background-color .35s;will-change:transform}
.category-button:hover,.product-department:hover,.tip-card:hover,.showcase-card:hover,.gallery figure:hover{transform:translateY(-7px);box-shadow:0 15px 45px var(--shadow);border-color:var(--gold)}
.category-button:nth-child(3n+2),.product-department:nth-child(3n+2){background:linear-gradient(145deg,var(--surface),var(--card));border-color:var(--gold-dark)}
.category-button:nth-child(4n),.product-department:nth-child(4n){background:linear-gradient(145deg,var(--card),var(--surface));box-shadow:inset 0 0 0 1px rgba(208,164,68,.15)}
.product-department,.category-button,.header-book,.button.gold{position:relative;overflow:hidden}
.product-department::after,.category-button::after,.header-book::after,.button.gold::after{content:'';pointer-events:none;position:absolute;inset:0 auto 0 -55%;width:42%;background:linear-gradient(90deg,transparent,rgba(255,230,159,.13),transparent);transform:translateX(-160%) skewX(-24deg)}
.product-department:hover::after,.category-button:hover::after,.header-book:hover::after,.button.gold:hover::after{animation:mirror-sheen 1s ease}
.department-content{transition:transform .35s}.department:hover .department-content{transform:translateY(-10px)}
.tip-card:nth-child(3n+2),.showcase-card:nth-child(3n+2){border-color:var(--gold-dark)}
.hero-visual img{animation:mirror-rise 1.05s .15s ease both}
.category-button,.product-department,.tip-card,.showcase-card{animation:mirror-rise .75s ease both;animation-timeline:view();animation-range:entry 0% cover 23%}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important;will-change:auto!important}.reveal-on-view{animation:none!important}}
.visit-socials{display:flex;gap:10px 20px;flex-wrap:wrap;padding-top:22px;margin-top:8px;border-top:1px solid var(--line)}.visit-socials span{flex-basis:100%;font-size:10px;letter-spacing:.19em;color:var(--gold)}.visit-socials a{font-size:13px;white-space:nowrap}
.visit-section{display:block}
.visit-contact{display:flex;flex-direction:row;align-items:center;gap:12px;margin-top:30px;padding:3px 0 12px;overflow-x:auto;white-space:nowrap;scrollbar-width:thin;scrollbar-color:var(--gold-dark) transparent}
.visit-contact .contact-action{display:inline-flex;align-items:center;justify-content:center;gap:10px;flex:0 0 auto;padding:12px 15px;border:1px solid var(--line);border-radius:4px;color:var(--text);font-size:13px;line-height:1.4;text-decoration:none;transition:border-color .2s,color .2s,background .2s,transform .2s}
.visit-contact .contact-action:first-child{color:var(--gold);border-color:var(--gold-dark)}
.visit-contact .contact-action:hover,.visit-contact .contact-action:focus-visible{color:var(--gold);border-color:var(--gold);background:rgba(214,174,77,.08);transform:translateY(-2px)}
.visit-contact .contact-icon{width:19px;height:19px;flex:none;fill:none;stroke:var(--gold);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.visit-contact .contact-icon-fill{fill:var(--gold);stroke:none}
@media(max-width:760px){.visit-contact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:23px;gap:9px;overflow:visible;white-space:normal}.visit-contact .contact-action{min-width:0;padding:11px 8px;font-size:12px}.visit-contact .contact-call{grid-column:1 / -1}}
.article-rich-content{text-align:left;line-height:1.8}.article-rich-content h2,.article-rich-content h3,.article-rich-content h4{margin:20px 0 10px;color:var(--gold)}.article-rich-content p{margin:12px 0}.article-rich-content ul,.article-rich-content ol{padding-left:28px}.article-rich-content blockquote{padding:10px 20px;border-left:2px solid var(--gold);font-style:italic}.article-rich-content a{color:var(--gold);text-decoration:underline}#tipViewerContent video.tip-featured{max-width:100%;height:auto;display:block;margin:20px auto}
.gallery figure:has(video){aspect-ratio:3/4;background:#050505}.gallery video{display:block;width:100%;height:100%;object-fit:contain;background:#050505}.gallery-viewer video{width:auto;height:auto;max-height:80vh;max-width:85vw;object-fit:contain}.gallery-more{text-align:center;margin-top:30px}.gallery-more button{cursor:pointer}.gallery-more-dialog{position:relative;background:var(--bg);color:var(--text);border:1px solid var(--gold);padding:45px;max-width:min(560px,90vw);text-align:center}.gallery-more-dialog::backdrop{background:rgba(0,0,0,.85)}.gallery-more-dialog h2{font-size:clamp(27px,4vw,42px)}.gallery-more-links{display:flex;justify-content:center;gap:18px;margin-top:30px;flex-wrap:wrap}.gallery-more-links a{padding:14px 22px;border:1px solid var(--gold);color:var(--gold);text-decoration:none}.gallery-more-links a:hover{background:var(--gold);color:var(--bg)}
.gallery-more-dialog{position:fixed;inset:0;margin:auto;max-height:min(85vh,600px);overflow:auto}.gallery .gallery-media-button>span{display:none}.gallery figure:has(video) .gallery-media-button>span{display:block}
.hero-visual>img.hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.4s ease;animation:none!important}.hero-visual>img.hero-slide.active{opacity:1}
@media(prefers-reduced-motion:reduce){.hero-visual>img.hero-slide{transition:none}}
.seat-map-heading{display:flex;align-items:baseline;justify-content:space-between;gap:15px;margin-top:36px;margin-bottom:16px}.seat-map-heading h3{font-family:'Playfair Display',Georgia,serif;font-weight:400;font-size:29px;margin:0}.seat-map-heading span{font-size:9px;letter-spacing:.13em;color:var(--gold)}.seat-map{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.room-card{background:var(--surface);border:1px solid var(--line);padding:18px;min-width:0}.room-card-heading{display:flex;flex-direction:column;gap:5px;margin-bottom:15px}.room-card-heading span{color:var(--gold);font-size:9px;letter-spacing:.16em}.room-card-heading strong{font-family:'Playfair Display',Georgia,serif;font-size:20px;font-weight:400}.room-seats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.seat-choice{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:79px;padding:12px 6px;border:1px solid var(--gold-dark);background:var(--bg);color:var(--text);font:inherit;font-size:12px;text-align:center;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}.seat-choice .seat-symbol{font-size:24px;line-height:1;color:var(--gold)}.seat-choice small{font-size:9px;color:var(--muted)}.seat-choice:hover,.seat-choice:focus-visible{border-color:var(--gold);transform:translateY(-2px)}.seat-choice[aria-pressed=true]{background:linear-gradient(135deg,#a77b29,#ead176);color:#111;border-color:var(--gold);box-shadow:0 0 0 2px rgba(226,186,86,.2)}.seat-choice[aria-pressed=true] .seat-symbol{color:#111}.seat-choice.unavailable{opacity:.43;cursor:not-allowed;border-style:dashed}.seat-choice.not-matching{opacity:.25;cursor:not-allowed}.room-card p{font-size:11px;color:var(--muted);line-height:1.5;margin:12px 0 0}.seat-legend{display:flex;flex-wrap:wrap;gap:18px;margin-top:16px;font-size:11px;color:var(--muted)}.legend-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--gold);margin-right:6px}.unavailable-dot{background:#666}.booking-copy .fineprint{font-size:11px;margin-top:15px;color:var(--muted)}@media(max-width:580px){.seat-map{grid-template-columns:1fr}.seat-map-heading{display:block}.seat-map-heading span{display:block;margin-top:6px}.room-seats{grid-template-columns:repeat(2,minmax(0,1fr))}}

.public-service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}.public-service-card{display:flex;flex-direction:column;border:1px solid rgba(199,155,73,.3);padding:20px;background:var(--card-bg,rgba(155,125,68,.04));border-radius:10px}.public-service-card h3{margin:12px 0}.public-service-card small{color:#c5a463;letter-spacing:.09em}.public-service-card p{opacity:.8;margin-top:auto}.public-service-card button{margin-top:12px}

.booking-service-notice:empty{display:none}.booking-service-notice{font-size:.78rem;line-height:1.45;color:var(--gold,#c5a252);margin:0 0 .8rem}

/* Gallery: identical grid footprints for images and portrait phone videos. */
.gallery figure,.gallery figure:has(video){aspect-ratio:1!important;overflow:hidden}
.gallery .gallery-media-button>video,.gallery .gallery-media-button>img{display:block;width:100%;height:100%;object-fit:cover;background:#070707}
.gallery .gallery-media-button>span{display:none!important}
.gallery-viewer video{width:auto;height:auto;max-width:min(90vw,1100px);max-height:80vh;object-fit:contain}

@media(max-width:760px){.visit-section{padding-top:60px;padding-bottom:60px}footer{padding:36px 6vw}footer p{margin:12px 0}}
