@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');

:root {
  color-scheme: dark;
  --bg: #0c0d0b;
  --surface: #141512;
  --gold: #e4c47f;
  --gold-bright: #f1d79b;
  --gold-dim: #ac8e52;
  --text: #f5f3eb;
  --muted: #acada1;
  --line: #2b2d25;
  --heading: 'Manrope', Arial, sans-serif;
  --body: 'DM Sans', Arial, sans-serif;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 30px;
}

body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font: 16px/1.7 var(--body);
  -webkit-font-smoothing: antialiased;
}

body.modal-open {
  overflow: hidden;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
textarea {
  font: inherit;
  color: inherit;
}

button {
  cursor: pointer;
}

button,
a,
input,
summary {
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

button:disabled {
  opacity: .55;
  cursor: wait;
}

p,
h1,
h2,
h3 {
  margin: 0;
}

p {
  color: var(--muted);
}

h1,
h2,
h3 {
  font-family: var(--heading);
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -.04em;
}

h2 {
  font-size: clamp(1.8rem, 3vw, 2.6rem);
}

h3 {
  font-size: 1rem;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}

[hidden] {
  display: none !important;
}

:focus-visible {
  outline: 2px solid var(--gold-bright);
  outline-offset: 5px;
}

::selection {
  background: var(--gold);
  color: var(--bg);
}

.container {
  width: min(1080px, calc(100% - 56px));
  margin-inline: auto;
}

.gold-text {
  color: var(--gold);
}

.kicker,
.strip-label {
  display: block;
  color: var(--gold);
  font-size: .75rem;
  font-weight: 500;
  letter-spacing: .14em;
  line-height: 1.6;
  margin-bottom: 18px;
}

.eyebrow {
  display: inline-block;
  color: var(--gold);
  font-size: .75rem;
  letter-spacing: .1em;
}

.skip-link {
  position: fixed;
  top: -100px;
  left: 15px;
  padding: 12px 20px;
  background: var(--gold);
  color: var(--bg);
  z-index: 100;
}

.skip-link:focus {
  top: 15px;
}

.header {
  border-bottom: 1px solid #ffffff0a;
}

.nav {
  min-height: 86px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 25px;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font: 700 1.2rem/1.2 var(--heading);
  letter-spacing: -.04em;
}

.brand-logo {
  width: 49px;
  height: 49px;
  border-radius: 7px;
  object-fit: contain;
  background: white;
}

.header-video-link {
  font-size: .85rem;
  color: #c9c7b6;
}

.header-video-link span {
  color: var(--gold);
  margin-left: 12px;
}

.btn {
  position: relative;
  overflow: hidden;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 24px;
  min-height: 56px;
  padding: 16px 26px;
  border: 1px solid var(--gold);
  border-radius: 6px;
  background: linear-gradient(110deg, #edcf90, #dfba6c);
  color: #1b1b12;
  font-size: .95rem;
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
  transition: background .2s, transform .2s;
}

.btn::after {
  content: "";
  position: absolute;
  inset: -35% auto -35% -45%;
  width: 28%;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, #fff8 45%, #fffD 50%, #fff8 55%, transparent);
  transform: skewX(-22deg);
  opacity: 0;
  animation: button-shine 3s ease-in-out infinite;
  animation-delay: var(--button-delay, 0s);
}

@keyframes button-shine {
  0% { left: -45%; opacity: 0; }
  8% { opacity: .85; }
  48% { left: 125%; opacity: .85; }
  49%, 100% { left: 125%; opacity: 0; }
}

.btn:is(:disabled, [aria-disabled="true"])::after {
  animation: none;
  opacity: 0;
}

.btn:hover {
  background: var(--gold-bright);
  transform: translateY(-2px);
}

.btn-block {
  display: flex;
  width: 100%;
}

.btn span[aria-hidden] {
  font-size: 1.2em;
}

.hero {
  padding: 50px 0 46px;
  background: radial-gradient(ellipse 70% 40% at 50% 0%, #9271370d, transparent);
}

.hero-copy {
  max-width: 980px;
  margin: 0 auto 32px;
  text-align: center;
}

.hero-copy .kicker {
  margin-bottom: 18px;
}

.hero h1 {
  font-size: clamp(2rem, 4vw, 3.5rem);
  line-height: 1.22;
  font-weight: 650;
  letter-spacing: -.05em;
}

.hero-copy p {
  max-width: 670px;
  margin: 22px auto 0;
  font-size: 1rem;
  line-height: 1.8;
}

.vsl-shell {
  width: min(660px, 100%);
  margin: 0 auto;
  border: 1px solid #5b4d2d;
  background: #080906;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 20px 75px #0004;
  scroll-margin-top: 20px;
}

.vsl-shell wistia-player {
  display: block;
  width: 100%;
  aspect-ratio: 1.0666666667;
}

.vsl-shell wistia-player:not(:defined) {
  background: #10120b url('https://fast.wistia.com/embed/medias/vtg1jzaon8/swatch') center / contain no-repeat;
}

.vsl-shell video {
  width: 100%;
  display: block;
}

.hero-action {
  text-align: center;
  margin-top: 28px;
}

.hero-action p {
  font-size: .8rem;
  margin-top: 14px;
}

.venture-strip {
  padding: 32px 0 38px;
  border-block: 1px solid var(--line);
}

.strip-label {
  text-align: center;
  color: #929887;
  margin-bottom: 24px;
}

.venture-logos {
  max-width: 780px;
  margin: 0 auto;
  overflow: hidden;
}

.venture-logo-track {
  display: flex;
  width: max-content;
  animation: ecosystem-scroll 40s linear infinite;
}

.venture-logo-group {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  gap: 38px;
  padding-right: 38px;
}

@keyframes ecosystem-scroll {
  to { transform: translateX(-50%); }
}

.venture-logos:is(:hover, :focus-within) .venture-logo-track {
  animation-play-state: paused;
}

.venture-logos img {
  flex-shrink: 0;
  width: 120px;
  height: 52px;
  object-fit: contain;
  background: #f6f5f0;
  border-radius: 4px;
  padding: 6px 12px;
  opacity: .88;
}

.section {
  padding: 90px 0;
}

.section-heading {
  margin-bottom: 40px;
}

.centered {
  text-align: center;
}

.mentor-grid {
  max-width: 900px;
  display: grid;
  grid-template-columns: 300px 1fr;
  gap: 65px;
  align-items: center;
}

.mentor-visual {
  aspect-ratio: 1;
  border-radius: 12px;
  overflow: hidden;
}

.mentor-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 66% 30%;
}

.mentor-copy .kicker {
  margin-bottom: 12px;
}

.mentor-copy h2 {
  font-size: 2.3rem;
}

.mentor-role {
  font-size: .9rem;
  color: #cdcbb8;
  margin: 12px 0 22px;
}

.mentor-copy>p:not(.mentor-role) {
  font-size: 1rem;
  max-width: 480px;
}

.mentor-stats {
  display: flex;
  gap: 46px;
  margin-top: 27px;
}

.mentor-stats strong {
  display: block;
  color: var(--gold);
  font: 600 1.9rem/1.3 var(--heading);
  letter-spacing: -.04em;
}

.mentor-stats span {
  display: block;
  color: var(--muted);
  font-size: .8rem;
  margin-top: 5px;
}

.call-section {
  background: #11120e;
  border-block: 1px solid var(--line);
}

.benefit-grid {
  max-width: 940px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 35px 60px;
}

.benefit-grid article {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}

.benefit-grid article>span {
  color: var(--gold);
  font-size: .85rem;
  padding-top: 2px;
}

.benefit-grid h3 {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: -.02em;
  margin-bottom: 9px;
}

.benefit-grid p {
  font-size: 1rem;
  line-height: 1.8;
}

.review-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.review-card {
  display: block;
}

.review-image {
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  border-radius: 9px;
  background: #171a12;
}

.review-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.play-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 46px;
  height: 46px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #e4c47fee;
  color: #222112;
  border: 1px solid #fae4b4;
  font-size: .85rem;
  padding-left: 2px;
}

.review-caption {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  padding-top: 17px;
}

.review-caption h3 {
  font-size: .85rem;
  letter-spacing: -.025em;
}

.review-caption>span {
  font-size: .75rem;
  color: var(--gold);
  white-space: nowrap;
}

.achievements {
  padding-top: 55px;
  margin-top: 60px;
  border-top: 1px solid var(--line);
}

.gallery-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 30px;
  margin-bottom: 26px;
}

.gallery-heading .kicker {
  margin-bottom: 10px;
}

.gallery-heading h2 {
  font-size: 1.6rem;
  letter-spacing: -.035em;
}

.gallery-controls {
  display: flex;
  gap: 10px;
}

.gallery-controls button,
.lightbox-controls button {
  border: 1px solid #4e4932;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  background: #1a1c13;
  color: var(--gold);
}

.achievement-track {
  display: flex;
  gap: 24px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  scrollbar-color: #655334 #191b13;
  padding-bottom: 15px;
}

.achievement-track>a {
  position: relative;
  flex: 0 0 calc(50% - 12px);
  scroll-snap-align: start;
  overflow: hidden;
  border-radius: 9px;
  background: #191c14;
}

.achievement-track img {
  width: 100%;
  height: 270px;
  object-fit: contain;
}

.achievement-track a>span {
  position: absolute;
  bottom: 12px;
  right: 12px;
  background: #10120cd9;
  color: #e5d5af;
  padding: 7px 11px;
  border: 1px solid #5c5034;
  border-radius: 5px;
  font-size: .75rem;
}

.program-section {
  background: #11120e;
  border-block: 1px solid var(--line);
}

.program-card {
  max-width: 800px;
  padding: 48px;
  border: 1px solid #5a4a29;
  border-radius: 14px;
  background: linear-gradient(130deg, #1f2015, #12140d);
  text-align: center;
}

.program-card h2 {
  font-size: 2.25rem;
}

.program-subtitle {
  color: var(--gold);
  font-size: 1.2rem;
  margin-top: 13px;
}

.program-amount {
  display: block;
  color: var(--gold-bright);
  font: 500 3.4rem/1.25 var(--heading);
  letter-spacing: -.06em;
  margin: 28px 0 15px;
}

.program-note {
  font-size: .95rem;
  max-width: 460px;
  margin: 0 auto 28px;
}

.faq-layout {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: 60px;
}

.faq details {
  border-bottom: 1px solid var(--line);
}

.faq details:first-child {
  border-top: 1px solid var(--line);
}

.faq summary {
  cursor: pointer;
  list-style: none;
  padding: 21px 0;
  display: flex;
  justify-content: space-between;
  gap: 25px;
  font-size: .95rem;
  line-height: 1.7;
}

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

.faq summary>span {
  color: var(--gold);
  font-size: 1.2rem;
}

.faq details[open] summary {
  color: var(--gold);
}

.faq details[open] summary>span {
  transform: rotate(45deg);
}

.faq details p {
  font-size: 1rem;
  line-height: 1.8;
  padding-bottom: 22px;
}

.faq details p a {
  color: var(--gold);
  text-decoration: underline;
}

.footer {
  padding: 28px 0 122px;
  border-top: 1px solid var(--line);
}

.footer-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}

.footer-inner>div {
  display: flex;
  align-items: center;
  gap: 24px;
  font-size: .75rem;
  color: #989e8a;
}

.sticky-cta {
  position: fixed;
  inset: auto 0 0;
  z-index: 20;
  padding: 14px 0 max(14px, env(safe-area-inset-bottom));
  background: #10120eef;
  backdrop-filter: blur(20px);
  border-top: 1px solid #54472d;
}

.sticky-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
}

