@font-face{
  font-family:'Neulis Sans';
  src:url('https://event-assets.dsci.in/aiss/assets/fonts/Neulis Sans Regular.ttf') format('truetype');
  font-weight:400;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:'Neulis Sans';
  src:url('https://event-assets.dsci.in/aiss/assets/fonts/Neulis Sans Medium.ttf') format('truetype');
  font-weight:500;
  font-style:normal;
  font-display:swap;
}

/* Sirf 2 weights available hain — fake-bold synthesis band karo,
   warna browser Regular/Medium ko khud stretch/bold kar deta hai
   jo asli Neulis Sans jaisa nahi dikhta */
html{
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* =====================================================================
   GLOBAL ROOT VARIABLES
   - Container width/padding: px-anchored (not pure rem/vw) so the
     layout stays visually identical at 100% / 125% / 150% browser
     zoom and across different OS display-scaling settings.
   - Easing curves: single source of truth used everywhere below.
   ===================================================================== */
:root{
  /* --container-max: min(80rem, 1280px);
  --container-pad: clamp(20px, 3.5vw, 50px); */

   --container-max: min(90vw, 80rem);   /* pehle: min(80rem, 1280px) */
  --container-pad: clamp(1.25rem, 3.5vw, 3.125rem); /* px bounds -> rem, vw-driven same rahega */


  --ease-smooth: cubic-bezier(.19,1,.22,1);     /* premium, graceful entrance */
  --ease-snap:   cubic-bezier(.25,.46,.45,.94); /* smooth hover/interaction, no jerk */
}



/* ---------- Fade-up scroll animation (one-shot) ---------- */
.fade-up{
  opacity:0;
  transform:translateY(2rem);
  transition: opacity 1.3s var(--ease-smooth), transform 1.3s var(--ease-smooth);
  will-change: opacity, transform;
  backface-visibility: hidden;
}
.fade-up.is-visible{
  opacity:1;
  transform:translateY(0);
}

/* jinke device/browser mein reduced-motion on hai, unke liye animation skip
   (accessibility ke liye zaroori) */
@media (prefers-reduced-motion: reduce){
  .fade-up{
    opacity:1;
    transform:none;
    transition:none;
  }
}

/* ---------- Repeatable scroll-in animation ---------- */
.fade-up-repeat{
  opacity:0;
  transform:translateY(2.8rem) scale(0.96);
  transition: opacity 1.6s var(--ease-smooth), transform 1.6s var(--ease-smooth);
  will-change: opacity, transform;
  backface-visibility: hidden;
}
.fade-up-repeat.is-visible{
  opacity:1;
  transform:translateY(0) scale(1);
}
@media (prefers-reduced-motion: reduce){
  .fade-up-repeat{ opacity:1; transform:none; transition:none; }
}

*{ box-sizing:border-box; margin:0; padding:0; }

/* Poori site mobile pe horizontally overflow na kare — safety net.*/
html, body{
  overflow-x:hidden;
  max-width:100vw;
  width:100%;
}

html{
  font-size:100%;
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;   /* Safari/mobile auto text-resize band, zoom pe container consistent rahega */
  scroll-behavior:smooth;
  overflow-y:auto;     /* single, explicit scroll owner — duplicate scrollbar fix */
  height:auto;

  /* ---------- SMOOTH SCROLL-SNAP ---------- */
  scroll-snap-type: y proximity;
  scroll-padding-top: 5.5rem;  /* sticky header height jitna offset, taaki section ka top header ke peeche na chhupe */
}

body{
  font-family:'Neulis Sans', sans-serif;
  font-weight:500; 
  color:#ffffff;
  overflow-y:visible;  /* body khud scroll na kare, sirf html scroll kare */

  background-color:#05061e;
  background-image:url('https://event-assets.dsci.in/aiss/assets/images/background-img.jpeg');
  background-size:cover;
  background-position:center top;
  background-repeat:no-repeat;
  background-attachment:fixed;
}

@supports (-webkit-touch-callout:none){
  body{ background-attachment:scroll; }
}

img{ max-width:100%; display:block; }
a{ color:inherit; }

h1,h2,h3,h4,h5,h6{
  font-family:'Neulis Sans', sans-serif;
  font-weight:400;
}

.container{
  max-width:var(--container-max);
  margin:0 auto;
  padding:0 var(--container-pad);
  width:100%;
}

.container-new{
  /* max-width:90rem;
  margin:0 auto;
  padding:0 var(--container-pad);
  width:100%; */

    max-width:min(94vw, 90rem);   /* pehle: 90rem (hard cap) */
  margin:0 auto;
  padding:0 var(--container-pad);
  width:100%;
}

/* ===================================================================
   SCROLL-SNAP — section-wise control
   Chhote / near-viewport-height sections (banner, focus, attend,
   registration, faq) snap karte hain taaki wo poori tarah screen par
   aa jaayein. Lambe sections (about, inside) snap se exclude hain,
   taaki unke andar scroll normally chale aur beech mein na atke. Snap
   sirf section ke START edge par lagta hai (mandatory nahi), isliye
   scroll flow continue rehta hai.
   =================================================================== */
.aiss-banner,
.aiss-focus,
.aiss-attend,
.aiss-registration,
.aiss-faq{
  scroll-snap-align: start;
  scroll-snap-stop: normal;   /* 'always' nahi — is se forced hard-stop nahi hota, smooth rehta hai */
}

.aiss-about,
.aiss-inside{
  scroll-snap-align: none;    /* bade sections free-scroll, snap exclude */
}

/* Mobile pe snapping + fade animation saath mein jerky lag sakta hai —
   chhoti screens pe snap disable rakha gaya hai */
@media (max-width: 48rem){
  html{ scroll-snap-type: none; }
}

/* ===================================================================
   HEADER
   =================================================================== */

header.site-header{
  position: fixed;
  top:0;
  left:0;
  width:100%;
  z-index:1000;
  background:transparent;
  transition:background .45s var(--ease-snap), box-shadow .45s var(--ease-snap), backdrop-filter .45s var(--ease-snap);
}

header.site-header.scrolled{
  background:linear-gradient(90deg,#0b0f3d,#141a5c);
  box-shadow:0 0.25rem 1rem rgba(0,0,0,0.35);
  backdrop-filter:blur(0.5rem);
}

.nav-wrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:5.5rem;
  gap:1rem;
  min-width:0;              /* NEW — flex overflow-shrink calc sahi hone deta hai */
  transition:height .35s var(--ease-snap), padding .35s var(--ease-snap);
}

nav.primary-nav{
  display:flex;
  align-items:center;
  gap:clamp(0.6rem, 1vw, 1.6rem);   /* min thoda kam kiya: 0.8rem → 0.6rem */
  flex-wrap:nowrap;
  min-width:0;               /* NEW */
}

/* header thoda "shrink" ho jaaye scroll pe — smooth navbar feel ke liye */
header.site-header.scrolled .nav-wrap{
  height:4.6rem;
}

.nav-right{
  display:flex;
  align-items:center;
  gap:clamp(0.8rem, 1.5vw, 2.2rem);   /* min 1.2rem → 0.8rem */
}

.logo{
  display:flex;
  align-items:center;
  flex-shrink:0;
  text-decoration:none;
}
.logo-img{
  height:clamp(2.6rem, 5.4vw, 3.4rem);
  width:auto;
  max-width:none;
  transition:height .35s var(--ease-snap);
}
header.site-header.scrolled .logo-img{
  height:clamp(2.2rem, 4.6vw, 2.9rem);
}

/* nav.primary-nav{
  display:flex;
  align-items:center;
  gap:clamp(0.8rem, 1vw, 1.6rem);
  flex-wrap:nowrap;
} */
nav.primary-nav > a{
  color:#ffffff;
  text-decoration:none;
  font-size:clamp(0.78rem, 0.95vw, 0.92rem);
  font-weight:400;
  white-space:nowrap;
  padding:0.4rem 0.1rem;
  position:relative;
  opacity:0.9;
  transition:opacity .2s ease, color .2s ease;
}
nav.primary-nav > a::after{
  content:"";
  position:absolute;
  left:0; bottom:-0.2rem;
  width:0%;
  height:0.13rem;
  background:#17c3d8;
  transition:width .25s var(--ease-snap);
}
nav.primary-nav > a:hover{ opacity:1; color:#17c3d8; }
nav.primary-nav > a:hover::after{ width:100%; }
nav.primary-nav > a:focus-visible{
  outline:0.13rem solid #17c3d8;
  outline-offset:0.25rem;
  border-radius:0.15rem;
}


/* ===================================================================
   HACKATHONS DROPDOWN
   =================================================================== */
.nav-item.dropdown{ position:relative; }

.dropdown-toggle{
  display:flex;
  align-items:center;
  gap:0.35rem;
  background:none;
  border:none;
  cursor:pointer;
  color:#ffffff;
  font-family:inherit;
  font-size:clamp(0.78rem, 0.95vw, 0.92rem);
  font-weight:400;
  opacity:0.9;
  padding:0.4rem 0.1rem;
  position:relative;
  transition:opacity .2s ease, color .2s ease;
}
.dropdown-toggle::after{
  content:"";
  position:absolute;
  left:0; bottom:-0.2rem;
  width:0%;
  height:0.13rem;
  background:#17c3d8;
  transition:width .25s var(--ease-snap);
}
.dropdown-toggle:hover,
.nav-item.dropdown.open .dropdown-toggle{ opacity:1; color:#17c3d8; }
.dropdown-toggle:hover::after,
.nav-item.dropdown.open .dropdown-toggle::after{ width:100%; }
.dropdown-toggle:focus-visible{
  outline:0.13rem solid #17c3d8;
  outline-offset:0.25rem;
  border-radius:0.15rem;
}

.caret{
  font-size:0.6rem;
  transition:transform .2s ease;
}
.nav-item.dropdown.open .caret{ transform:rotate(180deg); }

.dropdown-menu{
  list-style:none;
}

@media (min-width: 62.01rem){
  .dropdown-menu{
    position:absolute;
    top:calc(100% + 0.9rem);
    left:50%;
    transform:translateX(-50%) translateY(-0.4rem);
    min-width:13rem;
    background:linear-gradient(180deg,#141a5c,#0b0f3d);
    border:0.06rem solid rgba(255,255,255,0.1);
    border-radius:0.5rem;
    padding:0.4rem;
    box-shadow:0 0.9rem 2rem rgba(0,0,0,0.45);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .35s var(--ease-snap), transform .35s var(--ease-snap), visibility .35s var(--ease-snap);
    z-index:1200;
  }
  .dropdown-menu::before{
    content:"";
    position:absolute;
    top:-0.4rem;
    left:50%;
    transform:translateX(-50%) rotate(45deg);
    width:0.8rem;
    height:0.8rem;
    background:#141a5c;
    border-left:0.06rem solid rgba(255,255,255,0.1);
    border-top:0.06rem solid rgba(255,255,255,0.1);
  }
  .dropdown-menu a{
    display:block;
    padding:0.65rem 0.9rem;
    border-radius:0.35rem;
    color:#ffffff;
    text-decoration:none;
    font-size:0.85rem;
    font-weight:500;
    white-space:nowrap;
    transition:background .15s ease, color .15s ease, padding-left .15s ease;
  }
  .dropdown-menu a:hover,
  .dropdown-menu a:focus-visible{
    background:rgba(23,195,216,0.14);
    color:#17c3d8;
    padding-left:1.15rem;
  }

  .nav-item.dropdown:hover .dropdown-menu,
  .nav-item.dropdown.open .dropdown-menu,
  .nav-item.dropdown:focus-within .dropdown-menu{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateX(-50%) translateY(0);
  }
}

.cta-btn{
  flex-shrink:0;
  position:relative;
  isolation:isolate;      /* naya stacking context, taaki ::before text ke peeche hi rahe */
  overflow:hidden;
  background:#00c9d5;
  color:#ffffff;
  font-weight:500;
  font-size:clamp(0.78rem, 0.9vw, 0.9rem);
  padding:0.4rem 1.2rem;
  border-radius:0.3rem;
  text-decoration:none;
  white-space:nowrap;
  transition:transform .4s cubic-bezier(.34,1.56,.64,1), color .4s var(--ease-snap), box-shadow .4s var(--ease-snap);
}

/* Pink sweep — left se right fill hote hue color bhi cyan se pink shift hota hai */
.cta-btn::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(90deg, #e6197e, #ff4fa3);
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .55s cubic-bezier(.65,0,.35,1);
}

.cta-btn:hover{
  color:#ffffff;
  transform:translateY(-0.15rem) scale(1.04);
  box-shadow:0 0.6rem 1.4rem rgba(230,25,126,0.45);
}
.cta-btn:hover::before{ transform:scaleX(1); }

.cta-btn:active{
  transform:translateY(0) scale(0.98);
}

.cta-btn:focus-visible{
  outline:0.13rem solid #ffffff;
  outline-offset:0.2rem;
}

@media (prefers-reduced-motion: reduce){
  .cta-btn, .cta-btn::before{ transition:none; }
}

.hamburger{
  display:none;
  flex-direction:column;
  gap:0.32rem;
  background:none;
  border:none;
  cursor:pointer;
  padding:0.4rem;
  flex-shrink:0;
  z-index:1100;
}
.hamburger span{
  display:block;
  width:1.6rem;
  height:0.16rem;
  background:#ffffff;
  border-radius:0.1rem;
  transition:transform .25s ease, opacity .25s ease;
}
.hamburger.open span:nth-child(1){ transform:translateY(0.48rem) rotate(45deg); }
.hamburger.open span:nth-child(2){ opacity:0; }
.hamburger.open span:nth-child(3){ transform:translateY(-0.48rem) rotate(-45deg); }


@media (max-width: 68rem){
  .hamburger{ display:flex; }

  nav.primary-nav{
    position:fixed;
    top:5.5rem;
    right:0;
    height:calc(100vh - 5.5rem);
    width:min(20rem, 78vw);
    max-width:100vw;
    background:#0b0f3d;
    flex-direction:column;
    align-items:flex-start;
    gap:0;
    padding:1.2rem 1.6rem;
    transform:translateX(100%);
    transition:transform .45s var(--ease-snap);
    overflow-y:auto;
    box-shadow:-0.4rem 0 1.2rem rgba(0,0,0,0.4);
  }
  nav.primary-nav.open{ transform:translateX(0); }

  nav.primary-nav > a{
    width:100%;
    padding:0.9rem 0;
    border-bottom:0.06rem solid rgba(255,255,255,0.08);
    font-size:1rem;
  }
  nav.primary-nav > a::after{ display:none; }

  .cta-btn.desktop-only{ display:none; }

  nav.primary-nav .cta-btn{
    margin-top:1rem;
    width:100%;
    text-align:center;
    padding:0.85rem 1.4rem;
  }

  .nav-item.dropdown{
    width:100%;
    border-bottom:0.06rem solid rgba(255,255,255,0.08);
  }
  .dropdown-toggle{
    width:100%;
    justify-content:space-between;
    padding:0.9rem 0;
    font-size:1rem;
  }
  .dropdown-toggle::after{ display:none; }

  .dropdown-menu{
    max-height:0;
    overflow:hidden;
    transition:max-height .35s var(--ease-snap);
    padding-left:0.9rem;
  }
  .nav-item.dropdown.open .dropdown-menu{
    max-height:12rem;
  }
  .dropdown-menu a{
    display:block;
    padding:0.7rem 0;
    color:rgba(255,255,255,0.8);
    text-decoration:none;
    font-size:0.92rem;
    font-weight:500;
  }
  .dropdown-menu a:hover,
  .dropdown-menu a:focus-visible{ color:#17c3d8; }
}

@media (min-width: 62.01rem){
  nav.primary-nav .cta-btn.mobile-only{ display:none; }
}

@media (max-width: 26rem){
  .logo-img{ height:2.3rem; }
  .nav-wrap{ height:4.6rem; }
  .nav-right{ gap:0.8rem; }
  .overlay{ top:4.6rem; }
  nav.primary-nav{ top:4.6rem; height:calc(100vh - 4.6rem); width:min(18rem, 82vw); }
}

.overlay{
  display:none;
  position:fixed;
  inset:0;
  top:5.5rem;
  max-width:100vw;
  background:rgba(0,0,0,0.45);
  z-index:900;
}
.overlay.show{ display:block; }

header.site-header{
  animation: navSlideDown 1s ease both;
}
@keyframes navSlideDown{
  from{ opacity:0; transform:translateY(-1.4rem); }
  to{ opacity:1; transform:translateY(0); }
}
@media (prefers-reduced-motion: reduce){
  header.site-header{ animation:none; }
}


/* ===================================================================
   BANNER SECTION — left image / right video
   =================================================================== */

.aiss-banner{
  position:relative;
  min-height:5.5rem;
  display:flex;
  align-items:stretch;
  overflow:hidden;
  padding-top: 70px;
}

.aiss-banner__inner{
  display:flex;
  align-items:center;
  width:100%;
  gap:clamp(1.5rem, 2vw, 4rem);
  padding-top:clamp(1.5rem, 4vh, 3rem);
  padding-bottom:clamp(1.5rem, 4vh, 3rem);
}

.aiss-banner__col{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
}

.aiss-banner__col--image{
  flex:0 1 35%;
  align-items:flex-start;
  justify-content:start;
}
.aiss-banner__image{
  width:auto;
  height:auto;
  max-width:100%;
  max-height:min(80vh, 54rem);
}

/* Sirf ek baar fade+scale in hoti hai load par — koi continuous hilna/float nahi */
.aiss-banner__image{
  opacity:0;
  animation: bannerImgIn 1.1s ease 0.25s 1 both;
}
@keyframes bannerImgIn{
  from{ opacity:0; transform:translateY(1.4rem) scale(0.97); }
  to{ opacity:1; transform:translateY(0) scale(1); }
}
@media (prefers-reduced-motion: reduce){
  .aiss-banner__image{ animation:none; opacity:1; }
}

.aiss-banner__col--video{
  flex:0 1 65%;
  border-radius:1rem;
  overflow:hidden;
}
.aiss-banner__video{
  width:100%;
  height:auto;
  object-fit:contain;
  display:block;
  mix-blend-mode:screen;
}


@media (max-width: 62rem){
  .aiss-banner__inner{
    flex-direction:column;
    text-align:center;
    padding-top:2.5rem;
  }
  .aiss-banner__col--image,
  .aiss-banner__col--video{
    flex:0 0 auto;
    width:100%;
    align-items:center;
  }
  .aiss-banner__image{ max-height:26rem; margin:0 auto; }
  .aiss-banner__video{ max-height:50vh; }
}

@media (max-width: 26rem){
  .aiss-banner__video{ max-height:40vh; }
}


/* ===================== ABOUT SECTION ===================== */
.aiss-about{
  --about-col-left: 38%;
  --about-gap: clamp(1.5rem, 4vw, 3.5rem);
  --about-inner-gap: clamp(1.25rem, 2.5vw, 2rem);
  position:relative;
  padding:clamp(2rem, 5vw, 6rem) 0;
  overflow:hidden; 
}

.aiss-about__row{
  display:flex;
  align-items:stretch;   /* both columns stretch to equal height, so bottoms align */
  gap:var(--about-gap);
  width:100%;
}

/* ---------- Left column ---------- */
.aiss-about__col-left{
  flex:0 0 var(--about-col-left);
  max-width:var(--about-col-left);
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:60px;
}

.aiss-about__heading{
  display:flex;
  flex-direction:column;
  gap:0.9rem;
  flex:0 0 auto;
}
.aiss-about__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:0.6rem;
  color:#17c3d8;
  font-weight:500;
  font-size:clamp(1rem, 1vw, 1rem);
  letter-spacing:0.08em;
  text-transform:uppercase;
}
.aiss-about__eyebrow::after{
  content:"";
  display:inline-block;
  width:2.2rem;
  height:0.14rem;
  background:#e6197e;
  border-radius:0.1rem;
}
.aiss-about__title{
  margin:0;
  font-size:clamp(5rem, 10.2vw, 12.5rem);
  line-height:0.82;
  font-weight:400;
  color:#ffffff;
  text-transform:uppercase;
  letter-spacing:-0.01em;
}

.aiss-about__media--main{
  flex:1 1 auto;
  min-height:14rem;
  width:100%;
   filter:drop-shadow(0 0 0.5rem rgba(23, 195, 216, 0.85));
  transition:filter .55s var(--ease-snap);
}
.aiss-about__media--main:hover{
  filter:drop-shadow(0 0 0.7rem rgba(23, 195, 216, 0.6));
}

/* ---------- Right column ---------- */
.aiss-about__col-right{
  flex:1 1 0;
  min-width:0;
  max-width:100%;
  display:flex;
  flex-direction:column;
  gap:var(--about-inner-gap);
  padding-top:clamp(0.5rem, 1vw, 1rem);
}

.aiss-about__text{
  display:flex;
  flex-direction:column;
  gap:1.1rem;
  flex:0 0 auto;
}
.aiss-about__text h3{
  margin:0;
  font-size:clamp(1.25rem, 2.2vw, 1.5rem);
  line-height:1.4;
  font-weight:400;
  color:#ffffff;
}
.aiss-about__text p{
  margin:0;
  font-size:clamp(0.88rem, 1.05vw, 1rem);
  line-height:1.75;
  color:rgba(255,255,255,0.78);
}
.aiss-about__media--pair{
  flex:1 1 auto;
  min-height:12rem;
  display:flex;
  gap:clamp(1rem, 2vw, 1.5rem);
  width:100%;
    filter:drop-shadow(0 0 0.5rem rgba(23, 195, 216, 0.85));
  transition:filter .55s var(--ease-snap);
}
.aiss-about__media--pair:hover{
  filter:drop-shadow(0 0 0.9rem rgba(23, 195, 216, 0.6));
}

.aiss-about__media--pair .img-frame{
  flex:1 1 50%;
  min-width:0;
}

/* ===================== IMAGE FRAME — corner cut + real border line =====================
   .img-frame just clips the image to the cut-corner shape.
   The border itself is a separate SVG overlay with a stroked polygon
   (fill:none) — not background+padding — so it's a real thin outline
   that follows the exact same shape, including the diagonal corner.

   FIX: this element also carries the .fade-up scroll-reveal class in
   the HTML. .fade-up needs its own opacity/transform transition to
   run — previously this rule only declared a `filter` transition,
   which (because it's declared later in the stylesheet) silently
   overrode .fade-up's transition and made the images "pop" in
   instead of fading smoothly. Now all three properties are declared
   together so nothing gets clobbered. */
.img-frame{
 position:relative;
  overflow:hidden;
    height:100%; 
    filter:drop-shadow(0 0 0.9rem rgba(23, 195, 216, 0.85));
  clip-path:polygon(0 0, 85% 0, 100% 12%, 100% 100%, 0 100%);
  /* transition: filter .55s var(--ease-smooth), opacity 1.3s var(--ease-smooth), transform 1.3s var(--ease-smooth); */
}
.img-frame img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.img-frame__border{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  pointer-events:none;   /* border overlay shouldn't block clicks/hover on the image */
}
.img-frame__border polygon{
  fill:none;
  stroke:#17c3d8;                     /* border color */
  stroke-width:2;
  vector-effect:non-scaling-stroke;   /* keeps border thickness consistent at any image size */
}

/* =========================== Responsive =========================== */

@media (max-width: 62rem){
  .aiss-about{
    --about-col-left: 42%;
    --about-inner-gap: clamp(1rem, 2vw, 1.5rem);
  }
}

/* ---------- Mobile: pehle poora content (heading + text), phir teeno images
   ek ke niche ek. Grid ek hi column ka. col-left/col-right aur media--pair ko
   display:contents diya hai taaki unke andar ke children (heading, text, main
   image, dono pair images) sab ek hi grid ke direct items ban jaayein — phir
   'order' se sequence set ki: heading -> text -> image 1 -> image 2 -> image 3,
   sab full width, ek ke baad ek. */
@media (max-width: 48rem){
  .aiss-about__row{
    display:grid;
    grid-template-columns: 1fr;
    gap:1rem;
    align-items:stretch;
  }

  .aiss-about__col-left,
  .aiss-about__col-right,
  .aiss-about__media--pair{
    display:contents;
  }

  .aiss-about__heading{
    order:1;
  }

  .aiss-about__text{
    order:2;
    margin-top:0.5rem;
  }

  .aiss-about__media--main{
    order:3;
    aspect-ratio:4/3;
    min-height:0;
    width:100%;
  }

  .aiss-about__media--pair .img-frame:nth-child(1){
    order:4;
    aspect-ratio:4/3;
    flex:none;
    width:100%;
  }
  .aiss-about__media--pair .img-frame:nth-child(2){
    order:5;
    aspect-ratio:4/3;
    flex:none;
    width:100%;
  }
}

@media (max-width: 26rem){
  .aiss-about__row{ gap:0.75rem; }
}

.bg-video {
    position: absolute;
    top: 1600px;   
    left: 50%;
    width: 100%;
    height: 100%;
    object-fit: cover;
       transform: translate(-50%, -50%) rotate(5deg);
    z-index: -1;
      mix-blend-mode:screen;
}

.bg-video2 {
    position: absolute;
    top: 4500px;   
    left: 50%;
    width: 100%;
    height: 100%;
    object-fit: cover;
       transform: translate(-50%, -50%) rotate(5deg);
    z-index: -1;
      mix-blend-mode:screen;
}

@media(max-width:768px){
  .bg-video ,
  .bg-video2 {
     transform: translate(-50%, -50%) rotate(0deg);
  }
}
/* ===================== FOCUS AREAS SECTION ===================== */

.aiss-focus{
  padding:clamp(2rem, 5vw, 4rem) 0;
}

.aiss-focus__heading{
  display:flex;
  justify-content:center;
  text-align:center;
}
.aiss-focus__title{
  margin:0;
  font-size:clamp(2rem, 5.5vw, 3.5rem);
  line-height:0.95;
  font-weight:400;
  color:#ffffff;
}

.aiss-focus__slider-wrap{
  position:relative;
  width:100%;
  margin-top:clamp(1.5rem, 3.5vw, 2.5rem);
  padding:0 clamp(3.2rem, 6vw, 5.5rem);
}

#focusSwiper.focus-swiper{
  width:100%;
  min-width:0;
  overflow-x:hidden;
  overflow-y:visible;
  padding:2.5rem 0 2.5rem;
}
.focus-swiper .swiper-slide{
  height:auto;
  filter:drop-shadow(0 0 0.4rem rgba(23, 195, 216, 0.45));
  transition:filter .55s var(--ease-snap);
}
.focus-swiper .swiper-slide:hover{
  filter:drop-shadow(0 0 0.7rem rgba(23, 195, 216, 0.6));
}

.focus-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:3.5rem;
  height:3.5rem;
  min-width:3.5rem;
  min-height:3.5rem;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  z-index:10;
  background:#0b0f3d;
  border:0.11rem solid #17c3d8;
  color:#17c3d8;
  transition:transform .3s var(--ease-snap), background .3s var(--ease-snap), border-color .3s var(--ease-snap), color .3s var(--ease-snap), opacity .3s var(--ease-snap);
}
.focus-nav svg{ width:1.4rem; height:1.4rem; }

.focus-nav--prev{ left:0; }
.focus-nav--next{ right:0; }

.focus-nav:hover{
  background:#e6197e;
  border-color:#e6197e;
  color:#ffffff;
}
.focus-nav--prev:hover{ transform:translateY(-50%) translateX(-0.15rem); }
.focus-nav--next:hover{ transform:translateY(-50%) translateX(0.15rem); }

.focus-nav.swiper-button-disabled{
  opacity:0.3;
  pointer-events:none;
}

/* ---------- Card shell (the border colour) ---------- */
.focus-card{
  position:relative;
  height:100%;
  clip-path:polygon(0 0, 88% 0, 100% 10%, 100% 100%, 0 100%);
  background:#3e9aa6;
  padding:1px;
  cursor:pointer;
  transition:filter .55s var(--ease-snap);
}
.focus-card:hover{
  filter:drop-shadow(0 0 1.5rem rgba(23,195,216,0.6));
}

/* ---------- Card surface (actual content) ---------- */
.focus-card__inner{
  position:relative;
  height:100%;
  width:100%;
  clip-path:polygon(0 0, 88% 0, 100% 10%, 100% 100%, 0 100%);
  background:linear-gradient(160deg, rgba(20,26,92,0.85), rgba(5,6,30,0.95));
  padding:   clamp(1.2rem, 1.4vw, 1.5rem)
    clamp(1.6rem, 2vw, 2rem)
    clamp(1.4rem, 1.6vw, 1.7rem);
  display:flex;
  flex-direction:column;
  gap:1.6rem;
  overflow:hidden;
}

.focus-card__glow{
  position:absolute;
  inset:0;
  background:radial-gradient(circle at var(--mx,50%) var(--my,50%), rgba(23,195,216,0.4), transparent 60%);
  opacity:0;
  transition:opacity .3s ease;
  pointer-events:none;
  mix-blend-mode:screen;
}
.focus-card:hover .focus-card__glow{ opacity:1; }

.focus-card__inner::after{
  content:"";
  position:absolute;
  inset:-60%;
  background:linear-gradient(120deg, transparent 30%, rgba(23,195,216,0.35) 45%, rgba(255,255,255,0.18) 50%, rgba(23,195,216,0.35) 55%, transparent 70%);
  transform:translateX(-120%) rotate(8deg);
  opacity:0;
  pointer-events:none;
  mix-blend-mode:screen;
}
.focus-card:hover .focus-card__inner::after{
  animation:focusWaveSweep 1.4s ease forwards;
}
@keyframes focusWaveSweep{
  0%{ opacity:1; transform:translateX(-120%) rotate(8deg); }
  100%{ opacity:0; transform:translateX(120%) rotate(8deg); }
}

/* ---------- icon box: sirf teal border, koi fill nahi (SVG stroke overlay) ---------- */
.focus-card__icon-frame{
  position:relative;
  width:5.2rem;
  height:5.2rem;
     filter: drop-shadow(0 0 0.4rem rgba(23, 195, 216, 0.45));
  flex-shrink:0;
}
.focus-card__icon-border{
  position:absolute;
  inset:0;
  width:100%;
     filter: drop-shadow(0 0 0.4rem rgba(23, 195, 216, 0.45));
  height:100%;
  pointer-events:none;
  z-index:2;
}
.focus-card__icon-border polygon{
  fill:none;
  stroke:#17c3d8;
  stroke-width:2;
  vector-effect:non-scaling-stroke;
}
.focus-card__icon-inner{
  width:100%;
  height:100%;
  clip-path:polygon(0 0, 78% 0, 100% 22%, 100% 100%, 0 100%);
  background:transparent;
  overflow:hidden;
}
.focus-card__icon-img{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:0.9rem;
     filter: drop-shadow(0 0 0.4rem rgba(23, 195, 216, 0.45));
}

.focus-card__title{
  font-size:clamp(1rem,1.6vw,1.4rem);
  font-weight:500;
  color:#ffffff;
  line-height:1.3;
  letter-spacing: 0.6px;
  margin-top:auto;
}

@media (max-width: 36rem){
  .aiss-focus__slider-wrap{
    padding:0 2.6rem;
  }
  .focus-nav{ width:2.2rem; height:2.2rem; min-width:2.2rem; min-height:2.2rem; }
  .focus-nav svg{ width:1.1rem; height:1.1rem; }
  .focus-card{ min-height:16rem; }
}
/* =====================================================================
   INSIDE AISS 2026 — full section CSS
   Layout: Left (2 stacked images) + Right (3x2 grid of 6 images)
   + Bottom full-width row (remaining images).
   ===================================================================== */

.aiss-inside{
  padding:clamp(2rem, 5vw, 5rem) 0;
}

.aiss-inside__heading{
  display:flex;
  justify-content:center;
  text-align:center;
  margin-bottom:clamp(2rem, 4vw, 3rem);
}
.aiss-inside__title{
  margin:0;
  font-size:clamp(2rem, 5.5vw, 3.5rem);
  line-height:0.95;
  font-weight:400;
  color:#ffffff;
}

/* ---------- Grid shell ---------- */
.aiss-inside__grid{
  display:flex;
  flex-direction:column;
  overflow:hidden;
}

.aiss-inside__skeleton{
  width:100%;
  min-height:26rem;
  background:linear-gradient(90deg, rgba(255,255,255,0.03) 25%, rgba(255,255,255,0.07) 37%, rgba(255,255,255,0.03) 63%);
  background-size:400% 100%;
  animation:insideShimmer 1.4s ease infinite;
}
@keyframes insideShimmer{
  0%{ background-position:100% 0; }
  100%{ background-position:0 0; }
}

/* ---------- Top block: left column + right 3x2 grid ---------- */
.aiss-inside{
  padding:clamp(2rem, 5vw, 5rem) 0;
}

.aiss-inside__heading{
  display:flex;
  justify-content:center;
  text-align:center;
  margin-bottom:clamp(2rem, 4vw, 3rem);
}
.aiss-inside__title{
  margin:0;
  font-size:clamp(2rem, 5.5vw, 3.5rem);
  line-height:0.95;
  font-weight:400;
  color:#ffffff;
}

/* ---------- Grid shell ---------- */
.aiss-inside__grid{
  display:flex;
  flex-direction:column;
  overflow:hidden;
}

.aiss-inside__skeleton{
  width:100%;
  min-height:26rem;
  background:linear-gradient(90deg, rgba(255,255,255,0.03) 25%, rgba(255,255,255,0.07) 37%, rgba(255,255,255,0.03) 63%);
  background-size:400% 100%;
  animation:insideShimmer 1.4s ease infinite;
}
@keyframes insideShimmer{
  0%{ background-position:100% 0; }
  100%{ background-position:0 0; }
}

/* ---------- Top block: left column + right 3x2 grid ---------- */
.aiss-inside__top{
  display:flex;
  align-items:stretch;
  min-height:15rem;
}

.aiss-inside__left{
  flex:0 0 26%;
  min-width:10rem;
  display:flex;
  flex-direction:column;
  border-right:0.06rem solid rgba(23,195,216,0.35);
}

.aiss-inside__left-cell{
  position:relative;
  flex:1 1 50%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:clamp(1.2rem, 2vw, 1.8rem);
  cursor:pointer;

  opacity:0;
  transform:translateX(-1.2rem);
  transition:opacity .9s var(--ease-smooth), transform .9s var(--ease-smooth);
}
.aiss-inside__left-cell.is-visible{
  opacity:1;
  transform:translateX(0);
}
.aiss-inside__left-cell:not(.is-last){
  border-bottom:0.06rem solid rgba(23,195,216,0.35);
}
.aiss-inside__left-cell img{
  width:100%;
  max-width:9rem;
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 0 0.7rem rgba(23,195,216,0.22));
  transition:filter .4s var(--ease-snap), transform .4s var(--ease-snap);
}
.aiss-inside__left-cell:hover img{
  filter:drop-shadow(0 0 1.2rem rgba(23,195,216,0.5));
  transform:translateY(-0.15rem);
}

.aiss-inside__subgrid{
  flex:1 1 auto;
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  grid-template-rows:repeat(2, 1fr);
}

/* Incomplete last row (jab items 3 ka multiple nahi hote) —
   is row ko flex se render karte hain taaki saare items barabar
   width lein aur divider line unke exact beech mein aaye */
.aiss-inside__cell-row{
  grid-column:1 / -1;
  display:flex;
  align-items:stretch;
}
.aiss-inside__cell--flex{
  flex:1 1 0;
  min-width:0;
}

.aiss-inside__cell{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:clamp(1.2rem, 2.4vw, 2rem);
  cursor:pointer;

  opacity:0;
  transform:translateY(1.2rem) scale(0.96);
  transition:opacity .8s var(--ease-smooth), transform .8s var(--ease-smooth);
}
.aiss-inside__cell.is-visible{
  opacity:1;
  transform:translateY(0) scale(1);
}

.aiss-inside__cell::after,
.aiss-inside__cell::before{
  content:"";
  position:absolute;
  background:rgba(23,195,216,0.35);
  pointer-events:none;
}
.aiss-inside__cell:not(.is-last-col)::after{
  top:8%;
  right:0;
  width:0.06rem;
  height:84%;
  transform:scaleY(0);
  transform-origin:top;
  transition:transform .8s var(--ease-smooth);
  transition-delay:.15s;
}
.aiss-inside__cell.is-visible:not(.is-last-col)::after{ transform:scaleY(1); }

.aiss-inside__cell:not(.is-last-row)::before{
  bottom:0;
  left:6%;
  height:0.06rem;
  width:88%;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .8s var(--ease-smooth);
  transition-delay:.15s;
}
.aiss-inside__cell.is-visible:not(.is-last-row)::before{ transform:scaleX(1); }

.aiss-inside__cell img{
  width:100%;
  max-width:11rem;
  height:auto;
  object-fit:contain;
  transition:filter .4s var(--ease-snap), transform .4s var(--ease-snap);
}
.aiss-inside__cell:hover img{
  filter:drop-shadow(0 0 1rem rgba(23,195,216,0.5));
  transform:translateY(-0.15rem) scale(1.03);
}

/* ---------- Bottom block: full-width row (left+right dono cover karta hai) ---------- */
.aiss-inside__bottom{
  display:flex;
  align-items:stretch;
  width:100%;
  border-top:0.06rem solid rgba(23,195,216,0.35);
}

.aiss-inside__bottom-cell{
  position:relative;
  flex:1 1 0;
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:clamp(1rem, 1.6vw, 1.2rem);
  cursor:pointer;

  opacity:0;
  transform:translateY(1.2rem) scale(0.96);
  transition:opacity .8s var(--ease-smooth), transform .8s var(--ease-smooth);
}
.aiss-inside__bottom-cell.is-visible{
  opacity:1;
  transform:translateY(0) scale(1);
}
.aiss-inside__bottom-cell:not(.is-last){
  border-right:0.06rem solid rgba(23,195,216,0.35);
}
.aiss-inside__bottom-cell img{
  width:100%;
  max-width:14rem;
  height:auto;
  object-fit:contain;
  transition:filter .4s var(--ease-snap), transform .4s var(--ease-snap);
}
.aiss-inside__bottom-cell:hover img{
  filter:drop-shadow(0 0 1rem rgba(23,195,216,0.5));
  transform:translateY(-0.15rem) scale(1.03);
}

/* =========================== Responsive — unified 2-column mobile grid =========================== */
@media (max-width: 62rem){

  .aiss-inside__top,
  .aiss-inside__left,
  .aiss-inside__subgrid,
  .aiss-inside__cell-row,
  .aiss-inside__bottom{
    display:contents;
  }

  .aiss-inside__grid{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
  }

  .aiss-inside__left-cell::before,
  .aiss-inside__left-cell::after,
  .aiss-inside__cell::before,
  .aiss-inside__cell::after,
  .aiss-inside__bottom-cell::before,
  .aiss-inside__bottom-cell::after{
    display:none;
  }

  .aiss-inside__left-cell,
  .aiss-inside__cell,
  .aiss-inside__bottom-cell{
    min-height:9rem;
    padding:clamp(1rem, 3vw, 1.5rem);
    border-bottom:0.06rem solid rgba(23,195,216,0.35);
  }

  .aiss-inside__left-cell.col-a,
  .aiss-inside__cell.col-a,
  .aiss-inside__bottom-cell.col-a{
    border-right:0.06rem solid rgba(23,195,216,0.35);
  }

  .aiss-inside__left-cell.is-last-row-mobile,
  .aiss-inside__cell.is-last-row-mobile,
  .aiss-inside__bottom-cell.is-last-row-mobile{
    border-bottom:none;
  }

  .aiss-inside__left-cell img,
  .aiss-inside__cell img,
  .aiss-inside__bottom-cell img{
    max-width:8rem;
  }
}

@media (max-width: 30rem){
  .aiss-inside__left-cell img,
  .aiss-inside__cell img,
  .aiss-inside__bottom-cell img{
    max-width:6.5rem;
  }
}
/* =====================================================================
   SHARED POPUP / MODAL
   ===================================================================== */
.inside-modal{
  position:fixed;
  inset:0;
  z-index:2000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:1.5rem;
  visibility:hidden;
  opacity:0;
  transition:opacity .4s var(--ease-snap), visibility .4s var(--ease-snap);
}
.inside-modal.is-open{
  visibility:visible;
  opacity:1;
}

.inside-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(3,4,20,0.72);
  backdrop-filter:blur(0.3rem);
}

