@import url('https://fonts.googleapis.com/css2?family=Archivo:ital,wght@0,100..900;1,100..900&family=Bebas+Neue&family=Figtree:ital,wght@0,300..900;1,300..900&family=Momo+Signature&family=Montserrat:ital,wght@0,100..900;1,100..900&family=Noto+Sans:ital,wght@0,100..900;1,100..900&display=swap');

 @import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Cinzel:wght@500;600;700&family=Tangerine:wght@700&display=swap');



html,

body {

  padding: 0;

  margin: 0;

 overflow-x: hidden;

  background-color: #000;

    scroll-behavior: smooth;

}







:root {

  --void: #07040f;

  --deep: #150a29;

  --glow-a: #8965d2;

  --glow-b: #b98bff;

  --ink: #f5f1fc;

  --ink-dim: rgba(245, 241, 252, 0.62);

  --glass-bg: rgba(255, 255, 255, 0.06);

  --glass-border: rgba(255, 255, 255, 0.14);

  --accent: #ffb135;

  --accent-2: #ff774e;

}



#cover, #about, #phmap, #themes, #attendee,

#highlights, #exhibit, #speakers, #sponsors, #footer {

  scroll-margin-top: 90px;

}



/* navbar */

.navbar {

  position: fixed;

  top: 0;

  left: 0;

  width: 100%;

  padding: 1rem;

  z-index: 1100;

}

.scrolled {

  background: rgba(7, 4, 15, 0.649);

  backdrop-filter: blur(14px);

  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);

}

.nav_content {

  display: flex;

  justify-content: space-between;

  align-items: center;

  width: 100%;

  max-width: 1200px;

  margin: 0 auto;

}



.navbar-logo {

  width: 4rem;

  height: auto;

}



.nav-logo {

  width: 100%;

}



.navbar ul {

  display: flex;

  list-style: none;

  gap: 2rem;

  align-items: center;

  justify-content: center;

  position: relative;

}



