/* Promo video player: GSAP scenes synced to the voiceover (promo.js).
   Sizes inside the stage use container units (cqw) so the whole "video" scales like one. */
.promo { display: flex; flex-direction: column; gap: 0; border-radius: 22px; overflow: hidden;
  background: var(--glass-bg); border: 1px solid var(--glass-border); box-shadow: var(--glass-shadow), 0 40px 80px -40px rgba(179, 0, 12, .45);
  -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur); }
.stage { position: relative; aspect-ratio: 16 / 9; overflow: hidden; container-type: inline-size; cursor: pointer;
  background: radial-gradient(60% 80% at 15% 10%, rgba(179, 0, 12, .28), transparent 70%), radial-gradient(60% 70% at 90% 90%, rgba(217, 180, 90, .14), transparent 70%), #0A0909; }
@media (max-width: 640px) { .stage { aspect-ratio: 1 / 1; } }
.stage::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .5;
  background-image: radial-gradient(rgba(217, 180, 90, .22) 1px, transparent 1.3px); background-size: 3.2cqw 3.2cqw; mask: radial-gradient(80% 80% at 50% 50%, #000, transparent); -webkit-mask: radial-gradient(80% 80% at 50% 50%, #000, transparent); }

.scene { position: absolute; inset: 0; display: grid; place-items: center; padding: 6cqw 7cqw 13cqw; visibility: hidden; }
.v-display { font-family: var(--display); letter-spacing: .03em; line-height: 1.2; color: var(--ink); }
.v-gold { color: var(--gold-hi); }
.v-red { color: #FF5A4E; }
.v-glass { background: linear-gradient(145deg, rgba(255, 255, 255, .1), rgba(255, 255, 255, .02)); border: 1px solid rgba(255, 240, 210, .16);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12), 0 2cqw 4cqw -2cqw rgba(0, 0, 0, .8); border-radius: 1.6cqw; }

/* S1 phone */
.v-phone { width: 24cqw; aspect-ratio: 9 / 17; border-radius: 3.4cqw; padding: 2cqw 1.6cqw; display: flex; flex-direction: column; gap: 1.4cqw;
  background: linear-gradient(160deg, #1d1a15, #0d0c0b); border: .35cqw solid #3a3328; box-shadow: 0 3cqw 6cqw -2cqw rgba(0, 0, 0, .9), 0 0 0 .2cqw rgba(217, 180, 90, .2); }
.v-notch { width: 30%; height: 1cqw; border-radius: 1cqw; background: #000; align-self: center; }
.v-search { display: flex; align-items: center; gap: 1cqw; font-size: 1.5cqw; padding: 1.2cqw; border-radius: 4cqw; background: rgba(255, 255, 255, .08); color: var(--ink); min-height: 4cqw; }
.v-search svg { width: 1.8cqw; height: 1.8cqw; flex: none; stroke: var(--gold); fill: none; stroke-width: 2; }
.v-caret { display: inline-block; width: .15cqw; height: 1.8cqw; background: var(--gold-hi); margin-left: .1cqw; vertical-align: middle; }
.v-result { padding: 1.4cqw; font-size: 1.3cqw; display: flex; flex-direction: column; gap: .6cqw; }
.v-result b { font-size: 1.6cqw; color: var(--gold-hi); font-weight: 600; }
.v-stars { color: var(--gold); letter-spacing: .2cqw; }
.v-pill { align-self: flex-start; font-size: 1.2cqw; font-weight: 700; padding: .6cqw 1.4cqw; border-radius: 3cqw; background: linear-gradient(135deg, #B8862A, #F3DC97); color: #120F08; }
.v-skel { height: 1cqw; border-radius: 1cqw; background: rgba(255, 255, 255, .07); }

/* S2 brand */
.v-brand { display: flex; flex-direction: column; align-items: center; gap: 2cqw; text-align: center; }
.v-brand svg { width: 20cqw; height: auto; overflow: visible; }
.v-brand .v-display { font-size: 3.4cqw; }
.v-sub { font-size: 1.7cqw; color: var(--muted); letter-spacing: .3em; text-transform: uppercase; font-weight: 600; }

/* S3 notifications + chat */
.v-notes { display: flex; flex-direction: column; gap: 1.6cqw; width: 46cqw; }
.v-note { display: flex; align-items: center; gap: 1.6cqw; padding: 1.8cqw 2cqw; font-size: 1.7cqw; color: var(--ink); }
.v-note small { display: block; color: var(--muted); font-size: 1.35cqw; }
.v-ico { flex: none; width: 4.4cqw; height: 4.4cqw; border-radius: 1.2cqw; display: grid; place-items: center; background: rgba(217, 180, 90, .14); }
.v-ico svg { width: 2.4cqw; height: 2.4cqw; stroke: var(--gold-hi); fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.v-ico.red { background: rgba(240, 48, 42, .18); } .v-ico.red svg { stroke: #FF7A70; }
.v-caret { animation: vblink 1s steps(1) infinite; }
@keyframes vblink { 50% { opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .v-caret { animation: none; } }
.v-chat { position: absolute; left: 50%; top: 46%; transform: translate(-50%, -50%); display: flex; flex-direction: column; gap: 1cqw; width: 30cqw; }
.v-bub { font-size: 1.5cqw; padding: 1cqw 1.6cqw; border-radius: 1.6cqw 1.6cqw 1.6cqw .4cqw; background: rgba(255, 255, 255, .09); color: var(--ink); align-self: flex-start; }
.v-bub.me { align-self: flex-end; border-radius: 1.6cqw 1.6cqw .4cqw 1.6cqw; background: rgba(217, 180, 90, .22); }
.v-x { position: absolute; left: 50%; top: 50%; width: 22cqw; height: 22cqw; margin: -11cqw 0 0 -11cqw; }
.v-x path { stroke: #F0302A; stroke-width: 8; stroke-linecap: round; fill: none; filter: drop-shadow(0 0 1cqw rgba(240, 48, 42, .8)); }

/* S4 headline */
.v-big { font-size: 6cqw; text-align: center; }
.v-underline { display: block; height: .5cqw; margin: 2cqw auto 0; width: 40cqw; border-radius: 1cqw; background: linear-gradient(90deg, #B3000C, var(--gold-hi)); transform-origin: left; }

/* Steps */
.v-step { display: grid; grid-template-columns: 1fr 1.25fr; gap: 5cqw; align-items: center; width: 100%; }
.v-step .lbl { display: flex; flex-direction: column; gap: 1.6cqw; }
.v-num { font-weight: 700; font-size: 1.5cqw; letter-spacing: .3em; color: #FF7A70; }
.v-step h3 { font-family: var(--display); font-weight: 400; font-size: 4.2cqw; line-height: 1.15; margin: 0; color: var(--ink); }
.v-chips { display: flex; flex-wrap: wrap; gap: 1cqw; }
.v-chip { font-size: 1.5cqw; font-weight: 600; padding: .8cqw 1.6cqw; border-radius: 3cqw; border: 1px solid rgba(217, 180, 90, .5); color: var(--gold-hi); background: rgba(217, 180, 90, .08); }
.v-chip.red { border-color: rgba(240, 48, 42, .6); color: #FF8A80; background: rgba(240, 48, 42, .1); }
.v-form { padding: 2.4cqw; display: flex; flex-direction: column; gap: 1.4cqw; }
.v-field { display: flex; flex-direction: column; gap: .6cqw; font-size: 1.3cqw; color: var(--muted); font-weight: 600; }
.v-input { min-height: 3.8cqw; padding: .9cqw 1.2cqw; border-radius: .9cqw; background: rgba(0, 0, 0, .35); border: 1px solid rgba(255, 240, 210, .12); color: var(--ink); font-size: 1.6cqw; font-weight: 500; }
.v-send { align-self: flex-end; font-size: 1.3cqw; font-weight: 700; letter-spacing: .1em; padding: 1cqw 2cqw; border-radius: 3cqw; background: linear-gradient(135deg, #B8862A, #F3DC97); color: #120F08; }
.v-thread { display: flex; flex-direction: column; gap: 1.2cqw; padding: 2.4cqw; }
.v-quote { padding: 1.8cqw; display: flex; justify-content: space-between; align-items: center; gap: 2cqw; font-size: 1.5cqw; }
.v-quote b { color: var(--gold-hi); font-size: 1.8cqw; display: block; }
.v-browser { overflow: hidden; }
.v-bar { display: flex; align-items: center; gap: .8cqw; padding: 1.2cqw 1.6cqw; background: rgba(0, 0, 0, .35); border-bottom: 1px solid rgba(255, 240, 210, .1); }
.v-dot { width: 1cqw; height: 1cqw; border-radius: 50%; background: #3a3328; } .v-dot:first-child { background: #B3000C; }
.v-url { flex: 1; margin-left: 1cqw; padding: .6cqw 1.4cqw; border-radius: 3cqw; background: rgba(255, 255, 255, .07); font-size: 1.4cqw; color: var(--ink); min-height: 2.8cqw; display: flex; align-items: center; gap: .8cqw; }
.v-lock { width: 1.3cqw; height: 1.3cqw; stroke: #6BD48B; fill: none; stroke-width: 2.2; }
.v-page { position: relative; padding: 2cqw; display: grid; gap: 1.4cqw; }
.v-hero { height: 9cqw; border-radius: 1cqw; background: rgba(255, 255, 255, .06); border: 1px dashed rgba(255, 255, 255, .15); display: grid; place-items: center; font-size: 1.6cqw; color: var(--muted); }
.v-row3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2cqw; }
.v-row3 i { height: 6cqw; border-radius: 1cqw; background: rgba(255, 255, 255, .05); border: 1px dashed rgba(255, 255, 255, .12); }
.v-live .v-hero { background: linear-gradient(120deg, rgba(179, 0, 12, .55), rgba(217, 180, 90, .45)); border-style: solid; border-color: transparent; color: #fff; font-family: var(--display); font-size: 2.2cqw; }
.v-live .v-row3 i { background: linear-gradient(160deg, rgba(217, 180, 90, .3), rgba(255, 255, 255, .05)); border-style: solid; border-color: rgba(217, 180, 90, .25); }
.v-pin { position: absolute; display: flex; align-items: center; gap: .8cqw; font-size: 1.3cqw; font-weight: 600; padding: .7cqw 1.2cqw; border-radius: 1cqw; background: #F0302A; color: #fff; box-shadow: 0 1cqw 2cqw -1cqw rgba(0, 0, 0, .8); white-space: nowrap; }
.v-pin::before { content: ""; width: 1.2cqw; height: 1.2cqw; border-radius: 50%; background: #fff; flex: none; }
.v-badge { position: absolute; right: 2cqw; top: 2cqw; font-size: 1.5cqw; font-weight: 800; letter-spacing: .2em; padding: .7cqw 1.6cqw; border-radius: 3cqw; background: #F0302A; color: #fff; box-shadow: 0 0 2cqw rgba(240, 48, 42, .8); }
.v-spark { position: absolute; width: .8cqw; height: .8cqw; border-radius: 50%; background: var(--gold-hi); left: 50%; top: 40%; }

/* S9 packages */
.v-pkgs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2cqw; width: 100%; }
.v-pkg { padding: 2.6cqw 2.2cqw; display: flex; flex-direction: column; gap: 1cqw; }
.v-pkg span { font-size: 1.2cqw; font-weight: 700; letter-spacing: .25em; color: var(--muted); }
.v-pkg b { font-family: var(--display); font-weight: 400; font-size: 2.6cqw; color: var(--gold-hi); }
.v-pkg p { margin: 0; font-size: 1.45cqw; color: var(--muted); line-height: 1.4; }
.v-pkg.hot { border-color: rgba(240, 80, 60, .5); background: linear-gradient(180deg, rgba(179, 0, 12, .3), rgba(255, 255, 255, .02)); }
.v-help { margin-top: 3cqw; text-align: center; font-size: 2.6cqw; }

/* S10 outro */
.v-outro { display: flex; flex-direction: column; align-items: center; gap: 2cqw; text-align: center; }
.v-outro svg { width: 14cqw; height: auto; overflow: visible; }
.v-cta { font-size: 1.8cqw; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; padding: 1.6cqw 3.2cqw; border-radius: 5cqw; background: linear-gradient(135deg, #B8862A, #F3DC97 45%, #C9982F 70%, #8A6418); color: #120F08; box-shadow: 0 0 4cqw -1cqw rgba(243, 220, 151, .7); }

/* Square stage on phones: stack step layouts and enlarge type. */
@container (max-width: 560px) {
  .scene { padding: 6cqw 6cqw 20cqw; }
  .v-phone { width: 40cqw; padding: 3cqw 2.6cqw; gap: 2.2cqw; border-radius: 5cqw; }
  .v-search, .v-result { font-size: 2.6cqw; } .v-result b { font-size: 3cqw; } .v-pill { font-size: 2.2cqw; } .v-search svg { width: 3cqw; height: 3cqw; }
  .v-brand svg { width: 34cqw; } .v-brand .v-display { font-size: 5.6cqw; } .v-sub { font-size: 2.8cqw; }
  .v-notes { width: 84cqw; gap: 2.4cqw; } .v-note { font-size: 3cqw; padding: 2.6cqw; } .v-note small { font-size: 2.4cqw; } .v-ico { width: 7cqw; height: 7cqw; } .v-ico svg { width: 4cqw; height: 4cqw; }
  .v-chat { width: 80cqw; } .v-bub { font-size: 3cqw; padding: 2cqw 2.6cqw; }
  .v-x { width: 40cqw; height: 40cqw; margin: -20cqw 0 0 -20cqw; }
  .v-big { font-size: 9cqw; } .v-underline { width: 60cqw; height: 1cqw; }
  .v-step { grid-template-columns: 1fr; gap: 3.4cqw; }
  .v-step h3 { font-size: 6.4cqw; } .v-num { font-size: 2.6cqw; } .v-chip { font-size: 2.6cqw; padding: 1.2cqw 2.4cqw; }
  .v-form, .v-thread { padding: 3.4cqw; gap: 2cqw; } .v-field { font-size: 2.4cqw; } .v-input { font-size: 2.8cqw; min-height: 6cqw; } .v-send { font-size: 2.4cqw; }
  .v-quote { font-size: 2.6cqw; } .v-quote b { font-size: 3cqw; }
  .v-url { font-size: 2.6cqw; } .v-dot { width: 1.8cqw; height: 1.8cqw; } .v-hero { height: 16cqw; font-size: 3cqw; } .v-row3 i { height: 10cqw; }
  .v-live .v-hero { font-size: 4cqw; } .v-pin { font-size: 2.4cqw; } .v-badge { font-size: 2.6cqw; }
  .v-pkgs { grid-template-columns: 1fr; gap: 2.4cqw; } .v-pkg { padding: 2.6cqw 3.4cqw; flex-direction: row; align-items: baseline; gap: 2.4cqw; } .v-pkg span { display: none; } .v-pkg b { font-size: 4.4cqw; flex: none; } .v-pkg p { font-size: 2.6cqw; }
  .v-help { font-size: 4.4cqw; }
  .v-outro svg { width: 28cqw; } .v-cta { font-size: 3.2cqw; padding: 2.6cqw 5cqw; }
}

/* Captions */
.cc { position: absolute; left: 50%; bottom: 3.2cqw; transform: translateX(-50%); width: max-content; max-width: 86%; text-align: center;
  font-size: 1.9cqw; font-weight: 600; line-height: 1.35; color: #fff; padding: .8cqw 1.8cqw; border-radius: 1cqw; background: rgba(0, 0, 0, .62); pointer-events: none; }
.cc:empty, .cc[hidden] { display: none; }
@container (max-width: 560px) { .cc { font-size: 3.6cqw; bottom: 4cqw; padding: 1.4cqw 2.6cqw; } }

/* Poster / big play button */
.poster { position: absolute; inset: 0; display: grid; place-items: center; background: radial-gradient(closest-side, rgba(0, 0, 0, .35), rgba(0, 0, 0, .65)); transition: opacity .35s; }
.poster.off { opacity: 0; pointer-events: none; }
.bigplay { display: flex; flex-direction: column; align-items: center; gap: 14px; background: none; border: 0; color: var(--ink); font: inherit; cursor: pointer; }
.bigplay .ring { width: 84px; height: 84px; border-radius: 50%; display: grid; place-items: center; background: linear-gradient(135deg, #B8862A, #F3DC97 45%, #C9982F 70%, #8A6418);
  box-shadow: 0 0 0 10px rgba(243, 220, 151, .12), 0 0 50px rgba(179, 0, 12, .7); transition: transform .25s cubic-bezier(.2, .8, .2, 1); }
.bigplay:hover .ring { transform: scale(1.06); }
.bigplay svg { width: 30px; height: 30px; fill: #120F08; margin-left: 5px; }
.bigplay .lbl { font-weight: 700; font-size: 13px; letter-spacing: .2em; text-transform: uppercase; text-shadow: 0 1px 8px #000; }

/* Control bar */
.controls { display: flex; align-items: center; gap: 12px; padding: 10px 14px; border-top: 1px solid rgba(255, 240, 210, .08); }
.controls button { flex: none; width: 40px; height: 40px; border-radius: 10px; border: 1px solid rgba(255, 240, 210, .12); background: rgba(255, 255, 255, .05); color: var(--gold-hi); display: grid; place-items: center; cursor: pointer; }
.controls button:hover { background: rgba(255, 255, 255, .1); }
.controls #ccBtn[aria-pressed="false"] { color: var(--muted); }
.controls svg { width: 18px; height: 18px; fill: currentColor; }
.controls .txt { font-size: 12px; font-weight: 800; letter-spacing: .05em; }
.seek { flex: 1; min-width: 0; -webkit-appearance: none; appearance: none; height: 28px; background: transparent; cursor: pointer; --p: 0%; }
.seek::-webkit-slider-runnable-track { height: 4px; border-radius: 4px; background: linear-gradient(90deg, #B3000C, #F3DC97 var(--p), rgba(255, 255, 255, .14) var(--p)); }
.seek::-moz-range-track { height: 4px; border-radius: 4px; background: linear-gradient(90deg, #B3000C, #F3DC97 var(--p), rgba(255, 255, 255, .14) var(--p)); }
.seek::-webkit-slider-thumb { -webkit-appearance: none; width: 14px; height: 14px; margin-top: -5px; border-radius: 50%; background: var(--gold-hi); box-shadow: 0 0 10px rgba(243, 220, 151, .7); }
.seek::-moz-range-thumb { width: 14px; height: 14px; border: 0; border-radius: 50%; background: var(--gold-hi); }
.time { font-size: 12px; font-variant-numeric: tabular-nums; color: var(--muted); flex: none; min-width: 74px; text-align: right; }
@media (max-width: 420px) { .time { display: none; } }
@media (prefers-reduced-motion: reduce) { .bigplay .ring, .poster { transition: none; } }

/* Livelier layer (promo.js builds these elements) */
.v-bg { position: absolute; inset: 0; pointer-events: none; overflow: hidden; }
.v-orb { position: absolute; border-radius: 50%; }
.v-orb.a { width: 56cqw; height: 56cqw; left: -12cqw; top: -24cqw; background: radial-gradient(circle, rgba(240, 48, 42, .42), transparent 65%); }
.v-orb.b { width: 50cqw; height: 50cqw; right: -14cqw; bottom: -26cqw; background: radial-gradient(circle, rgba(217, 180, 90, .3), transparent 65%); }
.v-orb.c { width: 40cqw; height: 40cqw; left: 30cqw; top: 8cqw; background: radial-gradient(circle, rgba(179, 0, 12, .28), transparent 65%); }
.v-beam { position: absolute; top: 0; bottom: 0; left: 0; width: 12cqw; background: linear-gradient(100deg, transparent, rgba(243, 220, 151, .08), transparent); }
.v-pulse { position: absolute; inset: 0; background: radial-gradient(55% 65% at 50% 50%, rgba(240, 48, 42, .3), transparent 70%); }
.v-wipe { position: absolute; top: -20%; bottom: -20%; left: 20%; width: 60%; display: flex; pointer-events: none; visibility: hidden; }
.v-wipe i { transform: skewX(-16deg); }
.v-wipe i:first-child { flex: 3; background: linear-gradient(90deg, #6E0008, #F0302A); }
.v-wipe i:last-child { flex: 1; background: linear-gradient(90deg, #F3DC97, #B8862A); }
.v-flash { position: absolute; inset: 0; pointer-events: none; visibility: hidden; background: radial-gradient(circle at 50% 45%, rgba(255, 240, 200, .7), rgba(240, 48, 42, .22) 50%, transparent 75%); }
.scene { isolation: isolate; }
.v-kw { position: absolute; left: 50%; top: 50%; z-index: -1; visibility: hidden; pointer-events: none; white-space: nowrap; line-height: 1;
  font-family: var(--display); font-size: 13cqw; letter-spacing: .04em; color: transparent; -webkit-text-stroke: .16cqw rgba(243, 220, 151, .32); }
.v-kw.num { font-size: 34cqw; left: 74%; -webkit-text-stroke-color: rgba(240, 48, 42, .4); }
.v-kw.red { color: rgba(240, 48, 42, .14); -webkit-text-stroke-color: rgba(255, 122, 112, .55); }
.v-float { position: absolute; display: flex; align-items: center; gap: .7cqw; white-space: nowrap; font-size: 1.45cqw; font-weight: 600; color: var(--ink);
  padding: .8cqw 1.4cqw; border-radius: 3cqw; background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 240, 210, .18); visibility: hidden; }
.v-float::before { content: ""; flex: none; width: .9cqw; height: .9cqw; border-radius: 50%; border: .2cqw solid var(--gold); }
.v-ch { display: inline-block; } .v-big .v-gold { white-space: nowrap; }
.v-form, .v-thread { position: relative; }
.v-cursor { position: absolute; z-index: 2; width: 2.6cqw; height: 2.6cqw; visibility: hidden; pointer-events: none; filter: drop-shadow(0 .3cqw .5cqw rgba(0, 0, 0, .7)); }
.v-cursor svg { width: 100%; height: 100%; fill: #fff; stroke: #120F08; stroke-width: 1.5; stroke-linejoin: round; }
.v-send { position: relative; }
.v-ripple { position: absolute; inset: 0; border-radius: inherit; border: .25cqw solid var(--gold-hi); visibility: hidden; }
.v-typing { position: absolute; left: 2.4cqw; top: 2.4cqw; display: flex; gap: .5cqw; padding: 1.1cqw 1.4cqw; border-radius: 1.6cqw; background: rgba(255, 255, 255, .09); visibility: hidden; }
.v-typing.me { left: auto; top: auto; right: 2.4cqw; bottom: 2.4cqw; background: rgba(217, 180, 90, .22); }
.v-typing i { width: .8cqw; height: .8cqw; border-radius: 50%; background: var(--ink); opacity: .75; }
.v-step, .v-pkgs { perspective: 120cqw; }
.v-spark.strip { width: .45cqw; height: 1.3cqw; border-radius: .15cqw; }
.v-cta { position: relative; overflow: hidden; }
.v-shine { position: absolute; top: 0; bottom: 0; left: -40%; width: 35%; pointer-events: none; background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .8), transparent); }
@container (max-width: 560px) {
  .v-kw { font-size: 18cqw; } .v-kw.num { font-size: 52cqw; left: 72%; top: 60%; }
  .v-float { font-size: 2.3cqw; max-width: 27cqw; white-space: normal; padding: 1.2cqw 1.8cqw; } .v-float::before { width: 1.5cqw; height: 1.5cqw; }
  .v-cursor { width: 4.6cqw; height: 4.6cqw; }
  .v-typing { left: 3.4cqw; top: 3.4cqw; gap: .9cqw; padding: 1.8cqw 2.2cqw; } .v-typing.me { right: 3.4cqw; bottom: 3.4cqw; } .v-typing i { width: 1.4cqw; height: 1.4cqw; }
  .v-spark.strip { width: .8cqw; height: 2.2cqw; }
}
