:root{
    --primary-dark: #0c5097;
    --primary: #0576bc;
    --accent-red: #cb3d52;
    --accent-gold: #e8b452;

    --dark-bg: #0a1f3d;
    --light-text: #e5e7eb;
    --white: #ffffff;
}

*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:'Segoe UI',sans-serif;
scroll-behavior:smooth;
}

body{
    background: var(--dark-bg);
    color: var(--light-text);
    font-family:'Segoe UI',sans-serif;
}


.container{
width:90%;
max-width:1200px;
margin:auto;
}

/* Loader */
#loader{
    position:fixed;
    width:100%;
    height:100vh;
    background:var(--dark-bg);
    display:flex;
    justify-content:center;
    align-items:center;
    z-index:9999;
}

.ring{
    width:60px;
    height:60px;
    border:4px solid transparent;
    border-top:4px solid var(--accent-gold);
    border-right:4px solid var(--accent-red);
    border-radius:50%;
    animation:spin 1s linear infinite;
}

@keyframes spin{
to{transform:rotate(360deg);}
}

/* Header */
header {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 1000;
    background: linear-gradient(90deg, var(--primary-dark), var(--primary));
    backdrop-filter: blur(8px);
    transition: all 0.4s ease;
}

header.scrolled {
    box-shadow: 0 8px 20px rgba(0,0,0,0.25);
}

/* added here start  */
/* ===== MOBILE DRAWER ALIGNMENT FIX ===== */
@media (max-width: 920px){

  /* Make header height predictable for top offset */
  #mainHeader{
    --header-h: 74px; /* adjust if needed */
  }

  /* Keep container normal */
  #mainHeader .nav{
    position: relative;
  }

  /* Drawer becomes fixed + centered to viewport */
  #mainHeader .nav-links{
    position: fixed !important;
    top: var(--header-h);
    left: 50%;
    transform: translate(-50%, -10px);

    width: min(420px, calc(100vw - 32px));
    max-height: calc(100vh - var(--header-h) - 24px);
    overflow: auto;

    padding: 16px;
    border-radius: 22px;

    opacity: 0;
    pointer-events: none;
    transition: .18s ease;
    z-index: 9999;
  }

  #mainHeader .nav-links.open{
    transform: translate(-50%, 0);
    opacity: 1;
    pointer-events: auto;
  }

  /* Make menu items consistent width + centered */
  #mainHeader .nav-links a{
    width: 100%;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  /* Register button same width as others */
  #mainHeader .nav-links .nav-btn{
    width: 100%;
    justify-content: center;
  }

  /* Make the X (menu toggle) stay above drawer */
  #mainHeader .menu-toggle{
    position: relative;
    z-index: 10000;
  }
}

