:root {
  --bundle-navy: #003b78;
  --bundle-navy-deep: #00264e;
  --bundle-blue: #1688ad;
  --bundle-orange: #df5c27;
  --bundle-paper: #fffdf8;
  --bundle-pale: #edf4fa;
}

.bundle-page {
  color: #172535;
  background: var(--bundle-paper);
}

.bundle-page .site-header__cta {
  background: var(--bundle-navy);
}

.bundle-page .site-header__cta:hover,
.bundle-page .site-header__cta:focus-visible {
  background: var(--bundle-navy-deep);
}

.bundle-kicker {
  margin: 0 0 20px;
  color: var(--bundle-orange);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .14em;
  text-align: center;
}

.bundle-kicker--light {
  color: #ffc7a4;
}

.bundle-kicker--left {
  text-align: left;
}

.bundle-title {
  margin: 0 0 52px;
  color: var(--bundle-navy);
  font-size: clamp(38px, 5.2vw, 68px);
  font-weight: 900;
  letter-spacing: .035em;
  line-height: 1.35;
  text-align: center;
}

.bundle-title--light {
  color: #fff;
}

.bundle-title--left {
  margin-bottom: 0;
  text-align: left;
}

.bundle-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.bundle-button {
  display: flex;
  min-height: 78px;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  padding: 16px 22px;
  border: 1px solid transparent;
  font-size: 15px;
  font-weight: 900;
  letter-spacing: .05em;
  line-height: 1.35;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.bundle-button:hover,
.bundle-button:focus-visible {
  transform: translateY(-3px);
}

.bundle-button small {
  display: block;
  margin-top: 5px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .05em;
  opacity: .75;
}

.bundle-button b {
  flex: 0 0 auto;
  font-size: 23px;
}

.bundle-button--primary {
  color: #fff;
  background: var(--bundle-orange);
  box-shadow: 0 16px 38px rgba(128, 46, 12, .28);
}

.bundle-button--primary:hover,
.bundle-button--primary:focus-visible {
  background: #c74b1a;
}

.bundle-button--secondary-light {
  color: #fff;
  border-color: rgba(255, 255, 255, .68);
  background: rgba(0, 24, 50, .28);
  backdrop-filter: blur(8px);
}

.bundle-button--secondary {
  color: var(--bundle-navy);
  border-color: #9eb3c8;
  background: #fff;
}

/* Hero */
.bundle-hero {
  position: relative;
  display: grid;
  min-height: 860px;
  overflow: hidden;
  color: #fff;
  background: var(--bundle-navy-deep);
}

.bundle-hero__photo {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 65%;
  background-position: center;
  background-size: cover;
}

.bundle-hero__photo--journey {
  left: 0;
  background-image: url("../assets/images/india/train-team.webp");
  background-position: 62% center;
  clip-path: polygon(0 0, 100% 0, 78% 100%, 0 100%);
}

.bundle-hero__photo--daily {
  right: 0;
  background-image: url("../assets/images/startline-cohort-real.jpg");
  background-position: center;
  clip-path: polygon(22% 0, 100% 0, 100% 100%, 0 100%);
}

.bundle-hero__shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(0, 18, 38, .82), rgba(0, 27, 57, .54) 49%, rgba(0, 26, 55, .42)),
    linear-gradient(0deg, rgba(0, 22, 47, .88) 0%, transparent 54%);
}

.bundle-hero__inner {
  position: relative;
  z-index: 2;
  display: flex;
  min-height: 860px;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  padding-top: 140px;
  padding-bottom: 72px;
}

.bundle-hero__logos {
  display: flex;
  max-width: 780px;
  align-items: center;
  gap: 22px;
  margin-bottom: 22px;
}

.bundle-hero__logos img:first-child {
  width: min(34vw, 330px);
}

.bundle-hero__logos img:last-child {
  width: min(28vw, 270px);
  filter: brightness(0) invert(1);
}

