/*
  BECAUSE — HORIZONTAL CAPTION MASTER
  One Archivo title line, one IBM Plex supporting thought, one shared left edge.
  The fixed floor reserves a complete two-line 18pt thought on every slide.
*/
#p2 .vision-aeropod-title{
  position:absolute;
  z-index:3;
  left:clamp(22px,3vw,32px);
  right:clamp(22px,3vw,32px);
  bottom:84px;
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  column-gap:16px;
  row-gap:4px;
  width:auto;
  max-width:calc(100% - 44px);
  color:#fff;
  font-family:'Archivo Black',sans-serif;
  font-size:clamp(24px,4.8vw,40px);
  font-weight:400;
  line-height:1;
  text-align:left;
  text-align-last:left;
  white-space:normal;
  text-shadow:
    0 2px 3px rgba(0,0,0,.88),
    0 0 18px rgba(0,0,0,.42);
  pointer-events:none;
  opacity:0;
  transform:translate3d(-48px,12px,0);
  filter:blur(4px);
}

#p2 .vision-aeropod-latin{
  flex:0 0 auto;
}

#p2 .vision-aeropod-title-single{
  display:block;
  white-space:nowrap;
}

#p2 .vision-aeropod-times-square-title{
  display:block;
  white-space:nowrap;
}

#p2 .vision-aeropod-mav-expansion{
  font-family:'IBM Plex Sans',sans-serif;
  font-size:clamp(18px,3.25vw,22pt);
  font-weight:700;
  line-height:1;
  letter-spacing:.01em;
  white-space:nowrap;
}

#p2 .vision-aeropod-slide[data-panel-id="vision-aeropod-air-02"] .vision-aeropod-times-square-departure{
  font-size:clamp(22px,3.8vw,26pt);
  font-weight:700;
}

#p2 .vision-aeropod-translation{
  color:#fff;
  font-family:'IBM Plex Sans',sans-serif;
  font-size:clamp(16px,2.8vw,18pt);
  font-weight:700;
  line-height:1;
  letter-spacing:.01em;
}

#p2 .vision-aeropod-kicker-line{
  position:absolute;
  z-index:3;
  left:clamp(22px,3vw,32px);
  right:clamp(22px,3vw,32px);
  bottom:calc(84px + clamp(24px,4.8vw,40px) + 10px);
  display:block;
  width:auto;
  max-width:calc(100% - 44px);
  color:#fff;
  font-family:'IBM Plex Sans',sans-serif;
  font-size:clamp(18px,3.25vw,22pt);
  font-weight:700;
  line-height:1.15;
  text-align:left;
  text-align-last:left;
  white-space:normal;
  background:none;
  -webkit-text-fill-color:currentColor;
  text-shadow:
    0 1px 2px rgba(0,0,0,.9),
    0 0 14px rgba(0,0,0,.34);
  pointer-events:none;
  opacity:0;
  transform:translate3d(-20px,4px,0);
  filter:blur(2px);
}

#p2 .vision-aeropod-slide:not(.is-hidden) .vision-aeropod-kicker-line{
  animation:testudoConventionArrival 1300ms cubic-bezier(.16,.78,.22,1) 40ms both;
}

#p2 .vision-aeropod-slide:not(.is-hidden) .vision-aeropod-title{
  animation:testudoVolatArrival 1800ms cubic-bezier(.16,.78,.22,1) 180ms both;
}

/* Keep the long Testudo line in one clean pass on the scaled phone views. */
#p2 .vision-aeropod-slide[data-panel-id="vision-aeropod-air-06"] .vision-aeropod-title-single{
  filter:none;
}
#p2 .vision-aeropod-slide[data-panel-id="vision-aeropod-air-06"]:not(.is-hidden) .vision-aeropod-title-single{
  animation:testudoVolatArrivalSteady 1350ms cubic-bezier(.16,.78,.22,1) 180ms both;
}

#p2 .vision-aeropod-tagline{
  position:absolute;
  z-index:3;
  left:clamp(22px,3vw,32px);
  right:clamp(22px,3vw,32px);
  top:calc(100% - 76px);
  display:block;
  width:auto;
  max-width:calc(100% - 44px);
  color:#fff;
  font-family:'IBM Plex Sans',sans-serif;
  font-size:clamp(16px,2.8vw,18pt);
  font-weight:400;
  line-height:1.18;
  text-align:left;
  text-align-last:left;
  white-space:normal;
  text-shadow:
    0 1px 2px rgba(0,0,0,.88),
    0 0 14px rgba(0,0,0,.38);
  pointer-events:none;
  opacity:0;
  transform:translate3d(-28px,6px,0);
  filter:blur(2px);
}

