/*==================================================
  Nandita Symposium Website
  Version 1.0
==================================================*/


/*=========================================
ROOT VARIABLES
=========================================*/

:root{

    --primary:#F6B73C;
    --secondary:#FF8C00;

    --dark:#071421;
    --dark2:#0D2034;
    --dark3:#122B45;

    --white:#ffffff;
    --text:#D9E3EC;

    --radius:18px;

    --shadow:0 15px 40px rgba(0,0,0,.35);

    --transition:.35s ease;

}



/*=========================================
RESET
=========================================*/

*{

    margin:0;
    padding:0;
    box-sizing:border-box;

}

html{

    scroll-behavior:smooth;

}

body{

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

    background:var(--dark);

    color:var(--text);

    overflow-x:hidden;

    line-height:1.8;

}

img{

    max-width:100%;
    display:block;

}

a{

    text-decoration:none;

    transition:var(--transition);

}

section{

    padding:110px 0;

}


/*=========================================
TYPOGRAPHY
=========================================*/

h1,h2,h3,h4,h5{

    font-family:'Playfair Display',serif;
    color:white;
    line-height:1.25;

}

h1{

    font-size:clamp(2.1rem,5vw,3.5rem);
    font-weight:700;

}

h2{

    font-size:clamp(1.0rem,3vw,2.1rem);
    margin-bottom:25px;

}

h3{

    font-size:clamp(0.8rem,2vw,1.0rem);

}

p{

    color:var(--text);
    font-size:clamp(0.65rem,1.2vw,0.85rem);

}



/*=========================================
CONTAINER
=========================================*/

.container{

    max-width:1200px;

}



/*=========================================
NAVBAR
=========================================*/

.navbar{

    background:rgba(7,20,33,.45);

    backdrop-filter:blur(18px);

    transition:.4s;

    padding:18px 0;

}

.navbar.scrolled{

    background:#071421;

    box-shadow:0 10px 30px rgba(0,0,0,.35);

}

.navbar-brand{

    color:white !important;

    font-weight:700;

    font-size:1.35rem;

    letter-spacing:.5px;

}

.nav-link{

    color:white !important;

    margin-left:16px;

    font-size:.92rem;

    position:relative;

    white-space: nowrap;

}

.nav-link::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-6px;

    width:0;

    height:2px;

    background:var(--primary);

    transition:.3s;

}

.nav-link:hover::after{

    width:100%;

}

.nav-link:hover{

    color:var(--primary)!important;

}


/*=========================================
HERO
=========================================*/

.hero{

    min-height:min(100vh, 900px);

    display:flex;

    align-items:center;

    justify-content:center;

    text-align:center;

    position:relative;

    overflow:hidden;

    background:
        linear-gradient(rgba(7,20,33,.75),
        rgba(7,20,33,.92)),
        url("../images/hero/hero.jpg");

    background-size:cover;
    background-position:center;

    padding:120px 0 80px;
}


.hero::before{

    content:"";

    position:absolute;

    inset:0;

    background:
        radial-gradient(circle at top right,
        rgba(255,183,60,.20),
        transparent 35%);

}

.hero .container{

    position:relative;
    z-index:10;

}

.hero h4{

    color:var(--primary);

    text-transform:uppercase;

    letter-spacing:2px;

    font-size:clamp(0.7rem, 1vw + 0.6rem, 1.0rem);

    margin-bottom:20px;

}

.hero h1{

    font-size:clamp(1.4rem, 5vw, 3.5rem);

    line-height:1.15;

    margin-bottom:20px;

}

.hero h1 span{

    color:var(--primary);

}

.hero h2{

    color:white;

    font-size:clamp(0.9rem, 2vw, 1.5rem);

    margin-bottom:25px;

}

.hero p{

    font-size:clamp(0.65rem, 1vw + 0.5rem, 0.9rem);

    max-width:760px;

    margin:25px auto;

    line-height:1.8;

}



