/* ==========================================================================
   DTC EXPO CENTER — Core Stylesheet
   Theme: Navy + Gold | Premium Convention Center
   ========================================================================== */

:root{
  --navy-950:#050b1a;
  --navy-900:#0a1330;
  --navy-800:#0f1c40;
  --navy-700:#152550;
  --navy-600:#1c3266;
  --gold-500:#c9a24b;
  --gold-400:#d9b968;
  --gold-300:#e8cf94;
  --ivory:#f5f3ee;
  --white:#ffffff;
  --grey-100:#f2f3f6;
  --grey-300:#c9ccd6;
  --grey-500:#7c8296;
  --grey-700:#454b5e;
  --radius-sm:4px;
  --radius-md:8px;
  --radius-lg:16px;
  --shadow-soft:0 10px 40px -12px rgba(5,11,26,.25);
  --shadow-strong:0 20px 60px -15px rgba(5,11,26,.45);
  --ease:cubic-bezier(.22,.61,.36,1);
  --font-display:'Bricolage Grotesque', 'Manrope', sans-serif;
  --font-body:'Manrope', 'Segoe UI', sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
#leadership, #partners, #news{scroll-margin-top: 100px;}
body{
  font-family:var(--font-body);
  color:var(--navy-900);
  background:var(--white);
  line-height:1.65;
  overflow-x:hidden;
}
h1,h2,h3,h4,.font-display{font-family:var(--font-display);font-weight:800;letter-spacing:-.5px;}
.accent-word{font-style:italic;font-weight:500;color:var(--gold-500);}
.text-outline{-webkit-text-stroke:1.5px var(--gold-400);color:transparent;}
a{text-decoration:none;color:inherit;transition:color .25s var(--ease);}
img{max-width:100%;display:block;}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important;}
}
.main-logo-light {
  height: 65px;
  object-fit: contain;
}
/* ---------- Layout helpers ---------- */
.section{padding:40px 0 60px;}
.section-sm{padding:40px 0;}
@media(max-width:767.98px){.section{padding:35px 0;}}

.section-eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--font-display);
  font-size:.8rem;letter-spacing:.5px;text-transform:none;font-style:italic;
  color:var(--gold-500);font-weight:600;margin-bottom:14px;
  border:1px solid rgba(201,162,75,.35);border-radius:50px;padding:6px 18px 6px 8px;
}
.section-eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--gold-500);display:inline-block;}
.section-eyebrow.center{padding-left:18px;}
.section-eyebrow.center::before{display:none;}

.section-title{
  font-size:clamp(2rem,3.6vw,3rem);
  color:var(--navy-900);
  margin-bottom:1px;
  letter-spacing:-1px;
}
.section-sub{
  color:var(--grey-700);
  /* max-width:640px; */
  font-size:1.02rem;
  margin-bottom: 5px;
}
.section-head{margin-bottom:20px;}
.section-head.text-center .section-sub{margin-left:auto;margin-right:auto;}
.section-eyebrow.center{justify-content:center;}

.bg-navy{background:var(--navy-900);color:var(--ivory);}
.bg-navy .section-sub{color:var(--grey-300);}
.bg-navy .section-title{color:var(--white);}
.bg-ivory{background:var(--ivory);}
.text-gold{color:var(--gold-500) !important;}

/* ---------- Buttons ---------- */
.btn{border-radius:50px;font-weight:700;letter-spacing:.2px;padding:.85rem 2rem;font-size:.92rem;border:1px solid transparent;transition:all .35s var(--ease);}
.btn-gold{background:var(--gold-500);border-color:var(--gold-500);color:#fff;}
.btn-gold:hover{background:var(--gold-400);border-color:var(--gold-400);color:#fff;transform:translateY(-2px);box-shadow:0 12px 24px -10px rgba(201,162,75,.55);}
.btn-outline-gold{background:transparent;border-color:var(--gold-500);color:var(--gold-500);}
.btn-outline-gold:hover{background:var(--gold-500);color:#fff;transform:translateY(-2px);}
.btn-outline-light{background:#00000026;border-color:rgba(255,255,255,.55);color:var(--white);}
.btn-outline-light:hover{background:var(--white);color:var(--navy-900);}
.btn-navy{background:var(--navy-900);border-color:var(--navy-900);color:var(--white);}
.btn-navy:hover{background:var(--navy-700);color:var(--white);transform:translateY(-2px);}
.btn-lg{padding:1.05rem 2.4rem;font-size:1rem;min-width: 230px;}
.btn-sm{padding:.55rem 1.2rem;font-size:.82rem;}

/* ---------- Navbar ---------- */
.site-header{position:fixed;top:0;left:0;right:0;z-index:1000;transition:all .4s var(--ease);background:transparent;padding:26px 0;}
.site-header.is-scrolled{padding:14px 0;}
.site-header.is-scrolled .nav-shell{background:rgba(10,19,48,.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow-strong);border-color:rgba(255,255,255,.08);}
.nav-shell{display:flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid rgba(255,255,255,.12);background: rgb(10, 19, 48);border-radius:60px;padding:10px 12px 10px 5px;transition:all .4s var(--ease);}
.navbar-brand{font-family:var(--font-display);font-weight:800;font-size:1.4rem;color:var(--white) !important;display:flex;align-items:center;gap:10px;letter-spacing:-.5px;}
.navbar-brand span{color:var(--gold-500);font-style:italic;font-weight:600;}
.navbar-brand small{display:block;font-family:var(--font-body);font-size:.58rem;letter-spacing:2.5px;color:var(--grey-300);font-weight:600;font-style:normal;}
.main-nav .nav-link{color:rgba(255,255,255,.85) !important;font-weight:600;font-size:.9rem;letter-spacing:.2px;padding:10px 12px !important;position:relative;}
.main-nav .nav-link:hover,.main-nav .nav-link.active{color:var(--gold-400) !important;}
.main-nav .dropdown-menu{background:var(--navy-900);border:1px solid var(--navy-600);border-radius:14px;padding:8px;margin-top:0px;}
.main-nav .dropdown-item{color:var(--grey-300);font-size:.86rem;padding:10px 14px;border-radius:8px;}
.main-nav .dropdown-item:hover{background:var(--navy-700);color:var(--gold-400);}
.header-cta{display:flex;gap:10px;align-items:center;}
.navbar-toggler{border:none;color:var(--white);}
.navbar-toggler:focus{box-shadow:none;}
@media(min-width:1024px){.nav-item.dropdown:hover .dropdown-menu {display: block;}}
@media(min-width:992px){.nav-shell{padding-right:30px;background: rgb(10, 19, 48);}.up-events-list > div {width: 50%;}}
@media(min-width:1499px){.site-header .container {max-width: calc(100% - 110px);} }

/* ---------- Mega Menu ---------- */
.nav-item.mega{position:relative;}
.nav-item.mega > .nav-link{display:flex;align-items:center;gap:5px;}
.mega-caret{font-size:.6rem;transition:transform .3s var(--ease);position:relative;top:1px;}
.nav-item.mega.mega-open > .nav-link .mega-caret{transform:rotate(180deg);color:var(--gold-400);}

.mega-panel{
  position:fixed;left:0;width:100%;
  background:var(--navy-900);
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.1);
  box-shadow:var(--shadow-strong);
  opacity:0;visibility:hidden;pointer-events:none;
  transform:translateY(-12px);
  transition:opacity .28s var(--ease), transform .28s var(--ease), visibility .28s;
  z-index:999;
  padding:38px 0;
}
.nav-item.mega.mega-open .mega-panel{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);}

.mega-col-title{display:block;font-family:var(--font-display);color:var(--gold-400);font-size:.72rem;letter-spacing:1.5px;text-transform:uppercase;font-weight:700;margin-bottom:16px;}
.mega-links{list-style:none;padding:0;margin:0;}
.mega-links li a{display:flex;align-items:flex-start;gap:12px;color:var(--grey-300);font-size:.92rem;font-weight:700;padding:10px 12px;border-radius:8px;transition:all .25s var(--ease);}
.mega-links li a:hover{background:rgba(255,255,255,.06);color:var(--gold-400);padding-left:16px;}
.mega-links li a i{color:var(--gold-500);font-size:1rem;margin-top:3px;flex-shrink:0;}
.mega-links li a span{display:flex;flex-direction:column;gap:2px;}
.mega-links li a small{color:var(--grey-500);font-size:.74rem;font-weight:500;}
.mega-links.mega-stats{display:flex;flex-direction:column;gap:4px;}
.mega-links.mega-stats li{padding:10px 12px;}
.mega-stat-num{display:block;font-family:var(--font-display);font-size:1.5rem;color:var(--gold-400);font-weight:700;line-height:1;margin-bottom:4px;}
.mega-links.mega-stats small{color:var(--grey-500);font-size:.76rem;letter-spacing:.4px;text-transform:uppercase;}

.mega-feature{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);padding:22px;height:100%;}
.mega-feature img{border-radius:var(--radius-sm);margin-bottom:16px;height:130px;width:100%;object-fit:cover;}
.mega-feature h6{color:var(--white);font-size:.96rem;margin-bottom:8px;font-family:var(--font-display);}
.mega-feature p{color:var(--grey-500);font-size:.82rem;margin-bottom:16px;}
.mega-feature-wide{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.mega-feature-wide p{margin-bottom:0;}

.mega-contact{list-style:none;padding:0;margin:0;color:var(--grey-300);font-size:.9rem;}
.mega-contact li{display:flex;gap:12px;padding:9px 12px;align-items:flex-start;}
.mega-contact i{color:var(--gold-500);margin-top:3px;}

@media(max-width:991.98px){
  .mega-panel{position:static;width:100%;opacity:1;visibility:visible;pointer-events:auto;transform:none;box-shadow:none;border:none;background:rgba(0,0,0,.18);padding:12px;max-height:0;overflow:hidden;border-radius:var(--radius-sm);margin-top:4px;transition:max-height .35s var(--ease),padding .35s var(--ease);}
  .nav-item.mega.mega-open .mega-panel{max-height:2000px;padding:16px 12px;}
  .mega-panel .container{padding:0;max-width:100%;}
  .mega-panel .row{--bs-gutter-x:1.25rem;--bs-gutter-y:1.25rem;}
  .mega-feature img{display:none;}
  .mega-feature-wide{flex-direction:column;align-items:flex-start;}
}

/* ---------- Hero ---------- */
.hero{position:relative;min-height:92vh;display:flex;align-items:center;color:var(--white);overflow:hidden;padding-top: 100px;}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.06);}
.hero-overlay.home{background:linear-gradient(180deg,rgba(5, 11, 26, 0) 0%,rgba(5, 11, 26, 0.25) 55%,rgba(5, 11, 26, 0) 100%);}
/* .hero-overlay.home{background:linear-gradient(180deg,rgba(5,11,26,.55) 0%,rgba(5,11,26,.75) 55%,rgba(5,11,26,.95) 100%);} */
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5, 11, 26, 0.27) 0%,rgba(5, 11, 26, 0.55) 55%,rgba(5, 11, 26, 0.78) 100%);}
.hero-content{position:relative;z-index:2;}
.hero-kicker{letter-spacing:4px;text-transform:uppercase;color:var(--gold-400);font-weight:700;font-size:.82rem;margin-bottom:18px;display:inline-flex;align-items:center;gap:10px;}
.hero-kicker::before{content:"";width:40px;height:2px;background:var(--gold-500);}
.hero h1{font-size:clamp(2.6rem,6.4vw,5rem);line-height:1;margin-bottom:26px;letter-spacing:-2px;}
.hero h1 .line{display:block;}
.hero h1 .accent-word{font-style:italic;font-weight:500;color:var(--gold-400);}
.hero p.lead{color:var(--grey-300);max-width:560px;font-size:1.12rem;margin-bottom:36px;}