#p2 .vision-aeropod-slide[data-panel-id="vision-aeropod-air-06"] .vision-aeropod-tagline{
  font-size:clamp(18px,3.25vw,22pt);
}

/* Air Turtle's declaration rests below the complete identification lockup,
   aligned to the established left edge. */
#p2 .vision-aeropod-slide[data-panel-id="vision-aeropod-air-01"] .vision-aeropod-kicker-line{
  top:auto;
  bottom:calc(84px - 10px - 1.15em);
  font-size:clamp(21px,3.7vw,25pt);
  text-align:left;
  text-align-last:left;
}

#p2 .vision-aeropod-slide[data-panel-id="vision-aeropod-air-01"] .vision-aeropod-ufo-lockup{
  bottom:84px;
  flex-wrap:nowrap;
  column-gap:20px;
  max-width:calc(100% - 64px);
  font-size:clamp(34px,5.5vw,48px);
}

#p2 .vision-aeropod-ufo-expansion{
  flex:0 0 auto;
  color:#fff;
  font-family:'IBM Plex Sans',sans-serif;
  font-size:clamp(18px,3.25vw,22pt);
  font-weight:700;
  line-height:1;
  letter-spacing:.015em;
  white-space:nowrap;
}

#p2 .vision-aeropod-flight-word{
  font-weight:700;
  font-style:italic;
}

#p2 .vision-aeropod-slide:not(.is-hidden) .vision-aeropod-tagline{
  animation:testudoConventionArrival 1500ms cubic-bezier(.16,.78,.22,1) 520ms both;
}

@keyframes testudoVolatArrival{
  0%{
    opacity:0;
    transform:translate3d(-48px,12px,0);
    filter:blur(4px);
  }
  72%{
    opacity:1;
    transform:translate3d(3px,-3px,0);
    filter:blur(0);
  }
  100%{
    opacity:1;
    transform:translate3d(0,0,0);
    filter:blur(0);
  }
}

@keyframes testudoVolatArrivalSteady{
  from{
    opacity:0;
    transform:translate3d(-16px,0,0);
  }
  to{
    opacity:1;
    transform:translate3d(0,0,0);
  }
}

@keyframes testudoConventionArrival{
  from{
    opacity:0;
    transform:translate3d(-28px,6px,0);
    filter:blur(2px);
  }
  to{
    opacity:1;
    transform:translate3d(0,0,0);
    filter:blur(0);
  }
}

@media (prefers-reduced-motion:reduce){
  #p2 .vision-aeropod-slide:not(.is-hidden) :is(
    .vision-aeropod-kicker-line,
    .vision-aeropod-title,
    .vision-aeropod-tagline
  ){
    animation:none;
    opacity:1;
    transform:none;
    filter:none;
  }
}

