/* Public experience: responsive composition and accessible interactive controls.
   Kept separate from the admin panel and the decorative theme assets. */
:root {
    --gold-primary: #c6a468;
    --gold-light: #ead5a9;
    --gold-bright: #d8b777;
    --gold-dark: #95773e;
    --gold-gradient: linear-gradient(115deg, #ead29e, #c2a064);
    --gold-gradient-hover: linear-gradient(115deg, #efddb8, #d2b37e);
    --gold-border: #c6a46859;
    --gold-border-light: #c6a46830;
    --dark-bg: #18140f;
    --dark-surface: #211b14;
    --dark-surface-elevated: #2a2219;
    --text-muted: #c3b7a4;
    --font-heading: 'Cormorant Garamond', Georgia, serif;
    --font-sans: 'Manrope', -apple-system, BlinkMacSystemFont, sans-serif;
}
html { scroll-padding-top: 110px; }
.contact-business-details dl { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,230px),1fr)); gap: 24px; margin: 0; }
.contact-business-details dl > div { min-width: 0; border-top: 1px solid var(--line); padding-top: 18px; }
.contact-business-details dt { color: var(--muted); font-size: 11px; }
.contact-business-details dd { margin: 8px 0 0; font-size: 14px; overflow-wrap: anywhere; }
body[data-theme] { --ink: #f2eadb; --paper: #201a13; --muted: #c3b7a4; --gold: #d8b777; --line: #c6a46838; line-height: 1.65; }
body [hidden] { display: none !important; }
body[data-theme] :focus-visible { outline: 2px solid #ebc781; outline-offset: 4px; }
body[data-theme] input, body[data-theme] select, body[data-theme] textarea { min-width: 0; max-width: 100%; scroll-margin-top: 120px; scroll-margin-bottom: 100px; }
/* iOS date/time controls otherwise retain native intrinsic sizing inside narrow grids. */
body[data-theme] input[type=date], body[data-theme] input[type=time] { -webkit-appearance: none; appearance: none; box-sizing: border-box; width: 100%; min-inline-size: 0; min-height: 48px; padding: 10px 8px !important; line-height: 1.5; transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease; }
body[data-theme] input::-webkit-date-and-time-value { min-width: 0; min-height: 1.5em; text-align: left; }
body[data-theme] input::-webkit-datetime-edit { min-width: 0; padding: 0; }
body[data-theme] .button, body[data-theme] .outline-button, body[data-theme] .luxury-booking-btn,
body[data-theme] .luxury-catalog-btn, body[data-theme] .luxury-flagship-btn {
    min-height: 44px; padding: 11px 18px !important; border-radius: 3px !important;
    font-size: 12px !important; line-height: 1.5; letter-spacing: .01em; text-transform: none;
    box-shadow: none !important; gap: 16px;
}
body[data-theme] .button > span { font-size: 18px; }
body[data-theme] .site-header { height: 84px; padding: 0 4%; gap: 22px; transition: none; }
body[data-theme] .site-header .luxury-brand { flex-direction: row; gap: 12px; }
body[data-theme] .luxury-brand-medallion { width: 42px; height: 42px; box-shadow: none; }
body[data-theme] .luxury-brand-name { font-family: 'Cinzel', Georgia, serif; font-size: 19px; letter-spacing: .1em; white-space: nowrap; }
body[data-theme] .site-header .wordmark small { font-size: 7px; letter-spacing: .16em; }
body[data-theme] .site-header #navigation { gap: 18px; font-size: 11px; }
.nav-group > summary { color: var(--ink); }
.nav-panel { border-radius: 0 0 4px 4px; }
.nav-link-list span, .nav-occasion-list span { font-size: 12px; }
.nav-kicker, .nav-panel-note { font-size: 11px; }
.nav-intro p { font-size: 13px; }
.imperial-backdrop { min-height: 0; width: 100%; }
.imperial-stage { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: clamp(32px,5vw,84px); align-items: center; width: min(90%,1440px); padding: 66px 0 92px; min-height: 0; }
.stage-copy { min-width: 0; }
.stage-copy .eyebrow { font-size: 10px; letter-spacing: .18em; }
.imperial-stage .stage-copy h1 { font: 400 clamp(48px,5.6vw,88px)/.98 var(--font-serif); letter-spacing: -.025em; text-shadow: none; margin: 22px 0 26px; text-transform: none; }
.imperial-stage .stage-copy h1 em { color: var(--gold-light); font-weight: 400; }
.stage-copy > p { font-size: 14px; line-height: 1.9; color: #ddd1bd; margin: 0; }
.hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 22px; margin: 30px 0; }
.hero-actions .text-link { font-size: 12px; min-height: 44px; display: inline-flex; align-items: center; }
.hero-collection-note { display: flex; align-items: center; gap: 18px; }
.hero-collection-note > span { font: 48px/1 var(--font-serif); color: var(--gold-light); border-right: 1px solid var(--line); padding-right: 18px; }
.hero-collection-note p { font-size: 9px; letter-spacing: .12em; line-height: 1.8; margin: 0; color: #c9bea9; }
.imperial-stage .room-showcase { display: block; position: relative; min-width: 0; width: 100%; }
.showcase-frame { height: clamp(340px,35vw,540px); border-radius: 2px; box-shadow: 0 20px 50px #0003; }
.showcase-slide figcaption h2 { font: 46px/1 var(--font-serif); }
.showcase-slide figcaption a { min-height: 44px; display: inline-flex; align-items: center; }
.showcase-controls { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 14px; }
.showcase-controls button, .carousel-controls button { min-width: 44px; min-height: 44px; }
.showcase-label { font-size: 10px; color: #ddd1bd; }
.search-wrap { width: min(90%,1320px); margin-top: -35px; }
body[data-theme] .search-bar { grid-template-columns: repeat(3,minmax(0,1fr)) auto !important; padding: 18px 24px !important; gap: 22px !important; border-radius: 4px !important; box-shadow: 0 12px 32px #0002 !important; }
.search-bar > * { min-width: 0; }
.search-bar > [role=alert] { grid-column: 1 / -1; margin: 0; }
body[data-theme] .search-bar label { padding: 0 !important; border: 0 !important; }
body[data-theme] .search-bar label input[type=date] { height: 44px; min-height: 44px !important; width: 100%; font-size: 14px; padding: 8px 0 !important; margin: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; }
body[data-theme] .search-bar .button { width: auto !important; justify-self: end; min-height: 44px; padding: 10px 16px !important; font-size: 12px !important; line-height: 1.5; letter-spacing: .01em !important; text-transform: none !important; white-space: normal !important; }
body[data-theme] .search-bar .button > span { font-size: 16px; line-height: 1; }
body[data-theme] .search-bar .guest-picker { padding: 0 !important; border: 0 !important; }
.search-bar .guest-picker summary { min-height: 60px; padding: 0 22px 0 0; }
.search-bar .guest-picker-panel { z-index: 20; }
body[data-theme] .section { width: min(90%,1320px); padding-left: 0; padding-right: 0; }
.guest-picker:not(.guest-picker-expanded) .guest-picker-panel { max-height: min(520px,calc(100dvh - 160px)); overflow-y: auto; overscroll-behavior: contain; }
.luxury-flagship-section { padding: 76px 0; }
.luxury-flagship-card { height: 390px; border-radius: 3px; }
.luxury-event-spotlight { width: min(90%,1320px); margin: 0 auto 80px; }
.luxury-event-pillar-icon { font: 30px var(--font-serif); color: var(--gold-light); }
.luxury-rooms-hero { width: min(90%,1320px); padding: 58px 0 64px; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 64px; margin: 0 auto; }
.luxury-rooms-hero > * { min-width: 0; }
.luxury-rooms-hero-title { font: 400 clamp(44px,4.4vw,70px)/1.05 var(--font-serif); text-transform: none; text-shadow: none; letter-spacing: -.02em; }
.luxury-rooms-hero-desc { max-width: 46ch; font-size: 14px; color: var(--muted); }
.luxury-rooms-hero-frame { border-radius: 3px; height: 360px; aspect-ratio: auto; min-width: 0; }
.luxury-rooms-hero-frame img { width: 100%; height: 100%; object-fit: cover; }
.luxury-rooms-video-btn { min-height: 44px; font-size: 12px; border-radius: 3px; }
.luxury-catalog-section { width: min(90%,1320px); padding: 44px 0 64px; margin: 0 auto; }
.catalog-heading-row { display: flex; justify-content: space-between; align-items: end; gap: 28px; margin-bottom: 28px; }
.catalog-heading-row h2, .catalog-concierge h2 { font: 400 clamp(30px,3.2vw,48px)/1.15 var(--font-serif); margin: 12px 0 0; }
.catalog-heading-row p { color: var(--muted); font-size: 13px; max-width: 38ch; }
.catalog-search { margin-bottom: 28px; }
.catalog-search .search-note { margin: 16px 0; font-size: 13px; }
.catalog-filter-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; margin: 24px 0; }
.luxury-catalog-filter-bar { display: flex; flex-wrap: wrap; gap: 9px; margin: 0; }
.luxury-catalog-filter-pill { min-height: 44px; padding: 8px 16px; font-size: 12px; border-radius: 3px; }
[data-catalog-count] { font-size: 12px; color: var(--muted); margin: 0; }
.luxury-catalog-grid, .room-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; }
.luxury-catalog-card { min-width: 0; border-radius: 3px; background: var(--dark-surface); overflow: visible; box-shadow: none; }
.luxury-catalog-thumb { height: auto; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 2px 2px 0 0; }
.luxury-catalog-thumb .room-image { display: block; height: 100%; }
.luxury-catalog-thumb img { width: 100%; height: 100%; object-fit: cover; }
.luxury-catalog-thumb .carousel-controls { right: 12px; bottom: 12px; }
.luxury-catalog-content { padding: 24px; display: flex; flex: 1; flex-direction: column; }
.luxury-catalog-title { font: 400 34px/1.1 var(--font-serif); text-transform: none; letter-spacing: 0; }
.luxury-catalog-number { font-size: 11px; }
.catalog-capacity, .catalog-bed { font-size: 13px; margin: 12px 0 0; color: var(--muted); }
.catalog-bed { margin-top: 4px; }
.room-feature-tags { list-style: none; display: flex; flex-wrap: wrap; gap: 7px; padding: 0; margin: 18px 0; }
.room-feature-tags li { font-size: 11px; padding: 5px 9px; border: 1px solid var(--line); color: var(--ink); background: none; }
.luxury-catalog-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 20px; border-top: 1px solid var(--line); }
.room-price { display: grid; gap: 3px; font-size: 12px; }
.room-price strong { font-size: 19px; font-weight: 500; }
.room-price span { font-size: 11px; color: var(--muted); }
.luxury-catalog-btn { width: auto; flex-shrink: 0; border: 1px solid var(--gold-border); color: var(--gold-light); background: none; }
.catalog-empty { grid-column: 1 / -1; padding: 36px; text-align: center; border: 1px solid var(--line); }
.catalog-concierge { display: flex; align-items: center; justify-content: space-between; gap: 40px; border-top: 1px solid var(--line); padding: 48px 0 70px; }
.catalog-concierge p { font-size: 14px; color: var(--muted); }
.catalog-concierge .button { flex-shrink: 0; }
.luxury-room-detail { width: min(90%,1440px); max-width: none; padding: 26px 0 60px; margin: 0 auto; }
.luxury-room-breadcrumb { margin: 0 0 28px; display: flex; gap: 12px; flex-wrap: wrap; font-size: 12px; }
body[data-theme] .residence-heading .eyebrow { display: block; margin: 0; font-size: 10px; }
body[data-theme] .residence-heading { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 22px; border: 0; padding: 0; }
body[data-theme] .residence-heading h1 { font: 400 clamp(48px,5.5vw,78px)/1 var(--font-serif); margin: 10px 0 0; letter-spacing: -.025em; }
.residence-heading-meta { display: flex; gap: 12px; flex-wrap: wrap; font-size: 12px; color: var(--muted); }
.residence-heading-meta span + span::before { content: '·'; margin-right: 12px; color: var(--gold); }
.residence-subtitle { color: var(--muted); margin: -8px 0 26px; font-size: 14px; }
body[data-theme] .residence-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(300px,350px); align-items: start; gap: 38px; }
.residence-content { min-width: 0; }
body[data-theme] .residence-mosaic.luxury-room-gallery-wrap { display: block; padding: 0; border: 0; background: transparent; overflow: visible; box-shadow: none; border-radius: 0; }
.luxury-room-main-photo-stage { position: relative; aspect-ratio: auto; height: clamp(340px,calc(100dvh - 350px),540px); min-height: 0; overflow: hidden; background: var(--dark-surface); border: 1px solid var(--line); border-radius: 3px; touch-action: pan-y pinch-zoom; }
.residence-photo-open { width: 100%; height: 100%; padding: 0; border: 0; display: block; background: none; cursor: zoom-in; }
.residence-photo-open img { width: 100%; height: 100%; object-fit: cover; display: block; }
.residence-expand { position: absolute; left: 16px; bottom: 16px; background: #17120ee6; border: 1px solid #ead5a966; padding: 10px 14px; color: #fff; font: 12px var(--font-sans); }
.luxury-room-main-photo-stage .carousel-controls { bottom: 16px; right: 16px; }
.luxury-room-thumb-bar { display: flex; align-items: center; gap: 8px; margin: 12px 0 0; padding: 0; }
.luxury-room-thumb-scroll { display: flex; min-width: 0; flex: 1; gap: 9px; overflow-x: auto; scrollbar-width: thin; padding: 3px; scroll-snap-type: x proximity; }
.luxury-room-thumb-btn { width: 94px; height: 70px; flex: 0 0 94px; padding: 0; border-radius: 0; scroll-snap-align: start; }
.luxury-room-thumb-btn img { width: 100%; height: 100%; object-fit: cover; }
.luxury-room-thumb-btn.active { outline: 1px solid var(--gold-light); outline-offset: 2px; }
.luxury-room-thumb-arrow { min-width: 30px; min-height: 44px; font-size: 24px; }
.residence-section-nav { display: flex; gap: 24px; flex-wrap: wrap; border-bottom: 1px solid var(--line); margin-top: 24px; padding: 0; }
.residence-section-nav a { display: flex; align-items: center; min-height: 52px; font-size: 12px; }
.residence-info-section { padding: 34px 0; border-bottom: 1px solid var(--line); scroll-margin-top: 100px; }
.residence-info-section h2 { font: 400 clamp(28px,3vw,38px)/1.2 var(--font-serif); margin: 0 0 22px; }
.residence-info-section .eyebrow { display: block; margin-bottom: 14px; }
.residence-info-section p { font-size: 14px; line-height: 1.9; color: var(--muted); max-width: 68ch; }
.preserve-lines { white-space: pre-line; }
.room-specifications { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 28px; margin: 24px 0 0; }
.room-specifications > div { border-top: 1px solid var(--line); padding: 14px 0; }
.room-specifications dt { font-size: 11px; color: var(--muted); margin-bottom: 4px; }
.room-specifications dd { font-size: 14px; margin: 0; color: var(--ink); }
.residence-amenities { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; font-size: 14px; }
.residence-amenities li { display: flex; gap: 12px; align-items: center; }
.residence-amenities li span { color: var(--gold); font-size: 24px; }
.residence-policy-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.residence-policy-grid h3 { font: 500 17px var(--font-sans); margin: 0 0 12px; }
.residence-info-section .residence-confirmation-note { font-size: 12px; }
.residence-layout .luxury-room-booking-box { position: static; top: 108px; margin: 0; padding: 26px; border: 1px solid var(--line); border-top: 2px solid var(--gold); border-radius: 3px; background: var(--dark-surface); box-shadow: 0 12px 28px #0002; }
.luxury-room-booking-box h2 { font: 400 33px/1.15 var(--font-serif); margin: 12px 0; }
.residence-booking-intro { font-size: 12px; color: var(--muted); margin-bottom: 22px; }
.residence-list-price { color: var(--muted); font-size: 11px; }
.residence-list-price strong { font-size: 22px; color: var(--gold-light); }
.luxury-room-form { display: grid; gap: 16px; }
.luxury-room-form-row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin: 0; }
.luxury-room-field { display: grid; gap: 8px; font-size: 11px; min-width: 0; }
.luxury-room-field input { width: 100%; min-width: 0; min-height: 44px; padding: 10px 8px; font-size: 12px; background: var(--paper); color: var(--ink); border: 1px solid var(--line); border-radius: 2px; color-scheme: dark; }
.luxury-room-form .guest-picker-expanded { padding: 12px; }
.luxury-room-form .guest-picker-summary { font-size: 13px; }
.booking-quote { padding: 14px; border: 1px solid var(--line); font-size: 12px; color: var(--muted); background: #0002; }
.booking-quote strong, .booking-quote small { display: block; }
.booking-quote strong { font-size: 22px; color: var(--gold-light); margin-bottom: 8px; }
.booking-quote small { font-size: 12px; line-height: 1.7; }
.booking-quote[data-state=error], .booking-quote[data-state=unavailable] { border-color: #dd9c84; color: #f0b6a0; }
.residence-reserve-button { width: 100%; justify-content: center; }
.residence-confirmation-note { margin: 0; font-size: 11px; color: var(--muted); line-height: 1.8; }
.residence-phone { display: block; text-align: center; font-size: 11px; margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--line); }
.residence-phone strong { display: block; margin-top: 5px; font-size: 15px; font-weight: 500; }
.residence-related { margin-top: 54px; }
.residence-no-photo { min-height: 240px; display: grid; place-content: center; color: var(--muted); background: var(--dark-surface); padding: 24px; text-align: center; }
.residence-mobile-booking { display: none; }
body[data-theme] .page-heading h1 { font-size: clamp(42px,5.5vw,76px); }
body[data-theme] .page-heading { background: none; border: 0; padding-top: 48px; padding-bottom: 30px; margin-bottom: 0; }
.booking-room-preview [data-room-preview-empty] { margin: 0; padding: 28px; font-size: 14px; line-height: 1.8; color: var(--muted); }
body[data-theme] .request-form { background: var(--dark-surface); border: 1px solid var(--line); border-top: 2px solid var(--gold); border-radius: 4px; padding: 32px; box-shadow: 0 12px 28px #0002; }
body[data-theme] .form-grid input, body[data-theme] .form-grid select, body[data-theme] .form-grid textarea { border-radius: 3px; box-shadow: none; }
body[data-theme] .form-section-title h2 { font-size: clamp(28px,3vw,40px); }
.form-grid > *, .form-layout > * { min-width: 0; }
.form-section-title { margin-bottom: 22px; }
body[data-theme] .celebration-hero { grid-template-columns: repeat(2,minmax(0,1fr)); width: min(90%,1320px); border-radius: 4px; padding: 48px; box-shadow: none; }
body[data-theme] .celebration-hero > * { min-width: 0; }
body[data-theme] .occasion-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; }
body[data-theme] .occasion-grid > a { min-width: 0; padding: 28px 22px; border-radius: 3px; box-shadow: none; }
body[data-theme] .contact-intro { grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); }
body[data-theme] .contact-paths { grid-template-columns: repeat(2,minmax(0,1fr)); }
body[data-theme] .contact-location { grid-template-columns: minmax(0,1fr) minmax(0,1.2fr); padding: 38px; }
body[data-theme] .contact-concierge, body[data-theme] .contact-paths > a, body[data-theme] .contact-location, body[data-theme] .contact-checklist > div { min-width: 0; border-radius: 3px; box-shadow: none; }
body[data-theme] .contact-checklist { grid-template-columns: repeat(3,minmax(0,1fr)); }
.luxury-gallery-thumb { display: block; width: 100%; padding: 0; border: 0; font: inherit; text-align: left; background: none; cursor: zoom-in; color: var(--ink); }
.luxury-gallery-thumb img { display: block; }
.luxury-gallery-title { display: block; font: 500 27px/1.2 var(--font-serif); color: #fff; }
.luxury-gallery-description { display: block; margin-top: 8px; font-size: 12px; color: #e8decd; }
.gallery-cta-actions { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; }
.luxury-gallery-filter-btn { min-height: 44px; font-size: 12px; }
dialog#gallery, dialog#luxury-lightbox { width: fit-content; height: auto; max-width: 96vw; max-height: 94dvh; padding: 28px; border: 1px solid #b99c6359; background: #14110f; color: #f2eadb; }
dialog#gallery[open] { display: flex; flex-direction: column; align-items: center; justify-content: center; }
#gallery::backdrop, #luxury-lightbox::backdrop { background: #090706e8; }
#gallery img, #luxury-lightbox img { object-fit: contain; max-height: 76dvh; max-width: 86vw; width: auto; height: auto; margin: auto; touch-action: pan-y pinch-zoom; }
#gallery .gallery-close, #luxury-lightbox .luxury-lightbox-close { position: absolute; top: 8px; right: 8px; z-index: 2; width: 44px; height: 44px; border: 1px solid #c6a46859; background: #18140fee; color: #fff; }
.gallery-navigation { display: flex; justify-content: center; align-items: center; gap: 24px; margin-top: 12px; }
#gallery .gallery-navigation button { position: static; inset: auto; transform: none; padding: 6px 12px; }
.gallery-prev, .gallery-next { min-width: 44px; min-height: 44px; border: 1px solid #c6a46859; background: #211b14; color: #ead5a9; font-size: 20px; }
.luxury-lightbox-container > .gallery-prev, .luxury-lightbox-container > .gallery-next { position: absolute; top: 45%; z-index: 1; }
.luxury-lightbox-container > .gallery-prev { left: 0; }
.luxury-lightbox-container > .gallery-next { right: 0; }
.gallery-counter { text-align: center; font-size: 12px; margin: 10px 0 0; }
html:has(#gallery[open], #luxury-lightbox[open]) { overflow: hidden; }
footer .luxury-brand { flex-direction: row; }
@media (min-width:901px) and (min-height:1100px) { .residence-layout .luxury-room-booking-box { position: sticky; } }
@media (max-width:1400px) { .site-header .luxury-phone-pill { display: none; } }
@media (max-width:1100px) {
    body[data-theme] .site-header #navigation { gap: 13px; font-size: 10px; }
    .luxury-catalog-grid, .room-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
    body[data-theme] .residence-layout { grid-template-columns: minmax(0,1fr) minmax(290px,320px); gap: 24px; }
    .residence-layout .luxury-room-booking-box { padding: 20px; }
    .luxury-rooms-hero { gap: 32px; }
}
@media (max-width:1050px) {
    body[data-theme] .site-header.nav-enhanced { height: 76px; padding: 0 5%; }
    body[data-theme] .site-header #navigation { gap: 0; font-size: 12px; }
    body[data-theme] .site-header .menu-toggle { color: var(--ink); }
    body[data-theme] .site-header .luxury-brand-name { font-size: 18px; }
    body[data-theme] .site-header .wordmark small { font-size: 7px; }
}
@media (max-width:900px) {
    body[data-theme] input:not([type=checkbox]):not([type=radio]), body[data-theme] select, body[data-theme] textarea,
    body[data-theme] .search-bar label input[type=date], body[data-theme] .guest-picker-panel select { font-size: 16px !important; }
    body[data-theme] input:not([type=checkbox]):not([type=radio]), body[data-theme] select, body[data-theme] textarea { padding: 10px 12px !important; line-height: 1.5; }
    body[data-theme] .form-layout, body[data-theme] #talep { grid-template-columns: minmax(0,1fr); gap: 30px; padding-left: 0; padding-right: 0; }
    .form-layout .form-aside { display: none; }
    .luxury-mobile-bar { height: calc(64px + env(safe-area-inset-bottom)); padding-bottom: env(safe-area-inset-bottom); }
    body[data-theme] { padding-bottom: calc(80px + env(safe-area-inset-bottom)); }
    body.welcome-page { padding-bottom: 0; }
    body:has(#navigation.open) .luxury-mobile-bar, body:has(#navigation.open) .residence-mobile-booking { visibility: hidden; }
    .imperial-stage { grid-template-columns: 1fr; padding: 40px 0 64px; gap: 32px; }
    .stage-copy { max-width: 650px; }
    .imperial-stage .stage-copy h1 { font-size: clamp(46px,8vw,70px); }
    .hero-collection-note { display: none; }
    .showcase-frame { height: clamp(300px,65vw,510px); }
    body[data-theme] .search-bar { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 12px !important; }
    body[data-theme] .search-bar .guest-picker { grid-column: 1/-1; padding: 0; border: 0; }
    body[data-theme] .search-bar .button { grid-column: 1/-1; justify-self: stretch; width: 100% !important; }
    .search-bar .guest-picker-panel { left: 0; right: auto; width: min(350px,100%); }
    .luxury-rooms-hero { grid-template-columns: minmax(0,1fr); padding-top: 36px; gap: 28px; }
    body[data-theme] .contact-intro, body[data-theme] .contact-location { grid-template-columns: minmax(0,1fr); gap: 28px; }
    body[data-theme] .occasion-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    body[data-theme] .location-plaque { padding-right: 0; border-right: 0; border-bottom: 1px solid var(--line); padding-bottom: 24px; }
    .luxury-rooms-hero-frame { height: 340px; }
    body[data-theme] .residence-layout { grid-template-columns: minmax(0,1fr); gap: 28px; }
    .luxury-room-main-photo-stage { aspect-ratio: 4 / 3; height: auto; }
    .residence-layout .luxury-room-booking-box { position: static; width: 100%; scroll-margin-top: 100px; }
    .luxury-room-form .guest-picker-expanded { padding: 16px; }
    .residence-mobile-booking { display: flex; position: fixed; left: 0; right: 0; bottom: 0; align-items: center; justify-content: space-between; gap: 12px; z-index: 40; padding: 12px 5% calc(12px + env(safe-area-inset-bottom)); background: #1b1610f5; border-top: 1px solid var(--line); }
    .residence-mobile-booking > span { font-size: 11px; color: #ddd1bd; }
    .room-page .luxury-mobile-bar { display: none; }
    body.room-page { padding-bottom: calc(90px + env(safe-area-inset-bottom)); }
    .catalog-concierge { flex-direction: column; align-items: start; gap: 20px; }
}
@media (max-width:640px) {
    html { scroll-padding-top: 90px; }
    body[data-theme] .topline { height: 26px; font-size: 8px; }
    body[data-theme] .luxury-brand-medallion { width: 34px; height: 34px; }
    body[data-theme] .site-header .luxury-brand { gap: 8px; }
    body[data-theme] .site-header .luxury-brand-name { font-size: 16px; }
    body[data-theme] .site-header .wordmark small { font-size: 6px; }
    body[data-theme] .site-header.nav-enhanced .menu-toggle { min-height: 44px; padding: 0 10px; font-size: 11px; display: flex !important; }
    .hero-actions { gap: 16px; margin: 24px 0 0; }
    .stage-copy > p { font-size: 13px; }
    .showcase-frame { height: 320px; }
    .showcase-slide figcaption { padding: 22px 18px; }
    .showcase-slide figcaption h2 { font-size: 36px; }
    .showcase-slide figcaption a { font-size: 11px; }
    body[data-theme] .search-bar { padding: 16px !important; }
    .search-bar .guest-picker summary { min-height: 56px; }
    body[data-theme] .request-form { padding: 26px 20px; border-radius: 3px; }
    body[data-theme] .form-grid { gap: 18px 12px; }
    body[data-theme] .form-grid input, body[data-theme] .form-grid select { padding: 11px 8px; }
    body[data-theme] .page-heading.short { padding-top: 32px; padding-bottom: 32px; background: none; }
    body[data-theme] .form-layout { padding-top: 20px; padding-bottom: 44px; }
    body[data-theme] .form-section-title { gap: 12px; margin-bottom: 20px; }
    body[data-theme] .celebration-hero { grid-template-columns: minmax(0,1fr); gap: 28px; padding: 28px 20px; }
    body[data-theme] .celebration-hero h1 { font-size: 48px; }
    body[data-theme] .celebration-portrait { height: 360px; min-height: 0; border-radius: 100px 100px 3px 3px; }
    body[data-theme] .occasion-grid, body[data-theme] .contact-paths, body[data-theme] .contact-checklist { grid-template-columns: minmax(0,1fr); gap: 18px; }
    body[data-theme] .contact-concierge, body[data-theme] .contact-paths > a, body[data-theme] .contact-location { padding: 26px 22px; }
    body[data-theme] .contact-checklist > div { padding: 22px; }
    body[data-theme] .contact-intro h1 { font-size: 48px; }
    body[data-theme] .contact-phone { font-size: 30px; }
    .luxury-flagship-section { padding: 54px 0; }
    .luxury-flagship-card { height: 320px; }
    .luxury-catalog-grid, .room-grid { grid-template-columns: minmax(0,1fr); gap: 26px; }
    .luxury-catalog-section { padding-top: 20px; }
    .luxury-catalog-content { padding: 22px; }
    .luxury-catalog-title { font-size: 34px; }
    .luxury-rooms-hero-frame { height: 290px; }
    .catalog-heading-row { flex-direction: column; align-items: start; gap: 12px; }
    .catalog-heading-row p { margin: 0; }
    body[data-theme] .residence-heading { display: block; }
    .residence-heading-meta { margin-top: 18px; font-size: 11px; gap: 8px; }
    .residence-heading-meta span + span::before { margin-right: 8px; }
    .residence-section-nav { gap: 18px; }
    .residence-section-nav a { font-size: 11px; }
    .residence-expand { left: 10px; bottom: 10px; font-size: 10px; padding: 10px; }
    .luxury-room-main-photo-stage .carousel-controls { right: 10px; bottom: 10px; }
    .carousel-controls { gap: 4px; }
    .carousel-controls button { width: 40px; min-width: 40px; }
    .residence-policy-grid { grid-template-columns: 1fr; }
    .residence-info-section { padding: 28px 0; }
    .residence-amenities { font-size: 12px; }
    .residence-mobile-booking .button { padding: 10px 12px !important; font-size: 11px !important; }
    .luxury-gallery-grid { grid-template-columns: minmax(0,1fr); }
    .luxury-gallery-overlay { opacity: 1; transform: none; }
    .luxury-gallery-instagram-banner, .luxury-gallery-cta { flex-direction: column; align-items: start; gap: 24px; padding: 28px 20px; }
    dialog#gallery, dialog#luxury-lightbox { padding: 52px 8px 16px; max-width: 98vw; }
    #gallery img, #luxury-lightbox img { max-width: 92vw; }
}
@media (max-width:480px) {
    body[data-theme] .form-grid { grid-template-columns: minmax(0,1fr); }
    .luxury-room-form-row { grid-template-columns: minmax(0,1fr); }
}
@media (max-width:360px) {
    body[data-theme] .search-bar { grid-template-columns: minmax(0,1fr) !important; }
}
@media (prefers-reduced-motion:reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* DESIGN SPECIALIST 1 — MODERN LIGHT PALETTE ONLY.
   Theme-scoped colour overrides; Roman styling and layout geometry stay intact. */
body[data-theme=modern] {
    --ink: #243b35;
    --paper: #fffdf9;
    --muted: #626b63;
    --line: #d9d5c9;
    --gold: #85652f;
    --gold-primary: #92713d;
    --gold-light: #785a2a;
    --gold-bright: #85652f;
    --gold-dark: #6b542e;
    --gold-border: #92713d66;
    --gold-border-light: #92713d30;
    --gold-border-glow: none;
    --gold-text-glow: none;
    --dark-bg: #f8f6f0;
    --dark-surface: #fffdf9;
    --dark-surface-elevated: #eeede5;
    --dark-glass: #fffdf9f5;
    --dark-glass-card: #fffdf9f5;
    --text-primary: #243b35;
    --text-muted: #626b63;
    --text-golden: #785a2a;
    background: #f8f6f0;
    color: var(--ink);
    color-scheme: light;
}
body[data-theme=modern] :focus-visible { outline-color: #85652f; }
body[data-theme=modern] .topline { background: #e9e8df; color: #44564b; border-color: var(--line); }
body[data-theme=modern] .topline a, body[data-theme=modern] .topline a:hover { color: #304b40; }
body[data-theme=modern] .site-header, body[data-theme=modern] .nav-panel { background: #fffdf9f5; color: var(--ink); box-shadow: 0 8px 24px #263b2f0b; }
body[data-theme=modern] .luxury-brand-name { background: none; color: #304b40; -webkit-text-fill-color: currentColor; text-shadow: none; }
body[data-theme=modern] .luxury-brand-sub, body[data-theme=modern] .site-header .wordmark small { color: #785a2a; }
body[data-theme=modern] .luxury-phone-pill { background: #eeede5; color: var(--ink); box-shadow: none; }
body[data-theme=modern] .luxury-phone-pill:hover { background: #e4e8df; color: var(--ink); }
body[data-theme=modern] .imperial-backdrop {
    background-image: linear-gradient(90deg, #f8f6f0fa, #f8f6f0eb 55%, #f8f6f09e), url('/images/golden-facade.jpg') !important;
}
body[data-theme=modern] :is(.stage-copy, .page-heading, .residence-heading, .form-section-title, .form-aside, .occasion-grid, .contact-paths, .contact-checklist, .legal, .receipt, .luxury-event-copy, .luxury-gallery-cta, .luxury-gallery-instagram-copy, .luxury-rooms-hero-content, .luxury-catalog-content) :is(h1, h2, h3) {
    color: var(--ink); text-shadow: none;
}
body[data-theme=modern] :is(.stage-copy, .page-heading, .residence-heading) :is(h1, h2) em { color: var(--gold); }
body[data-theme=modern] .stage-copy > p, body[data-theme=modern] .hero-collection-note p,
body[data-theme=modern] .showcase-label, body[data-theme=modern] .luxury-event-copy > p,
body[data-theme=modern] .legal p, body[data-theme=modern] .receipt p { color: var(--muted); text-shadow: none; }
body[data-theme=modern] .home-instagram-header h2 { color: var(--ink) !important; }
body[data-theme=modern] .text-link:hover { color: var(--ink); border-color: var(--ink); }
body[data-theme=modern] .page-heading { background: #eeede5; }
body[data-theme=modern] :is(.request-form, .form-aside, .luxury-room-booking-box, .contact-concierge, .contact-location, .legal, .receipt, .luxury-event-spotlight, .celebration-hero, .luxury-gallery-cta, .luxury-gallery-instagram-banner) {
    background: #fffdf9; border-color: var(--line); box-shadow: 0 12px 28px #263b2f0b;
}
body[data-theme=modern] .residence-layout .luxury-room-booking-box { background: #fffdf9; border-top-color: #85652f; }
body[data-theme=modern] :is(.occasion-grid, .contact-paths) > a, body[data-theme=modern] .contact-checklist > div,
body[data-theme=modern] .luxury-event-pillar, body[data-theme=modern] .luxury-catalog-card {
    background: #fffdf9; border-color: var(--line); box-shadow: 0 8px 22px #263b2f08;
}
body[data-theme=modern] :is(.occasion-grid, .contact-paths) > a:hover { background: #f1f0e8; box-shadow: 0 10px 24px #263b2f12; }
body[data-theme=modern] .luxury-event-pillar strong, body[data-theme=modern] .luxury-event-pillar span,
body[data-theme=modern] .faq summary, body[data-theme=modern] .contact-phone:hover { color: var(--ink); }
body[data-theme=modern] .celebration-links a, body[data-theme=modern] .contact-secondary,
body[data-theme=modern] .form-section-title > span, body[data-theme=modern] .reference,
body[data-theme=modern] .success-icon { background: #eeede5; color: #785a2a; }
body[data-theme=modern] .contact-secondary:hover { background: #e4e8df; color: var(--ink); }
body[data-theme=modern] :is(.quote, .booking-quote, .planner-summary) { background: #f0f2ea; color: var(--ink); border-color: var(--line); }
body[data-theme=modern] :is(.quote, .booking-quote)[data-state=error], body[data-theme=modern] :is(.quote, .booking-quote)[data-state=unavailable] { color: #883b28; background: #fff2ec; border-color: #bd755d; }
body[data-theme=modern] .checkbox-row, body[data-theme=modern] .checkbox-row > span { color: var(--ink); }
body[data-theme=modern] input:not([type=hidden]):not([type=checkbox]), body[data-theme=modern] select, body[data-theme=modern] textarea,
body[data-theme=modern] .search-bar label input[type=date], body[data-theme=modern] .guest-picker-panel select {
    background: #fffdf9 !important; color: #243b35 !important; border-color: #c7ccbf !important; color-scheme: light;
}
body[data-theme=modern] input::placeholder, body[data-theme=modern] textarea::placeholder { color: #6b746c; opacity: 1; }
body[data-theme=modern] input:focus, body[data-theme=modern] select:focus, body[data-theme=modern] textarea:focus { border-color: #85652f !important; box-shadow: 0 0 0 2px #92713d20 !important; }
body[data-theme=modern] input::-webkit-calendar-picker-indicator, body[data-theme=modern] .search-bar label input[type=date]::-webkit-calendar-picker-indicator { filter: none; }
body[data-theme=modern] .search-bar { background: #fffdf9f5 !important; }
body[data-theme=modern] .search-bar .guest-picker-summary, body[data-theme=modern] .search-bar .guest-picker-label { color: var(--ink) !important; }
body[data-theme=modern] .guest-picker-panel { background: #fffdf9; color: var(--ink); }
body[data-theme=modern] .button, body[data-theme=modern] .search-bar .button,
body[data-theme=modern] .luxury-booking-btn, body[data-theme=modern] .guest-picker-done {
    background: #294a3d !important; color: #fffdf9 !important; border-color: #294a3d !important;
}
body[data-theme=modern] .button:hover, body[data-theme=modern] .search-bar .button:hover,
body[data-theme=modern] .luxury-booking-btn:hover { background: #1d382e !important; color: #fffdf9 !important; }
body[data-theme=modern] .luxury-catalog-btn { color: #294a3d; border-color: #8e9e90; }
body[data-theme=modern] .luxury-catalog-btn:hover { background: #e7ede4; color: #294a3d; }
body[data-theme=modern] .luxury-room-breadcrumb, body[data-theme=modern] .luxury-room-breadcrumb a { color: #526154; }
body[data-theme=modern] .luxury-room-thumb-arrow { background: #eeede5; color: var(--ink); border-color: #c7ccbf; }
body[data-theme=modern] .luxury-room-thumb-arrow:hover { background: #e4e8df; color: var(--ink); }
body[data-theme=modern] .luxury-gallery-instagram-btn { background: #eeede5; color: #294a3d; box-shadow: none; }
body[data-theme=modern] :is(.luxury-catalog-filter-pill, .luxury-gallery-filter-btn) { background: #fffdf9; color: #354f43; border-color: #c7ccbf; box-shadow: none; }
body[data-theme=modern] :is(.luxury-catalog-filter-pill, .luxury-gallery-filter-btn).active { background: #294a3d; color: #fffdf9; border-color: #294a3d; }
body[data-theme=modern] :is(.luxury-mobile-bar, .residence-mobile-booking) { background: #fffdf9f5; color: var(--ink); box-shadow: 0 -5px 20px #263b2f0f; }
body[data-theme=modern] .residence-mobile-booking > span { color: var(--muted); }
body[data-theme=modern] > footer { background: #e9e8df; color: var(--ink); border-color: var(--line); }
body[data-theme=modern] .footer-top p, body[data-theme=modern] .footer-bottom { color: #526154; border-color: #c7ccbf; }
body[data-theme=modern].welcome-page:before { background: linear-gradient(#f8f6f0f5, #f8f6f0eb), url('/images/golden-facade.jpg') center/cover; }
body[data-theme=modern] .welcome-intro h1, body[data-theme=modern] .welcome-identity { color: var(--ink); text-shadow: none; }
body[data-theme=modern] .welcome-intro h1 em, body[data-theme=modern] .welcome-intro .eyebrow { color: var(--gold); }
body[data-theme=modern] .welcome-intro p, body[data-theme=modern] .welcome-footer { color: var(--muted); text-shadow: none; }
body[data-theme=modern] :is(.showcase-frame, .luxury-flagship-card, .welcome-choice, .luxury-gallery-item, .event-venue-card, .location-plaque, .celebration-portrait, #gallery, #luxury-lightbox) {
    --ink: #f7efdf; --muted: #ded4c3; --gold: #d8b777; --gold-light: #ead5a9; --gold-bright: #d8b777; --text-muted: #ded4c3;
}
body[data-theme=modern] .booking-room-preview > span { color: #ead5a9; }
body[data-theme=modern] .location-plaque h2, body[data-theme=modern] .location-plaque h2 em { color: #f7efdf; }
body[data-theme=modern] :is(#gallery, #luxury-lightbox) .gallery-counter { color: #ded4c3; }
/* END DESIGN SPECIALIST 1 — MODERN LIGHT PALETTE. */
