/* ============================================================
   ICBDM 2026 — premium institutional conference theme
   ============================================================ */

   :root{
    --bg:#050914;
    --bg2:#081021;
    --panel:#0d1730;
    --panel2:#111e3c;
    --line:rgba(173,193,232,.16);
    --ink:#f3f6ff;
    --muted:#9eacc9;
    --gold:#f0b429;
    --magenta:#d63384;
    --cyan:#4cc9f0;
    --grad:linear-gradient(92deg,#f0b429 0%,#e2653a 45%,#d63384 100%);
    --font-head:'Barlow Condensed',sans-serif;
    --font-body:'Inter',sans-serif;
    --shadow:0 24px 70px rgba(0,0,0,.28);
  }
  
  *{
    margin:0;
    padding:0;
    box-sizing:border-box
  }
  
  html{
    scroll-behavior:smooth;
    scroll-padding-top:88px
  }
  
  body{
    background:var(--bg);
    color:var(--ink);
    font-family:var(--font-body);
    line-height:1.65;
    overflow-x:hidden
  }
  
  img{
    max-width:100%;
    display:block
  }
  
  a{
    color:var(--gold)
  }
  
  a:hover{
    text-decoration:none
  }
  
  button,a{
    touch-action:manipulation
  }
  
  .container{
    max-width:1180px;
    margin:0 auto;
    padding:0 24px
  }
  
  .container-wide{
    max-width:1500px;
    margin:0 auto;
    padding:0 24px
  }
  
  section{
    padding:100px 0;
    position:relative
  }
  
  h1,h2,h3,h4{
    font-family:var(--font-head);
    text-transform:uppercase;
    letter-spacing:.02em;
    line-height:1.04;
    font-weight:700
  }
  
  .section-heading{
    margin-bottom:48px
  }
  
  .section-heading.centered{
    text-align:center
  }
  
  .section-heading.centered .section-sub{
    margin-left:auto;
    margin-right:auto
  }
  
  .section-title{
    font-size:clamp(2.15rem,4.8vw,4rem);
    margin-bottom:16px
  }
  
  .section-sub{
    color:var(--muted);
    max-width:680px;
    margin-bottom:0
  }
  
  .kicker{
    display:inline-flex;
    align-items:center;
    gap:13px;
    font-family:var(--font-head);
    font-size:.94rem;
    letter-spacing:.32em;
    text-transform:uppercase;
    color:var(--gold);
    margin-bottom:16px
  }
  
  .kicker::before{
    content:"";
    width:32px;
    height:2px;
    background:var(--grad);
    display:block
  }
  
  
  /* ============================================================
     TOP BAR
     ============================================================ */
  
  .topbar{
    background:#03060d;
    border-bottom:1px solid var(--line);
    text-align:center;
    padding:9px 16px;
    font-family:var(--font-head);
    font-size:.82rem;
    letter-spacing:.2em;
    text-transform:uppercase;
    color:var(--muted)
  }
  
  .topbar b{
    color:var(--gold);
    font-weight:600
  }
  
  .topbar span{
    margin:0 8px;
    color:#657494
  }
  
  
  /* ============================================================
     NAVIGATION
     ============================================================ */
  
  .nav{
    position:sticky;
    top:0;
    z-index:1000;
    background:rgba(4,8,18,.48);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
    border-bottom:1px solid transparent;
    transition:.3s
  }
  
  .nav.scrolled{
    background:rgba(4,8,18,.94);
    border-bottom-color:var(--line)
  }
  
  .nav-inner{
    max-width:1280px;
    margin:0 auto;
    padding:0 28px;
    min-height:78px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px
  }
  
  .brand{
    display:flex;
    align-items:center;
    gap:13px;
    text-decoration:none;
    min-width:0
  }
  
  .brand img{
    height:54px;
    width:auto
  }
  
  .brand-name{
    font-family:var(--font-head);
    font-size:1.45rem;
    font-weight:700;
    letter-spacing:.06em;
    color:var(--ink);
    line-height:1;
    text-decoration:none
  }
  
  .brand-name small{
    display:block;
    font-family:var(--font-body);
    font-size:.58rem;
    letter-spacing:.28em;
    text-transform:uppercase;
    color:var(--muted);
    margin-top:5px;
    font-weight:500
  }
  
  .nav-links{
    display:flex;
    align-items:center;
    gap:4px;
    list-style:none
  }
  
  .nav-links a{
    display:block;
    padding:10px 14px;
    color:var(--ink);
    font-weight:600;
    font-size:.78rem;
    letter-spacing:.09em;
    text-transform:uppercase;
    text-decoration:none;
    transition:.2s
  }
  
  .nav-links a:hover,
  .nav-links a.active{
    color:var(--gold)
  }
  
  .nav-links a.nav-cta{
    background:var(--grad);
    color:#090710;
    margin-left:8px;
    padding:11px 20px
  }
  
  .nav-links a.nav-cta:hover{
    filter:brightness(1.1);
    color:#090710
  }
  
  .hamburger{
    display:none;
    background:rgba(255,255,255,.03);
    border:1px solid var(--line);
    color:var(--ink);
    font-size:1.2rem;
    padding:8px 12px;
    border-radius:4px;
    cursor:pointer
  }
  
  
  /* ============================================================
     HERO
     ============================================================ */
  
  .hero-slider{
    height:min(88vh,900px);
    min-height:690px;
    position:relative;
    overflow:hidden;
    background:#03060d
  }
  
  .slides,
  .slide{
    position:absolute;
    inset:0
  }
  
  .slide{
    opacity:0;
    visibility:hidden;
    background-image:var(--slide-image);
    background-size:cover;
    background-position:center;
    transition:opacity 1s ease,visibility 1s ease
  }
  
  .slide.is-active{
    opacity:1;
    visibility:visible
  }
  
  .slide-overlay{
    position:absolute;
    inset:0;
    background:
      linear-gradient(
        90deg,
        rgba(3,6,13,.96) 0%,
        rgba(3,6,13,.76) 42%,
        rgba(3,6,13,.32) 100%
      ),
      linear-gradient(
        0deg,
        rgba(3,6,13,.75),
        transparent 48%,
        rgba(3,6,13,.2)
      )
  }
  
  .slide-content{
    height:100%;
    position:relative;
    z-index:2;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;
    padding-top:70px;
    padding-bottom:90px
  }
  
  .slide-content h1,
  .slide-content h2{
    font-size:clamp(3rem,6.6vw,6.4rem);
    max-width:1050px;
    margin-bottom:22px;
    letter-spacing:.01em
  }
  
  .slide-content h2{
    max-width:900px
  }
  
  .slide-content h1 em,
  .slide-content h2 em{
    font-style:normal;
    color:var(--gold)
  }
  
  .hero-theme{
    max-width:830px;
    color:#d3dcf1;
    font-size:1.05rem;
    line-height:1.8;
    margin-bottom:30px
  }
  
  .hero-theme strong{
    color:#fff
  }
  
  .hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px
  }
  
  .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    font-family:var(--font-head);
    text-transform:uppercase;
    letter-spacing:.1em;
    font-weight:600;
    font-size:.95rem;
    padding:14px 27px;
    border-radius:3px;
    text-decoration:none;
    transition:.25s;
    border:1px solid transparent;
    cursor:pointer
  }
  
  .btn:hover{
    transform:translateY(-2px)
  }
  
  .btn-primary{
    background:var(--grad);
    color:#090710
  }
  
  .btn-primary:hover{
    filter:brightness(1.1);
    color:#090710
  }
  
  .btn-light{
    background:rgba(255,255,255,.08);
    border-color:rgba(255,255,255,.34);
    color:#fff
  }
  
  .btn-light:hover{
    border-color:var(--gold);
    color:var(--gold)
  }
  
  .countdown{
    display:flex;
    gap:10px;
    margin-top:42px
  }
  
  .cd{
    min-width:84px;
    padding:13px 9px 10px;
    text-align:center;
    background:rgba(5,9,20,.64);
    border:1px solid rgba(255,255,255,.14);
    backdrop-filter:blur(10px)
  }
  
  .cd b{
    display:block;
    font-family:var(--font-head);
    font-size:2.15rem;
    color:var(--gold);
    line-height:1
  }
  
  .cd small{
    display:block;
    margin-top:5px;
    font-size:.62rem;
    letter-spacing:.22em;
    text-transform:uppercase;
    color:#b8c3da
  }
  
  .slider-arrow{
    position:absolute;
    z-index:5;
    top:50%;
    transform:translateY(-50%);
    width:48px;
    height:48px;
    border:1px solid rgba(255,255,255,.26);
    background:rgba(3,6,13,.35);
    color:#fff;
    font-size:2.2rem;
    line-height:1;
    cursor:pointer;
    backdrop-filter:blur(8px);
    transition:.2s
  }
  
  .slider-arrow:hover{
    border-color:var(--gold);
    color:var(--gold)
  }
  
  .slider-prev{
    left:22px
  }
  
  .slider-next{
    right:22px
  }
  
  .slider-dots{
    position:absolute;
    z-index:6;
    left:50%;
    bottom:25px;
    transform:translateX(-50%);
    display:flex;
    gap:9px
  }
  
  .dot{
    width:32px;
    height:3px;
    border:0;
    background:rgba(255,255,255,.34);
    cursor:pointer;
    transition:.25s
  }
  
  .dot.is-active{
    background:var(--gold);
    width:52px
  }
  
  
  /* ============================================================
     LEADERS
     ============================================================ */
  
  .leaders-section{
    background:#070c18;
    border-bottom:1px solid var(--line)
  }
  
  .leaders-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px
  }
  
  .leader-card{
    background:var(--panel);
    border:1px solid var(--line);
    overflow:hidden;
    transition:.28s
  }
  
  .leader-card:hover{
    transform:translateY(-7px);
    border-color:rgba(240,180,41,.45);
    box-shadow:var(--shadow)
  }
  
  .leader-photo{
    height:310px;
    background:#101a33;
    overflow:hidden
  }
  
  .leader-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:top center;
    filter:saturate(.82);
    transition:.45s
  }
  
  .leader-card:hover .leader-photo img{
    transform:scale(1.04);
    filter:saturate(1)
  }
  
  .leader-info{
    padding:20px 20px 22px
  }
  
  .leader-info h3{
    font-size:1.22rem;
    margin-bottom:6px
  }
  
  .leader-info p{
    color:var(--gold);
    font-size:.76rem;
    letter-spacing:.12em;
    text-transform:uppercase
  }
  
  
  /* ============================================================
     ABOUT
     ============================================================ */
  
  .about-section{
    background:
      radial-gradient(
        900px 500px at 92% 10%,
        rgba(214,51,132,.1),
        transparent 60%
      )
  }
  
  .about-grid-premium{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:70px;
    align-items:center
  }
  
  .about-grid-premium>div:first-child p{
    color:var(--muted);
    max-width:640px;
    margin-bottom:18px
  }
  
  .about-grid-premium strong{
    color:var(--ink)
  }
  
  .about-btn{
    margin-top:16px
  }
  
  .about-visual{
    position:relative
  }
  
  .about-visual>img{
    width:100%;
    border:1px solid var(--line);
    box-shadow:var(--shadow)
  }
  
  .about-float-card{
    position:absolute;
    right:-24px;
    bottom:-26px;
    background:rgba(8,16,34,.96);
    border:1px solid rgba(240,180,41,.45);
    padding:22px 24px;
    min-width:230px;
    box-shadow:var(--shadow)
  }
  
  .about-float-card strong{
    display:block;
    font-family:var(--font-head);
    font-size:1.2rem;
    color:var(--gold);
    letter-spacing:.08em;
    margin-bottom:9px
  }
  
  .about-float-card span{
    display:block;
    color:#d2dbee;
    font-size:.82rem;
    padding:5px 0;
    border-bottom:1px solid rgba(255,255,255,.08)
  }
  
  .about-float-card span:last-child{
    border-bottom:0
  }
  
  
  /* ============================================================
     VISUAL GALLERY
     ============================================================ */
  
  .visual-experience{
    background:#03060d;
    padding-bottom:110px
  }
  
  .visual-gallery{
    display:grid;
    grid-template-columns:1.45fr 1fr 1fr;
    grid-template-rows:260px 260px;
    gap:12px
  }
  
  .gallery-item{
    position:relative;
    overflow:hidden;
    border:1px solid var(--line);
    min-width:0
  }
  
  .gallery-item img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.45s
  }
  
  .gallery-item::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(
      0deg,
      rgba(3,6,13,.86),
      transparent 55%
    )
  }
  
  .gallery-item:hover img{
    transform:scale(1.045)
  }
  
  .gallery-item figcaption{
    position:absolute;
    z-index:2;
    left:20px;
    bottom:17px;
    font-family:var(--font-head);
    font-size:1.15rem;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:#fff
  }
  
  .gallery-large{
    grid-row:span 2
  }
  
  .gallery-large figcaption{
    font-size:1.55rem
  }
  
  
  /* ============================================================
     TRACKS
     ============================================================ */
  
  .tracks-section{
    background:var(--bg2)
  }
  
  .tracks-premium-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px
  }
  
  .track-card{
    background:var(--panel);
    border:1px solid var(--line);
    overflow:hidden;
    transition:.28s
  }
  
  .track-card:hover{
    transform:translateY(-6px);
    border-color:rgba(214,51,132,.55);
    box-shadow:var(--shadow)
  }
  
  .track-card>img{
    width:100%;
    height:190px;
    object-fit:cover
  }
  
  .track-card-body{
    padding:25px
  }
  
  .track-number{
    font-family:var(--font-head);
    color:var(--magenta);
    font-size:.78rem;
    letter-spacing:.25em;
    text-transform:uppercase
  }
  
  .track-card h3{
    font-size:1.35rem;
    margin:10px 0 16px
  }
  
  .track-card ul{
    list-style:none
  }
  
  .track-card li{
    color:var(--muted);
    font-size:.84rem;
    padding:8px 0 8px 19px;
    border-bottom:1px dashed rgba(148,170,220,.1);
    position:relative
  }
  
  .track-card li:last-child{
    border-bottom:0
  }
  
  .track-card li::before{
    content:"";
    position:absolute;
    left:0;
    top:15px;
    width:7px;
    height:7px;
    background:var(--grad);
    border-radius:1px
  }
  
  .track-cta{
    background:
      linear-gradient(
        145deg,
        rgba(214,51,132,.2),
        rgba(17,30,60,.92)
      );
    border-color:rgba(214,51,132,.48);
    display:flex;
    align-items:stretch
  }
  
  .track-cta-inner{
    padding:34px;
    display:flex;
    flex-direction:column;
    justify-content:center
  }
  
  .track-cta h3{
    font-size:2rem;
    margin:12px 0
  }
  
  .track-cta p{
    color:var(--muted);
    font-size:.9rem;
    margin-bottom:24px
  }
  
  .track-cta .btn{
    align-self:flex-start
  }
  
  
  /* ============================================================
     DATES
     ============================================================ */
  
  .dates-section{
    background:linear-gradient(
      180deg,
      #071020,
      #050914
    );
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line)
  }
  
  .timeline-premium{
    max-width:980px;
    margin:0 auto;
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:15px
  }
  
  .date-item{
    display:grid;
    grid-template-columns:58px 1fr;
    gap:18px;
    align-items:center;
    background:rgba(13,23,48,.8);
    border:1px solid var(--line);
    padding:20px 22px;
    transition:.25s
  }
  
  .date-item:hover{
    border-color:rgba(240,180,41,.45);
    transform:translateY(-3px)
  }
  
  .date-marker{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border:1px solid rgba(240,180,41,.5);
    color:var(--gold);
    font-family:var(--font-head);
    font-weight:700
  }
  
  .date-item h3{
    font-size:1.05rem;
    margin-bottom:6px
  }
  
  .date-item time{
    font-family:var(--font-head);
    font-size:1.18rem;
    color:#fff;
    letter-spacing:.04em
  }
  
  .date-final{
    background:
      linear-gradient(
        145deg,
        rgba(240,180,41,.15),
        rgba(13,23,48,.92)
      );
    border-color:rgba(240,180,41,.45)
  }
  
  
  /* ============================================================
     WHY ATTEND
     ============================================================ */
  
  .why-section{
    background:#060b18
  }
  
  .why-grid{
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:65px;
    align-items:start
  }
  
  .why-visual{
    position:sticky;
    top:115px
  }
  
  .why-visual img{
    width:100%;
    border:1px solid var(--line);
    box-shadow:var(--shadow)
  }
  
  .why-list{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:12px;
    margin-top:30px
  }
  
  .why-item{
    display:grid;
    grid-template-columns:42px 1fr;
    gap:12px;
    border-top:1px solid var(--line);
    padding:18px 0
  }
  
  .why-item>span{
    font-family:var(--font-head);
    color:var(--gold);
    font-size:.9rem
  }
  
  .why-item h3{
    font-size:1.05rem;
    margin-bottom:5px
  }
  
  .why-item p{
    font-size:.82rem;
    color:var(--muted)
  }
  
  
  /* ============================================================
     PUBLICATION
     ============================================================ */
  
  .publication-section{
    background:#03060d
  }
  
  .publication-card{
    display:grid;
    grid-template-columns:1fr 1fr;
    background:#090f20;
    border:1px solid var(--line);
    overflow:hidden;
    box-shadow:var(--shadow)
  }
  
  .publication-image{
    min-height:420px
  }
  
  .publication-image img{
    width:100%;
    height:100%;
    object-fit:cover
  }
  
  .publication-content{
    padding:58px 54px;
    display:flex;
    flex-direction:column;
    justify-content:center
  }
  
  .publication-content h2{
    font-size:clamp(2.2rem,4.3vw,3.7rem);
    margin-bottom:18px
  }
  
  .publication-content p{
    color:var(--muted);
    font-size:1rem;
    max-width:580px;
    margin-bottom:28px
  }
  
  .publication-content strong{
    color:#fff
  }
  
  .publication-content .btn{
    align-self:flex-start
  }
  
  
  /* ============================================================
     FINAL CTA
     ============================================================ */
  
  .final-cta{
    min-height:620px;
    display:grid;
    place-items:center;
    overflow:hidden;
    padding:0
  }
  
  .final-cta-bg,
  .final-cta-bg::after{
    position:absolute;
    inset:0
  }
  
  .final-cta-bg img{
    width:100%;
    height:100%;
    object-fit:cover
  }
  
  .final-cta-bg::after{
    content:"";
    background:
      linear-gradient(
        90deg,
        rgba(3,6,13,.9),
        rgba(3,6,13,.48)
      ),
      linear-gradient(
        0deg,
        rgba(3,6,13,.82),
        transparent 65%
      )
  }
  
  .final-cta-content{
    position:relative;
    z-index:2;
    text-align:center;
    max-width:850px;
    padding-top:60px
  }
  
  .final-cta-content h2{
    font-size:clamp(3rem,7vw,6rem);
    margin-bottom:18px
  }
  
  .final-cta-content p{
    color:#d1daed;
    max-width:640px;
    margin:0 auto 28px;
    font-size:1.02rem
  }
  
  
  /* ============================================================
     PARTNERS
     ============================================================ */
  
  .partners-section{
    background:#f6f7fa;
    color:#0a1224;
    padding-bottom:82px
  }
  
  .partners-section .section-title{
    color:#0a1224
  }
  
  .partners-section .section-sub{
    color:#53617a
  }
  
  .partners-section .kicker{
    color:#8f1c55
  }
  
  .partner-logo-grid{
    display:flex;
    flex-direction:row;
    flex-wrap:wrap;
    align-items:center;
    justify-content:center;
    gap:24px;
    margin-top:30px
  }
  
  .partner-logo-card{
    flex:0 1 300px;
    min-width:220px;
    min-height:150px;
    background:#fff;
    border:1px solid #dce1ea;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
    transition:
      transform .25s ease,
      box-shadow .25s ease
  }
  
  .partner-logo-card:hover{
    transform:translateY(-4px);
    box-shadow:0 18px 40px rgba(20,35,70,.1)
  }
  
  .partner-logo-card img{
    display:block;
    width:auto;
    max-width:100%;
    height:100px;
    object-fit:contain
  }
  
  .existing-partners{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:10px;
    margin-top:24px
  }
  
  .existing-partners span{
    border:1px solid #d5dce7;
    background:#fff;
    padding:8px 15px;
    color:#5b6880;
    font-size:.74rem;
    letter-spacing:.1em;
    text-transform:uppercase
  }
  
  
  /* ============================================================
     FOOTER
     ============================================================ */
  
  footer{
    background:#03060d;
    border-top:1px solid var(--line);
    padding:60px 0 34px;
    text-align:center
  }
  
  footer .footer-brand{
    justify-content:center;
    margin-bottom:20px
  }
  
  footer .brand img{
    height:60px
  }
  
  footer p{
    color:var(--muted);
    font-size:.86rem
  }
  
  .footer-links{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:20px;
    margin:25px 0
  }
  
  .footer-links a{
    color:#d5dced;
    font-size:.78rem;
    letter-spacing:.1em;
    text-transform:uppercase
  }
  
  .footer-links a:hover{
    color:var(--gold)
  }
  
  .copy{
    font-size:.74rem;
    color:#5d6b8d;
    margin-top:8px
  }
  
  
  /* ============================================================
     REVEAL
     ============================================================ */
  
  .reveal{
    opacity:0;
    transform:translateY(24px);
    transition:
      opacity .72s ease,
      transform .72s ease
  }
  
  .reveal.in{
    opacity:1;
    transform:none
  }
  
  
  /* ============================================================
     SPEAKERS
     ============================================================ */
  
  .page-hero{
    padding:150px 0 80px;
    text-align:center;
    position:relative;
    overflow:hidden;
    background:
      radial-gradient(
        900px 420px at 80% -20%,
        rgba(214,51,132,.18),
        transparent 60%
      ),
      linear-gradient(
        180deg,
        #0a1128,
        #060a15
      )
  }
  
  .page-hero h1{
    font-size:clamp(2.4rem,5.5vw,4.2rem);
    margin-bottom:16px
  }
  
  .page-hero p{
    color:var(--muted);
    max-width:640px;
    margin:0 auto
  }
  
  .spotlight{
    display:grid;
    grid-template-columns:.9fr 1.4fr;
    gap:0;
    background:var(--panel);
    border:1px solid var(--line);
    border-radius:14px;
    overflow:hidden;
    margin-bottom:56px
  }
  
  .spotlight .photo{
    min-height:420px;
    background-size:cover;
    background-position:top center;
    border-right:1px solid var(--line)
  }
  
  .spotlight .body{
    padding:44px 46px
  }
  
  .spotlight .role{
    font-family:var(--font-head);
    letter-spacing:.26em;
    text-transform:uppercase;
    color:var(--gold);
    font-size:.85rem;
    display:block;
    margin-bottom:12px
  }
  
  .spotlight h3{
    font-size:1.9rem;
    margin-bottom:8px
  }
  
  .spotlight .aff{
    color:var(--magenta);
    font-weight:600;
    font-size:.9rem;
    margin-bottom:18px
  }
  
  .spotlight .bio{
    color:var(--muted);
    font-size:.93rem;
    margin-bottom:20px
  }
  
  .tags{
    display:flex;
    flex-wrap:wrap;
    gap:8px
  }
  
  .tags span{
    border:1px solid var(--line);
    border-radius:999px;
    padding:6px 14px;
    font-size:.75rem;
    letter-spacing:.06em;
    color:var(--muted)
  }
  
  .speakers-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px
  }
  
  .spk{
    background:var(--panel);
    border:1px solid var(--line);
    border-radius:12px;
    overflow:hidden;
    transition:.25s
  }
  
  .spk:hover{
    transform:translateY(-5px);
    border-color:rgba(240,180,41,.45)
  }
  
  .spk .photo{
    height:250px;
    position:relative;
    background:
      linear-gradient(
        160deg,
        var(--panel2),
        var(--panel)
      );
    display:flex;
    align-items:flex-end;
    justify-content:center;
    overflow:hidden
  }
  
  .spk .photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:top;
    filter:grayscale(.3);
    transition:.4s
  }
  
  .spk:hover .photo img{
    filter:grayscale(0)
  }
  
  .spk .photo .mono{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    font-family:var(--font-head);
    font-size:4.4rem;
    font-weight:700;
    color:rgba(238,242,255,.14)
  }
  
  .spk .photo .role{
    position:absolute;
    top:14px;
    left:14px;
    background:var(--grad);
    color:#0a0812;
    font-family:var(--font-head);
    text-transform:uppercase;
    letter-spacing:.1em;
    font-size:.72rem;
    font-weight:700;
    padding:6px 12px;
    border-radius:3px;
    z-index:2
  }
  
  .spk .info{
    padding:24px 24px 26px
  }
  
  .spk .info h4{
    font-size:1.2rem;
    margin-bottom:4px
  }
  
  .spk .info .aff{
    color:var(--gold);
    font-size:.8rem;
    font-weight:600;
    margin-bottom:12px
  }
  
  .spk .info .bio{
    color:var(--muted);
    font-size:.86rem
  }
  
  .tba{
    margin-top:56px;
    border:1px dashed rgba(240,180,41,.4);
    border-radius:12px;
    padding:40px;
    text-align:center;
    background:rgba(240,180,41,.05)
  }
  
  .tba h3{
    font-size:1.4rem;
    margin-bottom:10px;
    color:var(--gold)
  }
  
  .tba p{
    color:var(--muted);
    font-size:.92rem
  }
  
  
  /* ============================================================
     REGISTER PAGE
     ============================================================ */
  
  .reg-wrap{
    display:grid;
    grid-template-columns:1.5fr .9fr;
    gap:32px;
    align-items:start
  }
  
  .form-card{
    background:var(--panel);
    border:1px solid var(--line);
    border-radius:14px;
    padding:40px
  }
  
  .form-card h3{
    font-size:1.3rem;
    margin-bottom:24px
  }
  
  .fields{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px
  }
  
  .field{
    display:flex;
    flex-direction:column;
    gap:7px
  }
  
  .field.full{
    grid-column:1/-1
  }
  
  .field label{
    font-size:.72rem;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:var(--muted);
    font-weight:600
  }
  
  .field label i{
    color:var(--magenta);
    font-style:normal
  }
  
  .field input,
  .field select,
  .field textarea{
    background:var(--bg2);
    border:1px solid var(--line);
    border-radius:6px;
    padding:13px 15px;
    color:var(--ink);
    font-family:var(--font-body);
    font-size:.92rem;
    transition:.2s;
    width:100%
  }
  
  .field input:focus,
  .field select:focus,
  .field textarea:focus{
    outline:none;
    border-color:var(--gold);
    box-shadow:0 0 0 3px rgba(240,180,41,.12)
  }
  
  .field select option{
    background:var(--bg2)
  }
  
  .form-success{
    display:none;
    text-align:center;
    padding:40px 10px
  }
  
  .form-success h3{
    font-size:1.4rem;
    margin:14px 0 10px
  }
  
  .form-success p{
    color:var(--muted);
    max-width:420px;
    margin:0 auto
  }
  
  .side-card{
    background:var(--panel);
    border:1px solid var(--line);
    border-radius:14px;
    padding:30px
  }
  
  .side-card h3{
    font-size:1.1rem;
    margin-bottom:18px;
    letter-spacing:.08em
  }
  
  .pay-row{
    display:flex;
    justify-content:space-between;
    gap:12px;
    padding:11px 0;
    border-bottom:1px dashed var(--line);
    font-size:.88rem
  }
  
  .pay-row b{
    color:var(--muted);
    font-weight:600;
    letter-spacing:.06em;
    text-transform:uppercase;
    font-size:.72rem;
    padding-top:2px
  }
  
  .pay-row span{
    color:var(--ink);
    font-weight:600;
    text-align:right
  }
  
  .note{
    font-size:.8rem;
    color:var(--muted);
    margin-top:14px
  }
  
  .mini-list{
    list-style:none
  }
  
  .mini-list li{
    color:var(--muted);
    font-size:.86rem;
    padding:10px 0 10px 22px;
    position:relative;
    border-bottom:1px dashed rgba(148,170,220,.1)
  }
  
  .mini-list li:last-child{
    border-bottom:none
  }
  
  .mini-list li::before{
    content:"";
    position:absolute;
    left:0;
    top:17px;
    width:8px;
    height:8px;
    background:var(--grad);
    border-radius:2px
  }
  
  
  /* ============================================================
     REGISTRATION FEES
     CORRECTED FLIP CARD VERSION
     ============================================================ */
  
  .registration-fees{
    margin-bottom:70px
  }
  
  .fee-heading{
    margin-bottom:42px
  }
  
  .fee-heading .section-title{
    font-size:clamp(2rem,4vw,3.2rem);
    margin-bottom:12px
  }
  
  .fee-heading .section-sub{
    max-width:650px
  }
  
  
  /* ============================================================
     FEE GRID
     ============================================================ */
  
  .fee-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px;
    align-items:stretch
  }
  
  
  /* ============================================================
     FLIP CARD CONTAINER
     ============================================================ */
  
  .fee-card.flip-card{
    position:relative;
  
    min-height:560px;
    height:560px;
  
    padding:0 !important;
  
    background:transparent !important;
  
    border:none !important;
  
    border-radius:14px;
  
    box-shadow:none !important;
  
    overflow:visible !important;
  
    transform:none !important;
  
    cursor:pointer;
  
    perspective:1200px;
  
    transition:none !important;
  }
  
  
  /* Remove old fee-card accent */
  .fee-card.flip-card::before{
    display:none !important;
  }
  
  
  /* ============================================================
     INNER CARD
     ============================================================ */
  
  .fee-card-inner{
    position:relative !important;
  
    width:100% !important;
    height:100% !important;
    min-height:560px !important;
  
    transform:none !important;
  
    transform-style:flat !important;
  
    transition:none !important;
  }
  
  
  /* ============================================================
     FRONT AND BACK
     ============================================================ */
  
  .fee-card-front,
  .fee-card-back{
    position:absolute !important;
  
    top:0 !important;
    right:0 !important;
    bottom:0 !important;
    left:0 !important;
  
    width:100% !important;
    height:100% !important;
    min-height:560px !important;
  
    box-sizing:border-box;
  
    border-radius:14px;
  
    overflow:hidden !important;
  
    background:
      linear-gradient(
        155deg,
        rgba(17,30,60,.98),
        rgba(7,13,30,.98)
      ) !important;
  
    border:1px solid var(--line);
  
    box-shadow:
      0 18px 45px rgba(0,0,0,.22);
  
    backface-visibility:hidden !important;
    -webkit-backface-visibility:hidden !important;
  
    transition:
      opacity .4s ease,
      visibility .4s ease !important;
  
    transform:none !important;
  }
  
  
  /* ============================================================
     FRONT
     ============================================================ */
  
  .fee-card-front{
    z-index:2 !important;
  
    opacity:1 !important;
  
    visibility:visible !important;
  
    transform:none !important;
  }
  
  
  /* ============================================================
     BACK
     ============================================================ */
  
  .fee-card-back{
    z-index:1 !important;
  
    opacity:0 !important;
  
    visibility:hidden !important;
  
    transform:none !important;
  }
  
  
  /* ============================================================
     FLIPPED STATE
     ============================================================ */
  
  .fee-card.flip-card.is-flipped .fee-card-front{
    z-index:1 !important;
  
    opacity:0 !important;
  
    visibility:hidden !important;
  
    transform:none !important;
  }
  
  .fee-card.flip-card.is-flipped .fee-card-back{
    z-index:5 !important;
  
    opacity:1 !important;
  
    visibility:visible !important;
  
    transform:none !important;
  }
  
  
  /*
     Prevent the old 3D rotation from register.html
     from making the payment details appear backwards.
  */
  
  .fee-card.flip-card.is-flipped .fee-card-inner{
    transform:none !important;
  }
  
  
  /* ============================================================
     CARD TOP ACCENT
     ============================================================ */
  
  .fee-card-front::before,
  .fee-card-back::before{
    content:"";
  
    position:absolute;
  
    top:0;
    left:0;
    right:0;
  
    height:4px;
  
    background:var(--grad);
  
    z-index:5;
  }
  
  
  /* ============================================================
     FRONT CARD HEADER
     ============================================================ */
  
  .fee-card-front .fee-card-header{
    position:relative;
  
    padding:30px 28px 24px;
  
    background:
      linear-gradient(
        135deg,
        rgba(240,180,41,.12),
        rgba(214,51,132,.08)
      );
  
    border-bottom:1px solid var(--line)
  }
  
  .fee-number{
    display:block;
  
    font-family:var(--font-head);
  
    font-size:.72rem;
  
    font-weight:700;
  
    letter-spacing:.25em;
  
    color:var(--gold);
  
    margin-bottom:10px
  }
  
  .fee-card-header h3{
    font-size:1.45rem;
  
    margin:0;
  
    color:#fff;
  
    line-height:1.1
  }
  
  
  /* ============================================================
     FEE BADGE
     ============================================================ */
  
  .fee-badge{
    position:absolute;
  
    top:25px;
  
    right:22px;
  
    padding:6px 10px;
  
    border:1px solid rgba(240,180,41,.4);
  
    background:rgba(240,180,41,.08);
  
    color:var(--gold);
  
    font-family:var(--font-head);
  
    font-size:.62rem;
  
    font-weight:700;
  
    letter-spacing:.14em;
  
    border-radius:3px
  }
  
  
  /* ============================================================
     CARD BODY
     ============================================================ */
  
  .fee-card-body{
    padding:30px 28px 32px
  }
  
  
  /* ============================================================
     MAIN PRICE
     ============================================================ */
  
  .fee-main{
    display:flex;
  
    align-items:flex-end;
  
    flex-wrap:wrap;
  
    column-gap:2px;
  
    margin-bottom:22px
  }
  
  .fee-main .currency{
    font-family:var(--font-head);
  
    font-size:1.7rem;
  
    font-weight:700;
  
    color:var(--gold);
  
    line-height:1;
  
    margin-bottom:7px
  }
  
  .fee-main strong{
    font-family:var(--font-head);
  
    font-size:3.25rem;
  
    line-height:.9;
  
    letter-spacing:.01em;
  
    color:#fff
  }
  
  .fee-main .usd{
    width:100%;
  
    margin-top:9px;
  
    padding-left:3px;
  
    color:var(--muted);
  
    font-size:.78rem;
  
    letter-spacing:.12em;
  
    text-transform:uppercase
  }
  
  
  /* ============================================================
     STUDENT RATE
     ============================================================ */
  
  .student-fee{
    display:grid;
  
    grid-template-columns:1fr auto;
  
    align-items:center;
  
    gap:5px 14px;
  
    padding:15px 16px;
  
    background:rgba(240,180,41,.07);
  
    border:1px solid rgba(240,180,41,.16);
  
    border-radius:8px
  }
  
  .student-fee span{
    color:#c9d2e7;
  
    font-size:.76rem;
  
    letter-spacing:.08em;
  
    text-transform:uppercase
  }
  
  .student-fee strong{
    color:var(--gold);
  
    font-family:var(--font-head);
  
    font-size:1.25rem
  }
  
  .student-fee small{
    grid-column:1/-1;
  
    color:var(--muted);
  
    font-size:.72rem
  }
  
  
  /* ============================================================
     DIVIDER
     ============================================================ */
  
  .fee-line{
    height:1px;
  
    background:var(--line);
  
    margin:24px 0 18px
  }
  
  
  /* ============================================================
     DESCRIPTION
     ============================================================ */
  
  .fee-note{
    color:var(--muted);
  
    font-size:.8rem;
  
    line-height:1.7;
  
    margin:0
  }
  
  
  /* ============================================================
     CLICK HINT
     ============================================================ */
  
  .fee-click-hint{
    display:block;
  
    margin-top:22px;
  
    color:var(--gold);
  
    font-family:var(--font-head);
  
    font-size:.75rem;
  
    font-weight:700;
  
    letter-spacing:.12em;
  
    text-transform:uppercase;
  
    text-align:center
  }
  
  
  /* ============================================================
     PAYMENT DETAILS
     ============================================================ */
  
  .payment-details{
    padding:34px 28px 28px
  }
  
  .payment-details h3{
    color:var(--gold);
  
    font-family:var(--font-head);
  
    font-size:1.45rem;
  
    letter-spacing:.08em;
  
    margin-bottom:25px
  }
  
  .payment-detail{
    display:flex;
  
    align-items:center;
  
    justify-content:space-between;
  
    gap:20px;
  
    padding:16px 0;
  
    border-bottom:1px dashed rgba(148,170,220,.18)
  }
  
  .payment-detail:last-child{
    border-bottom:none
  }
  
  .payment-detail span{
    color:var(--muted);
  
    font-size:.78rem;
  
    letter-spacing:.08em;
  
    text-transform:uppercase
  }
  
  .payment-detail strong{
    color:#fff;
  
    font-size:.9rem;
  
    text-align:right;
  
    word-break:break-word
  }
  
  
  /* ============================================================
     PAYMENT ICON
     ============================================================ */
  
  .payment-icon{
    width:58px;
    height:58px;
  
    display:grid;
  
    place-items:center;
  
    margin:8px auto 18px;
  
    border:1px solid rgba(240,180,41,.35);
  
    border-radius:50%;
  
    color:var(--gold);
  
    background:rgba(240,180,41,.06);
  
    font-size:1.4rem
  }
  
  
  /* ============================================================
     PAYMENT BACK BUTTON
     ============================================================ */
  
  .payment-back{
    display:block;
  
    margin:25px auto 0;
  
    padding:10px 0;
  
    border:none;
  
    background:transparent;
  
    color:var(--gold);
  
    font-family:var(--font-head);
  
    font-size:.78rem;
  
    font-weight:700;
  
    letter-spacing:.12em;
  
    text-transform:uppercase;
  
    cursor:pointer;
  
    transition:.2s
  }
  
  .payment-back:hover{
    color:#fff;
  
    transform:translateY(-1px)
  }
  
  
  /* ============================================================
     CARD HOVER
     ============================================================ */
  
  .fee-card.flip-card:hover{
    transform:translateY(-8px) !important
  }
  
  .fee-card.flip-card:hover .fee-card-front,
  .fee-card.flip-card:hover .fee-card-back{
    border-color:rgba(240,180,41,.55);
  
    box-shadow:
      0 25px 60px rgba(0,0,0,.35),
      0 0 0 1px rgba(240,180,41,.08)
  }
  
  
  /* ============================================================
     FEATURED CARD
     ============================================================ */
  
  .fee-featured{
    border-color:rgba(240,180,41,.55)
  }
  
  .fee-featured:hover{
    border-color:rgba(240,180,41,.75)
  }
  
  
  /* ============================================================
     INFO NOTE
     ============================================================ */
  
  .fee-footer-note{
    display:flex;
  
    align-items:center;
  
    justify-content:center;
  
    gap:10px;
  
    max-width:700px;
  
    margin:25px auto 0;
  
    padding:13px 18px;
  
    background:rgba(76,201,240,.05);
  
    border:1px solid rgba(76,201,240,.12);
  
    border-radius:7px
  }
  
  .fee-info-icon{
    width:23px;
    height:23px;
  
    flex:0 0 23px;
  
    display:grid;
  
    place-items:center;
  
    border:1px solid rgba(76,201,240,.4);
  
    border-radius:50%;
  
    color:var(--cyan);
  
    font-family:serif;
  
    font-size:.75rem
  }
  
  .fee-footer-note p{
    color:var(--muted);
  
    font-size:.76rem;
  
    margin:0
  }
  
  
  /* ============================================================
     CONTACT
     ============================================================ */
  
  .contact-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:22px
  }
  
  .ccard{
    background:var(--panel);
    border:1px solid var(--line);
    border-radius:12px;
    padding:34px;
    transition:.25s
  }
  
  .ccard:hover{
    border-color:rgba(240,180,41,.45);
    transform:translateY(-4px)
  }
  
  .ccard h3{
    font-size:1.15rem;
    margin-bottom:16px;
    color:var(--gold);
    letter-spacing:.1em
  }
  
  .ccard p{
    color:var(--muted);
    font-size:.92rem;
    margin-bottom:10px
  }
  
  .ccard a{
    color:var(--ink);
    font-weight:600
  }
  
  .ccard a:hover{
    color:var(--gold)
  }
  
  .host-list{
    list-style:none
  }
  
  .host-list li{
    color:var(--muted);
    font-size:.88rem;
    padding:8px 0;
    border-bottom:1px dashed rgba(148,170,220,.1)
  }
  
  .host-list li:last-child{
    border-bottom:none
  }
  
  .host-list b{
    color:var(--ink)
  }
  
  
  /* ============================================================
     CTA BAND
     ============================================================ */
  
  .cta-band{
    background:
      radial-gradient(
        700px 300px at 15% 0%,
        rgba(240,180,41,.14),
        transparent 60%
      ),
      radial-gradient(
        700px 300px at 85% 100%,
        rgba(214,51,132,.16),
        transparent 60%
      ),
      var(--bg2);
  
    border-top:1px solid var(--line);
  
    text-align:center
  }
  
  .cta-band h2{
    font-size:clamp(2rem,4.4vw,3.2rem);
  
    margin-bottom:14px
  }
  
  .cta-band p{
    color:var(--muted);
  
    max-width:560px;
  
    margin:0 auto 32px
  }
  
  
  /* ============================================================
     PARTNER TEXT LOGOS
     ============================================================ */
  
  .partner-text-logo{
    width:220px;
    height:96px;
    padding:14px;
    text-align:center
  }
  
  .partner-text-logo span{
    font-family:inherit;
  
    font-weight:800;
  
    font-size:.9rem;
  
    line-height:1.25;
  
    color:#17213a;
  
    display:block;
  
    max-width:190px
  }
  
  
  /* ============================================================
     WHATSAPP FLOATING BUTTON
     ============================================================ */
  
  .whatsapp-float{
    position:fixed;
  
    right:24px;
  
    bottom:24px;
  
    z-index:9999;
  
    width:58px;
  
    height:58px;
  
    display:flex;
  
    align-items:center;
  
    justify-content:center;
  
    border-radius:50%;
  
    background:#25D366;
  
    color:#fff;
  
    text-decoration:none;
  
    box-shadow:
      0 10px 30px rgba(0,0,0,.35),
      0 0 0 1px rgba(255,255,255,.12);
  
    transition:
      transform .25s ease,
      box-shadow .25s ease,
      filter .25s ease
  }
  
  .whatsapp-float:hover{
    transform:translateY(-4px) scale(1.05);
  
    filter:brightness(1.05);
  
    color:#fff;
  
    box-shadow:
      0 15px 38px rgba(0,0,0,.4),
      0 0 0 5px rgba(37,211,102,.12)
  }
  
  .whatsapp-float svg{
    width:30px;
  
    height:30px;
  
    display:block;
  
    fill:#fff
  }
  
  .whatsapp-label{
    position:absolute;
  
    right:70px;
  
    top:50%;
  
    transform:translateY(-50%);
  
    background:#03060d;
  
    color:#fff;
  
    border:1px solid var(--line);
  
    padding:8px 12px;
  
    border-radius:5px;
  
    font-size:.72rem;
  
    white-space:nowrap;
  
    opacity:0;
  
    visibility:hidden;
  
    pointer-events:none;
  
    transition:.2s
  }
  
  .whatsapp-float:hover .whatsapp-label{
    opacity:1;
  
    visibility:visible
  }
  
  
  /* ============================================================
     RESPONSIVE — TABLET
     ============================================================ */
  
  @media(max-width:1050px){
  
    .nav-links a{
      padding-left:9px;
      padding-right:9px
    }
  
    .brand-name{
      font-size:1.28rem
    }
  
    .leaders-grid{
      grid-template-columns:repeat(2,1fr)
    }
  
    .tracks-premium-grid{
      grid-template-columns:repeat(2,1fr)
    }
  
    .why-grid{
      grid-template-columns:1fr
    }
  
    .why-visual{
      position:relative;
      top:auto;
      max-width:780px
    }
  
    .partner-logo-grid{
      flex-direction:row
    }
  
    .about-grid-premium{
      gap:45px
    }
  
    .fee-grid{
      grid-template-columns:repeat(2,1fr)
    }
  
    .fee-featured{
      transform:none
    }
  
    .fee-featured:hover{
      transform:none
    }
  
    .fee-card.flip-card:hover{
      transform:translateY(-8px) !important
    }
  
  }
  
  
  /* ============================================================
     RESPONSIVE — 960PX
     ============================================================ */
  
  @media(max-width:960px){
  
    .reg-wrap,
    .spotlight{
      grid-template-columns:1fr
    }
  
    .spotlight .photo{
      min-height:340px;
  
      border-right:none;
  
      border-bottom:1px solid var(--line)
    }
  
    .speakers-grid,
    .contact-grid{
      grid-template-columns:repeat(2,1fr)
    }
  
  }
  
  
  /* ============================================================
     RESPONSIVE — MOBILE
     ============================================================ */
  
  @media(max-width:760px){
  
    section{
      padding:76px 0
    }
  
    .container,
    .container-wide{
      padding-left:18px;
  
      padding-right:18px
    }
  
    .topbar{
      font-size:.65rem;
  
      letter-spacing:.1em
    }
  
    .topbar span{
      margin:0 4px
    }
  
    .nav-inner{
      min-height:70px;
  
      padding:0 18px
    }
  
    .brand img{
      height:45px
    }
  
    .brand-name{
      font-size:1.08rem
    }
  
    .brand-name small{
      font-size:.48rem;
  
      letter-spacing:.18em
    }
  
    .hamburger{
      display:block
    }
  
    .nav-links{
      position:absolute;
  
      left:0;
  
      right:0;
  
      top:70px;
  
      display:none;
  
      flex-direction:column;
  
      align-items:stretch;
  
      background:rgba(3,6,13,.98);
  
      padding:10px 18px 18px;
  
      border-bottom:1px solid var(--line);
  
      box-shadow:0 18px 35px rgba(0,0,0,.25)
    }
  
    .nav-links.open{
      display:flex
    }
  
    .nav-links a{
      padding:13px 12px
    }
  
    .nav-links a.nav-cta{
      margin:6px 0 0;
  
      text-align:center
    }
  
    .hero-slider{
      height:calc(100svh - 70px);
  
      min-height:650px
    }
  
    .slide{
      background-position:62% center
    }
  
    .slide-overlay{
      background:
        linear-gradient(
          90deg,
          rgba(3,6,13,.93),
          rgba(3,6,13,.72)
        ),
        linear-gradient(
          0deg,
          rgba(3,6,13,.88),
          transparent 65%
        )
    }
  
    .slide-content{
      padding-top:30px;
  
      padding-bottom:70px
    }
  
    .slide-content h1,
    .slide-content h2{
      font-size:clamp(2.65rem,13vw,4.2rem)
    }
  
    .hero-theme{
      font-size:.91rem
    }
  
    .countdown{
      gap:7px;
  
      margin-top:30px
    }
  
    .cd{
      min-width:69px;
  
      padding:11px 7px 9px
    }
  
    .cd b{
      font-size:1.75rem
    }
  
    .cd small{
      font-size:.53rem
    }
  
    .slider-arrow{
      width:40px;
  
      height:40px;
  
      font-size:1.8rem;
  
      top:auto;
  
      bottom:60px;
  
      transform:none
    }
  
    .slider-prev{
      left:18px
    }
  
    .slider-next{
      right:18px
    }
  
    .slider-dots{
      bottom:77px
    }
  
    .leaders-grid,
    .tracks-premium-grid,
    .timeline-premium,
    .partner-logo-grid,
    .why-list,
    .publication-card,
    .about-grid-premium{
      grid-template-columns:1fr
    }
  
    .leader-photo{
      height:330px
    }
  
    .about-float-card{
      position:relative;
  
      right:auto;
  
      bottom:auto;
  
      margin-top:-1px
    }
  
    .visual-gallery{
      grid-template-columns:1fr 1fr;
  
      grid-template-rows:220px 220px 220px
    }
  
    .gallery-large{
      grid-row:span 2
    }
  
    .gallery-large figcaption{
      font-size:1.2rem
    }
  
    .gallery-item figcaption{
      font-size:.88rem;
  
      left:14px;
  
      bottom:12px
    }
  
    .why-list{
      gap:0
    }
  
    .publication-image{
      min-height:300px
    }
  
    .publication-content{
      padding:42px 28px
    }
  
    .final-cta{
      min-height:560px
    }
  
    .final-cta-content{
      padding-top:40px
    }
  
    .partner-logo-grid{
      gap:14px
    }
  
    .partner-logo-card{
      flex:1 1 220px;
  
      min-height:150px
    }
  
    .partner-logo-card img{
      height:82px
    }
  
  
    /* MOBILE FEE CARDS */
  
    .fee-grid{
      grid-template-columns:1fr;
  
      gap:16px
    }
  
    .fee-card.flip-card,
    .fee-card-inner,
    .fee-card-front,
    .fee-card-back{
      min-height:560px !important;
  
      height:560px !important
    }
  
    .fee-card.flip-card,
    .fee-featured{
      transform:none !important
    }
  
    .fee-card.flip-card:hover{
      transform:translateY(-5px) !important
    }
  
    .fee-card-front .fee-card-header{
      padding:25px 22px 21px
    }
  
    .fee-card-body{
      padding:25px 22px 28px
    }
  
    .fee-main strong{
      font-size:2.9rem
    }
  
    .fee-badge{
      top:20px;
  
      right:18px
    }
  
    .payment-details{
      padding:30px 22px 25px
    }
  
    .whatsapp-float{
      width:54px;
  
      height:54px;
  
      right:18px;
  
      bottom:18px
    }
  
    .whatsapp-float svg{
      width:28px;
  
      height:28px
    }
  
  }
  
  
  /* ============================================================
     RESPONSIVE — 600PX
     ============================================================ */
  
  @media(max-width:600px){
  
    .partner-logo-card img{
      width:180px;
  
      height:76px;
  
      max-width:180px
    }
  
    .partner-text-logo{
      width:180px;
  
      height:76px
    }
  
    .partner-text-logo span{
      font-size:.72rem;
  
      max-width:160px
    }
  
  }
  
  
  /* ============================================================
     RESPONSIVE — 480PX
     ============================================================ */
  
  @media(max-width:480px){
  
    .topbar{
      display:none
    }
  
    .hero-slider{
      height:calc(100svh - 70px);
  
      min-height:620px
    }
  
    .hero-actions{
      width:100%
    }
  
    .hero-actions .btn{
      flex:1 1 100%
    }
  
    .countdown{
      justify-content:flex-start
    }
  
    .cd{
      min-width:64px
    }
  
    .leaders-grid{
      gap:14px
    }
  
    .leader-photo{
      height:300px
    }
  
    .visual-gallery{
      grid-template-columns:1fr;
  
      grid-template-rows:repeat(5,220px)
    }
  
    .gallery-large{
      grid-row:auto
    }
  
    .timeline-premium{
      gap:12px
    }
  
    .date-item{
      grid-template-columns:48px 1fr;
  
      padding:17px
    }
  
    .date-marker{
      width:38px;
  
      height:38px
    }
  
    .section-title{
      font-size:2.35rem
    }
  
    .final-cta-content h2{
      font-size:3.4rem
    }
  
    .fee-card.flip-card,
    .fee-card-inner,
    .fee-card-front,
    .fee-card-back{
      min-height:540px !important;
  
      height:540px !important
    }
  
    .fee-main strong{
      font-size:2.7rem
    }
  
    .fee-main .currency{
      font-size:1.45rem
    }
  
    .student-fee{
      padding:13px
    }
  
    .payment-detail{
      gap:12px;
  
      padding:14px 0
    }
  
    .payment-detail span{
      font-size:.7rem
    }
  
    .payment-detail strong{
      font-size:.8rem
    }
  
    .fee-footer-note{
      align-items:flex-start;
  
      text-align:left
    }
  
  }
  
  
  /* ============================================================
     REDUCED MOTION
     ============================================================ */
  
  @media(prefers-reduced-motion:reduce){
  
    html{
      scroll-behavior:auto
    }
  
    .slide{
      transition:none
    }
  
    .reveal{
      opacity:1;
  
      transform:none;
  
      transition:none
    }
  
    .leader-card,
    .track-card,
    .gallery-item img,
    .partner-logo-card{
      transition:none
    }
  
    .fee-card-front,
    .fee-card-back{
      transition:none !important
    }
  
    .marquee{
      animation:none
    }
  
  }