@media (min-width:901px){
  body:not(.verticale-edition) #p2{
    --because-caption-left:32px;
    --because-title-size:40px;
    --because-title-bottom:84px;
    --because-support-size:18pt;
    --because-support-top:calc(100% - 76px);
    --because-exception-support-size:22pt;
    --because-phrase-kicker-size:22pt;
    --because-phrase-kicker-gap:10px;
    --because-emotion-red:#933421;
  }

  body:not(.verticale-edition) #p2 :is(
    .vision-sea-origin-title,
    .vision-whale-story-title,
    .vision-whale-title,
    .vision-whale-attenborough-title,
    .vision-bonneville-wide-title,
    .vision-horse-wide-question,
    .vision-air-origin-title,
    .vision-aeropod-title
  ){
    left:var(--because-caption-left);
    right:var(--because-caption-left);
    bottom:var(--because-title-bottom);
    width:auto;
    max-width:calc(100% - (var(--because-caption-left) * 2));
    font-family:'Archivo Black',sans-serif;
    font-size:var(--because-title-size);
    font-weight:400;
    line-height:1;
    text-align:left;
    text-align-last:left;
  }

  body:not(.verticale-edition) #p2 .vision-sea-origin-title{
    height:var(--because-title-size);
  }

  body:not(.verticale-edition) #p2 .vision-whale-slide[data-panel-id="vision-whale"] .vision-whale-title{
    font-size:var(--because-title-size);
    line-height:1;
  }

  body:not(.verticale-edition) #p2 .vision-aeropod-kicker-line{
    left:var(--because-caption-left);
    right:var(--because-caption-left);
    bottom:calc(var(--because-title-bottom) + var(--because-title-size) + var(--because-phrase-kicker-gap));
    width:auto;
    max-width:calc(100% - (var(--because-caption-left) * 2));
    font-family:'IBM Plex Sans',sans-serif;
    font-size:var(--because-phrase-kicker-size);
    font-weight:700;
    line-height:1.15;
  }

  body:not(.verticale-edition) #p2 .vision-aeropod-slide[data-panel-id="vision-aeropod-air-01"] .vision-aeropod-kicker-line{
    bottom:calc(var(--because-title-bottom) - var(--because-phrase-kicker-gap) - 1.15em);
    text-align:left;
    text-align-last:left;
  }

  body:not(.verticale-edition) #p2 .vision-aeropod-translation{
    font-size:var(--because-support-size);
  }

  body:not(.verticale-edition) #p2 :is(
    .vision-whale-question,
    .vision-whale-attenborough-announcement,
    .vision-aeropod-tagline
  ){
    left:var(--because-caption-left);
    right:var(--because-caption-left);
    top:var(--because-support-top);
    bottom:auto;
    width:auto;
    max-width:calc(100% - (var(--because-caption-left) * 2));
    font-family:'IBM Plex Sans',sans-serif;
    font-size:var(--because-support-size);
    font-weight:400;
    line-height:1.18;
    letter-spacing:.01em;
    white-space:normal;
    text-align:left;
    text-align-last:left;
  }

  /* EXCEPTION FRAME — preserve the common skeleton while allowing more punch.
     The main title stays on the normal title anchor. The larger supporting line
     begins at the normal 18pt supporting-line top. The extra title uses the
     main title's size and sits closely above it. */
  body:not(.verticale-edition) #p2 .vision-horse-copy{
    inset:0 var(--because-caption-left);
    width:auto;
    max-width:none;
    display:block;
  }

  body:not(.verticale-edition) #p2 .vision-horse-slide:not(.vision-horse-equation-slide) .vision-horse-copy .vision-horse-title{
    position:absolute;
    left:0;
    right:0;
    top:auto;
    bottom:var(--because-title-bottom);
    width:auto;
    max-width:100%;
    font-family:'Archivo Black',sans-serif;
    font-size:var(--because-title-size);
    font-weight:400;
    line-height:1;
    z-index:2;
  }

  body:not(.verticale-edition) #p2 .vision-horse-slide:not(.vision-horse-equation-slide) .vision-horse-copy .vision-horse-tagline-cross{
    display:inline-block;
    position:relative;
    width:21px;
    height:21px;
    font-size:0;
    line-height:0;
    vertical-align:middle;
    color:#fff;
    -webkit-text-fill-color:currentColor;
    text-shadow:none;
  }

  body:not(.verticale-edition) #p2 .vision-horse-slide:not(.vision-horse-equation-slide) .vision-horse-copy .vision-horse-tagline-cross::before,
  body:not(.verticale-edition) #p2 .vision-horse-slide:not(.vision-horse-equation-slide) .vision-horse-copy .vision-horse-tagline-cross::after{
    content:'';
    position:absolute;
    left:50%;
    top:calc(50% - 3px);
    width:27px;
    height:6px;
    border-radius:6px;
    background:currentColor;
    transform-origin:50% 50%;
  }

  body:not(.verticale-edition) #p2 .vision-horse-slide:not(.vision-horse-equation-slide) .vision-horse-copy .vision-horse-tagline-cross::before{
    transform:translate(-50%,-50%) rotate(45deg);
  }

  body:not(.verticale-edition) #p2 .vision-horse-slide:not(.vision-horse-equation-slide) .vision-horse-copy .vision-horse-tagline-cross::after{
    transform:translate(-50%,-50%) rotate(-45deg);
  }

  body:not(.verticale-edition) #p2 .vision-horse-slide:not(.vision-horse-equation-slide) .vision-horse-copy .vision-horse-name{
    position:absolute;
    left:0;
    right:0;
    top:auto;
    bottom:calc(var(--because-title-bottom) + var(--because-title-size) + var(--because-phrase-kicker-gap));
    width:auto;
    max-width:100%;
    margin:0;
    font-family:'IBM Plex Sans',sans-serif;
    font-size:var(--because-phrase-kicker-size);
    font-weight:700;
    font-style:normal;
    line-height:1.15;
    letter-spacing:.01em;
    white-space:nowrap;
    z-index:1;
    color:#fff;
    background-image:none;
    -webkit-background-clip:border-box;
    background-clip:border-box;
    -webkit-text-fill-color:currentColor;
    text-shadow:none !important;
  }

  body:not(.verticale-edition) #p2 .vision-horse-slide:not(.vision-horse-equation-slide) .vision-horse-copy .vision-horse-tagline{
    position:absolute;
    left:0;
    right:0;
    top:var(--because-support-top);
    bottom:auto;
    width:auto;
    max-width:100%;
    font-family:'IBM Plex Sans',sans-serif;
    font-size:var(--because-exception-support-size);
    font-weight:700;
    line-height:1.18;
    letter-spacing:.025em;
    white-space:normal;
    text-align:left;
    text-align-last:left;
    z-index:2;
  }

  body:not(.verticale-edition) #p2 .eim-sum{
    font-family:'Archivo Black',sans-serif;
    font-style:italic;
    color:var(--because-emotion-red);
  }

  /* EQUATION FRAME — the same caption skeleton as the preceding horse slide.
     The two equations are one grouped title; the disclaimer is its bold
     supporting thought. Colour and posture remain native to this slide. */
  body:not(.verticale-edition) #p2 .vision-horse-equation-sunset-test .vision-horse-equation{
    inset:0 var(--because-caption-left);
    width:auto;
    max-width:none;
    transform:none;
    color:#fff;
    font-style:normal;
    text-align:left;
    text-align-last:left;
  }

  body:not(.verticale-edition) #p2 .vision-horse-equation-sunset-test .vision-horse-equation-table{
    position:absolute;
    left:0;
    right:0;
    top:auto;
    bottom:var(--because-title-bottom);
    display:table;
    width:auto;
    border-collapse:separate;
    border-spacing:0 3px;
  }

  body:not(.verticale-edition) #p2 .vision-horse-equation-sunset-test .vision-horse-equation-row{
    display:table-row;
    color:#fff;
    font-family:'Archivo Black',sans-serif;
    font-size:var(--because-title-size);
    font-weight:400;
    font-style:normal;
    line-height:1;
    letter-spacing:-.005em;
    text-transform:uppercase;
    text-align:left;
    white-space:nowrap;
  }

  body:not(.verticale-edition) #p2 .vision-horse-equation-sunset-test .vision-horse-equation-row > span{
    display:table-cell;
  }

  body:not(.verticale-edition) #p2 .vision-horse-equation-sunset-test .vision-horse-equation-equals{
    padding-right:.55em;
  }

  body:not(.verticale-edition) #p2 .vision-horse-equation-sunset-test .vision-horse-equation-answer{
    position:relative;
    overflow:visible;
    color:#071015;
    text-shadow:0 1px 0 rgba(255,255,255,.52);
  }

  body:not(.verticale-edition) #p2 .vision-horse-equation-sunset-test .vision-horse-equation-result-grid{
    display:grid;
    grid-template-columns:2ch max-content;
    column-gap:0;
    font-variant-numeric:tabular-nums;
  }

  body:not(.verticale-edition) #p2 .vision-horse-equation-sunset-test .vision-horse-equation-answer .vision-horse-equation-result-grid > :last-child{
    font-size:1.22em;
    line-height:.82;
    align-self:end;
  }

  body:not(.verticale-edition) #p2 .vision-horse-equation-sunset-test .vision-horse-equation-answer .vision-horse-equation-result-grid{
    position:absolute;
    left:-8px;
    top:2px;
  }

  body:not(.verticale-edition) #p2 .vision-horse-equation-sunset-test :is(
    .vision-horse-equation-note,
    .vision-horse-equation-disclaimer
  ){
    position:absolute;
    left:0;
    right:0;
    top:var(--because-support-top);
    bottom:auto;
    width:auto;
    max-width:100%;
    margin:0;
    color:#fff;
    font-family:'IBM Plex Sans',sans-serif;
    font-size:var(--because-exception-support-size);
    font-weight:700;
    font-style:normal;
    line-height:1.18;
    letter-spacing:.01em;
    white-space:normal;
    text-align:left;
    text-align-last:left;
  }

  body:not(.verticale-edition) #p2 .vision-horse-equation-sunset-test .vision-horse-equation-disclaimer{
    color:#fff;
    text-shadow:0 1px 2px rgba(0,0,0,.78),0 0 12px rgba(0,0,0,.2);
  }
}