.inside-modal__panel{
  position:relative;
  width:100%;
  max-width:42rem;
  max-height:88vh;
  overflow-y:auto;
  padding:clamp(2rem, 4vw, 3rem);
  background:linear-gradient(160deg, #141a5c 0%, #0b0f3d 55%, #05061e 100%);
  border:0.06rem solid rgba(23,195,216,0.35);
  box-shadow:0 1.5rem 4rem rgba(0,0,0,0.5);

  transform:translateY(1.2rem) scale(0.97);
  opacity:0;
  transition:transform .45s var(--ease-snap), opacity .45s var(--ease-snap);
}
.inside-modal.is-open .inside-modal__panel{
  transform:translateY(0) scale(1);
  opacity:1;
}

.inside-modal__close{
  position:absolute;
  top:1.2rem;
  right:1.2rem;
  width:2.4rem;
  height:2.4rem;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:transparent;
  border:0.11rem solid #17c3d8;
  color:#17c3d8;
  cursor:pointer;
  transition:background .3s var(--ease-snap), color .3s var(--ease-snap), border-color .3s var(--ease-snap), transform .3s var(--ease-snap);
}
.inside-modal__close:hover{
  background:#e6197e;
  border-color:#e6197e;
  color:#ffffff;
  transform:rotate(90deg);
}

.inside-modal__eyebrow{
  display:inline-block;
  color:#17c3d8;
  font-weight:500;
  font-size:0.85rem;
  letter-spacing:0.06em;
  text-transform:uppercase;
  margin-bottom:0.6rem;
}
.inside-modal__title{
  margin:0 0 0.4rem;
  font-size:clamp(1.7rem, 3.4vw, 2.4rem);
  font-weight:500;
  color:#ffffff;
  line-height:1.15;
  padding-right:2rem;
}
.inside-modal__subtitle{
  margin:0 0 1.2rem;
  font-size:clamp(1rem, 1.4vw, 1.15rem);
  font-weight:400;
  color:rgba(255,255,255,0.85);
}
.inside-modal__desc{
  margin:0 0 1.6rem;
  font-size:0.95rem;
  line-height:1.75;
  color:rgba(255,255,255,0.72);
}

.inside-modal__sponsors{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:1rem;
  margin-bottom:1.8rem;
}
.inside-modal__sponsors-label{
  color:#17c3d8;
  font-weight:500;
  font-size:0.85rem;
  white-space:nowrap;
}
.inside-modal__sponsors-logos{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:1.2rem;
}
.inside-modal__sponsors-logos img{
  height:1.6rem;
  width:auto;
  object-fit:contain;
  filter:brightness(0) invert(1);
  opacity:0.9;
}

.inside-modal__btn{
  display:inline-block;
  background:#e6197e;
  color:#ffffff;
  font-weight:500;
  font-size:0.95rem;
  padding:0.85rem 2.2rem;
  border-radius:0.3rem;
  text-decoration:none;
  transition:background .3s var(--ease-snap), transform .3s var(--ease-snap);
}
.inside-modal__btn:hover{
  background:#ff3a9a;
  transform:translateY(-0.05rem);
}

@media (prefers-reduced-motion: reduce){
  .aiss-inside__left-cell,
  .aiss-inside__cell,
  .aiss-inside__cell::after,
  .aiss-inside__cell::before,
  .aiss-inside__bottom-cell,
  .inside-modal,
  .inside-modal__panel{
    transition:none !important;
  }
}



/* ===================== SPEAKERS SECTION ===================== */
.aiss-speakers{
  padding:clamp(3rem, 7vw, 4rem) 0;
}

.aiss-speakers__top-wrap{
  margin-bottom:clamp(1.5rem, 3.5vw, 2.5rem);
}

.aiss-speakers__top{
  display:flex;
  align-items:center;
  text-align: center;
  justify-content:center;
  flex-wrap:wrap;
  gap:1.5rem;
}

.aiss-speakers__title{
  margin:0;
  font-size:clamp(2.4rem, 6vw, 4rem);
  line-height:0.95;
  font-weight:400;
  color:#ffffff;
}

.aiss-speakers__search{
  position:relative;
  flex:0 1 26rem;
  min-width:16rem;
}
.aiss-speakers__search-input{
  width:100%;
  padding:0.9rem 3rem 0.9rem 1.3rem;
  border-radius:0.6rem;
  border:none;
  background:#ffffff;
  color:#0b0f3d;
  font-family:inherit;
  font-size:0.85rem;
  font-weight:400;
}
.aiss-speakers__search-input::placeholder{ color:rgba(11,15,61,0.55); }
.aiss-speakers__search-input:disabled{ cursor:not-allowed; opacity:0.85; }
.aiss-speakers__search-icon{
  position:absolute;
  top:50%;
  right:1rem;
  transform:translateY(-50%);
  color:rgba(11,15,61,0.55);
  display:flex;
}

/* ---------- slider wrap + nav ---------- */
.aiss-speakers__slider-wrap{
  position:relative;
  width:100%;
  padding:0 clamp(3.2rem, 6vw, 5.5rem);
}

#speakerSwiper.speaker-swiper{
  width:100%;
  min-width:0;
  overflow-x:hidden;
  overflow-y:visible;
  padding:0.5rem 0 1rem;
}
.speaker-swiper .swiper-wrapper{ align-items:stretch; }
.speaker-swiper .swiper-slide{ height:auto; display:flex; }