/*=========================================
BUTTONS
=========================================*/

.hero-buttons{

    display:flex;

    justify-content:center;

    gap:20px;

    flex-wrap:wrap;

}

.btn{

    border-radius:50px;

    padding:14px 34px;

    font-weight:600;

    transition:var(--transition);

}

.btn-warning{

    background:var(--primary);

    border:none;

    color:#071421;

}

.btn-warning:hover{

    transform:translateY(-3px);

    background:#FFD166;

}

.btn-outline-light:hover{

    color:black;

    transform:translateY(-3px);

}



/*=========================================
SECTION TITLES
=========================================*/

.section-title{

    text-align:center;

    margin-bottom:70px;

}

.section-title h2{

    margin-bottom:15px;

}

.section-title p{

    max-width:750px;

    margin:auto;

}



/*=========================================
SOFT CARDS
=========================================*/

.highlight-card{

    background:var(--dark2);

    border-radius:22px;

    padding:40px;

    box-shadow:var(--shadow);

    transition:var(--transition);

    height:100%;

}

.highlight-card:hover{

    transform:translateY(-10px);

}

.highlight-card i{

    font-size:2.5rem;

    color:var(--primary);

    margin-bottom:25px;

}

.highlight-card h3{

    margin-bottom:15px;

}

/*==================================================
SECTION BACKGROUNDS
==================================================*/

.about-home{

    background:#081828;

}

.highlights{

    background:#0d2034;

}

.about-home img{

    border-radius:24px;

    box-shadow:0 25px 50px rgba(0,0,0,.35);

}

.about-home p{

    margin-bottom:18px;

}


/*==================================================
COUNTDOWN
==================================================*/

.countdown{

    background:#091726;

}

#countdown{

    display:flex;

    justify-content:center;

    gap:25px;

    flex-wrap:wrap;

    margin-top:50px;

}

.time-box{

    background:var(--dark2);

    width:140px;

    height:140px;

    border-radius:24px;

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

    box-shadow:var(--shadow);

}

.time-box h2{

    color:var(--primary);

    font-size:2.5rem;

    margin:0;

}

.time-box span{

    color:white;

    font-size:.95rem;

    letter-spacing:1px;

    text-transform:uppercase;

}


/*==================================================
PROFILE SECTION
==================================================*/

.profile-section{

    background:var(--dark);

}

.profile-section img{

    border-radius:24px;

    box-shadow:0 30px 60px rgba(0,0,0,.45);

}

.profile-section p{

    margin-bottom:18px;

}


/*==================================================
SPEAKER CARD
==================================================*/

.speaker-card{

    background:var(--dark2);

    border-radius:24px;

    padding:35px;

    text-align:center;

    transition:.35s;

    height:100%;

}

.speaker-card:hover{

    transform:translateY(-10px);

}

.speaker-card img{

    width:180px;

    height:180px;

    object-fit:cover;

    border-radius:50%;

    margin:auto;

    margin-bottom:25px;

    border:5px solid var(--primary);

}

.speaker-card h3{

    margin-bottom:10px;

}

.speaker-card p{

    margin:0;

}


/*==================================================
TIMELINE
==================================================*/

.timeline{

    position:relative;

    padding-left:35px;

}

.timeline::before{

    content:"";

    position:absolute;

    left:10px;

    top:0;

    width:4px;

    height:100%;

    background:var(--primary);

}

.timeline-item{

    position:relative;

    margin-bottom:45px;

}

.timeline-item::before{

    content:"";

    position:absolute;

    left:-32px;

    top:8px;

    width:18px;

    height:18px;

    border-radius:50%;

    background:var(--primary);

}

.timeline-item h3{

    margin-bottom:8px;

}


/*==================================================
GALLERY
==================================================*/

.gallery-item{

    overflow:hidden;

    border-radius:22px;

    box-shadow:var(--shadow);

}

