
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500&family=Montserrat:wght@400;500;600;700&display=swap');

* { box-sizing: border-box; }
body { margin:0; background:#0d0d0f; font-family:'Montserrat',sans-serif; }
a { color:#e0c17a; }
a:hover { color:#f2ead9; }
img { max-width:100%; display:block; }

.header { background:#0d0d0f; border-bottom:1px solid rgba(204,159,78,0.18); position:sticky; top:0; z-index:100; }
.header-inner { max-width:1320px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; padding:10px 40px; }
.header.overlay { position:absolute; top:0; left:0; right:0; background:transparent; border-bottom:none; }
.header.overlay .header-inner { padding:0 40px 22px; align-items:flex-start; }
.header.overlay .nav, .header.overlay .book-btn { margin-top:28px; }
.logo-link { display:flex; align-items:center; gap:12px; text-decoration:none; flex-shrink:0; }
.logo-img { width:150px; height:152px; border-radius:10px; object-fit:cover; }
.header.overlay .logo-img { width:300px; height:300px; margin-top:-6px; border-radius:0; object-fit:contain; filter:drop-shadow(0 6px 16px rgba(0,0,0,0.6)); }
.nav { display:flex; align-items:center; gap:36px; flex-shrink:0; }
.header.overlay .nav { gap:34px; }
.nav a { text-decoration:none; font-size:13px; font-weight:600; letter-spacing:0.06em; text-transform:uppercase; color:#e8e1d4; display:flex; align-items:center; white-space:nowrap; transition:color 0.2s; }
.header.overlay .nav a { font-size:17px; font-weight:500; letter-spacing:normal; text-transform:none; text-shadow:0 2px 8px rgba(0,0,0,0.55); }
.nav a:hover { color:#e0c17a; }
.nav a.active { color:#e0c17a; }
.book-btn { display:flex; align-items:center; gap:8px; white-space:nowrap; flex-shrink:0; background:linear-gradient(180deg,#e3c07d,#c99a4a); color:#1a1408; text-decoration:none; padding:11px 22px; border-radius:8px; font-size:12px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; box-shadow:0 4px 14px rgba(201,154,74,0.25); }
.header.overlay .book-btn { padding:14px 24px; font-size:14px; font-weight:600; letter-spacing:normal; text-transform:none; }

.menu-toggle { display:none; flex-direction:column; justify-content:center; gap:5px; width:34px; height:34px; background:none; border:none; cursor:pointer; padding:0; flex-shrink:0; }
.menu-toggle span { display:block; width:100%; height:2px; background:#e8e1d4; border-radius:2px; }
.header.overlay .menu-toggle span { background:#f2ead9; }

.footer { background:#0a0a0b; color:#cfc6b6; padding:64px 40px 28px; border-top:1px solid rgba(204,159,78,0.15); }
.footer-inner { max-width:1280px; margin:0 auto; display:grid; grid-template-columns:1.3fr 1fr 0.8fr 1fr; gap:40px; }
.footer h4 { font-family:'Playfair Display',serif; font-weight:500; font-size:18px; color:#e8e1d4; margin:0 0 18px; }
.footer-col { display:flex; flex-direction:column; gap:12px; font-size:14px; color:#a89a86; }
.footer-links a { color:#a89a86; text-decoration:none; }
.footer-links { display:flex; flex-direction:column; gap:10px; font-size:14px; }
.social { display:flex; gap:14px; margin-top:20px; }
.social a { width:34px; height:34px; border-radius:50%; border:1px solid rgba(204,159,78,0.4); display:flex; align-items:center; justify-content:center; color:#e0c17a; text-decoration:none; font-size:14px; }
.footer-bottom { max-width:1280px; margin:40px auto 0; padding-top:24px; border-top:1px solid rgba(255,255,255,0.06); font-size:12px; color:#6b6157; text-align:center; }

.section { padding:90px 40px; }
.hero { display:flex; flex-direction:column; justify-content:flex-end; padding:200px 40px 80px; }
.wrap { max-width:1150px; margin:0 auto; }
.wrap-wide { max-width:1280px; margin:0 auto; }
.eyebrow { font-size:12px; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; margin-bottom:16px; }
h1, h2 { font-family:'Playfair Display',serif; font-weight:500; margin:0; }
.cta-row { display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.btn-gold { background:linear-gradient(180deg,#e3c07d,#c99a4a); color:#1a1408; text-decoration:none; padding:17px 30px; border-radius:3px; font-size:13px; font-weight:700; letter-spacing:0.06em; text-transform:uppercase; white-space:nowrap; display:inline-block; }
.btn-outline { border:1px solid rgba(232,225,212,0.4); color:#e8e1d4; text-decoration:none; padding:15px 24px; border-radius:8px; font-size:14px; font-weight:600; display:inline-flex; align-items:center; gap:8px; }

.grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.grid-4 { display:grid; grid-template-columns:repeat(4,1fr); gap:28px; }
.card-dark { background:#17181a; border:1px solid rgba(224,193,122,0.12); border-radius:6px; padding:34px 26px; }
.icon-circle { width:56px; height:56px; border-radius:50%; border:1px solid rgba(224,193,122,0.4); display:flex; align-items:center; justify-content:center; margin:0 auto 20px; font-size:22px; }

@media (max-width: 1024px) {
  .menu-toggle { display:flex; }
  .header.overlay .header-inner { padding:18px 28px; }
  .header.overlay .logo-img { width:130px; height:162px; }
  .nav {
    display:none;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    flex-direction:column;
    align-items:flex-start;
    gap:0;
    background:rgba(13,13,15,0.97);
    border-top:1px solid rgba(204,159,78,0.18);
    border-bottom:1px solid rgba(204,159,78,0.18);
    padding:8px 28px 16px;
  }
  .header.overlay .nav { background:rgba(13,13,15,0.97); }
  .nav.open { display:flex; }
  .nav a { gap:10px; width:100%; padding:14px 0; border-bottom:1px solid rgba(255,255,255,0.06); font-size:15px !important; text-shadow:none !important; }
}

@media (max-width: 560px) {
  .hero { padding:170px 20px 70px; }
  .header.overlay .logo-img { width:100px; height:124px; }
  .header.overlay .header-inner { padding:14px 20px; }
  section .wrap-wide h1 { font-size:32px !important; }
  .footer-inner { grid-template-columns:1fr; }
  .grid-3, .grid-4 { grid-template-columns:1fr; }
  .about-grid, .story-grid, .hero-grid { grid-template-columns:1fr !important; }
}

@media (max-width: 1024px) {
  .hero { padding:180px 28px 70px; }
  .footer-inner { grid-template-columns:1fr 1fr; }
  .grid-3, .grid-4 { grid-template-columns:1fr; }
  .about-grid, .story-grid, .hero-grid { grid-template-columns:1fr !important; }
}

@media (max-width: 480px) {
  .book-btn span:last-child { display:none; }
}