/* here ends */
.container.nav {
    max-width: 1200px;
    margin: auto;
    padding: 14px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.logo {
    height: 60px;
    transition: transform 0.3s ease;
}

.logo:hover {
    transform: scale(1.05);
}

/* NAV LINKS */

.nav-links {
    display: flex;
    align-items: center;
    gap: 25px;
}

.nav-links a {
    position: relative;
    text-decoration: none;
    color: var(--white);
    font-size: 15px;
    font-weight: 500;
    transition: color 0.3s ease;
}


/* Smooth Underline Animation */
.nav-links a::after {
    content: "";
    position: absolute;
    width: 0%;
    height: 2px;
    left: 0;
    bottom: -6px;
    background: var(--accent-gold);
    transition: width 0.3s ease;
}

.nav-links a:hover {
    color: var(--accent-gold);
}

.nav-links a:hover::after {
    width: 100%;
}

/* REGISTER BUTTON */

.nav-btn {
    padding: 10px 18px;
    border-radius: 30px;
    background: var(--accent-red);
    color: var(--white) !important;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: all 0.3s ease;
}

.nav-btn:hover {
    background: var(--accent-gold);
    color: var(--primary-dark) !important;
    transform: translateY(-2px);
}

/* MOBILE MENU ICON */

.menu-toggle {
    display: none;
    color: white;
    font-size: 26px;
    cursor: pointer;
}

/* RESPONSIVE */

@media(max-width: 992px) {
    .nav-links {
        position: absolute;
        top: 100%;
        right: 0;
        background: #050c18;
        flex-direction: column;
        width: 250px;
        padding: 20px;
        display: none;
        border-left: 1px solid rgba(0,255,212,0.2);
    }

    .nav-links.active {
        display: flex;
    }

    .menu-toggle {
        display: block;
    }
}

/* Cyber Grid Background */
.cyber-grid{
position:absolute;
width:100%;
height:100%;
background-image:
linear-gradient(rgba(0,245,212,.05) 1px, transparent 1px),
linear-gradient(90deg, rgba(0,245,212,.05) 1px, transparent 1px);
background-size:40px 40px;
z-index:0;
}

/* Hero */
.hero{
    position: relative;
    height: 100vh;
    overflow: hidden;
    background: linear-gradient(
            135deg,
            #0c5097 0%,
            #0576bc 50%,
            #0c5097 100%
        );
    color: white;
    padding-top: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

#particles,
#binaryRain {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(0,0,0,0.5), rgba(0,0,0,0.8));
}

.hero-content {
    position: relative;
    z-index: 10;
    max-width: 900px;
}

.hero h1 {
    font-size: 48px;
    font-weight: 700;
    line-height: 1.2;
}

.hero h1 span {
    color: var(--accent-gold);
}


.hero-subtitle {
    margin-top: 15px;
    font-size: 18px;
    color: #d1d5db;
}

/* =========================
   HERO RESPONSIVE (Drop-in)
========================= */

/* Ensure hero and canvas layers behave */
.hero{
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  overflow: hidden;
}

/* If you have sticky header, prevent hero from hiding behind it */
:root{
  --header-h: 76px; /* adjust if your header is taller/shorter */
}

.hero-content{
  position: relative;
  z-index: 2;
  width: min(980px, 92%);
  margin: 0 auto;
  padding: calc(var(--header-h) + 42px) 0 72px; /* top space for sticky header */
  text-align: center;
}

/* Canvases full coverage */
.hero canvas,
.hero-overlay{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.hero-overlay{
  z-index: 1;
}

/* Headline scaling */
.hero-content h1{
  margin: 0 0 14px;
  line-height: 1.02;
  letter-spacing: .2px;
  font-size: clamp(2.1rem, 4.6vw, 4.2rem);
}

.hero-content h1 span{
  display: inline-block;
  font-size: clamp(1.65rem, 3.8vw, 3.4rem);
}

/* Subtitle */
.hero-subtitle{
  margin: 0 auto 22px;
  max-width: 820px;
  line-height: 1.6;
  font-size: clamp(1rem, 1.55vw, 1.25rem);
  opacity: .92;
}

/* Countdown responsive grid */
.countdown{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  width: min(720px, 100%);
  margin: 22px auto 20px;
}

.countdown > div{
  padding: 14px 12px;
  border-radius: 16px;
  backdrop-filter: blur(10px);
}

.countdown span{
  display: block;
  font-weight: 900;
  font-size: clamp(1.35rem, 2.2vw, 2rem);
}

.countdown small{
  display: block;
  margin-top: 6px;
  font-weight: 800;
  opacity: .9;
  font-size: .85rem;
}

/* Buttons */
.hero-buttons{
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 18px;
}

.hero-buttons a{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 18px;
  border-radius: 14px;
  font-weight: 900;
  text-decoration: none;
  min-width: 170px;
}

/* =========================
   TABLET
========================= */
@media (max-width: 900px){
  :root{ --header-h: 72px; }

  .hero-content{
    padding: calc(var(--header-h) + 36px) 0 62px;
  }

  .countdown{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: min(560px, 100%);
  }
}

/* =========================
   MOBILE
========================= */
@media (max-width: 520px){
  :root{ --header-h: 68px; }

  .hero-content{
    width: min(540px, 92%);
    padding: calc(var(--header-h) + 28px) 0 52px;
    text-align: center;
  }

  /* Reduce line breaks/spacing */
  .hero-content h1{
    line-height: 1.05;
    margin-bottom: 10px;
  }

  .hero-subtitle{
    margin-bottom: 18px;
  }

  .countdown{
    gap: 10px;
  }

  .countdown > div{
    padding: 12px 10px;
    border-radius: 14px;
  }

  /* Stack buttons and make them easier to tap */
  .hero-buttons{
    flex-direction: column;
    gap: 10px;
    align-items: stretch;
    width: min(420px, 100%);
    margin-left: auto;
    margin-right: auto;
  }

  .hero-buttons a{
    width: 100%;
    min-width: 0;
    padding: 13px 18px;
    border-radius: 16px;
  }
}

/* =========================
   VERY SMALL DEVICES
========================= */
@media (max-width: 360px){
  .countdown span{ font-size: 1.25rem; }
  .hero-buttons a{ padding: 12px 16px; }
}

.countdown {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-top: 30px;
}

.countdown div {
    background: rgba(255,255,255,0.08);
    padding: 15px 20px;
    border-radius: 12px;
    backdrop-filter: blur(6px);
    border: 1px solid rgba(232, 180, 82, 0.3);
}

.countdown span {
    font-size: 28px;
    font-weight: bold;
    color: var(--accent-red);
}

.countdown small {
    font-size: 12px;
    color: #d1d5db;
}

.btn-primary{
    display:inline-block;
    padding:14px 32px;
    background: var(--accent-red);
    color: var(--white);
    font-weight:600;
    border-radius:30px;
    text-decoration:none;
    transition:.3s;
}

.btn-primary:hover{
    background: var(--accent-gold);
    color: var(--primary-dark);
    transform: translateY(-2px);
}

.btn-secondary{
    padding:14px 32px;
    border-radius:30px;
    border:2px solid var(--accent-gold);
    color: var(--accent-gold);
    text-decoration:none;
    font-weight:500;
}

.btn-secondary:hover{
    background: var(--accent-gold);
    color: var(--primary-dark);
}

.time{
background:var(--navy);
padding:20px;
border-radius:10px;
min-width:80px;
box-shadow:0 0 15px rgba(0,245,212,.2);
}

.time span{
font-size:1.5rem;
color:var(--cyan);
font-weight:bold;
}

.theme{
margin:20px 0;
font-style:italic;
opacity:.9;
}

.btn-primary{
display:inline-block;
margin-top:25px;
padding:14px 32px;
background:var(--accent);
color:var(--dark);
font-weight:bold;
border-radius:30px;
text-decoration:none;
transition:.3s;
}

.btn-primary:hover{
transform:scale(1.05);
}

/* Sections */
.section{
padding:100px 0;
text-align:center;
}

.alt{
background:#0f3c68;
}

.grid-3{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
gap:30px;
margin-top:40px;
}

.card{
background:rgba(255,255,255,.05);
padding:30px;
border-radius:15px;
backdrop-filter:blur(6px);
transition:.3s;
}

.card:hover{
transform:translateY(-5px);
}

.speaker{
text-align:center;
}

.avatar{
width:120px;
height:120px;
border-radius:50%;
background:var(--accent);
margin:0 auto 15px;
}

/* Registration */
.register-form{
max-width:500px;
margin:auto;
display:flex;
flex-direction:column;
gap:15px;
}

.register-form input,
.register-form select{
padding:12px;
border:none;
border-radius:8px;
}

.register-form button{
padding:14px;
border:none;
background:var(--accent);
color:var(--dark);
font-weight:bold;
border-radius:8px;
cursor:pointer;
}

/* Footer */
footer{
background:#08223d;
padding:20px 0;
text-align:center;
font-size:.9rem;
}

/* Cards */
.card, .news-card, .speaker-card{
background:var(--navy);
padding:25px;
border-radius:12px;
transition:.3s;
}

.card:hover, .news-card:hover{
transform:translateY(-6px);
box-shadow:0 0 20px rgba(0,245,212,.3);
}

/* Sponsors */
.sponsor-logos{
display:flex;
flex-wrap:wrap;
gap:20px;
justify-content:center;
margin-top:30px;
}

/* ===== Sponsors Cyber (light) ===== */
.sponsors-cyber{
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 15% 20%, rgba(15,211,167,.14), transparent 50%),
    radial-gradient(circle at 85% 30%, rgba(59,130,246,.12), transparent 55%),
    linear-gradient(180deg, #f9fafb, #ffffff);
}

/* Subtle cyber grid */
.sponsors-cyber::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(15,23,42,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(15,23,42,.05) 1px, transparent 1px);
  background-size: 40px 40px;
  opacity:.22;
  pointer-events:none;
}

/* Scanline highlight */
.sponsors-cyber::after{
  content:"";
  position:absolute;
  left:-30%;
  top:-20%;
  width: 160%;
  height: 70px;
  background: linear-gradient(90deg, transparent, rgba(15,211,167,.18), transparent);
  transform: rotate(8deg);
  animation: scanline 8s ease-in-out infinite;
  pointer-events:none;
  opacity:.8;
}

@keyframes scanline{
  0%{ transform: translateY(-30px) rotate(8deg); opacity:.0; }
  15%{ opacity:.85; }
  50%{ transform: translateY(520px) rotate(8deg); opacity:.55; }
  100%{ transform: translateY(980px) rotate(8deg); opacity:0; }
}

/* Callout ribbon */
.sponsor-callout{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
  padding:14px 16px;
  margin: 16px 0 22px;
  border-radius:18px;
  background: rgba(255,255,255,.72);
  border:1px solid rgba(15,23,42,.08);
  box-shadow: 0 14px 28px rgba(15,23,42,.07);
  position: relative;
  z-index: 1;
}

.sponsor-callout i{
  font-size:22px;
  color:#0f172a;
}

.sponsor-callout strong{
  display:block;
  color:#0f172a;
  font-size:1rem;
}

.sponsor-callout span{
  display:block;
  color:#475569;
  font-weight:600;
  margin-top:2px;
}

.callout-btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:12px;
  text-decoration:none;
  font-weight:800;
  color:#0f172a;
  background: rgba(15,211,167,.14);
  border:1px solid rgba(15,211,167,.30);
  transition:.18s ease;
}
.callout-btn:hover{
  transform: translateY(-2px);
  box-shadow: 0 12px 24px rgba(15,23,42,.10);
}

