/* Hanedan Hotel — static export */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Inter:wght@400;500;600&display=swap');

:root{
  --bg:#f6f1e7; --fg:#2a2218; --muted:#7a6e5c; --border:#dccfb8;
  --gold:#c9a24a; --burgundy:#7a2a2a; --cream:#f6f1e7; --ink:#2a2218;
  --card:#fbf6ec;
}
*{box-sizing:border-box;margin:0;padding:0;border-color:var(--border)}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--fg);font-family:'Inter',sans-serif;-webkit-font-smoothing:antialiased;line-height:1.5}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:'Cormorant Garamond',serif;font-weight:500;letter-spacing:-.01em;line-height:1.15}
p{line-height:1.65}

.eyebrow{font-size:.72rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--burgundy)}
.gold-rule{height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);width:6rem;margin:1.5rem auto 0}
.ornament{display:inline-flex;align-items:center;gap:.75rem;color:var(--gold)}
.ornament .line{display:inline-block;height:1px;width:2.5rem;background:var(--gold)}

.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}
.narrow{max-width:820px;margin:0 auto;padding:0 1.5rem}

/* Header */
.site-header{position:sticky;top:0;z-index:40;background:rgba(246,241,231,.9);backdrop-filter:blur(8px);border-bottom:1px solid rgba(220,207,184,.6)}
.site-header .row{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;max-width:1200px;margin:0 auto}
.brand{display:flex;flex-direction:column;line-height:1}
.brand .kicker{font-size:.65rem;letter-spacing:.22em;text-transform:uppercase;color:var(--burgundy)}
.brand .name{font-family:'Cormorant Garamond',serif;font-size:1.6rem;letter-spacing:.04em;margin-top:.25rem}
.brand .name span{color:var(--burgundy)}
.nav{display:flex;align-items:center;gap:2rem}
.nav a{font-size:.88rem;color:rgba(42,34,24,.8);transition:color .2s}
.nav a:hover,.nav a.active{color:var(--burgundy)}
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.6rem;font-size:.72rem;font-weight:500;text-transform:uppercase;letter-spacing:.22em;border-radius:2px;transition:all .2s;cursor:pointer;border:1px solid transparent}
.btn-primary{background:var(--burgundy);color:#fff}
.btn-primary:hover{filter:brightness(1.1)}
.btn-gold{background:var(--gold);color:var(--ink)}
.btn-gold:hover{filter:brightness(.95)}
.btn-outline{border-color:rgba(255,255,255,.7);color:#fff}
.btn-outline:hover{background:rgba(255,255,255,.1)}
.btn-outline-dark{border-color:var(--border);color:var(--fg)}
.menu-toggle{display:none;background:none;border:none;font-size:1.4rem;cursor:pointer;color:var(--fg)}

/* Hero */
.hero{position:relative;height:92vh;min-height:640px}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero .overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.4),rgba(0,0,0,.2),rgba(0,0,0,.6))}
.hero .content{position:relative;z-index:2;max-width:1200px;margin:0 auto;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:0 1.5rem 5rem;color:#fff}
.hero h1{font-size:clamp(2.5rem,5vw,4.5rem);max-width:48rem;margin-top:1.5rem;color:#fff}
.hero p{margin-top:1.5rem;max-width:32rem;color:rgba(255,255,255,.85);font-size:1.05rem}
.hero .actions{margin-top:2.5rem;display:flex;flex-wrap:wrap;gap:1rem}

/* Sections */
section{padding:4rem 0}
.section-intro{text-align:center;padding:6rem 1.5rem;max-width:1100px;margin:0 auto}
.section-intro h2{font-size:clamp(1.8rem,3.2vw,3rem);margin-top:2rem}
.section-intro p{margin:2rem auto 0;max-width:38rem;color:var(--muted)}

.split{display:grid;gap:3rem;align-items:center;max-width:1200px;margin:0 auto;padding:3rem 1.5rem}
@media(min-width:768px){.split{grid-template-columns:1fr 1fr}}
.split h3{font-size:clamp(1.6rem,2.6vw,2.3rem);margin-top:1rem}
.split p{margin-top:1.5rem;color:var(--muted)}
.split img{aspect-ratio:4/3;width:100%;object-fit:cover}

.feature-grid{margin-top:2rem;display:grid;grid-template-columns:1fr 1fr;gap:.75rem 1rem;font-size:.88rem}
.feature-grid li{display:flex;align-items:center;gap:.75rem;list-style:none;color:rgba(42,34,24,.85)}
.feature-grid li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold)}

