*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --s:#c9281c;--s2:#e63528;
  --g:#0f2548;--g2:#16335e;
  --gold:#c8891a;--gold2:#e0a030;--gold3:#f5c842;
  --blue:#16335e;
  --ink:#0d1117;--ink2:#1e2532;--ink3:#2d3548;
  --muted:#5c6170;--muted2:#8a8f9e;
  --cream:#faf7f2;--cream2:#f3ece0;--cream3:#ede3d0;
  --panel:#ffffff;--panel2:#fdfbf8;
  --dark:#080c14;--dark2:#0e1420;--dark3:#141b28;
  --s:var(--s2);--g:var(--g2);
  --line:rgba(40,34,20,.09);--line2:rgba(40,34,20,.15);
  --kn:'Noto Sans Kannada',sans-serif;
  --serif:'Fraunces',serif;
  --display:'Playfair Display',serif;
  --ease-out-expo:cubic-bezier(.16,1,.3,1);
  --ease-spring:cubic-bezier(.34,1.56,.64,1);
}
html{scroll-behavior:smooth;overflow-x:hidden;width:100%;}
/* Scroll-lock while preloader is active — set in render-blocking CSS to avoid JS-timing flicker on mobile */
body.kis-preloading{overflow:hidden;}
body{
  background:var(--cream);color:var(--ink);
  font-family:'Inter',sans-serif;font-weight:400;
  line-height:1.7;overflow-x:hidden;position:relative;width:100%;max-width:100%;
}
::selection{background:var(--s);color:#fff}
.kn{font-family:var(--kn)}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

/* Subtle grain overlay for premium texture */
body::after{content:'';position:fixed;inset:0;z-index:999;pointer-events:none;opacity:.025;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}

/* ── Scroll progress bar ── */
.progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:200;
  background:linear-gradient(90deg,var(--s),var(--gold) 40%,#fff 55%,var(--g));}

/* ── Nav ── */
nav{position:fixed;top:0;left:0;right:0;z-index:150;
  display:flex;align-items:center;justify-content:space-between;
  padding:1.4rem 3rem;transition:.5s var(--ease-out-expo);
  background:rgba(8,12,20,.55);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);}
nav.scrolled{
  background:rgba(8,12,20,.75);
  backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);
  border-bottom:1px solid rgba(255,255,255,.06);
  box-shadow:0 8px 32px rgba(0,0,0,.28);padding:.9rem 3rem;}
.nav-brand{display:flex;align-items:center;gap:.9rem;
  font-family:'Cormorant Garamond',serif;
  font-size:1.55rem;letter-spacing:.04em;font-weight:600;color:#fff;
  font-style:italic;}
.nav-brand-logo{position:relative;width:42px;height:42px;flex-shrink:0;}
.nav-brand-logo img{width:42px;height:42px;border-radius:50%;object-fit:cover;position:relative;z-index:2;}
.nav-brand-logo::before{content:'';position:absolute;inset:-2.5px;border-radius:50%;
  background:conic-gradient(var(--s),var(--gold2),#fff,var(--g),var(--s));
  animation:spin 5s linear infinite;z-index:0;}
.nav-brand-logo::after{content:'';position:absolute;inset:1.5px;border-radius:50%;background:var(--dark);z-index:1;}
.nav-links{display:flex;gap:1.6rem;font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;}
.nav-links a{position:relative;color:rgba(255,255,255,.55);transition:.3s;}
.nav-links a:hover{color:#fff}
.nav-links a::after{content:'';position:absolute;left:0;bottom:-5px;height:1.5px;width:0;
  background:linear-gradient(90deg,var(--s),var(--gold2));transition:.35s;}
.nav-links a:hover::after{width:100%}
.nav-cta{padding:.55rem 1.5rem;border:1px solid rgba(200,137,26,.5);border-radius:30px;
  font-size:.72rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;
  color:var(--gold2);transition:.35s;background:rgba(200,137,26,.08);}
.nav-cta:hover{background:linear-gradient(110deg,var(--s),var(--gold2));color:#fff;border-color:transparent;
  box-shadow:0 10px 28px rgba(200,137,26,.35);}
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;}
.burger span{width:24px;height:2px;background:#fff;transition:.3s;border-radius:2px;}

/* ── Reveal animation utility ── */
.reveal{opacity:0;transform:translateY(34px);transition:.9s cubic-bezier(.16,1,.3,1);}
.reveal.in{opacity:1;transform:none;}
.reveal.d1{transition-delay:.12s}.reveal.d2{transition-delay:.24s}
.reveal.d3{transition-delay:.36s}.reveal.d4{transition-delay:.48s}
/* mission goals: staggered rise-in */
.mreveal{opacity:0;transform:translateY(34px);transition:transform 1s cubic-bezier(.16,1,.3,1),opacity 1s cubic-bezier(.16,1,.3,1);will-change:transform,opacity;}
.mreveal.in{opacity:1;transform:none;}
.mreveal.d1{transition-delay:.1s}.mreveal.d2{transition-delay:.2s}
.mreveal.d3{transition-delay:.3s}.mreveal.d4{transition-delay:.4s}

/* ════ HERO ════ */
@keyframes fadeUp{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:none}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes driftR{from{transform:translateX(-4%)}to{transform:translateX(4%)}}
@keyframes glowPulse{0%,100%{opacity:.25;transform:scale(1)}50%{opacity:.5;transform:scale(1.07)}}
@keyframes scrollDot{0%,100%{opacity:.5;transform:translateX(-50%) translateY(0)}60%{opacity:1;transform:translateX(-50%) translateY(6px)}}
@keyframes floatA{0%,100%{transform:translateY(0) translateX(0)}50%{transform:translateY(-18px) translateX(8px)}}
@keyframes floatB{0%,100%{transform:translateY(0) translateX(0)}50%{transform:translateY(14px) translateX(-10px)}}
@keyframes gradShift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes lineGrow{from{width:0}to{width:56px}}

#hero{
  position:relative;min-height:100vh;display:flex;
  flex-direction:column;align-items:center;justify-content:center;
  text-align:center;overflow:hidden;padding:7rem 1.5rem 5rem;
  background:#0a0a0a;
}

/* ── Cinematic video-style banner ── */
.hero-video{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;}
.hero-video-img{
  position:absolute;inset:-8%;
  background:url('https://images.pexels.com/photos/2901209/pexels-photo-2901209.jpeg?auto=compress&cs=tinysrgb&w=1600') center/cover no-repeat;
  filter:saturate(.9) contrast(1.05) brightness(.5);
  transform-origin:center;
  animation:kenBurns 26s ease-in-out infinite alternate;
  will-change:transform;
}
/* dark + flag tint so text stays readable */
.hero-video::after{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(ellipse 70% 60% at 50% 45%,transparent 0%,rgba(8,6,4,.55) 75%,rgba(8,6,4,.9) 100%),
    linear-gradient(180deg,rgba(10,8,6,.55) 0%,rgba(10,8,6,.35) 45%,rgba(10,8,6,.8) 100%),
    radial-gradient(circle at 12% 18%,rgba(236,22,17,.18),transparent 45%),
    radial-gradient(circle at 88% 82%,rgba(224,160,48,.14),transparent 45%);
}
@keyframes kenBurns{
  0%  {transform:scale(1.08) translate(0,0);}
  50% {transform:scale(1.18) translate(-2%,-1.5%);}
  100%{transform:scale(1.12) translate(1.5%,1%);}
}
/* moving scanlines = subtle video feel */
.hero-video-scan{
  position:absolute;inset:0;opacity:.06;mix-blend-mode:overlay;
  background:repeating-linear-gradient(0deg,#000 0 1px,transparent 1px 3px);
  animation:scanMove 8s linear infinite;
}
@keyframes scanMove{from{background-position:0 0;}to{background-position:0 60px;}}
/* faux LIVE badge */
.hero-live{
  position:absolute;top:6.2rem;left:2rem;z-index:4;display:inline-flex;align-items:center;gap:.5rem;
  font-size:.58rem;font-weight:700;letter-spacing:.18em;color:rgba(255,255,255,.75);
  padding:.35rem .7rem;border-radius:6px;
  background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(6px);
  opacity:0;animation:fadeIn 1s ease 1.4s forwards;
}
.hero-live i{width:7px;height:7px;border-radius:50%;background:#ff3b30;
  box-shadow:0 0 8px #ff3b30;animation:livePulse 1.4s ease-in-out infinite;}
@keyframes livePulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.4;transform:scale(.7);}}
@media(max-width:760px){.hero-live{left:1rem;top:5.4rem;}}

/* Diagonal flag split — deep dark base with red/yellow quadrants */
#hero::before{
  content:'';position:absolute;inset:0;z-index:0;
  background:
    radial-gradient(ellipse 65% 55% at 8% 15%,rgba(236,22,17,.18) 0%,transparent 60%),
    radial-gradient(ellipse 55% 50% at 92% 85%,rgba(254,242,2,.12) 0%,transparent 60%),
    radial-gradient(ellipse 40% 40% at 85% 12%,rgba(236,22,17,.08) 0%,transparent 55%),
    radial-gradient(ellipse 45% 45% at 15% 88%,rgba(254,242,2,.08) 0%,transparent 55%),
    linear-gradient(160deg,#120505 0%,#0a0a0a 45%,#0a0a08 100%);
  /* opacity/transform only — compositor-friendly, no per-frame repaint flicker */
  animation:heroBgShift 12s ease-in-out infinite alternate;
  will-change:opacity,transform;
}
/* Noise texture */
#hero::after{
  content:'';position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.03;
  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='.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
@keyframes heroBgShift{
  0%  {opacity:.92;transform:scale(1) translate(0,0);}
  100%{opacity:1;transform:scale(1.04) translate(-1%,1%);}
}

/* Floating orbs — red & yellow only */
.hero-orb{position:absolute;border-radius:50%;pointer-events:none;z-index:1;}
.hero-orb-1{width:520px;height:520px;top:-100px;left:-140px;
  background:radial-gradient(circle,rgba(236,22,17,.16) 0%,transparent 70%);
  animation:floatA 14s ease-in-out infinite;}
.hero-orb-2{width:420px;height:420px;bottom:-120px;right:3%;
  background:radial-gradient(circle,rgba(254,242,2,.13) 0%,transparent 70%);
  animation:floatB 18s ease-in-out infinite;}
.hero-orb-3{width:280px;height:280px;top:25%;left:46%;
  background:radial-gradient(circle,rgba(236,22,17,.09) 0%,transparent 70%);
  animation:floatA 22s ease-in-out infinite reverse;}


/* Ghost Kannada watermark */
.hero-kn-bg{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  z-index:1;pointer-events:none;overflow:hidden;
  perspective:800px;transform-style:preserve-3d;
}
.hero-kn-bg span{
  font-family:var(--kn);font-size:clamp(8rem,18vw,16rem);font-weight:900;
  background:linear-gradient(135deg,rgba(236,22,17,.07),rgba(254,242,2,.07));
  -webkit-background-clip:text;background-clip:text;
  color:transparent;
  line-height:1;letter-spacing:-.03em;white-space:nowrap;
  opacity:0;
  animation:knFadeIn 2.5s ease 0.3s forwards, knFloat 12s ease-in-out 2.8s infinite alternate;
  will-change:transform,opacity;
  text-shadow:0 0 120px rgba(201,40,28,.07),0 0 240px rgba(200,137,26,.04);
  transition:opacity .3s;
}
@keyframes knFadeIn{
  0%  {opacity:0;transform:scale(1.06);filter:blur(8px);}
  100%{opacity:1;transform:scale(1);filter:blur(0);}
}
@keyframes knFloat{
  0%  {transform:translateX(-2%) translateY(0px);}
  50% {transform:translateX(1%) translateY(-8px);}
  100%{transform:translateX(2%) translateY(4px);}
}

/* ── LEFT COLUMN ── */
.hero-left{
  position:relative;z-index:5;
  padding:9rem 3rem 7rem 7rem;
  display:flex;flex-direction:column;justify-content:center;
}

/* Eyebrow badge */
.eyebrow{
  display:inline-flex;align-items:center;gap:.7rem;
  font-size:.6rem;font-weight:700;letter-spacing:.38em;text-transform:uppercase;
  color:var(--gold2);margin-bottom:2rem;
  padding:.4rem 1rem .4rem .7rem;border-radius:100px;
  background:rgba(200,137,26,.08);border:1px solid rgba(200,137,26,.2);
  width:fit-content;
  opacity:0;animation:fadeUp .7s ease .1s forwards;
}
.eyebrow-line{display:block;width:18px;height:1.5px;background:linear-gradient(90deg,var(--s2),var(--gold2));}

/* Headline */
.hero-h-kn{
  font-family:var(--kn);font-weight:900;line-height:1.35;
  font-size:clamp(3.2rem,5.8vw,5.4rem);letter-spacing:-.01em;
  color:#fff;margin-bottom:1.4rem;
  opacity:0;animation:fadeUp .8s ease .22s forwards;
}
.hero-h-kn em{
  font-style:normal;
  background:linear-gradient(110deg,var(--s2) 0%,#ff6b5b 40%,var(--gold2) 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  background-size:200% auto;animation:gradShift 4s ease infinite;
}

/* English subtitle */
.hero-h-en{
  font-family:var(--serif);font-size:clamp(1rem,1.8vw,1.3rem);font-weight:300;
  color:rgba(255,255,255,.45);letter-spacing:.12em;text-transform:uppercase;
  margin-bottom:2.2rem;
  opacity:0;animation:fadeUp .8s ease .36s forwards;
}

/* Animated rule */
.hero-rule{
  width:56px;height:2px;margin-bottom:1.2rem;
  background:linear-gradient(90deg,var(--s2),var(--gold2));
  opacity:0;animation:fadeUp .6s ease .44s forwards;
}

/* Motto */
.motto{
  font-family:var(--kn);font-size:clamp(.82rem,1.4vw,.96rem);
  letter-spacing:.08em;color:rgba(255,255,255,.38);
  margin-bottom:1.8rem;
  opacity:0;animation:fadeUp .7s ease .52s forwards;
}

/* Tagline */
.hero-tagline{
  max-width:440px;font-size:clamp(.88rem,1.4vw,.98rem);
  color:rgba(255,255,255,.55);line-height:1.9;margin-bottom:2.8rem;
  opacity:0;animation:fadeUp .8s ease .62s forwards;
}

/* Buttons */
.hero-btns{
  display:flex;gap:1rem;flex-wrap:wrap;
  opacity:0;animation:fadeUp .8s ease .74s forwards;
}
.btn{
  padding:.85rem 2rem;border-radius:8px;font-weight:700;font-size:.75rem;
  letter-spacing:.08em;text-transform:uppercase;
  transition:.35s var(--ease-out-expo);cursor:pointer;
  display:inline-flex;align-items:center;gap:.5rem;
}
.btn-primary{
  background:linear-gradient(135deg,var(--s2),#ff5a48);
  background-size:160% 160%;color:#fff;
  position:relative;overflow:hidden;
}
@keyframes btnGrad{0%,100%{background-position:0% 50%;}50%{background-position:100% 50%;}}
.btn-primary::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(255,255,255,.12),transparent);
  opacity:0;transition:.35s;
}
/* Sweeping shine */
.btn-primary::after{
  content:'';position:absolute;top:0;left:-60%;width:45%;height:100%;
  background:linear-gradient(105deg,transparent,rgba(255,255,255,.5),transparent);
  transform:skewX(-20deg);
}
.btn-primary .kn-word{
  font-family:var(--kn);font-weight:800;letter-spacing:.02em;
  display:inline-block;text-transform:none;font-size:1.18em;
}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 16px 48px rgba(201,40,28,.55);}
.btn-primary:hover::before{opacity:1;}
@keyframes btnPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(230,53,40,.5);}
  50%{box-shadow:0 0 0 12px rgba(230,53,40,0);}
}
@keyframes btnShine{
  0%{left:-60%;}
  60%,100%{left:140%;}
}
@keyframes knPop{
  0%,100%{transform:scale(1);}
  50%{transform:scale(1.12);}
}
.btn-ghost{
  border:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.8);
  background:rgba(255,255,255,.04);backdrop-filter:blur(8px);
}
.btn-ghost:hover{
  border-color:rgba(200,137,26,.5);color:var(--gold2);
  background:rgba(200,137,26,.07);transform:translateY(-3px);
}

