/* Hero supplied by the owner, isolated from the rest of the site. */
.cx-cta{
  display:inline-flex;align-items:center;gap:1.1rem;
  font-size:.74rem;letter-spacing:.26em;text-transform:uppercase;font-weight:400;
  color:var(--ivory);padding:.9rem 0;position:relative;
}
.cx-cta::after{
  content:'';position:absolute;left:0;right:0;bottom:0;height:1px;
  background:linear-gradient(90deg,var(--gold) 0 30%,var(--gold-dim) 30% 100%);
  transform-origin:left;transition:transform .7s var(--ease-film);
}
.cx-cta i{font-style:normal;color:var(--gold);transition:transform .6s var(--ease-film)}
.cx-cta:hover::after,.cx-cta:focus-visible::after{transform:scaleX(1.0);background:var(--gold)}
.cx-cta:hover i,.cx-cta:focus-visible i{transform:translateX(.7rem)}

.cx-hero{position:relative;height:900vh;background:#000}
.cx-hero__sticky{
  position:sticky;top:0;height:var(--vh);overflow:hidden;
  background:#000;isolation:isolate;
}
.cx-hero__film,.cx-hero__cut{
  position:absolute;inset:0;width:100%;height:100%;display:block;
}
.cx-hero__film{z-index:0}
.cx-hero__type{position:absolute;inset:0;pointer-events:none}
.cx-hero__cut{z-index:2;pointer-events:none}

.cx-hero__brand{
  position:absolute;z-index:3;left:var(--pad);bottom:clamp(5rem,15vh,9rem);
  display:grid;gap:.9rem;
  font-weight:300;
  opacity:var(--brand,1);transform:translate3d(0,calc((1 - var(--brand,1)) * -26px),0);
}
@keyframes cxIn{from{opacity:0;filter:blur(10px);transform:translate3d(0,14px,0)}to{opacity:1;filter:blur(0);transform:none}}
.cx-hero__name{animation:cxIn 2.4s var(--ease-film) .7s both}
.cx-hero__sub{animation:cxIn 2.4s var(--ease-film) 1.25s both}
.cx-hero__name{
  font-family:var(--serif);font-size:clamp(1.35rem,2.6vw,2.4rem);
  letter-spacing:.52em;color:var(--ivory);
}
.cx-hero__sub{
  font-family:var(--sans);font-size:.62rem;letter-spacing:.46em;color:var(--gold);
  font-weight:400;padding-left:.15em;
}

/* Frases gigantes: asimétricas, parcialmente tapadas por el coche */
.cx-line{
  position:absolute;z-index:1;margin:0;
  font-family:var(--serif);font-weight:300;
  font-size:clamp(3.1rem,12.4vw,14.5rem);
  line-height:.86;letter-spacing:-.02em;color:var(--ivory);
  white-space:nowrap;
}
.cx-line span{
  display:block;
  opacity:calc(var(--in,0) * (1 - var(--out,0)));
  transform:translate3d(0,calc((1 - var(--in,0)) * 55% - var(--out,0) * 38%),0);
  clip-path:inset(calc(var(--out,0) * 100%) 0 calc((1 - var(--in,0)) * 100%) 0);
  filter:blur(calc((1 - var(--in,0)) * 14px));
  will-change:transform,opacity;
}
.cx-line--a{left:calc(var(--pad) * .7);top:clamp(4.2rem,9vh,7rem);font-size:clamp(2.7rem,9.4vw,12rem)}
.cx-line--a span{display:inline-block}
.cx-line--a span:last-child{margin-left:.24em}
.cx-line--b{right:calc(var(--pad) * .7);top:clamp(5.2rem,11vh,8rem);text-align:right}
.cx-line--b span:first-child{padding-right:clamp(2rem,10vw,12rem)}
.cx-gold{color:var(--gold);font-style:italic;font-weight:300}
.cx-line span{text-shadow:0 0 38px rgba(2,4,10,.38)}

/* HUD técnico: líneas finas y fotograma — discreto */
.cx-hero__hud{
  position:absolute;inset:0;z-index:3;pointer-events:none;
  font-size:.58rem;letter-spacing:.34em;color:var(--dim);
}
.cx-hero__hud::before,.cx-hero__hud::after{
  content:'';position:absolute;width:1.3rem;height:1.3rem;
  border:solid rgba(242,239,232,.22);
}
.cx-hero__hud::before{left:calc(var(--pad) * .55);top:calc(var(--pad) * .55 + 3.4rem);border-width:1px 0 0 1px}
.cx-hero__hud::after{right:calc(var(--pad) * .55);bottom:calc(var(--pad) * .55);border-width:0 1px 1px 0}
.cx-hud__tc{position:absolute;right:var(--pad);top:clamp(1.5rem,3vh,2.2rem);font-variant-numeric:tabular-nums;opacity:.85}
.cx-hud__rule{
  position:absolute;left:50%;bottom:0;width:1px;height:clamp(3rem,9vh,5.5rem);
  background:linear-gradient(to bottom,transparent,rgba(242,239,232,.5));
  transform-origin:top;transform:scaleY(calc(1 - var(--hud-off,0)));
}
.cx-hud__env{position:absolute;right:var(--pad);bottom:clamp(2rem,4.5vh,3rem);opacity:calc(var(--hud-off,0) * .8);transition:opacity .6s var(--ease);font-variant-numeric:tabular-nums}
html.cx-static .cx-hud__env{display:none}
.cx-hud__cue{position:absolute;left:50%;bottom:clamp(3.4rem,10vh,6.2rem);transform:translateX(-50%) rotate(0);writing-mode:vertical-rl;opacity:calc(1 - var(--hud-off,0));padding-bottom:1rem}

.cx-hero__cta{
  position:absolute;z-index:4;left:var(--pad);bottom:clamp(3rem,9vh,6rem);
  opacity:var(--cta,0);transform:translate3d(0,calc((1 - var(--cta,0)) * 24px),0);
  pointer-events:none;
}
.cx-hero__cta.is-live{pointer-events:auto}

html.cx-static .cx-hero{height:auto}
html.cx-static .cx-hero__sticky{position:relative;height:var(--vh);min-height:34rem}
html.cx-static .cx-line{position:relative;left:auto;right:auto;top:auto;margin:0;padding:0 var(--pad)}
html.cx-static .cx-hero__type{display:flex;flex-direction:column;justify-content:center;gap:.4rem;pointer-events:auto}
html.cx-static .cx-line span{opacity:1;transform:none;clip-path:none;filter:none}
html.cx-static .cx-hero__brand{opacity:1;transform:none;bottom:auto;top:5.4rem}
html.cx-static .cx-line--b{text-align:left}
html.cx-static .cx-hero__cta{opacity:1;transform:none;pointer-events:auto}
html.cx-static .cx-hero__hud{display:none}

.cx-hero{--vh:100svh;--ease-film:cubic-bezier(.65,.02,.2,1);height:900svh}
.cx-hero__poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}
.cx-hero.is-fallback .cx-hero__film,.cx-hero.is-fallback .cx-hero__cut{display:none}
.cx-hero.is-fallback .cx-hero__poster{z-index:0;filter:brightness(.6)}
.cx-hero__sound{position:absolute;right:var(--pad);bottom:1.4rem;z-index:5;min-height:44px;padding:.7rem 1rem;color:var(--ivory);font-size:.65rem;letter-spacing:.1em;background:rgba(8,9,10,.8);border:1px solid var(--gold-dim);cursor:pointer}
.cx-hero__sound::before{content:'♫';color:var(--gold);margin-right:.7rem;font-size:1rem}
.cx-hero__sound[aria-pressed="true"]{border-color:var(--gold)}
.cx-hero__vehicle{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:0;pointer-events:none}
.cx-hero__films{position:absolute;left:var(--pad);bottom:1.4rem;z-index:5;display:flex;gap:1.2rem;max-width:calc(100% - 2 * var(--pad) - 12rem)}
.cx-hero__films button{min-height:44px;font-size:.6rem;letter-spacing:.1em;color:var(--muted);border-bottom:1px solid transparent;cursor:pointer;text-transform:uppercase}
.cx-hero__films button[aria-pressed="true"]{color:var(--gold);border-bottom-color:var(--gold)}
.cx-hero.is-playing-film .cx-hero__vehicle{opacity:1}
.cx-hero.is-playing-film .cx-hero__film,.cx-hero.is-playing-film .cx-hero__cut,.cx-hero.is-playing-film .cx-hero__hud{visibility:hidden}
.cx-hero.is-playing-film .cx-hero__type{z-index:3;background:linear-gradient(180deg,rgba(0,0,0,.45),transparent 45%,rgba(0,0,0,.6))}
.cx-hero.is-playing-film .cx-line--a{display:none}
.cx-hero.is-playing-film .cx-line--b{top:auto;bottom:9rem;left:var(--pad);right:auto;text-align:left;font-size:clamp(2rem,4.5vw,4rem)}
.cx-hero.is-playing-film .cx-line--b span{opacity:1;transform:none;filter:none;clip-path:none}
.cx-hero.is-playing-film .cx-hero__brand{opacity:1;transform:none;top:7rem;bottom:auto}
.cx-hero.is-playing-film .cx-hero__cta{opacity:1;transform:none;pointer-events:auto;bottom:5.5rem}
.cx-hero.is-playing-film .cx-hero__vehicle[controls]{pointer-events:auto;z-index:4}
.cx-hero.is-playing-film .cx-line--b{position:absolute;width:auto;padding:0;margin:0}
.cx-hero.is-playing-film .cx-line--b span{display:inline;padding:0}
.cx-hero.is-playing-film .cx-line--b span+span{margin-left:.2em}
@media(max-width:700px){.cx-hero__films{bottom:4.8rem;max-width:calc(100% - 2 * var(--pad));width:calc(100% - 2 * var(--pad));gap:.6rem;justify-content:space-between}.cx-hero__films button{font-size:.48rem;letter-spacing:.04em}.cx-hero.is-playing-film .cx-line--b{bottom:12rem;font-size:clamp(1.8rem,8vw,3rem)}.cx-hero.is-playing-film .cx-hero__brand{top:6rem}.cx-hero.is-playing-film .cx-hero__cta{bottom:9rem}}
.cx-hud__env{bottom:5rem}.cx-hud__tc{top:6rem}
.cx-line--a,.cx-line--b{top:clamp(7.5rem,16vh,11rem)}
.cx-hero a:focus-visible,.cx-hero button:focus-visible{outline:1px solid var(--gold);outline-offset:6px}
html.cx-static .cx-line{font-size:clamp(2rem,6vw,5rem);text-align:left;white-space:normal}
html.cx-static .cx-line--a span{display:inline}.cx-static .cx-line--b span:first-child{padding-right:0}
html.cx-static .cx-hero__cut{display:none}
html.cx-static .cx-hero__brand{top:6rem}.cx-static .cx-hero__cta{bottom:5rem}
html.cx-static .cx-line--a span:last-child{margin-left:.2em;padding-left:0}
@media(prefers-reduced-motion:reduce){.cx-hero *{animation:none!important;transition:none!important}}
@media(max-width:700px){
 .cx-hero__film,.cx-hero__cut{-webkit-mask-image:linear-gradient(to bottom,transparent 19%,#000 33%,#000 67%,transparent 81%);mask-image:linear-gradient(to bottom,transparent 19%,#000 33%,#000 67%,transparent 81%)}
 .cx-hero{height:720svh}.cx-line{font-size:clamp(2.7rem,15.4vw,5rem);line-height:.9}
 .cx-line--a{top:5.6rem;left:var(--pad)}.cx-line--a span{display:block}.cx-line--a span:last-child{margin-left:0;padding-left:2.4rem}
 .cx-line--b{top:5.6rem;right:var(--pad)}.cx-hero__brand{bottom:7rem}.cx-hero__name{letter-spacing:.27em;font-size:clamp(1rem,4.6vw,1.6rem)}.cx-hud__cue{display:none}
 .cx-hero__sub{font-size:.5rem;letter-spacing:.3em}.cx-hero__cta{bottom:5rem;max-width:calc(100% - 2 * var(--pad));font-size:.58rem;letter-spacing:.1em}
 .cx-hud__tc{top:5rem}.cx-line--a:lang(es){font-size:clamp(2rem,12vw,4rem)}.cx-line--b:lang(es){font-size:clamp(2.2rem,12.6vw,4.5rem)}
}
