:root{--gold:#c9a96e;--cream:#fdfaf5;--dark:#1a1008;--brown:#8b5e3c;--text:#2d2017;--warm:#f5ede3;--radius:16px;--shadow:0 20px 60px rgba(0,0,0,.1);--trans:all .4s cubic-bezier(.25,.46,.45,.94)}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html,body{margin:0 !important;padding:0 !important;overflow-x:hidden;scroll-behavior:smooth}body{font-family:'Outfit',sans-serif;background:var(--cream);color:var(--text);overflow-x:hidden;-webkit-font-smoothing:antialiased}#mainNav{top:0 !important}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-thumb{background:var(--gold);border-radius:4px}

/* Typography */
h1,h2,h3,.serif{font-family:'Cormorant Garamond',serif;font-weight:400;line-height:1.1}
p{font-family:'DM Sans',sans-serif;line-height:1.7;color:rgba(45,32,23,.8)}
.italic{font-style:italic}
.section-label{display:block;font-size:.8rem;text-transform:uppercase;letter-spacing:.2em;color:var(--gold);margin-bottom:1rem;font-weight:600}
.section-title{font-size:clamp(2.5rem,5vw,4rem);color:var(--dark);margin-bottom:1.5rem}
.section-sub{font-size:1.2rem;max-width:600px;margin:0 auto 3rem}
.text-center{text-align:center}
.container{max-width:1400px;margin:0 auto;padding:0 5%}
.section-pad{padding:8rem 0}
.bg-warm{background:var(--warm)}
.bg-dark-spa{background:var(--dark);color:white}
.full-w{width:100%}
.mt-5{margin-top:3rem}
.body-text{font-size:1.05rem;line-height:1.8;margin-bottom:1.5rem}

/* Nav */
#mainNav{position:fixed;top:0;left:0;width:100%;z-index:1000;padding:0;transition:var(--trans);border-bottom:1px solid transparent}
#mainNav .nav-container{padding:1.5rem 5%}
#mainNav.scrolled{background:rgba(253,250,245,.95);backdrop-filter:blur(10px);border-color:rgba(201,169,110,.1)}
#mainNav.scrolled .nav-container{padding:1rem 5%}
.nav-container{display:flex;align-items:center;justify-content:space-between;max-width:1600px;margin:0 auto;padding:0 5%}
.nav-brand { display: flex; align-items: center; text-decoration: none; }
.nav-logo { height: 55px !important; width: auto; max-width: 250px; object-fit: contain; transition: var(--trans); }
#mainNav.scrolled .nav-logo { height: 45px !important; }
.loader-logo img { height: 150px; width: auto; object-fit: contain; margin-bottom: 2rem; animation: pulse 2s infinite ease-in-out; }
@keyframes pulse { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: 0.8; transform: scale(0.98); } }
.nav-brand span{color:var(--gold)}
.nav-links{display:flex;gap:2.5rem}
.nav-links a{text-decoration:none;color:rgba(255,255,255,.85);font-size:.9rem;font-weight:500;transition:color .3s}
#mainNav.scrolled .nav-links a{color:var(--dark)}
.nav-links a:hover{color:var(--gold)}
.nav-actions{display:flex;align-items:center;gap:1.5rem}
.nav-book-btn{background:var(--gold);color:white;padding:.7rem 1.6rem;border-radius:50px;text-decoration:none;font-size:.85rem;font-weight:600;transition:var(--trans)}
.nav-book-btn:hover{background:var(--dark);transform:translateY(-2px)}
.lang-btn{color:rgba(255,255,255,.8);text-decoration:none;font-size:.85rem;font-weight:600;transition:.3s}
#mainNav.scrolled .lang-btn{color:var(--dark)}
.nav-toggle{background:none;border:none;cursor:pointer;display:none;flex-direction:column;gap:5px;padding:4px}
.nav-toggle span{display:block;width:24px;height:2px;background:white;transition:.3s}
#mainNav.scrolled .nav-toggle span{background:var(--dark)}

