/* ===== RESET & BASE ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Lora',serif;color:#2d2a26;background:#faf9f6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4,h5,h6{font-family:'Playfair Display',serif}
a{color:inherit;text-decoration:none}
button{background:none;border:none;cursor:pointer;font:inherit;color:inherit}
img{display:block;max-width:100%}
input,select{font-family:'Lora',serif}

/* ===== VARIABLES ===== */
:root{
  --gold:#b8976a;
  --gold-light:#d4c4a8;
  --gold-dark:#8c6d42;
  --cream:#f5f2ec;
  --charcoal:#2d2a26;
  --warm-white:#faf9f6;
  --muted:#8a8580;
}

/* ===== UTILITIES ===== */
.container{max-width:1200px;margin:0 auto;padding:0 16px}
.narrow{max-width:900px}

.divider-gold{width:64px;height:1px;background:var(--gold);margin:0 auto}
.label-elegant{font-family:'Cormorant Garamond',serif;font-size:13px;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}
.heading-section{font-family:'Playfair Display',serif;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:500;margin-bottom:16px;line-height:1.15}
.subheading{font-family:'Cormorant Garamond',serif;font-size:clamp(1rem,2.5vw,1.25rem);color:var(--muted);max-width:480px;margin:16px auto 0;letter-spacing:0.03em}

.section{padding:80px 16px}
.section-bg-white{background:var(--warm-white)}
.section-bg-cream{background:var(--cream)}
.section-header{text-align:center;margin-bottom:56px}

.btn-gold{display:inline-block;background:var(--gold);color:var(--warm-white);padding:12px 28px;font-size:12px;letter-spacing:0.15em;text-transform:uppercase;font-family:'Lora',serif;transition:all .3s ease;border:none;cursor:pointer}
.btn-gold:hover{background:var(--gold-dark);transform:scale(.97)}
.btn-gold:active{transform:scale(.95)}
.btn-sm{padding:8px 20px;font-size:11px}

.btn-outline-gold{display:inline-block;border:1px solid var(--gold);color:var(--gold);padding:10px 24px;font-size:12px;letter-spacing:0.15em;text-transform:uppercase;font-family:'Lora',serif;transition:all .3s ease;background:transparent;text-align:center}
.btn-outline-gold:hover{background:var(--gold);color:var(--warm-white);transform:scale(.97)}

.btn-outline-light{display:inline-block;border:1px solid rgba(255,255,255,.4);color:rgba(255,255,255,.9);padding:12px 28px;font-size:12px;letter-spacing:0.15em;text-transform:uppercase;font-family:'Lora',serif;transition:all .3s ease;background:transparent}
.btn-outline-light:hover{background:rgba(255,255,255,.1);color:#fff;transform:scale(.97)}

/* ===== ANIMATIONS ===== */
.reveal{opacity:0;transform:translateY(16px);filter:blur(4px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1),filter .7s cubic-bezier(.16,1,.3,1)}
.reveal.visible{opacity:1;transform:translateY(0);filter:blur(0)}
.reveal-stagger>.reveal:nth-child(1){transition-delay:0ms}
.reveal-stagger>.reveal:nth-child(2){transition-delay:80ms}
.reveal-stagger>.reveal:nth-child(3){transition-delay:160ms}
.reveal-stagger>.reveal:nth-child(4){transition-delay:240ms}
.reveal-stagger>.reveal:nth-child(5){transition-delay:320ms}
.reveal-stagger>.reveal:nth-child(6){transition-delay:400ms}

@keyframes fadeUp{0%{opacity:0;transform:translateY(20px);filter:blur(4px)}100%{opacity:1;transform:translateY(0);filter:blur(0)}}
.anim-fade-up{opacity:0;animation:fadeUp .8s cubic-bezier(.16,1,.3,1) forwards}
.d1{animation-delay:.15s}.d2{animation-delay:.3s}.d3{animation-delay:.4s}.d4{animation-delay:.55s}.d5{animation-delay:.7s}.d6{animation-delay:1s}

/* ===== HEADER ===== */
#header{position:fixed;top:0;left:0;right:0;z-index:50;transition:all .5s ease}
#header.scrolled{background:rgba(250,249,246,.95);backdrop-filter:blur(12px);box-shadow:0 1px 0 rgba(184,151,106,.2)}
.header-inner{max-width:1200px;margin:0 auto;padding:0 16px;display:flex;align-items:center;justify-content:space-between;height:64px}
@media(min-width:640px){.header-inner{height:80px}}

.logo{display:flex;flex-direction:column;text-align:left}
.logo-name{font-family:'Playfair Display',serif;font-size:clamp(1rem,2.5vw,1.25rem);font-weight:600;letter-spacing:.03em}
.logo-tagline{font-family:'Cormorant Garamond',serif;font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--gold)}

