/* ============================================================
   QUANTUM AI NETWORK — global enhancement layer
   Targets: data-section-id, data-element-id, class names only
   ============================================================ */

:root {
  --qn-cyan: #4BC8E7;
  --qn-cyan-soft: rgba(75, 200, 231, 0.18);
  --qn-cyan-glow: rgba(75, 200, 231, 0.45);
  --qn-purple: #380D35;
  --qn-ink: #0a0a14;
  --qn-line: rgba(255, 255, 255, 0.08);
  --qn-text-dim: rgba(255, 255, 255, 0.65);
  --qn-radius: 16px;
  --qn-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

/* Smooth global scroll */
html { scroll-behavior: smooth; }

/* ---------- Reveal-on-scroll (driven by JS adding .qn-in) ---------- */
.qn-reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .9s var(--qn-ease), transform .9s var(--qn-ease);
  will-change: opacity, transform;
}
.qn-reveal.qn-in {
  opacity: 1;
  transform: translateY(0);
}
.qn-reveal.qn-delay-1 { transition-delay: .08s; }
.qn-reveal.qn-delay-2 { transition-delay: .16s; }
.qn-reveal.qn-delay-3 { transition-delay: .24s; }
.qn-reveal.qn-delay-4 { transition-delay: .32s; }

/* Section titles — subtle underline accent */
.bs-section .section-title {
  position: relative;
}
.bs-section .section-title p {
  letter-spacing: -0.5px;
}

/* ============================================================
   BANNER — community-section-banner
   ============================================================ */
.community-section-banner {
  position: relative;
}
.community-section-banner .main-banner .background-layer {
  transition: transform 12s linear;
}
.community-section-banner .main-banner.qn-zoom .background-layer {
  transform: scale(1.08);
}

/* Soft gradient veil at bottom of banner so countdown blends in */
.community-section-banner::after {
  content: '';
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 140px;
  background: linear-gradient(to bottom, transparent, rgba(0,0,0,0.85));
  pointer-events: none;
  z-index: 2;
}

/* ============================================================
   COUNTDOWN — 17908000007666423
   ============================================================ */
[data-section-id="17908000007666423"] {
  position: relative;
  overflow: hidden;
}

[data-section-id="17908000007666423"]::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 20% 50%, var(--qn-cyan-soft), transparent 50%),
    radial-gradient(circle at 80% 50%, rgba(124, 115, 230, 0.2), transparent 50%);
  pointer-events: none;
  animation: qn-drift 18s ease-in-out infinite alternate;
}

@keyframes qn-drift {
  0%   { transform: translate3d(0, 0, 0); }
  100% { transform: translate3d(40px, -20px, 0); }
}

[data-section-id="17908000007666423"] .bs-countdown {
  gap: 18px;
}
[data-section-id="17908000007666423"] .bs-countdown .item {
  position: relative;
  padding: 8px 18px;
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.01));
  border: 1px solid var(--qn-line);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: border-color .4s ease, box-shadow .4s ease, transform .4s ease;
}
[data-section-id="17908000007666423"] .bs-countdown .item:hover {
  border-color: var(--qn-cyan);
  box-shadow: 0 0 32px var(--qn-cyan-soft);
  transform: translateY(-2px);
}
[data-section-id="17908000007666423"] .bs-countdown .values .value {
  font-variant-numeric: tabular-nums;
  text-shadow: 0 0 22px rgba(75, 200, 231, 0.35);
}
[data-section-id="17908000007666423"] .bs-countdown .label {
  color: var(--qn-text-dim);
  letter-spacing: 3px;
  text-transform: uppercase;
  font-size: 11px;
  margin-top: 8px;
}

/* Tick-pulse on digit change (added by JS) */
[data-section-id="17908000007666423"] .bs-countdown .value.qn-tick {
  animation: qn-tick .5s ease;
}
@keyframes qn-tick {
  0%   { transform: translateY(-6px); opacity: 0.4; }
  60%  { transform: translateY(0);     opacity: 1; }
  100% { transform: translateY(0); }
}

/* ============================================================
   TECHNOLOGY HUB — 17908000007666633 (3-col image grid)
   ============================================================ */