/* Buttons */
.btn-primary{background:var(--gold);color:white;border:none;padding:1.1rem 2.4rem;border-radius:50px;font-size:.9rem;font-weight:600;cursor:pointer;transition:var(--trans);display:inline-block;text-decoration:none}
.btn-primary:hover{background:var(--brown);transform:translateY(-4px);box-shadow:var(--shadow)}
.btn-ghost{border:1px solid rgba(255,255,255,.7);color:white;padding:1.1rem 2.4rem;border-radius:50px;text-decoration:none;font-weight:600;font-size:.9rem;transition:var(--trans)}
.btn-ghost:hover{background:rgba(255,255,255,.15)}
.btn-outline{border:2px solid var(--gold);color:var(--gold);padding:1rem 2.2rem;border-radius:50px;text-decoration:none;font-weight:600;font-size:.9rem;transition:var(--trans);display:inline-block}
.btn-outline:hover{background:var(--gold);color:white}
.btn-outline.light{border-color:rgba(255,255,255,.5);color:white}
.btn-outline.light:hover{background:white;color:var(--dark)}
.btn-sm-white{background:white;color:var(--dark);padding:.6rem 1.4rem;border-radius:30px;text-decoration:none;font-size:.8rem;font-weight:600}


/* HERO — Parallax clip method */
#hero{position:relative;width:100vw;height:300vh}
.hero-parent{position:absolute;top:0;left:0;width:100%;height:100%;clip:rect(0,auto,auto,0)}
#heroCanvas{position:fixed;top:0;left:0;width:100vw;height:100vh;display:block;z-index:0}
.hero-dark-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.3) 0%,rgba(0,0,0,.05) 40%,rgba(0,0,0,.05) 60%,rgba(0,0,0,.5) 100%)}
.hero-content{position:sticky;top:0;width:100%;height:100vh;z-index:10;pointer-events:none;display:grid;place-items:center}
.hero-content-inner{text-align:center;color:#fff;padding:90px 5% 0;width:100%;max-width:900px;pointer-events:none;text-shadow:0 2px 30px rgba(0,0,0,.5)}
.hero-content-inner .btn-primary,.hero-content-inner .btn-ghost{pointer-events:auto}
.hero-eyebrow{display:block;font-size:.75rem;font-family:'Outfit',sans-serif;font-weight:600;letter-spacing:.35em;text-transform:uppercase;margin-bottom:1.5rem;color:var(--gold)}
.hero-title{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(4rem,10vw,8rem);line-height:.9;margin-bottom:2rem;color:#fff}
.hero-line{display:block}
.hero-title .italic{font-style:italic}
.hero-subtitle{font-family:'DM Sans',sans-serif;font-size:clamp(.95rem,1.8vw,1.2rem);opacity:.85;max-width:540px;margin:0 auto 2.5rem;line-height:1.75;color:#fff}
.hero-ctas{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap}
.hero-scroll-hint{position:absolute;bottom:calc(200vh + 1rem);left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.8rem;color:rgba(255,255,255,.65);z-index:20;pointer-events:none;font-size:.7rem;font-family:'Outfit',sans-serif;letter-spacing:.15em;text-transform:uppercase}
.scroll-line{width:1px;height:50px;background:linear-gradient(to bottom,rgba(255,255,255,.8),transparent);animation:scrollPulse 1.5s ease-in-out infinite}
@keyframes scrollPulse{0%,100%{opacity:.4}50%{opacity:1}}
@keyframes fadeSlideUp{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}
.reveal-up{animation:fadeSlideUp 1.2s ease both;opacity:0}
.d1{animation-delay:.1s}.d2{animation-delay:.25s}.d3{animation-delay:.4s}.d4{animation-delay:.55s}


/* Loader */
#loader{position:fixed;inset:0;background:var(--cream);z-index:9999;display:flex;align-items:center;justify-content:center;transition:opacity .6s}
.loader-inner{text-align:center}
.loader-logo{font-family:'Cormorant Garamond',serif;font-size:3rem;font-weight:600;color:var(--dark)}.loader-logo span{color:var(--gold)}
.loader-bar{width:200px;height:2px;background:rgba(201,169,110,.2);margin:1.5rem auto;border-radius:2px;overflow:hidden}
.loader-fill{height:100%;background:var(--gold);animation:loaderFill 1.2s ease forwards}
.loader-text{font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
@keyframes loaderFill{from{width:0}to{width:100%}}

/* Floating Buttons */
.whatsapp-btn{position:fixed;bottom:2rem;right:2rem;width:56px;height:56px;background:#25d366;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:999;box-shadow:0 4px 15px rgba(37,211,102,.4);transition:var(--trans)}
.whatsapp-btn svg{width:28px;height:28px;fill:white}
.whatsapp-btn:hover{transform:scale(1.1)}
.float-book-btn{position:fixed;bottom:2rem;left:2rem;background:var(--gold);color:white;padding:.7rem 1.5rem;border-radius:50px;text-decoration:none;font-size:.85rem;font-weight:600;z-index:999;box-shadow:var(--shadow);transition:var(--trans)}
.float-book-btn:hover{background:var(--dark)}

/* About */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center}
.about-images{position:relative}
.about-img-main{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.about-img-main img{width:100%;height:550px;object-fit:cover}
.about-img-float{position:absolute;bottom:-3rem;right:-3rem;width:240px;border-radius:var(--radius);overflow:hidden;border:6px solid var(--cream);box-shadow:var(--shadow)}
.about-img-float img{width:100%;height:200px;object-fit:cover}
.about-stats{display:flex;gap:2rem;margin-top:5rem}
.stat-item{text-align:center}
.stat-num{font-family:'Cormorant Garamond',serif;font-size:3rem;font-weight:600;color:var(--gold);line-height:1}
.stat-lbl{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;opacity:.7}

/* Services */
.services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:2.5rem}
.service-card{background:white;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:var(--trans)}
.service-card:hover{transform:translateY(-8px)}
.service-card-img{position:relative;overflow:hidden;height:260px}
.service-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.service-card:hover .service-card-img img{transform:scale(1.05)}
.service-card-overlay{position:absolute;inset:0;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;opacity:0;transition:.3s}
.service-card:hover .service-card-overlay{opacity:1}
.service-card-body{padding:1.8rem}
.service-meta{display:flex;justify-content:space-between;margin-bottom:.8rem}
.service-cat{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--gold);font-weight:600}
.service-dur{font-size:.8rem;color:rgba(45,32,23,.6)}
.service-name{font-family:'Cormorant Garamond',serif;font-size:1.6rem;margin-bottom:.8rem;color:var(--dark)}
.service-desc{font-size:.9rem;opacity:.75;margin-bottom:1.2rem;line-height:1.6}
.service-footer{display:flex;justify-content:space-between;align-items:center}
.service-price{font-size:.9rem;color:var(--dark)}
.service-book-link{color:var(--gold);text-decoration:none;font-weight:600;font-size:.85rem}

/* Packages */
.packages-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem}
.package-card{background:white;border-radius:var(--radius);padding:2.5rem;box-shadow:var(--shadow);position:relative;transition:var(--trans)}
.package-card:hover{transform:translateY(-6px)}
.package-featured{background:var(--dark);color:white}
.package-badge{position:absolute;top:1.5rem;right:1.5rem;background:var(--gold);color:white;padding:.3rem .9rem;border-radius:20px;font-size:.75rem;font-weight:700}
.package-name{font-family:'Cormorant Garamond',serif;font-size:2rem;margin-bottom:.5rem}
.package-price{font-size:3rem;font-family:'Cormorant Garamond',serif;font-weight:600;color:var(--gold);line-height:1}
.package-price span{font-size:1.2rem}
.package-duration{font-size:.85rem;opacity:.6;margin-top:.3rem}
.package-body{padding:1.5rem 0}
.package-desc{font-size:.9rem;opacity:.75;margin-bottom:1.5rem}
.package-features{list-style:none;display:flex;flex-direction:column;gap:.6rem}
.package-features li{font-size:.9rem;display:flex;align-items:center;gap:.6rem}
.feat-check{color:var(--gold);font-weight:700}
.package-footer{margin-top:1.5rem}


/* Gallery */
.gallery-masonry{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding:2rem 5%}
.gallery-item{position:relative;overflow:hidden;border-radius:12px;aspect-ratio:4/3;cursor:pointer}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.gallery-item:hover img{transform:scale(1.08)}
.gallery-overlay{position:absolute;inset:0;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;opacity:0;transition:.3s;color:white;font-size:1.2rem;font-weight:600}
.gallery-item:hover .gallery-overlay{opacity:1}

/* Video */
.video-wrap{position:relative;padding-bottom:56.25%;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.video-wrap iframe{position:absolute;inset:0;width:100%;height:100%}

/* Testimonials */
.testi-slider{overflow:hidden;position:relative}
.testi-track{display:flex;transition:transform .6s cubic-bezier(.25,.46,.45,.94)}
.testi-card{flex:0 0 100%;padding:3rem;background:white;border-radius:var(--radius);box-shadow:var(--shadow);text-align:center}
.testi-stars{color:var(--gold);font-size:1.3rem;margin-bottom:1.5rem;letter-spacing:.2rem}
.testi-text{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-style:italic;line-height:1.6;color:var(--dark);margin-bottom:2rem}
.testi-author{display:flex;align-items:center;justify-content:center;gap:1rem}
.testi-avatar{width:52px;height:52px;border-radius:50%;object-fit:cover}
.testi-avatar-placeholder{width:52px;height:52px;border-radius:50%;background:var(--gold);display:flex;align-items:center;justify-content:center;color:white;font-weight:700;font-size:1.2rem}
.testi-name{font-weight:600;color:var(--dark)}
.testi-role{font-size:.85rem;opacity:.6}
.testi-controls{display:flex;align-items:center;justify-content:center;gap:1.5rem;margin-top:2rem}
.testi-prev,.testi-next{background:none;border:1px solid var(--gold);color:var(--gold);width:40px;height:40px;border-radius:50%;cursor:pointer;font-size:1.1rem;transition:var(--trans)}
.testi-prev:hover,.testi-next:hover{background:var(--gold);color:white}
.testi-dots{display:flex;gap:.5rem}
.testi-dot{width:8px;height:8px;border-radius:50%;border:none;background:rgba(201,169,110,.3);cursor:pointer;transition:.3s;padding:0}
.testi-dot.active{background:var(--gold);width:24px;border-radius:4px}

/* Booking & Forms */
.booking-grid,.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:start}
.booking-perks{display:flex;flex-direction:column;gap:1rem;margin-top:2rem}
.perk{display:flex;align-items:center;gap:1rem;font-size:.95rem}
.booking-form-wrap,.contact-form-wrap{background:white;border-radius:var(--radius);padding:3rem;box-shadow:var(--shadow)}
.booking-form,.contact-form{display:flex;flex-direction:column;gap:1.5rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.form-group{display:flex;flex-direction:column;gap:.5rem}
.form-group label{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--dark)}
.form-group input,.form-group select,.form-group textarea{border:1px solid rgba(201,169,110,.3);border-radius:10px;padding:.9rem 1rem;font-size:.95rem;font-family:'Outfit',sans-serif;transition:.3s;outline:none;background:white;width:100%}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,169,110,.1)}

