/* Public landing page: cool blue, white type, and charcoal surfaces.
   Only the company header/wordmark and slide controls retain gold.
   Legacy --gold consumers default to blue; those two exceptions opt back in. */
body.public-landing {
  --gold: #79b5ff;
  --gold-dim: rgba(121, 181, 255, .18);
  --gold-glow: rgba(86, 150, 244, .35);
  --landing-blue: #79b5ff;
  --landing-white: #f4f7fc;
  --landing-secondary: #a7b8ce;
  background: #090c10;
  font-family: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.public-landing .logo, .public-landing .slide-cta {
  --gold: #f4c542;
  --gold-dim: rgba(244, 197, 66, .18);
  --gold-glow: rgba(244, 197, 66, .4);
}
body.public-landing::before {
  background-image:
    linear-gradient(rgba(158, 190, 229, .024) 1px, transparent 1px),
    linear-gradient(90deg, rgba(158, 190, 229, .024) 1px, transparent 1px);
}
body.public-landing::after {
  background: radial-gradient(ellipse, rgba(75, 128, 199, .12), transparent 68%);
}
.public-landing .nav {
  background: rgba(9, 12, 16, .91);
  border-bottom-color: rgba(150, 186, 230, .13);
}
.public-landing .nav::before { background-image: linear-gradient(100deg, transparent 34%, rgba(121, 181, 255, .07) 50%, transparent 66%); }
.public-landing .nav::after {
  background-image: linear-gradient(90deg, transparent, rgba(121, 181, 255, .12) 18%, #79b5ff 50%, rgba(121, 181, 255, .12) 82%, transparent);
  box-shadow: 0 0 12px rgba(121, 181, 255, .24);
}
.public-landing .nav-cta {
  color: #091729;
}
.public-landing .nav-cta, .public-landing .schedule-btn {
  /* Moving caustics live behind the label, just like the original liquid
     gold CTA. The light, bubbles, timing, and rim stay alive in blue. */
  background:
    radial-gradient(circle 2px at 9px 16px, rgba(255,255,255,.95), transparent 65%),
    radial-gradient(circle 1.6px at 30px 6px, rgba(255,255,255,.85), transparent 65%),
    radial-gradient(ellipse 15px 22px at 16px 45%, rgba(255,255,255,.9), transparent 72%),
    radial-gradient(ellipse 12px 20px at 30px 70%, rgba(5,83,146,.4), transparent 74%),
    linear-gradient(100deg, #4e9fef, #7acbff 34%, #b9f5ff 62%, #55b8ee);
  background-size: 40px 22px, 58px 26px, 52px 100%, 74px 100%, 100% 100%;
  background-repeat: repeat, repeat, repeat, repeat, no-repeat;
  border: 1px solid rgba(116,231,255,.9);
  animation: landingLiquidFlow 2.8s linear infinite, landingButtonLight 3.2s ease-in-out infinite;
}
@keyframes landingLiquidFlow {
  from { background-position: 0 0, 0 0, 0 0, 0 0, 0 0; }
  to { background-position: 8px -22px, -6px -26px, 52px 0, -74px 0, 0 0; }
}
.public-landing .nav-cta::after, .public-landing .lang-btn::after, .public-landing .trust-cta-tag::after {
  background: conic-gradient(from var(--navcta-angle), #f1f7ff, #79b5ff 120deg, #3978c4 240deg, #f1f7ff);
}
.public-landing .lang-btn::after { background: conic-gradient(from var(--lang-angle), #f1f7ff, #79b5ff 120deg, #3978c4 240deg, #f1f7ff); }
.public-landing .trust-cta-tag::after { background: conic-gradient(from var(--tag-angle), #f1f7ff, #79b5ff 120deg, #3978c4 240deg, #f1f7ff); }
.public-landing .lang-opt:hover { background: rgba(121, 181, 255, .12); }
.public-landing .nav-login:hover { box-shadow: 0 0 22px rgba(121, 181, 255, .18); }
@keyframes landingButtonLight {
  0%, 100% { box-shadow: inset 0 1px rgba(255, 255, 255, .5), 0 4px 22px rgba(79, 143, 232, .22); }
  50% { box-shadow: inset 0 1px rgba(255, 255, 255, .6), 0 4px 30px rgba(79, 143, 232, .35); }
}
.public-landing .hero-calc { margin: 24px 0 26px; }
.public-landing .hero-calc::before { background: radial-gradient(ellipse 60% 55% at 50% 50%, rgba(96, 151, 226, .12), transparent 70%); }
.public-landing .hero-calc .trust-cta {
  background: linear-gradient(135deg, #1a2a3f, #111a27);
  border-color: rgba(135, 181, 242, .46);
}
.public-landing .hero-calc .trust-cta::after {
  background: conic-gradient(from var(--hcalc-angle), #dcecff, #79b5ff 80deg, #243b5b 170deg, #79b5ff 262deg, #dcecff);
}
.public-landing .trust-cta:hover { box-shadow: 0 10px 34px rgba(86, 151, 239, .22); }
.public-landing .trust-cta-tag {
  background: linear-gradient(125deg, #a9d0ff, #71adfa);
  box-shadow: inset 0 1px rgba(255, 255, 255, .55), 0 2px 12px rgba(93, 153, 235, .26);
  animation: none;
}
.public-landing .trust-cta-tag::after { filter: drop-shadow(0 0 5px rgba(121, 181, 255, .3)); }
.public-landing .video-poster .play-btn {
  width: auto; min-width: 170px; height: 60px; padding: 0 30px;
  border-radius: 18px; border: 1px solid #72acff;
  background: linear-gradient(180deg, #3687ff 0%, #2267ef 46%, #1550d8 100%);
  color: #fff; font-family: 'Manrope', sans-serif; font-size: 19px; font-weight: 800;
  letter-spacing: -.025em; line-height: 1; white-space: nowrap;
  box-shadow: inset 0 2px 0 rgba(255,255,255,.24), 0 12px 30px -10px rgba(15,77,224,.7), 0 3px 8px rgba(0,0,0,.3);
  transition: transform .22s ease, box-shadow .22s ease, filter .22s ease;
}
.public-landing .video-poster:hover .play-btn {
  transform: translateY(-2px); filter: brightness(1.08);
  box-shadow: inset 0 2px 0 rgba(255,255,255,.3), 0 16px 36px -10px rgba(15,77,224,.85), 0 4px 10px rgba(0,0,0,.3);
}
.public-landing .video-poster:active .play-btn { transform: translateY(1px); }
.public-landing .video-poster:focus-visible { outline: 3px solid #fff; outline-offset: -7px; }
.public-landing .schedule-btn { position: relative; isolation: isolate; box-shadow: 0 4px 32px rgba(92, 151, 235, .24); }
.public-landing .schedule-btn:hover { box-shadow: 0 8px 52px rgba(92, 151, 235, .4); }
.public-landing .vsl-end-btn { border-color: rgba(121, 181, 255, .55); background: rgba(121, 181, 255, .08); }
.public-landing .vsl-end-btn:hover { box-shadow: 0 0 28px rgba(121, 181, 255, .35); }
.public-landing .vsl-end-btn.gold { background: linear-gradient(120deg, #9cc8ff, #74acf4); box-shadow: 0 0 34px rgba(92, 151, 235, .3); }
.public-landing-page #gas-a11y .a11y-btn,
.public-landing .gb-bubble {
  background: linear-gradient(180deg, #3687ff 0%, #2267ef 46%, #1550d8 100%);
  border: 1px solid #72acff; color: #fff;
  box-shadow: inset 0 2px 0 rgba(255,255,255,.24), 0 9px 28px -8px rgba(15,77,224,.7), 0 3px 8px rgba(0,0,0,.3);
}
.public-landing-page #gas-a11y .a11y-btn svg { stroke: #fff; }
.public-landing-page #gas-a11y .a11y-btn svg circle { fill: #fff; }
.public-landing .gb-bubble-pulse { border-color: rgba(54,135,255,.55); }
.public-landing-page #gas-a11y .a11y-head { background: linear-gradient(145deg, #bbd9ff, #79b5ff); }
.public-landing-page #gas-a11y .a11y-head .hi { color: #a9d0ff; }
.public-landing-page #gas-a11y .a11y-row.on { background: #e4efff; border-color: #79b5ff; }
.public-landing-page #gas-a11y .a11y-pip.f { background: #79b5ff; }
html.public-landing-page.a11y-links body a { outline-color: #79b5ff !important; }

/* One atmospheric palette across the entire scroll, without a warm haze. */
.public-landing .wow-orb { opacity: .32; }
.public-landing .wow-orb.o1 { background: radial-gradient(circle, rgba(91, 155, 244, .42), transparent 70%); }
.public-landing .wow-orb.o2 { background: radial-gradient(circle, rgba(115, 166, 225, .3), transparent 70%); }
.public-landing .wow-orb.o3 { background: radial-gradient(circle, rgba(68, 111, 180, .24), transparent 70%); }
.public-landing .wow-orb.o4 { background: radial-gradient(circle, rgba(180, 206, 244, .18), transparent 70%); }
.public-landing .wow-road {
  background-image: linear-gradient(rgba(108, 163, 236, .1) 2px, transparent 2px),
    linear-gradient(90deg, rgba(108, 163, 236, .065) 2px, transparent 2px);
  opacity: .38;
}
.public-landing .wow-streak { background: linear-gradient(to top, rgba(129, 184, 255, .75), transparent); }
.public-landing .wow-streak.s2 { background: linear-gradient(to top, rgba(215, 233, 255, .65), transparent); }
.public-landing .wow-streak.s3 { background: linear-gradient(to top, rgba(94, 151, 233, .6), transparent); }
.public-landing .wow-scan { background: linear-gradient(to bottom, transparent, rgba(128, 175, 235, .035), transparent); }

.public-landing .badge {
  background: linear-gradient(145deg, #1a2a3f, #111a27);
  border-color: rgba(123, 173, 237, .34);
  box-shadow: inset 0 1px rgba(222, 237, 255, .12), 0 12px 32px -24px #000;
}
.public-landing .badge .badge-dot {
  background: var(--landing-blue);
  box-shadow: 0 0 14px rgba(121, 181, 255, .55);
}
.public-landing .badge-text { color: var(--landing-white); }
.public-landing .badge-text .bt-gear { color: #a2caff; }
.public-landing .hero-headline .line-gold {
  color: var(--landing-blue);
  text-shadow: 0 0 28px rgba(90, 151, 235, .2);
  animation: landingBlueGlow 4.5s ease-in-out infinite;
}
.public-landing .hero-headline .line-white { color: var(--landing-white); }
@keyframes landingBlueGlow {
  0%, 100% { text-shadow: 0 0 24px rgba(90, 151, 235, .16); }
  50% { text-shadow: 0 0 42px rgba(90, 151, 235, .32); }
}

/* The frame changes; the gold play control remains the same. */
.public-landing .video-wrap {
  margin-bottom: 0;
  background: #0e1724;
  border-color: rgba(134, 179, 237, .48);
  box-shadow: 0 0 0 1px rgba(121, 181, 255, .28), 0 22px 70px -24px #000,
    inset 0 1px rgba(231, 242, 255, .16);
  animation: fadeUp .7s .3s ease both, landingVideoLight 4.5s ease-in-out infinite;
}
@keyframes landingVideoLight {
  0%, 100% { border-color: rgba(134, 179, 237, .38); }
  50% { border-color: rgba(177, 209, 255, .7); }
}
body.public-landing.gas-theater #gasVideo {
  box-shadow: 0 0 0 1px rgba(143, 190, 255, .55), 0 0 90px 8px rgba(75, 132, 210, .14),
    0 0 260px 40px rgba(124, 168, 230, .07), 0 40px 120px rgba(0, 0, 0, .85) !important;
}
.public-landing .vsl-end {
  background: radial-gradient(70% 90% at 50% 40%, rgba(89, 143, 220, .16), transparent 70%), #090c10;
}
.public-landing .vsl-end-kick { color: var(--landing-blue); }
.public-landing .sub { color: var(--landing-secondary); }
.public-landing .sub strong { color: var(--landing-white); }
.public-landing .sub .pop { color: var(--landing-blue); text-shadow: 0 0 24px rgba(90, 151, 235, .22); }

/* Shared surface language: lit upper edge, deep blue-black, white numerals. */
.public-landing .trust-item {
  background: linear-gradient(145deg, #1b2b40, #111b28 68%, #101822);
  border-color: rgba(126, 166, 218, .23);
  box-shadow: inset 0 1px rgba(221, 236, 255, .08), 0 24px 56px -40px #000;
}
.public-landing .trust-item:hover { background: linear-gradient(145deg, #22364f, #142131); border-color: rgba(143, 189, 250, .48); }
.public-landing .trust-num { color: var(--landing-white); }
.public-landing .trust-unit, .public-landing .trust-value em, .public-landing .trust-value-sub strong { color: var(--landing-blue); }
.public-landing .trust-label { color: #adc0d8; }
.public-landing .trust-inner::after {
  border-color: rgba(137, 183, 245, .45);
  box-shadow: 0 0 26px rgba(100, 153, 230, .13), inset 0 1px rgba(223, 238, 255, .1);
}
.public-landing .trust.in .trust-inner::after { animation: none; }
.public-landing .cta-card {
  background: linear-gradient(135deg, #1b2d44, #121d2c 53%, #0e1621);
  border-color: rgba(123, 169, 229, .32);
  box-shadow: inset 0 1px rgba(224, 238, 255, .12), 0 30px 80px rgba(0, 0, 0, .42);
}
.public-landing .cta-card::before { background: rgba(105, 162, 238, .09); }
.public-landing .cta-card::after {
  background: repeating-linear-gradient(-45deg, rgba(171, 203, 245, .035) 0 2px, transparent 2px 14px);
}
.public-landing .cta-label, .public-landing .cta-headline span { color: var(--landing-blue); }
.public-landing .cta-headline { color: var(--landing-white); }
.public-landing .cta-body { color: #b4c4d9; }
.public-landing .footer { color: #96a8bf; border-top-color: rgba(150, 186, 230, .13); }
.public-landing .footer .brand { color: #d8e8fc; }
.public-landing .footer-legal a:hover, .public-landing .footer-legal a:focus-visible { color: var(--landing-blue); }

/* Type hierarchy: oversized precise headlines, quieter editorial body copy,
   and tightly tracked utility labels. The original company lockup is exempt. */
.public-landing :is(.hero-headline, .cta-headline, .trust-num, .trust-unit, .trust-value, .trust-value-sub,
  .trust-cta-title, .trust-cta-tag, .nav-cta, .nav-login, .lang-btn, .lang-opt, .schedule-btn,
  .slide-cta-text, .vsl-end-title, .vsl-end-btn, .vsl-end-kick, .footer .brand) {
  font-family: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.public-landing .hero-headline {
  font-size: clamp(50px, 7.1vw, 102px);
  font-weight: 800;
  letter-spacing: -.045em;
  word-spacing: .06em;
  line-height: 1.01;
  margin-bottom: 34px;
}
.public-landing .badge-text { font-size: 10px; font-weight: 700; letter-spacing: .2em; line-height: 1.6; }
.public-landing .sub { font-size: clamp(18px, 2.05vw, 26px); font-weight: 400; line-height: 1.7; text-transform: none; letter-spacing: -.025em; }
.public-landing .sub .pop { font-weight: 700; }
.public-landing .trust-cta-title { font-size: clamp(19px, 2.1vw, 27px); font-weight: 800; line-height: 1.2; letter-spacing: -.045em; text-transform: none; }
.public-landing .trust-cta-tag { font-size: 10px; font-weight: 800; letter-spacing: .14em; }
.public-landing .trust-num { font-size: 64px; font-weight: 800; letter-spacing: -.065em; }
.public-landing .trust-unit { font-size: 24px; font-weight: 600; letter-spacing: -.035em; text-transform: none; }
.public-landing .trust-label { font-size: 11px; font-weight: 600; letter-spacing: .12em; }
.public-landing .trust-value {
  font-size: clamp(25px, 3vw, 36px); font-weight: 800; line-height: 1.12;
  letter-spacing: -.035em; text-transform: uppercase; text-align: center;
}
.public-landing .trust-value .trust-intro {
  display: block; margin-bottom: 10px; color: #adc0d8;
  font-size: 12px; font-weight: 700; line-height: 1.4; letter-spacing: .16em;
}
.public-landing .trust-value em, .public-landing .trust-dispatch { display: block; }
.public-landing .trust-value-sub {
  display: flex; flex-wrap: wrap; justify-content: center; align-items: baseline; gap: 5px 7px;
  margin-top: 18px; padding-top: 16px; border-top: 1px solid rgba(173,192,216,.16);
  font-size: 14px; font-weight: 600; line-height: 1.5; letter-spacing: -.015em; text-transform: none;
  color: #adc0d8;
}
.public-landing .trust-value-sub strong { font-size: 18px; font-weight: 800; letter-spacing: -.02em; text-transform: uppercase; }
.public-landing .cta-label { font-size: 10px; font-weight: 700; letter-spacing: .18em; }
.public-landing .cta-headline { font-size: clamp(36px, 5.5vw, 74px); font-weight: 800; letter-spacing: -.055em; line-height: 1.06; }
.public-landing .cta-body { font-size: clamp(16px, 1.6vw, 20px); line-height: 1.8; letter-spacing: -.02em; }
.public-landing :is(.nav-cta, .nav-login, .lang-btn, .lang-opt, .schedule-btn) { font-weight: 800; letter-spacing: .02em; }
.public-landing .schedule-btn { font-size: 17px; }
.public-landing .slide-cta-text { font-size: clamp(12px, 3.05cqi, 20px); font-weight: 800; letter-spacing: .015em; text-shadow: none; -webkit-text-stroke: 0; }
.public-landing .slide-cta-text--base { color: #eef4fc; }
.public-landing .slide-cta-track {
  background: #2389ed;
  box-shadow: 0 0 0 1px rgba(67, 181, 255, .5), 0 0 20px rgba(26, 133, 255, .22),
    inset 0 1px rgba(207, 244, 255, .65);
}
.public-landing .hero-btns { justify-content: center; }
.public-landing .hero-btns > .slide-cta { flex: 0 1 640px; width: 100%; max-width: 640px; }
/* One light travels around a thin edge; the interior stays unobstructed.
   This separate, masked layer leaves slider ripples and liquid fill intact. */
@property --landing-orbit { syntax: '<angle>'; initial-value: 0deg; inherits: false; }
@keyframes landingBorderOrbit { to { --landing-orbit: 360deg; } }
.public-landing .landing-orbit-border {
  position: absolute; inset: 0; z-index: 5; border-radius: inherit; padding: 1.5px;
  pointer-events: none;
  background: conic-gradient(from var(--landing-orbit), transparent 0deg 245deg, #246dca 285deg, #3ebcff 325deg, #edfcff 345deg, transparent 355deg);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite: exclude;
  animation: landingBorderOrbit 5s linear infinite;
}
.public-landing .schedule-btn > .landing-orbit-border { animation-delay: -2.6s; }
.public-landing .slide-cta--sm .slide-cta-text { font-size: clamp(11px, 3.05cqi, 16px); }
html[lang=es] .public-landing [data-slide-id=hero_trial] .slide-cta-text { font-size: clamp(9px, 3.05cqi, 18px); letter-spacing: 0; }
.public-landing .slide-cta-hint { font-size: 10px; font-weight: 600; letter-spacing: .13em; }
.public-landing .vsl-end-title { font-weight: 800; letter-spacing: -.035em; }
.public-landing .vsl-end-kick { font-weight: 700; letter-spacing: .14em; }
.public-landing .vsl-end-btn { font-weight: 700; letter-spacing: -.02em; }
.public-landing .footer .brand { font-size: 12px; font-weight: 800; letter-spacing: .06em; }
.public-landing .footer-tagline { letter-spacing: .1em; line-height: 1.8; }
@media (max-width: 640px) {
  /* Leave a clear landing area for the fixed corner controls at page end. */
  .public-landing .footer { padding-bottom: calc(112px + env(safe-area-inset-bottom, 0px)); }
  .public-landing .footer-legal { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; margin-top: 0; max-width: 100%; }
  .public-landing .footer-legal a { display: inline-flex; align-items: center; min-height: 44px; overflow-wrap: anywhere; }
  .public-landing .footer-legal > span { display: none; }
  .public-landing .video-poster .play-btn { min-width: 138px; height: 50px; padding: 0 24px; border-radius: 15px; font-size: 16px; }
  /* The mobile row stacks vertically, so the desktop 640px flex basis would
     become a height. Let the slider's track and hint define its height. */
  .public-landing .hero-btns > .slide-cta { flex: none; }
  .public-landing .hero .hero-headline { font-size: clamp(35px, 9.5vw, 56px) !important; letter-spacing: -.045em !important; line-height: 1.06 !important; }
  .public-landing .badge .badge-text { font-size: 7px; letter-spacing: .09em; }
  .public-landing .sub { font-size: 17px !important; line-height: 1.7 !important; }
  .public-landing .trust-cta-title { font-size: 21px; }
  .public-landing .nav-cta { font-size: 11px; }
  .public-landing .nav-login, .public-landing .lang-btn { font-size: 11px; }
  .public-landing .cta-headline { font-size: clamp(30px, 8.4vw, 46px); }
  .public-landing .schedule-btn { font-size: 14px; padding: 22px 30px; }
}

@media (prefers-reduced-motion: reduce) {
  .public-landing .video-poster .play-btn { transition: none; transform: none; }
  .public-landing .landing-orbit-border { animation: none; }
  .public-landing .nav-cta, .public-landing .schedule-btn { animation: none !important; }
  .public-landing .hero-headline .line-gold, .public-landing .video-wrap { animation: none !important; }
  .public-landing .video-wrap {
    box-shadow: 0 0 0 1px rgba(121, 181, 255, .28), 0 22px 70px -24px #000 !important;
  }
}
