@import url("https://fonts.googleapis.com/css2?family=EB+Garamond:wght@500;600;700&family=Work+Sans:wght@400;500;600&display=swap");
:root { --dark:#111; --blue:#101996; --text:#1a1a1a; --muted:#5a5a5a; --soft:#f4f5fb; }
* { box-sizing: border-box; }
body { margin: 0; font-family: "Work Sans", sans-serif; color: var(--text); background: #fff; }
a { color: inherit; text-decoration: none; }
img { width: 100%; display: block; border-radius: 12px; }
.top-bar { background: var(--dark); color: #fff; padding: 10px 5vw; display: flex; justify-content: space-between; font-size: 14px; }
.top-links { display: flex; gap: 20px; }
.main-nav { height: 82px; padding: 0 5vw; display: flex; align-items: center; justify-content: space-between; background: #fff; box-shadow: 0 3px 9px rgba(0,0,0,.05); }
.main-nav ul { list-style: none; display: flex; gap: 24px; margin: 0; padding: 0; }
.brand { font-size: 30px; font-family: "EB Garamond", serif; font-weight: 600; }
.main-nav a.active { color: var(--blue); }
.book-button, .primary-btn { background: var(--blue); color: #fff; padding: 12px 22px; border-radius: 30px; border: 1px solid var(--blue); display: inline-block; }
.hero { height: 78vh; min-height: 560px; background-size: cover; background-position: center; position: relative; display: grid; place-items: center; }
.overlay { position:absolute; inset:0; background: rgba(0,0,0,.35); }
.hero-content { position: relative; z-index: 1; text-align: center; color: #fff; }
.hero h1 { font-family: "EB Garamond", serif; font-size: clamp(46px, 8vw, 82px); margin: 0 0 10px; }
.hero p { max-width: 620px; margin: 0 auto 22px; }
main section { padding: 72px 5vw; }
.two-col { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px; align-items: center; max-width: 1200px; margin: 0 auto; }
.split h2, .rooms h2, .gallery h2 { font-family: "EB Garamond", serif; font-size: 48px; margin: 0 0 14px; }
.split p { color: var(--muted); line-height: 1.75; }
.rooms .cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; margin-top: 26px; }
.card { background: #fff; border-radius: 16px; box-shadow: 0 4px 16px rgba(0,0,0,.06); overflow: hidden; }
.card h3 { padding: 16px; margin: 0; font-family: "EB Garamond", serif; font-size: 28px; }
.soft-bg { background: var(--soft); border-radius: 16px; padding: 40px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.soft-bg article { background: #fff; border-radius: 16px; padding: 16px; }
.soft-bg h3 { font-family: "EB Garamond", serif; font-size: 34px; margin: 14px 0 8px; }
.gallery { text-align: center; }
.gallery-grid { margin-top: 24px; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 16px; }
.footer { background:#111; color:#ddd; padding: 50px 5vw; }
.footer-nav { display:flex; gap:18px; justify-content:center; flex-wrap:wrap; margin-bottom:24px; }
.newsletter { text-align:center; max-width:700px; margin:0 auto 32px; }
.newsletter h3 { color:#fff; font-family:"EB Garamond", serif; font-size:30px; }
.newsletter form { display:flex; gap:10px; justify-content:center; flex-wrap:wrap; }
.newsletter input { min-width:320px; border:1px solid #555; background:transparent; color:#fff; padding:12px; border-radius:8px; }
.newsletter button, .booking-form button { border:1px solid var(--blue); background: var(--blue); color:#fff; padding:12px 16px; border-radius:8px; cursor:pointer; }
.legal { display:flex; justify-content:center; gap:16px; flex-wrap:wrap; border-top:1px solid #2b2b2b; padding-top:20px; }
.simple-page { max-width:980px; margin:0 auto; padding:72px 5vw; }
.simple-page h1 { font-family:"EB Garamond", serif; font-size:58px; margin:0 0 14px; }
.legal-page h2 { margin-top:26px; }
.booking-form { display:grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap:12px; }
.booking-form button { grid-column: 1 / -1; }
@media (max-width: 1000px) {
  .top-bar, .main-nav { flex-direction: column; height:auto; gap:10px; padding:12px 5vw; }
  .main-nav ul { flex-wrap:wrap; justify-content:center; }
  .two-col, .rooms .cards, .gallery-grid, .booking-form { grid-template-columns: 1fr; }
  .soft-bg { padding: 20px; }
}
