/* conversion.css — new components for index-v2 + mentorship page.
   Reuses the existing design tokens (#E63A24 brand red, Montserrat/Inter, glass).
   Loaded ONLY by the new pages, so the original index.html is unaffected. */

/* ── Mentorship pointer (slim CTA strip on the main page) ── */
.mentorship-pointer {
  margin-top: 18px;
  display: flex; align-items: center; justify-content: space-between;
  flex-wrap: wrap; gap: 16px;
  background: linear-gradient(110deg, rgba(230,58,36,0.10), rgba(230,58,36,0.03));
  border: 1px solid rgba(230,58,36,0.22);
  border-radius: 20px;
  padding: 22px 28px;
  position: relative; overflow: hidden;
}
.mentorship-pointer::after {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(ellipse 60% 120% at 90% 50%, rgba(230,58,36,0.12), transparent 70%);
}
.mentorship-pointer .mp-copy { position: relative; z-index: 1; }
.mentorship-pointer .mp-eyebrow {
  font-family: 'Montserrat', sans-serif; font-weight: 700;
  font-size: 0.6rem; letter-spacing: 0.2em; text-transform: uppercase;
  color: #E63A24; margin-bottom: 6px;
}
.mentorship-pointer .mp-title {
  font-family: 'Montserrat', sans-serif; font-weight: 800;
  font-size: 1.05rem; letter-spacing: -0.02em; color: #fff;
}
.mentorship-pointer .mp-sub { font-size: 0.82rem; color: rgba(255,255,255,0.5); margin-top: 4px; }
.mentorship-pointer a.mp-btn { position: relative; z-index: 1; white-space: nowrap; }

