:root{--sand:#f6f1e7;--deep:#0c4a52;--teal:#178a96;--coral:#e2714e;--ink:#1c2326;--muted:#5b6a6c;}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Segoe UI',Helvetica,Arial,sans-serif;color:var(--ink);background:var(--sand);line-height:1.6;}
.container{max-width:1100px;margin:0 auto;padding:0 1.5rem;}
img{display:block;max-width:100%;}
a{color:var(--teal);text-decoration:none;}
h1,h2,h3,h4{font-family:Georgia,'Times New Roman',serif;line-height:1.2;color:var(--deep);}

.site-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:1rem 1.5rem;background:var(--sand);border-bottom:1px solid #e3dccb;position:sticky;top:0;z-index:20;}
.brand{font-family:Georgia,serif;font-size:1.3rem;font-weight:700;color:var(--deep);letter-spacing:.5px;}
.main-nav{display:flex;gap:1.25rem;flex-wrap:wrap;}
.main-nav a{color:var(--ink);font-size:.95rem;padding:.25rem 0;border-bottom:2px solid transparent;}
.main-nav a:hover,.main-nav a.active{color:var(--teal);border-bottom-color:var(--coral);}

.hero{position:relative;height:78vh;min-height:460px;overflow:hidden;}
.hero-img{width:100%;height:100%;object-fit:cover;}
.hero-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:0 2rem;max-width:760px;background:linear-gradient(90deg,rgba(8,40,46,.7),rgba(8,40,46,.15));color:#fff;}
.hero-overlay h1{color:#fff;font-size:clamp(2rem,5vw,3.4rem);margin:.5rem 0;}
.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:.8rem;color:#f4d9c8;}
.lead{font-size:1.1rem;max-width:520px;margin-bottom:1.5rem;}

.btn{display:inline-block;background:var(--coral);color:#fff;padding:.75rem 1.6rem;border-radius:30px;font-weight:600;transition:background .2s,transform .2s;}
.btn:hover{background:#c95c39;transform:translateY(-2px);}
.btn.outline{background:transparent;border:2px solid var(--teal);color:var(--teal);}
.btn.outline:hover{background:var(--teal);color:#fff;}

.intro{text-align:center;padding:4rem 1.5rem 2rem;}
.intro h2{font-size:2rem;margin-bottom:1rem;}
.intro p{max-width:680px;margin:0 auto;color:var(--muted);}

.feature-split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:2rem;max-width:1100px;margin:3rem auto;padding:0 1.5rem;}
.feature-split img{border-radius:14px;height:100%;object-fit:cover;width:100%;box-shadow:0 12px 30px rgba(0,0,0,.15);}
.feature-text h2{font-size:1.8rem;margin-bottom:.75rem;}
.feature-text p{color:var(--muted);margin-bottom:1rem;}
.hours{font-weight:600;color:var(--deep);}

.stat-band{display:flex;flex-wrap:wrap;justify-content:center;gap:2.5rem;background:var(--deep);color:#fff;padding:3rem 1.5rem;margin:3rem 0;}
.stat{text-align:center;}
.stat span{display:block;font-family:Georgia,serif;font-size:2.4rem;color:#f4d9c8;}
.stat p{font-size:.9rem;letter-spacing:.5px;}

.cta{text-align:center;padding:3.5rem 1.5rem;}
.cta h2{font-size:1.9rem;margin-bottom:.5rem;}
.cta p{color:var(--muted);margin-bottom:1.5rem;}

.page-hero{position:relative;height:50vh;min-height:340px;overflow:hidden;}
.page-hero.short{height:38vh;min-height:260px;}
.page-hero img{width:100%;height:100%;object-fit:cover;}
.page-hero-text{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:0 2rem;background:linear-gradient(90deg,rgba(8,40,46,.65),rgba(8,40,46,.1));color:#fff;}
.page-hero-text h1{color:#fff;font-size:clamp(1.9rem,4.5vw,3rem);}
.page-hero-text p{max-width:520px;}

.rooms-list{padding:3rem 1.5rem;display:flex;flex-direction:column;gap:2.5rem;}
.room-card{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.08);}
.room-card.reverse{direction:rtl;}
.room-card.reverse .room-body{direction:ltr;}
.room-card img{height:100%;width:100%;object-fit:cover;min-height:240px;}
.room-body{padding:2rem;}
.room-body h2{font-size:1.5rem;margin-bottom:.5rem;}
.room-body p{color:var(--muted);}
.room-meta{list-style:none;display:flex;gap:1.25rem;flex-wrap:wrap;margin-top:1rem;font-size:.9rem;font-weight:600;color:var(--deep);}
.room-meta li{background:var(--sand);padding:.35rem .8rem;border-radius:20px;}

.dining-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;padding:3rem 1.5rem;}
.dish-card{background:#fff;border-radius:12px;padding:1.75rem;box-shadow:0 6px 18px rgba(0,0,0,.07);border-top:4px solid var(--coral);}
.dish-card h2{font-size:1.35rem;}
.dish-card .tag{text-transform:uppercase;letter-spacing:1px;font-size:.72rem;color:var(--teal);margin:.3rem 0 .8rem;}
.dish-card p{color:var(--muted);}

.exp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.75rem;padding:3rem 1.5rem;}
.exp-card{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 8px 22px rgba(0,0,0,.08);}
.exp-card img{height:200px;width:100%;object-fit:cover;}
.exp-body{padding:1.5rem;}
.exp-body h2{font-size:1.3rem;margin-bottom:.5rem;}
.exp-body p{color:var(--muted);}

.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;padding:3rem 1.5rem 1rem;}
.contact-card{background:#fff;border-radius:12px;padding:1.75rem;box-shadow:0 6px 18px rgba(0,0,0,.07);}
.contact-card h2{font-size:1.3rem;margin-bottom:.5rem;}
.contact-card p{margin-bottom:.4rem;color:var(--muted);}
.arrival{padding:1rem 1.5rem 4rem;}
.arrival h2{font-size:1.6rem;margin-bottom:.75rem;}
.arrival p{color:var(--muted);margin-bottom:1rem;max-width:760px;}

.site-footer{background:var(--deep);color:#dfe9e9;padding:3rem 0 1.5rem;margin-top:2rem;}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;}
.footer-grid h3,.footer-grid h4{color:#fff;margin-bottom:.6rem;}
.footer-grid a{display:block;color:#bcd2d3;margin-bottom:.35rem;}
.footer-grid a:hover{color:#fff;}
.copyright{text-align:center;margin-top:2rem;font-size:.85rem;color:#8fb0b1;}

@media(max-width:760px){
.feature-split{grid-template-columns:1fr;}
.room-card{grid-template-columns:1fr;direction:ltr;}
.room-card.reverse{direction:ltr;}
.hero-overlay{background:linear-gradient(180deg,rgba(8,40,46,.35),rgba(8,40,46,.75));}
.main-nav{gap:.9rem;}
}