/*----------------------------------------------
  🎨 Global Styles
----------------------------------------------*/
:root {
  --primary: #dc3545; /* Red */
  --highlight: #ffffff; /* White */
  --contrast: #000000; /* Black */
  --neutral: #f8f9fa; /* Light gray */
  --background: #ffffff;
  --accent:#dc3545;
    --line:#e5e7eb;
    --muted: #555;
    --red:         #dc3545;
      --red-dark:    #dc3545;
      --text:        #111827;
      --muted:       #4b5563;
      --bg:          #f9fafb;
      --card:        #ffffff;
      --shadow:      0 30px 60px rgb(0 0 0 / 20%);;
      --radius:      18px;
      --icon-size:   28px;
      --ascored:      #dc3545;
      --ascored-dark: #dc3545;
      --light-bg:     #f9fafb;
      --card-bg:      rgba(255,255,255,0.82);
}

html {
  scroll-behavior: smooth;
}

body {
  background: var(--background);
  color: var(--contrast);
font-family: 'Outfit', system-ui, -apple-system, sans-serif;
  margin: 0;
}
.text-left{text-align: left;}
p, li {
  color: #555;
  font-size: 1rem;
  line-height: 1.8;
}

h1, h2, h3, h4, h5, h6 {
  color: var(--primary);
}

.daysfive{    border: 2px solid #dc3545;    background: #dc3545;
    border-radius: 33px;
    color: #fff;font-weight: 700;
  }
   .countbox   {background: #fff;
    height: 120px;
    width: 140px;
    padding-top: 20px;
    border-radius: 20px;    margin-right: 40px;}
     .countbox .small{color:#dc3545;} 
div.bottom:before {
  content : "";
  position: absolute;
  left    : 25px;
  bottom  : 0;
  height  : 15px;
  width   : 70%;
  border-bottom:5px solid #dc3545;
}
.tag , .eyebrow , .registration-page small , .housing-page small{
    display: inline-block;
    padding: 8px 24px;
    border-radius: 40px;
    background: linear-gradient(90deg, #e63946, #ff8c8c);
    color: white;
    font-weight: 700;
    letter-spacing: 3px;
    font-size: 14px;
}
 .tag{
  background:#ffe4e6;
  color:#dc3545;
  padding:8px 18px;
  border-radius:30px;
  font-weight:600;
}

.title{
 font-size: 40px;
    font-weight: 900;
    margin-top: 0px;
}
/*----------------------------------------------
  🎞 Animations
----------------------------------------------*/
@keyframes float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

@keyframes type {
  from { width: 0; }
  to { width: 100%; }
}

@keyframes cursor {
  50% { border-color: transparent; }
}

@keyframes rotateBounce {
  0% { transform: scale(1) rotate(0deg); }
  30% { transform: scale(1.2) rotate(15deg); }
  60% { transform: scale(0.95) rotate(-10deg); }
  100% { transform: scale(1) rotate(0deg); }
}

/*----------------------------------------------
  🎨 Navbar
----------------------------------------------*/
/* PROGRESS BAR */

.progress-bar{
position:fixed;
top:0;
left:0;
height:4px;
background:linear-gradient(90deg,#e63946,#ff6b6b);
width:0%;
z-index:2000;
}

/* HEADER */

header{
position:fixed;
top:20px;
left:0;
width:100%;
display:flex;
justify-content:center;
z-index:1000;
}

/* NAVBAR */

.navbar{
width:86%;
background:rgba(255,255,255,0.75);
backdrop-filter:blur(14px);
border-radius:60px;
padding:14px 30px;
display:flex;
align-items:center;
justify-content:space-between;
    box-shadow: 0 30px 60px rgb(0 0 0 / 20%);
border:1px solid rgba(255,255,255,.5);
}

/* LOGO */

.logo a{
font-size:28px;
font-weight:800;
color:#e63946;
letter-spacing:1px; text-decoration: none;
}
a.logoa{font-size:28px;
font-weight:800;
color:#e63946;
letter-spacing:1px; text-decoration: none;}
/* MENU */

.menu{
display:flex;
align-items:center;
gap:35px;
position:relative;
}

.menu a{
text-decoration:none;
color:#333;
font-weight:500;
display:flex;
align-items:center;
gap:8px;
padding:8px 4px;
transition:.3s;
position:relative;
}

/* ICON ANIMATION */

.menu a i{
transition:.3s;
}

.menu a:hover i{
transform:translateY(-2px);
color:#dc3545;
}

.menu a:hover{
color:#dc3545;
}

/* ACTIVE INDICATOR */

.indicator{
position:absolute;
bottom:-8px;
height:3px;
width:60px;
background:#dc3545;
border-radius:10px;
transition:.35s;
left:0;
}

/* CTA BUTTON */

.cta{
padding:12px 26px;
border-radius:40px;
background:linear-gradient(45deg,#dc3545,#dc3545);
color:white;
font-weight:600;
display:flex;
align-items:center;
gap:10px;
box-shadow:0 8px 25px rgba(230,57,70,.35);
transition:.3s;
}

.cta:hover{
transform:translateY(-2px);
box-shadow:0 15px 40px rgba(230,57,70,.45);
}

/* MEGA MENU */

.dropdown{
position:relative;
}

.mega{
position:absolute;
top:50px;
left:-100px;
background:white;
width:300px;
padding:25px;
border-radius:15px;
    box-shadow: 0 30px 60px rgb(0 0 0 / 20%);
display:none;
flex-direction:column;
gap:10px;
}

.dropdown:hover .mega{
display:flex;
}

.mega a{
color:#333;
padding:8px 0;
}

/* MOBILE */

.menu-toggle{
display:none;
font-size:22px;
cursor:pointer;
}

/* RESPONSIVE */

@media(max-width:900px){

.menu{
position:absolute;
top:80px;
left:0;
width:100%;
flex-direction:column;
background:white;
padding:30px;
display:none;
border-radius:20px;
    box-shadow: 0 30px 60px rgb(0 0 0 / 20%);
}

.menu.active{
display:flex;
}

.menu-toggle{
display:block;
}

.indicator{
display:none;
}

}

/*----------------------------------------------
  🎨 Hero Section (#topform-section)
----------------------------------------------*/
#topform-section {
  position: relative;
  background-size: cover;
  background-position: top;
  min-height: 100vh;
  align-items: center;
  justify-content: center;
  z-index: 9;
}

#about h4 {
  color:#000;
  font-size: 27px;
  padding-top: 5px;
  padding-bottom: 5px;
}

#about img {
  height:600px;
}

.bgslido {
  background: url('../img/slider.jpg') center/cover fixed;
  background-size: cover;
  background-attachment: fixed;
  background-blend-mode: multiply;
  display: flex;
  align-items: center;
  background-color: #b1b3b5;
  min-height: 350px;
  background-position: bottom;
}


 .hero{
padding: 130px 0px 30px;
  display:flex;
  align-items:center;
  position:relative;
  overflow:hidden;
}

/* SOFT BACKGROUND BLOBS */
.content {
      position: relative;
      z-index: 2;
      text-align: center;
      max-width: 1100px;
      padding: 0 20px;
    }

    .year {
      font-family: 'Space Grotesk', sans-serif;
      font-size:90px;
      font-weight: 700;
      line-height: 0.75;
      letter-spacing: -0.08em;
      background: linear-gradient(90deg, #dc3545, var(--red), #dc3545);
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
      margin-bottom: 0px;
      opacity: 0.95;
    }

    .asco {
      font-family: 'Space Grotesk', sans-serif;
         background: linear-gradient(90deg, #dc3545, var(--red), #dc3545);
      font-size: 80px;      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
      font-weight: 700;
      margin-bottom: -10px;
    }

    .meeting {
      font-size: clamp(2.2rem, 4.5vw, 3.8rem);
      font-weight: 500;
      letter-spacing: -0.02em;
      opacity: 0.9;
      margin-bottom: 0.5rem;
    }

    .info-bar {
      display: flex;
      justify-content: center;
      gap: 2.5rem;
      flex-wrap: wrap;
      margin: 2rem 0 3rem;
      font-size: 1.35rem;
      font-weight: 500;
    }

    .info-item {
      display: flex;
      align-items: center;
      gap: 12px;
      opacity: 0.85;
    }

    .countdown-container {
      background: rgba(255, 255, 255, 0.06);
      backdrop-filter: blur(20px);
      border: 1px solid rgba(255, 255, 255, 0.12);
      border-radius: 2.5rem;
      padding: 2.2rem 3rem;
      margin: 0 auto;
      max-width: 620px;
      box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
    }

    .countdown-label {
      font-size: 1.1rem;
      letter-spacing: 4px;
      text-transform: uppercase;
      opacity: 0.7;
      margin-bottom: 1.2rem;
      font-weight: 500;
    }

    .countdown {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 1.5rem;
      text-align: center;
    }

    .digit {
      font-family: 'Space Grotesk', sans-serif;
      font-size: clamp(2.8rem, 6vw, 4.2rem);
      font-weight: 700;
      line-height: 1;
      transition: all 0.3s ease;
    }

    .digit:hover {
      transform: scale(1.15);
      color: var(--red);
    }

    .unit {
      font-size: 0.95rem;
      font-weight: 500;
      letter-spacing: 2px;
      opacity: 0.6;
      margin-top: 6px;
    }
   .hero_house p {align-items: center;
    display: flex
;   
    margin-bottom: 0px;}
    .register-btn {
      margin-top: 2.5rem;
     font-size: 18px;
    padding: 1rem 3rem;
      background: var(--red);
      color: white;
      border: none;
      border-radius: 9999px;
      font-weight: 600;
      box-shadow: 0 15px 40px rgba(227, 6, 19, 0.4);
      transition: all 0.4s ease;
    }

    .register-btn:hover {
      transform: translateY(-8px) scale(1.05);
      box-shadow: 0 25px 60px rgba(227, 6, 19, 0.6);
    }

    .location {
      margin-top: 2.5rem;
      font-size: 1.4rem;
      opacity: 0.75;
      letter-spacing: 1px;
    }

    @media (max-width: 768px) {
          .bgslido .form-section{    margin: 80px 15px 50px !important;}
      .countdown-container { padding: 1.8rem 1.5rem; }
    }
/*----------------------------------------------
  🎨 Nav Pills / Tabs
----------------------------------------------*/
.nav-pills {
  overflow-x: auto;
  flex-wrap: nowrap;
  width: 100%;
}

.nav-pills .nav-item {
  flex: 0 0 auto;
  width: 47%;
  margin-right: 10px;
}

.nav-pills .nav-link {
  background: var(--highlight);
  color: var(--primary);
  font-size: 0.875rem;
  width: 80%;
}

.nav-pills .nav-link.active {
  background-color: var(--primary);
  color: #fff !important;
  font-weight: bold;
}

.nav-link:focus,
.nav-link:hover {
  color: #000000;
}

/*----------------------------------------------
  📝 Form Inputs with Icons
----------------------------------------------*/
/* ================= FORM WRAPPER ================= */
.form-section{
  background:#ffffff;
  border-radius:28px;
  padding:34px 30px 40px;
     box-shadow: 0 30px 60px rgb(0 0 0 / 20%);
}

/* ================= TABS (APPLE SEGMENTED) ================= */
#appointmentTabs{
  background:#f4f6fa;
  border-radius:16px;
  padding:6px;
}

#appointmentTabs .nav-link{
  border-radius:12px;
  font-weight:600;
  font-size:14px;
  color:#6b7280;
  border:none;
  background:transparent;
  transition:all .25s ease;
}

#appointmentTabs .nav-link i{
  font-size:13px;
}