.sticky-inner>div>span {
  display: block;
  font-size: .8rem;
  color: var(--muted);
}

.sticky-inner>div>strong {
  display: block;
  font-size: 1rem;
  font-weight: 500;
  color: var(--gold);
}

.sticky-inner .btn {
  min-height: 47px;
  font-size: .85rem;
  padding: 12px 22px;
}

/* Text reviews: three visible on desktop and a swipeable card on mobile. */
.testimonial-track {
  display: flex;
  gap: 22px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
  padding: 4px 0 15px;
}

.testimonial-track::-webkit-scrollbar {
  display: none;
}

.testimonial-card {
  flex: 0 0 calc((100% - 44px) / 3);
  min-width: 0;
  display: flex;
  flex-direction: column;
  background: linear-gradient(145deg, #1a1d16, #12160f);
  border: 1px solid #343e2b;
  border-radius: 16px;
  padding: 27px;
  scroll-snap-align: start;
}

.testimonial-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 25px;
}

.testimonial-stars {
  color: var(--gold);
  font-size: 1rem;
  letter-spacing: .08em;
}

.testimonial-quote-mark {
  color: var(--gold);
  display: grid;
  place-items: center;
  width: 39px;
  height: 39px;
  border: 1px solid #5c4c2a;
  background: #e4c47f08;
  border-radius: 11px;
  font: 600 1.6rem/1 Georgia, serif;
  padding-top: 5px;
}

