/* Affordable Office Spaces — Event Spaces Premium v1
   Additive styles only. Shared website foundation remains in ../styles.css. */

.event-spaces-page { background: #f8fbfc; }
.event-spaces-page main { position: relative; }
.event-spaces-page h1,
.event-spaces-page h2,
.event-spaces-page h3 { text-wrap: balance; }
.event-spaces-page button:focus-visible,
.event-spaces-page a:focus-visible,
.event-spaces-page input:focus-visible,
.event-spaces-page select:focus-visible,
.event-spaces-page textarea:focus-visible { outline: 3px solid rgba(255,101,52,.35); outline-offset: 3px; }
.event-spaces-page .site-header { margin-bottom: 0; }
.event-spaces-page .section-heading h2,
.es-section-heading h2 { margin: 0; font-family: var(--font-display); font-size: clamp(2.65rem,4.7vw,5.35rem); letter-spacing: -.065em; line-height: 1.03; }
.event-spaces-page h2 em,
.event-spaces-page h1 em { color: var(--orange); font-style: normal; }
.es-section-heading { display: grid; grid-template-columns: minmax(520px,1.12fr) minmax(320px,.62fr); align-items: end; gap: clamp(42px,7vw,110px); margin-bottom: 58px; }
.es-section-heading > p { max-width: 590px; margin: 0 0 8px; color: var(--muted); line-height: 1.8; }
.es-section-heading--light { color: #fff; }
.es-section-heading--light > p { color: rgba(255,255,255,.58); }

/* Intro ----------------------------------------------------------------- */
.es-intro { position: relative; z-index: 1; min-height: 1030px; margin-top: -96px; padding: 185px 0 62px; overflow: hidden; background: radial-gradient(circle at 12% 13%,rgba(100,217,207,.2),transparent 28%),radial-gradient(circle at 88% 16%,rgba(255,101,52,.18),transparent 25%),linear-gradient(155deg,#f7fbfc 0,#eef8f8 44%,#fff7f1 100%); }
.es-intro::after { content: ""; position: absolute; right: -9%; bottom: -28%; width: 760px; height: 760px; border: 1px solid rgba(16,42,51,.06); border-radius: 50%; box-shadow: 0 0 0 90px rgba(100,217,207,.035),0 0 0 180px rgba(255,101,52,.025); pointer-events: none; }
.es-intro__grid { position: absolute; inset: 0; opacity: .38; background-image: linear-gradient(rgba(16,42,51,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(16,42,51,.045) 1px,transparent 1px); background-size: 58px 58px; mask-image: linear-gradient(to bottom,black 0,transparent 86%); }
.es-intro__glow { position: absolute; border-radius: 50%; filter: blur(10px); pointer-events: none; }
.es-intro__glow--one { top: 120px; left: -230px; width: 620px; height: 620px; background: radial-gradient(circle,rgba(100,217,207,.22),transparent 68%); }
.es-intro__glow--two { top: 60px; right: -250px; width: 720px; height: 720px; background: radial-gradient(circle,rgba(255,101,52,.17),transparent 67%); }
.es-particle-canvas { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.es-breadcrumb { position: relative; z-index: 2; display: flex; align-items: center; gap: 9px; margin-bottom: 42px; color: var(--muted); font-size: 0.86rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.es-breadcrumb a { transition: color .25s ease; }
.es-breadcrumb a:hover { color: var(--orange); }
.es-breadcrumb strong { color: var(--ink); }
.es-intro__layout { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(500px,.96fr) minmax(570px,1.04fr); align-items: center; gap: clamp(44px,6vw,95px); }
.es-intro__copy h1 { max-width: 810px; margin: 18px 0 0; font-family: var(--font-display); font-size: clamp(3.8rem,6.2vw,7.15rem); letter-spacing: -.078em; line-height: .96; }
.es-intro__copy h1 span { display: block; }
.es-intro__lead { max-width: 740px; margin: 30px 0 0; color: var(--ink-soft); font-size: clamp(1.05rem,1.15vw,1.08rem); line-height: 1.82; }
.es-intro__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 31px; }
.es-intro__signals { display: flex; flex-wrap: wrap; align-items: center; gap: 11px; margin-top: 26px; color: var(--muted); font-size: 0.84rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.es-intro__signals span { display: inline-flex; align-items: center; gap: 8px; }
.es-intro__signals i { width: 8px; height: 8px; border-radius: 50%; background: var(--aqua-deep); box-shadow: 0 0 0 5px rgba(100,217,207,.14); }
.es-intro__signals b { color: rgba(16,42,51,.25); }
.es-perspective { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 20px; max-width: 690px; margin-top: 26px; padding: 17px 18px 17px 20px; border-radius: 22px; transition: transform .35s var(--ease),box-shadow .35s ease; }
.es-perspective.is-changing { transform: translateY(-2px); }
.es-perspective small,.es-perspective strong { display: block; }
.es-perspective small { color: var(--orange); font-size: 0.84rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.es-perspective strong { margin-top: 6px; font-family: var(--font-display); font-size: 0.9rem; line-height: 1.45; }
.es-perspective button { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 13px; border: 1px solid rgba(16,42,51,.1); border-radius: 999px; background: rgba(255,255,255,.62); font-size: 0.84rem; font-weight: 800; }
.es-perspective button span { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 50%; color: white; background: var(--ink-deep); transition: transform .4s var(--ease); }
.es-perspective[data-es-perspective="host"] button span { transform: rotate(180deg); background: var(--orange); }
.es-intro__facts { display: grid; grid-template-columns: repeat(3,1fr); gap: 9px; margin-top: 18px; }
.es-intro__facts article { padding: 14px 14px 16px; border: 1px solid rgba(16,42,51,.08); border-radius: 17px; background: rgba(255,255,255,.43); }
.es-intro__facts small,.es-intro__facts strong { display: block; }
.es-intro__facts small { color: var(--aqua-deep); font-size: .82rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.es-intro__facts strong { margin-top: 6px; font-size: 0.84rem; line-height: 1.45; }

.es-hero { position: relative; min-height: 705px; perspective: 1400px; }
.es-hero__frame { position: absolute; inset: 16px 0 58px 58px; overflow: hidden; border: 1px solid rgba(255,255,255,.68); border-radius: 48px 48px 120px 48px; background: var(--ink-deep); box-shadow: var(--shadow-lg); }
.es-hero__images { position: absolute; inset: 0; }
.es-hero-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.06); transition: opacity .9s ease,transform 7s linear; }
.es-hero-image.is-active { opacity: 1; transform: scale(1); }
.es-hero__wash { position: absolute; inset: 0; background: linear-gradient(180deg,rgba(4,18,24,.08),rgba(4,18,24,.18) 45%,rgba(4,18,24,.78)),linear-gradient(115deg,rgba(4,18,24,.22),transparent 58%); }
.es-hero[data-es-hero-stage="celebration"] .es-hero__wash { background: linear-gradient(180deg,rgba(28,9,15,.02),rgba(91,28,29,.22) 50%,rgba(44,11,21,.82)),linear-gradient(115deg,rgba(255,101,52,.12),transparent 56%); }
.es-hero[data-es-hero-stage="quinceanera"] .es-hero__wash { background: linear-gradient(180deg,rgba(12,4,28,.04),rgba(66,27,94,.22) 48%,rgba(19,8,38,.84)),linear-gradient(115deg,rgba(255,101,52,.12),rgba(100,217,207,.08) 50%,transparent 72%); }
.es-hero[data-es-hero-stage="performance"] .es-hero__wash { background: linear-gradient(180deg,rgba(4,9,18,.04),rgba(8,38,48,.22) 45%,rgba(3,17,25,.86)),radial-gradient(circle at 50% 35%,rgba(255,174,117,.16),transparent 40%); }
.es-hero[data-es-hero-stage="community"] .es-hero__wash { background: linear-gradient(180deg,rgba(4,18,24,.03),rgba(6,63,66,.2) 48%,rgba(4,29,33,.84)),linear-gradient(115deg,rgba(100,217,207,.14),transparent 58%); }
.es-confetti { position: absolute; inset: 0; overflow: hidden; opacity: .58; pointer-events: none; }
.es-confetti i { position: absolute; width: 5px; height: 18px; border-radius: 3px; background: rgba(255,255,255,.74); animation: esFloatConfetti 8s ease-in-out infinite; }
.es-confetti i:nth-child(1){top:12%;left:14%;transform:rotate(24deg)}.es-confetti i:nth-child(2){top:22%;right:18%;height:6px;width:18px;background:rgba(100,217,207,.8);animation-delay:-2s}.es-confetti i:nth-child(3){top:38%;left:7%;background:rgba(255,101,52,.8);animation-delay:-4s}.es-confetti i:nth-child(4){top:8%;left:58%;height:7px;width:7px;border-radius:50%;animation-delay:-3s}.es-confetti i:nth-child(5){top:47%;right:7%;height:10px;width:10px;border-radius:50%;background:rgba(255,174,117,.85);animation-delay:-5s}.es-confetti i:nth-child(6){top:63%;left:28%;height:5px;width:16px;background:rgba(100,217,207,.72);animation-delay:-1s}
@keyframes esFloatConfetti { 50% { transform: translateY(18px) rotate(85deg); } }
.es-hero__caption { position: absolute; right: 28px; bottom: 26px; left: 29px; color: #fff; }
.es-hero__caption span,.es-hero__caption strong { display: block; }
.es-hero__caption span { color: var(--aqua); font-size: 0.84rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.es-hero__caption strong { max-width: 500px; margin-top: 7px; font-family: var(--font-display); font-size: 1.12rem; line-height: 1.35; }
.es-console { position: absolute; z-index: 5; top: 4px; left: 0; width: min(330px,46%); padding: 22px; border-radius: 29px; }
.es-console__top { display: flex; align-items: center; justify-content: space-between; gap: 16px; color: var(--muted); font-size: .82rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.es-console__top span { display: flex; align-items: center; gap: 8px; }
.es-console__top i { width: 7px; height: 7px; border-radius: 50%; background: #58d99f; box-shadow: 0 0 0 5px rgba(88,217,159,.12); }
.es-console__orb { position: relative; width: 92px; height: 92px; margin: 19px auto 15px; border: 1px solid rgba(16,42,51,.1); border-radius: 50%; }
.es-console__orb::before,.es-console__orb::after { content: ""; position: absolute; inset: 13px; border: 1px dashed rgba(17,123,120,.22); border-radius: inherit; animation: esSpin 10s linear infinite; }
.es-console__orb::after { inset: 28px; border-style: solid; border-color: rgba(255,101,52,.18); animation-direction: reverse; animation-duration: 7s; }
.es-console__orb i { position: absolute; top: -4px; left: 50%; width: 9px; height: 9px; border-radius: 50%; background: var(--orange); box-shadow: 0 0 0 6px rgba(255,101,52,.12); transform: translateX(-50%); }
.es-console__orb span { position: absolute; inset: 36px; border-radius: 50%; background: linear-gradient(135deg,var(--orange),var(--aqua)); box-shadow: 0 0 26px rgba(100,217,207,.3); }
.es-console__orb b { position: absolute; right: 4px; bottom: 13px; width: 7px; height: 7px; border-radius: 50%; background: var(--aqua-deep); }
@keyframes esSpin { to { transform: rotate(360deg); } }
.es-console > small { color: var(--orange); font-size: .82rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.es-console h2 { margin: 7px 0 9px; font-family: var(--font-display); font-size: 1.17rem; letter-spacing: -.045em; line-height: 1.15; }
.es-console > p { margin: 0; color: var(--muted); font-size: 0.84rem; line-height: 1.6; }
.es-console__metrics { display: grid; grid-template-columns: repeat(3,1fr); gap: 6px; margin-top: 17px; }
.es-console__metrics span { padding: 9px 7px; border: 1px solid rgba(16,42,51,.08); border-radius: 12px; background: rgba(255,255,255,.46); text-align: center; }
.es-console__metrics small,.es-console__metrics strong { display: block; }
.es-console__metrics small { color: var(--muted); font-size: .82rem; font-weight: 800; text-transform: uppercase; }
.es-console__metrics strong { margin-top: 3px; font-size: .82rem; }
.es-pulse-card { position: absolute; z-index: 6; right: -18px; bottom: 86px; width: 240px; padding: 17px 18px; border-radius: 22px; }
.es-pulse-card > small { color: var(--orange); font-size: .82rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.es-pulse-card > div { display: flex; align-items: end; gap: 5px; height: 39px; margin: 8px 0 7px; }
.es-pulse-card > div i { display: block; width: 14%; height: 35%; border-radius: 5px 5px 2px 2px; background: linear-gradient(to top,var(--aqua-deep),var(--aqua)); animation: esPulseBar 2.4s ease-in-out infinite; }
.es-pulse-card > div i:nth-child(2){height:72%;animation-delay:-.4s}.es-pulse-card > div i:nth-child(3){height:48%;animation-delay:-.8s}.es-pulse-card > div i:nth-child(4){height:90%;background:linear-gradient(to top,var(--orange-deep),var(--orange-soft));animation-delay:-1.2s}.es-pulse-card > div i:nth-child(5){height:62%;animation-delay:-1.6s}
@keyframes esPulseBar { 50% { transform: scaleY(.7); opacity: .66; } }
.es-pulse-card > strong { display: block; font-size: 0.82rem; line-height: 1.4; }
.es-local-card { position: absolute; z-index: 6; right: 18px; top: 100px; display: flex; align-items: center; gap: 10px; min-width: 170px; padding: 12px 14px; border-radius: 18px; }
.es-local-card > span { display: grid; place-items: center; width: 31px; height: 31px; border-radius: 11px; color: white; background: var(--ink-deep); font-size: 0.93rem; }
.es-local-card small,.es-local-card strong { display: block; }
.es-local-card small { color: var(--muted); font-size: .82rem; font-weight: 800; text-transform: uppercase; }
.es-local-card strong { margin-top: 2px; font-size: 0.82rem; }

.es-mode-switcher { position: relative; z-index: 3; display: grid; grid-template-columns: 330px 1fr; align-items: stretch; margin-top: 28px; overflow: hidden; border-radius: 27px; }
.es-mode-switcher__label { position: relative; display: flex; align-items: center; gap: 14px; min-height: 84px; padding: 16px 19px; color: white; background: var(--ink-deep); }
.es-mode-switcher__label > div:first-child { min-width: 0; flex: 1; }
.es-mode-switcher__label small,.es-mode-switcher__label strong { display: block; }
.es-mode-switcher__label small { color: var(--aqua); font-size: .82rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.es-mode-switcher__label strong { margin-top: 5px; overflow: hidden; font-size: 0.82rem; text-overflow: ellipsis; white-space: nowrap; }
.es-mode-switcher__label button { display: grid; place-items: center; width: 43px; height: 43px; flex: 0 0 auto; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; color: white; background: rgba(255,255,255,.07); }
.es-mode-switcher__label button b { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
.es-mode-switcher__signal { position: absolute; inset: auto 0 0; height: 3px; background: rgba(255,255,255,.08); }
.es-mode-switcher__signal span { display: block; width: 0; height: 100%; background: linear-gradient(90deg,var(--aqua),var(--orange)); }
.es-mode-switcher:not(.is-paused) .es-mode-switcher__signal span.is-running { animation: esModeProgress 9s linear forwards; }
@keyframes esModeProgress { to { width: 100%; } }
.es-mode-switcher__buttons { display: grid; grid-template-columns: repeat(5,1fr); }
.es-mode-switcher__buttons button { position: relative; min-width: 0; min-height: 84px; padding: 14px 9px; border: 0; border-right: 1px solid rgba(16,42,51,.08); background: rgba(255,255,255,.62); font-size: 0.84rem; font-weight: 800; transition: color .25s ease,background .25s ease; }
.es-mode-switcher__buttons button span { display: block; margin-bottom: 4px; color: var(--orange); font-family: var(--font-display); font-size: .82rem; }
.es-mode-switcher__buttons button::after { content: ""; position: absolute; inset: auto 16px 10px; height: 2px; border-radius: 99px; background: linear-gradient(90deg,var(--orange),var(--aqua)); transform: scaleX(0); transition: transform .3s var(--ease); }
.es-mode-switcher__buttons button.is-active { color: white; background: linear-gradient(135deg,#0b313a,#102a33); }
.es-mode-switcher__buttons button.is-active::after { transform: scaleX(1); }

/* Proof and page rail ---------------------------------------------------- */
.es-proof { position: relative; z-index: 3; color: white; background: var(--ink-deep); }
.es-proof__rail { display: grid; grid-template-columns: repeat(4,1fr); }
.es-proof article { display: grid; grid-template-columns: 45px 1fr; align-items: start; gap: 14px; min-height: 142px; padding: 31px 24px; border-right: 1px solid rgba(255,255,255,.09); }
.es-proof article:last-child { border-right: 0; }
.es-proof article > span { color: var(--orange); font-family: var(--font-display); font-size: 0.9rem; }
.es-proof small,.es-proof strong { display: block; }
.es-proof small { color: var(--aqua); font-size: .82rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.es-proof strong { margin-top: 8px; font-size: 0.86rem; line-height: 1.55; }
.es-page-rail { position: sticky; z-index: 90; top: 82px; height: 0; pointer-events: none; transform: translateY(14px); }
.es-page-rail__inner { position: relative; display: flex; align-items: center; gap: 20px; min-height: 61px; padding: 0 10px 0 16px; overflow: hidden; border-radius: 20px; pointer-events: auto; opacity: 0; transform: translateY(-18px); transition: opacity .35s ease,transform .35s var(--ease); }
.es-page-rail.is-visible .es-page-rail__inner { opacity: 1; transform: none; }
.es-page-rail__identity { display: flex; align-items: center; gap: 9px; flex: 0 0 auto; font-family: var(--font-display); font-size: 0.84rem; font-weight: 800; }
.es-page-rail__identity i { width: 8px; height: 8px; border-radius: 50%; background: var(--orange); box-shadow: 0 0 0 5px rgba(255,101,52,.1); }
.es-page-rail__links { display: flex; align-items: center; justify-content: center; gap: 6px; margin: 0 auto; }
.es-page-rail__links a { padding: 10px 9px; border-radius: 999px; color: var(--muted); font-size: .82rem; font-weight: 800; transition: color .2s ease,background .2s ease; }
.es-page-rail__links a:hover,.es-page-rail__links a.is-active { color: var(--ink); background: rgba(100,217,207,.12); }
.es-page-rail__cta { display: inline-flex; align-items: center; gap: 8px; min-height: 41px; padding: 0 15px; flex: 0 0 auto; border-radius: 999px; color: white; background: var(--orange); font-size: 0.82rem; font-weight: 800; }
.es-page-rail__progress { position: absolute; inset: auto 0 0; height: 2px; background: rgba(16,42,51,.06); }
.es-page-rail__progress span { display: block; width: 0; height: 100%; background: linear-gradient(90deg,var(--orange),var(--aqua)); }

/* Orbit ----------------------------------------------------------------- */
.es-orbit-section { overflow: hidden; color: white; background: radial-gradient(circle at 18% 5%,rgba(100,217,207,.12),transparent 30%),radial-gradient(circle at 87% 70%,rgba(255,101,52,.13),transparent 30%),linear-gradient(135deg,#061a22,#0a3039 58%,#0b4244); }
.es-orbit-section__aurora { position: absolute; top: -260px; right: -240px; width: 780px; height: 780px; border-radius: 50%; background: radial-gradient(circle,rgba(100,217,207,.17),transparent 67%); filter: blur(18px); }
.es-orbit { position: relative; z-index: 2; display: grid; grid-template-columns: 255px minmax(430px,.95fr) minmax(350px,.75fr); gap: 21px; align-items: stretch; }
.es-orbit__controls { display: grid; gap: 8px; }
.es-orbit__controls button { display: grid; grid-template-columns: 37px 1fr; align-items: center; gap: 12px; min-height: 72px; padding: 11px 13px; border: 1px solid rgba(255,255,255,.08); border-radius: 18px; color: rgba(255,255,255,.55); background: rgba(255,255,255,.035); text-align: left; transition: transform .3s var(--ease),background .3s ease,border-color .3s ease,color .3s ease; }
.es-orbit__controls button:hover { transform: translateX(4px); }
.es-orbit__controls button > span { display: grid; place-items: center; width: 37px; height: 37px; border-radius: 12px; color: var(--aqua); background: rgba(100,217,207,.08); font-family: var(--font-display); font-size: 0.82rem; }
.es-orbit__controls strong,.es-orbit__controls small { display: block; }
.es-orbit__controls strong { font-family: var(--font-display); font-size: 0.88rem; }
.es-orbit__controls small { margin-top: 3px; color: rgba(255,255,255,.34); font-size: .82rem; }
.es-orbit__controls button.is-active { color: white; border-color: rgba(255,101,52,.32); background: linear-gradient(135deg,rgba(255,101,52,.16),rgba(100,217,207,.07)); box-shadow: inset 3px 0 0 var(--orange); }
.es-orbit__controls button.is-active > span { color: white; background: var(--orange); box-shadow: 0 8px 24px rgba(255,101,52,.22); }
.es-orbit__visual { position: relative; display: grid; place-items: center; min-height: 530px; overflow: hidden; border: 1px solid rgba(255,255,255,.09); border-radius: 38px 38px 100px 38px; background: radial-gradient(circle at 50% 45%,rgba(100,217,207,.1),transparent 34%),linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018)); box-shadow: inset 0 1px 0 rgba(255,255,255,.05); }
.es-orbit__rings { position: absolute; inset: 54px; }
.es-orbit__rings i { position: absolute; inset: 0; border: 1px solid rgba(255,255,255,.09); border-radius: 50%; animation: esSpin 22s linear infinite; }
.es-orbit__rings i:nth-child(2) { inset: 14%; border-style: dashed; border-color: rgba(100,217,207,.16); animation-direction: reverse; animation-duration: 17s; }
.es-orbit__rings i:nth-child(3) { inset: 29%; border-color: rgba(255,101,52,.16); animation-duration: 11s; }
.es-orbit__nodes i { position: absolute; width: 15px; height: 15px; border: 4px solid rgba(5,27,35,.88); border-radius: 50%; background: var(--aqua); box-shadow: 0 0 0 7px rgba(100,217,207,.09),0 0 24px rgba(100,217,207,.38); transition: transform .55s var(--ease),background .3s ease; }
.es-orbit__nodes [data-node="arrival"]{top:20%;left:25%}.es-orbit__nodes [data-node="focus"]{top:18%;right:22%}.es-orbit__nodes [data-node="social"]{bottom:19%;right:23%}.es-orbit__nodes [data-node="close"]{bottom:18%;left:24%}
.es-orbit[data-es-orbit="celebration"] .es-orbit__nodes i,.es-orbit[data-es-orbit="quinceanera"] .es-orbit__nodes i { background: var(--orange-soft); }
.es-orbit[data-es-orbit="performance"] .es-orbit__nodes [data-node="focus"] { transform: scale(1.7); background: var(--orange); }
.es-orbit__core { position: relative; z-index: 3; display: grid; place-items: center; width: 210px; height: 210px; padding: 30px; border: 1px solid rgba(255,255,255,.11); border-radius: 50%; text-align: center; background: radial-gradient(circle at 35% 25%,rgba(255,255,255,.12),transparent 36%),rgba(5,29,36,.84); box-shadow: 0 28px 70px rgba(0,0,0,.3),inset 0 0 45px rgba(100,217,207,.05); }
.es-orbit__core small,.es-orbit__core strong,.es-orbit__core span { display: block; }
.es-orbit__core small { color: var(--aqua); font-size: .82rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.es-orbit__core strong { margin-top: 9px; font-family: var(--font-display); font-size: 1.42rem; letter-spacing: -.045em; }
.es-orbit__core span { margin-top: 8px; color: rgba(255,255,255,.47); font-size: 0.84rem; }
.es-orbit__meter { position: absolute; right: 31px; bottom: 30px; left: 31px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; }
.es-orbit__meter span,.es-orbit__meter strong { font-size: .82rem; font-weight: 800; text-transform: uppercase; }
.es-orbit__meter span { color: rgba(255,255,255,.35); }
.es-orbit__meter strong { color: var(--aqua); }
.es-orbit__meter > i { height: 5px; overflow: hidden; border-radius: 99px; background: rgba(255,255,255,.08); }
.es-orbit__meter b { display: block; width: 62%; height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--aqua),var(--orange)); transition: width .55s var(--ease); }
.es-orbit__story { display: flex; flex-direction: column; padding: 28px; border-radius: 35px 35px 78px 35px; color: var(--ink); }
.es-orbit__story > span { color: var(--orange); font-family: var(--font-display); font-size: 2.7rem; font-weight: 700; letter-spacing: -.08em; }
.es-orbit__story > small { color: var(--aqua-deep); font-size: .82rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.es-orbit__story h3 { margin: 8px 0 12px; font-family: var(--font-display); font-size: 1.45rem; letter-spacing: -.045em; line-height: 1.13; }
.es-orbit__story > p { margin: 0; color: var(--muted); font-size: 0.88rem; line-height: 1.68; }
.es-orbit__lenses { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 19px; }
.es-orbit__lenses > div { padding: 14px; border: 1px solid rgba(16,42,51,.08); border-radius: 16px; background: rgba(255,255,255,.46); }
.es-orbit__lenses small,.es-orbit__lenses strong { display: block; }
.es-orbit__lenses small { color: var(--orange); font-size: .82rem; font-weight: 800; text-transform: uppercase; }
.es-orbit__lenses strong { margin-top: 6px; font-size: 0.82rem; line-height: 1.45; }
.es-orbit__questions { margin-top: 20px; }
.es-orbit__questions > small { color: var(--aqua-deep); font-size: .82rem; font-weight: 800; text-transform: uppercase; }
.es-orbit__questions ul { display: grid; gap: 7px; margin: 10px 0 0; padding: 0; list-style: none; }
.es-orbit__questions li { position: relative; padding-left: 16px; color: var(--muted); font-size: 0.82rem; line-height: 1.5; }
.es-orbit__questions li::before { content: ""; position: absolute; top: .55em; left: 0; width: 6px; height: 6px; border-radius: 50%; background: var(--orange); box-shadow: 0 0 0 4px rgba(255,101,52,.09); }
.es-orbit__story .button { align-self: flex-start; min-height: 49px; margin-top: auto; padding-inline: 18px; font-size: 0.86rem; }

/* Guest flow ------------------------------------------------------------- */
.es-flow-section { background: linear-gradient(180deg,#f8fbfc,#eef7f8 60%,#fbfdfd); }
.es-flow__top { display: flex; align-items: center; justify-content: space-between; gap: 22px; margin-bottom: 16px; }
.es-flow__tabs { display: grid; grid-template-columns: repeat(6,1fr); gap: 8px; flex: 1; }
.es-flow__tabs button { min-height: 66px; padding: 10px 8px; border: 1px solid var(--line); border-radius: 16px; background: rgba(255,255,255,.67); font-size: 0.82rem; font-weight: 800; transition: transform .25s var(--ease),background .25s ease,color .25s ease,border-color .25s ease; }
.es-flow__tabs button span { display: block; margin-bottom: 4px; color: var(--orange); font-family: var(--font-display); font-size: .82rem; }
.es-flow__tabs button:hover { transform: translateY(-2px); }
.es-flow__tabs button.is-active { color: white; border-color: transparent; background: var(--ink-deep); box-shadow: 0 12px 28px rgba(7,28,36,.16); }
.es-flow__view { display: flex; gap: 4px; padding: 4px; flex: 0 0 auto; border: 1px solid var(--line); border-radius: 999px; background: rgba(255,255,255,.72); }
.es-flow__view button { min-height: 42px; padding: 0 15px; border: 0; border-radius: 999px; background: transparent; font-size: 0.84rem; font-weight: 800; }
.es-flow__view button.is-active { color: white; background: var(--orange); }
.es-flow__grid { display: grid; grid-template-columns: minmax(620px,1.08fr) minmax(360px,.68fr); gap: 20px; }
.es-flow__map { min-height: 570px; padding: 28px; overflow: hidden; border-radius: 38px 38px 95px 38px; }
.es-flow__map-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; color: var(--muted); font-size: .82rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.es-flow__map-top span { display: flex; align-items: center; gap: 8px; }
.es-flow__map-top i { width: 8px; height: 8px; border-radius: 50%; background: var(--aqua-deep); box-shadow: 0 0 0 5px rgba(100,217,207,.13); }
.es-flow__route { display: block; width: 100%; height: 350px; margin-top: 15px; overflow: visible; }
.es-flow__route-base { fill: none; stroke: rgba(16,42,51,.08); stroke-width: 7; stroke-linecap: round; }
.es-flow__route-live { fill: none; stroke: url(#esRouteGradient); stroke-width: 7; stroke-linecap: round; stroke-dasharray: 940; stroke-dashoffset: 0; filter: drop-shadow(0 5px 12px rgba(255,101,52,.18)); transition: stroke-dashoffset .7s var(--ease); }
.es-flow__stations g { cursor: pointer; }
.es-flow__stations circle { fill: #fff; stroke: rgba(16,42,51,.13); stroke-width: 2; transition: fill .3s ease,stroke .3s ease,transform .3s var(--ease); }
.es-flow__stations text { fill: var(--muted); font: 800 13px var(--font-display); text-anchor: middle; dominant-baseline: central; }
.es-flow__stations g.is-active circle { fill: var(--orange); stroke: rgba(255,101,52,.2); transform: scale(1.18); transform-box: fill-box; transform-origin: center; filter: drop-shadow(0 7px 13px rgba(255,101,52,.25)); }
.es-flow__stations g.is-active text { fill: #fff; }
.es-flow__zones { display: grid; grid-template-columns: repeat(4,1fr); gap: 7px; margin-top: -12px; }
.es-flow__zones span { padding: 9px; border: 1px solid rgba(16,42,51,.07); border-radius: 12px; color: var(--muted); background: rgba(255,255,255,.4); font-size: .82rem; font-weight: 800; text-align: center; text-transform: uppercase; }
.es-flow__status { display: grid; grid-template-columns: 120px 1fr; gap: 13px; align-items: center; margin-top: 20px; padding: 16px; border: 1px solid rgba(17,123,120,.12); border-radius: 18px; background: rgba(100,217,207,.07); }
.es-flow__status small { color: var(--aqua-deep); font-size: .82rem; font-weight: 800; text-transform: uppercase; }
.es-flow__status strong { font-size: 0.84rem; line-height: 1.5; }
.es-flow__story { display: flex; flex-direction: column; min-height: 570px; padding: 31px; border-radius: 38px 38px 95px 38px; }
.es-flow__story > span { color: var(--orange); font-family: var(--font-display); font-size: 2.8rem; font-weight: 700; letter-spacing: -.08em; }
.es-flow__story > small { color: var(--aqua-deep); font-size: .82rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.es-flow__story h3 { margin: 8px 0 13px; font-family: var(--font-display); font-size: 1.62rem; letter-spacing: -.05em; line-height: 1.12; }
.es-flow__story > p { margin: 0; color: var(--muted); font-size: 0.88rem; line-height: 1.7; }
.es-flow__split { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 22px; }
.es-flow__split > div { padding: 15px; border: 1px solid rgba(16,42,51,.08); border-radius: 16px; background: rgba(255,255,255,.46); }
.es-flow__split small,.es-flow__split strong { display: block; }
.es-flow__split small { color: var(--orange); font-size: .82rem; font-weight: 800; text-transform: uppercase; }
.es-flow__split strong { margin-top: 6px; font-size: 0.82rem; line-height: 1.48; }
.es-flow__question { margin-top: 20px; padding: 16px; border-left: 3px solid var(--aqua-deep); border-radius: 0 16px 16px 0; background: rgba(100,217,207,.075); }
.es-flow__question small,.es-flow__question strong { display: block; }
.es-flow__question small { color: var(--aqua-deep); font-size: .82rem; font-weight: 800; text-transform: uppercase; }
.es-flow__question strong { margin-top: 6px; font-size: 0.84rem; line-height: 1.5; }
.es-flow__story .button { align-self: flex-start; min-height: 49px; margin-top: auto; padding-inline: 18px; font-size: 0.86rem; }

/* Scene studio ----------------------------------------------------------- */
.es-scene-section { overflow: hidden; color: white; background: radial-gradient(circle at 13% 82%,rgba(255,101,52,.12),transparent 30%),radial-gradient(circle at 86% 10%,rgba(100,217,207,.13),transparent 28%),linear-gradient(135deg,#061821,#0a2f39 58%,#0d4245); }
.es-scene-section__glow { position: absolute; left: 20%; bottom: -350px; width: 820px; height: 820px; border-radius: 50%; background: radial-gradient(circle,rgba(100,217,207,.1),transparent 68%); }
.es-scene { position: relative; z-index: 2; display: grid; grid-template-columns: 245px minmax(500px,1.05fr) minmax(330px,.65fr); gap: 20px; }
.es-scene__controls { display: grid; gap: 8px; }
.es-scene__controls button { display: grid; grid-template-columns: 40px 1fr; align-items: center; gap: 12px; min-height: 78px; padding: 12px 14px; border: 1px solid rgba(255,255,255,.08); border-radius: 19px; color: rgba(255,255,255,.5); background: rgba(255,255,255,.035); text-align: left; transition: transform .3s var(--ease),background .3s ease,color .3s ease; }
.es-scene__controls button:hover { transform: translateX(4px); }
.es-scene__controls button > span { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 13px; color: var(--orange); background: rgba(255,101,52,.08); font-family: var(--font-display); font-size: 0.82rem; }
.es-scene__controls strong,.es-scene__controls small { display: block; }
.es-scene__controls strong { font-family: var(--font-display); font-size: 0.86rem; }
.es-scene__controls small { margin-top: 3px; color: rgba(255,255,255,.31); font-size: .82rem; }
.es-scene__controls button.is-active { color: #fff; background: linear-gradient(135deg,rgba(255,101,52,.15),rgba(100,217,207,.065)); box-shadow: inset 3px 0 0 var(--orange); }
.es-scene__controls button.is-active > span { color: #fff; background: var(--orange); }
.es-scene__visual { position: relative; min-height: 580px; padding: 24px; overflow: hidden; border: 1px solid rgba(255,255,255,.09); border-radius: 38px 38px 105px 38px; background: linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018)); }
.es-scene__hud { display: flex; align-items: center; justify-content: space-between; color: rgba(255,255,255,.4); font-size: .82rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.es-scene__hud span { display: flex; align-items: center; gap: 8px; }
.es-scene__hud i { width: 7px; height: 7px; border-radius: 50%; background: var(--aqua); box-shadow: 0 0 0 5px rgba(100,217,207,.1); }
.es-scene__hud strong { color: var(--aqua); }
.es-floor { position: relative; height: 435px; margin-top: 18px; overflow: hidden; border: 1px solid rgba(255,255,255,.08); border-radius: 28px 28px 80px 28px; background: linear-gradient(rgba(100,217,207,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(100,217,207,.04) 1px,transparent 1px),radial-gradient(circle at 50% 48%,rgba(100,217,207,.06),transparent 43%),rgba(2,16,22,.6); background-size: 34px 34px,34px 34px,auto,auto; perspective: 800px; }
.es-floor::before { content: ""; position: absolute; inset: 28px; border: 1px solid rgba(255,255,255,.08); border-radius: 20px 20px 58px 20px; }
.es-floor__door { position: absolute; z-index: 7; bottom: 22px; left: 28px; padding: 8px 12px; border: 1px solid rgba(255,255,255,.1); border-radius: 10px; color: var(--aqua); background: rgba(3,20,27,.78); font-size: .82rem; font-weight: 800; text-transform: uppercase; }
.es-floor__stage { position: absolute; z-index: 3; top: 48px; left: 50%; width: 48%; height: 54px; border: 1px solid rgba(255,255,255,.14); border-radius: 15px; background: linear-gradient(135deg,rgba(255,101,52,.2),rgba(255,255,255,.06)); box-shadow: 0 18px 34px rgba(0,0,0,.24); transform: translateX(-50%); transition: width .55s var(--ease),height .55s var(--ease),top .55s var(--ease),left .55s var(--ease),border-radius .55s var(--ease); }
.es-floor__stage i { position: absolute; inset: 8px; border: 1px dashed rgba(255,255,255,.14); border-radius: 9px; }
.es-floor__stage b { position: absolute; inset: auto 0 -21px; color: rgba(255,255,255,.36); font-size: .82rem; text-align: center; text-transform: uppercase; }
.es-floor__tables { position: absolute; inset: 0; z-index: 3; }
.es-floor__tables i { position: absolute; width: 90px; height: 42px; border: 1px solid rgba(255,255,255,.13); border-radius: 14px; background: rgba(255,255,255,.08); box-shadow: 0 14px 22px rgba(0,0,0,.2); transition: top .6s var(--ease),left .6s var(--ease),width .6s var(--ease),height .6s var(--ease),border-radius .6s var(--ease),opacity .35s ease,transform .6s var(--ease); }
.es-floor__tables i:nth-child(1){top:150px;left:90px}.es-floor__tables i:nth-child(2){top:150px;right:90px}.es-floor__tables i:nth-child(3){top:240px;left:90px}.es-floor__tables i:nth-child(4){top:240px;right:90px}.es-floor__tables i:nth-child(5){top:326px;left:90px}.es-floor__tables i:nth-child(6){top:326px;right:90px}
.es-floor__seats { position: absolute; inset: 0; z-index: 4; }
.es-floor__seats i { position: absolute; width: 18px; height: 22px; border: 1px solid rgba(255,255,255,.18); border-radius: 6px 6px 9px 9px; background: rgba(255,255,255,.1); box-shadow: 0 8px 13px rgba(0,0,0,.22); transition: top .6s var(--ease),left .6s var(--ease),transform .6s var(--ease),opacity .35s ease; }
.es-floor__route { position: absolute; z-index: 2; inset: 0; pointer-events: none; }
.es-floor__route::before { content: ""; position: absolute; bottom: 50px; left: 48px; width: calc(50% - 55px); height: 160px; border-bottom: 2px dashed rgba(100,217,207,.23); border-right: 2px dashed rgba(100,217,207,.23); border-radius: 0 0 68px 0; transition: width .5s var(--ease),height .5s var(--ease); }
.es-floor__route i { position: absolute; bottom: 47px; left: 44px; width: 8px; height: 8px; border-radius: 50%; background: var(--aqua); box-shadow: 0 0 0 6px rgba(100,217,207,.1); animation: esRoutePulse 2.5s ease-in-out infinite; }
@keyframes esRoutePulse { 50% { transform: translate(120px,-5px); } }
.es-floor__legend { position: absolute; z-index: 8; right: 18px; bottom: 17px; display: flex; gap: 11px; padding: 8px 10px; border: 1px solid rgba(255,255,255,.08); border-radius: 10px; color: rgba(255,255,255,.36); background: rgba(3,15,20,.48); font-size: .82rem; font-weight: 800; text-transform: uppercase; }
.es-floor__legend span { display: flex; align-items: center; gap: 5px; }
.es-floor__legend i { width: 7px; height: 7px; border-radius: 3px; background: rgba(255,255,255,.18); }
.es-floor__legend span:last-child i { background: var(--orange); }
.es-floor[data-es-floor="reception"] .es-floor__stage { top: 75px; left: 76%; width: 21%; height: 78px; border-radius: 50%; }
.es-floor[data-es-floor="reception"] .es-floor__tables i { width: 58px; height: 58px; border-radius: 50%; }
.es-floor[data-es-floor="reception"] .es-floor__tables i:nth-child(1){top:120px;left:85px}.es-floor[data-es-floor="reception"] .es-floor__tables i:nth-child(2){top:110px;right:165px}.es-floor[data-es-floor="reception"] .es-floor__tables i:nth-child(3){top:235px;left:165px}.es-floor[data-es-floor="reception"] .es-floor__tables i:nth-child(4){top:225px;right:85px}.es-floor[data-es-floor="reception"] .es-floor__tables i:nth-child(5){top:325px;left:75px}.es-floor[data-es-floor="reception"] .es-floor__tables i:nth-child(6){top:325px;right:145px}
.es-floor[data-es-floor="banquet"] .es-floor__stage { top:54px;width:34%;height:42px; }
.es-floor[data-es-floor="banquet"] .es-floor__tables i { width: 72px; height: 72px; border-radius: 50%; }
.es-floor[data-es-floor="banquet"] .es-floor__tables i:nth-child(1){top:135px;left:90px}.es-floor[data-es-floor="banquet"] .es-floor__tables i:nth-child(2){top:135px;right:90px}.es-floor[data-es-floor="banquet"] .es-floor__tables i:nth-child(3){top:235px;left:90px}.es-floor[data-es-floor="banquet"] .es-floor__tables i:nth-child(4){top:235px;right:90px}.es-floor[data-es-floor="banquet"] .es-floor__tables i:nth-child(5){top:335px;left:90px}.es-floor[data-es-floor="banquet"] .es-floor__tables i:nth-child(6){top:335px;right:90px}
.es-floor[data-es-floor="stage"] .es-floor__stage { top:48px;width:62%;height:84px; }
.es-floor[data-es-floor="stage"] .es-floor__tables i { width: 42px; height: 24px; border-radius: 8px; }
.es-floor[data-es-floor="studio"] .es-floor__stage { top:80px;left:72%;width:25%;height:100px;border-radius:50%; }
.es-floor[data-es-floor="studio"] .es-floor__tables i:nth-child(1){top:160px;left:80px;width:120px}.es-floor[data-es-floor="studio"] .es-floor__tables i:nth-child(2){top:260px;left:190px;width:120px}.es-floor[data-es-floor="studio"] .es-floor__tables i:nth-child(3){top:325px;right:70px;width:100px}.es-floor[data-es-floor="studio"] .es-floor__tables i:nth-child(n+4){opacity:0}
.es-scene__signal { position: absolute; right: 28px; bottom: 23px; left: 28px; padding: 15px 17px; border: 1px solid rgba(255,255,255,.08); border-radius: 16px; background: rgba(3,18,24,.72); backdrop-filter: blur(12px); }
.es-scene__signal small,.es-scene__signal strong { display: block; }
.es-scene__signal small { color: var(--aqua); font-size: .82rem; font-weight: 800; text-transform: uppercase; }
.es-scene__signal strong { margin-top: 5px; font-size: 0.84rem; }
.es-scene__story { display: flex; flex-direction: column; padding: 29px; border: 1px solid rgba(255,255,255,.09); border-radius: 35px 35px 80px 35px; background: linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.022)); }
.es-scene__story > span { color: var(--orange); font-family: var(--font-display); font-size: 2.7rem; font-weight: 700; letter-spacing: -.08em; }
.es-scene__story > small { color: var(--aqua); font-size: .82rem; font-weight: 800; text-transform: uppercase; }
.es-scene__story h3 { margin: 8px 0 12px; font-family: var(--font-display); font-size: 1.48rem; letter-spacing: -.045em; line-height: 1.13; }
.es-scene__story > p { margin: 0; color: rgba(255,255,255,.54); font-size: 0.88rem; line-height: 1.7; }
.es-scene__outcome { margin-top: 20px; padding: 15px; border: 1px solid rgba(100,217,207,.11); border-radius: 16px; background: rgba(100,217,207,.055); }
.es-scene__outcome small,.es-scene__outcome strong { display: block; }
.es-scene__outcome small { color: var(--aqua); font-size: .82rem; font-weight: 800; text-transform: uppercase; }
.es-scene__outcome strong { margin-top: 6px; font-size: 0.84rem; line-height: 1.48; }
.es-scene__questions { margin-top: 20px; }
.es-scene__questions > small { color: var(--orange); font-size: .82rem; font-weight: 800; text-transform: uppercase; }
.es-scene__questions ul { display: grid; gap: 7px; margin: 10px 0 0; padding: 0; list-style: none; }
.es-scene__questions li { position: relative; padding-left: 16px; color: rgba(255,255,255,.48); font-size: 0.82rem; line-height: 1.5; }
.es-scene__questions li::before { content: ""; position: absolute; top: .55em; left: 0; width: 6px; height: 6px; border-radius: 50%; background: var(--orange); }
.es-scene__story .button { align-self: flex-start; min-height: 49px; margin-top: auto; padding-inline: 18px; font-size: 0.86rem; }

/* Timeline --------------------------------------------------------------- */
.es-timeline-section { background: linear-gradient(180deg,#fbfdfd,#eff7f8 66%,#fff8f3); }
.es-timeline__duration { display: grid; grid-template-columns: repeat(4,1fr); gap: 9px; max-width: 900px; margin: 0 auto 18px; }
.es-timeline__duration button { min-height: 100px; padding: 14px; border: 1px solid var(--line); border-radius: 20px; background: rgba(255,255,255,.67); text-align: center; transition: transform .25s var(--ease),background .25s ease,color .25s ease,border-color .25s ease; }
.es-timeline__duration button:hover { transform: translateY(-3px); }
.es-timeline__duration span,.es-timeline__duration strong,.es-timeline__duration small { display: block; }
.es-timeline__duration span { color: var(--orange); font-family: var(--font-display); font-size: 1.2rem; font-weight: 700; }
.es-timeline__duration strong { margin-top: 4px; font-family: var(--font-display); font-size: 0.86rem; }
.es-timeline__duration small { margin-top: 4px; color: var(--muted); font-size: .82rem; }
.es-timeline__duration button.is-active { color: white; border-color: transparent; background: var(--ink-deep); box-shadow: 0 15px 34px rgba(7,28,36,.17); }
.es-timeline__duration button.is-active small { color: rgba(255,255,255,.5); }
.es-timeline__grid { display: grid; grid-template-columns: minmax(650px,1.08fr) minmax(360px,.67fr); gap: 20px; }
.es-timeline__visual { min-height: 585px; padding: 29px; border-radius: 38px 38px 95px 38px; }
.es-timeline__top { display: flex; align-items: center; justify-content: space-between; gap: 16px; color: var(--muted); font-size: .82rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.es-timeline__top span { display: flex; align-items: center; gap: 8px; }
.es-timeline__top i { width: 8px; height: 8px; border-radius: 50%; background: var(--orange); box-shadow: 0 0 0 5px rgba(255,101,52,.1); }
.es-timeline__top strong { color: var(--aqua-deep); }
.es-timeline__curve { display: block; width: 100%; height: 320px; margin-top: 8px; overflow: visible; }
.es-timeline__curve-base { fill: none; stroke: rgba(16,42,51,.08); stroke-width: 9; stroke-linecap: round; }
.es-timeline__curve-live { fill: none; stroke: url(#esTimelineGradient); stroke-width: 9; stroke-linecap: round; filter: url(#esTimelineGlow); stroke-dasharray: 960; transition: stroke-dashoffset .7s var(--ease); }
.es-timeline__curve circle { fill: var(--orange); stroke: #fff; stroke-width: 5; filter: drop-shadow(0 5px 12px rgba(255,101,52,.3)); transition: cx .65s var(--ease),cy .65s var(--ease); }
.es-timeline__phases { display: grid; grid-template-columns: repeat(5,1fr); gap: 7px; margin-top: -20px; }
.es-timeline__phases button { min-height: 78px; padding: 10px 8px; border: 1px solid rgba(16,42,51,.08); border-radius: 15px; background: rgba(255,255,255,.5); text-align: left; }
.es-timeline__phases span,.es-timeline__phases strong,.es-timeline__phases small { display: block; }
.es-timeline__phases span { color: var(--orange); font-family: var(--font-display); font-size: .82rem; }
.es-timeline__phases strong { margin-top: 4px; font-size: 0.82rem; }
.es-timeline__phases small { margin-top: 3px; color: var(--muted); font-size: .82rem; }
.es-timeline__phases button.is-active { color: white; border-color: transparent; background: linear-gradient(135deg,var(--ink-deep),#123b45); }
.es-timeline__phases button.is-active small { color: rgba(255,255,255,.48); }
.es-timeline__story { display: flex; flex-direction: column; min-height: 585px; padding: 30px; border-radius: 38px 38px 95px 38px; }
.es-timeline__story > span { color: var(--orange); font-family: var(--font-display); font-size: 2.8rem; font-weight: 700; letter-spacing: -.08em; }
.es-timeline__story > small { color: var(--aqua-deep); font-size: .82rem; font-weight: 800; text-transform: uppercase; }
.es-timeline__story h3 { margin: 8px 0 12px; font-family: var(--font-display); font-size: 1.5rem; letter-spacing: -.045em; line-height: 1.13; }
.es-timeline__story > p { margin: 0; color: var(--muted); font-size: 0.88rem; line-height: 1.7; }
.es-timeline__emphasis { margin-top: 21px; padding: 16px; border: 1px solid rgba(16,42,51,.08); border-radius: 16px; background: rgba(255,255,255,.44); }
.es-timeline__emphasis small { color: var(--muted); font-size: .82rem; font-weight: 800; text-transform: uppercase; }
.es-timeline__emphasis strong { float: right; color: var(--orange); font-family: var(--font-display); font-size: 0.96rem; }
.es-timeline__emphasis strong i { font-style: normal; }
.es-timeline__emphasis > span { display: block; height: 5px; margin-top: 14px; overflow: hidden; border-radius: 99px; background: rgba(16,42,51,.08); clear: both; }
.es-timeline__emphasis b { display: block; width: 18%; height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--aqua),var(--orange)); transition: width .45s var(--ease); }
.es-timeline__cues { display: grid; gap: 8px; margin-top: 17px; }
.es-timeline__cues > div { padding: 14px 15px; border: 1px solid rgba(16,42,51,.08); border-radius: 15px; background: rgba(255,255,255,.43); }
.es-timeline__cues small,.es-timeline__cues strong { display: block; }
.es-timeline__cues small { color: var(--aqua-deep); font-size: .82rem; font-weight: 800; text-transform: uppercase; }
.es-timeline__cues strong { margin-top: 5px; font-size: 0.82rem; line-height: 1.5; }
.es-timeline__story .button { align-self: flex-start; min-height: 49px; margin-top: auto; padding-inline: 18px; font-size: 0.86rem; }

/* Composer --------------------------------------------------------------- */
.es-composer-section { background: linear-gradient(180deg,#f8fbfc,#edf7f8 68%,#f8fbfc); }
.es-composer { display: grid; grid-template-columns: minmax(610px,1.08fr) minmax(380px,.68fr); gap: 22px; align-items: stretch; }
.es-composer__builder { min-height: 720px; padding: 34px; border-radius: 39px; }
.es-composer__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 22px; }
.es-composer__header > div:first-child > span { color: var(--orange); font-size: 0.82rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.es-composer__header h3 { margin: 8px 0 0; font-family: var(--font-display); font-size: 1.45rem; letter-spacing: -.045em; }
.es-composer__step { display: flex; align-items: baseline; color: var(--muted); }
.es-composer__step strong { color: var(--ink); font-family: var(--font-display); font-size: 1.6rem; }
.es-composer__step span { font-size: 0.88rem; }
.es-composer__progress { height: 4px; margin: 23px 0 29px; overflow: hidden; border-radius: 99px; background: rgba(16,42,51,.08); }
.es-composer__progress span { display: block; width: 20%; height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--orange),var(--aqua)); transition: width .48s var(--ease); }
.es-composer__panel { animation: esPanelIn .48s var(--ease-out) both; }
@keyframes esPanelIn { from { opacity: 0; transform: translateY(14px); } }
.es-composer__prompt { margin: 0 0 17px; font-weight: 800; }
.es-choice-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.es-choice-grid--three { grid-template-columns: repeat(3,1fr); }
.es-choice-grid button { display: grid; grid-template-columns: 38px 1fr; grid-template-areas: "num title" "num copy"; column-gap: 11px; min-height: 104px; padding: 14px; border: 1px solid rgba(16,42,51,.1); border-radius: 18px; background: rgba(255,255,255,.5); text-align: left; transition: transform .25s var(--ease),border-color .25s ease,background .25s ease,box-shadow .25s ease; }
.es-choice-grid button:hover { transform: translateY(-3px); }
.es-choice-grid button > span { grid-area: num; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; color: var(--orange); background: rgba(255,101,52,.09); font-family: var(--font-display); font-size: .82rem; font-weight: 800; }
.es-choice-grid button strong { grid-area: title; align-self: end; font-family: var(--font-display); font-size: 0.86rem; }
.es-choice-grid button small { grid-area: copy; margin-top: 4px; color: var(--muted); font-size: .82rem; line-height: 1.4; }
.es-choice-grid button.is-selected { border-color: rgba(255,101,52,.4); background: rgba(255,101,52,.075); box-shadow: inset 0 0 0 1px rgba(255,101,52,.08),0 13px 28px rgba(255,101,52,.08); }
.es-choice-grid button.is-selected > span { color: white; background: var(--orange); }
.es-number-grid,.es-duration-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 9px; }
.es-number-grid button,.es-duration-grid button { min-height: 132px; padding: 17px 10px; border: 1px solid rgba(16,42,51,.1); border-radius: 18px; background: rgba(255,255,255,.5); text-align: center; transition: transform .25s var(--ease),border-color .25s ease,background .25s ease; }
.es-number-grid button:hover,.es-duration-grid button:hover { transform: translateY(-3px); }
.es-number-grid strong,.es-number-grid small,.es-duration-grid span,.es-duration-grid strong,.es-duration-grid small { display: block; }
.es-number-grid strong { font-family: var(--font-display); font-size: 1.04rem; }
.es-number-grid small,.es-duration-grid small { margin-top: 8px; color: var(--muted); font-size: .82rem; line-height: 1.4; }
.es-duration-grid span { color: var(--orange); font-family: var(--font-display); font-size: 1.12rem; font-weight: 700; }
.es-duration-grid strong { margin-top: 7px; font-family: var(--font-display); font-size: 0.84rem; }
.es-number-grid button.is-selected,.es-duration-grid button.is-selected { border-color: rgba(255,101,52,.4); background: linear-gradient(155deg,rgba(255,101,52,.1),rgba(100,217,207,.06)); }
.es-atmosphere-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 9px; }
.es-atmosphere-grid button { min-height: 145px; padding: 17px 12px; border: 1px solid rgba(16,42,51,.1); border-radius: 20px; background: rgba(255,255,255,.5); text-align: center; transition: transform .25s var(--ease),background .25s ease,border-color .25s ease; }
.es-atmosphere-grid button:hover { transform: translateY(-3px); }
.es-atmosphere-grid i { display: block; width: 48px; height: 48px; margin: 0 auto 12px; border: 8px solid rgba(100,217,207,.13); border-radius: 50%; background: var(--aqua-deep); box-shadow: 0 0 0 7px rgba(100,217,207,.07); }
.es-atmosphere-grid button:nth-child(2) i { border-radius: 14px; background: var(--orange); border-color: rgba(255,101,52,.14); }
.es-atmosphere-grid button:nth-child(3) i { border-radius: 50% 50% 12px 12px; background: var(--ink-deep); border-color: rgba(16,42,51,.1); }
.es-atmosphere-grid button:nth-child(4) i { border-radius: 12px 50% 12px 50%; background: linear-gradient(135deg,var(--orange),var(--aqua)); border-color: rgba(255,174,117,.15); }
.es-atmosphere-grid strong,.es-atmosphere-grid small { display: block; }
.es-atmosphere-grid strong { font-family: var(--font-display); font-size: 0.86rem; }
.es-atmosphere-grid small { margin-top: 6px; color: var(--muted); font-size: .82rem; }
.es-atmosphere-grid button.is-selected { border-color: rgba(255,101,52,.4); background: linear-gradient(155deg,rgba(255,101,52,.1),rgba(100,217,207,.06)); }
.es-priority-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 8px; }
.es-priority-grid button { display: grid; grid-template-columns: 35px 1fr 24px; align-items: center; gap: 10px; min-height: 63px; padding: 10px 12px; border: 1px solid rgba(16,42,51,.1); border-radius: 16px; background: rgba(255,255,255,.48); text-align: left; }
.es-priority-grid button > span { display: grid; place-items: center; width: 35px; height: 35px; border-radius: 11px; color: var(--aqua-deep); background: rgba(100,217,207,.13); font-size: .82rem; font-weight: 800; }
.es-priority-grid button > strong { font-size: 0.82rem; }
.es-priority-grid button > i { display: grid; place-items: center; width: 22px; height: 22px; border: 1px solid rgba(16,42,51,.16); border-radius: 50%; color: var(--muted); font-style: normal; font-size: 0.88rem; transition: transform .25s ease,color .25s ease,background .25s ease; }
.es-priority-grid button.is-selected { border-color: rgba(17,123,120,.34); background: rgba(100,217,207,.105); }
.es-priority-grid button.is-selected > span { color: white; background: var(--aqua-deep); }
.es-priority-grid button.is-selected > i { color: white; border-color: var(--orange); background: var(--orange); transform: rotate(45deg); }
.es-composer__note { margin: 15px 0 0; color: var(--muted); font-size: 0.82rem; line-height: 1.55; }
.es-composer__error { min-height: 22px; margin-top: 9px; color: #b63b22; font-size: 0.84rem; font-weight: 700; }
.es-composer__nav { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 16px; }
.es-composer__nav .button { min-height: 49px; padding-inline: 19px; font-size: 0.86rem; }
.es-composer__back,.es-result__reset { padding: 11px 0; border: 0; color: var(--muted); background: transparent; font-size: 0.84rem; font-weight: 800; }
.es-composer__result { animation: esPanelIn .55s var(--ease-out) both; }
.es-composer__result-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.es-composer__result-top > span { display: flex; align-items: center; gap: 8px; color: var(--aqua-deep); font-size: .82rem; font-weight: 800; text-transform: uppercase; }
.es-composer__result-top i { width: 8px; height: 8px; border-radius: 50%; background: #54d398; box-shadow: 0 0 0 5px rgba(84,211,152,.1); }
.es-composer__result-top > strong { padding: 8px 11px; border-radius: 999px; color: var(--orange); background: rgba(255,101,52,.08); font-family: var(--font-display); font-size: 0.84rem; }
.es-composer__result > small { display: block; margin-top: 21px; color: var(--orange); font-size: .82rem; font-weight: 800; text-transform: uppercase; }
.es-composer__result > h3 { margin: 7px 0 10px; font-family: var(--font-display); font-size: 1.55rem; letter-spacing: -.05em; }
.es-composer__result > p { margin: 0; color: var(--muted); font-size: 0.86rem; line-height: 1.65; }
.es-result__tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 17px; }
.es-result__tags span { padding: 7px 9px; border: 1px solid rgba(16,42,51,.08); border-radius: 999px; background: rgba(255,255,255,.48); font-size: .82rem; font-weight: 800; }
.es-result__layers { display: grid; grid-template-columns: repeat(2,1fr); gap: 8px; margin-top: 17px; }
.es-result__layers > div { padding: 12px; border: 1px solid rgba(16,42,51,.08); border-radius: 14px; background: rgba(100,217,207,.055); }
.es-result__layers small,.es-result__layers strong { display: block; }
.es-result__layers small { color: var(--aqua-deep); font-size: .82rem; font-weight: 800; text-transform: uppercase; }
.es-result__layers strong { margin-top: 5px; font-size: 0.82rem; line-height: 1.4; }
.es-result__questions { margin-top: 18px; padding: 15px; border: 1px solid rgba(16,42,51,.08); border-radius: 17px; background: rgba(255,255,255,.42); }
.es-result__questions > small { color: var(--orange); font-size: .82rem; font-weight: 800; text-transform: uppercase; }
.es-result__questions ol { display: grid; gap: 7px; margin: 10px 0 0; padding-left: 17px; color: var(--muted); font-size: 0.82rem; line-height: 1.5; }
.es-result__actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 17px; }
.es-result__actions .button { min-height: 48px; padding-inline: 17px; font-size: 0.84rem; }
.es-result__reset { width: 100%; text-align: left; }
.es-composer__preview { position: sticky; top: 128px; min-height: 720px; padding: 29px; overflow: hidden; border-radius: 39px 39px 100px 39px; }
.es-composer__preview::after { content: ""; position: absolute; right: -130px; bottom: -150px; width: 350px; height: 350px; border-radius: 50%; background: radial-gradient(circle,rgba(255,101,52,.12),transparent 68%); }
.es-preview__top { position: relative; z-index: 2; display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; }
.es-preview__top small,.es-preview__top strong { display: block; }
.es-preview__top small { color: var(--orange); font-size: .82rem; font-weight: 800; text-transform: uppercase; }
.es-preview__top strong { margin-top: 5px; font-family: var(--font-display); font-size: 0.93rem; }
.es-preview__top > span { color: var(--muted); font-size: 0.82rem; font-weight: 800; }
.es-preview__pulse { position: relative; z-index: 2; width: 215px; height: 215px; margin: 30px auto; }
.es-preview__pulse svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.es-preview__pulse circle { fill: none; stroke: rgba(16,42,51,.08); stroke-width: 10; }
.es-preview__pulse [data-es-preview-ring] { stroke: url(#none); stroke: var(--orange); stroke-linecap: round; stroke-dasharray: 547; stroke-dashoffset: 547; filter: drop-shadow(0 7px 12px rgba(255,101,52,.22)); transition: stroke-dashoffset .55s var(--ease); }
.es-preview__pulse > div { position: absolute; inset: 0; display: grid; place-content: center; text-align: center; }
.es-preview__pulse strong { font-family: var(--font-display); font-size: 2.2rem; letter-spacing: -.07em; }
.es-preview__pulse small { color: var(--muted); font-size: .82rem; font-weight: 800; text-transform: uppercase; }
.es-preview__list { position: relative; z-index: 2; display: grid; gap: 8px; }
.es-preview__list > div { display: grid; grid-template-columns: 85px 1fr; gap: 12px; padding: 12px 13px; border: 1px solid rgba(16,42,51,.08); border-radius: 14px; background: rgba(255,255,255,.45); }
.es-preview__list span { color: var(--muted); font-size: .82rem; font-weight: 800; text-transform: uppercase; }
.es-preview__list strong { font-size: 0.82rem; }
.es-preview__optional { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(2,1fr); gap: 7px; margin-top: 18px; }
.es-preview__optional > span { grid-column: 1/-1; color: var(--orange); font-size: .82rem; font-weight: 800; text-transform: uppercase; }
.es-preview__optional > div { padding: 10px; border: 1px solid rgba(16,42,51,.07); border-radius: 13px; background: rgba(100,217,207,.05); }
.es-preview__optional small,.es-preview__optional strong { display: block; }
.es-preview__optional small { color: var(--aqua-deep); font-size: .82rem; font-weight: 800; text-transform: uppercase; }
.es-preview__optional strong { margin-top: 4px; font-size: .82rem; line-height: 1.4; }
.es-composer__preview > p { position: relative; z-index: 2; margin: 18px 0 0; color: var(--muted); font-size: 0.82rem; line-height: 1.55; }

/* Readiness radar -------------------------------------------------------- */
.es-readiness-section { overflow: hidden; color: white; background: radial-gradient(circle at 84% 10%,rgba(255,101,52,.15),transparent 28%),linear-gradient(135deg,#061a22,#0a3039 60%,#0c4143); }
.es-readiness-section__grid { position: absolute; inset: 0; opacity: .28; background-image: linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px); background-size: 52px 52px; }
.es-readiness { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(450px,.72fr) minmax(560px,1.08fr); gap: 22px; align-items: stretch; }
.es-readiness__controls { display: grid; grid-template-columns: repeat(2,1fr); gap: 8px; }
.es-readiness__controls button { display: grid; grid-template-columns: 35px 1fr 24px; align-items: center; gap: 10px; min-height: 72px; padding: 11px 12px; border: 1px solid rgba(255,255,255,.08); border-radius: 17px; color: rgba(255,255,255,.52); background: rgba(255,255,255,.035); text-align: left; }
.es-readiness__controls button > span { display: grid; place-items: center; width: 35px; height: 35px; border-radius: 11px; color: var(--aqua); background: rgba(100,217,207,.08); font-family: var(--font-display); font-size: .82rem; }
.es-readiness__controls strong,.es-readiness__controls small { display: block; }
.es-readiness__controls strong { font-size: 0.82rem; }
.es-readiness__controls small { margin-top: 3px; color: rgba(255,255,255,.3); font-size: .82rem; }
.es-readiness__controls button > i { display: grid; place-items: center; width: 22px; height: 22px; border: 1px solid rgba(255,255,255,.15); border-radius: 50%; font-style: normal; }
.es-readiness__controls button.is-selected { color: white; border-color: rgba(100,217,207,.25); background: rgba(100,217,207,.095); }
.es-readiness__controls button.is-selected > span { color: white; background: var(--aqua-deep); }
.es-readiness__controls button.is-selected > i { border-color: var(--orange); background: var(--orange); transform: rotate(45deg); }
.es-readiness__visual { min-height: 650px; padding: 29px; border: 1px solid rgba(255,255,255,.09); border-radius: 39px 39px 105px 39px; background: linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.022)); }
.es-readiness__top { display: flex; align-items: center; justify-content: space-between; color: rgba(255,255,255,.42); font-size: .82rem; font-weight: 800; text-transform: uppercase; }
.es-readiness__top span { display: flex; align-items: center; gap: 8px; }
.es-readiness__top i { width: 8px; height: 8px; border-radius: 50%; background: var(--aqua); box-shadow: 0 0 0 5px rgba(100,217,207,.1); }
.es-readiness__top b { color: white; font-family: var(--font-display); font-size: 0.93rem; }
.es-radar { position: relative; width: min(100%,480px); aspect-ratio: 1; margin: 15px auto 4px; }
.es-radar svg { width: 100%; height: 100%; }
.es-radar__grid polygon,.es-radar__grid line { fill: none; stroke: rgba(255,255,255,.08); stroke-width: 1; }
.es-radar__shape { fill: rgba(100,217,207,.14); stroke: url(#none); stroke: var(--aqua); stroke-width: 3; filter: drop-shadow(0 7px 12px rgba(100,217,207,.15)); transition: points .55s var(--ease); }
.es-radar__dots circle { fill: var(--orange); stroke: #0a3039; stroke-width: 4; }
.es-radar__label { position: absolute; color: rgba(255,255,255,.48); font-size: .82rem; font-weight: 800; text-transform: uppercase; }
.es-radar__label--one{top:2%;left:50%;transform:translateX(-50%)}.es-radar__label--two{top:24%;right:0}.es-radar__label--three{bottom:24%;right:0}.es-radar__label--four{bottom:0;left:50%;transform:translateX(-50%)}.es-radar__label--five{bottom:24%;left:0}.es-radar__label--six{top:24%;left:0}
.es-radar__core { position: absolute; inset: 39%; display: grid; place-content: center; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; background: rgba(5,26,34,.88); text-align: center; box-shadow: 0 18px 45px rgba(0,0,0,.25); }
.es-radar__core strong { font-family: var(--font-display); font-size: 1.25rem; }
.es-radar__core small { color: rgba(255,255,255,.4); font-size: .82rem; font-weight: 800; text-transform: uppercase; }
.es-readiness__summary { padding: 17px; border: 1px solid rgba(255,255,255,.08); border-radius: 18px; background: rgba(3,19,25,.37); }
.es-readiness__summary small,.es-readiness__summary strong { display: block; }
.es-readiness__summary small { color: var(--aqua); font-size: .82rem; font-weight: 800; text-transform: uppercase; }
.es-readiness__summary strong { margin-top: 6px; font-family: var(--font-display); font-size: 0.9rem; }
.es-readiness__summary p { margin: 7px 0 0; color: rgba(255,255,255,.43); font-size: 0.82rem; line-height: 1.55; }
.es-readiness__visual .button { margin-top: 13px; min-height: 51px; font-size: 0.86rem; }

/* Shared sections refinements ------------------------------------------- */
.es-gallery { padding: 130px 0; background: #fff; }
.es-gallery .gallery-strip__heading { align-items: end; }
.es-gallery .gallery-strip__heading h2 { max-width: 830px; }
.es-gallery .gallery-strip__heading p:not(.eyebrow) { max-width: 650px; color: var(--muted); }
.es-gallery-card { min-width: min(420px,78vw); padding: 0; border: 0; text-align: left; }
.es-gallery-card img { width: 100%; height: 460px; object-fit: cover; }
.es-gallery-card > span { display: block; margin-top: 14px; color: var(--orange); font-size: .82rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.es-gallery-card > strong { display: block; margin-top: 5px; font-family: var(--font-display); font-size: 0.93rem; }
.event-spaces-page .locations { background: linear-gradient(180deg,#eff8f9,#f9fbfc); }
.event-spaces-page .section-heading--center { max-width: 900px; margin: 0 auto 55px; text-align: center; }
.event-spaces-page .section-heading--center > p:not(.eyebrow) { max-width: 700px; margin: 22px auto 0; color: var(--muted); }
.event-spaces-page .stories__layout { grid-template-columns: minmax(330px,.78fr) minmax(560px,1.22fr); }
.event-spaces-page .faq__grid { display: grid; grid-template-columns: minmax(360px,.72fr) minmax(560px,1.12fr); gap: clamp(55px,8vw,110px); align-items: start; }
.event-spaces-page .faq__heading { position: sticky; top: 125px; }
.event-spaces-page .faq__heading h2 { font-size: clamp(2.8rem,4vw,4.8rem); }
.event-spaces-page .faq__heading > p:not(.eyebrow) { margin: 22px 0 0; color: var(--muted); }
.es-checklist { margin-top: 28px; padding: 21px; border-radius: 24px; }
.es-checklist__top { display: flex; align-items: center; justify-content: space-between; gap: 15px; font-size: 0.82rem; font-weight: 800; text-transform: uppercase; }
.es-checklist__top strong { color: var(--orange); font-family: var(--font-display); font-size: 0.88rem; }
.es-checklist__top i { font-style: normal; }
.es-checklist__bar { height: 4px; margin: 13px 0 17px; overflow: hidden; border-radius: 99px; background: rgba(16,42,51,.08); }
.es-checklist__bar span { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--orange),var(--aqua)); transition: width .35s var(--ease); }
.es-checklist label { display: flex; align-items: flex-start; gap: 9px; padding: 8px 0; border-bottom: 1px solid rgba(16,42,51,.07); color: var(--muted); font-size: 0.82rem; line-height: 1.45; }
.es-checklist label:last-of-type { border-bottom: 0; }
.es-checklist input { width: 17px; height: 17px; flex: 0 0 auto; accent-color: var(--orange); }
.es-checklist p { margin: 13px 0 0; color: var(--aqua-deep); font-size: 0.82rem; font-weight: 700; }
.event-spaces-page .contact__grid { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(350px,.78fr) minmax(590px,1.22fr); align-items: center; gap: clamp(55px,7vw,105px); }
.event-spaces-page .contact__copy h2 { font-size: clamp(3.1rem,4.8vw,5.8rem); }
.event-spaces-page .contact__copy > p:not(.eyebrow) { max-width: 620px; margin: 24px 0 0; color: var(--muted); }
.event-spaces-page .contact__points { display: grid; gap: 10px; margin-top: 31px; }
.event-spaces-page .contact__points span { display: flex; align-items: center; gap: 13px; font-size: 0.86rem; font-weight: 800; }
.event-spaces-page .contact__points i { display: grid; place-items: center; width: 35px; height: 35px; flex: 0 0 auto; border-radius: 11px; color: white; background: var(--ink-deep); font-style: normal; font-size: .82rem; }
.event-spaces-page .contact__phone { display: inline-flex; flex-direction: column; margin-top: 27px; }
.event-spaces-page .contact__phone small { color: var(--muted); font-size: .82rem; font-weight: 800; text-transform: uppercase; }
.event-spaces-page .contact__phone strong { margin-top: 3px; color: var(--orange); font-family: var(--font-display); font-size: 1.18rem; }
.es-form-intent { margin: 17px 0; padding: 14px 16px; border: 1px solid rgba(100,217,207,.15); border-radius: 16px; background: rgba(100,217,207,.07); }
.es-form-intent span,.es-form-intent strong,.es-form-intent small { display: block; }
.es-form-intent span { color: var(--aqua-deep); font-size: .82rem; font-weight: 800; text-transform: uppercase; }
.es-form-intent strong { margin-top: 4px; font-size: 0.84rem; }
.es-form-intent small { margin-top: 3px; color: var(--muted); font-size: .82rem; line-height: 1.45; }
.event-spaces-page .tour-form { min-height: 735px; }

/* Dock, dialog, toast ---------------------------------------------------- */
.es-desktop-shortcut { position: fixed; z-index: 160; right: 22px; bottom: 22px; display: grid; grid-template-columns: 47px 1fr 24px; align-items: center; gap: 12px; width: 315px; padding: 11px 13px; border-radius: 22px; text-align: left; transition: transform .3s var(--ease),opacity .3s ease; }
.es-desktop-shortcut:hover { transform: translateY(-4px); }
.es-brief-dock__ring { --dock-progress:0deg; position: relative; display: grid; place-items: center; width: 47px; height: 47px; border-radius: 50%; background: conic-gradient(var(--orange) var(--dock-progress),rgba(16,42,51,.08) 0); }
.es-brief-dock__ring::after { content: ""; position: absolute; inset: 5px; border-radius: 50%; background: rgba(255,255,255,.88); }
.es-brief-dock__ring i { position: relative; z-index: 2; font-family: var(--font-display); font-size: 0.84rem; font-style: normal; }
.es-desktop-shortcut small,.es-desktop-shortcut strong,.es-desktop-shortcut em { display: block; }
.es-desktop-shortcut small { color: var(--orange); font-size: .82rem; font-weight: 800; text-transform: uppercase; }
.es-desktop-shortcut strong { margin-top: 2px; font-size: 0.84rem; }
.es-desktop-shortcut em { margin-top: 2px; overflow: hidden; color: var(--muted); font-size: .82rem; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.es-desktop-shortcut > b { color: var(--orange); font-size: 1.02rem; }
.es-gallery-dialog { width: min(1050px,calc(100% - 40px)); padding: 0; overflow: visible; border: 0; border-radius: 35px; background: transparent; }
.es-gallery-dialog::backdrop { background: rgba(2,14,19,.78); backdrop-filter: blur(12px); }
.es-gallery-dialog figure { margin: 0; overflow: hidden; border-radius: 35px 35px 90px 35px; background: var(--ink-deep); box-shadow: 0 40px 110px rgba(0,0,0,.45); }
.es-gallery-dialog figure img { width: 100%; max-height: 74vh; object-fit: cover; }
.es-gallery-dialog figcaption { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 26px; color: white; }
.es-gallery-dialog figcaption > span { font-family: var(--font-display); font-size: 0.93rem; }
.es-gallery-dialog figcaption small { color: rgba(255,255,255,.4); font-size: 0.82rem; }
.es-gallery-dialog figcaption i { color: var(--orange); font-style: normal; }
.es-gallery-dialog__nav { position: absolute; z-index: 4; top: 48%; display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; color: white; background: rgba(5,25,32,.72); transform: translateY(-50%); }
.es-gallery-dialog__nav--prev { left: -62px; }
.es-gallery-dialog__nav--next { right: -62px; }
.es-gallery-dialog > .dialog-close { top: 15px; right: 15px; }
.es-toast { position: fixed; z-index: 10000; right: 22px; bottom: 22px; max-width: 360px; padding: 14px 17px; border: 1px solid rgba(255,255,255,.65); border-radius: 16px; color: white; background: rgba(7,28,36,.92); box-shadow: var(--shadow-md); font-size: 0.84rem; font-weight: 700; backdrop-filter: blur(16px); animation: esToastIn .35s var(--ease-out) both; }
@keyframes esToastIn { from { opacity: 0; transform: translateY(12px); } }

/* Breakpoints ------------------------------------------------------------ */
@media (max-width: 1180px) {
  .es-intro__layout { grid-template-columns: minmax(430px,.88fr) minmax(510px,1.12fr); gap: 45px; }
  .es-intro__copy h1 { font-size: clamp(3.6rem,6vw,5.8rem); }
  .es-hero__frame { left: 35px; }
  .es-orbit { grid-template-columns: 215px minmax(390px,1fr) minmax(310px,.72fr); }
  .es-orbit__story,.es-scene__story { padding: 24px; }
  .es-scene { grid-template-columns: 215px minmax(430px,1fr) minmax(300px,.66fr); }
  .es-flow__grid,.es-timeline__grid { grid-template-columns: minmax(560px,1fr) minmax(320px,.68fr); }
  .es-composer { grid-template-columns: minmax(560px,1fr) minmax(350px,.68fr); }
  .es-page-rail__links a { padding-inline: 6px; }
}

@media (max-width: 980px) {
  .es-section-heading { grid-template-columns: 1fr; gap: 22px; }
  .es-section-heading > p { max-width: 720px; }
  .es-intro { min-height: auto; padding-bottom: 78px; }
  .es-intro__layout { grid-template-columns: 1fr; }
  .es-intro__copy { max-width: 760px; }
  .es-hero { min-height: 690px; max-width: 760px; }
  .es-mode-switcher { grid-template-columns: 1fr; }
  .es-mode-switcher__buttons { min-height: 76px; }
  .es-proof__rail { grid-template-columns: repeat(2,1fr); }
  .es-proof article:nth-child(2) { border-right: 0; }
  .es-proof article:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.09); }
  .es-page-rail { display: none; }
  .es-orbit { grid-template-columns: 1fr 1fr; }
  .es-orbit__controls { grid-column: 1/-1; grid-template-columns: repeat(3,1fr); }
  .es-orbit__visual { min-height: 500px; }
  .es-flow__grid,.es-timeline__grid { grid-template-columns: 1fr; }
  .es-flow__story,.es-timeline__story { min-height: 0; }
  .es-scene { grid-template-columns: 1fr 1fr; }
  .es-scene__controls { grid-column: 1/-1; grid-template-columns: repeat(5,1fr); }
  .es-scene__controls button { grid-template-columns: 1fr; justify-items: center; text-align: center; }
  .es-scene__controls button > span { display: none; }
  .es-composer { grid-template-columns: 1fr; }
  .es-composer__preview { position: relative; top: auto; min-height: 0; }
  .es-readiness { grid-template-columns: 1fr; }
  .event-spaces-page .faq__grid,.event-spaces-page .contact__grid { grid-template-columns: 1fr; }
  .event-spaces-page .faq__heading { position: relative; top: auto; }
  .es-desktop-shortcut { display: none !important; }
  .event-spaces-page .stories__layout { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
  .event-spaces-page .section { padding: 96px 0; }
  .es-intro { margin-top: -96px; padding-top: 168px; }
  .es-breadcrumb { margin-bottom: 27px; }
  .es-intro__copy h1 { font-size: clamp(3rem,14vw,4.7rem); }
  .es-intro__lead { font-size: 1.02rem; }
  .es-intro__actions { display: grid; }
  .es-intro__actions .button { width: 100%; }
  .es-intro__signals b { display: none; }
  .es-perspective { grid-template-columns: 1fr; }
  .es-perspective button { justify-self: start; }
  .es-intro__facts { grid-template-columns: 1fr; }
  .es-hero { min-height: 660px; }
  .es-hero__frame { inset: 98px 0 80px; border-radius: 32px 32px 76px 32px; }
  .es-console { top: 0; width: 79%; padding: 17px; }
  .es-console__orb { display: none; }
  .es-console h2 { font-size: 1.02rem; }
  .es-local-card { top: 24px; right: 0; min-width: 0; padding: 10px; }
  .es-local-card > div { display: none; }
  .es-pulse-card { right: 8px; bottom: 34px; width: 210px; }
  .es-mode-switcher__buttons { grid-template-columns: repeat(2,1fr); }
  .es-mode-switcher__buttons button:last-child { grid-column: 1/-1; }
  .es-proof__rail { grid-template-columns: 1fr; }
  .es-proof article { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.09); }
  .es-proof article:last-child { border-bottom: 0; }
  .es-orbit__controls { grid-template-columns: repeat(2,1fr); }
  .es-orbit { grid-template-columns: 1fr; }
  .es-orbit__visual { min-height: 440px; }
  .es-orbit__rings { inset: 38px; }
  .es-orbit__core { width: 180px; height: 180px; }
  .es-orbit__meter { grid-template-columns: 1fr; gap: 6px; }
  .es-flow__top { align-items: stretch; flex-direction: column; }
  .es-flow__tabs { grid-template-columns: repeat(3,1fr); }
  .es-flow__view { align-self: flex-start; }
  .es-flow__map,.es-flow__story { min-height: 0; padding: 20px; border-radius: 28px 28px 62px 28px; }
  .es-flow__route { height: 280px; }
  .es-flow__zones { grid-template-columns: repeat(2,1fr); }
  .es-flow__status { grid-template-columns: 1fr; }
  .es-flow__split { grid-template-columns: 1fr; }
  .es-scene__controls { grid-template-columns: repeat(2,1fr); }
  .es-scene__controls button:last-child { grid-column: 1/-1; }
  .es-scene { grid-template-columns: 1fr; }
  .es-scene__visual { min-height: 520px; padding: 18px; }
  .es-floor { height: 390px; }
  .es-floor__tables i:nth-child(1),.es-floor[data-es-floor="banquet"] .es-floor__tables i:nth-child(1){left:55px}.es-floor__tables i:nth-child(2),.es-floor[data-es-floor="banquet"] .es-floor__tables i:nth-child(2){right:55px}.es-floor__tables i:nth-child(3),.es-floor[data-es-floor="banquet"] .es-floor__tables i:nth-child(3){left:55px}.es-floor__tables i:nth-child(4),.es-floor[data-es-floor="banquet"] .es-floor__tables i:nth-child(4){right:55px}.es-floor__tables i:nth-child(5),.es-floor[data-es-floor="banquet"] .es-floor__tables i:nth-child(5){left:55px}.es-floor__tables i:nth-child(6),.es-floor[data-es-floor="banquet"] .es-floor__tables i:nth-child(6){right:55px}
  .es-timeline__duration { grid-template-columns: repeat(2,1fr); }
  .es-timeline__visual,.es-timeline__story { min-height: 0; padding: 20px; border-radius: 28px 28px 62px 28px; }
  .es-timeline__curve { height: 250px; }
  .es-timeline__phases { grid-template-columns: repeat(2,1fr); margin-top: 0; }
  .es-timeline__phases button:last-child { grid-column: 1/-1; }
  .es-composer__builder,.es-composer__preview { padding: 21px; border-radius: 29px 29px 68px 29px; }
  .es-choice-grid--three,.es-choice-grid { grid-template-columns: 1fr; }
  .es-number-grid,.es-duration-grid,.es-atmosphere-grid { grid-template-columns: repeat(2,1fr); }
  .es-priority-grid { grid-template-columns: 1fr; }
  .es-result__layers { grid-template-columns: 1fr; }
  .es-preview__pulse { width: 185px; height: 185px; }
  .es-readiness__controls { grid-template-columns: 1fr; }
  .es-readiness__visual { min-height: 0; padding: 20px; border-radius: 29px 29px 70px 29px; }
  .es-radar { max-width: 390px; }
  .es-gallery { padding: 96px 0; }
  .es-gallery-card { min-width: 82vw; }
  .es-gallery-card img { height: 390px; }
  .event-spaces-page .tour-form { min-height: 0; }
  .es-gallery-dialog__nav { top: auto; bottom: 22px; }
  .es-gallery-dialog__nav--prev { left: 18px; }
  .es-gallery-dialog__nav--next { right: 18px; }
  .es-gallery-dialog figcaption { padding: 18px 76px; }
}

@media (max-width: 420px) {
  .es-intro__copy h1 { font-size: clamp(2.7rem,14.5vw,3.8rem); }
  .es-console { width: 86%; }
  .es-console__metrics { display: none; }
  .es-hero { min-height: 610px; }
  .es-hero__frame { top: 88px; }
  .es-mode-switcher__buttons button { min-height: 74px; font-size: 0.82rem; }
  .es-orbit__controls,.es-flow__tabs,.es-scene__controls { grid-template-columns: 1fr 1fr; }
  .es-orbit__visual { min-height: 390px; }
  .es-orbit__rings { inset: 29px; }
  .es-orbit__core { width: 155px; height: 155px; padding: 20px; }
  .es-orbit__core strong { font-size: 1.12rem; }
  .es-flow__route { height: 235px; margin-left: -6px; width: calc(100% + 12px); }
  .es-floor { height: 350px; }
  .es-floor__stage { width: 55%; }
  .es-floor__tables i { width: 62px; height: 34px; }
  .es-floor__tables i:nth-child(1){top:135px;left:35px}.es-floor__tables i:nth-child(2){top:135px;right:35px}.es-floor__tables i:nth-child(3){top:210px;left:35px}.es-floor__tables i:nth-child(4){top:210px;right:35px}.es-floor__tables i:nth-child(5){top:285px;left:35px}.es-floor__tables i:nth-child(6){top:285px;right:35px}
  .es-number-grid,.es-duration-grid,.es-atmosphere-grid { grid-template-columns: 1fr 1fr; }
  .es-number-grid button,.es-duration-grid button,.es-atmosphere-grid button { min-height: 118px; }
  .es-preview__optional { grid-template-columns: 1fr; }
  .es-preview__optional > span { grid-column: auto; }
  .es-radar__label { font-size: .82rem; }
}

@media (prefers-reduced-motion: reduce) {
  .es-confetti i,.es-console__orb::before,.es-console__orb::after,.es-pulse-card > div i,.es-floor__route i { animation: none !important; }
  .es-hero-image { transition-duration: .01ms !important; }
  .es-mode-switcher__signal span { animation: none !important; width: 100%; opacity: .35; }
}

/* -------------------------------------------------------------------------
   Event Spaces Premium v2
   Additive enhancements: sixth hero lens, memory sequence, Event Signature
   Studio and Event Day Command Map. Shared ../styles.css remains untouched.
   ------------------------------------------------------------------------- */

/* Hero v2 ---------------------------------------------------------------- */
.es-hero[data-es-hero-stage="launch"] .es-hero__wash {
  background:
    linear-gradient(180deg,rgba(6,12,20,.02),rgba(10,38,49,.2) 46%,rgba(5,21,30,.86)),
    radial-gradient(circle at 48% 34%,rgba(100,217,207,.2),transparent 36%),
    linear-gradient(118deg,rgba(255,101,52,.1),transparent 58%);
}
.es-mode-switcher__buttons { grid-template-columns: repeat(6,1fr); }
.es-console__use {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  width: 100%; min-height: 42px; margin-top: 14px; padding: 0 13px;
  border: 1px solid rgba(16,42,51,.08); border-radius: 13px;
  color: #fff; background: linear-gradient(135deg,var(--ink-deep),#123e48);
  font-size: 0.82rem; font-weight: 800; transition: transform .25s var(--ease),box-shadow .25s ease;
}
.es-console__use:hover { transform: translateY(-2px); box-shadow: 0 10px 25px rgba(7,28,36,.18); }
.es-console__use span { color: var(--aqua); }

.es-memory-card { right: -28px; bottom: 72px; width: 310px; padding: 17px 18px 16px; }
.es-memory-card > div { margin: 0; height: auto; }
.es-memory-card__top { display: flex !important; align-items: center !important; justify-content: space-between; gap: 12px; }
.es-memory-card__top small { color: var(--orange); font-size: .82rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.es-memory-card__top span { color: var(--muted); font-size: .82rem; font-weight: 800; text-transform: uppercase; }
.es-memory-card__line { position: relative; display: grid !important; grid-template-columns: repeat(3,1fr); align-items: center !important; gap: 0 !important; height: 19px !important; margin: 8px 0 5px !important; }
.es-memory-card__line::before { content: ""; position: absolute; right: 9px; left: 9px; height: 2px; border-radius: 99px; background: linear-gradient(90deg,var(--aqua),var(--orange-soft),var(--orange)); opacity: .72; }
.es-memory-card__line i { position: relative; z-index: 2; display: block; width: 9px !important; height: 9px !important; justify-self: center; border: 2px solid rgba(255,255,255,.92); border-radius: 50% !important; background: var(--aqua-deep) !important; box-shadow: 0 0 0 5px rgba(100,217,207,.1); animation: esMemoryBeat 2.8s ease-in-out infinite !important; }
.es-memory-card__line i:nth-child(2) { background: var(--orange-soft) !important; animation-delay: -.9s !important; }
.es-memory-card__line i:nth-child(3) { background: var(--orange) !important; animation-delay: -1.8s !important; }
@keyframes esMemoryBeat { 50% { transform: scale(1.35); box-shadow: 0 0 0 8px rgba(100,217,207,.04); } }
.es-memory-card__values { display: grid !important; grid-template-columns: repeat(3,1fr); gap: 6px !important; }
.es-memory-card__values span { min-width: 0; padding: 8px 7px; border: 1px solid rgba(16,42,51,.07); border-radius: 11px; background: rgba(255,255,255,.42); }
.es-memory-card__values small,.es-memory-card__values strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.es-memory-card__values small { color: var(--muted); font-size: .82rem; font-weight: 800; text-transform: uppercase; }
.es-memory-card__values strong { margin-top: 3px; font-size: .82rem; }
.es-memory-card > em { display: block; margin-top: 8px; color: var(--ink); font-size: .82rem; font-style: normal; font-weight: 800; }

/* Planning layer counters ------------------------------------------------ */
.es-preview__optional > span { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.es-preview__optional > span b { color: var(--orange); font-size: .82rem; font-weight: 800; }
.es-result__layers { grid-template-columns: repeat(3,1fr); }

/* Event Signature Studio ------------------------------------------------- */
.es-signature-section {
  position: relative; overflow: hidden;
  background:
    radial-gradient(circle at 10% 16%,rgba(100,217,207,.16),transparent 28%),
    radial-gradient(circle at 91% 72%,rgba(255,101,52,.15),transparent 30%),
    linear-gradient(150deg,#f8fcfd 0,#eef8f8 47%,#fff7f1 100%);
}
.es-signature-section__mesh { position: absolute; inset: 0; opacity: .42; pointer-events: none; background-image: linear-gradient(rgba(16,42,51,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(16,42,51,.04) 1px,transparent 1px); background-size: 52px 52px; mask-image: radial-gradient(circle at 50% 44%,black,transparent 82%); }
.es-signature-section__glow { position: absolute; border-radius: 50%; filter: blur(20px); pointer-events: none; }
.es-signature-section__glow--one { top: -260px; left: -220px; width: 680px; height: 680px; background: radial-gradient(circle,rgba(100,217,207,.2),transparent 68%); }
.es-signature-section__glow--two { right: -260px; bottom: -280px; width: 760px; height: 760px; background: radial-gradient(circle,rgba(255,101,52,.17),transparent 67%); }
.es-signature { --sig-primary:#64d9cf; --sig-secondary:#ff6534; position: relative; z-index: 2; display: grid; grid-template-columns: minmax(335px,.72fr) minmax(700px,1.28fr); gap: 20px; align-items: stretch; }
.es-signature[data-es-signature-energy="focused"] { --sig-primary:#64d9cf; --sig-secondary:#dff4fa; }
.es-signature[data-es-signature-energy="warm"] { --sig-primary:#ffae75; --sig-secondary:#64d9cf; }
.es-signature[data-es-signature-energy="electric"] { --sig-primary:#ff6534; --sig-secondary:#64d9cf; }
.es-signature__controls { padding: 24px; border-radius: 34px 34px 82px 34px; }
.es-signature__control-head { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding-bottom: 17px; border-bottom: 1px solid rgba(16,42,51,.08); }
.es-signature__control-head small,.es-signature__control-head strong { display: block; }
.es-signature__control-head small { color: var(--orange); font-size: .82rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.es-signature__control-head strong { margin-top: 5px; font-family: var(--font-display); font-size: 0.93rem; }
.es-signature__shuffle { display: inline-flex; align-items: center; gap: 7px; min-height: 39px; padding: 0 12px; border: 1px solid rgba(16,42,51,.1); border-radius: 999px; color: var(--ink); background: rgba(255,255,255,.55); font-size: .82rem; font-weight: 800; }
.es-signature__shuffle span { color: var(--orange); font-size: 0.96rem; transition: transform .45s var(--ease); }
.es-signature__shuffle:hover span { transform: rotate(180deg); }
.es-signature__group { margin: 17px 0 0; padding: 0; border: 0; }
.es-signature__group legend { display: flex; align-items: center; gap: 8px; width: 100%; margin-bottom: 8px; color: var(--ink); font-family: var(--font-display); font-size: 0.84rem; font-weight: 800; }
.es-signature__group legend span { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 9px; color: var(--orange); background: rgba(255,101,52,.08); font-size: .82rem; }
.es-signature__group > div { display: grid; grid-template-columns: repeat(auto-fit,minmax(86px,1fr)); gap: 7px; }
.es-signature__group button { min-width: 0; min-height: 68px; padding: 10px 9px; border: 1px solid rgba(16,42,51,.08); border-radius: 15px; background: rgba(255,255,255,.47); text-align: left; transition: transform .22s var(--ease),border-color .22s ease,background .22s ease,color .22s ease; }
.es-signature__group button:hover { transform: translateY(-2px); }
.es-signature__group button strong,.es-signature__group button small { display: block; }
.es-signature__group button strong { font-size: 0.82rem; }
.es-signature__group button small { margin-top: 4px; color: var(--muted); font-size: .82rem; line-height: 1.35; }
.es-signature__group button.is-selected { color: #fff; border-color: rgba(255,101,52,.35); background: linear-gradient(135deg,var(--ink-deep),#16414b); box-shadow: inset 3px 0 0 var(--orange),0 10px 22px rgba(7,28,36,.1); }
.es-signature__group button.is-selected small { color: rgba(255,255,255,.55); }
.es-signature__visual { display: grid; grid-template-columns: minmax(405px,1.02fr) minmax(315px,.78fr); gap: 18px; min-width: 0; }
.es-signature__canvas { position: relative; min-height: 690px; overflow: hidden; border: 1px solid rgba(255,255,255,.1); border-radius: 42px 42px 112px 42px; background: radial-gradient(circle at 50% 44%,rgba(100,217,207,.1),transparent 28%),linear-gradient(145deg,#061b23,#0a3039 56%,#0c4545); box-shadow: 0 30px 80px rgba(7,28,36,.2),inset 0 1px 0 rgba(255,255,255,.06); }
.es-signature__canvas::before { content: ""; position: absolute; inset: 0; opacity: .22; background-image: linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px); background-size: 42px 42px; mask-image: radial-gradient(circle,black,transparent 77%); }
.es-signature__halo { position: absolute; top: 50%; left: 50%; border: 1px solid rgba(255,255,255,.11); border-radius: 50%; transform: translate(-50%,-50%); animation: esSigOrbit 18s linear infinite; }
.es-signature__halo::before,.es-signature__halo::after { content: ""; position: absolute; border-radius: 50%; background: var(--sig-primary); box-shadow: 0 0 0 8px color-mix(in srgb,var(--sig-primary) 12%,transparent),0 0 28px color-mix(in srgb,var(--sig-primary) 42%,transparent); }
.es-signature__halo::before { top: -6px; left: 50%; width: 12px; height: 12px; }
.es-signature__halo::after { right: 8%; bottom: 10%; width: 8px; height: 8px; background: var(--sig-secondary); }
.es-signature__halo--one { width: 76%; aspect-ratio: 1; }
.es-signature__halo--two { width: 56%; aspect-ratio: 1; border-style: dashed; border-color: rgba(100,217,207,.18); animation-direction: reverse; animation-duration: 13s; }
.es-signature__halo--three { width: 35%; aspect-ratio: 1; border-color: rgba(255,101,52,.18); animation-duration: 9s; }
@keyframes esSigOrbit { to { transform: translate(-50%,-50%) rotate(360deg); } }
.es-signature__strand { position: absolute; inset: 0; pointer-events: none; }
.es-signature__strand i { position: absolute; width: 11px; height: 11px; border-radius: 50%; background: var(--sig-primary); box-shadow: 0 0 0 7px rgba(100,217,207,.07); animation: esSigDrift 5.4s ease-in-out infinite; }
.es-signature__strand--one i:nth-child(1){top:16%;left:24%}.es-signature__strand--one i:nth-child(2){top:30%;right:17%;animation-delay:-1.1s}.es-signature__strand--one i:nth-child(3){bottom:23%;right:25%;animation-delay:-2.2s}.es-signature__strand--one i:nth-child(4){bottom:17%;left:22%;animation-delay:-3.3s}
.es-signature__strand--two i { width: 7px; height: 7px; background: var(--sig-secondary); }
.es-signature__strand--two i:nth-child(1){top:24%;left:47%;animation-delay:-.6s}.es-signature__strand--two i:nth-child(2){top:48%;right:12%;animation-delay:-1.6s}.es-signature__strand--two i:nth-child(3){bottom:14%;left:48%;animation-delay:-2.6s}.es-signature__strand--two i:nth-child(4){top:48%;left:12%;animation-delay:-3.6s}
@keyframes esSigDrift { 50% { transform: translateY(13px) scale(1.22); opacity: .62; } }
.es-signature[data-es-signature-participation="listen"] .es-signature__strand i { animation-duration: 7.5s; }
.es-signature[data-es-signature-participation="move"] .es-signature__strand i { animation-duration: 3.2s; }
.es-signature[data-es-signature-participation="move"] .es-signature__canvas { background: radial-gradient(circle at 48% 42%,rgba(255,101,52,.14),transparent 30%),linear-gradient(145deg,#061b23,#0a3039 52%,#0c4545); }
.es-signature__nucleus { position: absolute; z-index: 4; top: 50%; left: 50%; display: grid; place-items: center; width: 205px; height: 205px; padding: 28px; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; color: #fff; text-align: center; background: radial-gradient(circle at 35% 25%,rgba(255,255,255,.14),transparent 36%),rgba(4,24,31,.88); box-shadow: 0 28px 70px rgba(0,0,0,.34),inset 0 0 45px rgba(100,217,207,.06); transform: translate(-50%,-50%); transition: border-radius .5s var(--ease),transform .5s var(--ease),box-shadow .5s ease; }
.es-signature[data-es-signature-focus="speaker"] .es-signature__nucleus { border-radius: 36px; }
.es-signature[data-es-signature-focus="honoree"] .es-signature__nucleus { border-radius: 50% 50% 38% 38%; box-shadow: 0 28px 70px rgba(0,0,0,.34),0 0 0 12px rgba(255,174,117,.05); }
.es-signature[data-es-signature-focus="performance"] .es-signature__nucleus { border-radius: 34px; transform: translate(-50%,-50%) rotate(4deg); }
.es-signature__nucleus small,.es-signature__nucleus strong,.es-signature__nucleus span { display: block; }
.es-signature__nucleus small { color: var(--aqua); font-size: .82rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.es-signature__nucleus strong { margin-top: 10px; font-family: var(--font-display); font-size: 1.22rem; letter-spacing: -.045em; }
.es-signature__nucleus span { margin-top: 7px; color: rgba(255,255,255,.52); font-size: 0.82rem; }
.es-signature__axis { position: absolute; z-index: 5; min-width: 84px; padding: 9px 12px; border: 1px solid rgba(255,255,255,.09); border-radius: 999px; color: rgba(255,255,255,.72); background: rgba(4,24,31,.68); box-shadow: 0 12px 30px rgba(0,0,0,.14); font-size: .82rem; font-weight: 800; text-align: center; backdrop-filter: blur(12px); transition: transform .4s var(--ease); }
.es-signature__axis--energy { top: 8%; left: 50%; transform: translateX(-50%); }
.es-signature__axis--participation { top: 50%; right: 5%; transform: translateY(-50%); }
.es-signature__axis--focus { bottom: 8%; left: 50%; transform: translateX(-50%); }
.es-signature__axis--finish { top: 50%; left: 5%; transform: translateY(-50%); }
.es-signature__story { display: flex; flex-direction: column; min-width: 0; padding: 28px; border-radius: 36px 36px 86px 36px; }
.es-signature__story-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--muted); font-size: .82rem; font-weight: 800; text-transform: uppercase; }
.es-signature__story-top span { display: inline-flex; align-items: center; gap: 8px; }
.es-signature__story-top i { width: 7px; height: 7px; border-radius: 50%; background: #58d99f; box-shadow: 0 0 0 5px rgba(88,217,159,.12); }
.es-signature__story-top b { color: var(--orange); font-family: var(--font-display); font-size: .82rem; }
.es-signature__story > small { margin-top: 22px; color: var(--aqua-deep); font-size: .82rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.es-signature__story h3 { margin: 8px 0 11px; font-family: var(--font-display); font-size: 1.55rem; letter-spacing: -.052em; line-height: 1.12; }
.es-signature__story > p { margin: 0; color: var(--muted); font-size: 0.86rem; line-height: 1.67; }
.es-signature__lenses { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 18px; }
.es-signature__lenses > div { padding: 14px; border: 1px solid rgba(16,42,51,.08); border-radius: 16px; background: rgba(255,255,255,.46); }
.es-signature__lenses small,.es-signature__lenses strong { display: block; }
.es-signature__lenses small,.es-signature__questions > small { color: var(--orange); font-size: .82rem; font-weight: 800; text-transform: uppercase; }
.es-signature__lenses strong { margin-top: 6px; font-size: 0.82rem; line-height: 1.45; }
.es-signature__questions { margin-top: 18px; }
.es-signature__questions ul { display: grid; gap: 7px; margin: 9px 0 0; padding: 0; list-style: none; }
.es-signature__questions li { position: relative; padding-left: 15px; color: var(--muted); font-size: 0.82rem; line-height: 1.48; }
.es-signature__questions li::before { content: ""; position: absolute; top: .55em; left: 0; width: 6px; height: 6px; border-radius: 50%; background: var(--aqua-deep); }
.es-signature__actions { display: grid; gap: 8px; margin-top: auto; padding-top: 21px; }
.es-signature__actions .button { width: 100%; min-height: 47px; font-size: 0.82rem; }

/* Event Day Command Map -------------------------------------------------- */
.es-command-section { position: relative; overflow: hidden; color: #fff; background: radial-gradient(circle at 12% 10%,rgba(100,217,207,.13),transparent 28%),radial-gradient(circle at 88% 78%,rgba(255,101,52,.14),transparent 31%),linear-gradient(135deg,#051922,#082f39 56%,#0b4142); }
.es-command-section__grid { position: absolute; inset: 0; opacity: .17; background-image: linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px); background-size: 56px 56px; mask-image: linear-gradient(to bottom,black,transparent 94%); }
.es-command-section__glow { position: absolute; top: -280px; right: -240px; width: 800px; height: 800px; border-radius: 50%; background: radial-gradient(circle,rgba(100,217,207,.17),transparent 67%); filter: blur(20px); }
.es-command { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(650px,1.1fr) minmax(340px,.7fr); gap: 20px; align-items: stretch; }
.es-command__map { min-width: 0; padding: 27px; border: 1px solid rgba(255,255,255,.09); border-radius: 40px 40px 105px 40px; background: linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018)); box-shadow: inset 0 1px 0 rgba(255,255,255,.05),0 28px 70px rgba(0,0,0,.16); }
.es-command__map-top { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.es-command__map-top small,.es-command__map-top strong { display: block; }
.es-command__map-top small { color: var(--aqua); font-size: .82rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.es-command__map-top strong { margin-top: 5px; font-family: var(--font-display); font-size: 0.96rem; }
.es-command__map-top > span { color: rgba(255,255,255,.48); font-size: .82rem; font-weight: 800; }
.es-command__map-top b { color: var(--orange-soft); font-family: var(--font-display); font-size: 0.93rem; }
.es-command__route { position: relative; min-height: 560px; margin-top: 15px; }
.es-command__route svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.es-command__track,.es-command__progress { fill: none; stroke-linecap: round; stroke-linejoin: round; }
.es-command__track { stroke: rgba(255,255,255,.08); stroke-width: 4; stroke-dasharray: 9 14; }
.es-command__progress { stroke: url(#es-command-gradient); stroke-width: 5; filter: url(#es-command-glow); transition: stroke-dashoffset .7s var(--ease); }
.es-command__traveler { fill: var(--orange); stroke: rgba(255,255,255,.9); stroke-width: 3; filter: url(#es-command-glow); transition: cx .65s var(--ease),cy .65s var(--ease); }
.es-command__node { position: absolute; z-index: 4; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 7px; min-width: 116px; min-height: 45px; padding: 7px 10px; border: 1px solid rgba(255,255,255,.1); border-radius: 15px; color: rgba(255,255,255,.58); background: rgba(5,25,33,.78); box-shadow: 0 12px 28px rgba(0,0,0,.18); backdrop-filter: blur(14px); transform: translate(-50%,-50%); transition: color .25s ease,background .25s ease,border-color .25s ease,transform .25s var(--ease); }
.es-command__node:hover { transform: translate(-50%,-50%) scale(1.03); }
.es-command__node span { color: var(--aqua); font-family: var(--font-display); font-size: .82rem; }
.es-command__node strong { font-size: .82rem; }
.es-command__node i { width: 8px; height: 8px; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; }
.es-command__node.is-active { color: #fff; border-color: rgba(255,101,52,.36); background: linear-gradient(135deg,rgba(255,101,52,.2),rgba(100,217,207,.08)); }
.es-command__node.is-active span { color: var(--orange-soft); }
.es-command__node.is-considered i { border-color: var(--aqua); background: var(--aqua); box-shadow: 0 0 0 5px rgba(100,217,207,.08); }
.es-command__node--one { left: 12%; top: 55%; }.es-command__node--two { left: 28%; top: 19%; }.es-command__node--three { left: 51%; top: 31%; }.es-command__node--four { left: 76%; top: 17%; }.es-command__node--five { left: 87%; top: 57%; }.es-command__node--six { left: 58%; top: 83%; }
.es-command__center { position: absolute; z-index: 3; top: 53%; left: 48%; display: grid; place-items: center; width: 200px; height: 200px; padding: 27px; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; text-align: center; background: radial-gradient(circle at 35% 25%,rgba(255,255,255,.12),transparent 34%),rgba(4,23,30,.86); box-shadow: 0 24px 65px rgba(0,0,0,.3),inset 0 0 40px rgba(100,217,207,.05); transform: translate(-50%,-50%); }
.es-command__center small,.es-command__center strong,.es-command__center span { display: block; }
.es-command__center small { color: var(--aqua); font-size: .82rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.es-command__center strong { margin-top: 8px; font-family: var(--font-display); font-size: 1.05rem; letter-spacing: -.04em; }
.es-command__center span { margin-top: 8px; color: rgba(255,255,255,.42); font-size: .82rem; }
.es-command__coverage { display: grid; grid-template-columns: 108px 1fr; align-items: center; gap: 18px; margin-top: 10px; padding: 15px 17px; border: 1px solid rgba(255,255,255,.07); border-radius: 22px; background: rgba(255,255,255,.035); }
.es-command__coverage-ring { --command-progress:0deg; display: grid; place-items: center; width: 94px; height: 94px; border-radius: 50%; background: conic-gradient(var(--orange) 0 var(--command-progress),rgba(255,255,255,.08) var(--command-progress) 360deg); box-shadow: inset 0 0 0 12px rgba(5,25,33,.94); }
.es-command__coverage-ring strong,.es-command__coverage-ring small { display: block; text-align: center; }
.es-command__coverage-ring strong { font-family: var(--font-display); font-size: 1.08rem; }
.es-command__coverage-ring small { color: rgba(255,255,255,.42); font-size: .82rem; text-transform: uppercase; }
.es-command__coverage > p { margin: 0; color: rgba(255,255,255,.56); font-size: 0.84rem; line-height: 1.65; }
.es-command__story { display: flex; flex-direction: column; padding: 29px; border-radius: 38px 38px 92px 38px; color: var(--ink); }
.es-command__story-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--muted); font-size: .82rem; font-weight: 800; text-transform: uppercase; }
.es-command__story-top span { display: inline-flex; align-items: center; gap: 8px; }
.es-command__story-top i { width: 7px; height: 7px; border-radius: 50%; background: #58d99f; box-shadow: 0 0 0 5px rgba(88,217,159,.12); }
.es-command__story-top b { color: var(--orange); font-family: var(--font-display); font-size: .82rem; }
.es-command__story > small { margin-top: 23px; color: var(--aqua-deep); font-size: .82rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.es-command__story h3 { margin: 8px 0 11px; font-family: var(--font-display); font-size: 1.62rem; letter-spacing: -.052em; line-height: 1.1; }
.es-command__story > p { margin: 0; color: var(--muted); font-size: 0.86rem; line-height: 1.68; }
.es-command__trio { display: grid; gap: 8px; margin-top: 19px; }
.es-command__trio > div { padding: 13px 14px; border: 1px solid rgba(16,42,51,.08); border-radius: 16px; background: rgba(255,255,255,.46); }
.es-command__trio span,.es-command__trio strong { display: block; }
.es-command__trio span { color: var(--orange); font-size: .82rem; font-weight: 800; text-transform: uppercase; }
.es-command__trio strong { margin-top: 6px; font-size: 0.82rem; line-height: 1.45; }
.es-command__why { margin-top: 12px; padding: 14px; border-radius: 17px; color: #fff; background: linear-gradient(135deg,var(--ink-deep),#10434a); }
.es-command__why small,.es-command__why strong { display: block; }
.es-command__why small { color: var(--aqua); font-size: .82rem; font-weight: 800; text-transform: uppercase; }
.es-command__why strong { margin-top: 6px; font-size: 0.82rem; line-height: 1.45; }
.es-command__actions { display: grid; gap: 8px; margin-top: auto; padding-top: 20px; }
.es-command__consider { display: flex; align-items: center; justify-content: center; gap: 9px; min-height: 45px; border: 1px solid rgba(16,42,51,.1); border-radius: 14px; background: rgba(255,255,255,.55); font-size: .82rem; font-weight: 800; }
.es-command__consider i { display: grid; place-items: center; width: 22px; height: 22px; border: 1px solid rgba(16,42,51,.12); border-radius: 50%; font-style: normal; transition: transform .3s var(--ease),background .3s ease,color .3s ease; }
.es-command__consider[aria-pressed="true"] { color: #fff; border-color: var(--aqua-deep); background: var(--aqua-deep); }
.es-command__consider[aria-pressed="true"] i { color: var(--aqua-deep); background: #fff; transform: rotate(45deg); }
.es-command__actions .button { width: 100%; min-height: 47px; font-size: 0.82rem; }
.es-command__disclaimer { margin-top: 13px !important; color: var(--muted) !important; font-size: .82rem !important; line-height: 1.48 !important; }

/* v2 responsive refinements --------------------------------------------- */
@media (max-width: 1280px) {
  .es-page-rail__links { gap: 2px; }
  .es-page-rail__links a { padding-inline: 6px; font-size: .82rem; }
  .es-signature { grid-template-columns: 315px 1fr; }
  .es-signature__visual { grid-template-columns: minmax(390px,1fr); }
  .es-signature__canvas { min-height: 570px; }
  .es-command { grid-template-columns: minmax(590px,1fr) minmax(330px,.64fr); }
}
@media (max-width: 1180px) {
  .es-memory-card { right: -6px; width: 285px; }
  .es-signature { grid-template-columns: 1fr; }
  .es-signature__controls { display: grid; grid-template-columns: repeat(2,1fr); gap: 0 18px; }
  .es-signature__control-head { grid-column: 1/-1; }
  .es-signature__visual { grid-template-columns: minmax(420px,1fr) minmax(310px,.72fr); }
  .es-command { grid-template-columns: 1fr; }
  .es-command__story { min-height: 0; }
}
@media (max-width: 980px) {
  .es-mode-switcher__buttons { grid-template-columns: repeat(3,1fr); }
  .es-signature__visual { grid-template-columns: 1fr; }
  .es-signature__canvas { min-height: 610px; }
  .es-signature__story { min-height: 0; }
  .es-command__route { min-height: 520px; }
}
@media (max-width: 720px) {
  .es-memory-card { right: 5px; bottom: 30px; width: min(290px,84%); }
  .es-memory-card__values strong { font-size: .82rem; }
  .es-console__use { min-height: 38px; }
  .es-mode-switcher__buttons { grid-template-columns: repeat(2,1fr); }
  .es-mode-switcher__buttons button:last-child { grid-column: auto; }
  .es-signature__controls { display: block; padding: 20px; }
  .es-signature__group > div { grid-template-columns: repeat(2,1fr); }
  .es-signature__group[data-es-signature-group="energy"] > div,.es-signature__group[data-es-signature-group="participation"] > div,.es-signature__group[data-es-signature-group="finish"] > div { grid-template-columns: repeat(3,1fr); }
  .es-signature__group button { min-height: 64px; padding: 9px 7px; }
  .es-signature__group button small { display: none; }
  .es-signature__visual { display: block; }
  .es-signature__canvas { min-height: 490px; border-radius: 30px 30px 72px 30px; }
  .es-signature__nucleus { width: 160px; height: 160px; padding: 20px; }
  .es-signature__nucleus strong { font-size: 1.02rem; }
  .es-signature__axis { min-width: 70px; padding: 8px; font-size: .82rem; }
  .es-signature__axis--participation { right: 2%; }.es-signature__axis--finish { left: 2%; }
  .es-signature__story { margin-top: 14px; padding: 22px; border-radius: 29px 29px 68px 29px; }
  .es-signature__lenses { grid-template-columns: 1fr; }
  .es-command__map { padding: 20px; border-radius: 29px 29px 70px 29px; }
  .es-command__map-top { align-items: flex-start; flex-direction: column; }
  .es-command__route { min-height: 590px; margin-top: 8px; }
  .es-command__route svg { opacity: .85; }
  .es-command__node { min-width: 98px; min-height: 41px; padding: 6px 8px; }
  .es-command__node strong { font-size: .82rem; }
  .es-command__node--one { left: 15%;top:53%}.es-command__node--two{left:29%;top:17%}.es-command__node--three{left:57%;top:29%}.es-command__node--four{left:82%;top:15%}.es-command__node--five{left:84%;top:60%}.es-command__node--six{left:53%;top:86%}
  .es-command__center { width: 156px; height: 156px; padding: 19px; }
  .es-command__center strong { font-size: 0.96rem; }
  .es-command__coverage { grid-template-columns: 82px 1fr; padding: 13px; }
  .es-command__coverage-ring { width: 76px; height: 76px; box-shadow: inset 0 0 0 10px rgba(5,25,33,.94); }
  .es-command__story { margin-top: 14px; padding: 22px; border-radius: 29px 29px 68px 29px; }
  .es-result__layers { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 420px) {
  .es-memory-card { width: 89%; }
  .es-memory-card__top span { display: none; }
  .es-signature__group[data-es-signature-group="energy"] > div,.es-signature__group[data-es-signature-group="participation"] > div,.es-signature__group[data-es-signature-group="finish"] > div { grid-template-columns: 1fr 1fr; }
  .es-signature__group[data-es-signature-group="energy"] button:last-child,.es-signature__group[data-es-signature-group="participation"] button:last-child,.es-signature__group[data-es-signature-group="finish"] button:last-child { grid-column: 1/-1; }
  .es-signature__canvas { min-height: 430px; }
  .es-signature__halo--one { width: 84%; }.es-signature__halo--two{width:62%}.es-signature__halo--three{width:39%}
  .es-signature__axis { min-width: 62px; font-size: .82rem; }
  .es-command__route { min-height: 540px; }
  .es-command__node { min-width: 82px; grid-template-columns: auto 1fr; }
  .es-command__node i { display: none; }
  .es-command__node strong { font-size: .82rem; }
  .es-command__center { width: 132px; height: 132px; }
  .es-command__center span { display: none; }
  .es-command__coverage { grid-template-columns: 1fr; justify-items: center; text-align: center; }
  .es-result__layers { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .es-memory-card__line i,.es-signature__halo,.es-signature__strand i { animation: none !important; }
  .es-command__progress,.es-command__traveler { transition: none !important; }
}

/* Readability polish: keep all six event modes within the available width and
   allow the live concept title to wrap instead of being visually clipped. */
.event-spaces-page .es-mode-switcher__label strong {
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
  line-height: 1.4;
}
.event-spaces-page .es-mode-switcher__buttons {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
@media (max-width: 1100px) {
  .event-spaces-page .es-mode-switcher {
    grid-template-columns: 1fr;
  }
  .event-spaces-page .es-mode-switcher__buttons {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 720px) {
  .event-spaces-page .es-mode-switcher__buttons {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
