
:root{
  --green-deep:#0a1f1a;
  --green-mid:#0e2a23;
  --green-soft:#133329;
  --blue-tint:#1a2a35;
  --blue-deep:#14242e;
  --gold-1:#c9a961;
  --gold-2:#e8c87e;
  --gold-3:#d4af37;
  --gold-deep:#8a6d2f;
  --cream:#f5ecd9;
  --cream-muted:#c4b89e;
  --text-faint:#7a8278;
  --border:rgba(201,169,97,0.18);
  --border-strong:rgba(201,169,97,0.35);
  --header-h: 72px;
}

*{margin:0;padding:0;box-sizing:border-box;}

html, body {
  height: 100%; width: 100%; margin: 0; padding: 0;
  overflow: hidden;
  overflow-x: hidden;
}

body {
  font-family:'Inter',sans-serif;
  color:var(--cream);
  background:#071412;
  font-weight:300;
}

html[data-lang="ml"] body, html[data-lang="ml"] p, html[data-lang="ml"] span, html[data-lang="ml"] a, html[data-lang="ml"] div {
  font-family: 'Anek Malayalam', sans-serif;
}

/* ─── Custom Scroll Container ─── */
.scroll-container {
  height: 100vh;
  width: 100%; 
  overflow-y: auto;
  overflow-x: hidden;
  scroll-behavior: smooth;
  scroll-padding-top: 90px;
}
.scroll-container::-webkit-scrollbar {width: 8px;}
.scroll-container::-webkit-scrollbar-track {background: rgba(10, 31, 26, 0.4); border-left: 1px solid rgba(201,169,97,0.05);}
.scroll-container::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, var(--gold-deep), var(--gold-1));
  border-radius: 4px; border: 2px solid transparent; background-clip: padding-box;
}
.scroll-container::-webkit-scrollbar-thumb:hover {background: linear-gradient(180deg, var(--gold-1), var(--gold-2)); background-clip: padding-box;}
.scroll-container {scrollbar-width: thin; scrollbar-color: var(--gold-1) rgba(10, 31, 26, 0.4);}

/* ─── Window Opening Loader ─── */
#loader {
  position: fixed; inset: 0; z-index: 10000;
  display: block; pointer-events: none;
}
.loader-panel {
  width: 50%; height: 100%; background: #071412;
  position: absolute; top: 0;
  transition: transform 1.2s cubic-bezier(.7,0,.3,1);
}
.loader-panel.left { left: 0; transform: translateX(0%); }
.loader-panel.right { right: 0; transform: translateX(0%); }
#loader.open .loader-panel.left { transform: translateX(-100%); }
#loader.open .loader-panel.right { transform: translateX(100%); }

.loader-content {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
  text-align: center; z-index: 2; width: 100%;
  transition: opacity 0.6s ease;
}
#loader.fading .loader-content { opacity: 0; }

.loader-title {
  font-family: 'Cormorant Garamond', serif; font-size: clamp(2.5rem, 6vw, 4.5rem);
  color: var(--cream); opacity: 0; transform: translateY(30px);
  animation: fade-up 1.2s 0.5s forwards cubic-bezier(.2,.6,.2,1);
  text-align: center; letter-spacing: 0.05em;
}
.loader-subtitle {
  font-family: 'Inter', sans-serif; font-size: 0.75rem; letter-spacing: 0.4em;
  text-transform: uppercase; color: var(--gold-1); margin-top: 1.2rem;
  opacity: 0; transform: translateY(20px);
  animation: fade-up 1.2s 1.1s forwards cubic-bezier(.2,.6,.2,1);
}
@keyframes fade-up { to { opacity: 1; transform: translateY(0); } }