/* ============================================================
   ICBDM 2026 — ABOUT PAGE FOOTER + WHATSAPP CORRECTION
   Added to the end of style.css
   ============================================================ */

/* ---------- ABOUT PAGE FOOTER ---------- */

.footer .footer-inner{
  width:min(1180px, calc(100% - 48px));
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(300px,1.6fr) minmax(160px,.7fr) minmax(190px,.8fr);
  gap:64px;
  align-items:start;
  text-align:left;
}

.footer .footer-brand{
  display:block;
  margin:0;
}

.footer .footer-brand > .brand{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:13px;
  margin:0 0 20px;
}

.footer .footer-brand .brand img{
  width:auto;
  height:58px;
  object-fit:contain;
}

.footer .footer-brand .brand-name{
  font-family:var(--font-head);
  font-size:1.45rem;
  font-weight:700;
  letter-spacing:.06em;
  color:var(--ink);
  line-height:1;
}

.footer .footer-brand .brand-name small{
  display:block;
  margin-top:5px;
  font-family:var(--font-body);
  font-size:.58rem;
  font-weight:500;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--muted);
}

.footer .footer-brand p{
  max-width:520px;
  margin:0;
  color:var(--muted);
  font-size:.86rem;
  line-height:1.8;
}

.footer .footer-links{
  display:block;
  margin:0;
}