.bundle-hero__logos span {
  font-size: 28px;
  font-weight: 900;
}

.bundle-hero__tag {
  margin: 0 0 18px;
  padding: 7px 12px;
  color: #fff;
  background: var(--bundle-orange);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .1em;
}

.bundle-hero h1 {
  max-width: 1020px;
  margin: 0;
  font-size: clamp(48px, 7vw, 92px);
  font-weight: 900;
  letter-spacing: .025em;
  line-height: 1.2;
  text-shadow: 0 4px 26px rgba(0, 18, 38, .35);
}

.bundle-hero h1 span {
  display: block;
}

.bundle-hero__lead {
  margin: 24px 0 0;
  font-size: clamp(15px, 1.7vw, 20px);
  font-weight: 700;
  line-height: 1.9;
  text-shadow: 0 2px 16px rgba(0, 18, 38, .5);
}

.bundle-actions--hero {
  width: min(820px, 100%);
  margin-top: 34px;
}

.bundle-hero__scroll {
  position: absolute;
  right: 40px;
  bottom: 35px;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
  writing-mode: vertical-rl;
}

.bundle-hero__scroll span {
  font-size: 17px;
}

/* Problem */
.bundle-reason {
  padding-bottom: 0;
}

.bundle-reason__copy {
  margin: 0 auto 82px;
  font-size: 17px;
  line-height: 2.15;
  text-align: center;
}

.bundle-reason__copy strong {
  display: block;
  margin: 34px 0;
  color: var(--bundle-orange);
  font-size: clamp(25px, 3.5vw, 40px);
  font-weight: 900;
  line-height: 1.55;
}

.bundle-reason__image {
  position: relative;
  height: min(62vw, 710px);
  min-height: 520px;
  overflow: hidden;
}

.bundle-reason__image::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(90deg, rgba(0, 25, 52, .8), rgba(0, 25, 52, .15) 65%);
}

.bundle-reason__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.bundle-reason__image p {
  position: absolute;
  top: 50%;
  left: max(32px, calc((100vw - 1200px) / 2));
  z-index: 2;
  margin: 0;
  color: #fff;
  font-size: clamp(28px, 4.1vw, 58px);
  font-weight: 800;
  line-height: 1.55;
  transform: translateY(-50%);
}

.bundle-reason__image strong {
  color: #fff;
  font-weight: 900;
}

/* Product connection */
.bundle-answer {
  color: #fff;
  background: var(--bundle-navy-deep);
}

.bundle-answer__flow {
  display: grid;
  align-items: stretch;
  grid-template-columns: minmax(0, 1fr) 92px minmax(0, 1fr);
}

.bundle-answer__phase {
  overflow: hidden;
  color: #172535;
  background: #fff;
  box-shadow: 0 24px 62px rgba(0, 9, 20, .22);
}

.bundle-answer__media {
  height: 330px;
  overflow: hidden;
}

.bundle-answer__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.bundle-answer__phase--startline .bundle-answer__media img {
  object-position: center;
}

.bundle-answer__body {
  padding: 38px 38px 40px;
}

.bundle-answer__body > img {
  width: min(74%, 310px);
  height: 76px;
  margin-bottom: 24px;
  object-fit: contain;
  object-position: left center;
}

.bundle-answer__phase--startline .bundle-answer__body > img {
  filter: none;
}

.bundle-answer__body p {
  min-height: 124px;
  margin: 0;
  color: #536477;
  font-size: 14px;
  font-weight: 600;
  line-height: 2;
}

.bundle-answer__body strong {
  display: block;
  margin-top: 24px;
  padding-top: 22px;
  color: var(--bundle-navy);
  border-top: 1px solid #ccd8e3;
  font-size: 18px;
  font-weight: 900;
}

.bundle-answer__phase--journey .bundle-answer__body strong {
  color: var(--bundle-orange);
}