/* ─── Smooth Animated Gradient Base ─── */
.bg-base{
  position:fixed;inset:-15%;z-index:0;pointer-events:none;
  background:linear-gradient(135deg, #0a1f1a 0%, #14242e 25%, #0e2a23 50%, #08181a 75%, #0a1f1a 100%);
  background-size:300% 300%;
  animation:drift 35s ease infinite;
  filter:blur(80px);
}
@keyframes drift{
  0%{background-position:0% 50%;}
  50%{background-position:100% 50%;}
  100%{background-position:0% 50%;}
}

/* ─── Section Tint Layer ─── */
.bg-tint{
  position:fixed;inset:0;z-index:1;pointer-events:none;
  background:rgba(10,31,26,0.12);
  transition:background 1.8s cubic-bezier(.4,0,.2,1);
}
body.in-home .bg-tint{background:linear-gradient(180deg, rgba(10,31,26,0.1) 0%, rgba(7,20,18,0.3) 100%);}
body.in-about .bg-tint{background:linear-gradient(110deg, rgba(14,42,35,0.2) 0%, rgba(10,31,26,0.1) 100%);}
body.in-activities .bg-tint{background:linear-gradient(240deg, rgba(10,31,21,0.2) 0%, rgba(14,36,32,0.1) 100%);}
body.in-gallery .bg-tint{background:linear-gradient(300deg, rgba(20,36,46,0.2) 0%, rgba(26,42,53,0.1) 100%);}
body.in-contact .bg-tint{background:linear-gradient(45deg, rgba(8,24,26,0.3) 0%, rgba(10,31,31,0.1) 100%);}

/* ─── Noise Overlay ─── */
.bg-noise{
  position:fixed;inset:0;z-index:9998;pointer-events:none;
  opacity:0.04;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");
  background-size:200px 200px;
  animation:noise-shift 0.8s steps(4) infinite;
}
@keyframes noise-shift{
  0%{transform:translate(0,0);} 25%{transform:translate(-2px,1px);}
  50%{transform:translate(1px,-1px);} 75%{transform:translate(-1px,2px);}
  100%{transform:translate(0,0);}
}

/* ─── Header & Navigation ─── */
header{
  position:sticky;top:0;z-index:100;
  backdrop-filter:blur(18px) saturate(180%);
  -webkit-backdrop-filter:blur(18px) saturate(180%);
  background:rgba(8,18,16,0.65);
  border-bottom:1px solid var(--border);
  transition:background 0.5s ease,border-color 0.5s ease;
}
.header-inner{
  max-width:1400px;margin:0 auto;
  padding:1.1rem 2.5rem;
  display:grid;
  grid-template-columns: 1fr auto 1fr;
  grid-template-areas: "logo nav lang";
  align-items:center;gap:2rem;
}

.burger-menu {
  display: none; flex-direction: column; justify-content: space-between;
  height: 18px; width: 24px; background: transparent; border: none;
  cursor: pointer; padding: 0; justify-self: start; z-index: 101;
}
.burger-menu span { display: block; height: 2px; width: 100%; background: var(--gold-1); transition: all 0.4s cubic-bezier(.2,.6,.2,1); border-radius: 2px; }
.burger-menu.open span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.burger-menu.open span:nth-child(2) { opacity: 0; transform: translateX(-20px); }
.burger-menu.open span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

.mobile-nav {
  position: absolute; top: 100%; left: 0; right: 0;
  background: rgba(8,18,16,0.96); backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--border);
  display: flex; flex-direction: column; padding: 2rem;
  transform: translateY(-15px); opacity: 0; pointer-events: none;
  transition: all 0.4s cubic-bezier(.2,.6,.2,1); z-index: 99;
}
.mobile-nav.open { transform: translateY(0); opacity: 1; pointer-events: auto; }
.mobile-nav a {
  font-family: 'Cormorant Garamond', serif; font-size: 1.6rem; color: var(--cream);
  text-decoration: none; padding: 1rem 0; border-bottom: 1px solid rgba(255,255,255,0.05);
  transition: color 0.3s ease, padding-left 0.3s ease;
}
.mobile-nav a:last-child { border-bottom: none; }
.mobile-nav a:hover, .mobile-nav a.active { color: var(--gold-2); padding-left: 1rem; }

.logo{
  grid-area: logo;
  display:flex;align-items:center;gap:0.75rem;
  cursor:pointer;text-decoration:none;color:var(--gold-3);
  transition:opacity 0.3s ease;justify-self:start;
  background:none;border:none;font-family:inherit;padding:0;
   filter: sepia(1) brightness(0.9) contrast(1.1);
}
.logo:hover{opacity:0.85;}
.logo-img {
  height: 60px; width: auto; display: block;
  border-radius: 2px;
  filter: sepia(1) brightness(0.9) contrast(1.1);
  transition: opacity 0.3s ease;
}
.logo:hover .logo-img { opacity: 0.85; }