/* Stat strip */
.hero-stats{
  display:flex;gap:2.2rem;flex-wrap:wrap;margin-top:2.6rem;
  padding-top:2rem;border-top:1px solid rgba(255,255,255,.07);
  opacity:0;animation:fadeUp .8s ease .88s forwards;
}
.hstat .num{
  font-family:var(--serif);font-size:1.8rem;font-weight:800;
  background:linear-gradient(120deg,#fff,rgba(255,255,255,.7));
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  line-height:1;
}
.hstat .lbl{font-size:.55rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.3);margin-top:.25rem;}

/* ── RIGHT COLUMN ── */
.hero-right{
  position:relative;z-index:5;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:9rem 6rem 7rem 3rem;gap:2.4rem;
}
.hero-right-inner{
  display:flex;flex-direction:column;align-items:center;gap:2.4rem;width:100%;
}

/* Logo */
.hero-logo-wrap{
  position:relative;width:190px;height:190px;flex-shrink:0;
  opacity:0;animation:fadeIn 1s ease .28s forwards;
  display:flex;align-items:center;justify-content:center;
}
.logo-ring-outer,.logo-ring-mid,.logo-ring-inner,.logo-particle{display:none;}
.hero-logo-wrap::before{
  content:'';position:absolute;inset:-3px;border-radius:50%;
  background:conic-gradient(var(--s),var(--gold2),#fff,var(--g),var(--s));
  animation:spin 5s linear infinite;z-index:0;
}
.hero-logo-wrap::after{
  content:'';position:absolute;inset:2px;border-radius:50%;
  background:var(--dark);z-index:1;
}
.hero-logo-img{
  width:100%;height:100%;border-radius:50%;object-fit:cover;
  position:relative;z-index:2;
  box-shadow:0 8px 40px rgba(0,0,0,.7);
}

/* Stat cards grid */
.hero-cards{
  display:grid;grid-template-columns:1fr 1fr;gap:.75rem;width:100%;max-width:320px;
  opacity:0;animation:fadeUp .9s ease .46s forwards;
}
.hcard{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;padding:1.1rem 1rem;
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  transition:.3s var(--ease-out-expo);
  position:relative;overflow:hidden;
}
.hcard::before{
  content:'';position:absolute;inset:0;border-radius:inherit;
  background:linear-gradient(135deg,rgba(255,255,255,.05),transparent);
  opacity:0;transition:.3s;
}
.hcard:hover{
  background:rgba(255,255,255,.07);
  border-color:rgba(200,137,26,.3);
  transform:translateY(-4px);
  box-shadow:0 12px 32px rgba(0,0,0,.3);
}
.hcard:hover::before{opacity:1;}
.hcard-icon{font-size:1.3rem;margin-bottom:.5rem;display:block;}
.hcard-text .hcard-num{
  font-family:var(--serif);font-size:1.55rem;font-weight:800;color:#fff;line-height:1;
}
.hcard-text .hcard-lbl{
  font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(255,255,255,.38);margin-top:.3rem;line-height:1.4;
}

/* Scroll cue */
.scroll-cue{
  position:absolute;bottom:3.6rem;left:50%;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:.5rem;z-index:10;
  opacity:0;animation:fadeIn 1s ease 1.3s forwards;
}
.scroll-cue .mouse{
  width:20px;height:32px;border:1.5px solid rgba(255,255,255,.2);
  border-radius:12px;position:relative;
}
.scroll-cue .mouse::after{
  content:'';position:absolute;top:5px;left:50%;
  transform:translateX(-50%);width:2px;height:6px;
  background:linear-gradient(to bottom,var(--gold2),transparent);
  border-radius:2px;animation:scrollDot 1.6s ease-in-out infinite;
}
.scroll-cue .lbl{font-size:.5rem;letter-spacing:.24em;text-transform:uppercase;color:rgba(255,255,255,.2);}

/* Flag wave divider */

/* Animated flag-color banner ribbon */
.hero-banner{
  position:absolute;bottom:0;left:0;right:0;z-index:6;pointer-events:auto;
  overflow:hidden;padding:.5rem 0;
  border-top:1px solid rgba(255,255,255,.12);
  box-shadow:0 -6px 24px rgba(236,22,17,.18);
  transform:translateY(100%);
  animation:bannerDrop .8s var(--ease-out-expo) .6s forwards;
  mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
}
/* flowing flag-color gradient (animated stops) */
.hero-banner::before{
  content:'';position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg,var(--s) 0%,var(--s2) 20%,var(--gold2) 40%,var(--g) 60%,var(--gold2) 80%,var(--s) 100%);
  background-size:200% 100%;
  animation:bannerFlow 8s linear infinite;
}
@keyframes bannerFlow{from{background-position:0% 50%;}to{background-position:200% 50%;}}
.hero-banner-track{
  display:flex;width:max-content;
  animation:bannerScroll 28s linear infinite;
}
.hero-banner-track span{
  font-family:var(--kn);font-size:.78rem;font-weight:700;letter-spacing:.06em;
  color:#fff;white-space:nowrap;padding:.15rem 0;
  text-shadow:0 1px 2px rgba(0,0,0,.35);
}
.hero-banner:hover .hero-banner-track{animation-play-state:paused;}
@keyframes bannerDrop{to{transform:translateY(0);}}
@keyframes bannerScroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}

.hero-divider{display:none;}

