:root{--bg:#090a09;--bg2:#111311;--panel:#151815;--panel2:#191c19;--text:#f5f2e9;--muted:#b7b9b4;--line:rgba(255,255,255,.1);--gold:#d9c28c;--gold2:#efdfb0;--danger:#dc7a7a;--success:#83b98d;--max:1180px;--header:78px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;font-weight:400}body,input,select,button,textarea{font-family:inherit}a{color:inherit}.site-main{min-height:70vh}.container{width:min(var(--max),calc(100% - 36px));margin:0 auto}.site-header{position:relative;z-index:50}.navbar{position:absolute;top:0;left:0;right:0;background:rgba(8,10,9,.72);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.08)}.nav-shell{width:min(var(--max),calc(100% - 36px));min-height:var(--header);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:26px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:0}.brand-logo{width:52px;height:52px;border-radius:50%;object-fit:cover;border:1px solid rgba(255,255,255,.22);flex:none}.brand-copy{display:flex;flex-direction:column;line-height:1.05}.brand-copy strong{font-size:1rem;letter-spacing:.12em;text-transform:uppercase}.brand-copy small{margin-top:5px;font-size:.72rem;letter-spacing:.08em;color:#c7c9c4}.nav-panel{display:flex;align-items:center;gap:6px}.nav-link,.nav-cta{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 12px;border-radius:9px;text-decoration:none;color:#d9dbd6;font-size:.9rem;transition:.22s ease}.nav-link svg,.nav-cta svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.nav-link:hover,.nav-link.active{background:rgba(255,255,255,.08);color:#fff}.nav-cta{margin-left:4px;background:var(--gold);color:#151710;padding:0 18px;font-weight:700}.nav-cta:hover{background:#f2e3bb;color:#11140f}.menu-btn{display:none;background:none;border:0;color:#fff;padding:8px;cursor:pointer}.menu-btn span{display:block;width:26px;height:2px;background:#fff;margin:5px 0;border-radius:2px}.hero{position:relative;height:100vh;min-height:620px;width:100%;overflow:hidden;display:flex;align-items:center;justify-content:center}.hero-slides,.hero-slide,.hero-overlay{position:absolute;inset:0}.hero-slide{background-size:cover;background-position:center;opacity:0;transition:opacity 1.5s ease}.hero-slide.active{opacity:1}.hero-overlay{background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.38) 45%,rgba(0,0,0,.68))}.hero-content{position:relative;z-index:2;text-align:center;max-width:860px;padding:90px 20px 0}.hero-content h1{font-size:clamp(3rem,8vw,6rem);font-weight:300;margin:0 0 18px;letter-spacing:2px;text-transform:uppercase}.hero-content .subtitle{font-size:clamp(1.2rem,3vw,2rem);font-weight:300;margin:0 0 38px}.hero-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.cta-button{display:inline-block;padding:15px 40px;background:rgba(0,0,0,.12);border:2px solid #fff;color:#fff;text-decoration:none;font-size:1rem;font-weight:400;letter-spacing:1px;text-transform:uppercase;border-radius:4px}.cta-button:hover{background:#fff;color:#000}.cta-button.gold{border-color:var(--gold);background:var(--gold);color:#152018}.cta-button.gold:hover{background:#fff0c2}.section{padding:110px 0;background:var(--bg)}.section.alt{background:#0e100f}.section-header{text-align:center;margin-bottom:65px}.section-title{font-size:clamp(2.5rem,5vw,4rem);font-weight:300;color:#fff;margin:0 0 16px;letter-spacing:1px;text-transform:uppercase}.section-subtitle{font-size:clamp(1.05rem,2vw,1.35rem);color:#bfc1bd;font-weight:300;max-width:720px;margin:0 auto;line-height:1.7}.rooms-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px}.room-card{background:var(--panel);border:1px solid var(--line);overflow:hidden;transition:.35s ease;box-shadow:0 10px 30px rgba(0,0,0,.35);border-radius:8px}.room-card:hover{transform:translateY(-8px);border-color:rgba(255,255,255,.24)}.room-gallery{background:#000}.main-room-image{height:330px;overflow:hidden}.room-image{width:100%;height:100%;object-fit:cover;filter:brightness(.86);transition:.5s}.room-card:hover .room-image{transform:scale(1.04);filter:brightness(.78)}.room-thumbnails{display:flex;gap:8px;padding:12px;background:#101210;justify-content:center}.room-thumbnail{width:58px;height:44px;object-fit:cover;border:2px solid transparent;opacity:.72;cursor:pointer;border-radius:3px}.room-thumbnail.active,.room-thumbnail:hover{opacity:1;border-color:#fff}.room-content{padding:30px;background:var(--panel)}.room-title{font-size:1.8rem;font-weight:300;margin:0 0 14px;text-transform:uppercase;letter-spacing:1px}.room-description{color:#c1c4bf;font-weight:300;line-height:1.7;margin:0 0 22px}.room-features{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.feature-tag{padding:8px 10px;background:rgba(255,255,255,.045);border:1px solid var(--line);font-size:.72rem;text-transform:uppercase;text-align:center;border-radius:4px}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.service-item{padding:28px;border:1px solid var(--line);background:var(--panel);border-radius:8px}.service-icon{font-size:2rem;margin-bottom:15px}.service-title{font-size:1.2rem;font-weight:400;margin-bottom:8px}.service-description{color:#bbb;font-weight:300;line-height:1.7}.feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}.feature-card{display:grid;grid-template-columns:1fr 1fr;background:var(--panel);border:1px solid var(--line);border-radius:8px;overflow:hidden}.feature-card img{width:100%;height:100%;min-height:280px;object-fit:cover}.feature-card .copy{padding:30px}.feature-card h3{margin:0 0 12px;font-size:1.7rem;font-weight:300}.feature-card p{color:#bbb;line-height:1.7}.footer{background:#0c0e0d;border-top:1px solid rgba(255,255,255,.1)}.footer-shell{width:min(var(--max),calc(100% - 36px));margin:0 auto;padding:54px 0 38px;display:grid;grid-template-columns:1.25fr 1.75fr;gap:40px 70px}.footer-main{display:flex;flex-direction:column;gap:24px}.footer-brand{display:flex;align-items:center;gap:18px}.footer-brand img{width:78px;height:78px;border-radius:50%;object-fit:cover;border:1px solid rgba(255,255,255,.18)}.footer-brand h2{margin:0;font-size:1.45rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.footer-brand p{max-width:360px;color:#aeb2ad;margin:8px 0 0;line-height:1.6}.footer-social{display:flex;flex-wrap:wrap;gap:10px}.social-link{display:inline-flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#111411;text-decoration:none;color:#d8dad5;font-size:.88rem;transition:.2s ease}.social-link:hover{background:#191c19;border-color:rgba(255,255,255,.2);color:#fff;transform:translateY(-1px)}.social-link svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.footer-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}.footer-columns h3{margin:0 0 12px;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;color:#eee}.footer-columns a{display:block;margin:0 0 9px;color:#aeb2ad;text-decoration:none;line-height:1.5}.footer-columns a:hover{color:var(--gold2)}.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding:15px max(18px,calc((100% - var(--max))/2));display:flex;justify-content:space-between;color:#8e948d;font-size:.83rem;gap:12px}.content-page{padding:125px 0 90px;min-height:calc(100vh - 120px)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.card{background:var(--panel);border:1px solid var(--line);overflow:hidden;border-radius:8px}.card img{width:100%;height:240px;object-fit:cover}.card .copy{padding:24px}.card h3{margin:0 0 10px;font-weight:400}.card p{color:#bbb;line-height:1.7}.tag-row{display:flex;flex-wrap:wrap;gap:8px}.tag{padding:6px 10px;background:#ffffff0d;border:1px solid rgba(255,255,255,.12);font-size:.74rem;color:#ddd;border-radius:4px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 18px;border:1px solid rgba(255,255,255,.22);border-radius:6px;text-decoration:none;cursor:pointer;background:transparent;color:#fff;transition:.2s ease}.btn:hover{background:#fff;color:#121410}.btn-primary{background:var(--gold);color:#151710;border-color:var(--gold);font-weight:700}.btn-primary:hover{background:#f0dfb2;color:#151710}.btn-light{background:#e9e7df;color:#171915;border-color:#e9e7df}.btn-light:hover{background:#fff}.reveal{opacity:0;transform:translateY(24px);transition:.7s ease}.reveal.revealed{opacity:1;transform:none}label{display:block;color:#ddd;font-size:.92rem;margin:0 0 16px}input,select,button,textarea{font:inherit}.form-control{width:100%;padding:13px 14px;margin-top:7px;background:#111411;color:#fff;border:1px solid rgba(255,255,255,.18);border-radius:6px}.form-control:focus{outline:2px solid rgba(239,223,176,.25);border-color:var(--gold2)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.steps{display:flex;gap:8px;margin:0 0 25px}.step{flex:1;padding:11px 10px;background:#111411;color:#8e938c;text-align:center;font-size:.82rem;border:1px solid rgba(255,255,255,.06);border-radius:6px}.step.active{background:#26251c;color:var(--gold2);border-color:rgba(217,194,140,.25)}.notice{padding:13px 15px;margin:0 0 18px;border:1px solid rgba(255,255,255,.12);background:#111411;color:#d7dad4;border-radius:6px}.notice.error{border-color:rgba(220,122,122,.55);color:#ffd0d0;background:rgba(110,30,30,.18)}.notice.ok{border-color:rgba(131,185,141,.5);color:#d8ffe0;background:rgba(40,90,48,.16)}.summary{display:flex;justify-content:space-between;gap:15px;padding:15px;margin:15px 0;background:#111411;border:1px solid var(--line);border-radius:6px}.admin-card{max-width:1100px;margin:0 auto}.data-table{width:100%;border-collapse:collapse;margin-top:20px;background:#111411}.data-table th,.data-table td{padding:12px;border-bottom:1px solid rgba(255,255,255,.08);text-align:left;white-space:nowrap}.data-table th{color:var(--gold2);font-weight:600}.auth-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.page-intro{text-align:center;max-width:820px;margin:0 auto 42px}.page-intro h1{font-size:clamp(2.4rem,5vw,4rem);font-weight:300;margin:0 0 15px}.page-intro p{color:#bdbfb9;line-height:1.7}@media(max-width:900px){.nav-panel{display:none;position:absolute;top:calc(var(--header) - 1px);left:0;right:0;padding:12px 18px 18px;background:rgba(12,14,13,.98);border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);flex-direction:column;align-items:stretch}.nav-panel.open{display:flex}.nav-link,.nav-cta{justify-content:flex-start;min-height:46px}.nav-cta{justify-content:center;margin-left:0}.menu-btn{display:block}.rooms-grid,.cards{grid-template-columns:1fr 1fr}.services-grid{grid-template-columns:1fr 1fr}.feature-grid,.footer-shell{grid-template-columns:1fr}.footer-columns{grid-template-columns:1fr 1fr}}@media(max-width:620px){:root{--header:70px}.nav-shell{min-height:70px}.brand-logo{width:48px;height:48px}.brand-copy small{font-size:.65rem}.rooms-grid,.cards,.services-grid{grid-template-columns:1fr}.feature-card{grid-template-columns:1fr}.feature-card img{min-height:220px}.hero{min-height:580px}.section{padding:85px 0}.footer-columns{grid-template-columns:1fr}.footer-bottom{flex-direction:column;text-align:center;gap:8px}.room-features{grid-template-columns:1fr}.footer-social{display:grid;grid-template-columns:1fr 1fr}.social-link{justify-content:center}.grid2{grid-template-columns:1fr}}

.admin-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;padding:28px}.admin-head h2{margin:0 0 8px;font-weight:300}.admin-head .auth-actions{margin:0}.table-wrap{overflow:auto;border-top:1px solid var(--line)}.admin-card .copy{padding:0}.admin-card form,.admin-card form+div{max-width:620px;padding:28px}.helper{color:#aeb2ad;line-height:1.7}.data-table tbody tr:hover{background:rgba(255,255,255,.025)}@media(max-width:760px){.admin-head{flex-direction:column;padding:22px}.admin-head .auth-actions{width:100%}.admin-head .btn{flex:0 0 auto}.admin-card form,.admin-card form+div{padding:22px}}

/* Editable homepage visual layer. */
.legacy-home{background:#000;color:#fff}
.hero-fullscreen{position:relative;height:100vh;width:100%;overflow:hidden;display:flex;align-items:center;justify-content:center}
.hero-background,.hero-slide,.hero-overlay{position:absolute;inset:0}.hero-background{z-index:1}.hero-slide{background-size:cover;background-position:center;background-repeat:no-repeat;opacity:0;transition:opacity 2s ease-in-out}.hero-slide.active{opacity:1}.hero-overlay{background:#0008;z-index:2}.hero-content{position:relative;z-index:3;text-align:center;max-width:800px;padding:0 20px}.hero-content h1{font-size:clamp(3rem,8vw,6rem);font-weight:300;margin-bottom:20px;letter-spacing:2px;text-transform:uppercase;opacity:0;animation:homeFadeInUp 1s ease-out .5s forwards}.hero-content .subtitle{font-size:clamp(1.2rem,3vw,2rem);font-weight:300;margin-bottom:40px;opacity:0;animation:homeFadeInUp 1s ease-out 1s forwards}.hero-cta{opacity:0;animation:homeFadeInUp 1s ease-out 1.5s forwards}.cta-button{display:inline-block;padding:15px 40px;background:transparent;border:2px solid #fff;color:#fff;text-decoration:none;font-size:1.1rem;font-weight:400;letter-spacing:1px;text-transform:uppercase;transition:all .3s ease;position:relative;overflow:hidden}.cta-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:#fff;transition:left .3s ease;z-index:-1}.cta-button:hover{color:#000}.cta-button:hover:before{left:0}.main-container{background:#000;position:relative}.rooms-section,.services-section{padding:120px 0;position:relative}.rooms-section{background:#000}.services-section{background:#111}.home-feature-section{padding-top:100px;padding-bottom:100px}.container{max-width:1200px;margin:0 auto;padding:0 20px}.section-header{text-align:center;margin-bottom:80px}.section-title{font-size:clamp(2.5rem,5vw,4rem);font-weight:300;color:#fff;margin-bottom:20px;letter-spacing:1px;text-transform:uppercase}.section-subtitle{font-size:clamp(1.1rem,2vw,1.4rem);color:#ccc;font-weight:300;max-width:800px;margin:0 auto;line-height:1.7}.rooms-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:60px;margin-top:80px;max-width:1400px;margin-left:auto;margin-right:auto}.room-card{background:#111;border:1px solid rgba(255,255,255,.1);border-radius:0;overflow:hidden;transition:all .4s ease;position:relative;box-shadow:0 10px 30px #0000004d}.room-card:hover{transform:translateY(-10px);border-color:#ffffff4d;box-shadow:0 20px 50px #00000080}.room-gallery{position:relative;background:#000}.main-room-image{position:relative;height:350px;overflow:hidden;background:#000}.room-image{width:100%;height:100%;object-fit:cover;object-position:center;transition:all .5s ease;filter:brightness(.85)}.room-card:hover .room-image{transform:scale(1.05);filter:brightness(.7)}.room-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 0%,transparent 50%,rgba(0,0,0,.7) 100%);z-index:2}.room-thumbnails{display:flex;gap:8px;padding:15px;background:#111111f2;backdrop-filter:blur(10px);border-top:1px solid rgba(255,255,255,.1);justify-content:center}.room-thumbnail{width:60px;height:45px;object-fit:cover;cursor:pointer;transition:all .3s ease;border:2px solid transparent;opacity:.7;position:relative}.room-thumbnail:hover{opacity:1;transform:scale(1.1);border-color:#ffffff80}.room-thumbnail.active{opacity:1;border-color:#fff;box-shadow:0 0 0 1px #ffffff4d}.room-content{padding:40px 30px;background:#111;position:relative;z-index:3;border-top:1px solid rgba(255,255,255,.05)}.room-title{font-size:2rem;font-weight:300;margin-bottom:15px;color:#fff;letter-spacing:1px;text-transform:uppercase;position:relative}.room-title:after{content:"";position:absolute;bottom:-5px;left:0;width:50px;height:1px;background:#fff}.room-description{font-size:1rem;font-weight:300;line-height:1.7;color:#ccc;margin-bottom:25px;opacity:.9}.room-features{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:5px}.feature-tag{padding:8px 15px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);font-size:.75rem;font-weight:300;letter-spacing:.5px;text-transform:uppercase;text-align:center;color:#fff}.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:60px;margin-top:80px}.service-item{text-align:center;padding:40px 20px;background:transparent;border:1px solid rgba(255,255,255,.1);transition:all .3s ease;position:relative;overflow:hidden}.service-item:hover{border-color:#ffffff4d;transform:translateY(-10px)}.service-icon{font-size:3rem;margin-bottom:20px;color:#fff}.service-title{font-size:.8rem;font-weight:300;margin-bottom:15px;color:#fff;text-transform:uppercase;letter-spacing:1px}.service-description{font-size:1rem;font-weight:300;color:#ccc;line-height:1.6}.legacy-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:60px}.legacy-feature-card{position:relative;min-height:360px;background:#111;border:1px solid rgba(255,255,255,.1);overflow:hidden}.legacy-feature-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.8);transition:transform .5s ease}.legacy-feature-card:hover>img{transform:scale(1.05)}.legacy-feature-card .room-overlay{z-index:1}.legacy-feature-copy{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:28px;background:linear-gradient(to top,rgba(0,0,0,.88),rgba(0,0,0,.18));text-align:left}.legacy-feature-copy h3{margin:0 0 10px;font-size:1.45rem;font-weight:300;text-transform:uppercase;letter-spacing:.08em}.legacy-feature-copy p{margin:0;color:#ddd;line-height:1.6;font-weight:300}
.location-section{padding:120px 0;background:#000;position:relative;color:#fff}.location-section .section-header{margin-bottom:80px}.location-content{display:grid;grid-template-columns:1fr 1.5fr;gap:60px;align-items:start;margin-top:80px}.location-info{display:flex;flex-direction:column;gap:30px}.info-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);padding:30px;transition:all .4s ease}.info-card:hover{border-color:#ffffff4d;transform:translateY(-8px);box-shadow:0 15px 40px #0006}.info-header{display:flex;align-items:center;gap:15px;margin-bottom:20px}.info-icon{font-size:1.8rem;color:#fff;width:35px;text-align:center}.info-header h3{font-size:1.4rem;color:#fff;font-weight:300;margin:0;text-transform:uppercase;letter-spacing:.5px}.info-card p{color:#ccc;font-size:1rem;line-height:1.7;margin:0;font-weight:300}.map-wrapper{position:relative;border:1px solid rgba(255,255,255,.1);overflow:hidden;box-shadow:0 15px 40px #0006;background:#111}.map-wrapper iframe{width:100%;height:400px;display:block;border:0;filter:grayscale(30%) contrast(1.1) brightness(.8)}.map-actions{display:flex;gap:20px;margin-top:25px;justify-content:center;flex-wrap:wrap}.map-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 30px;background:transparent;border:2px solid #fff;color:#fff;text-decoration:none;font-size:.9rem;font-weight:300;letter-spacing:.5px;text-transform:uppercase;min-width:180px}.map-button:hover{background:#fff;color:#000}.map-button.apple{border-color:#007aff;color:#007aff}.map-button.apple:hover{background:#007aff;color:#fff}.map-button.call{border-color:#28a745}.map-button.call:hover{background:#efeeee;color:#24b81c}
/* Footer layout and circular social icons. */
.app-footer{position:relative;color:#fff;background:#101411;border-top:1px solid rgba(255,255,255,.1)}.footer-shell{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:56px 0 38px;display:grid;grid-template-columns:minmax(250px,1.1fr) minmax(0,2fr);gap:42px 64px;align-items:start}.app-footer .footer-brand{display:flex;align-items:center;gap:18px}.app-footer .footer-brand img{width:84px;height:84px;border-radius:50%;object-fit:cover;border:1px solid rgba(255,255,255,.2)}.app-footer .footer-brand h2{margin:0;color:#fff;font-size:1.55rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.app-footer .footer-brand p{max-width:280px;margin:8px 0 0;line-height:1.55;color:#fff}.footer-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px}.footer-columns section{display:flex;flex-direction:column;align-items:flex-start;gap:11px}.footer-columns h3{margin:0 0 5px;color:#fff;font-size:.82rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.footer-columns a,.footer-columns p{margin:0;color:#ffffffb8;text-decoration:none;line-height:1.5}.footer-columns a:hover,.footer-columns a:focus-visible{color:#f1dfaa}.footer-columns a span,.footer-columns p span{margin-left:3px}.footer-social{grid-column:1/-1;display:flex;gap:10px;padding-top:8px}.footer-social a{width:43px;height:43px;display:grid;place-items:center;color:#fff;border:1px solid rgba(255,255,255,.18);border-radius:50%;text-decoration:none;transition:.16s ease}.footer-social a:hover,.footer-social a:focus-visible{color:#131813;background:#f1dfaa;border-color:#f1dfaa;transform:translateY(-2px)}.footer-social svg,.nav-panel svg,.contact-link svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.footer-bottom{min-height:58px;padding:15px max(16px,calc((100% - 1180px)/2));display:flex;align-items:center;justify-content:space-between;gap:18px;color:#ffffff8c;border-top:1px solid rgba(255,255,255,.08);font-size:.84rem}
@keyframes homeFadeInUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1200px){.rooms-grid{grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:50px}}
@media(max-width:1024px){.rooms-grid{grid-template-columns:1fr}.location-content{grid-template-columns:1fr}.services-grid{grid-template-columns:repeat(2,1fr);gap:40px}}
@media(max-width:900px){.nav-shell{width:min(100% - 24px,1180px);min-height:70px}.mobile-menu-btn{display:flex}.nav-panel{position:absolute;top:calc(100% + 1px);left:12px;right:12px;padding:12px;display:grid;gap:5px;border:1px solid rgba(255,255,255,.12);border-top:0;border-radius:0 0 18px 18px;background:#0f1210fa;box-shadow:0 18px 35px #0000004d;transform:translateY(-10px);opacity:0;visibility:hidden;pointer-events:none;transition:.18s ease}.nav-panel.open{transform:translateY(0);opacity:1;visibility:visible;pointer-events:auto}.nav-panel a{width:100%;justify-content:flex-start;padding:0 16px;border-radius:10px}.contact-link{margin:4px 0 0}.footer-shell{grid-template-columns:1fr}.footer-columns{grid-template-columns:repeat(3,1fr)}}
@media(max-width:768px){.rooms-section,.services-section,.location-section{padding:70px 0}.rooms-grid{grid-template-columns:1fr}.services-grid{grid-template-columns:repeat(2,1fr);gap:30px}.legacy-feature-grid{grid-template-columns:1fr}.main-room-image{height:280px}.location-content{gap:30px;margin-top:40px}.location-info{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.info-card{padding:20px 15px}.map-wrapper iframe{height:280px}.map-actions{flex-direction:column;gap:12px;align-items:center}.map-button{width:100%;max-width:250px}.feature-gallery{grid-template-columns:1fr}.footer-columns{grid-template-columns:1fr 1fr}.footer-columns section:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column;text-align:center}.room-features{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.container{padding:0 12px}.rooms-grid{gap:30px;padding:0 4px}.main-room-image{height:240px}.room-content{padding:25px 20px}.room-title{font-size:1.4rem}.room-features{grid-template-columns:1fr}.services-grid{grid-template-columns:1fr 1fr;gap:18px}.service-item{padding:28px 12px}.location-section{padding:50px 0}.location-info{grid-template-columns:1fr}.info-card{padding:15px 12px}.info-header{flex-direction:column;text-align:center;gap:8px}.info-card p{text-align:center;font-size:.82rem}.map-wrapper iframe{height:240px}.footer-shell{width:min(100% - 28px,1180px);padding-top:42px}.footer-columns{grid-template-columns:1fr}.footer-columns section:first-child{grid-column:auto}.footer-brand{align-items:flex-start}.app-footer .footer-brand img{width:68px;height:68px}}
@media(prefers-reduced-motion:reduce){.reveal,.scroll-reveal,.hero-slide,.room-image,.service-item,.info-card{transition:none!important;animation-duration:.01ms!important}.reveal,.scroll-reveal{opacity:1;transform:none}}

/* Final unified navigation: same visual language across every page. */
.site-header{z-index:1000}.mobile-menu-btn{display:none;background:transparent;border:0;color:#fff;padding:8px;cursor:pointer}.mobile-menu-btn span{display:block;width:26px;height:2px;background:#fff;margin:5px 0;border-radius:2px;transition:.2s ease}.mobile-menu-btn.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}.mobile-menu-btn.active span:nth-child(2){opacity:0}.mobile-menu-btn.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.navbar{background:rgba(10,12,11,.96);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08)}
.nav-shell{min-height:82px;gap:28px}.nav-panel{display:flex;align-items:center;gap:4px}.nav-panel>a{min-height:42px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:10px;color:#e7e8e4;text-decoration:none;border:1px solid transparent;font-size:.86rem;letter-spacing:.01em;transition:.18s ease}.nav-panel>a svg{width:16px;height:16px;flex:none}.nav-panel>a:hover,.nav-panel>a.active{color:#f3e6bd;background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.08)}.nav-panel>a.nav-booking{padding:0 16px;background:var(--gold);border-color:var(--gold);color:#171813;font-weight:700}.nav-panel>a.nav-booking:hover{background:#f1dfaa;border-color:#f1dfaa;color:#171813}.nav-panel>a.nav-auth{color:#f3f4ef}.nav-panel>a.nav-register{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.15)}.nav-panel>a.nav-register:hover{background:rgba(255,255,255,.12)}
@media(max-width:900px){.mobile-menu-btn{display:flex;flex-direction:column;justify-content:center}.nav-panel{display:grid;gap:4px}.nav-panel>a{justify-content:flex-start;min-height:48px}.nav-panel>a.nav-booking,.nav-panel>a.nav-auth,.nav-panel>a.nav-register{justify-content:center}.nav-panel>a.nav-register{margin-bottom:4px}}
@media(max-width:620px){.nav-shell{min-height:72px}.nav-panel>a{padding:0 14px}.nav-panel>a.nav-booking,.nav-panel>a.nav-auth,.nav-panel>a.nav-register{width:100%}}

/* Signed-in account control */
.nav-auth{display:inline-flex!important;align-items:center;gap:8px;min-height:42px;padding:0 14px;border-radius:10px;text-decoration:none;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09);color:#f2f0e8!important;transition:.2s ease}.nav-auth svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}.nav-auth:hover,.nav-auth.is-signed{background:rgba(217,194,140,.13);border-color:rgba(217,194,140,.32);color:#f4e5bf!important}.nav-auth.is-signed [data-auth-label]{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.calendar-check-room{padding:20px 0;border-bottom:1px solid rgba(255,255,255,.07)}.calendar-check-room:last-child{border-bottom:0}.calendar-check-room h3{margin:0 0 14px}.calendar-check-source{display:flex;justify-content:space-between;gap:16px;padding:11px 14px;margin:8px 0;border:1px solid rgba(255,255,255,.07);border-radius:12px;background:rgba(255,255,255,.02)}.calendar-check-source strong.ok{color:#8ecf9c}.calendar-check-source strong.bad{color:#d98585}

/* Professional monochrome icon treatment */
.service-icon{width:44px;height:44px;display:grid;place-items:center;color:#e8e6dc;margin-bottom:14px;border:1px solid rgba(255,255,255,.12);border-radius:50%;background:#111411}.service-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.service-item{transition:transform .24s ease,border-color .24s ease,background .24s ease}.service-item:hover{transform:translateY(-4px);border-color:rgba(217,194,140,.28);background:#171a17}.social-link svg,.footer-social svg,.nav-panel svg{vector-effect:non-scaling-stroke}

@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.hero-slide,.legacy-hero-slide,.room-image,.reveal{transition:none!important}.room-card:hover,.service-item:hover,.social-link:hover{transform:none!important}}
:focus-visible{outline:2px solid rgba(217,194,140,.85);outline-offset:3px}
button:disabled{cursor:not-allowed;opacity:.55}