nav.main-nav{
  grid-area: nav;
  display:flex;gap:0.3rem;align-items:center;justify-self:center;
}
nav.main-nav a{
  position:relative;padding:0.55rem 1.1rem;
  color:var(--cream-muted);text-decoration:none;
  font-size:0.74rem;font-weight:500;letter-spacing:0.22em;
  text-transform:uppercase;transition:color 0.3s ease;cursor:pointer;
}
nav.main-nav a::after{
  content:'';position:absolute;bottom:0.15rem;left:50%;
  transform:translateX(-50%);width:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--gold-2),transparent);
  transition:width 0.45s ease;
}
nav.main-nav a:hover{color:var(--cream);}
nav.main-nav a.active{color:var(--gold-2);}
nav.main-nav a.active::after{width:75%;}

.lang-toggle{
  grid-area: lang;
  justify-self:end;display:inline-flex;align-items:center;
  border:1px solid var(--border);border-radius:2px;overflow:hidden;
  background:rgba(255,255,255,0.02);
}
.lang-toggle button{
  background:transparent;border:none;color:var(--cream-muted);
  padding:0.45rem 0.95rem;font-family:'Inter',sans-serif;
  font-size:0.68rem;font-weight:600;letter-spacing:0.2em;
  cursor:pointer;transition:all 0.3s ease;
}
.lang-toggle button.active{
  background:linear-gradient(135deg,rgba(201,169,97,0.22),rgba(232,200,126,0.08));
  color:var(--gold-2);
}

.mobile-lang-toggle { display: none; }

/* ─── Sections ─── */
section{
  min-height:100vh;padding:7rem 2.5rem 5rem;
  max-width:1400px;margin:0 auto;position:relative;z-index:3;
}
.section-label{
  font-size:0.72rem;letter-spacing:0.42em;text-transform:uppercase;
  color:var(--gold-1);font-weight:500;margin-bottom:1.8rem;
  display:flex;align-items:center;gap:1rem;
}
.section-label::before{
  content:'';width:42px;height:1px;
  background:linear-gradient(90deg,var(--gold-1),transparent);
}
.hero-title{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2.4rem,5.2vw,4.3rem);font-weight:500;
  line-height:1.12;letter-spacing:-0.01em;
  margin-bottom:2.8rem;max-width:920px;
}
html[data-lang="ml"] .hero-title{font-weight:600;  font-size:clamp(2.4rem,3vw,4.3rem);}
html[data-lang="ml"] .section-label{letter-spacing:0.12em;}

/* ─── Animated Golden Text ─── */
.gold-text{
  background:linear-gradient(90deg, #b8901f 0%, #d4af37 25%, #e8c87e 50%, #d4af37 75%, #b8901f 100%);
  background-size:200% auto;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  animation:shimmer 4s linear infinite;
}
@keyframes shimmer { to { background-position: 200% center; } }

/* ─── HOME ─── */
#home{
  display:flex;flex-direction:column;justify-content:center;
  align-items:center;text-align:center;
  min-height:100vh;padding:0;max-width:none;overflow:hidden;
  position: relative;
}

.slideshow{position:absolute;inset:0;z-index:0;}
.slide{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
  opacity:0;transform:scale(1.15) translateZ(0);
  transition:opacity 1.5s ease-in-out, transform 6s ease-out;
  z-index:0;
}
.slide.active{
  opacity:1;transform:scale(1.0) translateZ(0);
  z-index:1;
}
.home-overlay{
  position:absolute;inset:0;z-index:2;
  background:
    linear-gradient(180deg,rgba(8,18,16,0.2) 0%,rgba(7,20,18,0.15) 40%,rgba(8,18,16,0.85) 100%),
    radial-gradient(ellipse at center,transparent 0%,rgba(7,20,18,0.14) 100%);
}

.home-content{
  position:relative;z-index:5; 
  padding:2rem; width:80%;
  margin-bottom: -100px;  
}
.home-eyebrow, .home-title, .home-subtitle, .ornament, .home-hero-beneath, .scroll-cta {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 1.2s cubic-bezier(.2,.6,.2,1), transform 1.2s cubic-bezier(.2,.6,.2,1);
}
body.loaded .home-eyebrow { opacity: 1; transform: translateY(0); transition-delay: 0.2s; }
body.loaded .home-title { opacity: 1; transform: translateY(0); transition-delay: 0.4s; }
body.loaded .home-subtitle { opacity: 1; transform: translateY(0); transition-delay: 0.6s; }
body.loaded .ornament { opacity: 1; transform: translateY(0); transition-delay: 0.8s; }
body.loaded .home-hero-beneath { opacity: 1; transform: translateY(0); transition-delay: 1.0s; }

.home-content.cycling .home-title,
.home-content.cycling .home-hero-beneath {
  animation: subtle-fade 12s ease-in-out infinite;
  animation-delay: 2s;
}
@keyframes subtle-fade {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.25; }
}

