/* ═══════════════════════════════════════════════════════
   DESIGN TOKENS
═══════════════════════════════════════════════════════ */
:root{
  --r:#e8294a; --rd:#c01e38; --rg:rgba(232,41,74,.14);
  --g:#c8882e; --gl:#e9b668;
  --cream:#fdf6ee; --warm:#f7e9d8; --dark:#0e0403;
  --txt:#1c0d07; --muted:#7a6256;
  --white:#fff; --nav:76px;
  --ease:cubic-bezier(.4,0,.2,1);
  --spring:cubic-bezier(.34,1.56,.64,1);
}
html,
body{
    background:#ffffff !important;
}

/* iPhone Safari bottom area fix */
/* iPhone Safari bottom area fix */
body::after{
    content:'';
    position:fixed;
    bottom:0;
    left:0;
    width:100%;
    height:140px;
    background:#fff;
    z-index:-1;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:'Outfit',sans-serif;background:var(--cream);color:var(--txt);overflow-x:hidden}
h1,h2,h3,h4,h5,h6{font-family:'Playfair Display',serif}
img{display:block;max-width:100%;height:auto}
a{text-decoration:none;color:inherit}
section{position:relative;overflow:hidden}
::-webkit-scrollbar{width:3px}
::-webkit-scrollbar-track{background:var(--dark)}
::-webkit-scrollbar-thumb{background:var(--cream);border-radius:9px}

/* ─── GSAP INITIAL STATES ─── */
.gsap-hero-pill,.gsap-hero-h1,.gsap-hero-em,.gsap-hero-p,.gsap-hero-btns{
  opacity:0;transform:translateY(60px)
}
.gsap-fade-left{opacity:0;transform:translateX(-60px)}
.gsap-fade-right{opacity:0;transform:translateX(60px)}
.gsap-fade-up{opacity:0;transform:translateY(50px)}
.gsap-scale{opacity:0;transform:scale(.88)}
.gsap-stagger-item{opacity:0;transform:translateY(40px)}
.gsap-hero-h1 br{display:none}

.e9-leihos{
   text-align: end;
   color: var(--r);
   font-size: 14px;
   margin-bottom: 10px;
}
#nav.up .e9-leihos{ 
   margin-bottom: 4px;
   padding-top:7px;
}
/* ═══════════════════════════════════════════════════════
   NAVBAR
═══════════════════════════════════════════════════════ */
#nav{position:absolute;inset:0 0 auto;z-index:1000;transition:all .5s var(--ease);width: 100%; height: auto;top: 20px;}
.nav-bar{display:flex;align-items:center;justify-content:space-between;padding:0 100px;transition:all .5s var(--ease);}
#nav.up {top: 0;}
#nav.up .nav-bar{position: fixed;padding: 0px 100px;background:rgba(10,3,1,.88);height: auto;width: 100%;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border-bottom:1px solid rgba(232,41,74,.18);box-shadow:0 8px 40px rgba(0,0,0,.28);right: 0;}
.logo{display:flex;align-items:center;gap:10px;position: relative;}
.logo img{width:230px} 
#nav .nav-bar .logo .main-logo{display:block;transition:.4s ease;}
#nav .nav-bar .logo .scroll-logo{display:none;transition:.4s ease;}
#nav.up  .nav-bar .logo .main-logo{width: 160px;}
/* #nav.up  .nav-bar .logo .scroll-logo{display:block;width: 50px;}  */ 
.logo-text{font-family:'Playfair Display',serif;font-size:1.75rem;font-weight:700;color:var(--r);letter-spacing:.02em;position: absolute;bottom: 0;left: 50%;    transform: translate(-48px, -5px);}
.logo-text b{color:var(--r)}
.logo-tag{font-family:'Outfit',sans-serif;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--r);display:block;margin-top:1px;font-style: italic;}
#nav.up .logo-tag { font-size: .5rem; }
#nav.up .logo-text {transform: translate(-33px, -2px);display: block;}

