/* Fluid canopy annotations and intelligence layout */
.canopy-sticky {
  background: #04101b;
}

.canopy-video {
  object-fit: contain;
  object-position: center;
}

.canopy-intro {
  left: auto;
  right: 7vw;
  max-width: min(42vw, 570px);
  text-align: right;
}

.note-fabric {
  top: 34vh;
}

@media (min-width: 801px) and (max-width: 1199px) {
  .canopy-intro {
    top: clamp(42px, 7vh, 72px);
    left: auto;
    right: 5vw;
    max-width: min(38vw, 390px);
    text-align: right;
  }

  .canopy-intro h2 {
    font-size: clamp(38px, 5vw, 58px);
  }

  .canopy-note {
    width: clamp(180px, 21vw, 225px);
    padding: clamp(11px, 1.4vw, 15px);
  }

  .canopy-note h3 {
    font-size: clamp(18px, 2.2vw, 22px);
    line-height: 1.08;
  }

  .canopy-note p {
    font-size: clamp(10px, 1.15vw, 12px);
  }

  .note-handle {
    left: 5vw;
    bottom: 10vh;
  }

  .note-shaft {
    left: 19vw;
    bottom: 40vh;
  }

  .note-ribs {
    right: 4vw;
    top: 56vh;
  }

  .note-fabric {
    right: 4vw;
    top: 34vh;
  }

  .note-handle .note-leader {
    width: clamp(118px, 18vw, 190px);
    right: clamp(-182px, -17.3vw, -113px);
    transform: rotate(20deg);
  }

  .note-shaft .note-leader {
    width: clamp(88px, 15vw, 145px);
    right: clamp(-138px, -14.25vw, -84px);
    transform: rotate(16deg);
  }

  .note-ribs .note-leader {
    width: clamp(170px, 27vw, 310px);
    transform: rotate(-160deg);
  }

  .note-fabric .note-leader {
    width: clamp(105px, 17vw, 170px);
    transform: rotate(141deg);
  }
}

@media (min-width: 900px) {
  .intelligence-text-only {
    min-height: 0;
  }

  .intelligence-text-only .intelligence-copy {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr);
    grid-template-rows: auto auto auto;
    column-gap: clamp(48px, 8vw, 120px);
    align-items: start;
    max-width: none;
    padding-top: clamp(95px, 12vw, 150px);
    padding-bottom: clamp(54px, 5vw, 72px);
  }

  .intelligence-text-only .section-kicker {
    grid-column: 1;
    grid-row: 1;
  }

  .intelligence-text-only h2 {
    grid-column: 1;
    grid-row: 2 / 4;
    font-size: clamp(48px, 5.3vw, 76px);
  }

  .intelligence-text-only .intelligence-copy > p:not(.section-kicker) {
    grid-column: 2;
    grid-row: 2;
    width: 100%;
    max-width: 470px;
    margin-top: 8px;
  }

  .intelligence-text-only .gold-button {
    grid-column: 2;
    grid-row: 3;
    justify-self: start;
    margin-top: 24px;
  }
}

@media (max-width: 899px) {
  .intelligence-text-only {
    min-height: 0;
  }

  .intelligence-text-only .intelligence-copy {
    width: 100%;
    max-width: 680px;
    padding-top: clamp(72px, 12vw, 105px);
    padding-bottom: clamp(48px, 8vw, 72px);
  }

  .intelligence-text-only h2 {
    font-size: clamp(42px, 8vw, 64px);
  }
}

@media (max-width: 800px) {
  .canopy-experience {
    height: auto;
    padding: 0;
  }

  .canopy-sticky {
    position: relative;
    top: auto;
    height: auto;
    min-height: 0;
    overflow: hidden;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    padding: 0 6vw 72px;
  }

  .canopy-video {
    position: relative;
    inset: auto;
    grid-column: 1 / -1;
    width: calc(100% + 12vw);
    height: auto;
    aspect-ratio: 16 / 9;
    margin-left: -6vw;
    margin-right: -6vw;
    object-fit: contain;
    transform: none;
  }

  .canopy-shade {
    display: none;
  }

  .canopy-intro {
    position: relative;
    inset: auto;
    grid-column: 1 / -1;
    max-width: 620px;
    margin: 24px 0 8px;
    text-align: left;
  }

  .canopy-intro h2 {
    margin-bottom: 4px;
  }

  .canopy-note {
    position: relative;
    inset: auto;
    width: auto;
    min-height: 170px;
    opacity: 1;
    transform: none;
  }

  .canopy-progress {
    display: none;
  }

  .note-leader {
    display: none;
  }
}

@media (max-width: 520px) {
  .intelligence-text-only .intelligence-copy {
    padding-left: 7vw;
    padding-right: 7vw;
  }

  .intelligence-text-only .gold-button {
    width: 100%;
    text-align: center;
  }

  .canopy-sticky {
    grid-template-columns: 1fr;
    gap: 12px;
    padding-bottom: 56px;
  }

  .canopy-video {
    aspect-ratio: 4 / 3;
  }

  .canopy-note {
    min-height: 0;
  }
}
