/* ETERNAL · Responsive + iOS stability hardening · 2026-09-20
   Goal: preserve the complete visual system while making narrow phones, Fold/Duo,
   tablets and desktop layouts deterministic and substantially cheaper to paint. */

:root{
  --et-safe-x:clamp(14px,4vw,28px);
  --et-mobile-radius:clamp(22px,6vw,30px);
}
html{width:100%;max-width:100%;overflow-x:clip;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{width:100%;max-width:100%;overflow-x:clip;min-width:0}
main,section,article,header,footer,nav,div{min-width:0}
img,svg,video,canvas{max-width:100%}
img{height:auto}
button,a,input,select,textarea{max-width:100%}

/* Safe-area aware global shell. */
nav.fixed{
  width:min(92%,1280px)!important;
  max-width:calc(100vw - max(20px,env(safe-area-inset-left)) - max(20px,env(safe-area-inset-right)))!important;
}

/* iOS/WebKit can become unstable when dozens of large blurred layers are composited.
   In the constrained mode every element remains present; only the costly live blur/filters
   are replaced with visually equivalent translucent surfaces. */
html.et-constrained-gpu .aurora-layer{animation:none!important;opacity:.42!important;transform:none!important}
html.et-constrained-gpu #dust-canvas{display:none!important}
html.et-constrained-gpu .star{animation:none!important;opacity:.52!important}
html.et-constrained-gpu [class*="backdrop-blur"],
html.et-constrained-gpu .glass-card,
html.et-constrained-gpu .holo-panel,
html.et-constrained-gpu .neo-parent-dashboard,
html.et-constrained-gpu .v6-report-float,
html.et-constrained-gpu .v6-parent-badge,
html.et-constrained-gpu .et-offline-card,
html.et-constrained-gpu .et-global-footer,
html.et-constrained-gpu nav.fixed{
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
html.et-constrained-gpu .mascot-glow,
html.et-constrained-gpu .mascot-glow-strong,
html.et-constrained-gpu .neo-perspective-art>img,
html.et-constrained-gpu .v6-feature-shot img,
html.et-constrained-gpu .v6-report-shot{
  filter:none!important;
}
html.et-constrained-gpu .neo-film-grain{display:none!important}
html.et-constrained-gpu .neo-therapy-radar{animation:none!important}
html.et-constrained-gpu .neo-therapy-radar b{animation:none!important;transform:none!important}
html.et-constrained-gpu *{scroll-behavior:auto}

/* Header: 320 px phones through tablet. */
@media(max-width:820px){
  nav.fixed{
    top:max(10px,env(safe-area-inset-top))!important;
    width:calc(100% - 20px)!important;
    max-width:none!important;
    grid-template-columns:54px minmax(0,1fr) auto!important;
    gap:8px!important;
    padding:10px 12px!important;
    border-radius:22px!important;
  }
  nav.fixed #open-menu{
    width:48px!important;height:48px!important;min-width:48px!important;
    padding:0!important;justify-content:center!important;border-radius:16px!important;
  }
  /* Hide only the label: the award nav's hamburger icon is a span too. */
  nav.fixed #open-menu>span:not(.et-nav__menu-icon),nav.fixed #open-menu>div+span{display:none!important}
  nav.fixed .logo-nav{height:30px!important;max-width:min(42vw,170px)!important}
  nav.fixed>div:nth-child(2){padding-inline:2px!important;overflow:visible!important}
  nav.fixed>div:last-child{gap:5px!important}
  nav.fixed a[href*="pricing"],nav.fixed a[href*="help"]{display:none!important}
  nav.fixed #lang-toggle{display:flex!important;flex:none!important;transform:none!important}
  nav.fixed #lang-toggle button{min-width:36px!important;height:36px!important;padding:0 9px!important;font-size:10px!important}
}
@media(max-width:360px){
  nav.fixed{width:calc(100% - 12px)!important;padding:8px 9px!important;grid-template-columns:46px minmax(0,1fr) auto!important;border-radius:19px!important}
  nav.fixed #open-menu{width:42px!important;height:42px!important;min-width:42px!important;border-radius:14px!important}
  nav.fixed .logo-nav{height:26px!important;max-width:39vw!important}
  nav.fixed #lang-toggle button{min-width:32px!important;height:34px!important;padding:0 7px!important}
}

/* APP · "Por qué existimos / Hacia dónde vamos".
   Avatar and heading become one compact header row instead of leaving a huge empty zone. */
#que-es-eternal .et-v5-support-grid{align-items:stretch}
#que-es-eternal .et-v5-support-grid>.et-support-card,
#que-es-eternal .et-v5-support-grid>div{
  isolation:isolate;
}
@media(max-width:767px){
  #que-es-eternal{padding-inline:var(--et-safe-x)!important}
  #que-es-eternal .et-v5-support-grid{gap:14px!important;margin-top:2.25rem!important}
  #que-es-eternal .et-v5-support-grid>.et-support-card,
  #que-es-eternal .et-v5-support-grid>div{
    display:grid!important;
    grid-template-columns:64px minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    column-gap:14px!important;
    row-gap:14px!important;
    align-items:center!important;
    padding:18px!important;
    min-height:0!important;
    border-radius:24px!important;
    overflow:hidden!important;
    background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.018))!important;
  }
  #que-es-eternal .et-v5-support-grid>div>img{
    position:static!important;inset:auto!important;
    grid-column:1!important;grid-row:1!important;
    width:64px!important;height:64px!important;
    transform:none!important;opacity:1!important;
  }
  #que-es-eternal .et-v5-support-grid>div>h4{
    grid-column:2!important;grid-row:1!important;
    align-self:center!important;margin:0!important;
    font-size:.68rem!important;line-height:1.35!important;
    letter-spacing:.16em!important;
  }
  #que-es-eternal .et-v5-support-grid>div>p{
    grid-column:1/-1!important;grid-row:2!important;
    margin:0!important;font-size:clamp(.92rem,4.2vw,1.02rem)!important;
    line-height:1.68!important;font-weight:500!important;color:rgba(255,255,255,.9)!important;
    text-wrap:pretty;
  }
}
@media(max-width:360px){
  #que-es-eternal .et-v5-support-grid>div{grid-template-columns:54px minmax(0,1fr)!important;padding:15px!important;column-gap:12px!important}
  #que-es-eternal .et-v5-support-grid>div>img{width:54px!important;height:54px!important}
  #que-es-eternal .et-v5-support-grid>div>p{font-size:.88rem!important;line-height:1.62!important}
}

/* APP pricing cards: keep badges intact on all narrow widths. */
#planes .et-plan-card{isolation:isolate}
#planes .et-plan-badge-wrap{z-index:20!important;max-width:none!important;white-space:nowrap!important}
#planes .et-plan-badge{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  width:max-content!important;max-width:none!important;white-space:nowrap!important;
  line-height:1!important;word-break:normal!important;overflow-wrap:normal!important;
}
@media(max-width:767px){
  #planes{padding-inline:var(--et-safe-x)!important}
  #planes>.grid{gap:26px!important}
  #planes .et-plan-card{padding:24px 20px 22px!important;border-radius:26px!important;overflow:visible!important}
  #planes .et-plan-badge-wrap{top:0!important;left:50%!important;right:auto!important;transform:translate(-50%,-50%)!important}
  #planes .et-plan-badge{font-size:9px!important;letter-spacing:.14em!important;padding:9px 14px!important}
}
@media(max-width:340px){
  #planes .et-plan-card{padding-inline:16px!important}
  #planes .et-plan-badge{font-size:8px!important;letter-spacing:.1em!important;padding-inline:11px!important}
}

