/* ============================================================
   Life at UTMIQ. Reuses the shared page-hero, hero__art, values,
   route, split and sign panels in styles.css; this file adds the
   hero grid, internship panel and testimonial ("voice") cards
   specific to this page.
   ============================================================ */

.life-hero__grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.life-hero__grid > * { min-width: 0; }
.life-hero__ctas { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 32px; }
@media (max-width: 900px) {
  .life-hero__grid { grid-template-columns: 1fr; }
  .life-hero__ctas .btn { flex: 1 1 220px; }
}

/* ---------- Internships ---------- */
.internship {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  gap: clamp(28px, 4vw, 56px);
  align-items: center;
  padding: clamp(28px, 4vw, 48px);
}
.internship__body > p { margin-top: 14px; color: var(--ink-mute); }
.internship__actions { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.internship__actions .btn { width: 100%; justify-content: center; }
.internship__note { font-size: 0.875rem; color: var(--ink-mute); }
@media (max-width: 800px) {
  .internship { grid-template-columns: 1fr; }
  .internship__actions { align-items: stretch; }
}

/* ---------- Voices (testimonials) ---------- */
.voices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.voice { padding: clamp(26px, 3vw, 36px); }
.voice blockquote { margin: 0; }
.voice blockquote p { font-size: 1.0625rem; line-height: 1.55; color: var(--ink); }
.voice figcaption { margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--green-line); }
.voice figcaption span { display: flex; flex-direction: column; font-size: 0.9375rem; color: var(--ink-mute); }
.voice figcaption strong { font-size: 1rem; color: var(--green-deep); }
.voices__note { margin-top: 20px; font-size: 0.875rem; color: var(--ink-mute); }
@media (max-width: 760px) { .voices { grid-template-columns: 1fr; } }

/* the route with four steps (same pattern as community.css) */
.route--four .route__steps { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (prefers-reduced-motion: no-preference) {
  .route--armed .step:nth-child(4) { --d: 1.45s; }
}
@media (max-width: 1000px) {
  .route--four .route__steps { grid-template-columns: 1fr; gap: 40px; padding-left: 68px; }
  .route--four .route__line-wrap { top: 22px; bottom: 60px; left: 13px; right: auto; width: 18px; height: auto; }
  .route--four .route__line { clip-path: polygon(47% 0, 53% 0, 100% 100%, 0 100%); -webkit-mask-image: linear-gradient(to bottom, #000 88%, transparent); mask-image: linear-gradient(to bottom, #000 88%, transparent); }
  .route--four.route--armed .route__line-wrap { clip-path: inset(0 0 100% 0); }
  .route--four.route--armed.is-drawn .route__line-wrap { clip-path: inset(0 0 0 0); }
  .route--four .step .plaque { position: absolute; left: -68px; top: 0; }
  .route--four .step h3 { margin-top: 6px; }
}

/* status pill sits above the heading in the today/coming cards */
.split__col .status-pill { margin-bottom: 14px; }