.speaker-nav{
  position:absolute;
  top:45%;
  transform:translateY(-50%);
  width:3.2rem;
  height:3.2rem;
  min-width:3.2rem;
  min-height:3.2rem;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  z-index:10;
  background:transparent;
  border:0.11rem solid #17c3d8;
  color:#17c3d8;
  transition:transform .3s var(--ease-snap), background .3s var(--ease-snap), border-color .3s var(--ease-snap), color .3s var(--ease-snap), opacity .3s var(--ease-snap);
}
.speaker-nav svg{ width:1.3rem; height:1.3rem; }
.speaker-nav--prev{ left:0; }
.speaker-nav--next{
  right:0;
  background:#e6197e;
  border-color:#e6197e;
  color:#ffffff;
}
.speaker-nav:hover{
  background:#e6197e;
  border-color:#e6197e;
  color:#ffffff;
}
.speaker-nav--prev:hover{ transform:translateY(-50%) translateX(-0.15rem); }
.speaker-nav--next:hover{ transform:translateY(-50%) translateX(0.15rem); }
.speaker-nav.swiper-button-disabled{ opacity:0.3; pointer-events:none; }

/* ---------- Card shell — clip only, border via SVG overlay so it's
   equal-thickness on every edge including the cut corner ---------- */
.speaker-card{
  position:relative;
  width:100%;
  height:100%;
  display:flex;
}