/* Sultanahmet CTA */
.cta-banner{position:relative;height:60vh;min-height:420px;margin-top:6rem;overflow:hidden}
.cta-banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cta-banner .overlay{position:absolute;inset:0;background:rgba(0,0,0,.55)}
.cta-banner .content{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 1.5rem;text-align:center;color:#fff;max-width:720px;margin:0 auto}
.cta-banner h3{font-size:clamp(1.8rem,3vw,2.6rem);margin-top:1.5rem;color:#fff}

/* Page header */
.page-header{text-align:center;padding:5rem 1.5rem 4rem;max-width:1000px;margin:0 auto}
.page-header h1{font-size:clamp(2.2rem,4vw,3.5rem);margin-top:2rem}

/* Hotel body */
.prose{max-width:780px;margin:0 auto;padding:0 1.5rem 3rem;font-size:1.05rem;line-height:1.75;color:rgba(42,34,24,.88)}
.prose p+p{margin-top:1.5rem}

.three-grid{display:grid;gap:1.25rem;max-width:1200px;margin:0 auto;padding:3rem 1.5rem;grid-template-columns:1fr}
@media(min-width:768px){.three-grid{grid-template-columns:repeat(3,1fr)}}
.three-grid img{aspect-ratio:4/5;width:100%;object-fit:cover}

/* Rooms */
.rooms-grid{display:grid;gap:5rem 2.5rem;max-width:1200px;margin:0 auto;padding:0 1.5rem 6rem;grid-template-columns:1fr}
@media(min-width:768px){.rooms-grid{grid-template-columns:1fr 1fr}}
.room .main{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--muted)}
.room .main img{width:100%;height:100%;object-fit:cover}
.room .counter{position:absolute;bottom:.75rem;right:.75rem;background:rgba(0,0,0,.6);color:#fff;font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;padding:.25rem .75rem;border-radius:2px}
.room .thumbs{margin-top:.75rem;display:grid;grid-template-columns:repeat(6,1fr);gap:.5rem}
.room .thumbs button{padding:0;border:1px solid transparent;background:none;cursor:pointer;aspect-ratio:4/3;overflow:hidden;opacity:.7;transition:opacity .2s}
.room .thumbs button:hover{opacity:1}
.room .thumbs button.active{border-color:var(--gold);opacity:1}
.room .thumbs img{width:100%;height:100%;object-fit:cover}
.room h2{font-size:1.8rem;margin-top:1.5rem}
.room .desc{margin-top:.75rem;color:var(--muted)}

.amenities-section{background:#ece4d2;padding:5rem 0;margin-top:2rem}
.amenities-section .head{text-align:center;max-width:900px;margin:0 auto;padding:0 1.5rem}
.amenities-section h2{font-size:2rem;margin-top:2rem}
.amenities-list{margin:3rem auto 0;max-width:900px;padding:0 1.5rem;display:grid;grid-template-columns:1fr;gap:.75rem;font-size:.88rem;text-align:left}
@media(min-width:768px){.amenities-list{grid-template-columns:repeat(3,1fr)}}
.amenities-list li{list-style:none;display:flex;align-items:center;gap:.75rem}
.amenities-list li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold)}

/* Rates */
.rates-table-wrap{max-width:1000px;margin:0 auto;padding:0 1.5rem 2rem}
.rates-table{width:100%;border-collapse:collapse;border:1px solid var(--border)}
.rates-table th,.rates-table td{padding:1.25rem 1.5rem;text-align:left;border-top:1px solid var(--border)}
.rates-table thead{background:#ece4d2}
.rates-table th{font-size:.72rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:rgba(42,34,24,.7)}
.rates-table th span{font-weight:400;text-transform:none;letter-spacing:0;color:var(--muted);font-size:.8rem;display:block;margin-top:.25rem}
.rates-table td:first-child{font-family:'Cormorant Garamond',serif;font-size:1.3rem}
.rates-table td.high{color:var(--burgundy)}
.rates-note{margin-top:1.25rem;font-size:.85rem;color:var(--muted);max-width:1000px;margin-left:auto;margin-right:auto;padding:0 1.5rem}

/* Location */
.map-wrap{max-width:1100px;margin:0 auto;padding:0 1.5rem}
.map-wrap iframe{width:100%;aspect-ratio:16/9;border:1px solid var(--border)}
.dir-grid{display:grid;gap:3rem;max-width:1100px;margin:0 auto;padding:4rem 1.5rem;grid-template-columns:1fr}
@media(min-width:768px){.dir-grid{grid-template-columns:1fr 1fr}}
.dir-grid h3{font-size:1.5rem;margin-top:.5rem}
.dir-grid p{margin-top:1rem;color:var(--muted)}
.pickup{max-width:780px;margin:0 auto;padding:0 1.5rem 5rem}
.pickup-box{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:2.5rem 0;text-align:center}
.pickup-box .price{margin-top:1rem;font-size:1.1rem}
.pickup-box .small{margin-top:.5rem;color:var(--muted)}

/* Contact */
.contact-grid{display:grid;gap:4rem;max-width:1100px;margin:0 auto;padding:0 1.5rem 5rem;grid-template-columns:1fr}
@media(min-width:768px){.contact-grid{grid-template-columns:1fr 1fr}}
.contact-item{display:flex;gap:1rem;margin-bottom:2rem}
.contact-item .icon{margin-top:.2rem;width:1.2rem;height:1.2rem;color:var(--gold);flex-shrink:0}
.contact-item .label{font-size:.72rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--burgundy)}
.contact-item .val{margin-top:.5rem;white-space:pre-line}
form .field{margin-bottom:1.25rem}
form label{font-size:.72rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--burgundy);display:block}
form input,form textarea{margin-top:.75rem;width:100%;padding:.85rem 1rem;border:1px solid var(--border);background:var(--bg);font-size:.9rem;font-family:inherit;outline:none;transition:border-color .2s}
form input:focus,form textarea:focus{border-color:var(--burgundy)}