.home-eyebrow{
  font-size:0.72rem;letter-spacing:0.5em;text-transform:uppercase;
  color:var(--gold-1);margin-bottom:2.2rem;
  display:flex;align-items:center;gap:1.2rem;font-weight:500;
  justify-content:center;
}
.home-eyebrow::before,.home-eyebrow::after{
  content:'';width:56px;height:1px;
  background:linear-gradient(90deg,transparent,var(--gold-1));
}
.home-eyebrow::after{background:linear-gradient(90deg,var(--gold-1),transparent);}
.home-title{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(3.5rem,10vw,8rem);font-weight:500;
  line-height:1;letter-spacing:-0.02em;margin-bottom:0rem;
}
html[data-lang="ml"] .home-title{font-size:clamp(3.5rem,5vw,8rem); padding: 0.4em;  font-weight:700;}
.home-subtitle{
  font-family:'Cormorant Garamond',serif;font-style:italic;
  font-size:clamp(1.1rem,2vw,1.45rem);color:var(--cream-muted);
  margin:0 auto 2.6rem;font-weight:300;
}
html[data-lang="ml"] .home-subtitle{ font-style:normal;}
.home-hero-beneath{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(1.5rem,1.7vw, 2.1rem);line-height:1.35;
  font-weight:400;max-width:70%;margin:0 auto;color:var(--cream);
}
html[data-lang="ml"] .home-hero-beneath{font-size:clamp( .5rem, 1.0vw, 2.1rem); font-weight:500;}

.scroll-cta {
  position: absolute; bottom: 8rem; left: 50%; 
  transform: translate(-50%,  0px);
  display: flex; flex-direction: column; align-items: center; gap: 0.8rem;
  color: var(--cream-muted); z-index: 6; text-decoration: none;
  cursor: pointer; 
}
body.loaded .scroll-cta { 
  opacity: 1; 
  transform: translate(-50%, 0); 
  transition-delay: 1.4s; 
}
body.loaded .scroll-cta-inner {
  animation: bounce-soft 2.5s 1.4s infinite ease-in-out;
}
.scroll-cta-inner {
  display: flex; flex-direction: column; align-items: center; gap: 0.8rem;
}
.scroll-cta span {
  font-size: 0.6rem; letter-spacing: 0.3em; text-transform: uppercase; color: var(--gold-1);
}
.scroll-line {
  width: 1px; height: 45px; background: rgba(201,169,97,0.2);
  position: relative; overflow: hidden;
}
.scroll-line::after {
  content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 50%;
  background: linear-gradient(180deg, transparent, var(--gold-2));
  animation: scroll-dot 2.5s infinite ease-in-out;
}
@keyframes scroll-dot {
  0% { transform: translateY(-100%); }
  100% { transform: translateY(200%); }
}
@keyframes bounce-soft { 
  0%, 100% { transform: translateY(0); } 
  50% { transform: translateY(8px); } 
}

/* ─── Reveal animations ─── */
.reveal{
  opacity:0;transform:translateY(32px);
  transition:opacity 0.4s ease,transform 0.4s ease;
}
.reveal.from-left{transform:translateX(-45px);}
.reveal.from-right{transform:translateX(45px);}
.reveal.scale-in{transform:scale(0.9);}
.reveal.visible{
  opacity:1;transform:translate(0,0) scale(1);
  transition:opacity 1s cubic-bezier(.2,.6,.2,1),transform 1s cubic-bezier(.2,.6,.2,1);
  transition-delay:calc(var(--i,0) * 0.08s);
}

/* ─── ABOUT ─── */
.about-grid{
  display:grid;grid-template-columns:1.1fr 0.9fr;
  gap:5rem;align-items:start;margin-top:1.5rem;
}
.about-text p{
  margin-bottom:1.5rem;color:var(--cream-muted);
  font-size:1.05rem;line-height:1.85;
}
.about-text p .accent{color:var(--gold-2);font-style:italic;font-weight:400;}
.about-stats{
  display:grid;grid-template-columns:1fr 1fr;gap:2rem;
  margin-top:2.8rem;padding-top:2.6rem;border-top:1px solid var(--border);
}
.stat-item .stat-num{
  font-family:'Cormorant Garamond',serif;
  font-size:3rem;font-weight:500;display:block;
  margin-bottom:0.3rem;line-height:1;
}
.stat-item .stat-label{
  font-size:0.7rem;letter-spacing:0.22em;text-transform:uppercase;
  color:var(--cream-muted);
}
html[data-lang="ml"] .stat-item .stat-label{ letter-spacing:0.08em;}