.speaker-card__border{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  pointer-events:none;
  z-index:2;
}
.speaker-card__border polygon{
  fill:none;
  stroke:#17c3d8;
  stroke-width:2;
  vector-effect:non-scaling-stroke;
}

.speaker-card__inner{
  position:relative;
  width:100%;
  height:100%;
  display:flex;
  flex-direction:column;
  clip-path:polygon(0 0, 84% 0, 100% 8%, 100% 100%, 0 100%);
  overflow:hidden;
  background:linear-gradient(160deg, rgba(20,26,92,0.6), rgba(5,6,30,0.9));
  transition:box-shadow .45s var(--ease-snap), transform .45s var(--ease-snap);
}
.speaker-card:hover .speaker-card__inner{
  box-shadow:0 0 1.6rem rgba(23,195,216,0.4);
}

.speaker-card__img{
  width:100%;
  aspect-ratio:4/5;
  flex:0 0 auto;
  overflow:hidden;
  background:rgba(255,255,255,0.04);
}
.speaker-card__img img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:top center;
  display:block;
}

.speaker-card__info{
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:1.1rem 1.3rem 1.4rem;
  background:linear-gradient(354deg, #1a1f5c 0%, #3d1a5c 65%, #a01a72 94%, #e6197e 100%);
  border-top:0.06rem solid rgba(23,195,216,0.35);
}

.speaker-card__tag{
  display:block;
  color:#17c3d8;
  font-size:0.78rem;
  font-weight:500;
  letter-spacing:0.02em;
  margin-bottom:0.35rem;
}
.speaker-card__name{
  margin:0 0 0.3rem;
  font-size:clamp(1rem, 1.2vw, 1.15rem);
  font-weight:700;
  color:#ffffff;
  line-height:1.25;
}
.speaker-card__role{
  margin:0;
  font-size:0.82rem;
  line-height:1.45;
  color:rgba(255,255,255,0.85);
  font-weight:400;
}

/* ---------- Footer / View all ---------- */
.aiss-speakers__footer{
  display:flex;
  justify-content:flex-start;
  margin-top:clamp(1.8rem, 3vw, 2.5rem);
}
.aiss-speakers__viewall{
  display:inline-block;
  color:#ffffff;
  font-size:clamp(1.1rem, 1.6vw, 1.4rem);
  font-weight:500;
  text-decoration:underline;
  text-underline-offset:0.4rem;
  text-decoration-color:#ffffff;
  transition:color .3s var(--ease-snap), text-decoration-color .3s var(--ease-snap);
}
.aiss-speakers__viewall:hover{
  color:#17c3d8;
  text-decoration-color:#17c3d8;
}

@media (max-width: 48rem){
  .aiss-speakers__top{ flex-direction:column; align-items:flex-start; }
  .aiss-speakers__search{ flex:1 1 auto; width:100%; }
  .aiss-speakers__slider-wrap{ padding:0 2.6rem; }
  .speaker-nav{ width:2.2rem; height:2.2rem; min-width:2.2rem; min-height:2.2rem; }
  .speaker-nav svg{ width:1rem; height:1rem; }
}


/* =====================================================================
   WHO SHOULD ATTEND SECTION
   Same cut-corner language as .focus-card / .img-frame — two opposite
   corners (top-right + bottom-left) diagonally clipped.
   ===================================================================== */

.aiss-attend{
  position:relative;
  padding:clamp(2rem, 5vw, 5rem) 0;
  overflow:hidden;      /* bubbles ko section ke andar hi contain karta hai */
  isolation:isolate;    /* apna stacking context, taaki bubbles content ke peeche hi rahein */
}


.aiss-attend__heading{
  position:relative;
  z-index:1;
  display:flex;
  justify-content:center;
  text-align:center;
  margin-bottom:clamp(2rem, 4vw, 3rem);
}
.aiss-attend__title{
  margin:0;
  font-size:clamp(2rem, 5.5vw, 3.5rem);
  line-height:0.95;
  font-weight:400;
  color:#ffffff;
}

.aiss-attend__grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:clamp(1.2rem, 2vw, 1.8rem);
  align-items:stretch;
}