/* Team */
.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2.5rem}
.team-card{text-align:center}
.team-photo{position:relative;border-radius:var(--radius);overflow:hidden;margin-bottom:1.5rem}
.team-photo img{width:100%;height:380px;object-fit:cover;transition:transform .5s}
.team-card:hover .team-photo img{transform:scale(1.04)}
.team-ig{position:absolute;bottom:1rem;right:1rem;background:var(--gold);color:white;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;text-decoration:none}
.team-name{font-family:'Cormorant Garamond',serif;font-size:1.5rem;margin-bottom:.4rem}
.team-role{font-size:.85rem;color:var(--gold);font-weight:600;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.8rem}
.team-bio{font-size:.9rem;opacity:.7;line-height:1.6}

/* Blog */
.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:2.5rem}
.blog-card{background:white;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:var(--trans)}
.blog-card:hover{transform:translateY(-6px)}
.blog-img{height:220px;overflow:hidden}
.blog-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.blog-card:hover .blog-img img{transform:scale(1.05)}
.blog-body{padding:2rem}
.blog-meta{font-size:.8rem;opacity:.6;margin-bottom:.8rem}
.blog-title{font-family:'Cormorant Garamond',serif;font-size:1.5rem;margin-bottom:1rem;color:var(--dark)}
.blog-excerpt{font-size:.9rem;opacity:.75;line-height:1.6;margin-bottom:1.2rem}
.blog-read{color:var(--gold);text-decoration:none;font-weight:600;font-size:.85rem}