.testimonial-card blockquote {
  margin: 0 0 27px;
  color: #e0e3d6;
  font-size: 1rem;
  line-height: 1.9;
  flex: 1;
}

.testimonial-person {
  display: flex;
  align-items: center;
  gap: 12px;
  border-top: 1px solid #333b29;
  padding-top: 20px;
}

.testimonial-avatar {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 1px solid #87703f;
  border-radius: 50%;
  color: var(--gold);
  background: #27291c;
  flex-shrink: 0;
  font-size: 1rem;
}

.testimonial-person strong {
  display: block;
  font-size: .9rem;
  font-weight: 500;
}

.testimonial-person small {
  display: block;
  font-size: .75rem;
  color: #9fa98e;
  margin-top: 4px;
}

.testimonial-navigation {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 22px;
  margin-top: 17px;
}

.testimonial-navigation button {
  width: 40px;
  height: 40px;
  border: 1px solid #5c5135;
  border-radius: 50%;
  background: #1b1f14;
  color: var(--gold);
}

.testimonial-navigation span {
  color: #aab39a;
  font-size: .8rem;
  min-width: 72px;
  text-align: center;
}

.proof-demo-label {
  display: inline-block;
  padding: 8px 13px;
  margin-top: 18px;
  border: 1px dashed #74613b;
  border-radius: 6px;
  color: #dbc491;
  background: #252317;
  font-size: .8rem;
}

.testimonial-sample {
  display: block;
  font-size: .75rem;
  color: #b9ad8b;
  margin: -8px 0 16px;
}

.client-experiences[hidden]+.achievements {
  padding-top: 0;
  margin-top: 0;
  border: 0;
}

/* City-free activity notification, dismissible and out of the form's interaction path. */
.enrollment-toast {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 30;
  width: min(390px, calc(100% - 32px));
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 24px 30px 24px 19px;
  border: 1px solid #796332;
  border-radius: 15px;
  background: #171c14f5;
  backdrop-filter: blur(15px);
  box-shadow: 0 18px 55px #0006;
  animation: enrollment-enter .35s ease-out both;
}

.enrollment-avatar {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  flex-shrink: 0;
  background: #d8b564;
  color: #222618;
  font-size: 1.25rem;
  font-weight: 600;
}

.enrollment-copy {
  min-width: 0;
  flex: 1;
}

.enrollment-copy p {
  font-size: .9rem;
  line-height: 1.7;
  color: #e5e8d9;
  overflow-wrap: anywhere;
}

.enrollment-copy strong {
  color: var(--gold-bright);
  font-weight: 500;
}

.enrollment-time {
  display: none;
  margin-top: 4px;
  font-size: .8rem;
  color: #a0ad91;
}

.enrollment-demo {
  display: block;
  margin-bottom: 6px;
  color: #ead094;
  font-size: .75rem;
  letter-spacing: .025em;
}

.enrollment-check {
  display: grid;
  place-items: center;
  width: 23px;
  height: 23px;
  flex-shrink: 0;
  border-radius: 50%;
  background: #a5c57b;
  color: #1c2d11;
  font-size: .8rem;
}

.enrollment-dismiss {
  position: absolute;
  top: 5px;
  right: 5px;
  width: 27px;
  height: 27px;
  border: 0;
  border-radius: 50%;
  color: #afb99b;
  background: transparent;
  font-size: 1.1rem;
  line-height: 1;
}

.enrollment-toast:hover {
  border-color: #b1975b;
}

@keyframes enrollment-enter {
  from {
    opacity: 0;
    translate: 22px 0;
  }

  to {
    opacity: 1;
    translate: 0 0;
  }
}

/* A short, subtle nudge every few seconds. Pause when a person interacts. */
@keyframes button-nudge {

  0%,
  66%,
  100% {
    translate: 0 0;
    rotate: 0deg;
  }

  72% {
    translate: 0 -2px;
    rotate: -.35deg;
  }

  78% {
    translate: 0 0;
    rotate: .35deg;
  }

  84% {
    translate: 0 -1px;
    rotate: -.2deg;
  }

  90% {
    translate: 0 0;
    rotate: 0deg;
  }
}

:is(.btn, button):not(.enrollment-dismiss) {
  animation: button-nudge 6s ease-in-out infinite;
  animation-delay: var(--button-delay, 0s);
}

:is(.btn, button):nth-of-type(2n) {
  --button-delay: -1.6s;
}

:is(.btn, button):nth-of-type(3n) {
  --button-delay: -3.2s;
}

.hero-action .btn {
  --button-delay: -.8s;
}

.sticky-cta .btn {
  --button-delay: -2.7s;
}

.program-card .btn {
  --button-delay: -4.1s;
}

:is(.btn, button):is(:hover, :focus-visible, :active, :disabled, [aria-disabled="true"]) {
  animation: none;
  translate: 0 0;
  rotate: 0deg;
}

@media (max-width: 900px) {
  .testimonial-card {
    flex-basis: calc((100% - 22px) / 2);
  }
}