/* ── Authority bar ── */
.authority-bar {
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 1px; background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.08); border-radius: 20px; overflow: hidden;
}
.authority-bar .auth-cell { background: #0C0C0C; padding: 26px 20px; text-align: center; }
.authority-bar .auth-num {
  font-family: 'Montserrat', sans-serif; font-weight: 900;
  font-size: clamp(1.4rem, 3vw, 2.1rem); letter-spacing: -0.04em; color: #fff;
}
.authority-bar .auth-num span { color: #E63A24; }
.authority-bar .auth-label {
  font-size: 0.64rem; letter-spacing: 0.14em; text-transform: uppercase;
  color: rgba(255,255,255,0.4); margin-top: 8px; font-weight: 600;
}

/* ── Qualification: For you / Not for you ── */
.qual-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.qual-card {
  background: rgba(255,255,255,0.025);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 22px; padding: 32px 30px;
}
.qual-card.is-for { border-color: rgba(230,58,36,0.28); background: rgba(230,58,36,0.04); }
.qual-card h3 {
  font-family: 'Montserrat', sans-serif; font-weight: 800;
  font-size: 1rem; letter-spacing: 0.01em; text-transform: uppercase;
  margin: 0 0 22px; display: flex; align-items: center; gap: 10px; color: #fff;
}
.qual-card ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.qual-card li { display: flex; gap: 12px; font-size: 0.9rem; line-height: 1.5; color: rgba(255,255,255,0.72); }
.qual-card li svg { flex-shrink: 0; margin-top: 2px; }
.qual-badge {
  width: 28px; height: 28px; border-radius: 8px; display: flex; align-items: center; justify-content: center;
}
.qual-badge.yes { background: rgba(230,58,36,0.14); border: 1px solid rgba(230,58,36,0.3); }
.qual-badge.no { background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); }

/* ── Steps: what happens after you apply ── */
.steps-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.step-card {
  position: relative; background: rgba(255,255,255,0.025);
  border: 1px solid rgba(255,255,255,0.08); border-radius: 22px; padding: 34px 28px;
}
.step-card .step-n {
  font-family: 'Montserrat', sans-serif; font-weight: 900; font-size: 2.4rem;
  letter-spacing: -0.05em; line-height: 1;
  background: linear-gradient(135deg, #E63A24, #ff8163);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
  margin-bottom: 16px;
}
.step-card h4 {
  font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 1.02rem;
  margin: 0 0 10px; color: #fff; letter-spacing: -0.01em;
}
.step-card p { margin: 0; font-size: 0.86rem; line-height: 1.6; color: rgba(255,255,255,0.5); }

/* ── Seat counter ── */
.seat-counter {
  display: inline-flex; align-items: center; gap: 12px;
  background: rgba(230,58,36,0.08); border: 1px solid rgba(230,58,36,0.25);
  border-radius: 999px; padding: 10px 20px;
}
.seat-counter .dot {
  width: 8px; height: 8px; border-radius: 50%; background: #E63A24; flex-shrink: 0;
  box-shadow: 0 0 0 0 rgba(230,58,36,0.6); animation: seatPulse 2s ease-out infinite;
}
@keyframes seatPulse { 0%{box-shadow:0 0 0 0 rgba(230,58,36,0.5);} 100%{box-shadow:0 0 0 9px rgba(230,58,36,0);} }
.seat-counter strong { color: #fff; font-family: 'Montserrat', sans-serif; font-weight: 800; }
.seat-counter span { font-size: 0.82rem; color: rgba(255,255,255,0.6); letter-spacing: 0.02em; }

/* ── FAQ accordion ── */
.faq-list { max-width: 760px; margin: 0 auto; display: flex; flex-direction: column; gap: 10px; }
.faq-item {
  background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.08);
  border-radius: 16px; overflow: hidden; transition: border-color 0.25s, background 0.25s;
}
.faq-item[open] { border-color: rgba(230,58,36,0.3); background: rgba(230,58,36,0.04); }
.faq-item summary {
  list-style: none; cursor: pointer; padding: 22px 24px;
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 0.95rem; color: #fff;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary .faq-icon {
  flex-shrink: 0; width: 26px; height: 26px; border-radius: 50%;
  border: 1px solid rgba(255,255,255,0.2); display: flex; align-items: center; justify-content: center;
  transition: transform 0.3s cubic-bezier(0.34,1.56,0.64,1), border-color 0.25s;
}
.faq-item[open] summary .faq-icon { transform: rotate(45deg); border-color: #E63A24; }
.faq-item .faq-body { padding: 0 24px 24px; font-size: 0.9rem; line-height: 1.7; color: rgba(255,255,255,0.58); }

/* ── Application form (Netlify Forms) ── */
.apply-form { max-width: 640px; margin: 0 auto; display: flex; flex-direction: column; gap: 18px; }
.apply-form .field label {
  display: block; font-family: 'Montserrat', sans-serif; font-weight: 600;
  font-size: 0.72rem; letter-spacing: 0.1em; text-transform: uppercase;
  color: rgba(255,255,255,0.55); margin-bottom: 9px;
}
.apply-form .field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.apply-form input, .apply-form select, .apply-form textarea {
  width: 100%; background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.12); border-radius: 12px;
  padding: 14px 16px; color: #fff; font-family: 'Inter', sans-serif; font-size: 0.92rem;
  transition: border-color 0.2s, background 0.2s, box-shadow 0.2s;
}
.apply-form textarea { resize: vertical; min-height: 110px; }
.apply-form input::placeholder, .apply-form textarea::placeholder { color: rgba(255,255,255,0.3); }
.apply-form input:focus, .apply-form select:focus, .apply-form textarea:focus {
  outline: none; border-color: rgba(230,58,36,0.6);
  background: rgba(255,255,255,0.06); box-shadow: 0 0 0 3px rgba(230,58,36,0.12);
}
.apply-form select { appearance: none; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23888' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 16px center; padding-right: 40px;
}
.apply-form select option { background: #131313; color: #fff; }
.apply-form .hp { position: absolute; left: -9999px; }
.apply-form .form-submit { margin-top: 6px; width: 100%; justify-content: center; border: none; font-size: 0.9rem; }
.apply-form .form-note { text-align: center; font-size: 0.78rem; color: rgba(255,255,255,0.4); margin-top: 4px; }
.form-success {
  display: none; text-align: center; padding: 48px 32px;
  background: rgba(230,58,36,0.05); border: 1px solid rgba(230,58,36,0.25); border-radius: 22px;
}
.form-success.show { display: block; animation: fadeUp 0.6s cubic-bezier(0.22,1,0.36,1) both; }
.form-success .fs-check {
  width: 64px; height: 64px; border-radius: 50%; margin: 0 auto 22px;
  background: linear-gradient(135deg, #E63A24, #C42E1A); display: flex; align-items: center; justify-content: center;
  box-shadow: 0 10px 36px rgba(230,58,36,0.4);
}
.form-success h3 { font-family: 'Montserrat', sans-serif; font-weight: 900; font-size: 1.5rem; margin: 0 0 10px; text-transform: uppercase; }
.form-success p { color: rgba(255,255,255,0.55); line-height: 1.7; margin: 0; font-size: 0.92rem; }

/* ── Mentorship hero price chip ── */
.price-chip {
  display: inline-flex; align-items: baseline; gap: 8px;
  background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.1);
  border-radius: 14px; padding: 12px 20px;
}
.price-chip b { font-family: 'Montserrat', sans-serif; font-weight: 900; font-size: 1.6rem; letter-spacing: -0.03em; color: #fff; }
.price-chip span { font-size: 0.8rem; color: rgba(255,255,255,0.4); }

/* ── index-v2 structural trims (selectors exist only on the main page) ── */
.date-pills-wrap { display: none !important; }              /* drop duplicate hero stat pills */
.stats-bar { display: none !important; }                    /* replaced by the authority bar */
.curriculum-grid { grid-template-columns: repeat(2, 1fr) !important; } /* 2 tiers now */
.curriculum-grid > div:nth-child(3) { display: none !important; }      /* remove Mentorship card */
@media (max-width: 768px) { .curriculum-grid { grid-template-columns: 1fr !important; } } /* stack tiers on mobile */
#mission, #philosophy { display: none !important; }          /* merged into About */
/* hide the red divider strips that immediately precede the hidden sections */
div:has(+ #mission), div:has(+ #philosophy) { display: none !important; }

/* ── Minimal VSL mentorship page ── */
.minimal-nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  padding: 24px 0; text-align: center; background: transparent;
  transition: background 0.3s ease, backdrop-filter 0.3s ease, padding 0.3s ease, border-color 0.3s ease;
  border-bottom: 1px solid transparent;
}
.minimal-nav.scrolled {
  background: rgba(6,6,8,0.6);
  backdrop-filter: blur(16px) saturate(150%);
  -webkit-backdrop-filter: blur(16px) saturate(150%);
  border-bottom-color: rgba(255,255,255,0.06);
  padding: 14px 0;
}
.minimal-nav a { display: inline-flex; }
.minimal-nav img { height: 58px; width: auto; opacity: 1; transition: height 0.3s ease; }
.minimal-nav.scrolled img { height: 44px; }
.minimal-nav .wordmark {
  font-family: 'Montserrat', sans-serif; font-weight: 900; letter-spacing: -0.02em;
  font-size: 2.5rem; color: #fff; text-decoration: none; line-height: 1;
  transition: font-size 0.3s ease;
}
.minimal-nav .wordmark .b { color: #E63A24; }
.minimal-nav.scrolled .wordmark { font-size: 1.9rem; }
.vsl { text-align: center; }
.vsl-eyebrow {
  font-family: 'Montserrat', sans-serif; font-weight: 700;
  font-size: 0.66rem; letter-spacing: 0.24em; text-transform: uppercase;
  color: #E63A24; margin-bottom: 22px;
}
.vsl h1 {
  font-family: 'Montserrat', sans-serif; font-weight: 900;
  font-size: clamp(2.1rem, 5vw, 3.7rem); line-height: 1.04; letter-spacing: -0.035em;
  margin: 0 auto 22px; max-width: 880px; text-transform: uppercase;
}
.vsl-sub {
  font-size: clamp(1.1rem, 2.1vw, 1.5rem); line-height: 1.45; font-weight: 500;
  color: #fff; max-width: 680px; margin: 0 auto 14px;
}
.vsl-help { font-size: 0.92rem; color: rgba(255,255,255,0.45); max-width: 540px; margin: 0 auto 36px; line-height: 1.6; }
.vsl-video {
  max-width: 760px; margin: 0 auto 38px; position: relative;
  border-radius: 18px; overflow: hidden; border: 1px solid rgba(255,255,255,0.1);
  box-shadow: 0 30px 80px rgba(0,0,0,0.65), 0 0 100px rgba(230,58,36,0.09); background: #000;
}
/* Apply button: continuous highlight pulse (on top of the existing sheen sweep) */
.btn-apply { animation: applyPulse 2.4s ease-in-out infinite; }
@keyframes applyPulse {
  0%, 100% { box-shadow: 0 0 0 1px rgba(230,58,36,0.45), 0 6px 26px rgba(230,58,36,0.42), 0 0 0 0 rgba(230,58,36,0.55); }
  50% { box-shadow: 0 0 0 1px rgba(230,58,36,0.65), 0 10px 46px rgba(230,58,36,0.62), 0 0 0 15px rgba(230,58,36,0); }
}
.vsl-microcopy { font-size: 0.86rem; color: rgba(255,255,255,0.5); margin: 20px 0 0; }
.vsl-microcopy b { color: #fff; font-weight: 600; }
.usp-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin: 46px auto 0; max-width: 1080px; }
.usp {
  display: flex; align-items: center; gap: 13px; text-align: left; line-height: 1.4;
  background: rgba(230,58,36,0.06); border: 1px solid rgba(230,58,36,0.30);
  border-radius: 16px; padding: 26px 28px;
  font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: 1.08rem; color: rgba(255,255,255,0.9);
}
.usp svg { flex-shrink: 0; width: 22px; height: 22px; }
@media (max-width: 900px) { .usp-row { grid-template-columns: repeat(2, 1fr); max-width: 780px; } }
@media (max-width: 520px) { .usp-row { grid-template-columns: 1fr; max-width: 420px; } }
/* Testimonial wall (mixed aspect screenshots, masonry via CSS columns) */
.tgallery { column-count: 3; column-gap: 14px; max-width: 1000px; margin: 0 auto; }
.tgallery img {
  width: 100%; margin: 0 0 14px; border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.07); display: block; break-inside: avoid; cursor: zoom-in;
}
.tgallery.two { column-count: 2; max-width: 760px; }
@media (max-width: 860px) { .tgallery { column-count: 2; } }
@media (max-width: 560px) { .tgallery { column-count: 1; max-width: 400px; } }
/* Case-study testimonials — two-axis scroller: a horizontal row of vertical
   cards, each with its own horizontal screenshot strip. */
.case-list {
  display: flex; gap: 18px; overflow-x: auto; scroll-snap-type: x proximity;
  align-items: flex-start; max-width: 1100px; margin: 0 auto; padding: 6px 6px 18px;
  scrollbar-width: thin; scrollbar-color: #E63A24 rgba(255,255,255,0.08);
  -webkit-overflow-scrolling: touch;
}
.case-list::-webkit-scrollbar { height: 9px; }
.case-list::-webkit-scrollbar-thumb { background: linear-gradient(90deg,#E63A24,#C42E1A); border-radius: 999px; }
.case-list::-webkit-scrollbar-track { background: rgba(255,255,255,0.06); border-radius: 999px; }
.case-card {
  flex: 0 0 330px; width: 330px; scroll-snap-align: start;
  display: flex; flex-direction: column; text-align: left;
  background: linear-gradient(160deg, rgba(230,58,36,0.12) 0%, rgba(230,58,36,0.035) 100%);
  border: 1px solid rgba(230,58,36,0.30); border-radius: 22px; padding: 26px 22px;
  box-shadow: 0 20px 50px rgba(0,0,0,0.4), inset 0 1px 0 rgba(255,255,255,0.05);
}
.case-title {
  font-family: 'Montserrat', sans-serif; font-weight: 900;
  font-size: 1.3rem; letter-spacing: -0.02em; color: #fff;
  margin: 0 0 9px; text-transform: uppercase; line-height: 1.12; min-height: 2.24em;
}
.case-sum {
  color: rgba(255,255,255,0.8); font-size: 0.86rem; line-height: 1.5; margin: 0 0 14px;
  min-height: 6em;
}
.case-sum .hl { background: rgba(255,255,255,0.14); color: #fff; font-weight: 700; padding: 1px 6px; border-radius: 5px; white-space: nowrap; }
/* One screenshot at a time in a fixed 9:16 frame, navigated by arrows */
.shot-frame { position: relative; }
.case-shots {
  display: flex; overflow-x: auto; scroll-snap-type: x mandatory;
  aspect-ratio: 9 / 16; width: 100%; border-radius: 12px;
  background: radial-gradient(125% 125% at 50% 50%, #0e0e11 0%, #050506 100%);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.06), inset 0 18px 55px rgba(0,0,0,0.55);
  scrollbar-width: none; -ms-overflow-style: none; cursor: grab;
  -webkit-overflow-scrolling: touch;
}
.case-shots::-webkit-scrollbar { display: none; }
.case-shots img,
.case-shots img.tall, .case-shots img.square, .case-shots img.wide {
  flex: 0 0 100%; width: 100%; height: 100%; max-width: none; border: 0;
  object-fit: contain; background: transparent; scroll-snap-align: center; cursor: zoom-in; display: block;
}
.shot-arrow {
  position: absolute; top: 50%; transform: translateY(-50%); z-index: 2;
  width: 34px; height: 34px; border-radius: 50%; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  background: rgba(10,10,10,0.55); border: 1px solid rgba(255,255,255,0.18);
  backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
  transition: background 0.2s, border-color 0.2s;
}
.shot-arrow.prev { left: 8px; }
.shot-arrow.next { right: 8px; }
.shot-arrow:hover { background: rgba(230,58,36,0.9); border-color: rgba(230,58,36,0.9); }
/* Dummy placeholder card */
.case-card.dummy { background: rgba(255,255,255,0.025); border-style: dashed; border-color: rgba(255,255,255,0.22); }
.case-card.dummy .case-title, .case-card.dummy .case-sum { color: rgba(255,255,255,0.4); }
.ph-strip { aspect-ratio: 9 / 16; width: 100%; }
.ph-box {
  width: 100%; height: 100%; border: 1px dashed rgba(255,255,255,0.2); border-radius: 12px;
  display: flex; align-items: center; justify-content: center; text-align: center; padding: 8px;
  color: rgba(255,255,255,0.3); font-size: 0.66rem; letter-spacing: 0.12em; text-transform: uppercase;
}
/* Carousel nav arrows (outer) */
.case-nav { display: flex; justify-content: center; gap: 12px; margin-top: 22px; }
.case-nav button {
  width: 46px; height: 46px; border-radius: 50%; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.12);
  transition: background 0.2s, border-color 0.2s;
}
.case-nav button:hover { background: rgba(230,58,36,0.15); border-color: rgba(230,58,36,0.4); }
@media (max-width: 560px) {
  .case-card { flex-basis: 82vw; width: 82vw; }
}

/* Neoh's own results — 4 uniform statement cards, perfectly aligned */
.proof-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; max-width: 900px; margin: 0 auto; align-items: start; }
.proof-item {
  background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.09);
  border-radius: 14px; overflow: hidden;
}
.proof-item .pf-label {
  display: flex; align-items: baseline; justify-content: space-between; gap: 6px;
  padding: 12px 14px; border-bottom: 1px solid rgba(255,255,255,0.06);
}
.proof-item .pf-fig { font-family: 'Montserrat', sans-serif; font-weight: 900; font-size: 1.05rem; letter-spacing: -0.02em; color: #fff; }
.proof-item .pf-tag { font-size: 0.56rem; letter-spacing: 0.1em; text-transform: uppercase; color: #E63A24; font-weight: 700; white-space: nowrap; }
.proof-item img { width: 100%; display: block; background: #fff; aspect-ratio: 588 / 900; object-fit: cover; object-position: top center; cursor: zoom-in; }
@media (max-width: 760px) { .proof-grid { grid-template-columns: repeat(2, 1fr); max-width: 440px; } }
@media (max-width: 400px) { .proof-grid { grid-template-columns: 1fr; max-width: 260px; } }

/* Two-door "How to start" chooser */
.start-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; max-width: 760px; margin: 0 auto; }
.start-card {
  display: flex; flex-direction: column; align-items: center; text-align: center;
  background: rgba(255,255,255,0.025); border: 1px solid rgba(255,255,255,0.09);
  border-radius: 20px; padding: 38px 30px;
}
.start-card.primary {
  background: linear-gradient(160deg, rgba(230,58,36,0.13) 0%, rgba(230,58,36,0.04) 100%);
  border-color: rgba(230,58,36,0.34); box-shadow: 0 20px 50px rgba(0,0,0,0.4);
}
.start-icon {
  width: 52px; height: 52px; border-radius: 14px; flex-shrink: 0; margin-bottom: 20px;
  display: flex; align-items: center; justify-content: center;
  background: rgba(230,58,36,0.12); border: 1px solid rgba(230,58,36,0.25);
}
.start-card h3 { font-family: 'Montserrat', sans-serif; font-weight: 900; font-size: 1.3rem; letter-spacing: -0.02em; text-transform: uppercase; color: #fff; margin: 0 0 10px; }
.start-badge { display: inline-block; background: #E63A24; color: #fff; font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 0.56rem; letter-spacing: 0.14em; text-transform: uppercase; padding: 5px 12px; border-radius: 999px; margin-bottom: 16px; }
.start-card .price { font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 0.82rem; color: #E63A24; letter-spacing: 0.02em; margin: 0 0 12px; }
.start-card p { color: rgba(255,255,255,0.5); font-size: 0.9rem; line-height: 1.6; margin: 0 0 26px; max-width: 300px; }
.start-card .btn-liquid-primary, .start-card .btn-liquid-ghost { margin-top: auto; }
@media (max-width: 620px) { .start-grid { grid-template-columns: 1fr; max-width: 440px; } }

/* Reusable "Enrol Now" reinforcement band */
.enrol-cta { text-align: center; max-width: 640px; margin: 0 auto; padding: 0 24px; }
.enrol-cta .ec-line {
  font-family: 'Montserrat', sans-serif; font-weight: 800; text-transform: uppercase;
  font-size: clamp(1.15rem, 2.6vw, 1.6rem); letter-spacing: -0.02em; line-height: 1.2;
  color: #fff; margin: 0 0 22px;
}
.enrol-cta .ec-line span { color: #E63A24; }
.enrol-alt {
  display: inline-block; margin-top: 16px; font-size: 0.85rem; color: rgba(255,255,255,0.55);
  text-decoration: none; border-bottom: 1px solid rgba(255,255,255,0.22); padding-bottom: 1px;
  transition: color 0.2s, border-color 0.2s;
}
.enrol-alt:hover { color: #fff; border-color: rgba(255,255,255,0.5); }

/* ── Mobile refinements ── */
@media (max-width: 640px) {
  .vsl { padding-top: 84px !important; padding-bottom: 56px !important; }
  .minimal-nav .wordmark { font-size: 2.1rem; }
  .minimal-nav.scrolled .wordmark { font-size: 1.7rem; }
  .usp { padding: 18px 18px; font-size: 1rem; }
  .usp svg { width: 18px; height: 18px; }
  .start-card { padding: 30px 22px; }
  /* Full-width, easy-tap CTAs in cards + enrol bands on phones */
  .start-card .btn-liquid-primary, .start-card .btn-liquid-ghost,
  .enrol-cta .btn-liquid-primary, .enrol-cta .btn-liquid-ghost { width: 100%; justify-content: center; }
}

/* Cal.com booking embed */
.cal-wrap {
  max-width: 1040px; margin: 0 auto; border-radius: 18px; overflow: hidden;
  border: 1px solid rgba(255,255,255,0.08); background: rgba(255,255,255,0.015);
  box-shadow: 0 24px 70px rgba(0,0,0,0.5);
}
#my-cal-inline-1-on-1-mentorship-interview-call { min-height: 660px; }

/* ── Responsive ── */
@media (max-width: 860px) {
  .authority-bar { grid-template-columns: repeat(2, 1fr); }
  .steps-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .qual-grid { grid-template-columns: 1fr; }
  .apply-form .field-row { grid-template-columns: 1fr; }
  .mentorship-pointer { flex-direction: column; align-items: flex-start; text-align: left; }
  .mentorship-pointer a.mp-btn { width: 100%; justify-content: center; }
}

/* ─────────────────────────────────────────────────────────────
   High-intent CTA micro-interactions — conversion polish
   Loads after styles.css, so these refinements win at rest.
   All motion is disabled by the global prefers-reduced-motion rule.
   ───────────────────────────────────────────────────────────── */

/* Juicier primary fill + a stronger resting glow so the CTA carries
   real presence without needing constant motion. */
.btn-liquid-primary {
  background: linear-gradient(145deg, #F0432B 0%, #E63A24 48%, #C42E1A 100%);
  box-shadow:
    0 0 0 1px rgba(230,58,36,0.45),
    0 6px 28px rgba(230,58,36,0.42),
    inset 0 1px 0 rgba(255,255,255,0.24),
    inset 0 -1px 0 rgba(0,0,0,0.3);
}

/* The arrow advances on hover — the universal "keep going" cue that
   modern high-converting CTAs use to signal forward motion. */
.btn-liquid-primary svg,
.btn-liquid-ghost svg,
.btn-nav svg,
.btn-apply svg,
.modal-enroll-btn svg {
  transition: transform 0.3s cubic-bezier(0.22,1,0.36,1);
}
.btn-liquid-primary:hover svg,
.btn-liquid-ghost:hover svg,
.btn-nav:hover svg,
.btn-apply:hover svg,
.modal-enroll-btn:hover svg { transform: translateX(5px); }

/* A single decisive shine sweeps across the moment you hover. */
.btn-liquid-primary:hover::after,
.btn-nav:hover::after,
.modal-enroll-btn:hover::after {
  animation: btnSheen 0.8s cubic-bezier(0.6,0,0.15,1);
}

/* Hero + final-CTA primaries get a slow, living glow that draws the
   eye to the highest-intent action on the page. Uses drop-shadow so it
   composes with (never fights) the button's own box-shadow and hover. */
.hero-ctas > .btn-liquid-primary,
.enrol-cta > .btn-liquid-primary {
  animation: ctaBreathe 3.4s ease-in-out infinite;
}
@keyframes ctaBreathe {
  0%, 100% { filter: drop-shadow(0 3px 10px rgba(230,58,36,0.28)); }
  50%      { filter: drop-shadow(0 5px 22px rgba(230,58,36,0.6)); }
}
/* On hover the interaction takes over from the idle glow. */
.hero-ctas > .btn-liquid-primary:hover,
.enrol-cta > .btn-liquid-primary:hover {
  animation: none;
  filter: brightness(1.08) drop-shadow(0 6px 24px rgba(230,58,36,0.55));
}

/* ── Section background bands: visual rhythm on long pages ── */
/* !important lets these override per-section inline backgrounds */
.band-elev {
  background: #0E0E12 !important;
  border-top: 1px solid rgba(255,255,255,0.05);
  border-bottom: 1px solid rgba(255,255,255,0.05);
}
.band-warm {
  background: #170D0A !important;
  border-top: 1px solid rgba(230,58,36,0.16);
  border-bottom: 1px solid rgba(230,58,36,0.16);
}


/* ── Mobile: tighter pages ── */
@media (max-width: 600px) {
  /* Hero title on ONE line so the video is visible sooner */
  h1.hero-h1 { font-size: 5.4vw !important; white-space: nowrap !important; word-break: normal !important; letter-spacing: -0.03em !important; margin-bottom: 18px !important; }
  .hero-sub { font-size: 0.95rem !important; margin-bottom: 22px !important; }
  .hero-ctas { margin-bottom: 36px !important; }
  .hero-section .fade-up[style*="margin:0 auto 72px"] { margin: 0 auto 36px !important; }
  .hero-section { padding-top: 96px !important; padding-bottom: 48px !important; }

  /* Compress the tall section paddings (inline styles need !important) */
  section[style*="padding:110px"] { padding-top: 56px !important; padding-bottom: 56px !important; }
  section[style*="padding:140px"] { padding-top: 68px !important; padding-bottom: 68px !important; }
  section[style*="padding:100px"] { padding-top: 56px !important; padding-bottom: 56px !important; }
  section[style*="padding:64px"]  { padding-top: 44px !important; padding-bottom: 44px !important; }
  section[style*="padding:56px"]  { padding-top: 40px !important; padding-bottom: 40px !important; }

  /* Decorative glow divs: never wider than the viewport */
  section div[style*="width:700px"], section div[style*="width:900px"] { max-width: 100vw !important; }

  /* Testimonial gallery: show the 3 strongest, hide the rest on phones */
  .tgallery.trim-mobile img:nth-of-type(n+4) { display: none; }
}


/* ── Floating WhatsApp button ── */
.wa-fab {
  position: fixed; right: 20px; bottom: 20px; z-index: 950;
  width: 60px; height: 60px; display: block;
  filter: drop-shadow(0 6px 16px rgba(0,0,0,0.55));
  transition: transform 0.2s ease, filter 0.2s ease;
}
.wa-fab:hover { transform: scale(1.08); filter: drop-shadow(0 10px 22px rgba(0,0,0,0.6)); }
@media (max-width: 600px) { .wa-fab { right: 14px; bottom: 88px; width: 54px; height: 54px; } }


/* ── Apply flow: option tabs ── */
.apply-tabs { display: flex; justify-content: center; gap: 10px; margin-bottom: 24px; flex-wrap: wrap; }
.apply-tab {
  font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 0.78rem;
  letter-spacing: 0.06em; text-transform: uppercase;
  padding: 13px 24px; border-radius: 999px; cursor: pointer;
  background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.14);
  color: rgba(255,255,255,0.55);
  transition: background 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s;
}
.apply-tab:hover { color: #fff; border-color: rgba(255,255,255,0.3); }
.apply-tab.active { background: #E63A24; border-color: #E63A24; color: #fff; box-shadow: 0 4px 18px rgba(230,58,36,0.35); }
.apply-panel[hidden] { display: none; }
.apply-plan-note {
  display: none; text-align: center; margin: 0 0 18px;
  font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 0.8rem;
  letter-spacing: 0.04em; color: #E63A24;
}
.wa-apply-card {
  max-width: 520px; margin: 0 auto; text-align: center;
  background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.09);
  border-radius: 22px; padding: 40px 32px;
}
.wa-apply-card .ico { width: 52px; height: 52px; border-radius: 50%; background: rgba(37,211,102,0.12); border: 1px solid rgba(37,211,102,0.3); display: flex; align-items: center; justify-content: center; margin: 0 auto 18px; }
.wa-apply-card h3 { font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 1.15rem; margin: 0 0 10px; color: #fff; }
.wa-apply-card p { font-size: 0.9rem; color: rgba(255,255,255,0.5); line-height: 1.65; margin: 0 0 24px; }
