/* V5: focused repairs to the existing red design. Audience visual language is pending review. */

/* The original full-resolution portrait avoids the highly compressed WebP source. */
.hero-cutout { animation: none; }
.hero-project-peek { display: none; }

/* Genuine, varied people show the five audiences without repeating desktop props. */
.audience .persona-grid { gap: 16px; }
.persona-card { padding: 0 0 25px; border-radius: 21px; }
.persona-photo { display: block; width: 100%; height: clamp(170px, 16vw, 225px); margin: 0 0 22px; object-fit: cover; object-position: center 42%; background: #e9ded5; }
.persona-photo--home { object-position: center 57%; }
.persona-photo--job { object-position: center 52%; }
.persona-photo--student { object-position: center 44%; }
.persona-photo--freelance { object-position: center 40%; }
.persona-photo--zero { object-position: center 34%; }
.persona-card h4, .persona-card p { margin-left: 21px; margin-right: 21px; }
.persona-card h4 { font-size: clamp(21px, 1.8vw, 26px); }
.audience-photo-note { max-width: none; margin: 15px 0 27px; color: #766c68; font-size: 11px; line-height: 1.4; }

/* A photographed hourglass has real material and depth; the countdown remains live. */
.offer-poster-art img { width: min(95%, 430px); max-height: 510px; object-fit: contain; filter: drop-shadow(0 32px 28px rgba(31, 4, 12, .32)); }

/* Program headline and supporting line belong to one centered reading axis. */
.program-heading { display: flex; flex-direction: column; align-items: center; text-align: center; }
.program-heading .program-v4-subtitle { max-width: 880px; margin: 0 auto 24px; text-align: center; }
.program-heading .program-v4-guide { margin-inline: auto; }

/* Separate the next-step evidence from the preceding career pathway. */
.career-shell { padding-bottom: 8px; }
.career-proofs { max-width: 1320px; margin-top: clamp(70px, 8vw, 115px); padding-top: 43px; border-top: 1px solid rgba(255, 222, 171, .42); }
.career-proofs .addition-eyebrow { margin: 0 0 13px; color: #f6d48d; }
.career-proofs .addition-title { max-width: 910px; margin: 0 0 40px; color: #fff; font-size: clamp(34px, 4vw, 59px); line-height: 1.1; }
.career-proof-grid { align-items: stretch; gap: clamp(22px, 3vw, 42px); }
.career-proof-image { align-self: start; padding: 12px; border: 1px solid rgba(255, 241, 211, .34); border-radius: 22px; background: #fffdf9; }
.career-proof-image img { width: 100%; height: auto; aspect-ratio: auto; object-fit: contain; border-radius: 12px; }
.career-proof-image figcaption { padding: 13px 4px 2px; }
.career-proofs .internship-card { padding: clamp(25px, 3vw, 40px); border: 1px solid rgba(255, 228, 182, .24); border-radius: 22px; background: rgba(57, 9, 23, .23); }

/* Return the project cases to one coherent image-first grid, with breathing room. */
.cases-heading { margin-bottom: clamp(38px, 5vw, 62px); }
.cases-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(20px, 2.5vw, 32px); }
.cases-grid .case-card, .cases-grid .case-card--featured, .cases-grid .case-card--featured:last-child { display: flex; flex-direction: column; grid-column: auto; min-height: 0; }
.cases-grid .case-card--featured:last-child .case-image, .cases-grid .case-card--featured:last-child .case-copy { grid-column: auto; grid-row: auto; }
.cases-grid .case-card .case-image, .cases-grid .case-card--featured .case-image { display: block; height: clamp(265px, 27vw, 365px); min-height: 0; background: #f3ece5; }
.cases-grid .case-image img { object-fit: contain !important; background: #f3ece5; }
.cases-grid .case-card .case-copy, .cases-grid .case-card--featured .case-copy { flex: 1; align-self: stretch; padding: clamp(25px, 2.5vw, 36px); }
.cases-grid .case-card .case-copy h3, .cases-grid .case-card--featured .case-copy h3 { font-size: clamp(25px, 2.5vw, 34px); line-height: 1.15; }

/* V2's 'contain' left half of every portrait as an empty red panel. */
.student-story-photo { background: #eee9e4; }
.student-story-photo img { width: 100%; height: 100%; object-fit: cover !important; object-position: center top; background: transparent !important; }

@media (max-width: 820px) {
  .offer-poster-art img { width: min(75%, 330px); max-height: 340px; }
  .career-proofs { margin-top: 68px; padding-top: 33px; }
  .career-proofs .addition-title { margin-bottom: 30px; }
  .cases-grid { grid-template-columns: 1fr; }
  .cases-grid .case-card .case-image, .cases-grid .case-card--featured .case-image { height: clamp(260px, 54vw, 420px); }
}

@media (max-width: 560px) {
  .offer-poster-art img { width: 190px; max-height: 235px; }
  .career-proof-grid { grid-template-columns: 1fr; }
  .career-proofs .addition-title { font-size: clamp(31px, 8vw, 42px); }
  .cases-grid .case-card .case-image, .cases-grid .case-card--featured .case-image { height: 245px; }
  .student-story-photo { min-height: 260px; }
}
