/* Home 06: feature cards and closing CTA. */
.th-next {
  padding-block:110px 40px;
  background:#fff;
}
.th-next-title {
  margin:0 0 40px;
  color:var(--tm-ink);
  font:500 clamp(2rem,1.4rem + 2vw,3rem)/1.08 Gellix,Arial,sans-serif;
  letter-spacing:-.02em;
}
.th-next-cards {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
  margin:0;
  padding:0;
  list-style:none;
}
.th-next-card {
  position:relative;
  display:flex;
  aspect-ratio:4/5;
  overflow:hidden;
  border-radius:14px;
  background:var(--tm-ink);
  color:#fff;
  text-decoration:none;
  isolation:isolate;
}
.th-next-card:after {
  content:'';
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(180deg,rgba(16,18,24,.88) 0%,rgba(16,18,24,.55) 32%,rgba(16,18,24,0) 55%,rgba(16,18,24,0) 72%,rgba(16,18,24,.75) 100%);
}
.th-next-photo {
  position:absolute;
  inset:0;
  z-index:-2;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .6s cubic-bezier(.16,1,.3,1);
}
.th-next-body {
  display:flex;
  flex-direction:column;
  width:100%;
  padding:32px 30px 28px;
}
.th-next-eyebrow {
  color:#afc3ff;
  font:500 .66rem/1.6 var(--tm-mono);
  letter-spacing:.14em;
  text-transform:uppercase;
}
.th-next-card-title {
  margin:10px 0 0;
  color:#fff;
  font:500 clamp(1.6rem,1.2rem + 1vw,2.1rem)/1.1 Gellix,Arial,sans-serif;
  letter-spacing:-.015em;
}
.th-next-line {
  max-width:30ch;
  margin-top:12px;
  color:rgba(255,255,255,.82);
  font-size:.95rem;
  line-height:1.55;
}
.th-next-more {
  display:inline-flex;
  align-items:center;
  gap:14px;
  margin-top:auto;
  font-size:.9rem;
  font-weight:500;
}
.th-next-more .tm-arrow {
  transition:transform .3s;
}
.th-next-card:hover .th-next-photo,
.th-next-card:focus-visible .th-next-photo {
  transform:scale(1.04);
}
.th-next-card:hover .th-next-more .tm-arrow,
.th-next-card:focus-visible .th-next-more .tm-arrow {
  transform:translateX(6px);
}
.th-next-card:focus-visible {
  outline:3px solid var(--tm-blue);
  outline-offset:4px;
}

/* Closing CTA: rounded inset panel on the dawn photo. */
.th-next-cta {
  padding-block:40px 110px;
  background:#fff;
}
.th-next-panel {
  position:relative;
  display:flex;
  align-items:center;
  min-height:440px;
  overflow:hidden;
  border-radius:18px;
  background:radial-gradient(120% 140% at 85% 0%,#1d2f6b 0%,var(--tm-ink) 60%);
  color:#fff;
  isolation:isolate;
}
.th-next-panel:after {
  content:'';
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(90deg,rgba(16,18,24,.88) 0%,rgba(16,18,24,.6) 45%,rgba(16,18,24,.1) 100%);
}
.th-next-panel-photo {
  position:absolute;
  inset:0;
  z-index:-2;
  width:100%;
  height:100%;
  object-fit:cover;
}
.th-next-panel-body {
  max-width:640px;
  padding:64px clamp(28px,6vw,80px);
}
.th-next-panel-eyebrow {
  color:#afc3ff;
}
.th-next-panel-title {
  margin:18px 0 32px;
  color:#fff;
  font:500 clamp(2rem,1.3rem + 2.4vw,3.4rem)/1.06 Gellix,Arial,sans-serif;
  letter-spacing:-.02em;
}
.th-next-btn {
  background:#fff;
  color:var(--tm-ink);
}
.th-next-btn:hover {
  background:#e6ecfb;
  color:var(--tm-ink);
}
.th-next-btn:focus-visible {
  outline:3px solid #afc3ff;
  outline-offset:3px;
}
.th-next-note {
  margin:18px 0 0;
  color:rgba(255,255,255,.75);
  font-size:.86rem;
  line-height:1.5;
}

@media (max-width:991px) {
  .th-next-body {
    padding:24px 22px 22px;
  }
}
/* Mobile: cards scroll-snap inside their own track; the page does not overflow. */
@media (max-width:767px) {
  .th-next {
    padding-block:70px 24px;
  }
  .th-next-title {
    margin-bottom:28px;
  }
  .th-next-cards {
    display:flex;
    gap:14px;
    margin-inline:-20px;
    padding:0 20px 8px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scroll-padding-inline:20px;
    scrollbar-width:none;
  }
  .th-next-cards::-webkit-scrollbar {
    display:none;
  }
  .th-next-item {
    flex:0 0 82%;
    scroll-snap-align:start;
  }
  .th-next-cta {
    padding-block:24px 70px;
  }
  .th-next-panel {
    min-height:0;
    align-items:flex-end;
    aspect-ratio:auto;
  }
  .th-next-panel:after {
    background:linear-gradient(180deg,rgba(16,18,24,.35) 0%,rgba(16,18,24,.9) 70%);
  }
  .th-next-panel-body {
    padding:120px 24px 32px;
  }
  .th-next-btn {
    width:100%;
    justify-content:space-between;
  }
}
@media (prefers-reduced-motion:reduce) {
  .th-next-photo,
  .th-next-more .tm-arrow {
    transition:none;
  }
  .th-next-card:hover .th-next-photo,
  .th-next-card:focus-visible .th-next-photo,
  .th-next-card:hover .th-next-more .tm-arrow,
  .th-next-card:focus-visible .th-next-more .tm-arrow {
    transform:none;
  }
}