/* ---------- Floating orbit badge (signature element) ---------- */
.orbit-badge{position:absolute;width:118px;height:118px;z-index:3;top:40%;right:6%;}
.page-hero .orbit-badge{top:24px;right:6%;}
.orbit-badge svg{width:100%;height:100%;animation:orbitSpin 16s linear infinite;}
.orbit-badge .orbit-core{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;}
.orbit-badge .orbit-core i{color:var(--gold-400);font-size:1.4rem;}
@keyframes orbitSpin{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}

/* ---------- Marquee ticker ---------- */
.marquee-strip{overflow:hidden;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1);background:var(--navy-950);position:relative;z-index:2;}
.marquee-track{display:flex;width:max-content;animation:marqueeScroll 32s linear infinite;}
.marquee-track:hover{animation-play-state:paused;}
.marquee-item{display:flex;align-items:center;gap:12px;padding:10px 40px;color:var(--grey-300);font-family:var(--font-display);font-size:1rem;white-space:nowrap;border-right:1px solid rgba(255,255,255,.08);}
.marquee-item i{color:var(--gold-500);font-size:1.1rem;}
.marquee-item strong{color:var(--white);font-weight:700;}
@keyframes marqueeScroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media(prefers-reduced-motion:reduce){.marquee-track{animation:none;}}
.hero-scroll{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);z-index:2;color:var(--grey-300);font-size:.75rem;letter-spacing:2px;text-transform:uppercase;display:flex;flex-direction:column;align-items:center;gap:8px;}
.hero-scroll .line{width:1px;height:38px;background:linear-gradient(var(--gold-500),transparent);animation:scrollLine 1.8s infinite var(--ease);}
@keyframes scrollLine{0%{opacity:0;transform:scaleY(0);transform-origin:top;}50%{opacity:1;transform:scaleY(1);transform-origin:top;}100%{opacity:0;transform:scaleY(1);transform-origin:bottom;}}

.page-hero{position:relative;min-height:70vh;display:flex;align-items:flex-end;color:var(--white);overflow:hidden;padding-bottom:56px;}
.page-hero.inner{min-height:70vh;}
.page-hero .hero-bg{transform:scale(1.02);}
.breadcrumb-gold{--bs-breadcrumb-divider-color:var(--gold-500);font-size:.85rem;}
.breadcrumb-gold a{color:var(--grey-300);}
.breadcrumb-gold a:hover{color:var(--gold-400);}
.breadcrumb-gold .active{color:var(--gold-400);}

/* ---------- Stat / fact strip ---------- */
.fact-strip{background:var(--navy-950);color:var(--white);}
.fact-item{text-align:center;padding:15px 10px;border-left:1px solid rgba(255,255,255,.08);}
.fact-item:first-child{border-left:none;}
.fact-num{font-family:var(--font-display);font-size:clamp(1.8rem,3vw,2.6rem);color:var(--gold-400);font-weight:700;line-height:1;}
.fact-label{font-size:.78rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--grey-300);margin-top:8px;}