.bundle-answer__bridge {
  position: relative;
  z-index: 2;
  display: flex;
  margin-inline: -12px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  color: #fff;
  background: var(--bundle-orange);
  transform: skewX(-5deg);
}

.bundle-answer__bridge span,
.bundle-answer__bridge b {
  transform: skewX(5deg);
}

.bundle-answer__bridge span {
  font-size: 11px;
  font-weight: 900;
  line-height: 1.7;
  text-align: center;
}

.bundle-answer__bridge b {
  margin-top: 12px;
  font-size: 29px;
}

.bundle-answer__conclusion {
  margin: 62px 0 0;
  font-size: clamp(22px, 3vw, 36px);
  font-weight: 800;
  line-height: 1.7;
  text-align: center;
}

.bundle-answer__conclusion em {
  color: #ffb488;
  font-style: normal;
  font-weight: 900;
}

/* Benefits */
.bundle-benefits {
  background: #f6f1e9;
}

.bundle-benefits__list {
  display: grid;
  gap: 36px;
}

.bundle-benefits__list article {
  display: grid;
  min-height: 380px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 20px 54px rgba(52, 38, 25, .1);
  grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
}

.bundle-benefits__list article:nth-child(even) div {
  order: 2;
}

.bundle-benefits__list article:nth-child(even) img {
  order: 1;
}

.bundle-benefits__list article > div {
  display: flex;
  padding: 52px;
  flex-direction: column;
  justify-content: center;
}

.bundle-benefits__list span {
  color: var(--bundle-orange);
  font-family: "Montserrat", sans-serif;
  font-size: 48px;
  font-weight: 900;
  line-height: 1;
}

.bundle-benefits__list h3 {
  margin: 20px 0 18px;
  color: var(--bundle-navy);
  font-size: clamp(25px, 3vw, 38px);
  font-weight: 900;
  line-height: 1.5;
}

.bundle-benefits__list p {
  margin: 0;
  color: #596777;
  font-size: 14px;
  font-weight: 600;
  line-height: 2;
}

.bundle-benefits__list article > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Program */
.bundle-program {
  color: #fff;
  background: var(--bundle-navy);
}

.bundle-program__route {
  display: grid;
  align-items: stretch;
  grid-template-columns: repeat(3, minmax(0, 1fr) 34px) minmax(0, 1fr);
}

.bundle-program__route article {
  position: relative;
  min-height: 420px;
  padding: 0;
  overflow: hidden;
  color: #172535;
  background: #fff;
}

.bundle-program__route article::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 6px;
  content: "";
  background: var(--bundle-orange);
}

.bundle-program__route article.bundle-program__startline::before {
  background: var(--bundle-navy);
}

.bundle-program__route article.bundle-program__startline {
  outline: 6px solid #5eb2cf;
  outline-offset: -6px;
}

.bundle-program__route-photo {
  width: 100%;
  height: 158px;
  object-fit: cover;
}

.bundle-program__route article:nth-of-type(1) .bundle-program__route-photo {
  object-position: center;
}

.bundle-program__route article:nth-of-type(2) .bundle-program__route-photo {
  object-position: 62% center;
}

.bundle-program__route article:nth-of-type(3) .bundle-program__route-photo {
  object-position: center;
}

.bundle-program__route article:nth-of-type(4) .bundle-program__route-photo {
  object-position: center;
}

.bundle-program__route-copy {
  position: relative;
  padding: 28px 22px 30px;
}

.bundle-program__route > i {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #8cc8dc;
  font-size: 22px;
  font-style: normal;
  font-weight: 900;
}

.bundle-program__route small {
  display: block;
  margin-bottom: 14px;
  color: #7c8995;
  font-size: 10px;
  font-weight: 900;
}

.bundle-program__route span {
  position: absolute;
  top: 12px;
  right: 20px;
  color: #dce5ed;
  font-family: "Montserrat", sans-serif;
  font-size: 30px;
  font-weight: 900;
}

