/* Two viewport-sized stages: the message first, then the complete product film. */
body.ai-home-page > .page-wrapper {
  padding-top: 0;
}

/* The shared site-header.css owns the frosted navigation surface. */

body.ai-home-page .toolbar-bk-white-cn .header-logo-link,
body.ai-home-page .toolbar-bk-white-cn .header-logo-link img {
  filter: none;
  mix-blend-mode: normal;
  opacity: 1;
}

body.ai-home-page .toolbar-bk-white-cn .header-nav-link-4,
body.ai-home-page .toolbar-bk-white-cn .dropdown-toggle-2 {
  position: relative;
  background: transparent;
  border-color: transparent;
  box-shadow: none;
  transform: none;
}

body.ai-home-page .toolbar-bk-white-cn .header-nav-link-4::after,
body.ai-home-page .toolbar-bk-white-cn .dropdown-toggle-2::after {
  content: "";
  position: absolute;
  bottom: 0.1875rem;
  left: 50%;
  width: 1.25rem;
  height: 2px;
  border-radius: 2px;
  background: #272fc7;
  opacity: 0;
  transform: translateX(-50%) scaleX(0.5);
  transition: opacity 180ms ease, transform 180ms ease;
  pointer-events: none;
}

body.ai-home-page .toolbar-bk-white-cn .header-nav-link-4:hover,
body.ai-home-page .toolbar-bk-white-cn .header-nav-link-4.w--current,
body.ai-home-page .toolbar-bk-white-cn .dropdown-toggle-2:hover,
body.ai-home-page .toolbar-bk-white-cn .dropdown-toggle-2.w--open,
body.ai-home-page .toolbar-bk-white-cn .w-dropdown.w--open > .dropdown-toggle-2,
body.ai-home-page .toolbar-bk-white-cn .dropdown-toggle-2:hover .dropdown-text-5,
body.ai-home-page .toolbar-bk-white-cn .dropdown-toggle-2.w--open .dropdown-text-5 {
  color: #272fc7 !important;
  background: transparent;
  box-shadow: none;
}

body.ai-home-page .toolbar-bk-white-cn .header-nav-link-4:hover::after,
body.ai-home-page .toolbar-bk-white-cn .header-nav-link-4:focus-visible::after,
body.ai-home-page .toolbar-bk-white-cn .header-nav-link-4.w--current::after,
body.ai-home-page .toolbar-bk-white-cn .dropdown-toggle-2:hover::after,
body.ai-home-page .toolbar-bk-white-cn .dropdown-toggle-2:focus-visible::after,
body.ai-home-page .toolbar-bk-white-cn .dropdown-toggle-2.w--open::after,
body.ai-home-page .toolbar-bk-white-cn .w-dropdown.w--open > .dropdown-toggle-2::after {
  opacity: 1;
  transform: translateX(-50%) scaleX(1);
}

body.ai-home-page .toolbar-bk-white-cn .header-nav-link-4:focus-visible,
body.ai-home-page .toolbar-bk-white-cn .dropdown-toggle-2:focus-visible {
  outline: 2px solid rgba(70, 77, 216, 0.45);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  body.ai-home-page .toolbar-bk-white-cn .header-nav-link-4::after,
  body.ai-home-page .toolbar-bk-white-cn .dropdown-toggle-2::after {
    transition: none;
  }
}

body .ai-hero.ai-hero--editorial {
  --ai-header-height: 60px;
  height: auto;
  min-height: 0;
  padding: 0;
  background: #fafcff;
}

.ai-hero--editorial::after,
.ai-hero--editorial .ai-hero__grid,
.ai-hero--editorial .ai-hero__network,
.ai-hero--editorial .ai-hero__scroll,
.ai-hero--editorial .ai-showcase__aura,
.ai-hero--editorial .ai-showcase__chrome,
.ai-hero--editorial .ai-showcase__status,
.ai-hero--editorial .ai-showcase__full-caption {
  display: none;
}