/* Grid */
.sponsor-logos{
  position: relative;
  z-index: 1;
  margin-top: 6px;
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap:18px;
}

/* Tile */
.logo-box.cyber-tile{
  text-decoration:none;
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:16px;
  border-radius:18px;
  background: rgba(255,255,255,.84);
  border:1px solid rgba(15,23,42,.08);
  box-shadow: 0 12px 26px rgba(15,23,42,.06);
  transition:.18s ease;
  position: relative;
  overflow:hidden;
}

/* glowing corner */
.logo-box.cyber-tile::before{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius:20px;
  background: radial-gradient(circle at top left, rgba(15,211,167,.22), transparent 40%);
  opacity:0;
  transition:.18s ease;
  pointer-events:none;
}
.logo-box.cyber-tile:hover::before{ opacity:1; }

.logo-box.cyber-tile:hover{
  transform: translateY(-4px);
  box-shadow: 0 18px 36px rgba(15,23,42,.10);
  border-color: rgba(15,211,167,.25);
}

.logo-img{
  border-radius:14px;
  background: #ffffff;
  border:1px solid rgba(15,23,42,.08);
  padding:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:110px;
  position: relative;
  overflow:hidden;
}

/* tiny "digital noise" overlay */
.logo-img::after{
  content:"";
  position:absolute;
  inset:0;
  background: repeating-linear-gradient(
    90deg,
    rgba(15,23,42,.06) 0px,
    rgba(15,23,42,.06) 1px,
    transparent 1px,
    transparent 9px
  );
  opacity:.06;
  pointer-events:none;
}

.logo-img img{
  max-width:100%;
  max-height:70px;
  object-fit:contain;
  display:block;
  filter: saturate(1.05);
}

.logo-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.logo-name{
  font-weight:900;
  color:#0f172a;
}

.logo-tier{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:8px 10px;
  border-radius:999px;
  font-size:.82rem;
  font-weight:900;
  color:#0f172a;
  background: rgba(15,211,167,.10);
  border:1px solid rgba(15,211,167,.22);
}
.logo-tier i{ font-size:16px; }

/* Decorative cyber dots */
.cyber-dots{
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    radial-gradient(rgba(15,211,167,.35) 1px, transparent 1px),
    radial-gradient(rgba(59,130,246,.28) 1px, transparent 1px);
  background-size: 42px 42px, 56px 56px;
  background-position: 0 0, 18px 24px;
  opacity: .12;
  animation: dotsFloat 10s ease-in-out infinite;
}

@keyframes dotsFloat{
  0%,100%{ transform: translateY(0px); }
  50%{ transform: translateY(-10px); }
}


.logo-box{
background:var(--navy);
padding:20px 40px;
border-radius:8px;
}

/* Register Page */
.register-page{
display:flex;
justify-content:center;
align-items:center;
height:100vh;
}

