:root{
  --bg:#0c0f12;
  --panel:#151a1e;
  --panel-2:#1b2227;
  --text:#f7f4ed;
  --muted:#b8c0c8;
  --gold:#d69a36;
  --gold-2:#f0c36d;
  --line:rgba(255,255,255,.11);
  --max:1120px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font:17px/1.65 Arial,sans-serif}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.container{width:min(var(--max),calc(100% - 32px));margin:auto}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--gold-2);color:#17110a;padding:10px 14px;z-index:1000}
.skip-link:focus{left:10px;top:10px}
.topbar{position:sticky;top:0;z-index:50;background:rgba(12,15,18,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.brand{display:flex;align-items:center;gap:12px;font-weight:800;white-space:nowrap}
.brand img{width:50px;height:50px;object-fit:contain;background:#fff;border-radius:13px;padding:4px}
.brand small{display:block;color:var(--muted);font-size:12px;font-weight:400}
.menu{display:flex;gap:18px;align-items:center;flex-wrap:wrap;font-size:14px}
.menu a:hover,.menu a[aria-current="page"]{color:var(--gold-2)}
.mobile-links{display:none;padding:10px 0 14px;gap:8px;overflow-x:auto;border-top:1px solid var(--line);scrollbar-width:none}
.mobile-links::-webkit-scrollbar{display:none}
.mobile-links a{white-space:nowrap;padding:8px 12px;border:1px solid var(--line);border-radius:999px;font-size:13px}
.hero{padding:78px 0 48px;background:radial-gradient(circle at 85% 15%,rgba(214,154,54,.16),transparent 30%),linear-gradient(180deg,#10161a,#0c0f12)}
.eyebrow{display:inline-block;color:var(--gold-2);font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:13px}
h1,h2,h3{line-height:1.12;margin:0 0 15px}
h1{font-size:clamp(40px,6vw,68px);max-width:900px;letter-spacing:-.035em}
h2{font-size:clamp(30px,4vw,46px)}
h3{font-size:23px}
.lead{max-width:820px;color:#d9dfe5;font-size:20px;margin:20px 0 0}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:13px 18px;font-weight:800;border:1px solid var(--line);white-space:nowrap}
.btn-primary{background:linear-gradient(180deg,var(--gold-2),var(--gold));color:#17110a;border-color:transparent}
.btn-outline:hover{border-color:var(--gold-2);color:var(--gold-2)}
main section{padding:68px 0}
.intro-grid,.room-grid,.feature-grid{display:grid;gap:24px}
.intro-grid{grid-template-columns:1.1fr .9fr;align-items:start}
.room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.card{background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--line);border-radius:22px;overflow:hidden}
.card-body{padding:24px}
.card p{color:var(--muted);margin:0 0 18px}
.facts{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px;padding:0;list-style:none}
.facts li{padding:7px 10px;border:1px solid var(--line);border-radius:999px;color:#dbe1e6;font-size:13px}
.amenities-panel{margin:0 0 28px;padding:22px;border:1px solid rgba(240,195,109,.28);border-radius:18px;background:linear-gradient(135deg,rgba(214,154,54,.11),rgba(255,255,255,.025))}
.amenities-panel>strong{display:block;margin-bottom:13px;font-size:18px}
.amenities-grid{display:flex;flex-wrap:wrap;gap:9px}
.amenities-grid span{padding:8px 11px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.035);color:#e5e9ec;font-size:14px}
.room-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;background:#0a0c0f}
.room-gallery a{display:block;aspect-ratio:1/1;overflow:hidden;background:#111}
.room-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .2s ease}
.room-gallery a:hover img{transform:scale(1.035)}
.room-gallery.single{grid-template-columns:1fr}
.room-gallery.single a{aspect-ratio:16/10}
.booking-note{padding:20px 22px;border-left:4px solid var(--gold);background:rgba(214,154,54,.09);border-radius:0 16px 16px 0;color:#e4e8eb}
.booking-panel{padding:30px;border:1px solid rgba(240,195,109,.36);border-radius:24px;background:linear-gradient(135deg,rgba(214,154,54,.14),rgba(27,34,39,.96));box-shadow:0 22px 60px rgba(0,0,0,.25)}
.booking-panel p{color:var(--muted);margin:0}
.direct-booking-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:14px;align-items:end;margin:24px 0 12px}
.field{display:grid;gap:7px;color:#e9edf0;font-weight:700;font-size:14px}
.field input{width:100%;height:50px;padding:0 13px;border:1px solid var(--line);border-radius:12px;background:#10151a;color:var(--text);font:inherit;color-scheme:dark}
.step-number{display:grid;place-items:center;width:38px;height:38px;margin-bottom:18px;border-radius:50%;background:var(--gold-2);color:#17110a;font-weight:900}
.section-head{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:28px}
.section-head p{color:var(--muted);max-width:760px;margin:0}
.feature-card{padding:24px}
.feature-card p{color:var(--muted);margin:0}
.photo-card img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.cta{background:linear-gradient(135deg,#20342f,#171a1f 55%,#2d1f0d);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cta-box{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center}
.cta p{color:#dce3e7;margin:0;max-width:760px}
.fineprint{color:var(--muted);font-size:14px}
.footer{padding:42px 0;border-top:1px solid var(--line);color:var(--muted)}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:26px}
.footer h3{color:var(--text);font-size:18px}
.footer-links{display:grid;gap:8px}
.footer a:hover{color:var(--gold-2)}
@media(max-width:900px){
  .menu{display:none}.mobile-links{display:flex}.intro-grid,.room-grid,.feature-grid,.cta-box,.footer-grid,.direct-booking-form{grid-template-columns:1fr}.nav{min-height:68px}.hero{padding-top:58px}.cta-box{align-items:start}.direct-booking-form .btn{width:100%}
}
@media(max-width:560px){
  body{font-size:16px}.container{width:min(var(--max),calc(100% - 24px))}.brand span{font-size:14px}.brand img{width:46px;height:46px}.nav>.btn{padding:11px 13px;font-size:14px}.hero{padding:46px 0 34px}h1{font-size:38px}.lead{font-size:17px}main section{padding:52px 0}.section-head{display:block}.room-grid{gap:18px}.card-body{padding:20px}.booking-panel{padding:22px}
}