body .ai-hero--editorial .ai-hero__content {
  display: flex;
  width: 100%;
  height: auto;
  margin: 0 auto;
  flex-direction: column;
  gap: 0;
}

body .ai-hero--editorial .ai-hero__heading {
  position: relative;
  display: flex;
  width: 100%;
  min-height: 100svh;
  box-sizing: border-box;
  margin: 0;
  padding: calc(3rem + var(--ai-header-height)) 2rem 3rem;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0;
  text-align: center;
  isolation: isolate;
}

/* Keep decoration confined to the first screen and behind all interactive content. */
/* Soft color around all four corners, with a white focal area for the copy. */
.ai-hero--editorial .ai-hero__atmosphere {
  position: absolute;
  z-index: -1;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  background:
    radial-gradient(ellipse 70% 22% at 50% 100%, rgba(171, 196, 245, .18), transparent 85%),
    radial-gradient(ellipse 60% 68% at 0% 0%, rgba(196, 216, 253, .72), transparent 95%),
    radial-gradient(ellipse 60% 68% at 100% 0%, rgba(211, 200, 255, .72), transparent 95%),
    radial-gradient(ellipse 60% 68% at 0% 100%, rgba(181, 207, 250, .69), transparent 95%),
    radial-gradient(ellipse 60% 68% at 100% 100%, rgba(208, 197, 249, .68), transparent 95%),
    #f5f7ff;
}