.desktop-nav{display:none;gap:32px}
@media(min-width:1024px){.desktop-nav{display:flex}}
.desktop-nav button{font-family:'ariel',serif;font-size:13px;letter-spacing:.15em;text-transform:uppercase;color:black;transition:color .3s;position:relative}
.desktop-nav button::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--gold);transition:width .3s}
.desktop-nav button:hover{color:var(--charcoal)}
.desktop-nav button:hover::after{width:100%}

.header-actions{display:flex;align-items:center;gap:12px}
.phone-link{display:none;align-items:center;gap:6px;font-size:13px;font-family:'Cormorant Garamond',serif;color:rgba(45,42,38,.65);transition:color .3s}
.phone-link:hover{color:var(--charcoal)}
@media(min-width:640px){.phone-link{display:flex}}
.header-actions .btn-gold{display:none}
@media(min-width:640px){.header-actions .btn-gold{display:inline-block}}

.menu-toggle{font-size:24px;padding:4px}
@media(min-width:1024px){.menu-toggle{display:none}}

.mobile-menu{display:none;flex-direction:column;padding:16px 24px 24px;gap:12px;background:rgba(250,249,246,.98);backdrop-filter:blur(12px);border-top:1px solid rgba(184,151,106,.15)}
.mobile-menu.open{display:flex}
.mobile-menu button,.mobile-menu a{font-family:'Cormorant Garamond',serif;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:rgba(45,42,38,.65);text-align:left;padding:4px 0;transition:color .3s}
.mobile-menu button:hover,.mobile-menu a:hover{color:var(--charcoal)}

/* ===== HERO ===== */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-overlay{position:absolute;inset:0;background:rgba(45,42,38,.5)}
.hero-content{position:relative;z-index:2;text-align:center;padding:0 16px;max-width:720px}
.hero-label{font-family:'Cormorant Garamond',serif;font-size:clamp(11px,1.5vw,14px);letter-spacing:.3em;text-transform:uppercase;color:var(--gold-light);margin-bottom:20px}
.hero-title{font-family:'Playfair Display',serif;font-size:clamp(2.5rem,7vw,4.5rem);font-weight:500;color:var(--warm-white);margin-bottom:20px;line-height:1.05}
.hero-subtitle{font-family:'Cormorant Garamond',serif;font-size:clamp(1.1rem,2.5vw,1.5rem);color:rgba(240,230,215,.85);letter-spacing:.05em;margin-bottom:36px}
.hero-buttons{display:flex;flex-direction:column;align-items:center;gap:12px}
@media(min-width:480px){.hero-buttons{flex-direction:row;justify-content:center}}
.hero-badge{margin-top:48px;display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:999px;background:rgba(184,151,106,.2);border:1px solid rgba(212,196,168,.3)}
.hero-badge span:last-child{font-family:'Cormorant Garamond',serif;font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.8)}
.badge-dot{width:8px;height:8px;border-radius:50%;background:#34d399}
.scroll-indicator{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);text-align:center}
.scroll-line{width:1px;height:48px;background:rgba(255,255,255,.3);margin:0 auto 8px}
.scroll-indicator span{font-family:'Cormorant Garamond',serif;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.4)}