/* ---------- Card shell — only clip shape, no fill ---------- */
.attend-card{
  position:relative;
  height:100%;
  clip-path:polygon(12% 0, 100% 0, 100% 90%, 88% 100%, 0 100%, 0 10%);
  background: linear-gradient(135deg, rgba(18, 65, 110, .78) 0%, rgba(12, 40, 82, .72) 45%, rgba(16, 55, 92, .78) 100%);
    backdrop-filter: blur(10px);
  cursor:default;
  filter:drop-shadow(0 0 0.5rem rgba(23,195,216,0.22));
  transition:opacity 1.1s var(--ease-smooth), transform 1.1s var(--ease-smooth), filter .55s var(--ease-snap);
}
.attend-card:hover{
  filter:drop-shadow(0 0 1.2rem rgba(23,195,216,0.55));
}

/* ---------- Card content ---------- */
.attend-card__inner{
  position:relative;
  height:100%;
  width:100%;
  padding:clamp(1.6rem,2.2vw,2.2rem) clamp(1.4rem,1.8vw,1.8rem) clamp(1.8rem,2.4vw,2.2rem);
  display:flex;
  flex-direction:column;
}

/* ---------- Border overlay — real stroked outline, same shape ---------- */
.attend-card__border{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  pointer-events:none;
}
.attend-card__border polygon{
  fill:none;
  stroke:#17c3d8;
  stroke-width:2;
  vector-effect:non-scaling-stroke;
}