.navbar ul::after {

  content: "";

  display: block;

  position: absolute;

  width: 100%;

  height: 1px;

  bottom: -1rem;

  background: linear-gradient(to right, transparent, #808080, #808080, transparent);

  box-shadow: 0px 0px 6px #808080;

  transition: opacity 0.3s ease;

}



.scrolled ul::after {

opacity: 0;

}



.navbar ul li a {

  color: #ffffff95;

  text-decoration: none;

  font-family: 'Manrope', sans-serif;

  text-transform: uppercase;

  font-weight: 600;

  font-size: 0.75rem;

  letter-spacing: 0.1rem;

}



.navbar ul li a:hover {

  color: #fff;

  text-shadow: 0px 0px 6px #ffb135;

}



.nav-button {

  background-color: #ffb135;

  color: #000;

  border: none;

  padding: 0.5rem 1rem;

  border-radius: 2rem;

  cursor: pointer;

  font-family: 'Archivo', sans-serif;

  font-weight: 600;

  letter-spacing: 0.1rem;

}

.nav-button:hover {

  background-color: #ffffff;

  box-shadow: 0px 0px 10px #fbfbfa;

}



.hamburger {

  display: none;

  flex-direction: column;

  justify-content: center;

  align-items: center;

  gap: 5px;

  width: 2.4rem;

  height: 2.4rem;

  background: transparent;

  border: none;

  cursor: pointer;

  z-index: 1100;

  padding: 0;

}



.hamburger span {

  display: block;

  width: 1.6rem;

  height: 2px;

  background: #fff;

  border-radius: 2px;

  transition: transform 0.3s ease, opacity 0.3s ease;

}



.hamburger.active span:nth-child(1) {

  transform: translateY(7px) rotate(45deg);

}



.hamburger.active span:nth-child(2) {

  opacity: 0;

}



.hamburger.active span:nth-child(3) {

  transform: translateY(-7px) rotate(-45deg);

}





.nav-overlay {

  position: fixed;

  top: 0;

  left: 0;

  right: 0;

  bottom: 0;

  width: 100vw;

  height: 100vh;

  background: rgba(0, 0, 0, 0.6);

  backdrop-filter: blur(2px);

  opacity: 0;

  pointer-events: none;

  transition: opacity 0.35s ease;

  z-index: 1040;

}



.nav-overlay.open {

  opacity: 1;

  pointer-events: auto;

}







/* cover */

.cover {

  width: 100%;

  height: auto;

  position: relative;

  min-height: 100vh;

  display: flex;

  flex-direction: column;

  justify-content: center;

  align-items: center;

  overflow: hidden;

}



.cover-ft26{

    position:absolute;

    width: 15rem;

right: 4rem;

bottom: 4rem;

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

    background:

      radial-gradient(ellipse 90% 70% at 50% 34%, rgba(120,88,30,0.35) 0%, rgba(10,7,4,0) 62%),

      radial-gradient(ellipse 140% 100% at 50% 100%, #1c130a 0%, var(--ink) 55%),

      linear-gradient(180deg, #050403 0%, #0a0704 40%, #0d0906 100%);

    text-align:center;

  }





  .grain{

    position:absolute;

    inset:0;

    pointer-events:none;

    opacity:0.035;

    z-index:6;

    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");

  }



  .rays{

    position:absolute;

    top:50%;

    left:50%;

    width:50vmax;

    height:50vmax;

    transform:translate(-50%,-50%);

    background:conic-gradient(

      from 0deg,

      rgba(232,182,79,0.10) 0deg,

      rgba(232,182,79,0) 8deg,

      rgba(232,182,79,0) 22deg,

      rgba(232,182,79,0.09) 30deg,

      rgba(232,182,79,0) 38deg,

      rgba(232,182,79,0) 52deg,

      rgba(232,182,79,0.10) 60deg,

      rgba(232,182,79,0) 68deg,

      rgba(232,182,79,0) 82deg,

      rgba(232,182,79,0.09) 90deg,

      rgba(232,182,79,0) 98deg,

      rgba(232,182,79,0) 112deg,

      rgba(232,182,79,0.10) 120deg,

      rgba(232,182,79,0) 128deg,

      rgba(232,182,79,0) 142deg,

      rgba(232,182,79,0.09) 150deg,

      rgba(232,182,79,0) 158deg,

      rgba(232,182,79,0) 172deg,

      rgba(232,182,79,0.10) 180deg,

      rgba(232,182,79,0) 188deg,

      rgba(232,182,79,0) 202deg,

      rgba(232,182,79,0.09) 210deg,

      rgba(232,182,79,0) 218deg,

      rgba(232,182,79,0) 232deg,

      rgba(232,182,79,0.10) 240deg,

      rgba(232,182,79,0) 248deg,

      rgba(232,182,79,0) 262deg,

      rgba(232,182,79,0.09) 270deg,

      rgba(232,182,79,0) 278deg,

      rgba(232,182,79,0) 292deg,

      rgba(232,182,79,0.10) 300deg,

      rgba(232,182,79,0) 308deg,

      rgba(232,182,79,0) 322deg,

      rgba(232,182,79,0.09) 330deg,

      rgba(232,182,79,0) 338deg,

      rgba(232,182,79,0) 352deg,

      rgba(232,182,79,0.10) 360deg

    );

    mask-image:radial-gradient(circle at center, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0) 46%);

    -webkit-mask-image:radial-gradient(circle at center, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0) 46%);

    animation:rotateRays 90s linear infinite;

    z-index:1;

    opacity:0;

    animation:rotateRays 90s linear infinite, fadeInRays 2.2s ease-out 0.4s forwards;

  }



  @keyframes rotateRays{

    to{ transform:translate(-50%,-50%) rotate(360deg); }

  }

  @keyframes fadeInRays{

    to{ opacity:1; }

  }



  .star-stage{

    position:relative;

width: 10rem;

height: auto;

    z-index:3;

  }



  .star-glow{

    position:absolute;

    inset:-18%;

    border-radius:50%;

    background:radial-gradient(circle, rgba(255,217,122,0.55) 0%, rgba(255,217,122,0.18) 40%, rgba(255,217,122,0) 70%);

    filter:blur(6px);

    animation:glowPulse 4.2s ease-in-out infinite;

    z-index:1;

  }



  @keyframes glowPulse{

    0%,100%{ opacity:0.55; transform:scale(0.94); }

    50%{ opacity:1; transform:scale(1.06); }

  }



  .star-wrap{

    position:relative;

    width:100%;

    height:100%;

    z-index:2;

    opacity:0;

    transform:scale(0.55) rotate(-18deg);

    animation:starEntrance 1.4s cubic-bezier(.2,.9,.25,1.05) 0.15s forwards;

    filter:drop-shadow(0 0 18px rgba(255,224,150,0.55)) drop-shadow(0 6px 26px rgba(0,0,0,0.55));

  }



  @keyframes starEntrance{

    0%{ opacity:0; transform:scale(0.5) rotate(-22deg); }

    60%{ opacity:1; transform:scale(1.07) rotate(4deg); }

    100%{ opacity:1; transform:scale(1) rotate(0deg); }

  }



  .star-img{

    width:80%;

    height:80%;

    margin-left: 10%;

    object-fit:contain;

    display:block;

    animation:starBreathe 4.2s ease-in-out infinite;

  }



  @keyframes starBreathe{

    0%,100%{ filter:brightness(1) saturate(1); }

    50%{ filter:brightness(1.14) saturate(1.12); }

  }



  .star-shine{

    position:absolute;

    inset:0;

    -webkit-mask-image:var(--star-mask);

    mask-image:var(--star-mask);

    -webkit-mask-size:contain;

    mask-size:contain;

    -webkit-mask-repeat:no-repeat;

    mask-repeat:no-repeat;

    -webkit-mask-position:center;

    mask-position:center;

    background:linear-gradient(

      115deg,

      rgba(255,255,255,0) 30%,

      rgba(255,255,255,0) 42%,

      rgba(255,250,225,0.95) 49%,

      rgba(255,255,255,0) 56%,

      rgba(255,255,255,0) 100%

    );

    background-size:340% 340%;

    background-position:-120% -120%;

    animation:foilSweep 5.5s ease-in-out 1.8s infinite;

    mix-blend-mode:screen;

    opacity:0;

    pointer-events:none;

  }



  @keyframes foilSweep{

    0%{ background-position:-140% -140%; opacity:0; }

    8%{ opacity:0.9; }

    38%{ background-position:140% 140%; opacity:0.9; }

    46%{ opacity:0; }

    100%{ background-position:140% 140%; opacity:0; }

  }



  .spark{

    position:absolute;

    width:22px;

    height:22px;

    z-index:4;

    opacity:0;

    transform:scale(0.2) rotate(0deg);

    animation:sparkPulse 2.6s ease-in-out infinite;

  }



  .spark svg{ width:100%; height:100%; display:block; }



  @keyframes sparkPulse{

    0%,100%{ opacity:0; transform:scale(0.15) rotate(0deg); }

    12%{ opacity:1; transform:scale(1.05) rotate(20deg); }

    22%{ opacity:0.75; transform:scale(0.7) rotate(35deg); }

    32%{ opacity:0; transform:scale(0.2) rotate(50deg); }

  }



  .s1{ top:1%;  left:47%; animation-delay:1.9s; }

  .s2{ top:34%; left:92%; width:16px; height:16px; animation-delay:2.6s; }

  .s3{ top:82%; left:76%; animation-delay:3.4s; }

  .s4{ top:82%; left:16%; width:18px; height:18px; animation-delay:2.1s; }

  .s5{ top:34%; left:2%;  animation-delay:3.9s; }

  .s6{ top:16%; left:74%; width:12px; height:12px; animation-delay:4.6s; }

  .s7{ top:20%; left:20%; width:12px; height:12px; animation-delay:5.3s; }



  .dust{

    position:absolute;

    border-radius:50%;

    background:radial-gradient(circle, rgba(255,232,170,0.95) 0%, rgba(255,232,170,0) 70%);

    z-index:3;

    opacity:0;

    animation:dustRise linear infinite;

  }



  @keyframes dustRise{

    0%{ opacity:0; transform:translateY(0) translateX(0); }

    10%{ opacity:0.85; }

    90%{ opacity:0.4; }

    100%{ opacity:0; transform:translateY(-58vh) translateX(var(--drift, 20px)); }

  }



  .text-block{

    position:relative;

    z-index:3;

    display:flex;

    flex-direction:column;

    align-items:center;

    margin-top:1vh;

  }



  .ft-head{

    font-family: Archivo;

    font-weight:900;

  font-size: 0.9rem;

    padding-left:0.34em;

    text-transform:uppercase;

    background: linear-gradient(to bottom, #ffd344,  #cda216,  #c69800);

    background-clip:text;

    color:transparent;

    opacity:0;

    filter:drop-shadow(0 2px 10px rgba(0,0,0,0.5));

    animation:headReveal 1.1s ease-out 1.15s forwards, headShimmer 6s linear 2.3s infinite;

    margin:0;

  }



  @keyframes headReveal{

    0%{ opacity:0; letter-spacing:0.7em; filter:blur(6px) drop-shadow(0 2px 10px rgba(0,0,0,0.5)); }

    100%{ opacity:1; letter-spacing:0.34em; filter:blur(0) drop-shadow(0 2px 10px rgba(0,0,0,0.5)); }

  }



  @keyframes headShimmer{

    0%{ background-position:0% 50%; }

    100%{ background-position:200% 50%; }

  }



  .rule-row{

    display:flex;

    align-items:center;

    gap:0.9em;

    margin:0.75em 0 0.6em;

    opacity:0;

    animation:fadeUp 0.9s ease-out 1.55s forwards;

  }



  .rule{

    height:1px;

    width:38px;

    background: linear-gradient(to left, #ffd344,  #cda216,  #c6980000);

    transform:scaleX(0);

    transform-origin:right;

    animation:ruleGrow 0.9s ease-out 1.6s forwards;

  }



  .rule.right{

      background: linear-gradient(to right, #ffd344,  #cda216,  #c6980000);

    transform-origin:left;

  }



  @keyframes ruleGrow{

    to{ transform:scaleX(1); }

  }



  .ft-year{

    font-family:'Cormorant Garamond', serif;

    font-weight:600;

    font-size:clamp(1rem, 2.4vw, 1rem);

    letter-spacing:0.5em;

    padding-left:0.5em;

    color:white;

    text-shadow:0 0 14px rgba(255,217,122,0.45);

  }



  @keyframes fadeUp{

    from{ opacity:0; transform:translateY(10px); }

    to{ opacity:1; transform:translateY(0); }

  }



  .ft-des{

    font-family:'Tangerine', cursive;

    font-weight:700;

    font-size:clamp(1.2rem, 8vw, 2rem);

    line-height: 0;

    color:white;

    margin-top:0.35em;

    opacity:0;

    text-shadow:0 0 20px rgba(255,224,150,0.5), 0 2px 8px rgba(0,0,0,0.6);

    animation:fadeUp 1s ease-out 1.95s forwards;

    position:relative;

  }



  .ft-des .spark{

    width:26px;

    height:26px;

    top:-8%;

    left:100%;

    margin-left:6px;

    animation-delay:2.8s;

  }



  @media (prefers-reduced-motion: reduce){

    .rays,.star-glow,.star-img,.star-shine,.spark,.dust,.ft-head{ animation:none !important; }

    .star-wrap,.rule,.rule-row,.ft-year,.ft-des,.ft-head{ opacity:1 !important; transform:none !important; filter:none !important; letter-spacing:0.34em; }

  }



.ft-star{

  width: 7rem;

}



/* Badge */

.award-badge{

    position: relative;

    display: flex;

    align-items: center;

    gap: 10px;

    padding: 0.4rem 0.9rem;

    height: 2.6rem;

    border-radius: 999px;

    background: linear-gradient(135deg, #1a1a1a, #0c0c0c);

    border: 1px solid rgba(255, 255, 255, 0.06);

    overflow: hidden;

    transition: 0.35s ease;

}



.award-badge:hover{

    border-color: rgba(255, 200, 60, 0.5);

    transform: translateY(-1px);

}



/* GOLD HAIRLINE */



.award-badge:before{

    content: "";

    position: absolute;

    inset: 0;

    padding: 3px;

    border-radius: 999px;

    background: linear-gradient(135deg, #6f4c00, #f9e07a, #d39a09, #fff2b5, #8b6100);

    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);

    -webkit-mask-composite: xor;

            mask-composite: exclude;

    pointer-events: none;

}



/* SHINE */



.shine{

    position: absolute;

    width: 40px;

    height: 200%;

    background: rgba(255, 255, 255, 0.1);

    transform: rotate(20deg);

    left: -60px;

    animation: shine 6s infinite;

    pointer-events: none;

}



@keyframes shine{

    0%{ left: -60px; }

    100%{ left: 130%; }

}



/* ICON */



.award-icon{

    flex-shrink: 0;

    width: 1.5rem;

    height: 1.5rem;

    border-radius: 50%;

    display: flex;

    align-items: center;

    justify-content: center;

    background: radial-gradient(circle, #ffe89b, #d89b00);

    box-shadow: inset 0 0 6px rgba(255, 255, 255, 0.4);

}



/* STAR */



.star{

    width: 0.9rem;

    aspect-ratio: 1;

    background: linear-gradient(#0f0f0e, #0e0e0e, #af6f00);

    clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);

    animation: spin 12s linear infinite;

}



@keyframes spin{

    from{ transform: rotate(0deg); }

    to{ transform: rotate(360deg); }

}



/* TEXT */



.award-content{

    display: flex;

    align-items: baseline;

    gap: 6px;

    white-space: nowrap;

}



.award-eyebrow{

    font-size: 10px;

    letter-spacing: 1.5px;

    text-transform: uppercase;

    font-weight: 600;

    background: linear-gradient(90deg, #ffe78f, #c28b00);

    -webkit-background-clip: text;

    color: transparent;

}



.award-year{

    font-family: 'Bebas Neue', sans-serif;

    font-size: 15px;

    font-weight: 400;

    letter-spacing: 0.5px;

    background: linear-gradient(180deg, #fff5d4, #ffd45d, #c48a00);

    -webkit-background-clip: text;

    color: transparent;

}





.cover video {

  position: absolute;

  top: 0;

  left: 0;

  width: 100%;

  height: 100%;

  object-fit: cover;

}



.cover-overlay {

  width: 100%;

  height: 100%;

  background: linear-gradient(to bottom, #000000f0, #0000007d, #000000df, #000);

  position: absolute;

  top: 0;

}



.light-wrapper {

  position: relative;

  width: 100%;

  height: 100vh;

  overflow: hidden;

}



.lights-holder {

  grid-column-gap: 40px;

  opacity: .41;

  justify-content: center;

  align-items: flex-start;

  width: 100%;

  height: 100%;

  display: flex;

  position: relative;

  top: -160px;

  left: -600px;

  transform: rotate(-30deg);

}



.light {

  background-image: linear-gradient(to bottom,

      rgba(255, 255, 255, 0.9) 5%,

      rgba(255, 255, 255, 0) 67%);

  border-radius: 100px;

  pointer-events: none;

  transition: all 0.5s ease;

}



.light.left {

  filter: blur(9px);

}



.light.middle {

  filter: blur(18px);

}



.light.right {

  filter: blur(9px);

}



.cover-logo-box{

  display: flex;

  flex-direction: column;

  justify-content: center;

  align-items: center;

  gap: 1rem;

}

.cover-sup-head{

font-family: 'Archivo', sans-serif;

  font-weight: 600;

  letter-spacing: 0.1rem;

  text-transform: uppercase;

  font-size: 0.75rem;

  color: #ffb135;

  text-align: center;

}

.cover-sup-logos{

  display: flex;

  align-items: center;

  justify-content: center;

  gap: 1rem;

  margin-top: 0.5rem;

}

.cover-sup-logo-box{

  width: 8rem;

  background: white;

  height: 5rem;

  border-radius: 1rem;

  display: flex;

  align-items: center;

  justify-content: center;

}

.cover-sup-logo{

  width: 80%;

  height: auto;

}

.event-logo {

  width: 35rem;

  margin-top: 1rem;

}

.country{
  font-family: 'archivo', sans-serif;
  position: absolute;
  background: linear-gradient(to bottom, #fefefd46,  #fdfcfb28,  transparent);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font-size: 5.75rem;
  z-index: 2;
  bottom: 0rem;
  left: 1rem;
  font-weight: 900;
}

.cover-content {
  width: 80vw;
  height: 80vh;
  position: absolute;
  display: flex;
  top: 3rem;
  flex-direction: column;
  align-items: center;
  z-index: 2;
}

.date-place {
  width: 100%;
  color: #fff;
  text-align: center;
  font-size: 0.75rem;
  font-family: 'Archivo', sans-serif;
  font-weight: 600;
  letter-spacing: 0.1rem;
  width: fit-content;
  color: #ffb135;
  border: 1px solid #ffb135;
  padding: 0.5rem 1rem;
  border-radius: 2rem;
  padding-bottom: 0.7rem;
  margin-top: 4rem;
}

.tagline {
  width: 100%;
  color: #ccc9c9;
  text-align: center;
  font-size: 0.9rem;
  font-family: 'Archivo', sans-serif;
  font-weight: 600;
  letter-spacing: 0.1rem;
  margin-top: 1rem;
}

.countdown {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  margin-top: 1.8rem;
  position: absolute;
  left: -9%;
  top: 30%;
  opacity: 0;
  transform: translateY(-50px);
  animation: contentDropIn 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.5s forwards;
  will-change: transform, opacity;
}

.countdown-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 4.2rem;
  padding: 0.7rem 0.5rem;
  border-radius: 0.9rem;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(10px);
}

.countdown-value {
  font-family: 'Archivo', sans-serif;
  font-weight: 800;
  font-size: 1.6rem;
  color: #fff;
  line-height: 1;
}

.countdown-label {
  font-family: 'Archivo', sans-serif;
  font-size: 0.6rem;
  font-weight: 600;
  letter-spacing: 0.06rem;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.5);
  margin-top: 0.4rem;
}

@media (max-width: 860px) {
  .countdown {
    gap: 0.5rem;
    flex-direction: row;
    position: static;
    margin-top: 1.2rem;
  }

  .countdown-item {
    min-width: 3.4rem;
    padding: 0.55rem 0.4rem;
  }

  .countdown-value {
    font-size: 1.15rem;
  }

  .countdown-label {
    font-size: 0.52rem;
  }

  .countdown-sep {
    font-size: 1rem;
  }
}

.action-buttons {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 1rem;
  gap: 2rem;
}

.action-button {
  border: 2px solid gray;
  color: #fff;
  width: 9rem;
  height: 2.5rem;
  font-family: 'Archivo', sans-serif;
  font-weight: 700;
  letter-spacing: 0.1rem;
  text-transform: uppercase;
  font-size: 0.8rem;
  padding-top: 0.1rem;
  border-radius: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.action-button:hover {

  box-shadow: 0px 0px 10px #ffb135;

}



.action-button:nth-child(1) {

  background-color: #ffffff17;

  backdrop-filter: blur(10px);

}



.action-button:nth-child(2) {

  background-color: #ffffff;

  color: #000;

  border: 2px solid #ffffff;

  box-shadow: 0px 0px 10px #ffffff;

}



.action-button:nth-child(2):hover {

  box-shadow: 0px 0px 10px #ffb135;

  border-color: #ffb135;

  color: #fff;

  background-color: #ffb135;

}



/* content load-in animation: top to down */

.date-place,

.event-logo,

.tagline,

.action-buttons {

  opacity: 0;

  transform: translateY(-50px);

  animation: contentDropIn 0.9s cubic-bezier(0.16, 1, 0.3, 1) forwards;

  will-change: transform, opacity;

}



.date-place {

  animation-delay: 0.15s;

}



.event-logo {

  animation-delay: 0.3s;

}



.tagline {

  animation-delay: 0.45s;

}



.action-buttons {

  animation-delay: 0.6s;

}



@keyframes contentDropIn {

  from {

    opacity: 0;

    transform: translateY(-50px);

  }



  to {

    opacity: 1;

    transform: translateY(0);

  }

}



.cover-content {

  will-change: transform, opacity;

}



.cover-circle {

  width: 60rem;

  height: 60rem;

  position: absolute;

  border-radius: 50%;

  top: 31.5rem;

  display: flex;

  justify-content: center;

  align-items: center;

  background: transparent;

  /* no gradient here anymore */



  box-shadow:

    0 0 6rem 1rem rgba(255, 220, 170, 0.35),

    0 0 12rem 4rem rgba(255, 150, 70, 0.18),

    inset 0 6rem 8rem rgba(0, 0, 0, 0.6);



  border: 1px solid rgba(255, 255, 255, 0.5);

  transform: rotate(-70deg);

  transform-origin: center;

  will-change: transform;

  animation: glowSweepIn 1.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;

}



/* the colored ring, isolated on its own layer so masking doesn't touch the glow */

.cover-circle::after {

  content: "";

  position: absolute;

  inset: 0;

  border-radius: 50%;

  background: radial-gradient(circle at 50% 8%,

      #ff9d14 0%,

      #ff9a4d 10%,

      #ff7944 22%,

      #7a3520 38%,

      #1a0f0a 55%,

      #000 70%);







  box-shadow:

    0 0 6rem 1rem rgba(255, 251, 245, 0.35),

    0 0 12rem 4rem rgba(238, 223, 211, 0.18),

    inset 0 6rem 30rem rgba(0, 0, 0, 0.6);



  -webkit-mask-image: radial-gradient(circle closest-side at center, transparent 0%, transparent 82%, black 84%, black 100%);

  mask-image: radial-gradient(circle closest-side at center, transparent 0%, transparent 82%, black 84%, black 100%);

  pointer-events: none;

}



@keyframes glowSweepIn {

  from {

    transform: rotate(-70deg);

  }



  to {

    transform: rotate(0deg);

  }

}



/* the bright thin rim of light hugging the top edge */

.cover-circle::before {

  content: "";

  position: absolute;

  top: -2px;

  left: 50%;

  transform: translateX(-50%);

  width: 98%;

  height: 98%;

  border-radius: 50%;

  border: 5px solid rgba(255, 255, 255, 0.9);

  filter: blur(3px);

  -webkit-mask-image: linear-gradient(to bottom, black 0%, black 15%, transparent 35%);

  mask-image: linear-gradient(to bottom, black 0%, black 15%, transparent 35%);

  pointer-events: none;

}



.cover-circle-inner {

  width: 50rem;

  height: 50rem;

  border-radius: 50%;



  background: transparent;

  border: 1px solid rgba(255, 255, 255, 0.985);

}



@media (max-width:1024px) {

    .cover-circle {

    width: 34rem;

    height: 34rem;

    top: 47rem;

  }



  .cover-circle-inner {

    width: 28rem;

    height: 28rem;

  }



  .lights-holder {

    left: -300px;

    top: -80px;

  }



  .cover-content {

    width: 92vw;

    top: 12.5rem;

  }

}



@media (max-width: 860px) {

 body,html{

  overflow-x: hidden;

 }

  .navbar{

    padding: 0;

    width: 100vw;

  }

  .nav_content{

    max-width: 100vw;

    margin: 0;

  }

  .navbar-logo {

    width: 3rem;

    padding: 1rem;

  }



  .hamburger {

    display: flex;

    margin-right: 1rem;

  }



  .navbar ul {

    position: fixed;

    top: 0;

    right: 0;

    height: 100vh;

    width: 100%;

    max-width: auto;

    background: rgba(7, 4, 15, 0.98);

    backdrop-filter: blur(14px);

    flex-direction: column;

    justify-content: center;

    align-items: flex-start;

    gap: 2rem;

    margin: 0;

    transform: translateX(100%);

    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);

    z-index: 1050;

    box-shadow: -1rem 0 3rem rgba(0, 0, 0, 0.5);

  }



  .navbar ul.open {

    transform: translateX(0);

  }



  .navbar ul::after {

    display: none;

  }



  .navbar ul li {

    width: 80%;

    margin-left: 10%;

  }



 .navbar ul li a {

    color: rgba(255, 255, 255, 0.92);

    font-weight: 700;

  }

  .nav-button {

    display: none;

  }



  /* cover */

  .event-logo {

    width: 78vw;

    max-width: 26rem;

    margin-top: 1.2rem;

  }



   .cover-ft26{

    right: 0rem;

    width: 10rem;

  }

.star-img {

    width: 60%;

    height: 60%;

    margin-left: 20%;

}

.ft-head {

    font-size: 0.6rem;

}

.ft-year{

  font-size: 0.6rem;

}

.ft-des{

  font-size: 4vw;

}



  .date-place {

    font-size: 0.62rem;

    padding: 0.45rem 0.9rem;

    padding-bottom: 0.6rem;

    margin-top: 5.5rem;

    text-align: center;

  }



  .tagline {

    font-size: 0.62rem;

    padding: 0 1.5rem;

    line-height: 1.4;

  }



  .action-buttons {

    flex-direction: column;

    gap: 1rem;

    margin-top: 1.8rem;

  }



  .action-button {

    width: 12rem;

    height: 2.8rem;

  }



  .cover-circle {

    width: 34rem;

    height: 34rem;

    top: 25rem;

  }



  .cover-circle-inner {

    width: 28rem;

    height: 28rem;

  }



  .lights-holder {

    left: -300px;

    top: -80px;

  }



  .cover-content {

    width: 92vw;

    top: 1.5rem;

  }

}



@media (max-width: 520px) {

  .event-logo {

    width: 75vw;

  }



  .cover-content {

    width: 92vw;

    margin-top: 12rem;

  }



  .cover-circle {

    width: 22rem;

    height: 22rem;

    top: calc(100vh - 11rem);

  }



  .cover-circle-inner {

    width: 18.1rem;

    height: 18.1rem;

  }



  .date-place {

    margin-top: 0rem;

    font-size: 0.76rem;

  }



  .tagline {

    font-size: 0.68rem;

    width: 70%;

  }

   .cover-ft26{

    right: 0rem;

    width: 10rem;

  }

.star-img {

    width: 60%;

    height: 60%;

    margin-left: 20%;

}

.ft-head {

    font-size: 0.6rem;

}

.ft-year{

  font-size: 0.6rem;

}

.ft-des{

  font-size: 4vw;

}

 .cover-sup-logo-box {

    width: 7rem;

    height: 4.5rem;

    }

    .cover-sup-logos {

    gap: 0.4rem;

    }

}



@media (max-width: 400px) {

  .event-logo {

    width: 70vw;

  }



  .cover-content {

    width: 92vw;

    margin-top: 5rem;

  }



  .cover-circle {

    width: 18rem;

    height: 18rem;

    top: calc(100vh - 5rem);

  }



  .cover-circle-inner {

    width: 15rem;

    height: 15rem;

  }



  .date-place {

    margin-top: -0.5rem;

    font-size: 0.68rem;

  }



  .tagline {

    font-size: 0.62rem;

    width: 80%;

  }

   .cover-ft26{

    right: 2rem;

    width: 8rem;

    bottom: 2rem;

  }

      .star-img {

        width: 50%;

        height: 50%;

        margin-left: 25%;

    }



    .cover-sup-logo-box {

    width: 6rem;

    height: 4rem;

    }

    .cover-sup-logos {

    gap: 0.4rem;

    }



}









/* overview */

.overview {

  width: 100%;

  min-height: 100vh;

  background: #000;

  padding: 6rem 10vw;

  box-sizing: border-box;

  position: relative;

  overflow: hidden;

}





/* faint ambient glow behind the whole section */

.overview::before {

  content: "";

  position: absolute;

  top: -10rem;

  right: -10rem;

  width: 40rem;

  height: 40rem;

  background: radial-gradient(circle, rgba(255, 119, 78, 0.12) 0%, transparent 70%);

  pointer-events: none;

}



.ov-top {

  display: flex;

  justify-content: space-between;

  align-items: flex-start;

  gap: 2rem;

  position: relative;

  z-index: 2;

}



.ov-eyebrow {

  display: flex;

  align-items: center;

  gap: 0.5rem;

  color: var(--accent);

  font-family: 'Archivo', sans-serif;

  font-size: 0.75rem;

  font-weight: 700;

  letter-spacing: 0.08rem;

  text-transform: uppercase;

  margin-bottom: 1rem;

}



.ov-eyebrow::before {

  content: "";

  width: 6px;

  height: 6px;

  border-radius: 50%;

  background: var(--accent);

  box-shadow: 0 0 8px var(--accent);

}



.ov-heading {

  font-family: 'Manrope', sans-serif;

  font-weight: 500;

  font-size: clamp(2.2rem, 4vw, 3.4rem);

  line-height: 1.1;

  margin: 0;

  color: white;

}



.ov-heading span {

  display: block;

  color: rgba(255, 255, 255, 0.35);

  font-weight: 900;

}



.ov-socials {

  display: flex;

  align-items: center;

  gap: 1.1rem;

  padding-top: 0.4rem;

}



.ov-socials a {

  width: 2.6rem;

  height: 2.6rem;

  border-radius: 50%;

  display: flex;

  align-items: center;

  justify-content: center;

  color: #fff;

  text-decoration: none;

  border: 1px solid rgba(255, 255, 255, 0.18);

  font-size: 0.85rem;

  transition: all .25s ease;

}



.ov-socials a:hover {

  border-color: var(--accent);

  color: var(--accent);

}



.ov-socials a.ov-social-main {

  background: #fff;

  color: #000;

  border: none;

}



.ov-body {

  display: grid;

  grid-template-columns: minmax(240px, 380px) 1fr;

  gap: 3rem;

  margin-top: 3.5rem;

  position: relative;

  z-index: 2;

}



/* left portrait */

.ov-portrait {

  position: relative;

  border-radius: 1.2rem;

  overflow: hidden;

  aspect-ratio: 7 / 11;

  /* background: radial-gradient(circle at 50% 30%, #ff9d4d 0%, #ff5c2e 35%, #4a1608 75%, #0a0402 100%); */

}



.ov-portrait img {

  width: 100%;

  height: 100%;

  object-fit: cover;

  mix-blend-mode: luminosity;

  opacity: 0.9;

}



.ov-portrait::after {

  content: "";

  position: absolute;

  inset: 0;

  box-shadow: inset 0 -3rem 4rem rgba(0, 0, 0, 0.55);

}



/* right column */

.ov-right {

  display: flex;

  flex-direction: column;

  align-items: flex-end;

}



.ov-text {

  font-family: 'Manrope', sans-serif;

  font-size: clamp(1.1rem, 1.4rem, 1.5rem);

  line-height: 1.55;

  text-align: right;

  color: rgba(255, 255, 255, 0.55);

  max-width: 30rem;

}

.ov-subtext {

  font-family: 'Manrope', sans-serif;

  font-size: 0.9rem;

  line-height: 1.65;

  text-align: right;

  color: rgba(255, 255, 255, 0.985);

  max-width: 35rem;

  margin-top: 1rem;

}



.ov-text strong {

  color: #fff;

  font-weight: 700;

}



.ov-stats {

  display: flex;

  justify-content: center;

  align-items: center;

  gap: 3.5rem;

  margin-top: 2.5rem;

  flex-wrap: wrap;

}



.ov-stat {

  display: flex;

  align-items: center;

  gap: 0.8rem;

}



.ov-stat-icon {

  width: 2.2rem;

  height: 2.2rem;

  border-radius: 50%;

  border: 1px solid rgba(255, 255, 255, 0.25);

  display: flex;

  align-items: center;

  justify-content: center;

  color: rgba(255, 255, 255, 0.8);

  font-size: 1rem;

  flex-shrink: 0;

}



.ov-stat-text {

  font-family: 'Archivo', sans-serif;

  font-size: 0.92rem;

  line-height: 1.2;

  color: rgba(255, 255, 255, 0.55);

}



.ov-stat-text b {

  display: block;

  color: #fff;

  font-weight: 700;

}



.ov-avatars {

  display: flex;

  align-items: center;

}



.ov-avatars img {

  width: 2.4rem;

  height: 2.4rem;

  border-radius: 50%;

  border: 2px solid #000;

  object-fit: cover;

  margin-left: -0.7rem;

}



.ov-avatars img:first-child {

  margin-left: 0;

}



.ov-avatars .ov-avatar-count {

  width: 2.4rem;

  height: 2.4rem;

  border-radius: 50%;

  background: var(--accent);

  color: #000;

  font-family: 'Archivo', sans-serif;

  font-weight: 800;

  font-size: 0.75rem;

  display: flex;

  align-items: center;

  justify-content: center;

  margin-left: -0.7rem;

  border: 2px solid #000;

}



.ov-ah {

  color: rgb(200, 200, 200);

  margin-left: 1rem;

  font-size: 0.8rem;

  font-family: Archivo;

}



/* two cards row */

.ov-cards {

  display: grid;

  grid-template-columns: 1.15fr 1fr;

  gap: 1.2rem;

  margin-top: 3rem;

  width: 45vw;

}



.ov-card {

  border-radius: 1.2rem;

  padding: 1.6rem;

  position: relative;

  overflow: hidden;

  min-height: 15rem;

  display: flex;

  flex-direction: column;

  justify-content: space-between;

}



.ov-card-dark {

  background: linear-gradient(160deg, #1c1c1c, #0c0c0c);

  border: 1px solid rgba(255, 255, 255, 0.08);

}



.ov-card-number {

  font-family: 'Manrope', sans-serif;

  font-weight: 800;

  font-size: 2.6rem;

  color: #fff;

  line-height: 1;

}



.ov-card-label {

  font-family: 'Archivo', sans-serif;

  font-size: 0.7rem;

  color: rgba(255, 255, 255, 0.45);

  margin-top: 0.3rem;

  letter-spacing: 0.04rem;

}



.ov-logo-grid {

  display: grid;

  grid-template-columns: repeat(3, 1fr);

  gap: 0.6rem 1rem;

  margin: 1.2rem 0;

}



.ov-logo-grid span {

  font-family: 'Archivo', sans-serif;

  font-size: 0.72rem;

  color: rgba(255, 255, 255, 0.55);

  display: flex;

  align-items: center;

  gap: 0.35rem;

}



.ov-book-btn {

  border: none;

  width: 100%;

  padding: 0.85rem 1rem;

  border-radius: 2rem;

  background: linear-gradient(90deg, var(--accent-2), var(--accent));

  color: #000;

  font-family: 'Archivo', sans-serif;

  font-weight: 700;

  font-size: 0.78rem;

  letter-spacing: 0.06rem;

  text-transform: uppercase;

  cursor: pointer;

}



.ov-card-fact {

  background:

    linear-gradient(180deg, rgba(120, 0, 0, 0.55) 0%, rgba(40, 0, 0, 0.75) 55%, rgba(20, 0, 0, 0.92) 100%),

    #1a0000;

}



.ov-card-fact img {

  position: absolute;

  inset: 0;

  width: 100%;

  height: 100%;

  object-fit: cover;

  mix-blend-mode: luminosity;

  opacity: 0.55;

  z-index: 0;

}



.ov-card-fact-top {

  display: flex;

  justify-content: space-between;

  align-items: flex-start;

  position: relative;

  z-index: 1;

}



.ov-card-fact-top span:first-child {

  font-family: 'Archivo', sans-serif;

  font-weight: 700;

  font-size: 0.78rem;

  color: #fff;

}



.ov-card-fact-top span:last-child {

  font-family: 'Archivo', sans-serif;

  font-size: 0.65rem;

  color: rgba(255, 255, 255, 0.6);

}



.ov-card-fact-bottom {

  position: relative;

  z-index: 1;

}



.ov-card-fact-bottom .ov-card-number {

  color: #fff;

}



.ov-card-fact-bottom .ov-card-label {

  color: rgba(255, 255, 255, 0.7);

  max-width: 14rem;

}



/* subtle grid overlay behind the section */

.overview::after {

  content: "";

  position: absolute;

  inset: 0;

  background-image:

    linear-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px),

    linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px);

  background-size: 48px 48px;

  -webkit-mask-image: radial-gradient(circle at 50% 40%, #000 0%, transparent 75%);

          mask-image: radial-gradient(circle at 50% 40%, #000 0%, transparent 75%);

  pointer-events: none;

  z-index: 0;

}



/* scroll-reveal base state */

.reveal-up {

  opacity: 0;

  transform: translateY(28px);

  transition: opacity 0.8s cubic-bezier(0.16,1,0.3,1), transform 0.8s cubic-bezier(0.16,1,0.3,1);

}



.reveal-up.in-view {

  opacity: 1;

  transform: translateY(0);

}



/* stagger children of ov-right when revealed */

.ov-right .reveal-up:nth-child(1) { transition-delay: 0.05s; }

.ov-right .reveal-up:nth-child(2) { transition-delay: 0.2s; }

.ov-right .reveal-up:nth-child(3) { transition-delay: 0.35s; }



/* portrait: gentle zoom-in on reveal, subtle hover tilt */

.ov-portrait img {

  transition: transform 1.2s cubic-bezier(0.16,1,0.3,1);

  transform: scale(1.08);

}

.ov-portrait.in-view img {

  transform: scale(1);

}

.ov-portrait:hover img {

  transform: scale(1.04);

}



/* card hover lift */

.ov-card {

  transition: transform 0.4s cubic-bezier(0.16,1,0.3,1), box-shadow 0.4s ease, border-color 0.4s ease;

}

.ov-card-dark:hover {

  transform: translateY(-6px);

  border-color: rgba(255, 119, 78, 0.4);

  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.5);

}

.ov-card-fact:hover {

  transform: translateY(-6px);

  box-shadow: 0 20px 45px rgba(120, 0, 0, 0.35);

}



/* book button micro-interaction */

.ov-book-btn {

  transition: transform 0.25s ease, box-shadow 0.25s ease;

}

.ov-book-btn:hover {

  transform: scale(1.03);

  box-shadow: 0 8px 20px rgba(255, 119, 78, 0.35);

}



/* avatar stack pop-in stagger, reuses in-view pattern */

.ov-avatars img,

.ov-avatars .ov-avatar-count {

  opacity: 0;

  transform: scale(0.6);

  transition: opacity 0.5s ease, transform 0.5s cubic-bezier(0.34,1.56,0.64,1);

}

.ov-stats.in-view .ov-avatars img:nth-child(1) { transition-delay: 0.1s; }

.ov-stats.in-view .ov-avatars img:nth-child(2) { transition-delay: 0.2s; }

.ov-stats.in-view .ov-avatars img:nth-child(3) { transition-delay: 0.3s; }

.ov-stats.in-view .ov-avatar-count { transition-delay: 0.4s; }

.ov-stats.in-view .ov-avatars img,

.ov-stats.in-view .ov-avatars .ov-avatar-count {

  opacity: 1;

  transform: scale(1);

}



@media (max-width: 900px) {

  .overview {

    padding: 4rem 1.5rem;

  }



  .ov-top {

    flex-direction: column;

    gap: 1.5rem;

  }



  .ov-body {

    grid-template-columns: 1fr;

  }



  .ov-portrait {

    max-width: 20rem;

    margin: 0 auto;

  }



  .ov-cards {

    grid-template-columns: 1fr;

  }

}



/* market */

:root {

  --accent: #ffb135;

  --accent-2: #ff774e;

}



/* ============ PH MAP SECTION ============ */

.phmap {

  width: 100%;

  background: #000;

  padding: 8rem 6vw 7rem;

  box-sizing: border-box;

  position: relative;

  overflow: hidden;

}



.phmap-glow {

  position: absolute;

  left: 50%;

  top: 10rem;

  transform: translateX(-50%);

  width: 60rem;

  height: 60rem;

  background: radial-gradient(circle, rgba(255, 177, 53, 0.10) 0%, rgba(255, 119, 78, 0.04) 45%, transparent 72%);

  pointer-events: none;

  z-index: 0;

}



.phmap-top {

  position: relative;

  z-index: 2;

  max-width: 40rem;

  margin: 0 auto;

  text-align: center;

}



.phmap-eyebrow {

  display: flex;

  align-items: center;

  justify-content: center;

  gap: 0.5rem;

  color: var(--accent);

  font-family: 'Archivo', sans-serif;

  font-size: 0.75rem;

  font-weight: 700;

  letter-spacing: 0.08rem;

  text-transform: uppercase;

  margin-bottom: 1rem;

}



.phmap-eyebrow::before {

  content: "";

  width: 6px;

  height: 6px;

  border-radius: 50%;

  background: var(--accent);

  box-shadow: 0 0 8px var(--accent);

}



.phmap-heading {

  font-family: 'Manrope', sans-serif;

  font-weight: 500;

  font-size: clamp(2.2rem, 4vw, 3.4rem);

  line-height: 1.1;

  margin: 0;

  color: #fff;

}



.phmap-heading span {

  color: rgba(255, 255, 255, 0.35);

  font-weight: 900;

}



.phmap-sub {

  font-family: 'Manrope', sans-serif;

  font-size: 1rem;

  line-height: 1.6;

  color: rgba(255, 255, 255, 0.5);

  margin-top: 1.2rem;

}



/* ---- map + callouts ---- */

.phmap-wrap {

  position: relative;

  z-index: 2;

  width: 100%;

  max-width: 74rem;

  height: 25rem;

  margin: 5rem auto 0;

}



.phmap-img-holder {

  position: absolute;

  left: 50%;

  top: 0;

  transform: translateX(-50%);

  width: 55rem;

  height: 39rem;

}



.phmap-img-holder img {

  width: 100%;

  height: 100%;

  object-fit: contain;

  object-position: top center;

  opacity: 0;

  filter: drop-shadow(0 0 30px rgba(255, 177, 53, 0.15));

  transition: opacity 1.1s cubic-bezier(0.16, 1, 0.3, 1);

}



.phmap-img-holder img.in-view {

  opacity: 0.3;

}



.phmap-pin {

  position: absolute;

  width: 10px;

  height: 10px;

  border-radius: 50%;

  background: var(--accent);

  box-shadow: 0 0 12px 3px var(--accent), 0 0 24px 6px rgba(255, 177, 53, 0.5);

  transform: translate(-50%, -50%) scale(0);

  opacity: 0;

  transition: opacity 0.5s ease, transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);

}



.phmap-pin.in-view {

  opacity: 1;

  transform: translate(-50%, -50%) scale(1);

}



.phmap-pin::before {

  content: "";

  position: absolute;

  inset: -6px;

  border-radius: 50%;

  border: 1px solid rgba(255, 177, 53, 0.5);

  animation: phmap-ping 2.4s ease-out infinite;

}



@keyframes phmap-ping {

  0% {

    transform: scale(0.6);

    opacity: 0.8;

  }



  100% {

    transform: scale(2.2);

    opacity: 0;

  }

}



.phmap-callout {

  position: absolute;

  top: calc(var(--y) * 1%);

  transform: translateY(-50%);

  width: 13.5rem;

  opacity: 0;

  transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1), transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);

}



.phmap-callout.in-view {

  opacity: 1;

}



.phmap-callout.left {

  right: calc(50% + 12rem + 2rem);

  text-align: right;

}



.phmap-callout.left:not(.in-view) {

  transform: translateY(-50%) translateX(-14px);

}



.phmap-callout.left.in-view {

  transform: translateY(-50%) translateX(0);

}



.phmap-callout.left-top.in-view {

transform: translateY(-50%) translateX(-4rem);

}



.phmap-callout.left::after {

  content: "";

  position: absolute;

  top: 50%;

  right: -2rem;

  width: 2rem;

  height: 1px;

  background: linear-gradient(to right, transparent, rgba(255, 177, 53, 0.7));

}



.phmap-callout.right {

  left: calc(50% + 12rem + 2rem);

  text-align: left;

}



.phmap-callout.right:not(.in-view) {

  transform: translateY(-50%) translateX(14px);

}



.phmap-callout.right.in-view {

  transform: translateY(-50%) translateX(0);

}



.phmap-callout.right::before {

  content: "";

  position: absolute;

  top: 50%;

  left: -2rem;

  width: 2rem;

  height: 1px;

  background: linear-gradient(to left, transparent, rgba(255, 177, 53, 0.7));

}



.phmap-callout-value {

  font-family: 'Archivo', sans-serif;

  font-weight: 800;

  font-size: 1.35rem;

  color: #fff;

  line-height: 1;

}



.phmap-callout-label {

  font-family: 'Archivo', sans-serif;

  font-size: 0.68rem;

  letter-spacing: 0.03rem;

  text-transform: uppercase;

  color: rgba(255, 255, 255, 0.45);

  margin-top: 0.4rem;

  line-height: 1.3;

}



/* hero overlay near Manila */

.phmap-hero {

  position: absolute;

  left: 50%;

  top: 20%;

  transform: translate(-62%, -50%) scale(0.9);

  z-index: 5;

  background: linear-gradient(160deg, var(--accent-2), var(--accent));

  border-radius: 1.1rem;

  padding: 1.1rem 1.5rem;

  box-shadow: 0 0 4rem rgba(255, 150, 60, 0.4);

  opacity: 0;

  transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);

  white-space: nowrap;

}



.phmap-hero.in-view {

  opacity: 1;

  transform: translate(-62%, -50%) scale(1);

}



.phmap-hero-value {

  font-family: 'Manrope', sans-serif;

  font-weight: 800;

  font-size: 1.9rem;

  color: #000;

  line-height: 1;

}



.phmap-hero-label {

  font-family: 'Archivo', sans-serif;

  font-size: 0.68rem;

  letter-spacing: 0.03rem;

  text-transform: uppercase;

  color: rgba(0, 0, 0, 0.6);

  margin-top: 0.35rem;

}



.phmap-hero-tag {

  position: absolute;

  top: -1.6rem;

  left: 1.5rem;

  font-family: 'Archivo', sans-serif;

  font-size: 0.62rem;

  letter-spacing: 0.06rem;

  text-transform: uppercase;

  color: rgba(255, 255, 255, 0.4);

}





.phmap-grid {

  position: relative;

  z-index: 2;

  display: grid;

  grid-template-columns: repeat(3, 1fr);

  gap: 1.2rem;

  margin-top: 5rem;

  max-width: 74rem;

  margin-left: auto;

  margin-right: auto;

}



.phmap-card {

  background: linear-gradient(160deg, #1c1c1c, #0c0c0c);

  border: 2px solid rgba(255, 137, 52, 0.438);

  border-radius: 1.2rem;

  padding: 1.6rem;

  opacity: 0;

  transform: translateY(20px);

  transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1), transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);

}



.phmap-card.in-view {

  opacity: 1;

  transform: translateY(0);

}



.phmap-card-number {

  font-family: 'Manrope', sans-serif;

  font-weight: 900;

  font-size: 1.5rem;

  color: #fff;

  line-height: 1;

}



.phmap-card-label {

  font-family: 'Archivo', sans-serif;

  font-size: 0.7rem;

  letter-spacing: 0.04rem;

  text-transform: uppercase;

  color: rgba(255, 255, 255, 0.764);

  margin-top: 0.5rem;

}



@media (max-width:960px) {

  .phmap {

    padding: 5rem 6vw;

  }



  .phmap-wrap {

    height: auto;

    display: flex;

    flex-direction: column;

    align-items: center;

  }



  .phmap-img-holder {

    position: static;

    transform: none;

    width: 16rem;

    height: 25rem;

    margin-bottom: 2.5rem;

  }



  .phmap-pin {

    display: none;

  }



  .phmap-hero {

    position: static;

    transform: none !important;

    margin-bottom: 2rem;

    display: inline-block;

  }



  .phmap-callout {

    position: static;

    transform: none !important;

    text-align: left !important;

    width: 100%;

    max-width: 20rem;

    margin: 0 auto 1.2rem;

    display: flex;

    align-items: center;

    gap: 0.8rem;

  }



  .phmap-callout::after,

  .phmap-callout::before {

    display: none;

  }



  .phmap-callout-dot {

    width: 0.6rem;

    height: 0.6rem;

    border-radius: 50%;

    background: var(--accent);

    box-shadow: 0 0 10px var(--accent);

    flex-shrink: 0;

  }



  .phmap-grid {

    grid-template-columns: 1fr;

    margin-top: 3rem;

  }

}



/* ============ THEMES SECTION ============ */

.themes {

  width: 100%;

  background: #000;

  padding: 8rem 6vw 7rem;

  box-sizing: border-box;

  position: relative;

  overflow: hidden;

}



/* THEMES */

.themes-glow {

  animation: glowPulseA 10s ease-in-out infinite;

}

.themes-glow-2 {

  position: absolute;

  right: -10%;

  bottom: 0%;

  width: 40rem;

  height: 40rem;

  background: radial-gradient(circle, rgba(255, 119, 78, 0.36) 0%, transparent 70%);

  pointer-events: none;

  z-index: 0;

  animation: glowPulseB 12s ease-in-out infinite;

}









/* shared keyframes */

@keyframes glowPulseA {

  0%, 100% { opacity: 0.7; transform: translateX(-50%) scale(1); }

  50%      { opacity: 1;   transform: translateX(-50%) scale(1.1); }

}

@keyframes glowPulseB {

  0%, 100% { opacity: 0.4; transform: translate(0, 0) scale(1); }

  50%      { opacity: 0.85; transform: translate(-25px, -20px) scale(1.15); }

}

@keyframes glowPulseC {

  0%, 100% { opacity: 0.6; transform: scale(1); }

  50%      { opacity: 1;   transform: scale(1.1); }

}

@keyframes glowPulseD {

  0%, 100% { opacity: 0.4; transform: translate(0, 0) scale(1); }

  50%      { opacity: 0.8; transform: translate(30px, -30px) scale(1.1); }

}



.themes-top {

  position: relative;

  z-index: 2;

  max-width: 44rem;

  margin: 0 auto;

  text-align: center;

}



.themes-eyebrow {

  display: flex;

  align-items: center;

  justify-content: center;

  gap: 0.5rem;

  color: var(--accent);

  font-family: 'Archivo', sans-serif;

  font-size: 0.75rem;

  font-weight: 700;

  letter-spacing: 0.08rem;

  text-transform: uppercase;

  margin-bottom: 1rem;

}



.themes-eyebrow::before {

  content: "";

  width: 6px;

  height: 6px;

  border-radius: 50%;

  background: var(--accent);

  box-shadow: 0 0 8px var(--accent);

}



.themes-heading {

  font-family: 'Manrope', sans-serif;

  font-weight: 500;

  font-size: clamp(2.2rem, 4vw, 3.4rem);

  line-height: 1.15;

  margin: 0;

  color: #fff;

}



.themes-heading span {

  color: rgba(255, 255, 255, 0.35);

  font-weight: 900;

}



.themes-sub {

  font-family: 'Manrope', sans-serif;

  font-size: 1rem;

  line-height: 1.6;

  color: rgba(255, 255, 255, 0.763);

  margin-top: 1.2rem;

}



.themes-grid {

  position: relative;

  z-index: 2;

  display: grid;

  grid-template-columns: repeat(5, 1fr);

  margin-top: 4rem;

  gap: 1rem;

  max-width: 78rem;

  margin-left: auto;

  margin-right: auto;

}



.theme-card {

  background: linear-gradient(160deg, #1c1c1c, #0c0c0c);

  /* border:1px solid rgba(245, 175, 69, 0.882);  */

  border-radius: 1rem;

  padding: 1.6rem 1.1rem;

  display: flex;

  flex-direction: column;

  align-items: center;

  justify-content: center;

  gap: 0.9rem;

  text-align: center;

  min-height: 9.5rem;



  opacity: 0;

  transform: translateY(16px);

  transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1),

    transform 0.6s cubic-bezier(0.16, 1, 0.3, 1),

    border-color 0.25s ease,

    background 0.25s ease;

}



.theme-card.in-view {

  opacity: 1;

  transform: translateY(0);

}



.theme-card:hover {

  border-color: var(--accent);

  background: linear-gradient(160deg, #221a10, #0c0c0c);

}



.theme-icon {

  width: 3.6rem;

  height: 3.6rem;

  border-radius: 50%;

  border: 1px solid rgba(255, 255, 255, 0.719);

  display: flex;

  align-items: center;

  justify-content: center;

  color: rgba(255, 255, 255, 0.75);

  flex-shrink: 0;

  transition: color 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;

  color: var(--accent);

  border-color: var(--accent);

  box-shadow: 0 0 12px rgba(255, 177, 53, 0.3);

}



.theme-icon svg {

  width: 1.8rem;

  height: 1.5rem;

}



/* .theme-card:hover .theme-icon{

  color: var(--accent);

  border-color: var(--accent);

  box-shadow: 0 0 12px rgba(255,177,53,0.3);

} */



.theme-name {

  font-family: 'Archivo', sans-serif;

  font-size: 0.74rem;

  font-weight: 600;

  letter-spacing: 0.01rem;

  color: rgba(255, 255, 255, 0.885);

  line-height: 1.35;

}



@media (max-width:1200px) {

  .themes-grid {

    grid-template-columns: repeat(4, 1fr);

  }

}



@media (max-width:860px) {

  .themes {

    padding: 5rem 6vw;

  }



  .themes-grid {

    grid-template-columns: repeat(2, 1fr);

  }

}



@media (max-width:480px) {

  .themes-grid {

    grid-template-columns: 1fr;

  }

}



/* ============ ATTENDEE BADGE SECTION ============ */

.attendee-badge {

  width: 100%;

  background: #000;

  padding: 8rem 6vw 7rem;

  box-sizing: border-box;

  position: relative;

  overflow: hidden;

}



.badge-glow {

  animation: glowPulseC 11s ease-in-out infinite;

}

.badge-glow-2 {

  position: absolute;

  left: -8%;

  bottom: 0;

  width: 35rem;

  height: 35rem;

  background: radial-gradient(circle, rgba(255, 178, 53, 0.568) 0%, transparent 70%);

  pointer-events: none;

  z-index: 0;

  animation: glowPulseD 13s ease-in-out infinite;

}



.badge-top {

  position: relative;

  z-index: 2;

  max-width: 42rem;

  margin: 0 auto;

  text-align: center;

}



.badge-eyebrow {

  display: flex;

  align-items: center;

  justify-content: center;

  gap: 0.5rem;

  color: var(--accent);

  font-family: 'Archivo', sans-serif;

  font-size: 0.75rem;

  font-weight: 700;

  letter-spacing: 0.08rem;

  text-transform: uppercase;

  margin-bottom: 1rem;

}



.badge-eyebrow::before {

  content: "";

  width: 6px;

  height: 6px;

  border-radius: 50%;

  background: var(--accent);

  box-shadow: 0 0 8px var(--accent);

}



.badge-heading {

  font-family: 'Manrope', sans-serif;

  font-weight: 500;

  font-size: clamp(2.2rem, 4vw, 3.4rem);

  line-height: 1.1;

  margin: 0;

  color: #fff;

}



.badge-heading span {

  color: rgba(255, 255, 255, 0.35);

  font-weight: 900;

}



.badge-sub {

  font-family: 'Manrope', sans-serif;

  font-size: 1rem;

  line-height: 1.6;

  color: rgba(255, 255, 255, 0.5);

  margin-top: 1.2rem;

}



/* ---- Card ---- */

.badge-card {

  position: relative;

  z-index: 2;

  max-width: 60rem;

  margin: 4.5rem auto 0;

  display: flex;

  border-radius: 1.6rem;

  overflow: hidden;

  box-shadow: 0 2rem 6rem rgba(0, 0, 0, 0.55), 0 0 0 1px rgba(255, 255, 255, 0.06);

  opacity: 0;

  transform: translateY(24px);

  transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);

}



.badge-card.in-view {

  opacity: 1;

  transform: translateY(0);

}



.badge-main {

  flex: 1 1 68%;

  background: linear-gradient(155deg, #1c1c1c 0%, #0c0c0c 70%);

  padding: 2.4rem 2.6rem;

  position: relative;

}



.badge-main-top {

  display: flex;

  justify-content: space-between;

  align-items: center;

}



.badge-brand {

  display: flex;

  align-items: center;

  gap: 0.5rem;

  font-family: 'Archivo', sans-serif;

  font-weight: 800;

  font-size: 0.78rem;

  letter-spacing: 0.08rem;

  color: #fff;

}



.badge-brand-dot {

  width: 7px;

  height: 7px;

  border-radius: 50%;

  background: var(--accent);

  box-shadow: 0 0 8px var(--accent);

}



.badge-tag {

  font-family: 'Archivo', sans-serif;

  font-size: 0.65rem;

  letter-spacing: 0.05rem;

  text-transform: uppercase;

  color: rgba(255, 255, 255, 0.4);

  border: 1px solid rgba(255, 255, 255, 0.15);

  padding: 0.35rem 0.8rem;

  border-radius: 2rem;

}



.badge-hero-stat {

  margin-top: 2.2rem;

  display: flex;

  align-items: center;

  gap: 1.6rem;

}



.badge-hero-value {

  font-family: 'Manrope', sans-serif;

  font-weight: 800;

  font-size: 5rem;

  line-height: 1;

  color: #fff;

  background: linear-gradient(160deg, #fff, #ffb135);

  -webkit-background-clip: text;

  background-clip: text;

  -webkit-text-fill-color: transparent;

}



.badge-hero-value span {

  font-size: 2.2rem;

}



.badge-hero-label {

  font-family: 'Archivo', sans-serif;

  font-size: 0.78rem;

  letter-spacing: 0.02rem;

  text-transform: uppercase;

  color: rgba(255, 255, 255, 0.5);

  line-height: 1.5;

  max-width: 11rem;

}



.badge-rows {

  margin-top: 2.4rem;

  display: flex;

  flex-direction: column;

  gap: 0.9rem;

}



.badge-row {

  display: grid;

  grid-template-columns: 9rem 1fr 2.5rem;

  align-items: center;

  gap: 1rem;

}



.badge-row-label {

  font-family: 'Archivo', sans-serif;

  font-size: 0.72rem;

  color: rgba(255, 255, 255, 0.55);

  white-space: nowrap;

}



.badge-row-bar {

  height: 6px;

  border-radius: 1rem;

  background: rgba(255, 255, 255, 0.06);

  overflow: hidden;

}



.badge-row-fill {

  height: 100%;

  border-radius: 1rem;

}



.badge-row-value {

  font-family: 'Archivo', sans-serif;

  font-weight: 700;

  font-size: 0.78rem;

  color: #fff;

  text-align: right;

}



.badge-barcode {

  margin-top: 2.4rem;

  padding-top: 1.4rem;

  border-top: 1px solid rgba(255, 255, 255, 0.08);

}



.barcode-bars {

  height: 2.2rem;

  background-image: repeating-linear-gradient(90deg,

      rgba(255, 255, 255, 0.55) 0px, rgba(255, 255, 255, 0.55) 2px,

      transparent 2px, transparent 5px,

      rgba(255, 255, 255, 0.3) 5px, rgba(255, 255, 255, 0.3) 6px,

      transparent 6px, transparent 10px,

      rgba(255, 255, 255, 0.55) 10px, rgba(255, 255, 255, 0.55) 13px,

      transparent 13px, transparent 16px);

  opacity: 0.5;

}



.barcode-id {

  margin-top: 0.6rem;

  font-family: 'Archivo', sans-serif;

  font-size: 0.62rem;

  letter-spacing: 0.05rem;

  text-transform: uppercase;

  color: rgba(255, 255, 255, 0.35);

}



/* ---- Perforation ---- */

.badge-perforation {

  position: relative;

  flex: 0 0 0;

  width: 0;

  border-left: 2px dashed rgba(255, 255, 255, 0.18);

}



.badge-notch {

  position: absolute;

  left: 50%;

  transform: translateX(-50%);

  width: 1.8rem;

  height: 1.8rem;

  border-radius: 50%;

  background: #000;

  z-index: 3;

}



.badge-notch.top {

  top: -0.9rem;

}



.badge-notch.bottom {

  bottom: -0.9rem;

}



/* ---- Stub ---- */

.badge-stub {

  flex: 1 1 32%;

  background: linear-gradient(200deg, #201202 0%, #0c0700 75%);

  padding: 2.4rem 2rem;

  display: flex;

  flex-direction: column;

  align-items: center;

  text-align: center;

}



.badge-stub-label {

  font-family: 'Archivo', sans-serif;

  font-size: 0.68rem;

  letter-spacing: 0.08rem;

  text-transform: uppercase;

  color: var(--accent);

  font-weight: 700;

}



.badge-qr {

  margin-top: 1.4rem;

  width: 6.4rem;

  height: 6.4rem;

  background: #fff;

  border-radius: 0.6rem;

  padding: 0.5rem;

  box-sizing: border-box;

}



.qr-grid {

  width: 100%;

  height: 100%;

  display: grid;

  grid-template-columns: repeat(7, 1fr);

  grid-template-rows: repeat(7, 1fr);

}



.qr-grid span {

  background: #000;

}



.qr-grid img {

  width: 5.4rem;

}



.badge-tags {

  margin-top: 1.6rem;

  display: flex;

  flex-wrap: wrap;

  justify-content: center;

  gap: 0.5rem;

}



.badge-tag-pill {

  font-family: 'Archivo', sans-serif;

  font-size: 0.62rem;

  letter-spacing: 0.02rem;

  text-transform: uppercase;

  color: rgba(255, 255, 255, 0.7);

  border: 1px solid rgba(255, 255, 255, 0.15);

  background: rgba(255, 255, 255, 0.04);

  padding: 0.4rem 0.7rem;

  border-radius: 1rem;

  white-space: nowrap;

}



.badge-stub-foot {

  margin-top: auto;

  padding-top: 1.6rem;

  font-family: 'Archivo', sans-serif;

  font-size: 0.6rem;

  letter-spacing: 0.08rem;

  color: rgba(255, 255, 255, 0.35);

}



@media (max-width:860px) {

  .attendee-badge {

    padding: 5rem 6vw;

  }



  .badge-card {

    flex-direction: column;

  }



  .badge-perforation {

    width: 100%;

    height: 0;

    border-left: none;

    border-top: 2px dashed rgba(255, 255, 255, 0.18);

  }



  .badge-notch {

    top: 50%;

    left: auto;

    transform: translateY(-50%);

  }



  .badge-notch.top {

    left: -0.9rem;

    top: 50%;

  }



  .badge-notch.bottom {

    right: -0.9rem;

    left: auto;

    top: 50%;

  }



  .badge-hero-value {

    font-size: 3.6rem;

  }

}



/* ============ AUDIENCE PROFILE (inside attendee-badge) ============ */

.profile-block {

  position: relative;

  z-index: 2;

  max-width: 78rem;

  margin: 5rem auto 0;

}



.profile-label {

  font-family: 'Archivo', sans-serif;

  font-size: 0.72rem;

  font-weight: 700;

  letter-spacing: 0.08rem;

  text-transform: uppercase;

  color: rgba(255, 255, 255, 0.45);

  margin-bottom: 1.6rem;

  display: flex;

  align-items: center;

  gap: 0.5rem;

}



.profile-label::before {

  content: "";

  width: 6px;

  height: 6px;

  border-radius: 50%;

  background: var(--accent);

  box-shadow: 0 0 8px var(--accent);

}



.profile-grid {

  display: grid;

  grid-template-columns: repeat(6, 1fr);

  grid-auto-rows: 12rem;

  gap: 1.2rem;

}



.profile-card {

  grid-column: span 2;

  background: linear-gradient(160deg, #1c1c1c, #0c0c0c);

  border: 1px solid rgba(255, 255, 255, 0.08);

  border-radius: 1.3rem;

  padding: 1.8rem;

  display: flex;

  flex-direction: column;

  justify-content: space-between;

  position: relative;

  overflow: hidden;



  opacity: 0;

  transform: translateY(20px);

  transition: opacity 0.65s cubic-bezier(0.16, 1, 0.3, 1),

    transform 0.65s cubic-bezier(0.16, 1, 0.3, 1),

    border-color 0.3s ease;

}



.profile-card.in-view {

  opacity: 1;

  transform: translateY(0);

}



.profile-card:hover {

  border-color: rgba(255, 177, 53, 0.4);

}



/* offset "brick" placement, top row 3 / bottom row 2 centered in the gaps */

.profile-card[data-i="0"] {

  grid-column: 1 / 3;

  grid-row: 1;

}



.profile-card[data-i="1"] {

  grid-column: 3 / 5;

  grid-row: 1;

}



.profile-card[data-i="2"] {

  grid-column: 5 / 7;

  grid-row: 1;

}



.profile-card[data-i="3"] {

  grid-column: 2 / 4;

  grid-row: 2;

}



.profile-card[data-i="4"] {

  grid-column: 4 / 6;

  grid-row: 2;

}



.profile-stat {

  font-family: 'Manrope', sans-serif;

  font-weight: 800;

  font-size: 2.8rem;

  line-height: 1;

  color: #fff;

}



.profile-stat span {

  font-size: 1.4rem;

  color: var(--accent);

  font-weight: 800;

  margin-left: 0.1rem;

}



.profile-desc {

  font-family: 'Archivo', sans-serif;

  font-size: 0.88rem;

  font-weight: 500;

  line-height: 1.5;

  color: rgba(255, 255, 255, 0.6);

  max-width: 16rem;

}



/* featured accent card */

.profile-card--accent {

  background: linear-gradient(155deg, var(--accent-2), var(--accent));

  border: none;

}



.profile-card--accent .profile-stat {

  color: #1a0d00;

}



.profile-card--accent .profile-stat span {

  color: #1a0d00;

  opacity: 0.7;

}



.profile-card--accent .profile-desc {

  color: rgba(20, 10, 0, 0.75);

  font-weight: 600;

}



.profile-card--accent::after {

  content: "";

  position: absolute;

  top: -40%;

  right: -20%;

  width: 60%;

  height: 80%;

  background: radial-gradient(circle, rgba(255, 255, 255, 0.35) 0%, transparent 70%);

  pointer-events: none;

}



@media (max-width:900px) {

  .profile-grid {

    grid-template-columns: repeat(2, 1fr);

    grid-auto-rows: auto;

  }



  .profile-card[data-i] {

    grid-column: span 1 !important;

    grid-row: auto !important;

  }

}



@media (max-width:560px) {

  .profile-grid {

    grid-template-columns: 1fr;

  }

}



/* ============ SUMMIT HIGHLIGHTS SECTION ============ */

.highlights {

  width: 100%;

  background: #000;

  padding: 8rem 6vw 7rem;

  box-sizing: border-box;

  position: relative;

  overflow: hidden;

}



.highlights-glow {

  position: absolute;

  left: 50%;

  top: 0;

  transform: translateX(-50%);

  width: 60rem;

  height: 40rem;

  background: radial-gradient(circle, rgba(255, 177, 53, 0.09) 0%, rgba(255, 119, 78, 0.03) 45%, transparent 72%);

  pointer-events: none;

  z-index: 0;

}



.highlights-top {

  position: relative;

  z-index: 2;

  max-width: 44rem;

  margin: 0 auto;

  text-align: center;

}



.highlights-eyebrow {

  display: flex;

  align-items: center;

  justify-content: center;

  gap: 0.5rem;

  color: var(--accent);

  font-family: 'Archivo', sans-serif;

  font-size: 0.75rem;

  font-weight: 700;

  letter-spacing: 0.08rem;

  text-transform: uppercase;

  margin-bottom: 1rem;

}



.highlights-eyebrow::before {

  content: "";

  width: 6px;

  height: 6px;

  border-radius: 50%;

  background: var(--accent);

  box-shadow: 0 0 8px var(--accent);

}



.highlights-heading {

  font-family: 'Manrope', sans-serif;

  font-weight: 500;

  font-size: clamp(2.2rem, 4vw, 3.4rem);

  line-height: 1.15;

  margin: 0;

  color: #fff;

}



.highlights-heading span {

  color: rgba(255, 255, 255, 0.35);

  font-weight: 900;

}



.highlights-sub {

  font-family: 'Manrope', sans-serif;

  font-size: 1rem;

  line-height: 1.6;

  color: rgba(255, 255, 255, 0.5);

  margin-top: 1.2rem;

}



/* flow layout */

.highlights-flow {

  position: relative;

  z-index: 2;

  max-width: 70rem;

  margin: 5rem auto 0;

  display: grid;

  grid-template-columns: repeat(3, 1fr);

  gap: 2rem;

}



.highlights-line {

  position: absolute;

  top: 2.75rem;

  left: calc(100% / 6);

  right: calc(100% / 6);

  height: 1px;

  background: repeating-linear-gradient(90deg, rgba(255, 177, 53, 0.4) 0 8px, transparent 8px 16px);

  z-index: 0;

}



.highlight-card {

  position: relative;

  z-index: 1;

  display: flex;

  flex-direction: column;

  align-items: center;

  text-align: center;

  padding: 2rem 1.6rem 2.2rem;

  border-radius: 1.3rem;

  border: 1px solid rgba(255, 255, 255, 0.08);

  background: linear-gradient(160deg, #1c1c1c, #0c0c0c);



  opacity: 0;

  transform: translateY(24px);

  transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1),

    transform 0.7s cubic-bezier(0.16, 1, 0.3, 1),

    border-color 0.3s ease;

}



.highlight-card.in-view {

  opacity: 1;

  transform: translateY(0);

}



.highlight-card:hover {

  border-color: rgba(255, 177, 53, 0.4);

}



/* middle card sits slightly elevated to emphasize hierarchy */

.highlight-card--accent {

  margin-top: -1.2rem;

  background: linear-gradient(155deg, var(--accent-2), var(--accent));

  border: none;

  box-shadow: 0 1.5rem 3rem rgba(255, 140, 50, 0.2);

}



.highlight-node {

  width: 5.6rem;

  height: 5.6rem;

  border-radius: 50%;

  background: #0c0c0c;

  border: 1px solid rgba(255, 177, 53, 0.35);

  display: flex;

  align-items: center;

  justify-content: center;

  margin-bottom: 1.4rem;

  flex-shrink: 0;

  transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);

}



.highlight-card:hover .highlight-node {

  transform: scale(1.08) rotate(-4deg);

}



.highlight-card--accent .highlight-node {

  background: #1a0d00;

  border-color: rgba(20, 10, 0, 0.4);

}



.highlight-icon {

  width: 2.5rem;

  height: 2.5rem;

  color: var(--accent);

  display: flex;

  align-items: center;

  justify-content: center;

}



.highlight-icon svg {

  width: 100%;

  height: 100%;

}



.highlight-card--accent .highlight-icon {

  color: var(--accent);

}



.highlight-step {

  font-family: 'Archivo', sans-serif;

  font-size: 0.68rem;

  font-weight: 700;

  letter-spacing: 0.08rem;

  text-transform: uppercase;

  color: rgba(255, 255, 255, 0.4);

  margin-bottom: 0.6rem;

}



.highlight-card--accent .highlight-step {

  color: rgba(20, 10, 0, 0.6);

}



.highlight-h {

  font-family: 'Manrope', sans-serif;

  font-weight: 700;

  font-size: 1.3rem;

  color: #fff;

  margin: 0 0 0.9rem;

}



.highlight-card--accent .highlight-h {

  color: #1a0d00;

}



.highlight-p {

  font-family: 'Archivo', sans-serif;

  font-size: 0.86rem;

  line-height: 1.65;

  color: rgba(255, 255, 255, 0.55);

  margin: 0;

  max-width: 19rem;

}



.highlight-card--accent .highlight-p {

  color: rgba(20, 10, 0, 0.75);

  font-weight: 500;

}



@media (max-width:900px) {

  .highlights-flow {

    grid-template-columns: 1fr;

    gap: 1.5rem;

  }



  .highlights-line {

    display: none;

  }



  .highlight-card--accent {

    margin-top: 0;

  }

}



/* ============ WHY EXHIBIT SECTION ============ */

.exhibit {

  width: 100%;

  background: #000;

  padding: 8rem 6vw 7rem;

  /* was: 8rem 0 7rem */

  box-sizing: border-box;

  position: relative;

  overflow: hidden;

}



.exhibit-glow {

  position: absolute;

  left: 50%;

  top: -5rem;

  transform: translateX(-50%);

  width: 65rem;

  height: 45rem;

  background: radial-gradient(circle, rgba(255, 177, 53, 0.09) 0%, rgba(255, 119, 78, 0.03) 45%, transparent 72%);

  pointer-events: none;

  z-index: 0;

}



.exhibit-top {

  position: relative;

  z-index: 2;

  max-width: 46rem;

  margin: 0 auto;

  text-align: center;

}



.exhibit-eyebrow {

  display: flex;

  align-items: center;

  justify-content: center;

  gap: 0.5rem;

  color: var(--accent);

  font-family: 'Archivo', sans-serif;

  font-size: 0.75rem;

  font-weight: 700;

  letter-spacing: 0.08rem;

  text-transform: uppercase;

  margin-bottom: 1rem;

}



.exhibit-eyebrow::before {

  content: "";

  width: 6px;

  height: 6px;

  border-radius: 50%;

  background: var(--accent);

  box-shadow: 0 0 8px var(--accent);

}



.exhibit-heading {

  font-family: 'Manrope', sans-serif;

  font-weight: 500;

  font-size: clamp(2.1rem, 3.8vw, 3.1rem);

  line-height: 1.2;

  margin: 0;

  color: #fff;

}



.exhibit-heading span {

  color: var(--accent);

  font-weight: 800;

}



.exhibit-sub {

  font-family: 'Manrope', sans-serif;

  font-size: 1rem;

  line-height: 1.6;

  color: rgba(255, 255, 255, 0.5);

  margin-top: 1.2rem;

}



/* feature strip */

.exhibit-features {

  position: relative;

  z-index: 2;

  max-width: 70rem;

  margin: 4rem auto 0;

  display: grid;

  grid-template-columns: repeat(4, 1fr);

  gap: 1rem;

}



.exhibit-feature {

  display: flex;

  flex-direction: column;

  align-items: center;

  text-align: center;

  gap: 0.9rem;

  padding: 1.6rem 1rem;

  border-radius: 1rem;

  border: 1px solid rgba(255, 255, 255, 0.07);

  background: rgba(255, 255, 255, 0.02);

  transition: border-color 0.3s ease, background 0.3s ease;

}



.exhibit-feature:hover {

  border-color: rgba(255, 177, 53, 0.4);

  background: rgba(255, 177, 53, 0.04);

}



.exhibit-feature-icon {

  width: 3rem;

  height: 3rem;

  border-radius: 50%;

  border: 1px solid rgba(255, 177, 53, 0.3);

  background: linear-gradient(160deg, rgba(255, 177, 53, 0.14), rgba(255, 119, 78, 0.05));

  display: flex;

  align-items: center;

  justify-content: center;

  color: var(--accent);

}



.exhibit-feature-icon svg {

  width: 1.35rem;

  height: 1.35rem;

}



.exhibit-feature-name {

  font-family: 'Archivo', sans-serif;

  font-size: 0.78rem;

  font-weight: 700;

  letter-spacing: 0.02rem;

  text-transform: uppercase;

  color: rgba(255, 255, 255, 0.75);

  line-height: 1.35;

}



/* carousel */

.exhibit-carousel-wrap {

  position: relative;

  z-index: 2;

  margin-top: 4.5rem;

  max-width: 70rem;

  margin-left: auto;

  margin-right: auto;

}



.exhibit-carousel {

  display: flex;

  gap: 1.4rem;

  overflow-x: auto;

  scroll-snap-type: x mandatory;

  padding: 0.5rem 0 1rem;

  /* was: 0.5rem 6vw 1rem — no more vw bleed */

  cursor: grab;

  scrollbar-width: none;

  -ms-overflow-style: none;

}



.exhibit-carousel::-webkit-scrollbar {

  display: none;

}



.exhibit-carousel.dragging {

  cursor: grabbing;

  scroll-snap-type: none;

}



.exhibit-card {

  flex: 0 0 auto;

  width: min(85vw, 23rem);

  scroll-snap-align: start;

  background: linear-gradient(160deg, #1c1c1c, #0c0c0c);

  border: 1px solid rgba(255, 255, 255, 0.08);

  border-radius: 1.4rem;

  padding: 2.2rem;

  display: flex;

  flex-direction: column;

  min-height: 19rem;

  transition: border-color 0.3s ease, transform 0.3s ease;

}



.exhibit-card:hover {

  border-color: rgba(255, 177, 53, 0.4);

  transform: translateY(-4px);

}



.exhibit-card-top {

  display: flex;

  justify-content: space-between;

  align-items: center;

}



.exhibit-num {

  font-family: 'Manrope', sans-serif;

  font-weight: 800;

  font-size: 2.4rem;

  line-height: 1;

  color: rgba(255, 255, 255, 0.14);

  -webkit-text-stroke: 1px rgba(255, 177, 53, 0.35);

}



.exhibit-card-h {

  font-family: 'Manrope', sans-serif;

  font-weight: 700;

  font-size: 1.25rem;

  line-height: 1.3;

  color: #fff;

  margin: 1.4rem 0 0.9rem;

}



.exhibit-card-p {

  font-family: 'Archivo', sans-serif;

  font-size: 0.86rem;

  line-height: 1.65;

  color: rgba(255, 255, 255, 0.55);

  margin: 0;

}



/* accent (featured) card */

.exhibit-card--accent {

  background: linear-gradient(155deg, var(--accent-2), var(--accent));

  border: none;

}



.exhibit-card--accent .exhibit-num {

  color: rgba(20, 10, 0, 0.25);

  -webkit-text-stroke: 1px rgba(20, 10, 0, 0.4);

}



.exhibit-card--accent .exhibit-card-h {

  color: #1a0d00;

}



.exhibit-card--accent .exhibit-card-p {

  color: rgba(20, 10, 0, 0.75);

  font-weight: 500;

}



/* controls */

.exhibit-controls {

  display: flex;

  align-items: center;

  gap: 1.6rem;

  max-width: 70rem;

  margin: 2.4rem auto 0;

}



.exhibit-progress {

  flex: 1;

  height: 2px;

  background: rgba(255, 255, 255, 0.1);

  border-radius: 2px;

  overflow: hidden;

}



.exhibit-progress-fill {

  height: 100%;

  width: 20%;

  background: linear-gradient(90deg, var(--accent-2), var(--accent));

  border-radius: 2px;

  transition: width 0.25s ease;

}



.exhibit-arrows {

  display: flex;

  gap: 0.7rem;

  flex-shrink: 0;

}



.exhibit-arrow {

  width: 2.6rem;

  height: 2.6rem;

  border-radius: 50%;

  border: 1px solid rgba(255, 255, 255, 0.18);

  background: rgba(255, 255, 255, 0.03);

  color: #fff;

  font-size: 1.3rem;

  display: flex;

  align-items: center;

  justify-content: center;

  cursor: pointer;

  transition: border-color 0.25s ease, background 0.25s ease, color 0.25s ease;

}



.exhibit-arrow:hover {

  border-color: var(--accent);

  color: var(--accent);

  background: rgba(255, 177, 53, 0.06);

}



@media (max-width:700px) {

  .exhibit-features {

    grid-template-columns: repeat(2, 1fr);

  }



  .exhibit {

    padding: 5rem 0;

  }

}



/* ============ SPEAKERS SECTION ============ */

.speakers {

  width: 100%;

  background: #000;

  padding: 8rem 6vw 7rem;

  box-sizing: border-box;

  position: relative;

  overflow: hidden;

}



.speakers-glow {

  position: absolute;

  left: 50%;

  top: 0;

  transform: translateX(-50%);

  width: 60rem;

  height: 40rem;

  background: radial-gradient(circle, rgba(255, 177, 53, 0.09) 0%, rgba(255, 119, 78, 0.03) 45%, transparent 72%);

  pointer-events: none;

  z-index: 0;

}



.speakers-top {

  position: relative;

  z-index: 2;

  max-width: 44rem;

  margin: 0 auto;

  text-align: center;

}



.speakers-eyebrow {

  display: flex;

  align-items: center;

  justify-content: center;

  gap: 0.5rem;

  color: var(--accent);

  font-family: 'Archivo', sans-serif;

  font-size: 0.75rem;

  font-weight: 700;

  letter-spacing: 0.08rem;

  text-transform: uppercase;

  margin-bottom: 1rem;

}



.speakers-eyebrow::before {

  content: "";

  width: 6px;

  height: 6px;

  border-radius: 50%;

  background: var(--accent);

  box-shadow: 0 0 8px var(--accent);

}



.speakers-heading {

  font-family: 'Manrope', sans-serif;

  font-weight: 500;

  font-size: clamp(2.2rem, 4vw, 3.4rem);

  line-height: 1.15;

  margin: 0;

  color: #fff;

}



.speakers-heading span {

  color: rgba(255, 255, 255, 0.35);

  font-weight: 900;

}



.speakers-sub {

  font-family: 'Manrope', sans-serif;

  font-size: 1rem;

  line-height: 1.6;

  color: rgba(255, 255, 255, 0.5);

  margin-top: 1.2rem;

}



.speakers-grid {

  position: relative;

  z-index: 2;

  display: grid;

  grid-template-columns: repeat(3, 1fr);

  gap: 3.4rem;

  margin-top: 4.5rem;

  max-width: 78rem;

  margin-left: auto;

  margin-right: auto;

}



.speaker-card {

  position: relative;

  border-radius: 1.3rem;

  overflow: hidden;

  aspect-ratio: 3/3.1;

  opacity: 0;

  transform: translateY(20px);

  transition: opacity 0.65s cubic-bezier(0.16, 1, 0.3, 1), transform 0.65s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.3s ease;

}



.speaker-card.in-view {

  opacity: 1;

  transform: translateY(0);

}



.speaker-card:hover {

  border-color: rgba(255, 177, 53, 0.4);

}



.speaker-photo {

  position: absolute;

  width: 90%;

  margin-left: 10%;

  object-fit: cover;

  filter: grayscale(0.2);

  transition: filter 0.35s ease, transform 0.5s ease;

  bottom: 0;

}



.speaker-card:hover .speaker-photo {

  filter: grayscale(0);

  transform: scale(1.04);

}



.speaker-scrim {

  position: absolute;

  inset: 0;

  background: linear-gradient(to top, rgba(0, 0, 0, 0.92) 0%, rgba(0, 0, 0, 0.55) 35%, transparent 65%);

}



.speaker-info {

  position: absolute;

  left: 0;

  right: 0;

  top: 12rem;

  max-width: 40%;

  padding: 1.3rem;

  z-index: 1;

}



.speaker-name {

  font-family: 'Manrope', sans-serif;

  font-weight: 700;

  font-size: 1.05rem;

  color: #fff;

  margin: 0 0 0.25rem;

}



.speaker-role {

  font-family: 'Archivo', sans-serif;

  font-size: 0.72rem;

  line-height: 1.4;

  color: rgb(233, 233, 233);

}



.speaker-role b {

  color: var(--accent);

  font-weight: 600;

  display: block;

}



.speaker-social {

  position: absolute;

  top: 1rem;

  right: 1rem;

  width: 2.2rem;

  height: 2.2rem;

  border-radius: 50%;

  background: rgba(255, 255, 255, 0.08);

  backdrop-filter: blur(6px);

  display: flex;

  align-items: center;

  justify-content: center;

  color: #fff;

  font-size: 0.85rem;

  border: 1px solid rgba(255, 255, 255, 0.15);

  text-decoration: none;

  transition: background 0.25s ease, border-color 0.25s ease, color 0.25s ease;

}



.speaker-social:hover {

  background: var(--accent);

  border-color: var(--accent);

  color: #000;

}



@media (max-width:1100px) {

  .speakers-grid {

    grid-template-columns: repeat(3, 1fr);

  }

}



@media (max-width:760px) {

  .speakers-grid {

    grid-template-columns: repeat(2, 1fr);

  }



  .speakers {

    padding: 5rem 6vw;

  }

}



@media (max-width:480px) {

  .speakers-grid {

    grid-template-columns: 1fr;

  }

}



/* ============ SPONSORS SECTION ============ */

.sponsors {

  width: 100%;

  background: #000;

  padding: 8rem 6vw 7rem;

  box-sizing: border-box;

  position: relative;

  overflow: hidden;

}



/* SPONSORS */

.sponsors-glow {

  animation: glowPulseC 12s ease-in-out infinite;

}

.sponsors-glow-2 {

  position: absolute;

  left: -8%;

  bottom: 1rem;

  width: 38rem;

  height: 38rem;

  background: radial-gradient(circle, rgba(255, 119, 78, 0.421) 0%, transparent 70%);

  pointer-events: none;

  z-index: 0;

  animation: glowPulseB 14s ease-in-out infinite;

}

.sponsors-top {

  position: relative;

  z-index: 2;

  max-width: 42rem;

  margin: 0 auto;

  text-align: center;

}



.sponsors-eyebrow {

  display: flex;

  align-items: center;

  justify-content: center;

  gap: 0.5rem;

  color: var(--accent);

  font-family: 'Archivo', sans-serif;

  font-size: 0.75rem;

  font-weight: 700;

  letter-spacing: 0.08rem;

  text-transform: uppercase;

  margin-bottom: 1rem;

}



.sponsors-eyebrow::before {

  content: "";

  width: 6px;

  height: 6px;

  border-radius: 50%;

  background: var(--accent);

  box-shadow: 0 0 8px var(--accent);

}



.sponsors-heading {

  font-family: 'Manrope', sans-serif;

  font-weight: 500;

  font-size: clamp(2.2rem, 4vw, 3.4rem);

  line-height: 1.1;

  margin: 0;

  color: #fff;

}



.sponsors-heading span {

  color: rgba(255, 255, 255, 0.35);

  font-weight: 900;

}



.sponsors-sub {

  font-family: 'Manrope', sans-serif;

  font-size: 1rem;

  line-height: 1.6;

  color: rgba(255, 255, 255, 0.473);

  margin-top: 1.2rem;

}



.sponsors-tiers {

  position: relative;

  z-index: 2;

  max-width: 74rem;

  margin: 4.5rem auto 0;

  display: flex;

  flex-direction: column;

  gap: 2.6rem;

}



.sponsors-tier-label {

  display: flex;

  align-items: center;

  gap: 1rem;

  font-family: 'Archivo', sans-serif;

  font-size: 0.7rem;

  font-weight: 700;

  letter-spacing: 0.1rem;

  text-transform: uppercase;

  color: rgba(255, 255, 255, 0.899);

  margin-bottom: 1.2rem;

}



.sponsors-tier-label::after {

  content: "";

  flex: 1;

  height: 1px;

  background: rgba(255, 255, 255, 0.1);

}



.sponsors-tier-label.platinum {

  color: var(--accent);

}



.sponsors-tier-label.platinum::before {

  content: "";

  width: 6px;

  height: 6px;

  border-radius: 50%;

  background: var(--accent);

  box-shadow: 0 0 8px var(--accent);

}



.sponsors-tier-row {

  display: grid;

  grid-template-columns: repeat(5, 1fr);

  gap: 1rem;

}



.sponsors-tier-row.tier-platinum {

  grid-template-columns: repeat(3, 1fr);

}



.sponsors-tier-row.tier-gold {

  grid-template-columns: repeat(4, 1fr);

}

.sponsors-tier-row.tier-media {

  grid-template-columns: repeat(6, 1fr);

}



.sponsor-logo {

  background: linear-gradient(160deg, #ffffff, #ffffff);

  border: 1px solid rgba(255, 255, 255, 0.08);

  border-radius: 1rem;

  display: flex;

  align-items: center;

  justify-content: center;

  padding: 1.6rem 1.2rem;

  min-height: 6rem;

  opacity: 0;

  transform: translateY(16px);

  transition: opacity 0.55s cubic-bezier(0.16, 1, 0.3, 1), transform 0.55s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.3s ease;

}



.sponsor-logo.in-view {

  opacity: 1;

  transform: translateY(0);

}



.sponsor-logo:hover {

  border-color: rgba(255, 177, 53, 0.4);

}



.tier-platinum .sponsor-logo {

  min-height: 8rem;

}



.sponsor-logo img {

 width: 70%;

  max-height: auto;

  transition: filter 0.3s ease, opacity 0.3s ease;

}







.sponsor-logo:hover img {

  filter: none;

  opacity: 1;

}



.sponsors-cta {

  position: relative;

  z-index: 2;

  max-width: 74rem;

  margin: 4rem auto 0;

  display: flex;

  align-items: center;

  justify-content: space-between;

  padding: 1.6rem 2rem;

  border-radius: 1.2rem;

  background: linear-gradient(160deg, #1c1c1c, #0c0c0c);

  border: 1px solid rgba(255, 255, 255, 0.08);

}



.sponsors-cta span {

  font-family: 'Archivo', sans-serif;

  font-size: 0.95rem;

  color: rgba(255, 255, 255, 0.7);

}



.sponsors-cta-btn {

  background: linear-gradient(90deg, var(--accent-2), var(--accent));

  color: #000;

  text-decoration: none;

  padding: 0.75rem 1.6rem;

  border-radius: 2rem;

  font-family: 'Archivo', sans-serif;

  font-weight: 700;

  font-size: 0.78rem;

  letter-spacing: 0.05rem;

  text-transform: uppercase;

}



@media (max-width:820px) {

  .sponsors {

    padding: 5rem 6vw;

  }



  .sponsors-tier-row,

  .sponsors-tier-row.tier-platinum,

   .sponsors-tier-row.tier-media,

  .sponsors-tier-row.tier-gold {

    grid-template-columns: repeat(2, 1fr);

  }



  .sponsors-cta {

    flex-direction: column;

    gap: 1rem;

    text-align: center;

  }

}



/* ============ AGENDA SECTION ============ */

#agenda.section {

  width: 100%;

  background: #000;

  padding: 8rem 6vw 7rem;

  box-sizing: border-box;

  position: relative;

  overflow: hidden;

}



#agenda.section::before {

  content: "";

  position: absolute;

  left: 50%;

  top: -5rem;

  transform: translateX(-50%);

  width: 60rem;

  height: 40rem;

  background: radial-gradient(circle, rgba(255, 177, 53, 0.09) 0%, rgba(255, 119, 78, 0.03) 45%, transparent 72%);

  pointer-events: none;

  z-index: 0;

}



#agenda .ag-top {

  position: relative;

  z-index: 2;

  max-width: 44rem;

  margin: 0 auto;

  text-align: center;

}



#agenda .ag-eyebrow {

  display: flex;

  align-items: center;

  justify-content: center;

  gap: 0.5rem;

  color: var(--accent);

  font-family: 'Archivo', sans-serif;

  font-size: 0.75rem;

  font-weight: 700;

  letter-spacing: 0.08rem;

  text-transform: uppercase;

  margin-bottom: 1rem;

}



#agenda .ag-eyebrow::before {

  content: "";

  width: 6px;

  height: 6px;

  border-radius: 50%;

  background: var(--accent);

  box-shadow: 0 0 8px var(--accent);

}



#agenda .title {

  font-family: 'Manrope', sans-serif;

  font-weight: 500;

  font-size: clamp(2.2rem, 4vw, 3.4rem);

  line-height: 1.1;

  margin: 0;

  color: #fff;

}



/* day badge, same pill language as .date-place on the cover */

#agenda .ag-day-badge {

  position: relative;

  z-index: 2;

  width: fit-content;

  margin: 2rem auto 0;

  display: flex;

  align-items: baseline;

  gap: 0.5rem;

  color: var(--accent);

  border: 1px solid rgba(255, 177, 53, 0.4);

  background: rgba(255, 177, 53, 0.06);

  padding: 0.55rem 1.3rem;

  border-radius: 2rem;

  font-family: 'Archivo', sans-serif;

}



#agenda .ag-day-num {

  font-weight: 800;

  font-size: 1rem;

}



#agenda .ag-day-name {

  font-weight: 700;

  font-size: 0.7rem;

  letter-spacing: 0.1rem;

}



#agenda .ag-container {

  position: relative;

  z-index: 2;

  max-width: 54rem;

  margin: 3.5rem auto 0;

}