/* ── Community connectivity network ── */
.hero-net{
  position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.5;
  mask-image:radial-gradient(70% 60% at 50% 38%,transparent 30%,#000 100%);
  -webkit-mask-image:radial-gradient(70% 60% at 50% 38%,transparent 30%,#000 100%);
  animation:netDrift 24s ease-in-out infinite alternate;
}
.net-svg{width:100%;height:100%;}
.net-links line{
  stroke-dasharray:6 8;
  animation:netFlow 3.5s linear infinite;
}
.net-links line:nth-child(2n){animation-duration:5s;animation-direction:reverse;}
.net-links line:nth-child(3n){animation-duration:4.2s;}
.net-nodes circle{
  filter:drop-shadow(0 0 5px rgba(224,160,48,.8));
  transform-origin:center;transform-box:fill-box;
  animation:nodePulse 3.2s ease-in-out infinite;
}
.net-nodes circle:nth-child(2n){animation-delay:.6s;fill:#ff6b5b;}
.net-nodes circle:nth-child(3n){animation-delay:1.2s;}
.net-nodes circle:nth-child(4n){animation-delay:1.8s;}
@keyframes netFlow{to{stroke-dashoffset:-28;}}
@keyframes nodePulse{0%,100%{opacity:.5;transform:scale(.85);}50%{opacity:1;transform:scale(1.25);}}
@keyframes netDrift{from{transform:translate(-1.2%,-1%);}to{transform:translate(1.2%,1%);}}
@media(max-width:760px){.hero-net{opacity:.32;}}

/* ── Rising embers ── */
.hero-fx{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden;}
.ember{
  position:absolute;bottom:-20px;width:5px;height:5px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,200,120,.95),rgba(236,22,17,.4) 70%,transparent);
  box-shadow:0 0 8px 1px rgba(255,170,80,.5);opacity:0;
  animation:emberRise linear infinite;
}
.ember:nth-child(1){left:8%; width:4px;height:4px;animation-duration:13s;animation-delay:0s;}
.ember:nth-child(2){left:18%;width:6px;height:6px;animation-duration:17s;animation-delay:3s;}
.ember:nth-child(3){left:27%;width:3px;height:3px;animation-duration:11s;animation-delay:6s;}
.ember:nth-child(4){left:36%;width:5px;height:5px;animation-duration:19s;animation-delay:1.5s;}
.ember:nth-child(5){left:45%;width:4px;height:4px;animation-duration:14s;animation-delay:8s;}
.ember:nth-child(6){left:54%;width:6px;height:6px;animation-duration:21s;animation-delay:4s;}
.ember:nth-child(7){left:63%;width:3px;height:3px;animation-duration:12s;animation-delay:10s;}
.ember:nth-child(8){left:71%;width:5px;height:5px;animation-duration:18s;animation-delay:2s;}
.ember:nth-child(9){left:80%;width:4px;height:4px;animation-duration:15s;animation-delay:7s;}
.ember:nth-child(10){left:88%;width:6px;height:6px;animation-duration:20s;animation-delay:5s;}
.ember:nth-child(11){left:33%;width:3px;height:3px;animation-duration:16s;animation-delay:11s;}
.ember:nth-child(12){left:60%;width:4px;height:4px;animation-duration:13s;animation-delay:9s;}
@keyframes emberRise{
  0%  {opacity:0;transform:translateY(0) translateX(0) scale(.6);}
  10% {opacity:.9;}
  50% {transform:translateY(-55vh) translateX(24px) scale(1);}
  85% {opacity:.7;}
  100%{opacity:0;transform:translateY(-105vh) translateX(-18px) scale(.5);}
}

/* ── Slow rotating light sweep ── */
.hero-sweep{
  position:absolute;top:50%;left:50%;width:160vmax;height:160vmax;z-index:0;
  transform:translate(-50%,-50%);pointer-events:none;
  background:conic-gradient(from 0deg,
    transparent 0deg,rgba(236,22,17,.06) 40deg,transparent 90deg,
    transparent 180deg,rgba(224,160,48,.06) 220deg,transparent 270deg);
  animation:sweepRotate 40s linear infinite;
  mask-image:radial-gradient(closest-side,transparent 30%,#000 75%);
  -webkit-mask-image:radial-gradient(closest-side,transparent 30%,#000 75%);
}
@keyframes sweepRotate{to{transform:translate(-50%,-50%) rotate(360deg);}}
@media(max-width:760px){.ember{display:none;}}

/* ── Landmark skyline scene ── */
.hero-scene{
  position:absolute;left:0;right:0;bottom:0;height:46vh;min-height:300px;z-index:2;
  pointer-events:none;overflow:hidden;
  mask-image:linear-gradient(to top,#000 55%,transparent);
  -webkit-mask-image:linear-gradient(to top,#000 55%,transparent);
}
.scene-svg{position:absolute;bottom:0;left:0;width:100%;height:100%;}
/* atmospheric aurora haze drifting over the skyline */
.hero-scene::before{
  content:'';position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    radial-gradient(ellipse 60% 80% at 20% 100%,rgba(236,22,17,.16),transparent 60%),
    radial-gradient(ellipse 70% 90% at 80% 100%,rgba(224,160,48,.14),transparent 60%);
  filter:blur(20px);
  animation:hazeDrift 16s ease-in-out infinite alternate;
}
@keyframes hazeDrift{0%{transform:translateX(-4%);opacity:.8;}100%{transform:translateX(4%);opacity:1;}}
/* warm ground glow line */
.hero-scene::after{
  content:'';position:absolute;left:0;right:0;bottom:0;height:3px;z-index:3;
  background:linear-gradient(90deg,transparent,rgba(236,22,17,.5),rgba(224,160,48,.5),transparent);
  filter:blur(2px);animation:eyebrowGlow 5s ease-in-out infinite;
}
.layer-far{opacity:.85;animation:sceneDrift 26s ease-in-out infinite alternate;}
.layer-mid{opacity:.95;animation:sceneDrift 20s ease-in-out infinite alternate-reverse;}
.layer-near{animation:sceneDrift 14s ease-in-out infinite alternate;}
@keyframes sceneDrift{from{transform:translateX(-6px);}to{transform:translateX(6px);}}
.scene-star{
  position:absolute;width:3px;height:3px;border-radius:50%;background:#fff;
  box-shadow:0 0 6px 1px rgba(255,255,255,.6);opacity:0;
  animation:twinkle 4s ease-in-out infinite;
}
.scene-star.s1{top:14%;left:18%;animation-delay:0s;}
.scene-star.s2{top:9%;left:42%;animation-delay:.8s;}
.scene-star.s3{top:20%;left:63%;animation-delay:1.6s;}
.scene-star.s4{top:7%;left:78%;animation-delay:2.2s;}
.scene-star.s5{top:24%;left:88%;animation-delay:1.1s;width:2px;height:2px;}
.scene-star.s6{top:16%;left:30%;animation-delay:3s;width:2px;height:2px;}
@keyframes twinkle{0%,100%{opacity:0;transform:scale(.6);}50%{opacity:.9;transform:scale(1);}}
/* Karnataka dancer accent silhouettes */
.scene-dancer{
  position:absolute;bottom:8%;width:60px;height:120px;opacity:.55;
  filter:drop-shadow(0 0 10px rgba(224,160,48,.45));
  background:no-repeat center/contain;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 120' fill='%23e0a030'%3E%3Ccircle cx='30' cy='12' r='7'/%3E%3Cpath d='M30 20 C26 30 18 32 12 28 L10 34 C18 40 26 38 28 34 L26 70 L20 110 L26 112 L31 78 L36 112 L42 110 L34 70 L32 34 C34 38 42 40 50 34 L48 28 C42 32 34 30 30 20 Z'/%3E%3C/svg%3E");
}
.scene-dancer.d-left{left:6%;animation:dancerSway 3.4s ease-in-out infinite;}
.scene-dancer.d-right{right:6%;transform:scaleX(-1);animation:dancerSway 3.4s ease-in-out .6s infinite;}
@keyframes dancerSway{0%,100%{transform:rotate(-4deg);}50%{transform:rotate(4deg);}}
.scene-dancer.d-right{animation-name:dancerSwayR;}
@keyframes dancerSwayR{0%,100%{transform:scaleX(-1) rotate(-4deg);}50%{transform:scaleX(-1) rotate(4deg);}}

/* ── Centered hero content ── */
.hero-center{position:relative;z-index:5;max-width:880px;width:100%;
  display:flex;flex-direction:column;align-items:center;}
.hero-eyebrow{
  position:relative;overflow:hidden;
  font-family:var(--kn);font-size:.8rem;letter-spacing:.12em;font-weight:700;
  color:var(--gold2);margin-bottom:1.4rem;padding:.5rem 1.3rem;border-radius:100px;
  background:rgba(200,137,26,.08);border:1px solid rgba(200,137,26,.28);
  box-shadow:0 0 24px rgba(200,137,26,.12),inset 0 0 12px rgba(200,137,26,.06);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  opacity:0;animation:fadeUp .7s ease .1s forwards;
}
.hero-eyebrow::after{
  content:'';position:absolute;top:0;left:-50%;width:40%;height:100%;
  background:linear-gradient(105deg,transparent,rgba(255,221,150,.45),transparent);
  transform:skewX(-20deg);
}
@keyframes eyebrowGlow{0%,100%{box-shadow:0 0 24px rgba(200,137,26,.12),inset 0 0 12px rgba(200,137,26,.06);}50%{box-shadow:0 0 34px rgba(200,137,26,.28),inset 0 0 16px rgba(200,137,26,.1);}}
.hero-title{
  position:relative;
  font-family:var(--serif);font-weight:700;line-height:1.06;letter-spacing:-.02em;
  font-size:clamp(2.4rem,6vw,4.6rem);color:#fff;margin-bottom:1.6rem;
  opacity:0;animation:fadeUp .8s ease .22s forwards;
}
/* soft aurora glow blooming behind the title */
.hero-title::before{
  content:'';position:absolute;z-index:-1;left:50%;top:50%;
  width:120%;height:240%;transform:translate(-50%,-50%);
  background:radial-gradient(ellipse 50% 50% at 50% 50%,rgba(236,22,17,.18),transparent 60%),
             radial-gradient(ellipse 45% 45% at 70% 40%,rgba(224,160,48,.16),transparent 65%);
  filter:blur(40px);pointer-events:none;
  animation:auroraBloom 7s ease-in-out infinite alternate;
}
@keyframes auroraBloom{
  0%{opacity:.6;transform:translate(-52%,-50%) scale(.96);}
  100%{opacity:1;transform:translate(-48%,-50%) scale(1.06);}
}
.hero-title-grad{
  position:relative;display:inline-block;
  padding-bottom:.12em;line-height:1.15;
  background:linear-gradient(110deg,var(--s2) 0%,#ff6b5b 28%,#fff 46%,var(--gold3) 60%,#ff6b5b 78%,var(--gold2) 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  background-size:100% auto;
  -webkit-font-smoothing:antialiased;
}
.hero-lede{
  max-width:600px;font-size:clamp(.95rem,1.6vw,1.15rem);line-height:1.8;
  color:rgba(255,255,255,.6);margin-bottom:1.8rem;
  opacity:0;animation:fadeUp .8s ease .34s forwards;
}
.hero-values{
  list-style:none;display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;justify-content:center;
  margin-bottom:2.4rem;padding:0;
  opacity:0;animation:fadeUp .8s ease .46s forwards;
}
.hero-values li{
  display:inline-flex;align-items:center;gap:.55rem;
  font-size:.9rem;font-weight:500;color:rgba(255,255,255,.85);
  padding:.4rem 1rem;border-radius:100px;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  transition:.4s var(--ease-out-expo);
}
.hero-values li:hover{
  background:rgba(255,255,255,.07);border-color:rgba(224,160,48,.35);
  transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.3);
}
.hv-dot{width:7px;height:7px;border-radius:50%;
  background:linear-gradient(135deg,var(--s2),var(--gold2));
  box-shadow:0 0 10px rgba(224,160,48,.6);animation:dotPulse 2.4s ease-in-out infinite;}
.hero-values li:nth-child(2) .hv-dot{animation-delay:.4s;}
.hero-values li:nth-child(3) .hv-dot{animation-delay:.8s;}
@keyframes dotPulse{0%,100%{transform:scale(1);opacity:.8;}50%{transform:scale(1.4);opacity:1;}}
.hero-btns{justify-content:center;animation-delay:.58s;}
.hero-center .hero-cards{
  display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;
  max-width:680px;width:100%;margin-top:3rem;
  opacity:0;animation:fadeUp .9s ease .7s forwards;text-align:left;
}
/* premium stat cards: gradient top accent, glow, gentle float */
.hero-center .hcard{
  isolation:isolate;
  animation:cardFloat 6s ease-in-out infinite;
}
.hero-center .hcard:nth-child(2){animation-delay:.6s;}
.hero-center .hcard:nth-child(3){animation-delay:1.2s;}
.hero-center .hcard:nth-child(4){animation-delay:1.8s;}
.hero-center .hcard::after{
  content:'';position:absolute;top:0;left:14%;right:14%;height:2px;border-radius:2px;
  background:linear-gradient(90deg,transparent,var(--s2),var(--gold3),transparent);
  opacity:.7;
}
.hero-center .hcard:hover{animation-play-state:paused;}
.hero-center .hcard .hcard-num{
  background:linear-gradient(120deg,#fff,var(--gold3));
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
@keyframes cardFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-6px);}}
@media(max-width:760px){
  .hero-center .hero-cards{grid-template-columns:repeat(2,1fr);max-width:380px;}
  .scene-dancer{display:none;}
}

/* Responsive */
@media(max-width:900px){
  #hero{padding:6rem 1.4rem 4rem;}
  .hero-scene{height:38vh;}
}

/* ════ shared section ════ */
section{position:relative;padding:5rem 1.5rem;}
.wrap{max-width:1160px;margin:0 auto;}
.sec-tag{font-size:.65rem;font-weight:700;letter-spacing:.38em;text-transform:uppercase;
  color:var(--gold);display:inline-flex;align-items:center;gap:.7rem;margin-bottom:1.3rem;
  padding:.42rem 1rem .42rem .5rem;border-radius:30px;
  background:rgba(200,137,26,.08);border:1px solid rgba(200,137,26,.2);}
.sec-tag::before{content:'';width:22px;height:1.5px;background:linear-gradient(90deg,var(--s),var(--gold2));}
.sec-title{font-family:var(--serif);font-weight:700;color:var(--ink);
  font-size:clamp(2.2rem,5vw,3.8rem);line-height:1.04;margin-bottom:1.5rem;letter-spacing:-.02em;}
.sec-title .kn{font-family:var(--kn);font-weight:700;font-size:.76em;
  background:linear-gradient(120deg,var(--s),var(--gold2) 50%,var(--g));
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.divider{height:1px;background:linear-gradient(90deg,transparent,var(--line2),transparent);
  max-width:1160px;margin:0 auto;}

/* Premium card base */
.lux{position:relative;border-radius:24px;background:var(--panel2);
  border:1px solid var(--line);box-shadow:0 2px 16px rgba(40,34,20,.04),0 8px 32px rgba(40,34,20,.04);
  transition:.55s var(--ease-out-expo);overflow:hidden;}
.lux::before{content:'';position:absolute;inset:0;border-radius:inherit;padding:1px;
  background:linear-gradient(135deg,rgba(201,40,28,.55),transparent 30%,transparent 65%,rgba(15,37,72,.45));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:.5s;}
.lux::after{content:'';position:absolute;top:0;left:-60%;width:45%;height:100%;
  background:linear-gradient(105deg,transparent,rgba(255,255,255,.28),transparent);
  transform:skewX(-18deg);transition:.75s var(--ease-out-expo);opacity:0;}
.lux:hover{transform:translateY(-10px);
  box-shadow:0 32px 70px rgba(40,34,20,.16),0 12px 28px rgba(40,34,20,.08);}
.lux:hover::before{opacity:1;}
.lux:hover::after{left:135%;opacity:1;}

/* ── About ── */
#about{
  background:linear-gradient(160deg,#faf6ee 0%,#f5ecda 55%,#faf6ee 100%);
  padding:6rem 0;position:relative;overflow:hidden;
}
#about::before{
  content:'';position:absolute;top:-120px;right:-80px;
  width:480px;height:480px;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(200,137,26,.12),transparent 65%);
}
#about::after{
  content:'';position:absolute;bottom:-100px;left:-60px;
  width:360px;height:360px;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(201,40,28,.08),transparent 65%);
}
.about-shell{
  position:relative;z-index:1;
  display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;
}

/* ─ Left: content panel ─ */
.about-content{}
.about-content .sec-tag{margin-bottom:1.4rem;}
.about-headline{font-family:var(--serif);font-weight:700;font-size:clamp(2rem,3.8vw,3rem);
  color:var(--ink);line-height:1.1;letter-spacing:-.02em;margin-bottom:1.4rem;}
.about-headline em{font-style:normal;
  background:linear-gradient(110deg,var(--s2),var(--gold2));
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.about-lead{font-size:.98rem;line-height:1.95;color:var(--muted);margin-bottom:2.2rem;max-width:52ch;}

/* Mission / Vision row */
.about-mv{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:2rem;}
.about-mv-card{
  padding:1.4rem 1.3rem;border-radius:20px;
  background:rgba(255,255,255,.8);backdrop-filter:blur(8px);
  border:1px solid rgba(40,30,10,.07);
  box-shadow:0 4px 20px rgba(40,30,10,.05);
  transition:.3s var(--ease-out-expo);
}
.about-mv-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(40,30,10,.1);}
.about-mv-card-icon{font-size:1.4rem;margin-bottom:.6rem;display:block;}
.about-mv-card strong{display:block;font-family:var(--serif);font-size:.95rem;font-weight:700;
  color:var(--ink);margin-bottom:.4rem;}
.about-mv-card p{font-size:.83rem;line-height:1.75;color:var(--muted);margin:0;}

/* Values row */
.about-values-label{font-size:.6rem;font-weight:700;letter-spacing:.28em;text-transform:uppercase;
  color:var(--gold);margin-bottom:.7rem;}
.about-values-pills{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:2rem;}
.about-values-pills span{
  padding:.38rem .85rem;border-radius:999px;font-size:.78rem;font-weight:500;
  color:var(--ink2);background:rgba(15,37,72,.05);border:1px solid rgba(15,37,72,.1);
  transition:.25s;
}
.about-values-pills span:hover{background:rgba(200,137,26,.1);border-color:rgba(200,137,26,.25);color:var(--ink);}


/* ─ Right: photo composition ─ */
.about-visual{position:relative;height:580px;}
.about-img-main{
  position:absolute;top:0;right:0;width:82%;height:74%;
  border-radius:28px;overflow:hidden;
  box-shadow:0 30px 70px rgba(15,37,72,.2);
}
.about-img-main img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.1s var(--ease-out-expo);}
.about-img-main:hover img{transform:scale(1.04);}
.about-img-accent{
  position:absolute;bottom:0;left:0;width:52%;height:46%;
  border-radius:24px;overflow:hidden;
  border:4px solid #fff;
  box-shadow:0 20px 50px rgba(0,0,0,.16);
  z-index:2;
}
.about-img-accent img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.1s var(--ease-out-expo);}
.about-img-accent:hover img{transform:scale(1.05);}
.about-stat-card{
  position:absolute;bottom:0;right:2%;width:40%;z-index:3;
  padding:1.4rem 1.3rem;border-radius:22px;
  background:rgba(255,255,255,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(200,137,26,.2);
  box-shadow:0 16px 40px rgba(40,30,10,.12);
}
.about-stat-card-num{
  font-family:var(--serif);font-size:2.6rem;font-weight:800;line-height:1;
  background:linear-gradient(120deg,var(--s2),var(--gold2));
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.about-stat-card-lbl{font-size:.6rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:var(--muted);margin:.3rem 0 .6rem;}
.about-stat-card p{font-size:.78rem;line-height:1.7;color:var(--muted);margin:0;}
.about-img-deco{
  position:absolute;top:10%;left:-3%;width:110px;height:110px;border-radius:50%;z-index:0;pointer-events:none;
  background:conic-gradient(var(--s2),var(--gold2),var(--g),var(--s2));
  opacity:.18;filter:blur(1px);
  animation:spin 18s linear infinite;
}

@media(max-width:960px){
  .about-shell{grid-template-columns:1fr;gap:2.5rem;}
  .about-visual{height:480px;}
  .about-mv{gap:.8rem;}
}
@media(max-width:600px){
  #about{padding:4rem 1.25rem;}
  .about-mv{grid-template-columns:1fr;}
  .about-join-grid{grid-template-columns:1fr;}
  .about-visual{height:380px;}
  .about-img-main{width:88%;height:68%;}
  .about-img-accent{width:50%;height:40%;}
  .about-stat-card{right:0;width:46%;}
}

/* ── Why Join Us ── */
#why-join{
  background:linear-gradient(160deg,var(--dark) 0%,var(--dark2) 40%,#0d1e3a 100%);
  padding:6rem 1.5rem;position:relative;overflow:hidden;
}
#why-join::before{
  content:'';position:absolute;top:-20%;left:-10%;
  width:55vw;height:55vw;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(201,40,28,.14),transparent 65%);
  filter:blur(60px);
}
#why-join::after{
  content:'';position:absolute;bottom:-20%;right:-8%;
  width:45vw;height:45vw;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(200,137,26,.12),transparent 65%);
  filter:blur(60px);
}
.wj-head{text-align:center;margin-bottom:3.5rem;position:relative;z-index:1;}
.wj-head .sec-tag{color:var(--gold2);background:rgba(200,137,26,.1);border-color:rgba(200,137,26,.25);display:inline-flex;margin-bottom:1.2rem;}
.wj-head .sec-tag::before{background:linear-gradient(90deg,var(--gold2),transparent);}
.wj-title{font-family:var(--serif);font-weight:700;font-size:clamp(2rem,4vw,3.2rem);
  line-height:1.1;letter-spacing:-.02em;color:#fff;margin-bottom:.9rem;}
.wj-title em{font-style:normal;
  background:linear-gradient(110deg,var(--s2),#ff7a6a 40%,var(--gold2));
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.wj-sub{color:rgba(255,255,255,.45);font-size:.97rem;max-width:48ch;margin:0 auto;}
.wj-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;
  position:relative;z-index:1;
}
.wj-card{
  padding:1.7rem 1.4rem;border-radius:20px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.07);
  transition:.4s var(--ease-out-expo);
  position:relative;overflow:hidden;
  cursor:default;
}
.wj-card::before{
  content:'';position:absolute;inset:0;border-radius:inherit;
  background:linear-gradient(135deg,rgba(255,255,255,.06),transparent 55%);
  opacity:0;transition:.4s;
}
.wj-card:hover{
  transform:translateY(-8px);
  background:rgba(255,255,255,.07);
  border-color:rgba(200,137,26,.3);
  box-shadow:0 24px 50px rgba(0,0,0,.35);
}
.wj-card:hover::before{opacity:1;}
.wj-card-icon{
  width:46px;height:46px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  font-size:1.3rem;margin-bottom:1.1rem;
  background:linear-gradient(135deg,rgba(201,40,28,.25),rgba(200,137,26,.18));
  border:1px solid rgba(200,137,26,.2);
  box-shadow:0 6px 20px rgba(201,40,28,.15);
}
.wj-card h4{font-size:.9rem;font-weight:700;color:#fff;margin-bottom:.2rem;letter-spacing:-.01em;}
.wj-card-kn{font-size:.82rem;font-weight:600;color:#d4951a;margin-bottom:.45rem;letter-spacing:.01em;}
.wj-card p{font-size:.78rem;line-height:1.75;color:rgba(255,255,255,.42);margin:0;}
.wj-card-accent{
  position:absolute;top:0;left:0;right:0;height:2px;border-radius:2px 2px 0 0;
  background:linear-gradient(90deg,var(--s2),var(--gold2));
  opacity:0;transition:.4s;
}
.wj-card:hover .wj-card-accent{opacity:1;}
@media(max-width:960px){.wj-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.wj-grid{grid-template-columns:1fr 1fr;gap:.75rem;}
  .wj-card{padding:1.2rem 1rem;}
}
/* ── Stats ── */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;margin-top:4.8rem;}
.stat{text-align:center;padding:2.6rem 1.2rem;
  background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(243,236,224,.6));}
.stat .num{font-family:var(--serif);font-size:3.4rem;font-weight:800;
  background:linear-gradient(135deg,var(--s2),var(--gold2) 60%,var(--g2));
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;line-height:1;}
.stat .lbl{font-size:.63rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold);margin-top:.9rem;position:relative;font-weight:600;}