/* FAQ */
.faq-wrap{max-width:800px}
.faq-item{border-bottom:1px solid rgba(201,169,110,.2);padding:.5rem 0}
.faq-question{background:none;border:none;width:100%;text-align:left;padding:1.2rem 0;font-size:1rem;font-weight:600;cursor:pointer;display:flex;justify-content:space-between;align-items:center;color:var(--dark);font-family:'Outfit',sans-serif}
.faq-icon{font-size:1.4rem;color:var(--gold);min-width:24px;text-align:center}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .4s ease}
.faq-answer p{padding:.5rem 0 1.2rem;font-size:.95rem;line-height:1.7;opacity:.8}

/* Contact & Map */
.contact-details{display:flex;flex-direction:column;gap:1.5rem;margin-top:2rem}
.cd-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--gold);font-weight:600;display:block;margin-bottom:.3rem}
.map-wrap{height:420px}
.map-wrap iframe{width:100%;height:100%;border:none}

/* Scroll Reveal */
.scroll-reveal{opacity:0;transform:translateY(40px);transition:opacity .8s ease,transform .8s ease}
.scroll-reveal.active{opacity:1;transform:none}
.delay-1{transition-delay:.1s}.delay-2{transition-delay:.2s}.delay-3{transition-delay:.3s}.delay-4{transition-delay:.4s}

