.reveal {
  opacity:0;
  transform:translateY(20px);
  transition:opacity .65s ease,transform .65s ease
}

.reveal.visible {
  opacity:1;
  transform:none
}

@media(max-width:1020px) {
  .nav-links {
    gap:15px
  }

  .nav-links>a:not(.btn) {
    display:none
  }

  .hero {
    min-height:auto
  }

  .hero-grid {
    gap:35px
  }

  .hero h1 {
    font-size:clamp(3rem,6vw,4.4rem)
  }

  .strip-grid {
    grid-template-columns:1.2fr repeat(3,1fr)
  }

  .problem-grid {
    grid-template-columns:1fr 1fr
  }

  .audience-grid {
    grid-template-columns:repeat(3,1fr)
  }

  .audience-card:last-child {
    grid-column:2
  }

  .partner-box {
    padding:45px
  }

  .expert-card {
    padding:20px
  }

  .timeline-item {
    grid-template-columns:38px 90px 1fr
  }

}

@media(max-width:760px) {
  .container {
    width:min(calc(100% - 28px),var(--max))
  }

  .section {
    padding:78px 0
  }

  .section-sm {
    padding:56px 0
  }

  .nav-inner {
    height:68px
  }

  .nav-links {
    position:fixed;
    inset:0;
    background:#f7fbfe;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    padding:60px 30px;
    gap:23px;
    transform:translateX(100%);
    transition:.3s
  }

  .nav-links.open {
    transform:none
  }

  .nav-links>a:not(.btn) {
    display:block;
    font:700 1.5rem 'Manrope',sans-serif;
    color:var(--navy)
  }

  .nav-links .btn {
    width:100%;
    margin-top:10px
  }

  .menu-btn {
    display:block
  }

  .hero {
    padding:115px 0 65px
  }

  .hero-grid {
    grid-template-columns:1fr
  }

  .hero-copy {
    text-align:center;
    margin:auto
  }

  .hero-copy .eyebrow {
    font-size:.65rem
  }

  .hero-lede {
    font-size:1.03rem
  }

  .hero-actions {
    justify-content:center
  }

  .trust {
    justify-content:center;
    text-align:left
  }

  .hero-visual {
    margin-top:16px;
    padding-bottom:65px
  }

  .hero-photo {
    aspect-ratio:.96
  }

  .flight-chip {
    left:10px;
    top:20px
  }

  .mini-plan {
    left:14px;
    right:14px;
    padding:17px
  }

  .strip-grid {
    grid-template-columns:1fr 1fr
  }

  .strip-label {
    grid-column:1/-1
  }

  .strip-item {
    border-left:0;
    padding-left:0
  }

  .problem-grid,.steps,.price-grid,.expert-grid,.quote-grid {
    grid-template-columns:1fr
  }

  .steps .step:not(:last-child)::after {
    display:none
  }

  .preview-grid {
    grid-template-columns:1fr;
    gap:35px
  }

  .preview-copy {
    text-align:center
  }

  .safe-note {
    text-align:left
  }

  .audience-grid {
    grid-template-columns:1fr 1fr
  }

  .audience-card:last-child {
    grid-column:1/-1
  }

  .price-card.popular {
    transform:none;
    margin-top:8px
  }

  .partner-box {
    grid-template-columns:1fr;
    padding:34px 24px;
    gap:32px
  }

  .channels {
    grid-template-columns:1fr
  }

  .footer-grid {
    grid-template-columns:1fr;
    gap:35px
  }

  .footer-bottom {
    flex-direction:column;
    align-items:flex-start;
    gap:20px
  }

  .final-inner {
    padding:42px 24px;
    border-radius:27px
  }

  .timeline-item {
    grid-template-columns:38px 80px 1fr;
    gap:8px
  }

  .plan-body {
    padding:22px 14px
  }

  .timeline-info {
    padding:9px
  }

  .timeline-info span {
    display:none
  }

}

@media(max-width:430px) {
  h1 {
    font-size:2.75rem
  }

  .hero-actions .btn {
    width:100%
  }

  .final-actions .btn {
    width:100%
  }

  .hero-visual {
    padding-bottom:88px
  }

  .hero-photo {
    aspect-ratio:.88
  }

  .mini-plan {
    bottom:0
  }

  .mini-stop {
    font-size:.57rem
  }

  .trust-avatars {
    display:none
  }

  .strip-grid {
    grid-template-columns:1fr
  }

  .strip-item {
    padding:12px 0;
    border-top:1px solid rgba(255,255,255,.1)
  }

  .problem-grid,.audience-grid {
    grid-template-columns:1fr
  }

  .audience-card:last-child {
    grid-column:auto
  }

  .footer-links {
    grid-template-columns:1fr 1fr
  }

  .timeline-item {
    grid-template-columns:35px 1fr
  }

  .timeline-time {
    grid-column:2
  }

  .timeline-info {
    grid-column:2;
    margin-top:-8px
  }

  .timeline::before {
    left:17px
  }

  .plan-head {
    padding:22px 18px
  }

  .sample-label {
    display:none
  }

}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }

  *,*::before,*::after {
    animation-duration:.01ms!important;
    transition-duration:.01ms!important
  }

  .reveal {
    opacity:1;
    transform:none
  }

}
