/*----------------------------------------------
  🎨 Global Styles
----------------------------------------------*/
:root {
  --primary: #dc3545; /* Red */
  --highlight: #ffffff; /* White */
  --contrast: #000000; /* Black */
  --neutral: #f8f9fa; /* Light gray */
  --background: #ffffff;
  --accent:#b11226;
    --line:#e5e7eb;
    --muted: #555;
    --red:         #e63946;
      --red-dark:    #b71c1c;
      --text:        #111827;
      --muted:       #4b5563;
      --bg:          #f9fafb;
      --card:        #ffffff;
      --shadow:      0 12px 35px rgba(230,57,70,0.09);
      --radius:      18px;
      --icon-size:   28px;
      --ascored:      #c8102e;
      --ascored-dark: #a00d25;
      --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);
}


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;
}
/*----------------------------------------------
  🎞 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 10px 35px rgba(0,0,0,.08);
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:#e63946;
}

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

/* ACTIVE INDICATOR */

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

/* CTA BUTTON */

.cta{
padding:12px 26px;
border-radius:40px;
background:linear-gradient(45deg,#e63946,#ff6b6b);
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 20px 40px rgba(0,0,0,.1);
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){
.hero {
    padding: 6rem 0rem 0rem!important;}
.menu{
position:absolute;
top:80px;
left:0;
width:100%;
flex-direction:column;
background:white;
padding:30px;
display:none;
border-radius:20px;
box-shadow:0 10px 30px rgba(0,0,0,.1);
}

.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 {
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
       padding: 6rem 2rem 0rem;
   overflow: hidden;
    }

    .count-digit {
     font-size: 45px;
    line-height: 0.88;
    font-weight: 700;
    letter-spacing: -0.07em;
    transition: all 0.6s 
ease-out;
    padding-bottom: 10px;
    }

    .btn-ascored {
      background: var(--ascored);
      border-color: var(--ascored);
      font-weight: 600;
      letter-spacing: 0.5px;
      position: relative;
      overflow: hidden;
      transition: all 0.4s ease; width: 380px ! Important;
    }
   .btn-ascored a{    color: #fff;
    text-decoration: none;}
    .btn-ascored:hover {
      background: var(--ascored-dark);
      border-color: var(--ascored-dark);
      transform: translateY(-2px);
      box-shadow: 0 12px 30px -8px rgba(200,16,46,0.35);
    }

    .btn-shine::before {
      content: '';
      position: absolute;
      top: -50%;
      left: -100%;
      width: 50%;
      height: 200%;
      background: linear-gradient(120deg, transparent, rgba(255,255,255,0.65), transparent);
      transform: skewX(-20deg);
      transition: left 0.9s;
    }

    .btn-shine:hover::before {
      left: 200%;
    }

    .accent-pulse {
      position: relative;
    }

    .accent-pulse::after {
      content: '';
      position: absolute;
      width: 10px;
      height: 10px;
      background: var(--ascored);
      border-radius: 50%;
        top: 46%;
    left: 13px;
      transform: translateY(-50%);
      animation: pulse 2s infinite;
    }

    @keyframes pulse {
      0%, 100% { transform: translateY(-50%) scale(1); opacity: 0.4; }
      50%      { transform: translateY(-50%) scale(1.6); opacity: 0; }
    }

    .fade-up {
      opacity: 0;
      transform: translateY(40px);
      transition: all 1s ease-out;
    }

    .fade-up.visible {
      opacity: 1;
      transform: translateY(0);
    }

    .bg-shape-1, .bg-shape-2, .bg-shape-3 {
      position: fixed;
      border-radius: 50%;
      filter: blur(80px);
      opacity: 0.12;
      z-index: -1;
      pointer-events: none;
    }

    .bg-shape-1 { width: 500px; height: 500px; background: #fecdd3; top: 10%; left: -15%; }
    .bg-shape-2 { width: 400px; height: 400px; background: #bfdbfe; bottom: 15%; right: -10%; }
    .bg-shape-3 { width: 350px; height: 350px; background: #fed7aa; top: 45%; left: 35%; }

    @media (max-width: 992px) {
      .count-digit { font-size: 5.5rem; }
    }
 .btn-ascored{width: 100%!important;}
    @media (max-width: 576px) {
      .count-digit { font-size: 4.2rem; }
      h1 { font-size: 2.5rem !important; }
      .lead { font-size: 1.4rem !important; }
    }
/*----------------------------------------------
  🎨 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 40px 100px rgba(0,0,0,.18);
}

/* ================= 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 10px 30px rgba(0,0,0,.12);
}

/* ================= 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) {
  .bgslido .form-section{    margin: 80px 15px 50px !important;}
  .housing-page img {
    margin-top: 15px;
  }

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

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

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

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

  .event-description {
    font-size: 1.4rem;
  }

  .countdown-container {
    position: absolute;
    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 ===== */
.homeabout.about{
  display:flex;
  align-items:center;
  justify-content:center;
    padding: 70px 6vw 40px;
  position:relative;
}

/* cinematic glow */
.homeabout.about::before{
  content:"";
  position:absolute;
  width:700px;
  height:700px;
  background:radial-gradient(circle, rgba(225,29,46,0.22), transparent 70%);
  filter:blur(120px);
  top:10%;
  left:10%;
}

/* ===== FLOATING STAGE ===== */
.homeabout .stage{
    position: relative;
    width: 100%;
    padding: 60px 60px;
       background: #ffffff;
    border-radius: 32px;
    border: 1px solid rgba(0, 0, 0, 0.06);
    box-shadow: 0 40px 80px rgba(0, 0, 0, 0.06), 0 10px 20px rgba(0, 0, 0, 0.04);
    opacity: 0;
    transform: translateY(80px) scale(.96);
    animation: reveal 1.4s 
cubic-bezier(.19, 1, .22, 1) forwards;
}

@keyframes reveal{
  to{opacity:1; transform:translateY(0) scale(1);}
}

/* ===== LEFT TEXT ===== */
 .micro{
  letter-spacing:6px;
  font-size:12px;
  color:#ff4b5c;
  margin-bottom:26px;
}

 .title{
font-size: 40px;
    font-weight: 900;
    line-height: 1.15;
    margin-bottom: 15px;
    background: linear-gradient(180deg, #dc3545, #000);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    color: #000000;
    text-shadow: 0 10px 30px rgba(190, 18, 60, .25);
}

.homeabout .desc{
     font-size: 20px;
  line-height:1.85;
    color: #414141;
  margin-bottom:46px;
}

/* ===== PROFESSIONAL TIMELINE LIST ===== */
.homeabout .points{
  position:relative;
  padding-left:28px;
  display:flex;
  flex-direction:column;
  gap:26px;
}


/* list item */
.homeabout .points div{
    color: #585858;
    line-height: 1.8;
    transition: .4s 
ease;
    font-size: 15px;
  line-height:1.8;
  transition:.4s ease;
}

/* glass marker instead of red dot */
.homeabout .points div::before{
  content:"";
  position:absolute;
  left:3px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
 background: radial-gradient(circle, #e11d2e, #e11d2e);
    box-shadow: 0 0 12px rgba(255, 75, 92, .6);
    margin-top: 6px;

}

/* subtle hover highlight */
/* .homeabout .points div:hover{
    color: #585858;
  transform:translateX(4px);
} */

/* ===== RIGHT IMAGE ===== */
.homeabout .art{
  position:relative;
  border-radius:30px;
  overflow:hidden;
}

.homeabout .art img{
  width:100%;
  height:700px;
  object-fit:cover;
  transform:scale(1.08);
  transition:1.8s ease;
}

.homeabout .stage:hover .art img{
  transform:scale(1);
}

/* floating caption */
.homeabout .caption{
  position:absolute;
  bottom:22px;
  left:22px;
  background:rgba(0,0,0,.72);
  padding:10px 20px;
  border-radius:999px;
  font-size:12px;
  letter-spacing:2px;
  backdrop-filter:blur(8px); color: #fff;
}

/* ===== MOBILE ===== */
@media(max-width:900px){
  .homeabout.about {
    display: flex
;
    align-items: center;
    justify-content: center;
    padding: 30px 6vw 40px;}
.homeabout.about::before {display: none;}
  .homeabout .stage{
    grid-template-columns:1fr;
    padding:60px 30px;
  }
  .homeabout .art {
    position: relative;
    top: 30px;
}
 .title{
    font-size:30px;
  }
}


/*----------------------------------------------
  📊 Stats / Highlights Section
----------------------------------------------*/
 /* SECTION */
    .conference {
  padding: 55px 0;
      position: relative;
      overflow: hidden;
    }

    /* GRADIENT ACCENTS */
   .conference  .circle {
      position: absolute;
      border-radius: 50%;
      filter: blur(120px);
      opacity: .35;
    }

   .conference  .circle1 {
      width: 320px;
      height: 320px;
      background: #ff4d4d;
      top: -150px;
      left: -120px;
    }

   .conference  .circle2 {
      width: 300px;
      height: 300px;
      background: #2563eb;
      bottom: -150px;
      right: -120px;
    }

    /* LEFT PANEL */
   .conference  .left-panel {
      padding-right: 40px;
    }


    .conference .title {
     font-size: 40px;
      font-weight: 700;
      line-height: 1.2;
      margin-bottom: 18px;
    }

    .conference .title span {
      color: #ef4444;
    }

    .conference .desc {
      font-size: 18px;
      color: #6b7280;
      max-width: 520px;
    }

    /* STACKED CARDS */
    .conference .info-stack {
      margin-top: 50px;
      position: relative;
    }

    .conference .stack-card {
      background: white;
      border-radius: 16px;
      padding: 26px 28px;
      box-shadow: 0 12px 30px rgba(0,0,0,0.06);
      margin-bottom: 20px;
      position: relative;
      transition: .35s; display: flex;
    }

   .conference  .stack-card:hover {
      transform: translateY(-6px);
      box-shadow: 0 20px 45px rgba(0,0,0,0.08);
    }

   .conference  .stack-card h5 {
      font-weight: 600;
      margin-bottom: 8px;
    }

    .conference .stack-card .icon {
       font-size: 25px;
    margin-bottom: 0px;
    display: block;
    color: #ef4444;
    position: relative;
    top: -7px;
    }

    .conference .stack-card p {
        margin: 0px 30px;
      color: #6b7280;
    }

    /* RIGHT PANEL */
    .conference .right-panel {
      position: relative;
    }

    /* MAIN STAT BOX */
    .conference .attendees {
      background: white;
      border-radius: 24px;
        padding: 20px 45px;
      text-align: center;
      box-shadow: 0 30px 60px rgba(0,0,0,0.08);
      position: relative;
    }

    .conference .attendees-number {
      font-size: 95px;
      font-weight: 700;
      color: #ef4444;
    }

    .conference .attendees-label {
    letter-spacing: 6px;
    font-size: 20px;
    color: #ef4444;
      margin-top: 0px;
    margin-bottom: 20px;
    font-weight: 800;
    }

    .conference .attendees-desc {
      font-size: 17px;
      color: #6b7280;
    }

    /* FLOAT BADGE */
   .conference  .badge-floating {
      position: absolute;
      top: -25px;
         right: 5px;
      background: #ef4444;
      color: white;
      padding: 16px 20px;
      border-radius: 10px;
      font-size: 14px;
      box-shadow: 0 15px 35px rgba(0,0,0,0.2);
    }

    /* MINI INFO */
   .conference  .mini-card {
      margin-top: 25px;
      background: white;
      padding: 24px;
      border-radius: 16px;
      box-shadow: 0 10px 25px rgba(0,0,0,0.06);
    }

    .conference .mini-card .icon {
      font-size: 2.5rem;
      margin-bottom: 12px;
      display: block;
      color: #ef4444;
    }

    .conference .mini-card h4 {
      font-weight: 600;
      margin-bottom: 10px;
    }

    .conference .mini-card p {
      margin: 0;
      color: #6b7280;
    }

    /* MOBILE */
    @media (max-width: 991px) {
     .conference  .title {
        font-size: 36px;
      }

     .conference  .attendees-number {
               font-size: 60px;
      }
.conference .left-panel {
    padding-right: 0px;
}
    .conference  .right-panel {
        margin-top: 40px;
      }
      .keydates .content {
    padding: 1.4rem 1.6rem 1.7rem;
    display: block!important;}
    }

/*----------------------------------------------
  📅 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;
    }

    .keydates .rows {
      display: flex;
      flex-direction: column;
      gap: 3.5rem;
    }

    .keydates .event-card {
      background: var(--card);
      border-radius: var(--radius);
      overflow: hidden;
      box-shadow: var(--shadow);
      transition: all 0.35s ease;
      border: 1px solid rgba(230,57,70,0.07);
      position: relative;
    }

   .keydates  .event-card:hover {
      transform: translateY(-10px);
      box-shadow: 0 20px 50px rgba(230,57,70,0.15);
    }

    .keydates .date-header {
      background: var(--red);
      color: white;
      padding: 1rem 1.3rem;
      text-align: center;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 0.9rem;
    }

    .keydates .date-header svg {
      width: var(--icon-size);
      height: var(--icon-size);
      fill: white;
      opacity: 0.92;
    }

    .keydates .date-text {
      text-align: center;
    }

   .keydates  .month {
      font-size: 0.95rem;
      font-weight: 600;
      letter-spacing: 1px;
      text-transform: uppercase;
      opacity: 0.94;
    }

    .keydates .day-year {
      font-size: 1.95rem;
      font-weight: 800;
      line-height: 1;
      margin-top: 0.2rem;
    }

   .keydates  .content {
      padding: 1.4rem 1.6rem 1.7rem;
      display: flex;
      align-items: flex-start;
      gap: 1rem;
    }

    .keydates .content svg {
      width: 24px;
      height: 24px;
      flex-shrink: 0;
      margin-top: 4px;
      fill: var(--red);
    }

    .keydates .text-block {
      flex: 1;
    }

    .keydates .title {
      font-size: 40px;
      font-weight: 700;
      margin-bottom: 0.8rem;
      color: var(--text);
      line-height: 1.35;
    }

    .keydates .desc {
      font-size: 0.96rem;
      color: var(--muted);
      line-height: 1.55;
    }

    .keydates .final-event .date-header {
      background: linear-gradient(135deg, #991b1b, #7f1d1d);
    }

    .keydates .final-event .title {
      color: #991b1b;
      font-weight: 800;
    }

    .keydates .final-event .desc {
      color: var(--muted);
    }

    @media (max-width: 1100px) {
     .keydates  .row {
        grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
      }
    }

    @media (max-width: 700px) {
      .keydates { padding: 5rem 4vw 6rem; }
     .keydates  .header h1 { font-size: 3.1rem; }
     .keydates  .event-card { min-width: 100%; }
     .keydates  .day-year { font-size: 1.8rem; }
      .keydates .content { gap: 0.9rem; }
    .keydates  .content svg { width: 22px; height: 22px; }
    }
/*----------------------------------------------
  🏨 Housing Section (.safe-section)
----------------------------------------------*/
.serif {
      font-family: 'Playfair Display', serif;
    }

    .house-section {
     background: linear-gradient(135deg, #ffffff 0%, #ffffff 100%);
    color: #292929;
      position: relative;
      overflow: hidden;
        padding: 5rem 0 4rem;
    }

    .house-section::before {
      content: '';
      position: absolute;
      inset: 0;
      background: radial-gradient(circle at 30% 70%, rgba(200,16,46,0.12) 0%, transparent 50%);
      pointer-events: none;
    }

      .house-section  .title-gradient {
      background: linear-gradient(90deg, #464242, #464646, #3e3c3c);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-size: 200% auto;
      animation: shine 6s linear infinite;
    }

    @keyframes shine {
      to { background-position: 200% center; }
    }

     .house-section   .feature-check {
      display: flex;
      align-items: center;
      gap: 1rem;
      font-size: 1.1rem;
      margin-bottom: 1.25rem;
      transition: all 0.3s ease;
    }

      .house-section  .feature-check:hover {
      transform: translateX(8px);
    }

      .house-section  .check-circle {
      width: 32px;
      height: 32px;
      border-radius: 50%;
      background: rgba(200,16,46,0.12);
      color: var(--ascored);
      font-size: 1.3rem;
      display: grid;
      place-items: center;
      flex-shrink: 0;
    }

      .house-section  .btn-ascored {
      background: var(--ascored);
      border: none;
      padding: 1rem 2.2rem;
      font-size: 1.25rem;
      font-weight: 600;
      letter-spacing: 0.5px;
      border-radius: 50px;
      transition: all 0.4s ease;
      box-shadow: 0 10px 30px rgba(200,16,46,0.25);
      position: relative;
      overflow: hidden; color:#fff;
    }

      .house-section  .btn-ascored:hover {
      background: var(--ascored-dark);
      transform: translateY(-3px);
      box-shadow: 0 16px 40px rgba(200,16,46,0.35);
    }

      .house-section  .btn-ascored::after {
      content: '';
      position: absolute;
      top: -50%;
      left: -100%;
      width: 50%;
      height: 200%;
      background: linear-gradient(90deg, transparent, rgba(255,255,255,0.35), transparent);
      transition: left 0.7s;
    }

      .house-section  .btn-ascored:hover::after {
      left: 200%;
    }

      .house-section  .image-wrapper {
      position: relative;
      border-radius: 1.5rem;
      overflow: hidden;
      box-shadow: 0 30px 60px rgba(0,0,0,0.4);
      transform: perspective(1000px) rotateY(8deg);
      transition: all 0.6s ease;
    }

       .house-section .image-wrapper:hover {
      transform: perspective(1000px) rotateY(0deg) translateY(-12px);
    }

      .house-section  .badge-official {
      position: absolute;
      top: 20px;
      left: 20px;
      background: rgba(15,23,42,0.75);
      backdrop-filter: blur(8px);
      color: white;
      font-weight: 500;
      padding: 0.5rem 1.25rem;
      border-radius: 50px;
      font-size: 0.95rem;
      border: 1px solid rgba(255,255,255,0.15);
    }

    @media (max-width: 992px) {
      .house-section {         padding: 4rem 20px 4rem; }
        .house-section  .image-wrapper { transform: none; }
        .house-section  .image-wrapper:hover { transform: translateY(-12px); }
    }

    @media (max-width: 576px) {
        .house-section  .title-gradient { font-size: 2.6rem !important; }
        .house-section  .lead { font-size: 1.25rem !important; }
    }

/* ================= 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 12px 30px rgba(0,0,0,.06);
position:relative;
}

.faq-item:hover{
transform:translateY(-6px);
box-shadow:0 20px 45px rgba(0,0,0,.1);
}

/* 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 {
    position: relative;
    padding: 50px 30px!important;}
}
/*----------------------------------------------
  🔻 Footer
----------------------------------------------*/
/* ================= FOOTER ================= */
.footer-white{
  border-top:1px solid var(--line);
  padding:50px 40px 30px;
      overflow: hidden;
    background: #fff;
     position:relative;
}
.footer-white a{
  display:flex;
  align-items:center;
  gap:14px;
  font-size:17px;
  text-decoration:none;
  color:#374151;
  margin-bottom:18px;
  transition:.35s ease;
}

/* icons */
.footer-white svg{
  width:18px;
  height:18px;
  stroke:currentColor;
  stroke-width:1.6;
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
  opacity:.9;
}

/* arrow reveal */
.footer-white a::after{
  content:"→";
  opacity:0;
  transform:translateX(-6px);
  transition:.35s ease;
  color:var(--red);
}

.footer-white a:hover{
  color:#000;
  transform:translateX(6px);
}

.footer-white a:hover::after{
  opacity:1;
  transform:translateX(0);
}
.footer-white::before{
  content:"ASCO 2026";
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  font-size:220px;
  font-weight:800;
  letter-spacing:-0.06em;
  color:#000;
  opacity:0.045;
  white-space:nowrap;
  pointer-events:none;}
/* ================= CONTAINER ================= */
.footer-wrap{
  max-width:1400px;
  margin:auto;
}

/* ================= GRID ================= */

/* ================= BRAND RAIL ================= */
.footer-rail{
  border-right:1px solid var(--line);
  padding-right:40px;
}

.footer-rail h2{
  font-size:34px;
  font-weight:700;
  letter-spacing:-0.02em;
  margin-bottom:14px;
}

.footer-rail span{
  color:var(--accent);
}

.footer-rail p{
  font-size:14px;
  line-height:1.8;
  color:var(--muted);
  margin-bottom:24px;
}

.footer-meta{
  display:flex;
  flex-direction:column;
  gap:14px;
  font-size:14px;
  color:var(--muted);
}

.footer-meta i{
  color:var(--accent);
  margin-right:10px;
}

/* ================= LINK SECTIONS ================= */
.footer-sections{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:80px;
}

.footer-block h4{
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#374151;
  margin-bottom:24px;
}

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

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

.footer-block a{
  text-decoration:none;
  font-size:15px;
  color:var(--muted);
  display:flex;
  align-items:center;
  gap:12px;
  transition:.25s ease;
}

.footer-block a i{
  font-size:13px;
  color:#9ca3af;
}

.footer-block a:hover{
  color:var(--text);
}

.footer-block a:hover i{
  color:var(--accent);
}

/* ================= DIVIDER ================= */
.footer-divider{
  border-top:1px solid var(--line);
  margin:40px 0 20px;
}

/* ================= BOTTOM ================= */
.footer-bottom{
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:13px;
  color:var(--muted);
}

/* ================= SCROLL TO TOP ================= */
.scroll-top{
  position:fixed;
  right:24px;
  bottom:24px;
  width:44px;
  height:44px;
  border-radius:50%;
  background:#fff;
  border:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  transition:.3s ease;
  box-shadow:0 8px 20px rgba(0,0,0,.12);
}

.scroll-top.active{
  opacity:1;
  visibility:visible;
}

.scroll-top i{
  color:var(--muted);
}

.scroll-top:hover{
  background:var(--accent);
}

.scroll-top:hover i{
  color:#fff;
}

/* ================= RESPONSIVE ================= */
@media(max-width:1000px){
  .footer-grid{
    grid-template-columns:1fr;
    gap:50px;
  }
  .footer-rail{
    border-right:none;
    padding-right:0;
    border-bottom:1px solid var(--line);
    padding-bottom:30px;
  }
  .footer-sections{
    grid-template-columns:1fr;
    gap:40px;
  }
  .footer-bottom{
    flex-direction:column;
    gap:12px;
    text-align:center;
  }
  .footer-block{padding-top: 20px;}
}

/*----------------------------------------------
  📞 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 0 30px rgb(0 0 0 / 12%);
  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 0 30px rgb(0 0 0 / 12%);
  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;
}

/* curved background */

.contact_page.section::before{
content:"";
position:absolute;
top:0;
left:0;
width:100%;
height:380px;
background:linear-gradient(120deg,#e63946,#ff6b6b);
border-bottom-left-radius:120px;
border-bottom-right-radius:120px;
z-index:-1;
}


/* heading */

.contact_page .heading{
text-align:center;
color:white;
margin-bottom:40px;
}

.contact_page .heading h2{
font-size:40px;
font-weight:900;
}

.contact_page .heading p{
opacity:.9;
margin-top:10px;
}

/* CONTACT CARDS */

.contact_page .cards{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:25px;
margin-bottom:60px;
}

.contact_page .card{
background:white;
padding:30px;
border-radius:18px;
text-align:center;
box-shadow:0 20px 50px rgba(0,0,0,.1);
transition:.3s;
}

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

.contact_page .card i{
font-size:28px;
color:#e63946;
margin-bottom:15px;
}

.contact_page .card h4{
margin-bottom:8px;
}

/* CONTACT GRID */

.contact-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:60px;
align-items:center;
}

/* FORM */

.contact_page .form-box{
background:white;
padding:40px;
border-radius:20px;
box-shadow:0 30px 70px rgba(0,0,0,.12);
}

.contact_page .form-box h3{
margin-bottom:20px;
}

.contact_page .form{
display:grid;
grid-template-columns:1fr 1fr;
gap:15px;
}

.contact_page .form input,
.contact_page .form textarea{
padding:12px 14px;
border-radius:8px;
border:1px solid #ddd;
font-family:Inter;
}

.contact_page .form textarea{
grid-column:span 2;
height:110px;
resize:none;
}

.contact_page .btn{
margin-top:10px;
padding:12px 26px;
border:none;
border-radius:30px;
background:#e63946;
color:white;
font-weight:600;
cursor:pointer;
}

/* IMAGE */

.contact_page .image{
border-radius:25px;
overflow:hidden;
box-shadow:0 30px 80px rgba(0,0,0,.18);
}

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

/* LOCATION SECTION */

.contact_page .location{
margin-top:120px;
display:grid;
grid-template-columns:1fr 1fr;
gap:60px;
align-items:center;
}

/* event cards */

.contact_page .event-cards{
display:grid;
grid-template-columns:1fr;
gap:20px;
}

.contact_page .event{
background:white;
padding:25px;
border-radius:16px;
box-shadow:0 15px 40px rgba(0,0,0,.08);
display:flex;
align-items:center;
gap:15px;
}

.contact_page .event i{
font-size:22px;
color:#e63946;
}

/* MAP */

.contact_page .map{
border-radius:20px;
overflow:hidden;
box-shadow:0 25px 60px rgba(0,0,0,.15);
}

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

/* responsive */

@media(max-width:900px){

.contact_page .cards{
grid-template-columns:1fr;
}

.contact_page .contact-grid,
.contact_page .location{
grid-template-columns:1fr;
}

.contact_page .form{
grid-template-columns:1fr;
}

.contact_page .form textarea{
grid-column:span 1;
}

.contact_page .heading h2{
font-size:34px;
}

}

/*----------------------------------------------
  🧾 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 60px 140px rgba(0,0,0,.18);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 50px 120px rgba(0,0,0,.08);
  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 60px 140px rgba(0,0,0,.18);
}

.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 40px 90px rgba(0,0,0,.18);
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: #e11d2e;
box-shadow:0 10px 30px rgba(0,0,0,.15);
}

/* 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 2px 6px rgba(0, 0, 0, 0.1);
}

.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: 2px 0 12px rgba(0, 0, 0, 0.1);
  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:#e11d2e;
  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: #e11d2e;
}

.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;
}

/*----------------------------------------------
  📱 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 0 30px rgb(0 0 0 / 12%);
  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
----------------------------------------------*/