.about-video-wrap{
  position:relative;padding:0.8rem;
  background:rgba(255,255,255,0.02);
  border:1px solid var(--border);
}
.about-video-wrap::before{
  content:'';position:absolute;top:-1px;left:-1px;right:-1px;bottom:-1px;
  background:linear-gradient(135deg,var(--gold-1) 0%,transparent 30%,transparent 70%,var(--gold-1) 100%);
  z-index:-1;opacity:0.4;
}
.about-video-inner{
  position:relative;overflow:hidden;aspect-ratio:4/5;
}
.about-video-inner img{
  width:100%;height:100%;object-fit:cover;display:block;
  filter:sepia(0.2) saturate(0.8) brightness(0.82);
  transition:transform 8s ease;
}
.about-video-wrap:hover .about-video-inner img{transform:scale(1.05);}
.about-video-inner::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 40%,rgba(8,18,16,0.5) 100%);
  pointer-events:none;
}
.video-tag{
  position:absolute;bottom:1.5rem;left:1.5rem;z-index:2;
  font-size:0.65rem;letter-spacing:0.3em;text-transform:uppercase;
  color:var(--gold-1);font-weight:500;
}

/* ─── ACTIVITIES ─── */
.activities-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:1.5rem;margin-top:2.5rem;
}
.activity-card{
  padding:2.4rem 2rem;
  background:linear-gradient(180deg,rgba(255,255,255,0.025),rgba(255,255,255,0.005));
  border:1px solid var(--border);position:relative;overflow:hidden;
  transition:all 0.55s cubic-bezier(.4,0,.2,1);
}
.activity-card::before{
  content:'';position:absolute;top:0;left:0;width:100%;height:1px;
  background:linear-gradient(90deg,transparent,var(--gold-1),transparent);
  transform:translateX(-100%);transition:transform 0.7s ease;
}
.activity-card:hover{
  border-color:var(--border-strong);transform:translateY(-5px);
  background:linear-gradient(180deg,rgba(201,169,97,0.06),rgba(255,255,255,0.01));
}
.activity-card:hover::before{transform:translateX(100%);}
.activity-icon{width:46px;height:46px;color:var(--gold-2);margin-bottom:1.4rem;}
.activity-title{
  font-family:'Cormorant Garamond',serif;
  font-size:1.6rem;font-weight:500;margin-bottom:0.8rem;color:var(--cream);
}
html[data-lang="ml"] .activity-title{font-weight:600; font-size:1.2rem;}
.activity-desc{color:var(--cream-muted);font-size:0.95rem;line-height:1.75;}

.timeline-section {
  margin-top: 6rem; padding-top: 4rem; border-top: 1px solid var(--border);
}
.timeline-title {
  font-family: 'Cormorant Garamond', serif; font-size: 1.6rem; text-align: center;
  color: var(--cream); margin-bottom: 4rem; font-weight: 500; letter-spacing: 0.05em;
}
html[data-lang="ml"] .timeline-title {  font-weight: 600; }
.timeline {
  position: relative; max-width: 800px; margin: 0 auto; padding-left: 2rem;
}
.timeline::before {
  content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 1px;
  background: linear-gradient(180deg, transparent, var(--gold-1) 10%, var(--gold-1) 90%, transparent);
  opacity: 0.4;
}
.timeline-item {
  position: relative; padding-bottom: 3.5rem; padding-left: 2.5rem;
}
.timeline-item:last-child { padding-bottom: 0; }
.timeline-dot {
  position: absolute; left: -5px; top: 4px;
  width: 11px; height: 11px; border-radius: 50%;
  background: var(--green-deep); border: 2px solid var(--gold-1);
  box-shadow: 0 0 0 4px rgba(201,169,97,0.1);
  transition: all 0.3s ease;
}
.timeline-item:hover .timeline-dot {
  background: var(--gold-2); box-shadow: 0 0 0 6px rgba(201,169,97,0.2);
}
.timeline-date {
  font-family: 'Cormorant Garamond', serif; font-size: 1.4rem; color: var(--gold-2);
  font-weight: 600; margin-bottom: 0.3rem; letter-spacing: 0.02em;
}
.timeline-event {
  font-size: 1.1rem; color: var(--cream); margin-bottom: 0.4rem; font-weight: 400;
}
html[data-lang="ml"] .timeline-event {  font-weight: 500; }
.timeline-desc {
  font-size: 0.9rem; color: var(--cream-muted); line-height: 1.6; max-width: 500px;
}