@media (max-width: 600px) {
  .testimonial-track {
    gap: 15px;
  }

  .testimonial-card {
    flex-basis: 91%;
    padding: 26px 24px;
  }

  .testimonial-top {
    margin-bottom: 20px;
  }

  .testimonial-navigation {
    margin-top: 12px;
  }

  .enrollment-toast {
    right: 16px;
    bottom: max(16px, env(safe-area-inset-bottom));
    padding: 23px 25px 23px 16px;
    gap: 12px;
  }

  .enrollment-avatar {
    width: 42px;
    height: 42px;
    font-size: 1.1rem;
  }

  .enrollment-copy p {
    font-size: .85rem;
  }

  .enrollment-check {
    display: none;
  }
}

/* Dialogs: video progress, numeric targets and photos. */
.modal {
  width: min(510px, calc(100% - 32px));
  max-height: calc(100dvh - 40px);
  overflow: auto;
  padding: 40px;
  border: 1px solid #625034;
  border-radius: 14px;
  background: #181a13;
  color: var(--text);
  box-shadow: 0 30px 100px #0008;
}

.modal::backdrop {
  background: #060704de;
  backdrop-filter: blur(7px);
}

.modal-close {
  position: absolute;
  right: 13px;
  top: 13px;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 1px solid #4b503b;
  border-radius: 50%;
  background: #22251a;
  color: #dcdbc8;
  font-size: 1.5rem;
  line-height: 1;
  z-index: 2;
}

.modal .kicker {
  font-size: .75rem;
  letter-spacing: .1em;
  max-width: 90%;
}

.modal h2 {
  font-size: 1.9rem;
  line-height: 1.3;
}

.watch-play-mark {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  margin-bottom: 23px;
  border: 1px solid #655331;
  border-radius: 50%;
  color: var(--gold);
  background: #e4c47f0c;
  font-size: 1rem;
}

#watchStep .kicker {
  margin-bottom: 14px;
  letter-spacing: .07em;
}

#watchTitle {
  font-size: clamp(1.75rem, 5vw, 2.15rem);
  line-height: 1.25;
  letter-spacing: -.045em;
}

.watch-summary {
  padding: 18px 20px;
  margin-top: 24px;
  border: 1px solid #3e402c;
  border-radius: 9px;
  background: #10120c;
}

.watch-progress-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  font-size: .75rem;
  line-height: 1.6;
  color: #969e85;
}

.watch-progress-row>span:first-child {
  letter-spacing: .055em;
}

#watchPercent {
  color: #c7c5aa;
  white-space: nowrap;
}

.watch-time-row {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-top: 10px;
}

.watch-summary strong {
  color: var(--gold-bright);
  font: 500 1.4rem/1.4 var(--heading);
  letter-spacing: -.035em;
  flex-shrink: 0;
}

#watchedDuration {
  font-size: .85rem;
  color: #b2b7a0;
  line-height: 1.7;
}

.watch-summary progress {
  display: block;
  width: 100%;
  height: 4px;
  border: 0;
  border-radius: 4px;
  overflow: hidden;
  background: #343726;
  margin-top: 13px;
}

.watch-summary progress::-webkit-progress-bar {
  background: #343726;
}

.watch-summary progress::-webkit-progress-value {
  background: var(--gold);
}

.watch-summary progress::-moz-progress-bar {
  background: var(--gold);
}

#watchPrompt {
  font-size: 1rem;
  line-height: 1.85;
  margin: 18px 0 0;
}

.watch-actions {
  display: flex;
  flex-direction: column;
  gap: 18px;
  margin-top: 25px;
}

.watch-actions .btn {
  order: 0;
  font-size: .9rem;
  padding-inline: 16px;
}

.watch-actions .watch-secondary {
  order: 1;
  text-decoration: none;
  color: #b3bba1;
  font-size: .85rem;
  padding: 5px 0;
}

.watch-actions .watch-secondary:hover {
  color: var(--gold-bright);
}

.text-button {
  border: 0;
  background: none;
  color: var(--gold);
  padding: 0;
  font-size: .85rem;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.watch-again {
  display: block;
  margin: 20px auto 0;
  color: #bec2ab;
  text-decoration: none;
}

.goal-choices {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  padding: 0;
  border: 0;
  margin: 26px 0;
}

.goal-choices legend {
  font-size: .8rem;
  color: var(--muted);
  margin-bottom: 12px;
}

.goal-choices label {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 12px;
  border: 1px solid #3d4430;
  border-radius: 7px;
  cursor: pointer;
  font-size: .85rem;
  line-height: 1.5;
}

.goal-choices label:has(input:checked) {
  border-color: var(--gold-dim);
  background: #2b2718;
  color: var(--gold-bright);
}

.goal-choices input {
  width: 15px;
  height: 15px;
  accent-color: var(--gold);
  margin: 0;
  flex-shrink: 0;
}

.field-label {
  display: block;
  font-size: .95rem;
  margin-bottom: 12px;
}

.goal-number {
  position: relative;
  margin-bottom: 28px;
}

.goal-number input {
  display: block;
  width: 100%;
  background: #0e110b;
  border: 1px solid #4b5239;
  border-radius: 8px;
  padding: 15px 115px 15px 18px;
  font-size: 1.5rem;
  line-height: 1.7;
}

.goal-number input::placeholder {
  color: #69705d;
}

.goal-number>span {
  position: absolute;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  font-size: .8rem;
  color: #b1b799;
  pointer-events: none;
}

.image-modal {
  width: min(1100px, calc(100% - 32px));
  padding: 50px 20px 15px;
}

.image-modal>img {
  width: 100%;
  height: min(70vh, 780px);
  object-fit: contain;
}

.lightbox-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 25px;
  padding-top: 20px;
  color: var(--muted);
  font-size: .85rem;
}

.review-modal {
  width: min(1000px, calc(100% - 32px));
  padding: 54px 15px 15px;
}

.review-modal iframe {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  border: 0;
  background: #050704;
}

.payment-message,
.form-message {
  padding: 14px 16px;
  margin: 16px 0;
  border: 1px solid #965a4b;
  border-radius: 7px;
  background: #3b211b;
  color: #f2c7b4;
  font-size: .9rem;
  line-height: 1.8;
}

.payment-message.info {
  background: #292719;
  border-color: #716239;
  color: #e5d6af;
}