/* ---------- Cards ---------- */
.card-hall{position:relative;border-radius:var(--radius-md);overflow:hidden;height:250px;
  /* background: #0F254C; */
  background: #fff;
  border: 1px solid #ddd;
  box-shadow: rgba(0, 0, 0, 0.09) 0px 3px 12px;
}
.card-hall img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease);}
.card-hall:hover img{transform:scale(1.08);}
.card-hall::after{content:"";position:absolute;inset:0;
  background:transparent;
  /* background:linear-gradient(180deg,transparent 30%,rgba(5,11,26,.92) 100%); */
}
.card-hall-body{position:absolute;left:0;right:0;bottom:0;padding:15px;z-index:2;color:var(--white);height: 100%;width: 100%;display: flex;flex-direction: column;align-items: center;text-align: center;justify-content: center;}
.card-hall-tag{display:inline-block;background:var(--gold-500);color:var(--navy-950);font-size:.72rem;font-weight:700;letter-spacing:1px;padding:4px 12px;border-radius:2px;margin-bottom:12px;}
.card-hall-tag{font-size: .85rem;font-weight: 700;letter-spacing: 1px;padding: 4px 12px;border-radius: 2px;margin-bottom: 12px;}
.home_hall .card-hall-tag{font-size: 1.6rem;font-weight: 700;letter-spacing: 1px;padding: 4px 12px;border-radius: 2px;margin-bottom: 12px;display: inline-flex;align-items: center;background: #fff0;color: #ceac60;}
.card-hall-body h3{font-size:1.4rem;margin-bottom:6px;}
.home_hall .card-hall-body h3{font-size:1.4rem;margin-bottom:6px;min-height: 50px;color:#0F254C;}
.card-hall-body p{color:var(--grey-300);font-size:.88rem;margin-bottom:14px;}
.card-hall-link{color:var(--gold-400);font-weight:700;font-size:.85rem;display:inline-flex;align-items:center;gap:8px;}
.card-hall-link i{transition:transform .3s var(--ease);}
.card-hall:hover .card-hall-link i{transform:translateX(6px);}

.card-service{background:var(--white);border:1px solid #d1d1d1;border-radius:var(--radius-md);padding:36px 28px;height:100%;transition:all .35s var(--ease);position: relative;}
.card-service:hover{box-shadow:var(--shadow-strong);border-color:transparent;background: #000000a6;}
.card-service .service-icon{width:58px;height:58px;border-radius:50%;background:#ffffff30;color:var(--navy-900);display:flex;align-items:center;justify-content:center;border: 1px solid;font-size:1.4rem;margin-bottom:22px;}
.card-service:hover .service-icon{background:#ffffff30; color:#e9c56c;border: 1px solid;}
.card-service h4{font-size:1.12rem;margin-bottom:10px;color:var(--navy-900);}
.card-service:hover h4{font-size:1.12rem;margin-bottom:10px;color: #fff;}
.card-service p{color:var(--grey-700);font-size:.92rem;margin-bottom:0;}
.card-service:hover p{color: #fff;}

.card-eventtype{background:var(--white);border:1px solid var(--grey-100);border-radius:var(--radius-md);padding:26px 16px;height:100%;text-align:center;transition:all .3s var(--ease);}
.card-eventtype:hover{transform:translateY(-6px);box-shadow:var(--shadow-strong);border-color:transparent;}
.eventtype-icon{width:50px;height:50px;border-radius:50%;background:var(--navy-900);color:var(--gold-400);display:flex;align-items:center;justify-content:center;font-size:1.25rem;margin:0 auto 16px;}
.card-eventtype h5{font-size:.92rem;margin-bottom:0;color:var(--navy-900);font-weight:700;}

.card-event{background:var(--white);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-soft);height:100%;transition:transform .35s var(--ease),box-shadow .35s var(--ease);}
.card-event:hover{transform:translateY(-6px);box-shadow:var(--shadow-strong);}
.card-event-img{position:relative;height:220px;overflow:hidden;}
.card-event-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease);}
.card-event:hover .card-event-img img{transform:scale(1.07);}
.event-date-badge{position:absolute;top:16px;left:16px;background:var(--white);border-radius:var(--radius-sm);text-align:center;padding:8px 14px;box-shadow:var(--shadow-soft);}
.event-date-badge .d{font-family:var(--font-display);font-weight:700;font-size:1.3rem;color:var(--navy-900);line-height:1;}
.event-date-badge .m{font-size:.68rem;letter-spacing:1px;text-transform:uppercase;color:var(--gold-500);font-weight:700;}
.card-event-body{padding:24px;}
.card-event-body h4{font-size:1.08rem;margin-bottom:12px;}
.event-meta{font-size:.82rem;color:var(--grey-700);display:flex;flex-direction:column;gap:6px;margin-bottom:16px;}
.event-meta i{color:var(--gold-500);width:16px;}
.event-hall-badge{display:inline-block;background:var(--grey-100);color:var(--navy-700);font-size:.7rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;padding:4px 10px;border-radius:2px;margin-bottom:14px;}

.card-download{display:flex;align-items:center;gap:18px;background:var(--white);border:1px solid var(--grey-100);border-radius:var(--radius-md);padding:20px 24px;transition:all .3s var(--ease);}
.card-download:hover{border-color:var(--gold-500);box-shadow:var(--shadow-soft);transform:translateY(-4px);}
.card-download .dl-icon{width:48px;height:48px;border-radius:var(--radius-sm);background:var(--navy-900);color:var(--gold-400);display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0;}
.card-download .dl-name{font-weight:700;color:var(--navy-900);font-size:.96rem;margin-bottom:2px;}
.card-download .dl-meta{font-size:.78rem;color:var(--grey-500);}
.card-download .dl-btn{margin-left:auto;color:var(--gold-500);font-size:1.2rem;}

/* ---------- Feature list ---------- */
.feature-list{list-style:none;padding:0;margin:0;}
/* .feature-list li{display:flex;align-items:flex-start;gap:14px;padding:12px 0;border-bottom:1px solid var(--grey-100);font-size:.96rem;color:var(--navy-800);} */
.feature-list li:last-child{border-bottom:none;}
.feature-list i{color:var(--gold-500);margin-top:3px;transition: all .4s linear;}
.feature-list li {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 12px 0;
  border-bottom: 1px solid var(--grey-100);
  font-size: .96rem;
  color: var(--navy-800);
  
}

.card-hall {
  transition: transform .4s ease, box-shadow .4s ease;
}

.card-hall:hover {
  transform: translateY(-10px);
  box-shadow: rgba(0, 0, 0, 0.45) 0px 25px 20px -20px;
}
.spec-table{width:100%;border-collapse:collapse;}
.spec-table tr{border-bottom:1px solid var(--grey-100);}
.spec-table th{padding:16px 0;}
.spec-table td{padding:10px 0;font-size:.94rem;}
.spec-table td:first-child{color:var(--grey-700);font-weight:600;width:25%;}
.spec-table td:last-child{color:var(--navy-900);}

/* Mobile comparison cards (venue-configurations) */
.compare-cards{display:flex;flex-direction:column;gap:16px;}
.compare-card{border:1px solid var(--grey-100);border-radius:var(--radius-md);padding:22px 22px 20px;background:var(--white);box-shadow:var(--shadow-soft);}
.compare-card h4{font-size:1.05rem;margin-bottom:12px;color:var(--navy-900);font-family:var(--font-display);}
.compare-card .compare-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:10px 0;border-bottom:1px solid var(--grey-100);font-size:.88rem;}
.compare-card .compare-row:last-of-type{border-bottom:none;}
.compare-card .compare-row span:first-child{color:var(--grey-500);font-weight:600;flex-shrink:0;}
.compare-card .compare-row span:last-child{color:var(--navy-900);font-weight:700;text-align:right;}
.compare-card .btn{width:100%;margin-top:14px;}

/* Plain content card (venue-overview, floor-plans, venue-configurations) */
.card-plain{background:var(--white);border:1px solid var(--grey-100);border-radius:var(--radius-md);padding:40px;height:100%;transition:all .3s var(--ease);}
.card-plain h4 span {
  display: block;
  font-size: 24px;
  font-weight: 600;
}
.card-plain:hover{box-shadow:var(--shadow-soft);border-color:transparent;}
.card-plain h4{font-size:1.1rem;margin-bottom:12px;color:var(--navy-900);font-family:var(--font-display);}
.card-plain p,.card-plain ul{color:var(--grey-700);font-size:.92rem;margin-bottom:0;}
.card-plain ul{padding-left:18px;}

/* At-a-glance spec stat cards (venue-overview, venue-60k-upper/lower, amenities) */
.spec-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;}
.spec-stat-card{background:var(--white);border:1px solid var(--grey-100);border-radius:var(--radius-md);padding:24px 18px;text-align:center;transition:all .3s var(--ease);}
.spec-stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-soft);border-color:transparent;}
.stat-num{font-family:var(--font-display);font-size:1.15rem;font-weight:700;color:var(--navy-900);line-height:1.3;}
.stat-label{font-size:.72rem;letter-spacing:1px;text-transform:uppercase;color:var(--grey-500);margin-top:8px;}

/* Tag pill lists (amenities, floor-plans, venue-configurations) */
.tag-pill-list{list-style:none;display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:0;}
.tag-pill{background:var(--grey-100);color:var(--navy-800);font-size:.82rem;font-weight:600;padding:9px 18px;border-radius:999px;border:1px solid transparent;transition:all .3s var(--ease);}
.tag-pill:hover{background:var(--white);border-color:var(--gold-500);color:var(--gold-500);}

/* Floor plan tab panels (floor-plans, venue-configurations) */
.floorplan-panel{margin-top:8px;animation:dtcFadeIn .4s var(--ease);}
@keyframes dtcFadeIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}

/* ---------- Gallery ---------- */
.gallery-filter,.floorplan-filter{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:40px;}
.gallery-filter button,.floorplan-filter button{background:transparent;border:1px solid var(--grey-300);color:var(--navy-800);font-size:.82rem;font-weight:600;letter-spacing:.4px;padding:9px 20px;border-radius:2px;transition:all .3s var(--ease);}
.gallery-filter button:hover,.floorplan-filter button:hover{border-color:var(--gold-500);color:var(--gold-500);}
.gallery-filter button.active,.floorplan-filter button.active{background:var(--navy-900);border-color:var(--navy-900);color:var(--white);}
.gallery-item{position:relative;overflow:hidden;border-radius:var(--radius-md);margin-bottom:0px;cursor:pointer;}
.gallery-item img{width:100%;height:280px;object-fit:cover;transition:transform .6s var(--ease);}
.gallery-item:hover img{transform:scale(1.1);}
.gallery-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(5,11,26,.88) 100%);display:flex;align-items:flex-end;padding:20px;opacity:0;transition:opacity .35s var(--ease);}
.gallery-item:hover .gallery-overlay{opacity:1;}
.gallery-overlay span{color:var(--white);font-weight:700;font-size:.9rem;}
.gallery-overlay small{display:block;color:var(--gold-400);font-size:.72rem;letter-spacing:1px;text-transform:uppercase;}
.gallery-play{position:absolute;top:16px;right:16px;width:38px;height:38px;background:rgba(5,11,26,.6);border-radius:50%;color:var(--white);display:flex;align-items:center;justify-content:center;}

/* ---------- Testimonials ---------- */
.testimonial-card{background:var(--white);border-radius:var(--radius-md);padding:40px;box-shadow:var(--shadow-soft);height:100%;}
.testimonial-quote{color:var(--gold-500);font-size:2rem;line-height:1;margin-bottom:18px;}
.testimonial-text{color:var(--navy-800);font-size:.98rem;font-style:italic;margin-bottom:26px;}
.testimonial-person{display:flex;align-items:center;gap:14px;}
.testimonial-person img{width:52px;height:52px;border-radius:50%;object-fit:cover;}
.testimonial-person strong{display:block;color:var(--navy-900);font-size:.92rem;}
.testimonial-person span{font-size:.8rem;color:var(--grey-500);}

/* ---------- Forms ---------- */
.form-panel{background:var(--white);border-radius:var(--radius-md);box-shadow:var(--shadow-strong);padding:44px;position: sticky;top: 100px;}
.form-label{font-weight:700;font-size:.84rem;color:var(--navy-800);letter-spacing:.3px;margin-bottom:8px;}
.form-control,.form-select{border:1px solid var(--grey-300);border-radius:var(--radius-sm);padding:.75rem 1rem;font-size:.94rem;}
.form-control:focus,.form-select:focus{border-color:var(--gold-500);box-shadow:0 0 0 3px rgba(201,162,75,.15);}
textarea.form-control{min-height:130px;}
.form-note{font-size:.82rem;color:var(--grey-500);margin-top:14px;}
.form-success{display:none;}