#agenda .ag-list {

  display: flex;

  flex-direction: column;

  gap: 0.9rem;

}



/* card row — same recipe as .sponsors-cta / .ov-card-dark */

#agenda .ag-box {

  display: flex;

  align-items: center;

  gap: 1.6rem;

  padding: 1.2rem 1.6rem;

  border-radius: 1.2rem;

  background: linear-gradient(160deg, #1c1c1c, #0c0c0c);

  border: 1px solid rgba(255, 255, 255, 0.08);



  opacity: 0;

  transform: translateY(18px);

  transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1),

    transform 0.6s cubic-bezier(0.16, 1, 0.3, 1),

    border-color 0.3s ease;

}



#agenda .ag-box.in-view {

  opacity: 1;

  transform: translateY(0);

}



#agenda .ag-box:hover {

  border-color: rgba(255, 177, 53, 0.4);

}



/* time label — same dot+uppercase-label convention as the eyebrows */

#agenda .ag-time {

  flex: 0 0 9.5rem;

  display: flex;

  align-items: center;

  gap: 0.5rem;

  font-family: 'Archivo', sans-serif;

  font-weight: 700;

  font-size: 0.72rem;

  letter-spacing: 0.02rem;

  white-space: nowrap;

  color: rgba(255, 255, 255, 0.55);

}