.attend-card__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:0.8rem;
  margin-bottom:1.3rem;
}
.attend-card__title{
  margin:0;
  font-size:clamp(1.1rem, 1vw, 1.3rem);
  font-weight:500;
  color:#17c3d8;
  line-height:1.3;
}
.attend-card__num{
  flex-shrink:0;
  font-size:clamp(1.3rem, 1vw, 1.6rem);
  font-weight:500;
  color:#17c3d8;
}

.attend-card__list{
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:0.55rem;
  overflow-y:auto;
}
.attend-card__list li{
  font-size:clamp(0.85rem, 0.8vw, 0.95rem);
  color:rgba(255,255,255,0.9);
  font-weight:400;
}

/* row-wise stagger for the repeat-animation — premium, slightly wider gaps */
.aiss-attend__grid .attend-card:nth-child(4n+1){ transition-delay:0.1s; }
.aiss-attend__grid .attend-card:nth-child(4n+2){ transition-delay:0.22s; }
.aiss-attend__grid .attend-card:nth-child(4n+3){ transition-delay:0.34s; }
.aiss-attend__grid .attend-card:nth-child(4n+4){ transition-delay:0.46s; }

/* =========================== Responsive =========================== */
@media (max-width: 68rem){
  .aiss-attend__grid{ grid-template-columns:repeat(2, 1fr); }
  .aiss-attend__grid .attend-card:nth-child(2n+1){ transition-delay:0.1s; }
  .aiss-attend__grid .attend-card:nth-child(2n+2){ transition-delay:0.26s; }
  .attend-card{ min-height:20rem; }
}

@media (max-width: 30rem){
  .aiss-attend__grid{ grid-template-columns:1fr; }
  .aiss-attend__grid .attend-card{ transition-delay:0.1s !important; }
  .attend-card{ min-height:18rem; }   /* mobile pe bhi sab cards equal size */
}

/* =====================================================================
   REGISTRATION SECTION — ticket-style card: 4 corners chamfered +
   narrow inward notch on left/right edge at the divider line.
   All cards cyan by default; hover switches the whole card to pink theme.
   ===================================================================== */

.aiss-registration{
  padding:clamp(2rem, 5vw, 5rem) 0;
}

.aiss-registration__heading{
  display:flex;
  justify-content:center;
  text-align:center;
  margin-bottom:clamp(2rem, 4vw, 3rem);
}
.aiss-registration__title{
  margin:0;
  font-size:clamp(2rem, 5.5vw, 3.5rem);
  line-height:0.95;
  font-weight:400;
  color:#ffffff;
}

.aiss-registration__grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:clamp(1.2rem, 2vw, 1.8rem);
  align-items:stretch;
}

.reg-card{
  position: relative;
  height: 100%;

  background:
      linear-gradient(
          135deg,
          rgba(18, 65, 110, .78) 0%,
          rgba(12, 40, 82, .72) 45%,
          rgba(16, 55, 92, .78) 100%
      );

  backdrop-filter: blur(10px);

  /* 4 corners chamfered (4%) + side notch at the divider line (28.5–32.5%) */
  clip-path: polygon(
      4% 0, 96% 0,
      100% 4%,
      100% 28.5%, 96.5% 30.5%, 100% 32.5%,
      100% 96%,
      96% 100%, 4% 100%,
      0 96%,
      0 32.5%, 3.5% 30.5%, 0 28.5%,
      0 4%
  );

  transition:opacity 1.1s var(--ease-smooth), transform 1.1s var(--ease-smooth);
}