.bundle-program__route h3 {
  margin: 0 0 18px;
  color: var(--bundle-navy);
  font-size: 19px;
  font-weight: 900;
  line-height: 1.55;
}

.bundle-program__route p {
  margin: 0;
  color: #5b6875;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.9;
}

.bundle-program__details {
  display: grid;
  margin-top: 58px;
  color: #172535;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.bundle-program__details section {
  padding: 48px;
  background: #fff;
}

.bundle-program__details section + section {
  border-left: 1px solid #cbd8e4;
  background: #f1f7fb;
}

.bundle-program__details section > p {
  margin: 0 0 10px;
  color: var(--bundle-orange);
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .12em;
}

.bundle-program__details section + section > p {
  color: var(--bundle-navy);
}

.bundle-program__details h3 {
  margin: 0 0 26px;
  color: var(--bundle-navy);
  font-size: 25px;
  font-weight: 900;
}

.bundle-program__details ul {
  display: grid;
  margin: 0 0 30px;
  padding: 0;
  list-style: none;
  gap: 11px;
}

.bundle-program__details li {
  position: relative;
  padding-left: 24px;
  font-size: 13px;
  font-weight: 700;
}

.bundle-program__details li::before {
  position: absolute;
  top: 0;
  left: 0;
  color: var(--bundle-orange);
  content: "✓";
  font-weight: 900;
}

.bundle-program__details a {
  display: inline-block;
  padding-bottom: 4px;
  color: var(--bundle-navy);
  border-bottom: 1px solid currentColor;
  font-size: 12px;
  font-weight: 900;
}

.bundle-program__note {
  margin: 22px 0 0;
  color: rgba(255, 255, 255, .7);
  font-size: 11px;
  font-weight: 600;
  text-align: center;
}

/* Voices */
.bundle-voices {
  background: var(--bundle-pale);
}

.bundle-voices__heading {
  display: grid;
  align-items: end;
  margin-bottom: 52px;
  grid-template-columns: 1.15fr .85fr;
  gap: 70px;
}

.bundle-voices__heading > p {
  margin: 0;
  color: #556779;
  font-size: 14px;
  font-weight: 600;
  line-height: 2;
}

.bundle-voices__photo {
  margin: 0;
  padding: 14px;
  background: var(--bundle-navy);
  box-shadow: 0 24px 60px rgba(0, 40, 82, .18);
}

.bundle-voices__photo img {
  width: 100%;
  height: auto;
}

.bundle-voices__photo figcaption {
  padding: 11px 4px 0;
  color: rgba(255, 255, 255, .72);
  font-size: 10px;
  font-weight: 700;
}

