@charset "utf-8";
/* =====================================================
   Why Grind House page (proposal). Loaded after home.css
   and alumni-v2.css (hero, trust bar, video facade,
   pillars, reviews, steps, CTA band, sticky CTA).
   ===================================================== */

/* ---------- Hero photo ---------- */
.why-hero__media { margin-inline: auto; max-width: 36rem; }
.why-hero__frame { position: relative; margin-right: 1rem; }
@media (max-width: 575.98px) { .why-hero__frame { margin-right: .6rem; } }
.why-hero__frame::before {
  content: ""; position: absolute; inset: 1rem -1rem -1rem 1rem;
  border-radius: var(--radius-lg); background: var(--impact-crimson-dark);
}
.why-hero__frame img {
  position: relative; display: block; width: 100%; height: auto;
  border-radius: var(--radius-lg); box-shadow: 0 1.25rem 2.5rem rgba(0, 0, 0, .45);
}
.why-hero__caption {
  position: relative; margin-top: 1.5rem;
  font-size: .875rem; color: rgba(255, 255, 255, .82);
}
@media (max-width: 575.98px) {
  .why-hero__frame::before { inset: .6rem -.6rem -.6rem .6rem; }
}

/* ---------- Five reasons ---------- */
.why-reasons { display: grid; gap: .75rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.why-reasons li:last-child { grid-column: 1 / -1; }
@media (min-width: 768px) {
  .why-reasons { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .why-reasons li:last-child { grid-column: auto; }
}
.why-reasons a {
  display: flex; flex-direction: column; gap: .2rem; height: 100%;
  min-height: var(--tap-min); padding: 1.1rem 1.1rem 1.2rem;
  border: 1px solid #ece7e5; border-top: 4px solid var(--impact-crimson);
  border-radius: var(--radius-md); background: #fff;
  color: var(--grind-black); text-decoration: none;
  transition: transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);
}
.why-reasons a:hover { transform: translateY(-2px); box-shadow: var(--shadow-soft); }
.why-reasons__num { font-size: .8125rem; font-weight: 800; letter-spacing: .1em; color: var(--impact-crimson); }
.why-reasons__title { font-size: 1.125rem; font-weight: 800; }
.why-reasons__text { font-size: .875rem; color: #4a4a50; }
@media (prefers-reduced-motion: reduce) { .why-reasons a { transition: none; } .why-reasons a:hover { transform: none; } }

/* ---------- Check lists ---------- */
.why-checks li { position: relative; padding-left: 1.75rem; margin-bottom: .75rem; }
.why-checks li:last-child { margin-bottom: 0; }
.why-checks li::before {
  content: ""; position: absolute; left: 0; top: .35rem;
  width: 1rem; height: 1rem; border-radius: 50%;
  background: var(--impact-crimson-bright);

}
.why-checks li::after {
  content: ""; position: absolute; left: .33rem; top: .52rem;
  width: .35rem; height: .6rem; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg);
}
.why-checks--light li::before { background: var(--impact-crimson); }

/* ---------- Help box ---------- */
.why-help {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 2rem;
  padding: 1.5rem; border-radius: var(--radius-lg); background: var(--surface-alt);
  border-left: 4px solid var(--impact-crimson);
}
.why-help__title { font-size: 1.125rem; font-weight: 800; margin-bottom: .25rem; }

/* ---------- Facility photo ---------- */
.why-photo img { display: block; width: 100%; height: auto; border-radius: var(--radius-lg); box-shadow: var(--shadow-soft); }
.why-photo figcaption { margin-top: .6rem; font-size: .875rem; color: var(--muted); }

/* ---------- Coach T quote band ---------- */
.why-quote {
  position: relative; overflow: hidden; isolation: isolate;
  padding-block: clamp(4rem, 9vw, 7rem);
  background: var(--grind-black); color: #fff;
}
.why-quote > picture { display: block; }
.why-quote__bg {
  position: absolute; inset: 0; z-index: -2;
  width: 100%; height: 100%; object-fit: cover; object-position: 70% center;
}
.why-quote::after {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(90deg, rgba(10, 10, 10, .92) 0%, rgba(10, 10, 10, .8) 55%, rgba(10, 10, 10, .45) 100%);
}
.why-quote__text { font-size: clamp(1.5rem, 3.2vw, 2.4rem); font-weight: 800; line-height: 1.25; }
.why-quote__by { color: var(--pulse-gold); font-weight: 700; }
.why-quote__lead { max-width: 40rem; color: rgba(255, 255, 255, .88); margin-bottom: 1.5rem; }
@media (max-width: 767.98px) {
  .why-quote::after { background: rgba(10, 10, 10, .82); }
}
/* links in the reasons grid are cards, not inline text */
main .why-reasons li a:not(.btn), main .why-reasons li a:not(.btn):hover { text-decoration: none; }