#agenda .ag-time::before {

  content: "";

  width: 6px;

  height: 6px;

  border-radius: 50%;

  flex-shrink: 0;

  background: rgba(255, 255, 255, 0.3);

}



#agenda .ag-time.cyan { color: rgba(255, 255, 255, 0.75); }

#agenda .ag-time.cyan::before { background: #7fe3ff; box-shadow: 0 0 8px #7fe3ff; }



#agenda .ag-time.yellow { color: rgba(255, 255, 255, 0.75); }

#agenda .ag-time.yellow::before { background: var(--accent); box-shadow: 0 0 8px var(--accent); }



#agenda .ag-time.blue { color: rgba(255, 255, 255, 0.75); }

#agenda .ag-time.blue::before { background: #8fa8ff; box-shadow: 0 0 8px #8fa8ff; }



#agenda .ag-box-right { min-width: 0; }



#agenda .ag-topic {

  font-family: 'Manrope', sans-serif;

  font-weight: 600;

  font-size: 0.95rem;

  line-height: 1.4;

  color: rgba(255, 255, 255, 0.9);

}



#agenda .ag-topic span {

  color: var(--accent);

  font-weight: 700;

}



#agenda .ag-des {

  margin-top: 0.3rem;

  font-family: 'Archivo', sans-serif;

  font-size: 0.78rem;

  color: rgba(255, 255, 255, 0.45);

}