/* ---------- Calendar ---------- */
.cal-wrap{background:var(--white);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);padding:28px;}
.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;}
.cal-head h4{margin:0;font-size:1.15rem;}
.cal-nav-btn{width:36px;height:36px;border-radius:50%;border:1px solid var(--grey-300);background:transparent;color:var(--navy-800);display:inline-flex;align-items:center;justify-content:center;transition:all .25s var(--ease);}
.cal-nav-btn:hover{background:var(--navy-900);color:var(--white);border-color:var(--navy-900);}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;}
.cal-grid .dow{text-align:center;font-size:.72rem;font-weight:700;color:var(--grey-500);letter-spacing:1px;padding-bottom:8px;}
.cal-day{aspect-ratio:1/1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:var(--radius-sm);font-size:.85rem;color:var(--navy-800);position:relative;}
/* .cal-day.has-event:hover{color:var(--white);} */
.cal-day.has-event::after{content:"";width:5px;height:5px;border-radius:50%;background:var(--gold-500);position:absolute;bottom:6px;}
/* .cal-day.has-event:hover::after{background:var(--gold-400);} */
.cal-day.empty{opacity:0;}

/* Event thumbnail / photo shown directly on the calendar day */
.cal-day.has-image{background-size:cover;background-position:center;color:#fff;overflow:hidden;justify-content:flex-start;transition:transform .25s var(--ease);}
.cal-day.has-image::after{content:none;}
.cal-day.has-image::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(11,20,38,.12) 0%,rgba(11,20,38,.05) 38%,rgba(11,20,38,.82) 100%);transition:background .25s var(--ease);}
.cal-day.has-image:hover::before{background:linear-gradient(180deg,rgba(11,20,38,.35) 0%,rgba(11,20,38,.25) 38%,rgba(11,20,38,.9) 100%);    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;}
.cal-day.has-image:hover{transform:translateY(-2px);}

.cal-day-num{position:relative;z-index:2;font-family:var(--font-display);font-weight:800;font-size:.8rem;text-shadow:0 1px 3px rgba(0,0,0,.55);align-self:flex-start;margin:5px 0 0 7px;}
.cal-day-count{position:absolute;top:5px;right:6px;z-index:3;font-size:.55rem;font-weight:700;background:rgba(11,20,38,.65);color:var(--gold-400);padding:2px 7px;border-radius:20px;letter-spacing:.3px;white-space:nowrap;}
.cal-day-label{position:relative;z-index:2;width:100%;font-size:.55rem;font-weight:600;line-height:1.15;padding:0 6px 0px;margin-top:auto;margin-bottom:10px;text-align:center;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-shadow:0 1px 2px rgba(0,0,0,.6);}

/* Auto-cycling crossfade slider for days with more than one event */
.cal-slider{position:absolute;inset:0;overflow:hidden;border-radius:inherit;z-index:1;}
.cal-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;display:flex;align-items:flex-end;cursor:pointer;-webkit-animation-fill-mode:backwards;animation-fill-mode:backwards;}
.cal-slide::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,20,38,.1) 0%,rgba(11,20,38,.05) 35%,rgba(11,20,38,.82) 100%);}
.cal-slide-label{position:relative;z-index:2;width:100%;font-size:.55rem;font-weight:600;line-height:1.15;padding:0 6px 0px;margin-bottom: 10px;text-align:center;color:#fff;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-shadow:0 1px 2px rgba(0,0,0,.6);}
.cal-slider:hover .cal-slide{animation-play-state:paused !important;-webkit-animation-play-state:paused !important;}

/* Calendar day popup */
.cal-modal-backdrop{position:fixed;inset:0;background:rgba(11,20,38,.72);z-index:1200;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;visibility:hidden;transition:opacity .25s var(--ease);}
.cal-modal-backdrop.open{opacity:1;visibility:visible;}
.cal-modal{background:var(--white);border-radius:var(--radius-md);max-width:1200px;width:100%;max-height:88vh;overflow-y:auto;position:relative;box-shadow:0 20px 60px rgba(0,0,0,.35);transform:translateY(14px) scale(.98);transition:transform .25s var(--ease);}
.cal-modal-backdrop.open .cal-modal{transform:translateY(0) scale(1);}
.cal-modal-close{position:absolute;top:14px;right:14px;z-index:6;width:36px;height:36px;border-radius:50%;border:none;background:rgba(11,20,38,.55);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.9rem;cursor:pointer;transition:background .2s var(--ease);}
.cal-modal-close:hover{background:var(--navy-900);}

/* Body holds media + content; side-by-side on tablet/desktop, stacked on mobile */
#cal-modal-body{display:flex;flex-direction:row;align-items:stretch;}

.cal-modal-media{position:relative;flex:0 0 42%;max-width:42%;}
.cal-modal-img{width:100%;height:100%;min-height:260px;object-fit:contain;display:block;border-radius:var(--radius-md) 0 0 var(--radius-md);}

/* Clear, unmissable signal that this date has more than one event */
.cal-modal-multi-flag{position:absolute;top:14px;left:14px;z-index:4;display:inline-flex;align-items:center;gap:6px;background:var(--gold-500);color:var(--navy-900);font-size:.72rem;font-weight:800;padding:6px 12px 6px 10px;border-radius:20px;letter-spacing:.2px;box-shadow:0 4px 14px rgba(0,0,0,.25);}
.cal-modal-pill{position:absolute;bottom:14px;right:14px;z-index:4;background:rgba(11,20,38,.7);color:#fff;font-size:.75rem;font-weight:700;padding:5px 12px;border-radius:20px;letter-spacing:.3px;}

/* Big, always-visible (not hover-only) prev/next arrows over the image */
.cal-modal-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:42px;height:42px;border-radius:50%;border:none;background:rgba(11,20,38,.55);color:#fff;font-size:1.1rem;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s var(--ease),transform .2s var(--ease);}
.cal-modal-arrow:hover{background:var(--gold-500);color:var(--navy-900);transform:translateY(-50%) scale(1.08);}
.cal-modal-arrow-left{left:14px;}
.cal-modal-arrow-right{right:14px;}
.cal-modal-arrow-left,.cal-modal-arrow-right{animation:calArrowHint 1.6s ease-in-out 2;}
@keyframes calArrowHint{
  0%,100%{transform:translateY(-50%);}
  50%{transform:translateY(-50%) translateX(0);}
}
.cal-modal-arrow-left{animation-name:calArrowHintLeft;}
.cal-modal-arrow-right{animation-name:calArrowHintRight;}
@keyframes calArrowHintLeft{0%,100%{transform:translateY(-50%);}50%{transform:translateY(-50%) translateX(-6px);}}
@keyframes calArrowHintRight{0%,100%{transform:translateY(-50%);}50%{transform:translateY(-50%) translateX(6px);}}

/* Dot strip under the image, mirrors which event is showing and lets
   people jump straight to one */
.cal-modal-dots{display:flex;align-items:center;gap:8px;margin:16px 0 4px;}
.cal-modal-dot{width:9px;height:9px;border-radius:50%;border:none;background:var(--grey-300);cursor:pointer;padding:0;transition:all .2s var(--ease);}
.cal-modal-dot:hover{background:var(--gold-400);}
.cal-modal-dot.active{background:var(--gold-500);width:22px;border-radius:6px;}

.cal-modal-content{flex:1;padding:62px 24px;min-width:0;}
.cal-modal-title{margin:10px 0 8px;font-size:1.15rem;}
.cal-modal-desc{color:var(--grey-500);font-size:.88rem;line-height:1.55;}

/* Plain, unstyled date/time line — no icon badge, just simple text */
.cal-modal-meta{color:var(--grey-500);font-size:.85rem;margin:0 0 10px;line-height:1.5;}

@media (max-width:640px){
  #cal-modal-body{flex-direction:column;}
  .cal-modal-media{flex:none;max-width:100%;}
  .cal-modal-img{height:200px;min-height:0;border-radius:var(--radius-md) var(--radius-md) 0 0;}
  .cal-modal-content{padding:20px 20px 24px;}
  .cal-modal-multi-flag{font-size:.65rem;padding:5px 10px;}
  .cal-modal-arrow{width:36px;height:36px;}
}

/* ---------- Footer ---------- */
.site-footer{background:var(--navy-950);color:var(--grey-300);padding-top:50px;}
.site-footer h5{color:var(--white);font-size:1rem;margin-bottom:22px;letter-spacing:.4px;}
.footer-contact {padding-left: 0;}
.footer-links{list-style:none;padding:0;margin:0;}
.footer-links li{margin-bottom:12px;}
.footer-links a{color:var(--grey-300);font-size:.9rem;}
.footer-links a:hover{color:var(--gold-400);}
.footer-contact li{display:flex;gap:12px;margin-bottom:16px;font-size:.9rem;color:var(--grey-300);}
.footer-contact i{color:var(--gold-500);margin-top:3px;}
.footer-social a{width:38px;height:38px;border:1px solid rgba(255,255,255,.15);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--white);margin-right:8px;transition:all .3s var(--ease);}
.footer-social a:hover{background:var(--gold-500);border-color:var(--gold-500);color:var(--navy-950);transform:translateY(-3px);}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);margin-top:30px;padding:26px 0;font-size:.82rem;color:var(--grey-500);}
.footer-bottom a{color:var(--grey-300);}
.footer-bottom a:hover{color:var(--gold-400);}

/* ---------- CTA band ---------- */
.cta-band{position:relative;overflow:hidden;background:#0f1e44;color:var(--white);padding:50px 0;}
.cta-band::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 30%,rgba(201,162,75,.14),transparent 55%);}
.cta-band h2{font-size:clamp(1.9rem,3.4vw,2.8rem);margin-bottom:14px;}
.cta-band p{color:var(--grey-300);margin-bottom:0;}