/* ===== ROOMS ===== */
.rooms-grid{display:grid;grid-template-columns:1fr;gap:24px}
@media(min-width:640px){.rooms-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.rooms-grid{grid-template-columns:repeat(4,1fr)}}

.room-card{background:var(--warm-white);border-radius:2px;overflow:hidden;box-shadow:0 2px 20px rgba(184,151,106,.06);transition:box-shadow .5s}
.room-card:hover{box-shadow:0 8px 40px rgba(184,151,106,.12)}
.room-img-wrap{position:relative;aspect-ratio:4/3;overflow:hidden}
.room-img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.room-card:hover .room-img-wrap img{transform:scale(1.05)}
.room-badge{position:absolute;top:12px;left:12px;padding:4px 12px;font-family:'Cormorant Garamond',serif;font-size:10px;letter-spacing:.15em;text-transform:uppercase;background:var(--gold);color:var(--warm-white);border-radius:2px}
.room-body{padding:20px}
.room-body h3{font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:500;margin-bottom:4px}
.room-price{font-family:'Cormorant Garamond',serif;font-size:1.25rem;font-weight:600;color:var(--gold);margin-bottom:12px}
.room-price span{font-size:.85rem;font-weight:400;color:var(--muted)}
.room-desc{font-size:.85rem;color:var(--muted);line-height:1.6;margin-bottom:16px}
.room-body .btn-outline-gold{display:block;width:100%;text-align:center;padding:10px}

/* ===== FACILITIES ===== */
.facilities-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
@media(min-width:640px){.facilities-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1024px){.facilities-grid{grid-template-columns:repeat(5,1fr)}}

.facility-card{text-align:center;padding:24px 16px;background:rgba(250,249,246,.7);border-radius:2px;transition:all .4s;box-shadow:0 1px 8px rgba(184,151,106,.04)}
.facility-card:hover{background:var(--warm-white);box-shadow:0 4px 24px rgba(184,151,106,.08)}
.facility-icon{font-size:28px;margin-bottom:12px}
.facility-card h3{font-family:'Playfair Display',serif;font-size:.85rem;font-weight:500;margin-bottom:4px}
.facility-card p{font-size:.75rem;color:var(--muted);line-height:1.5}

/* ===== GALLERY ===== */
.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
@media(min-width:768px){.gallery-grid{grid-template-columns:repeat(3,1fr);gap:16px}}

.gallery-item{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:2px;cursor:pointer;border:none;padding:0}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.gallery-item:hover img{transform:scale(1.1)}
.gallery-item::after{content:'';position:absolute;inset:0;background:rgba(45,42,38,0);transition:background .5s}
.gallery-item:hover::after{background:rgba(45,42,38,.2)}

