.room-hero{position:relative;height:50vh;min-height:380px;display:flex;align-items:flex-end;padding:0 var(--s10) var(--s10);overflow:hidden}.room-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center}.room-hero-grad{position:absolute;inset:0;background:linear-gradient(to top,rgba(9,8,10,1) 0,rgba(9,8,10,.4) 60%,rgba(9,8,10,.1) 100%)}.room-hero-content{position:relative;z-index:1;animation:fadeUp .8s cubic-bezier(.16,1,.3,1) both}.room-eyebrow{display:inline-flex;align-items:center;gap:var(--s3);font-size:var(--xs);letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:var(--s3)}.room-eyebrow::before{content:'';width:24px;height:1px;background:var(--gold)}.room-title{font-family:var(--font-display);font-size:var(--3xl);font-weight:700;line-height:1.05;color:var(--text);margin-bottom:var(--s3)}.room-meta{display:flex;gap:var(--s5);flex-wrap:wrap;font-size:var(--xs);color:var(--text-muted)}.room-meta span{display:inline-flex;align-items:center;gap:var(--s2)}.room-meta svg{color:var(--gold);opacity:.8}.room-main{max-width:1280px;margin:0 auto;padding:var(--s12) var(--s10);display:grid;grid-template-columns:1.5fr 1fr;gap:var(--s10)}@media(max-width:960px){.room-main{grid-template-columns:1fr;padding:var(--s8) var(--s6);gap:var(--s8)}.room-hero{padding:0 var(--s6) var(--s8)}}.room-section{margin-bottom:var(--s10)}.room-section h2{font-family:var(--font-display);font-size:var(--xl);font-weight:700;color:var(--text);margin-bottom:var(--s4)}.room-section p{color:var(--text-mid);line-height:1.7;font-size:var(--sm)}.room-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s3);align-items:start}.room-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r-sm);border:1px solid var(--border)}.amenity-list{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--s3);padding:0}.amenity-list li{display:flex;align-items:center;gap:var(--s3);font-size:var(--sm);color:var(--text-mid)}.amenity-list li::before{content:'';width:6px;height:6px;background:var(--gold);border-radius:50%;flex-shrink:0}.price-table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden}.price-table tr{border-bottom:1px solid var(--divider)}.price-table tr:last-child{border-bottom:none}.price-table td{padding:var(--s4) var(--s5);font-size:var(--sm);color:var(--text-mid)}.price-table td:last-child{text-align:right;color:var(--gold);font-weight:600;font-family:var(--font-display);font-size:var(--base)}.price-table tr.row-empty td{color:var(--text-faint);opacity:.55}.price-notes{margin-top:var(--s4);font-size:var(--xs);color:var(--text-faint);line-height:1.7}.contact-row{display:flex;flex-wrap:wrap;gap:var(--s4);padding:var(--s5);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);margin-top:var(--s5)}.contact-row a{display:inline-flex;align-items:center;gap:var(--s3);font-size:var(--sm);color:var(--gold);font-weight:500;cursor:pointer;position:relative;flex:1;min-width:fit-content}.contact-row a:hover{color:var(--gold-hover)}.contact-row svg{flex-shrink:0;opacity:.8}.copy-toast{position:absolute;left:0;top:-32px;background:var(--surface-2);border:1px solid var(--gold);color:var(--gold);font-size:var(--xs);padding:var(--s2) var(--s3);border-radius:var(--r-sm);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;transform:translateY(4px);white-space:nowrap}.copy-toast.show{opacity:1;transform:translateY(0)}.aside-form{position:sticky;top:88px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s6);align-self:start}.aside-form h3{font-family:var(--font-display);font-size:var(--lg);font-weight:600;color:var(--text);margin-bottom:var(--s2)}.aside-form .sub{font-size:var(--xs);color:var(--text-muted);margin-bottom:var(--s5)}.field{margin-bottom:var(--s4)}.field label{display:block;font-size:var(--xs);font-weight:500;color:var(--text-mid);margin-bottom:var(--s2);letter-spacing:.04em}.field label .req{color:var(--gold);margin-left:2px}.field input,.field select,.field textarea{width:100%;padding:var(--s3) var(--s4);background:var(--bg);border:1px solid var(--border);border-radius:var(--r-sm);font-family:var(--font-body);font-size:var(--sm);color:var(--text);transition:border-color var(--ease)}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--gold)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3)}.field textarea{resize:vertical;min-height:80px;line-height:1.5}.success-state{display:none;text-align:center;padding:var(--s8) var(--s4);flex-direction:column;align-items:center;gap:var(--s4)}.success-state.show{display:flex}.success-state svg{color:var(--success)}.success-state h4{font-family:var(--font-display);font-size:var(--lg);font-weight:600;color:var(--text)}.success-state p{font-size:var(--sm);color:var(--text-muted)}@media(max-width:960px){.aside-form{position:static}}

@media(max-width:480px){.field input,.field select,.field textarea,input[type=email],input[type=tel],input[type=text],input[type=date],select,textarea{font-size:16px!important}}input[type="date"]::-webkit-calendar-picker-indicator{filter:invert(1) brightness(.8);cursor:pointer;opacity:.7;transition:opacity .2s}input[type="date"]::-webkit-calendar-picker-indicator:hover{opacity:1}

/* Gallery tiles */
.gallery-tile{position:relative;overflow:hidden;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);padding:0;cursor:pointer;display:block;width:100%}
.gallery-tile img{width:100%;height:auto;object-fit:cover;transition:transform .4s cubic-bezier(.16,1,.3,1);display:block}.gallery-tile[data-idx="0"] img{aspect-ratio:4/3}
.gallery-tile:hover img{transform:scale(1.04)}
.gallery-more-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(9,8,10,.62);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);color:var(--gold);font-family:var(--font-display);font-size:var(--lg);font-weight:600;letter-spacing:.04em;pointer-events:none}

/* Lightbox */
.lb-overlay{position:fixed;inset:0;z-index:9999;background:rgba(9,8,10,.96);display:none;align-items:center;justify-content:center;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
.lb-overlay.open{display:flex}
.lb-stage{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.lb-img{width:auto;height:auto;max-width:92vw;max-height:88vh;object-fit:contain;border-radius:var(--r-sm);box-shadow:0 8px 32px rgba(0,0,0,.5);user-select:none;-webkit-user-select:none;align-self:center;flex-shrink:0}
.lb-btn{position:absolute;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);color:#fff;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--ease);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.lb-btn:hover{background:rgba(255,255,255,.18)}
.lb-close{top:max(var(--s5),env(safe-area-inset-top));right:max(var(--s5),env(safe-area-inset-right))}
.lb-prev{left:max(var(--s5),env(safe-area-inset-left));top:50%;transform:translateY(-50%)}
.lb-next{right:max(var(--s5),env(safe-area-inset-right));top:50%;transform:translateY(-50%)}
.lb-counter{position:absolute;bottom:max(var(--s5),env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);color:rgba(255,255,255,.7);font-size:var(--xs);letter-spacing:.08em;background:rgba(0,0,0,.4);padding:var(--s2) var(--s4);border-radius:var(--r-full);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
@media(max-width:600px){.lb-img{max-width:96vw;max-height:80vh}.lb-prev,.lb-next{width:38px;height:38px}}
body.lb-open{overflow:hidden}