/* ---------- Misc ---------- */
.badge-gold{background:var(--gold-500);color:var(--navy-950);font-weight:700;letter-spacing:.4px;padding:6px 14px;border-radius:2px;font-size:.72rem;text-transform:uppercase;}
.divider-gold{width:64px;height:3px;background:var(--gold-500);margin:0 0 24px;}
.divider-gold.center{margin:0 auto 24px;}
.back-to-top{position:fixed;bottom:28px;right:28px;width:46px;height:46px;background:var(--navy-900);color:var(--gold-400);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-soft);opacity:0;visibility:hidden;transform:translateY(12px);transition:all .35s var(--ease);z-index:999;border: 2px solid;}
.back-to-top.show{opacity:1;visibility:visible;transform:translateY(0);}
.back-to-top:hover{background:var(--gold-500);color:var(--navy-950);}

.preloader{position:fixed;inset:0;background:var(--navy-950);z-index:9999;display:flex;align-items:center;justify-content:center;transition:opacity .5s var(--ease),visibility .5s var(--ease);}
.preloader.done{opacity:0;visibility:hidden;}
.preloader-mark{font-family:var(--font-display);color:var(--gold-500);font-size:1.6rem;letter-spacing:2px;}

.floorplan-frame{border:8px solid var(--white);box-shadow:var(--shadow-strong);border-radius:var(--radius-md);overflow:hidden;}



/* ========================================
   Premium Gallery Popup
======================================== */

.premium-gallery-modal {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 30px;
    opacity: 0;
    visibility: hidden;
    transition: .35s ease;
}

.premium-gallery-modal.active {
    opacity: 1;
    visibility: visible;
}

.premium-gallery-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(5, 5, 8, .88);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.premium-gallery-content {
    position: relative;
    z-index: 2;
    width: min(1100px, 92vw);
    display: flex;
    align-items: center;
    justify-content: center;
    transform: scale(.92) translateY(20px);
    transition: .35s ease;
}

.premium-gallery-modal.active .premium-gallery-content {
    transform: scale(1) translateY(0);
}

.premium-gallery-image-wrap {
    position: relative;
    width: 100%;
    max-height: 85vh;
    overflow: hidden;
    border-radius: 24px;
    background: #111;
    box-shadow:
        0 30px 80px rgba(0,0,0,.55),
        0 0 0 1px rgba(255,255,255,.08);
}

.premium-gallery-image-wrap img {
    display: block;
    width: 100%;
    max-height: 85vh;
    object-fit: contain;
    background: #080808;
}

.premium-gallery-caption {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 70px 35px 28px;
    color: #fff;
    background: linear-gradient(
        to top,
        rgba(0,0,0,.9),
        rgba(0,0,0,.45),
        transparent
    );
}

.premium-gallery-caption small {
    display: block;
    margin-bottom: 5px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    opacity: .75;
}

.premium-gallery-caption h3 {
    margin: 0;
    font-size: 26px;
    font-weight: 600;
}

.premium-gallery-close {
    position: absolute;
    top: -18px;
    right: -18px;
    z-index: 5;
    width: 48px;
    height: 48px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 50%;
    background: rgba(255,255,255,.10);
    backdrop-filter: blur(10px);
    color: #fff;
    font-size: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: .3s ease;
}

.premium-gallery-close:hover {
    background: #fff;
    color: #111;
    transform: rotate(90deg);
}

.premium-gallery-nav {
    position: absolute;
    top: 50%;
    z-index: 5;
    width: 52px;
    height: 52px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 50%;
    background: rgba(255,255,255,.10);
    backdrop-filter: blur(12px);
    color: #fff;
    font-size: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: translateY(-50%);
    transition: .3s ease;
}

.premium-gallery-prev {
    left: -75px;
}

.premium-gallery-next {
    right: -75px;
}

.premium-gallery-nav:hover {
    background: #fff;
    color: #111;
}

body.gallery-popup-open {
    overflow: hidden;
}

.gallery-item {
    cursor: pointer;
}

/* Mobile */
@media (max-width: 991px) {

    .premium-gallery-prev {
        left: 15px;
    }

    .premium-gallery-next {
        right: 15px;
    }

    .premium-gallery-nav {
        width: 44px;
        height: 44px;
        background: rgba(0,0,0,.45);
    }

    .premium-gallery-close {
        top: 15px;
        right: 15px;
    }
}

/* ---------- Featured Event (Events page hero card) ---------- */
.featured-event{position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-strong);min-height:420px;display:flex;align-items:flex-end;background:var(--navy-950);}
.featured-event-bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.04);transition:transform .8s var(--ease);}
.featured-event:hover .featured-event-bg{transform:scale(1.1);}
.featured-event::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(5,11,26,.96) 24%,rgba(5,11,26,.7) 55%,rgba(5,11,26,.25) 100%);}
.featured-event-body{position:relative;z-index:2;padding:44px;color:var(--white);width:100%;}
.featured-event-badge{display:inline-flex;align-items:center;gap:8px;background:var(--gold-500);color:var(--navy-950);font-weight:800;letter-spacing:1px;text-transform:uppercase;font-size:.72rem;padding:7px 16px;border-radius:50px;margin-bottom:18px;}
.featured-event-badge i{font-size:.85rem;}
.featured-event-body h2{font-size:clamp(1.7rem,3.2vw,2.6rem);margin-bottom:16px;max-width:640px;}
.featured-event-meta{display:flex;flex-wrap:wrap;gap:22px;margin-bottom:24px;}
.featured-event-meta div{display:flex;align-items:center;gap:10px;font-size:.92rem;color:var(--grey-300);}
.featured-event-meta i{color:var(--gold-400);font-size:1.05rem;}
.featured-event-meta strong{color:var(--white);}
@media(max-width:767.98px){.featured-event{min-height:auto;}.featured-event-body{padding:28px 22px;}}

/* ---------- Section sub-nav tabs (Upcoming / Calendar / Past) ---------- */
.events-subnav{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:34px;}
.events-subnav a{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--grey-300);color:var(--navy-800);font-size:.85rem;font-weight:700;padding:10px 20px;border-radius:50px;transition:all .25s var(--ease);}
.events-subnav a i{color:var(--gold-500);}
.events-subnav a:hover{border-color:var(--gold-500);color:var(--gold-500);}
.events-subnav a.active{background:var(--navy-900);border-color:var(--navy-900);color:var(--white);}
.events-subnav a.active i{color:var(--gold-400);}

/* ---------- Calendar upgrade ---------- */
.cal-wrap.cal-lg{padding:32px;}
.cal-wrap.cal-lg .cal-day{font-size:.95rem;border-radius:var(--radius-sm);}
.cal-legend{display:flex;gap:18px;flex-wrap:wrap;margin-top:16px;font-size:.78rem;color:var(--grey-500);}
.cal-legend span{display:inline-flex;align-items:center;gap:6px;}
.cal-legend i{width:8px;height:8px;border-radius:50%;background:var(--gold-500);display:inline-block;}
.cal-today{position:relative;}
.cal-today::before{content:"";position:absolute;inset:2px;border:1.5px solid var(--gold-500);border-radius:var(--radius-sm);}
.cal-mini-list{list-style:none;padding:0;margin:22px 0 0;border-top:1px solid var(--grey-100);}
.cal-mini-list li{display:flex;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--grey-100);}
.cal-mini-list .mini-date{background:var(--grey-100);color:var(--navy-900);font-weight:800;font-size:.72rem;border-radius:var(--radius-sm);padding:6px 10px;text-align:center;min-width:52px;font-family:var(--font-display);}
.cal-mini-list .mini-title{font-size:.86rem;font-weight:700;color:var(--navy-900);}
.cal-mini-list .mini-sub{font-size:.75rem;color:var(--grey-500);}

/* ---------- Timeline (Our Story) ---------- */
.timeline{position:relative;padding-left:34px;}
.timeline::before{content:"";position:absolute;left:6px;top:6px;bottom:6px;width:2px;background:linear-gradient(var(--gold-500),var(--grey-300));}
.timeline-item{position:relative;padding-bottom:36px;}
.timeline-item:last-child{padding-bottom:0;}
.timeline-item::before{content:"";position:absolute;left:-34px;top:4px;width:14px;height:14px;border-radius:50%;background:var(--gold-500);border:3px solid var(--white);box-shadow:0 0 0 2px var(--gold-500);}
.timeline-year{font-family:var(--font-display);color:var(--gold-500);font-weight:800;font-size:1.1rem;margin-bottom:6px;}

/* ---------- Leadership / team ---------- */
.card-team{text-align:center;}
.card-team img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:var(--radius-md);margin-bottom:18px;box-shadow:var(--shadow-soft);}
.card-team h4{margin-bottom:2px;font-size:1.05rem;}
.card-team span{color:var(--gold-500);font-size:.82rem;font-weight:700;letter-spacing:.3px;}

/* ---------- News card ---------- */
.card-news{background:var(--white);border:1px solid var(--grey-100);border-radius:var(--radius-md);overflow:hidden;height:100%;transition:all .3s var(--ease);}
.card-news:hover{box-shadow:var(--shadow-strong);transform:translateY(-6px);}
.card-news img{height:200px;width:100%;object-fit:cover;}
.card-news-body{padding:24px;}
.card-news-date{font-size:.74rem;letter-spacing:1px;text-transform:uppercase;color:var(--gold-500);font-weight:700;margin-bottom:10px;}
.card-news-body h4{font-size:1.02rem;margin-bottom:10px;}
.card-news-body p{font-size:.88rem;color:var(--grey-700);}