/* ── Mission — editorial sticky split ── */
#mission{position:relative;overflow:hidden;
  background:linear-gradient(135deg,#f4eee2,#efe6d3,#f6efe0,#ece3d0);
  background-size:400% 400%;animation:missionGradient 22s ease infinite;}
@keyframes missionGradient{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
/* floating glow orbs */
#mission::before,#mission::after{content:'';position:absolute;border-radius:50%;pointer-events:none;
  filter:blur(70px);opacity:.5;z-index:0;}
#mission::before{width:42vw;height:42vw;top:-12%;left:-8%;
  background:radial-gradient(circle,rgba(200,137,26,.32),transparent 65%);
  animation:orbA 26s ease-in-out infinite;}
#mission::after{width:38vw;height:38vw;bottom:-14%;right:-6%;
  background:radial-gradient(circle,rgba(160,82,45,.26),transparent 65%);
  animation:orbB 32s ease-in-out infinite;}
@keyframes orbA{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(8vw,6vh) scale(1.18)}}
@keyframes orbB{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-7vw,-5vh) scale(1.12)}}
@media(prefers-reduced-motion:reduce){
  #mission,#mission::before,#mission::after{animation:none;}
}
#mission>.wrap{position:relative;z-index:1;}
/* centered header */
.mission-head{max-width:680px;margin:0 auto 3.4rem;text-align:center;display:flex;flex-direction:column;align-items:center;}
.mission-head .sec-tag{margin-bottom:1.4rem;}
.mission-head h2 em{font-style:italic;color:var(--gold);}
.mission-head p{font-size:1rem;color:var(--muted);line-height:1.85;max-width:46ch;}
/* goal cards grid — image banner on top */
.goal-rows{display:grid;grid-template-columns:repeat(3,1fr);gap:1.8rem;}
.goal{position:relative;display:flex;flex-direction:column;border-radius:24px;overflow:hidden;
  background:linear-gradient(160deg,rgba(255,255,255,.95),rgba(243,236,224,.55));
  border:1px solid rgba(255,255,255,.7);
  box-shadow:0 14px 40px rgba(40,34,20,.08);
  transition:transform .55s var(--ease-out-expo),box-shadow .55s var(--ease-out-expo),border-color .4s;}
.goal:hover{transform:translateY(-7px);border-color:rgba(200,137,26,.35);
  box-shadow:0 30px 66px rgba(40,34,20,.16);}