.footer .footer-links h4{
  margin:0 0 18px;
  color:#fff;
  font-family:var(--font-head);
  font-size:1rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.footer .footer-links h4::after{
  content:"";
  display:block;
  width:34px;
  height:2px;
  margin-top:9px;
  background:var(--grad);
}

.footer .footer-links ul{
  margin:0;
  padding:0;
  list-style:none;
}

.footer .footer-links li{
  margin:0 0 10px;
}

.footer .footer-links a{
  display:inline-block;
  padding:0;
  color:#cbd4e8;
  font-size:.78rem;
  font-weight:500;
  line-height:1.5;
  letter-spacing:.04em;
  text-transform:none;
  text-decoration:none;
  transition:color .2s ease, transform .2s ease;
}

.footer .footer-links a:hover{
  color:var(--gold);
  transform:translateX(3px);
}

.footer .footer-bottom{
  width:min(1180px, calc(100% - 48px));
  margin:42px auto 0;
  padding-top:22px;
  border-top:1px solid var(--line);
  text-align:center;
}

.footer .footer-bottom p{
  margin:0;
  color:#667493;
  font-size:.72rem;
  line-height:1.6;
}


/* ---------- WHATSAPP BUTTON ---------- */

.whatsapp-float{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:9999;

  width:auto;
  height:auto;
  min-width:145px;

  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;

  padding:13px 20px;

  border-radius:999px;
  background:#25D366;
  color:#fff;

  font-family:var(--font-body);
  font-size:.78rem;
  font-weight:700;
  line-height:1;
  letter-spacing:.02em;

  text-decoration:none;

  box-shadow:
    0 12px 30px rgba(0,0,0,.30),
    0 0 0 1px rgba(255,255,255,.12);

  transition:
    transform .25s ease,
    box-shadow .25s ease,
    filter .25s ease;
}

.whatsapp-float::before{
  content:"";
  width:12px;
  height:12px;
  flex:0 0 12px;
  border:2px solid #fff;
  border-radius:50%;
  box-sizing:border-box;
}

.whatsapp-float span{
  display:inline-block;
  position:static;
  opacity:1;
  visibility:visible;
  transform:none;
  background:transparent;
  border:0;
  padding:0;
  color:#fff;
  white-space:nowrap;
}

.whatsapp-float:hover{
  transform:translateY(-3px);
  filter:brightness(1.04);
  color:#fff;
  box-shadow:
    0 16px 38px rgba(0,0,0,.36),
    0 0 0 5px rgba(37,211,102,.12);
}


/* Also support the WhatsApp class used on index.html */

.whatsapp-chat{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:9999;
  width:auto;
  height:auto;
  min-width:150px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:12px 18px;
  border-radius:999px;
  background:#25D366;
  color:#fff;
  text-decoration:none;
  font-family:var(--font-body);
  font-size:.78rem;
  font-weight:700;
  line-height:1;
  box-shadow:0 12px 30px rgba(0,0,0,.30);
}

.whatsapp-chat .whatsapp-icon{
  width:30px;
  height:30px;
  min-width:30px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#fff;
  color:#25D366;
  font-size:18px;
  font-weight:900;
}

.whatsapp-chat .whatsapp-text{
  display:inline-block;
  visibility:visible;
  opacity:1;
  color:#fff;
  white-space:nowrap;
}


/* ---------- TABLET ---------- */

@media(max-width:900px){

  .footer .footer-inner{
    grid-template-columns:1fr 1fr;
    gap:42px 36px;
  }

  .footer .footer-brand{
    grid-column:1 / -1;
  }

  .footer .footer-brand p{
    max-width:700px;
  }
}


/* ---------- MOBILE ---------- */

@media(max-width:600px){

  .footer{
    padding:44px 0 26px;
  }

  .footer .footer-inner{
    width:min(100% - 36px, 1180px);
    grid-template-columns:1fr;
    gap:32px;
  }

  .footer .footer-brand{
    grid-column:auto;
  }

  .footer .footer-brand > .brand{
    justify-content:flex-start;
  }

  .footer .footer-brand .brand img{
    height:50px;
  }

  .footer .footer-links{
    width:100%;
  }

  .footer .footer-bottom{
    width:min(100% - 36px, 1180px);
    margin-top:34px;
  }

  .whatsapp-float{
    right:16px;
    bottom:16px;
    min-width:0;
    padding:12px 16px;
    font-size:.72rem;
  }

  .whatsapp-chat{
    right:16px !important;
    bottom:16px !important;
    width:56px !important;
    height:56px !important;
    min-width:56px !important;
    padding:0 !important;
    border-radius:50% !important;
  }

  .whatsapp-chat .whatsapp-text{
    display:none !important;
  }
}
/* ============================================================
   ICBDM 2026 — LIVE STREAM SECTION
   Used by the YouTube livestream section on index.html
   ============================================================ */

.live-stream-section{
  padding:80px 0;
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(
      700px 320px at 15% 15%,
      rgba(214,51,132,.10),
      transparent 70%
    ),
    radial-gradient(
      700px 320px at 85% 85%,
      rgba(240,180,41,.08),
      transparent 70%
    ),
    var(--bg);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.live-stream-heading{
  max-width:760px;
  margin:0 auto 34px;
  text-align:center;
}

.live-stream-heading h2{
  margin:10px 0 12px;
  font-family:var(--font-head);
  font-size:clamp(2.2rem,5vw,4rem);
  line-height:.98;
  text-transform:uppercase;
  color:var(--ink);
}

.live-stream-heading p{
  max-width:680px;
  margin:0 auto;
  color:var(--muted);
  line-height:1.7;
}

.live-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:8px 13px;
  border:1px solid rgba(214,51,132,.45);
  border-radius:999px;
  background:rgba(214,51,132,.10);
  color:#fff;
  font-family:var(--font-head);
  font-size:.8rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.live-dot{
  width:9px;
  height:9px;
  flex:0 0 9px;
  border-radius:50%;
  background:var(--magenta);
  box-shadow:0 0 0 6px rgba(214,51,132,.13);
  animation:icbdm-live-pulse 1.8s ease-in-out infinite;
}

@keyframes icbdm-live-pulse{
  0%,100%{
    box-shadow:0 0 0 5px rgba(214,51,132,.12);
  }
  50%{
    box-shadow:0 0 0 9px rgba(214,51,132,.03);
  }
}

.live-video-card{
  max-width:1050px;
  margin:0 auto;
  padding:12px;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--panel);
  box-shadow:var(--shadow);
}

.live-video-wrap{
  position:relative;
  width:100%;
  aspect-ratio:16 / 9;
  overflow:hidden;
  border-radius:11px;
  background:#000;
}

.live-video-wrap iframe{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  border:0;
}

.live-video-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:20px 10px 8px;
}