/* HOME · three perspectives. Tablet uses a horizontal editorial card; phones use compact vertical cards. */
@media(min-width:821px) and (max-width:1100px){
  .neo-perspectives{padding-inline:22px!important}
  .neo-perspective-stage{grid-template-columns:1fr!important;width:min(900px,100%)!important}
  .neo-perspective-stage:has(.neo-perspective:hover){grid-template-columns:1fr!important}
  .neo-perspective{
    min-height:0!important;display:grid!important;
    grid-template-columns:minmax(250px,.85fr) minmax(0,1.15fr)!important;
    align-items:center!important;gap:24px!important;padding:26px 30px!important;
    border-right:0!important;border-bottom:1px solid rgba(255,255,255,.08)!important;
  }
  .neo-perspective:last-child{border-bottom:0!important}
  .neo-perspective-index{grid-column:1/-1!important;padding:0!important}
  .neo-perspective-art{height:280px!important;min-height:0!important}
  .neo-perspective-copy{padding:0!important}
  .neo-perspective-copy h3{font-size:clamp(2.3rem,6vw,4rem)!important}
  .neo-perspective::before{writing-mode:initial!important;transform:none!important;left:auto!important;right:18px!important;top:14px!important;font-size:5rem!important}
}
@media(max-width:820px){
  .neo-perspectives{padding:6.5rem var(--et-safe-x)!important}
  .neo-perspectives .neo-section-intro{margin-bottom:2.5rem!important}
  .neo-perspectives .neo-section-intro>span{font-size:.58rem!important;letter-spacing:.16em!important}
  .neo-perspectives .neo-section-intro h2{font-size:clamp(2.15rem,10.5vw,3.45rem)!important;line-height:.96!important;letter-spacing:-.045em!important;margin-top:.9rem!important;text-wrap:balance}
  .neo-perspectives .neo-section-intro p{font-size:.88rem!important;line-height:1.65!important;max-width:34rem!important}
  .neo-perspective-stage{display:grid!important;grid-template-columns:1fr!important;width:100%!important;border-radius:28px!important;overflow:hidden!important}
  .neo-perspective-stage:has(.neo-perspective:hover){grid-template-columns:1fr!important}
  .neo-perspective{
    min-height:0!important;display:flex!important;flex-direction:column!important;
    padding:18px 18px 22px!important;gap:0!important;border-right:0!important;border-bottom:1px solid rgba(255,255,255,.08)!important;
  }
  .neo-perspective:last-child{border-bottom:0!important}
  .neo-perspective-index{width:100%!important;padding:0 0 10px!important;font-size:.56rem!important;letter-spacing:.15em!important}
  .neo-perspective-art{height:220px!important;min-height:220px!important;width:100%!important;margin:0 auto 4px!important}
  .neo-perspective-art canvas{width:190px!important;height:190px!important;max-width:65vw!important;max-height:65vw!important}
  .neo-perspective-art>img{width:185px!important;max-width:58vw!important}
  .neo-parent-dashboard{width:min(100%,265px)!important;padding:20px!important;transform:none!important}
  .neo-parent-dashboard>b{font-size:1.1rem!important;margin:.4rem 0 .8rem!important}
  .neo-parent-dashboard span{font-size:.59rem!important;padding:.5rem 0!important}
  .neo-therapy-radar{width:200px!important;height:200px!important}
  .neo-therapy-art>img{width:118px!important;right:8%!important;bottom:2%!important}
  .neo-perspective-copy{width:100%!important;padding:10px 0 0!important}
  .neo-perspective-copy h3{font-size:clamp(2rem,10vw,3rem)!important;line-height:.95!important;margin:0 0 1rem!important}
  .neo-perspective-copy ul{display:grid!important;gap:9px!important;margin:0!important}
  .neo-perspective-copy li{font-size:.82rem!important;line-height:1.55!important}
  .neo-perspective::before{font-size:18vw!important;top:10px!important;left:auto!important;right:8px!important;writing-mode:initial!important;transform:none!important;opacity:.65!important}
  .neo-school-flight{grid-template-columns:1fr!important;gap:8px!important;margin-top:22px!important}
  .neo-school-flight>div{padding:14px 4px!important}
  .neo-school-flight>i{transform:rotate(90deg)!important;justify-self:center!important}
}
@media(max-width:360px){
  .neo-perspectives{padding-inline:12px!important}
  .neo-perspective{padding:15px 14px 19px!important}
  .neo-perspective-art{height:190px!important;min-height:190px!important}
  .neo-perspective-art canvas{width:165px!important;height:165px!important}
  .neo-perspective-art>img{width:160px!important}
  .neo-parent-dashboard{width:min(100%,235px)!important;padding:16px!important}
  .neo-therapy-radar{width:176px!important;height:176px!important}
  .neo-therapy-art>img{width:102px!important}
  .neo-perspective-copy h3{font-size:2rem!important}
  .neo-perspective-copy li{font-size:.78rem!important}
}

/* General narrow-screen typography and section spacing. */
@media(max-width:767px){
  body[data-et-page] main>section{scroll-margin-top:84px}
  section.py-32,section.py-36{padding-top:5.5rem!important;padding-bottom:5.5rem!important}
  .text-7xl{font-size:clamp(2.45rem,13vw,3.5rem)!important;line-height:1!important}
  .text-6xl{font-size:clamp(2.2rem,11.5vw,3.15rem)!important;line-height:1.02!important}
  .text-5xl{font-size:clamp(2rem,10.5vw,2.9rem)!important;line-height:1.04!important}
  .glass-card{border-radius:24px!important}
}

/* Fold / Duo cover displays can be ~280-320 CSS px. */
@media(max-width:319px){
  :root{--et-safe-x:10px}
  nav.fixed{width:calc(100% - 8px)!important;grid-template-columns:42px minmax(0,1fr) auto!important;padding:7px!important}
  nav.fixed #open-menu{width:40px!important;height:40px!important;min-width:40px!important}
  nav.fixed .logo-nav{height:23px!important;max-width:36vw!important}
  nav.fixed #lang-toggle button{min-width:29px!important;width:29px!important;padding:0!important;font-size:9px!important}
  .text-4xl{font-size:1.85rem!important}
  #que-es-eternal .et-v5-support-grid>div{grid-template-columns:48px minmax(0,1fr)!important;padding:13px!important}
  #que-es-eternal .et-v5-support-grid>div>img{width:48px!important;height:48px!important}
}

/* Wide phones in landscape, iPad mini and iPad portrait. */
@media(min-width:768px) and (max-width:1024px){
  #que-es-eternal,.neo-perspectives,#planes{padding-left:28px!important;padding-right:28px!important}
  #que-es-eternal .et-v5-support-grid{gap:18px!important}
  #que-es-eternal .et-v5-support-grid>div{padding-right:7rem!important}
}

/* Desktop/laptop: retain cinematic scale but prevent ultra-wide lines. */
@media(min-width:1200px){
  #que-es-eternal .et-v5-support-grid>div>p{max-width:52ch}
  .neo-perspective-copy li{max-width:34ch}
}

@media(prefers-reduced-motion:reduce){
  .star,.aurora-layer,.mascot-ring::after,.mascot-float,.mascot-float-alt,.magic-text{animation:none!important}
}

