/*
 * CAS Premium Homepage Image Fit + Overlay Removal v1.5.6
 * Full-image presentation for homepage visuals with all text overlays removed from images.
 */

/* ---------- Shared image fit ---------- */
.final-cas-site .final-home-visual img,
.final-cas-site .final-visual-card img,
.final-cas-site .final-motivation-visual img,
.final-cas-site .final-callback-visual img,
.final-cas-site .final-cta-picture img,
.final-cas-site .final-program-card-visual .final-program-media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain !important;
  object-position:center center !important;
  background:linear-gradient(180deg,#f8fbfd 0%,#eef4f8 100%);
}

.final-cas-site .final-home-visual>picture,
.final-cas-site .final-visual-card>picture,
.final-cas-site .final-motivation-visual>picture,
.final-cas-site .final-callback-visual>picture,
.final-cas-site .final-cta-picture,
.final-cas-site .final-program-card-visual .final-program-media{
  background:linear-gradient(180deg,#f8fbfd 0%,#eef4f8 100%) !important;
}

/* remove all text/labels directly over images */
.final-cas-site .final-visual-note,
.final-cas-site .final-card-note,
.final-cas-site .final-card-number,
.final-cas-site .final-callback-visual figcaption,
.final-cas-site .final-program-card-visual .final-program-code,
.final-cas-site .final-program-card-visual .final-program-image-note,
.final-cas-site .final-program-card-visual .final-program-media-shade,
.final-cas-site .final-card-shade,
.final-cas-site .final-cta-overlay{
  display:none !important;
}

/* ---------- Hero visual ---------- */
.final-home-visual{
  display:flex;
  flex-direction:column;
  gap:16px;
  filter:none !important;
}
.final-home-visual>picture{
  aspect-ratio:4/3 !important;
  border:1px solid #d9e5ed !important;
  border-radius:28px !important;
  box-shadow:0 18px 44px rgba(18,52,74,.10) !important;
}
.final-home-visual>picture:after{display:none !important}
.final-home-visual .final-home-card{
  position:relative !important;
  left:auto !important;
  right:auto !important;
  bottom:auto !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:22px 24px !important;
  border:1px solid #dfe8ee !important;
  border-radius:22px !important;
  background:#fff !important;
  box-shadow:0 16px 38px rgba(18,52,74,.08) !important;
  color:#15344a !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
.final-home-visual .final-home-card>span{color:#0a6797 !important}
.final-home-visual .final-home-card h2{color:#15344a !important}
.final-home-visual .final-home-card p{color:#5b7180 !important}
.final-home-visual .final-home-card a{color:#0a6797 !important}

/* ---------- Program cards ---------- */
.final-cas-site .final-program-visual-grid{
  align-items:stretch;
  gap:20px !important;
}
.final-cas-site .final-program-card.final-program-card-visual{
  overflow:hidden;
  padding:0 !important;
  border:1px solid #dfe8ee !important;
  border-radius:24px !important;
  background:#fff !important;
  box-shadow:0 16px 38px rgba(18,52,74,.08) !important;
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease !important;
}
.final-cas-site .final-program-card-visual .final-program-media{
  position:relative;
  display:block;
  width:100%;
  margin:0;
  aspect-ratio:3/2;
  overflow:hidden;
  padding:14px;
  border-bottom:1px solid #e6eef3;
}
.final-cas-site .final-program-card-visual .final-program-body{
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  padding:21px 21px 22px;
}
.final-cas-site .final-program-card-visual .final-program-body h3{
  margin:0 0 9px !important;
  color:#15344a !important;
  font-size:1.08rem !important;
  line-height:1.28 !important;
}
.final-cas-site .final-program-card-visual .final-program-body p{
  margin:0 !important;
  color:#5b7180 !important;
  font-size:.79rem !important;
  line-height:1.62 !important;
  flex:1 1 auto;
}
.final-cas-site .final-program-card-visual .final-program-body b{
  display:inline-flex;
  align-self:flex-start;
  margin-top:17px !important;
  color:#0a6797 !important;
  font-size:.75rem !important;
  font-weight:850;
}
.final-cas-site .final-program-card-visual:hover{
  transform:translateY(-4px) !important;
  border-color:#cadce7 !important;
  box-shadow:0 24px 54px rgba(13,63,94,.14) !important;
}
.final-cas-site .final-program-card-visual:hover .final-program-media img{
  transform:none !important;
  filter:none !important;
}

/* ---------- Student life cards ---------- */
.final-visual-card-grid{gap:20px !important}
.final-three-grid>a.final-visual-card{
  display:flex !important;
  flex-direction:column;
  min-height:0 !important;
  overflow:hidden;
  padding:0 !important;
  border:1px solid #dfe8ee !important;
  border-radius:24px !important;
  background:#fff !important;
  box-shadow:0 16px 38px rgba(18,52,74,.08) !important;
  transform:none !important;
}
.final-visual-card>picture{
  position:relative !important;
  inset:auto !important;
  z-index:0 !important;
  display:block;
  aspect-ratio:3/2;
  overflow:hidden;
  padding:14px;
  border-bottom:1px solid #e6eef3;
}
.final-visual-card:after{display:none !important}
.final-visual-card .final-card-content{
  position:relative !important;
  left:auto !important;
  right:auto !important;
  bottom:auto !important;
  z-index:1 !important;
  padding:22px 22px 24px !important;
}
.final-visual-card .final-card-content h3{
  margin:0 0 9px !important;
  color:#15344a !important;
  font-size:1.28rem !important;
  line-height:1.2 !important;
}
.final-visual-card .final-card-content p{
  max-width:none !important;
  margin:0 !important;
  color:#5b7180 !important;
  font-size:.83rem !important;
  line-height:1.62 !important;
}
.final-visual-card .final-card-content b{
  display:inline-block;
  margin-top:14px;
  color:#0a6797;
  font-size:.74rem;
}
.final-visual-card:hover,
.final-visual-card:hover>picture img{
  transform:none !important;
  box-shadow:0 16px 38px rgba(18,52,74,.08) !important;
  filter:none !important;
}

/* ---------- Student Journey ---------- */
.final-motivation-visualized .final-motivation-grid{
  align-items:start !important;
}
.final-motivation-visual{
  display:flex;
  flex-direction:column;
  gap:16px;
  border-radius:0 !important;
  box-shadow:none !important;
}
.final-motivation-visual>picture{
  position:relative;
  display:block;
  aspect-ratio:3/2;
  overflow:hidden;
  border:1px solid #dfe8ee !important;
  border-radius:26px !important;
  box-shadow:0 18px 44px rgba(18,52,74,.10) !important;
}
.final-motivation-visual>picture:after{display:none !important}
.final-motivation-visual .final-quote-stack{
  position:relative !important;
  left:auto !important;
  right:auto !important;
  bottom:auto !important;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:0 !important;
}
.final-motivation-visual .final-quote-stack blockquote{
  padding:16px 16px !important;
  border:1px solid #dfe8ee !important;
  border-radius:18px !important;
  background:#fff !important;
  color:#15344a !important;
  box-shadow:0 12px 30px rgba(18,52,74,.06) !important;
  font-size:.78rem;
}

/* ---------- Admissions visual ---------- */
.final-callback-visual{
  border:1px solid #dfe8ee !important;
  border-radius:22px !important;
  background:#fff !important;
  box-shadow:0 16px 34px rgba(18,52,74,.08) !important;
}
.final-callback-visual>picture{
  display:block;
  aspect-ratio:3/2 !important;
  padding:14px;
}
.final-callback-visual:after{display:none !important}

/* ---------- Final CTA ---------- */
.final-cta-with-image{
  display:grid !important;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  grid-template-areas:
    "picture content"
    "picture button";
  align-items:center !important;
  gap:24px 30px;
  min-height:0 !important;
  overflow:hidden;
  padding:26px !important;
  border:1px solid #dfe8ee !important;
  border-radius:28px !important;
  background:#fff !important;
  box-shadow:0 22px 52px rgba(18,52,74,.10) !important;
}
.final-cta-picture{
  grid-area:picture;
  position:relative !important;
  inset:auto !important;
  display:block;
  aspect-ratio:4/3;
  overflow:hidden;
  border:1px solid #e6eef3;
  border-radius:22px;
  padding:14px;
}
.final-cta-with-image:after{display:none !important}
.final-cta-with-image .final-cta-content{
  grid-area:content;
  position:relative;
  z-index:1;
  max-width:none;
}
.final-cta-with-image .final-cta-content span{color:#0a6797 !important}
.final-cta-with-image .final-cta-content h2{color:#15344a !important}
.final-cta-with-image .final-cta-content p{color:#5b7180 !important}
.final-cta-with-image .button{
  grid-area:button;
  position:relative;
  z-index:1;
  justify-self:start;
}

/* ---------- Responsive ---------- */
@media (max-width:900px){
  .final-cas-site .final-program-card-visual .final-program-media,
  .final-visual-card>picture,
  .final-callback-visual>picture{aspect-ratio:16/10 !important}
  .final-motivation-visual .final-quote-stack{grid-template-columns:1fr}
  .final-cta-with-image{
    grid-template-columns:1fr;
    grid-template-areas:
      "picture"
      "content"
      "button";
  }
  .final-cta-picture{aspect-ratio:16/10}
}

@media (max-width:680px){
  .final-home-visual>picture,
  .final-cas-site .final-program-card-visual .final-program-media,
  .final-visual-card>picture,
  .final-motivation-visual>picture,
  .final-callback-visual>picture,
  .final-cta-picture{aspect-ratio:4/3 !important}

  .final-home-visual .final-home-card,
  .final-cas-site .final-program-card-visual .final-program-body,
  .final-visual-card .final-card-content,
  .final-callback-form{padding:18px !important}

  .final-cta-with-image{padding:18px !important;border-radius:22px !important}
  .final-cta-picture{padding:10px;border-radius:18px}
}

@media (prefers-reduced-motion:reduce){
  .final-cas-site .final-program-card.final-program-card-visual,
  .final-cas-site .final-program-card-visual .final-program-media img,
  .final-visual-card,
  .final-visual-card>picture img{transition:none !important}
}