/* Alert */
.alert{padding:1rem 1.5rem;border-radius:10px;margin-bottom:1rem}
.alert-success{background:#f0fdf4;border:1px solid #86efac;color:#166534}
.alert-error{background:#fef2f2;border:1px solid #fca5a5;color:#991b1b}

/* Popup */
.popup-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:10000;display:flex;align-items:center;justify-content:center}
.popup-box{background:white;padding:3rem;border-radius:var(--radius);text-align:center;max-width:450px;width:90%}
.popup-icon{font-size:4rem;margin-bottom:1rem;color:var(--gold)}

/* Section Header */
.section-header{margin-bottom:4rem}
.section-header.text-center{text-align:center}
.section-header.text-center .section-sub{margin:0 auto 2rem}

/* Responsive */
@media(max-width:900px){
    #mainNav{padding:.8rem 0}
    .nav-container{padding:0 4%}
    .nav-logo{height:45px !important}
    .nav-actions{gap:.8rem}
    .nav-book-btn{padding:.5rem 1rem;font-size:.75rem}
    .lang-btn{font-size:.75rem}
    .about-grid,.booking-grid,.contact-grid{grid-template-columns:1fr;gap:3rem}.form-row{grid-template-columns:1fr}.about-img-float{display:none}.services-grid{grid-template-columns:1fr}.packages-grid{grid-template-columns:1fr}.gallery-masonry{grid-template-columns:1fr 1fr}.nav-links{display:none}.nav-toggle{display:flex}.nav-links.active{display:flex;flex-direction:column;position:fixed;top:70px;left:0;width:100%;background:white;padding:2rem;gap:1.5rem;box-shadow:var(--shadow)}.nav-links.active a{color:var(--dark)}
}
@media(max-width:600px){.hero-title{font-size:3.5rem}.gallery-masonry{grid-template-columns:1fr}.blog-grid{grid-template-columns:1fr}}


/* ════════════════════════════════════════════
   SECTION PARALLAX — same clip method as hero
   Each .parallax-section is position:relative
   .parallax-bg  → position:absolute + clip
   .parallax-img → position:fixed background
   ════════════════════════════════════════════ */
.parallax-section{position:relative;overflow:visible}
.parallax-bg{position:absolute;top:0;left:0;width:100%;height:100%;clip:rect(0,auto,auto,0);z-index:0}
.parallax-img{position:fixed;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:center;background-repeat:no-repeat;z-index:0}
.parallax-overlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1;pointer-events:none}
.parallax-content{position:relative;z-index:10}