.nav-links{display:flex;align-items:center;gap:2px;list-style:none;border-radius:40px;padding:5px 0px 5px 7px;}
/* .nav-links{display:flex;align-items:center;gap:2px;list-style:none;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:40px;padding:5px 7px;backdrop-filter:blur(8px)} */
.nav-links a{font-size:.75rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.75);padding:7px 15px;border-radius:5px;transition:all .28s;display:block}
.nav-links a:hover{color:#fff;background:var(--r)}
.nav-links a.act{color:#fff;background:rgba(232,41,74,.28)}
.nav-links a.act{background:var(--r);box-shadow:0 3px 14px rgba(232,41,74,.45)}
.nav-cta{align-items:center;gap:10px;display: none;}
.btn-book{display:inline-flex;align-items:center;gap:7px;background:var(--r);color:#fff;font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:10px 22px;border-radius:40px;box-shadow:0 4px 18px rgba(232,41,74,.42);transition:all .3s;position:relative;overflow:hidden}
.btn-book::after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.16) 50%,transparent 65%);transform:translateX(-100%);transition:transform .55s}
.btn-book:hover::after{transform:translateX(100%)}
.btn-book:hover{background:var(--rd);color:#fff;transform:translateY(-2px);box-shadow:0 8px 28px rgba(232,41,74,.52)}
.ham{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:7px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:9px}
.ham span{display:block;width:25px;height:1.5px;background:#fff;border-radius:2px;transition:all .35s}
.ham.on span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.ham.on span:nth-child(2){opacity:0;transform:scaleX(0)}
.ham.on span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.mob-nav{display:none;flex-direction:column;background:rgba(6,2,0,.96);backdrop-filter:blur(28px);padding:18px 26px 26px;border-top:1px solid rgba(232,41,74,.14)}
.mob-nav.on{display:flex}
.mob-nav a{font-size:.84rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.65);padding:12px 0;border-bottom:1px solid rgba(255,255,255,.05);display:flex;align-items:center;gap:8px;transition:color .3s}
.mob-nav a::before{content:'';width:4px;height:1px;background:var(--r);flex-shrink:0}
.mob-nav a:hover{color:var(--r)}
.mob-book{margin-top:14px!important;background:var(--r)!important;color:#fff!important;border-radius:28px;padding:13px 24px!important;justify-content:center;border-bottom:none!important;font-weight:600}
.mob-book::before{display:none!important}
@media(max-width:1060px){
  .nav-links,.btn-book{display:none}
  .ham{display:flex}
  .nav-bar{padding:0 20px}
}

/* ═══════════════════════════════════════════════════════
   SECTION HELPERS
═══════════════════════════════════════════════════════ */
.tag{display:inline-flex;align-items:center;gap:7px;font-size:.65rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--r);padding:5px 15px;background:var(--rg);border:1px solid rgba(232,41,74,.22);border-radius:30px;margin-bottom:30px}
.tag::before{content:'';width:12px;height:1px;background:var(--r)}
.ttl{font-size:clamp(2rem,4.2vw,2rem);font-weight:700;color:var(--txt)}
.ttl em{color:var(--r);font-style:italic}
.sub{color:var(--muted);font-size:.97rem;line-height:1.8;font-weight:300;max-width:540px}
.hr{width:44px;height:2px;background:linear-gradient(90deg,var(--r),transparent);border-radius:2px;margin:14px 0 22px}
.hr.mx{margin-left:auto;margin-right:auto}
/* .container{max-width:1180px;margin:0 auto;padding:0 24px} */

/* ── Section title word-by-word reveal ── */
.title-reveal .word{
  display:inline-block;
  overflow:hidden;
  vertical-align:bottom;
}
.title-reveal .word span{
  display:inline-block;
  transform:translateY(110%);
  opacity:0;
}

/* ═══════════════════════════════════════════════════════
   HERO  — fixed parallax so no whitespace
═══════════════════════════════════════════════════════ */
#home{height:100vh;display:flex;align-items:end;justify-content:center;overflow:hidden;padding-bottom:80px}
/* Key fix: hero-bg starts slightly scaled up so parallax never reveals edges */
.hero-bg{
  position:absolute;
  inset:0%;          /* over-extend on all sides */
  background:url('../Images/Building.webp') ;
  background-repeat: no-repeat;
  background-position: right 0px bottom 0px;
  background-size: 100% 100%;
  will-change:transform;
}
.hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(150deg,rgba(8,2,1,.82) 0%,rgba(15,4,2,.52) 45%,rgba(40,10,3,.78) 100%)}
.hero-grain{position:absolute;inset:0;z-index:1;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)'/%3E%3C/svg%3E");pointer-events:none}
.hero-deco{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.hero-deco svg{width:100%;height:100%;opacity:.12}
.hero-wrap{position:relative;z-index:2;text-align:center;padding:0 20px}
.hero-pill{display:inline-flex;align-items:center;gap:9px;background:rgba(232,41,74,.1);border:1px solid rgba(232,41,74,.32);color:var(--r);font-size:.68rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;padding:8px 20px;border-radius:30px;margin-bottom:22px;backdrop-filter:blur(6px)}
.hero-pill span{width:18px;height:1px;background:var(--r);flex-shrink:0}
.hero-h1{font-size:1.8rem;color:#fff;margin-bottom:20px;font-family: unset;letter-spacing: 2px;}
.hero-h1 em{color:#fff;font-style:normal;display:block;font-weight:600; font-family: unset;font-size:2rem;}
.hero-p{color:rgba(255,255,255,.68);font-size:clamp(.92rem,1.7vw,1.05rem);max-width:480px;margin:0 auto 36px;line-height:1.85;font-weight:300}
.hero-btns{align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;display:none;}
.hbtn-p{display:inline-flex;align-items:center;gap:9px;background:var(--r);color:#fff;font-size:.84rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:15px 36px;border-radius:40px;box-shadow:0 8px 30px rgba(232,41,74,.48);transition:all .35s}
.hbtn-p:hover{background:var(--rd);color:#fff;transform:translateY(-4px) scale(1.02);box-shadow:0 16px 44px rgba(232,41,74,.52)}
.hbtn-s{display:inline-flex;align-items:center;gap:8px;border:1.5px solid rgba(255,255,255,.28);color:rgba(255,255,255,.82);font-size:.8rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:14px 26px;border-radius:40px;backdrop-filter:blur(5px);transition:all .3s}
.hbtn-s:hover{border-color:var(--r);color:var(--r);background:rgba(232,41,74,.07)}

/* scroll indicator */
.scroll-ind{position:absolute;bottom:0px;left:50%;transform:translateX(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:8px;opacity:0;cursor:pointer}
.scroll-ind span{font-size:.58rem;letter-spacing:.25em;text-transform:uppercase;color:rgba(255,255,255,.35)}
.scroll-box{width:34px;height:54px;border:1px solid rgba(255,255,255,.3);border-radius:20px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:7px;box-sizing:border-box}
.arrow-shaft{width:1.5px;height:18px;background:rgba(255,255,255,.9);border-radius:2px;animation:shaft 1.8s ease infinite;transform-origin:top center}
.arrow-head{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid rgba(255,255,255,.9);animation:head 1.8s ease infinite}
@keyframes shaft{0%,100%{transform:scaleY(.5) translateY(-4px);opacity:.3}50%{transform:scaleY(1) translateY(4px);opacity:1}}
@keyframes head{0%,100%{transform:translateY(-4px);opacity:.3}50%{transform:translateY(4px);opacity:1}}



/* ═══════════════════════════════════════════════════════
   ABOUT
═══════════════════════════════════════════════════════ */
#about{background:var(--warm);padding:60px 0 60px}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.about-imgs{position:relative;padding:28px 28px 28px 0}
.ai-main{border-radius:20px;overflow:hidden;box-shadow:20px 20px 0 rgba(232,41,74,.1),0 20px 64px rgba(0,0,0,.12);position:relative;z-index:2}
.ai-main img{width:100%;height:650px;object-fit:cover;transition:transform .6s var(--ease)}
.ai-main:hover img{transform:scale(1.04)}
.ai-acc{position:absolute;top:0;right:0;width:42%;height:40%;border-radius:14px;overflow:hidden;z-index:3;box-shadow:0 10px 36px rgba(0,0,0,.18);border:3px solid var(--cream)}
.ai-acc img{width:100%;height:100%;object-fit:cover}
.about-pills{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:28px}
.ap{background:#fff;border-radius:11px;padding:13px 15px;display:flex;align-items:center;gap:9px;box-shadow:0 2px 14px rgba(0,0,0,.05);border:1px solid rgba(0,0,0,.04);transition:transform .3s,box-shadow .3s}
.ap:hover{transform:translateY(-3px);box-shadow:0 8px 26px rgba(232,41,74,.1)}
.ap i{font-size:1.15rem;color:var(--r)}
.ap span{font-size:.8rem;font-weight:500}
@media(max-width:768px){.about-grid{grid-template-columns:1fr;gap:36px}.ai-acc{display: none;}}

/* ═══════════════════════════════════════════════════════
   VIDEO SECTION — autoplay, no progress bar
═══════════════════════════════════════════════════════ */
#vid-sec{height:100vh;min-height:580px;display:flex;align-items:center;justify-content:center;background:var(--dark);overflow:hidden}
.vid-wrap{position:absolute;inset:0}
.vid-wrap video{width:100%;height:100%;object-fit:cover}
.vid-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(5,1,0,.55) 0%,rgba(5,1,0,.15) 50%,rgba(5,1,0,.7) 100%);z-index:1}
.vid-content{position:relative;z-index:2;text-align:center;padding:0 22px}
.vid-eyebrow{display:inline-flex;align-items:center;gap:8px;background:rgba(232,41,74,.12);border:1px solid rgba(232,41,74,.35);color:var(--r);font-size:.68rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;padding:7px 20px;border-radius:28px;margin-bottom:18px}
.vid-ttl{font-family:'Playfair Display',serif;font-size:clamp(2.2rem,5.5vw,2.5rem);color:#fff;font-weight:700;margin-bottom:16px;}
.vid-ttl em{color:var(--gl);font-style:italic}
.vid-sub{color:rgba(255,255,255,.62);font-size:.97rem;max-width:460px;margin:0 auto 0;line-height:1.82;font-weight:300}

/* Bottom-left video controls — play/mute only, no progress */
.vid-controls{position:absolute;bottom:36px;left:42px;z-index:5;display:flex;align-items:center;gap:16px;opacity:0}
.vc-playbtn{width:58px;height:58px;background:rgba(232,41,74,.18);border:1.5px solid rgba(232,41,74,.6);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.3rem;cursor:pointer;transition:all .35s;position:relative;backdrop-filter:blur(8px)}
.vc-playbtn::before{content:'';position:absolute;inset:-6px;border-radius:50%;border:1px solid rgba(232,41,74,.25);animation:rp 2.5s ease infinite}
.vc-playbtn::after{content:'';position:absolute;inset:-13px;border-radius:50%;border:1px solid rgba(232,41,74,.12);animation:rp 2.5s ease .5s infinite}
.vc-playbtn:hover{background:var(--r);border-color:var(--r);transform:scale(1.1)}
@keyframes rp{0%{transform:scale(1);opacity:1}100%{transform:scale(1.6);opacity:0}}
.vc-label{display:flex;flex-direction:column;gap:3px}
.vc-title{color:#fff;font-size:.78rem;font-weight:600;letter-spacing:.08em}
.vc-sub{color:rgba(255,255,255,.4);font-size:.62rem;letter-spacing:.06em}
.vc-mute{width:36px;height:36px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:50%;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.65);cursor:pointer;font-size:.85rem;transition:all .3s;backdrop-filter:blur(6px)}
.vc-mute:hover{background:var(--r);color:#fff;border-color:var(--r)}

/* ═══════════════════════════════════════════════════════
  ATTRACTIONS
═══════════════════════════════════════════════════════ */
#attract{background:var(--warm);padding:60px 0}
.att-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:50px}
.att-card{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 4px 22px rgba(0,0,0,.07);display:flex;flex-direction:column;transition:transform .4s var(--spring),box-shadow .4s; position: relative;}
.att-card:hover{transform:translateY(-8px);box-shadow:0 18px 48px rgba(232,41,74,.13)}
.att-img{height:200px;overflow:hidden}
.att-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.att-card:hover .att-img img{transform:scale(1.1)}
.att-body{padding:18px 20px 24px;flex:1;display:flex;flex-direction:column}
.att-body h5{font-size:1.1rem;font-weight:700;margin-bottom:6px}
.att-body p{font-size: .97rem;;color:var(--muted);line-height:1.72;flex:1;font-weight:300;margin-bottom: 0;}
.att-dist{display:inline-flex;align-items:center;gap:4px;margin-top:-50px;font-size:.75rem;color:var(--r);font-weight:500; position: absolute;background: #fff;left: 0; padding: 7px 20px;border-radius: 0 5px 0 0;}
@media(max-width:900px){.att-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.att-grid{grid-template-columns:1fr}}

/* ═══════════════════════════════════════════════════════
   FAQ — NEW: Split card design with icon accordion
═══════════════════════════════════════════════════════ */

.lightening-img{
    width:100%;
    height:1200px;
    object-fit:cover;
    display:block;
}


#faqs{background:#fff;padding:60px 0}
/* #faqs{background:var(--cream);padding:60px 0} */
.faq-header{text-align:center;margin-bottom:64px}
.faq-layout{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.faq-col{display:flex;flex-direction:column;gap:12px}
.faq-card{background:#fff;border-radius:18px;border:1px solid rgba(0,0,0,.05);overflow:hidden;box-shadow:0 3px 18px rgba(0,0,0,.05);transition:box-shadow .3s,border-color .3s}
.faq-card.open{border-color:rgba(232,41,74,.25);box-shadow:0 8px 36px rgba(232,41,74,.1)}
.faq-card-q{width:100%;text-align:left;background:none;border:none;outline:none;padding:15px;display:flex;align-items:center;gap:16px;cursor:pointer;transition:background .25s}
.faq-card:hover .faq-card-q{background:rgba(232,41,74,.03)}
.faq-card.open .faq-card-q{background:rgba(232,41,74,.04)}
.faq-q-ico{width:42px;height:42px;flex-shrink:0;border-radius:12px;background:var(--rg);border:1px solid rgba(232,41,74,.15);display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:var(--r);transition:background .3s,color .3s}
.faq-card.open .faq-q-ico{background:var(--r);color:#fff;border-color:var(--r)}
.faq-q-text{flex:1;font-family:'Playfair Display',serif;font-size:1rem;font-weight:600;color:var(--txt);line-height:1.4;text-align:left}
.faq-q-arr{width:30px;height:30px;border-radius:50%;background:rgba(0,0,0,.04);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .35s var(--spring)}
.faq-q-arr i{font-size:.8rem;color:var(--muted);transition:color .3s}
.faq-card.open .faq-q-arr{background:var(--r);transform:rotate(45deg)}
.faq-card.open .faq-q-arr i{color:#fff}
.faq-card-a{max-height:0;overflow:hidden;transition:max-height .42s ease}
.faq-a-inner{padding:0 24px 22px 82px;color:var(--muted);font-size:.86rem;line-height:1.82;font-weight:300;border-top:1px solid rgba(0,0,0,.05)}
.faq-a-inner p{padding-top:16px}
@media(max-width:768px){
  .faq-layout{grid-template-columns:1fr}
  .faq-a-inner{padding:0 18px 18px 18px}
}

/* ═══════════════════════════════════════════════════════
   GALLERY — NEW: Cinematic bento mosaic layout
═══════════════════════════════════════════════════════ */
#gallery{background: linear-gradient(to bottom, #0b0301 0%, #0b0301 90%, #2b120d 100%);padding:60px 0}
#gallery .ttl{color:#fff}
#gallery .sub{color:rgba(255,255,255,.5)}
.gal-filters{display:flex;flex-wrap:wrap;gap:9px;justify-content:center;margin:36px 0 42px}
.gf{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.65);font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:8px 20px;border-radius:30px;cursor:pointer;transition:all .28s;font-family:'Outfit',sans-serif}
.gf:hover{border-color:var(--r);color:var(--r);background:rgba(232,41,74,.08)}
.gf.act{background:var(--r);color:#fff;border-color:var(--r);box-shadow:0 4px 16px rgba(232,41,74,.42)}

/* Bento grid */
.gal-bento{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  grid-auto-rows:80px;
  gap:10px;
  transition:all .4s ease;
}
.gal-item{
  border-radius:16px;
  overflow:hidden;
  position:relative;
  cursor:pointer;
  display:block;
  transition:opacity .4s,transform .4s,box-shadow .4s;
}
.gal-item:hover{box-shadow:0 16px 48px rgba(232,41,74,.25);z-index:2}
.gal-item.hide{opacity:0;transform:scale(.92);pointer-events:none;position:absolute;visibility:hidden}
.gal-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.gal-item:hover img{transform:scale(1.06)}
.gal-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(8,2,0,.88) 0%,rgba(8,2,0,.1) 55%,transparent 100%);opacity:0;transition:opacity .35s;display:flex;flex-direction:column;justify-content:flex-end;padding:18px; display: none; }
.gal-item:hover .gal-ov{opacity:1}
.gal-ov span{color:#fff;font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.gal-ov small{color:rgba(255,255,255,.5);font-size:.65rem;margin-top:3px;letter-spacing:.1em;text-transform:uppercase}

/* Bento span assignments */
.gi-1{grid-column:span 4;grid-row:span 5}  /* tall */
.gi-2{grid-column:span 5;grid-row:span 3}  /* wide medium */
.gi-3{grid-column:span 3;grid-row:span 4}  /* square */
.gi-3-1{grid-column:span 3;grid-row:span 2}  /* square */
.gi-4{grid-column:span 5;grid-row:span 4}  /* feature */
.gi-5{grid-column:span 5;grid-row:span 4}  /* tall-ish */
.gi-6{grid-column:span 4;grid-row:span 3}  /* landscape */
.gi-7{grid-column:span 3;grid-row:span 3}  /* square */
.gi-8{grid-column:span 7;grid-row:span 3}  /* wide */
.gi-9{grid-column:span 5;grid-row:span 3}  /* feature */
.gi-10{grid-column:span 4;grid-row:span 4} /* feature */
.gi-11{grid-column:span 3;grid-row:span 4} /* landscape */
.gi-12{grid-column:span 5;grid-row:span 3} /* square */
.gi-13{grid-column:span 3;grid-row:span 4}  /* square */
.gi-14{grid-column:span 6;grid-row:span 4}  /* feature */
.gi-15{grid-column:span 5;grid-row:span 4}  /* tall-ish */
.gi-16{grid-column:span 4;grid-row:span 3}  /* landscape */
.gi-17{grid-column:span 3;grid-row:span 3}
.gi-18{grid-column:span 5;grid-row:span 6}
.gi-19{grid-column:span 7;grid-row:span 3}

/* Filter — collapse to 3-col grid */
.gal-bento.filtered{
  grid-template-columns:repeat(3,1fr);
  grid-auto-rows:220px;
}
.gal-bento.filtered .gal-item:not(.hide){
  grid-column:span 1 !important;
  grid-row:span 1 !important;
}

@media(max-width:900px){
  .gal-bento{grid-template-columns:repeat(6,1fr);grid-auto-rows:70px}
  .gi-1{grid-column:span 3;grid-row:span 4}
  .gi-2{grid-column:span 3;grid-row:span 3}
  .gi-3{grid-column:span 3;grid-row:span 3}
  .gi-4{grid-column:span 3;grid-row:span 4}
  .gi-5{grid-column:span 3;grid-row:span 4}
  .gi-6,.gi-7,.gi-8,.gi-9,.gi-10,.gi-11,.gi-12{grid-column:span 3;grid-row:span 3}
  .gal-bento.filtered{grid-template-columns:repeat(2,1fr);grid-auto-rows:200px}
}
@media(max-width:560px){
  .gal-bento{grid-template-columns:1fr 1fr;grid-auto-rows:120px}
  .gi-1,.gi-2,.gi-3,.gi-4,.gi-5,.gi-6,.gi-7,.gi-8,.gi-9,.gi-10,.gi-11,.gi-12, .gi-13,.gi-14,.gi-15{grid-column:span 1;grid-row:span 2}
  .gi-1{grid-column:span 2;grid-row:span 3}
  .gi-16{grid-column:span 2;grid-row:span 1}
  .gi-17,.gi-18{grid-column:span 1;grid-row:span 1} 
  .gi-19{grid-column:span 2;grid-row:span 2} 
  .gal-bento.filtered{grid-template-columns:1fr 1fr;grid-auto-rows:150px}
}

/* Lightbox */
.lb{display:none;position:fixed;inset:0;background:rgba(0,0,0,.96);z-index:2000;align-items:center;justify-content:center}
.lb.on{display:flex}
.lb img{max-width:88vw;max-height:88vh;border-radius:10px;box-shadow:0 24px 80px rgba(0,0,0,.6)}
.lb-x{position:absolute;top:22px;right:28px;color:rgba(255,255,255,.65);font-size:1.7rem;cursor:pointer;background:none;border:none;transition:color .28s;line-height:1}
.lb-x:hover{color:var(--r)}
.lb-arr{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.15);color:rgba(255,255,255,.7);font-size:1.2rem;width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .28s}
.lb-arr:hover{background:var(--r);border-color:var(--r);color:#fff}
.lb-prev{left:22px}.lb-next{right:22px}
.lb-cap{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.6);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;text-align:center; display: none; }

/* ═══════════════════════════════════════════════════════
   CONTACT
═══════════════════════════════════════════════════════ */
#contact{background:var(--warm);padding:60px 0}
.contact-grid{display:grid;grid-template-columns:5fr 7fr;gap:52px;align-items:start;margin-top:52px}
.c-card{background:#fff;border-radius:22px;box-shadow:0 8px 56px rgba(0,0,0,.08);padding:44px;border:1px solid rgba(232,41,74,.07)}
.c-item{display:flex;gap:16px;margin-bottom:26px;align-items:flex-start}
.c-ico{width:50px;height:50px;flex-shrink:0;border-radius:14px;background:var(--rg);display:flex;align-items:center;justify-content:center;border:1px solid rgba(232,41,74,.15);transition:background .3s}
.c-item:hover .c-ico{background:var(--r)}
.c-item:hover .c-ico i{color:#fff}
.c-ico i{font-size:1.2rem;color:var(--r);transition:color .3s}
.c-info h6{font-family:'Playfair Display',serif;font-size:1.05rem;font-weight:700;margin-bottom:2px}
.c-info a,.c-info p{font-size:.83rem;color:var(--muted);line-height:1.65}
.c-info a{color:var(--r)}
.c-info a:hover{color:var(--rd)}
.c-map{border-radius:18px;overflow:hidden;height:380px;box-shadow:0 8px 38px rgba(0,0,0,.09)}
.c-map iframe{width:100%;height:100%;border:0}
.c-trans{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}
.c-t{background:#fff;border-radius:12px;padding:16px;box-shadow:0 3px 14px rgba(0,0,0,.07);display:flex;align-items:center;gap:10px}
.c-t i{font-size:1.4rem;color:var(--r)}
.c-t span{font-size:.7rem;color:var(--muted);display:block}
.c-t strong{font-size:.85rem;font-weight:600}
@media(max-width:768px){.contact-grid{grid-template-columns:1fr}.c-card{padding:26px 20px}}

/* ═══════════════════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════════════════ */
footer{background:#080200;color:rgba(255,255,255,.6);padding:60px 0 0;overflow: hidden;}
.ft-brand{font-family:'Playfair Display',serif;font-size:2.2rem;font-weight:700;color:#fff;margin-bottom:10px}
.ft-brand b{color:var(--r)}
.ft-tag{font-size:.83rem;line-height:1.75;color:rgba(255,255,255,.42);margin-bottom:22px;font-weight:300}
.ft-soc{display:flex;gap:9px}
.fs-btn{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.52);font-size:.85rem;transition:all .3s}
.fs-btn:hover{background:var(--r);color:#fff;border-color:var(--r);transform:translateY(-3px)}
.ft-nl{background:rgba(232,41,74,.09);border:1px solid rgba(232,41,74,.18);border-radius:14px;padding:22px;margin-top:20px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.ft-nl i{font-size:1.4rem;color:var(--r)}
.ft-nl span{font-size:.83rem;color:rgba(255,255,255,.55);flex:1;min-width:160px}
.ft-nl a{background:var(--r);color:#fff;font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:8px 20px;border-radius:28px;white-space:nowrap;transition:background .3s}
.ft-nl a:hover{background:var(--rd);color:#fff}
.ft-h{font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:700;color:#fff;margin-bottom:16px;padding-bottom:9px;border-bottom:1px solid rgba(255,255,255,.07)}
.ft-links{list-style:none;display:flex;flex-direction:column;gap:9px;padding-left: 1rem;}
.ft-links li a{color:rgba(255,255,255,.42);font-size:.82rem;transition:color .28s;display:flex;align-items:center;gap:7px}
.ft-links li a i{font-size:.62rem;color:var(--r)}
.ft-links li a:hover{color:var(--r)}
.ft-ci{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px}
.ft-ci i{color:var(--r);font-size:.9rem;margin-top:2px}
.ft-ci a,.ft-ci p{color:rgba(255,255,255,.42);font-size:.8rem;line-height:1.65}
.ft-ci a:hover{color:var(--r)}
.ft-bot{border-top:1px solid rgba(255,255,255,.06);margin-top:58px;padding:20px 0;text-align:center;font-size:.75rem;color:rgba(255,255,255,.25)}
.ft-bot a{color:var(--r)}
.btn-r{background:var(--r);color:#fff;border-radius:5px;padding:12px 28px;font-size:.8rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;display:inline-block;transition:all .3s}
.btn-r:hover{background:var(--rd);color:#fff;transform:translateY(-2px);box-shadow:0 8px 26px rgba(232,41,74,.38)}
.btn-o{border:1.5px solid var(--r);color:var(--r);border-radius:28px;padding:11px 26px;font-size:.8rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;display:inline-block;transition:all .3s}
.btn-o:hover{background:var(--r);color:#fff}
.footer-map-links{position:relative;color:rgba(255,255,255,.25);font-size:.75rem;transition:color .3s;display: flex;gap:15px}
.footer-map-links a{position:relative;color: #555555;}
.ft-bot .footer-map-links a:not(:last-child)::after {content: "|";position: absolute;right: -8px;top: 50%;transform: translateY(-50%);color: #b52f46;}

/* Back to Top */
#btt{position:fixed;bottom:100px;right:34px;z-index:900;width:44px;height:44px;background:var(--r);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.95rem;box-shadow:0 6px 24px rgba(232,41,74,.42);opacity:0;pointer-events:none;transition:opacity .3s,transform .3s}
#btt.on{opacity:1;pointer-events:auto}
#btt:hover{transform:translateY(-4px);color:#fff}

/* ── Floating badges on hero ── */
.hero-float{position:absolute;z-index:3;background:rgba(255,255,255,.06);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:12px 18px;color:#fff;display:flex;align-items:center;gap:10px;box-shadow:0 12px 40px rgba(0,0,0,.3)}
.hero-float i{font-size:1.3rem;color:var(--r)}
.hero-float .hf-label{font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.hero-float .hf-val{font-size:.88rem;font-weight:600}
#hf1{bottom:200px;left:60px}
#hf2{bottom:260px;right:60px}
@media(max-width:768px){#hf1,#hf2{display:none}}

/* ── Marquee strip ── */
.marquee-wrap{background:var(--r);padding:14px 0;overflow:hidden;position:relative;z-index:5}
.marquee-inner{display:flex;gap:0;width:max-content;animation:marquee 22s linear infinite}
.marquee-inner span{font-size:.72rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#fff;white-space:nowrap;padding:0 44px}
.marquee-inner span::after{content:'✦';margin-left:44px;opacity:.5}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ── Section heading reveal animation ── */
@keyframes wordUp{
  from{transform:translateY(110%);opacity:0}
  to{transform:translateY(0);opacity:1}
}
.word-anim .word span{
  display:inline-block;
  animation:wordUp .65s cubic-bezier(.16,1,.3,1) both;
}
.tag-fade{opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease}
.tag-fade.in{opacity:1;transform:translateY(0)}
.hr-grow{width:44px!important;transition:width .7s .3s ease}
.hr-grow.in{width:44px!important}
.sub-fade{opacity:0;transform:translateY(12px);transition:opacity .55s .2s ease,transform .55s .2s ease}
.sub-fade.in{opacity:1;transform:translateY(0)}


 
.bday-sec{background:var(--cream);padding:3rem 1.5rem;font-family:var(--font-sans,'Georgia',serif)}
.bday-sec .inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
.bday-sec .tag{display:inline-flex;align-items:center;gap:10px;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--g);font-weight:500;margin-bottom:1.25rem}
.bday-sec .right{display:flex;flex-direction:column;gap:1.25rem}
.bday-sec .subscribe-card{background:var(--white);border-radius:16px;padding:1.75rem;border:1px solid rgba(200,136,46,.18);box-shadow:0 2px 20px rgba(14,4,3,.06)}
.bday-sec .subscribe-card h3{font-size:1rem;font-weight:600;color:var(--dark);margin-bottom:.4rem}
.bday-sec .subscribe-card p{font-size:.82rem;color:var(--muted);margin-bottom:1.25rem;line-height:1.6}
.bday-sec .email-row{display:flex;gap:8px;margin-bottom:1rem}
.bday-sec .email-row input{flex:1;padding:.65rem 1rem;border:1.5px solid rgba(200,136,46,.3);border-radius:8px;font-size:.88rem;background:var(--cream);color:var(--txt);outline:none;transition:border-color .2s}
.bday-sec .email-row input:focus{border-color:var(--r)}
.bday-sec .email-row input::placeholder{color:var(--muted)}
.bday-sec .email-row button{background:var(--r);color:#fff;border:none;padding:.65rem 1.1rem;border-radius:8px;cursor:pointer;font-size:.88rem;font-weight:600;display:flex;align-items:center;gap:6px;transition:background .2s,transform .15s}
.bday-sec .email-row button:hover{background:var(--rd);transform:scale(1.03)}
.bday-sec .policy{display:flex;align-items:center;gap:8px;font-size:.78rem;color:var(--muted)}
.bday-sec .policy input[type=checkbox]{accent-color:var(--r);width:14px;height:14px;cursor:pointer}
.bday-sec .policy a{color:var(--r);text-decoration:none}
.bday-sec .kerala-badge{border-radius:16px;padding:1.25rem 1.75rem;border:1px solid rgba(200,136,46,.18);display:flex;align-items:center;justify-content:center}
.bday-sec .kerala-badge img{width:auto;object-fit:contain}
.wx-card{background:var(--white);border-radius:20px;border:1px solid rgba(200,136,46,.2);overflow:hidden;box-shadow:0 2px 24px rgba(14,4,3,.07)}
.wx-hero{background: linear-gradient(135deg, var(--rd) 0%, var(--dark) 100%);;padding:1.75rem 1.75rem 1.5rem;color:#fff;position:relative;overflow:hidden}
.wx-hero::before{content:'';position:absolute;top:-40px;right:-40px;width:160px;height:160px;border-radius:50%;background:rgba(255,255,255,.05)}
.wx-hero::after{content:'';position:absolute;bottom:-30px;left:30px;width:100px;height:100px;border-radius:50%;background:rgba(255,255,255,.04)}
.wx-location{display:flex;align-items:center;gap:7px;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;opacity:.85;margin-bottom:1rem}
.wx-main{display:flex;align-items:flex-end;justify-content:space-between}
.wx-temp{font-size:3.5rem;font-weight:700;line-height:1;letter-spacing:-2px}
.wx-feels{font-size:.78rem;opacity:.75;margin-top:4px}
.wx-icon-big{font-size:4rem;line-height:1;display:block}
.wx-desc{font-size:.82rem;opacity:.8;text-align:center;margin-top:4px;text-transform:capitalize}
.wx-stats{display:none;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(200,136,46,.15);}
.wx-stat{padding:.9rem .75rem;text-align:center;border-right:1px solid rgba(200,136,46,.1)}
.wx-stat:last-child{border-right:none}
.wx-stat-val{font-size:1rem;font-weight:700;color:var(--dark);display:block}
.wx-stat-lbl{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-top:2px;display:block}
.wx-stat i{font-size:1rem;color:var(--g);margin-bottom:3px;display:block}
.wx-forecast{padding:1rem 1.25rem}
.wx-forecast-title{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:.75rem;font-weight:600}
.wx-days{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.wx-day{background:var(--cream);border-radius:10px;padding:.6rem .5rem;text-align:center;border:1px solid rgba(200,136,46,.12)}
.wx-day-name{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:4px}
.wx-day-icon{font-size:1.4rem;display:block;margin-bottom:3px}
.wx-day-range{font-size:.75rem;font-weight:700;color:var(--dark)}
.wx-day-range span{font-weight:400;color:var(--muted)}
.wx-footer{padding:.75rem 1.25rem 1rem;display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(200,136,46,.1)}
.wx-updated{font-size:.68rem;color:var(--muted);display:flex;align-items:center;gap:5px}
.wx-refresh{background:none;border:1px solid rgba(200,136,46,.25);border-radius:20px;padding:.3rem .75rem;font-size:.7rem;color:var(--g);cursor:pointer;display:flex;align-items:center;gap:5px;font-family:inherit;transition:.15s}
.wx-refresh:hover{background:var(--warm)}
.wx-loading{padding:3rem;text-align:center;color:var(--muted);font-size:.9rem}
.wx-loading i{font-size:2rem;color:var(--g);display:block;margin-bottom:.75rem;animation:wx-spin 1.2s linear infinite}
.wx-error{padding:1.5rem;text-align:center;color:var(--muted);font-size:.85rem}
.wx-error i{font-size:1.5rem;color:var(--r);display:block;margin-bottom:.5rem}
@keyframes wx-spin{to{transform:rotate(360deg)}}
@media(max-width:700px){.bday-sec .inner{grid-template-columns:1fr;gap:2rem}}

.wa-trigger{cursor:pointer;position: fixed;z-index: 99;right: 1%; bottom: 0px;display: flex;justify-content: end;}
.wa-trigger img{width:21%;border-radius:50%;transition:transform .2s,box-shadow .2s}

.wa-overlay{display:none;position:fixed;top:12%;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:9999;align-items:center;justify-content:end;backdrop-filter:blur(2px)}

.wa-modal{background:#fff;border-radius:16px;width:340px;max-width:94vw;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.2);animation:waSlide .25s ease}

@keyframes waSlide{from{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}

.wa-header{background:#075E54;padding:16px 20px;display:flex;align-items:center;gap:12px}
.wa-avatar{width:40px;height:40px;border-radius:50%;background:#128C7E;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.wa-header-info{flex:1}
.wa-title{color:#fff;font-weight:600;font-size:15px;margin:0}
.wa-subtitle{color:#aee8c8;font-size:12px;margin:0}
.wa-close{background:none;border:none;cursor:pointer;color:#fff;font-size:22px;line-height:1;padding:4px;opacity:.8;transition:opacity .15s}
.wa-close:hover{opacity:1}

.wa-body{padding:20px}
.wa-desc{font-size:13px;color:#667;margin-bottom:16px;line-height:1.5}
.wa-label{font-size:13px;color:#555;display:block;margin-bottom:6px;font-weight:500}
.wa-input,.wa-textarea{width:100%;padding:10px 14px;border-radius:8px;border:1px solid #ddd;font-size:14px;color:#333;outline:none;transition:border-color .2s;font-family:inherit;background:#fafafa;margin-bottom:14px}
.wa-input:focus,.wa-textarea:focus{border-color:#25D366;background:#fff}
.wa-textarea{resize:none}
.wa-error{color:#e74c3c;font-size:12px;margin-top:-10px;margin-bottom:12px;display:none}
.wa-btn{width:100%;background:#25D366;color:#fff;border:none;border-radius:8px;padding:12px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s;letter-spacing:.3px}
.wa-btn:hover{background:#20b85a}
.wa-btn:active{background:#1aa34a}

.bh-section { position: relative; width: 100%; height: 460px; overflow: hidden; }
.bh-section .bh-image.accommodation-bh { position: absolute; inset: 0; background: url('../Images/Banners/Accommodation.webp') center / cover no-repeat; transform: scale(1.1); }
.bh-section .bh-image.local-attraction-bh { position: absolute; inset: 0; background: url('../Images/Banners/local-attraction.webp') center / cover no-repeat; transform: scale(1.1); }
.bh-section .bh-image.gallery-bh { position: absolute; inset: 0; background: url('../Images/Banners/gallery.webp') center / cover no-repeat; transform: scale(1.1); }
.bh-section .bh-image.contact-us-bh { position: absolute; inset: 0; background: url('../Images/Banners/Conact-us.webp') center / cover no-repeat; transform: scale(1.1); }


.bh-section .bh-overlay { position: absolute; inset: 0; background: linear-gradient(160deg, rgba(14,4,3,.78) 0%, rgba(14,4,3,.42) 55%, rgba(200,136,46,.22) 100%); }
.bh-section .bh-content { position: relative; z-index: 2; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; padding: 0 0 56px 64px; }
.bh-section .bh-eyebrow { font-size: .7rem; font-weight: 600; letter-spacing: .24em; text-transform: uppercase; color: var(--gl); margin-bottom: 14px; opacity: 0; transform: translateY(20px); display: none; }
.bh-section .bh-title { font-family: 'Cormorant Garamond', serif; font-size: 40px; font-weight: 600; color: var(--white); line-height: 1.05; margin: 0 0 26px; opacity: 0; transform: translateY(24px); }
.bh-section .bh-title em { color: var(--gl); font-style: italic; }
.bh-section .bh-nav { display: flex; align-items: center; gap: 8px; opacity: 0; transform: translateY(20px); }
.bh-section .bh-nav .bh-crumb { font-size: .78rem; font-weight: 400; letter-spacing: .06em; color: rgba(255,255,255,.6); text-decoration: none; transition: color .25s; }
.bh-section .bh-nav .bh-crumb:hover { color: var(--gl); }
.bh-section .bh-nav .bh-sep { color: var(--g); font-size: .7rem; }
.bh-section .bh-nav .bh-crumb.active { color: var(--white); font-weight: 500; }
.bh-section .bh-line { position: absolute; bottom: 0; left: 0; width: 0; height: 3px; background: linear-gradient(90deg, var(--r), var(--g)); }
.ticker-strip { background: var(--dark); padding: 36px 0; overflow: hidden; white-space: nowrap; }
.ticker-strip .ticker-inner { display: inline-flex; gap: 0; animation: ticker 22s linear infinite; }
.ticker-strip .ticker-item { display: inline-flex; align-items: center; gap: 12px; padding: 0 32px; font-family: 'Cormorant Garamond', serif; font-size: 1.25rem; font-style: italic; color: rgba(255,255,255,.55); }
.ticker-strip .ticker-item .t-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--g); flex-shrink: 0; }
@keyframes ticker { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.sec-wrap { padding: 60px 0; }
.sec-wrap.bg-warm { background: var(--warm); }
.sec-label { display: inline-flex; align-items: center; gap: 10px; font-size: .68rem; font-weight: 600; letter-spacing: .24em; text-transform: uppercase; color: var(--r); margin-bottom: 18px; }
.sec-label::before { content: ''; display: block; width: 28px; height: 2px; background: var(--g); flex-shrink: 0; }
.sec-heading { font-family: 'Cormorant Garamond', serif; font-size: 42px; font-weight: 600; line-height: 1.1; color: var(--dark); margin-bottom: 0; }
.sec-heading em { color: var(--r); font-style: italic; }
.accom-text { padding-right: 2.5rem; }
.accom-text .accom-desc { font-size: 1rem; font-weight: 300; line-height: 1.9; color: var(--muted); margin: 26px 0 0; }
.accom-text .badge-row { display: flex; flex-wrap: wrap; gap: 10px; margin: 32px 0 0px; }
.accom-text .badge-row .tag { display: inline-flex; align-items: center; gap: 7px; padding: 6px 16px; border: 1px solid rgba(200,136,46,.35); border-radius: 100px; font-size: .73rem; font-weight: 500; letter-spacing: .05em; color: var(--g); background: rgba(200,136,46,.06); margin-bottom: 0; }
.accom-text .badge-row .tag .t-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--g); display: inline-block; flex-shrink: 0; }
.accom-text .btn-cta { display: inline-flex; align-items: center; gap: 10px; padding: 13px 30px; background: var(--r); color: var(--white); font-size: .8rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; text-decoration: none; border-radius: 2px; transition: background .25s var(--ease), transform .25s var(--spring); }
.accom-text .btn-cta:hover { background: var(--rd); color: var(--white); transform: translateY(-2px); }
.accom-imgs { position: relative; height: 560px; }
.accom-imgs .img-main { position: absolute; top: 0; right: 0; width: 78%; height: 84%; object-fit: cover; border-radius: 4px; box-shadow: 0 28px 56px rgba(14,4,3,.18); }
.accom-imgs .img-accent { position: absolute; bottom: 0; left: 0; width: 52%; height: 52%; object-fit: cover; border-radius: 4px; box-shadow: 0 18px 36px rgba(14,4,3,.14); border: 6px solid var(--cream); }
.accom-imgs .img-badge { position: absolute; top: 50%; left: 42%; transform: translate(-50%, -50%); background: var(--dark); color: var(--white); padding: 16px 20px; border-radius: 4px; text-align: center; z-index: 3; border-left: 3px solid var(--g); }
.accom-imgs .img-badge .badge-years { font-family: 'Cormorant Garamond', serif; font-size: 2.4rem; font-weight: 600; color: var(--gl); display: block; line-height: 1; }
.accom-imgs .img-badge .badge-label { font-size: .6rem; letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.55); margin-top: 4px; display: block; }
.tariff-imgs { position: relative; height: 600px; }
.tariff-imgs .ti-top { position: absolute; top: 0; left: 0; width: 70%; height: 58%; object-fit: cover; border-radius: 4px; box-shadow: 0 24px 48px rgba(14,4,3,.14); }
.tariff-imgs .ti-bot { position: absolute; bottom: 0; right: 0; width: 68%; height: 52%; object-fit: cover; border-radius: 4px; box-shadow: 0 24px 48px rgba(14,4,3,.14); border: 6px solid var(--warm); }
.tariff-imgs .ti-tag { position: absolute; top: 52%; left: 60%; transform: translate(-50%, -50%); background: var(--r); color: var(--white); padding: 18px 22px; border-radius: 4px; z-index: 3; text-align: center;display: none !important; }
.tariff-imgs .ti-tag .tag-val { font-family: 'Cormorant Garamond', serif; font-size: 1.7rem; font-weight: 600; display: block; line-height: 1; }
.tariff-imgs .ti-tag .tag-label { font-size: .6rem; letter-spacing: .18em; text-transform: uppercase; opacity: .82; margin-top: 4px; display: block; }
.tariff-text .tariff-intro { font-size: .97rem; font-weight: 300; line-height: 1.85; color: var(--muted); margin-top: 22px; }
.tariff-text .rate-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 5px; margin-top: 36px; }
.tariff-text .rate-grid .rate-card { background: var(--white); border-radius: 6px; padding: 24px 12px; position: relative; overflow: hidden; border: 1px solid rgba(200,136,46,.18); transition: transform .3s var(--spring), box-shadow .3s var(--ease); }
.tariff-text .rate-grid .rate-card:hover { transform: translateY(-6px); box-shadow: 0 18px 36px rgba(14,4,3,.1); }
.tariff-text .rate-grid .rate-card::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 3px; background: linear-gradient(90deg, var(--r), var(--g)); transform: scaleX(0); transform-origin: left; transition: transform .35s var(--ease); }
.tariff-text .rate-grid .rate-card:hover::before { transform: scaleX(1); }
.tariff-text .rate-grid .rate-card .rc-pax { font-size: .64rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); margin-bottom: 10px; }
.tariff-text .rate-grid .rate-card .rc-price { font-family: 'Cormorant Garamond', serif; font-size: 1.5rem; font-weight: 600; color: var(--dark); line-height: 1; }
.tariff-text .rate-grid .rate-card .rc-price sup { font-size: .9rem; vertical-align: super; color: var(--g); }
.tariff-text .rate-grid .rate-card .rc-night { font-size: .7rem; color: var(--muted); margin-top: 4px; }
.tariff-text .info-list { list-style: none; padding: 0; margin: 28px 0 0; }
.tariff-text .info-list .il-item { display: flex; align-items: center; gap: 14px; padding: 14px 0; border-bottom: 1px solid rgba(200,136,46,.15); }
.tariff-text .info-list .il-item:last-child { border-bottom: none; }
.tariff-text .info-list .il-item .il-icon { flex-shrink: 0; width: 36px; height: 36px; border-radius: 50%; background: var(--rg); display: flex; align-items: center; justify-content: center; color: var(--r); margin-top: 2px; }
.tariff-text .info-list .il-item .il-text { font-size: .9rem; font-weight: 300; color: var(--txt); line-height: 1.65; }
.tariff-text .info-list .il-item .il-text strong { font-weight: 600; color: var(--dark); }
@media (max-width: 1199px) { .tariff-text .rate-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 991px) { .bh-section { height: 340px; } .bh-section .bh-content { padding: 0 0 40px 28px; } .accom-text { padding-right: 0; margin-bottom: 48px; } .accom-imgs { height: 420px; } .tariff-imgs { height: 400px; margin-top: 48px; } .sec-wrap { padding: 72px 0; } }
@media (max-width: 767px) { .tariff-text .rate-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 575px) { .bh-section { height: 70vh; } .bh-section .bh-content { padding: 0 0 30px 20px; } .accom-imgs { height: 320px; } .accom-imgs .img-badge { left: 80%;    top: 95%;width: 42%; } .tariff-imgs { height: 300px; } .tariff-text .rate-grid { grid-template-columns: repeat(2, 1fr); } .sec-wrap { padding: 56px 0; } }


.heritage-sec{background:#0b0b0b;overflow:hidden;position:relative}
.heritage-img-wrap{position:relative;border-radius:30px;overflow:hidden;height:100%;min-height:520px;box-shadow:0 20px 60px rgba(0,0,0,.45)}
.heritage-img{width:100%;height:100%;object-fit:cover;transition:.6s ease}
.heritage-img-wrap:hover .heritage-img{transform:scale(1.06)}
.heritage-content{background:rgba(255,255,255,.03);backdrop-filter:blur(12px);padding:50px;border-radius:30px;border:1px solid rgba(255,255,255,.08);position:relative}
.heritage-tag{display:inline-block;padding:10px 18px;border-radius:50px;background:rgba(255,255,255,.08);color:var(--r);font-size:13px;font-weight:600;letter-spacing:1px;text-transform:uppercase;margin-bottom:20px}
.heritage-title{font-size:30px;line-height:1.2;color:#fff;font-weight:700;margin-bottom:25px}
.heritage-content p{color:rgba(255,255,255,.75);font-size:16px;line-height:1.9;margin-bottom:18px}
@media(max-width:991px){
   .heritage-content{padding:35px}
   .heritage-title{font-size:38px}
   .heritage-img-wrap{min-height:420px}
}

@media(max-width:767px){
   .heritage-sec{padding:60px 0}
   .heritage-content{padding:28px 22px;border-radius:22px}
   .heritage-title{font-size:30px}
   .heritage-content p{font-size:15px;line-height:1.8}
   .heritage-img-wrap{min-height:320px;border-radius:22px}
}


@media(max-width:700px){
   .e9-leihos{
      display: none;
   }
   .nav-cta{
      display: flex !important;
   }
   #nav .mob-nav.on{
      top: 110px;
   }
   #nav.up .mob-nav.on {
      display: flex;
      position: fixed;
      z-index: 999;
      top: 94px;
      right: 0;
      width: 100%;
      top: 65px;
   }
   #nav.up .nav-bar { 
    padding: 0px 30px; 
   }
   .hero-bg { 
      background-position: center;
      background-size: cover;
      will-change: transform;
   }
   .hero-h1 em { 
      font-size: 1.5rem;
   }
   .hero-h1 {
      font-size: 1.3rem; 
      line-height: 1.5;
   }
   .hero-wrap { 
      margin-top: 280px;
   }
   .ai-main img {
    width: 100%;
    height: auto; 
   }
   .ttl {
      font-size: 25px;
      font-weight: 700;
      color: var(--txt);
   }
   .lightening-img {
      width: 100%;
      height: unset; 
   }
   .bday-sec { 
    padding: 3rem 12px; 
}
.footer-map-links {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(2, auto);
    gap: 10px;
    margin-bottom: 25px;
  }
}
 
@media (min-width: 600px) and (max-width: 1023px) {
  .gal-bento {
    grid-template-columns: repeat(8, 1fr);
    grid-auto-rows: 90px;
  }

  .gi-1   { grid-column: span 2;  grid-row: span 3; }
  .gi-2   { grid-column: span 4;  grid-row: span 2; }
  .gi-3   { grid-column: span 2;  grid-row: span 2; }
  .gi-3-1 { grid-column: span 2;  grid-row: span 1; }
  .gi-4   { grid-column: span 3;  grid-row: span 3; }
  .gi-5   { grid-column: span 4;  grid-row: span 3; }
  .gi-6   { grid-column: span 2;  grid-row: span 2; }
  .gi-7   { grid-column: span 2;  grid-row: span 2; }
  .gi-8   { grid-column: span 4;  grid-row: span 2; }
  .gi-9   { grid-column: span 3;  grid-row: span 2; }
  .gi-10  { grid-column: span 3;  grid-row: span 3; }
  .gi-11  { grid-column: span 2;  grid-row: span 3; }
  .gi-12  { grid-column: span 6;  grid-row: span 2; }
  .gi-13  { grid-column: span 2;  grid-row: span 3; }
  .gi-14  { grid-column: span 4;  grid-row: span 3; }
}


/* ══════════════════════════════════════════════
   MOBILE  < 600px  — 2-col layout
   Hero items span full width; rest are half.
   ══════════════════════════════════════════════ */
@media (max-width: 599px) {
  .gal-bento {
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: 160px;
    gap: 8px;
  }

  /* Full-width hero cells */
  
  .gi-8,
  .gi-14 {
    grid-column: span 1;
    grid-row: span 1;
  }

    .gi-4,
  .gi-6{
      grid-column: span 2;
      grid-row: span 1;
    }
  /* Half-width standard cells */
  .gi-1,

  .gi-3,
  .gi-3-1,
  .gi-5,
  .gi-7,
  .gi-9,
  .gi-10,
  .gi-11,
  .gi-12,
  .gi-13 {
    grid-column: span 1;
    grid-row: span 1;
  }
}

@media (max-width: 379px) {
  .gal-bento {
    grid-template-columns: 1fr;
    grid-auto-rows: 220px;
    gap: 8px;
  }

  .gal-bento .gal-item {
    grid-column: 1 / -1 !important;
    grid-row: span 1 !important;
  }
}


.contact{position:relative;padding:90px 40px 80px;overflow:hidden;background:var(--cream)}
.contact::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 55% 45% at 75% 10%,rgba(200,136,46,.1),transparent 60%),radial-gradient(ellipse 35% 50% at 5% 95%,rgba(232,41,74,.06),transparent 55%);pointer-events:none}

.contact-header{max-width:1120px;margin:0 auto 56px;display:flex;align-items:flex-end;justify-content:space-between;gap:32px;flex-wrap:wrap}
.header-left{}
.contact-eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:10px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--g);margin-bottom:14px}
.contact-eyebrow::before{content:'';width:28px;height:1px;background:var(--gl)}
.contact-title{font-family:'Cormorant Garamond',serif;font-size:clamp(40px,5vw,62px);font-weight:600;line-height:1.05;color:var(--txt)}
.contact-title em{font-style:italic;color:var(--r)}
.header-right{font-size:14px;line-height:1.7;color:var(--muted);max-width:300px;padding-bottom:6px}

.wrap{max-width:1120px;margin:0 auto}

/* ── Row 1: 3 cards ── */
.cards-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:20px}
@media(max-width:860px){.cards-row{grid-template-columns:1fr}}

.info-card{background:var(--white);border-radius:20px;border:1px solid rgba(200,136,46,.15);padding:36px 32px;display:flex;flex-direction:column;gap:0;transition:transform .22s var(--ease),box-shadow .22s var(--ease)}
.info-card:hover{transform:translateY(-3px);box-shadow:0 12px 40px rgba(14,4,3,.08)}

.card-icon-wrap{width:52px;height:52px;border-radius:14px;background:var(--rg);display:flex;align-items:center;justify-content:center;margin-bottom:24px}
.card-icon-wrap svg{width:22px;height:22px;stroke:var(--r);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.card-icon-wrap.gold{background:rgba(200,136,46,.13)}
.card-icon-wrap.gold svg{stroke:var(--g)}

.card-label{font-size:10px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.card-title{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:600;color:var(--txt);margin-bottom:12px;line-height:1.2}
.card-body{font-size:14px;line-height:1.7;color:var(--muted);flex:1}
.card-body a{color:var(--txt);text-decoration:none;display:block;font-size:15px;transition:color .18s}
.card-body a:hover{color:var(--r)}
.card-body .line{margin-bottom:2px}

.card-cta{margin-top:24px;display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:500;color:var(--r);text-decoration:none;letter-spacing:.04em;transition:gap .2s var(--spring)}
.card-cta:hover{gap:11px}
.card-cta svg{width:14px;height:14px;stroke:var(--r);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

.divider{width:100%;height:1px;background:var(--warm);margin:20px 0}

/* ── Row 2: full-width map ── */
.map-card{background:var(--white);border-radius:20px;border:1px solid rgba(200,136,46,.15);overflow:hidden;display:flex;flex-direction:column}
.map-top-bar{padding:22px 32px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border-bottom:1px solid var(--warm)}
.map-top-bar-left{display:flex;align-items:center;gap:14px}
.map-pin-icon{width:40px;height:40px;border-radius:11px;background:var(--rg);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.map-pin-icon svg{width:18px;height:18px;stroke:var(--r);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.map-top-title{font-family:'Cormorant Garamond',serif;font-size:18px;font-weight:600;color:var(--txt);line-height:1.2}
.map-top-sub{font-size:12px;color:var(--muted);margin-top:2px}
.btn-directions{height:42px;padding:0 20px;border-radius:11px;background:var(--r);color:var(--white);font-size:12px;font-weight:500;cursor:pointer;transition:background .2s var(--ease),transform .2s var(--ease);text-decoration:none;display:inline-flex;align-items:center;gap:7px;flex-shrink:0;border:none}
.btn-directions:hover{background:var(--rd);transform:translateY(-1px)}
.btn-directions svg{width:14px;height:14px;stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

.map-wrap{position:relative;height:460px}
.map-wrap iframe{width:100%;height:100%;border:none;display:block}

.map-bottom-bar{padding:18px 32px;display:flex;align-items:center;gap:32px;flex-wrap:wrap;background:var(--dark)}
.mbb-item{display:flex;align-items:center;gap:10px}
.mbb-item svg{width:16px;height:16px;stroke:var(--gl);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.mbb-item span{font-size:13px;color:rgba(253,246,238,.65)}
.mbb-item strong{color:var(--cream);font-weight:500}

/* ── Responsive ── */
@media(max-width:600px){.contact{padding:60px 20px 60px}.map-wrap{height:300px}.map-bottom-bar{gap:16px}.map-top-bar{padding:16px 20px}.map-bottom-bar{padding:14px 20px}.info-card{padding:28px 24px}}

 
.cancel-sec{padding:200px 0 60px;position:relative;overflow:hidden;background:linear-gradient(to bottom,#000 0%,#000 8%,#111 14%,#1a1a1a 20%,#fff 38%,#fff 100%);}
 /* .cancel-sec { padding: 80px 0; } */

.cancel-box { background: var(--white); border: 1px solid #e8e8e8; border-radius: 16px; padding: 50px; }

.cancel-badge { display: inline-flex; align-items: center; gap: 6px; padding: 6px 14px; border-radius: 6px; background: #f5f5f5; color: #555; font-size: .78rem; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; margin-bottom: 20px; }

.cancel-title { font-size: 32px; font-weight: 700; color: var(--txt); margin-bottom: 18px; }
.cancel-text { font-size: 1rem; line-height: 1.8; color: var(--muted); margin-bottom: 16px; }

.cancel-block { margin-top: 40px; padding: 28px; border-radius: 12px; border: 1px solid #ebebeb; background: #fafafa; }

.block-head { display: flex; align-items: center; gap: 14px; margin-bottom: 22px; }
.block-icon { width: 40px; height: 40px; border-radius: 10px; background: #f0f0f0; display: flex; align-items: center; justify-content: center; color: #ffffff; font-size: 1.2rem;background-color: var(--r); }
.block-head h3 { margin: 0; font-size: 1.3rem; font-weight: 600; color: var(--txt); }

.cancel-list { display: flex; flex-direction: column; gap: 16px; }
.cancel-item { display: flex; gap: 14px; padding-bottom: 16px; border-bottom: 1px solid #ebebeb; }
.cancel-item:last-child { border: none; padding-bottom: 0; }

.cancel-check { width: 36px; height: 36px; border-radius: 8px; background: #f0f0f0; display: flex; align-items: center; justify-content: center; color: #555; font-size: 1rem; flex-shrink: 0; }

.cancel-item h5 { font-size: 1rem; font-weight: 600; color: var(--txt); margin-bottom: 6px; }
.cancel-item p { margin: 0; font-size: .93rem; line-height: 1.7; color: var(--muted); }

.support-card { margin-top: 32px; background: var(--r); border-radius: 14px; padding: 28px; color: var(--white); }
.support-card h4 { font-size: 1.2rem; font-weight: 700; margin-bottom: 10px; }
.support-card p { font-size: .95rem; line-height: 1.8; color: rgba(255,255,255,.82); }
.support-call { display: inline-flex; align-items: center; gap: 10px; margin-top: 16px; padding: 12px 18px; border-radius: 10px; background: rgba(255,255,255,.15); border: 1px solid rgba(255,255,255,.2); text-decoration: none; color: var(--white); font-size: 1rem; font-weight: 600; }



.mob-book-btn{
position:fixed;
left:12px;
right:12px;
bottom:12px;
width:calc(100% - 24px);
z-index:9999;
display:none;
align-items:center;
justify-content:center;
gap:10px;
background:#e8294a;
color:#fff;
text-decoration:none;
padding:14px 20px;
font-size:16px;
font-weight:600;
letter-spacing:.5px;
border-radius:18px;
box-shadow:0 -5px 20px rgba(0,0,0,.12);
transition:.3s ease;
padding-bottom:calc(14px + env(safe-area-inset-bottom));
}

.mob-book-btn i{
font-size:18px
}

.mob-book-btn:hover{
color:#fff;
background:#d81f40
}

@media(max-width:991px){
.mob-book-btn{
display:flex
}
}
@media(max-width:768px) {
   .d-desktop{
    display:block;
}

.d-mobile{
    display:none;
}

@media(max-width:991px){

    .d-desktop{
        display:none;
    }

    .d-mobile{
        display:block;
    }

}
   html > body{
      background-color: var(--cream) !important;
   }
   #nav.up .logo-tag {
      font-size: .4rem;
   }
   .hero-bg {
    position: absolute;
    inset: 0%;
    background: url(../Images/lightening.webp);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    will-change: transform;
}
   .bh-section .bh-title { 
      font-size: 30px; 
   }
   .accom-text .badge-row .tag { 
      font-size: .7rem; 
   }
   .sec-heading { 
      font-size: 28px; 
   }
  br{
   display: none !important;
  }
  .gsap-hero-h1 br{display:block !important;}
  .cancel-box { padding: 30px 20px; }
  .cancel-title { font-size: 1.8rem; }
  .cancel-block { padding: 20px; }
  .support-card { padding: 22px; }
  #home {
    height: 100vh; 
    align-items: center;
    justify-content: center;
     padding-bottom: 0;
   }
   #btt { 
      bottom: 150px;
      right: 15px; 
   }
   .wa-trigger {
      cursor: pointer;
      position: fixed;
      z-index: 99;
      right: 2.5%;
      bottom: 60px;
      display: flex;
      justify-content: end;
   }
   .bh-section .bh-image.contact-us-bh{ background:url(../Images/Banners/Conact-us.webp) calc(100% - -100px) center / cover no-repeat;}
   .wrap{  padding: 0 15px;}
   footer { margin-bottom: 45px;}
   .about-imgs{display: none;}
   .bh-section .bh-image.accommodation-bh {
        background: url(../Images/Banners/Accommodation-mobile.webp) center / cover no-repeat;
   }
}