[data-section-id="17908000007666633"] .li-item {
  transition: transform .5s var(--qn-ease);
}
[data-section-id="17908000007666633"] .li-item .media-element {
  position: relative;
  border-radius: var(--qn-radius);
  overflow: hidden;
  border: 1px solid var(--qn-line);
  transition: border-color .4s ease, box-shadow .4s ease, transform .4s ease;
}
[data-section-id="17908000007666633"] .li-item .media-element::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 60%, rgba(56, 13, 53, 0.6));
  pointer-events: none;
  transition: opacity .4s ease;
}
[data-section-id="17908000007666633"] .li-item .fluid-image {
  transition: transform .8s var(--qn-ease), filter .4s ease;
  filter: saturate(0.9);
}
[data-section-id="17908000007666633"] .li-item:hover .media-element {
  border-color: var(--qn-cyan);
  box-shadow: 0 18px 40px -10px rgba(75, 200, 231, 0.35),
              0 0 0 1px var(--qn-cyan-soft);
  transform: translateY(-6px);
}
[data-section-id="17908000007666633"] .li-item:hover .fluid-image {
  transform: scale(1.06);
  filter: saturate(1.1);
}

/* ============================================================
   QUANTUM AI NETWORK — 17908000007670089 (single mediaText)
   ============================================================ */
[data-section-id="17908000007670089"] .li-item .list-image .media-element {
  position: relative;
  border-radius: var(--qn-radius);
  overflow: hidden;
}
[data-section-id="17908000007670089"] .li-item .list-image .media-element::before {
  content: '';
  position: absolute; inset: 0;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(135deg, var(--qn-cyan), transparent 40%, rgba(124,115,230,0.6));
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
          mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  pointer-events: none;
  z-index: 1;
}
[data-section-id="17908000007670089"] .li-item .fluid-image {
  transition: transform 1s var(--qn-ease);
}
[data-section-id="17908000007670089"] .li-item:hover .fluid-image {
  transform: scale(1.04);
}
[data-section-id="17908000007670089"] .li-description p {
  line-height: 1.75;
}

/* ============================================================
   INNOVATION SPOTLIGHT — 17908000007670013
   ============================================================ */
[data-section-id="17908000007670013"] .bs-mtList-wgt {
  gap: 28px;
}
[data-section-id="17908000007670013"] .li-item {
  position: relative;
  padding: 24px;
  border-radius: var(--qn-radius);
  background: linear-gradient(135deg, rgba(255,255,255,0.03), rgba(255,255,255,0.005));
  border: 1px solid var(--qn-line);
  transition: border-color .4s ease, transform .4s ease, box-shadow .4s ease, background .4s ease;
  overflow: hidden;
}
[data-section-id="17908000007670013"] .li-item::before {
  content: '';
  position: absolute;
  top: 0; left: -100%;
  width: 100%; height: 2px;
  background: linear-gradient(90deg, transparent, var(--qn-cyan), transparent);
  transition: left .8s var(--qn-ease);
}
[data-section-id="17908000007670013"] .li-item:hover {
  border-color: var(--qn-cyan-soft);
  transform: translateY(-4px);
  box-shadow: 0 22px 50px -20px rgba(75, 200, 231, 0.3);
  background: linear-gradient(135deg, rgba(75,200,231,0.06), rgba(56,13,53,0.1));
}
[data-section-id="17908000007670013"] .li-item:hover::before {
  left: 100%;
}
[data-section-id="17908000007670013"] .li-item .media-element {
  border-radius: 12px;
  overflow: hidden;
}
[data-section-id="17908000007670013"] .li-item .fluid-image {
  transition: transform .8s var(--qn-ease);
}
[data-section-id="17908000007670013"] .li-item:hover .fluid-image {
  transform: scale(1.05);
}
[data-section-id="17908000007670013"] .li-title {
  margin-top: 6px;
  letter-spacing: -0.3px;
}
[data-section-id="17908000007670013"] .li-description {
  color: var(--qn-text-dim);
  line-height: 1.7;
}

/* ============================================================
   AGENDA — 17908000007670268
   ============================================================ */
[data-section-id="17908000007670268"] .featured-session {
  position: relative;
  padding: 28px 32px;
  border-radius: var(--qn-radius);
  background: linear-gradient(135deg, rgba(255,255,255,0.04), rgba(75,200,231,0.03));
  border: 1px solid var(--qn-line);
  margin: 0 14px;
  transition: border-color .4s ease, transform .4s ease, box-shadow .4s ease;
  overflow: hidden;
}
[data-section-id="17908000007670268"] .featured-session::after {
  content: '';
  position: absolute;
  top: 0; right: 0;
  width: 6px; height: 100%;
  background: linear-gradient(180deg, var(--qn-cyan), transparent);
  opacity: 0;
  transition: opacity .4s ease;
}
[data-section-id="17908000007670268"] .owl-item.active.center .featured-session,
[data-section-id="17908000007670268"] .featured-session:hover {
  border-color: var(--qn-cyan);
  box-shadow: 0 14px 40px -16px var(--qn-cyan-glow);
}
[data-section-id="17908000007670268"] .owl-item.active.center .featured-session::after,
[data-section-id="17908000007670268"] .featured-session:hover::after {
  opacity: 1;
}
[data-section-id="17908000007670268"] .featured-session h4 button {
  font-size: 1.1em;
  letter-spacing: -0.2px;
  color: #fff !important;
}
[data-section-id="17908000007670268"] .featured-session .h5-size {
  color: var(--qn-text-dim);
  font-size: 14px;
}
[data-section-id="17908000007670268"] .track-label {
  background: linear-gradient(135deg, rgba(124,115,230,0.25), rgba(124,115,230,0.1)) !important;
  border: 1px solid rgba(124,115,230,0.4);
  letter-spacing: 1px;
  text-transform: uppercase;
  font-size: 10px !important;
  padding: 4px 10px !important;
}