.bundle-voices__quotes {
  display: grid;
  margin-top: 30px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.bundle-voices__quotes blockquote {
  margin: 0;
  padding: 30px;
  background: #fff;
  border-top: 5px solid var(--bundle-orange);
}

.bundle-voices__quotes p {
  margin: 0;
  color: var(--bundle-navy);
  font-size: 15px;
  font-weight: 900;
  line-height: 1.9;
}

.bundle-voices__quotes cite {
  display: block;
  margin-top: 18px;
  color: #768594;
  font-size: 10px;
  font-style: normal;
  font-weight: 700;
}

/* Price */
.bundle-price {
  background: #fff;
}

.bundle-price__comparison {
  display: grid;
  align-items: center;
  margin-top: 10px;
  grid-template-columns: minmax(0, 1fr) 64px minmax(0, 1.08fr);
}

.bundle-price__regular,
.bundle-price__set {
  min-height: 350px;
  padding: 44px;
}

.bundle-price__regular {
  border: 1px solid #cbd6df;
  background: #f7f9fa;
}

.bundle-price__regular > p,
.bundle-price__set > p {
  margin: 0 0 28px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
}

.bundle-price__regular dl {
  display: grid;
  margin: 0;
  gap: 12px;
}

.bundle-price__regular dl div {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding-bottom: 10px;
  border-bottom: 1px solid #d7e0e7;
  font-size: 12px;
  font-weight: 700;
}

.bundle-price__regular dd {
  margin: 0;
  font-family: "Montserrat", sans-serif;
  font-weight: 900;
}

.bundle-price__regular > strong {
  display: block;
  margin-top: 32px;
  color: #5a6671;
  font-size: 25px;
  font-weight: 900;
  text-align: right;
}

.bundle-price__regular small,
.bundle-price__set small {
  font-size: .42em;
}

.bundle-price__arrow {
  position: relative;
  z-index: 2;
  display: flex;
  width: 76px;
  height: 76px;
  margin-inline: -6px;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: var(--bundle-orange);
  border-radius: 50%;
  font-size: 28px;
  font-weight: 900;
}

.bundle-price__set {
  display: flex;
  color: #fff;
  background: var(--bundle-navy);
  box-shadow: 0 24px 60px rgba(0, 49, 101, .22);
  flex-direction: column;
}

.bundle-price__set > span {
  width: fit-content;
  margin-bottom: 14px;
  padding: 6px 10px;
  color: var(--bundle-navy);
  background: #fff;
  font-size: 11px;
  font-weight: 800;
}

.bundle-price__set > span strong {
  color: var(--bundle-orange);
  font-size: 15px;
}

.bundle-price__set > strong {
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
  font-size: clamp(48px, 7vw, 72px);
  font-weight: 900;
  letter-spacing: -.035em;
  line-height: 1.1;
}

.bundle-price__set em {
  margin-top: 10px;
  color: rgba(255, 255, 255, .66);
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
}

.bundle-price__set > b {
  margin-top: auto;
  padding-top: 20px;
  border-top: 1px solid rgba(255, 255, 255, .25);
  font-size: 20px;
}

.bundle-price__note {
  margin: 24px 0 0;
  color: #75808a;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.8;
}

.bundle-actions--price {
  margin-top: 34px;
}

/* Plan chooser */
.bundle-plans {
  color: #fff;
  background: var(--bundle-orange);
}

.bundle-plans__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.bundle-plans__grid a {
  position: relative;
  display: flex;
  min-height: 510px;
  overflow: hidden;
  padding: 32px;
  flex-direction: column;
  justify-content: flex-end;
  background: #111;
  transition: transform .25s ease, box-shadow .25s ease;
}

.bundle-plans__grid a:hover,
.bundle-plans__grid a:focus-visible {
  box-shadow: 0 20px 48px rgba(69, 22, 5, .25);
  transform: translateY(-5px);
}

.bundle-plans__grid a::after {
  position: absolute;
  inset: 0;
  z-index: 1;
  content: "";
  background: linear-gradient(0deg, rgba(0, 20, 41, .92), rgba(0, 20, 41, .08) 68%);
}

.bundle-plans__grid img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s ease;
}

.bundle-plans__grid a:hover img,
.bundle-plans__grid a:focus-visible img {
  transform: scale(1.04);
}

.bundle-plans__grid span,
.bundle-plans__grid strong,
.bundle-plans__grid b {
  position: relative;
  z-index: 2;
}

.bundle-plans__grid span {
  margin-bottom: 9px;
  color: #ffc7a4;
  font-size: 11px;
  font-weight: 900;
}

.bundle-plans__grid strong {
  font-size: 25px;
  font-weight: 900;
  line-height: 1.5;
}

.bundle-plans__grid b {
  position: absolute;
  right: 28px;
  bottom: 28px;
  font-size: 24px;
}

/* FAQ */
.bundle-faq {
  background: #f7f1e9;
}

.bundle-faq__list {
  border-top: 1px solid #cad4dd;
}

.bundle-faq__list details {
  border-bottom: 1px solid #cad4dd;
}