/* Gallery */
.gallery-section{margin-bottom:5rem}
.gallery-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:2rem}
.gallery-head h2{font-size:clamp(1.6rem,2.6vw,2.2rem);margin-top:.75rem}
.gallery-head .count{font-size:.78rem;color:var(--muted)}
.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
@media(min-width:768px){.gallery-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1024px){.gallery-grid{grid-template-columns:repeat(4,1fr)}}
.gallery-grid .item{aspect-ratio:4/3;overflow:hidden;background:#ece4d2;cursor:pointer;border:none;padding:0}
.gallery-grid .item img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.gallery-grid .item:hover img{transform:scale(1.05)}

.lightbox{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.95);display:none;align-items:center;justify-content:center;padding:1rem}
.lightbox.open{display:flex}
.lightbox img{max-height:90vh;max-width:92vw;object-fit:contain}
.lightbox .close,.lightbox .prev,.lightbox .next{position:absolute;background:none;border:none;color:rgba(255,255,255,.8);cursor:pointer;font-size:2rem;line-height:1}
.lightbox .close{top:1.25rem;right:1.25rem;font-size:2rem}
.lightbox .prev{left:1.25rem;top:50%;transform:translateY(-50%);font-size:2.5rem}
.lightbox .next{right:1.25rem;top:50%;transform:translateY(-50%);font-size:2.5rem}
.lightbox .close:hover,.lightbox .prev:hover,.lightbox .next:hover{color:#fff}
.lightbox .info{position:absolute;bottom:1.25rem;left:50%;transform:translateX(-50%);font-size:.72rem;letter-spacing:.3em;color:rgba(255,255,255,.6)}

/* Footer */
.site-footer{margin-top:6rem;background:#2a2218;color:#ece4d2;border-top:1px solid var(--border)}
.site-footer .grid{display:grid;gap:2.5rem;max-width:1200px;margin:0 auto;padding:4rem 1.5rem;grid-template-columns:1fr}
@media(min-width:768px){.site-footer .grid{grid-template-columns:2fr 1fr 1fr}}
.site-footer .brand-block .name{font-family:'Cormorant Garamond',serif;font-size:1.8rem;color:#fff}
.site-footer .brand-block .name span{color:var(--gold)}
.site-footer .brand-block p{margin-top:1rem;font-size:.88rem;color:rgba(255,255,255,.7);max-width:28rem}
.site-footer h4{font-size:.72rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-family:'Inter',sans-serif;margin-bottom:1rem}
.site-footer .col p,.site-footer .col a{font-size:.88rem;color:rgba(255,255,255,.78);display:block;margin-bottom:.6rem}
.site-footer .col a:hover{color:var(--gold)}
.site-footer .copyright{text-align:center;padding:1.5rem;font-size:.75rem;color:rgba(255,255,255,.5);border-top:1px solid rgba(255,255,255,.1)}

@media(max-width:768px){
  .nav{display:none}
  .menu-toggle{display:block}
  .nav.open{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:var(--bg);padding:1rem 1.5rem;border-bottom:1px solid var(--border);gap:.5rem}
  .nav.open a{padding:.5rem 0}
  .site-header{position:relative}
}


/* Hero Booking Form */
.hero-booking { margin-top:40px; background:rgba(255,255,255,.12); backdrop-filter:blur(10px); border:1px solid rgba(255,255,255,.18); border-radius:6px; padding:24px; max-width:960px; }
.hero-booking-row { display:flex; gap:12px; flex-wrap:wrap; align-items:flex-end; }
.hb-field { flex:1; min-width:150px; }
.hb-field label { display:block; font-size:10px; font-weight:500; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.7); margin-bottom:6px; }
.hb-field input,
.hb-field select { width:100%; padding:10px 12px; border:1px solid rgba(255,255,255,.25); background:rgba(255,255,255,.1); font-size:14px; font-family:inherit; color:#fff; border-radius:2px; outline:none; transition:border-color .2s; cursor:pointer; appearance:auto; -webkit-appearance:auto; }
.hb-field input::placeholder { color:rgba(255,255,255,.45); }
.hb-field input:focus,
.hb-field select:focus { border-color:var(--gold); }
.hb-field select option { background:#2a2218; color:#fff; }
.hb-submit { background:var(--gold); color:#fff; padding:10px 32px; border:1px solid var(--gold); border-radius:2px; font-size:11px; font-weight:600; letter-spacing:.2em; text-transform:uppercase; cursor:pointer; transition:opacity .2s; font-family:inherit; white-space:nowrap; height:42px; }
.hb-submit:hover { opacity:.85; }
.hb-field-wrap { position:relative; }

.cal-popup { display:none; position:absolute; top:calc(100% + 6px); left:0; background:#fff; border:1px solid var(--border); border-radius:4px; padding:16px; box-shadow:0 4px 20px rgba(0,0,0,.18); z-index:200; width:300px; user-select:none; }
.cal-popup.open { display:block; }
.cal-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }
.cal-header strong { font-family:'Cormorant Garamond',serif; font-size:16px; color:var(--ink); }
.cal-nav { background:none; border:1px solid var(--border); border-radius:2px; cursor:pointer; font-size:14px; padding:4px 10px; color:var(--ink); transition:background .15s; }
.cal-nav:hover { background:#f5ecdc; }
.cal-table { width:100%; border-collapse:collapse; text-align:center; }
.cal-table th { font-size:10px; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); padding:4px 0 8px; }
.cal-table td { padding:5px 0; font-size:13px; cursor:pointer; border-radius:2px; transition:background .15s; color:var(--ink); }
.cal-table td:hover { background:#f5ecdc; }
.cal-table td.empty { cursor:default; }
.cal-table td.empty:hover { background:none; }
.cal-table td.selected { background:var(--burgundy); color:#fff; }
.cal-table td.today { font-weight:600; color:var(--burgundy); }

@media (max-width:767px) {
  .hero-booking { padding:16px; margin-top:28px; }
  .hero-booking-row { gap:8px; }
  .hb-field { min-width:calc(50% - 8px); }
  .hb-submit { width:100%; margin-top:4px; }
}

/* ===== Static export additions ===== */
* { box-sizing: border-box; }
body { margin:0; font-family:'Inter',sans-serif; color:#2a201a; background:#fbf7f1; line-height:1.6; }
img { max-width:100%; display:block; }
a { color:#7a1f2b; text-decoration:none; }
:root { --gold:#b8923d; --burgundy:#7a1f2b; --cream:#fbf7f1; --ink:#2a201a; --muted:#6b5e54; --border:#e6dccf; }

.eyebrow { font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--muted); font-weight:500; }
.eyebrow.gold, .gold { color:var(--gold); }
.gold-rule { width:96px; height:1px; background:var(--gold); margin:24px auto; }
.muted { color:var(--muted); }
.small { font-size:13px; }
.mt { margin-top:24px; }
.strong { color:var(--ink); }

.display-xl { font-family:'Cormorant Garamond',serif; font-weight:500; font-size:clamp(2.5rem,5vw,4.5rem); line-height:1.05; margin:24px 0; }
.display-lg { font-family:'Cormorant Garamond',serif; font-weight:500; font-size:clamp(2rem,4vw,3rem); line-height:1.15; margin:24px 0; }
.display-md { font-family:'Cormorant Garamond',serif; font-weight:500; font-size:clamp(1.6rem,3vw,2.4rem); line-height:1.2; margin:16px 0; }
.display-sm { font-family:'Cormorant Garamond',serif; font-weight:500; font-size:1.6rem; margin:12px 0; }
.display-md.light { color:#fff; }

/* Header */
.site-header { position:sticky; top:0; z-index:40; background:rgba(251,247,241,.92); backdrop-filter:blur(8px); border-bottom:1px solid var(--border); }
.header-inner { max-width:1200px; margin:0 auto; padding:20px 24px; display:flex; align-items:center; justify-content:space-between; }
.brand { display:flex; flex-direction:column; line-height:1; }
.brand-eyebrow { font-size:10px; }
.brand-name { font-family:'Cormorant Garamond',serif; font-size:24px; letter-spacing:.03em; margin-top:4px; }
.brand-accent { color:var(--burgundy); }
.desktop-nav { display:none; align-items:center; gap:32px; }
.nav-link { font-size:14px; color:#3a2e26; transition:color .2s; letter-spacing:.02em; }
.nav-link:hover, .nav-link.active { color:var(--burgundy); }
.nav-cta { margin-left:8px; }
.menu-toggle { background:none; border:none; font-size:24px; cursor:pointer; }
.mobile-nav { display:none; flex-direction:column; padding:16px 24px; gap:8px; border-top:1px solid var(--border); background:#fff; }
.mobile-nav.open { display:flex; }
.mobile-nav .nav-link { padding:8px 0; }
.mobile-cta { margin-top:8px; text-align:center; }
.whatsapp-cta { display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:50%; background:#25D366; color:#fff; transition:filter .2s; margin-left:6px; flex-shrink:0; }
.whatsapp-cta:hover { filter:brightness(.9); }
.whatsapp-cta svg { width:20px; height:20px; fill:#fff; }
.mobile-whatsapp { margin-top:4px; width:100%; border-radius:4px; height:auto; padding:10px; gap:8px; font-size:14px; }
.mobile-whatsapp svg { width:22px; height:22px; }

@media (min-width:768px) {
  .desktop-nav { display:flex; }
  .menu-toggle { display:none; }
  .mobile-nav.open { display:none; }
}

/* Buttons */
.btn-primary { background:var(--burgundy); color:#fff; padding:10px 20px; font-size:11px; letter-spacing:.2em; text-transform:uppercase; border:1px solid var(--burgundy); border-radius:2px; font-weight:500; display:inline-block; cursor:pointer; transition:opacity .2s; }
.btn-primary:hover { opacity:.9; color:#fff; }
.btn-gold { background:var(--gold); color:var(--ink); padding:14px 28px; font-size:11px; letter-spacing:.22em; text-transform:uppercase; border-radius:2px; display:inline-block; font-weight:500; }
.btn-outline-light { border:1px solid rgba(255,255,255,.7); color:#fff; padding:14px 28px; font-size:11px; letter-spacing:.22em; text-transform:uppercase; border-radius:2px; display:inline-block; transition:background .2s; }
.btn-outline-light:hover { background:rgba(255,255,255,.1); color:#fff; }

/* Hero */
.hero { position:relative; height:92vh; min-height:640px; }
.hero-img, .banner-img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hero-overlay { position:absolute; inset:0; background:linear-gradient(to bottom, rgba(0,0,0,.4), rgba(0,0,0,.2), rgba(0,0,0,.6)); pointer-events:none; }
.hero-content { position:relative; z-index:2; max-width:1200px; margin:0 auto; height:100%; display:flex; flex-direction:column; justify-content:flex-end; padding:0 24px 48px; color:#fbf7f1; }
.hero-lead { max-width:560px; margin-top:24px; font-size:18px; color:rgba(251,247,241,.9); }
.hero-ctas { margin-top:40px; display:flex; gap:16px; flex-wrap:wrap; }
.ornament { display:flex; align-items:center; gap:16px; }
.gold-line { display:inline-block; width:40px; height:1px; background:var(--gold); }

/* Intro */
.intro { max-width:880px; margin:0 auto; padding:96px 24px; text-align:center; }
.intro .gold-rule { margin-top:24px; }
.intro-text { margin-top:32px; color:var(--muted); font-size:16px; }

/* Feature rows */
.feature-row { max-width:1200px; margin:0 auto; padding:48px 24px; display:grid; gap:48px; grid-template-columns:1fr; align-items:center; }
@media (min-width:768px) { .feature-row { grid-template-columns:1fr 1fr; } .feature-row.reverse .feature-img { order:2; } }
.feature-img { aspect-ratio:4/3; width:100%; object-fit:cover; }
.feature-text h3 { margin-top:16px; }
.feature-text p { margin-top:24px; color:var(--muted); }
.amenity-grid { list-style:none; padding:0; margin:32px 0 0; display:grid; grid-template-columns:1fr 1fr; gap:12px; font-size:14px; }

/* CTA Banner */
.cta-banner { position:relative; height:60vh; min-height:420px; margin-top:96px; overflow:hidden; }
.banner-overlay { position:absolute; inset:0; background:rgba(0,0,0,.55); }
.banner-content { position:relative; z-index:2; height:100%; max-width:780px; margin:0 auto; padding:0 24px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; color:#fff; }
.banner-cta { margin-top:40px; }

/* Page header */
.page-header { max-width:880px; margin:0 auto; padding:80px 24px 64px; text-align:center; }

/* Prose */
.prose { max-width:760px; margin:0 auto; padding:0 24px 48px; font-size:18px; color:rgba(42,32,26,.88); }
.prose p + p { margin-top:24px; }

/* Three-col image */
.three-col-img { max-width:1200px; margin:0 auto; padding:64px 24px; display:grid; gap:24px; grid-template-columns:1fr; }
@media (min-width:768px) { .three-col-img { grid-template-columns:repeat(3,1fr); } }
.three-col-img img { aspect-ratio:4/5; object-fit:cover; width:100%; }

/* Rooms */
.rooms-grid { max-width:1200px; margin:0 auto; padding:0 24px 96px; display:grid; gap:80px 40px; grid-template-columns:1fr; }
@media (min-width:768px) { .rooms-grid { grid-template-columns:1fr 1fr; } }
.room-card .room-main { position:relative; aspect-ratio:4/3; overflow:hidden; background:#eee; }
.room-card .room-main img { width:100%; height:100%; object-fit:cover; }
.room-counter { position:absolute; right:12px; bottom:12px; background:rgba(0,0,0,.6); color:#fff; font-size:10px; letter-spacing:.2em; text-transform:uppercase; padding:4px 12px; border-radius:2px; }
.thumb-row { margin-top:12px; display:grid; grid-template-columns:repeat(6,1fr); gap:8px; }
.thumb { padding:0; border:0; background:none; aspect-ratio:4/3; overflow:hidden; cursor:pointer; opacity:.7; box-shadow:inset 0 0 0 1px transparent; transition:opacity .2s, box-shadow .2s; }
.thumb:hover { opacity:1; }
.thumb.active { opacity:1; box-shadow:inset 0 0 0 2px var(--gold); }
.thumb img { width:100%; height:100%; object-fit:cover; }
.amenities-section { background:#f5ecdc; padding:80px 0; }
.amenities-inner { max-width:880px; margin:0 auto; padding:0 24px; text-align:center; }
.amenities-list { list-style:none; padding:0; margin:48px 0 0; display:grid; gap:12px; text-align:left; grid-template-columns:1fr; font-size:14px; }
@media (min-width:768px) { .amenities-list { grid-template-columns:repeat(3,1fr); } }

/* Gallery */
.gallery-wrap { max-width:1200px; margin:0 auto; padding:0 24px 96px; }
.gallery-section + .gallery-section { margin-top:80px; }
.gallery-head { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:32px; }
.gallery-grid { display:grid; gap:12px; grid-template-columns:repeat(2,1fr); }
@media (min-width:768px) { .gallery-grid { grid-template-columns:repeat(3,1fr); } }
@media (min-width:1024px) { .gallery-grid { grid-template-columns:repeat(4,1fr); } }
.gallery-item { padding:0; border:0; background:none; aspect-ratio:4/3; overflow:hidden; cursor:pointer; }
.gallery-item img { width:100%; height:100%; object-fit:cover; transition:transform .7s; }
.gallery-item:hover img { transform:scale(1.05); }

/* Lightbox */
.lightbox { position:fixed; inset:0; z-index:100; background:rgba(0,0,0,.95); display:flex; align-items:center; justify-content:center; padding:16px; }
.lightbox img { max-height:90vh; max-width:92vw; object-fit:contain; }
.lb-close { position:absolute; top:20px; right:20px; background:none; border:0; color:#fff; font-size:28px; cursor:pointer; }
.lb-prev, .lb-next { position:absolute; top:50%; transform:translateY(-50%); background:none; border:0; color:#fff; font-size:60px; cursor:pointer; padding:20px; }
.lb-prev { left:20px; } .lb-next { right:20px; }
.lb-counter { position:absolute; bottom:20px; left:50%; transform:translateX(-50%); color:rgba(255,255,255,.6); font-size:12px; letter-spacing:.3em; text-transform:uppercase; }

/* Rates table */
.rates-section { max-width:960px; margin:0 auto; padding:0 24px 48px; }
.rates-table-wrap { border:1px solid var(--border); overflow:hidden; }
.rates-table { width:100%; border-collapse:collapse; text-align:left; }
.rates-table thead { background:#f5ecdc; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:rgba(42,32,26,.7); }
.rates-table th { padding:20px 24px; font-weight:500; }
.rates-table .th-sub { font-weight:400; text-transform:none; letter-spacing:normal; color:var(--muted); font-size:12px; }
.rates-table td { padding:20px 24px; border-top:1px solid var(--border); }
.rates-table .rate-name { font-family:'Cormorant Garamond',serif; font-size:22px; }
.rates-table .rate-high { color:var(--burgundy); }
.contact-list { margin-top:32px; }
.contact-list p { margin:8px 0; font-size:14px; }

/* Location */
.address-line { max-width:880px; margin:0 auto; padding:0 24px 48px; text-align:center; font-size:18px; }
.map-section { max-width:1100px; margin:0 auto; padding:0 24px; }
.map-frame { aspect-ratio:16/9; width:100%; border:1px solid var(--border); overflow:hidden; }
.map-frame iframe { width:100%; height:100%; border:0; }
.directions { max-width:1100px; margin:0 auto; padding:80px 24px; display:grid; gap:48px; grid-template-columns:1fr; }
@media (min-width:768px) { .directions { grid-template-columns:1fr 1fr; } }
.directions p { color:var(--muted); margin-top:16px; }
.pickup { max-width:880px; margin:0 auto; padding:0 24px 96px; }
.pickup-inner { border-top:1px solid var(--border); border-bottom:1px solid var(--border); padding:40px 0; text-align:center; }
.pickup-inner .big { margin-top:16px; font-size:18px; }
.pickup-inner .muted { margin-top:12px; }

/* Contact */
.contact-grid { max-width:1100px; margin:0 auto; padding:0 24px 96px; display:grid; gap:64px; grid-template-columns:1fr; }
@media (min-width:768px) { .contact-grid { grid-template-columns:1fr 1fr; } }
.contact-items { display:flex; flex-direction:column; gap:32px; }
.contact-item { display:flex; gap:16px; color:inherit; }
.ci-icon { font-size:20px; margin-top:4px; color:var(--gold); }
.ci-value { margin-top:8px; white-space:pre-line; color:rgba(42,32,26,.9); }
.contact-form { display:flex; flex-direction:column; gap:20px; }
.contact-form input, .contact-form textarea { width:100%; padding:12px 16px; border:1px solid var(--border); background:#fff; font-size:14px; font-family:inherit; margin-top:12px; outline:none; transition:border-color .2s; border-radius:2px; }
.contact-form input:focus, .contact-form textarea:focus { border-color:var(--burgundy); }

/* Footer */
.site-footer { margin-top:96px; background:#3a2e26; color:#f5ecdc; }
.footer-grid { max-width:1200px; margin:0 auto; padding:64px 24px; display:grid; gap:40px; grid-template-columns:1fr; }
@media (min-width:768px) { .footer-grid { grid-template-columns:2fr 1fr 1fr; } }
.footer-brand-name { font-size:30px; color:#fbf7f1; }
.footer-gold { color:var(--gold); }
.footer-brand p { margin-top:16px; max-width:440px; font-size:14px; color:rgba(251,247,241,.7); }
.footer-eyebrow { color:var(--gold); margin-bottom:12px; }
.site-footer p { font-size:14px; color:rgba(251,247,241,.8); margin:8px 0; }
.site-footer a { display:block; color:rgba(251,247,241,.8); margin:6px 0; transition:color .2s; }
.site-footer a:hover { color:var(--gold); }
.footer-bottom { border-top:1px solid rgba(251,247,241,.1); padding:24px; text-align:center; font-size:12px; color:rgba(251,247,241,.5); }
