:root{--gold:#b88945;--gold-dark:#8b642f;--cream:#fff8ee;--text:#1f2933;--muted:#667085;--navy:#102235;--white:#fff;--border:#eadfce;--shadow:0 18px 50px rgba(16,34,53,.12)}*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--text);background:#fff}a{text-decoration:none;color:inherit}.container{width:min(1180px,92%);margin:auto}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-bottom:1px solid #eee}.nav-wrap{height:86px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center}.logo-shell{height:66px;width:174px;display:flex;align-items:center;justify-content:center;border-radius:18px;padding:9px 14px;background:linear-gradient(135deg,#102235,#1f3f5d);box-shadow:0 12px 28px rgba(16,34,53,.18);border:1px solid rgba(184,137,69,.35)}.brand img{height:100%;width:100%;object-fit:contain;display:block}.nav-menu{display:flex;gap:26px;align-items:center;font-weight:700}.nav-menu a{color:#263445}.nav-menu a:hover{color:var(--gold)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 22px;border-radius:999px;border:0;cursor:pointer;font-weight:800;transition:.25s}.btn-primary{background:linear-gradient(135deg,var(--gold),#d8b06d);color:#fff;box-shadow:0 10px 24px rgba(184,137,69,.28)}.btn-secondary{background:var(--navy);color:#fff}.btn-light{background:#fff;color:var(--navy);border:1px solid var(--border)}.mobile-toggle{display:none;background:none;border:0;font-size:30px}.hero{position:relative;min-height:650px;overflow:hidden}.slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transform:scale(1.04);transition:1s}.slide.active{opacity:1;transform:scale(1)}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,34,53,.75),rgba(16,34,53,.28),rgba(16,34,53,.05))}.hero-content{position:relative;z-index:1;min-height:650px;display:flex;align-items:center;color:#fff}.hero h1,.section-title h2{font-family:'Playfair Display',serif}.hero h1{font-size:clamp(42px,7vw,82px);line-height:1;margin:0 0 20px}.hero p{font-size:20px;max-width:620px;line-height:1.7}.booking-strip{margin-top:-58px;position:relative;z-index:5}.booking-card{background:#fff;border-radius:26px;box-shadow:var(--shadow);padding:22px;display:grid;grid-template-columns:repeat(5,1fr) auto;gap:14px;align-items:end}.field label{display:block;font-size:13px;font-weight:800;color:#57606f;margin-bottom:8px}.field input,.field select,.field textarea{width:100%;padding:14px;border:1px solid var(--border);border-radius:14px;font:inherit}.section{padding:90px 0}.intro{text-align:center;max-width:850px;margin:0 auto}.eyebrow{color:var(--gold);font-weight:900;letter-spacing:.12em;text-transform:uppercase;font-size:13px}.section-title{text-align:center;margin-bottom:44px}.section-title h2{font-size:42px;margin:8px 0}.section-title p,.intro p{color:var(--muted);line-height:1.8}.rooms-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.room-card{border:1px solid var(--border);border-radius:28px;overflow:hidden;background:#fff;box-shadow:var(--shadow);transition:.3s}.room-card:hover{transform:translateY(-7px)}.room-card img{height:255px;width:100%;object-fit:cover}.room-body{padding:24px}.room-body h3{font-size:25px;margin:0 0 10px}.price{color:var(--gold);font-weight:900}.features{color:var(--muted);line-height:1.8}.room-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.split.reverse .text{order:2}.mini-slider{position:relative;height:420px;border-radius:32px;overflow:hidden;box-shadow:var(--shadow)}.mini-slider img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:.8s}.mini-slider img.active{opacity:1}.text h2{font-family:'Playfair Display',serif;font-size:42px;margin:0 0 18px}.text p{color:var(--muted);line-height:1.8}.reviews{background:var(--cream)}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.review{background:#fff;border-radius:24px;padding:26px;box-shadow:var(--shadow)}.stars{color:var(--gold);font-size:20px}.faq-item{border:1px solid var(--border);border-radius:18px;margin-bottom:14px;overflow:hidden}.faq-q{width:100%;text-align:left;background:#fff;padding:20px;border:0;font-size:17px;font-weight:900;cursor:pointer}.faq-a{display:none;padding:0 20px 20px;color:var(--muted);line-height:1.7}.faq-item.open .faq-a{display:block;animation:fadeUp .28s}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.blog-card{border:1px solid var(--border);border-radius:24px;overflow:hidden;box-shadow:var(--shadow);background:#fff}.blog-card img{height:210px;width:100%;object-fit:cover}.blog-card div{padding:22px}.blog-card h3{margin:0 0 10px}.footer{background:#102235;color:#d9e2ec;padding-top:62px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:32px}.footer-logo{height:86px;width:190px;object-fit:contain;border-radius:0;padding:0;margin-bottom:12px;filter:drop-shadow(0 10px 20px rgba(0,0,0,.25))}.footer h4{color:#fff}.footer a{display:block;margin:10px 0;color:#d9e2ec}.footer iframe{width:100%;height:170px;border:0;border-radius:18px}.footer-bottom{text-align:center;border-top:1px solid rgba(255,255,255,.12);padding:22px;margin-top:40px}.page-hero{padding:90px 0;background:linear-gradient(135deg,var(--cream),#fff);text-align:center}.page-hero h1{font-family:'Playfair Display',serif;font-size:52px}.form-card{background:#fff;border:1px solid var(--border);border-radius:28px;box-shadow:var(--shadow);padding:30px}.booking-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:32px}.alert{padding:14px 18px;border-radius:14px;margin-bottom:18px}.success{background:#e9f9ee;color:#166534}.error{background:#fdeeee;color:#991b1b}.admin-table{width:100%;border-collapse:collapse;background:#fff}.admin-table th,.admin-table td{padding:14px;border-bottom:1px solid #eee;text-align:left}@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media(max-width:900px){.mobile-toggle{display:block}.nav-menu{position:absolute;top:86px;left:0;right:0;background:#fff;display:none;flex-direction:column;padding:25px;border-bottom:1px solid #eee}.nav-menu.open{display:flex}.booking-card,.rooms-grid,.split,.review-grid,.blog-grid,.footer-grid,.booking-layout{grid-template-columns:1fr}.split.reverse .text{order:0}.hero,.hero-content{min-height:560px}.booking-strip{margin-top:20px}.section{padding:60px 0}}