/* Glass card effect for content on parallax backgrounds */
.glass-card{background:rgba(253,250,245,0.88);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(201,169,110,0.2);border-radius:24px;padding:3rem;box-shadow:0 30px 80px rgba(0,0,0,0.15)}
.glass-card-dark{background:rgba(20,12,5,0.75);backdrop-filter:blur(16px);border:1px solid rgba(201,169,110,0.2);border-radius:24px;padding:3rem;color:white;box-shadow:0 30px 80px rgba(0,0,0,0.3)}
.glass-card-dark .section-title{color:white}
.glass-card-dark .section-label{color:var(--gold)}
.glass-card-dark p,.glass-card-dark .body-text{color:rgba(255,255,255,0.8)}

/* FG decorative PNG images that float over sections (foreground parallax) */
.fg-deco{position:absolute;pointer-events:none;z-index:15}
.fg-deco img{width:100%;height:auto;filter:drop-shadow(0 20px 40px rgba(0,0,0,0.2))}


/* ═══ FOOTER ═══ */
#footer {
    position: relative;
    background: #0f0804;
    overflow: hidden;
}

.footer-divider {
    position: relative;
    width: 100%;
    height: 60px;
    z-index: 10;
}

.footer-divider svg {
    display: block;
    width: 100%;
    height: 100%;
}

.footer-body {
    position: relative;
    padding: 6rem 0 3rem;
}

.footer-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    opacity: 0.15;
    z-index: 0;
}

.footer-bg-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, #0f0804 0%, transparent 50%, #0f0804 100%);
    z-index: 1;
}

.footer-inner {
    position: relative;
    z-index: 5;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 5%;
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1.2fr 1.3fr;
    gap: 4rem;
    margin-bottom: 5rem;
}

.footer-logo {
    margin-bottom: 1.5rem;
}

.footer-logo span {
    color: var(--gold);
}

.footer-tagline {
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.95rem;
    line-height: 1.8;
    margin-bottom: 2rem;
    max-width: 300px;
}

.footer-social {
    display: flex;
    gap: 1.2rem;
}

.social-icon {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--trans);
    text-decoration: none;
}

.social-icon svg {
    width: 20px;
    height: 20px;
}

.social-icon:hover {
    background: var(--gold);
    border-color: var(--gold);
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.3);
}