/* Defer below-the-fold paint on the App page in constrained browsers.
   The DOM, content, accessibility tree and interactions are preserved; painting begins as
   the section approaches the viewport, lowering peak memory on Safari/Instagram WebView. */
@supports (content-visibility:auto){
  html.et-constrained-gpu body[data-et-page="app"] main>section:not(#hero-cine):not(:first-child){
    content-visibility:auto;
    contain-intrinsic-size:auto 900px;
  }
}
html.et-resizing *{transition-duration:0s!important}
html.et-page-hidden .star,html.et-page-hidden .aurora-layer{animation-play-state:paused!important}

/* =========================================================
   2026-09-20 · V2 FIX
   Deterministic support cards + mobile cinema performance.
   This block intentionally lives last so it wins over legacy
   Tailwind utilities and the earlier V5 product pass.
   ========================================================= */

/* APP · POR QUÉ EXISTIMOS / HACIA DÓNDE VAMOS */
#que-es-eternal .et-v5-support-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:clamp(18px,2vw,28px)!important;
  align-items:stretch!important;
}
#que-es-eternal .et-v5-support-grid>.et-support-card,
#que-es-eternal .et-v5-support-grid>div{
  position:relative!important;
  display:grid!important;
  grid-template-columns:96px minmax(0,1fr)!important;
  grid-template-rows:auto 1fr!important;
  column-gap:24px!important;
  row-gap:12px!important;
  align-items:start!important;
  min-height:0!important;
  padding:clamp(28px,3vw,42px)!important;
  padding-right:clamp(28px,3vw,42px)!important;
  overflow:hidden!important;
  border-radius:32px!important;
}
#que-es-eternal .et-v5-support-grid>div>img{
  position:static!important;
  inset:auto!important;
  grid-column:1!important;
  grid-row:1 / span 2!important;
  align-self:start!important;
  justify-self:start!important;
  width:96px!important;
  height:96px!important;
  max-width:none!important;
  margin:0!important;
  opacity:1!important;
  transform:none!important;
}
#que-es-eternal .et-v5-support-grid>div>h4{
  grid-column:2!important;
  grid-row:1!important;
  align-self:end!important;
  margin:4px 0 0!important;
  font-size:clamp(.69rem,.75vw,.82rem)!important;
  line-height:1.35!important;
  letter-spacing:.18em!important;
}
#que-es-eternal .et-v5-support-grid>div>p{
  grid-column:2!important;
  grid-row:2!important;
  align-self:start!important;
  margin:0!important;
  max-width:58ch!important;
  font-size:clamp(.98rem,1.22vw,1.18rem)!important;
  line-height:1.65!important;
  text-wrap:pretty;
}

@media(min-width:768px) and (max-width:1100px){
  #que-es-eternal .et-v5-support-grid{
    grid-template-columns:1fr!important;
    gap:18px!important;
  }
  #que-es-eternal .et-v5-support-grid>.et-support-card,
  #que-es-eternal .et-v5-support-grid>div{
    grid-template-columns:86px minmax(0,1fr)!important;
    padding:28px 30px!important;
    column-gap:22px!important;
    border-radius:28px!important;
  }
  #que-es-eternal .et-v5-support-grid>div>img{
    width:86px!important;
    height:86px!important;
  }
  #que-es-eternal .et-v5-support-grid>div>p{
    max-width:68ch!important;
    font-size:1rem!important;
    line-height:1.68!important;
  }
}

@media(max-width:767px){
  #que-es-eternal .et-v5-support-grid{
    grid-template-columns:1fr!important;
    gap:14px!important;
    margin-top:2.25rem!important;
  }
  #que-es-eternal .et-v5-support-grid>.et-support-card,
  #que-es-eternal .et-v5-support-grid>div{
    grid-template-columns:64px minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    padding:18px!important;
    column-gap:14px!important;
    row-gap:14px!important;
    border-radius:24px!important;
  }
  #que-es-eternal .et-v5-support-grid>div>img{
    grid-column:1!important;
    grid-row:1!important;
    width:64px!important;
    height:64px!important;
  }
  #que-es-eternal .et-v5-support-grid>div>h4{
    grid-column:2!important;
    grid-row:1!important;
    align-self:center!important;
    margin:0!important;
    font-size:.68rem!important;
  }
  #que-es-eternal .et-v5-support-grid>div>p{
    grid-column:1 / -1!important;
    grid-row:2!important;
    max-width:none!important;
    font-size:clamp(.92rem,4.2vw,1.02rem)!important;
    line-height:1.64!important;
  }
}
@media(max-width:360px){
  #que-es-eternal .et-v5-support-grid>div{
    grid-template-columns:54px minmax(0,1fr)!important;
    padding:15px!important;
    column-gap:12px!important;
  }
  #que-es-eternal .et-v5-support-grid>div>img{
    width:54px!important;height:54px!important;
  }
  #que-es-eternal .et-v5-support-grid>div>p{
    font-size:.88rem!important;line-height:1.6!important;
  }
}

/* HOME · "La vida no sucede en un solo lugar" */
html.et-constrained-gpu .et-cinema-sticky{
  --et-warp:0!important;
  --et-motion:.22!important;
  --et-flash:0!important;
}
html.et-constrained-gpu .et-cinema-sticky::before,
html.et-constrained-gpu .et-cinema-sticky::after,
html.et-constrained-gpu .et-cinema-space::before,
html.et-constrained-gpu .et-cinema-space::after{
  animation:none!important;
}
html.et-constrained-gpu .et-deep-orbit,
html.et-constrained-gpu .et-mini-system,
html.et-constrained-gpu .et-mini-system canvas,
html.et-constrained-gpu .et-cine-guide::before,
html.et-constrained-gpu .et-cinema-progress i::after{
  animation:none!important;
}
html.et-constrained-gpu .et-cinema-space,
html.et-constrained-gpu .et-cinema-copy,
html.et-constrained-gpu .et-cinema-scene.is-active .et-big-cine-planet,
html.et-constrained-gpu .et-cine-guide{
  will-change:auto!important;
}
html.et-constrained-gpu .et-cinema-space{
  transform:translate3d(0,-50%,0)!important;
}
html.et-constrained-gpu .et-cinema-copy{
  transform:none!important;
}
html.et-constrained-gpu .et-cinema-scene{
  transition:opacity .34s ease,transform .46s cubic-bezier(.16,1,.3,1)!important;
}
html.et-constrained-gpu .et-cinema-scene.is-active .et-big-cine-planet{
  animation:none!important;
  filter:drop-shadow(0 0 24px rgba(76,136,255,.30))!important;
}
html.et-constrained-gpu .et-cinema-scene:not([data-cine-scene="0"]).is-active::before{
  animation:none!important;
  filter:blur(6px)!important;
  opacity:.58!important;
}
html.et-constrained-gpu .et-cine-guide{
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  background:rgba(5,9,24,.94)!important;
  box-shadow:0 16px 42px rgba(0,0,0,.34),0 0 24px color-mix(in srgb,var(--mc) 15%,transparent)!important;
}
html.et-constrained-gpu .et-cinema-progress i{
  box-shadow:0 0 9px rgba(255,255,255,.42)!important;
  transform-origin:left center;
}

