:root {
  --vw-bg: #030b1d;
  --vw-bg-soft: #071a38;
  --vw-panel: #0a2146;
  --vw-panel-2: #0d2d5d;
  --vw-text: #f7fbff;
  --vw-muted: #bad0ea;
  --vw-cyan: #22e7ff;
  --vw-blue: #1479ff;
  --vw-green: #45f2c2;
  --vw-price: #5cff72;
  --vw-pink: #ff3ca6;
  --vw-yellow: #ffe566;
  --vw-orange: #ff8a24;
  --vw-line: rgba(152, 220, 255, .22);
  --vw-shadow: 0 24px 70px rgba(0, 5, 20, .42);
  --vw-radius: 24px;
  --vw-shell: 1180px;
  color-scheme: dark;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--vw-bg); }
body { margin: 0; overflow-x: hidden; color: var(--vw-text); background: var(--vw-bg); -webkit-font-smoothing: antialiased; }
body, button, input { font: inherit; }
img, video { max-width: 100%; }
a { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
.vw-ef-shell { width: min(var(--vw-shell), calc(100% - 40px)); margin-inline: auto; }
.vw-ef-skip { position: fixed; z-index: 100; top: 8px; left: 8px; padding: 10px 14px; color: #00111b; background: var(--vw-yellow); border-radius: 9px; transform: translateY(-150%); }
.vw-ef-skip:focus { transform: none; }
.vw-ef-kicker { margin: 0 0 14px; color: var(--vw-cyan); font-size: 14px; font-weight: 950; line-height: 1.35; letter-spacing: .1em; text-transform: uppercase; }
.vw-ef-lead { color: var(--vw-muted); font-size: clamp(18px, 2.2vw, 23px); line-height: 1.55; }

.vw-ef-button { display: inline-flex; min-height: 56px; align-items: center; justify-content: center; padding: 15px 25px; border: 0; border-radius: 999px; font-weight: 950; text-align: center; text-decoration: none; cursor: pointer; transition: transform .2s ease, filter .2s ease, box-shadow .2s ease; }
.vw-ef-button:hover { transform: translateY(-2px); filter: brightness(1.08); }
.vw-ef-button:focus-visible, button:focus-visible, input:focus-visible, a:focus-visible { outline: 3px solid var(--vw-yellow); outline-offset: 3px; }
.vw-ef-button-primary { color: #061220; background: linear-gradient(135deg, var(--vw-yellow), #ffc928 58%, var(--vw-orange)); box-shadow: 0 13px 32px rgba(255, 179, 36, .28), 0 0 0 1px rgba(255,255,255,.28) inset; }

/* Landing hero */
.vw-ef-hero { position: relative; isolation: isolate; min-height: 760px; display: grid; align-items: center; overflow: hidden; padding: 30px 0 74px; }
.vw-ef-hero-video { position: absolute; z-index: -3; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(1.18) contrast(1.05); }
.vw-ef-hero-shade { position: absolute; z-index: -2; inset: 0; background: linear-gradient(90deg, rgba(2,9,25,.96) 0%, rgba(3,15,37,.85) 44%, rgba(3,13,31,.48) 75%, rgba(3,11,27,.7)), linear-gradient(180deg, rgba(2,10,27,.36), rgba(3,11,29,.84)); }
.vw-ef-hero:after { content: ""; position: absolute; z-index: -1; inset: 0; opacity: .42; background-image: linear-gradient(rgba(77,220,255,.07) 1px, transparent 1px), linear-gradient(90deg,rgba(77,220,255,.07) 1px,transparent 1px); background-size: 64px 64px; mask-image: linear-gradient(to bottom, #000, transparent 85%); }
.vw-ef-hero-inner { align-self: stretch; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding-top: 18px; }
.vw-ef-logo-link { display: inline-flex; margin-bottom: 58px; border-radius: 12px; }
.vw-ef-logo { width: 138px; max-height: 82px; object-fit: contain; object-position: left center; filter: drop-shadow(0 0 18px rgba(34,231,255,.22)); }
.vw-ef-callout { display: inline-flex; margin: 0 0 18px; padding: 10px 16px; border: 1px solid rgba(255,229,102,.5); border-radius: 999px; color: #161000; background: linear-gradient(135deg, var(--vw-yellow), #fff1a4); box-shadow: 0 10px 30px rgba(255,201,40,.17); font-size: clamp(15px, 2vw, 20px); font-weight: 950; letter-spacing: .02em; text-transform: uppercase; }
.vw-ef-hero h1 { max-width: 820px; margin: 0 0 22px; font-size: clamp(49px, 7.2vw, 92px); line-height: .93; letter-spacing: -.055em; text-wrap: balance; text-shadow: 0 8px 34px rgba(0,0,0,.64); }
.vw-ef-hero h1 em { color: var(--vw-cyan); font-style: normal; text-shadow: 0 0 36px rgba(34,231,255,.38); }
.vw-ef-hero-copy { max-width: 720px; margin: 0 0 22px; color: #e3f1ff; font-size: clamp(19px, 2.3vw, 26px); line-height: 1.42; text-shadow: 0 4px 18px rgba(0,0,0,.7); }
.vw-ef-hero-points { display: flex; flex-wrap: wrap; gap: 10px 18px; padding: 0; margin: 0 0 30px; list-style: none; }
.vw-ef-hero-points li { display: flex; gap: 8px; align-items: center; color: #eef8ff; font-size: 14px; font-weight: 800; }
.vw-ef-hero-points li span { min-width: 0; overflow-wrap: anywhere; }
.vw-ef-hero-points li:before { content: "✓"; display: grid; width: 22px; height: 22px; place-items: center; border-radius: 50%; color: #03131f; background: var(--vw-green); }
.vw-ef-hero .vw-ef-button { min-width: min(420px, 100%); font-size: 17px; text-transform: uppercase; }
.vw-ef-microcopy { width: min(420px,100%); margin: 10px 0 0; color: #c9dff2; font-size: 13px; font-weight: 750; text-align: center; }

/* Video proof belongs to the landing only. */
.vw-ef-proof { padding: 90px 0; background: radial-gradient(circle at 12% 0, rgba(34,231,255,.15), transparent 28rem), linear-gradient(180deg, #071936, #041128); }
.vw-ef-section-heading { max-width: 760px; margin: 0 auto 38px; text-align: center; }
.vw-ef-section-heading h2, .vw-ef-value h2, .vw-ef-optin h2, .vw-ef-branch h2 { margin: 0 0 18px; font-size: clamp(34px, 4vw, 52px); line-height: 1.08; letter-spacing: -.032em; text-wrap: balance; }
.vw-ef-section-heading > p:last-child { margin: 0; color: var(--vw-muted); font-size: 18px; line-height: 1.6; }
.vw-ef-video-grid { display: grid; grid-template-columns: 1.35fr .85fr; grid-template-rows: repeat(2, 260px); gap: 18px; }
.vw-ef-media-card { position: relative; min-width: 0; margin: 0; overflow: hidden; border: 1px solid var(--vw-line); border-radius: var(--vw-radius); background: #06162e; box-shadow: var(--vw-shadow); }
.vw-ef-media-card-featured { grid-row: 1 / 3; }
.vw-ef-media-card video { width: 100%; height: 100%; object-fit: cover; display: block; }
.vw-ef-media-card:after { content: ""; position: absolute; inset: 55% 0 0; background: linear-gradient(transparent, rgba(0,7,20,.92)); }
.vw-ef-media-card figcaption { position: absolute; z-index: 2; left: 22px; right: 22px; bottom: 20px; font-size: clamp(16px, 2vw, 22px); font-weight: 900; }

.vw-ef-value { padding: 100px 0; background: #f5f8ff; color: #08152e; }
.vw-ef-value-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px, 5vw, 68px); align-items: center; }
.vw-ef-value .vw-ef-kicker { max-width: 580px; color: #075fd4; font-size: clamp(15px,1.25vw,17px); }
.vw-ef-value-grid > div:first-child > p:last-child { max-width: 590px; color: #40516e; font-size: 18px; line-height: 1.65; }
.vw-ef-value-stack { display: grid; gap: 14px; }
.vw-ef-value-stack article { display: grid; grid-template-columns: 54px 1fr; gap: 18px; padding: 22px; border: 1px solid #d6e0f2; border-radius: 20px; background: white; box-shadow: 0 18px 48px rgba(13,45,94,.09); }
.vw-ef-value-stack article > span { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 14px; color: #031120; background: linear-gradient(135deg,var(--vw-cyan),var(--vw-green)); font-weight: 950; }
.vw-ef-value-stack strong { display: block; margin: 2px 0 6px; font-size: 21px; }
.vw-ef-value-stack p { margin: 0; color: #53627a; font-size: 16px; line-height: 1.55; }

/* Lead capture */
.vw-ef-optin { position: relative; padding: 100px 0; overflow: hidden; background: radial-gradient(circle at 85% 12%,rgba(255,60,166,.16),transparent 28rem), radial-gradient(circle at 10% 70%,rgba(34,231,255,.14),transparent 30rem), linear-gradient(145deg,#071b3b,#030b1d); }
.vw-ef-optin:before { content: ""; position: absolute; inset: 0; opacity: .45; background-image: radial-gradient(circle at center, rgba(255,255,255,.18) 1px, transparent 1px); background-size: 28px 28px; mask-image: linear-gradient(90deg,#000,transparent 50%); }
.vw-ef-optin-grid { position: relative; display: grid; grid-template-columns: 1fr .86fr; gap: clamp(36px,6vw,76px); align-items: center; }
.vw-ef-optin-copy h2 { max-width: 620px; }
.vw-ef-optin-copy .vw-ef-lead { max-width: 600px; font-size: clamp(18px,1.6vw,21px); }
.vw-ef-result-preview { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin: 28px 0 24px; }
.vw-ef-result-preview div { padding: 14px; border: 1px solid var(--vw-line); border-radius: 14px; background: rgba(255,255,255,.06); }
.vw-ef-result-preview span { display: block; color: var(--vw-muted); font-size: 12px; font-weight: 800; }
.vw-ef-result-preview strong { display: block; margin-top: 5px; color: var(--vw-yellow); font-size: 20px; filter: blur(4px); }
.vw-ef-checks { display: grid; gap: 12px; padding: 0; margin: 0; list-style: none; }
.vw-ef-checks li { display: flex; gap: 11px; color: #e2effc; line-height: 1.4; }
.vw-ef-checks li:before { content: "✓"; color: var(--vw-green); font-weight: 950; }
.vw-ef-lead-form { position: relative; display: grid; gap: 16px; padding: clamp(24px,4vw,38px); scroll-margin-top: 14px; border: 1px solid rgba(154,225,255,.26); border-radius: 28px; background: linear-gradient(160deg,rgba(15,49,96,.98),rgba(6,23,51,.98)); box-shadow: 0 30px 90px rgba(0,3,15,.48), 0 0 44px rgba(34,231,255,.08); }
.vw-ef-form-head > span { display: inline-flex; margin-bottom: 12px; padding: 7px 11px; border-radius: 999px; color: #09101b; background: var(--vw-green); font-size: 12px; font-weight: 950; text-transform: uppercase; }
.vw-ef-form-head h3 { margin: 0 0 8px; font-size: clamp(27px,2.5vw,32px); line-height: 1.12; }
.vw-ef-form-head p { margin: 0 0 8px; color: var(--vw-muted); font-size: 16px; line-height: 1.5; }
.vw-ef-lead-form > label:not(.vw-ef-consent):not(.vw-ef-hp) { display: grid; gap: 7px; color: #e9f4ff; font-size: 14px; font-weight: 850; }
.vw-ef-lead-form input[type="text"], .vw-ef-lead-form input[type="tel"], .vw-ef-lead-form select { width: 100%; min-height: 54px; padding: 13px 15px; border: 1px solid rgba(166,222,255,.28); border-radius: 12px; color: white; background: rgba(255,255,255,.075); }
.vw-ef-lead-form select { appearance: auto; cursor: pointer; }
.vw-ef-lead-form select option { color: #07152b; background: white; }
.vw-ef-lead-form input::placeholder { color: #8da8c5; }
.vw-ef-lead-form input:focus { border-color: var(--vw-cyan); background: rgba(255,255,255,.11); }
.vw-ef-consent { display: grid; grid-template-columns: 23px 1fr; gap: 10px; align-items: start; color: #bdcfe3; font-size: 12px; line-height: 1.45; }
.vw-ef-consent input { width: 21px; height: 21px; margin: 1px 0 0; accent-color: var(--vw-green); }
.vw-ef-consent a { color: var(--vw-cyan); }
.vw-ef-lead-form .vw-ef-button { width: 100%; }
.vw-ef-hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.vw-ef-form-status { min-height: 21px; margin: -4px 0 0; color: #ffb2c8; font-size: 13px; font-weight: 800; text-align: center; }
.vw-ef-form-status.is-success { color: var(--vw-green); }
.vw-ef-security { margin: -9px 0 0; color: #92aac2; font-size: 11px; text-align: center; }
.vw-ef-submit[disabled] { opacity: .68; cursor: wait; }

.vw-ef-branch { padding: 90px 0; background: #f5f8ff; color: #08152e; }
.vw-ef-branch-card { display: grid; grid-template-columns: 1.1fr .9fr; gap: 0; overflow: hidden; border-radius: 28px; background: white; box-shadow: 0 25px 70px rgba(10,38,83,.15); }
.vw-ef-branch-card img { width: 100%; height: 100%; min-height: 380px; object-fit: cover; }
.vw-ef-branch-card > div { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: clamp(30px,6vw,72px); }
.vw-ef-branch .vw-ef-kicker { color: #075fd4; }
.vw-ef-branch p:not(.vw-ef-kicker) { color: #52647f; font-size: 19px; }
.vw-ef-text-link { color: #075fd4; font-weight: 900; }

/* Calculator: intentionally contains no video/media gallery. */
.vw-ef-calculator { min-height: 100vh; background: radial-gradient(circle at 15% 0,rgba(34,231,255,.14),transparent 30rem), radial-gradient(circle at 90% 60%,rgba(255,60,166,.12),transparent 30rem), var(--vw-bg); }
.vw-ef-calculator-main { min-height: calc(100vh - 58px); padding-bottom: 60px; }
.vw-ef-calc-topbar { display: flex; width: min(1120px,calc(100% - 32px)); height: 80px; align-items: center; justify-content: space-between; margin: 0 auto; border-bottom: 1px solid var(--vw-line); }
.vw-ef-calc-topbar a { display: inline-flex; border-radius: 10px; }
.vw-ef-calc-topbar img { width: 104px; height: 60px; object-fit: contain; object-position: left center; }
.vw-ef-city-pill { display: inline-flex; padding: 7px 14px; border: 1px solid rgba(97,174,215,.3); border-radius: 999px; color: #8fdcff; background: rgba(13,52,82,.58); font-size: 13px; font-weight: 950; line-height: 1; letter-spacing: .1em; text-transform: uppercase; }
.vw-ef-quiz { width: min(820px,calc(100% - 32px)); margin: 62px auto 0; }
.vw-ef-progress { display: grid; grid-template-columns: 1fr 46px; gap: 13px; align-items: center; margin-bottom: 54px; }
.vw-ef-progress-track { height: 10px; overflow: hidden; border: 1px solid var(--vw-line); border-radius: 999px; background: rgba(255,255,255,.07); }
.vw-ef-progress-track span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--vw-cyan),var(--vw-green)); box-shadow: 0 0 20px rgba(34,231,255,.42); transition: width .35s ease; }
.vw-ef-progress strong { color: var(--vw-cyan); font-size: 13px; }
.vw-ef-quiz-step { display: none; text-align: center; animation: vwEfStepIn .35s ease both; }
.vw-ef-quiz-step.is-active { display: block; }
@keyframes vwEfStepIn { from { opacity: 0; transform: translateY(12px); } }
.vw-ef-step-label { color: var(--vw-cyan); font-size: 13px; font-weight: 950; letter-spacing: .08em; text-transform: uppercase; }
.vw-ef-quiz-step h1, .vw-ef-results-head h1, .vw-ef-gate-error h1 { margin: 0 auto 16px; font-size: clamp(36px,5vw,56px); line-height: 1.06; letter-spacing: -.038em; text-wrap: balance; }
.vw-ef-quiz-step > p:not(.vw-ef-step-label) { margin: 0 auto; color: var(--vw-muted); font-size: 18px; }
.vw-ef-answer-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 16px; margin-top: 38px; }
.vw-ef-answer-grid button { display: grid; min-height: 190px; place-items: center; align-content: center; gap: 8px; padding: 22px; border: 1px solid var(--vw-line); border-radius: 23px; background: linear-gradient(145deg,rgba(17,58,112,.82),rgba(7,25,56,.92)); box-shadow: 0 20px 50px rgba(0,5,20,.28); cursor: pointer; transition: transform .2s ease,border-color .2s ease,background .2s ease; }
.vw-ef-answer-grid button:hover { transform: translateY(-4px); border-color: var(--vw-cyan); background: linear-gradient(145deg,rgba(20,74,139,.94),rgba(8,32,72,.98)); }
.vw-ef-answer-grid button > span { font-size: 40px; }
.vw-ef-answer-grid strong { font-size: 21px; }
.vw-ef-answer-grid small { color: var(--vw-muted); font-size: 13px; }
.vw-ef-more-people { margin-top: 28px; padding: 25px; border: 1px solid var(--vw-line); border-radius: 22px; background: rgba(255,255,255,.05); }
.vw-ef-more-people label { display: block; margin-bottom: 18px; font-weight: 900; }
.vw-ef-stepper { display: grid; grid-template-columns: 58px 1fr 58px; gap: 12px; max-width: 320px; margin: 0 auto 20px; align-items: center; }
.vw-ef-stepper button, .vw-ef-people-control button { height: 54px; border: 1px solid var(--vw-cyan); border-radius: 14px; color: var(--vw-cyan); background: rgba(34,231,255,.12); box-shadow: 0 0 22px rgba(34,231,255,.16), inset 0 0 0 1px rgba(255,255,255,.04); font-size: 26px; cursor: pointer; transition: border-color .2s ease,background .2s ease,box-shadow .2s ease,opacity .2s ease; }
.vw-ef-stepper button:not(:disabled):hover, .vw-ef-people-control button:not(:disabled):hover { background: rgba(34,231,255,.22); box-shadow: 0 0 30px rgba(34,231,255,.3); }
.vw-ef-stepper button:disabled, .vw-ef-people-control button:disabled { border-color: rgba(152,220,255,.12); color: #536b86; background: rgba(255,255,255,.035); box-shadow: none; cursor: not-allowed; opacity: .62; }
.vw-ef-stepper output { font-size: clamp(18px,3vw,24px); font-weight: 950; line-height: 1.12; }
.vw-ef-more-people .vw-ef-button { min-width: 280px; }
.vw-ef-more-people [data-confirm-people] { gap: .28em; }

.vw-ef-results { width: min(1180px,calc(100% - 32px)); margin: 52px auto 0; }
.vw-ef-edit-panel { position: sticky; z-index: 10; top: 10px; margin: 0 auto 24px; padding: 14px; border: 1px solid var(--vw-line); border-radius: 22px; background: rgba(4,16,38,.94); box-shadow: 0 16px 45px rgba(0,4,16,.36); backdrop-filter: blur(18px); }
.vw-ef-edit-guide { padding: 2px 4px 12px; }
.vw-ef-edit-guide strong { font-size: 17px; }
.vw-ef-edit-controls { display: grid; grid-template-columns: 1.1fr 1fr .8fr; gap: 10px; }
.vw-ef-edit-controls fieldset { min-width: 0; margin: 0; padding: 10px; border: 1px solid rgba(154,225,255,.12); border-radius: 14px; background: rgba(255,255,255,.045); }
.vw-ef-edit-controls legend { padding: 0 5px; color: #dcecff; font-size: 12px; font-weight: 900; }
.vw-ef-control-options { display: flex; min-width: 0; gap: 6px; align-items: center; }
.vw-ef-edit-controls button { flex: 1; min-height: 40px; padding: 8px 10px; border: 1px solid rgba(113,165,198,.2); border-radius: 10px; color: #b9d2e5; background: rgba(13,42,69,.46); box-shadow: inset 0 1px 0 rgba(255,255,255,.025); font-size: 13px; font-weight: 850; cursor: pointer; transition: border-color .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease; }
.vw-ef-edit-controls button:not(:disabled):not(.is-selected):hover { border-color: rgba(112,188,229,.46); color: #eef8ff; background: rgba(20,57,87,.72); }
.vw-ef-edit-controls button.is-selected { border-color: rgba(112,188,229,.58); color: #f4faff; background: linear-gradient(180deg,rgba(27,70,108,.96),rgba(15,46,76,.96)); box-shadow: inset 0 1px 0 rgba(255,255,255,.08),0 6px 16px rgba(0,7,20,.18); }
.vw-ef-edit-controls .vw-ef-people-control button:not(:disabled) { border-color: rgba(102,167,204,.42); color: #c2e5f6; background: rgba(20,57,87,.76); box-shadow: inset 0 1px 0 rgba(255,255,255,.04); }
.vw-ef-edit-controls .vw-ef-people-control button:not(:disabled):hover { border-color: rgba(117,196,236,.66); background: rgba(26,72,108,.9); box-shadow: inset 0 1px 0 rgba(255,255,255,.06); }
.vw-ef-edit-controls .vw-ef-people-control button:disabled { border-color: rgba(152,220,255,.12); color: #536b86; background: rgba(255,255,255,.035); box-shadow: none; cursor: not-allowed; opacity: .62; }
.vw-ef-edit-controls output { display: grid; min-width: 116px; place-items: center; color: white; font-size: 12px; font-weight: 950; text-align: center; }
.vw-ef-package-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; align-items: stretch; }
.vw-ef-package { position: relative; display: flex; min-width: 0; flex-direction: column; padding: 26px 22px 22px; border: 1px solid var(--vw-line); border-radius: 24px; background: linear-gradient(165deg,rgba(14,49,96,.92),rgba(5,20,46,.98)); box-shadow: var(--vw-shadow); }
.vw-ef-package.is-featured { border-color: rgba(255,229,102,.62); background: radial-gradient(circle at 50% 0,rgba(255,229,102,.13),transparent 17rem),linear-gradient(165deg,rgba(19,62,117,.98),rgba(6,22,50,.98)); box-shadow: 0 25px 80px rgba(0,4,18,.45),0 0 42px rgba(255,210,48,.1); }
.vw-ef-package-badge { position: absolute; top: 26px; right: 22px; display: inline-flex; align-self: flex-start; padding: 7px 10px; border-radius: 999px; color: #101000; background: var(--vw-yellow); font-size: 11px; font-weight: 950; letter-spacing: .04em; text-transform: uppercase; }
.vw-ef-package h2 { margin: 0 0 4px; font-size: 28px; }
.vw-ef-package-subtitle { min-height: 48px; max-width: 34ch; margin: 0; color: var(--vw-muted); font-size: 14px; line-height: 1.42; }
.vw-ef-package-anchor { display: flex; min-height: 27px; align-items: end; margin-top: 18px; }
.vw-ef-package-anchor del { color: rgba(197,215,235,.72); font-size: 19px; font-weight: 780; line-height: 1.2; text-decoration-color: rgba(197,215,235,.8); text-decoration-thickness: 1.5px; }
.vw-ef-package-anchor.is-empty { visibility: hidden; }
.vw-ef-package-price { margin: 0 0 5px; color: var(--vw-price); font-size: clamp(40px,4.4vw,52px); font-weight: 950; line-height: 1.02; letter-spacing: -.045em; text-shadow: 0 0 12px rgba(92,255,114,.2),0 0 30px rgba(92,255,114,.1); }
.vw-ef-package-meta { margin: 0 0 19px; color: #96afc8; font-size: 12px; }
.vw-ef-package h3 { margin: 0 0 10px; font-size: 13px; text-transform: uppercase; letter-spacing: .08em; }
.vw-ef-includes { display: grid; gap: 9px; padding: 0; margin: 0 0 24px; list-style: none; }
.vw-ef-includes li { display: flex; gap: 8px; color: #dceafb; font-size: 13px; line-height: 1.35; }
.vw-ef-includes li:before { content: "✓"; color: var(--vw-green); font-weight: 950; }
.vw-ef-package-bonus { display: grid; gap: 4px; margin: 0 0 22px; padding: 14px; border: 1px solid rgba(255,229,102,.42); border-radius: 15px; background: linear-gradient(135deg,rgba(255,229,102,.12),rgba(255,138,36,.07)); }
.vw-ef-package-bonus span { color: var(--vw-yellow); font-size: 10px; font-weight: 950; letter-spacing: .1em; text-transform: uppercase; }
.vw-ef-package-bonus strong { color: white; font-size: 16px; }
.vw-ef-package-bonus small { color: #c7d9eb; font-size: 12px; line-height: 1.4; }
.vw-ef-package .vw-ef-button { width: 100%; margin-top: auto; min-height: 50px; padding-inline: 14px; font-size: 13px; }
.vw-ef-package .vw-ef-button:not(.vw-ef-button-primary) { border: 1px solid rgba(34,231,255,.42); color: #eafaff; background: rgba(34,231,255,.09); box-shadow: 0 0 20px rgba(34,231,255,.06); }
.vw-ef-price-note { max-width: 760px; margin: 22px auto 0; color: #869eb8; font-size: 11px; line-height: 1.45; text-align: center; }
.vw-ef-mission { max-width: 920px; margin: 24px auto 0; padding: 20px 24px; border: 1px solid rgba(34,231,255,.2); border-radius: 18px; color: #d9e9f8; background: rgba(34,231,255,.055); font-size: 15px; line-height: 1.6; text-align: center; }
.vw-ef-gate-error { width: min(760px,calc(100% - 32px)); margin: 90px auto; text-align: center; }
.vw-ef-gate-error > p:not(.vw-ef-kicker) { color: var(--vw-muted); font-size: 18px; line-height: 1.5; }

.vw-ef-footer { display: flex; min-height: 58px; align-items: center; justify-content: center; gap: 20px; padding: 15px 20px; border-top: 1px solid var(--vw-line); color: #8fa7c0; background: #020817; font-size: 11px; }
.vw-ef-footer a { color: #bad0ea; }

/* City selector at /eventos/. */
.vw-ef-hub { min-height: calc(100vh - 92px); padding: 72px 0 78px; overflow: hidden; background: radial-gradient(circle at 12% 2%,rgba(34,231,255,.18),transparent 32rem),radial-gradient(circle at 92% 58%,rgba(255,60,166,.14),transparent 34rem),linear-gradient(145deg,#061936,#020817 68%); }
.vw-ef-preview-site-header { position: relative; z-index: 20; display: grid; min-height: 92px; grid-template-columns: 180px 1fr; gap: 24px; align-items: center; padding: 10px clamp(22px,4vw,54px); border-bottom: 1px solid rgba(0,217,255,.34); background: linear-gradient(180deg,rgba(4,20,42,.94),rgba(7,34,67,.88)); }
.vw-ef-preview-site-header img { width: 132px; max-height: 72px; object-fit: contain; }
.vw-ef-preview-site-header nav { display: flex; justify-content: flex-end; gap: 8px; }
.vw-ef-preview-site-header nav a { padding: 10px 12px; color: #e9f7ff; font-size: 13px; font-weight: 900; text-decoration: none; }
.vw-ef-hub-heading { max-width: 850px; margin: 0 auto 42px; text-align: center; }
.vw-ef-hub-heading h1 { margin: 0 0 16px; font-size: clamp(43px,6.6vw,82px); line-height: .96; letter-spacing: -.052em; text-wrap: balance; }
.vw-ef-hub-heading h1 em { color: var(--vw-cyan); font-style: normal; }
.vw-ef-hub-heading > p:last-child { max-width: 690px; margin: 0 auto; color: var(--vw-muted); font-size: clamp(17px,2vw,21px); line-height: 1.5; }
.vw-ef-hub-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 18px; }
.vw-ef-hub-card { position: relative; isolation: isolate; grid-column: span 2; display: flex; min-height: 300px; align-items: flex-end; overflow: hidden; padding: 24px; border: 1px solid var(--vw-line); border-radius: 25px; background: #081b38; box-shadow: var(--vw-shadow); text-decoration: none; transition: transform .22s ease,border-color .22s ease,box-shadow .22s ease; }
.vw-ef-hub-card:nth-child(4) { grid-column: 2 / span 2; }
.vw-ef-hub-card:hover { transform: translateY(-6px); border-color: var(--vw-cyan); box-shadow: 0 28px 80px rgba(0,5,20,.55),0 0 36px rgba(34,231,255,.12); }
.vw-ef-hub-card > img { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.vw-ef-hub-card:hover > img { transform: scale(1.045); }
.vw-ef-hub-card:after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(180deg,rgba(1,8,21,.08) 24%,rgba(2,10,27,.94) 100%); }
.vw-ef-hub-card-content { display: grid; width: 100%; grid-template-columns: 1fr 44px; gap: 14px; align-items: end; }
.vw-ef-hub-card small { display: block; margin-bottom: 5px; color: var(--vw-cyan); font-size: 11px; font-weight: 950; letter-spacing: .11em; text-transform: uppercase; }
.vw-ef-hub-card strong { display: block; font-size: clamp(22px,2.4vw,31px); line-height: 1.05; }
.vw-ef-hub-arrow { display: grid; width: 44px; height: 44px; place-items: center; border-radius: 50%; color: #061220; background: var(--vw-yellow); font-size: 22px; font-weight: 950; }

@media (prefers-reduced-motion: reduce) {
  *, *:before, *:after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .vw-ef-hero-video, .vw-ef-media-card video { display: none; }
}

@media (max-width: 880px) {
  .vw-ef-hero { min-height: 700px; }
  .vw-ef-hero-shade { background: linear-gradient(90deg,rgba(2,9,25,.94),rgba(3,15,37,.76)),linear-gradient(180deg,rgba(2,10,27,.3),rgba(3,11,29,.88)); }
  .vw-ef-logo-link { margin-bottom: 45px; }
  .vw-ef-video-grid { grid-template-columns: 1fr; grid-template-rows: 420px 260px 260px; }
  .vw-ef-media-card-featured { grid-row: auto; }
  .vw-ef-value-grid, .vw-ef-optin-grid, .vw-ef-branch-card { grid-template-columns: 1fr; }
  .vw-ef-branch-card img { min-height: 320px; }
  .vw-ef-package-grid { grid-template-columns: 1fr; }
  .vw-ef-package-badge { position: static; margin-bottom: 13px; }
  .vw-ef-package { padding: 24px; }
  .vw-ef-package-subtitle { min-height: 0; margin-bottom: 2px; }
  .vw-ef-hub-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .vw-ef-hub-card, .vw-ef-hub-card:nth-child(4) { grid-column: auto; }
  .vw-ef-hub-card:last-child { grid-column: 1 / -1; }
}

@media (max-width: 640px) {
  .vw-ef-shell { width: min(100% - 28px,var(--vw-shell)); }
  .vw-ef-hero { min-height: 720px; padding: 18px 0 42px; align-items: end; }
  .vw-ef-hero-video { object-position: 62% center; }
  .vw-ef-logo-link { margin-bottom: auto; }
  .vw-ef-logo { width: 106px; height: 66px; }
  .vw-ef-hero-inner { min-height: 680px; padding-top: 0; justify-content: flex-end; }
  .vw-ef-callout { font-size: 13px; }
  .vw-ef-hero h1 { font-size: clamp(45px,14vw,64px); }
  .vw-ef-hero-copy { font-size: 18px; }
  .vw-ef-hero-points { display: grid; gap: 8px; }
  .vw-ef-hero .vw-ef-button { font-size: 14px; }
  .vw-ef-hero-copy, .vw-ef-hero-points, .vw-ef-hero-points li { max-width: 100%; }
  .vw-ef-proof, .vw-ef-value, .vw-ef-optin, .vw-ef-branch { padding: 68px 0; }
  .vw-ef-section-heading { text-align: left; }
  .vw-ef-section-heading h2, .vw-ef-value h2, .vw-ef-optin h2, .vw-ef-branch h2 { font-size: clamp(32px,9.5vw,42px); line-height: 1.1; }
  .vw-ef-value .vw-ef-kicker { font-size: 14px; }
  .vw-ef-video-grid { grid-template-rows: 360px 220px 220px; }
  .vw-ef-result-preview { grid-template-columns: 1fr; }
  .vw-ef-lead-form { gap: 11px; padding: 18px 16px; scroll-margin-top: max(10px,env(safe-area-inset-top)); border-radius: 22px; }
  .vw-ef-form-head > span { margin-bottom: 8px; padding: 6px 9px; font-size: 11px; }
  .vw-ef-form-head h3 { margin-bottom: 5px; font-size: 26px; }
  .vw-ef-form-head p { margin-bottom: 3px; font-size: 14px; line-height: 1.4; }
  .vw-ef-lead-form > label:not(.vw-ef-consent):not(.vw-ef-hp) { gap: 5px; font-size: 13px; }
  .vw-ef-lead-form input[type="text"], .vw-ef-lead-form input[type="tel"], .vw-ef-lead-form select { min-height: 50px; padding: 11px 13px; }
  .vw-ef-consent { gap: 8px; font-size: 11px; line-height: 1.35; }
  .vw-ef-submit { min-height: 52px; }
  .vw-ef-form-status { min-height: 18px; }
  .vw-ef-branch-card { width: calc(100% - 28px); }
  .vw-ef-branch-card img { min-height: 250px; }
  .vw-ef-answer-grid { grid-template-columns: 1fr; }
  .vw-ef-answer-grid button { min-height: 145px; }
  .vw-ef-quiz { margin-top: 38px; }
  .vw-ef-progress { margin-bottom: 36px; }
  .vw-ef-results { width: min(100% - 20px,1180px); margin-top: 10px; }
  .vw-ef-edit-panel { position: sticky; top: max(8px,env(safe-area-inset-top)); z-index: 30; margin: 10px 0 16px; padding: 8px; border-color: rgba(106,176,215,.34); border-radius: 20px; background: linear-gradient(165deg,rgba(11,39,66,.97),rgba(5,22,44,.97)); box-shadow: 0 16px 38px rgba(0,5,18,.48),inset 0 1px 0 rgba(255,255,255,.045); }
  .vw-ef-edit-guide { display: none; }
  .vw-ef-edit-controls { grid-template-columns: 1.08fr 1fr .78fr; gap: 4px; }
  .vw-ef-edit-controls fieldset { padding: 5px 4px 6px; border-color: rgba(139,202,235,.1); border-radius: 12px; background: rgba(255,255,255,.025); }
  .vw-ef-edit-controls legend { padding: 0 3px; color: #a9cce0; font-size: 9px; letter-spacing: .035em; text-align: center; }
  .vw-ef-control-options { gap: 3px; }
  .vw-ef-edit-controls button { min-height: 36px; padding: 4px 3px; border-radius: 7px; font-size: 10px; line-height: 1.1; }
  .vw-ef-edit-controls output { min-width: 0; font-size: 9px; line-height: 1.1; }
  .vw-ef-package-grid { gap: 12px; }
  .vw-ef-package { padding: 21px 18px 18px; border-radius: 20px; }
  .vw-ef-package h2 { font-size: 27px; }
  .vw-ef-package-anchor { min-height: 25px; margin-top: 16px; }
  .vw-ef-package-anchor del { font-size: 17px; }
  .vw-ef-package-price { font-size: 44px; }
  .vw-ef-package-meta { font-size: 11px; line-height: 1.5; }
  .vw-ef-includes { gap: 8px; }
  .vw-ef-includes li { font-size: 13px; }
  .vw-ef-package-bonus { margin-bottom: 18px; }
  .vw-ef-mission { margin-top: 20px; padding: 17px; font-size: 14px; text-align: left; }
  .vw-ef-footer { flex-wrap: wrap; gap: 8px 14px; }
  .vw-ef-hub { padding: 20px 0 56px; }
  .vw-ef-preview-site-header { grid-template-columns: 1fr; }
  .vw-ef-preview-site-header nav { justify-content: flex-start; overflow-x: auto; }
  .vw-ef-hub-heading { margin-bottom: 30px; text-align: left; }
  .vw-ef-hub-heading h1 { font-size: clamp(42px,13vw,58px); }
  .vw-ef-hub-grid { grid-template-columns: 1fr; gap: 13px; }
  .vw-ef-hub-card, .vw-ef-hub-card:nth-child(4), .vw-ef-hub-card:last-child { grid-column: auto; min-height: 220px; padding: 20px; }
}