/* Owl nav arrows */
[data-section-id="17908000007670268"] .owl-nav button {
  width: 44px; height: 44px;
  border-radius: 50% !important;
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid var(--qn-line) !important;
  transition: background .25s, border-color .25s, transform .15s !important;
}
[data-section-id="17908000007670268"] .owl-nav button:hover {
  background: var(--qn-cyan) !important;
  border-color: var(--qn-cyan) !important;
  transform: translateY(-1px);
}

/* Owl dots */
[data-section-id="17908000007670268"] .owl-dots {
  margin-top: 28px;
  gap: 8px;
  display: flex !important;
  justify-content: center;
}
[data-section-id="17908000007670268"] .owl-dot {
  width: 8px !important; height: 8px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,0.2) !important;
  transition: background .3s, width .3s, transform .3s;
}
[data-section-id="17908000007670268"] .owl-dot.active {
  background: var(--qn-cyan) !important;
  width: 28px !important;
  border-radius: 4px !important;
  box-shadow: 0 0 12px var(--qn-cyan-soft);
}

/* ============================================================
   SPEAKERS — 17908000007696039
   ============================================================ */
[data-section-id="17908000007696039"] .li-item {
  transition: transform .5s var(--qn-ease);
}
[data-section-id="17908000007696039"] .li-item .media-element {
  position: relative;
  border-radius: var(--qn-radius);
  overflow: hidden;
  border: 1px solid var(--qn-line);
  transition: border-color .4s ease, box-shadow .4s ease;
}
[data-section-id="17908000007696039"] .li-item .media-element::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 50%, rgba(0,0,0,0.7));
  opacity: 0.7;
  transition: opacity .4s ease;
  pointer-events: none;
}
[data-section-id="17908000007696039"] .li-item .fluid-image {
  transition: transform .8s var(--qn-ease), filter .4s ease;
  filter: grayscale(0.3) contrast(1.05);
}
[data-section-id="17908000007696039"] .li-item:hover {
  transform: translateY(-6px);
}
[data-section-id="17908000007696039"] .li-item:hover .media-element {
  border-color: var(--qn-cyan);
  box-shadow: 0 18px 40px -10px rgba(75, 200, 231, 0.35);
}
[data-section-id="17908000007696039"] .li-item:hover .fluid-image {
  transform: scale(1.06);
  filter: grayscale(0) contrast(1.1);
}
[data-section-id="17908000007696039"] .li-item:hover .media-element::after {
  opacity: 0.4;
}

/* ============================================================
   SPONSORS — 17908000007645231
   ============================================================ */
[data-section-id="17908000007645231"] .sponsor-title {
  letter-spacing: 6px;
  text-transform: uppercase;
  color: var(--qn-text-dim) !important;
  font-size: 13px !important;
  margin-bottom: 24px !important;
  position: relative;
  padding-bottom: 14px;
  text-align: center;
}
[data-section-id="17908000007645231"] .sponsor-title::after {
  content: '';
  position: absolute;
  left: 50%; bottom: 0;
  width: 36px; height: 2px;
  transform: translateX(-50%);
  background: var(--qn-cyan);
  border-radius: 2px;
}
[data-section-id="17908000007645231"] .sponsor-tile {
  transition: transform .4s var(--qn-ease);
}
[data-section-id="17908000007645231"] .sponsor-tile .bs-image {
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--qn-line);
  transition: border-color .4s ease, box-shadow .4s ease, transform .4s ease;
  padding: 16px;
}
[data-section-id="17908000007645231"] .sponsor-tile .image-contain {
  filter: grayscale(0.4) brightness(0.95);
  transition: filter .4s ease, transform .4s ease;
}
[data-section-id="17908000007645231"] .sponsor-tile:hover {
  transform: translateY(-4px);
}
[data-section-id="17908000007645231"] .sponsor-tile:hover .bs-image {
  border-color: var(--qn-cyan);
  box-shadow: 0 12px 30px -10px var(--qn-cyan-glow);
}
[data-section-id="17908000007645231"] .sponsor-tile:hover .image-contain {
  filter: grayscale(0) brightness(1);
  transform: scale(1.04);
}
[data-section-id="17908000007645231"] .sp-title {
  color: var(--qn-text-dim) !important;
  margin-top: 12px !important;
  font-size: 13px !important;
  letter-spacing: 0.5px;
  transition: color .3s ease;
}
[data-section-id="17908000007645231"] .sponsor-tile:hover .sp-title {
  color: #fff !important;
}
[data-section-id="17908000007645231"] .bs-divider {
  background: var(--qn-line) !important;
  margin: 44px 0 !important;
}