.register-wrapper{
background:var(--navy);
padding:40px;
border-radius:12px;
width:400px;
}

.register-wrapper input,
.register-wrapper select{
width:100%;
padding:12px;
margin-bottom:15px;
border:none;
border-radius:6px;
}


.about-section{
    padding:100px 0;
    background:#f9fafc;
    color:#1f2937;
}

.section-header{
    text-align:center;
    margin-bottom:60px;
}

.section-header h2{
    font-size:36px;
    color:#0c5097;
}

.section-line{
    width:80px;
    height:4px;
    background:#e8b452;
    margin:15px auto 0;
}

/* GRID */
.about-grid{
    display:grid;
    grid-template-columns:1.3fr 1fr;
    gap:60px;
    margin-bottom:80px;
}

.about-content h3{
    color:#0576bc;
    margin-bottom:15px;
}

.history-timeline{
    margin-top:30px;
    border-left:3px solid #cb3d52;
    padding-left:20px;
}

.timeline-item{
    margin-bottom:20px;
}

.timeline-item span{
    font-weight:bold;
    color:#cb3d52;
}

/* THEME CARD */
.theme-card{
    background:linear-gradient(135deg,#0c5097,#0576bc);
    color:white;
    padding:40px;
    border-radius:12px;
    box-shadow:0 20px 40px rgba(0,0,0,0.1);
}

.theme-card h4{
    margin:15px 0;
    font-size:20px;
    color:#e8b452;
}

.theme-highlight{
    margin-top:20px;
    padding:12px;
    background:rgba(255,255,255,0.1);
    border-left:4px solid #e8b452;
}

/* OBJECTIVES */
.objectives-section{
    margin-bottom:80px;
}

.objectives-section h3{
    color:#0c5097;
    margin-bottom:30px;
}

.objectives-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:25px;
}

.objective-card{
    background:white;
    padding:25px;
    border-radius:10px;
    border-top:4px solid #cb3d52;
    box-shadow:0 10px 25px rgba(0,0,0,0.05);
    transition:0.3s;
}

.objective-card:hover{
    transform:translateY(-5px);
}

/* REPORTS */
.reports-section h3{
    color:#0c5097;
    margin-bottom:25px;
}

.reports-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:20px;
}

.report-card{
    background:white;
    padding:20px;
    border-radius:10px;
    display:flex;
    align-items:center;
    gap:10px;
    text-decoration:none;
    color:#0576bc;
    font-weight:600;
    border:1px solid #e8b452;
    transition:0.3s;
}

.report-card i{
    font-size:24px;
    color:#cb3d52;
}

.report-card:hover{
    background:#e8b452;
    color:#0c5097;
}

.program-section{
    padding:100px 0;
    background:#ffffff;
}

.program-download{
    text-align:center;
    margin-bottom:50px;
}

.btn-program{
    background:#cb3d52;
    color:white;
    padding:12px 25px;
    border-radius:30px;
    text-decoration:none;
    font-weight:600;
    display:inline-flex;
    align-items:center;
    gap:10px;
    transition:.3s;
}

.btn-program:hover{
    background:#e8b452;
    color:#0c5097;
}

/* =========================
   ABOUT SECTION — RESPONSIVE
========================= */

.about-section{
  padding: 90px 0;
}

/* Make sure container doesn’t squeeze too much */
.about-section .container{
  width: min(1180px, 92%);
  margin: 0 auto;
}

/* Header */
.about-section .section-header{
  text-align:center;
  margin-bottom: 26px;
}

/* Intro grid: 2 columns desktop */
.about-grid{
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 22px;
  align-items: start;
  margin-top: 16px;
}

/* Content spacing */
.about-content h3,
.theme-card h3,
.objectives-section h3,
.reports-section h3{
  margin: 0 0 12px;
  line-height: 1.25;
}

.about-content p{
  line-height: 1.7;
  margin: 0 0 12px;
  max-width: 70ch;
}

/* Timeline layout */
.history-timeline{
  display:grid;
  gap: 10px;
  margin-top: 14px;
}

.timeline-item{
  display:flex;
  align-items:flex-start;
  gap: 12px;
  padding: 12px 12px;
  border-radius: 16px;
}

.timeline-item span{
  font-weight: 950;
  min-width: 62px;
  display:inline-flex;
  justify-content:center;
  padding: 8px 10px;
  border-radius: 999px;
  font-size: .9rem;
}

.timeline-item p{
  margin: 2px 0 0;
  line-height: 1.55;
}

/* Theme card */
.theme-card{
  border-radius: 22px;
  padding: 18px;
}

.theme-card h4{
  margin: 6px 0 10px;
  line-height: 1.35;
}

.theme-highlight{
  margin-top: 12px;
  padding: 12px 12px;
  border-radius: 16px;
  line-height: 1.5;
  text-align: center;
  font-weight: 850;
}

/* Objectives */
.objectives-section{
  margin-top: 34px;
}

.objectives-grid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}

.objective-card{
  border-radius: 18px;
  padding: 16px;
}

.objective-card h4{
  margin: 0 0 8px;
  line-height: 1.25;
}

.objective-card p{
  margin: 0;
  line-height: 1.6;
}

/* Reports */
.reports-section{
  margin-top: 34px;
}

.reports-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}

.report-card{
  display:flex;
  align-items:center;
  gap: 12px;
  padding: 14px 14px;
  border-radius: 18px;
  text-decoration:none;
}

.report-card i{
  font-size: 22px;
  flex: 0 0 auto;
}

.report-card span{
  font-weight: 900;
  line-height: 1.25;
}