.payment-message.success,
.form-message.success {
  background: #222f1d;
  border-color: #516b3f;
  color: #c9dfb6;
}

/* Compact checkout. Payment form IDs and names are preserved. */
.checkout-header-note {
  font-size: .8rem;
  color: #b7baa6;
}

.status-dot {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--gold);
  margin-right: 5px;
}

.back-link {
  display: inline-block;
  margin: 26px 0;
  font-size: .8rem;
  color: var(--muted);
}

.checkout-steps {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 28px;
  margin: 5px 0 40px;
  list-style: none;
  padding: 0;
}

.checkout-steps li {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #929a83;
  font-size: .8rem;
}

.checkout-steps b {
  display: grid;
  place-items: center;
  width: 27px;
  height: 27px;
  border: 1px solid #414931;
  border-radius: 50%;
  font-size: .75rem;
  font-weight: 400;
}

.checkout-steps li.active {
  color: var(--gold);
}

.checkout-steps .active b {
  border-color: var(--gold-dim);
  background: #262416;
}

.checkout-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 70px;
  align-items: start;
  padding-bottom: 65px;
}

.checkout-story {
  padding-top: 14px;
}

.checkout-story h1 {
  font-size: clamp(2.6rem, 4vw, 3.8rem);
  letter-spacing: -.055em;
  line-height: 1.17;
}

.checkout-story>p {
  margin-top: 20px;
  font-size: 1rem;
}

.booking-notice {
  display: flex;
  align-items: flex-start;
  gap: 13px;
  border-left: 2px solid var(--gold);
  background: #1e2014;
  padding: 20px;
  margin-top: 30px;
}

.notice-icon {
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  border: 1px solid #695c33;
  border-radius: 50%;
  color: var(--gold);
  font-size: .8rem;
  flex-shrink: 0;
}

.booking-notice strong {
  color: var(--gold);
  font-size: .9rem;
  font-weight: 500;
}

.booking-notice p {
  font-size: .875rem;
  margin-top: 7px;
  line-height: 1.8;
}

.personal-goal {
  border: 1px solid #4d4429;
  border-radius: 10px;
  padding: 23px;
  background: #1b1e12;
  margin-top: 28px;
}

.goal-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.goal-top .kicker {
  margin: 0;
  font-size: .75rem;
  letter-spacing: .09em;
}

.goal-top button {
  font-size: .8rem;
}

.personal-goal blockquote {
  margin: 17px 0;
  color: var(--gold-bright);
  font-family: var(--heading);
  font-size: 1.35rem;
  line-height: 1.6;
  letter-spacing: -.03em;
  overflow-wrap: anywhere;
}

.personal-goal p {
  font-size: .875rem;
  line-height: 1.85;
}

.checkout-mentor {
  display: flex;
  align-items: center;
  gap: 13px;
  margin-top: 27px;
}

.checkout-mentor img {
  width: 42px;
  height: 42px;
  object-fit: cover;
  object-position: 65% 25%;
  border-radius: 50%;
}

.checkout-mentor strong {
  display: block;
  font-size: .9rem;
  font-weight: 500;
}

.checkout-mentor span {
  display: block;
  font-size: .75rem;
  color: var(--muted);
}

.checkout-card {
  border: 1px solid #51472d;
  border-radius: 12px;
  background: #171a12;
  padding: 30px;
}

.checkout-card .kicker {
  font-size: .75rem;
  margin-bottom: 12px;
}

.checkout-card h2 {
  font-size: 1.6rem;
}

.checkout-card>p {
  font-size: .875rem;
  margin: 12px 0 25px;
}

.form-field {
  margin-bottom: 19px;
}

.form-field label {
  display: block;
  font-size: .875rem;
  margin-bottom: 8px;
  color: #d5d9c5;
}

.form-field input {
  width: 100%;
  height: 49px;
  border: 1px solid #414931;
  background: #10140b;
  border-radius: 6px;
  padding: 12px 14px;
  font-size: 1rem;
}

.form-field input::placeholder {
  color: #737d64;
}

.form-field input:focus {
  border-color: var(--gold);
  outline: 0;
  box-shadow: 0 0 0 3px #e4c47f16;
}

.phone-input {
  position: relative;
}

.phone-input>span {
  position: absolute;
  left: 13px;
  top: 11px;
  padding-right: 12px;
  border-right: 1px solid #424a32;
  color: #b8bfaa;
  font-size: .9rem;
}

.phone-input input {
  padding-left: 65px;
}

.form-hint {
  font-size: .75rem;
  color: #9aa68b;
  margin-top: 6px;
}

.order-summary {
  border-block: 1px solid #383f2a;
  padding: 19px 0;
  margin: 25px 0 22px;
}

.order-line,
.order-total {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: center;
}

.order-line {
  color: #afb89e;
  font-size: .875rem;
}

.order-line strong {
  font-weight: 400;
}

.order-total {
  margin-top: 16px;
}

.order-total strong {
  color: var(--gold);
  font: 500 2rem/1.2 var(--heading);
  letter-spacing: -.05em;
}

.consent-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: .875rem;
  color: #adb99d;
  line-height: 1.8;
}

.consent-row input {
  margin: 5px 0 0;
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  accent-color: var(--gold);
}

.consent-row button {
  font-size: inherit;
}

.communication-note {
  font-size: .75rem;
  margin: 12px 0 23px;
  color: #939f82;
}

.secure-note {
  text-align: center;
  font-size: .75rem;
  margin-top: 14px;
  color: #a0ab8e;
}

.payment-methods {
  display: flex;
  justify-content: center;
  gap: 18px;
  font-size: .75rem;
  letter-spacing: .08em;
  color: #9ea98a;
  margin-top: 15px;
}

.checkout-bottom {
  border-top: 1px solid var(--line);
  padding: 24px 0;
  font-size: .75rem;
  color: #8f9a7e;
}

/* Keep the application form close to the top; the commitment follows it on mobile. */
.checkout-compact .nav {
  min-height: 72px;
}

.checkout-compact .back-link {
  margin: 16px 0;
}

.checkout-compact .checkout-steps {
  margin: 0 0 25px;
}

.checkout-compact .checkout-layout {
  gap: 48px;
  padding-bottom: 40px;
}