.gallery-item img{

    transition:.5s;

}

.gallery-item:hover img{

    transform:scale(1.08);

}


/*==================================================
LOGO SECTION
==================================================*/

.logo-grid{

    display:flex;

    justify-content:center;

    gap:60px;

    flex-wrap:wrap;

    align-items:center;

}

.logo-grid img{

    height:90px;

    opacity:.65;

    transition:.35s;

    filter:grayscale(100%);

}

.logo-grid img:hover{

    opacity:1;

    filter:none;

    transform:scale(1.05);

}


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

footer{

    background:#040b14;

    padding:80px 0 40px;

    text-align:center;

}

footer h3{

    margin-bottom:20px;

}

footer p{

    color:#9fb2c7;

}

footer a{

    color:var(--primary);

}

footer a:hover{

    color:white;

}


/*==================================================
UTILITY CLASSES
==================================================*/

.shadow-soft{

    box-shadow:var(--shadow);

}

.rounded-xl{

    border-radius:24px;

}

.text-gold{

    color:var(--primary);

}

.bg-dark2{

    background:var(--dark2);

}


/*==================================================
SCROLL ANIMATION
==================================================*/

.fade-up{

    opacity:0;

    transform:translateY(40px);

    transition:.8s;

}

.fade-up.show{

    opacity:1;

    transform:none;

}


/*==================================================
SECTION DIVIDER
==================================================*/

.section-divider{

    width:100px;

    height:4px;

    background:var(--primary);

    margin:25px auto;

    border-radius:50px;

}

/*==================================================
BACK TO TOP BUTTON
==================================================*/

.top-button{

    position:fixed;

    right:30px;

    bottom:30px;

    width:55px;

    height:55px;

    border:none;

    border-radius:50%;

    background:var(--primary);

    color:#071421;

    font-size:20px;

    cursor:pointer;

    box-shadow:var(--shadow);

    opacity:0;

    visibility:hidden;

    transition:.35s;

    z-index:999;

}

.top-button.show{

    opacity:1;

    visibility:visible;

}

.top-button:hover{

    transform:translateY(-5px);

    background:#FFD166;

}


.timeline ul{

    margin-top:15px;

    padding-left:20px;

}

.timeline li{

    margin-bottom:8px;

    color:var(--text);

}

.timeline-item{

    background:var(--dark2);

    padding:25px;

    border-radius:18px;

    margin-bottom:30px;

    box-shadow:var(--shadow);

}

.timeline-item h3{

    color:var(--primary);

}

/* =====================================================
   SPEAKER CARDS
===================================================== */


.speaker-card {

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

    padding: 30px 20px;

    border-radius: 18px;

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

    height: 100%;

    transition: all 0.3s ease;

    border: 1px solid rgba(0,0,0,0.05);

}




.speaker-card:hover {

    transform: translateY(-8px);

    box-shadow: 0 18px 40px rgba(0,0,0,0.15);

}




/* Speaker Images */

.speaker-card img {

    width: 150px;

    height: 150px;

    object-fit: cover;

    border-radius: 50%;

    margin-bottom: 20px;

    border: 5px solid #f4b400;

}




/* Speaker Name */

.speaker-card h3 {

    font-family: 'Playfair Display', serif;

    font-size: 1.5rem;

    color: #1b2a4e;

    margin-bottom: 10px;

}




/* Institution */

.speaker-card p:first-of-type {

    font-weight: 500;

    color: #555;

    margin-bottom: 12px;

}



/* Talk title */

.speaker-card p:last-child {

    font-size: 0.95rem;

    color: #666;

    line-height: 1.6;

}



/* =====================================================
   FEATURED SPEAKER (Prof. Nandita)
===================================================== */


.speaker-card.featured {


    background:

    linear-gradient(
        145deg,
        rgba(255,248,220,0.95),
        rgba(255,255,255,0.95)
    );


    border: 2px solid #f4b400;

}