/* =========================
   TABLET
========================= */
@media (max-width: 980px){
  .about-section{
    padding: 78px 0;
  }

  .about-grid{
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .about-content p{
    max-width: 100%;
  }

  .objectives-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .reports-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* =========================
   MOBILE
========================= */
@media (max-width: 560px){
  .about-section{
    padding: 64px 0;
  }

  .timeline-item{
    flex-direction: column;
    gap: 8px;
    padding: 12px;
  }

  .timeline-item span{
    min-width: unset;
    width: fit-content;
    justify-content:flex-start;
  }

  .theme-card{
    padding: 16px;
  }

  .theme-highlight{
    font-size: .92rem;
    padding: 12px;
  }

  .objectives-grid{
    grid-template-columns: 1fr;
  }

  .reports-grid{
    grid-template-columns: 1fr;
  }

  .report-card{
    padding: 14px 12px;
  }
}

/* DAY BLOCK */
.program-day{
    margin-bottom:70px;
}

.day-header{
    display:flex;
    align-items:center;
    gap:15px;
    margin-bottom:25px;
}

.day-header i{
    font-size:28px;
    color:#0576bc;
}

.day-header h3{
    color:#0c5097;
}
/* ================================
   FORCE VISIBILITY FOR PROGRAM TEXT
   (only titles + descriptions)
================================ */

#program .session h4,
#program .session h5{
    color:#0c5097 !important;
    font-weight:700;
}

#program .session p{
    color:#334155 !important;
    opacity:1 !important;
}

/* TIMELINE */
.timeline{
    border-left:3px solid #e8b452;
    padding-left:25px;
}

.session{
    display:flex;
    gap:20px;
    margin-bottom:25px;
}

.session .time{
    min-width:120px;
    font-weight:bold;
    color:#cb3d52;
}

/* PARALLEL TRACKS */
.parallel-tracks{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:40px;
}

.track{
    background:#f9fafc;
    padding:25px;
    border-radius:10px;
    border-top:4px solid #0576bc;
}

.track h4{
    margin-bottom:20px;
    color:#0c5097;
}

.track i{
    color:#cb3d52;
}

/* Responsive */
@media(max-width:992px){
    .parallel-tracks{
        grid-template-columns:1fr;
    }

    .session{
        flex-direction:column;
    }

    .session .time{
        margin-bottom:5px;
    }
}

/* ===== Speakers (classic + premium) ===== */
.speaker-controls{
display:flex;
align-items:center;
justify-content:space-between;
gap:14px;
flex-wrap:wrap;
margin:18px 0 22px;
padding:14px;
border:1px solid rgba(255,255,255,.08);
background: rgba(255,255,255,.03);
border-radius:16px;
backdrop-filter: blur(10px);
}

.filter-wrap{
display:flex;
flex-wrap:wrap;
gap:10px;
align-items:center;
}

.filter-btn{
display:inline-flex;
align-items:center;
gap:8px;
padding:10px 12px;
border-radius:999px;
border:1px solid rgba(255,255,255,.10);
background: rgba(255,255,255,.02);
color: #e9eef8;
cursor:pointer;
transition: .18s ease;
font-weight:600;
font-size:.92rem;
user-select:none;
}
.filter-btn i{ font-size:18px; opacity:.95; }
.filter-btn:hover{ transform: translateY(-1px); border-color: rgba(255,255,255,.18); }
.filter-btn.active{
background: rgba(15,211,167,.12);
border-color: rgba(15,211,167,.35);
box-shadow: 0 10px 22px rgba(0,0,0,.18);
}

.search-wrap{
position:relative;
display:flex;
align-items:center;
gap:10px;
min-width:260px;
flex: 1;
max-width: 420px;
}
.search-wrap i{
position:absolute;
left:12px;
font-size:18px;
opacity:.85;
}
.search-wrap input{
width:100%;
padding:11px 12px 11px 38px;
border-radius:999px;
border:1px solid rgba(255,255,255,.10);
background: rgba(0,0,0,.18);
color:#fff;
outline:none;
transition:.18s ease;
}
.search-wrap input:focus{
border-color: rgba(15,211,167,.45);
box-shadow: 0 0 0 4px rgba(15,211,167,.10);
}

.speakers-grid{ margin-top: 6px; }

.speaker-card{
position:relative;
overflow:hidden;
border-radius:18px;
border: 1px solid rgba(255,255,255,.10);
background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
box-shadow: 0 16px 30px rgba(0,0,0,.18);
transition: .18s ease;
padding: 16px;
}
.speaker-card:hover{ transform: translateY(-4px); border-color: rgba(255,255,255,.18); }

.speaker-top{
display:flex;
gap:14px;
align-items:center;
margin-bottom: 12px;
}
.speaker-photo{
width:58px;
height:58px;
border-radius:16px;
overflow:hidden;
flex:0 0 58px;
border:1px solid rgba(255,255,255,.14);
background: rgba(0,0,0,.15);
}
.speaker-photo img{
width:100%;
height:100%;
object-fit:cover;
display:block;
}

.speaker-meta h4{
margin:0;
font-size:1.02rem;
line-height:1.2;
}
.speaker-meta .role{
display:block;
margin-top:4px;
opacity:.9;
font-weight:600;
font-size:.92rem;
}
.speaker-meta .org{
display:flex;
align-items:center;
gap:8px;
margin-top:6px;
opacity:.85;
font-size:.9rem;
}
.speaker-meta .org i{ font-size:18px; }

.speaker-bio{
margin:10px 0 12px;
opacity:.9;
line-height:1.55;
font-size:.95rem;
}

.speaker-tags{
display:flex;
flex-wrap:wrap;
gap:8px;
}
.tag{
display:inline-flex;
align-items:center;
gap:6px;
padding:8px 10px;
border-radius:999px;
border:1px solid rgba(255,255,255,.10);
background: rgba(255,255,255,.02);
font-size:.85rem;
opacity:.95;
}
.tag i{ font-size:16px; opacity:.9; }