.checkout-compact .checkout-story {
  padding-top: 8px;
}

.checkout-compact .checkout-story>.kicker {
  margin-bottom: 14px;
}

.checkout-compact .checkout-story h1 {
  font-size: clamp(2.2rem, 3.7vw, 3.1rem);
}

.checkout-compact .booking-notice {
  padding: 14px 16px;
  margin-top: 22px;
}

.checkout-compact .booking-notice p {
  margin-top: 4px;
}

.checkout-compact .checkout-card {
  padding: 25px 28px;
}

.checkout-compact .checkout-card h2 {
  font-size: 1.4rem;
}

.checkout-compact .checkout-card>p {
  margin: 8px 0 18px;
  font-size: .8rem;
}

.checkout-compact .form-field {
  margin-bottom: 13px;
}

.checkout-compact .form-field label {
  margin-bottom: 5px;
}

.checkout-compact .form-field input {
  height: 46px;
}

.checkout-compact .form-hint {
  margin-top: 4px;
}

.checkout-compact .order-summary {
  margin: 18px 0 15px;
  padding: 12px 0;
}

.checkout-compact .order-total {
  margin-top: 0;
  font-size: .875rem;
}

.checkout-compact .order-total strong {
  font-size: 1.65rem;
}

.checkout-compact .communication-note {
  margin: 9px 0 17px;
}

.checkout-compact .secure-note {
  margin-top: 10px;
}