/* featured / panel rows — same accent-card treatment as .highlight-card--accent, .exhibit-card--accent */

#agenda .ag-box--accent {

  background: linear-gradient(155deg, var(--accent-2), var(--accent));

  border: none;

}



#agenda .ag-box--accent .ag-time { color: rgba(20, 10, 0, 0.65); }

#agenda .ag-box--accent .ag-time::before { background: #1a0d00; box-shadow: none; }

#agenda .ag-box--accent .ag-topic { color: #1a0d00; }

#agenda .ag-box--accent .ag-topic span { color: rgba(20, 10, 0, 0.7); }

#agenda .ag-box--accent .ag-des { color: rgba(20, 10, 0, 0.7); }



#agenda .ag-box--accent:hover {

  transform: translateY(-3px);

}



/* ---- blur fade + unlock CTA, same button recipe as .sponsors-cta-btn ---- */

#agenda .ag-blur {

  position: relative;

  margin-top: -8rem;

  height: 11rem;

  display: flex;

  align-items: flex-end;

  justify-content: center;

}



#agenda .ag-blur-box {

  position: absolute;

  left: 0;

  right: 0;

  bottom: 0;

  pointer-events: none;

}



#agenda .agbtop {

  height: 100%;

  background: linear-gradient(to bottom, transparent, #000 85%);

  backdrop-filter: blur(1px);

}