.speaker-card.featured img {


    width: 190px;

    height: 190px;


}




.speaker-card.featured h3 {


    font-size: 1.6rem;


}




/* =====================================================
   SECTION SPACING
===================================================== */


section {

    padding: 70px 0;

}



/* Mobile */

@media(max-width:768px){


.speaker-card {

    padding:25px 15px;

}


.speaker-card img {

    width:120px;

    height:120px;

}


.speaker-card.featured img {

    width:150px;

    height:150px;

}


}

/* =====================================================
   VENUE CARD
===================================================== */


.venue-card {

    max-width: 750px;

    margin: auto;

    padding: 45px 35px;

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

    border-radius: 20px;

    box-shadow: 0 12px 35px rgba(0,0,0,0.1);

}



.venue-icon {

    font-size: 60px;

    color: #f4b400;

    margin-bottom: 20px;

}



.venue-card h3 {

    font-family:'Playfair Display', serif;

    color:#1b2a4e;

    font-size:2rem;

}



.venue-card h4 {

    margin-top:25px;

    color:#1b2a4e;

}



.venue-card p {

    line-height:1.8;

    color:#555;

}



.venue-card .btn {

    margin-top:20px;

    padding:12px 30px;

    border-radius:30px;

}

/* =========================
   CONTACT PAGE
========================= */

.contact-card {
    max-width: 650px;
    margin: auto;
    padding: 40px;
    text-align: center;
}


.contact-card i {
    color: #0d6efd;
    margin-bottom: 20px;
}


.contact-card h3 {
    font-family: 'Playfair Display', serif;
    font-size: 30px;
    margin-bottom: 10px;
}


.contact-card a {
    text-decoration: none;
    font-weight: 500;
}


.contact-card a:hover {
    text-decoration: underline;
}

/* =========================
   GALLERY
========================= */

.gallery-card{

    overflow:hidden;

    border-radius:15px;

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

    transition:.3s ease;

    background:none;

    padding:0;

}

.gallery-card:hover{

    transform:translateY(-6px);

}

.gallery-card img{

    width:100%;

    aspect-ratio:1/1;

    object-fit:cover;

    display:block;

    transition:.4s ease;

}

.gallery-card:hover img{

    transform:scale(1.05);

}


.gallery-card img {

width:100%;

height:260px;

object-fit:cover;

border-radius:10px;

}


.gallery-card video {

width:100%;

border-radius:10px;

}


.gallery-card h4,
.gallery-card h5 {

margin-top:15px;

font-family:'Playfair Display', serif;

}



/* =====================================================
   PUBLICATION LIST
====================================================== */

.publication-list{
    list-style: decimal;
    padding-left: 1.5rem;
    margin-top: 2rem;
}

.publication-list li{
    margin-bottom: 24px;
    padding: 18px 22px;
    border-left: 4px solid #f4b942;
    background: rgba(255,255,255,0.04);
    border-radius: 0 10px 10px 0;
    line-height: 1.8;
    font-size: 1.05rem;
    color: #e8e8e8;
    text-align: justify;
    transition: all 0.3s ease;
}

.publication-list li:hover{
    background: rgba(244,185,66,0.08);
    transform: translateX(5px);
}

.publication-list b{
    color: #ffffff;
    font-weight: 600;
}

.publication-list i{
    color: #f4b942;
    font-style: italic;
    font-size: inherit;
    font-weight: inherit;
}

.publication-list a{
    color: #7cc7ff;
    text-decoration: none;
}

.publication-list a:hover{
    color: #ffffff;
    text-decoration: underline;
}

/* =====================================================
   HERO PHOTO (Responsive)
====================================================== */

.hero-photo{
    text-align: center;
    margin: clamp(1rem, 2vw, 2rem) 0;
}