.speaker-badge{
position:absolute;
top:14px;
right:14px;
display:inline-flex;
align-items:center;
gap:6px;
padding:8px 10px;
border-radius:999px;
font-size:.82rem;
font-weight:700;
border:1px solid rgba(255,255,255,.10);
background: rgba(0,0,0,.18);
}
.speaker-badge.government{ border-color: rgba(59,130,246,.35); background: rgba(59,130,246,.10); }
.speaker-badge.private{ border-color: rgba(168,85,247,.35); background: rgba(168,85,247,.10); }
.speaker-badge.academia{ border-color: rgba(245,158,11,.35); background: rgba(245,158,11,.10); }
.speaker-badge.partners{ border-color: rgba(15,211,167,.35); background: rgba(15,211,167,.10); }

.speaker-empty{
margin: 20px 0 0;
text-align:center;
padding: 22px;
border:1px dashed rgba(255,255,255,.18);
border-radius:18px;
opacity:.9;
}
.speaker-empty i{ font-size:34px; display:block; margin-bottom: 10px; }
.btn-reset{
margin-top:10px;
padding:10px 14px;
border-radius:12px;
border:1px solid rgba(255,255,255,.14);
background: rgba(255,255,255,.05);
color:#fff;
cursor:pointer;
font-weight:700;
}

/* Responsive */
@media (max-width: 900px){
.search-wrap{ max-width: 100%; }
}

/* ===== News (classic premium) ===== */
.section-title { margin-bottom: 18px; }
.section-title p { opacity: .85; max-width: 720px; }

.news-feature{
position: relative;
overflow: hidden;
border-radius: 22px;
padding: 22px;
margin: 16px 0 22px;
border: 1px solid rgba(255,255,255,.10);
background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
box-shadow: 0 24px 46px rgba(0,0,0,.22);
}
.news-feature h3{
margin: 12px 0 8px;
font-size: 1.35rem;
line-height: 1.25;
}
.news-feature p{
opacity: .9;
max-width: 920px;
line-height: 1.65;
margin: 0;
}
.news-feature__meta{
display:flex;
flex-wrap:wrap;
gap:10px;
align-items:center;
}
.news-feature__cta{
display:flex;
flex-wrap:wrap;
gap:12px;
margin-top: 16px;
}
.news-feature__glow{
position:absolute;
inset:auto -60px -80px auto;
width: 240px;
height: 240px;
border-radius: 50%;
background: radial-gradient(circle, rgba(15,211,167,.35), transparent 60%);
filter: blur(2px);
pointer-events:none;
}

.news-grid{ margin-top: 6px; }

.news-card.premium{
position:relative;
border-radius: 18px;
padding: 16px 16px 14px;
border: 1px solid rgba(255,255,255,.10);
background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
box-shadow: 0 16px 30px rgba(0,0,0,.18);
transition: .18s ease;
overflow:hidden;
}
.news-card.premium:hover{
transform: translateY(-4px);
border-color: rgba(255,255,255,.18);
}

.news-top{
display:flex;
justify-content:space-between;
align-items:center;
gap:10px;
flex-wrap:wrap;
margin-bottom: 10px;
}

.pill{
display:inline-flex;
align-items:center;
gap:7px;
padding: 8px 10px;
border-radius: 999px;
font-size: .82rem;
font-weight: 800;
letter-spacing: .2px;
border: 1px solid rgba(255,255,255,.10);
background: rgba(0,0,0,.16);
user-select:none;
}
.pill i{ font-size: 16px; opacity:.95; }

.pill-accent{ border-color: rgba(15,211,167,.35); background: rgba(15,211,167,.12); }
.pill-blue{ border-color: rgba(59,130,246,.35); background: rgba(59,130,246,.12); }
.pill-purple{ border-color: rgba(168,85,247,.35); background: rgba(168,85,247,.12); }
.pill-green{ border-color: rgba(34,197,94,.35); background: rgba(34,197,94,.12); }
.pill-new{ border-color: rgba(245,158,11,.35); background: rgba(245,158,11,.14); }

.meta{
display:inline-flex;
align-items:center;
gap:7px;
opacity:.82;
font-size: .9rem;
}
.meta i{ font-size: 18px; }

.news-card h4{
margin: 6px 0 8px;
font-size: 1.05rem;
line-height: 1.25;
}
.news-card p{
margin: 0 0 12px;
opacity: .9;
line-height: 1.6;
}

.news-bottom{
display:flex;
align-items:center;
justify-content:space-between;
gap:10px;
padding-top: 10px;
border-top: 1px solid rgba(255,255,255,.08);
}

.date{
display:inline-flex;
align-items:center;
gap:8px;
opacity:.85;
font-size: .92rem;
}
.date i{ font-size: 18px; }

.news-link{
display:inline-flex;
align-items:center;
gap:8px;
text-decoration:none;
font-weight:800;
opacity:.95;
}
.news-link i{ font-size: 18px; transition:.18s ease; }
.news-card:hover .news-link i{ transform: translateX(3px); }

/* Subscribe */
.news-subscribe{
margin-top: 22px;
padding: 18px;
border-radius: 18px;
border: 1px solid rgba(255,255,255,.10);
background: rgba(255,255,255,.03);
display:flex;
justify-content:space-between;
gap:14px;
align-items:center;
flex-wrap:wrap;
}
.news-subscribe h3{
margin: 0 0 6px;
font-size: 1.1rem;
display:flex;
gap:10px;
align-items:center;
}
.news-subscribe p{ margin:0; opacity:.85; max-width: 680px; }