.gmedia{position:relative;width:100%;height:180px;overflow:hidden;}
.gmedia img{width:100%;height:100%;object-fit:cover;transition:1.1s var(--ease-out-expo);}
.goal:hover .gmedia img{transform:scale(1.08);}
.gmedia::after{content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(40,34,20,0) 45%,rgba(40,34,20,.5));}
.gmedia .gnum{position:absolute;left:1.4rem;bottom:1rem;z-index:1;font-family:var(--serif);font-weight:300;
  font-size:2.4rem;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.45);line-height:1;}
.gbody{padding:1.6rem 1.8rem 2rem;display:flex;flex-direction:column;flex:1;}
.gbody h3{font-family:var(--kn);font-weight:700;font-size:clamp(1.15rem,1.9vw,1.4rem);line-height:1.3;
  margin-bottom:.7rem;color:var(--ink);transition:.4s var(--ease-out-expo);}
.goal:hover .gbody h3{color:var(--s);}
.gbody p{font-size:.92rem;color:var(--muted);line-height:1.7;}
@media(max-width:860px){
  .goal-rows{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:480px){
  .mission-head{margin-bottom:2.4rem;}
  .goal-rows{grid-template-columns:1fr;}
  .gmedia{width:100%;height:200px;}
}

/* ── Events / Festival calendar ── */
#events{background:linear-gradient(180deg,var(--cream) 0%,var(--cream2) 100%);text-align:center;padding-bottom:2rem;}
#communities{padding-top:2.5rem;}
.ev-controls{display:flex;align-items:center;justify-content:center;gap:1.4rem;margin-top:2.6rem;}
.ev-yr-btn{width:42px;height:42px;border-radius:50%;border:1.5px solid var(--line2);background:#fff;
  color:var(--ink);font-size:1.4rem;line-height:1;cursor:pointer;display:grid;place-items:center;
  transition:.3s var(--ease-out-expo);font-family:var(--serif);}
.ev-yr-btn:hover{border-color:var(--gold2);color:var(--s);transform:translateY(-2px);box-shadow:0 8px 22px rgba(40,34,20,.12);}
.ev-year{font-family:var(--serif);font-size:2rem;font-weight:700;letter-spacing:-.02em;min-width:5.5rem;color:var(--ink);}

.ev-next{max-width:560px;margin:1.8rem auto 0;background:linear-gradient(135deg,var(--dark2),var(--dark3));
  border-radius:18px;padding:1.4rem 1.8rem;display:flex;align-items:center;gap:1.2rem;text-align:left;
  box-shadow:0 20px 48px rgba(0,0,0,.22);border:1px solid rgba(224,160,48,.18);}
.ev-next-emoji{font-size:2.4rem;line-height:1;flex-shrink:0;}
.ev-next-txt{flex:1;}
.ev-next-lbl{font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold2);font-weight:700;margin-bottom:.25rem;}
.ev-next-name{font-family:var(--serif);font-size:1.25rem;font-weight:600;color:#fff;line-height:1.15;}
.ev-next-date{font-size:.82rem;color:rgba(255,255,255,.62);margin-top:.15rem;}
.ev-next-cd{flex-shrink:0;text-align:center;background:rgba(224,160,48,.12);border:1px solid rgba(224,160,48,.25);
  border-radius:12px;padding:.6rem .9rem;}
.ev-next-cd b{display:block;font-family:var(--serif);font-size:1.5rem;font-weight:700;color:var(--gold3);line-height:1;}
.ev-next-cd span{font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.5);}

.ev-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.3rem;margin-top:3.2rem;}
.activity-showcase{position:relative;overflow:hidden;margin-top:4rem;border:1px solid rgba(214,171,88,.16);border-radius:28px;
  background:
    radial-gradient(circle at 12% 20%,rgba(202,74,36,.18),transparent 30%),
    linear-gradient(135deg,#1b2435 0%,#111722 100%);
  box-shadow:0 22px 48px rgba(23,18,12,.18);}
.activity-showcase::after{content:'';position:absolute;inset:0;border-radius:28px;border:1px solid rgba(255,255,255,.06);pointer-events:none;z-index:2;}
.activity-shell{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;align-items:stretch;gap:0;}
.activity-body{padding:2.6rem 2.8rem;display:flex;flex-direction:column;justify-content:center;}
.activity-head .sec-tag{color:#f3c65b;border-color:rgba(243,198,91,.24);background:rgba(255,255,255,.04);}
.activity-kicker{font-size:.92rem;font-weight:700;letter-spacing:.03em;color:#f1c65b;margin-top:.8rem;}
.activity-title{font-family:var(--serif);font-size:clamp(1.7rem,3vw,2.4rem);line-height:1.08;color:#fff;margin-top:.5rem;}
.activity-copy{margin:.8rem 0 0;font-size:.95rem;line-height:1.7;color:rgba(255,255,255,.74);}
.activity-grid{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.6rem;}
.activity-card{display:flex;align-items:center;gap:.55rem;padding:.5rem .85rem .5rem .5rem;border-radius:999px;min-height:0;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);}
.activity-icon{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;flex-shrink:0;
  background:linear-gradient(135deg,rgba(201,40,28,.28),rgba(224,160,48,.34));color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.18);}
.activity-icon svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.activity-card h4{font-size:.84rem;font-weight:700;color:#fff;margin:0;line-height:1.2;}
.activity-cta{display:inline-flex;align-self:center;align-items:center;margin-top:1.8rem;padding:.85rem 1.8rem;border-radius:14px;
  background:linear-gradient(135deg,#ff6a3d,#f13e2f);color:#fff;font-size:.85rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  box-shadow:0 14px 30px rgba(200,64,41,.32);}
.activity-cta:hover{transform:translateY(-2px);box-shadow:0 18px 36px rgba(200,64,41,.38);}
.activity-media{position:relative;overflow:hidden;min-height:100%;}
.activity-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.12);will-change:transform;transition:transform .15s linear;}
.activity-media::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#111722 0%,transparent 26%);}
@media (max-width:800px){
  .activity-shell{grid-template-columns:1fr;}
  .activity-body{padding:2rem 1.4rem;order:2;}
  .activity-media{order:1;min-height:200px;height:200px;}
  .activity-media::after{background:linear-gradient(0deg,#111722 0%,transparent 40%);}
  .activity-cta{align-self:stretch;justify-content:center;}
}
.community-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.3rem;margin-top:3rem;}
.community-card{position:relative;overflow:hidden;padding:1.6rem 1.4rem 1.5rem;text-align:left;border-radius:24px;display:flex;flex-direction:column;gap:.9rem;
  --cc1:#c9281c;--cc2:#e0a030;
  background:#fff;border:1px solid var(--line);
  transition:transform .45s var(--ease-out-expo),box-shadow .45s var(--ease-out-expo),border-color .45s;}
.community-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--cc1),var(--cc2));
  transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease-out-expo);}
.community-card::after{content:'';position:absolute;inset:0;border-radius:24px;pointer-events:none;opacity:0;transition:opacity .45s;
  background:radial-gradient(120% 80% at 100% 0%,color-mix(in srgb,var(--cc2) 14%,transparent),transparent 60%);}