#agenda .agbmid {

  height: 65%;

  background: linear-gradient(to bottom, transparent, #000 92%);

  backdrop-filter: blur(3px);

}



#agenda .agbdown {

  height: 35%;

  background: #000;

  backdrop-filter: blur(6px);

}



#agenda .get-agenda {

  position: relative;

  z-index: 4;

  cursor: pointer;

  border: none;

  background: linear-gradient(90deg, var(--accent-2), var(--accent));

  color: #000;

  padding: 0.75rem 1.6rem;

  border-radius: 2rem;

  font-family: 'Archivo', sans-serif;

  font-weight: 700;

  font-size: 0.78rem;

  letter-spacing: 0.05rem;

  text-transform: uppercase;

  transition: transform 0.25s ease, box-shadow 0.25s ease;

}



#agenda .get-agenda:hover {

  transform: scale(1.03);

  box-shadow: 0 8px 20px rgba(255, 119, 78, 0.35);

}



@media (max-width: 700px) {

  #agenda.section {

    padding: 5rem 6vw;

  }



  #agenda .ag-box {

    flex-direction: column;

    align-items: flex-start;

    gap: 0.5rem;

  }



  #agenda .ag-time {

    flex: none;

  }

}



/* testimonial */

.testimonial{

  width: 100%;

  height: 100vh;

  display: flex;

  align-items: center;

  justify-content: center;

  position: relative;

    display: flex;

  flex-direction: column;

  align-items: center;

  justify-content: center;

  padding: 2rem 1rem;

  box-sizing: border-box;

  position: relative;

  overflow: hidden;

  margin-top: -20vh;

}