#appointmentTabs .nav-link.active{
  background:#ffffff;
  color:#b1121a!important;
    box-shadow: 0 30px 60px rgb(0 0 0 / 20%);
}

/* ================= HEADINGS ================= */
.form-section h4{
  font-size:24px;
  font-weight:700;
  margin-bottom:30px;
  color:#0f172a;
}

/* ================= INPUT WRAPPER ================= */
.input-wrapper{
  position:relative;
      width: 100%;
    margin-bottom: 15px;
}

.form-control.with-icon,
.input-wrapper textarea{
  border-radius:14px;
  border:1px solid #e5e7eb;
  padding:14px 16px 14px 46px;
  font-size:14px;
  box-shadow:none;
  transition:.25s ease;
}

.form-control.with-icon:focus,
.input-wrapper textarea:focus{
  border-color:#b1121a;
  box-shadow:none;
}

/* ================= ICONS ================= */
.form-control-icon{
  position:absolute;
  left:16px;
  top:50%;
  transform:translateY(-50%);
  color:#9ca3af;
  font-size:14px;
  pointer-events:none;
}

/* ================= SELECT ================= */
select.form-control{
  appearance:none;
  background-image:
    linear-gradient(45deg, transparent 50%, #9ca3af 50%),
    linear-gradient(135deg, #9ca3af 50%, transparent 50%);
  background-position:
    calc(100% - 20px) 50%,
    calc(100% - 14px) 50%;
  background-size:6px 6px;
  background-repeat:no-repeat;
}

/* ================= TEXTAREA ================= */
textarea.form-control{
  resize:none;
}

/* ================= BUTTON ================= */
.playbtn{
  margin-top:30px;
  background:#b1121a;
  color:#fff;
  border:none;
  padding:14px 36px;
  border-radius:14px;
  font-size:14px;
  font-weight:600;
  letter-spacing:.14em;
  transition:.3s ease;
}

.playbtn:hover{
  background:#8f0e14;
  transform:translateY(-2px);
  box-shadow:0 18px 40px rgba(177,18,26,.4);
}

/* REMOVE OLD BUTTON EFFECT SPANS */
.playbtn span{
  display:none!important;
}

/* ================= VALIDATION ================= */
.invalid-feedback{
  font-size:12px;
  margin-top:6px;
}

/* ================= TAB ANIMATION ================= */
.tab-pane{
  animation:fadeUp .4s ease;
}

@keyframes fadeUp{
  from{opacity:0; transform:translateY(12px)}
  to{opacity:1; transform:none}
}

/* ================= MOBILE ================= */
@media(max-width:576px){
  .form-section{
    border-radius:0;
    padding:26px 20px;
  }
}


/*----------------------------------------------
  ⚠️ Validation
----------------------------------------------*/
.invalid-feedback {
  display: none;
}

.was-validated .form-control:invalid ~ .invalid-feedback,
.was-validated .form-select:invalid ~ .invalid-feedback,
.was-validated textarea:invalid ~ .invalid-feedback {
  display: block;
}

/*----------------------------------------------
  📅 Calendar / Date Picker
----------------------------------------------*/
.calicon .form-control-icon {
  top: 23px;
  left: 15px;
}

.calicon textarea {
  height: 70px;
  padding-left: 50px;
  font-size: 0.8125rem;
}

/*----------------------------------------------
  📱 Forms Responsive
----------------------------------------------*/
@media (max-width: 768px) {

  .housing-page img {
    margin-top: 15px;
  }

  #topform-section {
    min-height: auto;
  }
.hero {
    padding: 0px 0px 30px;}
  .hero-slide::after {
    display: none;
  }

  .hero-section {
    padding: 160px 20px 0 0;
  }

  .event-title h1 {
    font-size: 2rem;
  }

  .event-description {
    font-size: 1.4rem;
  }
.content {
    position: relative;
    z-index: 2;
    text-align: center;
    max-width: 1100px;
    padding: 0 0px;}
  .countdown-container {
    top: 100px;
    left: 0 !important;
    width: 100%;
  }

  .countdown {
    gap: 0.5rem;
  }

  .time-box {
    padding: 0.75rem;
  }

  .form-section {
    padding: 20px;
  }

  .form-section input,
  .form-section select {
    font-size: 1rem;
  }

  .playbtn {
    width: 100%;
  }
}

/* auto slide */

/* ================= SECTION ================= */
.auto-text-section{
  position:relative;
  padding:80px 40px;
  overflow:hidden;top: 30px;
    z-index: 9;
}

/* ================= SLIDING TEXT ================= */
.auto-text-wrap{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  pointer-events:none;
  z-index:0;
}

.auto-text-track{
  display:flex;
  white-space:nowrap;
  animation: slideText 35s linear infinite;
}

.auto-text-track span{
  font-size:180px;
  font-weight:800;
  letter-spacing:-0.05em;
  color:#000;
  opacity:0.035; /* VERY IMPORTANT FOR APPLE FEEL */
  margin-right:120px;
}

/* animation */
@keyframes slideText{
  from{
    transform:translateX(0);
  }
  to{
    transform:translateX(-50%);
  }
}

/* ================= CONTENT ================= */
.content{
  position:relative;
  z-index:1;
  max-width:1200px;
  margin:auto;
}

.content h1{
  font-size:60px;
  font-weight:700;
    margin-bottom: 20px;
    color: #fff;
}

.content p{
  font-size:16px;
  color:#475569;
  line-height:1.8;
  max-width:600px;
}

/* ================= RESPONSIVE ================= */
@media(max-width:768px){
  .auto-text-track span{
    font-size:90px;
  }
  .content h1{
    font-size:30px;
  }
}


/*----------------------------------------------
  🎨 About Section (#about)
----------------------------------------------*/
/* ======================================================
   FEATURE SECTION
====================================================== */
/* ===== SECTION ===== */
/* SECTION */
.about{
  position:relative;
  padding:120px 0;
  overflow:hidden;
}

/* SOFT GRADIENT BLOBS */
.about::before,
.about::after{
  content:"";
  position:absolute;
  width:500px;
  height:500px;
  border-radius:50%;
  filter:blur(120px);
  opacity:.25;
}

.about::before{
  background:#dc3545;
  top:-150px;
  left:-150px;
}

.about::after{
  background:#dc3545;
  bottom:-150px;
  right:-150px;
}

/* MAIN GLASS PANEL */
.glass{
  background:rgba(255,255,255,0.75);
  backdrop-filter:blur(20px);
  border-radius:30px;
  padding:60px;
  box-shadow:0 30px 80px rgba(0,0,0,0.08);
  border:1px solid rgba(0,0,0,0.05);    transition: .3s;
}
.glass:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, .5);
}
/* TAG */
.tag{
  display:inline-block;
  background:linear-gradient(45deg,#dc3545,#dc3545);
  color:#fff;
  padding:8px 20px;
  border-radius:30px;
  font-size:12px;
  letter-spacing:2px;
  margin-bottom:20px;
}

/* TITLE */
.title{
  font-size:46px;
  font-weight:900;
  line-height:1.3;
}

/* SUBTEXT */
.desc{
  margin-top:20px;
  font-size:18px;
  color:#475569;
  max-width:650px;
}

/* TIMELINE STYLE CONTENT */
.timelines{
  margin-top:40px;
  position:relative;
}

.timelines::before{
  content:"";
  position:absolute;
  left:8px;
  top:0;
  width:2px;
  height:100%;
  background:#dc3545;
}

.item{
  position:relative;
  padding-left:35px;
  margin-bottom:25px;
  transition:.3s;
}

.item::before{
  content:"";
  position:absolute;
  left:0;
  top:5px;
  width:16px;
  height:16px;
  background:#dc3545;
  border-radius:50%;
  box-shadow:0 0 0 6px #ffe4e6;
}

.item p{
  margin:0;
  color:#334155;
  line-height:1.7;
}

/* HOVER */
.item:hover{
  transform:translateX(6px);
}

/* IMAGE SIDE */
.image-box{
    position: relative;
    perspective: 1000px;
}
.image-box:hover .image {
    transform: rotateY(8deg) rotateX(5deg) scale(1.05);
}
.image{
  border-radius:30px;
  overflow:hidden;  
    transform-style: preserve-3d;
  box-shadow:0 30px 60px rgba(0,0,0,0.1);
  transition:.4s;
}

.image img{
  width:100%;
    height: 600px;
  object-fit:cover;
}

.image:hover{
  transform:scale(1.04);
}

/* BADGE */
.badge-top{
  position:absolute;
  top:20px;
  right:20px;
  background:rgba(0,0,0,0.6);
  color:#fff;
  padding:8px 16px;
  border-radius:20px;
  font-size:12px;
}

/* FLOAT CARD */
.float-card{
  position:absolute;
  bottom:-30px;
  left:-30px;
  background:#fff;
  padding:20px 25px;
  border-radius:20px;
  box-shadow:0 20px 40px rgba(0,0,0,0.15);
  display:flex;
  align-items:center;
  gap:15px;
}

.float-card i{
  font-size:28px;
  color:#dc3545;
}

/* RESPONSIVE */
@media(max-width:768px){
  .title{font-size:30px}
  .glass{padding:30px}
  .float-card{position:static;margin-top:20px}
}


/*----------------------------------------------
  📊 Stats / Highlights Section
----------------------------------------------*/
 .stats_section.section{
  padding:60px 0;
  position:relative;
  overflow:hidden;
}

/* BACKGROUND GLOW */
.stats_section.section::before{
  content:"";
  position:absolute;
  width:600px;
  height:600px;
  background:radial-gradient(circle,#dc3545,#dc3545);
  filter:blur(160px);
  opacity:.1;
  top:-200px;
  left:-200px;
}

.stats_section.section::after{
  content:"";
  position:absolute;
  width:500px;
  height:500px;
  background:radial-gradient(circle,#dc3545,#dc3545);
  filter:blur(160px);
  opacity:.1;
  bottom:-200px;
  right:-200px;
}

/* TAG */
.stats_section .tag{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 20px;
  border-radius:40px;
  background:#fff;
  box-shadow:0 10px 30px rgba(0,0,0,0.08);
  font-weight:600; color: #000!important;
}

.stats_section .tag span{
  background:#dc3545;
  color:#fff;
  padding:6px 14px;
  border-radius:20px;
}

/* TITLE */
.stats_section .title{
  font-size:42x;
  font-weight:900;
  margin-top:20px;
}

.stats_section .subtitle{
  color:#64748b;
  font-size:20px;
  margin-top:10px;
}

/* INFO CARDS */
.stats_section .info-card{
  background:#fff;
  border-radius:25px;
  padding:30px;
  box-shadow:0 20px 50px rgba(0,0,0,0.08);
  transition:.4s;
}

.stats_section .info-card:hover{
  transform:translateY(-10px) scale(1.03);
}

.stats_section .icon-box{
  width:60px;
  height:60px;
  border-radius:20px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:24px;
  color:#fff;
  margin-bottom:15px;
}

.stats_section .loc{background:linear-gradient(135deg,#dc3545,#dc3545);}
.stats_section .date{background:linear-gradient(135deg,#dc3545,#dc3545);}

/* ================= INSANE CARD ================= */

.stats_section .stat-card-advanced{
  position:relative;
  padding:60px;
  border-radius:30px;
  background:rgba(255,255,255,0.75);
  backdrop-filter:blur(20px);
  box-shadow:0 40px 100px rgba(0,0,0,0.1);
  overflow:hidden;
  transition:.4s;
}

/* GRADIENT BORDER */
.stats_section .stat-card-advanced::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:30px;
  padding:1px;
  background:linear-gradient(135deg,#dc3545,#dc3545);
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
}

.stats_section .stat-card-advanced:hover{
  transform:translateY(-10px) scale(1.02);
}

/* NUMBER */
.stats_section .big-number{
  font-size:110px;
  font-weight:900;
  color:#dc3545;
  line-height:1;
}

/* LABEL */
.stats_section .label{
  letter-spacing:8px;
  font-weight:600;
  margin-top:10px;
}

/* MINI STATS */
.stats_section .mini-stats{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.stats_section .chip{
  padding:8px 14px;
  border-radius:20px;
  background:#f1f5f9;
  font-size:14px;
  display:flex;
  align-items:center;
  gap:8px;
  transition:.3s;
}

.stats_section .chip i{
  color:#dc3545;
}

.stats_section .chip:hover{
  background:#dc3545;
  color:#fff;
  transform:translateY(-3px);
}

/* DESCRIPTION */
.stats_section .stat-desc{
  color:#475569;
  line-height:1.7;
}

/* HIGHLIGHT */
.stats_section .highlight-box{
  display:flex;
  align-items:center;
  gap:10px;
  padding:14px 18px;
  border-radius:15px;
  background:linear-gradient(135deg,#fff5f5,#f0f9ff);
  font-weight:500;
}

.stats_section .highlight-box i{
  color:#dc3545;
}

/* RESPONSIVE */
@media(max-width:768px){
 .stats_section .title{font-size:36px}
 .stats_section .big-number{font-size:60px}
}

/*----------------------------------------------
  📅 Key Dates Section (#keydates)
----------------------------------------------*/
/* ================= SECTION ================= */
 .keydates{
      position:relative;
      padding:60px 32px 50px 32px;
      overflow:hidden;
      background:linear-gradient(180deg,#ffffff,#f3f6fc);
    }

    /* ===== Animated DNA Background ===== */
.keydates .title2 {
    font-size: 18px;    background: linear-gradient(180deg, #dc3545, #000);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    color: #000000; font-weight: 600;
    text-shadow: 0 10px 30px rgba(190, 18, 60, .25);}
   .keydates  .header {
      text-align: center;
      margin-bottom: 4rem;
    }

   .keydates  .header h1 {
      font-family: 'Playfair Display', serif;
      font-size: clamp(2.9rem, 6vw, 4.5rem);
      font-weight: 800;
      line-height: 1.05;
      color: var(--text);
    }

    .keydates .header .subtitle {
      font-size: 1.15rem;
      color: var(--muted);
      margin-top: 1rem;
      max-width: 720px;
      margin-left: auto;
      margin-right: auto;
    }

   .label {
            font-size: 0.92rem;
            font-weight: 700;
            letter-spacing: 4px;
            text-transform: uppercase;
            color: var(--primary);
        }
        .main-title {
            font-size: 40px;
    font-weight: 600;
            margin: 0.4rem 0 0;
        }

        .timeline {
            position: relative;
            max-width: 1000px;
            margin: 2.8rem auto 0;
        }
        .timeline::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 4px;
    background: linear-gradient(to bottom, #dc3545, var(--primary));
    transform: translateX(-50%);
    border-radius: 999px;
    z-index: 1;
        }

        .timeline-item {
            position: relative;
            margin-bottom: 0rem;
            display: flex;
            align-items: center;
            z-index: 2;
        }
        .timeline-item:last-child { margin-bottom: 0; }

        .timeline-item.left { justify-content: flex-start; }
        .timeline-item.right { justify-content: flex-end; }

        .timeline-dot {
            position: absolute;
            left: 50%;
            transform: translateX(-50%);
            width: 58px;
            height: 58px;
            background: white;
            border: 4px solid var(--primary);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.45rem;
            color: var(--primary);
            box-shadow: 0 6px 20px -6px rgba(198,40,40,0.35);
            z-index: 3;
        }

        .timeline-content {
            background: white;
            border: 1px solid #e0e7ff;
            border-radius: 18px;
            padding: 1.25rem 1.6rem;
            width: 42%;
            box-shadow: 0 10px 30px -12px rgba(198,40,40,0.18);
            transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
        }
        .timeline-content:hover {
            transform: scale(1.04);
            box-shadow: 0 20px 45px -15px rgba(198,40,40,0.28);
        }

        .date {
            font-size: 1.12rem;
            font-weight: 700;
            color: var(--primary);
            margin-bottom: 0.25rem;
        }
        .event-title {
            font-size: 1.07rem;
            font-weight: 600;
            line-height: 1.35;
        }
        .event-desc {
            color: var(--muted);
            font-size: 0.93rem;
            margin-top: 0.3rem;
        }

        @media (max-width: 768px) {
            .timeline::before { left: 32px; }
            .timeline-dot { left: 32px; transform: none; }
            .timeline-item { justify-content: flex-start !important; }
            .timeline-content { 
                width: calc(100% - 80px); 
                margin-left: 70px;
                text-align: left;
            }
        }

    @media (max-width: 700px) {
      .keydates { padding: 5rem 4vw 6rem; }
     .keydates  .header h1 { font-size: 3.1rem; }

    }
    .hero_titls {  padding: 2rem 0 1rem;}
/*----------------------------------------------
  🏨 Housing Section (.safe-section)
----------------------------------------------*/
.hero_house {
            color: var(--primary);
            padding: 4rem 0 5.5rem;
            text-align: center;
            position: relative;
        }

/* BACKGROUND GLOW */
.hero_house .section::before{
  content:"";
  position:absolute;
  width:700px;
  height:700px;
  background:radial-gradient(circle,#dc3545,#dc3545);
  filter:blur(180px);
  opacity:.12;
  top:-200px;
  left:-200px;
}

/* HEADER */


.subtitle{
  color:#64748b;
}

/* HERO IMAGE */
.hero_house .hero-card{
  margin-top:60px;
  border-radius:30px;
  overflow:hidden;
  position:relative;
  height:360px;
  box-shadow:0 40px 80px rgba(0,0,0,0.1);
}

.hero_house .hero-card img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.hero_house .overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(to right, rgba(0,0,0,0.7), transparent);
  display:flex;
  align-items:center;
  padding:40px;
}

.hero_house .overlay h4{
  color:#fff;
  max-width:450px;
  font-weight:600;
}

/* FLOAT TEXT */
.hero_house .float-text{
  position:absolute;
  bottom:-10px;
  right:40px;
  background:#fff;
  padding:25px;
  border-radius:20px;
  box-shadow:0 20px 50px rgba(0,0,0,0.15);
  max-width:320px;
  font-size:14px;
  color:#475569;
}

/* FEATURES */
.hero_house .features{
  margin-top:100px;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:20px;
}

.hero_house .feature{
  display:flex;
  gap:15px;
  background:#fff;
  padding:20px;
  border-radius:20px;
  box-shadow:0 15px 40px rgba(0,0,0,0.08);
  transition:.3s;
}

.hero_house .feature:hover{
  transform:translateY(-8px);
}

/* ICON */
.hero_house .icon{
  width:50px;
  height:50px;
  border-radius:15px;
  background:linear-gradient(135deg,#dc3545,#dc3545);
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  flex-shrink:0;
}

/* CTA */
.hero_house .cta-wrap{
  text-align:center;
  margin-top:30px; width: 260px;
}

.hero_house .cta{
  padding:16px 40px;
  border-radius:40px;
  background:linear-gradient(135deg,#dc3545,#dc3545);
  color:#fff; 
  text-decoration:none;
  font-weight:600;
  box-shadow:0 20px 40px rgba(255,0,0,0.4);
  transition:.3s;
}

.hero_house .cta:hover{
  transform:scale(1.08);
}

/* RESPONSIVE */
@media(max-width:768px){
 .title{font-size:30px}
 .hero_house .features{grid-template-columns:1fr}
 .hero_house .float-text{position:static;margin-top:20px}
}

/* ================= FAQ SECTION ================= */
/* ===== SECTION ===== */

/* background text */
.faq::before{
    content: "ASCO";
    position: absolute;
    top: 20%;
    left: 30%;
    transform: translate(-50%, -50%) rotate(-11deg);
    font-size: 20rem;
    font-weight: 900;
    font-family: 'Playfair Display', serif;
    color: rgba(225, 29, 72, 0.03);
    pointer-events: none;
    z-index: -1;
    user-select: none;
}

.faq-illustration{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}

.faq-section{
padding: 50px 20px;
position:relative;
}

/* background glow */

/* header */

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

.label{
display:inline-block;
background:#e63946;
color:white;
padding:8px 28px;
border-radius:30px;
letter-spacing:3px;
font-size:13px;
margin-bottom:18px;
}

.subtitle{
margin-top:12px;
color:#666;
}

/* grid */

.faq-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:30px;
}

/* card */

.faq-item{
background:white;
border-radius:18px;
padding:28px 30px;
cursor:pointer;
transition:.35s;
    box-shadow: 0 30px 60px rgb(0 0 0 / 20%);
position:relative;
}

.faq-item:hover{
transform:translateY(-6px);
    box-shadow: 0 30px 60px rgb(0 0 0 / 20%);
}

/* question */

.faq-question{
display:flex;
justify-content:space-between;
align-items:center;
font-size:18px;
font-weight:600;
}

/* icon */

.icon{
color:#e63946;
font-size:18px;
transition:.3s;
}

/* answer */

.faq-answer{
max-height:0;
overflow:hidden;
transition:max-height .35s ease;
margin-top:10px;
color:#555;
line-height:1.6;
}

/* active */

.faq-item.active .faq-answer{
max-height:200px;
}

.faq-item.active .icon{
transform:rotate(45deg);
}

/* responsive */

@media(max-width:900px){

.faq-grid{
grid-template-columns:1fr;
}
.faq::before {
    content: "ASCO";
    position: absolute;
    top: 20%;
    left: 46%; font-size: 5rem;}
.title{
font-size:34px;
}

}
/*----------------------------------------------
  🔻 Footer
----------------------------------------------*/
/* ================= FOOTER ================= */
/* FOOTER */
.footer{
  position:relative;
  padding:50px 110px;
  overflow:hidden;
  background: radial-gradient(circle at 20% 20%, #111827, #020617);
  color:#fff;
}

/* GLOW ORBS */
.footer::before,
.footer::after{
  content:"";
  position:absolute;
  width:400px;
  height:400px;
  border-radius:50%;
  filter:blur(120px);
  opacity:0.3;
}

.footer::before{
  background:#dc3545;
  top:-100px;
  left:-100px;
}

.footer::after{
  background:#dc3545;
  bottom:-100px;
  right:-100px;
}

/* BIG TEXT */
.bg-text{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  font-size:150px;
  font-weight:900;
  color:rgba(255,255,255,0.03);
  white-space:nowrap;
  pointer-events:none;
}

/* GRID */
.footer-container{
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  gap:60px;
  position:relative;
  z-index:2;
}

/* GLASS CARD */
.card{
  background:rgba(255,255,255,0.05);
  border:1px solid rgba(255,255,255,0.08);
  backdrop-filter: blur(20px);
  padding:30px;
  border-radius:20px;
  transition:0.4s;
  position:relative;
  overflow:hidden;
}

/* HOVER GLOW BORDER */
.card:hover{
  transform:translateY(-10px) scale(1.02);
  box-shadow:0 20px 50px rgba(0,0,0,0.6);
}

/* TITLE */
.footer-left h2{
  font-size:44px;
  font-weight:800;
  background:linear-gradient(to right,#dc3545,#dc3545);
  -webkit-background-clip:text;
  color:transparent;
  margin-bottom:20px;
}

/* TEXT */
.footer-left p{
  color:#cbd5e1;
  line-height:1.7;
  margin-bottom:25px;
}

/* INFO */
.info{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:15px;
  color:#e2e8f0;
  font-size:15px;
}

.info i{
  font-size:18px;
  color:#dc3545;
}

/* HEADINGS */
.footer-col h4{
  font-size:13px;
  letter-spacing:2px;
  color:#94a3b8;
  margin-bottom:20px;
}

/* LINKS */
.footer-col ul{
  list-style:none;    padding-left: 0px;
}

.footer-col ul li{
  margin-bottom:16px;
}

.footer-col ul li a{
  text-decoration:none;
  color:#fff;
  font-weight:500;
  display:flex;
  align-items:center;
  gap:10px;
  transition:0.3s;
}

.footer-col ul li a i{
  font-size:18px;
  transition:0.3s;
}

/* HOVER EFFECT */
.footer-col ul li a:hover{
  color:#dc3545;
  transform:translateX(6px);
}

.footer-col ul li a:hover i{
  transform:rotate(10deg) scale(1.2);
}

.scroll-top{
  position:fixed; /* IMPORTANT CHANGE */
  right:30px;
  bottom:30px;
  width:60px;
  height:60px;
  border-radius:50%;
  background:linear-gradient(145deg,#dc3545,#dc3545);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-shadow:0 10px 30px rgba(255,0,0,0.5);
  transition:0.3s;
  z-index:9999; /* keep above everything */

  opacity:0;        /* hidden initially */
  visibility:hidden;
}

/* SHOW WHEN SCROLLED */
.scroll-top.show{
  opacity:1;
  visibility:visible;
}

/* HOVER */
.scroll-top:hover{
  transform:scale(1.1) rotate(10deg);
}

.scroll-top i{
  font-size:22px;
  color:#fff;
}

/* RESPONSIVE */
@media(max-width:900px){
  .footer-container{
    grid-template-columns:1fr;
  }

  .bg-text{
    font-size:100px;
  }
  .footer{
  position:relative;
  padding:50px 30px;}
}

/*----------------------------------------------
  📞 Contact Page Hero
----------------------------------------------*/
.contactpic {
  position: relative;
  background-image: url(../img/mainbanner.jpg);
  background-size: cover;
  background-attachment: fixed;
  background-color: #898787f0;
  background-blend-mode: multiply;
  align-items: center;
  background-position: bottom;
  justify-content: center;
  display: grid;
  min-height: 300px;
  padding-top: 105px;
}

.contactpic span {
  text-transform: uppercase;
  display: block;
}

.contactpic .text1 {
  color: #ffffff;
  font-size: 45px;
  font-weight: 800;
  letter-spacing: 8px;
  margin-bottom: 20px;
  position: relative;
  animation: text 2.5s 1;
  margin-top: 30px;
}

.breadcrumb {
  justify-content: center;
  display: flex;
  width: 100%;
  white-space: nowrap;
  color: #fff;
}

.breadcrumb a {
  color: #dc3545;
  text-decoration: none;
}

.breadcrumb p {
  display: ruby;
  color: #fff;
  bottom: 5px;
}

/*----------------------------------------------
  ✨ Contact Animations
----------------------------------------------*/
@keyframes text {
  0% {
    color: black;
    margin-bottom: -40px;
  }
  30% {
    letter-spacing: 25px;
    margin-bottom: -40px;
  }
}

/*----------------------------------------------
  📝 Contact Form Section
----------------------------------------------*/
.contform-section {
  flex: 1 1 50%;
  padding: 50px;
  display: flex;
  flex-direction: column;
  justify-content: center;
     box-shadow: 0 30px 60px rgb(0 0 0 / 20%);
  margin-top: 60px;
  margin-bottom: 20px;
  border-radius: 15px;
}

.contform-section .form-group {
  display: flex;
  gap: 20px;
  margin-bottom: 30px;
}

.form-section {
  flex: 1 1 50%;
  padding: 30px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: rgb(255 255 255 / 100%);
      box-shadow: 0 30px 60px rgb(0 0 0 / 20%);
  margin-top: 20px;
  margin-bottom: 20px;
  border-radius: 10px;
}
.bgslido .form-section{ margin-top: 100px;}
.form-section h5 {
  font-size: 0.9rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 10px;
  color: #555;
}

.form-section h2 {
  font-size: 2.5rem;
  font-weight: 700;
  margin-bottom: 40px;
}

.form-group {
  display: flex;
  gap: 20px;
}

.form-group input,
.form-group textarea {
  width: 100%;
  padding: 16px 20px;
  border: none;
  border-radius: 10px;
  font-size: 1rem;
  outline: none;
  background: #fff;
}

.form-group textarea {
  resize: none;
  height: 60px !important;
  padding: 12px 20px;
}

.btn-submit {
  background-color: #dc3545;
  color: #fff;
  padding: 16px 30px;
  border: none;
  border-radius: 12px;
  font-size: 1rem;
  cursor: pointer;
  font-weight: 600;
  transition: background 0.3s ease;
}

.btn-submit:hover {
  background-color: #0d0a0a;
  color: #dc3545;
}

/*----------------------------------------------
  🖼️ Contact Image + Layout
----------------------------------------------*/
.image-section {
  flex: 1 1 50%;
  background: url(../img/contactimg.jpg) center center / cover no-repeat;
  min-height: 500px;
  position: relative;
  top: 70px;
  border-radius: 50px;
}

/* heading */

/* SECTION */
.contact-section{
  padding:60px 6%;
}

/* HEADING */
.contact-section .heading{
  text-align:center;
  margin-bottom:60px;
}

.contact-section .heading span{
  background:#ef4444;
  color:#fff;
  padding:6px 16px;
  border-radius:50px;
  font-size:12px;
}

.contact-section .heading h1{
  font-size:40px;
  margin-top:15px;
}

.contact-section .heading p{
  color:#64748b;
  margin-top:8px;
}

/* GRID */
.contact-section .contact-grid{
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:40px;
}

/* CARD */
.contact-section .card{
  background:#fff;
  border-radius:20px;
  padding:30px;
  box-shadow:0 10px 40px rgba(0,0,0,0.08);
}

/* FORM */
.contact-section .form-title{
  font-size:22px;
  margin-bottom:20px;
}

.contact-section .input-group{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:15px;
}

.contact-section .input input,
.contact-section .input textarea{
  width:100%;
  padding:14px;
  border-radius:12px;
  border:1px solid #e2e8f0;
  outline:none;
  transition:.3s;
  font-size:14px;
}

.contact-section .input textarea{
  grid-column:span 2;
  height:120px;
}

.contact-section .input input:focus,
.contact-section .input textarea:focus{
  border-color:#ef4444;
  box-shadow:0 0 0 3px rgba(239,68,68,0.15);
}

/* BUTTON */
.contact-section .btn{
  margin-top:20px;
  padding:14px 28px;
  border:none;
  border-radius:50px;
  background:#ef4444;
  color:#fff;
  font-weight:600;
  cursor:pointer;
  transition:.3s;
}

.contact-section .btn:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(239,68,68,0.3);
}

/* IMAGE PANEL */
.contact-section .image-box{
  position:relative;
  border-radius:20px;
  overflow:hidden;
  height:100%;
}
.contact-section .image-box h3, .contact-section .image-box p{  color:#fff;}
.contact-section .image-box img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:.5s;
}

.contact-section .image-box:hover img{
  transform:scale(1.05);
}

/* OVERLAY */
.contact-section .overlay{
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  padding:20px;
  background:linear-gradient(to top, rgba(0,0,0,0.6), transparent);
  color:#fff;
}

/* FLOAT BADGE */
.contact-section .badge{
  position:absolute;
  top:20px;
  left:20px;
  background:#fff;
  color:#ef4444;
  padding:8px 14px;
  border-radius:50px;
  font-size:12px;
  font-weight:600;
  box-shadow:0 5px 15px rgba(0,0,0,0.1);
}

/* INFO */
.contact-section .info-grid{
  margin-top:40px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}

.contact-section .info-card{
  background:#fff;
  padding:20px;
  border-radius:15px;
  box-shadow:0 8px 30px rgba(0,0,0,0.05);
  transition:.3s;
}

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

.contact-section .icon{
  color:#ef4444;
  font-size:20px;
  margin-bottom:10px;
}

/* MAP */
.contact-section .map{
  margin-top:40px;
  border-radius:20px;
  overflow:hidden;
  height:280px;
  box-shadow:0 10px 30px rgba(0,0,0,0.08);
}

.contact-section .map iframe{
  width:100%;
  height:500px;
  border:0;
}

/* FLOAT BTN */
.contact-section .floating-btn{
  position:fixed;
  bottom:25px;
  right:25px;
  width:55px;
  height:55px;
  background:#ef4444;
  color:#fff;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-shadow:0 10px 25px rgba(239,68,68,0.4);
}

/* RESPONSIVE */
@media(max-width:900px){
 .contact-section .contact-grid{
    grid-template-columns:1fr;
  }
 .contact-section .info-grid{
    grid-template-columns:1fr;
  }
}

/*----------------------------------------------
  🧾 Form Focus / Validation
----------------------------------------------*/
.continess .form-control:focus {
  color: var(--bs-body-color);
  border-color: #dc3545;
  outline: 0;
  box-shadow: none;
}

/*----------------------------------------------
  🔁 Duplicate Contact Hero (As-is)
----------------------------------------------*/
.contactpic {
  position: relative;
  background-image: url(../img/mainbanner.jpg);
  background-size: cover;
  background-attachment: fixed;
  background-color: #898787f0;
  background-blend-mode: multiply;
  align-items: center;
  background-position: bottom;
  justify-content: center;
  display: grid;
  min-height: 300px;
  padding-top: 105px;
}

.breadcrumb a {
  text-decoration: none;
  color: #dc3545;
}

/*----------------------------------------------
  🎨 Root Overrides
----------------------------------------------*/
:root {
  --primary-red: #b91c1c;
  --text-dark: #212529;
  --text-muted: #495057;
  --bg-light: #f8f9fa;
  --shadow-soft: 0 15px 40px rgba(0,0,0,0.08);
  --shadow-hover: 0 30px 80px rgba(0,0,0,0.15);
}

.section-padding {
  padding: 60px 0;
}

.section-title {
  letter-spacing: 1px;    font-size: 42px;
    font-weight: 900;
    line-height: 1.25;
    background: linear-gradient(180deg, #dc3545, #1d1f21);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-bottom: 22px;  
    color: #dc3545;
    text-shadow: 0 10px 30px rgba(190, 18, 60, .25);
}


/*----------------------------------------------
  📞 Contact Section (Advanced)
----------------------------------------------*/
/* ================= SECTION ================= */
.section{
  padding:60px 40px;
  position:relative;
  overflow:hidden;
}
/* background typography */
.section::before {
    content: "CONTACT • VENUE • ASCO 2026";
    position: absolute;
    top: 51%;
    left: 4%;
    font-size: 100px;
    font-weight: 800;
    letter-spacing: -0.05em;
    color: #000;
    opacity: 0.03;
    white-space: nowrap;}

/* abstract medical shapes */




/* ================= HEADINGS ================= */
.eyebrow2{
  text-align:center;
  font-size:12px;
  letter-spacing:.35em;
  text-transform:uppercase;
  color:#fff;
  margin-bottom:20px;
}

/* ================= GRID ================= */
.grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:100px;
  align-items:start;
}

/* ================= CONTACT ================= */
.contact-panel{
  background:#fff;
  border-radius:28px;
  padding:60px;
  box-shadow:0 50px 120px rgba(0,0,0,.08);
  border:1px solid var(--line);z-index: 9;
}

.contact-panel h3{
  font-size:28px;
  font-weight:600;
  margin-bottom:36px;
}

.form-grid input,
.form-grid textarea{
  width:100%;
  padding:14px 16px;
  border-radius:12px;
  border:1px solid var(--line);
  font-size:14px;
  font-family:inherit;
}

.form-grid textarea{
  grid-column:1 / -1;
  resize:none;
  height:110px;
}

.form-grid input:focus,
.form-grid textarea:focus{
  outline:none;
  border-color:var(--accent);
}

.submit-btn{
  margin-top:30px;
  background:var(--accent);
  color:#fff;
  border:none;
  padding:14px 26px;
  font-size:14px;
  font-weight:600;
  border-radius:10px;
  cursor:pointer;
}

/* ================= IMAGE ================= */
.contact-image{
  border-radius:36px;
  overflow:hidden;
  box-shadow: 0 30px 60px rgba(0,0,0,0.08);z-index: 9;
}

.contact-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* ================= VENUE ================= */
.venue{
  margin-top:160px;
}

.venue-grid{
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:100px;
  align-items:start;
}

.venue-info{
  background:#fff;
  border-radius:28px;
  padding:60px;
     box-shadow: 0 30px 60px rgb(0 0 0 / 20%);
  border:1px solid var(--border);
}

.venue-info h3{
  font-size:28px;
  font-weight:600;
  margin-bottom:40px;
}

.venue-item{
  display:flex;
  gap:18px;
  margin-bottom:28px;
  font-size:15px;
  color:var(--muted);
}

.venue i{
  color:var(--accent);
  font-size:18px;
  margin-top:2px;    padding-right: 10px;
}
.venue .text{font-size: 20px;}
/* ================= MAP ================= */
.map{
  border-radius:36px;
  overflow:hidden;
      box-shadow: 0 30px 60px rgb(0 0 0 / 20%);
}

.map iframe{
  width:100%;
  height:420px;
  border:none;
}

/* ================= RESPONSIVE ================= */
@media(max-width:800px){
  .grid,
  .venue-grid{
    grid-template-columns:1fr;
    gap:70px;
  }
  .venue.split {
    display: block;}
  .map{margin-top: 40px;}
  .venue .text {
    font-size: 16px;
}
     .contsform   {padding: 100px 20px 50px 20px!important;}
}

@media(max-width:640px){
  .section{
          padding: 70px 20px;
  }
  .section-title{
    font-size:30px;
  }
  .contact-panel,
  .venue-info{
    padding:40px 30px;
  }
}
/*----------------------------------------------
  🧠 About Us (Advanced / Story)
----------------------------------------------*/
/* ================= SECTION ================= */

/* SECTION */

.about{
padding:60px 20px;
position:relative;
overflow:hidden;
}

/* BIG BACKGROUND TEXT */

.about::before{
content:"ASCO";
position:absolute;
font-size:260px;
font-weight:900;
color:#00000005;
top:80px;
left:50%;
transform:translateX(-50%);
letter-spacing:40px;
}

/* GRADIENT SHAPES */

.shape1{
position:absolute;
width:500px;
height:500px;
background:#e6394620;
border-radius:50%;
filter:blur(120px);
top:-200px;
left:-200px;
}

.shape2{
position:absolute;
width:500px;
height:500px;
background:#3a86ff20;
border-radius:50%;
filter:blur(120px);
bottom:-200px;
right:-200px;
}

/* CONTAINER */


/* LABEL */

.label {
display:inline-block;
background:#e63946;
color:white;
padding:8px 24px;
border-radius:40px;
font-size:13px;
letter-spacing:2px;
margin-bottom:20px;
}

/* TITLE */


/* highlight underline */

.title span::after{
content:"";
position:absolute;
left:0;
bottom:-6px;
width:100%;
height:6px;
background:#e63946;
border-radius:10px;
opacity:.3;
}

/* TEXT */

.text p{
color:#555;
line-height:1.8;
margin-bottom:20px;
font-size:16px;
}

/* IMAGE CARD */

.image-card{
position:relative;
border-radius:30px;
overflow:hidden;
    box-shadow: 0 30px 60px rgb(0 0 0 / 20%);
transform:rotate(-2deg);
transition:.5s;
}

.image-card img{
width:100%;
display:block;    height: 550px;
    object-fit: cover; 
}

.image-card:hover{
transform:rotate(0deg) scale(1.03);
}

/* GLASS BADGE */

.about .badge{
position:absolute;
bottom:30px;
left:50%;
transform:translateX(-50%);
background:rgba(255,255,255,0.85);
backdrop-filter:blur(10px);
padding:16px 28px;
border-radius:40px;
font-size:14px;    color: #dc3545;
    box-shadow: 0 30px 60px rgb(0 0 0 / 20%);
}

/* DECORATIVE LINES */

.line{
width:80px;
height:4px;
background:#e63946;
border-radius:20px;
margin:25px 0;
}

/* RESPONSIVE */

@media(max-width:900px){

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

.title{
font-size:38px;
}

.about::before{
font-size:120px;
}
  .registration-page , .housing-page {
    padding: 0px 30px;}
}

/*----------------------------------------------
  📝 Registration / Housing Pages
----------------------------------------------*/
.registration-page {
  margin-top: 50px;
  margin-bottom: 50px;
}
.registration-page .header {
    margin-bottom: 20px;
    text-align: center;
}
.registration-page .header small {
    display: inline-block;
    font-size: 12px;
    letter-spacing: 4px;
    font-weight: 700;
    margin-bottom: 14px;
}
.registration-page .header h1 {
    font-size: 42px;
    font-weight: 900;
    line-height: 1.25;
    background: linear-gradient(180deg, #dc3545, #1d1f21);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-bottom: 22px; 
    color: #dc3545;
    text-shadow: 0 10px 30px rgba(190, 18, 60, .25);
}
.registration-page .header p {
    font-size: 16px;
    line-height: 1.8;
    color: var(--muted);
}
.registration-page img {
  height: 575px;
  width: 100%;
  object-fit: cover;
 margin-top: 70px;
}

.housing-page {
  margin-top: 50px;
  margin-bottom: 50px;
}
.housing-page .header {
    margin-bottom: 20px;
    text-align: center;
}
.housing-page .header small {
    display: inline-block;
    font-size: 12px;
    letter-spacing: 4px;
    font-weight: 700;
    margin-bottom: 14px;
}
.housing-page .header h1 {
    font-size: 42px;
    font-weight: 900;
    line-height: 1.25;
    background: linear-gradient(180deg, #dc3545, #1d1f21);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-bottom: 22px; 
    color: #dc3545;
    text-shadow: 0 10px 30px rgba(190, 18, 60, .25);
}
.housing-page .header p {
    font-size: 16px;
    line-height: 1.8;
    color: var(--muted);
}
.housing-page img {
  height: 550px;
  width: 100%;
  object-fit: cover;
  margin-top: 70px;
}

/*----------------------------------------------
  📱 Navbar / Mobile (Duplicate As-is)
----------------------------------------------*/
.navbar.scrolled {
  background-color: #ffffff;
     box-shadow: 0 30px 60px rgb(0 0 0 / 20%);
}

.mobile-menu {
  position: fixed;
  top: 0;
  left: -100%;
  width: 80%;
  max-width: 300px;
  height: 100vh;
  background-color: #fff;
  z-index: 1050;
  transition: left 0.3s ease-in-out;
    box-shadow: 0 30px 60px rgb(0 0 0 / 20%);
  padding: 2rem 1.5rem;
}

.mobile-menu.active {
  left: 0;
}

.mobile-menu .close-btn {
  font-size: 30px;
  color: #333;
  position: absolute;
  top: 15px;
  right: 20px;
  background: none;
  border: none;
  cursor: pointer;
  z-index: 9999;
}

.mobile-menu ul {
  list-style: none;
  padding-left: 0;
  margin-top: 80px;
}

.mobile-menu ul li {
  margin: 20px 0;
}

.mobile-menu ul li a {
  color: #1d1f2b;
  font-size: 1.2rem;
  text-decoration: none;
  font-weight: 500;
}

@media (min-width: 992px) {
  .mobile-menu,
  .mobile-toggler {
    display: none !important;
  }

}

.navbar-toggler {
  border: none;
  font-size: 1.2rem;
}

.navbar-toggler:focus {
  box-shadow: none;
}

/*----------------------------------------------
  🔘 Button Slide Fill
----------------------------------------------*/

.btn-slide-fill{
  display:inline-block;
  padding:15px 35px;
  border-radius:999px;
  background:#dc3545;
  color:#fff;
  font-weight:600;
  font-size:16px;
  text-decoration:none;
  transition:.35s ease;
  box-shadow:0 18px 40px rgba(225,29,46,.35);
}

.btn-slide-fill:hover{
  transform:translateY(-4px) scale(1.03);
  box-shadow:0 26px 60px rgba(225,29,46,.45);
}


.btn-slide-fill:hover {
  color: #dc3545;
}

.btn-slide-fill:hover::before {
  width: 100%;
}

.justicent {
  align-items: center;
  display: flex;
  justify-content: center;
}

/*----------------------------------------------
  🔄 Rolling Text Animation
----------------------------------------------*/
.rolling-text {
  font-size: 15px;
  line-height: 50px;
  height: 60px;
  text-decoration: none;
  overflow: hidden;
  color: #ffffff;
  font-weight: 500;
}

.rolling-text:hover .letter,
.rolling-text.play .letter {
  transform: translateY(-100%);
}

.rolling-text .letter {
  display: inline-block;
  transition: transform 0.6s cubic-bezier(0.76, 0, 0.24, 1);
}

.letter:nth-child(1) { transition-delay: 0s; }
.letter:nth-child(2) { transition-delay: 0.015s; }
.letter:nth-child(3) { transition-delay: 0.03s; }
.letter:nth-child(4) { transition-delay: 0.045s; }
.letter:nth-child(5) { transition-delay: 0.06s; }
.letter:nth-child(6) { transition-delay: 0.075s; }
.letter:nth-child(7) { transition-delay: 0.09s; }
.letter:nth-child(8) { transition-delay: 0.105s; }

/*----------------------------------------------
  🧾 Modal / Group Form
----------------------------------------------*/
#groupform.modal-content {
  background: none;
  box-shadow: none;
  border: none;
}

/*----------------------------------------------
  📅 Flatpickr Overrides
----------------------------------------------*/
.flatpickr-calendar {
  border: 1px solid #dc3545;
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.inRange {
  background-color: #dc3545;
  color: #fff;
}

.flatpickr-day.today {
  border-color: #dc3545;
}
    .hero-slide h1 {font-size: 65px;
    margin-bottom: 0px;}
     .hero-slide p{font-size: 50px;}
/*----------------------------------------------
  📱 Media Queries (General)
----------------------------------------------*/
@media (max-width: 768px) {

  .housing-page img {
    margin-top: 15px;
  }

  #topform-section {
    min-height: auto;
  }

  .hero-slide::after {
    display: none;
  }

  .hero-section {
    padding: 100px 15px 0;
  }

  .event-title h1 {
    font-size: 1.75rem;
    font-weight: 900;
    color: transparent;
    background: linear-gradient(58deg, #dc3545, #3e3d3f);
    -webkit-background-clip: text;
    background-clip: text;
    overflow: hidden;
    white-space: nowrap;
    animation: type 1.5s steps(90) 1.5s 1 normal both,
               cursor 1s step-end infinite;
  }

  .event-description {
    font-size: 25px;
  }

  .container h2 {
    font-size: 1.75rem;
  }

  .navbar-brand {
    font-size: 1.5rem;
  }

  .form-section h2 {
    font-size: 1.5rem;
  }

  .info-section h2 {
    font-size: 1.5rem;
  }
}

/*----------------------------------------------
  📱 Extra Small Screens
----------------------------------------------*/
@media (max-width: 576px) {

  .event-title h1 {
    font-size: 2rem;
  }

  .event-description {
    font-size: 25px;
  }

  .container h2 {
    font-size: 1.75rem;
  }

  .navbar-brand {
    font-size: 1.5rem;
  }

  .form-section h2 {
    font-size: 1.5rem;
  }

  .info-section h2 {
    font-size: 1.5rem;
  }
}

/*----------------------------------------------
  📱 Small / Medium Responsive Tweaks
----------------------------------------------*/
@media screen and (max-width: 1199px) and (max-width: 601px) {

  span.regi {
    font-size: 2rem !important;
  }

  .contactpic .text1 {
    color: #fff;
    font-size: 2.5rem;
    margin-bottom: 0px;
    margin-top: 45px;
  }

  .registration-page img {
    height: 400px;
    width: 100%;
    object-fit: cover;
    margin-top: 0px;
  }

  .form-section,
  .image-section {
    flex: 1 1 100%;
    padding: 20px 15px;
  }

  .form-group {
    flex-direction: column;
  }
}

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

  .contact-container {
    flex-direction: column;
  }

  .map-section,
  .info-section {
    flex: 1 1 100%;
  }

  .info-section {
    padding: 20px 15px;
  }
}

/*----------------------------------------------
  🧱 Containers / Shadows
----------------------------------------------*/
.shadowcont {
  padding: 50px;
  display: flex;
  margin-bottom: 50px;
  flex-direction: column;
  justify-content: center;
     box-shadow: 0 30px 60px rgb(0 0 0 / 20%);
  margin-top: 60px;
  border-radius: 15px;
}

a.navbar-brand h1 {
  font-weight: 900;
  font-family: system-ui;
}

.is-invalid ~ .invalid-feedback {
  font-weight: 700;
}

/*----------------------------------------------
  🧭 Navbar Link Effects
----------------------------------------------*/
.navbar .nav-link {
  position: relative;
  color: #000;
  padding-bottom: 5px;
  transition: color 0.3s ease;
}

.navbar .nav-link::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  height: 2px;
  width: 0;
  background-color: #dc3545;
  transition: width 0.4s ease;
}

.navbar .nav-link:hover::after {
  width: 100%;
}

.navbar .nav-link.active,
.navbar .nav-item .nav-link.active::after {
  color: #000;
}

.navbar .nav-link.active::after {
  width: 100%;
  background-color: #fff;
}

/*----------------------------------------------
  ⏳ Preloader
----------------------------------------------*/
#preloader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
}

#preloader.active {
  opacity: 1;
  visibility: visible;
}

.loader {
  position: relative;
  width: 80px;
  height: 80px;
}

/*----------------------------------------------
  ⬆️ Go To Top Button
----------------------------------------------*/
#myBtn {
  display: none;
  position: fixed;
  bottom: 20px;
  right: 30px;
  z-index: 99;
  border: none;
  outline: none;
  background: linear-gradient(45deg, #dc3545, #dc3545);
  color: white;
  cursor: pointer;
  padding: 2px 11px;
  font-size: 30px;
  border-radius: 50%;
  transition: background 0.3s ease, transform 0.3s ease;
}

#myBtn:hover {
  background: linear-gradient(45deg, #000, #dc3545);
  transform: scale(1.1);
}

/*----------------------------------------------
  📱 Final Media Queries
----------------------------------------------*/
@media (min-width: 1200px) {

  .container h2 {
    font-size: 2.5rem;
  }

  .event-title h1 {
    font-size: 3rem;
  }

  .event-description {
    font-size: 28px;
    max-width: 700px;
  }

  .time-box {
    width: 100px;
  }

  .stat-box {
    width: 280px;
    margin: 0 25px;
  }

  .nav-link:focus,
  .nav-link:hover {
    color: var(--primary) !important;
  }

  .navbar.scrolled .nav-link:hover {
    color: #000000 !important;
  }

  .form-section h2 {
    font-size: 2.5rem; 
  }

  .form-section h4 {
    font-size: 30px; 
  }

  .info-section h2 {
    font-size: 2rem;
  }

  .registration-page img {
    height: 575px;
    border-radius: 50px;
  }

  .housing-page img {
    height: 550px;
    border-radius: 50px;
  }
}

/*----------------------------------------------
  🧭 Final Navbar Hover Overrides
----------------------------------------------*/
.nav-link:focus,
.nav-link:hover {
  color: var(--primary) !important;
}

.navbar.scrolled .nav-link:hover {
  color: #000000 !important;
}

/*----------------------------------------------
  🌀 Loader Animations
----------------------------------------------*/
@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

@keyframes pulse {
  0% { transform: translate(-50%, -50%) scale(1); }
  50% { transform: translate(-50%, -50%) scale(1.2); }
  100% { transform: translate(-50%, -50%) scale(1); }
}

/*----------------------------------------------
  📌 Misc / Utility
----------------------------------------------*/
.modal-backdrop.show {
  z-index: 9;
}

/*----------------------------------------------
  ✅ END OF STYLESHEET
----------------------------------------------*/