.bundle-faq__list summary {
  position: relative;
  display: flex;
  padding: 26px 52px 26px 0;
  align-items: center;
  gap: 18px;
  color: var(--bundle-navy);
  cursor: pointer;
  font-size: 15px;
  font-weight: 900;
  list-style: none;
}

.bundle-faq__list summary::-webkit-details-marker {
  display: none;
}

.bundle-faq__list summary::after {
  position: absolute;
  top: 50%;
  right: 6px;
  content: "＋";
  color: var(--bundle-orange);
  font-size: 24px;
  transform: translateY(-50%);
}

.bundle-faq__list details[open] summary::after {
  content: "−";
}

.bundle-faq__list summary span {
  color: var(--bundle-orange);
  font-family: "Montserrat", sans-serif;
  font-size: 23px;
}

.bundle-faq__list details > p {
  margin: 0;
  padding: 0 42px 28px 50px;
  color: #566575;
  font-size: 13px;
  font-weight: 600;
  line-height: 2;
}

/* Final */
.bundle-final {
  position: relative;
  min-height: 720px;
  overflow: hidden;
  color: #fff;
  background: url("../assets/images/new-year-india/group-103.webp") center 62% / cover no-repeat;
}

.bundle-final__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0, 26, 55, .9), rgba(0, 26, 55, .5) 72%, rgba(0, 26, 55, .2));
}

.bundle-final__inner {
  position: relative;
  z-index: 1;
  display: flex;
  min-height: 500px;
  flex-direction: column;
  justify-content: center;
}

.bundle-final__inner > p {
  margin: 0 0 20px;
  color: #ffb284;
  font-family: "Montserrat", sans-serif;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .14em;
}

.bundle-final h2 {
  margin: 0;
  font-size: clamp(48px, 7vw, 88px);
  font-weight: 900;
  line-height: 1.25;
}

.bundle-final__inner > strong {
  display: block;
  margin-top: 26px;
  font-size: clamp(17px, 2.1vw, 25px);
  line-height: 1.8;
}

.bundle-actions--final {
  width: min(820px, 100%);
  margin-top: 38px;
}

.bundle-mobile-cta {
  display: none;
}