/* ===== LIGHTBOX ===== */
.lightbox{display:none;position:fixed;inset:0;z-index:100;background:rgba(45,42,38,.92);align-items:center;justify-content:center;padding:16px}
.lightbox.open{display:flex}
.lightbox img{max-height:85vh;max-width:90vw;object-fit:contain;border-radius:2px}
.lb-close{position:absolute;top:16px;right:16px;color:rgba(255,255,255,.7);font-size:24px;transition:color .3s;z-index:2}
.lb-close:hover{color:#fff}
.lb-prev,.lb-next{position:absolute;top:50%;transform:translateY(-50%);color:rgba(255,255,255,.6);font-size:40px;transition:color .3s;z-index:2}
.lb-prev{left:16px}.lb-next{right:16px}
.lb-prev:hover,.lb-next:hover{color:#fff}

/* ===== TESTIMONIALS ===== */
.testimonials-grid{display:grid;grid-template-columns:1fr;gap:24px}
@media(min-width:768px){.testimonials-grid{grid-template-columns:repeat(3,1fr)}}

.testimonial-card{background:var(--warm-white);padding:24px;border-radius:2px;box-shadow:0 1px 12px rgba(184,151,106,.05)}
.stars{color:var(--gold);font-size:14px;margin-bottom:16px;letter-spacing:2px}
.testimonial-text{font-size:.9rem;color:var(--muted);line-height:1.7;font-style:italic;margin-bottom:16px}
.testimonial-name{font-family:'Playfair Display',serif;font-size:.9rem;font-weight:500}

/* ===== LOCATION ===== */
.map-wrap{border-radius:2px;overflow:hidden;box-shadow:0 4px 24px rgba(184,151,106,.08)}

/* ===== CONTACT ===== */
.contact-grid{display:grid;grid-template-columns:1fr;gap:32px}
@media(min-width:768px){.contact-grid{grid-template-columns:1fr 1fr}}

.contact-info h3{font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:500;margin-bottom:8px}
.contact-info>p{font-size:.9rem;color:var(--muted);line-height:1.7;margin-bottom:20px}
.contact-link{display:flex;align-items:center;gap:12px;margin-bottom:16px;transition:opacity .3s}
.contact-link:hover{opacity:.8}
.contact-icon{width:40px;height:40px;border-radius:50%;border:1px solid rgba(184,151,106,.3);display:flex;align-items:center;justify-content:center;font-size:16px;transition:border-color .3s}
.contact-link:hover .contact-icon{border-color:var(--gold)}
.contact-link small{font-family:'Cormorant Garamond',serif;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.contact-link div{font-size:.9rem}
.social-links{display:flex;gap:16px;margin-top:8px}
.social-links a{font-family:'Cormorant Garamond',serif;font-size:.9rem;color:var(--muted);letter-spacing:.05em;transition:color .3s}
.social-links a:hover{color:var(--charcoal)}

.booking-form{background:var(--warm-white);padding:24px;border-radius:2px;box-shadow:0 2px 16px rgba(184,151,106,.06)}
@media(min-width:640px){.booking-form{padding:32px}}
.booking-form h3{font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:500;margin-bottom:24px}
.booking-form form{display:flex;flex-direction:column;gap:12px}
.booking-form input,.booking-form select{width:100%;padding:12px 16px;font-size:.9rem;background:var(--cream);border:1px solid rgba(184,151,106,.2);border-radius:2px;transition:border-color .3s;outline:none}
.booking-form input:focus,.booking-form select:focus{border-color:var(--gold)}

/* ===== FOOTER ===== */
footer{background:var(--charcoal);color:rgba(250,249,246,.6);padding:64px 16px}
.footer-grid{display:grid;grid-template-columns:1fr;gap:32px}
@media(min-width:768px){.footer-grid{grid-template-columns:repeat(3,1fr)}}
.footer-logo{font-family:'Playfair Display',serif;font-size:1.25rem;font-weight:500;color:var(--warm-white);margin-bottom:4px}
.footer-tagline{font-family:'Cormorant Garamond',serif;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:16px}
.footer-address{font-size:.85rem;line-height:1.7}
footer h4{font-family:'Playfair Display',serif;font-size:.85rem;font-weight:500;color:var(--warm-white);margin-bottom:16px}
.footer-nav{display:flex;flex-direction:column;gap:8px}
.footer-nav button{font-size:.85rem;text-align:left;transition:color .3s}
.footer-nav button:hover{color:var(--warm-white)}
footer a{font-size:.85rem;transition:color .3s}
footer a:hover{color:var(--warm-white)}
.footer-social{display:flex;gap:16px;margin-top:12px}
.footer-bottom{margin-top:48px;padding-top:24px;border-top:1px solid rgba(250,249,246,.1);text-align:center}
.footer-bottom p{font-family:'Cormorant Garamond',serif;font-size:12px;letter-spacing:.1em}

/* ===== FLOATING BUTTONS ===== */
.floating-btns{position:fixed;bottom:24px;right:24px;z-index:50;display:flex;flex-direction:column;gap:12px}
.fab{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;box-shadow:0 4px 16px rgba(0,0,0,.15);transition:transform .2s}
.fab:hover{transform:scale(1.05)}
.fab:active{transform:scale(.95)}
.fab-wa{background:rgba(184,151,106,.3)}   
.fab-phone{background:rgba(184,151,106,.3)}


@media(max-width:480px){.section{padding:56px 16px}}