html.et-constrained-gpu .et-world-stage::before,
html.et-constrained-gpu .et-world-stage::after,
html.et-constrained-gpu .et-world-ring,
html.et-constrained-gpu .et-world-planet-stack::before,
html.et-constrained-gpu .et-world-planet-stack::after,
html.et-constrained-gpu .et-world-planet-stack canvas.is-active,
html.et-constrained-gpu .et-guide-dock::before{
  animation:none!important;
}
html.et-constrained-gpu .et-world-stage::before{display:none!important}
html.et-constrained-gpu .et-world-stage::after{filter:blur(6px)!important;opacity:.48!important}
html.et-constrained-gpu .et-world-planet-stack canvas{
  will-change:auto!important;
  filter:drop-shadow(0 0 22px color-mix(in srgb,var(--world-accent) 30%,transparent))!important;
  transition:opacity .28s ease,transform .38s cubic-bezier(.16,1,.3,1)!important;
}
html.et-constrained-gpu .et-guide-dock{
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  background:rgba(6,11,28,.95)!important;
}

@media(max-width:820px){
  html.et-constrained-gpu .et-cinema-track{
    height:390vh!important;
    contain:layout style!important;
  }
  html.et-constrained-gpu .et-cinema-sticky{
    transform:none!important;
    contain:layout paint!important;
  }
  html.et-constrained-gpu .et-cinema-space{
    contain:layout paint!important;
  }
}


/* Mobile cinema memory isolation: transparent/opacity-zero scenes still consume GPU
   compositing surfaces in WebKit. Keep just the selected scene paintable. */
@media (max-width:820px){
  html.et-constrained-gpu .et-cinema-scene:not(.is-active){
    display:none!important;
  }
  html.et-constrained-gpu .et-cinema-scene.is-active{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }
  html.et-constrained-gpu .et-cinema-track.et-cinema-offscreen .et-cinema-space{
    visibility:hidden!important;
  }
  html.et-constrained-gpu .et-cinema-scene.is-active::before{
    display:none!important;
  }
  html.et-constrained-gpu .et-mini-system canvas{
    filter:none!important;
  }
  html.et-constrained-gpu .et-cinema-scene.is-active .et-big-cine-planet{
    filter:drop-shadow(0 0 12px rgba(76,136,255,.23))!important;
  }
  /* The product atlas starts immediately after the planet track: avoid allocating a
     900x600 blurred pseudo-element as both sections cross the viewport. */
  html.et-constrained-gpu .v6-product-atlas::before{
    display:none!important;
  }
  html.et-constrained-gpu .v6-product-atlas{
    background:radial-gradient(ellipse 85% 360px at 50% 0,rgba(76,166,255,.07),transparent 75%);
  }
  html.et-constrained-gpu .et-context-labels span,
  html.et-constrained-gpu .et-tax-card{
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
  }
}

/* Mobile cinema v2: the scroll-linked sticky stage is not stable under high-velocity
   scrolling on some mobile browser/OS combinations. Use a finite native-flow scene
   with explicit navigation. No transform, paint containment, or giant scroll track. */
@media(max-width:1024px), (hover:none) and (pointer:coarse){
  html.et-constrained-gpu .et-context-cinema{
    overflow:visible!important;
    background:radial-gradient(ellipse 88% 410px at 75% 55%,rgba(36,53,111,.22),transparent 78%);
  }
  html.et-constrained-gpu .et-cinema-track{
    position:relative!important;
    height:auto!important;
    min-height:0!important;
    contain:none!important;
    transform:none!important;
  }
  html.et-constrained-gpu .et-cinema-sticky{
    position:relative!important;
    top:auto!important;
    height:auto!important;
    min-height:0!important;
    padding:clamp(30px,7vw,52px) 0 30px!important;
    overflow:hidden!important;
    transform:none!important;
    contain:none!important;
    isolation:isolate;
    background:transparent!important;
  }
  html.et-constrained-gpu .et-cinema-sticky::before,
  html.et-constrained-gpu .et-cinema-sticky::after,
  html.et-constrained-gpu .et-cinema-vignette{
    display:none!important;
  }
  html.et-constrained-gpu .et-cinema-copy{
    position:relative!important;
    top:auto!important;
    left:auto!important;
    right:auto!important;
    width:auto!important;
    max-width:610px!important;
    margin:0 auto!important;
    padding:0 20px!important;
    transform:none!important;
    will-change:auto!important;
  }
  html.et-constrained-gpu .et-cinema-copy h2{
    font-size:clamp(2.1rem,9.6vw,3.2rem)!important;
  }
  html.et-constrained-gpu .et-cinema-space{
    position:relative!important;
    top:auto!important;
    left:auto!important;
    right:auto!important;
    width:min(92vw,480px)!important;
    height:auto!important;
    aspect-ratio:1.18!important;
    margin:6px auto 0!important;
    transform:none!important;
    transition:none!important;
    contain:none!important;
    will-change:auto!important;
  }
  html.et-constrained-gpu .et-cinema-space::before,
  html.et-constrained-gpu .et-cinema-space::after{
    display:none!important;
  }
  html.et-constrained-gpu .et-cinema-scene,
  html.et-constrained-gpu .et-cinema-scene.is-active{
    transform:none!important;
    transition:none!important;
    will-change:auto!important;
  }
  html.et-constrained-gpu .et-cinema-scene:not(.is-active){
    display:none!important;
  }
  html.et-constrained-gpu .et-cinema-scene.is-active{
    display:block!important;
  }
  html.et-constrained-gpu .et-cine-guide{
    width:clamp(68px,20vw,100px)!important;
    height:clamp(68px,20vw,100px)!important;
    right:9%!important;
    bottom:12%!important;
    transform:none!important;
  }
  html.et-constrained-gpu .et-context-labels,
  html.et-constrained-gpu .et-scroll-travel{
    display:none!important;
  }
  html.et-constrained-gpu .et-cinema-progress{
    position:relative!important;
    bottom:auto!important;
    left:auto!important;
    width:max-content;
    margin:2px auto 12px!important;
  }
  html.et-constrained-gpu .et-cinema-progress>div{width:140px!important}
  html.et-constrained-gpu .et-cinema-mobile-controls{
    position:relative;
    z-index:15;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:18px;
    padding:0 20px;
    margin:0 auto;
    font-family:inherit;
    color:#fff;
  }
  html.et-constrained-gpu .et-cinema-mobile-controls button{
    display:grid;
    place-items:center;
    width:54px;
    height:54px;
    flex:0 0 54px;
    border:1px solid rgba(216,180,254,.4);
    border-radius:50%;
    background:rgba(39,30,82,.88);
    color:white;
    font-size:32px;
    line-height:1;
    touch-action:manipulation;
    -webkit-tap-highlight-color:transparent;
  }
  html.et-constrained-gpu .et-cinema-mobile-controls button:disabled{
    opacity:.32;
    cursor:default;
  }
  html.et-constrained-gpu .et-cinema-mobile-count{
    min-width:78px;
    font-size:12px;
    font-weight:800;
    letter-spacing:.18em;
    text-align:center;
    font-variant-numeric:tabular-nums;
  }
  /* AOS reveals can create dozens of simultaneous effects after one fling.
     Keep all content legible in native flow without requiring animation frames. */
  html.et-constrained-gpu [data-aos]{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }
}


/* =========================================================
   V3 · SITE-WIDE DEVICE + MEMORY PASS · 2026-09-26
   Shared final stylesheet for desktop, laptops, tablets,
   landscape, all phone widths, Help and Legal.
   Keep meaningful text in the layout; never solve clipping by
   hiding whole content sections or breaking ordinary words.
   ========================================================= */
