@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap');

:root {
  --ilh-dark: #3d550c;
  --ilh-cream: #fcffde;
  --ilh-green: #8ac44f;
  --ilh-olive: #95a800;
  --ilh-forest: #3e6913;
  --ilh-lime: #e0fc00;
  --background: var(--ilh-cream);
  --foreground: var(--ilh-dark);
  --primary: var(--ilh-dark);
  --primary-foreground: var(--ilh-cream);
  --accent: var(--ilh-green);
  --ink: var(--ilh-dark);
  --ink-2: #4b6518;
  --evergreen: #4b6a17;
  --forest: var(--ilh-forest);
  --green: var(--ilh-forest);
  --lime: var(--ilh-lime);
  --lime-soft: #f2ffac;
  --paper: var(--ilh-cream);
  --soft: #f1f6cf;
  --white: var(--ilh-cream);
  --muted: #6b7944;
  --line: rgba(61, 85, 12, 0.18);
  --line-light: rgba(252, 255, 222, 0.25);
  --entry: var(--ilh-green);
  --medium: var(--ilh-forest);
  --advanced: var(--ilh-lime);
  --font-sans: "Manrope", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --font-mono: "DM Mono", "SFMono-Regular", Consolas, monospace;
  --ease: cubic-bezier(.2, .8, .2, 1);
  --shadow: 0 24px 80px rgba(61, 85, 12, 0.18);
  --shell: min(1240px, calc(100vw - 64px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: clip;
}
body.menu-open, body.dialog-open { overflow: hidden; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; }
p, h1, h2, h3 { margin-top: 0; }
:focus-visible { outline: 3px solid var(--lime); outline-offset: 4px; }

.shell { width: var(--shell); margin-inline: auto; }
main#continut { display: flex; flex-direction: column; }
main#continut > .hero { order: 1; }
main#continut > .speakers { order: 2; }
main#continut > .love-dinner { order: 3; }
main#continut > .hall { order: 4; }
main#continut > .comparison { order: 5; }
main#continut > .experience { order: 6; }
main#continut > .intro-strip { order: 8; }
main#continut > .why { order: 9; }
main#continut > .big-idea { order: 10; }
main#continut > .objections { order: 11; }
main#continut > .reel-proof { order: 12; }
main#continut > .faq { order: 13; }
main#continut > .final-cta { order: 14; }
.section { position: relative; padding: 132px 0; }
.section--ink { color: var(--white); background: var(--ink); }
.section--paper { background: var(--paper); }
.section--soft { background: var(--soft); }
.section--green { color: var(--white); background: var(--forest); overflow: hidden; }
.section--lime { background: var(--lime); overflow: hidden; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

.skip-link {
  position: fixed; z-index: 1000; left: 18px; top: -60px; padding: 12px 18px;
  border-radius: 0 0 10px 10px; color: var(--ink); background: var(--lime); font-weight: 800;
  transition: top .2s ease;
}
.skip-link:focus { top: 0; }
.page-grain {
  position: fixed; z-index: 100; inset: 0; pointer-events: none; opacity: .14; mix-blend-mode: soft-light;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 220 220' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.38'/%3E%3C/svg%3E");
}
.scroll-progress { position: fixed; z-index: 120; inset: 0 auto auto 0; width: 100%; height: 3px; pointer-events: none; }
.scroll-progress span { display: block; width: 0; height: 100%; background: var(--lime); transition: width .1s linear; }

/* Type & common components */
.eyebrow {
  display: flex; gap: 10px; align-items: center; margin-bottom: 20px; color: var(--green);
  font-family: var(--font-mono); font-size: 10px; font-weight: 500; letter-spacing: .09em; line-height: 1.4; text-transform: uppercase;
}
.eyebrow > span { display: inline-block; width: 24px; height: 1px; background: currentColor; }
.eyebrow--light { color: var(--lime); }
.section-kicker { margin: 0; color: var(--muted); font-family: var(--font-mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.section-heading { margin-bottom: 64px; }
.section-heading h2, .section-intro h2, .faq__intro h2 { max-width: 860px; margin: 0; letter-spacing: -.065em; font-size: clamp(42px, 5.1vw, 78px); font-weight: 700; line-height: .99; }
.section-heading h2 em, .section-intro h2 em, .faq__intro h2 em, .big-idea h2 em, .final-cta h2 em { color: var(--green); font-family: Georgia, "Times New Roman", serif; font-weight: 400; letter-spacing: -.06em; }
.section-heading--split { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(260px, .44fr); gap: 70px; align-items: end; }
.section-heading--split > p { max-width: 385px; margin: 0 0 5px; color: #59655d; font-size: 15px; line-height: 1.75; }
.section--ink .section-heading h2 em { color: var(--lime); }
.section--ink .section-heading--split > p { color: rgba(255,255,255,.65); }

.button {
  display: inline-flex; min-height: 52px; align-items: center; justify-content: center; gap: 16px; padding: 13px 21px;
  border: 1px solid transparent; border-radius: 100px; color: var(--ink); background: var(--lime); font-size: 13px; font-weight: 800; line-height: 1.1; white-space: nowrap;
  transition: background-color .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease), box-shadow .25s var(--ease), transform .25s var(--ease);
}
.button:hover { transform: translateY(-3px); box-shadow: 0 12px 24px rgba(0,0,0,.18); }
.button:active { transform: translateY(0) scale(.98); }
.button--small { min-height: 43px; padding: 10px 17px; font-size: 11px; }
.button--large { min-height: 59px; padding: 16px 26px; font-size: 14px; }
.button--lime { background: var(--lime); }
.button--dark { color: var(--white); background: var(--ink); }
.button--dark:hover { color: var(--ink); background: var(--lime); }
.button--ink { color: var(--lime); background: var(--ink); }
.button--full { width: 100%; }
.button--ghost { color: var(--white); border-color: rgba(255,255,255,.5); background: transparent; }
.button--ghost:hover { color: var(--ink); border-color: var(--lime); background: var(--lime); }
.text-link { display: inline-flex; align-items: center; gap: 14px; border-bottom: 1px solid rgba(7,27,20,.36); padding-bottom: 6px; color: var(--ink); font-size: 13px; font-weight: 800; transition: border-color .2s ease, gap .2s ease; }
.text-link:hover { gap: 20px; border-color: var(--green); }
.text-link--light { border-color: rgba(255,255,255,.42); color: var(--white); }
.round-link { display: grid; place-items: center; width: 54px; height: 54px; flex: 0 0 auto; border: 1px solid var(--line); border-radius: 50%; font-size: 22px; transition: color .2s ease, background .2s ease, transform .2s ease; }
.round-link:hover { color: var(--paper); background: var(--ink); transform: rotate(45deg); }
.round-link--light { border-color: rgba(255,255,255,.38); color: var(--white); }
.round-link--light:hover { color: var(--ink); background: var(--lime); }

/* Header */
.site-header { position: absolute; z-index: 90; top: 0; left: 0; width: 100%; color: var(--white); transition: transform .35s var(--ease), background .35s var(--ease), box-shadow .35s var(--ease); }
.site-header.is-stuck { position: fixed; color: var(--ink); background: rgba(247,247,240,.94); box-shadow: 0 1px 0 var(--line); backdrop-filter: blur(15px); }
.site-header.is-stuck .announcement { display: none; }
.site-header.is-stuck .nav { min-height: 70px; }
.announcement { display: flex; min-height: 36px; align-items: center; justify-content: center; gap: 13px; padding: 6px 24px; color: rgba(255,255,255,.82); border-bottom: 1px solid rgba(255,255,255,.12); background: rgba(0,0,0,.13); font-family: var(--font-mono); font-size: 10px; letter-spacing: .03em; }
.announcement p { display: flex; gap: 10px; align-items: center; margin: 0; }
.announcement strong { color: var(--lime); font-weight: 500; }
.announcement a { color: var(--white); text-decoration: underline; text-underline-offset: 3px; }
.announcement__pulse { width: 6px; height: 6px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 0 5px rgba(199,255,71,.12); }
.nav { display: flex; min-height: 90px; align-items: center; justify-content: space-between; gap: 30px; }
.brand { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 800; letter-spacing: -.08em; line-height: .78; }
.brand__logo { display: block; width: 72px; height: 64px; object-fit: contain; filter: brightness(0) invert(1); transition: filter .35s ease, transform .35s var(--ease); }
.brand:hover .brand__logo { transform: scale(1.035); }
.site-header.is-stuck .brand__logo { filter: none; }
.brand__heart { color: var(--lime); font-size: 24px; letter-spacing: 0; line-height: 1; transform: translateY(-1px); }
.nav__links { display: flex; gap: clamp(20px, 2.3vw, 36px); align-items: center; margin-left: auto; }
.nav__links a { position: relative; padding: 8px 0; font-size: 12px; font-weight: 700; }
.nav__links a::after { position: absolute; right: 0; bottom: 3px; left: 0; height: 1px; content: ""; background: currentColor; transform: scaleX(0); transform-origin: right; transition: transform .25s var(--ease); }
.nav__links a:hover::after { transform: scaleX(1); transform-origin: left; }
.nav__actions { display: flex; align-items: center; gap: 15px; }
.menu-toggle { display: none; width: 42px; height: 42px; padding: 0; border: 1px solid currentColor; border-radius: 50%; color: currentColor; background: transparent; }
.menu-toggle span { display: block; width: 16px; height: 1px; margin: 4px auto; background: currentColor; transition: transform .2s ease; }
.menu-toggle.is-open span:first-child { transform: translateY(2.5px) rotate(45deg); }
.menu-toggle.is-open span:last-child { transform: translateY(-2.5px) rotate(-45deg); }

/* Hero */
.hero { position: relative; min-height: max(740px, 100svh); overflow: hidden; color: var(--white); background: radial-gradient(circle at 77% 39%, #24613e 0, #123a2a 21%, var(--ink) 52%, #061610 100%); }
.hero::before { position: absolute; inset: 0; content: ""; opacity: .55; background: linear-gradient(90deg, rgba(2,18,12,.7) 4%, transparent 52%), linear-gradient(0deg, rgba(2,17,11,.55), transparent 32%); }
.hero__layout { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, .91fr) minmax(420px, .95fr); min-height: max(700px, 100svh); align-items: center; gap: 25px; padding-top: 110px; padding-bottom: 70px; }
.hero__copy { position: relative; z-index: 2; padding-top: 52px; }
.hero h1 { max-width: 720px; margin: 0 0 25px; font-size: clamp(48px, 5.9vw, 94px); font-weight: 700; letter-spacing: -.08em; line-height: .91; }
.hero h1 em { color: var(--lime); font-family: Georgia, "Times New Roman", serif; font-weight: 400; letter-spacing: -.1em; }
.hero__lede { max-width: 555px; margin-bottom: 27px; color: rgba(255,255,255,.72); font-size: clamp(15px, 1.4vw, 18px); line-height: 1.72; }
.hero__details { display: flex; gap: 30px; margin-bottom: 32px; }
.hero__details > div { padding-left: 13px; border-left: 1px solid var(--lime); }
.hero__details span { display: block; margin-bottom: 3px; color: rgba(255,255,255,.56); font-family: var(--font-mono); font-size: 9px; letter-spacing: .08em; }
.hero__details strong { display: block; font-size: 12px; letter-spacing: .03em; }
.hero__actions { display: flex; align-items: center; gap: 30px; }
.hero__note { display: flex; align-items: center; gap: 9px; margin: 30px 0 0; color: rgba(255,255,255,.57); font-size: 11px; }
.hero__note-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--lime); }
.hero__aura { position: absolute; border-radius: 50%; filter: blur(4px); pointer-events: none; }
.hero__aura--one { top: 18%; right: -15%; width: 59vw; height: 59vw; opacity: .22; background: radial-gradient(circle, #a4ff4b 0, rgba(81,232,92,.34) 25%, transparent 65%); animation: breathe 9s ease-in-out infinite alternate; }
.hero__aura--two { right: 20%; bottom: -30%; width: 47vw; height: 47vw; opacity: .28; background: #126d45; filter: blur(90px); }
.hero__mesh { position: absolute; right: -12vw; bottom: -18vw; width: 76vw; height: 72vw; border: 1px solid rgba(199,255,71,.16); border-radius: 45% 55% 50% 50%; transform: rotate(-29deg); }
.hero__visual { position: relative; min-height: 560px; perspective: 900px; }
.hero__orbit { position: absolute; top: 50%; left: 52%; border: 1px solid rgba(199,255,71,.33); border-radius: 50%; transform: translate(-50%, -50%) rotateX(66deg) rotateZ(-14deg); }
.hero__orbit--outer { width: min(640px, 49vw); height: min(640px, 49vw); box-shadow: 0 0 50px rgba(199,255,71,.09), inset 0 0 42px rgba(199,255,71,.05); }
.hero__orbit--inner { width: min(430px, 35vw); height: min(430px, 35vw); border-color: rgba(255,255,255,.25); }
.hero__wordmark { position: absolute; top: 50%; left: 50%; display: flex; align-items: center; justify-content: center; width: 100%; color: var(--lime); font-size: clamp(62px, 8.7vw, 140px); font-weight: 800; letter-spacing: -.13em; line-height: .72; transform: translate(-51%, -49%) rotate(-7deg); text-shadow: 0 0 45px rgba(199,255,71,.26); }
.hero__wordmark-i { margin-right: .02em; color: var(--white); }
.hero__wordmark-heart { margin-right: .04em; color: var(--lime); font-size: .83em; transform: translateY(-.02em); }
.hero__wordmark-hope { color: var(--lime); }
.hero__stamp { position: absolute; display: flex; width: 110px; height: 110px; flex-direction: column; align-items: center; justify-content: center; gap: 3px; border: 1px solid var(--lime); border-radius: 50%; color: var(--lime); font-family: var(--font-mono); font-size: 9px; letter-spacing: .04em; line-height: 1.2; transform: rotate(13deg); }
.hero__stamp::before, .hero__stamp::after { position: absolute; border: 1px dashed rgba(199,255,71,.58); border-radius: 50%; content: ""; }
.hero__stamp::before { inset: 7px; }.hero__stamp::after { inset: 15px; }
.hero__stamp--top { top: 17%; right: 10%; }
.hero__ticket-preview { position: absolute; right: 0; bottom: 5%; width: 156px; min-height: 186px; padding: 18px; border: 1px solid rgba(255,255,255,.48); background: linear-gradient(145deg, rgba(255,255,255,.18), rgba(255,255,255,.04)); backdrop-filter: blur(8px); transform: rotate(9deg); }
.ticket-preview__line { width: 35px; height: 1px; margin-bottom: 47px; background: var(--lime); }
.hero__ticket-preview p { margin-bottom: 32px; font-family: var(--font-mono); font-size: 12px; font-weight: 500; letter-spacing: .03em; line-height: 1.35; }
.hero__ticket-preview span { color: rgba(255,255,255,.64); font-family: var(--font-mono); font-size: 8px; letter-spacing: .08em; }
.hero__vertical { position: absolute; top: 49%; left: 0; margin: 0; color: rgba(255,255,255,.5); font-family: var(--font-mono); font-size: 9px; letter-spacing: .19em; transform: rotate(-90deg) translateX(-50%); transform-origin: left top; }
.hero__marquee { position: absolute; z-index: 2; right: 0; bottom: 0; left: 0; overflow: hidden; border-top: 1px solid rgba(255,255,255,.18); background: rgba(5,19,13,.22); }
.hero__marquee > div { display: flex; width: max-content; align-items: center; gap: 27px; padding: 16px 0; color: rgba(255,255,255,.66); font-family: var(--font-mono); font-size: 9px; letter-spacing: .12em; white-space: nowrap; animation: marquee 35s linear infinite; }
.hero__marquee i { color: var(--lime); font-size: 11px; font-style: normal; }

/* Intro */
.intro-strip { color: var(--ink); background: var(--lime); }
.intro-strip__inner { display: grid; grid-template-columns: 1fr 2fr auto; min-height: 132px; align-items: center; gap: 42px; }
.intro-strip__label { margin: 0; font-family: var(--font-mono); font-size: 10px; letter-spacing: .1em; }
.intro-strip__statement { max-width: 650px; margin: 0; font-size: clamp(21px, 2.2vw, 31px); font-weight: 500; letter-spacing: -.055em; line-height: 1.1; }
.intro-strip__statement strong { font-family: Georgia, "Times New Roman", serif; font-weight: 400; }

/* Emotional section */
.emotion { overflow: hidden; }
.emotion::after { position: absolute; right: -8%; bottom: -24%; width: 46vw; height: 46vw; border: 1px solid rgba(199,255,71,.15); border-radius: 50%; content: ""; }
.emotion__layout { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(300px, .68fr); gap: 11vw; align-items: start; }
.emotion__intro h2 { max-width: 710px; color: var(--white); }
.emotion__interactive { margin-top: 44px; padding: 29px 0 0; border-top: 1px solid var(--line-light); }
.emotion__question { margin-bottom: 22px; color: rgba(255,255,255,.68); font-size: 14px; }
.intent-picker { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
.intent-picker__choice { padding: 10px 15px; border: 1px solid rgba(255,255,255,.31); border-radius: 100px; color: var(--white); background: transparent; font-size: 12px; font-weight: 700; transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease; }
.intent-picker__choice:hover, .intent-picker__choice.is-active { border-color: var(--lime); color: var(--ink); background: var(--lime); }
.intent-picker__choice:active { transform: scale(.96); }
.intent-response { min-height: 88px; margin: 0; color: var(--white); font-size: 17px; line-height: 1.55; transition: opacity .18s ease, transform .18s ease; }
.intent-response.is-changing { opacity: 0; transform: translateY(8px); }
.intent-response strong { color: var(--lime); }
.emotion__fineprint { margin: 17px 0 0; color: rgba(255,255,255,.43); font-size: 10px; }
.emotion__statement { position: relative; z-index: 1; max-width: 965px; margin-top: 130px; }
.emotion__statement > span { display: block; height: 53px; color: var(--lime); font-family: Georgia, serif; font-size: 110px; line-height: 1; }
.emotion__statement p { margin: 0; font-size: clamp(32px, 4.3vw, 62px); font-weight: 500; letter-spacing: -.07em; line-height: 1.08; }
.emotion__statement em { color: var(--lime); font-family: Georgia, serif; font-weight: 400; }

/* Big idea */
.big-idea__top { display: flex; align-items: end; justify-content: space-between; margin-bottom: 38px; }
.big-idea__top .eyebrow { margin: 0; }
.big-idea__headline { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(225px, .42fr); gap: 8vw; align-items: end; padding-bottom: 80px; border-bottom: 1px solid var(--line); }
.big-idea h2 { max-width: 850px; margin: 0; font-size: clamp(48px, 6.5vw, 100px); font-weight: 700; letter-spacing: -.082em; line-height: .92; }
.big-idea__side { padding-bottom: 6px; }
.big-idea__side p { margin: 0; color: #4d5d53; font-size: 14px; line-height: 1.7; }
.big-idea__mark { width: 42px; height: 42px; display: grid; place-items: center; margin-bottom: 20px; color: var(--paper); border-radius: 50%; background: var(--green); font-size: 20px; }
.big-idea__numbers { display: grid; grid-template-columns: repeat(3, 1fr); gap: 45px; padding-top: 32px; }
.big-idea__numbers article { padding: 15px 10px 0 0; }
.big-idea__numbers span, .objections__grid > article > span { color: var(--green); font-family: var(--font-mono); font-size: 10px; letter-spacing: .1em; }
.big-idea__numbers h3 { margin: 31px 0 11px; font-size: 23px; letter-spacing: -.05em; }
.big-idea__numbers p { max-width: 285px; margin: 0; color: #5c695f; font-size: 13px; line-height: 1.7; }

/* Why cards */
.why__grid { display: grid; grid-template-columns: 1.17fr 1fr 1fr; grid-auto-rows: minmax(250px, auto); gap: 12px; }
.why-card { position: relative; min-height: 260px; padding: 27px; overflow: hidden; color: var(--ink); background: var(--paper); transition: transform .35s var(--ease), box-shadow .35s var(--ease); }
.why-card:hover { z-index: 1; transform: translateY(-7px); box-shadow: 0 18px 35px rgba(5,28,17,.12); }
.why-card--featured { grid-row: span 2; padding: 34px; color: var(--white); background: var(--ink); }
.why-card__icon { display: grid; width: 49px; height: 49px; place-items: center; margin-bottom: 95px; border: 1px solid rgba(255,255,255,.5); border-radius: 50%; color: var(--lime); font-size: 20px; }
.why-card__index { margin: 0 0 23px; color: var(--green); font-family: var(--font-mono); font-size: 9px; letter-spacing: .1em; }
.why-card--featured .why-card__index { color: var(--lime); }
.why-card h3 { position: relative; z-index: 1; max-width: 420px; margin: 0; font-size: clamp(21px, 2.1vw, 31px); letter-spacing: -.065em; line-height: 1.06; }
.why-card > p:last-child { position: relative; z-index: 1; max-width: 360px; margin: 19px 0 0; color: rgba(255,255,255,.65); font-size: 13px; line-height: 1.65; }
.why-card__shape { position: absolute; right: -40px; bottom: -50px; width: 190px; height: 190px; border: 1px solid rgba(32,130,78,.35); }
.why-card__shape--circle { border-radius: 50%; box-shadow: inset 0 0 0 29px rgba(199,255,71,.15); }
.why-card__shape--line { right: -18px; bottom: 30px; width: 197px; height: 1px; border: 0; background: var(--green); transform: rotate(-40deg); box-shadow: 0 20px 0 var(--lime), 0 -20px 0 rgba(32,130,78,.45); }
.why-card--quote { color: var(--white); background: var(--green); }
.why-card--quote p { max-width: 260px; margin: 30px 0 0; font-size: 27px; font-weight: 600; letter-spacing: -.06em; line-height: 1.08; }
.why-card--quote span { position: absolute; bottom: 24px; color: var(--lime); font-family: var(--font-mono); font-size: 8px; letter-spacing: .11em; }
.why-card--date { color: var(--ink); background: var(--lime); }
.why-card--date .why-card__index { color: var(--forest); }
.why-card--date > strong { position: relative; z-index: 1; display: block; margin-top: 23px; font-size: clamp(68px, 7vw, 98px); font-weight: 800; letter-spacing: -.1em; line-height: .7; }
.why-card--date > p:nth-of-type(2) { position: relative; z-index: 1; margin: 18px 0 0; color: var(--ink); font-family: var(--font-mono); font-size: 9px; letter-spacing: .12em; line-height: 1.6; }
.why-card__date-orbit { position: absolute; right: -46px; bottom: -62px; width: 200px; height: 200px; border: 1px solid rgba(7,27,20,.35); border-radius: 50%; box-shadow: inset 0 0 0 27px rgba(7,27,20,.05), inset 0 0 0 53px rgba(7,27,20,.05); }

/* Experience */
.experience { min-height: 750px; }
.experience__orb { position: absolute; top: -50%; left: -10%; width: 73vw; height: 73vw; border-radius: 50%; background: radial-gradient(circle at 65% 59%, rgba(199,255,71,.38) 0, rgba(199,255,71,.13) 24%, transparent 62%); filter: blur(4px); }
.experience__layout { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, .84fr) minmax(400px, 1.02fr); gap: 9vw; align-items: center; }
.experience__copy h2 { max-width: 600px; margin: 0 0 25px; font-size: clamp(44px, 5.1vw, 78px); font-weight: 700; letter-spacing: -.077em; line-height: .95; }
.experience__copy h2 em { color: var(--lime); font-family: Georgia, "Times New Roman", serif; font-weight: 400; }
.experience__copy > p:not(.eyebrow) { max-width: 450px; margin-bottom: 30px; color: rgba(255,255,255,.72); font-size: 15px; line-height: 1.75; }
.experience__visual { position: relative; min-height: 530px; overflow: hidden; background: radial-gradient(ellipse at 50% 63%, #91cb43, #1d5136 30%, #0b2d21 70%); box-shadow: inset 0 0 0 1px rgba(255,255,255,.12), var(--shadow); }
.experience__screen { position: absolute; z-index: 2; top: 11%; left: 50%; display: grid; width: 40%; min-width: 180px; aspect-ratio: 1.12; place-items: center; color: var(--lime); border: 1px solid rgba(199,255,71,.7); background: rgba(4,24,15,.78); text-align: center; transform: translateX(-50%) rotateX(10deg); box-shadow: 0 0 55px rgba(199,255,71,.24); }
.experience__screen::after { position: absolute; inset: 8px; border: 1px dashed rgba(199,255,71,.34); content: ""; }
.experience__screen span { position: relative; z-index: 1; font-family: var(--font-mono); font-size: clamp(17px, 2vw, 28px); font-weight: 500; letter-spacing: -.08em; line-height: .9; }
.experience__screen b { color: var(--white); font-weight: 500; }
.experience__crowd { position: absolute; z-index: 3; right: 0; bottom: 0; left: 0; height: 56%; opacity: .93; background-image: radial-gradient(ellipse 6px 9px at 3% 15%, #062218 98%, transparent 100%), radial-gradient(ellipse 7px 10px at 9% 27%, #071d15 98%, transparent 100%), radial-gradient(ellipse 6px 9px at 17% 13%, #082319 98%, transparent 100%), radial-gradient(ellipse 8px 11px at 25% 31%, #071d15 98%, transparent 100%), radial-gradient(ellipse 6px 10px at 33% 9%, #082319 98%, transparent 100%), radial-gradient(ellipse 7px 11px at 41% 25%, #061d14 98%, transparent 100%), radial-gradient(ellipse 8px 12px at 50% 10%, #071d15 98%, transparent 100%), radial-gradient(ellipse 6px 10px at 59% 28%, #082319 98%, transparent 100%), radial-gradient(ellipse 8px 12px at 68% 8%, #071d15 98%, transparent 100%), radial-gradient(ellipse 6px 9px at 77% 26%, #082319 98%, transparent 100%), radial-gradient(ellipse 8px 12px at 86% 12%, #061d14 98%, transparent 100%), radial-gradient(ellipse 7px 10px at 95% 25%, #071d15 98%, transparent 100%); background-size: 75px 65px; background-repeat: repeat; mask-image: linear-gradient(to bottom, transparent, #000 15%); }
.experience__light { position: absolute; z-index: 1; top: -26%; width: 22%; height: 117%; opacity: .38; background: linear-gradient(90deg, transparent, var(--lime), transparent); filter: blur(15px); transform-origin: top center; }
.experience__light--one { left: 23%; transform: rotate(26deg); }.experience__light--two { right: 20%; transform: rotate(-28deg); }
.experience__caption { position: absolute; z-index: 5; right: 19px; bottom: 17px; left: 19px; margin: 0; color: rgba(255,255,255,.52); font-size: 9px; line-height: 1.45; }
.experience__visual--venue { margin: 0; background: #0a251b; }
.experience__visual--venue::after { position: absolute; inset: 0; content: ""; background: linear-gradient(180deg, transparent 38%, rgba(3,20,13,.78) 100%); pointer-events: none; }
.experience__visual--venue > img, .experience__visual--venue > video { display: block; width: 100%; height: 100%; min-height: 530px; object-fit: cover; object-position: center; transition: transform 1.1s var(--ease); }
.experience__visual--venue:hover > img, .experience__visual--venue:hover > video { transform: scale(1.025); }
.experience__venue-badge { position: absolute; z-index: 4; top: 24px; left: 24px; display: flex; flex-direction: column; gap: 4px; padding: 13px 16px; color: var(--ink); background: var(--lime); box-shadow: 0 12px 30px rgba(0,0,0,.18); }
.experience__venue-badge span { font-family: var(--font-mono); font-size: 7px; letter-spacing: .11em; }
.experience__venue-badge strong { font-size: 15px; letter-spacing: -.04em; }
.experience__venue-badge small { color: rgba(7,27,20,.74); font-family: var(--font-mono); font-size: 8px; letter-spacing: .08em; }
.experience__visual--venue .experience__caption { color: rgba(255,255,255,.78); }

/* Speaker tease */
.speakers { overflow: hidden; }
.speakers::before { position: absolute; top: 40px; right: -16%; width: 55vw; height: 55vw; border: 1px solid rgba(199,255,71,.13); border-radius: 50%; content: ""; }
.speakers__heading { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr .42fr; gap: 7vw; align-items: end; }
.speakers__heading h2 { max-width: 760px; color: var(--white); }
.speakers__heading > p { max-width: 325px; margin-bottom: 7px; color: rgba(255,255,255,.6); font-size: 14px; line-height: 1.7; }
.lineup-poster { width: min(100%, 520px); margin: 0 auto 70px; border: 1px solid rgba(255,255,255,.2); background: #0e3023; box-shadow: 0 28px 70px rgba(0,0,0,.24); }
.lineup-poster img { display: block; width: 100%; height: auto; }
.speaker-media-pair { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .7fr); gap: clamp(26px, 4vw, 68px); width: min(100%, 1120px); margin: 0 auto 70px; align-items: start; }
.speaker-media-pair .lineup-poster { width: 100%; margin: 0; }
.speaker-media-pair .launch-film { width: min(100%, 390px); min-height: 0; margin: 0 auto; aspect-ratio: 9 / 16; border: 0; background: transparent; box-shadow: none; }
.speaker-media-pair .launch-film::after { display: none; }
.speaker-media-pair .launch-film > video { object-fit: cover; background: transparent; }
.speaker-tease { position: relative; z-index: 1; display: grid; grid-template-columns: .68fr .87fr .87fr 1.65fr; min-height: 400px; align-items: end; overflow: hidden; border-top: 1px solid var(--line-light); }
.speaker-tease__portrait { position: relative; min-height: 315px; overflow: hidden; border-right: 1px solid var(--line-light); background: linear-gradient(145deg, #386e51, #1a4533); }
.speaker-tease__portrait::before { position: absolute; bottom: -13%; left: 50%; width: 82%; aspect-ratio: .62; border: 1px solid rgba(199,255,71,.31); border-radius: 50% 50% 8% 8%; content: ""; transform: translateX(-50%); }
.speaker-tease__portrait::after { position: absolute; top: 21%; left: 50%; width: 36%; aspect-ratio: 1; border-radius: 50%; content: ""; background: var(--ink); box-shadow: 0 73px 0 36px var(--ink); transform: translateX(-50%); }
.speaker-tease__portrait span { position: absolute; z-index: 2; top: 21px; left: 22px; color: var(--lime); font-family: Georgia, serif; font-size: 33px; }
.speaker-tease__portrait--two { min-height: 377px; background: linear-gradient(145deg, #20513c, #0e2d20); }.speaker-tease__portrait--two::before { border-color: rgba(255,255,255,.3); }.speaker-tease__portrait--two::after { background: var(--lime); box-shadow: 0 73px 0 36px var(--lime); }
.speaker-tease__portrait--three { min-height: 337px; background: linear-gradient(145deg, #76a142, #2b6845); }.speaker-tease__portrait--three::after { background: #133726; box-shadow: 0 73px 0 36px #133726; }
.speaker-tease__copy { display: flex; min-height: 400px; flex-direction: column; align-items: flex-start; justify-content: center; padding: 42px; background: #0f3425; }
.speaker-tease__line { width: 36px; height: 1px; margin-bottom: 26px; background: var(--lime); }
.speaker-tease__copy > p { margin: 0 0 29px; color: var(--white); font-size: clamp(20px, 2.2vw, 31px); font-weight: 700; letter-spacing: -.07em; line-height: .98; }
.speaker-tease__copy strong { color: var(--lime); }
.confirmed-lineup { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.lineup-card { position: relative; min-width: 0; overflow: hidden; border: 1px solid var(--line-light); background: #0e3023; transition: transform .35s var(--ease), border-color .35s var(--ease), box-shadow .35s var(--ease); }
.lineup-card:hover { z-index: 2; border-color: rgba(199,255,71,.65); box-shadow: 0 25px 50px rgba(0,0,0,.24); transform: translateY(-7px); }
.lineup-card > img { display: block; width: 100%; height: auto; aspect-ratio: auto; object-fit: contain; object-position: top center; }
.lineup-card > div { min-height: 120px; padding: 18px 20px 20px; border-top: 1px solid var(--line-light); }
.lineup-card > div > span { color: var(--lime); font-family: var(--font-mono); font-size: 8px; letter-spacing: .1em; text-transform: uppercase; }
.lineup-card h3 { margin: 8px 0 4px; color: var(--white); font-size: 22px; letter-spacing: -.055em; line-height: 1.05; }
.lineup-card p { margin: 0; color: rgba(255,255,255,.58); font-size: 11px; line-height: 1.5; }
.lineup-card--locked { border-color: rgba(199,255,71,.25); background: #0a251b; }
.lineup-card--locked > img { filter: brightness(.5) saturate(.62); transition: filter .35s ease, transform .6s var(--ease); }
.lineup-card--locked::after { position: absolute; z-index: 1; inset: 0 0 120px; content: ""; background: linear-gradient(180deg, rgba(7,27,20,.12), rgba(7,27,20,.34) 70%, rgba(7,27,20,.72)); pointer-events: none; }
.lineup-card--locked:hover > img { filter: brightness(.62) saturate(.74); transform: scale(1.02); }
.lineup-card--locked > div { position: relative; z-index: 2; }
.lineup-card--locked h3 { max-width: 220px; color: var(--lime); font-size: 16px; letter-spacing: .01em; line-height: 1.1; }
.cast-subsection { margin-top: 102px; padding-top: 55px; border-top: 1px solid var(--line-light); }
.cast-subsection--music { margin-top: 84px; }
.cast-subsection__heading { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; margin-bottom: 29px; text-align: center; }
.cast-subsection__heading .eyebrow { justify-content: center; margin: 0; }
.cast-subsection__heading h3 { margin: 0; color: var(--white); font-size: clamp(28px, 3.8vw, 50px); letter-spacing: -.075em; line-height: .95; }
.host-grid, .music-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 260px)); justify-content: center; gap: clamp(28px, 5vw, 74px); max-width: none; }
.host-card, .music-card { display: block; min-width: 0; overflow: visible; border: 0; background: transparent; transition: transform .35s var(--ease); }
.host-card:hover, .music-card:hover { box-shadow: none; transform: translateY(-6px); }
.host-card__visual, .music-card__visual { position: relative; min-height: 0; overflow: visible; background: transparent; }
.host-card__visual::after, .music-card__visual::after { display: none; }
.host-card__visual img, .music-card__visual img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: contain; object-position: top center; }
.host-card__visual--monogram { display: grid; aspect-ratio: 4 / 5; place-items: center; align-content: center; gap: 8px; color: var(--lime); background: radial-gradient(circle at 50% 35%, rgba(199,255,71,.3), transparent 40%), #0b2b20; }
.host-card__visual--monogram::before { position: absolute; width: 145px; aspect-ratio: 1; border: 1px solid rgba(199,255,71,.45); border-radius: 50%; box-shadow: inset 0 0 0 20px rgba(199,255,71,.06), 0 0 0 28px rgba(199,255,71,.06); content: ""; }
.host-card__visual--monogram strong, .host-card__visual--monogram span { position: relative; z-index: 1; }
.host-card__visual--monogram strong { font-family: Georgia, serif; font-size: 66px; font-weight: 400; letter-spacing: -.1em; line-height: .8; }
.host-card__visual--monogram span { font-family: var(--font-mono); font-size: 8px; letter-spacing: .13em; }
.host-card__copy, .music-card__copy { display: flex; min-width: 0; flex-direction: column; justify-content: center; padding: 26px; }
.host-card__copy > span, .music-card__copy > span { color: var(--lime); font-family: var(--font-mono); font-size: 8px; letter-spacing: .1em; text-transform: uppercase; }
.host-card h4, .music-card h4 { margin: 9px 0 5px; color: var(--white); font-size: clamp(21px, 2.2vw, 30px); letter-spacing: -.065em; line-height: 1; }
.host-card p, .music-card p { margin: 0; color: rgba(255,255,255,.58); font-size: 11px; line-height: 1.55; }
.music-card { border: 0; background: transparent; }
.music-card__visual { min-height: 0; }
.music-card__copy { padding: 28px; }
.music-card--locked .music-card__visual img { filter: none; }
.music-card--locked .music-card__visual::before { display: none; }
.music-card--locked h4 { color: var(--lime); font-size: 17px; letter-spacing: .01em; }
.cast-launch-film { margin-top: 52px; border: 0; }
.launch-film { position: relative; z-index: 1; width: 100%; aspect-ratio: 16 / 8.2; margin: 0 0 18px; overflow: hidden; border: 1px solid var(--line-light); background: #061810; }
.launch-film::after { position: absolute; z-index: 2; inset: 0; content: ""; background: linear-gradient(90deg, rgba(4,24,15,.85), rgba(4,24,15,.08) 67%), linear-gradient(0deg, rgba(4,24,15,.54), transparent 45%); pointer-events: none; transition: opacity .25s ease; }
.launch-film > img, .launch-film > video { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
.launch-film > img { filter: saturate(.83) contrast(1.03); transition: transform 1s var(--ease), filter .35s ease; }
.launch-film:hover > img { filter: saturate(1) contrast(1.03); transform: scale(1.02); }
.launch-film > video { z-index: 3; object-fit: contain; opacity: 1; background: #061810; transition: opacity .2s ease; }
.launch-film.is-playing::after { opacity: 0; }
.launch-film__overlay { position: absolute; z-index: 4; bottom: 34px; left: 35px; display: flex; flex-direction: column; align-items: flex-start; gap: 17px; }
.launch-film__overlay > span { color: var(--lime); font-family: var(--font-mono); font-size: 8px; letter-spacing: .12em; }
.launch-film__overlay button { display: flex; align-items: center; gap: 13px; padding: 0; border: 0; color: var(--white); background: transparent; font-family: var(--font-mono); font-size: 10px; font-weight: 700; letter-spacing: .08em; }
.launch-film__overlay i { display: grid; width: 58px; height: 58px; place-items: center; padding-left: 3px; border: 1px solid rgba(255,255,255,.68); border-radius: 50%; background: rgba(7,27,20,.56); font-size: 14px; font-style: normal; backdrop-filter: blur(7px); transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease; }
.launch-film__overlay button:hover i { color: var(--ink); border-color: var(--lime); background: var(--lime); transform: scale(1.07); }
.launch-film.is-loading .launch-film__overlay, .launch-film.is-playing .launch-film__overlay { display: none; }
.launch-film__loading { position: absolute; z-index: 5; top: 50%; left: 50%; display: none; color: var(--lime); font-family: var(--font-mono); font-size: 9px; letter-spacing: .12em; transform: translate(-50%, -50%); }
.launch-film.is-loading .launch-film__loading { display: block; }

/* Previous-edition video proof */
.reel-proof { --reel-gap: 16px; position: relative; isolation: isolate; background: #123d2b; }
.reel-proof__glow { position: absolute; z-index: -1; top: -25vw; right: -18vw; width: 66vw; height: 66vw; border-radius: 50%; background: radial-gradient(circle, rgba(199,255,71,.3), transparent 62%); filter: blur(24px); }
.reel-proof__heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, .36fr); gap: 7vw; align-items: end; margin-bottom: 48px; }
.reel-proof__heading h2 { max-width: 860px; margin: 0; color: var(--white); font-size: clamp(48px, 6.2vw, 92px); font-weight: 700; letter-spacing: -.08em; line-height: .92; }
.reel-proof__heading h2 em { color: var(--lime); font-family: Georgia, "Times New Roman", serif; font-weight: 400; }
.reel-proof__heading > p { max-width: 360px; margin: 0 0 6px; color: rgba(255,255,255,.68); font-size: 14px; line-height: 1.75; }
.reel-carousel { position: relative; }
.reel-carousel__controls { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.reel-carousel__controls > p { margin: 0; color: rgba(255,255,255,.52); font-family: var(--font-mono); font-size: 9px; letter-spacing: .1em; }
.reel-carousel__controls > p span:first-child { color: var(--lime); }
.reel-carousel__controls > div { display: flex; gap: 8px; }
.reel-carousel__controls button { display: grid; width: 44px; height: 44px; place-items: center; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; color: var(--white); background: transparent; transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease; }
.reel-carousel__controls button:hover { color: var(--ink); border-color: var(--lime); background: var(--lime); transform: scale(1.05); }
.reel-track { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--reel-gap); width: min(100%, 1120px); margin-inline: auto; }
.reel-card { min-width: 0; }
.reel-card__media { position: relative; aspect-ratio: 9 / 16; overflow: hidden; border: 1px solid rgba(255,255,255,.17); background: #061810; }
.reel-card__media > img, .reel-card__player { position: absolute; inset: 0; display: block; width: 100%; height: 100%; background: #061810; }
.reel-card__media > img { object-fit: cover; }
.reel-card__media > img { transition: transform .6s var(--ease), filter .35s ease; }
.reel-card:hover .reel-card__media > img { transform: scale(1.018); }
.reel-card__player { z-index: 2; border: 0; opacity: 0; transition: opacity .22s ease; }
.reel-card.is-playing .reel-card__player { opacity: 1; }
.reel-card__media::after { position: absolute; z-index: 3; right: 0; bottom: 0; left: 0; height: 32%; content: ""; background: linear-gradient(transparent, rgba(3,18,11,.74)); pointer-events: none; }
.reel-card.is-playing .reel-card__media::after { opacity: 0; }
.reel-card__edition { position: absolute; z-index: 4; top: 14px; left: 14px; padding: 7px 9px; color: var(--lime); border: 1px solid rgba(199,255,71,.45); background: rgba(4,24,15,.62); font-family: var(--font-mono); font-size: 7px; letter-spacing: .09em; backdrop-filter: blur(6px); }
.reel-card__play { position: absolute; z-index: 5; top: 50%; left: 50%; display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 0; border: 0; color: var(--white); background: transparent; transform: translate(-50%, -50%); }
.reel-card__play i { display: grid; width: 68px; height: 68px; place-items: center; padding-left: 4px; border: 1px solid rgba(255,255,255,.72); border-radius: 50%; background: rgba(7,27,20,.56); box-shadow: 0 14px 35px rgba(0,0,0,.28); font-size: 16px; font-style: normal; backdrop-filter: blur(8px); transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease; }
.reel-card__play span { font-family: var(--font-mono); font-size: 8px; letter-spacing: .11em; white-space: nowrap; }
.reel-card__play:hover i { color: var(--ink); border-color: var(--lime); background: var(--lime); transform: scale(1.08); }
.reel-card.is-playing .reel-card__play, .reel-card.is-playing .reel-card__edition { display: none; }
.reel-card__loading { position: absolute; z-index: 6; top: 50%; left: 50%; display: none; color: var(--lime); font-family: var(--font-mono); font-size: 8px; letter-spacing: .1em; transform: translate(-50%, -50%); }
.reel-card.is-loading .reel-card__loading { display: block; }
.reel-card.is-loading .reel-card__play { display: none; }
.reel-card__meta { display: flex; align-items: baseline; gap: 13px; padding: 18px 2px 4px; }
.reel-card__meta > span { color: var(--lime); font-family: var(--font-mono); font-size: 8px; letter-spacing: .08em; }
.reel-card__meta h3 { margin: 0; color: var(--white); font-size: 17px; letter-spacing: -.035em; line-height: 1.2; }
.reel-proof__footer { display: flex; align-items: center; justify-content: space-between; gap: 35px; margin-top: 62px; padding-top: 32px; border-top: 1px solid rgba(255,255,255,.2); }
.reel-proof__footer p { margin: 0; color: var(--white); font-size: clamp(24px, 3vw, 41px); font-weight: 600; letter-spacing: -.06em; line-height: 1; }

/* Hall map & tickets */
.hall__heading { margin-bottom: 65px; }
.hall__experience { display: grid; grid-template-columns: minmax(0, 1.28fr) minmax(305px, .56fr); min-height: 590px; overflow: hidden; background: #0b2c20; box-shadow: 0 20px 60px rgba(5,27,17,.16); }
.hall-map { position: relative; overflow: hidden; padding: 31px 38px 26px; color: var(--white); background: radial-gradient(ellipse at 50% 4%, #2d7b4c, #133c2b 36%, #0a251b 82%); }
.hall-map::before { position: absolute; inset: 0; opacity: .6; content: ""; background: linear-gradient(90deg, rgba(199,255,71,.04) 1px, transparent 1px), linear-gradient(rgba(199,255,71,.04) 1px, transparent 1px); background-size: 26px 26px; mask-image: linear-gradient(to bottom, #000, transparent); }
.hall-map__orientation { position: relative; z-index: 2; margin: 0; color: rgba(255,255,255,.56); font-family: var(--font-mono); font-size: 8px; letter-spacing: .1em; text-align: center; }
.hall-map__stage { position: relative; z-index: 2; display: flex; width: min(72%, 452px); height: 72px; flex-direction: column; align-items: center; justify-content: center; gap: 3px; margin: 14px auto 0; color: var(--lime); border: 1px solid var(--lime); background: rgba(6,30,20,.69); box-shadow: 0 0 40px rgba(199,255,71,.25); transform: perspective(420px) rotateX(-15deg); }
.hall-map__stage::before { position: absolute; top: -7px; right: 7%; left: 7%; height: 5px; border: 1px solid rgba(199,255,71,.45); border-bottom: 0; content: ""; }
.hall-map__stage span { font-family: var(--font-mono); font-size: 12px; letter-spacing: .16em; }.hall-map__stage small { color: rgba(255,255,255,.6); font-family: var(--font-mono); font-size: 7px; letter-spacing: .14em; }
.hall-map__speaker-zone { position: relative; z-index: 3; display: grid; width: min(58%, 365px); min-height: 58px; place-items: center; gap: 4px; margin: 8px auto 0; padding: 8px 24px 7px; color: var(--white); border: 1px dashed rgba(255,255,255,.5); background: rgba(255,255,255,.055); }
.hall-map__speaker-zone > span { color: var(--lime); font-family: var(--font-mono); font-size: 8px; letter-spacing: .11em; }
.hall-map__speaker-zone > div { display: flex; align-items: center; justify-content: center; gap: clamp(8px, 1.2vw, 15px); }
.hall-map__speaker-zone i { position: relative; display: block; width: 10px; height: 10px; border: 1px solid var(--lime); border-radius: 50%; }
.hall-map__speaker-zone i::after { position: absolute; top: 11px; left: 1px; width: 6px; height: 3px; border: 1px solid rgba(199,255,71,.68); border-top: 0; content: ""; }
.hall-map__speaker-zone small { color: rgba(255,255,255,.54); font-family: var(--font-mono); font-size: 6px; letter-spacing: .12em; }
.hall-map__room { position: relative; z-index: 2; width: min(82%, 640px); height: 313px; margin: 9px auto 0; transform: perspective(800px) rotateX(2deg); }
.map-zone { position: absolute; display: flex; width: 100%; align-items: center; justify-content: center; border: 1px solid color-mix(in srgb, var(--zone) 70%, transparent); color: var(--white); background: color-mix(in srgb, var(--zone) 14%, transparent); isolation: isolate; transition: opacity .26s var(--ease), filter .26s var(--ease), transform .26s var(--ease), background .26s var(--ease), box-shadow .26s var(--ease); }
.map-zone::before { position: absolute; z-index: -1; inset: 9px; border: 1px solid color-mix(in srgb, var(--zone) 42%, transparent); content: ""; clip-path: inherit; }
.map-zone:hover, .map-zone:focus-visible, .map-zone.is-selected { outline: 0; color: var(--ink); background: var(--zone); box-shadow: 0 0 0 1px var(--zone), 0 0 34px color-mix(in srgb, var(--zone) 48%, transparent); filter: saturate(1.3); }
.map-zone:hover, .map-zone:focus-visible { transform: translateY(-3px); }
.hall-map.has-selection .map-zone:not(.is-selected) { opacity: .3; filter: grayscale(.35); }
.map-zone--advanced { --zone: var(--advanced); top: 0; left: 26%; width: 48%; height: 30%; clip-path: polygon(13% 0, 87% 0, 100% 100%, 0 100%); }
.map-zone--medium { --zone: var(--medium); top: 32%; left: 16%; width: 68%; height: 30%; clip-path: polygon(8% 0, 92% 0, 100% 100%, 0 100%); }
.map-zone--entry { --zone: var(--entry); top: 65%; left: 3%; width: 94%; height: 35%; clip-path: polygon(4% 0, 96% 0, 100% 100%, 0 100%); }
.map-zone__seats { position: absolute; inset: 10px; z-index: -1; opacity: .8; background-image: radial-gradient(circle, currentColor 1.1px, transparent 1.8px); background-size: 15px 15px; mask-image: linear-gradient(to bottom, transparent 0 5px, #000 6px); }
.map-zone:not(.is-selected) .map-zone__seats { color: var(--zone); }.map-zone.is-selected .map-zone__seats, .map-zone:hover .map-zone__seats { color: rgba(7,27,20,.65); }
.map-zone__tag { position: relative; z-index: 1; font-family: var(--font-mono); font-size: clamp(10px, 1vw, 13px); font-weight: 500; letter-spacing: .11em; text-shadow: 0 1px 6px rgba(0,0,0,.35); }
.map-zone:hover .map-zone__tag, .map-zone.is-selected .map-zone__tag { text-shadow: none; }
.map-zone__position { position: absolute; z-index: 1; bottom: 10px; font-size: 8px; font-weight: 700; letter-spacing: .04em; opacity: .7; }
.map-zone__tooltip { position: absolute; z-index: 4; top: 50%; left: calc(100% + 12px); width: 175px; padding: 9px 10px; color: var(--white); background: var(--ink); box-shadow: 0 9px 20px rgba(0,0,0,.2); font-family: var(--font-mono); font-size: 9px; letter-spacing: .02em; line-height: 1.45; opacity: 0; pointer-events: none; transform: translateY(-50%) translateX(-5px); transition: opacity .18s ease, transform .18s ease; }
.map-zone:hover .map-zone__tooltip, .map-zone:focus-visible .map-zone__tooltip { opacity: 1; transform: translateY(-50%) translateX(0); }
.map-zone--medium .map-zone__tooltip { left: auto; right: calc(100% + 12px); }
.hall-map__legend { position: absolute; z-index: 3; bottom: 20px; left: 28px; display: flex; gap: 15px; color: rgba(255,255,255,.65); font-family: var(--font-mono); font-size: 8px; letter-spacing: .05em; }
.hall-map__legend span { display: flex; align-items: center; gap: 6px; }.legend-dot { width: 7px; height: 7px; border-radius: 50%; }.legend-dot--advanced { background: var(--advanced); }.legend-dot--medium { background: var(--medium); }.legend-dot--entry { background: var(--entry); }

.ticket-focus { display: flex; min-height: 100%; flex-direction: column; justify-content: center; padding: 42px; color: var(--white); background: #123d2b; }
.ticket-focus__eyebrow { margin: 0 0 17px; color: var(--lime); font-family: var(--font-mono); font-size: 9px; letter-spacing: .1em; }
.ticket-focus__empty { max-width: 240px; margin: 0; color: rgba(255,255,255,.7); font-size: 24px; font-weight: 600; letter-spacing: -.06em; line-height: 1.12; }
.ticket-focus__topline { display: flex; align-items: center; gap: 8px; margin-bottom: 26px; color: rgba(255,255,255,.8); font-family: var(--font-mono); font-size: 9px; letter-spacing: .1em; }
.ticket-focus__dot { display: inline-block; width: 10px; height: 10px; flex: 0 0 auto; border-radius: 50%; background: var(--lime); box-shadow: 0 0 0 4px rgba(199,255,71,.14); }
.ticket-focus__status { margin-left: auto; padding: 5px 6px; color: var(--lime); border: 1px solid rgba(199,255,71,.37); font-size: 7px; letter-spacing: .05em; }
.ticket-focus h3 { margin: 0 0 7px; color: var(--white); font-size: 44px; letter-spacing: -.08em; line-height: 1; }
.ticket-focus__position { margin: 0 0 21px; color: rgba(255,255,255,.68); font-size: 13px; }
.ticket-focus__price { margin: 0 0 24px; color: var(--lime); font-family: Georgia, serif; font-size: 31px; letter-spacing: -.05em; line-height: 1; }
.ticket-focus__benefits { display: grid; gap: 10px; padding: 0; margin: 0 0 28px; list-style: none; }
.ticket-focus__benefits li { display: flex; gap: 9px; color: rgba(255,255,255,.77); font-size: 12px; line-height: 1.4; }.ticket-focus__benefits li::before { color: var(--lime); content: "↗"; }
.ticket-focus__note { margin: 15px 0 0; color: rgba(255,255,255,.46); font-size: 9px; line-height: 1.55; }

.ticket-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 13px; }
.ticket-card { position: relative; min-height: 300px; padding: 27px; overflow: hidden; border: 1px solid var(--line); background: rgba(255,255,255,.42); transition: transform .3s var(--ease), color .3s var(--ease), background .3s var(--ease), box-shadow .3s var(--ease); }
.ticket-card:hover, .ticket-card.is-selected { color: var(--white); border-color: var(--ink); background: var(--ink); box-shadow: 0 18px 28px rgba(7,27,20,.14); transform: translateY(-6px); }
.ticket-card::after { position: absolute; right: -48px; bottom: -70px; width: 190px; height: 190px; border: 1px solid currentColor; border-radius: 50%; content: ""; opacity: .11; }
.ticket-card__top { display: flex; align-items: center; justify-content: space-between; color: var(--muted); font-family: var(--font-mono); font-size: 9px; letter-spacing: .1em; }
.ticket-card.is-selected .ticket-card__top { color: rgba(255,255,255,.61); }.ticket-card__mini-dot { width: 9px; height: 9px; border-radius: 50%; }.ticket-card__mini-dot--entry { background: var(--entry); }.ticket-card__mini-dot--medium { background: var(--medium); }.ticket-card__mini-dot--advanced { background: var(--advanced); }
.ticket-card__label { margin: 45px 0 8px; color: var(--green); font-family: var(--font-mono); font-size: 9px; letter-spacing: .1em; }.ticket-card.is-selected .ticket-card__label { color: var(--lime); }
.ticket-card h3 { margin: 0; font-size: 37px; letter-spacing: -.08em; line-height: 1; }.ticket-card__price { margin: 12px 0; color: var(--green); font-family: Georgia, serif; font-size: 20px; }.ticket-card.is-selected .ticket-card__price { color: var(--lime); }
.ticket-card__copy { position: relative; z-index: 1; max-width: 245px; min-height: 44px; margin: 0; color: #5b665e; font-size: 12px; line-height: 1.55; }.ticket-card.is-selected .ticket-card__copy { color: rgba(255,255,255,.65); }
.ticket-card__select { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 11px; margin-top: 23px; padding: 0 0 3px; border: 0; border-bottom: 1px solid currentColor; color: inherit; background: transparent; font-size: 11px; font-weight: 800; }.ticket-card__select:hover { gap: 16px; }
.ticket-card__benefits { position: relative; z-index: 1; display: grid; gap: 7px; min-height: 45px; padding: 0; margin: 15px 0 0; color: #4f5e54; font-size: 10px; line-height: 1.4; list-style: none; }
.ticket-card__benefits li { display: flex; gap: 7px; }.ticket-card__benefits li::before { color: var(--green); content: "↗"; }
.ticket-card:hover .ticket-card__benefits, .ticket-card.is-selected .ticket-card__benefits { color: rgba(255,255,255,.72); }.ticket-card:hover .ticket-card__benefits li::before, .ticket-card.is-selected .ticket-card__benefits li::before { color: var(--lime); }
.ticket-card__limit { position: absolute; z-index: 2; top: 24px; right: 48px; margin: 0; padding: 5px 7px; color: var(--ink); border: 1px solid var(--advanced); background: var(--advanced); font-family: var(--font-mono); font-size: 7px; font-weight: 700; letter-spacing: .07em; }
.ticket-card__availability { position: absolute; z-index: 2; top: 24px; right: 48px; margin: 0; padding: 5px 7px; color: var(--green); border: 1px solid rgba(32,130,78,.45); font-family: var(--font-mono); font-size: 7px; font-weight: 700; letter-spacing: .07em; }.ticket-card:hover .ticket-card__availability, .ticket-card.is-selected .ticket-card__availability { color: var(--lime); border-color: rgba(199,255,71,.45); }

/* Comparison */
.comparison__heading { margin-bottom: 48px; }.comparison__heading .eyebrow { margin-bottom: 18px; }.comparison__heading h2 { max-width: 650px; }
.comparison__table-wrap { overflow-x: auto; border-top: 1px solid var(--line); }
.comparison table { width: 100%; min-width: 680px; border-collapse: collapse; text-align: left; }
.comparison th, .comparison td { padding: 21px 20px; border-bottom: 1px solid var(--line); font-size: 13px; }.comparison thead th { padding-top: 28px; color: var(--green); font-size: 14px; font-weight: 800; }.comparison thead th:first-child { color: var(--muted); font-family: var(--font-mono); font-size: 9px; font-weight: 400; letter-spacing: .1em; text-transform: uppercase; }.comparison tbody th { width: 31%; color: #526158; font-size: 12px; font-weight: 600; }.comparison td { color: #4f5e54; }.table-check { display: inline-grid; width: 20px; height: 20px; place-items: center; border-radius: 50%; color: var(--green); background: rgba(32,130,78,.14); font-size: 11px; }.comparison__actions td { padding-top: 17px; padding-bottom: 25px; }.comparison__actions button { padding: 0 0 4px; border: 0; border-bottom: 1px solid var(--green); color: var(--ink); background: transparent; font-size: 11px; font-weight: 800; }.comparison__actions button span { display: inline-block; margin-left: 7px; transition: transform .25s var(--ease); }.comparison__actions button:hover { color: var(--green); }.comparison__actions button:hover span { transform: translate(3px, -2px); }.comparison__note { margin: 19px 0 0; color: var(--muted); font-size: 10px; }

/* LOVE dinner */
.love-dinner { position: relative; overflow: hidden; background: linear-gradient(135deg, #061a12 0%, #0b2f20 58%, #123d2b 100%); }
.love-dinner__glow { position: absolute; top: -25%; right: -10%; width: 52vw; height: 52vw; border-radius: 50%; background: radial-gradient(circle, rgba(199,255,71,.2), transparent 66%); filter: blur(14px); pointer-events: none; }
.love-dinner__layout { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, .88fr) minmax(430px, 1.12fr); gap: clamp(48px, 8vw, 120px); align-items: center; }
.love-dinner__copy h2 { max-width: 720px; margin: 0 0 28px; color: var(--white); font-size: clamp(52px, 6.8vw, 102px); letter-spacing: -.085em; line-height: .9; }
.love-dinner__copy > p:not(.eyebrow) { max-width: 620px; color: rgba(255,255,255,.7); font-size: 14px; line-height: 1.75; }
.love-dinner__copy .love-dinner__statement { margin: 25px 0 0; padding: 20px 0 20px 22px; color: var(--white); border-left: 2px solid var(--lime); font-size: 18px; font-weight: 700; letter-spacing: -.03em; line-height: 1.45; }
.love-dinner__copy .love-dinner__limit { margin: 23px 0 27px; color: var(--lime); font-family: var(--font-mono); font-size: 10px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.love-dinner__visual { position: relative; min-height: 720px; }
.love-dinner__visual::before { position: absolute; right: 3%; bottom: 7%; width: 82%; height: 42%; border: 1px solid rgba(199,255,71,.22); border-radius: 50%; content: ""; box-shadow: 0 0 0 28px rgba(199,255,71,.035), 0 0 0 62px rgba(199,255,71,.025); transform: rotate(-8deg); }
.love-dinner__portrait { position: absolute; width: 58%; aspect-ratio: 1.12 / 1; margin: 0; overflow: hidden; border: 1px solid rgba(199,255,71,.42); background: #0b2b20; box-shadow: 0 34px 80px rgba(0,0,0,.42); }
.love-dinner__portrait img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.love-dinner__portrait figcaption { position: absolute; right: 0; bottom: 0; left: 0; display: flex; flex-direction: column; gap: 3px; padding: 22px; color: var(--white); background: linear-gradient(0deg, rgba(4,19,12,.96), rgba(4,19,12,.05)); }
.love-dinner__portrait figcaption strong { font-size: 20px; letter-spacing: -.045em; }.love-dinner__portrait figcaption span { color: rgba(255,255,255,.68); font-size: 10px; }
.love-dinner__portrait--first { z-index: 1; top: 0; left: 0; transform: rotate(-3deg); }.love-dinner__portrait--second { z-index: 2; right: 0; bottom: 52px; transform: rotate(3.5deg); }
.love-dinner__disclaimer { position: absolute; z-index: 3; right: 0; bottom: 0; max-width: 330px; margin: 0; padding: 11px 14px; color: rgba(255,255,255,.62); background: rgba(7,27,20,.92); font-size: 9px; line-height: 1.5; backdrop-filter: blur(8px); }

/* Proof */
.proof { overflow: hidden; }.proof::before { position: absolute; bottom: -44%; left: -10%; width: 54vw; height: 54vw; border: 1px solid rgba(199,255,71,.12); border-radius: 50%; content: ""; }
.proof__layout { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, .8fr) minmax(390px, .95fr); gap: 12vw; align-items: center; }.proof__copy h2 { max-width: 590px; margin: 0 0 27px; color: var(--white); font-size: clamp(44px, 4.7vw, 70px); letter-spacing: -.077em; line-height: .97; }.proof__copy > p:not(.eyebrow) { max-width: 465px; margin: 0; color: rgba(255,255,255,.63); font-size: 14px; line-height: 1.75; }
.proof__wall { position: relative; display: flex; min-height: 430px; flex-direction: column; justify-content: center; padding: 49px; overflow: hidden; border: 1px solid rgba(199,255,71,.44); color: var(--lime); background: linear-gradient(135deg, rgba(199,255,71,.12), rgba(199,255,71,.025)); }.proof__wall::after { position: absolute; right: -12%; bottom: -16%; width: 290px; height: 290px; border: 1px solid var(--lime); border-radius: 50%; content: ""; }.proof__wall-grid { position: absolute; inset: 0; opacity: .4; background: linear-gradient(rgba(199,255,71,.2) 1px, transparent 1px), linear-gradient(90deg, rgba(199,255,71,.2) 1px, transparent 1px); background-size: 28px 28px; mask-image: linear-gradient(130deg, #000, transparent 76%); }.proof__wall-label { position: relative; margin-bottom: 48px; font-family: var(--font-mono); font-size: 9px; letter-spacing: .14em; }.proof__wall p { position: relative; z-index: 1; margin: 0; color: var(--white); font-size: clamp(24px, 2.5vw, 36px); font-weight: 600; letter-spacing: -.06em; line-height: 1.04; }.proof__wall-foot { position: absolute; z-index: 1; bottom: 28px; color: rgba(199,255,71,.7); font-family: var(--font-mono); font-size: 8px; letter-spacing: .09em; }

/* Objections */
.objections__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border-top: 1px solid var(--line); }.objections__grid > article { min-height: 283px; padding: 31px 36px 30px 0; border-right: 1px solid var(--line); }.objections__grid > article + article { padding-left: 36px; }.objections__grid > article:last-child { border-right: 0; }.objections__grid h3 { max-width: 280px; margin: 61px 0 14px; font-size: 24px; letter-spacing: -.06em; line-height: 1.08; }.objections__grid p { max-width: 305px; margin: 0; color: #59665d; font-size: 12px; line-height: 1.7; }

/* FAQ */
.faq__layout { display: grid; grid-template-columns: minmax(260px, .64fr) minmax(460px, 1.1fr); gap: 11vw; }.faq__intro h2 { margin-bottom: 31px; }.faq__list { border-top: 1px solid var(--line); }.faq details { border-bottom: 1px solid var(--line); }.faq summary { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 22px 0; cursor: pointer; font-size: 16px; font-weight: 700; letter-spacing: -.025em; list-style: none; }.faq summary::-webkit-details-marker { display: none; }.faq summary span { display: inline-grid; width: 25px; height: 25px; flex: 0 0 auto; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--green); font-size: 20px; font-weight: 400; line-height: 1; transition: background .2s ease, color .2s ease, transform .2s ease; }.faq details[open] summary span { color: var(--paper); background: var(--green); transform: rotate(45deg); }.faq details p { max-width: 600px; margin: -3px 45px 22px 0; color: #59665d; font-size: 13px; line-height: 1.72; }

/* Final, footer, sticky bar */
.final-cta { position: relative; padding: 96px 0; }.final-cta__lines { position: absolute; inset: 0; opacity: .55; background: repeating-linear-gradient(90deg, transparent 0 9.7%, rgba(7,27,20,.3) 9.7% 9.8%, transparent 9.8% 20%); }.final-cta__layout { position: relative; z-index: 1; display: flex; align-items: end; justify-content: space-between; gap: 50px; }.final-cta h2 { max-width: 680px; margin: 0 0 19px; font-size: clamp(49px, 6.3vw, 94px); letter-spacing: -.085em; line-height: .91; }.final-cta h2 em { color: var(--ink); }.final-cta__layout > div > p:not(.eyebrow) { margin: 0; font-family: var(--font-mono); font-size: 11px; letter-spacing: .05em; }.final-cta__action { display: flex; min-width: 260px; flex-direction: column; align-items: flex-start; gap: 13px; }.final-cta__action > span { max-width: 290px; color: rgba(7,27,20,.65); font-size: 10px; line-height: 1.45; }
.footer { color: rgba(255,255,255,.78); background: var(--ink); }.footer__top { display: flex; min-height: 196px; align-items: center; justify-content: space-between; gap: 32px; border-bottom: 1px solid var(--line-light); }.brand--footer { color: var(--white); font-size: 20px; }.brand--footer .brand__logo { filter: none; }.brand--footer .brand__heart { font-size: 36px; }.footer__top > p { margin: 0 auto 0 9vw; font-size: 17px; font-weight: 700; letter-spacing: -.045em; line-height: 1.2; }.footer__top > p span { color: rgba(255,255,255,.45); font-size: 12px; font-weight: 500; letter-spacing: 0; }.footer__bottom { display: flex; min-height: 90px; align-items: center; justify-content: space-between; gap: 35px; }.footer__bottom > p { max-width: 420px; margin: 0; color: rgba(255,255,255,.43); font-size: 10px; }.footer__links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 18px; }.footer__links a { color: rgba(255,255,255,.66); font-size: 10px; text-decoration: underline; text-underline-offset: 3px; }.footer__links a:hover { color: var(--lime); }
.sticky-ticket { position: fixed; z-index: 80; right: 24px; bottom: 24px; display: flex; min-width: 250px; align-items: center; gap: 16px; padding: 10px 10px 10px 17px; border: 1px solid rgba(255,255,255,.25); border-radius: 10px; color: var(--white); background: rgba(7,27,20,.93); box-shadow: 0 15px 43px rgba(0,0,0,.22); backdrop-filter: blur(10px); transform: translateY(20px); opacity: 0; transition: opacity .3s ease, transform .3s var(--ease); }.sticky-ticket.is-visible { opacity: 1; transform: translateY(0); }.sticky-ticket__copy { display: flex; flex: 1; flex-direction: column; line-height: 1.2; }.sticky-ticket__copy span { color: var(--lime); font-size: 11px; font-weight: 800; }.sticky-ticket__copy small { margin-top: 4px; color: rgba(255,255,255,.54); font-size: 9px; }

/* Dialog */
.checkout-dialog { width: min(650px, calc(100vw - 24px)); max-height: calc(100svh - 24px); padding: 0; overflow-y: auto; border: 0; color: var(--ink); background: var(--paper); box-shadow: 0 25px 90px rgba(0,0,0,.45); }.checkout-dialog::backdrop { background: rgba(2,16,10,.73); backdrop-filter: blur(6px); }.checkout-dialog__bar { position: sticky; z-index: 5; top: 0; display: flex; align-items: center; justify-content: space-between; padding: 15px 20px; color: var(--lime); background: var(--ink); font-family: var(--font-mono); font-size: 9px; letter-spacing: .12em; }.dialog-close { display: grid; width: 31px; height: 31px; place-items: center; padding: 0; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; color: var(--white); background: transparent; font-size: 24px; font-weight: 300; line-height: 1; }.dialog-close:hover { color: var(--ink); background: var(--lime); }.checkout-dialog__body { padding: 34px 38px; }.checkout-dialog__body .eyebrow { margin-bottom: 14px; }.checkout-dialog h2 { max-width: 520px; margin: 0 0 12px; font-size: clamp(31px, 4vw, 44px); letter-spacing: -.075em; line-height: .98; }.checkout-dialog__copy { max-width: 520px; margin: 0 0 20px; color: #59665d; font-size: 12px; line-height: 1.6; }.checkout-dialog__selected { display: flex; align-items: center; gap: 13px; padding: 14px; margin: 0 0 18px; border: 1px solid var(--line); background: var(--white); }.checkout-dialog__selected > div { display: flex; flex: 1; flex-direction: column; line-height: 1.3; }.checkout-dialog__selected small { color: var(--muted); font-family: var(--font-mono); font-size: 8px; letter-spacing: .08em; }.checkout-dialog__selected strong { margin-top: 2px; font-size: 17px; letter-spacing: -.04em; }.checkout-dialog__selected div span { color: var(--muted); font-size: 10px; }.checkout-dialog__selected .checkout-dialog__selected-meta { flex: 0 0 auto; align-items: flex-end; }.checkout-dialog__selected-meta > strong { color: var(--green); font-family: Georgia, serif; font-size: 18px; }.checkout-dialog__selected-meta > span { max-width: 150px; text-align: right; }
.checkout-dialog__benefits { display: grid; gap: 6px; margin: 0 0 18px; padding: 0; list-style: none; }
.checkout-dialog__benefits[hidden] { display: none; }
.checkout-dialog__benefits li { display: flex; gap: 8px; align-items: flex-start; color: var(--ink); font-size: 11px; line-height: 1.45; }
.checkout-dialog__benefits li::before { content: "↗"; flex: 0 0 auto; color: var(--green); font-weight: 800; }
.party-picker { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-bottom: 14px; }.party-picker button { display: flex; min-height: 86px; flex-direction: column; align-items: flex-start; justify-content: center; padding: 13px; border: 1px solid var(--line); color: var(--ink); background: transparent; text-align: left; }.party-picker button:hover, .party-picker button.is-selected { color: var(--white); border-color: var(--green); background: var(--green); }.party-picker strong { font-family: var(--font-mono); font-size: 10px; letter-spacing: .09em; }.party-picker span { margin-top: 5px; font-size: 14px; font-weight: 700; }.party-picker small { margin-top: 3px; color: var(--muted); font-size: 8px; }.party-picker button:hover small, .party-picker button.is-selected small { color: rgba(255,255,255,.68); }
.party-summary { margin: 10px 0 8px; font-size: 11px; }.checkout-compatibility { min-height: 36px; margin: 0 0 18px; padding: 10px 12px; color: #3f5848; border-left: 2px solid var(--green); background: rgba(32,130,78,.08); font-size: 10px; line-height: 1.5; }.checkout-compatibility.is-warning { color: #733e14; border-left-color: #ba6a24; background: rgba(186,106,36,.09); }
.checkout-dialog__footer { display: flex; align-items: center; flex-direction: column; gap: 10px; padding-top: 18px; border-top: 1px solid var(--line); }.checkout-dialog__footer .button:disabled { cursor: not-allowed; filter: grayscale(.65); opacity: .48; }.checkout-dialog__footer p { display: flex; justify-content: center; gap: 7px; margin: 0; color: var(--muted); font-size: 9px; line-height: 1.5; }.checkout-dialog__footer p span { font-size: 11px; }.noscript { position: fixed; z-index: 999; right: 10px; bottom: 10px; max-width: 360px; padding: 12px; color: var(--ink); background: var(--lime); font-size: 13px; }

/* Motion */
[data-reveal] { opacity: 0; transform: translateY(22px); transition: opacity .75s var(--ease), transform .75s var(--ease); } [data-reveal].is-revealed { opacity: 1; transform: translateY(0); }.why__grid [data-reveal]:nth-child(2), .big-idea__numbers [data-reveal]:nth-child(2), .objections__grid [data-reveal]:nth-child(2) { transition-delay: .08s; }.why__grid [data-reveal]:nth-child(3), .big-idea__numbers [data-reveal]:nth-child(3), .objections__grid [data-reveal]:nth-child(3) { transition-delay: .16s; }
@keyframes breathe { to { transform: scale(1.12) translate(-2%, 4%); opacity: .31; } } @keyframes marquee { to { transform: translateX(-50%); } }

/* Responsive */
@media (max-width: 1100px) {
  .reel-track { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 800px; }
}

@media (max-width: 1000px) {
  :root { --shell: min(100% - 48px, 1240px); }
  .nav__links { gap: 18px; }.hero__layout { grid-template-columns: minmax(0, 1.1fr) minmax(330px, .75fr); }.hero__visual { min-height: 470px; }.hero__ticket-preview { right: 5%; }.hero__vertical { display: none; }.experience__layout, .proof__layout { gap: 7vw; }.speaker-tease { grid-template-columns: .7fr .9fr .9fr 1.5fr; }.speaker-tease__copy { padding: 28px; }.hall__experience { grid-template-columns: minmax(0, 1.1fr) minmax(270px, .57fr); }.ticket-focus { padding: 30px; }.ticket-focus h3 { font-size: 37px; }.ticket-focus__status { display: none; }
}
@media (max-width: 780px) {
  :root { --shell: min(100% - 40px, 1240px); }
  .section { padding: 86px 0; }.section-heading, .hall__heading { margin-bottom: 42px; }.section-heading--split, .faq__layout, .emotion__layout, .experience__layout, .proof__layout { grid-template-columns: 1fr; gap: 31px; }.section-heading--split > p { margin: 0; }.section-heading h2, .section-intro h2, .faq__intro h2 { font-size: clamp(39px, 10vw, 58px); }.announcement { justify-content: flex-start; padding-left: 20px; }.announcement a { margin-left: auto; }.announcement p span { display: none; }.nav { min-height: 75px; }.nav__links { position: absolute; top: 100%; right: 0; left: 0; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 10px 20px 20px; color: var(--ink); border-top: 1px solid var(--line); background: var(--paper); box-shadow: 0 18px 25px rgba(0,0,0,.09); }.nav__links.is-open { display: flex; }.nav__links a { padding: 14px 2px; border-bottom: 1px solid var(--line); }.nav__links a::after { display: none; }.menu-toggle { display: block; }.nav__actions > .button { display: none; }.hero { min-height: auto; }.hero__layout { display: flex; min-height: auto; flex-direction: column; align-items: flex-start; justify-content: center; padding-top: 143px; padding-bottom: 84px; }.hero__copy { padding: 0; }.hero h1 { font-size: clamp(48px, 13.5vw, 76px); }.hero__lede { max-width: 580px; font-size: 15px; }.hero__visual { display: none; }.hero__orbit--outer { width: 82vw; height: 82vw; }.hero__orbit--inner { width: 56vw; height: 56vw; }.hero__wordmark { font-size: 20vw; }.hero__stamp--top { top: 4%; right: 8%; transform: scale(.78) rotate(13deg); }.hero__ticket-preview { right: 1%; bottom: 0; transform: scale(.72) rotate(9deg); transform-origin: bottom right; }.hero__marquee { bottom: 0; }.intro-strip__inner { grid-template-columns: 1fr auto; min-height: 120px; gap: 18px; }.intro-strip__statement { grid-column: 1 / -1; grid-row: 1; padding-right: 43px; font-size: 25px; }.intro-strip__label { grid-column: 1; grid-row: 2; }.intro-strip__inner .round-link { grid-column: 2; grid-row: 1 / span 2; }.emotion__statement { margin-top: 84px; }.emotion__statement p { font-size: clamp(32px, 9vw, 51px); }.big-idea__headline { grid-template-columns: 1fr; gap: 35px; padding-bottom: 54px; }.big-idea h2 { font-size: clamp(49px, 12vw, 78px); }.big-idea__numbers { gap: 0; }.big-idea__numbers article { padding: 24px 0; border-bottom: 1px solid var(--line); }.big-idea__numbers { grid-template-columns: 1fr; padding-top: 12px; }.big-idea__numbers h3 { margin: 17px 0 9px; }.why__grid { grid-template-columns: 1fr 1fr; }.why-card--featured { grid-row: auto; grid-column: 1 / -1; min-height: 350px; }.why-card__icon { margin-bottom: 70px; }.experience__visual { min-height: 440px; }.speakers__heading { grid-template-columns: 1fr; gap: 22px; }.speaker-tease { grid-template-columns: 1fr 1fr; }.speaker-tease__portrait { min-height: 255px; }.speaker-tease__portrait--two { min-height: 290px; }.speaker-tease__portrait--three { display: none; }.speaker-tease__copy { grid-column: 1 / -1; min-height: 250px; }.hall__experience { grid-template-columns: 1fr; }.hall-map { min-height: 555px; }.hall-map__room { height: 353px; }.ticket-focus { min-height: 350px; }.ticket-focus__empty { max-width: 380px; }.ticket-cards { grid-template-columns: 1fr; }.ticket-card { min-height: 260px; }.ticket-card__label { margin-top: 31px; }.ticket-card__copy { min-height: auto; }.comparison { padding-bottom: 76px; }.comparison__table-wrap { width: 100%; max-width: 100%; margin-right: 0; }.proof__wall { min-height: 360px; }.objections__grid { grid-template-columns: 1fr; }.objections__grid > article, .objections__grid > article + article, .objections__grid > article:last-child { min-height: 0; padding: 27px 0; border-right: 0; border-bottom: 1px solid var(--line); }.objections__grid h3 { margin: 24px 0 11px; }.final-cta__layout { align-items: flex-start; flex-direction: column; }.footer__top { min-height: 160px; }.footer__top > p { margin: 0 auto 0 0; }.footer__bottom { min-height: 140px; flex-direction: column; align-items: flex-start; justify-content: center; }.footer__links { justify-content: flex-start; }.sticky-ticket { right: 12px; bottom: 12px; left: 12px; min-width: 0; }.sticky-ticket .button { flex: 0 0 auto; }.checkout-dialog__body { padding: 29px 24px; }
}
@media (max-width: 520px) {
  :root { --shell: min(100% - 32px, 1240px); }
  .section { padding: 71px 0; }.announcement { min-height: 33px; gap: 7px; padding: 5px 16px; font-size: 8px; }.announcement__pulse { display: none; }.announcement a { font-size: 8px; }.nav { min-height: 70px; }.brand { font-size: 12px; }.brand__heart { font-size: 21px; }.hero { min-height: auto; }.hero__layout { min-height: auto; padding-top: 126px; }.hero h1 { margin-bottom: 21px; font-size: clamp(44px, 13.3vw, 61px); }.hero__lede { line-height: 1.63; }.hero__details { gap: 18px; margin-bottom: 25px; }.hero__details strong { font-size: 11px; }.hero__actions { align-items: flex-start; flex-direction: column; gap: 21px; }.hero__note { margin-top: 24px; }.hero__marquee > div { padding: 13px 0; }.intro-strip__inner { min-height: 134px; }.intro-strip__statement { padding-right: 18px; font-size: 23px; }.round-link { width: 46px; height: 46px; }.emotion__interactive { margin-top: 16px; }.intent-response { min-height: 110px; font-size: 16px; }.emotion__statement { margin-top: 66px; }.emotion__statement > span { height: 44px; font-size: 92px; }.big-idea__top { margin-bottom: 30px; }.big-idea__top .section-kicker { display: none; }.big-idea__headline { gap: 25px; }.big-idea__side { display: grid; grid-template-columns: 42px 1fr; gap: 16px; align-items: start; }.big-idea__mark { margin: 0; }.why__grid { grid-template-columns: 1fr; }.why-card--featured { grid-column: auto; min-height: 330px; }.why-card { min-height: 230px; }.experience__visual { min-height: 350px; }.experience__screen { top: 14%; }.speakers__heading { margin-bottom: 36px; }.speaker-tease__portrait { min-height: 220px; }.speaker-tease__portrait--two { min-height: 250px; }.speaker-tease__copy { min-height: 220px; padding: 26px; }.hall-map { min-height: 492px; padding: 22px 12px 20px; }.hall-map__stage { width: 80%; height: 61px; }.hall-map__room { width: 94%; height: 305px; margin-top: 18px; }.map-zone__position { bottom: 6px; font-size: 7px; }.map-zone__tooltip { display: none; }.hall-map__legend { bottom: 16px; left: 17px; gap: 9px; font-size: 7px; }.ticket-focus { padding: 27px 23px; }.ticket-focus__topline { margin-bottom: 19px; }.ticket-focus__status { display: inline; }.ticket-focus h3 { font-size: 40px; }.ticket-focus__price { margin-bottom: 19px; }.ticket-focus__benefits { margin-bottom: 22px; }.proof__wall { padding: 31px; min-height: 300px; }.proof__wall-label { margin-bottom: 30px; }.faq summary { padding: 19px 0; font-size: 14px; }.faq details p { margin-right: 15px; }.final-cta { padding: 70px 0; }.final-cta h2 { font-size: clamp(48px, 14vw, 67px); }.final-cta__action { min-width: 0; }.footer__top { min-height: 135px; }.footer__top > p { display: none; }.footer__bottom { min-height: 150px; }.footer__links { gap: 13px; }.checkout-dialog__body { padding: 27px 19px; }.checkout-dialog__choices { grid-template-columns: 1fr; }.checkout-dialog__choices button { min-height: 55px; flex-direction: row; align-items: center; justify-content: space-between; }.checkout-dialog__choices button span { margin: 0; }.checkout-dialog__footer { align-items: flex-start; flex-direction: column; }.checkout-dialog__selected > span:last-child { font-size: 14px; }.sticky-ticket { gap: 9px; padding-left: 14px; }.sticky-ticket__copy small { display: none; }.sticky-ticket .button { padding-inline: 14px; }
}

@media (max-width: 1000px) {
  .confirmed-lineup--speakers { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .reel-track { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 800px; }
  .reel-proof__heading { grid-template-columns: minmax(0, 1fr) minmax(240px, .4fr); }
  .love-dinner__layout { grid-template-columns: minmax(0, .9fr) minmax(380px, 1.1fr); gap: 45px; }
  .love-dinner__visual { min-height: 640px; }
}

@media (max-width: 780px) {
  .experience__visual--venue > img, .experience__visual--venue > video { min-height: 440px; }
  .launch-film { aspect-ratio: 16 / 10; }
  .launch-film__overlay { bottom: 24px; left: 24px; }
  .speaker-media-pair { grid-template-columns: 1fr; gap: 14px; margin-bottom: 56px; }
  .speaker-media-pair .lineup-poster { width: min(100%, 520px); margin: 0 auto; }
  .speaker-media-pair .launch-film { width: min(100%, 390px); height: auto; aspect-ratio: 9 / 16; }
  .confirmed-lineup--speakers { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cast-subsection { margin-top: 75px; padding-top: 42px; }
  .cast-subsection--music { margin-top: 64px; }
  .cast-subsection__heading { align-items: center; flex-direction: column; gap: 13px; text-align: center; }
  .host-grid, .music-grid { grid-template-columns: minmax(0, 260px); justify-content: center; max-width: none; }
  .reel-proof { overflow: hidden; }
  .reel-proof__heading { grid-template-columns: 1fr; gap: 24px; }
  .reel-proof__heading > p { margin: 0; }
  .reel-track { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 560px; }
  .reel-proof__footer { align-items: flex-start; flex-direction: column; margin-top: 46px; }
  .hall-map { min-height: 590px; }
  .hall-map__speaker-zone { width: 66%; }
  .hall-map__room { height: 332px; margin-top: 10px; }
  .announcement p .announcement__date, .announcement p .announcement__time { display: inline; }
  .love-dinner__layout { grid-template-columns: 1fr; }
  .love-dinner__copy h2 { max-width: 680px; }
  .love-dinner__visual { width: min(100%, 620px); min-height: 690px; margin: 0 auto; }
}

@media (max-width: 520px) {
  .confirmed-lineup--speakers { grid-template-columns: 1fr; gap: 12px; }
  .lineup-card > div { min-height: 108px; }
  .launch-film { aspect-ratio: 4 / 5; }
  .launch-film__overlay { right: 20px; bottom: 21px; left: 20px; }
  .launch-film__overlay i { width: 52px; height: 52px; }
  .speaker-media-pair .launch-film { width: min(100%, 310px); aspect-ratio: 9 / 16; }
  .experience__visual--venue > img, .experience__visual--venue > video { min-height: 350px; }
  .experience__venue-badge { top: 15px; left: 15px; }
  .cast-subsection { margin-top: 61px; padding-top: 35px; }
  .cast-subsection--music { margin-top: 52px; }
  .host-card, .music-card { grid-template-columns: 1fr; }
  .host-card__visual, .music-card__visual { min-height: 0; }
  .reel-proof__heading h2 { font-size: clamp(45px, 13vw, 62px); }
  .reel-carousel__controls { margin-bottom: 13px; }
  .reel-carousel__controls button { width: 40px; height: 40px; }
  .reel-track { grid-template-columns: minmax(0, 320px); max-width: 320px; gap: 14px; }
  .reel-card__play i { width: 62px; height: 62px; }
  .reel-card__meta { padding-top: 14px; }
  .reel-proof__footer p { font-size: 29px; }
  .hall-map { min-height: 570px; }
  .hall-map__speaker-zone { width: 76%; min-height: 55px; padding-inline: 12px; }
  .hall-map__room { width: 94%; height: 300px; margin-top: 10px; }
  .map-zone__tag { font-size: 8px; letter-spacing: .06em; }
  .announcement p strong { display: none; }
  .ticket-card__limit { top: 22px; right: 43px; }
  .love-dinner__copy h2 { font-size: clamp(47px, 13.2vw, 68px); }
  .love-dinner__copy .love-dinner__statement { padding-left: 16px; font-size: 16px; }
  .love-dinner__visual { min-height: 520px; }
  .love-dinner__portrait { width: 65%; }
  .love-dinner__portrait figcaption { padding: 15px; }
  .love-dinner__portrait--second { bottom: 40px; }
  .love-dinner__disclaimer { max-width: 270px; font-size: 8px; }
  .checkout-dialog__body { padding: 25px 17px; }
  .checkout-dialog h2 { font-size: 32px; }
  .party-picker { grid-template-columns: 1fr; }
  .party-picker button { min-height: 58px; }
  .party-picker button small { display: none; }
  .checkout-dialog__selected { align-items: flex-start; }
  .checkout-dialog__selected .checkout-dialog__selected-meta { max-width: 120px; }
}

/* Final interaction and hierarchy refinements */
.hero__copy.is-revealed > * { animation: hero-copy-in .72s var(--ease) both; }
.hero__copy.is-revealed > .eyebrow { animation-delay: .04s; }
.hero__copy.is-revealed > h1 { animation-delay: .11s; }
.hero__copy.is-revealed > .hero__lede { animation-delay: .19s; }
.hero__copy.is-revealed > .hero__details { animation-delay: .27s; }
.hero__copy.is-revealed > .hero__actions { animation-delay: .35s; }
.hero__copy.is-revealed > .hero__note { animation-delay: .43s; }
.hero__visual { animation: hero-visual-in 1s var(--ease) both; }
.hero__orbit--outer { animation: orbit-spin 34s linear infinite; }
.hero__orbit--inner { animation: orbit-spin-reverse 24s linear infinite; }
.hero__wordmark-heart { display: inline-block; transform-origin: 50% 64%; animation: gentle-heartbeat 3.8s ease-in-out infinite; }
.hero__stamp { width: 142px; height: 142px; font-size: 10px; }

.lineup-card__more { position: absolute; z-index: 4; top: clamp(82px, 31%, 184px); left: 50%; display: inline-flex; align-items: center; gap: 8px; padding: 10px 13px; border: 1px solid rgba(255,255,255,.55); border-radius: 100px; color: var(--ink); background: var(--lime); font-size: 10px; font-weight: 800; white-space: nowrap; opacity: 0; pointer-events: none; transform: translate(-50%, 12px); transition: opacity .25s ease, transform .3s var(--ease), box-shadow .25s ease; }
.lineup-card__more:hover { box-shadow: 0 12px 28px rgba(0,0,0,.3); }
@media (hover: hover) and (pointer: fine) {
  .lineup-card:not(.lineup-card--locked):hover > img, .lineup-card:not(.lineup-card--locked):focus-within > img { filter: brightness(.58) saturate(.82); }
  .lineup-card:not(.lineup-card--locked):hover .lineup-card__more, .lineup-card:not(.lineup-card--locked):focus-within .lineup-card__more { opacity: 1; pointer-events: auto; transform: translate(-50%, 0); }
}

.cast-showcase { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(40px, 6vw, 100px); margin-top: 102px; padding-top: 55px; border-top: 1px solid var(--line-light); }
.cast-showcase .cast-subsection, .cast-showcase .cast-subsection--music { min-width: 0; margin: 0; padding: 0; border: 0; }
.cast-showcase .host-grid, .cast-showcase .music-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(14px, 2vw, 24px); }

.ticket-card--advanced, .ticket-card--advanced:hover, .ticket-card--advanced.is-selected { color: var(--white); border-color: #6f83a7; background: radial-gradient(circle at 86% 13%, rgba(255,224,116,.35), transparent 28%), linear-gradient(145deg, #253b69 0%, #162d53 54%, #0b203d 100%); }
.ticket-card--advanced .ticket-card__top { color: rgba(255,255,255,.7); }
.ticket-card--advanced .ticket-card__label, .ticket-card--advanced .ticket-card__price { color: #ffe074; }
.ticket-card--advanced .ticket-card__copy, .ticket-card--advanced .ticket-card__benefits { color: rgba(255,255,255,.73); }
.ticket-card--advanced .ticket-card__benefits li::before { color: #ffe074; }
.ticket-card__experience { position: absolute; z-index: 3; top: 22px; right: 26px; margin: 0; padding: 5px 7px; color: #162d53; background: #ffe074; font-family: var(--font-mono); font-size: 7px; font-weight: 700; letter-spacing: .07em; }
.ticket-card--advanced .ticket-card__limit { top: 53px; right: 26px; color: var(--white); border-color: rgba(255,255,255,.38); background: rgba(11,32,61,.58); }

.checkout-offer { display: grid; grid-template-columns: 1fr auto; gap: 3px 18px; align-items: center; padding: 13px 14px; margin: 0 0 14px; border: 1px solid rgba(32,130,78,.28); background: rgba(199,255,71,.16); }
.checkout-offer[hidden] { display: none; }
.checkout-offer > span { color: var(--green); font-family: var(--font-mono); font-size: 8px; font-weight: 700; letter-spacing: .1em; }
.checkout-offer > strong { grid-row: 1 / span 2; grid-column: 2; color: var(--green); font-family: Georgia, serif; font-size: 20px; font-weight: 400; }
.checkout-offer > small { color: #3f5848; font-size: 9px; line-height: 1.45; }

.speaker-dialog { width: min(760px, calc(100vw - 24px)); max-height: calc(100svh - 24px); grid-template-columns: minmax(220px, .72fr) minmax(300px, 1fr); padding: 0; overflow: auto; border: 0; color: var(--ink); background: var(--paper); box-shadow: 0 25px 90px rgba(0,0,0,.48); }
.speaker-dialog[open] { display: grid; }
.speaker-dialog::backdrop { background: rgba(2,16,10,.74); backdrop-filter: blur(6px); }
.speaker-dialog__close { position: absolute; z-index: 3; top: 15px; right: 15px; border-color: rgba(7,27,20,.25); color: var(--ink); background: rgba(247,247,240,.88); }
.speaker-dialog__close:hover { color: var(--ink); background: var(--lime); }
.speaker-dialog__media { min-height: 430px; background: var(--ink); }
.speaker-dialog__media img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.speaker-dialog__copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(34px, 6vw, 64px) clamp(26px, 4vw, 48px); }
.speaker-dialog__copy .eyebrow { margin-bottom: 16px; }
.speaker-dialog__copy h2 { margin: 0 0 15px; font-size: clamp(35px, 4.3vw, 56px); letter-spacing: -.08em; line-height: .93; }
.speaker-dialog__copy > p:not(.eyebrow) { max-width: 290px; margin: 0 0 28px; color: #59655d; font-size: 14px; line-height: 1.6; }

@keyframes hero-copy-in { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: translateY(0); } }
@keyframes hero-visual-in { from { opacity: 0; transform: translate3d(34px, 22px, 0) scale(.94); } to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); } }
@keyframes orbit-spin { from { transform: translate(-50%, -50%) rotateX(66deg) rotateZ(-14deg) rotate(0deg); } to { transform: translate(-50%, -50%) rotateX(66deg) rotateZ(-14deg) rotate(360deg); } }
@keyframes orbit-spin-reverse { from { transform: translate(-50%, -50%) rotateX(66deg) rotateZ(-14deg) rotate(360deg); } to { transform: translate(-50%, -50%) rotateX(66deg) rotateZ(-14deg) rotate(0deg); } }
@keyframes gentle-heartbeat { 0%, 86%, 100% { transform: translateY(-.02em) scale(1); } 90% { transform: translateY(-.02em) scale(1.045); } 95% { transform: translateY(-.02em) scale(1.01); } }

@media (max-width: 780px) {
  .cast-showcase { grid-template-columns: 1fr; gap: 54px; margin-top: 75px; padding-top: 42px; }
  .cast-showcase .cast-subsection--music { padding-top: 54px; border-top: 1px solid var(--line-light); }
  .cast-showcase .host-grid, .cast-showcase .music-grid { grid-template-columns: repeat(2, minmax(0, 230px)); justify-content: center; }
  .hero__stamp { width: 142px; height: 142px; }
  .speaker-dialog { grid-template-columns: 1fr; max-width: 510px; }
  .speaker-dialog__media { min-height: 0; aspect-ratio: 4 / 3; }
  .speaker-dialog__copy { padding: 30px 25px 34px; }
}
@media (max-width: 520px) {
  .lineup-card__more { top: clamp(100px, 35%, 245px); opacity: 1; pointer-events: auto; transform: translate(-50%, 0); }
  .lineup-card:not(.lineup-card--locked) > img { filter: brightness(.72); }
  .cast-showcase { margin-top: 61px; padding-top: 35px; }
  .cast-showcase .host-grid, .cast-showcase .music-grid { grid-template-columns: minmax(0, 230px); }
  .cast-showcase .cast-subsection--music { padding-top: 45px; }
  .ticket-card--advanced .ticket-card__limit { top: 51px; right: 18px; }
  .ticket-card__experience { top: 20px; right: 18px; }
}

/* Fine-tune the new dinner → ticket → comparison → location flow without changing the overall rhythm. */
main#continut > .experience.section,
main#continut > .love-dinner.section,
main#continut > .comparison.section { padding-top: 96px; padding-bottom: 96px; }
@media (max-width: 780px) {
  main#continut > .experience.section,
  main#continut > .love-dinner.section,
  main#continut > .comparison.section { padding-top: 68px; padding-bottom: 68px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
  [data-reveal] { opacity: 1; transform: none; }
}

/* I Love Hope Cluj 2026 — refreshed botanical identity */
.section--paper { background-color: var(--ilh-cream); }
.section--soft { background-color: #f1f6cf; }
.section--ink { background-color: var(--ilh-dark); }
.section--green { background-color: var(--ilh-forest); }

.site-header {
  color: var(--ilh-dark);
  border-bottom: 1px solid rgba(61, 85, 12, .14);
  background: rgba(252, 255, 222, .88);
  backdrop-filter: blur(14px);
}
.site-header.is-stuck { color: var(--ilh-dark); background: rgba(252, 255, 222, .96); box-shadow: 0 8px 30px rgba(61, 85, 12, .08); }
.site-header .brand__logo { filter: none; }
.site-header .button--lime { color: var(--ilh-cream); background: var(--ilh-dark); }
.site-header .button--lime:hover { color: var(--ilh-dark); background: var(--ilh-lime); }
.announcement { color: rgba(252, 255, 222, .86); border-bottom-color: rgba(252, 255, 222, .14); background: var(--ilh-dark); }
.announcement strong { color: var(--ilh-lime); background-color: transparent; }
.announcement__pulse { background-color: var(--ilh-lime); }
.announcement__pulse { box-shadow: 0 0 0 5px rgba(224, 252, 0, .13); }
.announcement a { color: var(--ilh-cream); }

.hero {
  color: var(--ilh-dark);
  background:
    linear-gradient(112deg, rgba(252, 255, 222, .97) 0%, rgba(252, 255, 222, .88) 49%, rgba(219, 239, 164, .72) 100%),
    url("../assets/visuals/texture-green.png") center / cover;
}
.hero::before {
  z-index: 0;
  opacity: 1;
  background: linear-gradient(90deg, rgba(252, 255, 222, .48), transparent 58%), linear-gradient(0deg, rgba(61, 85, 12, .08), transparent 38%);
}
.hero::after {
  position: absolute;
  z-index: 0;
  top: -18%;
  right: -12%;
  width: min(700px, 58vw);
  aspect-ratio: .75;
  content: "";
  opacity: .36;
  background: url("../assets/visuals/leaves.png") center / contain no-repeat;
  pointer-events: none;
  transform: rotate(17deg);
  animation: ilh-leaf-float 13s ease-in-out infinite;
}
.hero__lede { color: rgba(61, 85, 12, .74); }
.hero h1 { color: var(--ilh-dark); }
.hero h1 em { color: var(--ilh-forest); }
.hero__details > div { border-left-color: var(--ilh-olive); }
.hero__details span, .hero__note { color: rgba(61, 85, 12, .67); }
.hero__note-dot { background: var(--ilh-olive); }
.hero__aura--one { opacity: .25; background: radial-gradient(circle, rgba(138, 196, 79, .7) 0, rgba(138, 196, 79, .2) 33%, transparent 67%); }
.hero__aura--two { opacity: .19; background: var(--ilh-forest); }
.hero__mesh { border-color: rgba(61, 85, 12, .22); }
.hero__orbit { border-color: rgba(61, 85, 12, .4); }
.hero__orbit--outer { box-shadow: 0 0 50px rgba(138, 196, 79, .24), inset 0 0 42px rgba(138, 196, 79, .08); }
.hero__orbit--inner { border-color: rgba(61, 85, 12, .3); }
.hero__wordmark { color: var(--ilh-lime); text-shadow: 0 0 38px rgba(61, 85, 12, .13); }
.hero__wordmark-i { color: var(--ilh-dark); }
.hero__wordmark-heart { color: var(--ilh-lime); }
.hero__stamp { width: 152px; height: 152px; color: var(--ilh-dark); border-color: var(--ilh-olive); background: rgba(252, 255, 222, .22); }
.hero__stamp::before, .hero__stamp::after { border-color: rgba(61, 85, 12, .55); }
.hero__ticket-preview { color: var(--ilh-cream); border-color: rgba(61, 85, 12, .46); background: linear-gradient(145deg, rgba(61, 85, 12, .88), rgba(62, 105, 19, .78)); }
.hero__ticket-preview span { color: rgba(252, 255, 222, .7); }
.hero__vertical { color: rgba(61, 85, 12, .62); }
.hero__marquee { border-top-color: rgba(61, 85, 12, .2); background: rgba(252, 255, 222, .58); }
.hero__marquee > div { color: rgba(61, 85, 12, .75); }
.hero__marquee i { color: var(--ilh-olive); }

.intro-strip { color: var(--ilh-dark); background: #eff5bd; }
.intro-strip .round-link:hover { color: var(--ilh-cream); background: var(--ilh-dark); }

.speakers {
  isolation: isolate;
  color: var(--ilh-dark);
  background:
    linear-gradient(rgba(252, 255, 222, .86), rgba(252, 255, 222, .96)),
    url("../assets/visuals/texture-green.png") center / cover;
}
.speakers::before { border-color: rgba(61, 85, 12, .18); }
.speakers::after {
  position: absolute;
  z-index: -1;
  right: -12%;
  bottom: 3%;
  width: min(520px, 42vw);
  aspect-ratio: .75;
  content: "";
  opacity: .28;
  background: url("../assets/visuals/leaves.png") center / contain no-repeat;
  pointer-events: none;
  transform: rotate(-23deg);
  animation: ilh-leaf-float 15s ease-in-out infinite reverse;
}
.speakers__heading h2 { color: var(--ilh-dark); }
.speakers__heading > p { color: rgba(61, 85, 12, .72); }
.speakers .eyebrow--light { color: var(--ilh-forest); }
.lineup-poster { border-color: rgba(61, 85, 12, .22); background: var(--ilh-cream); box-shadow: 0 28px 70px rgba(61, 85, 12, .18); }
.speaker-media-pair .launch-film > video { background: var(--ilh-dark); }
.confirmed-lineup { gap: 18px; }
.lineup-card { border-color: rgba(61, 85, 12, .42); background: var(--ilh-dark); }
.lineup-card:hover { border-color: var(--ilh-olive); box-shadow: 0 25px 50px rgba(61, 85, 12, .24); }
.lineup-card > div { border-top-color: rgba(252, 255, 222, .2); }
.lineup-card > div > span, .lineup-card--locked h3 { color: var(--ilh-lime); }
.lineup-card h3 { color: var(--ilh-cream); }
.lineup-card p { color: rgba(252, 255, 222, .68); }
.lineup-card--locked { border-color: rgba(61, 85, 12, .42); background: #30450f; }
.lineup-card--locked::after { background: linear-gradient(180deg, rgba(61, 85, 12, .08), rgba(61, 85, 12, .38) 70%, rgba(61, 85, 12, .86)); }
.lineup-card__more { color: var(--ilh-dark); background: var(--ilh-lime); }
.cast-showcase {
  position: relative;
  overflow: hidden;
  padding: clamp(38px, 5vw, 68px);
  border: 1px solid rgba(61, 85, 12, .35);
  background:
    linear-gradient(rgba(61, 85, 12, .96), rgba(62, 105, 19, .96)),
    url("../assets/visuals/texture-green.png") center / cover;
  box-shadow: 0 28px 65px rgba(61, 85, 12, .18);
}
.cast-showcase::after {
  position: absolute;
  right: -12%;
  bottom: -50%;
  width: 370px;
  aspect-ratio: .75;
  content: "";
  opacity: .23;
  background: url("../assets/visuals/leaves.png") center / contain no-repeat;
  pointer-events: none;
  transform: rotate(-16deg);
}
.cast-showcase .cast-subsection { position: relative; z-index: 1; }
.cast-showcase .cast-subsection__heading h3, .cast-showcase .host-card h4, .cast-showcase .music-card h4 { color: var(--ilh-cream); }
.cast-showcase .host-card__copy > span, .cast-showcase .music-card__copy > span, .cast-showcase .cast-subsection__heading .eyebrow { color: var(--ilh-lime); }
.cast-showcase .host-card p, .cast-showcase .music-card p { color: rgba(252, 255, 222, .7); }
.host-card__visual--monogram { color: var(--ilh-lime); background: radial-gradient(circle at 50% 35%, rgba(224, 252, 0, .2), transparent 42%), var(--ilh-forest); }

.hall { position: relative; background: var(--ilh-cream); }
.hall::after {
  position: absolute;
  z-index: 0;
  top: 5%;
  left: -16%;
  width: 350px;
  aspect-ratio: .75;
  content: "";
  opacity: .18;
  background: url("../assets/visuals/leaves.png") center / contain no-repeat;
  pointer-events: none;
  transform: rotate(34deg);
}
.hall .shell { position: relative; z-index: 1; }
.hall__experience { background: var(--ilh-dark); box-shadow: 0 20px 60px rgba(61, 85, 12, .18); }
.hall-map { background: radial-gradient(ellipse at 50% 4%, #739c31, #4a721c 36%, var(--ilh-dark) 82%); }
.ticket-focus { background: linear-gradient(145deg, var(--ilh-forest), var(--ilh-dark)); }

.comparison { position: relative; background: #f2f6cf; }
.comparison__table-wrap { background: rgba(252, 255, 222, .4); }
.comparison th, .comparison td { border-bottom-color: rgba(61, 85, 12, .16); }
.comparison tbody th, .comparison td { color: #5c6f30; }
.table-check { color: var(--ilh-forest); background: rgba(138, 196, 79, .26); }
.comparison__actions button { color: var(--ilh-dark); border-bottom-color: var(--ilh-forest); }
.comparison__actions button:hover { color: var(--ilh-forest); }

.love-dinner {
  background:
    linear-gradient(120deg, rgba(61, 85, 12, .98), rgba(62, 105, 19, .94)),
    url("../assets/visuals/texture-green.png") center / cover;
}
.love-dinner::after {
  position: absolute;
  top: -22%;
  right: -7%;
  width: min(520px, 44vw);
  aspect-ratio: .75;
  content: "";
  opacity: .28;
  background: url("../assets/visuals/leaves.png") center / contain no-repeat;
  pointer-events: none;
  transform: rotate(25deg);
  animation: ilh-leaf-float 12s ease-in-out infinite;
}
.love-dinner__glow { background: radial-gradient(circle, rgba(224, 252, 0, .16), transparent 66%); }
.love-dinner__portrait { border-color: rgba(224, 252, 0, .55); background: var(--ilh-dark); }
.love-dinner__copy h2, .love-dinner__copy .love-dinner__statement { color: var(--ilh-cream); }
.love-dinner__copy > p:not(.eyebrow), .love-dinner__disclaimer { color: rgba(252, 255, 222, .76); }
.love-dinner__copy .love-dinner__statement { border-left-color: var(--ilh-lime); }
.love-dinner__copy .love-dinner__limit { color: var(--ilh-lime); }

/* The dinner section uses one shared speaker composition instead of separate posters. */
.love-dinner {
  background: var(--ilh-forest);
}
.love-dinner__glow,
.love-dinner__visual::before { display: none; }
.love-dinner__visual {
  display: flex;
  align-items: center;
  justify-content: center;
}
.love-dinner__group-shot {
  width: min(100%, 520px);
  margin: 0 auto;
}
.love-dinner__group-shot img {
  display: block;
  width: 100%;
  height: auto;
}

.experience {
  isolation: isolate;
  background:
    linear-gradient(112deg, rgba(61, 85, 12, .96), rgba(62, 105, 19, .9)),
    url("../assets/visuals/texture-green.png") center / cover;
}
.experience::after {
  position: absolute;
  z-index: 0;
  bottom: -28%;
  left: -10%;
  width: min(540px, 43vw);
  aspect-ratio: .75;
  content: "";
  opacity: .25;
  background: url("../assets/visuals/leaves.png") center / contain no-repeat;
  pointer-events: none;
  transform: rotate(-21deg);
  animation: ilh-leaf-float 14s ease-in-out infinite reverse;
}
.experience__layout { z-index: 1; }
.experience__visual { background: var(--ilh-dark); box-shadow: inset 0 0 0 1px rgba(252, 255, 222, .16), var(--shadow); }
.experience__venue-badge { color: var(--ilh-dark); background: var(--ilh-lime); }
.experience__venue-badge small { color: rgba(61, 85, 12, .78); }

.reel-proof { background: var(--ilh-forest); }
.reel-proof__glow { background: radial-gradient(circle, rgba(224, 252, 0, .18), transparent 62%); }
.reel-card__media { border-color: rgba(252, 255, 222, .25); background: var(--ilh-dark); }

.faq { position: relative; overflow: hidden; background: var(--ilh-cream); }
.faq::after {
  position: absolute;
  right: -18%;
  bottom: -30%;
  width: min(470px, 45vw);
  aspect-ratio: .75;
  content: "";
  opacity: .16;
  background: url("../assets/visuals/leaves.png") center / contain no-repeat;
  pointer-events: none;
  transform: rotate(29deg);
}
.faq__layout { position: relative; z-index: 1; }
.faq details:hover { background: rgba(138, 196, 79, .09); }
.faq summary span { color: var(--ilh-forest); }
.faq details[open] summary span { color: var(--ilh-cream); background: var(--ilh-forest); }

.ticket-card { color: var(--ilh-dark); border-color: rgba(61, 85, 12, .27); background: rgba(252, 255, 222, .92); }
.ticket-card:hover, .ticket-card.is-selected { color: var(--ilh-cream); border-color: var(--ilh-dark); background: var(--ilh-dark); box-shadow: 0 18px 28px rgba(61, 85, 12, .18); }
.ticket-card__label, .ticket-card__price { color: var(--ilh-forest); }
.ticket-card__copy, .ticket-card__benefits { color: #60733a; }
.ticket-card__benefits li::before { color: var(--ilh-forest); }
.ticket-card__availability { color: var(--ilh-forest); border-color: rgba(62, 105, 19, .45); }
.ticket-card--advanced, .ticket-card--advanced:hover, .ticket-card--advanced.is-selected {
  color: var(--ilh-cream);
  border-color: var(--ilh-dark);
  background: radial-gradient(circle at 87% 12%, rgba(224, 252, 0, .22), transparent 28%), linear-gradient(145deg, var(--ilh-forest), var(--ilh-dark));
}
.ticket-card--advanced .ticket-card__top { color: rgba(252, 255, 222, .7); }
.ticket-card--advanced .ticket-card__label, .ticket-card--advanced .ticket-card__price { color: var(--ilh-lime); }
.ticket-card--advanced .ticket-card__copy, .ticket-card--advanced .ticket-card__benefits { color: rgba(252, 255, 222, .76); }
.ticket-card--advanced .ticket-card__benefits li::before { color: var(--ilh-lime); }
.ticket-card__experience { color: var(--ilh-dark); background: var(--ilh-lime); }
.ticket-card--advanced .ticket-card__limit { color: var(--ilh-cream); border-color: rgba(252, 255, 222, .46); background: rgba(61, 85, 12, .52); }

.final-cta {
  color: var(--ilh-dark);
  background:
    linear-gradient(rgba(252, 255, 222, .72), rgba(252, 255, 222, .88)),
    url("../assets/visuals/texture-green.png") center / cover;
}
.final-cta__lines { opacity: .18; background: repeating-linear-gradient(90deg, transparent 0 9.7%, rgba(61, 85, 12, .45) 9.7% 9.8%, transparent 9.8% 20%); }
.final-cta .button--ink { color: var(--ilh-cream); background: var(--ilh-dark); }
.final-cta .button--ink:hover { color: var(--ilh-dark); background: var(--ilh-lime); }

.footer { color: rgba(252, 255, 222, .82); background: var(--ilh-dark); }
.footer-visual { position: relative; min-height: clamp(340px, 42vw, 620px); overflow: hidden; background: var(--ilh-cream); }
.footer-visual img { display: block; width: 100%; height: 100%; min-height: inherit; object-fit: cover; object-position: center bottom; }
.footer-visual::before {
  position: absolute;
  z-index: 1;
  inset: 0;
  content: "";
  background: linear-gradient(to bottom, var(--ilh-cream) 0%, rgba(252, 255, 222, .92) 15%, rgba(252, 255, 222, .52) 35%, rgba(252, 255, 222, 0) 60%), linear-gradient(to bottom, transparent 55%, var(--ilh-dark) 100%);
  pointer-events: none;
}
.footer__top { border-bottom-color: rgba(252, 255, 222, .2); }
.brand--footer .brand__logo { filter: none; }
.footer__top > p span, .footer__bottom > p { color: rgba(252, 255, 222, .6); }
.footer__links a { color: rgba(252, 255, 222, .76); }
.footer__links a:hover { color: var(--ilh-lime); }

.sticky-ticket { color: var(--ilh-cream); border-color: rgba(252, 255, 222, .36); background: rgba(61, 85, 12, .95); }
.sticky-ticket__copy span { color: var(--ilh-lime); }
.checkout-dialog, .speaker-dialog { color: var(--ilh-dark); background: var(--ilh-cream); }
.checkout-dialog__bar { color: var(--ilh-lime); background: var(--ilh-dark); }
.checkout-dialog__selected { background: rgba(252, 255, 222, .86); }
.party-picker button:hover, .party-picker button.is-selected { background: var(--ilh-forest); }
.checkout-offer { border-color: rgba(62, 105, 19, .28); background: rgba(138, 196, 79, .16); }
.checkout-offer > span, .checkout-offer > strong { color: var(--ilh-forest); }

@keyframes ilh-leaf-float {
  0%, 100% { translate: 0 0; }
  50% { translate: 0 -10px; }
}

@media (max-width: 780px) {
  .hero::after { top: 13%; right: -42%; width: 480px; opacity: .2; }
  .hero__stamp { width: 138px; height: 138px; }
  .speakers::after, .faq::after { display: none; }
  .cast-showcase { padding: 34px 20px; }
  .hall::after { width: 260px; opacity: .13; }
  .love-dinner::after { right: -45%; width: 430px; opacity: .18; }
  .experience::after { left: -45%; width: 420px; opacity: .16; }
  .footer-visual { min-height: 290px; }
}

@media (max-width: 520px) {
  .hero::after, .love-dinner::after, .experience::after { display: none; }
  .footer-visual { min-height: 230px; }
  .footer-visual img { object-position: 55% bottom; }
  .cast-showcase { padding: 30px 16px; }
}

/* Scroll-led growth story: the Lottie stays visible while the copy unfolds beside it. */
/* Keep the growth story between the location section (6) and intro strip (7).
   Flex order accepts integers; source order breaks the tie with the intro strip. */
main#continut > .growth-section { order: 7; }
.growth-section {
  min-height: 240vh;
  overflow: visible;
  color: var(--ilh-dark);
  background:
    linear-gradient(180deg, rgba(252, 255, 222, .96), rgba(252, 255, 222, .83)),
    url("../assets/visuals/texture-green.png") center / cover;
}
.growth-section__layout {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: clamp(44px, 8vw, 130px);
  min-height: 240vh;
}
.growth-section__visual { min-width: 0; }
.growth-section__visual-sticky {
  position: sticky;
  top: clamp(88px, 12vh, 150px);
  display: grid;
  align-content: start;
  gap: 22px;
  padding-top: clamp(28px, 8vh, 110px);
}
.growth-lottie {
  display: grid;
  width: 100%;
  max-width: 640px;
  min-width: 0;
  min-height: 220px;
  aspect-ratio: 3168 / 1620;
  place-items: center;
}
.growth-lottie svg { width: 100% !important; max-width: 100%; height: 100% !important; overflow: visible; }
.growth-section__phase {
  width: 100%;
  max-width: 540px;
  min-width: 0;
  min-height: 2.5em;
  margin: 0;
  color: var(--ilh-forest);
  font-size: clamp(20px, 2.2vw, 32px);
  font-weight: 700;
  letter-spacing: -.04em;
  line-height: 1.1;
  transition: opacity .24s ease, transform .24s ease;
}
.growth-section__phase.is-changing { opacity: 0; transform: translateY(8px); }
.growth-section__phase-detail {
  max-width: 540px;
  margin: -10px 0 0;
  color: rgba(61,85,12,.8);
  font-size: 15px;
  line-height: 1.55;
}
.growth-section__copy {
  max-width: 620px;
  padding: clamp(180px, 32vh, 430px) 0 clamp(100px, 20vh, 300px);
}
.growth-section__copy h2 {
  max-width: 670px;
  margin: 0 0 31px;
  color: var(--ilh-dark);
  font-size: clamp(45px, 5.2vw, 76px);
  letter-spacing: -.08em;
  line-height: .95;
}
.growth-section__copy h2 em { color: var(--ilh-forest); font-family: Georgia, "Times New Roman", serif; font-weight: 400; }
.growth-section__copy > p:not(.eyebrow), .growth-section__closing > p:last-child {
  max-width: 610px;
  margin: 0 0 22px;
  color: rgba(61, 85, 12, .84);
  font-size: clamp(17px, 1.65vw, 23px);
  line-height: 1.6;
}
.growth-section__closing {
  margin-top: clamp(70px, 12vh, 170px);
  padding-top: 28px;
  border-top: 1px solid rgba(61, 85, 12, .28);
}
.growth-section__closing > p:last-child { margin-bottom: 0; font-size: 14px; line-height: 1.55; }
.growth-section__final {
  margin: 0 0 16px;
  color: var(--ilh-forest);
  font-size: clamp(40px, 5.5vw, 78px);
  font-weight: 700;
  letter-spacing: -.08em;
  line-height: .95;
}
.growth-section__leaf {
  position: absolute;
  z-index: 0;
  width: min(360px, 32vw);
  pointer-events: none;
  user-select: none;
  opacity: .24;
  filter: blur(.2px);
  animation: growth-leaf-float 12s ease-in-out infinite;
}
.growth-section__leaf--top { top: 5%; right: clamp(64px, 6.5vw, 104px); transform: rotate(19deg); }
.growth-section__leaf--bottom { bottom: 5%; left: clamp(42px, 4vw, 72px); transform: rotate(-18deg) scale(.82); animation-delay: -5s; }
@keyframes growth-leaf-float {
  0%, 100% { margin-top: 0; }
  50% { margin-top: -10px; }
}
.growth-lottie[data-state="unavailable"]::after {
  content: "O poveste despre lucrurile pe care alegem să le hrănim.";
  max-width: 260px;
  color: var(--ilh-forest);
  font-size: 15px;
  line-height: 1.4;
  text-align: center;
}
@media (max-width: 780px) {
  /* The desktop scroll track stretches both rows on mobile, creating a large
     blank area before and after the animation. Keep a short visual track and
     let the copy size itself naturally in normal flow. */
  .growth-section { min-height: auto; padding: 0; }
  .growth-section__layout {
    grid-template-columns: 1fr;
    min-height: auto;
    align-content: start;
    gap: 0;
  }
  .growth-section__visual { min-height: 110vh; }
  .growth-section__visual-sticky { top: 70px; padding-top: 12px; }
  .growth-lottie { max-width: 600px; min-height: 150px; margin-inline: auto; }
  .growth-section__phase { font-size: 22px; }
  .growth-section__copy { max-width: none; min-height: auto; padding: 56px 0 64px; }
  .growth-section__copy h2 { font-size: clamp(40px, 11vw, 62px); }
  .growth-section__copy > p:not(.eyebrow) { font-size: 18px; }
  .growth-section__leaf { width: 240px; opacity: .16; }
}
@media (prefers-reduced-motion: reduce) {
  .growth-section, .growth-section__layout { min-height: auto; }
  .growth-section__layout { grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); padding: 100px 0; }
  .growth-section__visual-sticky { position: relative; top: auto; padding-top: 0; }
  .growth-section__copy { padding: 20px 0; }
  .growth-section__closing { margin-top: 50px; }
  .growth-section__leaf { animation: none; }
  .growth-section__phase { transition: none; }
}
@media (max-width: 780px) and (prefers-reduced-motion: reduce) {
  .growth-section__layout { grid-template-columns: 1fr; padding: 70px 0; }
}

/* Sharing is available inside the existing checkout without interrupting purchase. */
.checkout-share {
  padding-top: 26px;
  margin-top: 26px;
  border-top: 1px solid rgba(61,85,12,.18);
}
.checkout-share h3 { margin: 0 0 7px; color: var(--ilh-dark); font-size: 22px; letter-spacing: -.04em; }
.checkout-share > p { margin: 0 0 16px; color: var(--muted); font-size: 11px; line-height: 1.5; }
.checkout-share__fallback { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin-top: 10px; }
.checkout-share__fallback a,.checkout-share__fallback button {
  min-height: 42px; padding: 9px 10px; border: 1px solid rgba(61,85,12,.25); color: var(--ilh-dark); background: transparent; font-size: 10px; font-weight: 800; text-align: center;
}
.checkout-share__status { min-height: 18px; margin: 10px 0 0 !important; color: var(--ilh-forest) !important; font-weight: 700; }
@media (max-width: 780px) {
  .checkout-share__fallback { grid-template-columns: 1fr; }
}

/* Party choices keep the existing checkout flow, with a quick visual cue for each option. */
.party-picker button {
  min-height: 142px;
  align-items: center;
  text-align: center;
}
.party-picker__icon {
  display: grid;
  width: 42px;
  height: 42px;
  margin: 0 0 5px !important;
  place-items: center;
  color: var(--ilh-forest);
}
.party-picker__icon svg {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}
.party-picker button:hover .party-picker__icon,
.party-picker button.is-selected .party-picker__icon { color: var(--ilh-lime); }
.party-picker button:hover small,
.party-picker button.is-selected small { color: rgba(252, 255, 222, .82); }
@media (max-width: 780px) {
  .party-picker { grid-template-columns: 1fr; gap: 8px; }
  .party-picker button { min-height: 112px; padding: 12px; }
  .party-picker button small { display: block; }
  .party-picker__icon { width: 35px; height: 35px; }
}

/* Clarity pass: dark hero, readable content, botanical decoration only. */
.site-header {
  color: var(--ilh-cream);
  border-bottom-color: rgba(252, 255, 222, .16);
  background: rgba(61, 85, 12, .9);
}
.site-header .button--lime { color: var(--ilh-dark); background: var(--ilh-lime); }
.site-header .button--lime:hover { color: var(--ilh-cream); background: var(--ilh-forest); }
.site-header.is-stuck { color: var(--ilh-dark); border-bottom-color: rgba(61, 85, 12, .16); background: rgba(252, 255, 222, .97); }
.site-header.is-stuck .button--lime { color: var(--ilh-cream); background: var(--ilh-dark); }
.site-header.is-stuck .button--lime:hover { color: var(--ilh-dark); background: var(--ilh-lime); }

.hero {
  color: var(--ilh-cream);
  background:
    linear-gradient(118deg, rgba(49, 70, 8, .98) 0%, rgba(61, 85, 12, .97) 51%, rgba(62, 105, 19, .94) 100%),
    url("../assets/visuals/texture-green.png") center / cover;
}
.hero::before {
  background: linear-gradient(90deg, rgba(21, 33, 4, .36), rgba(21, 33, 4, .02) 68%), linear-gradient(0deg, rgba(21, 33, 4, .36), transparent 40%);
}
.hero::after { top: -17%; right: -10%; width: min(680px, 54vw); opacity: .23; filter: saturate(.85) contrast(1.05); }
.hero__aura, .hero__mesh, .hero__orbit { display: none; }
.hero__copy { max-width: 730px; }
.hero h1 { max-width: 760px; color: var(--ilh-cream); font-size: clamp(54px, 6.2vw, 98px); line-height: .93; text-wrap: balance; }
.hero h1 em { color: var(--ilh-lime); }
.hero__lede { max-width: 600px; color: rgba(252, 255, 222, .87); font-size: clamp(17px, 1.55vw, 20px); line-height: 1.68; }
.hero__details > div { border-left-color: var(--ilh-lime); }
.hero__details span { color: rgba(252, 255, 222, .72); font-size: 10px; }
.hero__details strong { color: var(--ilh-cream); font-size: 14px; }
.hero__note { color: rgba(252, 255, 222, .78); font-size: 12px; }
.hero__note-dot { background: var(--ilh-lime); }
.hero__wordmark { color: var(--ilh-lime); opacity: .88; text-shadow: 0 10px 35px rgba(21, 33, 4, .32); }
.hero__wordmark-i { color: var(--ilh-cream); }
.hero__stamp {
  width: 178px;
  height: auto;
  min-height: 74px;
  padding: 12px 14px;
  border-color: rgba(224, 252, 0, .76);
  border-radius: 10px;
  color: var(--ilh-lime);
  background: rgba(21, 33, 4, .5);
  box-shadow: 0 16px 34px rgba(21, 33, 4, .2);
  transform: rotate(7deg);
}
.hero__stamp::before, .hero__stamp::after { display: none; }
.hero__ticket-preview { border-color: rgba(252, 255, 222, .42); background: linear-gradient(145deg, rgba(61, 85, 12, .94), rgba(21, 33, 4, .86)); }
.hero__vertical { color: rgba(252, 255, 222, .58); }
.hero__marquee { border-top-color: rgba(252, 255, 222, .2); background: rgba(21, 33, 4, .54); }
.hero__marquee > div { color: rgba(252, 255, 222, .75); }
.hero__marquee i { color: var(--ilh-lime); }

.speakers::before, .experience__orb, .love-dinner__glow, .love-dinner__visual::before, .reel-proof__glow, .ticket-card::after, .why-card__shape, .why-card__date-orbit, .emotion::after, .proof::before, .proof__wall::after { display: none; }
.big-idea__mark { border-radius: 10px; }

.section-heading--split > p, .speakers__heading > p { font-size: 16px; line-height: 1.7; }
.speakers__heading { margin-bottom: 74px; }
.speakers__heading > p { color: rgba(61, 85, 12, .86); }
.lineup-card > div { min-height: 136px; padding: 20px 21px 22px; }
.lineup-card > div > span { font-size: 10px; }
.lineup-card h3 { font-size: 24px; }
.lineup-card p { color: rgba(252, 255, 222, .78); font-size: 12px; line-height: 1.55; }
.lineup-card--locked h3 { font-size: 17px; }
.cast-showcase { gap: clamp(42px, 6vw, 92px); }
.cast-showcase .cast-subsection__heading h3 { font-size: clamp(32px, 3.8vw, 52px); }
.cast-showcase .host-card__copy > span, .cast-showcase .music-card__copy > span { font-size: 10px; }
.cast-showcase .host-card h4, .cast-showcase .music-card h4 { font-size: clamp(23px, 2.2vw, 31px); }
.cast-showcase .host-card p, .cast-showcase .music-card p { font-size: 12px; line-height: 1.6; }

.reel-proof { position: relative; isolation: isolate; }
.reel-proof::after {
  position: absolute;
  z-index: -1;
  top: -20%;
  right: -14%;
  width: min(520px, 42vw);
  aspect-ratio: .75;
  content: "";
  opacity: .2;
  background: url("../assets/visuals/leaves.png") center / contain no-repeat;
  pointer-events: none;
  transform: rotate(26deg);
}
.reel-proof__heading > p { color: rgba(252, 255, 222, .82); font-size: 16px; }
.reel-carousel__controls > p { font-size: 10px; }
.reel-card__name { font-size: 15px; }

.hall__heading, .comparison__heading { margin-bottom: 72px; }
.ticket-card { min-height: 350px; padding: 30px; }
.ticket-card__top, .ticket-card__label { font-size: 10px; }
.ticket-card h3 { font-size: 42px; }
.ticket-card__price { font-size: 23px; }
.ticket-card__copy { max-width: 270px; min-height: 50px; color: #53682a; font-size: 14px; line-height: 1.6; }
.ticket-card__benefits { color: #4d6329; font-size: 12px; line-height: 1.5; }
.ticket-card__availability, .ticket-card__experience, .ticket-card__limit { font-size: 8px; }
.comparison th, .comparison td { padding: 22px 20px; font-size: 14px; }
.comparison thead th { font-size: 15px; }
.comparison tbody th { color: #4d6329; font-size: 13px; }
.comparison td { color: #53682a; }
.comparison__note { color: #5c6f31; font-size: 11px; }

.experience__copy > p:not(.eyebrow), .love-dinner__copy > p:not(.eyebrow), .proof__copy > p:not(.eyebrow) { color: rgba(252, 255, 222, .84); font-size: 16px; line-height: 1.75; }
.experience__caption { color: rgba(252, 255, 222, .88); font-size: 10px; }
.love-dinner__disclaimer { color: rgba(252, 255, 222, .82); background: rgba(21, 33, 4, .92); }

.faq summary { font-size: 17px; }
.faq details p { color: #53682a; font-size: 14px; line-height: 1.75; }
.faq__intro h2 { max-width: 720px; }
.footer__bottom > p, .footer__links a { font-size: 11px; }

@media (max-width: 780px) {
  .site-header { background: rgba(61, 85, 12, .94); }
  .nav__links { color: var(--ilh-dark); background: var(--ilh-cream); }
  .hero { min-height: auto; }
  .hero__layout { min-height: auto; }
  .hero__visual { display: none; }
  .hero h1 { font-size: clamp(49px, 13.1vw, 76px); }
  .hero__lede { max-width: 550px; font-size: 16px; }
  .speakers__heading { margin-bottom: 50px; }
  .lineup-card > div { min-height: 130px; }
  .ticket-card { min-height: 0; }
  .ticket-card__copy { min-height: 0; }
  .reel-proof::after { display: none; }
}

@media (max-width: 520px) {
  .hero { min-height: auto; }
  .hero__layout { min-height: auto; padding-top: 126px; }
  .hero h1 { font-size: clamp(44px, 13vw, 62px); }
  .hero__details strong { font-size: 12px; }
  .hero__stamp { min-height: 64px; font-size: 8px; }
  .hero__marquee > div { font-size: 8px; }
  .section-heading--split > p, .speakers__heading > p { font-size: 15px; }
  .lineup-card h3 { font-size: 23px; }
  .ticket-card h3 { font-size: 38px; }
  .faq summary { font-size: 16px; }
}

/* Feedback pass: sharpen the event cues and keep the botanical system legible. */
.announcement {
  min-height: 42px;
  gap: 16px;
  padding: 8px 24px;
  color: var(--ilh-cream);
  background: #2f4607;
  font-size: 12px;
  font-weight: 650;
  letter-spacing: .045em;
}
.announcement p { gap: 13px; }
.announcement strong { color: var(--ilh-lime); font-size: 12px; font-weight: 800; }
.announcement a { color: var(--ilh-cream); font-size: 11px; font-weight: 800; }
.announcement__pulse { width: 8px; height: 8px; background: var(--ilh-lime); box-shadow: 0 0 0 5px rgba(224, 252, 0, .18); }

.site-header .brand__logo { filter: none; }
.site-header.is-stuck .brand__logo {
  filter: brightness(0) saturate(100%) invert(25%) sepia(31%) saturate(1255%) hue-rotate(42deg) brightness(89%) contrast(93%);
}

.hero__stamp {
  transform-origin: center;
  animation: ilh-stamp-pulse 2.8s ease-in-out infinite;
}
.hero__wordmark-heart {
  position: relative;
  z-index: 1;
  animation: ilh-heartbeat 2.6s ease-in-out infinite;
}
.hero__ticket-preview { isolation: isolate; }
.hero__ticket-preview::before {
  position: absolute;
  z-index: 3;
  top: -9px;
  left: 50%;
  width: 15px;
  height: 15px;
  content: "";
  border: 2px solid rgba(252, 255, 222, .86);
  border-radius: 50%;
  background: var(--ilh-lime);
  box-shadow: 0 2px 0 rgba(21, 33, 4, .45), 0 7px 12px rgba(21, 33, 4, .28);
  transform: translateX(-50%);
}
.hero__ticket-preview::after {
  position: absolute;
  z-index: 2;
  top: 3px;
  left: calc(50% - 1px);
  width: 2px;
  height: 15px;
  content: "";
  background: rgba(252, 255, 222, .84);
  box-shadow: 0 2px 4px rgba(21, 33, 4, .35);
}

.speaker-media-pair {
  --ilh-speaker-media-height: min(620px, 48vw);
  align-items: center;
}
.speaker-media-pair .lineup-poster {
  width: auto;
  height: var(--ilh-speaker-media-height);
  margin-inline: auto;
}
.speaker-media-pair .lineup-poster img { width: auto; height: 100%; }
.speaker-media-pair .launch-film {
  width: auto;
  height: var(--ilh-speaker-media-height);
  max-width: 100%;
  margin-inline: auto;
}

.cast-showcase .cast-subsection {
  display: grid;
  grid-template-rows: 128px auto;
  align-items: start;
}
.cast-showcase .cast-subsection__heading { min-height: 128px; align-content: start; }
.cast-showcase .host-grid, .cast-showcase .music-grid { align-self: start; }

.map-zone--medium {
  color: var(--ilh-cream);
  border-color: var(--ilh-lime);
  background: rgba(224, 252, 0, .2);
  box-shadow: inset 0 0 0 1px rgba(252, 255, 222, .12), 0 0 25px rgba(224, 252, 0, .16);
}
.map-zone--medium::before { border-color: rgba(224, 252, 0, .72); }
.map-zone--medium .map-zone__seats { color: var(--ilh-lime); opacity: 1; }
.map-zone--medium .map-zone__tag { color: var(--ilh-cream); font-weight: 800; text-shadow: 0 2px 8px rgba(21, 33, 4, .7); }
.map-zone--medium .map-zone__position { color: var(--ilh-cream); opacity: .9; }
.map-zone--medium:hover, .map-zone--medium:focus-visible, .map-zone--medium.is-selected {
  color: var(--ilh-dark);
  background: var(--ilh-lime);
  box-shadow: 0 0 0 1px var(--ilh-lime), 0 0 34px rgba(224, 252, 0, .42);
}
.map-zone--medium:hover .map-zone__tag, .map-zone--medium:focus-visible .map-zone__tag, .map-zone--medium.is-selected .map-zone__tag,
.map-zone--medium:hover .map-zone__position, .map-zone--medium:focus-visible .map-zone__position, .map-zone--medium.is-selected .map-zone__position { color: var(--ilh-dark); text-shadow: none; }
.hall-map.has-selection .map-zone--medium:not(.is-selected) { opacity: .72; filter: none; }

.ticket-card__availability {
  padding: 8px 11px;
  color: var(--ilh-cream);
  border-color: var(--ilh-forest);
  background: var(--ilh-forest);
  box-shadow: 0 5px 14px rgba(61, 85, 12, .18);
  font-size: 9px;
  letter-spacing: .1em;
}

.why-card--date { isolation: isolate; }
.why-card--date::after {
  position: absolute;
  z-index: 0;
  right: -20%;
  bottom: -34%;
  width: 310px;
  aspect-ratio: .75;
  content: "";
  opacity: .2;
  background: url("../assets/visuals/leaves.png") center / contain no-repeat;
  pointer-events: none;
  transform: rotate(-20deg);
}
.why-card--date > * { position: relative; z-index: 1; }
.why-card--date > p:nth-of-type(2) {
  max-width: 290px;
  color: rgba(61, 85, 12, .94);
  font-size: clamp(12px, 1.05vw, 15px);
  font-weight: 700;
  line-height: 1.75;
}

.reel-proof { overflow: hidden; }
.reel-proof::before {
  position: absolute;
  z-index: 0;
  bottom: -32%;
  left: -15%;
  width: min(480px, 39vw);
  aspect-ratio: .75;
  content: "";
  opacity: .19;
  background: url("../assets/visuals/leaves.png") center / contain no-repeat;
  pointer-events: none;
  transform: rotate(-34deg);
}
.reel-proof > .shell { position: relative; z-index: 1; }

.final-cta {
  background:
    linear-gradient(rgba(239, 245, 189, .8), rgba(239, 245, 189, .94)),
    url("../assets/visuals/texture-green.png") center / cover;
}
.final-cta::after {
  position: absolute;
  z-index: 1;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 120px;
  content: "";
  background: linear-gradient(to bottom, rgba(239, 245, 189, 0), rgba(252, 255, 222, .9) 72%, var(--ilh-cream) 100%);
  pointer-events: none;
}
.final-cta__layout { z-index: 2; }
.footer-visual { background: #eff5bd; }
.footer-visual::before {
  background:
    linear-gradient(to bottom, transparent 55%, var(--ilh-dark) 100%);
}

@keyframes ilh-stamp-pulse {
  0%, 100% { transform: rotate(7deg) scale(1); box-shadow: 0 16px 34px rgba(21, 33, 4, .2); }
  50% { transform: rotate(7deg) scale(1.055); box-shadow: 0 18px 42px rgba(224, 252, 0, .18); }
}
@keyframes ilh-stamp-pulse-mobile {
  0%, 100% { transform: rotate(7deg) scale(.8); box-shadow: 0 16px 34px rgba(21, 33, 4, .2); }
  50% { transform: rotate(7deg) scale(.844); box-shadow: 0 18px 42px rgba(224, 252, 0, .18); }
}
@keyframes ilh-heartbeat {
  0%, 100% { transform: translateY(-.02em) scale(1); }
  10% { transform: translateY(-.02em) scale(1.055); }
  20% { transform: translateY(-.02em) scale(1.01); }
  30% { transform: translateY(-.02em) scale(1.075); }
  42% { transform: translateY(-.02em) scale(1); }
}

@media (max-width: 780px) {
  .announcement { min-height: 38px; gap: 8px; padding: 7px 16px; font-size: 10px; }
  .announcement strong, .announcement a { font-size: 10px; }
  .announcement__pulse { display: block; width: 6px; height: 6px; }
  .hero__stamp--top { transform: none; animation-name: ilh-stamp-pulse-mobile; }
  .speaker-media-pair { --ilh-speaker-media-height: auto; }
  .speaker-media-pair .lineup-poster { width: min(100%, 390px); height: auto; }
  .speaker-media-pair .lineup-poster img { width: 100%; height: auto; }
  .speaker-media-pair .launch-film { width: min(100%, 390px); height: auto; }
  .cast-showcase .cast-subsection { grid-template-rows: auto; }
  .cast-showcase .cast-subsection__heading { min-height: auto; }
  .why-card--date::after { width: 250px; opacity: .15; }
  .reel-proof::before { width: 300px; opacity: .13; }
}

@media (max-width: 520px) {
  .announcement p strong { display: none; }
  .announcement { justify-content: center; font-size: 9px; }
  .announcement a { margin-left: 0; font-size: 9px; }
  .announcement__pulse { display: none; }
  .reel-proof::before { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .hero__stamp, .hero__wordmark-heart { animation: none; }
}

/* Hall map: the VIP area uses the I Love Hope heart, not generic dots. */
.map-zone--advanced .map-zone__seats {
  inset: 10px;
  opacity: .96;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23e0fc00' d='M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z'/%3E%3C/svg%3E");
  background-size: 10px 10px;
  mask-image: linear-gradient(to bottom, transparent 0 4px, #000 5px);
}
.map-zone--advanced:hover .map-zone__seats,
.map-zone--advanced:focus-visible .map-zone__seats,
.map-zone--advanced.is-selected .map-zone__seats {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%233d550c' d='M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z'/%3E%3C/svg%3E");
}
.map-zone__tag small {
  display: block;
  max-width: 210px;
  margin-top: 7px;
  color: inherit;
  font-family: var(--font-sans);
  font-size: 7px;
  font-weight: 700;
  letter-spacing: .015em;
  line-height: 1.25;
  text-align: center;
}
.map-zone--advanced .map-zone__position { bottom: 7px; }
@media (max-width: 520px) {
  .map-zone__tag small { max-width: 160px; margin-top: 4px; font-size: 6px; }
  .map-zone--advanced .map-zone__seats { background-size: 9px 9px; }
}

/* Zone map backgrounds: use the supplied visual identity assets instead of the
   generic dot treatment. The tier silhouettes and click/selection behavior stay
   intact, while each zone now carries its own artwork. */
.map-zone {
  background-color: var(--ilh-cream);
  background-image: var(--zone-image);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  border-color: rgba(61, 85, 12, .38);
  color: var(--ilh-dark);
  box-shadow: none;
}
.map-zone--advanced { --zone-image: url("../assets/zone-backgrounds/love.png"); }
.map-zone--medium { --zone-image: url("../assets/zone-backgrounds/faith.png"); }
.map-zone--entry { --zone-image: url("../assets/zone-backgrounds/hope.png"); }
.map-zone::before { display: none; }
.map-zone__seats { display: none; }
.map-zone:hover,
.map-zone:focus-visible,
.map-zone.is-selected {
  background-color: var(--ilh-cream);
  background-image: var(--zone-image);
  background-position: center;
  background-size: cover;
  border-color: var(--ilh-lime);
  box-shadow: 0 0 0 2px var(--ilh-lime), 0 12px 28px rgba(61, 85, 12, .22);
  color: var(--ilh-dark);
  filter: saturate(1.06);
}
.map-zone--advanced .map-zone__tag,
.map-zone--medium .map-zone__tag,
.map-zone--entry .map-zone__tag,
.map-zone--advanced .map-zone__position,
.map-zone--medium .map-zone__position,
.map-zone--entry .map-zone__position {
  color: var(--ilh-dark) !important;
  text-shadow: 0 1px 2px rgba(252, 255, 222, .9) !important;
}

/* Faith and Hope keep the original, calmer seating treatment: subtle dots on
   the map, with the supplied artwork reserved for the LOVE tier. */
.map-zone--medium,
.map-zone--entry {
  --zone-image: none;
  background-color: rgba(252, 255, 222, .5);
  background-image: none;
  border-color: color-mix(in srgb, var(--zone) 58%, transparent);
  color: var(--ilh-dark);
}
.map-zone--medium .map-zone__seats,
.map-zone--entry .map-zone__seats {
  display: block;
  z-index: 0;
  inset: 10px;
  opacity: .9;
  background-image: radial-gradient(circle, currentColor 1.15px, transparent 1.9px);
  background-size: 11px 11px;
  color: rgba(252, 255, 222, .92) !important;
  mask-image: linear-gradient(to bottom, transparent 0 5px, #000 6px);
}
.map-zone--medium .map-zone__tag,
.map-zone--entry .map-zone__tag,
.map-zone--medium .map-zone__position,
.map-zone--entry .map-zone__position {
  color: var(--ilh-dark) !important;
  text-shadow: 0 1px 2px rgba(252, 255, 222, .85) !important;
}
.map-zone--medium:hover,
.map-zone--medium:focus-visible,
  .map-zone--medium.is-selected,
  .map-zone--entry:hover,
  .map-zone--entry:focus-visible,
  .map-zone--entry.is-selected {
  background-color: var(--zone);
  background-image: none;
  color: var(--white);
}
.map-zone--medium:hover .map-zone__tag,
.map-zone--medium:focus-visible .map-zone__tag,
.map-zone--medium.is-selected .map-zone__tag,
.map-zone--entry:hover .map-zone__tag,
.map-zone--entry:focus-visible .map-zone__tag,
.map-zone--entry.is-selected .map-zone__tag,
.map-zone--medium:hover .map-zone__position,
.map-zone--medium:focus-visible .map-zone__position,
.map-zone--medium.is-selected .map-zone__position,
.map-zone--entry:hover .map-zone__position,
.map-zone--entry:focus-visible .map-zone__position,
.map-zone--entry.is-selected .map-zone__position {
  color: var(--white) !important;
  text-shadow: 0 1px 6px rgba(0, 0, 0, .35) !important;
}
.map-zone--medium:hover .map-zone__seats,
.map-zone--medium:focus-visible .map-zone__seats,
.map-zone--medium.is-selected .map-zone__seats {
  color: rgba(61, 85, 12, .82) !important;
  opacity: .9;
}
.map-zone--entry:hover .map-zone__seats,
.map-zone--entry:focus-visible .map-zone__seats,
.map-zone--entry.is-selected .map-zone__seats {
  color: rgba(61, 85, 12, .64) !important;
  opacity: .9;
}
.hall-map.has-selection .map-zone--medium:not(.is-selected),
.hall-map.has-selection .map-zone--entry:not(.is-selected) {
  opacity: .72;
  filter: none;
}

/* Speaker stories: the card remains a compact preview while the dialog gives
   every confirmed speaker enough room for their complete story. */
.lineup-card[data-speaker-card] {
  cursor: pointer;
}
.lineup-card[data-speaker-card]:focus-visible {
  outline: 3px solid var(--ilh-lime);
  outline-offset: 4px;
}
.speaker-dialog {
  width: min(980px, calc(100vw - 28px));
  max-height: min(900px, calc(100svh - 28px));
  grid-template-columns: minmax(280px, .78fr) minmax(0, 1.22fr);
  padding: 0;
  overflow: hidden;
  color: var(--ilh-cream);
  border: 1px solid rgba(252, 255, 222, .32);
  border-radius: 22px;
  background: var(--ilh-dark);
  box-shadow: 0 28px 100px rgba(18, 28, 4, .55);
}
.speaker-dialog[open] { display: grid; }
.speaker-dialog::backdrop {
  background: rgba(18, 28, 4, .78);
  backdrop-filter: blur(7px);
}
.speaker-dialog__media {
  min-height: 640px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: var(--ilh-forest);
}
.speaker-dialog__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
.speaker-dialog__copy {
  min-height: 0;
  overflow: auto;
  padding: clamp(30px, 5vw, 58px);
  background:
    linear-gradient(145deg, rgba(61, 85, 12, .97), rgba(62, 105, 19, .94)),
    url("../assets/visuals/texture-green.png") center / cover;
}
.speaker-dialog__copy .eyebrow {
  flex-wrap: nowrap;
  white-space: nowrap;
}
.speaker-dialog__copy .eyebrow > span:last-child {
  white-space: nowrap;
}
.speaker-dialog__copy .eyebrow { color: var(--ilh-lime); }
.speaker-dialog__copy h2 {
  margin: 0 0 8px;
  color: var(--ilh-cream);
  font-size: clamp(36px, 5vw, 62px);
  letter-spacing: -.08em;
  line-height: .95;
}
.speaker-dialog__role {
  margin: 0 0 28px;
  color: var(--ilh-cream);
  font-size: 15px;
  font-weight: 800;
  line-height: 1.45;
}
.speaker-dialog__description {
  display: grid;
  gap: 16px;
  margin-bottom: 30px;
}
.speaker-dialog__description p {
  margin: 0;
  color: rgba(252, 255, 222, .84);
  font-size: 14px;
  line-height: 1.72;
}
.speaker-dialog__cta {
  padding-top: 24px;
  border-top: 1px solid rgba(252, 255, 222, .24);
}
.speaker-dialog__cta h3 {
  margin: 0 0 8px;
  color: var(--ilh-cream);
  font-size: clamp(25px, 3vw, 34px);
  letter-spacing: -.06em;
  line-height: 1.05;
}
.speaker-dialog__cta p {
  margin: 0 0 20px;
  color: rgba(252, 255, 222, .72);
  font-size: 13px;
  line-height: 1.55;
}
.speaker-dialog__close {
  top: 14px;
  right: 14px;
  border-color: rgba(61, 85, 12, .28);
  color: var(--ilh-dark);
  background: rgba(252, 255, 222, .94);
}
.speaker-dialog__close:hover {
  color: var(--ilh-dark);
  background: var(--ilh-lime);
}
@media (max-width: 780px) {
  .speaker-dialog {
    grid-template-columns: 1fr;
    max-height: calc(100svh - 18px);
    border-radius: 16px;
  }
  .speaker-dialog__media {
    min-height: 0;
    max-height: 38svh;
    aspect-ratio: 4 / 3;
  }
  .speaker-dialog__copy {
    max-height: calc(62svh - 18px);
    padding: 28px 22px 30px;
  }
  .speaker-dialog__description p { font-size: 13px; }
}