.subscribe-form{
display:flex;
gap:10px;
flex-wrap:wrap;
align-items:center;
}
.subscribe-form input{
min-width: 260px;
padding: 11px 12px;
border-radius: 999px;
border: 1px solid rgba(255,255,255,.10);
background: rgba(0,0,0,.18);
color:#fff;
outline:none;
}
.subscribe-form input:focus{
border-color: rgba(15,211,167,.45);
box-shadow: 0 0 0 4px rgba(15,211,167,.10);
}

/* Buttons (in case you don't already have these) */
.btn{
display:inline-flex;
align-items:center;
gap:10px;
padding: 11px 14px;
border-radius: 14px;
text-decoration:none;
border: 1px solid rgba(255,255,255,.12);
background: rgba(255,255,255,.05);
color: #fff;
font-weight: 800;
transition:.18s ease;
cursor:pointer;
}
.btn:hover{ transform: translateY(-2px); border-color: rgba(255,255,255,.18); }
.btn i{ font-size: 18px; }

.btn-primary{
background: rgba(15,211,167,.16);
border-color: rgba(15,211,167,.35);
}
.btn-ghost{
background: rgba(255,255,255,.04);
}

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

.section-light{
  background: linear-gradient(180deg, #f9fafb, #ffffff);
  color: #0f172a;
}

.section-light .section-title h2{
  color:#0f172a;
}

.section-light .section-title p{
  color:#475569;
}

/* Sponsor grid */

.sponsor-logos{
  margin-top: 28px;
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap:22px;
}

.logo-box{
  background:#fff;
  border-radius:18px;
  padding:28px 18px;
  text-align:center;
  font-weight:800;
  letter-spacing:.3px;
  color:#0f172a;

  border:1px solid rgba(15,23,42,.08);
  box-shadow:
    0 10px 22px rgba(15,23,42,.06),
    inset 0 0 0 1px rgba(255,255,255,.7);

  transition:.18s ease;
  cursor:default;
}

.logo-box:hover{
  transform: translateY(-4px);
  box-shadow:
    0 16px 34px rgba(15,23,42,.10);
}

/* ===========================
   LIGHT FOOTER
=========================== */

.site-footer{
  background:#ffffff;
  border-top:1px solid rgba(15,23,42,.08);
  padding: 26px 0;
}

.footer-inner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
}

.site-footer p{
  margin:0;
  font-weight:600;
  color:#475569;
}

.footer-links{
  display:flex;
  gap:18px;
  flex-wrap:wrap;
}

.footer-links a{
  text-decoration:none;
  font-weight:700;
  color:#0f172a;
  opacity:.9;
  transition:.15s ease;
}

.footer-links a:hover{
  opacity:1;
  color:#0fd3a7;
}

/* Responsive */

@media(max-width:720px){
  .footer-inner{
    flex-direction:column;
    text-align:center;
  }
}

/* ===== Footer with logos & icons ===== */

.footer-brand{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.footer-logo img{
  height:48px;
  width:auto;
  display:block;
}

.footer-social{
  display:flex;
  gap:12px;
}

.footer-social a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  border-radius:10px;
  background:#f8fafc;
  border:1px solid rgba(15,23,42,.08);
  transition:.15s ease;
}

.footer-social img{
  width:18px;
  height:18px;
}

.footer-social a:hover{
  transform: translateY(-2px);
  box-shadow:0 6px 14px rgba(15,23,42,.12);
}

/* Responsive */

@media(max-width:720px){
  .footer-inner{
    flex-direction:column;
    text-align:center;
  }

  .footer-social{
    justify-content:center;
  }
}

/* ===== Back to top (cyber) ===== */
.back-to-top{
  position: fixed;
  right: 18px;
  bottom: 18px;
  width: 46px;
  height: 46px;
  border-radius: 16px;
  border: 1px solid rgba(15,23,42,.12);
  background: rgba(255,255,255,.78);
  color: #0f172a;
  display: grid;
  place-items: center;
  cursor: pointer;
  box-shadow: 0 18px 40px rgba(15,23,42,.14);
  backdrop-filter: blur(10px);
  transform: translateY(14px);
  opacity: 0;
  pointer-events: none;
  transition: .18s ease;
  z-index: 9999;
  overflow:hidden;
}

.back-to-top i{ font-size: 20px; }

.back-to-top::before{
  content:"";
  position:absolute;
  inset:-2px;
  background: radial-gradient(circle at top left, rgba(15,211,167,.35), transparent 45%);
  opacity:.75;
  pointer-events:none;
}

.back-to-top.show{
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}

.back-to-top:hover{
  transform: translateY(-3px);
  border-color: rgba(15,211,167,.35);
  box-shadow: 0 24px 46px rgba(15,23,42,.18);
}

/* ===========================
   CYBER CHATBOT (UI)
=========================== */
.cyber-chat{
  position: fixed;
  right: 18px;
  bottom: 78px; /* sits above back-to-top */
  z-index: 9999;
  font-family: system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
}

