
:root{
  --bg:#f6f3ee;
  --surface:#ffffff;
  --text:#1f1a17;
  --muted:#6a625d;
  --line:#e7ddd2;
  --accent:#8b5e3c;
  --accent-dark:#6f492d;
  --hero:#2a211b;
  --gold:#d7a84b;
  --shadow:0 18px 40px rgba(33,24,18,.08);
  --radius:24px;
  --container:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.container{width:min(var(--container), calc(100% - 2rem)); margin:0 auto}
header.site-header{
  position:sticky; top:0; z-index:50;
  backdrop-filter:saturate(160%) blur(10px);
  background:rgba(246,243,238,.92);
  border-bottom:1px solid var(--line);
}
.header-inner{
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  padding:1rem 0;
}
.brand h1{
  margin:0; font-size:1.25rem; line-height:1.1;
}
.brand p{margin:.25rem 0 0; color:var(--muted); font-size:.92rem}
nav ul{
  list-style:none; display:flex; flex-wrap:wrap; gap:.5rem; padding:0; margin:0;
}
nav a{
  display:inline-flex; padding:.7rem 1rem; border-radius:999px;
  background:#fff; border:1px solid var(--line); font-weight:600; font-size:.95rem;
}
nav a.active, nav a:hover{background:var(--text); color:#fff; border-color:var(--text)}
.hero{
  position:relative; color:#fff; overflow:hidden;
  background:linear-gradient(90deg, rgba(23,18,15,.92), rgba(23,18,15,.7)), url('images/Exterior Image 2.jpg') center/cover no-repeat;
}
.hero-inner{
  display:grid; grid-template-columns:1.1fr .9fr; gap:2rem; align-items:center;
  min-height:670px; padding:5.5rem 0 4rem;
}
.eyebrow{
  display:inline-flex; gap:.5rem; align-items:center;
  font-size:.9rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.18);
  padding:.6rem .95rem; border-radius:999px;
}
.hero h2{
  font-size:clamp(2.4rem, 6vw, 4.75rem); line-height:1.02; margin:1rem 0 .9rem;
  max-width:12ch;
}
.hero p.lead{font-size:1.08rem; color:rgba(255,255,255,.88); max-width:58ch}
.hero-buttons{display:flex; flex-wrap:wrap; gap:.9rem; margin-top:1.5rem}
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.55rem;
  padding:.95rem 1.25rem; border-radius:16px; font-weight:700; transition:.2s ease;
  border:1px solid transparent;
}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:#fff; color:var(--text)}
.btn-secondary{background:rgba(255,255,255,.08); color:#fff; border-color:rgba(255,255,255,.18)}
.btn-accent{background:var(--gold); color:#241a0f}
.hero-side{
  display:grid; gap:1rem;
}
.map-card, .hero-photo, .hero-mini{
  border-radius:28px; overflow:hidden; border:1px solid rgba(255,255,255,.14);
  box-shadow:var(--shadow); background:rgba(255,255,255,.08);
}
.map-card iframe{width:100%; min-height:360px; border:0}
.hero-grid-photos{
  display:grid; grid-template-columns:1fr 1fr; gap:1rem;
}
.hero-mini img{height:170px; width:100%; object-fit:cover}
.callout{
  margin-top:1.4rem; background:rgba(215,168,75,.98); color:#241a0f;
  border-radius:22px; padding:1.1rem 1.2rem; box-shadow:var(--shadow); max-width:610px;
}
.callout .small{font-size:.8rem; text-transform:uppercase; font-weight:800; letter-spacing:.09em}
.callout h3{margin:.35rem 0; font-size:1.28rem; line-height:1.2}
.callout p{margin:.15rem 0}
section{padding:4.5rem 0}
.section-head{max-width:760px; margin-bottom:2rem}
.section-head .tag{
  color:var(--accent); font-size:.85rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase;
}
.section-head h2{
  margin:.55rem 0 .7rem; font-size:clamp(2rem, 4vw, 3rem); line-height:1.08;
}
.section-head p{color:var(--muted); margin:0}
.stats, .cards-3, .cards-2, .gallery-grid, .room-grid, .amenity-grid, .contact-grid{
  display:grid; gap:1.3rem;
}
.stats{grid-template-columns:repeat(3,1fr)}
.cards-3{grid-template-columns:repeat(3,1fr)}
.cards-2{grid-template-columns:repeat(2,1fr)}
.gallery-grid{grid-template-columns:repeat(3,1fr)}
.room-grid{grid-template-columns:repeat(2,1fr)}
.amenity-grid{grid-template-columns:repeat(3,1fr)}
.contact-grid{grid-template-columns:.95fr 1.05fr}
.card{
  background:var(--surface); border:1px solid var(--line); border-radius:var(--radius);
  overflow:hidden; box-shadow:var(--shadow);
}
.card-body{padding:1.35rem}
.card h3{margin:0; font-size:1.3rem}
.card p{margin:.6rem 0 0; color:var(--muted)}
.card-media img{aspect-ratio:4/3; width:100%; object-fit:cover}
.pills{display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1rem}
.pill{
  background:#f3ece3; color:#534940; font-size:.8rem; font-weight:700; border-radius:999px;
  padding:.45rem .7rem;
}
.info-card{
  background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:1.5rem; box-shadow:var(--shadow);
}
.info-card h3{margin:0 0 .5rem}
.info-list{display:grid; gap:1rem; margin-top:1rem}
.info-item{
  background:#faf6f1; border-radius:18px; padding:1rem 1.1rem;
}
.info-item .label{
  color:var(--muted); text-transform:uppercase; letter-spacing:.12em; font-size:.8rem; font-weight:800;
}
.attraction-list{display:grid; gap:.85rem; margin-top:1rem}
.attraction{
  background:#faf6f1; border:1px solid var(--line); border-radius:18px; padding:1rem 1.1rem;
}
.note{
  margin-top:1rem; color:var(--muted);
}
.cta-band{
  background:linear-gradient(135deg, #2b1f18, #6f492d); color:#fff; border-radius:30px;
  padding:2rem; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem;
}
footer{
  border-top:1px solid var(--line); background:#fff;
}
.footer-grid{
  display:grid; grid-template-columns:1.1fr .9fr .9fr; gap:1.5rem; padding:2rem 0;
}
.footer-grid p{color:var(--muted); margin:.4rem 0}
.muted{color:var(--muted)}
.text-link{color:var(--accent-dark); font-weight:700}
.map-embed{
  border-radius:var(--radius); overflow:hidden; border:1px solid var(--line); box-shadow:var(--shadow)
}
.map-embed iframe{width:100%; min-height:380px; border:0}
.booking-box{
  display:grid; gap:1rem; grid-template-columns:repeat(2,1fr); margin-top:1.2rem;
}
.meta-note{
  margin-top:1rem; font-size:.95rem; color:var(--muted)
}
@media (max-width: 980px){
  .hero-inner, .contact-grid, .cards-2{grid-template-columns:1fr}
  .stats, .cards-3, .room-grid, .gallery-grid, .amenity-grid, .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width: 720px){
  .header-inner{align-items:flex-start; flex-direction:column}
  .hero-inner, .stats, .cards-3, .room-grid, .gallery-grid, .amenity-grid, .footer-grid, .booking-box{grid-template-columns:1fr}
  .hero{background-position:65% center}
  .hero h2{max-width:none}
}