@media (max-width: 980px) {
  .bundle-hero h1 {
    font-size: clamp(48px, 8.8vw, 78px);
  }

  .bundle-answer__flow {
    grid-template-columns: 1fr;
  }

  .bundle-answer__bridge {
    min-height: 80px;
    margin: -8px 26px;
    flex-direction: row;
    gap: 18px;
    transform: skewY(-2deg);
  }

  .bundle-answer__bridge span,
  .bundle-answer__bridge b {
    transform: skewY(2deg);
  }

  .bundle-answer__bridge span br {
    display: none;
  }

  .bundle-answer__bridge b {
    margin-top: 0;
    transform: rotate(90deg) skewY(2deg);
  }

  .bundle-answer__body p {
    min-height: 0;
  }

  .bundle-program__route {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .bundle-program__route article {
    min-height: 0;
  }

  .bundle-program__route-photo {
    height: 220px;
  }

  .bundle-program__route > i {
    min-height: 42px;
    transform: rotate(90deg);
  }

  .bundle-program__details {
    grid-template-columns: 1fr;
  }

  .bundle-program__details section + section {
    border-top: 1px solid #cbd8e4;
    border-left: 0;
  }

  .bundle-voices__heading {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .bundle-voices__quotes {
    grid-template-columns: 1fr;
  }

  .bundle-price__comparison {
    grid-template-columns: 1fr;
  }

  .bundle-price__regular,
  .bundle-price__set {
    min-height: 0;
  }

  .bundle-price__arrow {
    margin: -10px auto;
    transform: rotate(90deg);
  }

  .bundle-plans__grid {
    grid-template-columns: 1fr;
  }

  .bundle-plans__grid a {
    min-height: 420px;
  }
}

@media (max-width: 680px) {
  .bundle-page {
    padding-bottom: calc(84px + env(safe-area-inset-bottom));
  }

  .bundle-page .section {
    padding: 76px 0;
  }

  .bundle-kicker {
    margin-bottom: 14px;
    font-size: 10px;
  }

  .bundle-title {
    margin-bottom: 36px;
    font-size: 32px;
    line-height: 1.5;
  }

  .bundle-title--left {
    margin-bottom: 0;
  }

  .bundle-actions {
    grid-template-columns: 1fr;
  }

  .bundle-button {
    min-height: 70px;
    padding: 14px 17px;
    font-size: 13px;
  }

  .bundle-hero {
    min-height: 790px;
  }

  .bundle-hero__photo {
    top: 0;
    width: 100%;
    height: 55%;
  }

  .bundle-hero__photo--journey {
    clip-path: polygon(0 0, 64% 0, 47% 100%, 0 100%);
    background-position: 67% center;
  }

  .bundle-hero__photo--daily {
    right: 0;
    clip-path: polygon(54% 0, 100% 0, 100% 100%, 39% 100%);
    background-position: 62% center;
  }

  .bundle-hero__shade {
    background: linear-gradient(0deg, rgba(0, 27, 57, 1) 0%, rgba(0, 27, 57, .95) 47%, rgba(0, 27, 57, .12) 100%);
  }

  .bundle-hero__inner {
    min-height: 790px;
    padding-top: 90px;
    padding-bottom: 30px;
  }

  .bundle-hero__logos {
    width: 100%;
    gap: 11px;
    margin-bottom: 16px;
  }

  .bundle-hero__logos img:first-child {
    width: 45%;
  }

  .bundle-hero__logos img:last-child {
    width: 38%;
  }

  .bundle-hero__logos span {
    font-size: 19px;
  }

  .bundle-hero__tag {
    margin-bottom: 13px;
    font-size: 9px;
  }

  .bundle-hero h1 {
    font-size: 38px;
    line-height: 1.35;
  }

  .bundle-hero__lead {
    margin-top: 17px;
    font-size: 12px;
    line-height: 1.85;
  }

  .bundle-hero__lead br {
    display: none;
  }

  .bundle-actions--hero {
    margin-top: 22px;
  }

  .bundle-actions--hero .bundle-button--secondary-light {
    display: none;
  }

  .bundle-hero__scroll {
    display: none;
  }

  .bundle-reason__copy {
    margin-bottom: 58px;
    font-size: 13px;
    line-height: 2;
  }

  .bundle-reason__copy strong {
    margin: 28px 0;
    font-size: 23px;
  }

  .bundle-reason__image {
    height: 560px;
    min-height: 0;
  }

  .bundle-reason__image::after {
    background: linear-gradient(0deg, rgba(0, 25, 52, .86), transparent 72%);
  }

  .bundle-reason__image img {
    object-position: 63% center;
  }

  .bundle-reason__image p {
    top: auto;
    right: 24px;
    bottom: 42px;
    left: 24px;
    font-size: 25px;
    transform: none;
  }

  .bundle-answer__media {
    height: 235px;
  }

  .bundle-answer__body {
    padding: 28px 22px 30px;
  }

  .bundle-answer__body > img {
    height: 56px;
    margin-bottom: 16px;
  }

  .bundle-answer__body p {
    font-size: 12px;
  }

  .bundle-answer__body strong {
    font-size: 15px;
  }

  .bundle-answer__conclusion {
    margin-top: 45px;
    font-size: 21px;
  }

  .bundle-benefits__list {
    gap: 18px;
  }

  .bundle-benefits__list article {
    min-height: 0;
    grid-template-columns: 1fr;
  }

  .bundle-benefits__list article:nth-child(even) div,
  .bundle-benefits__list article:nth-child(even) img {
    order: initial;
  }

  .bundle-benefits__list article > div {
    padding: 30px 22px 32px;
  }

  .bundle-benefits__list article > img {
    height: 250px;
    order: -1;
  }

  .bundle-benefits__list span {
    font-size: 38px;
  }

  .bundle-benefits__list h3 {
    margin: 14px 0;
    font-size: 24px;
  }

  .bundle-benefits__list p {
    font-size: 12px;
  }

  .bundle-program__route article {
    padding: 0;
  }

  .bundle-program__route-photo {
    height: 205px;
  }

  .bundle-program__route-copy {
    padding: 27px 22px 29px;
  }

  .bundle-program__details {
    margin-top: 42px;
  }

  .bundle-program__details section {
    padding: 30px 22px;
  }

  .bundle-program__details h3 {
    font-size: 21px;
  }

  .bundle-program__note {
    text-align: left;
  }

  .bundle-voices__heading {
    margin-bottom: 34px;
  }

  .bundle-voices__heading > p {
    font-size: 12px;
  }

  .bundle-voices__photo {
    padding: 7px;
  }

  .bundle-voices__photo figcaption {
    padding-top: 7px;
    font-size: 8px;
  }

  .bundle-voices__quotes blockquote {
    padding: 24px 20px;
  }

  .bundle-voices__quotes p {
    font-size: 13px;
  }

  .bundle-price__regular,
  .bundle-price__set {
    padding: 30px 22px;
  }

  .bundle-price__regular > strong {
    font-size: 21px;
  }

  .bundle-price__set > strong {
    font-size: 47px;
  }

  .bundle-price__set > b {
    margin-top: 26px;
  }

  .bundle-price__note {
    font-size: 9px;
  }

  .bundle-actions--price {
    margin-top: 25px;
  }

  .bundle-plans__grid a {
    min-height: 360px;
    padding: 24px;
  }

  .bundle-plans__grid strong {
    font-size: 22px;
  }

  .bundle-faq__list summary {
    padding: 22px 38px 22px 0;
    align-items: flex-start;
    gap: 12px;
    font-size: 12px;
    line-height: 1.7;
  }

  .bundle-faq__list summary span {
    font-size: 18px;
  }

  .bundle-faq__list details > p {
    padding: 0 8px 23px 30px;
    font-size: 11px;
  }

  .bundle-final {
    min-height: 690px;
    background-position: 58% center;
  }

  .bundle-final__shade {
    background: linear-gradient(0deg, rgba(0, 26, 55, .96), rgba(0, 26, 55, .25) 85%);
  }

  .bundle-final__inner {
    min-height: 538px;
    justify-content: flex-end;
  }

  .bundle-final h2 {
    font-size: 42px;
  }

  .bundle-final__inner > strong {
    font-size: 15px;
  }

  .bundle-actions--final {
    margin-top: 28px;
  }

  .bundle-actions--final .bundle-button--secondary-light {
    display: none;
  }

  .bundle-mobile-cta {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 90;
    display: grid;
    min-height: 82px;
    align-items: center;
    padding: 9px 12px calc(9px + env(safe-area-inset-bottom));
    border-top: 1px solid rgba(0, 43, 88, .16);
    background: rgba(255, 253, 248, .97);
    box-shadow: 0 -10px 28px rgba(0, 37, 76, .16);
    backdrop-filter: blur(12px);
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
  }

  .bundle-mobile-cta > span {
    color: var(--bundle-navy);
    font-size: 10px;
    font-weight: 900;
    line-height: 1.35;
  }

  .bundle-mobile-cta > span small {
    display: block;
    margin-bottom: 3px;
    color: var(--bundle-orange);
    font-size: 8px;
  }

  .bundle-mobile-cta > a {
    display: inline-flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 10px 16px;
    color: #fff;
    background: var(--bundle-orange);
    font-size: 12px;
    font-weight: 900;
    white-space: nowrap;
  }

  .bundle-page.is-menu-open .bundle-mobile-cta {
    opacity: 0;
    pointer-events: none;
  }
}