.commitment-card {
  background: linear-gradient(130deg, #272617, #181d10);
  border-color: #68572f;
}

.commitment-card>.kicker {
  font-size: .75rem;
  letter-spacing: .08em;
  margin-bottom: 15px;
}

.commitment-card h2 {
  font-size: 1.8rem;
  line-height: 1.25;
}

.commitment-card blockquote {
  font-size: 1.05rem;
  line-height: 1.7;
  margin: 19px 0 15px;
  color: #ede6cf;
}

.commitment-card .commitment-promise {
  font-size: 1rem;
  color: #d4d8c1;
  line-height: 1.8;
}

.commitment-promise strong {
  color: var(--gold-bright);
  font-weight: 500;
}

.commitment-card .commitment-scope {
  border-top: 1px solid #47482e;
  padding-top: 14px;
  margin-top: 17px;
  font-size: .875rem;
  line-height: 1.8;
  color: #acb39b;
}

/* Existing policy content remains available on demand. */
.policy-modal {
  width: min(700px, calc(100% - 32px));
}

.policy-modal-top {
  padding-bottom: 20px;
  border-bottom: 1px solid var(--line);
}

.policy-modal-top h2 {
  font-size: 1.7rem;
}

.policy-content {
  padding: 22px 0;
}

.policy-content h3 {
  font-size: 1rem;
  margin: 25px 0 10px;
  letter-spacing: -.02em;
}

.policy-content p {
  font-size: 1rem;
  line-height: 1.85;
}

.policy-content p+p {
  margin-top: 12px;
}

.policy-highlight,
.policy-warning {
  padding: 20px;
  border: 1px solid #4b472c;
  border-radius: 7px;
  background: #242718;
}

.policy-highlight strong,
.policy-warning strong {
  font-size: .95rem;
  color: var(--gold);
}

.policy-highlight p,
.policy-warning p {
  margin-top: 10px;
}

.policy-warning {
  margin-top: 25px;
}

.policy-content a {
  color: var(--gold);
  overflow-wrap: anywhere;
}

.policy-modal-footer {
  padding-top: 20px;
  border-top: 1px solid var(--line);
}

@media (max-width: 900px) {
  .mentor-grid {
    grid-template-columns: 260px 1fr;
    gap: 38px;
  }

  .mentor-copy h2 {
    font-size: 2rem;
  }

  .benefit-grid {
    gap: 30px 36px;
  }

  .review-grid {
    gap: 17px;
  }

  .review-caption {
    display: block;
  }

  .review-caption>span {
    display: block;
    margin-top: 6px;
  }

  .checkout-layout {
    gap: 35px;
  }

  .checkout-card {
    padding: 24px;
  }

  .faq-layout {
    gap: 35px;
  }

  .achievement-track img {
    height: 230px;
  }
}

@media (max-width: 600px) {
  .container {
    width: calc(100% - 36px);
  }

  .nav {
    min-height: 76px;
    gap: 20px;
  }

  .brand {
    gap: 9px;
    font-size: 1rem;
  }

  .brand-logo {
    width: 41px;
    height: 41px;
  }

  .header-video-link {
    font-size: .75rem;
  }

  .header-video-link span {
    margin-left: 5px;
  }

  .hero {
    padding: 33px 0 35px;
  }

  .hero-copy {
    margin-bottom: 25px;
  }

  .hero-copy .kicker {
    font-size: .75rem;
    letter-spacing: .065em;
    margin-bottom: 16px;
  }

  .hero h1 {
    font-size: clamp(1.8rem, 7.1vw, 2.5rem);
    line-height: 1.25;
  }

  .hero h1 br {
    display: none;
  }

  .hero h1 .gold-text {
    display: block;
  }

  .hero-copy p {
    font-size: .95rem;
    line-height: 1.8;
    margin-top: 20px;
  }

  .vsl-shell {
    border-radius: 7px;
  }

  .hero-action {
    margin-top: 23px;
  }

  .btn {
    font-size: .875rem;
    padding: 15px 20px;
    gap: 18px;
    min-height: 53px;
  }

  .hero-action p {
    font-size: .75rem;
  }

  .venture-strip {
    padding: 25px 0 29px;
  }

  .strip-label {
    font-size: .75rem;
    letter-spacing: .09em;
    margin-bottom: 20px;
  }

  .venture-logo-group {
    gap: 10px;
    padding-right: 10px;
  }

  .venture-logo-track {
    animation-duration: 28s;
  }

  .venture-logos img {
    width: clamp(48px, calc((100vw - 76px) / 5), 105px);
    height: 40px;
    padding: 5px;
  }

  .section {
    padding: 65px 0;
  }

  .section-heading {
    margin-bottom: 32px;
  }

  .section-heading h2 {
    font-size: 2rem;
  }

  .kicker {
    font-size: .75rem;
    letter-spacing: .08em;
  }

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

  .mentor-visual {
    width: 100%;
    aspect-ratio: 1.3;
  }

  .mentor-copy h2 {
    font-size: 2.2rem;
  }

  .mentor-role {
    margin-bottom: 18px;
  }

  .mentor-copy>p:not(.mentor-role) {
    font-size: 1rem;
  }

  .mentor-stats {
    margin-top: 24px;
    gap: 40px;
  }

  .benefit-grid {
    grid-template-columns: 1fr;
    gap: 29px;
  }

  .benefit-grid article {
    gap: 14px;
  }

  .benefit-grid h3 {
    font-size: 1rem;
    margin-bottom: 7px;
  }

  .benefit-grid p {
    font-size: 1rem;
  }

  .review-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .review-image {
    aspect-ratio: 16 / 9;
  }

  .review-caption {
    display: flex;
    padding-top: 14px;
  }

  .review-caption h3 {
    font-size: .95rem;
  }

  .review-caption>span {
    margin-top: 0;
    font-size: .8rem;
  }

  .achievements {
    margin-top: 45px;
    padding-top: 35px;
  }

  .gallery-heading {
    gap: 20px;
    align-items: flex-end;
  }

  .gallery-heading h2 {
    font-size: 1.4rem;
    line-height: 1.4;
  }

  .gallery-heading .kicker {
    font-size: .75rem;
    letter-spacing: .035em;
  }

  .gallery-controls {
    gap: 7px;
  }

  .gallery-controls button {
    width: 34px;
    height: 34px;
  }

  .achievement-track {
    gap: 16px;
  }

  .achievement-track>a {
    flex-basis: 92%;
  }

  .achievement-track img {
    height: 230px;
  }

  .program-card {
    padding: 30px 23px;
  }

  .program-card h2 {
    font-size: 1.9rem;
  }

  .program-card .kicker {
    font-size: .75rem;
    letter-spacing: .055em;
  }

  .program-subtitle {
    font-size: 1.05rem;
  }

  .program-amount {
    font-size: 3rem;
    margin-top: 24px;
  }

  .program-note {
    font-size: .95rem;
  }

  .program-card .btn {
    font-size: .8rem;
    padding-inline: 15px;
    gap: 15px;
  }

  .faq-layout {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .faq summary {
    font-size: .95rem;
  }

  .footer {
    padding-bottom: 114px;
  }

  .footer-inner {
    align-items: flex-start;
    flex-direction: column;
    gap: 23px;
  }

  .footer-inner>div {
    flex-wrap: wrap;
    gap: 12px 20px;
    font-size: .75rem;
  }

  .sticky-cta {
    padding: 12px 0 max(12px, env(safe-area-inset-bottom));
  }

  .sticky-inner {
    gap: 12px;
  }

  .sticky-inner>div>span {
    font-size: .75rem;
  }

  .sticky-inner>div>strong {
    font-size: .8rem;
  }

  .sticky-inner .btn {
    font-size: .75rem;
    padding: 11px 12px;
    min-height: 45px;
    gap: 8px;
  }

  .sticky-inner .btn>span {
    display: none;
  }

  .modal {
    padding: 33px 24px;
    max-height: calc(100dvh - 24px);
  }

  .modal h2 {
    font-size: 1.75rem;
  }

  .modal .kicker {
    font-size: .75rem;
    letter-spacing: .06em;
  }

  .watch-summary {
    padding: 16px;
  }

  .watch-summary strong {
    font-size: 1.3rem;
  }

  .watch-play-mark {
    width: 43px;
    height: 43px;
    margin-bottom: 20px;
  }

  #watchPrompt {
    font-size: .95rem;
  }

  .watch-actions .btn {
    font-size: .85rem;
  }

  .goal-choices {
    gap: 10px;
  }

  .goal-choices label {
    padding: 12px 10px;
    font-size: .8rem;
    gap: 8px;
  }

  .goal-number input {
    font-size: 1.4rem;
    padding-right: 105px;
  }

  .image-modal {
    padding: 50px 10px 15px;
  }

  .image-modal>img {
    height: 60vh;
  }

  .review-modal {
    padding: 52px 10px 10px;
  }

  .checkout-header-note {
    max-width: 135px;
    font-size: .75rem;
  }

  .checkout-steps {
    gap: 15px;
    margin-bottom: 27px;
  }

  .checkout-steps li {
    flex-direction: column;
    gap: 7px;
    flex: 1;
    text-align: center;
    font-size: .75rem;
  }

  .back-link {
    margin: 22px 0;
  }

  .checkout-layout {
    display: flex;
    flex-direction: column;
    gap: 22px;
    padding-bottom: 35px;
  }

  .checkout-story {
    display: contents;
  }

  .checkout-story>.kicker {
    order: 0;
    margin: 0;
  }

  .checkout-story h1 {
    order: 0;
    font-size: 2.5rem;
    margin-top: -10px;
  }

  .checkout-story>p {
    order: 0;
    font-size: 1rem;
    margin: -5px 0 0;
  }

  .checkout-story .booking-notice {
    order: 0;
    margin: 0;
    padding: 18px;
  }

  .checkout-story .personal-goal {
    order: 1;
    margin: 0;
    width: 100%;
    padding: 21px;
  }

  .checkout-card {
    order: 2;
    width: 100%;
    padding: 25px 22px;
  }

  .checkout-story .checkout-mentor {
    order: 3;
    margin: 0;
  }

  .personal-goal blockquote {
    font-size: 1.15rem;
  }

  .personal-goal p {
    font-size: .875rem;
  }

  .checkout-card h2 {
    font-size: 1.55rem;
  }

  .form-field input {
    height: 51px;
  }

  .policy-modal {
    padding: 32px 22px;
  }

  .policy-content p {
    font-size: .95rem;
  }
}

@media (max-width: 370px) {
  .sticky-inner>div>span {
    display: none;
  }

  .sticky-inner .btn {
    padding-inline: 10px;
  }

  .goal-choices {
    grid-template-columns: 1fr;
  }

  .gallery-heading {
    align-items: flex-start;
    gap: 12px;
  }

  .gallery-controls {
    padding-top: 5px;
  }

  .program-card .btn {
    font-size: .75rem;
    padding-inline: 12px;
  }
}

@media (max-width: 600px) {
  .checkout-compact .nav {
    min-height: 64px;
  }

  .checkout-compact .brand-logo {
    width: 36px;
    height: 36px;
  }

  .checkout-compact .back-link {
    margin: 11px 0;
    font-size: .75rem;
  }

  .checkout-compact .checkout-steps {
    gap: 10px;
    margin-bottom: 18px;
  }

  .checkout-compact .checkout-steps li {
    gap: 5px;
  }

  .checkout-compact .checkout-steps b {
    width: 22px;
    height: 22px;
  }

  .checkout-compact .checkout-layout {
    gap: 18px;
    padding-bottom: 28px;
  }

  .checkout-compact .checkout-story>.kicker {
    display: none;
  }

  .checkout-compact .checkout-story h1 {
    order: 0;
    font-size: 1.9rem;
    line-height: 1.2;
    margin: 0;
  }

  .checkout-compact .checkout-card {
    order: 1;
    padding: 21px 18px;
  }

  .checkout-compact .checkout-story .personal-goal {
    order: 2;
    padding: 23px;
  }

  .checkout-compact .checkout-story .checkout-mentor {
    order: 3;
  }

  .checkout-compact .checkout-story .booking-notice {
    order: 4;
    margin: 0;
    padding: 15px;
  }

  .checkout-compact .checkout-card h2 {
    font-size: 1.3rem;
  }

  .checkout-compact .checkout-card>p {
    font-size: .8rem;
    margin-bottom: 16px;
  }

  .checkout-compact .form-field label {
    font-size: .8rem;
  }

  .checkout-compact .consent-row {
    font-size: .8rem;
  }

  .checkout-compact .communication-note {
    margin: 8px 0 14px;
  }

  .checkout-compact .commitment-card h2 {
    font-size: 1.9rem;
  }

  .checkout-compact .commitment-card blockquote {
    font-size: 1.15rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .venture-logos { overflow-x: auto; }
  .venture-logo-group[aria-hidden="true"] { display: none; }
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation: none !important;
    transition: none !important;
  }

  .btn:hover {
    transform: none;
  }
}

/* Two continuous photo rows, with full originals available in the lightbox. */
.moments-gallery { --moment-gap: 22px; --moment-width: 290px; }
.moment-row { overflow: hidden; margin-top: var(--moment-gap); }
.moment-track { display: flex; width: max-content; animation: moments-drift 42s linear infinite; }
.moment-row:last-child .moment-track { animation-direction: reverse; animation-duration: 46s; }
.moment-group { display: flex; flex-shrink: 0; gap: var(--moment-gap); padding-right: var(--moment-gap); }
.moment-card { position: relative; display: block; flex: 0 0 var(--moment-width); width: var(--moment-width); aspect-ratio: 4 / 3; overflow: hidden; border-radius: 24px; background: #181a13; border: 1px solid #e4c47f26; }
.moment-card img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center 28%; transition: transform .3s ease; }
.moment-card:hover img { transform: scale(1.035); }
.moment-card > span { position: absolute; right: 10px; bottom: 10px; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #10120cbb; color: #f1d79b; }
.moment-row:is(:hover, :focus-within) .moment-track, body.modal-open .moment-track { animation-play-state: paused; }

@keyframes moments-drift { to { transform: translateX(-50%); } }
@media (max-width: 600px) {
  .moments-gallery { --moment-gap: 14px; --moment-width: clamp(150px, 42vw, 240px); }
  .moments-gallery .gallery-heading { gap: 12px; }
  .moments-gallery .gallery-heading h2 { font-size: 1.3rem; }
  .moment-card { border-radius: 19px; }
  .moment-track { animation-duration: 34s; }
  .moment-row:last-child .moment-track { animation-duration: 38s; }

}
@media (prefers-reduced-motion: reduce) {
  .moment-row { overflow-x: auto; }
  .moment-group[aria-hidden="true"] { display: none; }

  .moment-card:hover img { transform: none; }
}

/* Supporting Taxway videos stay secondary to the main VSL. */
.taxway-videos-section { padding-top: 0; }
.taxway-video-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.taxway-video-card { min-width: 0; overflow: hidden; border: 1px solid #55482d; border-radius: 16px; background: #161811; }
.taxway-video-frame { aspect-ratio: 16 / 9; background: #080a07; }
.taxway-video-frame iframe { display: block; border: 0; width: 100%; height: 100%; }
.taxway-video-caption { display: flex; align-items: center; gap: 14px; padding: 18px 21px; }
.taxway-video-caption > span { color: var(--gold); font-size: .8rem; }
.taxway-video-caption h3 { font-size: 1rem; font-weight: 500; }
.taxway-video-placeholder { display: flex; align-items: center; justify-content: center; flex-direction: column; height: 100%; gap: 10px; background: radial-gradient(ellipse at center, #3b321944, transparent 75%); color: var(--muted); }
.taxway-video-placeholder .kicker { margin: 0; font-size: .75rem; }
.taxway-video-placeholder strong { font: 500 clamp(1.4rem, 3vw, 2rem)/1.4 var(--heading); color: var(--gold); }
.taxway-video-placeholder > span:last-child { font-size: .875rem; }
.taxway-video-pending { border-style: dashed; border-color: #3c3e30; }
@media (max-width: 600px) {
  .taxway-video-grid { grid-template-columns: 1fr; gap: 20px; }
  .taxway-video-caption { padding: 15px 18px; }
  .taxway-videos-section .section-heading h2 { font-size: 1.8rem; }
}
.taxway-video-frame--portrait { display: flex; justify-content: center; align-items: center; }
.taxway-video-frame--portrait wistia-player { display: block; height: 100%; width: auto; max-width: 100%; aspect-ratio: 4 / 5; }
.taxway-video-frame--portrait wistia-player:not(:defined) { background: center / contain no-repeat url('https://fast.wistia.com/embed/medias/ouvcpgahtd/swatch'); }
