/* Final homepage polish v9 */
.page-home main>.container{width:min(calc(100% - 36px),1240px)}

/* Keep the hero useful without letting the image dominate. */
.clean-home-hero{grid-template-columns:minmax(0,7.15fr) minmax(420px,4.85fr);gap:44px;padding:48px 0 54px}
.clean-home-copy h1{font-size:clamp(40px,4.35vw,54px);max-width:700px}
.clean-home-copy>p{font-size:16px;max-width:640px}
.clean-home-media{width:min(100%,500px);justify-self:end}
.clean-home-media img{width:100%;height:300px;aspect-ratio:auto;object-fit:cover;border-radius:8px;object-position:center 43%;box-shadow:0 24px 55px -38px rgba(13,92,85,.58)}
.clean-home-media:before{border-radius:8px}

/* Custom editorial images: smaller than the copy column, consistent rhythm. */
.page-home .photo-story,.page-home .photo-story.reverse{grid-template-columns:minmax(320px,4.4fr) minmax(0,7.6fr);gap:58px}
.page-home .photo-story.reverse{grid-template-columns:minmax(0,7.6fr) minmax(320px,4.4fr)}
.page-home .real-photo-card{width:min(100%,410px)}
.page-home .photo-story.reverse .real-photo-card{justify-self:end}
.page-home .real-photo-card img{width:100%;aspect-ratio:3/2;border-radius:7px;object-fit:cover;box-shadow:0 20px 48px -38px rgba(23,37,42,.48)}

/* Slightly denser content rhythm so the long homepage stays premium, not stretched. */
.page-home .home-section{padding-top:72px;padding-bottom:72px}
.page-home .section-heading{margin-bottom:34px}
.home-program-card{padding:24px 26px}
.page-home .application-sequence{padding-top:70px;padding-bottom:70px}

/* Final statement remains genuinely full viewport width. */
.page-home .home-recap{width:100vw;max-width:none;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.page-home .home-recap h2{max-width:1080px}
.page-home .home-recap p{max-width:960px}

/* Footer wordmark must stay readable against the dark footer. */
.page-home footer .footer-brand-col img{display:block;width:min(275px,100%);height:auto;margin-bottom:18px;opacity:1;filter:none}
.page-home footer .footer-grid{grid-template-columns:1.45fr .8fr .72fr .72fr;gap:42px}
.page-home footer .footer-brand-col{grid-column:auto}
.page-home footer .footer-contact{grid-column:auto}
.page-home footer .footer-grid h2{font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.page-home footer .footer-grid nav a,.page-home footer .footer-contact a{font-size:12px}

@media(max-width:1050px){
  .clean-home-hero{grid-template-columns:minmax(0,6.8fr) minmax(360px,5.2fr);gap:30px}
  .clean-home-media{width:min(100%,430px)}
  .clean-home-media img{height:270px}
  .page-home .photo-story,.page-home .photo-story.reverse{grid-template-columns:minmax(280px,4.2fr) minmax(0,7.8fr);gap:38px}
  .page-home .photo-story.reverse{grid-template-columns:minmax(0,7.8fr) minmax(280px,4.2fr)}
  .page-home .real-photo-card{width:min(100%,360px)}
  .page-home footer .footer-grid{grid-template-columns:1.3fr 1fr 1fr;gap:32px}
  .page-home footer .footer-contact{grid-column:2/4}
}

@media(max-width:720px){
  .page-home main>.container{width:calc(100% - 30px)}
  .clean-home-hero{display:flex;flex-direction:column;gap:24px;padding:34px 0 44px}
  .clean-home-copy h1{font-size:clamp(34px,10vw,43px)}
  .clean-home-copy>p{font-size:15px;line-height:1.68}
  .clean-home-media{order:0;width:100%;max-width:100%;margin-top:2px}
  .clean-home-media img{width:100%;height:225px;aspect-ratio:auto;object-fit:cover}
  .clean-home-media:before{display:none}
  .clean-home-actions{margin-top:23px}
  .page-home .home-section{padding-top:54px;padding-bottom:54px}
  .page-home .photo-story,.page-home .photo-story.reverse{display:flex;flex-direction:column;gap:24px}
  .page-home .photo-story.reverse .real-photo-card{order:0}
  .page-home .real-photo-card{width:100%;max-width:100%;justify-self:auto}
  .page-home .real-photo-card img{height:205px;aspect-ratio:auto}
  .page-home .home-recap{padding:46px 20px;margin-bottom:54px}
  .page-home .home-recap h2{font-size:clamp(33px,9.5vw,43px)}
  .page-home footer .footer-grid{grid-template-columns:1fr;gap:28px}
  .page-home footer .footer-brand-col,.page-home footer .footer-contact{grid-column:auto}
  .page-home footer .footer-brand-col img{width:245px}
}

@media(max-width:430px){
  .clean-home-actions{grid-template-columns:1fr}
  .clean-home-media img{height:176px}
  .page-home .real-photo-card img{height:190px}
}