/* ─── GALLERY ─── */
.gallery-grid{
  display:grid;grid-template-columns:repeat(3,1fr); 
  grid-auto-rows:300px; 
  gap:1.5rem;margin-top:2.5rem;
}
.gallery-item:nth-child(1){grid-column:span 2;grid-row:span 2;}
.gallery-item:nth-child(3){grid-row:span 2;}
.gallery-item:nth-child(6){grid-column:span 2;}
.gallery-item:nth-child(7){grid-row:span 2;}

.gallery-item{
  position:relative;overflow:hidden;cursor:pointer;
  border:1px solid transparent;
}
.gallery-item img{
  width:100%;height:100%;object-fit:cover;display:block;
  filter:brightness(0.78) saturate(0.85) sepia(0.06);
  transition:all 1.1s cubic-bezier(.4,0,.2,1);
  transform: translateZ(0);
}
.gallery-item:hover img{
  filter:brightness(1.0) saturate(1.0) sepia(0);
  transform:scale(1.08);
}
.gallery-item::before{
  content:'';position:absolute;inset:0;z-index:2;
  background:linear-gradient(180deg,transparent 45%,rgba(8,18,16,0.85) 100%);
  opacity:0.6;transition:opacity 0.5s ease;
}
.gallery-item:hover::before{opacity:0.95;}
.gallery-item::after{
  content:'';position:absolute;inset:0;z-index:3;
  border:1px solid transparent;transition:border-color 0.5s ease;
  pointer-events:none;
}
.gallery-item:hover::after{border-color:var(--gold-1);}
.gallery-caption{
  position:absolute;bottom:0;left:0;right:0;z-index:4;
  padding:1.5rem 1.3rem 1.2rem;
  transform:translateY(12px);opacity:0;
  transition:transform 0.5s ease,opacity 0.5s ease;
}
.gallery-item:hover .gallery-caption{transform:translateY(0);opacity:1;}
.gallery-caption .cap-label{
  font-size:0.6rem;letter-spacing:0.3em;text-transform:uppercase;
  color:var(--gold-1);margin-bottom:0.4rem;font-weight:500;
}
.gallery-caption .cap-title{
  font-family:'Cormorant Garamond',serif;
  font-size:1.25rem;color:var(--cream);font-weight:500;line-height:1.2;
}
html[data-lang="ml"] .gallery-caption .cap-title{font-weight:600;}
.gallery-icon{
  position:absolute;top:1rem;right:1rem;z-index:4;
  width:32px;height:32px;border-radius:50%;
  background:rgba(201,169,97,0.15);border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;
  color:var(--gold-2);opacity:0;
  transform:scale(0.8);transition:all 0.5s ease;
  backdrop-filter:blur(8px);
}
.gallery-item:hover .gallery-icon{opacity:1;transform:scale(1);}

/* ─── Lightbox ─── */
#lightbox {
  position: fixed; inset: 0; z-index: 10002;
  background: rgba(7, 20, 18, 0.96);
  backdrop-filter: blur(10px);
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 1.5rem; padding: 2rem;
  opacity: 0; pointer-events: none;
  transition: opacity 0.4s ease;
}
#lightbox.open { opacity: 1; pointer-events: auto; }
.lightbox-inner {
  display: flex; flex-direction: column; align-items: center; gap: 1.2rem;
  max-width: 90vw; max-height: 85vh;
}
#lightbox img {
  max-width: 90vw; max-height: 65vh;
  border: 2px solid var(--gold-1);
  box-shadow: 0 0 50px rgba(0,0,0,0.5);
  transform: scale(0.9);
  transition: transform 0.4s cubic-bezier(.2,.6,.2,1);
  object-fit: contain;
}
#lightbox.open img { transform: scale(1); }

.lightbox-caption {
  text-align: center;
}
.lightbox-caption .cap-label {
  font-size: 0.7rem; letter-spacing: 0.3em; text-transform: uppercase;
  color: var(--gold-1); margin-bottom: 0.5rem; font-weight: 500;
}
.lightbox-caption .cap-title {
  font-family: 'Cormorant Garamond', serif; font-size: 1.8rem;
  color: var(--cream); font-weight: 500; line-height: 1.2;
}

.close-lightbox {
  position: absolute; top: 2rem; right: 3rem;
  font-size: 3.5rem; line-height: 1; color: var(--gold-2);
  cursor: pointer; transition: transform 0.3s ease;
}
.close-lightbox:hover { transform: rotate(90deg); }