@media screen and (max-width : 1120px) {

  .testimonial {

    margin-top: 0vh;

    height: auto;

    padding: 10vw 0vw;

  }

}

.testimonial::before {

  content: '';

  position: absolute;

  top: -40%; left: 50%;

  transform: translateX(-50%);

  width: 900px; height: 500px;

  background: radial-gradient(ellipse, rgba(99,60,180,0.18) 0%, transparent 70%);

  pointer-events: none;

}



   .t-header {

      text-align: center;

      margin-bottom: 2.5rem;

      position: relative;

      z-index: 1;

    }



.t-eyebrow {

  font-size: 11px; font-weight: 500;

  letter-spacing: 0.25em; text-transform: uppercase;

  color: #ffffff; margin-bottom: 0.75rem;

}



.t-heading {

  font-family: 'Manrope', sans-serif;

  font-weight: 500;

  font-size: clamp(2.2rem, 4vw, 3.4rem);

  line-height: 1.1;

  margin: 0;

  color: #fff;

}

.t-heading em { 

  color: var(--ink-dim);

}



.t-line-deco {

  width: 60px; height: 1px;

  background: linear-gradient(90deg, var(--accent), transparent);

  margin: 0 auto 1.5rem;

}



.t-grid {

      display: grid;

      grid-template-columns: repeat(3, 1fr);

      gap: 1.25rem;

      width: 80%;

      position: relative;

      z-index: 1;

      align-items: start;

    }

 

    /* ── Card ── */

    .t-card {

      border-radius: 14px;

      overflow: hidden;

      background: rgba(255, 255, 255, 0.03);

      border: 1px solid rgba(255, 255, 255, 0.07);

      transition: transform 0.38s cubic-bezier(0.22, 1, 0.36, 1),

                  border-color 0.3s ease,

                  box-shadow 0.38s ease;

    }

 

    .t-card:hover {

      transform: translateY(-8px) scale(1.012);

      border-color: rgba(167, 139, 250, 0.4);

      box-shadow: 0 24px 60px rgba(109, 40, 217, 0.18);

    }

 



    .t-card:nth-child(2) {

      margin-top: -1.75rem;

      border-color: rgba(167, 139, 250, 0.16);

    }

 



    .t-accent {

      height: 3px;

      background: linear-gradient(90deg, var(--accent), transparent);

    }

 

    .t-card:nth-child(2) .t-accent {

      background: linear-gradient(90deg, #fb9e33, var(--accent) 60%, transparent);

      height: 3px;

    }

 



    .t-video-wrap {

      position: relative;

      width: 100%;

      padding-top: 56.25%; /* 16:9 */

      background: #0d0d18;

    }

 

    .t-video-wrap iframe {

      position: absolute;

      inset: 0;

      width: 100%;

      height: 100%;

      border: none;

      display: block;

    }

 

  

    .t-card-footer {

      padding: 0.85rem 1rem;

      display: flex;

      align-items: center;

      gap: 0.65rem;

      border-top: 1px solid rgba(255, 255, 255, 0.05);

    }

 

    .t-avatar {

      width: 32px;

      height: 32px;

      border-radius: 50%;

      font-family: "Montserrat";

      background: linear-gradient(135deg, var(--accent-2), var(--accent));

      display: flex;

      align-items: center;

      justify-content: center;

      font-size: 11px;

      font-weight: 500;

      color: #ede9fe;

      flex-shrink: 0;

      letter-spacing: 0.03em;

    }

 

    .t-card:nth-child(2) .t-avatar {

      background: linear-gradient(135deg, var(--accent-2), var(--accent-2));

    }

 

    .t-info {

      display: flex;

      flex-direction: column;

      gap: 2px;

    }

 

    .t-name {

      font-size: 13px;

      font-weight: 700;

      color: rgba(245, 243, 255, 0.9);

      line-height: 1.2;

      font-family: "Montserrat";

    }

 

    .t-role {

      font-size: 11px;

      font-weight: 500;

      color: rgba(255, 255, 255, 0.32);

      letter-spacing: 0.01em;

      font-family: "Poppins";

    }



    /* ── Responsive ── */

    @media (max-width: 720px) {

      .t-grid {

        grid-template-columns: 1fr;

        max-width: 420px;

      }

      .t-card:nth-child(2) {

        margin-top: 0;

      }

    }



/* === FOOTER === */

#footer {

  width: 100%;

  background: #000;

  padding: 5rem 6vw 3rem;

  box-sizing: border-box;

  border-top: 1px solid rgba(255, 255, 255, 0.08);

}