:root{--et-content-gutter:clamp(14px,3.5vw,40px)}
:where(main,main>section,article,.et-footer-shell,.et-v5-world-journey,.et-v5-world-stage,.et-v5-world-content,.et-v5-world-copy,.v6-wrap,.v6-mx-copy,.et-v5-story-copy){min-inline-size:0;max-inline-size:100%}
:where(main h1,main h2,main h3,.et-global-footer h3,.hc-hero h1,.lc-hero h1){
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
  text-wrap:balance;
  max-inline-size:100%;
}
:where(main p,main li,main small,main a,main strong,main label,.et-global-footer a){
  overflow-wrap:break-word;
}
:where(main .grid,main .flex,main [class*="grid-cols-"],.et-footer-grid) > *{min-width:0}
:where(main img,main video,main svg){max-inline-size:100%;height:auto}
:where(main input,main textarea,main select){min-width:0;max-width:100%}
:where(.et-v5-world-tags,.v6-mx-proof,.v6-atlas-controls,.et-v5-method-chips,.et-result-pills,.et-satellites-intro){max-width:100%;min-width:0}
:where(.et-v5-world-tags span,.v6-mx-proof span,.et-v5-method-chips span,.et-result-pills span,.et-satellites-intro span){
  max-width:100%;white-space:normal;overflow-wrap:break-word;
}
/* Wide content tables keep every column rather than cutting the last columns. */
:where(.policy-section,.legal-section,.lc-content,.hc-content) table{
  display:block;max-inline-size:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;
}
:where(.policy-section,.legal-section,.lc-content,.hc-content) td,
:where(.policy-section,.legal-section,.lc-content,.hc-content) th{overflow-wrap:break-word}

/* Desktop and laptop typography: the wide display styles need the width of the
   actual text column, not of the monitor. */
@media(min-width:1025px) and (max-width:1535px){
  .v6-mx-shell{grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr)!important;gap:clamp(20px,2.5vw,38px)!important}
  .v6-mx-title{font-size:clamp(3.35rem,5.15vw,5.35rem)!important;letter-spacing:-.055em!important}
  .v6-mx-title .v6-mx-neuro{font-size:.78em!important;letter-spacing:-.055em!important}
  .et-v5-story-copy{width:min(45vw,600px)!important}
  .et-v5-story-copy h2{font-size:clamp(2.7rem,4vw,4.55rem)!important;line-height:1.02!important;letter-spacing:-.045em!important}
  .et-v5-world-copy h3{font-size:clamp(2.8rem,4.8vw,5.35rem)!important;line-height:1.02!important;letter-spacing:-.047em!important}
  .et-v5-world-content{grid-template-columns:minmax(0,1.16fr) minmax(220px,.58fr)!important;gap:clamp(18px,3vw,42px)!important}
  .et-v5-world-guide{width:min(270px,23vw)!important}
  body[data-et-page="app"] .et-v5-world-guide{width:min(220px,19vw)!important;right:auto!important;top:auto!important}
  body[data-et-page="app"] .et-v6-world-device{right:5%!important;width:clamp(130px,14vw,190px)!important}
}
@media(min-width:1025px) and (max-width:1199px){
  .et-v5-world-content{left:28px!important;right:28px!important}
  .et-v5-world-copy h3{font-size:clamp(2.5rem,4.4vw,3.5rem)!important}
}
@media(min-width:1536px){
  .v6-mx-title{font-size:clamp(5.2rem,6.2vw,7.4rem)!important}
  .v6-mx-title .v6-mx-neuro{font-size:.85em!important}
  .et-v5-world-copy h3{font-size:clamp(3.5rem,5vw,5.7rem)!important}
}

/* Hero title and copy share their real available inline size. A long uppercase
   name must shrink, not turn into GALAXI / A or disappear outside a mask. */
@media(max-width:1120px){
  .v6-mx-shell{grid-template-columns:minmax(0,1fr)!important}
  .v6-mx-copy{min-width:0;max-width:100%!important}
  .v6-mx-title{max-width:100%!important}
  .v6-mx-title .v6-mx-neuro{white-space:nowrap}
  body.et-v5-inner main>section:first-child .max-w-7xl{min-width:0;max-width:100%}
}
@media(min-width:701px) and (max-width:1120px){
  .v6-mx-title{font-size:clamp(3.25rem,7.4vw,5.8rem)!important}
  .v6-mx-title .v6-mx-neuro{font-size:.78em!important}
  .et-v5-world-copy h3{font-size:clamp(2.55rem,5.4vw,3.8rem)!important;line-height:1.04!important}
}

/* The inner pages previously had a second 430vh sticky cinematic scene on mobile.
   JS now generates all three chapters in natural flow. */
