/* ============================================================
   9th Elets National Urban Infrastructure & Investment Summit 2026
   Modern Bootstrap 5.3 theme — palette derived from the URBAN logo
   (green + teal + blue + purple)
   ============================================================ */
:root{
  /* logo colours */
  --green:#68b23a;   --green-d:#55992c;
  --teal:#33b4c8;    --teal-d:#2694a6;
  --blue:#2f77c9;
  --purple:#5f4fa8;  --purple-d:#4b3d88;

  /* dark base (indigo/purple to complement the logo gradient) */
  --navy:#14163a;
  --navy-2:#1b1f47;
  --navy-3:#2a2168;

  --ink:#141a2e;
  --mute:#5b6b82;
  --line:#e6ecf3;
  --soft:#f2f7ef;
  --radius:18px;
  --shadow:0 18px 50px rgba(20,22,58,.10);
  --shadow-lg:0 30px 70px rgba(20,22,58,.18);
  --grad:linear-gradient(120deg,var(--green) 0%,var(--teal) 50%,var(--purple) 100%);
}

*{scroll-behavior:smooth;}
body{
  font-family:'Inter',system-ui,sans-serif;
  color:var(--ink);
  background:#fff;
  overflow-x:hidden;
}
h1,h2,h3,h4,h5,h6,.navbar-brand{font-family:'Plus Jakarta Sans','Inter',sans-serif;font-weight:800;}
a{text-decoration:none;}
img{max-width:100%;}
::selection{background:var(--green);color:#fff;}

/* ---------- Buttons ---------- */
.btn{border-radius:50px;font-weight:600;letter-spacing:.2px;transition:.28s;}
.btn-accent{
  background:var(--green);color:#0f2410;border:none;
  box-shadow:0 10px 26px rgba(104,178,58,.4);
}
.btn-accent:hover{background:var(--green-d);color:#fff;transform:translateY(-2px);box-shadow:0 16px 34px rgba(104,178,58,.52);}
.btn-outline-light:hover{transform:translateY(-2px);}
.btn-lg{padding:.85rem 1.7rem;}
.btn-light{color:var(--purple-d);font-weight:700;}
.btn-light:hover{color:var(--green-d);}

/* Animated "Express Interest" nav button */
.btn-express{
  position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:8px;
  padding:.55rem 1.25rem;border:none;border-radius:50px;font-weight:700;font-size:.9rem;
  color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.25);background:linear-gradient(120deg,var(--green),var(--teal) 45%,var(--purple) 75%,var(--green));
  background-size:220% 100%;
  animation:expressGrad 5s linear infinite,expressPulse 2.6s ease-in-out infinite;
}
.btn-express span,.btn-express i{position:relative;z-index:1;}
.btn-express i{transition:transform .3s ease;}
.btn-express::before{
  content:"";position:absolute;top:0;left:-60%;width:38%;height:100%;z-index:0;
  background:linear-gradient(120deg,transparent,rgba(255,255,255,.55),transparent);
  transform:skewX(-20deg);animation:expressShine 3.4s ease-in-out infinite;
}
.btn-express:hover{color:#fff;transform:translateY(-2px);}
.btn-express:hover i{transform:translateX(4px);}
@keyframes expressGrad{0%{background-position:0% 50%;}100%{background-position:220% 50%;}}
@keyframes expressPulse{0%,100%{box-shadow:0 8px 22px rgba(104,178,58,.45);}50%{box-shadow:0 10px 30px rgba(51,180,200,.6);}}
@keyframes expressShine{0%{left:-60%;}55%,100%{left:135%;}}
@media(prefers-reduced-motion:reduce){.btn-express{animation:none;}.btn-express::before{display:none;}}

/* ---------- Section scaffolding ---------- */
.section{padding:100px 0;position:relative;}
.section-soft{background:var(--soft);}
.section-dark{background:radial-gradient(120% 120% at 80% 0%,#241c56 0%,var(--navy) 60%);color:#cdd4ea;}
.eyebrow{
  display:inline-block;font-family:'Plus Jakarta Sans';font-weight:700;font-size:.8rem;
  letter-spacing:.18em;text-transform:uppercase;color:var(--teal-d);margin-bottom:.6rem;
  position:relative;padding-left:38px;
}
.eyebrow::before{content:"";position:absolute;left:0;top:50%;width:28px;height:2px;background:var(--green);transform:translateY(-50%);}
.eyebrow-light{color:#a7d98a;}
.eyebrow-light::before{background:#a7d98a;}
.section-title{font-size:clamp(1.7rem,3.2vw,2.6rem);line-height:1.15;margin-bottom:1rem;letter-spacing:-.5px;}
.section-lead{color:var(--mute);max-width:720px;margin:0 auto;font-size:1.05rem;}
.section p{color:var(--mute);line-height:1.75;}
.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}

/* ---------- Navbar ---------- */
#mainNav{
  padding:14px 0;transition:.35s;background:rgba(20,22,58,.96);
  backdrop-filter:blur(12px);box-shadow:0 6px 22px rgba(0,0,0,.2);
}
#mainNav::before{display:none;}
#mainNav .container{position:relative;z-index:1;}
#mainNav.scrolled{
  padding:8px 0;background:rgba(20,22,58,.92);
  backdrop-filter:blur(12px);box-shadow:0 10px 30px rgba(0,0,0,.28);
}
.navbar-brand{display:flex;align-items:center;gap:14px;}
.brand-logo-wrap{
  background:transparent;border-radius:0;padding:0;display:inline-flex;
  box-shadow:none;transition:.35s;
}
.brand-logo{height:70px;width:auto;display:block;transition:.35s;filter:drop-shadow(0 3px 10px rgba(0,0,0,.45));}
#mainNav.scrolled .brand-logo{height:54px;}
.brand-text{font-family:'Plus Jakarta Sans';font-weight:800;font-size:1.05rem;color:#fff;line-height:1.05;flex-direction:column;justify-content:center;}
.brand-text span{color:var(--green);}
.brand-text small{display:block;font-size:.6rem;font-weight:600;letter-spacing:.24em;color:#9fb2d6;margin-top:3px;text-transform:uppercase;}
#mainNav .nav-link{color:#eaf0fb;font-weight:600;font-size:.95rem;padding:.5rem .95rem;position:relative;text-shadow:0 1px 6px rgba(0,0,0,.35);border-radius:9px;transition:color .3s,background .3s;}
#mainNav .nav-link::after{content:"";position:absolute;left:.9rem;right:.9rem;bottom:.32rem;height:2px;border-radius:2px;background:var(--grad);background-size:200% 100%;transform:scaleX(0);transform-origin:center;transition:transform .32s cubic-bezier(.4,0,.2,1);}
#mainNav .nav-link:hover{color:#fff;background:rgba(255,255,255,.08);}
#mainNav .nav-link:hover::after,#mainNav .nav-link.active::after{transform:scaleX(1);}
#mainNav .nav-link.active{color:#fff;}
.navbar-toggler{border:1px solid rgba(255,255,255,.35);border-radius:10px;padding:.35rem .55rem;}
.navbar-toggler:focus{box-shadow:none;}

/* Navbar polish */
#mainNav::after{content:"";position:absolute;top:0;left:0;right:0;height:3px;z-index:2;pointer-events:none;background:linear-gradient(120deg,var(--green),var(--teal) 45%,var(--purple) 75%,var(--green));background-size:220% 100%;animation:expressGrad 6s linear infinite;opacity:0;transition:opacity .35s;}
#mainNav.scrolled::after{opacity:1;}
.brand-logo-wrap:hover .brand-logo{transform:scale(1.05);}
@media(min-width:992px){
  #mainNav .navbar-nav .nav-link{letter-spacing:.012em;}
  .navbar-nav .nav-item.ms-lg-2{position:relative;padding-left:12px;margin-left:6px;}
  .navbar-nav .nav-item.ms-lg-2::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);height:24px;width:1px;background:rgba(255,255,255,.16);}
}

/* ---------- Lead partners strip (sits below fixed navbar) ---------- */
.lead-partners{background:#fff;border-bottom:1px solid var(--line);padding:120px 0 26px;box-shadow:0 6px 18px rgba(20,22,58,.05);}
.lead-partners .container{display:flex;align-items:center;justify-content:space-between;gap:34px;flex-wrap:wrap;}
.lp-group{display:flex;flex-direction:column;align-items:center;gap:12px;flex:1 1 auto;text-align:center;min-width:0;}
.lp-label{font-family:'Plus Jakarta Sans';font-weight:700;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);}
.lp-logos{display:flex;align-items:center;justify-content:center;gap:26px;flex-wrap:wrap;}
.lp-logos img{height:56px;width:auto;max-width:100%;object-fit:contain;transition:transform .3s ease;}
.lp-logos img.lp-emblem{height:72px;}   /* square seal needs more height to match wordmarks */
.lp-logos img:hover{transform:scale(1.05);}
.lp-divider{align-self:stretch;width:1px;min-height:70px;background:var(--line);flex:0 0 auto;}

@media(max-width:991px){
  .lead-partners{padding:92px 0 24px;}
  .lead-partners .container{gap:22px;}
  .lp-logos img{height:50px;}
  .lp-logos img.lp-emblem{height:62px;}
}
/* Mobile — fit all groups on ONE line (no scroll) so every logo stays visible */
@media(max-width:767px){
  .lead-partners{padding:78px 0 18px;}
  .lead-partners .container{flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:8px;overflow:visible;}
  .lp-group{flex:0 1 auto;min-width:0;gap:8px;}
  .lp-label{font-size:.54rem;letter-spacing:.05em;line-height:1.25;}
  .lp-divider{align-self:center;width:1px;height:auto;min-height:46px;}
  .lp-logos{gap:8px;flex-wrap:nowrap;}
  .lp-logos img{height:30px;}
  .lp-logos img.lp-emblem{height:38px;}
}
@media(max-width:400px){
  .lead-partners .container{gap:5px;}
  .lp-logos{gap:6px;}
  .lp-label{font-size:.48rem;}
  .lp-logos img{height:25px;}
  .lp-logos img.lp-emblem{height:32px;}
}

/* ---------- Hero ---------- */
.hero{
  position:relative;display:flex;flex-direction:column;justify-content:center;
  background:radial-gradient(130% 120% at 75% 10%,#232a63 0%,var(--navy) 55%);
  color:#fff;overflow:hidden;padding:0;
}
.hero-media{position:relative;z-index:1;line-height:0;width:100%;}
.hero-banner-img{display:block;width:100%;height:auto;position:relative;z-index:1;}
.hero-fade{position:absolute;left:0;right:0;bottom:-1px;height:34%;z-index:2;pointer-events:none;background:linear-gradient(to bottom,transparent,rgba(15,17,45,.55) 62%,#14163a 100%);}

/* Event-details ribbon below the banner */
.hero-ribbon{position:relative;z-index:3;margin-top:-1px;background:linear-gradient(120deg,var(--navy) 0%,var(--navy-3) 100%);border-top:1px solid rgba(255,255,255,.07);box-shadow:0 20px 44px rgba(0,0,0,.32);}
.hero-ribbon::before{content:"";position:absolute;inset:0;background:var(--grad);opacity:.10;pointer-events:none;}
.hero-ribbon-inner{position:relative;display:flex;align-items:center;justify-content:center;gap:34px;flex-wrap:wrap;padding:20px 4px;}
.hr-item{display:flex;align-items:center;gap:14px;}
.hr-ico{flex:none;width:46px;height:46px;border-radius:13px;display:grid;place-items:center;font-size:1.15rem;color:#fff;background:var(--grad);background-size:180% 180%;box-shadow:0 8px 20px rgba(51,180,200,.32);animation:expressGrad 6s linear infinite;}
.hr-text{display:flex;flex-direction:column;line-height:1.2;}
.hr-text span{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:#8ea6cf;font-weight:600;}
.hr-text strong{font-family:'Plus Jakarta Sans';font-weight:700;font-size:1.02rem;color:#fff;}
.hr-sep{width:1px;height:38px;background:linear-gradient(to bottom,transparent,rgba(255,255,255,.22),transparent);}
.hr-cta{margin-left:auto;}

/* Countdown timer */
.hr-countdown{display:flex;align-items:center;gap:16px;}
.cd-lead{display:flex;align-items:center;gap:8px;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:#8ea6cf;font-weight:600;max-width:82px;line-height:1.35;}
.cd-lead i{color:var(--teal);font-size:.95rem;}
.cd-clock{display:flex;align-items:center;gap:8px;}
.cd-unit{display:flex;flex-direction:column;align-items:center;min-width:52px;padding:9px 6px 7px;border-radius:12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.06);}
.cd-num{font-family:'Plus Jakarta Sans';font-weight:800;font-size:1.55rem;line-height:1;color:#fff;font-variant-numeric:tabular-nums;background:var(--grad);background-size:180% 180%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:expressGrad 6s linear infinite;}
.cd-lbl{margin-top:5px;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:#93a6ca;font-weight:600;}
.cd-colon{font-family:'Plus Jakarta Sans';font-weight:800;font-size:1.35rem;color:#5f7099;transform:translateY(-6px);animation:cdBlink 1.1s step-end infinite;}
@keyframes cdBlink{0%,50%{opacity:1;}51%,100%{opacity:.28;}}

@media(max-width:991px){
  .hero-ribbon-inner{gap:16px 22px;padding:22px 4px;justify-content:center;}
  .hr-sep{display:none;}
  .hr-cta{margin-left:0;flex-basis:100%;justify-content:center;}
}
@media(max-width:575px){
  .hr-countdown{flex-direction:column;gap:10px;}
  .cd-lead{max-width:none;}
  .cd-unit{min-width:46px;padding:7px 5px 6px;}
  .cd-num{font-size:1.3rem;}
}
.grid-overlay{
  position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:54px 54px;mask-image:radial-gradient(circle at 50% 40%,#000 30%,transparent 78%);
}
.orb{position:absolute;border-radius:50%;filter:blur(48px);opacity:.5;}
.hero .orb-1{width:460px;height:460px;background:var(--teal);top:-120px;right:-80px;animation:float 9s ease-in-out infinite;}
.hero .orb-2{width:360px;height:360px;background:var(--green);bottom:-120px;left:-60px;animation:float 11s ease-in-out infinite reverse;}
.hero .orb-3{width:280px;height:280px;background:var(--purple);top:40%;left:45%;animation:float 13s ease-in-out infinite;}
.hero-inner{position:relative;z-index:2;}
.hero-badge{
  display:inline-block;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);
  padding:.5rem 1.1rem;border-radius:50px;font-weight:600;font-size:.9rem;margin-bottom:1.4rem;
  backdrop-filter:blur(6px);
}
.hero-title{font-size:clamp(2.1rem,5.2vw,4rem);line-height:1.08;letter-spacing:-1.2px;margin-bottom:1.1rem;}
.hero-title sup{font-size:.5em;top:-.7em;}
.hero-theme{font-size:clamp(1.05rem,2.2vw,1.4rem);color:#c3d3e8;font-weight:500;max-width:760px;margin:0 auto 2rem;}
.hero-cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:2.6rem;}
.hero-facts{display:flex;gap:26px;justify-content:center;flex-wrap:wrap;}
.hero-facts .fact{display:flex;align-items:center;gap:10px;color:#c6d4ec;font-size:.92rem;}
.hero-facts .fact i{color:var(--teal);background:rgba(51,180,200,.16);width:34px;height:34px;border-radius:9px;display:grid;place-items:center;}
.scroll-cue{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);width:26px;height:44px;border:2px solid rgba(255,255,255,.4);border-radius:20px;z-index:2;}
.scroll-cue span{position:absolute;top:8px;left:50%;width:4px;height:8px;background:#fff;border-radius:3px;transform:translateX(-50%);animation:cue 1.6s infinite;}
@keyframes cue{0%{opacity:0;top:8px;}40%{opacity:1;}80%{opacity:0;top:22px;}100%{opacity:0;}}
@keyframes float{0%,100%{transform:translate(0,0);}50%{transform:translate(20px,-28px);}}

/* ---------- About sidebar ---------- */
.sidebar-card{
  position:relative;background:linear-gradient(160deg,var(--navy),var(--navy-3));
  color:#fff;border-radius:24px;padding:38px 34px;overflow:hidden;box-shadow:var(--shadow-lg);
}
.sidebar-card-glow{position:absolute;width:260px;height:260px;background:var(--teal);filter:blur(70px);opacity:.4;top:-80px;right:-70px;}
.sidebar-tag{position:relative;display:inline-block;background:rgba(255,255,255,.12);padding:.4rem .9rem;border-radius:40px;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:1rem;}
.sidebar-card h3{position:relative;font-size:1.15rem;color:#c4d3e8;font-weight:600;margin-bottom:1.6rem;}
.big-stat{position:relative;}
.big-stat .count{font-family:'Plus Jakarta Sans';font-weight:800;font-size:2.8rem;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;line-height:1;}
.big-stat p{color:#a6b7d2;margin:.3rem 0 0;font-size:.95rem;}
.sidebar-card hr{border-color:rgba(255,255,255,.15);margin:1.4rem 0;}

/* ---------- About image collage ---------- */
.about-collage{position:relative;display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:102px;gap:14px;padding-bottom:6px;}
.about-collage::before{content:"";position:absolute;inset:-26px -22px auto auto;width:240px;height:240px;background:var(--grad);filter:blur(75px);opacity:.24;border-radius:50%;z-index:0;}
.about-collage::after{content:"";position:absolute;left:-22px;bottom:6px;width:150px;height:150px;background:radial-gradient(circle,var(--purple) 1.4px,transparent 1.5px) 0 0/16px 16px;opacity:.22;z-index:0;}
.cphoto{position:relative;z-index:1;margin:0;border-radius:18px;overflow:hidden;box-shadow:0 16px 36px rgba(20,22,58,.16);border:3px solid #fff;}
.cphoto img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease;}
.cphoto::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(104,178,58,0),rgba(95,79,168,0));transition:.4s;}
.cphoto:hover img{transform:scale(1.08);}
.cphoto:hover::after{background:linear-gradient(120deg,rgba(104,178,58,.14),rgba(51,180,200,.12) 50%,rgba(95,79,168,.16));}
.cphoto-1{grid-column:1 / 3;grid-row:1 / 3;}
.cphoto-2{grid-column:1;grid-row:3;}
.cphoto-3{grid-column:2;grid-row:3 / 5;}
.cphoto-4{grid-column:1;grid-row:4;}
.cphoto-1 figcaption{
  position:absolute;left:14px;bottom:12px;z-index:2;color:#fff;font-weight:700;font-size:.85rem;
  letter-spacing:.02em;text-shadow:0 2px 10px rgba(0,0,0,.5);
}
.cphoto-1 figcaption i{color:#8ed36f;margin-right:4px;}
.cphoto-1::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(10,14,30,.6),transparent 45%);}
.collage-chip{
  position:absolute;top:-12px;right:14px;z-index:3;display:inline-flex;align-items:center;
  padding:.4rem .9rem;border-radius:40px;font-size:.76rem;font-weight:700;letter-spacing:.05em;
  color:#fff;background:var(--grad);box-shadow:0 10px 22px rgba(51,180,200,.4);
}
.collage-badge{
  position:absolute;left:-24px;bottom:-67px;z-index:3;
  display:flex;flex-direction:column;gap:2px;padding:14px 20px;border-radius:16px;color:#fff;
  background:linear-gradient(150deg,var(--navy-3),var(--navy));border:1px solid rgba(255,255,255,.12);
  box-shadow:0 18px 38px rgba(20,22,58,.4);
}
.collage-badge strong{font-family:'Plus Jakarta Sans';font-weight:800;font-size:1.75rem;line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.collage-badge span{font-size:.74rem;font-weight:500;opacity:.9;line-height:1.25;color:#cdd4ea;}
@media(max-width:575px){
  .about-collage{grid-auto-rows:88px;}
  .collage-badge{left:0;bottom:-12px;padding:11px 15px;}
  .collage-badge strong{font-size:1.4rem;}
}

/* India's Urban Moment — skyline background with dark gradient overlay */
#matters{
  background:linear-gradient(120deg,rgba(14,17,42,.95) 0%,rgba(20,22,58,.86) 50%,rgba(47,79,168,.7) 100%),url('../img/bengaluru.jpg') center/cover no-repeat;
}

/* ---------- Stat tiles (dark) ---------- */
.stat-tile{
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);
  border-radius:var(--radius);padding:32px 22px;text-align:center;height:100%;transition:.3s;
}
.stat-tile:hover{transform:translateY(-6px);background:rgba(255,255,255,.08);border-color:rgba(51,180,200,.5);}
.stat-tile i{font-size:1.7rem;color:var(--teal);margin-bottom:.6rem;}
.stat-tile .count{font-family:'Plus Jakarta Sans';font-weight:800;font-size:2.6rem;color:#fff;line-height:1;}
.stat-tile p{color:#a6b7d2;margin:.5rem 0 0;font-size:.92rem;}

/* ---------- Check list & mini cards ---------- */
.check-list{list-style:none;padding:0;margin:1.4rem 0 0;}
.check-list li{position:relative;padding:.5rem 0 .5rem 34px;color:var(--mute);line-height:1.6;}
.check-list li i{position:absolute;left:0;top:.65rem;color:var(--green);font-size:1.05rem;}
.mini-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;text-align:center;height:100%;box-shadow:var(--shadow);transition:.3s;}
.mini-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);}
.mini-card i{font-size:1.5rem;color:var(--teal-d);margin-bottom:.4rem;display:block;}
.mini-card .count,.mini-card span{font-family:'Plus Jakarta Sans';font-weight:800;font-size:1.9rem;color:var(--purple-d);display:block;line-height:1;}
.mini-card p{color:var(--mute);margin:.4rem 0 0;font-size:.85rem;}

/* ---------- Karnataka map ---------- */
.kn-map-wrap{position:relative;text-align:center;padding:14px 0;}
.kn-map-wrap::before{content:"";position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);width:430px;height:430px;max-width:96%;background:var(--grad);filter:blur(95px);opacity:.26;border-radius:50%;z-index:0;}
.kn-map-wrap::after{
  content:"";position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);
  width:430px;height:430px;max-width:94%;z-index:0;border-radius:50%;
  background:radial-gradient(circle,var(--purple) 1.5px,transparent 1.7px) 0 0/20px 20px;opacity:.16;
  -webkit-mask:radial-gradient(circle,#000 58%,transparent 72%);mask:radial-gradient(circle,#000 58%,transparent 72%);
}
.kn-flag{position:relative;z-index:2;display:inline-block;margin-bottom:12px;background:var(--grad);color:#fff;font-weight:700;font-size:.86rem;letter-spacing:.04em;padding:.45rem 1.1rem;border-radius:40px;box-shadow:0 12px 26px rgba(51,180,200,.4);}
.kn-map{position:relative;z-index:1;display:block;margin:0 auto;width:100%;max-width:390px;height:auto;aspect-ratio:102 / 158;filter:drop-shadow(0 26px 50px rgba(20,22,58,.32));animation:knFloat 6.5s ease-in-out infinite;}
.kn-map-wrap:hover .kn-map{animation-play-state:paused;transform:scale(1.03);transition:transform .5s ease;}
.kn-legend{position:relative;z-index:1;color:var(--mute);font-size:.82rem;margin-top:16px;letter-spacing:.02em;}
@keyframes knFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-12px);}}
@media(max-width:575px){.kn-map{max-width:270px;}.kn-map-wrap::before,.kn-map-wrap::after{width:300px;height:300px;}}

/* Why-Now section — Bengaluru urban backdrop with dark overlay */
#why-now{
  background:linear-gradient(150deg,rgba(20,22,58,.92) 0%,rgba(42,33,104,.86) 100%),url('../img/bengaluru.jpg') center/cover no-repeat;
}

/* ---------- Challenges hub-and-spoke ---------- */
.challenge-hub{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:30px;max-width:1060px;margin:0 auto;}
.ch-col{display:flex;flex-direction:column;gap:24px;}
.ch-item{position:relative;display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:50px;padding:9px;box-shadow:var(--shadow);transition:transform .3s ease,box-shadow .3s ease;}
.ch-item:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);}
.ch-ico{flex:0 0 auto;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:1.2rem;background:var(--c);box-shadow:0 8px 18px rgba(0,0,0,.18);}
.ch-text{flex:1;}
.ch-text h5{margin:0;font-size:1.02rem;font-weight:700;color:var(--ink);line-height:1.3;}
.ch-left .ch-item{flex-direction:row-reverse;text-align:right;}
.ch-left .ch-text{padding-left:14px;}
.ch-right .ch-text{padding-right:14px;}
.ch-item::after{content:"";position:absolute;top:50%;width:30px;height:2px;transform:translateY(-50%);opacity:.55;}
.ch-left .ch-item::after{right:-30px;background:linear-gradient(90deg,var(--c),transparent);}
.ch-right .ch-item::after{left:-30px;background:linear-gradient(270deg,var(--c),transparent);}
.ch-center{display:flex;justify-content:center;}
.ch-hub{position:relative;width:172px;height:172px;border-radius:50%;background:radial-gradient(circle at 50% 32%,#1f2652,var(--navy));color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;box-shadow:0 22px 50px rgba(20,22,58,.32);border:6px solid #fff;}
.ch-hub::before{content:"";position:absolute;inset:-6px;border-radius:50%;padding:6px;background:var(--grad);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;}
.ch-hub i{font-size:2.1rem;color:#8ed3c9;}
.ch-hub span{font-family:'Plus Jakarta Sans';font-weight:800;font-size:1.18rem;line-height:1.12;}
.ch-bottom{position:relative;display:flex;justify-content:center;margin-top:30px;}
.ch-bottom::before{content:"";position:absolute;top:-30px;left:50%;transform:translateX(-50%);width:2px;height:30px;background:linear-gradient(var(--teal),transparent);opacity:.55;}
.ch-bottom .ch-item{width:360px;max-width:100%;}

/* ---- Why-Now: continuous animations & effects ---- */
.ch-hub{animation:chFloat 5.5s ease-in-out infinite;}
.ch-hub::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid rgba(51,180,200,.55);animation:chPulse 2.8s ease-out infinite;pointer-events:none;}
.ch-hub i{display:inline-block;animation:chIcon 3.6s ease-in-out infinite;}
@keyframes chFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-9px);}}
@keyframes chPulse{0%{transform:scale(1);opacity:.75;}75%{transform:scale(1.4);opacity:0;}100%{opacity:0;}}
@keyframes chIcon{0%,100%{transform:scale(1);}50%{transform:scale(1.14);}}

/* Flowing energy along the connector lines */
.ch-left .ch-item::after{background:linear-gradient(90deg,transparent,var(--c),transparent);background-size:200% 100%;animation:chFlow 2.6s linear infinite;}
.ch-right .ch-item::after{background:linear-gradient(270deg,transparent,var(--c),transparent);background-size:200% 100%;animation:chFlow 2.6s linear infinite;}
@keyframes chFlow{0%{background-position:200% 0;}100%{background-position:-200% 0;}}

/* Richer icon + card hover */
.ch-ico{transition:transform .35s ease,box-shadow .35s ease;}
.ch-item:hover{box-shadow:0 14px 30px rgba(0,0,0,.28),0 0 0 2px color-mix(in srgb,var(--c) 55%,transparent);}
.ch-item:hover .ch-ico{transform:scale(1.14) rotate(-6deg);box-shadow:0 0 0 6px color-mix(in srgb,var(--c) 22%,transparent),0 8px 18px rgba(0,0,0,.28);}

@media(prefers-reduced-motion:reduce){
  .ch-hub,.ch-hub i,.ch-hub::after,.ch-left .ch-item::after,.ch-right .ch-item::after{animation:none;}
}

@media(max-width:767px){
  .challenge-hub{grid-template-columns:1fr;gap:14px;max-width:460px;}
  .ch-bottom{margin-top:14px;}
  .ch-bottom::before{display:none;}
  .ch-bottom .ch-item{width:100%;max-width:460px;}
  .ch-center{order:-1;margin-bottom:8px;}
  .ch-left .ch-item{flex-direction:row;text-align:left;}
  .ch-left .ch-text{padding-left:0;padding-right:14px;}
  .ch-item::after{display:none;}
}

/* ---------- Focus sectors ---------- */
.sector-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px 22px;height:100%;overflow:hidden;box-shadow:0 10px 30px rgba(20,22,58,.07);transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;}
.sector-card::before{content:"";position:absolute;top:-40px;right:-40px;width:120px;height:120px;border-radius:50%;background:var(--grad);opacity:0;filter:blur(28px);transition:.4s;}
.sector-card:hover{transform:translateY(-6px);box-shadow:0 26px 50px rgba(20,22,58,.16);border-color:transparent;}
.sector-card:hover::before{opacity:.16;}
.sector-ico{position:relative;z-index:1;width:54px;height:54px;border-radius:15px;display:grid;place-items:center;font-size:1.35rem;color:#fff;background:var(--grad);margin-bottom:1.1rem;box-shadow:0 10px 22px rgba(51,180,200,.3);transition:transform .35s ease;}
.sector-card:hover .sector-ico{transform:translateY(-3px) rotate(-6deg);}
.sector-card h6{position:relative;z-index:1;margin:0;font-weight:700;font-size:1rem;color:var(--ink);line-height:1.35;}
.sector-card h6::after{content:"";display:block;width:22px;height:3px;border-radius:3px;margin-top:12px;background:var(--grad);transition:width .35s ease;}
.sector-card:hover h6::after{width:46px;}
.sector-num{position:absolute;top:16px;right:20px;z-index:2;font-family:'Plus Jakarta Sans';font-weight:800;font-size:1.05rem;color:#e2e8f2;transition:color .35s ease;}
.sector-card:hover .sector-num{color:var(--teal);}
.sector-watermark{position:absolute;right:-14px;bottom:-20px;z-index:0;font-size:5.6rem;color:var(--ink);opacity:.045;transform:rotate(-8deg);transition:transform .45s ease,opacity .45s ease;}
.sector-card:hover .sector-watermark{opacity:.08;transform:rotate(-3deg) scale(1.06);}

/* ---------- Tracks: line-grid background ---------- */
#tracks{position:relative;overflow:hidden;}
#tracks::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);
  background-size:56px 56px;
  -webkit-mask-image:radial-gradient(circle at 50% 28%,#000 42%,transparent 82%);
  mask-image:radial-gradient(circle at 50% 28%,#000 42%,transparent 82%);
}
#tracks .container{position:relative;z-index:1;}

/* ---------- Tracks accordion ---------- */
.tracks-accordion .accordion-item{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:14px !important;margin-bottom:14px;overflow:hidden;}
.tracks-accordion .accordion-button{background:transparent;color:#fff;font-family:'Plus Jakarta Sans';font-weight:700;font-size:1.1rem;padding:22px 24px;box-shadow:none;}
.tracks-accordion .accordion-button:not(.collapsed){color:#fff;background:rgba(51,180,200,.14);}
.tracks-accordion .accordion-button::after{filter:brightness(0) invert(1);}
.tracks-accordion .accordion-button .t-num{font-size:.85rem;color:#7ec860;margin-right:16px;font-weight:800;}
.tracks-accordion .accordion-body{color:#b3c0d6;padding:6px 24px 24px;}
.tracks-accordion .accordion-body ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.tracks-accordion .accordion-body li{position:relative;padding-left:26px;line-height:1.5;}
.tracks-accordion .accordion-body li::before{content:"\f0da";font-family:"Font Awesome 6 Free";font-weight:900;color:var(--green);position:absolute;left:6px;top:1px;}
@media(max-width:576px){.tracks-accordion .accordion-body ul{grid-template-columns:1fr;}}

/* ---------- Speakers (portrait cards) ---------- */
.spk-card{
  position:relative;height:100%;border-radius:20px;overflow:hidden;
  background:#fff;border:1px solid var(--line);
  box-shadow:var(--shadow);transition:.35s;
}
.spk-card::before{content:"";position:absolute;inset:0;border-radius:20px;padding:1.5px;background:var(--grad);
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;
  opacity:0;transition:.35s;pointer-events:none;z-index:4;}
.spk-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);}
.spk-card:hover::before{opacity:1;}
.spk-photo{
  position:relative;aspect-ratio:1/1.02;overflow:hidden;display:flex;align-items:flex-end;justify-content:center;
  padding-top:14px;
  background:radial-gradient(120% 95% at 50% 16%,#2c3874 0%,#171b3d 72%);
}
.spk-photo img{
  position:relative;z-index:1;height:100%;width:auto;max-width:100%;
  object-fit:contain;object-position:bottom center;transition:transform .5s ease;filter:drop-shadow(0 8px 18px rgba(0,0,0,.32));
}
.spk-card:hover .spk-photo img{transform:scale(1.045);}
.spk-photo .ini{margin:auto;font-family:'Plus Jakarta Sans';font-weight:800;font-size:2.8rem;color:rgba(255,255,255,.85);}
.spk-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,#151834 1%,rgba(21,24,52,.12) 26%,transparent 46%);}
.spk-badge{
  position:absolute;top:14px;right:14px;z-index:3;width:38px;height:38px;border-radius:50%;
  display:grid;place-items:center;color:#fff;font-size:.9rem;
  background:linear-gradient(135deg,#ff9f2e,#f47a12);
  border:1px solid rgba(255,255,255,.4);box-shadow:0 6px 16px rgba(244,122,18,.5);
}
.spk-body{position:relative;z-index:2;background:#fff;padding:0 20px 22px;}
.spk-sep{display:block;height:4px;width:calc(100% + 40px);margin:0 -20px 16px;background:var(--grad);}
.spk-name{color:var(--ink);font-size:1.08rem;font-weight:800;margin:0 0 6px;line-height:1.25;}
.spk-name .ias{color:var(--mute);font-weight:600;}
.spk-role{color:var(--blue);font-weight:700;font-size:.95rem;line-height:1.3;}
.spk-org{color:var(--mute);font-size:.83rem;margin-top:3px;line-height:1.4;}

/* ---------- Audience infographic ---------- */
.aud-summary{position:relative;display:flex;flex-wrap:wrap;justify-content:center;max-width:880px;margin:0 auto 68px;background:linear-gradient(180deg,#ffffff,#f7fbff);border:1px solid var(--line);border-radius:26px;box-shadow:0 26px 60px rgba(20,22,58,.10);overflow:hidden;}
.aud-summary::before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:var(--grad);}
.aud-sum{flex:1 1 0;min-width:200px;text-align:center;padding:42px 28px;position:relative;transition:background .3s ease;}
.aud-sum:not(:last-child)::after{content:"";position:absolute;top:24%;right:0;height:52%;width:1px;background:linear-gradient(to bottom,transparent,var(--line),transparent);}
.aud-sum:hover{background:rgba(51,180,200,.055);}
.aud-sum-num{display:block;font-family:'Plus Jakarta Sans';font-weight:800;font-size:2.7rem;line-height:1;letter-spacing:-.5px;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;transition:transform .3s ease;}
.aud-sum:hover .aud-sum-num{transform:scale(1.06);}
.aud-sum-lbl{display:block;margin-top:12px;font-size:.86rem;color:var(--mute);font-weight:600;line-height:1.4;}

/* Alternating process-flow timeline */
.attend-head{padding-bottom:26px;}
.aud-flow{position:relative;display:flex;align-items:stretch;max-width:1140px;margin:34px auto 0;}
.aud-flow::before{content:"";position:absolute;left:10%;right:10%;top:50%;transform:translateY(-50%);height:14px;border-radius:20px;background:linear-gradient(90deg,#2f77c9,#33b4c8,#5f4fa8,#68b23a,#e0912b);box-shadow:0 10px 22px rgba(20,22,58,.18);z-index:0;}
.aud-step{position:relative;flex:1 1 0;min-width:0;height:404px;}
.aud-node{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:116px;height:116px;border-radius:50%;background:#fff;border:7px solid #eef2f7;box-shadow:0 14px 30px rgba(20,22,58,.16);display:grid;place-items:center;color:var(--c);font-size:2.15rem;z-index:2;transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease;}
.aud-node::after{content:"";position:absolute;inset:-7px;border-radius:50%;border:2px solid color-mix(in srgb,var(--c) 55%,transparent);opacity:0;animation:audPulse 3s ease-out infinite;pointer-events:none;}
.aud-node-num{position:absolute;bottom:-4px;right:-4px;width:34px;height:34px;border-radius:50%;background:var(--c);color:#fff;display:grid;place-items:center;font-family:'Plus Jakarta Sans';font-weight:800;font-size:.85rem;border:3px solid #fff;box-shadow:0 6px 14px rgba(20,22,58,.22);}
.aud-step:hover .aud-node{transform:translate(-50%,-50%) scale(1.08);border-color:color-mix(in srgb,var(--c) 32%,#eef2f7);box-shadow:0 18px 38px rgba(20,22,58,.24);}
.aud-step-text{position:absolute;left:50%;transform:translateX(-50%);width:238px;max-width:calc(100% + 30px);text-align:center;}
.aud-step--up .aud-step-text{bottom:calc(50% + 86px);}
.aud-step--down .aud-step-text{top:calc(50% + 86px);}
.aud-step-text h6{margin:0 0 3px;font-family:'Plus Jakarta Sans';font-weight:800;font-size:1rem;line-height:1.25;color:var(--c);text-wrap:balance;}
.aud-step-count{display:block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--mute);margin-bottom:6px;}
.aud-step-text p{margin:0;font-size:.8rem;line-height:1.55;color:#5b6b82;text-wrap:balance;}
@keyframes audPulse{0%{transform:scale(1);opacity:.6;}70%{transform:scale(1.3);opacity:0;}100%{opacity:0;}}

/* "View all" button */
.aud-more{margin-top:10px;display:inline-flex;align-items:center;gap:7px;font-family:'Plus Jakarta Sans';font-weight:700;font-size:.76rem;color:var(--c);background:color-mix(in srgb,var(--c) 10%,#fff);border:1px solid color-mix(in srgb,var(--c) 30%,#fff);padding:.42rem .85rem;border-radius:30px;cursor:pointer;transition:.25s ease;}
.aud-more:hover{background:var(--c);color:#fff;border-color:var(--c);transform:translateY(-2px);box-shadow:0 8px 18px color-mix(in srgb,var(--c) 45%,transparent);}
.aud-more i{font-size:.7rem;transition:transform .25s ease;}
.aud-more:hover i{transform:translateX(3px);}

/* Delegate-profile modal */
.aud-modal{position:fixed;inset:0;z-index:1080;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;}
.aud-modal.open{opacity:1;visibility:visible;}
.aud-modal-backdrop{position:absolute;inset:0;background:rgba(10,12,30,.62);backdrop-filter:blur(4px);}
.aud-modal-card{position:relative;z-index:1;width:min(560px,100%);max-height:85vh;overflow:auto;background:#fff;border-radius:22px;padding:28px 28px 30px;box-shadow:0 40px 90px rgba(0,0,0,.4);border-top:6px solid var(--c);transform:translateY(16px) scale(.97);transition:transform .35s cubic-bezier(.22,1,.36,1);}
.aud-modal.open .aud-modal-card{transform:none;}
.aud-modal-x{position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:50%;border:none;background:var(--soft);color:var(--ink);font-size:1rem;cursor:pointer;display:grid;place-items:center;transition:.25s;}
.aud-modal-x:hover{background:var(--c);color:#fff;transform:rotate(90deg);}
.aud-modal-head{display:flex;align-items:center;gap:16px;margin-bottom:20px;padding-right:34px;}
.aud-modal-ico{flex:0 0 auto;width:60px;height:60px;border-radius:16px;display:grid;place-items:center;font-size:1.6rem;color:#fff;background:var(--c);box-shadow:0 10px 22px color-mix(in srgb,var(--c) 45%,transparent);}
.aud-modal-title{margin:0;font-size:1.35rem;color:var(--ink);line-height:1.2;}
.aud-modal-sub{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--c);}
.aud-modal-tags{display:flex;flex-wrap:wrap;gap:9px;}
.aud-modal-tags .aud-tag{font-size:.85rem;font-weight:500;color:#48566e;background:var(--soft);border:1px solid var(--line);padding:.4rem .85rem;border-radius:30px;transition:.2s ease;}
.aud-modal-tags .aud-tag:hover{background:color-mix(in srgb,var(--c) 12%,#fff);color:var(--c);border-color:color-mix(in srgb,var(--c) 40%,#fff);}

/* Tablet — smaller nodes, keep horizontal */
@media(max-width:991px){
  .aud-step{height:336px;}
  .aud-node{width:92px;height:92px;font-size:1.7rem;border-width:6px;}
  .aud-step-text h6{font-size:.9rem;}
  .aud-step-text p{font-size:.74rem;}
  .aud-step--up .aud-step-text{bottom:calc(50% + 60px);}
  .aud-step--down .aud-step-text{top:calc(50% + 60px);}
}

/* Phones/tablets — vertical timeline */
@media(max-width:767px){
  .aud-flow{flex-direction:column;max-width:520px;margin-top:24px;}
  .aud-flow::before{left:40px;right:auto;top:52px;bottom:52px;width:6px;height:auto;border-radius:20px;transform:none;}
  .aud-step{height:auto;display:flex;align-items:center;gap:22px;padding:16px 0;}
  .aud-node{order:-1;position:static;transform:none;flex:0 0 auto;width:86px;height:86px;font-size:1.6rem;}
  .aud-step:hover .aud-node{transform:scale(1.06);}
  .aud-step-text{position:static;left:auto;right:auto;transform:none;width:auto;max-width:none;text-align:left;flex:1 1 auto;}
  .aud-step--up .aud-step-text,.aud-step--down .aud-step-text{bottom:auto;top:auto;}
  .aud-step-text p{font-size:.82rem;}
}
@media(max-width:575px){
  .aud-summary{margin-bottom:48px;}
  .aud-sum{padding:30px 24px;}
  .aud-sum:not(:last-child)::after{top:auto;right:auto;bottom:0;left:18%;width:64%;height:1px;background:linear-gradient(to right,transparent,var(--line),transparent);}
}

/* ---------- Value cards — arched capsule infographic ---------- */
#why-attend{position:relative;overflow:hidden;}
#why-attend::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);
  background-size:46px 46px;
  -webkit-mask:radial-gradient(120% 90% at 50% 40%,#000 55%,transparent 100%);
  mask:radial-gradient(120% 90% at 50% 40%,#000 55%,transparent 100%);}
#why-attend .container{position:relative;z-index:1;}
#why-attend .row{align-items:flex-start;}
.value-card{--c:var(--green);}
#why-attend .col-lg-3:nth-child(1) .value-card{--c:var(--blue);}
#why-attend .col-lg-3:nth-child(2) .value-card{--c:var(--teal);}
#why-attend .col-lg-3:nth-child(3) .value-card{--c:var(--purple);}
#why-attend .col-lg-3:nth-child(4) .value-card{--c:var(--green);}
.value-card{
  position:relative;text-align:center;background:#fff;
  border:2px solid color-mix(in srgb,var(--c) 42%,#fff);
  border-radius:130px 130px 24px 24px;
  padding:132px 24px 34px;margin-top:52px;
  transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;
  box-shadow:0 18px 42px rgba(20,22,58,.08);
}
.value-card::before{content:"";position:absolute;top:0;left:0;right:0;height:160px;border-radius:128px 128px 0 0;background:linear-gradient(180deg,color-mix(in srgb,var(--c) 13%,transparent),transparent);pointer-events:none;}
.value-card:hover{transform:translateY(-8px);box-shadow:0 28px 56px rgba(20,22,58,.16);border-color:var(--c);}
.value-icon{
  position:absolute;top:28px;left:50%;transform:translateX(-50%);
  width:84px;height:84px;border-radius:50%;margin:0;
  display:grid;place-items:center;font-size:1.9rem;color:#fff;
  background:linear-gradient(150deg,var(--c),color-mix(in srgb,var(--c) 55%,#fff));
  border:5px solid #fff;box-shadow:0 12px 26px color-mix(in srgb,var(--c) 42%,transparent);transition:transform .35s ease;
}
.value-card:hover .value-icon{transform:translateX(-50%) scale(1.08);}
.value-card h5{font-family:'Plus Jakarta Sans';font-weight:800;font-size:1.14rem;margin:0 0 16px;color:color-mix(in srgb,var(--c) 80%,#000);letter-spacing:.01em;}
.value-card ul{list-style:none;padding:0;margin:0;display:inline-block;text-align:left;}
.value-card li{position:relative;padding:.34rem 0 .34rem 24px;color:var(--mute);font-size:.88rem;line-height:1.4;}
.value-card li::before{content:"\f058";font-family:"Font Awesome 6 Free";font-weight:900;font-size:.8rem;color:var(--c);position:absolute;left:0;top:.46rem;}

/* Staggered up/down rhythm on wide screens */
@media(min-width:992px){
  #why-attend .col-lg-3:nth-child(even) .value-card{margin-top:0;margin-bottom:52px;}
}

/* ---------- CTA band ---------- */
.cta-band{
  position:relative;padding:110px 0;color:#fff;overflow:hidden;
  background:linear-gradient(120deg,rgba(14,18,44,.93) 0%,rgba(47,79,168,.82) 50%,rgba(51,180,200,.6) 100%),url('../img/about-karnataka.jpg') center/cover no-repeat;
}
.cta-bg{position:absolute;inset:0;}
.cta-bg .orb-1{width:420px;height:420px;background:var(--teal);top:-140px;left:-80px;filter:blur(60px);opacity:.38;border-radius:50%;position:absolute;}
.cta-bg .orb-2{width:360px;height:360px;background:var(--green);bottom:-140px;right:-70px;filter:blur(60px);opacity:.38;border-radius:50%;position:absolute;}
.cta-eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:'Plus Jakarta Sans';font-weight:700;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:#d5e6ff;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);padding:.5rem 1rem;border-radius:40px;margin-bottom:1.1rem;backdrop-filter:blur(4px);}
.cta-eyebrow i{color:var(--teal);}
.cta-title{font-size:clamp(1.8rem,3.6vw,2.9rem);line-height:1.14;margin-bottom:1rem;font-weight:800;}
.cta-hl{background:linear-gradient(100deg,#8ed36f,#7fd9e0 55%,#a7c4ff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.cta-sub{color:#c3d3e8;font-size:1.12rem;margin:0 auto 1.6rem;max-width:640px;}
.cta-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:2rem;}
.cta-chip{display:inline-flex;align-items:center;gap:8px;font-size:.86rem;font-weight:600;color:#e6eefb;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);padding:.5rem .95rem;border-radius:30px;}
.cta-chip i{color:var(--teal);font-size:.9rem;}
.contact-card{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:26px 24px;transition:.3s;backdrop-filter:blur(3px);}
.contact-card:hover{background:rgba(255,255,255,.12);transform:translateY(-4px);border-color:rgba(143,217,224,.5);box-shadow:0 18px 40px rgba(0,0,0,.28);}
.cc-ico{width:52px;height:52px;border-radius:14px;display:inline-grid;place-items:center;font-size:1.35rem;color:#fff;background:linear-gradient(150deg,var(--green),var(--teal));box-shadow:0 10px 22px rgba(51,180,200,.35);margin-bottom:14px;}
.contact-card h6{color:#fff;margin-bottom:.35rem;font-weight:700;}
.contact-card a{color:#7fd9e0;font-weight:600;}
.contact-card a:hover{color:#fff;text-decoration:underline;}
.cta-btn{display:inline-flex;align-items:center;gap:11px;font-family:'Plus Jakarta Sans';font-weight:700;font-size:1.02rem;color:#0f1330;background:linear-gradient(100deg,#8ed36f,#7fd9e0);padding:.9rem 2rem;border-radius:44px;box-shadow:0 16px 36px rgba(51,180,200,.4);transition:transform .3s ease,box-shadow .3s ease;}
.cta-btn i{transition:transform .3s ease;}
.cta-btn:hover{transform:translateY(-3px);box-shadow:0 22px 46px rgba(51,180,200,.55);color:#0f1330;}
.cta-btn:hover i{transform:translateX(4px);}

/* ---------- Our Magazines ---------- */
#magazines{position:relative;overflow:hidden;}
#magazines::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.12) 1.4px,transparent 1.6px);
  background-size:22px 22px;
  -webkit-mask-image:radial-gradient(circle at 50% 40%,#000 55%,transparent 90%);
  mask-image:radial-gradient(circle at 50% 40%,#000 55%,transparent 90%);
}
#magazines .container{position:relative;z-index:1;}
.mag-shelf{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:38px;}
.mag-cover{margin:0;width:230px;max-width:60vw;text-align:center;}
.mag-cover img{width:100%;display:block;border-radius:8px;border:1px solid rgba(0,0,0,.06);box-shadow:0 22px 44px rgba(20,22,58,.22);transition:transform .4s ease,box-shadow .4s ease;}
.mag-cover:hover img{transform:translateY(-12px) rotate(-1.2deg);box-shadow:0 34px 64px rgba(20,22,58,.34);}
.mag-cover figcaption{margin-top:18px;font-family:'Plus Jakarta Sans';font-weight:700;color:#eaf0fb;font-size:.98rem;}
@media(max-width:575px){.mag-shelf{gap:24px;}.mag-cover{width:150px;}}

/* ---------- Footer ---------- */
.footer{position:relative;background:radial-gradient(120% 150% at 12% 0%,#1c2350 0%,var(--navy) 55%);color:#a6b7d2;padding:72px 0 26px;overflow:hidden;}
.footer-accent{position:absolute;top:0;left:0;right:0;height:4px;background:var(--grad);}
.footer::before{content:"";position:absolute;top:-130px;right:-110px;width:380px;height:380px;background:var(--grad);filter:blur(140px);opacity:.14;border-radius:50%;pointer-events:none;}
.footer::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1.4px);background-size:26px 26px;-webkit-mask:linear-gradient(to bottom,#000,transparent 65%);mask:linear-gradient(to bottom,#000,transparent 65%);}
.footer .container{position:relative;z-index:1;}
.footer-brand{display:inline-flex;}
.footer-brand .brand-logo-wrap{background:transparent;padding:0;box-shadow:none;border-radius:0;}
.footer-brand .brand-logo{height:180px;filter:drop-shadow(0 6px 16px rgba(0,0,0,.4));}
.footer p{color:#a6b7d2;font-size:.92rem;line-height:1.7;}
.footer-social{display:flex;gap:10px;margin-top:18px;}
.footer-social a{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;color:#cdd8ee;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);transition:.28s;}
.footer-social a:hover{color:#fff;background:var(--grad);border-color:transparent;transform:translateY(-3px);box-shadow:0 10px 22px rgba(51,180,200,.35);}
.footer-head{color:#fff;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:18px;font-weight:800;}
.footer-links{display:flex;flex-direction:column;gap:11px;}
.footer-links a{color:#a6b7d2;font-size:.92rem;transition:.25s;display:inline-flex;align-items:center;width:max-content;}
.footer-links a::before{content:"\f105";font-family:"Font Awesome 6 Free";font-weight:900;margin-right:9px;color:var(--teal);opacity:1;transition:.25s;display:inline-block;}
.footer-links a:hover{color:#fff;}
.footer-links a:hover::before{color:var(--green);transform:translateX(3px);}
.footer-contact{list-style:none;padding:0;margin:0 0 8px;}
.footer-contact li{display:flex;align-items:center;gap:12px;padding:6px 0;color:#c1cee2;font-size:.92rem;}
.footer-contact li i{width:34px;height:34px;flex:0 0 auto;border-radius:10px;display:grid;place-items:center;color:var(--teal);background:rgba(51,180,200,.12);}
.footer-contact a{color:#c1cee2;transition:.25s;}
.footer-contact a:hover{color:var(--green);}
.footer-rule{border-color:rgba(255,255,255,.1);margin:38px 0 18px;}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;}
.footer small{color:#8496b5;}
.footer-hash{text-transform:uppercase;letter-spacing:.15em;color:var(--teal)!important;font-weight:700;}

/* ---------- Past Partners ---------- */
.section-dark .section-lead{color:#aab6d4;}
#partners{position:relative;overflow:hidden;}
#partners::before{content:"";position:absolute;top:-150px;left:-120px;width:460px;height:460px;background:var(--grad);filter:blur(130px);opacity:.16;border-radius:50%;pointer-events:none;z-index:0;}
#partners::after{content:"";position:absolute;bottom:-160px;right:-120px;width:420px;height:420px;background:var(--teal);filter:blur(140px);opacity:.12;border-radius:50%;pointer-events:none;z-index:0;}
#partners .container{position:relative;z-index:1;}

.pf-card{
  position:relative;background:#fff;border:1px solid rgba(255,255,255,.16);border-radius:18px;padding:22px 18px;height:100%;
  display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:14px;
  box-shadow:0 16px 34px rgba(0,0,0,.28);transition:transform .32s ease,box-shadow .32s ease,border-color .32s ease;
}
.pf-card:hover{transform:translateY(-8px);box-shadow:0 30px 56px rgba(0,0,0,.45);border-color:rgba(51,180,200,.75);}
.pf-logo{order:1;display:grid;place-items:center;width:100%;height:76px;}
.pf-logo img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;filter:grayscale(1);opacity:.82;transition:.35s ease;}
.pf-card:hover .pf-logo img{filter:grayscale(0);opacity:1;transform:scale(1.04);}
.pf-tier{
  order:2;font-size:.64rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--teal-d);background:rgba(51,180,200,.12);padding:.3rem .8rem;border-radius:30px;text-align:center;
}
#partnerFeatured .pf-card{padding:30px 26px;overflow:hidden;border-color:rgba(104,178,58,.3);}
#partnerFeatured .pf-card::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--grad);}
#partnerFeatured .pf-logo{height:104px;}
#partnerFeatured .pf-logo img{filter:none;opacity:1;}
#partnerFeatured .pf-tier{color:var(--green-d);background:rgba(104,178,58,.14);}

/* marquee logo wall — full-bleed */
.partner-marquee{display:flex;flex-direction:column;gap:18px;margin-top:48px;
  -webkit-mask:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);
  mask:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);}
.marquee-row{overflow:hidden;}
.marquee-track{display:flex;gap:18px;width:max-content;animation:marqueeL 44s linear infinite;will-change:transform;}
.marquee-row[data-dir="r"] .marquee-track{animation-name:marqueeR;animation-duration:52s;}
.partner-marquee:hover .marquee-track{animation-play-state:paused;}
@keyframes marqueeL{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@keyframes marqueeR{from{transform:translateX(-50%);}to{transform:translateX(0);}}
.p-tile{
  flex:0 0 auto;width:176px;height:175px;background:#fff;border:1px solid rgba(255,255,255,.16);
  border-radius:14px;display:grid;place-items:center;padding:14px 18px;
  box-shadow:0 14px 30px rgba(0,0,0,.28);transition:transform .3s ease,border-color .3s ease;
}
.p-tile:hover{transform:translateY(-5px);border-color:rgba(51,180,200,.7);}
.p-tile img{max-width:100%;max-height:100%;object-fit:contain;transition:transform .35s ease;}
.p-tile:hover img{transform:scale(1.05);}
@media(max-width:575px){.p-tile{width:140px;height:82px;}}
#partnerFeatured .pf-tier{color:var(--green-d);background:rgba(104,178,58,.12);}

/* ---------- Past Glimpses gallery ---------- */
.glimpse-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.glimpse-item{position:relative;aspect-ratio:4/3;border-radius:14px;overflow:hidden;cursor:pointer;box-shadow:var(--shadow);}
.glimpse-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s ease;}
.glimpse-item::after{
  content:"\f00e";font-family:"Font Awesome 6 Free";font-weight:900;
  position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:1.5rem;
  background:linear-gradient(120deg,rgba(104,178,58,.55),rgba(51,180,200,.5) 50%,rgba(95,79,168,.55));
  opacity:0;transition:.35s;
}
.glimpse-item:hover img{transform:scale(1.09);}
.glimpse-item:hover::after{opacity:1;}
@media(max-width:991px){.glimpse-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:576px){.glimpse-grid{grid-template-columns:repeat(2,1fr);gap:12px;}}

/* ---------- Lightbox ---------- */
.lightbox-modal .modal-content{background:transparent;border:none;align-items:center;box-shadow:none;}
.lightbox-modal #lbImg{max-width:100%;max-height:82vh;border-radius:12px;box-shadow:0 30px 80px rgba(0,0,0,.6);}
.lightbox-modal .lb-close{
  position:absolute;top:-16px;right:-6px;z-index:5;width:44px;height:44px;border:none;border-radius:12px;
  background:var(--grad);color:#fff;font-size:1.1rem;cursor:pointer;box-shadow:0 8px 20px rgba(0,0,0,.4);transition:.25s;
}
.lightbox-modal .lb-nav{
  position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:48px;height:48px;border:none;border-radius:50%;
  background:rgba(255,255,255,.14);color:#fff;font-size:1.1rem;cursor:pointer;backdrop-filter:blur(6px);transition:.25s;
}
.lightbox-modal .lb-nav:hover,.lightbox-modal .lb-close:hover{transform:translateY(-50%) scale(1.08);background:var(--green);}
.lightbox-modal .lb-close:hover{transform:scale(1.08);}
.lightbox-modal .lb-prev{left:-12px;}
.lightbox-modal .lb-next{right:-12px;}
.lightbox-modal .lb-counter{position:absolute;bottom:-36px;left:50%;transform:translateX(-50%);color:#fff;font-weight:600;letter-spacing:.1em;font-size:.9rem;}
@media(max-width:576px){.lightbox-modal .lb-prev{left:6px;}.lightbox-modal .lb-next{right:6px;}}

/* ---------- Back to top ---------- */
#backToTop{
  position:fixed;right:24px;bottom:24px;width:48px;height:48px;border:none;border-radius:14px;
  background:var(--grad);color:#fff;font-size:1rem;cursor:pointer;z-index:60;
  opacity:0;visibility:hidden;transform:translateY(14px);transition:.3s;box-shadow:0 12px 26px rgba(51,180,200,.45);
}
#backToTop.show{opacity:1;visibility:visible;transform:translateY(0);}
#backToTop:hover{transform:translateY(-3px);}

/* ---------- Right-side sticky stat rail ---------- */
.stat-rail{
  position:fixed;top:50%;right:22px;transform:translateY(-50%);z-index:70;
  width:260px;padding:20px 20px 20px 24px;
  background:linear-gradient(155deg,rgba(24,27,66,.96),rgba(16,18,44,.96));
  border:1px solid rgba(255,255,255,.14);border-radius:16px;
  box-shadow:0 24px 60px rgba(0,0,0,.45);backdrop-filter:blur(8px);
  color:#e6eefb;overflow:hidden;
  opacity:0;visibility:hidden;transform:translateY(-50%) translateX(34px);
  transition:opacity .5s ease,transform .5s cubic-bezier(.22,1,.36,1),visibility .5s;
}
.stat-rail.show{opacity:1;visibility:visible;transform:translateY(-50%) translateX(0);}
.stat-rail::before{content:"";position:absolute;top:0;left:0;bottom:0;width:5px;background:var(--grad);background-size:100% 200%;animation:railBar 5s linear infinite;}
.stat-rail::after{content:"";position:absolute;inset:0;border-radius:16px;border:1px solid transparent;background:linear-gradient(130deg,rgba(51,180,200,.5),transparent 40%) border-box;-webkit-mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.6;pointer-events:none;animation:railGlow 3.5s ease-in-out infinite;}
.stat-rail-close{position:absolute;top:8px;right:10px;background:none;border:none;color:#8496b5;font-size:1.25rem;line-height:1;cursor:pointer;transition:.25s;z-index:2;}
.stat-rail-close:hover{color:#fff;transform:rotate(90deg);}
.stat-rail-tag{display:inline-flex;align-items:center;gap:7px;font-family:'Plus Jakarta Sans';font-weight:700;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:#8ed3c9;margin-bottom:10px;}
.stat-rail-tag i{color:var(--teal);}
.stat-rail-text{margin:0;font-size:.92rem;line-height:1.55;color:#c8d4ea;}
.stat-rail-text strong{color:#fff;font-weight:700;}
.stat-hl{font-family:'Plus Jakarta Sans';font-weight:800;font-size:1.02rem;background:linear-gradient(100deg,#8ed36f,#7fd9e0,#a7c4ff);background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:railShine 4s linear infinite;white-space:nowrap;}
@keyframes railBar{0%{background-position:0 0;}100%{background-position:0 -200%;}}
@keyframes railShine{to{background-position:200% center;}}
@keyframes railGlow{0%,100%{opacity:.35;}50%{opacity:.8;}}
@media(prefers-reduced-motion:reduce){.stat-rail,.stat-rail::before,.stat-rail::after,.stat-hl{animation:none;}}
@media(max-width:1199px){.stat-rail{display:none;}}

/* ===========================================================
   RESPONSIVE  —  layered breakpoints for all devices
   =========================================================== */

/* Large tablets / small laptops */
@media(max-width:1199px){
  .footer-brand .brand-logo{height:150px;}
  .ch-hub{width:158px;height:158px;}
  .cta-band{padding:92px 0;}
}

/* Tablets — landscape */
@media(max-width:991px){
  #mainNav{padding:12px 0;}
  #mainNav .navbar-collapse{background:rgba(20,22,58,.97);border-radius:14px;padding:14px 18px;margin-top:12px;box-shadow:0 20px 40px rgba(0,0,0,.35);}
  #mainNav .navbar-nav{gap:2px;}
  #mainNav .nav-link{padding:.65rem .9rem;}
  #mainNav .nav-link::after{display:none;}
  #mainNav .nav-link:hover,#mainNav .nav-link.active{background:rgba(255,255,255,.1);}
  .nav-item.ms-lg-2{margin-top:8px;}
  .btn-express{width:100%;justify-content:center;}
  #mainNav .brand-logo-wrap{display:none;}
  .hero-ribbon{display:none;}
  /* Stop AOS horizontal slide from clipping content off-screen on small viewports */
  [data-aos="fade-right"],[data-aos="fade-left"]{transform:translateX(0)!important;}
  .brand-logo{height:58px;}
  #mainNav.scrolled .brand-logo{height:48px;}
  .section{padding:72px 0;}
  .hero{min-height:auto;}
  .cta-band{padding:80px 0;}
  .footer{padding:60px 0 24px;}
  .footer-brand .brand-logo{height:130px;}
}

/* Tablets — portrait */
@media(max-width:767px){
  .section{padding:60px 0;}
  .section-lead{font-size:1rem;}
  .about-collage{max-width:460px;margin:0 auto;}
  .stat-tile{padding:26px 16px;}
  .stat-tile .count{font-size:2.2rem;}
  .mag-shelf{gap:30px;}
  .value-card{padding:130px 22px 30px;}
  .footer .col-lg-4:first-child{text-align:center;}
  .footer-brand{justify-content:center;}
  .footer-social{justify-content:center;}
}

/* Phones */
@media(max-width:575px){
  .container{padding-left:20px;padding-right:20px;}
  .section{padding:48px 0;}
  .brand-logo{height:50px;}
  #mainNav.scrolled .brand-logo{height:44px;}
  .hero-ribbon-inner{gap:18px;padding:20px 2px;}
  .hr-ico{width:42px;height:42px;font-size:1.05rem;}
  .hr-text strong{font-size:.95rem;}
  .stat-tile{padding:22px 12px;}
  .stat-tile i{font-size:1.4rem;}
  .stat-tile .count{font-size:1.85rem;}
  .stat-tile p{font-size:.82rem;}
  .sector-card{padding:22px 18px;}
  .sector-card h6{font-size:.95rem;}
  .sector-ico{width:48px;height:48px;font-size:1.2rem;}
  .value-card{padding:128px 20px 28px;}
  .cta-band{padding:64px 0;}
  .contact-card{padding:20px;}
  .footer-brand .brand-logo{height:110px;}
  .footer-bottom{justify-content:center;text-align:center;}
  #backToTop{right:16px;bottom:16px;width:44px;height:44px;}
}

/* Small phones */
@media(max-width:400px){
  .container{padding-left:16px;padding-right:16px;}
  .brand-logo{height:44px;}
  .hr-item{gap:11px;}
  .row.g-4{--bs-gutter-x:.9rem;}
  .spk-name{font-size:1rem;}
  .footer-brand .brand-logo{height:96px;}
}
