:root {
  --navy: #031a43;
  --navy-deep: #010c23;
  --blue: #1458c2;
  --sky: #74d9f5;
  --ice: #eef8ff;
  --ink: #071a35;
  --line: rgba(255, 255, 255, 0.16);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  max-width: 100%;
  overflow-x: hidden;
  background: var(--ice);
  color: var(--ink);
  font-family: Arial, Helvetica, sans-serif;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
.shell { width: min(1240px, calc(100% - 48px)); margin-inline: auto; }

.hero {
  position: relative;
  min-height: 910px;
  overflow: hidden;
  color: white;
  background: radial-gradient(circle at 78% 45%, rgba(32, 135, 255, .35), transparent 30%), linear-gradient(135deg, #010b20 0%, #04265c 58%, #073885 100%);
}
.heroPhoto {
  position: absolute;
  inset: 0;
  background: url('./gallery/hero-forum-evento.jpg') center 42% / cover no-repeat;
  opacity: .72;
}
.heroPhotoSoft {
  position: absolute;
  inset: -40px;
  background: url('./gallery/hero-forum-evento.jpg') center 42% / cover no-repeat;
  filter: blur(26px) saturate(.78) brightness(.72);
  opacity: 1;
  -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 54%, rgba(0,0,0,.35) 64%, transparent 78%);
  mask-image: linear-gradient(90deg, #000 0%, #000 54%, rgba(0,0,0,.35) 64%, transparent 78%);
}
.heroOverlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(1, 7, 22, .82) 0%, rgba(1, 12, 32, .58) 42%, rgba(3, 26, 67, .18) 62%, rgba(4, 38, 92, .06) 100%),
    linear-gradient(180deg, rgba(1, 8, 24, .46) 0%, transparent 30%, rgba(0, 7, 24, .48) 100%);
}
.hero::after { content: ""; position: absolute; inset: auto 0 0; height: 180px; background: linear-gradient(transparent, rgba(0, 7, 24, .52)); pointer-events: none; }
.nav {
  position: relative; z-index: 10; top: 20px; height: 68px; display: flex; align-items: center; justify-content: space-between;
  padding: 0 12px 0 24px; border: 1px solid rgba(255,255,255,.16); border-radius: 22px;
  background: rgba(1, 12, 35, .7); backdrop-filter: blur(18px); box-shadow: 0 18px 55px rgba(0,0,0,.22);
}
.wordmark { font-weight: 900; letter-spacing: -.02em; }
.wordmark span { color: var(--sky); margin-left: 7px; }
.navCta, .primaryButton { display: inline-flex; align-items: center; justify-content: center; border-radius: 14px; background: linear-gradient(135deg, #67d7f4, #4da8ff); color: #03152e; font-weight: 900; transition: transform .25s ease, box-shadow .25s ease; }
.navCta { min-height: 46px; padding: 0 20px; font-size: 14px; flex-shrink: 0; }
.navCta:hover, .primaryButton:hover { transform: translateY(-2px); }
.navCta,
.heroActions .primaryButton {
  box-shadow: 0 0 10px rgba(103, 215, 244, .42), 0 0 22px rgba(77, 168, 255, .28);
}
.heroGlow { position: absolute; width: 520px; height: 520px; border-radius: 50%; right: 6%; top: 18%; background: radial-gradient(circle, rgba(116,217,245,.12), transparent 66%); filter: blur(8px); }
.heroPattern { position: absolute; inset: 0; opacity: .03; background-image: url('./pattern-white.svg'); background-size: 1180px auto; background-position: 70% 55%; transform: rotate(-5deg) scale(1.12); }
.heroGrid { position: relative; z-index: 2; min-height: 0; display: grid; grid-template-columns: 1.08fr .92fr; grid-template-areas: "copy card" "copy marquee"; gap: 22px 70px; align-items: start; padding: 22px 0 48px; }
.heroCopy { grid-area: copy; }
.heroGrid .partnerMarqueeWrap { grid-area: marquee; align-self: start; min-width: 0; }
.eventCard { grid-area: card; }
.heroTalk {
  position: relative;
  z-index: 2;
  padding: 108px 0 8px;
}
.heroKicker {
  margin: 0 0 12px;
  color: var(--sky);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.eyebrow { margin: 0 0 22px; color: var(--sky); font-size: 13px; font-weight: 900; letter-spacing: .18em; }
.hero h1 { max-width: 820px; margin: 0; font-size: clamp(42px, 4.7vw, 72px); line-height: 1.02; letter-spacing: -.055em; }
.hero h1 em { color: var(--sky); font-style: normal; }
.heroContext { max-width: 640px; margin: 22px 0 0; color: rgba(255,255,255,.78); font-size: 18px; line-height: 1.55; }
.heroLead { max-width: 650px; margin: 16px 0 0; color: rgba(255,255,255,.76); font-size: 20px; line-height: 1.55; }
.heroSign { margin: 22px 0 0; color: white; font-size: 15px; font-weight: 800; letter-spacing: -.02em; }
.heroSign em { color: var(--sky); font-style: normal; }
.heroActions { display: flex; align-items: center; gap: 20px; margin-top: 38px; }
.primaryButton { min-height: 60px; padding: 0 22px; gap: 8px; }
.primaryButton strong { padding-left: 9px; border-left: 1px solid rgba(3,21,46,.25); }
.heroActions span { max-width: 170px; color: rgba(255,255,255,.54); font-size: 12px; line-height: 1.45; }
.eventCard { position: relative; padding: 34px; overflow: hidden; border: 1px solid rgba(116,217,245,.28); border-radius: 44px; background: linear-gradient(155deg, rgba(20,88,194,.42) 0%, rgba(3,26,67,.72) 52%, rgba(7,56,133,.55) 100%); backdrop-filter: blur(18px); box-shadow: 0 50px 100px rgba(3,36,85,.28); }
.eventCard::before { content: ""; position: absolute; width: 240px; height: 240px; top: -100px; right: -60px; border-radius: 50%; background: rgba(116,217,245,.22); }
.eventCard img { position: relative; display: block; width: 100%; aspect-ratio: 16/9; object-fit: cover; border-radius: 27px; }
.eventMeta { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 18px; }
.eventMeta div { padding: 17px 18px; border-radius: 18px; background: rgba(3,26,67,.38); }
.eventMeta .wide { grid-column: 1/-1; }
.eventMeta small { display: block; margin-bottom: 8px; color: var(--sky); font-size: 10px; font-weight: 900; letter-spacing: .13em; }
.eventMeta strong { font-size: 15px; }
.partnerMarqueeWrap { min-width: 0; max-width: 100%; overflow: hidden; }
.partnerMarqueeLabel {
  margin: 0 0 10px;
  color: var(--sky);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
  text-align: center;
}
.partnerMarquee {
  position: relative;
  z-index: 3;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 18px;
  background: rgba(1, 8, 24, .58);
  mask-image: linear-gradient(90deg, transparent 0%, #000 5%, #000 95%, transparent 100%);
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 5%, #000 95%, transparent 100%);
}
.partnerMarqueeTrack {
  display: flex;
  width: max-content;
  gap: 14px;
  padding: 12px 16px;
  animation: partnerMarquee 32s linear infinite;
}
.partnerMarquee:hover .partnerMarqueeTrack { animation-play-state: paused; }
.partnerMarqueeItem {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 248px;
  height: 78px;
  padding: 10px 16px;
  overflow: hidden;
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 10px 24px rgba(0,0,0,.16);
}
.partnerMarqueeItem img { width: 100%; height: 100%; object-fit: contain; object-position: center; }
@keyframes partnerMarquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

.previewSpeakers { padding: 72px 0 80px; background: #ffffff; }
.previewSpeakersHead { max-width: 720px; margin-bottom: 28px; }
.previewSpeakersHead h2 { font-size: clamp(32px, 4.2vw, 48px); }
.previewSpeakerRow {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 14px;
}
.previewSpeakerCard {
  display: grid;
  justify-items: center;
  gap: 8px;
  padding: 16px 10px 18px;
  border: 1px solid rgba(116,217,245,.22);
  border-radius: 22px;
  background: linear-gradient(165deg, #0b4ea8 0%, #04265c 58%, #031a43 100%);
  color: white;
  text-align: center;
  box-shadow: 0 16px 36px rgba(3,26,67,.18);
}
.previewSpeakerCard img {
  width: 86px;
  height: 86px;
  object-fit: cover;
  object-position: center 12%;
  border-radius: 50%;
  border: 2px solid rgba(116,217,245,.45);
}
.previewSpeakerCard strong { font-size: 14px; letter-spacing: -.02em; }
.previewSpeakerCard span { color: #9be7fb; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.previewCta { min-height: 56px; margin: 28px auto 0; padding: 0 26px; }
.previewSpeakers .previewCta { display: flex; width: fit-content; }

.previewBridge { padding: 110px 24px 125px; text-align: center; background: #f6fbff; }
.previewBridge p { margin: 0 0 17px; color: #165fc4; font-size: 12px; font-weight: 900; letter-spacing: .18em; }
.previewBridge h2 { max-width: 900px; margin: 0 auto; font-size: clamp(40px, 5vw, 72px); line-height: 1; letter-spacing: -.055em; }

@media (max-width: 900px) {
  .hero { min-height: auto; }
  .heroPhotoSoft {
    -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 58%, transparent 88%);
    mask-image: linear-gradient(180deg, #000 0%, #000 58%, transparent 88%);
  }
  .heroGrid { grid-template-columns: 1fr; grid-template-areas: "copy" "card" "marquee"; gap: 28px; padding: 22px 0 42px; }
  .heroCopy { text-align: center; }
  .heroLead, .heroContext, .heroSign { margin-inline: auto; }
  .heroActions { justify-content: center; }
  .eventCard { width: min(600px, 100%); margin-inline: auto; }
  .galleryHeading, .sectionHeadingRow { grid-template-columns: 1fr; gap: 18px; }
}
@media (max-width: 620px) {
  .shell { width: min(100% - 28px, 1240px); }
  .nav { height: 60px; padding-left: 16px; border-radius: 18px; }
  .wordmark { max-width: 150px; font-size: 12px; line-height: 1.15; }
  .navCta { min-height: 40px; padding: 0 13px; font-size: 11px; }
  .heroTalk { padding-top: 96px; }
  .heroGrid { padding-top: 18px; }
  .hero h1 { font-size: 40px; }
  .heroContext { font-size: 16px; }
  .heroLead { font-size: 17px; }
  .heroActions { flex-direction: column; }
  .heroActions span { max-width: none; }
  .primaryButton { width: 100%; font-size: 14px; }
  .eventCard { padding: 18px; border-radius: 28px; }
  .eventCard img { border-radius: 19px; }
}

/* Landing page system */
.nav { position: fixed; left: 50%; transform: translateX(-50%); }
.navLinks { display: flex; align-items: center; gap: 18px; margin-left: auto; margin-right: 22px; }
.navLinks a { color: rgba(255,255,255,.62); font-size: 13px; font-weight: 700; transition: color .2s ease; }
.navLinks a:hover { color: white; }
.section { padding-top: 135px; padding-bottom: 135px; }
.kicker { margin: 0 0 19px; color: var(--blue); font-size: 11px; font-weight: 900; letter-spacing: .2em; }
.kicker.light { color: var(--sky); }
.section h2, .marketSection h2, .connections h2, .groupSection h2, .finalCta h2 { margin: 0; letter-spacing: -.055em; line-height: 1; }

.factStrip {
  position: relative; z-index: 4; display: grid; grid-template-columns: repeat(4, 1fr); width: min(1160px, calc(100% - 48px));
  margin: 22px auto 0; overflow: hidden; border: 1px solid rgba(6,44,96,.1); border-radius: 28px;
  background: rgba(255,255,255,.92); box-shadow: 0 28px 80px rgba(17,56,113,.13); backdrop-filter: blur(18px);
}
.factStrip div { display: flex; align-items: center; gap: 13px; min-height: 104px; padding: 20px 27px; border-right: 1px solid rgba(6,44,96,.09); }
.factStrip div:last-child { border: 0; }
.factStrip strong { color: #0c58bb; font-size: 35px; letter-spacing: -.05em; }
.factStrip span { max-width: 100px; color: #53667f; font-size: 12px; line-height: 1.35; }

.challenge.section { position: relative; padding-top: 88px; padding-bottom: 40px; }
.sectionIntro { max-width: 1050px; }
.sectionIntro h2 { font-size: clamp(36px, 6.5vw, 94px); overflow-wrap: break-word; }
.challengeGrid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 56px 72px; margin-top: 36px; padding-top: 28px; border-top: 1px solid #cbdced; }
.leadText { margin: 0; font-size: 27px; font-weight: 700; line-height: 1.35; letter-spacing: -.025em; }
.bodyCopy { color: #53657a; font-size: 18px; line-height: 1.65; }
.bodyCopy p { margin: 0 0 22px; }
.bodyCopy strong { color: var(--ink); }

.marketSection { position: relative; overflow: hidden; padding: 145px 0; color: white; background: #031a43; }
.marketPattern { position: absolute; inset: -25% -5%; opacity: .04; background: url('./pattern-white.svg') center/1100px auto repeat; transform: rotate(-5deg); }
.marketSection::before { content: ""; position: absolute; width: 520px; height: 520px; right: -100px; top: -190px; border-radius: 50%; background: radial-gradient(circle, rgba(69,174,255,.32), transparent 68%); }
.marketGrid { position: relative; display: grid; grid-template-columns: 1fr .75fr; gap: 120px; align-items: end; }
.marketGrid h2 { max-width: 740px; font-size: clamp(48px, 6vw, 88px); }
.marketBody > p { margin: 0; color: rgba(255,255,255,.7); font-size: 20px; line-height: 1.6; }
.marketTags { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 36px; }
.marketTags span { padding: 10px 13px; border: 1px solid rgba(255,255,255,.15); border-radius: 999px; color: #d9f7ff; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }

.themes { background: var(--ice); }
.sectionHeadingRow { display: grid; grid-template-columns: 1fr 360px; gap: 90px; align-items: end; }
.sectionHeadingRow h2, .ticketsHeader h2 { max-width: 840px; font-size: clamp(47px, 5.5vw, 79px); }
.sectionHeadingRow > p, .ticketsHeader > p { margin: 0 0 8px; color: #60738a; font-size: 17px; line-height: 1.6; }
.themeGrid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 10px; margin-top: 40px; }
.themeCard { position: relative; min-height: 148px; padding: 16px 18px; overflow: hidden; border: 1px solid #d5e4f2; border-radius: 18px; background: rgba(255,255,255,.78); transition: transform .28s ease, box-shadow .28s ease, background .28s ease; }
.themeCard:hover { transform: translateY(-3px); box-shadow: 0 16px 36px rgba(19,68,126,.1); background: white; }
.themeCard:nth-child(1), .themeCard:nth-child(4), .themeCard:nth-child(5), .themeCard:nth-child(8) { grid-column: span 7; }
.themeCard:nth-child(2), .themeCard:nth-child(3), .themeCard:nth-child(6), .themeCard:nth-child(7) { grid-column: span 5; }
.themeCard > span { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: #dff4ff; color: #0751af; font-size: 10px; font-weight: 900; }
.themeCard h3 { max-width: 470px; margin: 14px 0 6px; font-size: 16px; letter-spacing: -.03em; }
.themeCard p { max-width: 78%; margin: 0; color: #61738a; font-size: 13px; line-height: 1.4; }
.themeCard i { position: absolute; right: 14px; top: 14px; color: #0c58bb; font-size: 14px; font-style: normal; }
.themeIcon { position: absolute; z-index: 1; right: 10px; bottom: 8px; display: grid; place-items: center; width: 46px; height: 46px; color: #0c58bb; }
.themeIcon svg { width: 38px; height: 38px; }
.themeCard::after { content: ""; position: absolute; width: 78px; height: 78px; right: -32px; bottom: -36px; border-radius: 50%; background: linear-gradient(145deg, rgba(90,212,244,.18), rgba(34,89,194,.13)); }

.scheduleWrap { padding: 28px 0 8px; }
.scheduleBoard {
  position: relative; overflow: hidden; padding: 72px 78px 64px; color: white;
  border-radius: 42px; background: #073885; box-shadow: 0 35px 90px rgba(3,55,130,.22);
}
.scheduleBoard::after {
  content: ""; position: absolute; width: 420px; height: 420px; right: -160px; top: -140px;
  border-radius: 50%; background: rgba(106,218,245,.12); pointer-events: none;
}
.scheduleBoard > * { position: relative; z-index: 2; }
.scheduleBoard h2 { max-width: 720px; margin: 0 0 22px; font-size: clamp(45px, 5vw, 69px); letter-spacing: -.055em; line-height: 1; }
.scheduleBoard > p:not(.kicker) { margin: 0; color: rgba(255,255,255,.78); font-size: 18px; line-height: 1.55; }
.scheduleTiers { list-style: none; display: grid; gap: 16px; margin: 42px 0 0; padding: 0; }
.scheduleTiers li {
  display: grid; grid-template-columns: 28px auto 1fr; gap: 14px; align-items: baseline;
}
.scheduleTiers em { color: white; font-style: normal; font-size: 17px; font-weight: 700; }
.scheduleTiers strong { color: var(--sky); font-size: 22px; font-weight: 900; letter-spacing: -.03em; }
.scheduleTiers span { color: rgba(210, 228, 248, .82); font-size: 17px; font-weight: 500; }
.scheduleTiers li.highlight strong { color: #b8f0ff; }
.scheduleTiers li.highlight span { color: white; font-weight: 700; }

.speakersSection { position: relative; overflow: hidden; padding: 145px 0 135px; color: white; background: #010c23; }
.speakersSection::before { content: ""; position: absolute; inset: 0; opacity: .045; background-image: linear-gradient(rgba(116,217,245,.6) 1px, transparent 1px), linear-gradient(90deg, rgba(116,217,245,.6) 1px, transparent 1px); background-size: 90px 90px; }
.speakerGlow { position: absolute; width: 760px; height: 760px; right: -280px; top: -280px; border-radius: 50%; background: radial-gradient(circle, rgba(29,113,217,.34), transparent 67%); }
.speakersContent { position: relative; z-index: 2; }
.speakersHeading { display: grid; grid-template-columns: 1fr 280px; gap: 90px; align-items: end; }
.speakersHeading h2 { max-width: 910px; margin: 0; font-size: clamp(48px, 6.2vw, 90px); line-height: .98; letter-spacing: -.06em; }
.speakerStatus { padding: 22px; border: 1px solid rgba(255,255,255,.14); border-radius: 22px; background: rgba(255,255,255,.055); backdrop-filter: blur(14px); }
.statusLabel { display: block; color: var(--sky); font-size: 10px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.statusDots { display: flex; gap: 8px; margin: 17px 0 14px; }
.statusDots i { width: 10px; height: 10px; border: 1px solid rgba(116,217,245,.72); border-radius: 50%; box-shadow: 0 0 0 4px rgba(116,217,245,.06); }
.statusDots i.on { background: var(--sky); }
.speakerStatus small { color: rgba(255,255,255,.53); line-height: 1.45; }
.speakerGrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 70px; }
.speakerCard { overflow: hidden; border: 1px solid rgba(255,255,255,.13); border-radius: 31px; background: rgba(255,255,255,.055); box-shadow: 0 26px 65px rgba(0,0,0,.22); }
.speakerVisual { position: relative; min-height: 390px; overflow: hidden; background: linear-gradient(155deg, #0b68c5 0%, #052e69 52%, #020d28 100%); }
.speakerCard2 .speakerVisual { background: linear-gradient(155deg, #32a9d4 0%, #08549c 52%, #020d28 100%); }
.speakerCard3 .speakerVisual { background: linear-gradient(155deg, #166ed5 0%, #073885 45%, #010a20 100%); }
.speakerCard4 .speakerVisual { background: linear-gradient(155deg, #0b68c5 0%, #052e69 52%, #020d28 100%); }
.speakerCard5 .speakerVisual { background: linear-gradient(155deg, #166ed5 0%, #073885 45%, #010a20 100%); }
.speakerCard6 .speakerVisual { background: linear-gradient(155deg, #0b68c5 0%, #052e69 52%, #020d28 100%); }
.speakerCard6 .speakerPhoto { object-position: center 8%; }
.speakerCard3 .speakerPhoto { object-position: center 18%; }
.speakerCard4 .speakerPhoto { object-position: center 22%; }
.speakerVisual::before, .speakerVisual::after { content: ""; position: absolute; border-radius: 50%; border: 1px solid rgba(255,255,255,.17); }
.speakerVisual::before { width: 360px; height: 360px; left: -130px; top: -170px; }
.speakerVisual::after { width: 260px; height: 260px; right: -100px; bottom: -110px; box-shadow: 0 0 0 60px rgba(101,218,245,.035); }
.speakerVisual > span { position: absolute; left: 24px; top: 24px; z-index: 2; color: rgba(255,255,255,.56); font-size: 11px; font-weight: 900; letter-spacing: .15em; }
.speakerPhoto { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 12%; }
.speakerVisual.hasPhoto::before { opacity: .28; z-index: 1; }
.speakerVisual.hasPhoto::after {
  z-index: 1;
  inset: 0;
  width: auto;
  height: auto;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: linear-gradient(180deg, transparent 58%, rgba(3, 26, 67, .35) 100%);
  pointer-events: none;
}
.companyIcon { position: absolute; z-index: 3; left: 50%; right: auto; top: auto; bottom: 18px; display: grid; place-items: center; width: 220px; height: 78px; padding: 8px 12px; overflow: hidden; border-radius: 16px; transform: translateX(-50%); box-shadow: 0 16px 34px rgba(3,26,67,.22); }
.companyIcon.dark { border: 1px solid rgba(255,255,255,.16); background: #000000; }
.companyIcon.light { border: 1px solid rgba(255,255,255,.7); background: #ffffff; }
.companyIcon img { width: 100%; height: 100%; object-fit: contain; object-position: center; }
.speakerCopy { min-height: 230px; padding: 28px; }
.speakerCopy h3 { margin: 0 0 7px; font-size: 29px; letter-spacing: -.04em; }
.speakerCopy strong { color: var(--sky); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; }
.speakerCopy p { margin: 18px 0 0; color: rgba(255,255,255,.6); font-size: 14px; line-height: 1.6; }
.speakerVisual.mystery { display: grid; place-items: center; }
.mysteryMark {
  position: relative; z-index: 2; display: grid; place-items: center; width: 118px; height: 118px;
  border: 1px solid rgba(116,217,245,.35); border-radius: 50%;
  background: radial-gradient(circle, rgba(116,217,245,.16), rgba(3,26,67,.12) 70%);
  color: var(--sky); font-size: 54px; font-weight: 900; letter-spacing: -.06em;
  box-shadow: 0 0 60px rgba(116,217,245,.18);
}
.speakerCard.surprise .speakerCopy { min-height: 160px; }

.audience { background: white; }
.audienceGrid { display: grid; grid-template-columns: 1fr .9fr; gap: 110px; }
.audienceTitle { position: sticky; top: 140px; align-self: start; }
.audienceTitle h2 { font-size: clamp(48px, 5.5vw, 78px); }
.audienceTitle > p:last-child { max-width: 590px; margin: 28px 0 0; color: #63758b; font-size: 18px; line-height: 1.6; }
.audienceList { border-top: 1px solid #d6e3ee; }
.audienceList div { display: grid; grid-template-columns: 55px 1fr; align-items: center; min-height: 104px; border-bottom: 1px solid #d6e3ee; }
.audienceList span { color: #3aaeda; font-size: 11px; font-weight: 900; }
.audienceList strong { font-size: 21px; letter-spacing: -.02em; }

.connections { position: relative; overflow: hidden; padding: 170px 0; color: white; text-align: center; background: radial-gradient(circle at 50% 20%, #0a4b9e, #020d27 72%); }
.connections::after { content: ""; position: absolute; inset: 0; opacity: .04; background-image: linear-gradient(rgba(255,255,255,.5) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.5) 1px, transparent 1px); background-size: 85px 85px; }
.connectionsContent { position: relative; z-index: 2; }
.connections h2 { max-width: 980px; margin-inline: auto; font-size: clamp(54px, 7vw, 102px); }
.connectionsContent > p:nth-of-type(2) { max-width: 730px; margin: 32px auto 0; color: rgba(255,255,255,.7); font-size: 19px; line-height: 1.65; }
.connectionStatement { max-width: 890px; margin: 65px auto 0; padding: 25px 32px; border: 1px solid rgba(255,255,255,.13); border-radius: 23px; background: rgba(255,255,255,.06); color: #c9f5ff; font-size: 17px; font-weight: 700; backdrop-filter: blur(14px); }
.connectionOrb { position: absolute; border: 1px solid rgba(116,217,245,.2); border-radius: 50%; }
.connectionOrb.one { width: 420px; height: 420px; left: -170px; top: -110px; }
.connectionOrb.two { width: 610px; height: 610px; right: -260px; bottom: -240px; }

.talkBannerSection {
  position: relative;
  z-index: 2;
  overflow: visible;
  padding: 18px 52px 16px;
  color: white;
  border: 1px solid rgba(116, 217, 245, .22);
  border-radius: 28px;
  background: rgba(1, 12, 35, .38);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  box-shadow: 0 24px 60px rgba(0, 0, 0, .18);
}
.talkBanner {
  position: relative;
  min-height: 186px;
  overflow: hidden;
  touch-action: pan-y;
}
.talkBannerSlide {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: minmax(92px, 13%) minmax(0, 1fr);
  gap: 22px 28px;
  align-items: center;
  min-width: 0;
  color: white;
  opacity: 0;
  pointer-events: none;
  transition: opacity .28s ease;
}
.talkBannerSlide.is-active {
  opacity: 1;
  pointer-events: auto;
}
.talkBannerNav {
  position: absolute;
  top: 50%;
  z-index: 5;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(116, 217, 245, .35);
  border-radius: 50%;
  background: rgba(1, 12, 35, .55);
  color: white;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  transform: translateY(-50%);
}
.talkBannerNav.prev { left: 8px; }
.talkBannerNav.next { right: 8px; }
.talkBannerNav:hover,
.talkBannerNav:focus-visible {
  color: #03152e;
  background: var(--sky);
  outline: none;
}
.talkBannerSlide img {
  width: 100%;
  max-width: 132px;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  object-position: center 12%;
  border: 2px solid rgba(116,217,245,.45);
  border-radius: 16px;
  background: #052e69;
}
.talkBannerSlide:nth-child(6) img { object-position: center 8%; }
.talkBannerCopy { min-width: 0; }
.talkBannerCopy p {
  margin: 0 0 10px;
  color: var(--sky);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.talkBannerCopy h2 {
  margin: 0;
  max-width: 920px;
  font-size: clamp(22px, 3.1vw, 38px);
  line-height: .98;
  letter-spacing: -.04em;
  text-transform: uppercase;
}
.talkBannerCopy span {
  display: block;
  max-width: 640px;
  margin-top: 12px;
  color: rgba(255,255,255,.78);
  font-size: clamp(15px, 1.7vw, 19px);
  line-height: 1.4;
}
.talkBannerCopy small {
  display: block;
  margin-top: 12px;
  color: #9be7fb;
  font-size: 13px;
  font-weight: 800;
}
.talkBannerDots {
  display: flex;
  gap: 8px;
  margin-top: 18px;
}
.talkBannerDots button {
  width: 28px;
  height: 4px;
  padding: 0;
  border: 0;
  border-radius: 99px;
  background: rgba(255,255,255,.22);
  cursor: pointer;
}
.talkBannerDots button.is-active { background: var(--sky); }
.gallerySection { background: #ffffff; }
.gallerySection.section { padding-top: 72px; }
.galleryHeading { display: grid; grid-template-columns: 1fr 360px; gap: 90px; align-items: end; }
.galleryHeading h2 { max-width: 900px; margin: 0; font-size: clamp(36px, 6vw, 86px); line-height: .98; letter-spacing: -.06em; overflow-wrap: break-word; }
.galleryHeading > p { margin: 0 0 8px; color: #60738a; font-size: 17px; line-height: 1.6; }
.gallerySlides { display: grid; gap: 16px; margin-top: 36px; }
.gallerySlides .partnerMarqueeLabel { color: var(--blue); }
.speakerSlideItem {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 214px;
  height: 64px;
  padding: 8px 16px 8px 8px;
  border-radius: 12px;
  background: #ffffff;
  color: #031a43;
  box-shadow: 0 10px 24px rgba(0,0,0,.16);
}
.speakerSlideItem img {
  width: 48px;
  height: 48px;
  object-fit: cover;
  object-position: center 12%;
  border-radius: 10px;
}
.speakerSlideItem strong { font-size: 13px; letter-spacing: -.02em; }
.quoteSlideItem {
  flex: 0 0 auto;
  display: grid;
  align-items: center;
  width: min(540px, 82vw);
  min-height: 64px;
  padding: 12px 18px;
  border-radius: 12px;
  background: #ffffff;
  color: #031a43;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
  box-shadow: 0 10px 24px rgba(0,0,0,.16);
}
.galleryGrid { display: grid; grid-template-columns: repeat(10, 1fr); grid-template-rows: 420px 330px; gap: 16px; margin-top: 72px; }
.galleryItem { position: relative; min-width: 0; margin: 0; overflow: hidden; border-radius: 30px; background: #031a43; }
.galleryItem img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease; }
.galleryItem:hover img { transform: scale(1.025); }
.galleryStage { grid-column: 1 / span 6; grid-row: 1 / span 2; }
.galleryStage img { object-position: center; }
.gallerySpeaker { grid-column: 7 / -1; }
.gallerySpeaker img { object-position: center 34%; }
.galleryVenueOne { grid-column: 7 / span 2; }
.galleryVenueTwo { grid-column: 9 / -1; }
.galleryVenueOne figcaption, .galleryVenueTwo figcaption { left: 18px; right: 18px; bottom: 18px; grid-template-columns: 27px 1fr; }
.galleryVenueOne figcaption strong, .galleryVenueTwo figcaption strong { font-size: 15px; }
.galleryVenueOne figcaption small, .galleryVenueTwo figcaption small { display: none; }
.galleryItem::after { content: ""; position: absolute; inset: 38% 0 0; background: linear-gradient(transparent, rgba(1,9,27,.9)); }
.galleryItem figcaption { position: absolute; z-index: 2; left: 25px; right: 25px; bottom: 24px; display: grid; grid-template-columns: 36px 1fr; align-items: end; color: white; }
.galleryItem figcaption span { grid-row: 1 / span 2; align-self: center; color: var(--sky); font-size: 10px; font-weight: 900; letter-spacing: .12em; }
.galleryItem figcaption strong { font-size: 21px; letter-spacing: -.03em; }
.galleryItem figcaption small { margin-top: 5px; color: rgba(255,255,255,.58); }

.partnersSection { position: relative; color: white; background: linear-gradient(145deg, #041b42, #010b21); }
.partnersSection::after { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .035; background: url('./pattern-white.svg') center/1050px auto; }
.partnersSection > .shell { position: relative; z-index: 2; }
.partnersHeading { max-width: 900px; }
.partnersHeading h2 { margin: 0; font-size: clamp(48px, 6vw, 84px); line-height: .98; letter-spacing: -.06em; }
.partnersHeading > p:last-child { max-width: 690px; margin: 27px 0 0; color: rgba(255,255,255,.63); font-size: 17px; line-height: 1.6; }
.partnerCategory { margin-top: 72px; }
.partnerCategoryLabel { display: flex; align-items: center; gap: 15px; padding-bottom: 18px; border-bottom: 1px solid rgba(255,255,255,.14); }
.partnerCategoryLabel span { color: var(--sky); font-size: 10px; font-weight: 900; }
.partnerCategoryLabel strong { font-size: 13px; letter-spacing: .09em; text-transform: uppercase; }
.partnerLogoGrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 13px; margin-top: 18px; align-items: stretch; }
.partnerLogoCard { display: flex; flex-direction: column; min-height: 0; height: 100%; padding: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.13); border-radius: 24px; background: #ffffff; transition: transform .25s ease, box-shadow .25s ease; }
.partnerLogoCard:hover { transform: translateY(-4px); box-shadow: 0 22px 48px rgba(0,0,0,.22); }
.partnerCardLogo { position: relative; display: block; aspect-ratio: 1920 / 677; width: 100%; height: auto; padding: 0; overflow: hidden; background: #ffffff; }
.partnerCardLogo a { display: block; width: 100%; height: 100%; }
.partnerCardLogo img { display: block; position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; max-height: none; object-fit: contain; background: #ffffff; }
.partnerCardCopy { flex: 1; min-height: 132px; padding: 16px 20px 20px; border-top: 1px solid rgba(116,217,245,.16); background: #0a2348; }
.partnerCardCopy strong { display: block; margin-bottom: 7px; color: var(--ice); font-size: 15px; letter-spacing: -.02em; }
.partnerCardCopy p { margin: 0; color: var(--ice); font-size: 13px; line-height: 1.5; }
.partnerLogoCard.dark { background: #ffffff; }
.partnerLogoCard.light { background: #ffffff; }
.partnerLogoCard.light .partnerCardCopy { border-top-color: rgba(116,217,245,.16); background: #0a2348; }
.partnerLogoCard.light .partnerCardCopy strong,
.partnerLogoCard.light .partnerCardCopy p { color: var(--ice); }
.partnerLogoCard.reserved { display: flex; flex-direction: column; gap: 12px; color: rgba(255,255,255,.48); border-style: dashed; background: rgba(255,255,255,.045); font-size: 12px; font-weight: 800; }
.reservedMark { display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid rgba(116,217,245,.35); border-radius: 15px; color: var(--sky); font-size: 25px; }
.ownerGrid { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; margin-top: 38px; }
.ownerBlock { display: grid; grid-template-columns: 168px 1fr; align-items: center; min-height: 160px; overflow: hidden; border: 1px solid rgba(255,255,255,.13); border-radius: 24px; background: white; color: #071a35; }
.ownerBlock > span { display: grid; place-items: center; align-self: stretch; padding: 18px 14px; border-right: 1px solid #e0e9f2; color: #557089; font-size: 10px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; text-align: center; line-height: 1.3; }
.ownerBlock a { display: grid; place-items: center; padding: 18px 22px; }
.ownerBlock img { display: block; width: 88%; max-width: 560px; height: auto; max-height: none; aspect-ratio: 1920 / 677; object-fit: cover; }
.ownerBlock.ownerDark { background: #080d17; color: white; }
.ownerBlock.ownerDark > span { border-color: rgba(255,255,255,.12); color: rgba(255,255,255,.5); }
.ownerBlock.ownerDark img { max-width: 560px; width: 88%; max-height: none; }

.tickets { background: var(--ice); }
.ticketsHeader { display: grid; grid-template-columns: 1fr 360px; gap: 90px; align-items: end; }
.ticketGrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 72px; align-items: stretch; }
.ticketCard { position: relative; display: flex; flex-direction: column; min-height: 730px; padding: 33px; border: 1px solid #d4e2ef; border-radius: 32px; background: white; box-shadow: 0 18px 50px rgba(20,62,112,.07); }
.ticketCard.featured { color: white; border-color: rgba(104,216,245,.45); background: linear-gradient(155deg, #07468e 0%, #031a43 50%, #010b21 100%); box-shadow: 0 30px 80px rgba(3,36,85,.28); transform: translateY(-18px); }
.featuredSeal { position: absolute; top: 22px; right: 22px; padding: 8px 11px; border-radius: 999px; background: #75ddf4; color: #05234d; font-size: 10px; font-weight: 900; text-transform: uppercase; }
.ticketEyebrow { margin: 0 0 12px; color: #0d5bbd; font-size: 10px; font-weight: 900; letter-spacing: .17em; }
.featured .ticketEyebrow { color: var(--sky); }
.ticketCard h3 { margin: 0 0 30px; font-size: 32px; letter-spacing: -.04em; }
.price { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.installment { display: flex; align-items: baseline; flex-wrap: wrap; gap: 7px; margin: 0; }
.installment small { color: #708197; font-size: 18px; font-weight: 800; letter-spacing: -.02em; }
.installment span { color: #708197; font-size: 17px; font-weight: 800; }
.installment strong { font-size: clamp(57px, 5vw, 74px); line-height: .9; letter-spacing: -.065em; }
.cash { margin: 0; color: #708197; font-size: 15px; font-weight: 700; }
.featured .installment small, .featured .installment span, .featured .cash { color: rgba(255,255,255,.58); }
.saving { align-self: flex-start; margin-top: 14px; padding: 7px 10px; border-radius: 8px; background: #ddf6ff; color: #064697; font-size: 11px; font-weight: 900; }
.ticketDescription { min-height: 80px; margin: 28px 0 24px; color: #64778d; line-height: 1.55; }
.featured .ticketDescription { color: rgba(255,255,255,.68); }
.ticketCard ul { display: grid; gap: 13px; margin: 0; padding: 23px 0 30px; border-top: 1px solid #e1e9f1; list-style: none; }
.featured ul { border-color: rgba(255,255,255,.14); }
.ticketCard li { display: flex; align-items: center; gap: 10px; color: #3c4f66; font-size: 14px; }
.featured li { color: rgba(255,255,255,.83); }
.ticketCard li span { display: inline-grid; place-items: center; flex: 0 0 21px; width: 21px; height: 21px; border-radius: 50%; background: #def7ff; color: #0753af; font-size: 11px; font-weight: 900; }
.ticketFooter { margin-top: auto; }
.ticketFooter small { display: block; margin-bottom: 14px; color: #718297; font-size: 11px; }
.featured .ticketFooter small { color: var(--sky); }
.ticketFooter a,
.ticketFooter button { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 55px; padding: 0 18px; border: 0; border-radius: 14px; background: #071a35; color: white; font-family: inherit; font-size: 14px; font-weight: 900; cursor: pointer; transition: transform .2s ease, background .2s ease; }
.featured .ticketFooter a,
.featured .ticketFooter button { background: #73dcf4; color: #03204a; }
.ticketFooter a:hover,
.ticketFooter button:hover { transform: translateY(-2px); background: #0d59bc; }
.featured .ticketFooter a:hover,
.featured .ticketFooter button:hover { background: white; }
.checkoutNote { margin: 25px 0 0; text-align: center; color: #7a8a9d; font-size: 11px; }

html.has-ticket-modal,
html.has-ticket-modal body { overflow: hidden; }
.ticket-form-overlay { display: none !important; position: fixed; inset: 0; z-index: 100000; align-items: center; justify-content: center; padding: 12px; background: rgba(1, 8, 24, .78); backdrop-filter: blur(8px); }
.ticket-form-overlay.is-open { display: flex !important; }
.ticket-form-shell {
  display: flex;
  flex-direction: column;
  width: min(680px, 100%);
  min-height: 0;
  max-height: calc(100dvh - 24px);
  overflow: hidden;
  border: 1px solid rgba(116, 217, 245, .22);
  border-radius: 24px;
  background: #f4f8fc;
  box-shadow: 0 34px 100px rgba(0, 0, 0, .45);
}
.ticket-form-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 76px;
  padding: 15px 18px 15px 22px;
  color: white;
  background: #071a35;
}
.ticket-form-header small,
.ticket-form-header strong { display: block; }
.ticket-form-header small { margin-bottom: 3px; color: var(--sky); font-size: 11px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.ticket-form-header strong { font-size: 18px; }
.ticket-form-close {
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 50%;
  background: rgba(255,255,255,.08);
  color: white;
  cursor: pointer;
  font-size: 22px;
  line-height: 1;
}
.ticket-form-close:hover,
.ticket-form-close:focus-visible { color: #071a35; background: var(--sky); outline: none; }
.ticket-form-frame { position: relative; min-height: 0; max-height: calc(100dvh - 110px); overflow: hidden auto; background: #f7fbff; }
.ticket-form-frame iframe {
  display: block;
  width: 100%;
  height: 980px;
  min-height: 640px;
  border: 0;
  background: white;
  opacity: 0;
}
.ticket-form-overlay.is-loaded .ticket-form-frame iframe { opacity: 1; }
.ticket-form-loading {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: none;
  place-items: center;
  padding: 28px 24px 36px;
  background: #f7fbff;
  color: #53657a;
}
.ticket-form-overlay.is-open .ticket-form-loading { display: grid; }
.ticket-form-overlay.is-loaded .ticket-form-loading { display: none; }
.ticket-form-skeleton {
  display: grid;
  justify-items: center;
  width: min(420px, 100%);
  gap: 12px;
}
.ticket-form-skeleton p {
  margin: 4px 0 10px;
  font-size: 14px;
  font-weight: 800;
  color: #071a35;
}
.ticket-form-spinner {
  width: 28px;
  height: 28px;
  border: 3px solid #d5e4f2;
  border-top-color: #1458c2;
  border-radius: 50%;
  animation: ticketFormSpin .8s linear infinite;
}
.ticket-form-skel-line,
.ticket-form-skel-btn {
  display: block;
  width: 100%;
  border-radius: 12px;
  background: linear-gradient(90deg, #e4eef8 0%, #f7fbff 50%, #e4eef8 100%);
  background-size: 200% 100%;
  animation: ticketFormShimmer 1.2s ease-in-out infinite;
}
.ticket-form-skel-line { height: 48px; }
.ticket-form-skel-line.short { width: 72%; }
.ticket-form-skel-btn { height: 54px; margin-top: 8px; background: linear-gradient(90deg, #cfe4fb 0%, #eaf4ff 50%, #cfe4fb 100%); background-size: 200% 100%; }
@keyframes ticketFormSpin { to { transform: rotate(360deg); } }
@keyframes ticketFormShimmer {
  0% { background-position: 100% 0; }
  100% { background-position: -100% 0; }
}

.groupSection { position: relative; display: grid; grid-template-columns: 1fr .85fr; gap: 90px; align-items: center; margin-bottom: 100px; padding: 78px; overflow: hidden; color: white; border-radius: 42px; background: #073885; box-shadow: 0 35px 90px rgba(3,55,130,.22); }
.groupSection::after { content: ""; position: absolute; width: 420px; height: 420px; right: -160px; top: -140px; border-radius: 50%; background: rgba(106,218,245,.12); }
.groupSection > * { position: relative; z-index: 2; }
.groupSection h2 { max-width: 670px; font-size: clamp(45px, 5vw, 69px); }
.groupSection > div:first-child > p:nth-of-type(2) { max-width: 600px; color: rgba(255,255,255,.7); line-height: 1.6; }
.secondaryButton { display: inline-flex; align-items: center; gap: 24px; margin-top: 20px; padding: 17px 20px; border: 1px solid rgba(255,255,255,.25); border-radius: 14px; background: rgba(255,255,255,.08); font-size: 14px; font-weight: 900; }
.groupTiers { display: grid; gap: 10px; }
.groupTiers div { display: grid; grid-template-columns: 85px 1fr; align-items: center; min-height: 83px; padding: 16px 20px; border: 1px solid rgba(255,255,255,.14); border-radius: 19px; background: rgba(0,18,55,.28); backdrop-filter: blur(12px); }
.groupTiers strong { color: var(--sky); font-size: 28px; }
.groupTiers span { color: rgba(255,255,255,.76); font-size: 14px; }

.details { padding-top: 20px; }
.detailsCard { position: relative; display: grid; grid-template-columns: .8fr 1.2fr; min-height: 620px; overflow: hidden; border-radius: 44px; background: #031a43; box-shadow: 0 35px 90px rgba(5,39,83,.18); }
.detailsPattern { position: absolute; inset: 0; opacity: .04; background: url('./pattern-white.svg') center/900px auto; }
.detailsLogo { position: relative; display: grid; place-items: center; padding: 50px; background: radial-gradient(circle, rgba(22,108,216,.42), transparent 65%); }
.detailsLogo img { width: min(540px, 100%); border-radius: 30px; box-shadow: 0 28px 70px rgba(0,0,0,.25); }
.detailsInfo { position: relative; padding: 80px 70px; color: white; }
.detailsInfo h2 { margin: 0 0 45px; font-size: clamp(47px, 5vw, 70px); letter-spacing: -.05em; }
.detailsInfo dl { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin: 0; border-top: 1px solid rgba(255,255,255,.15); }
.detailsInfo dl div { padding: 22px 15px 22px 0; border-bottom: 1px solid rgba(255,255,255,.15); }
.detailsInfo dt { margin-bottom: 7px; color: var(--sky); font-size: 10px; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }
.detailsInfo dd { margin: 0; color: rgba(255,255,255,.84); font-size: 15px; font-weight: 700; }

.faq { display: grid; grid-template-columns: .62fr 1fr; gap: 110px; }
.faqIntro { position: sticky; top: 140px; align-self: start; }
.faqIntro h2 { font-size: clamp(51px, 6vw, 82px); }
.faqIntro > p:last-child { color: #687a8f; line-height: 1.6; }
.faqList { border-top: 1px solid #cddbe8; }
.faqList details { border-bottom: 1px solid #cddbe8; }
.faqList summary { display: grid; grid-template-columns: 44px 1fr 30px; align-items: center; min-height: 89px; cursor: pointer; list-style: none; font-weight: 800; }
.faqList summary::-webkit-details-marker { display: none; }
.faqList summary > span { color: #54bddd; font-size: 10px; font-weight: 900; }
.faqList summary i { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: #dfedf7; color: #0753af; font-size: 18px; font-style: normal; transition: transform .25s ease; }
.faqList details[open] summary i { transform: rotate(45deg); }
.faqList details p { margin: -4px 45px 27px; color: #64768a; line-height: 1.65; }

.finalCta { position: relative; overflow: hidden; padding: 155px 0; color: white; text-align: center; background: radial-gradient(circle at 50% 100%, #0b5dbc, transparent 45%), #010c23; }
.finalPattern { position: absolute; inset: -40% 0; opacity: .035; background: url('./pattern-white.svg') center/1000px auto; transform: rotate(8deg); }
.finalContent { position: relative; }
.finalCta h2 { max-width: 1100px; margin-inline: auto; font-size: clamp(55px, 7.5vw, 105px); }
.finalContent > p:nth-of-type(2) { max-width: 700px; margin: 30px auto 40px; color: rgba(255,255,255,.68); font-size: 18px; line-height: 1.65; }
.primaryButton.large { min-height: 67px; padding-inline: 28px; }
footer { padding: 37px 0; color: white; background: #010818; }
footer .shell { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.footerBrand { font-size: 14px; font-weight: 900; }
.footerBrand span { color: var(--sky); }
footer p, footer a { margin: 0; color: rgba(255,255,255,.48); font-size: 12px; }
.mobileBuy { display: none; }

:focus-visible { outline: 3px solid #70d9f4; outline-offset: 3px; }
@media (prefers-reduced-motion: no-preference) {
  .heroCopy { animation: rise .8s ease-out both; }
  .eventCard { animation: cardRise .95s .1s ease-out both; }
  .navCta,
  .heroActions .primaryButton { animation: ctaPulse 2.6s ease-in-out infinite; }
  @keyframes rise { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }
  @keyframes cardRise { from { opacity: 0; transform: translateY(32px); } to { opacity: 1; transform: none; } }
  @keyframes ctaPulse {
    0%, 100% { box-shadow: 0 0 8px rgba(103,215,244,.32), 0 0 18px rgba(77,168,255,.2); }
    50% { box-shadow: 0 0 16px rgba(103,215,244,.72), 0 0 32px rgba(77,168,255,.45); }
  }
}
@media (prefers-reduced-motion: reduce) {
  .partnerMarqueeTrack,
  .navCta,
  .heroActions .primaryButton,
  .mobileBuy,
  .mobileBuy::after,
  .ticket-form-spinner,
  .ticket-form-skel-line,
  .ticket-form-skel-btn { animation: none; }
}

@media (max-width: 1050px) {
  .navLinks { display: none; }
  .challengeGrid, .marketGrid, .audienceGrid, .ticketsHeader, .groupSection, .faq { gap: 55px; }
  .themeCard:nth-child(n) { grid-column: span 6; }
  .speakerGrid { grid-template-columns: 1fr 1fr; }
  .speakerCard { grid-column: auto; }
  .ticketGrid { grid-template-columns: 1fr; max-width: 680px; margin-inline: auto; }
  .ticketCard { min-height: auto; }
  .ticketCard.featured { transform: none; }
  .groupSection { padding: 58px; }
}

@media (max-width: 800px) {
  .section { padding-top: 95px; padding-bottom: 95px; }
  .challenge.section { padding-top: 32px; padding-bottom: 24px; }
  .gallerySection.section { padding-top: 48px; }
  .factStrip { grid-template-columns: 1fr 1fr; }
  .factStrip div:nth-child(2) { border-right: 0; }
  .factStrip div:nth-child(-n+2) { border-bottom: 1px solid rgba(6,44,96,.09); }
  .challengeGrid, .marketGrid, .sectionHeadingRow, .speakersHeading, .galleryHeading, .audienceGrid, .ticketsHeader, .groupSection, .detailsCard, .faq { grid-template-columns: 1fr; }
  .challengeGrid { gap: 22px; margin-top: 28px; padding-top: 22px; }
  .talkBanner { min-height: 200px; }
  .previewSpeakerRow { grid-template-columns: repeat(3, 1fr); }
  .marketGrid, .sectionHeadingRow, .ticketsHeader { gap: 38px; }
  .speakersHeading, .galleryHeading { gap: 38px; }
  .speakerStatus { max-width: 360px; }
  .galleryGrid { grid-template-columns: 1fr 1fr; grid-template-rows: 460px 310px 280px; }
  .galleryStage { grid-column: 1 / -1; grid-row: auto; }
  .gallerySpeaker { grid-column: 1 / -1; }
  .galleryVenueOne, .galleryVenueTwo { grid-column: auto; }
  .ownerGrid { grid-template-columns: 1fr; }
  .audienceTitle, .faqIntro { position: static; }
  .connections { padding: 115px 0; }
  .groupSection { margin-bottom: 70px; }
  .detailsLogo { min-height: 380px; }
  .detailsInfo { padding: 60px 42px; }
  .faq { gap: 55px; }
}

@media (max-width: 620px) {
  body { padding-bottom: 68px; }
  .nav { top: max(10px, env(safe-area-inset-top)); gap: 8px; padding: 0 8px 0 12px; }
  .navCta { display: inline-flex; min-height: 38px; padding: 0 11px; font-size: 11px; }
  .wordmark { max-width: 128px; font-size: 11px; line-height: 1.15; }
  .heroTalk { padding-top: 84px; }
  .heroGrid { min-height: 0; padding-top: 16px; padding-bottom: 28px; }
  .heroCopy { text-align: left; }
  .eyebrow { font-size: 10px; }
  .hero h1 { font-size: clamp(32px, 9.4vw, 42px); }
  .heroLead, .heroContext, .heroSign { margin-inline: 0; }
  .heroLead { font-size: 16px; }
  .heroContext { font-size: 15px; }
  .heroActions { align-items: stretch; }
  .heroActions span { text-align: center; }
  .eventMeta { grid-template-columns: 1fr; }
  .eventMeta .wide { grid-column: auto; }
  .factStrip { width: calc(100% - 28px); margin-top: 16px; border-radius: 22px; }
  .factStrip div { min-height: 87px; padding: 15px; }
  .factStrip strong { font-size: 26px; }
  .factStrip span { font-size: 10px; }
  .sectionIntro h2, .marketGrid h2, .sectionHeadingRow h2, .speakersHeading h2, .galleryHeading h2, .partnersHeading h2, .audienceTitle h2, .connections h2, .ticketsHeader h2, .groupSection h2, .detailsInfo h2, .faqIntro h2, .finalCta h2 { font-size: 36px; }
  .previewSpeakers { padding: 48px 0 56px; }
  .previewSpeakerRow { grid-template-columns: 1fr 1fr; }
  .previewSpeakerCard { padding: 12px 8px 14px; }
  .previewSpeakerCard img { width: 72px; height: 72px; }
  .previewCta { width: 100%; }
  .partnerMarqueeItem { width: 220px; height: 72px; padding: 8px 12px; }
  .talkBannerSection { padding: 14px 40px 12px; border-radius: 22px; }
  .talkBanner { min-height: 220px; }
  .talkBannerNav { width: 36px; height: 36px; font-size: 24px; }
  .talkBannerNav.prev { left: 4px; }
  .talkBannerNav.next { right: 4px; }
  .talkBannerSlide { grid-template-columns: 72px 1fr; gap: 12px 14px; }
  .talkBannerSlide img { max-width: 72px; border-radius: 12px; }
  .talkBannerCopy h2 { font-size: 22px; }
  .talkBannerCopy span { margin-top: 8px; font-size: 14px; }
  .talkBannerCopy small { margin-top: 8px; font-size: 12px; }
  .leadText { font-size: 22px; }
  .marketSection { padding: 95px 0; }
  .marketBody > p { font-size: 17px; }
  .themeGrid { grid-template-columns: 1fr; margin-top: 28px; }
  .themeCard:nth-child(n) { grid-column: auto; min-height: 132px; }
  .themeCard h3 { margin-top: 12px; }
  .themeCard p { max-width: 78%; }
  .themeIcon { width: 42px; height: 42px; }
  .themeIcon svg { width: 34px; height: 34px; }
  .speakersSection { padding: 95px 0; }
  .speakerGrid { grid-template-columns: 1fr; margin-top: 48px; }
  .speakerCard { grid-column: auto; max-width: none; }
  .scheduleTiers li { grid-template-columns: 22px 1fr; gap: 6px 12px; }
  .scheduleTiers strong, .scheduleTiers span { grid-column: 2; }
  .scheduleTiers strong { font-size: 17px; }
  .speakerVisual { min-height: 330px; }
  .companyIcon { width: 176px; height: 62px; padding: 6px 10px; left: 50%; right: auto; top: auto; bottom: 14px; transform: translateX(-50%); }
  .galleryGrid { grid-template-columns: 1fr; grid-template-rows: none; margin-top: 48px; }
  .galleryItem { min-height: 300px; }
  .galleryStage { min-height: 390px; }
  .galleryStage, .gallerySpeaker, .galleryVenueOne, .galleryVenueTwo { grid-column: auto; }
  .partnerCategory { margin-top: 50px; }
  .partnerLogoGrid { grid-template-columns: 1fr; }
  .partnerLogoCard { height: auto; padding: 0; border-radius: 19px; }
  .partnerCardLogo { height: auto; padding: 0; }
  .ownerBlock { grid-template-columns: 118px 1fr; min-height: 132px; }
  .ownerBlock img { width: 100%; }
  .ownerBlock.ownerDark img { width: 88%; }
  .audienceList div { min-height: 89px; }
  .audienceList strong { font-size: 17px; }
  .ticketCard { padding: 25px; border-radius: 25px; }
  .ticketDescription { min-height: 0; }
  .groupSection { width: calc(100% - 28px); padding: 35px 24px; border-radius: 29px; }
  .scheduleBoard { padding: 36px 24px; border-radius: 29px; }
  .groupTiers div { grid-template-columns: 64px 1fr; }
  .details { width: 100%; padding-inline: 14px; }
  .detailsCard { border-radius: 29px; }
  .detailsLogo { min-height: 290px; padding: 22px; }
  .detailsInfo { padding: 42px 24px; }
  .detailsInfo dl { grid-template-columns: 1fr; }
  .faqList summary { grid-template-columns: 35px 1fr 30px; min-height: 82px; font-size: 14px; }
  .faqList details p { margin-left: 35px; margin-right: 10px; font-size: 14px; }
  .finalCta { padding: 105px 0; }
  .primaryButton.large { width: 100%; font-size: 13px; }
  footer .shell { flex-direction: column; align-items: flex-start; }
  .mobileBuy {
    position: fixed;
    z-index: 30;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 68px;
    padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
    overflow: visible;
    border-radius: 18px 18px 0 0;
    background: #69d9f4;
    color: #031a43;
    box-shadow: 0 -8px 24px rgba(1,12,35,.2), 0 0 18px rgba(105,217,244,.55), 0 0 36px rgba(77,168,255,.4);
    animation: mobileBuyPulse 2.1s ease-in-out infinite;
  }
  .mobileBuy::after {
    content: "";
    position: absolute;
    inset: 4px 8px auto;
    height: 100%;
    z-index: -1;
    border-radius: 18px 18px 0 0;
    background: #9aefff;
    filter: blur(14px);
    opacity: .55;
    pointer-events: none;
    animation: mobileBuyHalo 2.1s ease-in-out infinite;
  }
  .mobileBuy span { font-size: 10px; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; }
  .mobileBuy strong { font-size: 13px; }
  @keyframes mobileBuyPulse {
    0%, 100% {
      box-shadow: 0 -8px 24px rgba(1,12,35,.2), 0 0 14px rgba(105,217,244,.45), 0 0 28px rgba(77,168,255,.32);
    }
    50% {
      box-shadow: 0 -8px 24px rgba(1,12,35,.2), 0 0 26px rgba(255,255,255,.7), 0 0 48px rgba(105,217,244,.95);
    }
  }
  @keyframes mobileBuyHalo {
    0%, 100% { opacity: .35; }
    50% { opacity: .8; }
  }
}