/* ---------- Partner logo grid ---------- */
.partner-logo{display:flex;align-items:center;justify-content:center;border:1px solid var(--grey-100);border-radius:var(--radius-md);padding:5px;background:var(--white);transition:all .3s var(--ease);}
.partner-logo:hover{filter:none;opacity:1;box-shadow:var(--shadow-soft);}

/* ---------- FAQ accordion ---------- */
.faq-accordion .accordion-item{border:1px solid var(--grey-100);border-radius:var(--radius-md) !important;margin-bottom:14px;overflow:hidden;}
.faq-accordion .accordion-button{font-weight:700;color:var(--navy-900);font-size:.98rem;padding:20px 24px;}
.faq-accordion .accordion-button:not(.collapsed){background:var(--navy-900);color:var(--white);}
.faq-accordion .accordion-button:not(.collapsed)::after{filter:invert(1);}
.faq-accordion .accordion-button:focus{box-shadow:none;}
.faq-accordion .accordion-body{padding:6px 24px 22px;color:var(--grey-700);font-size:.92rem;}

/* ---------- Simple content page (policy pages) ---------- */
.policy-content h2{font-size:1.4rem;margin:34px 0 12px;}
.policy-content h2:first-child{margin-top:0;}
.policy-content p, .policy-content li{color:var(--grey-700);font-size:.96rem;}
.policy-content ul{padding-left:20px;}

@media (max-width: 576px) {

    .premium-gallery-modal {
        padding: 12px;
    }

    .premium-gallery-image-wrap {
        border-radius: 16px;
    }

    .premium-gallery-caption {
        padding: 55px 20px 20px;
    }

    .premium-gallery-caption h3 {
        font-size: 20px;
    }
}
.floorplan-frame > img {
  border-radius: 6px;
  max-height: 500px;
  width: 100%;
  object-fit: cover;
  object-position: center 20%;
}
#event-detail-root .section-title {
  font-size: clamp(2rem,3.6vw,2.3rem);
}
.site-footer .navbar-brand img {
  height: 65px;
}

.mega-panel {
  max-width: 1320px;
  left: 50% !important;
  transform: translateX(-50%) !important;
  top: 100px !important;
}

.site-header.is-scrolled .mega-panel {
  top: 85px !important;
}
.hero-content p.lead,
.hero-content .text-white-50 {
  --bs-text-opacity: 1;
  color: rgba(255, 255, 255, 0.98) !important;
  font-size: 16px !important;
  max-width: 800px !important;
}
.card_service_img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.card_service_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform:scale(1); 
  transition: all .35s var(--ease);
}
.card-service {
  overflow: hidden;
  background: #fff;
}
.card-service:hover {
  background: #00224fa6;
}
.card-service:hover img{transform:scale(1.1); transition: all .35s var(--ease);}
.card-service a {padding-top: 15px !important; display: inline-block;}
.service-icon i.bi-universal-access {
  font-size: 30px;
  border: 1px solid #ddd;
  width: 60px;
  height: 60px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50px;
}






/*  */