/* ─── CONTACT ─── */
#contact{
  max-width:none;padding:0;min-height:100vh;
  display:flex;align-items:center;justify-content:center;
  position:relative;overflow:hidden;
}
.contact-video-bg{position:absolute;inset:0;z-index:0;overflow:hidden;}
.contact-video-bg img{
  width:100%;height:100%;object-fit:cover;
  filter:brightness(0.32) sepia(0.25) saturate(0.6);
  transform:scale(1.05);
  animation:slow-zoom 20s ease-in-out infinite alternate;
}
@keyframes slow-zoom{
  from{transform:scale(1.05);}
  to{transform:scale(1.15);}
}
.contact-overlay{
  position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(180deg,rgba(8,18,16,0.82) 0%,rgba(7,20,18,0.7) 50%,rgba(8,18,16,0.88) 100%),
    radial-gradient(ellipse at center,transparent 0%,rgba(7,20,18,0.5) 100%);
}
.contact-content{
  position:relative;z-index:2;
  width:50%;padding:8rem 2.5rem 5rem;
  text-align:center;margin:0 auto;
}
.contact-content .section-label{justify-content:center;}
.contact-content .section-label::before{display:none;}
.contact-content .hero-title{margin:0 auto 2rem;  }
.contact-desc{
  color:var(--cream-muted);font-size:1.1rem;line-height:1.85;
  margin:0 auto 2.5rem;
}
html[data-lang="ml"] .contact-desc{font-size:1.05rem;}
.cta-btn{
  display:inline-flex;align-items:center;gap:0.8rem;
  padding:1.1rem 2.8rem;
  background:transparent;border:1px solid var(--gold-1);
  color:var(--gold-2);text-decoration:none;
  font-family:'Inter',sans-serif;font-size:0.72rem;
  letter-spacing:0.32em;text-transform:uppercase;font-weight:600;
  cursor:pointer;transition:all 0.4s ease;
  position:relative;overflow:hidden;
}
.cta-btn::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,var(--gold-1),var(--gold-2));
  transform:scaleX(0);transform-origin:left;
  transition:transform 0.5s ease;z-index:-1;
}
.cta-btn:hover{color:var(--green-deep);border-color:var(--gold-2);}
.cta-btn:hover::before{transform:scaleX(1);}
.cta-btn svg{width:14px;height:14px;transition:transform 0.3s ease;}
.cta-btn:hover svg{transform:translateX(4px);}
html[data-lang="ml"] .cta-btn{letter-spacing:0.08em;}

.contact-details{
  display:flex;justify-content:center;gap:3rem;
  margin-top:3.5rem;padding-top:2.5rem;
  border-top:1px solid var(--border);
  flex-wrap:wrap;
}
.contact-detail{text-align:center;}
.contact-detail .label{
  font-size:0.62rem;letter-spacing:0.3em;text-transform:uppercase;
  color:var(--gold-1);margin-bottom:0.4rem;font-weight:500;
}
html[data-lang="ml"] .contact-detail .label{letter-spacing:0.06em;}
.contact-detail .value{
  font-family:'Cormorant Garamond',serif;
  font-size:1.15rem;color:var(--cream);font-weight:400;
}
html[data-lang="ml"] .contact-detail .value{font-weight:500;}

/* ─── Footer ─── */
footer{
  border-top:1px solid var(--border);
  padding:2.5rem 2.5rem;
  background:rgba(0,0,0,0.25);
  position:relative;z-index:3;
}
.footer-inner{
  max-width:1400px;margin:0 auto;
  display:flex;justify-content:space-between;align-items:center;
  gap: 1.5rem;
}
.footer-name{
  font-family:'Cormorant Garamond',serif;
  font-size:1.2rem;letter-spacing:0.12em;
  color:var(--cream);font-weight:500;
}
html[data-lang="ml"] .footer-name{font-weight:500; font-size: 1.1rem;}
.youtube-icon{
  width:32px;height:32px;color:var(--cream-muted);
  transition:color 0.3s ease,transform 0.3s ease;
  text-decoration:none;display:flex;align-items:center;
  flex-shrink: 0;
}
.youtube-icon:hover{color:var(--gold-2);transform:translateY(-2px);}

/* ─── Bilingual swap ─── */
[data-ml]{display:none;}
html[data-lang="ml"] [data-en]{display:none;}
html[data-lang="ml"] [data-ml]{display:inline;}
html[data-lang="en"] [data-en]{display:inline;}