.community-card:hover{transform:translateY(-8px);box-shadow:0 24px 48px rgba(40,34,20,.16);border-color:transparent;}
.community-card:hover::before{transform:scaleX(1);}
.community-card:hover::after{opacity:1;}
.community-card:nth-child(1){--cc1:#c9281c;--cc2:#e0a030;}
.community-card:nth-child(2){--cc1:#1f9d8a;--cc2:#3bc4a0;}
.community-card:nth-child(3){--cc1:#5b54d6;--cc2:#9b6fe0;}
.community-card:nth-child(4){--cc1:#e0762a;--cc2:#f0b53a;}
.community-card:nth-child(5){--cc1:#2a7fe0;--cc2:#4fb3e8;}
.community-card:nth-child(6){--cc1:#d6326b;--cc2:#f06a8a;}
.community-card:nth-child(7){--cc1:#3a9d3a;--cc2:#8fcf4f;}
.community-top{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;}
.community-city{font-family:var(--serif);font-size:1.3rem;font-weight:700;color:var(--ink);line-height:1.1;transition:color .35s;}
.community-card:hover .community-city{color:var(--cc1);}
.community-region{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--cc1);font-weight:700;}
.community-count{font-size:.75rem;color:var(--muted);}
.community-pills{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:.45rem;}
.community-pills span{font-size:.68rem;padding:.34rem .62rem;border-radius:999px;
  background:color-mix(in srgb,var(--cc1) 9%,transparent);color:var(--cc1);border:1px solid color-mix(in srgb,var(--cc1) 18%,transparent);
  transition:transform .3s var(--ease-out-expo),background .3s,color .3s;}
.community-card:hover .community-pills span{transform:translateY(-2px);}
.community-pills span:hover{background:linear-gradient(135deg,var(--cc1),var(--cc2));color:#fff;}
.community-card p{position:relative;z-index:1;font-size:.82rem;color:var(--muted);line-height:1.7;}
/* ── Student Hub ── */
#students{padding:0;background:var(--cream);}
.stud-hero{position:relative;overflow:hidden;padding:5.5rem 1.5rem 4rem;
  background:linear-gradient(145deg,#0d1117 0%,#1b2435 50%,#0f2040 100%);}
.stud-hero-bg{position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(ellipse 55% 60% at 10% 50%,rgba(91,84,214,.22),transparent),
    radial-gradient(ellipse 40% 50% at 90% 20%,rgba(224,160,48,.15),transparent),
    radial-gradient(ellipse 30% 40% at 70% 80%,rgba(63,196,160,.12),transparent);}
.stud-hero-bg::after{content:'';position:absolute;inset:0;
  background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Ccircle cx='30' cy='30' r='1' fill='rgba(255,255,255,0.04)'/%3E%3C/g%3E%3C/svg%3E");
  opacity:.6;}
.stud-hero-inner{position:relative;z-index:1;text-align:center;max-width:800px;margin:0 auto;}
.stud-tag{color:#f3c65b;border-color:rgba(243,198,91,.24);background:rgba(255,255,255,.06);margin:0 auto 1.6rem;}
.stud-headline{font-family:var(--serif);font-size:clamp(2rem,5vw,3.6rem);line-height:1.05;color:#fff;margin-bottom:1rem;}
.stud-headline em{font-style:normal;background:linear-gradient(90deg,#f0b53a,#f06a8a 50%,#9b6fe0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.stud-sub{font-size:1.05rem;color:rgba(255,255,255,.7);line-height:1.8;max-width:640px;margin:0 auto 2.4rem;}
.stud-stats{display:flex;align-items:center;justify-content:center;gap:2rem;flex-wrap:wrap;}
.stud-stat{display:flex;flex-direction:column;align-items:center;gap:.2rem;}
.stud-stat-n{font-family:var(--serif);font-size:2rem;font-weight:700;color:#fff;line-height:1;}
.stud-stat-l{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.5);}
.stud-stat-div{width:1px;height:36px;background:rgba(255,255,255,.15);}

.stud-grid-wrap{padding-top:3rem;padding-bottom:4rem;}
.stud-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;}
.stud-card{background:#fff;border-radius:24px;overflow:hidden;border:1px solid var(--line);display:flex;flex-direction:column;
  transition:transform .45s var(--ease-out-expo),box-shadow .45s var(--ease-out-expo);
  --sc1:#5b54d6;--sc2:#9b6fe0;}
.stud-card:hover{transform:translateY(-10px);box-shadow:0 28px 56px rgba(40,34,20,.14);}
.stud-card-top{position:relative;height:110px;
  background:linear-gradient(135deg,var(--sc1),var(--sc2));
  display:flex;align-items:center;justify-content:center;overflow:hidden;}
.stud-card-glow{position:absolute;width:120px;height:120px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.22),transparent 70%);
  top:-20px;right:-20px;transition:transform .6s var(--ease-out-expo);}
.stud-card:hover .stud-card-glow{transform:scale(1.5);}
.stud-card-ico{font-size:3rem;line-height:1;position:relative;z-index:1;
  transition:transform .45s var(--ease-spring),filter .45s;}
.stud-card:hover .stud-card-ico{transform:scale(1.18) translateY(-4px);filter:drop-shadow(0 8px 16px rgba(0,0,0,.3));}
.stud-card-body{padding:1.5rem 1.4rem 1.6rem;display:flex;flex-direction:column;gap:.5rem;flex:1;}
.stud-card-body h3{font-family:var(--serif);font-size:1.25rem;font-weight:700;color:var(--ink);margin:0;
  transition:color .3s;}
.stud-card:hover .stud-card-body h3{color:var(--sc1);}
.stud-card-sub{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--sc1);margin:0;}
.stud-card-body p{font-size:.85rem;color:var(--muted);line-height:1.7;margin:0;}
.stud-pills{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.6rem;}
.stud-pills span{font-size:.68rem;padding:.3rem .65rem;border-radius:999px;font-weight:600;
  background:color-mix(in srgb,var(--sc1) 10%,transparent);
  color:var(--sc1);border:1px solid color-mix(in srgb,var(--sc1) 20%,transparent);
  transition:background .3s,color .3s,transform .3s var(--ease-out-expo);}
.stud-card:hover .stud-pills span{transform:translateY(-1px);}
.stud-pills span:hover{background:linear-gradient(135deg,var(--sc1),var(--sc2));color:#fff;}
@media(max-width:900px){.stud-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:580px){.stud-grid{grid-template-columns:1fr;}.stud-stat-div{display:none;}.stud-stats{gap:1.4rem;}
  .stud-grid-wrap{padding-left:1.25rem;padding-right:1.25rem;}}
.ev-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;
  text-align:left;transition:.4s var(--ease-out-expo);display:flex;flex-direction:column;}
.ev-card:hover{transform:translateY(-6px);box-shadow:0 26px 56px rgba(40,34,20,.16);border-color:transparent;}
.ev-card.past{opacity:.62;}
.ev-card.past:hover{opacity:1;}
.ev-card-top{padding:1.5rem 1.5rem 1.3rem;background:linear-gradient(135deg,var(--c1,#c9281c),var(--c2,#e0a030));
  position:relative;overflow:hidden;}
.ev-card-top::after{content:'';position:absolute;right:-20px;bottom:-30px;font-size:6rem;opacity:.16;}
.ev-emoji{font-size:2.6rem;line-height:1;filter:drop-shadow(0 4px 10px rgba(0,0,0,.2));}
.ev-date-chip{position:absolute;top:1.2rem;right:1.2rem;background:rgba(255,255,255,.92);border-radius:12px;
  text-align:center;padding:.4rem .7rem;line-height:1;box-shadow:0 6px 16px rgba(0,0,0,.18);}
.ev-date-chip b{display:block;font-family:var(--serif);font-size:1.35rem;font-weight:700;color:var(--ink);}
.ev-date-chip span{font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:700;}
.ev-card-body{padding:1.2rem 1.5rem 1.5rem;flex:1;display:flex;flex-direction:column;}
.ev-card-body h3{font-size:1.08rem;font-weight:700;color:var(--ink);margin-bottom:.1rem;}
.ev-card-body .ev-kn{font-family:var(--kn);font-size:.9rem;color:var(--gold);margin-bottom:.55rem;}
.ev-card-body p{font-size:.83rem;color:var(--muted);line-height:1.6;flex:1;}
.ev-card-foot{margin-top:.9rem;display:flex;align-items:center;justify-content:space-between;}
.ev-weekday{font-size:.72rem;font-weight:600;color:var(--muted2);letter-spacing:.04em;}
.ev-badge{font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;padding:.28rem .6rem;border-radius:20px;}
.ev-badge.up{color:#fff;background:linear-gradient(135deg,var(--s),var(--gold2));}
.ev-badge.soon{color:var(--ink);background:var(--gold3);}
.ev-badge.done{color:var(--muted);background:var(--cream3);}
@media(max-width:560px){
  .ev-next{flex-wrap:wrap;}
  .ev-next-cd{margin-left:auto;}
}

/* ── Offer / Community pillars ── */
#offer{background:var(--cream);text-align:center;}
.pillars{display:grid;grid-template-columns:repeat(5,1fr);gap:1.4rem;margin-top:4.2rem;}
.pillar{padding:2.8rem 1.1rem;
  background:linear-gradient(155deg,rgba(255,255,255,.95),rgba(243,236,224,.55));}
.pillar .pico{width:62px;height:62px;margin:0 auto 1.4rem;display:grid;place-items:center;
  border-radius:18px;background:linear-gradient(155deg,#fff,#f3ecdf);
  border:1px solid rgba(200,169,110,.32);position:relative;
  box-shadow:0 10px 24px rgba(40,34,20,.10),inset 0 1px 0 rgba(255,255,255,.9);
  transition:.55s var(--ease-spring);}
.pillar .pico::after{content:'';position:absolute;inset:0;border-radius:18px;padding:1px;
  background:linear-gradient(155deg,var(--gold2),transparent 55%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:.45s;}
.pillar .pico svg{width:26px;height:26px;stroke:var(--gold);transition:.45s;}
.pillar:hover .pico{transform:translateY(-6px);
  box-shadow:0 18px 36px rgba(200,137,26,.22),inset 0 1px 0 rgba(255,255,255,.9);}
.pillar:hover .pico::after{opacity:1;}
.pillar:hover .pico svg{stroke:var(--gold2);}
.pillar h4{font-weight:700;font-size:1.05rem;margin-bottom:.4rem;color:var(--ink);letter-spacing:-.01em;}
.pillar span{font-family:var(--kn);font-size:.92rem;color:var(--gold);font-weight:600;}

/* ── Join / CTA ── */
#join{text-align:center;overflow:hidden;
  background:
    radial-gradient(ellipse 80% 60% at 50% 100%,rgba(201,40,28,.1) 0%,rgba(15,37,72,.07) 45%,var(--cream2) 70%),
    var(--cream2);}
.join-card{max-width:840px;margin:0 auto;padding:5.5rem 3.5rem;border-radius:36px;position:relative;
  background:linear-gradient(145deg,var(--panel) 0%,var(--panel2) 100%);
  border:1px solid rgba(255,255,255,.8);
  box-shadow:0 40px 100px rgba(40,34,20,.12),0 8px 32px rgba(40,34,20,.06);}
.join-card::before{content:'';position:absolute;inset:-1.5px;border-radius:37px;
  background:conic-gradient(from var(--angle,0deg),var(--s2) 0%,var(--gold2) 15%,transparent 28%,transparent 68%,var(--g2) 83%,var(--s2) 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;padding:1.5px;
  animation:rotateBorder 5s linear infinite;}
@property --angle{syntax:'<angle>';initial-value:0deg;inherits:false;}
@keyframes rotateBorder{to{--angle:360deg;}}
.join-card h2{font-family:var(--kn);font-weight:800;font-size:clamp(1.8rem,4.2vw,3rem);
  margin-bottom:1.2rem;line-height:1.28;
  background:linear-gradient(120deg,var(--ink),var(--gold) 55%,var(--g2));
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.join-card p{color:var(--muted);max-width:520px;margin:0 auto 2.6rem;font-size:1.05rem;line-height:1.85;}
.socials{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:1.2rem;position:relative;z-index:2;}
.soc{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;
  border:1px solid rgba(255,255,255,.2);color:#fff;background:#1877f2;
  box-shadow:0 14px 30px rgba(24,119,242,.35);transition:.45s var(--ease-out-expo);}
.soc svg{width:20px;height:20px;display:block;fill:#fff;}
.soc:hover{transform:translateY(-6px) scale(1.12);box-shadow:0 18px 36px rgba(24,119,242,.45);}
.soc-whatsapp{background:#25d366;box-shadow:0 14px 30px rgba(37,211,102,.35);}
.soc-whatsapp:hover{box-shadow:0 18px 36px rgba(37,211,102,.45);}
.soc-youtube{background:#ff0000;box-shadow:0 14px 30px rgba(255,0,0,.3);}
.soc-youtube:hover{box-shadow:0 18px 36px rgba(255,0,0,.4);}
.soc-instagram{background:linear-gradient(135deg,#f58529,#dd2a7b,#8134af,#515bd4);box-shadow:0 14px 30px rgba(221,42,123,.3);}
.soc-instagram:hover{box-shadow:0 18px 36px rgba(221,42,123,.4);}
.soc-disabled{pointer-events:none;cursor:default;}
.reg-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:400;
  background:rgba(7,10,18,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);opacity:0;visibility:hidden;
  transition:opacity .25s ease,visibility .25s ease;}
.reg-modal.open{opacity:1;visibility:visible;}
.reg-dialog{width:min(100%,760px);max-height:min(88vh,900px);overflow:auto;border-radius:24px;padding:1.4rem;
  background:linear-gradient(135deg,rgba(14,20,32,.98),rgba(24,36,58,.97));border:1px solid rgba(255,255,255,.08);
  box-shadow:0 28px 80px rgba(0,0,0,.45);}
.reg-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem;}
.reg-kicker{font-size:.72rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--gold2);display:block;margin-bottom:.45rem;}
.reg-head h3{font-family:var(--serif);font-size:2rem;line-height:1.1;color:#fff;}
.reg-head p{color:rgba(255,255,255,.66);margin-top:.45rem;font-size:.95rem;}
.reg-close{width:42px;height:42px;border:none;border-radius:50%;flex-shrink:0;cursor:pointer;color:#fff;
  background:rgba(255,255,255,.08);transition:.25s;}
.reg-close:hover{background:linear-gradient(135deg,var(--s2),#ff5a48);}
.reg-form{display:grid;gap:1rem;}
.reg-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;}
.reg-field{display:grid;gap:.42rem;}
.reg-field-full{grid-column:1/-1;}
.reg-field label{font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.82);}
.reg-field input,.reg-field select,.reg-field textarea{width:100%;border-radius:14px;border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.05);color:#fff;padding:.95rem 1rem;font:inherit;outline:none;transition:.2s;}
.reg-field input::placeholder,.reg-field textarea::placeholder{color:rgba(255,255,255,.34);}
.reg-field input:focus,.reg-field select:focus,.reg-field textarea:focus{border-color:rgba(224,160,48,.7);box-shadow:0 0 0 3px rgba(224,160,48,.14);}
.reg-field select option{color:#111;}
.reg-field textarea{min-height:110px;resize:vertical;}
.reg-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;}
.reg-note,.reg-success{font-size:.86rem;color:rgba(255,255,255,.6);}
.reg-success{display:none;color:var(--gold3);}
.reg-success.show{display:block;}
@media(max-width:720px){
  .reg-dialog{padding:1.05rem;}
  .reg-head h3{font-size:1.65rem;}
  .reg-grid{grid-template-columns:1fr;}
  .reg-actions{align-items:stretch;}
  .reg-actions .btn{width:100%;justify-content:center;}
}

/* ── FAQ ── */
.faq-section{padding:4rem 1.5rem 4rem;background:var(--cream2);}
.faq-shell{max-width:980px;margin:0 auto;padding:3rem;border-radius:32px;
  background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(243,236,224,.92));
  border:1px solid rgba(40,34,20,.08);box-shadow:0 26px 70px rgba(40,34,20,.08);}
.faq-kicker{display:inline-block;margin-bottom:.85rem;font-size:.72rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);}
.faq-shell h2{font-family:var(--serif);font-size:clamp(2rem,4vw,2.8rem);line-height:1.1;margin-bottom:.9rem;color:var(--ink);}
.faq-shell p{max-width:700px;margin-bottom:1.8rem;color:var(--muted);line-height:1.8;}
.faq-list{display:grid;gap:1rem;}
.faq-item{background:rgba(255,255,255,.82);border:1px solid rgba(40,34,20,.08);border-radius:20px;overflow:hidden;}
.faq-item summary{list-style:none;cursor:pointer;padding:1.1rem 1.25rem;font-weight:700;color:var(--ink);
  display:flex;align-items:center;justify-content:space-between;gap:1rem;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:'+';font-size:1.25rem;color:var(--gold2);transition:transform .25s ease;}
.faq-item[open] summary::after{transform:rotate(45deg);}
.faq-answer{padding:0 1.25rem 1.25rem;color:var(--muted);line-height:1.75;}
@media(max-width:720px){
  .faq-section{padding:3rem 1rem 3rem;}
  .faq-shell{padding:2rem 1.2rem;border-radius:24px;}
}


/* ── Footer ── */
footer{padding:5rem 1.5rem 3rem;text-align:center;position:relative;
  border-top:1px solid rgba(255,255,255,.06);
  background:linear-gradient(180deg,var(--dark2) 0%,var(--dark) 100%);}
footer::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:260px;height:2px;background:linear-gradient(90deg,transparent,var(--gold2),transparent);}
footer::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:1;
  background:radial-gradient(ellipse 60% 50% at 50% 0%,rgba(200,137,26,.06),transparent 65%);}
footer>*:not(.foot-anim){position:relative;z-index:2;}
/* Animated community-network backdrop */
.foot-anim{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;}
.foot-net{position:absolute;inset:0;width:100%;height:100%;opacity:.5;}
.fn-lines path{fill:none;stroke:rgba(200,137,26,.35);stroke-width:1;
  stroke-dasharray:1400;stroke-dashoffset:1400;animation:fnDraw 9s var(--ease-out-expo) infinite;}
.fn-lines path:nth-child(2){stroke:rgba(15,37,72,.4);animation-delay:1.2s;animation-duration:11s;}
.fn-lines path:nth-child(3){stroke:rgba(201,40,28,.3);animation-delay:2.4s;animation-duration:10s;}
.fn-users use{animation:fnUserPulse 3.6s ease-in-out infinite;transform-origin:center;}
.fn-users use:nth-child(2n){animation-delay:.9s;}
.fn-users use:nth-child(3n){animation-delay:1.7s;}
.fn-users use:nth-child(5n){animation-delay:2.5s;}
.fu-ring{fill:none;stroke:rgba(200,137,26,.55);stroke-width:1.2;}
.fu-head,.fu-body{fill:none;stroke:var(--gold2);stroke-width:1.4;stroke-linecap:round;}
.fu-body{fill:none;}
.fn-users use:nth-child(2n) .fu-head,.fn-users use:nth-child(2n) .fu-body{stroke:#fff;}
.fn-users use:nth-child(2n) .fu-ring{stroke:rgba(255,255,255,.5);}
.fn-users use:nth-child(3n) .fu-head,.fn-users use:nth-child(3n) .fu-body{stroke:var(--s2);}
.fn-users use:nth-child(3n) .fu-ring{stroke:rgba(201,40,28,.5);}
@keyframes fnDraw{0%{stroke-dashoffset:1400;}45%,55%{stroke-dashoffset:0;}100%{stroke-dashoffset:-1400;}}
@keyframes fnUserPulse{0%,100%{opacity:.35;transform:scale(.8);}50%{opacity:1;transform:scale(1.15);}}
.fl{position:absolute;bottom:-10px;width:4px;height:4px;border-radius:50%;
  background:rgba(200,137,26,.5);box-shadow:0 0 8px rgba(200,137,26,.5);
  animation:flRise linear infinite;}
.fl:nth-child(1){left:8%;animation-duration:14s;}
.fl:nth-child(2){left:22%;animation-duration:18s;animation-delay:3s;background:rgba(255,255,255,.4);}
.fl:nth-child(3){left:37%;animation-duration:12s;animation-delay:6s;}
.fl:nth-child(4){left:51%;animation-duration:16s;animation-delay:1s;background:rgba(201,40,28,.4);}
.fl:nth-child(5){left:64%;animation-duration:20s;animation-delay:4s;}
.fl:nth-child(6){left:76%;animation-duration:13s;animation-delay:7s;background:rgba(255,255,255,.4);}
.fl:nth-child(7){left:88%;animation-duration:17s;animation-delay:2s;}
.fl:nth-child(8){left:95%;animation-duration:15s;animation-delay:5s;}
@keyframes flRise{0%{transform:translateY(0);opacity:0;}10%{opacity:1;}90%{opacity:1;}100%{transform:translateY(-340px);opacity:0;}}
@media(prefers-reduced-motion:reduce){.fn-lines path,.fn-users use,.fl{animation:none;}.fn-lines path{stroke-dashoffset:0;}}
.foot-logo{width:54px;height:54px;border-radius:50%;object-fit:cover;margin:0 auto 1.1rem;
  box-shadow:0 0 0 2px rgba(200,137,26,.3),0 0 24px rgba(200,137,26,.15);}
.foot-brand{font-family:var(--serif);font-size:1.5rem;font-weight:700;margin-bottom:.4rem;color:#fff;}
.foot-motto{font-family:var(--kn);font-size:.88rem;color:rgba(200,137,26,.8);margin-bottom:1.5rem;
  letter-spacing:.06em;}
.foot-divider{width:64px;height:1px;background:rgba(200,137,26,.25);margin:.9rem auto 1.3rem;}
.foot-copy{font-size:.65rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.25);}

@media(max-width:880px){
  .about-grid,.contact-grid{grid-template-columns:1fr;gap:2.8rem;}
  .stats,.team-grid{grid-template-columns:repeat(2,1fr);}
  .pillars{grid-template-columns:repeat(2,1fr);}
  .events-grid,.testi-grid,.articles-grid{grid-template-columns:1fr;}
  .gallery-grid{grid-template-columns:repeat(3,1fr);}
  .nav-links,.nav-cta{display:none;}
  .burger{display:flex;}
  nav{padding:1.1rem 1.6rem;}
  nav.scrolled{padding:.8rem 1.6rem;}
  .nav-links.open{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;
    align-items:flex-start;background:rgba(10,15,28,.96);backdrop-filter:blur(20px);
    padding:1.4rem 1.6rem;gap:.2rem;box-shadow:0 20px 48px rgba(0,0,0,.4);
    border-top:1px solid rgba(255,255,255,.08);border-radius:0;}
  .nav-links.open a{color:rgba(255,255,255,.7);font-size:.9rem;width:100%;padding:.85rem 0;
    border-bottom:1px solid rgba(255,255,255,.06);}
  .nav-links.open a:last-child{border-bottom:none;}
}
@media(max-width:480px){
  .stats,.team-grid{grid-template-columns:1fr;}
  .pillars{grid-template-columns:repeat(2,1fr);gap:.8rem;}
  .pillar{padding:1.6rem .8rem;}
  .pillar .pico{width:48px;height:48px;margin:0 auto 1rem;}
  .pillar .pico svg{width:22px;height:22px;}
  .pillar h4{font-size:.95rem;}
  .pillar span{font-size:.82rem;}
  .gallery-grid{grid-template-columns:repeat(2,1fr);}
  .newsletter-form{flex-direction:column;}
  section{padding:3.2rem 1.2rem;}
  .join-card{padding:3.5rem 1.8rem;}
}

/* ── newsletter ── */
.newsletter{margin:2.2rem 0;padding:1.8rem;background:rgba(200,137,26,.07);border-radius:18px;
  border:1px solid rgba(200,137,26,.16);}
.newsletter h4{font-size:.92rem;color:var(--ink);margin-bottom:.9rem;font-weight:600;}
.newsletter-form{display:flex;gap:.8rem;max-width:420px;margin:0 auto;}
.newsletter-form input{flex:1;padding:.75rem 1.1rem;border:1.5px solid var(--line2);
  border-radius:30px;font-size:.85rem;background:#fff;color:var(--ink);}
.newsletter-form input:focus{outline:none;border-color:var(--gold2);}
.newsletter-form .btn{padding:.75rem 1.6rem;}

/* ── Events ── */
#events{background:var(--cream);}
.events-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;margin-top:3.2rem;}
.event-card{display:flex;gap:1.5rem;padding:2rem;align-items:flex-start;}
.event-date{flex-shrink:0;width:72px;text-align:center;padding:1rem .5rem;
  background:linear-gradient(135deg,var(--s2),var(--gold));border-radius:14px;color:#fff;
  box-shadow:0 8px 20px rgba(201,40,28,.3);}
.event-date .day{display:block;font-size:2.1rem;font-weight:800;line-height:1;font-family:var(--serif);}
.event-date .month{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;opacity:.88;}
.event-content h4{font-size:1.05rem;font-weight:700;color:var(--ink);margin-bottom:.35rem;}
.event-content p{font-size:.82rem;color:var(--gold);margin-bottom:.6rem;font-weight:500;}
.event-badge{display:inline-block;font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  padding:.25rem .75rem;border-radius:20px;background:rgba(201,40,28,.1);color:var(--s);margin-bottom:.5rem;}
.event-badge.festival{background:rgba(15,37,72,.1);color:var(--g2);}
.event-badge.meetup{background:rgba(26,77,143,.1);color:var(--blue);}
.event-meta{display:flex;gap:1rem;font-size:.72rem;color:var(--muted);}

/* ── Gallery ── */
#gallery{background:var(--cream2);}
.gallery-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem;margin-top:3.2rem;}
.gallery-item{aspect-ratio:1;border-radius:18px;overflow:hidden;display:flex;flex-direction:column;
  align-items:center;justify-content:center;cursor:pointer;transition:.45s var(--ease-out-expo);}
.gallery-item:hover{transform:scale(1.06);}
.gallery-placeholder{font-size:2.5rem;margin-bottom:.5rem;}
.gallery-item span{font-size:.7rem;color:var(--muted);text-align:center;}
.gallery-item.photo{padding:0;position:relative;}
.gallery-item.photo img{width:100%;height:100%;object-fit:cover;transition:.65s var(--ease-out-expo);}
.gallery-item.photo:hover img{transform:scale(1.1);}
.gallery-item.photo .gcap{position:absolute;left:0;right:0;bottom:0;padding:1.2rem .9rem .85rem;
  font-size:.78rem;font-weight:600;color:#fff;text-align:left;z-index:2;
  background:linear-gradient(transparent,rgba(8,12,20,.82));}

/* ── Articles ── */
#articles{background:var(--cream2);}
.articles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.8rem;margin-top:3.5rem;}
.article{padding:0;overflow:hidden;display:flex;flex-direction:column;}
.article .athumb{width:100%;height:210px;object-fit:cover;transition:.65s var(--ease-out-expo);}
.article:hover .athumb{transform:scale(1.07);}
.article .abody{padding:1.7rem 1.8rem 2rem;display:flex;flex-direction:column;gap:.65rem;flex:1;}
.article .adate{font-size:.66rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);font-weight:600;}
.article h4{font-family:var(--serif);font-size:1.2rem;font-weight:700;color:var(--ink);line-height:1.32;}
.article p{font-size:.86rem;color:var(--muted);line-height:1.68;}
.article .more{font-size:.78rem;font-weight:700;color:var(--gold);margin-top:auto;}

/* ── Team ── */
#team{background:var(--cream);}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.6rem;margin-top:3.2rem;}
.team-card{text-align:center;padding:2.8rem 1.5rem;}
.team-avatar{width:84px;height:84px;margin:0 auto 1.1rem;border-radius:50%;
  background:linear-gradient(135deg,rgba(201,40,28,.15),rgba(15,37,72,.1));
  display:grid;place-items:center;font-size:2.1rem;
  border:2px solid rgba(200,137,26,.28);
  box-shadow:0 8px 20px rgba(40,34,20,.08);}
.team-card h4{font-size:1rem;font-weight:700;color:var(--ink);margin-bottom:.35rem;}
.team-card p{font-size:.8rem;color:var(--gold);font-weight:500;}

/* Global body grain */
body::after{content:'';position:fixed;inset:0;z-index:999;pointer-events:none;opacity:.018;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}

/* Scroll down cue */
.scroll-cue{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);z-index:20;
  display:flex;flex-direction:column;align-items:center;gap:.5rem;
  opacity:0;animation:fadeUp 1s ease 1.45s forwards;}
.scroll-cue .mouse{width:26px;height:40px;border:2px solid rgba(255,255,255,.3);border-radius:14px;position:relative;}
.scroll-cue .mouse::before{content:'';position:absolute;left:50%;top:7px;width:3px;height:8px;border-radius:3px;
  background:var(--gold2);transform:translateX(-50%);animation:wheel 1.7s ease-in-out infinite;}
.scroll-cue .lbl{font-size:.58rem;letter-spacing:.32em;text-transform:uppercase;color:rgba(255,255,255,.3);}
@keyframes wheel{0%{opacity:0;top:7px}40%{opacity:1}80%{opacity:0;top:22px}100%{opacity:0}}

/* Lightbox */
.lightbox{position:fixed;inset:0;z-index:9000;background:rgba(6,8,14,.94);
  backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;
  opacity:0;visibility:hidden;transition:.4s;padding:2rem;}
.lightbox.open{opacity:1;visibility:visible;}
.lightbox-inner{text-align:center;transform:scale(.88);transition:.45s var(--ease-out-expo);}
.lightbox.open .lightbox-inner{transform:scale(1);}
.lightbox-emoji{font-size:7rem;margin-bottom:1rem;}
.lightbox-cap{font-family:var(--serif);font-size:1.6rem;color:var(--gold2);}
.lightbox-close{position:absolute;top:1.5rem;right:2rem;width:48px;height:48px;border-radius:50%;
  border:1px solid rgba(255,255,255,.22);color:#fff;font-size:1.3rem;cursor:pointer;
  background:rgba(255,255,255,.05);display:grid;place-items:center;transition:.35s;}
.lightbox-close:hover{background:var(--s);border-color:var(--s);transform:rotate(90deg);}

/* Active nav */
.nav-links a.active{color:#fff;}
.nav-links a.active::after{width:100%;}

/* Stat underline accent */
.stat .lbl::after{content:'';display:block;width:0;height:2px;margin:.6rem auto 0;
  background:linear-gradient(90deg,var(--s),var(--g2));transition:width .65s var(--ease-out-expo);}
.stat:hover .lbl::after{width:44px;}

/* Tilt */
.tilt{transform-style:preserve-3d;will-change:transform;}
.tilt>*{transform:translateZ(0);}
.btn,.nav-cta{will-change:transform;}

/* Mesh animated gradient blobs */
.mesh{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;}
.mesh i{position:absolute;border-radius:50%;filter:blur(90px);opacity:.45;}
.mesh .m1{width:40vw;height:40vw;top:-10%;right:-5%;
  background:radial-gradient(circle,rgba(201,40,28,.16),transparent 70%);animation:au1 20s ease-in-out infinite alternate;}
.mesh .m2{width:36vw;height:36vw;bottom:-12%;left:-8%;
  background:radial-gradient(circle,rgba(15,37,72,.14),transparent 70%);animation:au2 24s ease-in-out infinite alternate;}
section{z-index:1;}.wrap{position:relative;z-index:2;}

@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;}
  .reveal,.mreveal{opacity:1;transform:none;}}
/* ── Preloader ── */
#preloader{position:fixed;inset:0;z-index:99999;background:radial-gradient(120% 120% at 50% 35%,#161009 0%,#0c0907 55%,#070504 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.4rem;transition:opacity .7s ease,visibility .7s ease;overflow:hidden;will-change:opacity;transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden;}
.pre-bg{position:absolute;inset:-6%;z-index:0;
  background:url('../images/karnataka-sketch.jpg') center/cover no-repeat;
  /* no mix-blend-mode: eliminates the GPU compositing layer seam on Android Chrome */
  opacity:.13;pointer-events:none;}
.pre-bg::after{content:'';position:absolute;inset:0;
  background:radial-gradient(75% 65% at 50% 42%,transparent 0%,rgba(7,5,4,.55) 78%,rgba(7,5,4,.92) 100%);}
.pre-grad{position:absolute;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(120% 90% at 18% 12%,rgba(246,234,1,.16),transparent 55%),
    radial-gradient(120% 100% at 85% 88%,rgba(228,1,2,.14),transparent 55%),
    radial-gradient(90% 80% at 50% 50%,rgba(200,137,26,.10),transparent 70%);}
@keyframes preGrad{from{opacity:.85;transform:scale(1);}to{opacity:1;transform:scale(1.06);}}
@keyframes preDrift{from{transform:scale(1.04) translate(0,0);}to{transform:scale(1.12) translate(-1.5%,-1.5%);}}
@media(max-width:640px){.pre-bg{grid-template-columns:repeat(2,1fr);}}
#preloader::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(7,5,4,.5) 0%,rgba(7,5,4,.15) 50%,rgba(7,5,4,.5) 100%);pointer-events:none;}
#preloader.done{opacity:0;visibility:hidden;pointer-events:none;}
body.admin-bar nav#nav{top:32px;}
@media (max-width:782px){body.admin-bar nav#nav{top:0;}}
.pre-map{position:relative;width:min(420px,52vw);aspect-ratio:420/484;height:auto;z-index:1;flex-shrink:0;}
.pre-map svg{position:absolute;top:0;left:0;width:100%;height:100%;}
/* Bottom-to-top fill via clip-path reveal — compositor-smooth, no per-frame clip recompute (mobile flicker fix) */
#kisKarFillRect{clip-path:inset(100% 0 0 0);animation:kisFill 5s cubic-bezier(.45,0,.55,1) forwards;}
#preloader.is-mobile #kisKarFillRect{animation-duration:7s;}
@keyframes kisFill{from{clip-path:inset(100% 0 0 0);}to{clip-path:inset(0 0 0 0);}}
.pre-stage{display:flex;align-items:center;justify-content:center;gap:2.4rem;z-index:1;
  width:100%;max-width:100vw;padding:0 1rem;box-sizing:border-box;}
.pre-flag{width:120px;height:auto;border-radius:6px;box-shadow:0 6px 22px rgba(0,0,0,.18);display:block;
  opacity:0;will-change:transform,opacity;transition:transform 1s var(--ease-out-expo),opacity 1s ease;}
.pre-flag.fl-l{transform:translateX(-90px) scale(.85);}
.pre-flag.fl-r{transform:translateX(90px) scale(.85);}
.pre-stage.show .pre-flag{opacity:1;transform:translateX(0) scale(1);}
.pre-text{z-index:1;text-align:center;opacity:0;transform:translateY(14px);
  transition:opacity .8s ease .35s,transform .8s var(--ease-out-expo) .35s;}
.pre-text.show{opacity:1;transform:translateY(0);}
.pre-text span{display:block;font-family:'Tiro Kannada',serif;font-size:1.9rem;font-weight:700;
  background:linear-gradient(90deg,#E40102,#c8891a,#F6EA01,#c8891a,#E40102);background-size:220% auto;
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
  animation:preShine 4s linear infinite;
  will-change:background-position;transform:translateZ(0);-webkit-font-smoothing:antialiased;}
.pre-text em{display:block;margin-top:.35rem;font-style:normal;letter-spacing:.18em;text-transform:uppercase;
  font-size:.78rem;color:rgba(224,205,160,.65);}
@keyframes preShine{to{background-position:220% center;}}
@media(max-width:520px){
  .pre-flag{width:64px;}.pre-stage{gap:.6rem;}.pre-text span{font-size:1.4rem;}
  .pre-flag.fl-l{transform:translateX(-40px) scale(.85);}
  .pre-flag.fl-r{transform:translateX(40px) scale(.85);}
  .pre-map{width:min(420px,46vw);}
}
@media (max-width:800px), (pointer:coarse){
  #preloader,#preloader::after,.pre-bg,.pre-bg::after,.pre-grad,.pre-map,.pre-map svg,.pre-stage,.pre-text{transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden;}
  #preloader{transition-duration:.45s;}
  #preloader::after{display:none;}
  .pre-bg,.pre-grad,.pre-text span{animation:none;}
  .pre-bg{inset:-2px;opacity:.09;mix-blend-mode:normal;}
  .pre-bg::after{background:linear-gradient(to bottom,rgba(7,5,4,.42) 0%,rgba(7,5,4,.2) 50%,rgba(7,5,4,.58) 100%);}
  .pre-grad{opacity:.82;}
  .pre-map{width:min(320px,58vw);}
  .pre-flag{box-shadow:none;transition-duration:.45s;}
  .pre-text{transition-duration:.45s;}
  .pre-text span{background-size:100% 100%;}
}

/* ── Contact ── */
#contact{background:
  radial-gradient(ellipse 60% 50% at 8% 8%,rgba(201,40,28,.05),transparent 60%),
  radial-gradient(ellipse 55% 50% at 95% 95%,rgba(15,37,72,.06),transparent 60%),
  var(--cream);}
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:4.5rem;align-items:stretch;}
.contact-info{display:flex;flex-direction:column;}
.contact-info>p{color:var(--muted);line-height:1.85;font-size:1rem;margin-bottom:2.4rem;max-width:40ch;}
.contact-items{display:flex;flex-direction:column;gap:1.1rem;}
.contact-item{display:flex;align-items:center;gap:1.1rem;padding:1.1rem 1.3rem;border-radius:18px;
  background:var(--panel2);border:1px solid var(--line);
  box-shadow:0 2px 14px rgba(40,34,20,.04);transition:.4s var(--ease-out-expo);}
.contact-item:hover{transform:translateX(6px);border-color:rgba(200,137,26,.4);
  box-shadow:0 14px 36px rgba(40,34,20,.1);}
.ci-icon{flex:none;width:48px;height:48px;border-radius:14px;display:grid;place-items:center;
  background:linear-gradient(155deg,var(--s2),var(--gold2) 60%,var(--g2));
  box-shadow:0 6px 18px rgba(200,137,26,.22);}
.ci-icon svg{width:22px;height:22px;stroke:#fff;fill:none;stroke-width:1.8;}
.contact-item strong{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted2);
  font-weight:600;display:block;margin-bottom:.18rem;}
.contact-item a,.contact-item .ci-val{color:var(--ink);font-weight:600;font-size:1rem;
  text-decoration:none;transition:.3s;}
.contact-item a:hover{color:var(--s);}
.contact-map{position:relative;min-height:420px;padding:0;display:flex;}
.contact-map iframe{width:100%;border:0;flex:1;border-radius:inherit;
  filter:saturate(.92) contrast(1.02);}
.contact-map .map-link{position:absolute;bottom:1.1rem;right:1.1rem;z-index:2;
  display:inline-flex;align-items:center;gap:.4rem;padding:.6rem 1.1rem;border-radius:30px;
  background:linear-gradient(110deg,var(--s2),var(--gold2));color:#fff;font-weight:600;
  font-size:.86rem;text-decoration:none;box-shadow:0 8px 22px rgba(40,34,20,.22);
  transition:.35s var(--ease-out-expo);}
.contact-map .map-link:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(40,34,20,.3);}
@media(max-width:820px){.contact-map{min-height:320px;}}
/* guide-cta (matches guide page) */
.guide-cta{text-align:center;padding:2rem;}
.guide-cta-card{max-width:1100px;margin:0 auto;background:linear-gradient(135deg,var(--ink2),var(--ink3));
  border-radius:24px;padding:3rem 2.2rem;border:1px solid rgba(255,255,255,.06);box-shadow:0 24px 60px rgba(0,0,0,.3);
  position:relative;overflow:hidden;}
.guide-cta-bg{position:absolute;inset:0;z-index:0;
  background:url('https://images.pexels.com/photos/2901209/pexels-photo-2901209.jpeg?auto=compress&cs=tinysrgb&w=1200') center/cover no-repeat;
  opacity:.1;filter:saturate(.4);}
.guide-cta-inner{position:relative;z-index:1;}
.guide-cta-badge{display:inline-flex;align-items:center;gap:.6rem;margin-bottom:1.6rem;padding:.5rem 1.4rem;
  border:1px solid rgba(255,255,255,.12);border-radius:30px;color:var(--gold2);font-size:.72rem;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;}
.guide-cta-badge::before{content:"";width:22px;height:1.5px;background:var(--s2);}
.guide-cta-card .kn{color:var(--gold2);font-size:1.15rem;margin-bottom:.7rem;}
.guide-cta-card h2{font-family:var(--serif);color:#fff;font-size:2.4rem;font-weight:800;margin-bottom:.9rem;}
.guide-cta-card p{color:rgba(255,255,255,.7);max-width:560px;margin:0 auto 1.8rem;font-size:.98rem;line-height:1.6;}
.guide-cta .btn{padding:.95rem 2.2rem;border-radius:10px;font-weight:700;font-size:.78rem;letter-spacing:.08em;
  text-transform:uppercase;transition:.35s var(--ease-out-expo);cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;
  background:linear-gradient(135deg,var(--s2),#ff5a48);color:#fff;}
.guide-cta .btn:hover{transform:translateY(-3px);box-shadow:0 16px 48px rgba(201,40,28,.5);}