.ai-hero--editorial .ai-hero__atmosphere::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  background:
    radial-gradient(ellipse 38% 35% at 50% 48%, #fff 34%, rgba(255, 255, 255, .95) 52%, rgba(255, 255, 255, .55) 76%, transparent 100%),
    linear-gradient(180deg, transparent 55%, rgba(250,252,255,.12) 67%, rgba(250,252,255,.5) 82%, rgba(250,252,255,.86) 94%, #fafcff 100%);
}

/* Static blue atmosphere with a fine grid kept clear of the central copy. */
.ai-hero--editorial [data-hero-background="minimal"] {
  background:
    linear-gradient(180deg, transparent 72%, #fafcff 100%),
    radial-gradient(ellipse 80% 65% at 50% 82%, rgba(126, 166, 238, .22), transparent 78%),
    #fcfdff;
}

.ai-hero--editorial [data-hero-background="minimal"]::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(107, 135, 181, .1) 1px, transparent 1px),
    linear-gradient(90deg, rgba(107, 135, 181, .1) 1px, transparent 1px);
  background-size: 80px 80px;
  background-position: center;
  -webkit-mask-image: radial-gradient(ellipse 80% 65% at 50% 42%, transparent 30%, #000 76%, transparent 100%);
  mask-image: radial-gradient(ellipse 80% 65% at 50% 42%, transparent 30%, #000 76%, transparent 100%);
}

.ai-hero--editorial [data-hero-background="minimal"]::after {
  content: none;
}

/* Small product cues occupy the margins, keeping the title area clear. */
.ai-hero--editorial .ai-hero__trails {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  fill: none;
  stroke: rgba(91, 106, 207, .14);
  stroke-width: 1;
}

.ai-hero--editorial .ai-hero__trails circle {
  fill: #a6b3ee;
  stroke: rgba(255, 255, 255, .8);
  stroke-width: 3;
}

.ai-hero--editorial .ai-hero__ambient {
  position: absolute;
  z-index: 2;
  width: clamp(9rem, 13vw, 14rem);
  color: #6a78b9;
  opacity: .78;
  transform: perspective(800px) rotateY(var(--ambient-turn)) rotate(var(--ambient-tilt));
}

.ai-hero__ambient--flow {
  top: 26%;
  left: 8%;
  --ambient-turn: 14deg;
  --ambient-tilt: -8deg;
}

.ai-hero__ambient--data {
  top: 65%;
  right: 7%;
  --ambient-turn: -16deg;
  --ambient-tilt: 8deg;
}

.ai-hero__ambient > svg {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
  filter: drop-shadow(0 16px 22px rgba(71, 95, 174, .08));
}

.ai-hero__ambient text {
  fill: currentColor;
  font-family: inherit;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 1px;
}

.ai-hero__ambient-pane { fill: rgba(255, 255, 255, .62); stroke: rgba(122, 144, 217, .32); }
.ai-hero__ambient-divider { fill: none; stroke: #bfccee; stroke-width: 1; }
.ai-hero__ambient-dots { fill: #a5b5e5; }
.ai-hero__ambient-link { fill: none; stroke: #9eafe0; stroke-dasharray: 3 4; }
.ai-hero__ambient-node { fill: #f3f6ff; stroke: #b8c6ea; }
.ai-hero__ambient-icon { fill: none; stroke: #889ed7; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ai-hero__ambient-signal { fill: #828de0; }

@keyframes ai-hero-ambient-float {
  from { transform: translateY(0); }
  to { transform: translateY(-14px); }
}

@media (prefers-reduced-motion: no-preference) {
  .ai-hero__ambient > svg {
    animation: ai-hero-ambient-float 7s ease-in-out infinite alternate;
    animation-play-state: var(--hero-ambient-play-state, paused);
  }
  .ai-hero__ambient--data > svg { animation-delay: -4s; }
}

@media (max-width: 991px), (max-height: 620px) {
  .ai-hero--editorial .ai-hero__ambient { display: none; }
}

.ai-hero--editorial .ai-hero__glow {
  position: absolute;
  inset: -6%;
  background:
    radial-gradient(ellipse at 4% 24%, rgba(126, 143, 225, .14), transparent 38%),
    radial-gradient(ellipse at 96% 72%, rgba(140, 159, 233, .12), transparent 38%);
  animation: ai-editorial-glow-drift 18s ease-in-out infinite alternate;
}

.ai-hero--editorial .ai-hero__mesh,
.ai-hero--editorial .ai-hero__floor {
  position: absolute;
  inset: auto 0 0;
  display: block;
  width: 100%;
  height: 36%;
  pointer-events: none;
  -webkit-mask-image: linear-gradient(transparent, #000 22%, #000 86%, transparent);
  mask-image: linear-gradient(transparent, #000 22%, #000 86%, transparent);
}

.ai-hero--editorial .ai-hero__mesh {
  /* Native vectors remain sharp before the animated data field is ready. */
  background: url("../images/hero-signal-field.svg") center bottom / 100% 100% no-repeat;
  transform: none;
  animation: none;
}

.ai-hero--editorial .ai-hero__signal-field {
  position: absolute;
  inset: auto 0 0;
  display: block;
  width: 100%;
  height: 34%;
  pointer-events: none;
  -webkit-mask-image: linear-gradient(transparent, #000 28%, #000 84%, transparent);
  mask-image: linear-gradient(transparent, #000 28%, #000 84%, transparent);
}

.ai-hero--editorial .has-signal-field .ai-hero__mesh { display: none; }

/* A blue/lavender interpretation of diagonal light, with a readable focal area. */
.ai-hero--editorial [data-hero-background="beams"]::after {
  background:
    radial-gradient(ellipse 32% 32% at 50% 53%, rgba(255, 255, 255, .68) 0%, rgba(255, 255, 255, .52) 40%, rgba(255, 255, 255, .14) 76%, transparent 100%),
    linear-gradient(180deg, transparent 55%, rgba(250,252,255,.12) 67%, rgba(250,252,255,.5) 82%, rgba(250,252,255,.86) 94%, #fafcff 100%);
}

.ai-hero--editorial [data-hero-background="beams"] .ai-hero__mesh,
.ai-hero--editorial .ai-hero__diagonal-beams {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  -webkit-mask-image: radial-gradient(ellipse 54% 46% at 50% 53%, #000 32%, rgba(0, 0, 0, .92) 54%, rgba(0, 0, 0, .35) 82%, transparent 100%);
  mask-image: radial-gradient(ellipse 54% 46% at 50% 53%, #000 32%, rgba(0, 0, 0, .92) 54%, rgba(0, 0, 0, .35) 82%, transparent 100%);
}

.ai-hero--editorial [data-hero-background="beams"] .ai-hero__mesh {
  background: url("../images/hero-diagonal-beams.svg") center / cover no-repeat;
}

.ai-hero--editorial .has-hero-beams .ai-hero__mesh { display: none; }

.ai-hero__diagonal-beams > svg {
  display: block;
  width: 100%;
  height: 100%;
}

.ai-hero__diagonal-beams .hero-beam {
  animation: ai-hero-beam-drift var(--beam-duration) ease-in-out var(--beam-delay) infinite alternate;
  animation-play-state: var(--hero-beam-play-state, paused);
}

.ai-hero__diagonal-beams .hero-beam__shine {
  animation: ai-hero-beam-shine 14s ease-in-out var(--shine-delay) infinite alternate;
  animation-play-state: var(--hero-beam-play-state, paused);
}

@keyframes ai-hero-beam-drift {
  from { transform: translateY(-46px); opacity: calc(var(--beam-strength) * .72); }
  to { transform: translateY(46px); opacity: var(--beam-strength); }
}

@keyframes ai-hero-beam-shine {
  from { transform: translateY(-370px); opacity: .5; }
  to { transform: translateY(370px); opacity: 1; }
}

.ai-hero__diagonal-beams.is-still .hero-beam,
.ai-hero__diagonal-beams.is-still .hero-beam__shine,
.ai-hero__diagonal-beams.is-lightweight .hero-beam__shine {
  animation: none;
}

.ai-hero__diagonal-beams.is-lightweight .hero-beam:not(:nth-child(4)) {
  animation: none;
}

@media (max-width: 767px) {
  .ai-hero__diagonal-beams .hero-beam__shine { animation: none; }
  .ai-hero--editorial [data-hero-background="beams"] .ai-hero__mesh,
  .ai-hero--editorial .ai-hero__diagonal-beams {
    -webkit-mask-image: radial-gradient(ellipse 94% 42% at 50% 53%, #000 28%, rgba(0, 0, 0, .8) 58%, transparent 100%);
    mask-image: radial-gradient(ellipse 94% 42% at 50% 53%, #000 28%, rgba(0, 0, 0, .8) 58%, transparent 100%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .ai-hero__diagonal-beams .hero-beam,
  .ai-hero__diagonal-beams .hero-beam__shine { animation: none; }
}

.ai-hero--editorial .ai-hero__currents {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  pointer-events: none;
  /* No moving contrast behind the title, description or primary actions. */
  -webkit-mask-image: radial-gradient(ellipse 40% 38% at 50% 52%, transparent 48%, rgba(0, 0, 0, .15) 70%, #000 100%);
  mask-image: radial-gradient(ellipse 40% 38% at 50% 52%, transparent 48%, rgba(0, 0, 0, .15) 70%, #000 100%);
}

.ai-hero--editorial .ai-hero__atmosphere[data-hero-media]::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("../images/hero-studio-poster.jpg") center / cover no-repeat;
  opacity: 1;
  transition: opacity 1.2s ease;
}

.ai-hero--editorial .ai-hero__atmosphere[data-media-state="running"]::before,
.ai-hero--editorial .ai-hero__atmosphere[data-media-state="paused"]::before {
  opacity: 0;
}

.ai-hero--editorial .ai-hero__studio {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
  opacity: 0;
  transition: opacity 1.2s ease;
  -webkit-mask-image: radial-gradient(ellipse 40% 38% at 50% 52%, transparent 48%, rgba(0, 0, 0, .2) 70%, #000 100%);
  mask-image: radial-gradient(ellipse 40% 38% at 50% 52%, transparent 48%, rgba(0, 0, 0, .2) 70%, #000 100%);
}

.ai-hero--editorial [data-media-state="running"] .ai-hero__studio,
.ai-hero--editorial [data-media-state="paused"] .ai-hero__studio {
  opacity: 1;
}

.ai-hero--editorial [data-hero-media] .ai-hero__mesh {
  display: none;
}

@media (max-width: 767px) {
  .ai-hero--editorial .ai-hero__atmosphere[data-hero-media]::before {
    background-image: url("../images/hero-studio-poster-mobile.jpg");
  }
}

@media (prefers-reduced-motion: reduce) {
  .ai-hero--editorial .ai-hero__studio,
  .ai-hero--editorial .ai-hero__atmosphere[data-hero-media]::before { transition: none; }
}

.ai-hero--editorial .has-webgl-grid .ai-hero__mesh {
  display: none;
}

.ai-hero--editorial .ai-hero__orbits {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  color: rgba(92, 97, 197, 0.07);
  stroke-width: 1;
  -webkit-mask-image: radial-gradient(ellipse at center, transparent 30%, #000 66%);
  mask-image: radial-gradient(ellipse at center, transparent 30%, #000 66%);
}

.ai-hero--editorial .ai-hero__orbit-nodes {
  color: rgba(95, 101, 218, 0.2);
}

.ai-hero--editorial .ai-hero__orbit-stars {
  color: rgba(95, 101, 218, 0.14);
  stroke-width: 1.5;
}

.ai-hero--editorial .ai-hero__webgl {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  pointer-events: none;
  /* Keep distant interior cards visible while softening decoration behind the copy. */
  -webkit-mask-image: radial-gradient(ellipse 44% 35% at 50% var(--hero-focus-y), rgba(0, 0, 0, 0.62) 0%, rgba(0, 0, 0, 0.72) 46%, #000 100%);
  mask-image: radial-gradient(ellipse 44% 35% at 50% var(--hero-focus-y), rgba(0, 0, 0, 0.62) 0%, rgba(0, 0, 0, 0.72) 46%, #000 100%);
}

.ai-hero--editorial .ai-hero__atmosphere.has-3d-scene .ai-hero__orbits,
.ai-hero--editorial .ai-hero__atmosphere.has-3d-scene .ai-hero__mesh {
  opacity: 0;
  transition: opacity 1.2s ease;
}

.ai-hero--editorial .ai-hero__atmosphere[data-scene-state="paused"] .ai-hero__glow {
  animation-play-state: paused;
}

@keyframes ai-editorial-glow-drift {
  from { transform: translate3d(-1%, -1%, 0) scale(1); }
  to { transform: translate3d(2%, 2%, 0) scale(1.04); }
}

body .ai-hero--editorial .ai-hero__heading h1 {
  width: 100%;
  max-width: 70rem;
  margin: 0;
  color: #1b1d45;
  font-family: var(--site-title-font);
  font-synthesis: none;
  font-size: clamp(2.25rem, 4.9vw, 4.5rem);
  font-weight: var(--site-title-weight);
  line-height: 1.3;
  letter-spacing: 0;
}

body .ai-hero--editorial .ai-hero__line {
  display: block;
}

body .ai-hero--editorial .ai-hero__line--brand {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(.75rem, 1.2vw, 1.25rem);
}

body .ai-hero--editorial .ai-hero__brand-icon {
  display: block;
  flex: 0 0 auto;
  width: clamp(2.5rem, 5.5vw, 5rem);
  height: auto;
  padding: 0;
  border: 0;
  background: none;
  object-fit: contain;
}

body .ai-hero--editorial .ai-hero__brand-text {
  position: relative;
  isolation: isolate;
  display: inline-block;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  color: #3439cf;
  font-size: clamp(2rem, 4.9vw, 4.5rem);
  line-height: 1.2;
  white-space: nowrap;
  box-shadow: none;
  text-shadow: none;
}

/* Supplied dsphere glyphs and matching A/I share one baseline and drawing animation. */
body .ai-hero--editorial .ai-hero__brand-drawing {
  display: block;
  width: 5.203em;
  max-width: 100%;
  height: 1em;
  overflow: visible;
  color: #2b2dcc;
  background: none;
}
body .ai-hero--editorial .ai-hero__brand-label {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip-path: inset(50%); white-space: nowrap;
}

body .ai-hero--editorial .ai-hero__line + .ai-hero__line {
  margin-top: 1.75rem;
}

body .ai-hero--editorial .ai-hero__heading h1 em {
  display: inline-block;
  color: #5057dc;
  font-size: inherit;
  font-weight: 700;
  font-style: normal;
  line-height: 1.25;
  letter-spacing: 0.015em;
  background: linear-gradient(105deg, #272fc7 4%, #3e57d0 48%, #6489df 96%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

@media (min-width: 768px) {
  body .ai-hero--editorial .ai-hero__line.ai-hero__line--message {
    white-space: nowrap;
  }
}

/* Paint each accent once; a clipped parent background and independently
   composited glyphs can leave duplicate glyph shapes during cold rendering. */
body .ai-hero--editorial .has-text-motion h1 em {
  background: none;
  -webkit-background-clip: border-box;
  background-clip: border-box;
  -webkit-text-fill-color: currentColor;
}

body .ai-hero--editorial .has-text-motion h1 em .ai-text-hover__char {
  color: var(--hero-glyph-color, #5057dc);
  -webkit-text-fill-color: currentColor;
}

body .ai-hero--editorial .has-text-motion h1 em .ai-text-hover__char.is-hovered {
  color: var(--ai-text-hover-color, #272fc7);
}

body .ai-hero--editorial .ai-hero__intro {
  display: flex;
  width: 100%;
  max-width: none;
  margin: 1.625rem 0 0;
  flex-direction: column;
  align-items: center;
  gap: 1.875rem;
}

body .ai-hero--editorial .ai-hero__intro > p {
  max-width: 45rem;
  margin: 0;
  color: #67647b;
  font-size: 1.125rem;
  font-weight: 400;
  letter-spacing: 0.015em;
  line-height: 1.75;
  text-align: center;
}

body .ai-hero--editorial .ai-panel__actions {
  width: auto;
  margin: 0;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 0.875rem;
}

body .ai-hero--editorial .ai-hero__intro .ai-button {
  min-height: 2.875rem;
  padding: 0 1.5rem;
  border-radius: 62.4375rem;
  font-size: 1rem;
  font-weight: 400;
  box-shadow: none;
}

body .ai-hero--editorial .ai-button--primary {
  border-color: #272fc7;
  color: #fff;
  background: #272fc7;
}

body .ai-hero--editorial .ai-hero__intro .ai-button.ai-button--primary {
  box-shadow: 0 0.625rem 1.75rem -0.75rem rgba(53, 60, 184, 0.42);
}

body .ai-hero--editorial .ai-hero__intro .ai-button--watch {
  height: 2.875rem;
  padding: 0 1.25rem;
  gap: 0.625rem;
  border: 1px solid rgba(39, 47, 199, .2);
  color: #272fc7;
  background: rgba(237, 240, 255, .5);
  transition: border-color 180ms ease, background-color 180ms ease;
}

body .ai-hero--editorial .ai-hero__intro .ai-button--watch:hover {
  border-color: rgba(39, 47, 199, .4);
  background: #e8ecff;
  transform: none;
}

.ai-hero--editorial .ai-hero__film-screen {
  position: relative;
  display: flex;
  width: 100%;
  height: calc(100svh - var(--ai-header-height));
  height: calc(100dvh - var(--ai-header-height));
  min-height: 0;
  box-sizing: border-box;
  padding: clamp(0.75rem, 2.5svh, 1.75rem) 2rem;
  align-items: center;
  justify-content: center;
  scroll-margin-top: var(--ai-header-height);
  isolation: isolate;
  background:
    radial-gradient(ellipse at 0% 50%, rgba(128, 133, 222, 0.08), transparent 45%),
    radial-gradient(ellipse at 100% 50%, rgba(141, 145, 225, 0.07), transparent 45%),
    #edf2f7;
}

.ai-hero--editorial .ai-hero__film-screen::before,
.ai-hero--editorial .ai-hero__film-screen::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  opacity: 0.55;
}

.ai-hero--editorial .ai-hero__film-screen::before {
  background-image:
    linear-gradient(rgba(91, 119, 184, .13) 1px, transparent 1px),
    linear-gradient(90deg, rgba(91, 119, 184, .13) 1px, transparent 1px);
  background-size: 4rem 4rem;
  -webkit-mask-image: radial-gradient(ellipse, transparent 26%, #000 90%);
  mask-image: radial-gradient(ellipse, transparent 26%, #000 90%);
}

.ai-hero--editorial .ai-hero__film-screen::after {
  background:
    radial-gradient(ellipse at 50% 46%, transparent 61.5%, rgba(106, 112, 216, 0.13) 61.7%, transparent 61.9%),
    radial-gradient(ellipse at 50% 46%, transparent 73.5%, rgba(106, 112, 216, 0.09) 73.7%, transparent 73.9%);
}

body .ai-hero--editorial .ai-showcase {
  display: flex;
  z-index: auto;
  isolation: auto;
  /* JS refines this conservative fallback using the actual footer heights. */
  width: min(70rem, 100%, var(--ai-film-width, max(1px, calc((100svh - var(--ai-header-height) - 12.25rem) * 1.7777778))));
  max-width: 100%;
  flex-direction: column;
  gap: 0.75rem;
  flex: 0 0 auto;
  min-height: 0;
  margin: 0;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

body .ai-hero--editorial [data-ai-showcase] .ai-showcase__visual {
  width: 100%;
  height: auto;
  min-height: 0;
  margin: 0;
  flex: 0 0 auto;
  aspect-ratio: 16 / 9;
  perspective: none;
  border-radius: 0;
  background: transparent;
}

body .ai-hero--editorial [data-ai-showcase] .ai-showcase__plane {
  position: absolute;
  z-index: auto;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  filter: none;
  -webkit-filter: none;
  transform: none;
  transform-style: flat;
  will-change: auto;
}

body .ai-hero--editorial [data-ai-showcase] .ai-showcase__chapter-summary {
  position: relative;
  inset: auto;
  width: 100%;
  height: auto;
  min-height: 4rem;
  margin: 0;
  flex: 0 0 auto;
  background: rgba(255, 255, 255, 0.78);
  box-shadow: 0 0.5rem 1.625rem -1.125rem rgba(43, 48, 137, 0.25);
}

body .ai-hero--editorial [data-ai-showcase] .ai-showcase__fluid {
  border: 0;
  border-radius: 0;
  background: #edf2f7;
  box-shadow: none;
  will-change: auto;
}

body .ai-hero--editorial [data-ai-showcase] .ai-showcase__plane video {
  width: 100%;
  height: 100%;
  object-fit: contain;
  /* Preserve the film's contrast; match the page color instead of filtering it. */
  filter: none;
  mix-blend-mode: normal;
  -webkit-mask-image: none;
  mask-image: none;
}

/* Playback remains available without needing a scroll animation to reveal it. */
body .ai-hero--editorial .ai-showcase__timeline {
  opacity: 0;
  visibility: visible;
  transform: none;
  pointer-events: auto;
  transition: opacity 160ms ease;
}

body .ai-hero--editorial .ai-showcase__visual:hover .ai-showcase__timeline,
body .ai-hero--editorial .ai-showcase__visual:focus-within .ai-showcase__timeline {
  opacity: 1;
}

body .ai-hero--editorial .ai-showcase__process {
  position: relative;
  inset: auto;
  width: min(47.5rem, 100%);
  margin: 0 auto;
  padding: 0;
  flex: 0 0 auto;
  transform: none;
}

body .ai-hero--editorial .ai-showcase__process ol {
  display: grid;
  margin: 0;
  padding: 0;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

body .ai-hero--editorial .ai-showcase__process button {
  display: flex;
  width: 100%;
  min-height: 2.75rem;
  margin: 0;
  padding: 0.625rem 0;
  align-items: center;
  justify-content: center;
  gap: 0.625rem;
  border: 0;
  border-top: 1px solid #dfe5ed;
  border-radius: 0;
  color: #8b8598;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  transform: none;
}

body .ai-hero--editorial .ai-showcase__process button:hover,
body .ai-hero--editorial .ai-showcase__process button.is-active {
  border-top-color: #272fc7;
  color: #272fc7;
}

body .ai-hero--editorial .ai-showcase__process button > span {
  display: inline;
  width: auto;
  height: auto;
  color: inherit;
  background: none;
  box-shadow: none;
  font-size: 0.625rem;
}

body .ai-hero--editorial .ai-showcase__process button div {
  min-width: 0;
}

.ai-hero--editorial a:focus-visible,
body .ai-hero--editorial .ai-showcase__process button:focus-visible {
  outline: 2px solid #272fc7;
  outline-offset: 0.25rem;
}

@media (max-width: 767px) {
  .ai-hero--editorial .ai-hero__glow {
    animation: none;
  }

  .ai-hero--editorial .ai-hero__orbits {
    opacity: 0.6;
  }

  body .ai-hero--editorial .ai-hero__heading {
    padding: calc(2.5rem + var(--ai-header-height)) 1.25rem 2.5rem;
  }

  .ai-hero--editorial .ai-hero__film-screen {
    padding: clamp(0.625rem, 2svh, 1.25rem) 1.25rem;
  }

  body .ai-hero--editorial .ai-hero__line {
    display: block;
  }

  body .ai-hero--editorial .ai-hero__line--brand {
    display: flex;
    white-space: normal;
  }



  body .ai-hero--editorial .ai-hero__heading h1 {
    font-size: clamp(1.25rem, 5.8vw, 2.5rem);
    line-height: 1.3;
  }

  body .ai-hero--editorial .ai-hero__heading h1 em {
    font-size: inherit;
  }

  body .ai-hero--editorial .ai-hero__line + .ai-hero__line {
    margin-top: 1.5rem;
  }

  body .ai-hero--editorial .ai-hero__intro {
    margin-top: 1.375rem;
    gap: 1.5rem;
  }

  body .ai-hero--editorial .ai-hero__intro > p {
    max-width: 20.625rem;
    font-size: 0.9375rem;
  }

  body .ai-hero--editorial [data-ai-showcase] .ai-showcase__plane {
    border-radius: 0;
  }

  body .ai-hero--editorial .ai-showcase__process ol {
    gap: 0.5rem;
  }

  body .ai-hero--editorial .ai-showcase__process button {
    gap: 0.3125rem;
  }

  body .ai-hero--editorial .ai-showcase__process button b {
    font-size: 0.6875rem;
  }

  body .ai-hero--editorial .ai-showcase__process button > span {
    display: none;
  }
}

@media (max-width: 600px) {
  body .ai-hero--editorial [data-ai-showcase] .ai-showcase__chapter-summary {
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.375rem 0.625rem;
  }

  body .ai-hero--editorial .ai-showcase__chapter-index {
    grid-row: 1 / 3;
  }

  body .ai-hero--editorial .ai-showcase__chapter-summary > small {
    display: flex;
    grid-column: 2;
    padding: 0;
    border: 0;
    gap: 0.5rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ai-hero--editorial .ai-hero__glow {
    animation: none;
  }
}

@media (hover: none), (prefers-reduced-motion: reduce) {
  body .ai-hero--editorial .ai-showcase__timeline {
    opacity: 1;
    transition: none;
  }
}