/* ─── Responsive (Mobile Edges & Nav) ─── */
@media (max-width:900px){
  /* Fix Horizontal Scroll */
  html, body, .scroll-container { overflow-x: hidden; width: 100%; }

  /* Disable laggy elements */
  .bg-base {
    animation: none;
    filter: none;
    background: #0a1f1a;
  }
  .bg-noise { display: none; }
  header, .mobile-nav {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(8,18,16,0.98);
  }

  /* Mobile Slideshow Panning */
  .slide {
    background-size: cover;
    animation: pan-mobile 15s ease-in-out infinite alternate;
    transform: none !important;
    transition: opacity 1.5s ease-in-out !important;
  }
  .slide.active {
    transform: none !important;
  }
  @keyframes pan-mobile {
    0% { background-position: 0% 50%; }
    100% { background-position: 100% 50%; }
  }
  
  .gallery-item img { transition: transform 0.3s ease; }

  /* Layout Shifts */
  .header-inner{
    grid-template-columns: 1fr auto;
    grid-template-areas: "logo burger";
    padding:1rem 2rem;gap:1rem;
  }
  .burger-menu { display: flex; grid-area: burger; justify-self: end; }
  nav.main-nav { display: none; }
  .logo { justify-self: start; padding: 0; }
  .lang-toggle { display: none; }
  
  .mobile-lang-toggle {
    display: inline-flex;
    margin-top: 2rem;
    align-self: center;
    justify-self: center;
  }
  
  .logo-img { height: 50px; }
  section { padding: 6rem 2rem 4rem; }
  .contact-content { padding: 6rem 2rem 4rem; width:100%}
 
footer {
    width: 100%;
    border-top: 1px solid var(--border);
    padding: 1.75rem 1.5rem; /* Restores vertical and horizontal padding */
    background: rgba(8, 18, 16, 0.95); /* Restores dark theme background instead of red */
    position: relative;
    z-index: 10; /* Ensures footer stays on top of video overlays */
    margin-top: auto;
  }

  .footer-inner {
    width: 100%;
    max-width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 0; /* Handled by footer container */
  }

  .footer-name {
    font-family: 'Cormorant Garamond', serif;
    font-size: 0.9rem; /* Adjusted for better legibility on small screens */
    letter-spacing: 0.08em;
    color: var(--cream);
    font-weight: 500;
    line-height: 1.3;
  }

  html[data-lang="ml"] .footer-name {
    font-weight: 500;
    font-size: 0.85rem;
  }

.home-content{
  position:unset;
  position:absolute;z-index:5; 
  padding:2rem; width:100%;
bottom:40%;

}
 .home-hero-beneath { font-size: clamp(0.9rem, 1rem, 1.2rem); max-width:100%;   }

  /* Fix Malayalam Title Sizes */
  .about-grid{grid-template-columns:1fr;gap:3rem;}
  .home-title{font-size:clamp(2.6rem,12vw,5rem); }
  html[data-lang="ml"] .hero-title { font-size: clamp(1.6rem, 2.4rem, 2.2rem); line-height: 1.3; }
  html[data-lang="ml"]  .home-title{font-size:clamp(2.6rem,3rem,5rem);  } 
    html[data-lang="ml"] .home-hero-beneath { font-size: clamp(0.6rem, .8rem, 2rem); max-width:100%;   }
  
  .home-eyebrow{font-size:0.62rem;letter-spacing:0.35em;}
  .home-eyebrow::before,.home-eyebrow::after{width:30px;}
  
  .gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:250px;}
  .gallery-item:nth-child(1){grid-column:span 2;grid-row:span 2;}
  .gallery-item:nth-child(3){grid-row:span 1;}
  .gallery-item:nth-child(6){grid-column:span 2;}
  .gallery-item:nth-child(7){grid-row:span 1;}
  
  .about-stats{gap:1.2rem;}
  .stat-item .stat-num{font-size:2.2rem;}
  .contact-details{gap:1.5rem;}

  .lightbox-caption .cap-title { font-size: 1.4rem; }
  .close-lightbox { top: 1rem; right: 1.5rem; font-size: 2.5rem; }
}

@media (max-width: 500px) {
  .header-inner { padding: 1rem 1.5rem; }
  section { padding: 5rem 1.5rem 3.5rem; }
  .footer-inner { padding: 0 1.5rem; }
  .contact-content { padding: 5rem 1.5rem 3.5rem; }
}