.reg-card__border{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  pointer-events:none;
  z-index:2;
  overflow:visible;   /* stroke ko kabhi clip mat karo, zoom pe safe rahega */
}
.reg-card__border path{
  fill:none;
  stroke:#17c3d8;
  stroke-width:1.6;
  vector-effect:non-scaling-stroke;
  transition:stroke .45s var(--ease-snap);
}
.reg-card:hover .reg-card__border path{ stroke:#e6197e; }

/* agar content (jaise images) card ke bounds se bahar bleed kare,
   to sirf ye div clip karega — border SVG isse alag rehta hai */
.reg-card__inner{
  position:relative;
  z-index:1;
  height:100%;
  overflow:hidden;
  clip-path: polygon(
      4% 0, 96% 0,
      100% 4%,
      100% 28.5%, 96.5% 30.5%, 100% 32.5%,
      100% 96%,
      96% 100%, 4% 100%,
      0 96%,
      0 32.5%, 3.5% 30.5%, 0 28.5%,
      0 4%
  );
  display:flex;
  flex-direction:column;
  padding:   clamp(1.1rem, 1.4vw, 1.4rem)
    clamp(1.4rem, 1.8vw, 1.8rem)
    clamp(1.3rem, 1.6vw, 1.6rem);
}
.reg-card__eyebrow{
  display:block;
  color:#17c3d8;
  font-weight:500;
  font-size:clamp(0.95rem, 1vw, 1.05rem);
  margin-bottom:0.6rem;
  transition:color .45s var(--ease-snap);
}
.reg-card:hover .reg-card__eyebrow{ color:#e6197e; }

.reg-card__price{
  color:#ffffff;
  font-weight:500;
  font-size:clamp(1.6rem, 1.2vw, 2rem);
  line-height:1.2;
}
.reg-card__price small{
  font-weight:500;
  font-size:0.5em;
  color:rgba(255,255,255,0.7);
  margin-left:0.3rem;
}

.reg-card__divider{
  border:none;
  border-top:0.13rem dashed #17c3d8;
  margin:1.3rem 0;
  transition:border-color .45s var(--ease-snap);
}
.reg-card:hover .reg-card__divider{ border-top-color:#e6197e; }

.reg-card__list{
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:0.6rem;
  flex:1 1 auto;
  margin-bottom:0.5rem;
}
.reg-card__list li{
  position:relative;
  padding-left:1.15rem;
  font-size:clamp(0.85rem, 0.7vw, 0.92rem);
  line-height:1.4;
  color:rgba(255,255,255,0.9);
  font-weight:400;
}
.reg-card__list li::before{
  content:"";
  position:absolute;
  left:0;
  top:0.5em;
  width:0.2rem;
  height:0.2rem;
  border-radius:50%;
  background:#17c3d8;
  transition:background .45s var(--ease-snap);
}
.reg-card:hover .reg-card__list li::before{ background:#e6197e; }

.reg-card__btn{
  display:block;
  text-align:center;
  border:0.13rem solid #17c3d8;
  color:#ffffff;
  font-weight:500;
  font-size:clamp(0.9rem, 1vw, 0.95rem);
  padding:0.65rem 1rem;
  border-radius:0.5rem;
  text-decoration:none;
  background:rgba(23,195,216,0.12);
  transition:background .45s var(--ease-snap), border-color .45s var(--ease-snap), transform .3s var(--ease-snap);
}
.reg-card__btn:hover{ transform:translateY(-0.1rem); }
.reg-card:hover .reg-card__btn{
  border-color:#e6197e;
  background:linear-gradient(90deg, #e6197e, #ff4fa3);
  box-shadow:0 0.5rem 1.4rem rgba(230,25,126,0.4);
}

/* stagger for scroll-in — premium, slightly wider gaps */
.aiss-registration__grid .reg-card:nth-child(1){ transition-delay:0.1s; }
.aiss-registration__grid .reg-card:nth-child(2){ transition-delay:0.22s; }
.aiss-registration__grid .reg-card:nth-child(3){ transition-delay:0.34s; }
.aiss-registration__grid .reg-card:nth-child(4){ transition-delay:0.46s; }

/* =========================== Responsive =========================== */
@media (max-width: 68rem){
  .aiss-registration__grid{ grid-template-columns:repeat(2, 1fr); }
}
@media (max-width: 30rem){
  .aiss-registration__grid{ grid-template-columns:1fr; }
  .aiss-registration__grid .reg-card{ transition-delay:0.1s !important; }
}
/* =====================================================================
   FAQ SECTION — accordion, both-top-corner cut boxes (border-only)
   ===================================================================== */

.aiss-faq{
  padding:clamp(2rem, 5vw, 5rem) 0;
}

.aiss-faq__heading{
  display:flex;
  justify-content:center;
  text-align:center;
  margin-bottom:clamp(2rem, 4vw, 3rem);
}
.aiss-faq__title{
  margin:0;
  font-size:clamp(2rem, 4.5vw, 3rem);
  line-height:1.05;
  font-weight:400;
  color:#ffffff;
  text-align:center;
}

.aiss-faq__list{
  display:flex;
  flex-direction:column;
  gap:clamp(0.9rem, 1.6vw, 1.2rem);
  margin:0 auto;
}

/* ---------- Item shell — fixed-px top corners cut, border via wrapper+inner trick ---------- */
.faq-item{
  position:relative;
  clip-path:polygon(
    18px 0, 100% 0,
    100% calc(100% - 18px), calc(100% - 18px) 100%,
    0 100%, 0 18px
  );
  background:#17c3d8;
  padding:1.5px;
  transition:opacity 1.1s var(--ease-smooth), transform 1.1s var(--ease-smooth), background .45s var(--ease-snap);
}
.faq-item.is-open{
  background:#e6197e;
}

.faq-item__surface{
  position:relative;
  clip-path:polygon(
    18px 0, 100% 0,
    100% calc(100% - 18px), calc(100% - 18px) 100%,
    0 100%, 0 18px
  );
  background:linear-gradient(160deg, rgba(20,26,92,0.55), rgba(5,6,30,0.85));
}
/* ---------- Question row ---------- */
.faq-item__q{
  position:relative;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  background:none;
  border:none;
  cursor:pointer;
  text-align:left;
  color:#ffffff;
  font-family:inherit;
  font-size:clamp(0.92rem, 1.15vw, 1.05rem);
  font-weight:500;
  padding:clamp(1.1rem,1.8vw,1.4rem) clamp(1.3rem,2vw,1.8rem);
}
.faq-item__q b{
  color:#17c3d8;
  margin-right:0.4rem;
  transition:color .45s var(--ease-snap);
}
.faq-item.is-open .faq-item__q b{ color:#e6197e; }

.faq-item__chevron{
  flex-shrink:0;
  width:1.3rem;
  height:1.3rem;
  color:#17c3d8;
  transition:transform .4s var(--ease-snap), color .4s var(--ease-snap);
}
.faq-item.is-open .faq-item__chevron{
  transform:rotate(90deg);
  color:#e6197e;
}

/* ---------- Answer panel ---------- */
.faq-item__a{
  max-height:0;
  overflow:hidden;
  transition:max-height .55s var(--ease-snap);
}
.faq-item.is-open .faq-item__a{
  max-height:20rem;
}
.faq-item__a-inner{
  padding:0 clamp(1.3rem,2vw,1.8rem) clamp(1.2rem,1.8vw,1.5rem);
  font-size:clamp(0.85rem, 1vw, 0.95rem);
  line-height:1.7;
  color:rgba(255,255,255,0.78);
}

/* stagger for scroll-in — premium, slightly wider gaps */
.aiss-faq__list .faq-item:nth-child(1){ transition-delay:0.1s; }
.aiss-faq__list .faq-item:nth-child(2){ transition-delay:0.2s; }
.aiss-faq__list .faq-item:nth-child(3){ transition-delay:0.3s; }
.aiss-faq__list .faq-item:nth-child(4){ transition-delay:0.4s; }
.aiss-faq__list .faq-item:nth-child(5){ transition-delay:0.5s; }
.aiss-faq__list .faq-item:nth-child(6){ transition-delay:0.6s; }
.aiss-faq__list .faq-item:nth-child(7){ transition-delay:0.7s; }

@media (max-width: 40rem){
  .faq-item, .faq-item__surface{
    clip-path:polygon(
      12px 0, 100% 0,
      100% calc(100% - 12px), calc(100% - 12px) 100%,
      0 100%, 0 12px
    );
  }
  .faq-item__q{ font-size:0.9rem; }
}



/* =====================================================================
   FOOTER
   ===================================================================== */

.aiss-footer{
  position:relative;
  padding-top:0;
  overflow:hidden;
}

.aiss-footer__wave{
  width:100%;
  line-height:0;
}
.aiss-footer__wave img{
  width:100%;
  height:auto;
  display:block;
}

/* ---------- Top block: single centered column ---------- */
.aiss-footer__top{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  padding:clamp(2rem, 5vw, 4rem) 0 clamp(2rem, 4vw, 2.5rem);
}

.aiss-footer__logo{
  display:inline-block;
  margin-bottom:1.6rem;
}
.aiss-footer__logo img{
  height:clamp(3rem, 5vw, 4rem);
  width:auto;
}

.aiss-footer__desc{
  max-width:50rem;
  font-size:0.95rem;
  line-height:1.75;
  color:rgba(255,255,255,0.82);
  margin-bottom:clamp(1.5rem, 3vw, 2.2rem);
}

.aiss-footer__map{
  position:relative;
  width:100%;
  max-width:40rem;
  height:clamp(11rem, 22vw, 14rem);
  border:0.06rem solid rgba(23,195,216,0.5);
  border-radius:0.3rem;
  overflow:hidden;
  margin-bottom:1.3rem;
  transition:border-color .3s var(--ease-snap);
}
.aiss-footer__map:hover{
  border-color:#17c3d8;
}
.aiss-footer__map iframe{
  width:100%;
  height:100%;
  display:block;
}

.aiss-footer__address{
  font-style:normal;
  font-size:0.92rem;
  font-weight:500;
  letter-spacing:0.03em;
  color:rgba(255,255,255,0.9);
  text-transform:uppercase;
}

/* ---------- Bottom bar: copyright | socials | legal — three across ---------- */
.aiss-footer__bottom{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:1rem;
  border-top:0.06rem solid rgba(255,255,255,0.12);
  padding:1.5rem 0 2rem;
}

.aiss-footer__copy{
  font-size:0.9rem;
  font-weight:500;
  color:rgba(255,255,255,0.85);
  justify-self:start;
}

.aiss-footer__socials{
  display:flex;
  gap:0.7rem;
  justify-self:center;
}
.aiss-footer__socials a{
  display:flex;
  align-items:center;
  justify-content:center;
  width:2.3rem;
  height:2.3rem;
  border-radius:0.4rem;
  background:#17c3d8;
  color:#0b0f3d;
  text-decoration:none;
  transition:background .3s var(--ease-snap), transform .3s var(--ease-snap);
}
.aiss-footer__socials svg{
  width:1.1rem;
  height:1.1rem;
}
.aiss-footer__socials a:hover{
  background:#e6197e;
  color:#ffffff;
  transform:translateY(-0.1rem);
}

.aiss-footer__legal{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:0.7rem;
  font-size:0.9rem;
  font-weight:500;
  justify-self:end;
}
.aiss-footer__legal a{
  color:#ffffff;
  text-decoration:none;
  transition:color .3s var(--ease-snap);
}
.aiss-footer__legal a:hover{ color:#17c3d8; }
.aiss-footer__legal span{
  color:rgba(255,255,255,0.4);
}

/* =========================== Responsive =========================== */
@media (max-width: 48rem){
  .aiss-footer__bottom{
    grid-template-columns:1fr;
    justify-items:center;
    text-align:center;
    gap:1.2rem;
  }
  .aiss-footer__copy,
  .aiss-footer__socials,
  .aiss-footer__legal{
    justify-self:center;
  }
}

@media (max-width: 30rem){
  .aiss-footer__map{ max-width:100%; }
}


/* ===================== GLOBAL CURSOR-FOLLOW BUBBLE ===================== */
.cursor-glow{
  position:fixed;
  top:0;
  left:0;
  width:18rem;
  height:18rem;
  border-radius:50%;
  pointer-events:none;
  z-index:1;                /* content/images ke peeche rahega */
  opacity:0;
  transition:opacity .8s var(--ease-snap);
  transform:translate3d(-50%,-50%,0);
  background:radial-gradient(circle,
    rgba(23,195,216,0.55) 0%,
    rgba(23,195,216,0.3) 30%,
    rgba(230,25,126,0.35) 55%,
    transparent 75%);
  filter:blur(1.6rem);
  mix-blend-mode:lighten;
}
.cursor-glow.is-active{ opacity:1; }

@media (max-width: 48rem){
  .cursor-glow{ width:11rem; height:11rem; filter:blur(1rem); }
}
@media (prefers-reduced-motion: reduce){
  .cursor-glow{ display:none; }
}
@media (hover: none){
  .cursor-glow{ display:none; }
}

/* ---------- Ye zaroori hai: har section ka content bubble ke UPAR aana chahiye ---------- */
.aiss-focus,
.aiss-inside,
.aiss-attend,
.aiss-registration{
  position:relative;
  z-index:2;
}



/* ===================== FIXED SIDE CTA BUTTONS =====================
   Har button ek horizontal box hai (normal writing-mode) — box ka shape
   (rounded left corners, border, shadow) is se untouched rehta hai.
   Andar ka content (.side-cta__inner) alag se vertical-rl + rotate(180deg)
   leta hai, taaki text aur arrow dono "rotate" ho jaayein (bottom-to-top
   reading, arrow ka direction bhi flip) box ko disturb kiye bina.

   IMPORTANT: HTML mein har <a class="side-cta__btn"> ke andar text/arrow
   ko is tarah wrap karo:
   <a class="side-cta__btn">
     <span class="side-cta__inner">
       <span class="side-cta__text">Register Now</span>
       <span class="side-cta__arrow">→</span>
     </span>
   </a>
   Isके bina vertical rotation apply nahi hoga. */
.side-cta{
  position:fixed;
  top:50%;
  right:0;
  transform:translateY(-50%);
  display:flex;
  flex-direction:column;
  gap:0.5rem;
  z-index:1500;
}

.side-cta__btn{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:1.2rem 0.6rem;
  text-decoration:none;
  color:#ffffff;
  background:linear-gradient(180deg, rgba(23,195,216,0.38), rgba(14,139,154,0.28));
  backdrop-filter:blur(0.8rem);
  -webkit-backdrop-filter:blur(0.8rem);
  border:0.06rem solid rgba(255,255,255,0.4);
  border-right:none;
  font-weight:500;
  font-size:0.72rem;
  letter-spacing:0.04em;
  text-transform:uppercase;
  border-radius:0.8rem 0 0 0.8rem;
  box-shadow:0 0.3rem 0.9rem rgba(0,0,0,0.3), inset 0 0.06rem 0 rgba(255,255,255,0.35);
  transition:background .4s var(--ease-snap), transform .4s var(--ease-snap), box-shadow .4s var(--ease-snap), border-color .4s var(--ease-snap), padding .4s var(--ease-snap);
}

.side-cta__btn--pink{
   background:#e5027d;
}

/* text + arrow ka rotated wrapper — HTML mein zaroori hai (upar note dekho) */
.side-cta__inner{
  display:flex;
  align-items:center;
  gap:0.55rem;
  letter-spacing: 0.7px;
  writing-mode:vertical-rl;
  transform:rotate(180deg);
}

.side-cta__text{
  transition:transform .4s var(--ease-snap);
}

.side-cta__arrow{
  display:inline-block;
  font-size:0.9rem;
  line-height:1;
  opacity:0;
  transform:translateY(0.5rem);
  transition:opacity .4s var(--ease-snap), transform .4s var(--ease-snap);
}

.side-cta__btn::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(200deg, rgba(255,255,255,0.25) 0%, transparent 40%);
  transform:translateY(100%);
  transition:transform .5s var(--ease-snap);
}

.side-cta__btn:hover{
  padding-top:1.4rem;
  padding-bottom:1.4rem;
  transform:translateX(-0.25rem);
  box-shadow:0 0.5rem 1.4rem rgba(0,0,0,0.45), inset 0 0.06rem 0 rgba(255,255,255,0.5);
  border-color:rgba(255,255,255,0.65);
}
.side-cta__btn:not(.side-cta__btn--pink):hover{
  background:linear-gradient(180deg, rgba(23,195,216,0.38), rgba(14,139,154,0.28));
}
.side-cta__btn--pink:hover{
 background:#e5027d;
}
.side-cta__btn:hover::before{ transform:translateY(0); }
.side-cta__btn:hover .side-cta__arrow{
  opacity:1;
  transform:translateY(0);
}
.side-cta__btn:hover .side-cta__text{
  transform:translateY(-0.15rem);
}

.side-cta__btn:active{ transform:translateX(-0.1rem) scale(0.98); }

.side-cta__btn:focus-visible{
  outline:0.13rem solid #ffffff;
  outline-offset:-0.2rem;
}

@media (prefers-reduced-motion: reduce){
  .side-cta__btn, .side-cta__text, .side-cta__arrow, .side-cta__btn::before{ transition:none; }
}

@media (max-width: 62rem){
  .side-cta__btn{ padding:1rem 0.5rem; font-size:0.66rem; }
}


/* =====================================================================
   GLOBAL SMOOTHNESS LAYER
   - Consistent, buttery, PREMIUM easing curve across every transition
   - GPU-accelerated (transform/opacity only) taaki scroll ke waqt jank
     na ho, especially fade-up-repeat + swiper + hover effects ke saath
   - Card/interactive hover transitions: slower duration (0.55s) for a
     luxury feel instead of a snappy/instant one.

   FIX: .img-frame was REMOVED from this list. It has its own
   opacity/transform + filter transition declared where the class is
   defined (see "IMAGE FRAME" block above) — forcing it to
   `transition-duration:0.55s !important` here overrode the 1.3s
   fade-up timing and made the About-section images "pop" in instead
   of fading, which read as the animation getting stuck.
   ===================================================================== */

.focus-card,
.focus-card__inner,
.speaker-card__inner,
.attend-card,
.reg-card,
.reg-card__border path,
.reg-card__btn,
.faq-item,
.aiss-inside__cell,
.aiss-inside__cell img,
.aiss-inside__left-cell img,
.aiss-inside__bottom-cell img{
  transition-duration: 0.55s !important;
  transition-timing-function: var(--ease-snap) !important;
}

/* Nav / header transitions — smooth ease, no linear jumps */
header.site-header,
.nav-wrap,
.logo-img,
.cta-btn,
.cta-btn::before,
.dropdown-menu,
.dropdown-toggle::after,
nav.primary-nav > a::after{
  transition-timing-function: var(--ease-snap) !important;
}

/* Scroll performance: composited layers for elements that animate often,
   avoids layout-thrash / stutter mid-scroll */
.speaker-card,
.focus-card,
.attend-card,
.reg-card,
.aiss-inside__left-cell,
.aiss-inside__cell,
.aiss-inside__bottom-cell{
  will-change: transform, opacity;
}

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior: auto; }
  *, *::before, *::after{
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* Swiper — smoother slide transition curve (Focus + Speakers sliders).
   FIX: swapped the slow-start `--ease-smooth` curve for `--ease-snap`
   (a more linear, responsive curve) so drag/autoplay transitions feel
   immediate instead of hesitating at the start of each slide move.
   will-change added so the slide track stays on its own compositor
   layer during drag/autoplay instead of repainting each frame. */
.swiper-wrapper{
  transition-timing-function: var(--ease-snap) !important;
  will-change: transform;
}


/* =====================================================================
   PREVIOUS EDITION HIGHLIGHTS / VIDEO SECTION — scroll-scrubbed spread
   ===================================================================== */

.aiss-video{
  position:relative;
  padding:clamp(2rem, 5vw, 4rem) 0 clamp(4rem, 8vw, 7rem);
  overflow:hidden;
}

.aiss-video__heading{
  position:relative;
  text-align:center;
  margin-bottom:50px;
}
.aiss-video__title{
    margin: 0;
    font-size: clamp(2rem, 5.5vw, 3.5rem);
    line-height: 0.95;
    font-weight: 400;
    color: #ffffff;
}

.aiss-video__frame{
  position:relative;
  width:100%;
  aspect-ratio:21/9;
  max-height:44rem;
  overflow:hidden;
  background:linear-gradient(160deg, rgba(20,26,92,0.75), rgba(5,6,30,0.95));
  clip-path:polygon(12% 0, 100% 0, 100% 90%, 88% 100%, 0 100%, 0 10%);
  transform:scale(0.62);
  transform-origin:center center;
  will-change:transform, clip-path;
}
.aiss-video__frame.is-expanded{
  box-shadow:0 1.5rem 5rem rgba(0,0,0,0.45);
}

.aiss-video__border{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:3;
  pointer-events:none;
}
.aiss-video__border polygon{
  fill:none;
  stroke:#17c3d8;
  stroke-width:1.5;
  vector-effect:non-scaling-stroke;
}

.aiss-video__player{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.aiss-video__controls{
  position:absolute;
  right:1.2rem;
  bottom:1.2rem;
  z-index:4;
}
.aiss-video__mute{
  display:flex;
  align-items:center;
  justify-content:center;
  width:2.8rem;
  height:2.8rem;
  border-radius:50%;
  background:rgba(11,15,61,0.6);
  border:0.1rem solid #17c3d8;
  color:#ffffff;
  cursor:pointer;
  backdrop-filter:blur(0.4rem);
  transition:background .3s var(--ease-snap), border-color .3s var(--ease-snap), transform .3s var(--ease-snap);
}
.aiss-video__mute:hover{ background:#e6197e; border-color:#e6197e; transform:scale(1.06); }
.aiss-video__mute svg{ width:1.2rem; height:1.2rem; }
.aiss-video__mute .icon-unmuted{ display:none; }
.aiss-video__frame:not(.is-muted) .aiss-video__mute .icon-muted{ display:none; }
.aiss-video__frame:not(.is-muted) .aiss-video__mute .icon-unmuted{ display:block; }

@media (max-width: 48rem){
  .aiss-video__frame{ aspect-ratio:16/9; max-height:26rem; }
}
@media (prefers-reduced-motion: reduce){
  .aiss-video__frame{ transform:none !important; clip-path:none !important; }
}


/* ======================================================
   AISS 2026 CONTACT POPUP
====================================================== */

.aiss26-contact-overlay{
    position:fixed;
    inset:0;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:20px;
    background:rgba(12,20,35,.45);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    opacity:0;
    visibility:hidden;
    transition:.45s var(--ease-snap);
    z-index:99999;
}

.aiss26-contact-overlay.active{
    opacity:1;
    visibility:visible;
}

.aiss26-contact-modal{
    position: relative;
    width: 100%;
    max-width: 560px;
    padding: 40px;
    border-radius: 24px;

    /* Glass Pink + Teal Gradient */
background: linear-gradient(
    135deg,
    #08097d 0%,
    #004c6d 50%,
    #0a002c 100%
);
    backdrop-filter: blur(0.8rem);
    -webkit-backdrop-filter: blur(22px);

    border: 1px solid rgba(255,255,255,.45);

    box-shadow:
        0 20px 45px rgba(31, 41, 55, 0.12),
        0 8px 18px rgba(255, 181, 213, 0.12),
        inset 0 1px 1px rgba(255,255,255,.6);

    overflow: hidden;
}

.aiss26-contact-overlay.active .aiss26-contact-modal{
    transform:translateY(0);
}



.aiss26-contact-close{
    position:absolute;
    right:18px;
    top:18px;
    width:38px;
    height:38px;
    border:none;
    border-radius:50%;
    background:#ffffff;
    color:#555;
    font-size:24px;
    cursor:pointer;
    box-shadow:0 5px 18px rgba(0,0,0,.08);
    transition:.35s var(--ease-snap);
    z-index:2;
}

.aiss26-contact-close:hover{
    background:#ff5d92;
    color:#fff;
}

.aiss26-contact-title{
    font-size:30px;
    font-weight:700;
    color:#ffffff;
    line-height:1.35;
    margin:0 0 30px;
    padding-right:40px;
}

.aiss26-contact-card{
    background:#fff;
    border:1px solid rgba(233,233,233,.8);
    border-radius:16px;
    padding:18px 22px;
    margin-bottom:16px;
    transition:.35s var(--ease-snap);
    position:relative;
    z-index:1;
}

.aiss26-contact-card:last-child{
    margin-bottom:0;
}

.aiss26-contact-card:hover{
    transform:translateY(-3px);
    box-shadow:0 10px 25px rgba(0,0,0,.08);
}

.aiss26-contact-card h4{
    margin:0 0 8px;
    font-size:17px;
    color:#27364b;
    font-weight:600;
}

.aiss26-contact-card a{
    color:#0f8b8d;
    text-decoration:none;
    font-size:15px;
    font-weight:500;
    word-break:break-word;
}

.aiss26-contact-card a:hover{
    color:#ff5d92;
}

body.aiss26-popup-open{
    overflow:hidden;
}

@media(max-width:768px){

.aiss26-contact-modal{
    padding:30px 22px;
}

.aiss26-contact-title{
    font-size:24px;
}

.aiss26-contact-card{
    padding:16px;
}

}



.email-link{
  color:#00C4CC;
  text-decoration:none;
  font-weight:600;
  transition:color .3s ease;
}

.email-link:hover{
  color:#ff4fa3; /* Pink */
}