.footerContainer {

  max-width: 80rem;

  margin: 0 auto;

  display: flex;

  justify-content: space-between;

  align-items: flex-start;

  gap: 3rem;

  flex-wrap: wrap;

}



.fLeft {

  display: flex;

  flex-direction: column;

  gap: 1.6rem;

  flex: 1 1 22rem;

}



.mail-box {

  padding: 1.4rem 1.6rem;

  border-radius: 1rem;

  background: linear-gradient(160deg, #1c1c1c, #0c0c0c);

  border: 1px solid rgba(255, 255, 255, 0.08);

  transition: border-color 0.25s ease;

}



.mail-box:hover {

  border-color: rgba(255, 177, 53, 0.35);

}



.mail-heading {

  font-family: 'Archivo', sans-serif;

  font-size: 0.65rem;

  font-weight: 700;

  letter-spacing: 0.08rem;

  text-transform: uppercase;

  color: var(--accent);

  margin-bottom: 0.5rem;

}



.mail {

  font-family: 'Manrope', sans-serif;

  font-size: 1rem;

  font-weight: 600;

  color: #fff;

  text-decoration: none;

}



.mail:hover {

  color: var(--accent);

}



.fRight {

  display: flex;

  flex-direction: column;

  align-items: flex-end;

  gap: 2.4rem;

  flex: 1 1 18rem;

}



.s-f {

  display: flex;

  flex-direction: column;

  align-items: flex-end;

  gap: 1.2rem;

}



.fUp {

  display: flex;

  gap: 0.7rem;

  flex-wrap: wrap;

  justify-content: flex-end;

}



.fLinks {

  text-decoration: none;

}



.fLinks div {

  width: 2.6rem;

  height: 2.6rem;

  border-radius: 50%;

  border: 1px solid rgba(255, 255, 255, 0.18);

  display: flex;

  align-items: center;

  justify-content: center;

  color: #fff;

  font-size: 0.9rem;

  transition: border-color 0.25s ease, background 0.25s ease, color 0.25s ease;

}



.fLinks:hover div {

  border-color: var(--accent);

  color: var(--accent);

  background: rgba(255, 177, 53, 0.08);

}



.fCopy {

  font-family: 'Archivo', sans-serif;

  font-size: 0.75rem;

  color: rgba(255, 255, 255, 0.4);

  text-align: right;

}



.fCopy span a {

  color: rgba(255, 255, 255, 0.7);

  text-decoration: none;

  font-weight: 600;

}



.fCopy span a:hover {

  color: var(--accent);

}



.org {

  display: flex;

}



.foot-logo-box {

  display: flex;

  align-items: center;

  gap: 0.8rem;

}



.fl-des {

  font-family: 'Archivo', sans-serif;

  font-size: 0.75rem;

  color: rgba(255, 255, 255, 0.4);

}



.foot-logo-box img {

  height: 1.6rem;

  width: auto;

  filter: brightness(0) invert(1);

}



@media (max-width:760px) {

  #footer {

    padding: 4rem 6vw 2.5rem;

  }



  .footerContainer {

    flex-direction: column;

  }



  .fRight {

    align-items: flex-start;

    width: 100%;

  }



  .fUp {

    justify-content: flex-start;

  }



  .fCopy {

    text-align: left;

  }

}