.footer-col-title {
    font-size: 1.1rem;
    font-weight: 600;
    color: white;
    margin-bottom: 2rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.footer-links {
    list-style: none;
}

.footer-links li {
    margin-bottom: 1rem;
}

.footer-links a {
    color: rgba(255, 255, 255, 0.65);
    text-decoration: none;
    font-size: 0.95rem;
    transition: var(--trans);
    display: inline-block;
}

.footer-links a:hover {
    color: var(--gold);
    transform: translateX(8px);
}

.footer-contact-list {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.footer-contact-item {
    display: flex;
    gap: 1.2rem;
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.95rem;
}

.footer-contact-item a {
    color: inherit;
    text-decoration: none;
    transition: color 0.3s;
}

.footer-contact-item a:hover {
    color: var(--gold);
}

.fc-icon {
    color: var(--gold);
    width: 20px;
    flex-shrink: 0;
}

.fc-icon svg {
    width: 100%;
}

.footer-newsletter-desc {
    color: rgba(255, 255, 255, 0.6);
    font-size: 0.9rem;
    margin-bottom: 1.5rem;
    line-height: 1.7;
}

.newsletter-input-wrap {
    display: flex;
    position: relative;
}

.newsletter-input-wrap input {
    width: 100%;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.1);
    padding: 1rem 3.5rem 1rem 1.2rem;
    border-radius: 50px;
    color: white;
    font-family: inherit;
    outline: none;
    transition: 0.3s;
}

.newsletter-input-wrap input:focus {
    border-color: var(--gold);
    background: rgba(255, 255, 255, 0.06);
}

.newsletter-input-wrap button {
    position: absolute;
    right: 5px;
    top: 5px;
    bottom: 5px;
    width: 45px;
    background: var(--gold);
    border: none;
    border-radius: 50%;
    color: white;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--trans);
}

.newsletter-input-wrap button:hover {
    background: #b8975e;
    transform: scale(1.05);
}

.newsletter-input-wrap button svg {
    width: 18px;
    height: 18px;
}

.footer-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 2rem;
}

.footer-badge {
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.4);
    background: rgba(255, 255, 255, 0.03);
    padding: 0.4rem 0.8rem;
    border-radius: 4px;
    border: 1px solid rgba(255, 255, 255, 0.05);
}

.footer-rule {
    height: 1px;
    background: linear-gradient(to right, transparent, rgba(201, 169, 110, 0.3), transparent);
    margin-bottom: 3rem;
}

.footer-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 2rem;
}

.footer-copy {
    color: rgba(255, 255, 255, 0.4);
    font-size: 0.85rem;
}

.footer-bottom-links {
    display: flex;
    gap: 1.5rem;
    align-items: center;
}

.footer-bottom-links a {
    color: rgba(255, 255, 255, 0.4);
    text-decoration: none;
    font-size: 0.85rem;
    transition: color 0.3s;
}

.footer-bottom-links span {
    color: rgba(255, 255, 255, 0.1);
}

.footer-bottom-links a:hover {
    color: var(--gold);
}

.footer-craft {
    color: rgba(255, 255, 255, 0.2);
    font-size: 0.8rem;
}

@media (max-width: 1200px) {
    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 4rem;
    }
}

@media (max-width: 600px) {
    .footer-grid {
        grid-template-columns: 1fr;
        gap: 3rem;
    }
    .footer-bottom {
        flex-direction: column;
        text-align: center;
    }
}


/* ═══ FALLING PETALS / LEAVES ═══ */
.falling-petals {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 5;
    overflow: hidden;
}

.petal {
    position: absolute;
    background-size: contain;
    background-repeat: no-repeat;
    opacity: 0.8;
    pointer-events: none;
}

@keyframes fall {
    0% {
        transform: translateY(-10vh) translateX(0) rotate(0deg);
        opacity: 0;
    }
    10% {
        opacity: 0.8;
    }
    90% {
        opacity: 0.8;
    }
    100% {
        transform: translateY(110vh) translateX(100px) rotate(360deg);
        opacity: 0;
    }
}

/* ═══ IMPROVED TEXT STYLES ═══ */
.hero-title {
    font-weight: 300;
    letter-spacing: -0.02em;
    filter: drop-shadow(0 5px 15px rgba(0,0,0,0.2));
}