/* "Become a Sponsor" button glow */
[data-section-id="17908000007645231"] .becomeASponsorButton .bs-button {
  position: relative;
  overflow: hidden;
  letter-spacing: 1px;
  transition: transform .25s ease, box-shadow .35s ease;
}
[data-section-id="17908000007645231"] .becomeASponsorButton .bs-button::before {
  content: '';
  position: absolute;
  top: 0; left: -100%;
  width: 100%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.25), transparent);
  transition: left .7s ease;
}
[data-section-id="17908000007645231"] .becomeASponsorButton .bs-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 32px -10px var(--qn-cyan-glow);
}
[data-section-id="17908000007645231"] .becomeASponsorButton .bs-button:hover::before {
  left: 100%;
}

/* ============================================================
   VENUE — 17908000007645232
   ============================================================ */
[data-section-id="17908000007645232"] .embed-map .li-item {
  background: linear-gradient(135deg, rgba(255,255,255,0.03), rgba(75,200,231,0.04));
  border: 1px solid var(--qn-line);
  border-radius: var(--qn-radius);
  padding: 24px;
  transition: border-color .4s ease, box-shadow .4s ease;
}
[data-section-id="17908000007645232"] .embed-map .li-item:hover {
  border-color: var(--qn-cyan-soft);
  box-shadow: 0 18px 40px -16px var(--qn-cyan-glow);
}
[data-section-id="17908000007645232"] .embed-map .bs-image {
  border-radius: 12px;
}
[data-section-id="17908000007645232"] .venue.map iframe {
  border-radius: var(--qn-radius);
  filter: hue-rotate(220deg) saturate(0.7) brightness(0.85);
  transition: filter .6s ease;
}
[data-section-id="17908000007645232"] .venue.map:hover iframe {
  filter: hue-rotate(220deg) saturate(0.9) brightness(1);
}
[data-section-id="17908000007645232"] .bs-button.primary {
  position: relative;
  overflow: hidden;
  letter-spacing: 0.5px;
  transition: transform .25s ease, box-shadow .25s ease;
}
[data-section-id="17908000007645232"] .bs-button.primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px -10px var(--qn-cyan-glow);
}

/* ============================================================
   FOOTER — 17908000007666002
   ============================================================ */
[data-section-id="17908000007666002"] {
  border-top: 1px solid var(--qn-line);
  position: relative;
}
[data-section-id="17908000007666002"]::before {
  content: '';
  position: absolute;
  top: -1px; left: 50%;
  transform: translateX(-50%);
  width: 240px; height: 1px;
  background: linear-gradient(90deg, transparent, var(--qn-cyan), transparent);
}
[data-section-id="17908000007666002"] .ft-top {
  padding: 28px 0;
}
[data-section-id="17908000007666002"] .poweredby-logo {
  opacity: 0.7;
  transition: opacity .3s ease;
}
[data-section-id="17908000007666002"] .poweredby-logo:hover {
  opacity: 1;
}

/* ============================================================
   Reduced motion
   ============================================================ */
@media (prefers-reduced-motion: reduce) {
  .qn-reveal { opacity: 1; transform: none; transition: none; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* ============================================================
   Responsive tweaks
   ============================================================ */
@media (max-width: 768px) {
  [data-section-id="17908000007670013"] .li-item { padding: 18px; }
  [data-section-id="17908000007670268"] .featured-session { padding: 20px; margin: 0 6px; }
  [data-section-id="17908000007645231"] .sponsor-title { font-size: 11px !important; letter-spacing: 4px; }
  [data-section-id="17908000007666423"] .bs-countdown { gap: 10px; }
  [data-section-id="17908000007666423"] .bs-countdown .item { padding: 6px 10px; }
}