.hero-photo img{

    width: clamp(140px, 18vw, 220px);
    height: clamp(140px, 18vw, 220px);

    object-fit: cover;

    display: block;
    margin: 0 auto;

    border-radius: 50%;

    border: clamp(3px, 0.35vw, 5px) solid #f4b942;

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

    transition: transform 0.3s ease;
}

.hero-photo img:hover{
    transform: scale(1.04);
}


/* ==========================================================
   STUDENT CARDS
========================================================== */

.student-card{

    height:100%;

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

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

    border-radius:18px;

    overflow:hidden;

    transition:0.3s ease;

    display:flex;

    flex-direction:column;

    align-items:center;

    padding-top:30px;

}

.student-card:hover{

    transform:translateY(-8px);

    border-color:var(--primary);

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

}

.student-img{

    width:180px;

    height:180px;

    object-fit:cover;

    border-radius:50%;

    display:block;

    margin:0 auto 25px auto;

    border:5px solid var(--primary);

}

.student-content{

    padding:0 22px 22px;

    flex:1;

    display:flex;

    flex-direction:column;

    text-align:center;

}
.student-content h4{

    font-size:1.2rem;

    font-weight:600;

    margin-bottom:10px;

    color:#ffffff;

}

.student-content p{

    margin-bottom:10px;

    color:#d7d7d7;

    line-height:1.6;

}

.student-content strong{

    color:#ffffff;

}

.student-content em{

    color:#ffd36b;

    font-style:italic;

}

/* ==============================
Collaborations Section
============================== */

.collaboration-section {
    padding: 80px 0;
}


.collaboration-card {

    height: 100%;
    padding: 35px;

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

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

    border-radius: 20px;

    backdrop-filter: blur(12px);

    transition: all 0.4s ease;

}


.collaboration-card:hover {

    transform: translateY(-8px);

    box-shadow: 0 15px 35px rgba(0,0,0,0.25);

}


.collaboration-card h3 {

    margin-top: 15px;

    color: #ffb347;

    font-size: 28px;

}



.collab-icon {

    width:70px;
    height:70px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:rgba(255,165,0,0.15);

    font-size:32px;

    color:#ff9800;

}



.collab-list {

    margin-top:25px;

}



.collab-item {

    display:flex;

    gap:15px;

    margin-bottom:20px;

    line-height:1.6;

}



.collab-item i {

    color:#ff9800;

    font-size:18px;

    margin-top:5px;

}



.collab-item strong {

    color:#ffffff;

}


.collaboration-card p {

    color:#ddd;

    line-height:1.7;

}

.visitor-counter{

    text-align:center;

    margin-top:30px;

}

.visitor-counter p{

    color:#ffffff;

    margin-bottom:10px;

    font-size:1rem;

}

.visitor-counter i{

    color:#f4b942;

    margin-right:8px;

}

.visitor-counter img{

    display:inline-block;

    border-radius:8px;

}

/* Registration Deadline */

.registration-deadline{
    text-align:center;
    margin:25px 0 15px;
    font-size:1.1rem;
    color:var(--primary);
    font-weight:600;
}

.registration-deadline strong{
    color:#ffffff;
}

/* =====================================================
   ORGANISER CARDS
====================================================== */

.organiser-card{

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

    border-radius:20px;

    padding:30px 20px;

    text-align:center;

    height:100%;

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

    transition:all 0.3s ease;

    border:1px solid rgba(0,0,0,0.05);

}


.organiser-card:hover{

    transform:translateY(-8px);

    box-shadow:0 18px 40px rgba(0,0,0,0.15);

}


.organiser-card img{

    width:150px;

    height:150px;

    object-fit:cover;

    border-radius:50%;

    margin:0 auto 20px;

    border:5px solid var(--primary);

}


.organiser-card h3{

    font-family:'Playfair Display',serif;

    font-size:1.25rem;

    color:#1b2a4e;

    margin-bottom:8px;

}


.organiser-card p{

    color:#555;

    font-size:0.95rem;

    margin:0;

    line-height:1.5;

}