.hero-eyebrow {
    letter-spacing: 0.6em !important;
    font-weight: 700 !important;
    font-size: 0.7rem !important;
}

.hero-subtitle {
    font-weight: 300;
    letter-spacing: 0.05em;
    opacity: 0.9;
}


/* More refined Hero typography and centering */
.hero-content-inner {
    padding-top: 140px !important; /* Move text down slightly for better balance */
}

.hero-title {
    font-size: clamp(4.5rem, 11vw, 9rem) !important;
    text-transform: capitalize;
    background: linear-gradient(to bottom, #ffffff 60%, rgba(255,255,255,0.7));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-bottom: 2.5rem !important;
}

.hero-subtitle {
    font-size: 1.3rem !important;
    max-width: 650px !important;
    margin-bottom: 3.5rem !important;
    font-weight: 400 !important;
    letter-spacing: 0.02em !important;
    color: rgba(255,255,255,0.95) !important;
}

/* Glass Buttons */
.hero-content .btn-primary {
    background: var(--gold);
    box-shadow: 0 10px 30px rgba(201, 169, 110, 0.4);
    border: 1px solid rgba(255,255,255,0.2);
}

.hero-content .btn-ghost {
    background: rgba(255,255,255,0.08);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,0.3);
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

.hero-content .btn-ghost:hover {
    background: rgba(255,255,255,0.2);
    border-color: #fff;
}

/* Natural Sway for Petals */
@keyframes fall {
    0% {
        transform: translateY(-10vh) translateX(0) rotate(0deg);
        opacity: 0;
    }
    10% {
        opacity: 0.8;
    }
    25% {
        transform: translateY(20vh) translateX(30px) rotate(90deg);
    }
    50% {
        transform: translateY(50vh) translateX(-30px) rotate(180deg);
    }
    75% {
        transform: translateY(80vh) translateX(30px) rotate(270deg);
    }
    90% {
        opacity: 0.8;
    }
    100% {
        transform: translateY(110vh) translateX(0) rotate(360deg);
        opacity: 0;
    }
}


/* Premium Text Gradient */
.hero-title {
    background: linear-gradient(to bottom, #ffffff 30%, var(--gold) 150%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    text-shadow: 0 10px 40px rgba(0,0,0,0.1);
}


/* Fix Missing Text & Premium Visibility */
.hero-title {
    -webkit-background-clip: unset !important;
    -webkit-text-fill-color: unset !important;
    color: #ffffff !important;
    background: none !important;
    font-weight: 300 !important;
    text-shadow: 0 5px 30px rgba(0,0,0,0.3) !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Ensure hero content is above everything except petals */
.hero-content {
    z-index: 10 !important;
}

.falling-petals {
    z-index: 15 !important;
}

/* Petal appearance */
.petal {
    filter: drop-shadow(0 2px 5px rgba(0,0,0,0.1));
}


/* Final Text visibility check */
.hero-content-inner {
    overflow: visible !important;
}
.hero-title span {
    display: block;
    opacity: 1 !important;
    visibility: visible !important;
}


/* Premium Contact Info Styles */
.contact-details p a {
    color: var(--dark) !important;
    text-decoration: none !important;
    font-size: 1.2rem;
    font-family: 'Cormorant Garamond', serif;
    font-weight: 600;
    transition: var(--trans);
    display: inline-block;
    padding-bottom: 2px;
    border-bottom: 1px solid rgba(201, 169, 110, 0.2);
}

.contact-details p a:hover {
    color: var(--gold) !important;
    border-bottom-color: var(--gold);
    transform: translateX(5px);
}

.cd-label {
    color: var(--gold) !important;
    font-size: 0.7rem !important;
    letter-spacing: 0.2em !important;
    margin-bottom: 0.5rem !important;
}

.cd-item {
    margin-bottom: 2rem;
}