.et-v5-story-static{
  display:block!important;
  width:100%;max-width:100%;
  padding:clamp(50px,7vw,90px) var(--et-content-gutter);
  background:linear-gradient(180deg,#060714,#080b1b 58%,#05050b);
}
.et-v5-story-static-wrap{width:min(1140px,100%);margin:0 auto;display:grid;gap:clamp(14px,2vw,24px)}
.et-v5-story-beat{
  min-width:0;display:grid;grid-template-columns:minmax(0,1.28fr) minmax(180px,.58fr);
  align-items:center;gap:clamp(18px,4vw,48px);overflow:hidden;
  border:1px solid rgba(216,180,254,.14);border-radius:clamp(24px,3vw,36px);
  padding:clamp(22px,4vw,42px);background:linear-gradient(145deg,rgba(75,54,146,.20),rgba(9,14,39,.72) 60%,rgba(30,66,111,.12));
}
.et-v5-story-beat-copy{min-width:0;position:relative;z-index:2}
.et-v5-story-beat-kicker{display:block;color:#d8b4fe;font-size:clamp(.57rem,.9vw,.7rem);line-height:1.5;letter-spacing:.12em;font-weight:900;text-transform:uppercase}
.et-v5-story-beat h2{font-size:clamp(1.95rem,4.2vw,3.6rem);line-height:1.05;letter-spacing:-.04em;margin:.8rem 0 1rem;text-transform:uppercase;font-weight:900}
.et-v5-story-beat p{max-width:61ch;color:#c8cde2;font-size:clamp(.88rem,1.2vw,1rem);line-height:1.68;margin:0 0 1.1rem}
.et-v5-story-beat strong{display:inline-block;color:#eef0ff;font-size:.67rem;line-height:1.5;letter-spacing:.1em}
.et-v5-story-beat-art{position:relative;min-height:210px;display:grid;place-items:center}
.et-v5-story-beat-planet{position:absolute;width:min(90%,240px);aspect-ratio:1;border-radius:50%;background:var(--v5-planet,radial-gradient(circle at 30% 25%,#7ca9ee,#3f3a9e 55%,#0e1437));box-shadow:inset -30px -38px 42px rgba(1,3,16,.42),0 0 55px rgba(113,103,230,.12)}
.et-v5-story-beat-art img{position:relative;z-index:1;width:min(62%,150px);height:auto;aspect-ratio:1;object-fit:contain;filter:none!important}
@media(max-width:760px){
  .et-v5-story-static{padding:44px var(--et-content-gutter)}
  .et-v5-story-beat{grid-template-columns:minmax(0,1fr);padding:22px 20px 16px;gap:8px}
  .et-v5-story-beat h2{font-size:clamp(1.9rem,8vw,2.9rem)!important}
  .et-v5-story-beat-art{min-height:165px;max-height:185px;order:2}
  .et-v5-story-beat-planet{width:150px}
  .et-v5-story-beat-art img{width:105px}
}

/* World/App world explorer: text, art and all five controls stay in the same
   intrinsic-height card. Never place the copy at a fixed top while clipping it. */
@media(max-width:1100px){
  .et-v5-world-journey{padding-left:0!important;padding-right:0!important;overflow:clip!important}
  .et-v5-world-head{width:min(900px,calc(100% - 2*var(--et-content-gutter)))!important}
  .et-v5-world-head h2{font-size:clamp(2.1rem,5.4vw,3.9rem)!important;line-height:1.04!important}
  .et-v5-world-stage{
    display:flex!important;flex-direction:column!important;justify-content:flex-start!important;
    width:min(940px,calc(100% - 2*var(--et-content-gutter)))!important;
    min-height:0!important;height:auto!important;overflow:hidden!important;
  }
  .et-v5-world-content{
    position:relative!important;z-index:6!important;
    inset:auto!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
    display:grid!important;grid-template-columns:minmax(0,1fr) minmax(145px,.36fr)!important;
    width:100%!important;min-width:0!important;min-height:0!important;
    gap:18px!important;padding:clamp(23px,5vw,44px)!important;padding-bottom:16px!important;
  }
  .et-v5-world-copy{max-width:100%!important;min-width:0!important}
  .et-v5-world-copy h3{max-width:100%!important;letter-spacing:-.042em!important;line-height:1.04!important}
  .et-v5-world-copy p{max-width:60ch!important;line-height:1.62!important}
  .et-v5-world-guide,body[data-et-page="app"] .et-v5-world-guide{
    position:relative!important;inset:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
    justify-self:center!important;align-self:center!important;
    width:clamp(140px,22vw,215px)!important;max-width:100%!important;opacity:1!important;
  }
  .et-v5-world-controls{
    position:relative!important;z-index:8!important;inset:auto!important;
    left:auto!important;right:auto!important;bottom:auto!important;
    display:flex!important;flex-wrap:nowrap!important;gap:8px!important;
    width:calc(100% - 28px)!important;margin:0 14px 17px!important;
    padding:8px!important;overflow-x:auto!important;overflow-y:hidden!important;
    scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;
    -webkit-backdrop-filter:none!important;backdrop-filter:none!important;
  }
  .et-v5-world-tab{flex:0 0 clamp(118px,18vw,150px)!important;scroll-snap-align:start;min-height:58px!important}
  .et-v5-world-progress{position:relative!important;inset:auto!important;bottom:auto!important}
  .et-v5-world-env:not(.is-active){display:none!important}
  html.et-constrained-gpu .et-v5-world-env *,
  html.et-constrained-gpu .et-v5-world-guide::before,
  html.et-constrained-gpu .et-v5-world-guide::after{animation:none!important}
  html.et-constrained-gpu .et-v5-world-env{transform:none!important;transition:none!important}
  html.et-constrained-gpu .et-v5-world-copy .planet,
  html.et-constrained-gpu .et-v5-world-tags span{
    -webkit-backdrop-filter:none!important;backdrop-filter:none!important;
  }
  body[data-et-page="app"] .et-v6-world-device{
    position:relative!important;inset:auto!important;right:auto!important;top:auto!important;
    width:min(190px,33%)!important;transform:none!important;margin:20px auto 0!important;
    z-index:7!important;filter:none!important;pointer-events:none;
  }
}
@media(max-width:700px){
  .et-v5-world-stage{width:calc(100% - 20px)!important;border-radius:24px!important}
  .et-v5-world-content{
    grid-template-columns:minmax(0,1fr)!important;gap:12px!important;
    padding:22px 20px 14px!important;
  }
  .et-v5-world-copy h3{font-size:clamp(1.95rem,8.2vw,3.2rem)!important}
  .et-v5-world-copy .planet{font-size:.53rem!important;line-height:1.4!important;letter-spacing:.07em!important;white-space:normal!important}
  .et-v5-world-tags{max-width:100%!important}
  .et-v5-world-tags span{font-size:.53rem!important;line-height:1.45}
  .et-v5-world-guide,body[data-et-page="app"] .et-v5-world-guide{
    position:relative!important;justify-self:center!important;top:auto!important;right:auto!important;
    bottom:auto!important;width:140px!important;max-width:58vw!important;
  }
  .et-v5-world-guide b{bottom:0!important;max-width:100%;font-size:.48rem!important;white-space:normal;text-align:center;line-height:1.35}
  body[data-et-page="app"] .et-v6-world-device{
    width:min(158px,52vw)!important;margin:5px auto 2px!important;
  }
  .et-v5-world-controls{margin:6px 10px 14px!important;width:calc(100% - 20px)!important}
  .et-v5-world-tab{flex-basis:122px!important}
  .et-v5-world-env{opacity:.35!important}
  .et-v5-world-env.is-active{opacity:.5!important}
  .et-v5-world-head h2{font-size:clamp(2rem,8.7vw,3.2rem)!important}
  .et-v5-world-copy p{text-shadow:0 1px 3px rgba(0,0,0,.7)}
}

/* The home planet picker also had clipped edge labels/characters on laptops.
   The stage and text must define their own height before decoration is placed. */
@media(max-width:1100px){
  .et-worlds-wrap{width:min(100%,900px)!important;max-width:calc(100% - 2*var(--et-content-gutter))!important}
  .et-world-head h2{font-size:clamp(2.2rem,5vw,3.6rem)!important}
  .et-world-stage{grid-template-columns:minmax(0,1fr)!important;height:auto!important;overflow:hidden!important}
  .et-world-copy{min-width:0!important;width:100%!important}
  .et-world-copy h3{font-size:clamp(2rem,5.5vw,3.7rem)!important;line-height:1.06!important}
  .et-world-visual{width:100%!important;max-width:100%!important;overflow:hidden!important}
  .et-world-planet-stack{max-width:min(78vw,320px)!important}
  .et-world-tabs{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .et-guide-dock{right:auto!important;left:9%!important;max-width:26vw}
  .et-world-footer{max-width:100%}
}
@media(min-width:701px) and (max-width:1100px){
  .et-world-stage{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
  .et-world-copy{padding:36px 22px 36px 32px!important}
  .et-world-visual{min-height:390px!important;height:auto!important}
  .et-world-planet-stack{width:min(31vw,275px)!important}
  .et-guide-dock{width:78px!important;height:78px!important;left:5%!important;bottom:8%!important}
}
@media(max-width:430px){
  .et-world-copy{padding:22px 16px 8px!important}
  .et-world-copy h3{font-size:clamp(1.9rem,9vw,2.7rem)!important}
  .et-world-visual{min-height:310px!important;height:310px!important}
}

/* The hero, cards, route builder and global footer have to remain readable when
   zoom is 200%, in a Fold cover window, or at 768–1100px laptop/tablet widths. */
@media(max-width:1100px){
  .v6-mx-shell{max-width:calc(100% - 2*var(--et-content-gutter))!important}
  .et-route-section,.et-taxonomy-section,.et-worlds-section{padding-inline:var(--et-content-gutter)!important}
  .et-persona-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .et-persona{grid-column:auto!important}
  .et-tax-grid{grid-template-columns:minmax(0,1fr)!important}
  .v6-atlas-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .v6-product-card,.v6-product-card.v6-wide{grid-column:auto!important;min-width:0}
  .et-footer-main{min-width:0}
}
@media(max-width:700px){
  :root{--et-content-gutter:clamp(12px,4vw,20px)}
  .v6-mx-title{font-size:clamp(2.45rem,12.7vw,4.5rem)!important;letter-spacing:-.058em!important;line-height:.98!important}
  .v6-mx-title .v6-mx-neuro{font-size:.74em!important;letter-spacing:-.05em!important;white-space:nowrap}
  .v6-mx-kicker{white-space:normal;line-height:1.4}
  .v6-mx-actions a{white-space:normal;text-align:center;flex:1 1 145px}
  .v6-mx-visual{max-width:100%!important;overflow:hidden!important}
  #hero-rig.v6-mx-rig{max-width:100%!important;transform:none!important}
  .v6-mx-caption{max-width:70%;right:5%!important}
  .et-persona-grid{grid-template-columns:minmax(0,1fr)!important}
  .et-route-builder{max-width:100%!important}
  .et-route-question,.et-route-result{padding:23px 20px!important}
  .et-route-question h3,.et-route-result h3{font-size:clamp(1.8rem,8vw,2.8rem)!important}
  .v6-atlas-grid{grid-template-columns:minmax(0,1fr)!important}
  .v6-product-card,.v6-product-card.v6-wide{grid-column:1/-1!important}
  .v6-product-card h3,.et-tax-card h3{font-size:clamp(1.7rem,7.6vw,2.7rem)!important;line-height:1.12!important}
  .v6-product-type{display:flex;flex-wrap:wrap!important;gap:8px}
  .v6-product-type span,.v6-product-type b{max-width:100%!important;overflow-wrap:break-word!important}
  .et-tax-list a{flex-wrap:wrap;gap:8px;white-space:normal}
  .et-tax-list a b{max-width:100%!important;white-space:normal;text-align:left!important}
  .et-footer-main{grid-template-columns:minmax(0,1fr)!important;gap:28px!important}
  .et-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px 15px!important}
  .et-footer-bottom{flex-direction:column!important;align-items:flex-start!important;gap:14px!important}
  .et-footer-bottom>span{white-space:normal!important}
  .et-footer-legal{justify-content:flex-start!important}
}
@media(max-width:359px){
  .v6-mx-title{font-size:clamp(2rem,12vw,2.6rem)!important}
  .v6-mx-title .v6-mx-neuro{font-size:.72em!important}
  .et-footer-grid{grid-template-columns:minmax(0,1fr)!important}
  .et-v5-world-copy h3{font-size:clamp(1.7rem,7.8vw,2.2rem)!important}
  .et-v5-world-copy .planet{font-size:.49rem!important}
  .et-v5-story-beat{padding:17px 14px}
  .et-v5-story-beat h2{font-size:clamp(1.75rem,7.8vw,2.2rem)!important}
}

/* Mobile/compressed browsers: budget GPU surfaces across ALL pages, not only
   the home planet track. Preserve actual imagery while stopping perpetual
   decorative animation and blur on giant pseudo-elements. */
html.et-constrained-gpu :is(.et-v5-hero-scene,.v6-mx-rig,.neo-constellation,.v6-horizon-story,.et-v5-world-stage){
  will-change:auto!important;
}
html.et-constrained-gpu :is(.et-v5-orbit,.et-v5-planet,.et-v5-guide,
.et-v5-world-env i,.v6-mx-ship,.v6-mx-planet,.v6-mx-title .v6-mx-neuro,
.v6-horizon-story img,.neo-hero-aurora,.neo-finale-logo-fallback),
html.et-constrained-gpu .et-v5-guide::before,
html.et-constrained-gpu .et-v5-world-guide::before,
html.et-constrained-gpu .et-v5-world-guide::after,
html.et-constrained-gpu .neo-hero-starfield::after{
  animation:none!important;will-change:auto!important;
}
html.et-constrained-gpu .neo-hero-aurora,
html.et-constrained-gpu :is(.v6-mx-hero,.neo-adapt,.et-v5-hero-scene,.et-global-footer,.neo-finale)::before,
html.et-constrained-gpu .v6-mx-hero::after,
html.et-constrained-gpu .neo-adapt::after{
  filter:none!important;animation:none!important;
}
html.et-constrained-gpu :is(.et-v5-world-controls,.et-v5-guide,.v6-mx-caption,.v6-mx-actions .secondary,
.et-v5-world-tags span,.et-global-footer){
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important;
}
html.et-constrained-gpu :is(.et-v5-hero-scene,.et-v5-world-stage,.et-v5-story-static,
.v6-product-atlas,.et-global-footer){transform:none!important}
html.et-constrained-gpu .et-v5-reveal{opacity:1!important;transform:none!important;transition:none!important}
html.et-constrained-gpu .et-v5-card-hover{will-change:auto!important}
html.et-constrained-gpu .et-v5-progress{display:none!important}
html.et-constrained-gpu .et-v5-story-static .et-v5-story-track{display:none!important}
html.et-page-hidden :is(.v6-mx-planet,.v6-mx-ship,.et-v5-planet,.neo-finale-copy)::before{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){
  .et-v5-story-beat-art img,.et-v5-story-beat-planet{animation:none!important;transition:none!important}
}


/* Targeted editorial type safeguards at unusual window sizes and browser zoom. */
@media(max-width:1100px){
  body.et-v5-inner .et-v5-hero h1{font-size:clamp(2.1rem,6.2vw,4.8rem)!important;line-height:1.08!important;letter-spacing:-.05em!important}
  .neo-section-intro h2,.et-section-header h2,.v6-head h2{max-width:100%!important;line-height:1.08!important}
}
@media(max-width:700px){
  body.et-v5-inner .et-v5-hero h1{font-size:clamp(1.85rem,8.1vw,3.1rem)!important;line-height:1.12!important}
  .neo-section-intro h2,.et-section-header h2,.v6-head h2,.v6-device-copy h2,.v6-parent-copy h3,.v6-horizon-copy h2{
    font-size:clamp(1.9rem,8.3vw,3.05rem)!important;
    line-height:1.08!important;
    letter-spacing:-.04em!important;
  }
  .et-v5-hero-scene{width:100vw!important;right:-27vw!important;opacity:.32!important;filter:none!important}
  .et-v5-hero .max-w-7xl,.et-v5-hero .max-w-6xl{max-width:100%!important;min-width:0!important}
  .neo-section-intro,.et-v5-world-head,.v6-head{max-width:100%!important}
}
@media(max-width:359px){
  body.et-v5-inner .et-v5-hero h1{font-size:clamp(1.75rem,7.8vw,2.1rem)!important}
  .neo-section-intro h2,.et-section-header h2,.v6-head h2{font-size:clamp(1.75rem,7.8vw,2.2rem)!important}
}
@media(min-width:1101px){
  /* Planet labels live inside the visual, not outside the viewport edge. */
  .et-cinema-space{right:clamp(8px,2vw,32px)!important;width:min(62vw,900px)!important}
  .et-context-labels span{max-width:min(150px,18vw)!important;white-space:normal!important;overflow-wrap:break-word!important;line-height:1.35!important}
  .et-context-labels span:nth-child(4){right:9%!important}
}
@media(max-height:560px) and (orientation:landscape){
  .v6-mx-hero,.et-v5-hero{min-height:0!important;padding-top:90px!important;padding-bottom:30px!important}
  .v6-mx-visual{min-height:300px!important}
  .et-v5-world-stage{height:auto!important}
  .et-v5-story-static{padding-block:28px!important}
}


/* V4 · Browser-audited clipping fixes. Decorative scenes remain cinematic but
   cannot expand the document scroll area or mask meaningful headings. */
body.et-v5-inner .et-v5-hero{
  overflow:clip!important;
}
.hc-hero{
  overflow:clip!important;
}
:where(.et-price-wrap,.et-price-heading,.et-price-note,.hc-hero-grid,.hc-hero-grid>*,
.hc-wrap,.hc-wide,.et-v5-method-shell,.et-v5-method-head,.v6-device-stage,.v6-device-copy){
  min-inline-size:0;
  max-inline-size:100%;
}
@media(prefers-reduced-motion:reduce){
  /* AOS was disabled in JS but its vendor CSS still left fade-right content at
     opacity:0 and translateX(-100px). A disabled reveal must not hide content. */
  [data-aos]{opacity:1!important;transform:none!important;transition:none!important}
}
html.et-reduced-motion [data-aos]{
  opacity:1!important;transform:none!important;transition:none!important;
}
@media(max-width:700px){
  .hc-hero h1{
    font-size:clamp(1.85rem,7.9vw,2.9rem)!important;
    line-height:1.1!important;letter-spacing:-.045em!important;
  }
  .hc-hero-grid{grid-template-columns:minmax(0,1fr)!important;gap:20px!important}
  .hc-companions{max-width:100%!important;min-width:0}
  .hc-search-shell,.hc-search,.hc-topic,.hc-advanced,.hc-advanced summary>span{min-width:0;max-width:100%}
  .et-price-note h2{
    font-size:clamp(1.65rem,7vw,2.8rem)!important;
    letter-spacing:-.055em!important;line-height:1.12!important;
  }
  .et-price-wrap{padding-inline:clamp(15px,5vw,24px)!important}
  .et-price-catalog,.et-price-switch,.et-price-grid,.et-catalog-grid{min-width:0;max-width:100%}
  .et-price-note .btn{max-width:100%;white-space:normal;text-align:center}
  .v6-device-stage{grid-template-columns:minmax(0,1fr)!important;overflow:clip!important}
  .v6-device-copy{min-width:0!important;padding-inline:0!important}
  .v6-device-copy h2{
    font-size:clamp(1.75rem,7.3vw,2.85rem)!important;
    line-height:1.1!important;letter-spacing:-.05em!important;
  }
  .et-v5-method-head{min-width:0!important;max-width:100%!important}
  .et-v5-method-head h2{
    font-size:clamp(1.85rem,7.5vw,3rem)!important;
    line-height:1.1!important;letter-spacing:-.045em!important;
  }
  .et-v5-world-copy h3,.et-world-copy h3{
    text-wrap:balance!important;
  }
}
@media(max-width:359px){
  .neo-journey .neo-section-intro h2,
  .neo-toolkit .neo-section-intro h2{
    font-size:clamp(1.55rem,7.8vw,2rem)!important;
    line-height:1.12!important;letter-spacing:-.05em!important;
  }
  .et-world-copy{padding-inline:11px!important}
  .et-world-copy h3{
    font-size:clamp(1.4rem,7vw,1.8rem)!important;
    letter-spacing:-.055em!important;
  }
  .et-v5-method-head h2{font-size:clamp(1.6rem,7vw,2rem)!important}
  .v6-device-copy h2{font-size:clamp(1.55rem,7vw,1.9rem)!important}
  .hc-hero h1{font-size:clamp(1.65rem,7.5vw,2.05rem)!important}
}
@media(min-width:1101px){
  .neo-perspective-copy h3{
    font-size:clamp(1.65rem,2.65vw,2.8rem)!important;
    line-height:1.06!important;
  }
}


/* V5 · Remaining real-word overflows in 280–320px browser audit. */
@media(max-width:700px){
  .hc-section-head h2{
    font-size:clamp(1.5rem,7.6vw,2.4rem)!important;
    line-height:1.12!important;letter-spacing:-.045em!important;
  }
  .et-price-hero h1{
    font-size:clamp(1.85rem,10vw,2.45rem)!important;
    line-height:1.1!important;letter-spacing:-.045em!important;
  }
  .et-price-hero .et-price-wrap{max-width:100%!important;min-width:0!important}
}
@media(max-width:359px){
  .neo-journey .neo-scene-copy h3{
    font-size:clamp(1.55rem,7.4vw,1.9rem)!important;
    line-height:1.08!important;
  }
  body[data-et-page="talk"] main h2{
    font-size:clamp(1.48rem,7.7vw,1.9rem)!important;
    line-height:1.12!important;
  }
  body[data-et-page="home"] main h2{
    font-size:clamp(1.48rem,7.5vw,1.9rem)!important;
    line-height:1.12!important;
  }
  body.growth main,body[data-et-page="familybenefit"] main{
    overflow-x:clip!important;
  }
}

/* V5 · Fit display type to the ACTUAL 280–359px text column. Do not split
   Spanish words or hide their ends behind overflow clipping. */
@media(max-width:359px){
  .neo-journey .neo-scene-copy h3{
    font-size:clamp(1.55rem,7vw,1.85rem)!important;
    line-height:1.08!important;letter-spacing:-.055em!important;
  }
  .et-price-hero h1{
    font-size:clamp(1.6rem,8.5vw,2.15rem)!important;
    line-height:1.13!important;letter-spacing:-.055em!important;
  }
  .et-price-note h2{
    font-size:clamp(1.35rem,6.9vw,1.8rem)!important;
    line-height:1.17!important;letter-spacing:-.055em!important;
  }
  body[data-et-page="home"] #confianza h2{
    font-size:clamp(1.5rem,7.5vw,2rem)!important;
    line-height:1.14!important;letter-spacing:-.04em!important;
  }
  .hc-section-head h2{
    font-size:clamp(1.38rem,7.2vw,1.9rem)!important;
    line-height:1.16!important;letter-spacing:-.045em!important;
  }
  body.et-v5-inner .glass h2{
    font-size:clamp(1.38rem,7.3vw,1.95rem)!important;
    line-height:1.16!important;letter-spacing:-.045em!important;
  }
}
/* Headings retain a whole-word line wrap instead of using aggressive any-word
   breaking, including when translation or 200% zoom narrows the column. */
:where(.neo-scene-copy h3,.et-price-hero h1,.et-price-note h2,.hc-section-head h2){
  word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important;
}
/* Bound only decorative scroll expansion; individual tabs remain swipeable. */
.eternal-product-switcher{max-inline-size:100%;overflow-x:clip}
.eternal-product-switcher .eps-inner{box-sizing:border-box;width:100%;max-inline-size:100%;min-inline-size:0}
.eternal-product-switcher .eps-list{max-inline-size:100%;min-inline-size:0}
body.et-help-page .hc-hero,body.et-help-page .hc-section{max-inline-size:100%;overflow-x:clip}
body.growth .growth-wrap{max-inline-size:100%;overflow-x:clip}

/* Contact is intentionally a separate editorial template. At 280px its 40px
   base display font was wider than the 240px content column. */
@media(max-width:359px){
  body.growth .growth h1,body.growth h1{
    font-size:clamp(1.5rem,8.8vw,2rem)!important;
    line-height:1.12!important;letter-spacing:-.05em!important;
    max-inline-size:100%!important;word-break:normal!important;
  }
  body.growth .growth-wrap{padding-inline:clamp(12px,5vw,18px)!important}
}