/* Launcher */
.chat-launcher{
  width: 56px;
  height: 56px;
  border-radius: 18px;
  border: 1px solid rgba(15,23,42,.12);
  background: rgba(255,255,255,.82);
  box-shadow: 0 18px 40px rgba(15,23,42,.14);
  cursor: pointer;
  display:grid;
  place-items:center;
  position: relative;
  overflow:hidden;
  backdrop-filter: blur(10px);
  transition: .18s ease;
}
.chat-launcher i{ font-size: 24px; color:#0c5097; z-index:1; }
.chat-launcher:hover{
  transform: translateY(-3px);
  border-color: rgba(15,211,167,.35);
  box-shadow: 0 24px 46px rgba(15,23,42,.18);
}
.chat-launcher::before{
  content:"";
  position:absolute;
  inset:-2px;
  background: radial-gradient(circle at top left, rgba(15,211,167,.35), transparent 45%);
  opacity:.8;
  pointer-events:none;
}
.chat-launcher .pulse{
  position:absolute;
  inset: -14px;
  border-radius: 24px;
  border: 1px solid rgba(15,211,167,.35);
  animation: pulse 2.2s ease-in-out infinite;
  opacity:.6;
}
@keyframes pulse{
  0%{ transform: scale(.92); opacity:.0; }
  35%{ opacity:.55; }
  100%{ transform: scale(1.12); opacity:0; }
}

/* Panel */
.chat-panel{
  width: 360px;
  max-width: calc(100vw - 36px);
  margin-top: 12px;
  border-radius: 22px;
  border: 1px solid rgba(15,23,42,.12);
  background: rgba(255,255,255,.90);
  box-shadow: 0 28px 66px rgba(15,23,42,.18);
  overflow:hidden;
  transform: translateY(8px);
  opacity: 0;
  pointer-events: none;
  transition: .18s ease;
  backdrop-filter: blur(12px);
  position: absolute;
  right: 0;
  bottom: 70px;
}

/* Cyber grid overlay */
.chat-panel::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(15,23,42,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(15,23,42,.05) 1px, transparent 1px);
  background-size: 42px 42px;
  opacity:.18;
  pointer-events:none;
}

.chat-panel.open{
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}

.chat-header{
  padding: 14px 14px 12px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  position:relative;
  z-index:1;
  background: linear-gradient(180deg, rgba(15,211,167,.12), rgba(255,255,255,.0));
  border-bottom: 1px solid rgba(15,23,42,.08);
}

.chat-brand{
  display:flex;
  align-items:center;
  gap:10px;
}
.chat-badge{
  width:40px; height:40px;
  border-radius:14px;
  display:grid;
  place-items:center;
  border: 1px solid rgba(15,23,42,.12);
  background: rgba(255,255,255,.78);
  box-shadow: 0 12px 22px rgba(15,23,42,.10);
  position:relative;
  overflow:hidden;
}
.chat-badge::after{
  content:"";
  position:absolute;
  inset:-2px;
  background: radial-gradient(circle at top left, rgba(15,211,167,.35), transparent 45%);
  opacity:.8;
}
.chat-badge i{ font-size:20px; color:#0c5097; z-index:1; }

.chat-brand strong{
  display:block;
  font-weight: 950;
  color:#0f172a;
  line-height:1.1;
}
.chat-brand span{
  display:block;
  font-size:.85rem;
  color:#475569;
  font-weight: 750;
  margin-top:2px;
}

.chat-actions{
  display:flex;
  gap:8px;
}
.icon-btn{
  width:36px; height:36px;
  border-radius:12px;
  border:1px solid rgba(15,23,42,.10);
  background: rgba(255,255,255,.75);
  cursor:pointer;
  display:grid;
  place-items:center;
  transition:.15s ease;
}
.icon-btn i{ font-size:18px; color:#0f172a; }
.icon-btn:hover{
  transform: translateY(-2px);
  border-color: rgba(15,211,167,.30);
}

/* Body */
.chat-body{
  height: 320px;
  overflow:auto;
  padding: 12px 12px 8px;
  position:relative;
  z-index:1;
}
.msg{
  display:flex;
  gap:10px;
  margin: 10px 0;
}
.msg .avatar{
  width:34px; height:34px;
  border-radius:14px;
  border:1px solid rgba(15,23,42,.10);
  background: rgba(255,255,255,.75);
  display:grid;
  place-items:center;
  flex: 0 0 34px;
}
.msg .avatar i{ font-size:18px; color:#0c5097; }
.bubble{
  max-width: 85%;
  padding: 12px 12px;
  border-radius: 16px;
  border:1px solid rgba(15,23,42,.10);
  background: rgba(255,255,255,.86);
  box-shadow: 0 12px 22px rgba(15,23,42,.08);
}
.msg.bot .bubble{
  border-color: rgba(15,211,167,.24);
  color: #64748b;
}
.msg.user{
  justify-content:flex-end;
  color: #64748b;
}
.msg.user .bubble{
  background: rgba(15,211,167,.14);
  border-color: rgba(15,211,167,.28);
}
.bubble .meta{
  display:block;
  font-size:.78rem;
  color:#64748b;
  font-weight:800;
  margin-top:6px;
}

/* Footer */
.chat-footer{
  display:flex;
  gap:10px;
  align-items:center;
  padding: 12px;
  border-top: 1px solid rgba(15,23,42,.08);
  position:relative;
  z-index:1;
  background: rgba(255,255,255,.70);
}

.chat-input{
  flex: 1;
  display:flex;
  align-items:center;
  gap:10px;
  padding: 12px 12px;
  border-radius: 16px;
  border: 1px solid rgba(15,23,42,.10);
  background: #fff;
}
.chat-input i{ font-size:18px; color:#0c5097; opacity:.9; }
.chat-input input{
  width:100%;
  border:0;
  outline:none;
  font: inherit;
  background:transparent;
  color:#0f172a;
}

.chat-send{
  width: 46px;
  height: 46px;
  border-radius: 16px;
  border: 1px solid rgba(15,211,167,.35);
  background: rgba(15,211,167,.16);
  cursor:pointer;
  display:grid;
  place-items:center;
  transition:.18s ease;
}
.chat-send i{ font-size: 18px; color:#0f172a; }
.chat-send:hover{
  transform: translateY(-2px);
  box-shadow: 0 16px 30px rgba(15,23,42,.12);
}

.chat-note{
  display:flex;
  align-items:center;
  gap:8px;
  padding: 10px 12px 12px;
  color:#475569;
  font-weight:750;
  font-size:.86rem;
  position:relative;
  z-index:1;
}
.chat-note i{ font-size:16px; color:#0c5097; }