.live-video-footer p{
  margin:0;
  max-width:680px;
  color:var(--muted);
  font-size:.86rem;
  line-height:1.6;
}

.live-video-footer strong{
  display:block;
  margin-bottom:3px;
  color:var(--ink);
  font-family:var(--font-head);
  font-size:1.1rem;
  letter-spacing:.03em;
  text-transform:uppercase;
}

.live-video-footer .btn{
  flex:0 0 auto;
}

/* ============================================================
   LIVE STREAM — TABLET / MOBILE
   ============================================================ */

@media (max-width:700px){
  .live-stream-section{
    padding:58px 0;
  }

  .live-stream-heading{
    margin-bottom:26px;
  }

  .live-stream-heading h2{
    font-size:clamp(2rem,10vw,3rem);
  }

  .live-stream-heading p{
    font-size:.9rem;
  }

  .live-video-card{
    padding:7px;
    border-radius:12px;
  }

  .live-video-wrap{
    border-radius:8px;
  }

  .live-video-footer{
    flex-direction:column;
    align-items:stretch;
    padding:17px 8px 8px;
  }

  .live-video-footer .btn{
    width:100%;
    text-align:center;
  }
}

@media (max-width:420px){
  .live-stream-section{
    padding:48px 0;
  }

  .live-badge{
    font-size:.7rem;
    padding:7px 11px;
  }

  .live-video-card{
    margin-left:-4px;
    margin-right:-4px;
  }
}

@media (prefers-reduced-motion:reduce){
  .live-dot{
    animation:none;
  }
}