@media(max-width:1400px){
    .main-nav .nav-link {
  font-size: 0.7rem;
  padding: 10px !important;}
  .main-logo-light {
  height: 60px;}
  .btn-sm {
  padding: .55rem 1rem;
  font-size: .8rem;
}
}
@media(max-width:1200px){
    .nav-shell {
    padding-right: 10px;}
    .header-cta {
  margin-left: 0 !important;
}
 .btn-sm {
font-size: 0.7rem;
  }
   .main-logo-light {
    height: 50px;
  }
  .navbar-brand {
  margin-right: 0;
}
.main-nav .nav-link {
    font-size: 0.7rem;
    padding: 8px !important;
  }
}
@media(max-width:991.98px){
  .main-nav{background:#1a2c57;margin-top:0px;border-radius:var(--radius-sm);padding:10px 18px;width: 100%;}
  .header-cta{margin-top:14px;flex-wrap:wrap;}
  .fact-item{border-left:none;border-top:1px solid rgba(255,255,255,.08);}
  .fact-item:first-child{border-top:none;}
  .main-nav .nav-link {
    font-size: 0.9rem;}
}

@media(max-width:992px){
  .nav-shell {
    flex-direction: column;
    align-items: flex-start;
  }
  .navbar-toggler {
  position: absolute;
  right: 11px;
  z-index: 99;
  top: 20px;
}
.nav-shell {border-radius: 10px;}
.nav-shell {
  padding-left: 10px;
}
.header-cta {
  gap: 20px;
  margin-bottom: 20px;
}
.mega-panel {
  max-width: 1320px;
  left: 0 !important;
  transform: translateX(0%) !important;
  top: 0 !important;
  padding: 0;
}
.mega-links li a span small {display: none;}
.mega-links li a {align-items: center;padding: 4px 10px;}

  body.mobile-menu-open {
    overflow: hidden;
    height: 100vh;
  }
  .main-nav {
  max-height: 90vh;
  overflow: auto;
}
.hero-bg {background-position: 70% center;}
.hero-overlay.home {
  background: linear-gradient(180deg,rgba(5, 11, 26, 0) 0%,rgba(5, 11, 26, 0.64) 55%,rgba(5, 11, 26, 0) 100%);
}
}
@media(max-width:576px){
    body {font-size: .9rem;}
.preloader-mark img {width: 200px !important;}
  .main-logo-light {height: 55px;}
  .form-panel {padding: 24px;}
  .form-control, .form-select {padding: 0.55rem 1rem;font-size: 0.84rem;}
  .form-label {font-size: 0.74rem;margin-bottom: 5px;}
.events-subnav a {gap: 5px;font-size: .8rem;padding: 7px 20px;}
.events-subnav {gap: 7px;margin-bottom: 20px;justify-content: center;}
.hero-kicker {font-size: 0.72rem;}
.hero h1 {
  font-size: clamp(2.2rem,6.4vw,5.4rem);
  line-height: 1;
  margin-bottom: 26px;
  letter-spacing: -1px;
}
.btn-lg {
  padding: 0.7rem 2rem;
  font-size: 0.8rem;
  min-width: 190px;
}
.d-flex.gap-3.flex-wrap {
  justify-content: center;
}
.hero h1, .hero p {
  text-align: center;
}
.hero-content .text-white-50 {
  font-size: 15px;
}
.hero-kicker {
  text-shadow: 0px 0px 2px #000;
  letter-spacing: 2px;
}
.page-hero {
  min-height: 100% !important;
  min-height:400px !important;
}
.container.hero-content {
  padding-block: 120px 0;
}
.container.hero-content > * {
  text-align: center;
}
.hero-kicker {
  display: flex;
  justify-content: center;
}
.hero-kicker::before {
  display: none;
}
.breadcrumb.breadcrumb-gold {
  justify-content: center;
}
}
@media (min-width: 1599px) {
  .site-header .container {
    max-width: 1400px;
  }
  .mega-panel .container {
    max-width: calc(100% - 110px);
  }
}
@media (min-width:1400px) and (max-width:1500px){
  .nav-shell {gap: 20px;padding-right: 20px;}
    .main-logo-light {height: 59px;}
}
@media (min-width:1200px) and (max-width:1400px){
   .main-logo-light {
    height: 50px;
  }
    .nav-shell {
    padding-right: 10px;}
    .nav-shell {gap: 10px;}
}
@media (min-width:992px) and (max-width:1200px){
   header.site-header .container {
  max-width: 100%;
  padding-inline: 2%;
}
 .main-logo-light {
    height: 45px;
  }
  .nav-shell {gap: 9px;}
}






















/* //////////// */
/* Floor Plan PDF Viewer — shared across floor-plans.html, venue-30k.html,
   venue-60k-upper.html, venue-60k-lower.html */

.fp-modal .modal-content {
  border: none;
  border-radius: 4px;
  overflow: hidden;
}

.fp-modal .modal-header,
.fp-modal .modal-footer {
  border-color: rgba(0, 0, 0, .08);
}

.fp-modal .modal-title {
  font-family: 'Bricolage Grotesque', sans-serif;
  font-weight: 700;
}

.fp-modal-body {
  display: grid;
  /* grid-template-columns: minmax(0, 1.5fr) minmax(280px, 1fr); */
  min-height: 60vh;
}

@media (max-width: 991.98px) {
  .fp-modal-body {
    grid-template-columns: 1fr;
  }
}

.fp-viewer {
  position: relative;
  background: var(--grey-700, #4a4a4a);
  min-height: 45vh;
}

.fp-viewer iframe {
  width: 100%;
  height: 100%;
  min-height: 45vh;
  border: 0;
  display: block;
}

@media (min-width: 992px) {
  .fp-viewer iframe {
    min-height: 60vh;
  }
}

.fp-open-tab {
  position: absolute;
  top: .75rem;
  right: .75rem;
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  background: rgba(20, 20, 20, .82);
  color: #fff;
  font-size: .8rem;
  font-weight: 600;
  padding: .4rem .75rem;
  border-radius: 999px;
  text-decoration: none;
  backdrop-filter: blur(2px);
}

.fp-open-tab:hover {
  background: var(--gold-500, #c9a24b);
  color: #14110c;
}

.fp-locations {
  padding: 1.5rem;
  max-height: 70vh;
  overflow-y: auto;
  background: #fff;
}

.fp-locations h6 {
  font-family: 'Bricolage Grotesque', sans-serif;
  font-weight: 700;
  margin-bottom: 1.1rem;
  font-size: 1rem;
}

.fp-loc-group {
  margin-bottom: 1.25rem;
}

.fp-loc-group:last-child {
  margin-bottom: 0;
}

.fp-loc-cat {
  display: block;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .02em;
  color: var(--gold-500, #c9a24b);
  margin-bottom: .4rem;
}

.fp-loc-group ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.fp-loc-group li {
  position: relative;
  padding-left: 1rem;
  margin-bottom: .4rem;
  font-size: .88rem;
  line-height: 1.4;
  color: var(--grey-700, #4a4a4a);
}

.fp-loc-group li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .55em;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--gold-500, #c9a24b);
}

/* Inline "View Floor Plan" trigger used on individual hall pages,
   replacing the old static reference photo */
.fp-inline-trigger {
  position: relative;
  border-radius: 4px;
  overflow: hidden;
  cursor: pointer;
  border: 1px solid rgba(0, 0, 0, .08);
  background: #f4f2ee;
  display: block;
  width: 100%;
  text-align: left;
  padding: 0;
}

.fp-inline-trigger .fp-inline-preview {
  aspect-ratio: 16 / 10;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .6rem;
  background: linear-gradient(135deg, #f4f2ee 0%, #e7e2d8 100%);
  color: var(--grey-700, #4a4a4a);
}

.fp-inline-preview i {
  font-size: 2.2rem;
  color: var(--gold-500, #c9a24b);
}

.fp-inline-preview span {
  font-weight: 600;
  font-size: .95rem;
}

.fp-inline-trigger:hover .fp-inline-preview {
  background: linear-gradient(135deg, #efe9dc 0%, #ddd4c0 100%);
}




/* =========================================================
   DTC PARKING & ARRIVAL
   Scoped / Parent Based CSS
   ========================================================= */

.dtc-parking {
    padding: 60px 0 80px;
    background: #ffffff;
    color: #00274d;
}

.dtc-parking *,
.dtc-parking *::before,
.dtc-parking *::after {
    box-sizing: border-box;
}


/* Container */

.dtc-parking__container {
    width: min(1320px, calc(100% - 40px));
    margin: 0 auto;
}


/* =========================================================
   EYEBROW
   ========================================================= */

.dtc-parking .dtc-parking__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;

    margin-bottom: 14px;
    padding: 6px 18px 6px 8px;

    border: 1px solid #dda023;
    border-radius: 50px;

    color: #dda023;

    font-family: var(--font-display, sans-serif);
    font-size: .8rem;
    font-weight: 600;
    font-style: italic;
    letter-spacing: .5px;
}

.dtc-parking .dtc-parking__eyebrow span {
    width: 8px;
    height: 8px;

    display: block;

    background: #dda023;
    border-radius: 50%;
}


/* =========================================================
   MAIN INTRO
   ========================================================= */

.dtc-parking__intro {
    padding-bottom: 60px;
}

.dtc-parking__intro-grid {
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    gap: 70px;
    align-items: center;
}


/* Content */

.dtc-parking__intro-content {
    max-width: 700px;
}

.dtc-parking .dtc-parking__intro-content h2 {
    margin: 0 0 24px;

    color: #00274d;

    font-family: var(--font-display, sans-serif);
    font-size: clamp(2.2rem, 4vw, 3.6rem);
    font-weight: 600;
    line-height: 1.08;
    letter-spacing: -.8px;
}

.dtc-parking .dtc-parking__intro-content h2 span {
    color: #dda023;
    font-style: italic;
    font-weight: 500;
}

.dtc-parking .dtc-parking__intro-content p {
    max-width: 680px;

    margin: 0 0 10px;

    color: #00274d;

    font-family: var(--font-body, sans-serif);
    font-size: .96rem;
    font-weight: 400;
    line-height: 1.65;
}


/* =========================================================
   MAIN IMAGE
   ========================================================= */

.dtc-parking__intro-image {
    position: relative;

    width: 100%;
    height: 360px;

    overflow: hidden;

    border-radius: 8px;
}

.dtc-parking__intro-image::after {
    content: "";

    position: absolute;
    left: 0;
    bottom: 0;

    width: 100%;
    height: 5px;

    background: #dda023;
}

.dtc-parking .dtc-parking__intro-image img {
    width: 100%;
    height: 100%;
    background: #f5f3ee;
    display: block;

    object-fit: cover;

    transition: transform .6s var(--ease, ease);
}

.dtc-parking__intro-image:hover img {
    transform: scale(1.04);
}


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

.dtc-parking__features {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 28px;
}


/* =========================================================
   FEATURE CARD
   ========================================================= */

.dtc-parking__feature {
    display: grid;
    grid-template-columns: 42% 58%;

    min-height: 270px;

    overflow: hidden;

    background: #ffffff;

    border: 1px solid #00274d;
    border-radius: 8px;

    transition:
        transform .3s var(--ease, ease),
        box-shadow .3s var(--ease, ease);
}

.dtc-parking__feature:hover {
    transform: translateY(-4px);

    box-shadow: 0 15px 35px rgba(0, 39, 77, .12);
}


/* =========================================================
   FEATURE IMAGE
   ========================================================= */

.dtc-parking__feature-image {
    min-height: 270px;
    overflow: hidden;
}

.dtc-parking .dtc-parking__feature-image img {
    width: 100%;
    height: 100%;
    background: #f5f3ee;
    display: block;

    object-fit: cover;

    transition: transform .6s var(--ease, ease);
}

.dtc-parking__feature:hover
.dtc-parking__feature-image img {
    transform: scale(1.05);
}


/* =========================================================
   FEATURE CONTENT
   ========================================================= */

.dtc-parking__feature-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: baseline;
    padding: 30px;
}

.dtc-parking .dtc-parking__feature-content
.dtc-parking__eyebrow {
    margin-bottom: 15px;
}

.dtc-parking .dtc-parking__feature-content h3 {
    margin: 0 0 14px;

    color: #00274d;

    font-family: var(--font-display, sans-serif);
    font-size: clamp(1.45rem, 2vw, 1.6rem);
    font-weight: 600;
    line-height: 1.15;
    letter-spacing: -.4px;
}

.dtc-parking .dtc-parking__feature-content p {
    margin: 0;

    color: #00274d;

    font-family: var(--font-body, sans-serif);
    font-size: .9rem;
    font-weight: 400;
    line-height: 1.6;
}


/* =========================================================
   GOLD ACCENT
   ========================================================= */

.dtc-parking__feature:first-child {
    border-top: 4px solid #dda023;
}

.dtc-parking__feature:last-child {
    border-top: 4px solid #00274d;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 991.98px) {

    .dtc-parking {
        padding: 50px 0 65px;
    }

    .dtc-parking__intro-grid {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .dtc-parking__intro-content {
        max-width: 100%;
    }

    .dtc-parking__intro-image {
        height: 320px;
    }

    .dtc-parking__features {
        grid-template-columns: 1fr;
    }

}


@media (max-width: 767.98px) {

    .dtc-parking__container {
        width: min(100% - 30px, 1320px);
    }

    .dtc-parking__intro {
        padding-bottom: 45px;
    }

    .dtc-parking .dtc-parking__intro-content h2 {
        font-size: 2.2rem;
    }

    .dtc-parking__intro-image {
        height: 280px;
    }

    .dtc-parking__feature {
        grid-template-columns: 1fr;
    }

    .dtc-parking__feature-image {
        height: 230px;
        min-height: 0;
    }

    .dtc-parking__feature-content {
        padding: 28px 24px 32px;
    }

}


@media (max-width: 575.98px) {

    .dtc-parking {
        padding: 40px 0 50px;
    }

    .dtc-parking .dtc-parking__intro-content h2 {
        font-size: 2rem;
        margin-bottom: 18px;
    }

    .dtc-parking .dtc-parking__intro-content p {
        font-size: .9rem;
    }

    .dtc-parking__intro-image {
        height: 230px;
    }

    .dtc-parking .dtc-parking__eyebrow {
        font-size: .76rem;
    }

}



.gallery-carousel .gallery-item {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  height: 420px;
}

.gallery-carousel .gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.gallery-carousel .owl-stage {
  display: flex;
}

.gallery-carousel .owl-item {
  display: flex;
}

.gallery-carousel .gallery-item {
  width: 100%;
}

/* Navigation */
.gallery-carousel .owl-nav button {
  width: 45px;
  height: 45px;
  border-radius: 50% !important;
  background: #00274D !important;
  color: #fff !important;
  font-size: 22px !important;
}

.gallery-carousel .owl-nav button:hover {
  background: #DDA023 !important;
}

.gallery-carousel .owl-nav {
  margin-top: 25px;
}

/* Dots */
.gallery-carousel .owl-dots {
  margin-top: 15px;
}

.gallery-carousel .owl-dot span {
  width: 8px !important;
  height: 8px !important;
}

.gallery-carousel .owl-dot.active span {
  width: 25px !important;
  border-radius: 10px;
}


.cal-day.has-event.has-image {
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
}


.support-card,
.technical-card {
  background: #fff;
  border: 1px solid rgba(0, 39, 77, 0.08);
  border-radius: 18px;
  box-shadow: 0 15px 45px rgba(0, 39, 77, 0.07);
}

.support-card {
  padding: 42px;
}

.support-card-label {
  display: inline-block;
  padding: 8px 18px;
  border: 1px solid #DDA023;
  border-radius: 50px;
  color: #DDA023;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .4px;
  margin-bottom: 22px;
}

.support-card h3,
.technical-card h3 {
  color: #00274D;
  font-size: 27px;
  font-weight: 700;
  margin-bottom: 20px;
}

.support-card p,
.technical-card p {
  color: #4b5563;
  line-height: 1.75;
  margin-bottom: 15px;
}


/* Technical specifications */
.technical-card {
  padding: 42px;
}

.technical-card-header {
  margin-bottom: 30px;
}

.technical-card-header p {
  max-width: 750px;
  margin-bottom: 0;
}




/* Mobile */
@media (max-width: 767px) {

  .support-card,
  .technical-card {
    padding: 28px;
  }

  .support-card h3,
  .technical-card h3 {
    font-size: 23px;
  }



}

/* =========================================
   EVENT INFRASTRUCTURE CARDS
========================================= */

.infrastructure-card {
  height: 100%;
  padding: 40px;
  background: #ffffff;
  border: 1px solid rgba(0, 39, 77, 0.08);
  border-radius: 18px;
  box-shadow: 0 12px 35px rgba(0, 39, 77, 0.06);

  display: flex;
  flex-direction: column;
  align-items: baseline;
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    border-color 0.3s ease;
}

.infrastructure-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 45px rgba(0, 39, 77, 0.10);
  border-color: rgba(221, 160, 35, 0.35);
}

.infrastructure-card .section-eyebrow {
  margin-bottom: 18px;
}

.infrastructure-card h3 {
  color: var(--navy-900, #00274D);
  font-size: 27px;
  line-height: 1.25;
  font-weight: 700;
  margin-bottom: 18px;
}

.infrastructure-card p {
  color: #4b5563;
  font-size: 15.5px;
  line-height: 1.75;
  margin-bottom: 16px;
}

.infrastructure-card .tag-pill-list {
  margin-top: 10px;
}

.infrastructure-card .card-hall-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  padding-top: 12px;

  color: var(--gold-500, #DDA023);
  font-weight: 600;
  text-decoration: none;
}

.infrastructure-card .card-hall-link i {
  transition: transform 0.25s ease;
}

.infrastructure-card .card-hall-link:hover i {
  transform: translateX(5px);
}


/* Make buttons stay at bottom when card heights differ */
.infrastructure-card .btn {
  align-self: flex-start;
}


/* Tablet */
@media (max-width: 991px) {

  .infrastructure-card {
    padding: 32px;
  }

  .infrastructure-card h3 {
    font-size: 24px;
  }

}


/* Mobile */
@media (max-width: 575px) {

  .infrastructure-card {
    padding: 28px;
    border-radius: 15px;
  }

  .infrastructure-card h3 {
    font-size: 22px;
  }

  .infrastructure-card p {
    font-size: 15px;
  }

}


/* =========================================
   BEFORE YOU VISIT
========================================= */

.visit-info-card {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 50px;

  padding: 42px 48px;

  background:
    linear-gradient(135deg, #ffffff 0%, #fbfaf7 100%);

  border: 1px solid rgba(0, 39, 77, 0.10);
  border-radius: 22px;

  box-shadow:
    0 15px 45px rgba(0, 39, 77, 0.07);

  overflow: hidden;
}


/* Subtle gold accent */
.visit-info-card::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 5px;
  background: var(--gold-500, #DDA023);
}


/* Content */
.visit-info-content {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  flex: 1;
}


/* Icon */
.visit-info-icon {
  width: 48px;
  height: 48px;
  min-width: 48px;

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

  border-radius: 50%;

  background: rgba(221, 160, 35, 0.10);
  border: 1px solid rgba(221, 160, 35, 0.25);

  color: var(--gold-500, #DDA023);
  font-size: 20px;
}


/* Text */
.visit-info-text .section-eyebrow {
  display: inline-block;
  margin-bottom: 10px;
}

.visit-info-text h3 {
  margin: 0 0 12px;

  color: var(--navy-900, #00274D);

  font-size: 30px;
  line-height: 1.2;
  font-weight: 700;
}

.visit-info-text p {
  max-width: 760px;

  margin: 0;

  color: #4b5563;

  font-size: 15.5px;
  line-height: 1.75;
}


/* CTA */
.visit-info-action {
  flex-shrink: 0;
}


.visit-events-btn {
  min-width: 245px;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;

  padding: 17px 20px 17px 24px;

  background: var(--gold-500, #DDA023);
  color: #fff;

  border-radius: 14px;

  text-decoration: none;

  box-shadow: 0 8px 22px rgba(221, 160, 35, 0.20);

  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    background 0.3s ease;
}


.visit-events-btn span {
  display: flex;
  flex-direction: column;
  gap: 3px;

  text-align: left;

  font-size: 15px;
  font-weight: 600;
}


.visit-events-btn small {
  font-size: 11px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  opacity: 0.85;
}


.visit-events-btn i {
  width: 38px;
  height: 38px;

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

  border-radius: 50%;

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

  font-size: 17px;

  transition: transform 0.3s ease;
}


.visit-events-btn:hover {
  color: #fff;

  transform: translateY(-3px);

  box-shadow: 0 14px 30px rgba(221, 160, 35, 0.28);
}


.visit-events-btn:hover i {
  transform: translate(2px, -2px);
}
.page_form_info {
  position: sticky;
  top: 110px;
}

/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 991px) {

  .visit-info-card {
    align-items: flex-start;
    flex-direction: column;
    gap: 28px;

    padding: 36px;
  }

  .visit-info-action {
    width: 100%;
  }

  .visit-events-btn {
    width: 100%;
  }

}


@media (max-width: 575px) {
.cal-day-count {
  display: none;
}
  .visit-info-card {
    padding: 30px 25px;
    gap: 24px;

    border-radius: 17px;
  }

  .visit-info-content {
    gap: 17px;
  }

  .visit-info-icon {
    width: 42px;
    height: 42px;
    min-width: 42px;

    font-size: 17px;
  }

  .visit-info-text h3 {
    font-size: 24px;
  }

  .visit-info-text p {
    font-size: 14.5px;
    line-height: 1.7;
  }
.card-event-img {
  height: auto;
}
.inner_banner {
  height: auto !important;
}
}
.card-service:hover a {
  color: #daa632;
}
.dtc-parking__feature:nth-child(2n) {
  border-top: 4px solid #00274d;
}
.dtc-parking__feature:nth-child(2n+1) {
  border-top: 4px solid #dda023;
}
.marquee-track span.line {
  color: #daa632;
  align-items: center;
  display: flex;
}
.configuration-table tr th {
  background: var(--navy-900);
  color: #fff;
  width: 15%;
}
.configuration-table tr td:first-child {
  font-weight: 600;
  background: #dfb65b;
  color: #fff;
}
/* =========================================
   DOCUMENT COMING SOON MODAL
========================================= */

.document-modal {
  position: relative;
  border: 1px solid rgba(201, 162, 39, 0.25);
  border-radius: 20px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 25px 80px rgba(0, 0, 0, 0.18);
  text-align: center;
  padding: 45px 35px 40px;
}

.document-modal::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(
    90deg,
    var(--navy-800),
    var(--gold-500),
    var(--navy-800)
  );
}

.document-modal-close {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 36px;
  height: 36px;
  border: 1px solid var(--grey-100);
  border-radius: 50%;
  background: #fff;
  color: var(--navy-800);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  transition: all .3s ease;
  z-index: 2;
}

.document-modal-close:hover {
  background: var(--navy-800);
  color: #fff;
  border-color: var(--navy-800);
  transform: rotate(90deg);
}

.document-modal-icon {
  width: 76px;
  height: 76px;
  margin: 5px auto 22px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(201, 162, 39, 0.10);
  border: 1px solid rgba(201, 162, 39, 0.28);
  color: var(--gold-500);
  font-size: 30px;
}

.document-modal-label {
  display: block;
  margin-bottom: 8px;
  color: var(--gold-500);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: 2.5px;
}

.document-modal h3 {
  margin: 0 0 12px;
  color: var(--navy-800);
  font-size: 1.8rem;
  font-weight: 700;
}

.document-modal p {
  max-width: 400px;
  margin: 0 auto 28px;
  color: #68717d;
  font-size: .96rem;
  line-height: 1.7;
}

.document-modal-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-width: 150px;
  padding: 11px 20px;
  border: 1px solid var(--navy-800);
  border-radius: 6px;
  background: var(--navy-800);
  color: #fff;
  font-size: .88rem;
  font-weight: 600;
  transition: all .35s ease;
}

.document-modal-btn i {
  transition: transform .35s ease;
}

.document-modal-btn:hover {
  background: var(--gold-500);
  border-color: var(--gold-500);
  color: #fff;
}

.document-modal-btn:hover i {
  transform: translateX(5px);
}


/* Download card interaction */

.card-download {
  cursor: pointer;
  transition:
    transform .4s cubic-bezier(.22, 1, .36, 1),
    box-shadow .4s ease,
    border-color .4s ease;
}

.card-download:hover {
  transform: translateY(-5px);
}
.feature-list.ss li {
  box-shadow: rgba(50, 50, 93, 0.25) 0px 2px 5px -1px, rgba(0, 0, 0, 0.3) 0px 1px 3px -1px;
}
