/*
 * CAS Premium Homepage Visual System v1.5.4
 * Image-led homepage enhancement layered after v1.5.2 responsive hardening.
 * All generated visuals are explicitly presented as illustrative imagery.
 */

/* ---------- Shared visual treatment ---------- */
.final-cas-site .final-visual-note,
.final-cas-site .final-card-note,
.final-cas-site .final-callback-visual figcaption{
  position:absolute;
  z-index:5;
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:5px 9px;
  border:1px solid rgba(255,255,255,.26);
  border-radius:999px;
  background:rgba(5,28,47,.66);
  color:#edf5fa;
  box-shadow:0 8px 24px rgba(0,0,0,.12);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  font-size:.58rem;
  font-weight:850;
  letter-spacing:.08em;
  line-height:1;
  text-transform:uppercase;
}
.final-cas-site picture{min-width:0}
.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{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

/* ---------- Premium image-led hero ---------- */
.final-home-hero-visualized .final-home-hero-grid{
  grid-template-columns:minmax(0,.92fr) minmax(430px,1.08fr)!important;
  gap:clamp(42px,5vw,78px)!important;
  align-items:center!important;
  padding:clamp(70px,6vw,96px) 0!important;
}
.final-home-hero-visualized .final-home-copy{position:relative;z-index:3}
.final-home-hero-visualized .final-home-copy h1{
  max-width:690px!important;
  font-size:clamp(3rem,4.7vw,4.9rem)!important;
}
.final-home-visual{
  position:relative;
  min-width:0;
  filter:drop-shadow(0 30px 58px rgba(0,0,0,.22));
}
.final-home-visual>picture{
  position:relative;
  display:block;
  aspect-ratio:1.08/1;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.2);
  border-radius:30px;
  background:#0a2f4e;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.04);
}
.final-home-visual>picture:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(4,24,39,.02) 35%,rgba(4,24,39,.18) 62%,rgba(4,24,39,.68) 100%);
  pointer-events:none;
}
.final-home-visual>picture img{object-position:67% center;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.final-home-visual:hover>picture img{transform:scale(1.018)}
.final-home-visual>.final-visual-note{top:17px;left:17px}
.final-home-visual .final-home-card{
  position:absolute;
  z-index:4;
  left:20px;
  right:20px;
  bottom:20px;
  width:auto!important;
  max-width:none!important;
  padding:22px 24px!important;
  border-color:rgba(255,255,255,.22)!important;
  border-radius:20px!important;
  background:linear-gradient(135deg,rgba(5,28,47,.91),rgba(10,67,104,.78))!important;
  box-shadow:0 18px 48px rgba(0,0,0,.24)!important;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.final-home-visual .final-home-card h2{margin:9px 0!important;font-size:clamp(1.18rem,1.6vw,1.48rem)!important}
.final-home-visual .final-home-card p{margin:0!important;font-size:.79rem!important;line-height:1.58!important}
.final-home-visual .final-home-card a{margin-top:12px!important;font-size:.79rem}

/* ---------- Student life image cards ---------- */
.final-visual-card-grid{gap:20px!important}
.final-three-grid>a.final-visual-card{
  position:relative;
  isolation:isolate;
  display:block;
  min-height:390px;
  overflow:hidden;
  padding:0!important;
  border:1px solid rgba(11,75,111,.12)!important;
  border-radius:25px!important;
  background:#082e4d!important;
  box-shadow:0 18px 42px rgba(13,53,78,.12)!important;
  transform:translateZ(0);
}
.final-visual-card>picture{position:absolute;inset:0;z-index:-3}
.final-visual-card>picture img{object-position:center;transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .65s ease}
.final-visual-card .final-card-shade{
  position:absolute;
  inset:0;
  z-index:-2;
  background:linear-gradient(180deg,rgba(2,20,34,.04) 12%,rgba(3,26,43,.17) 42%,rgba(3,26,43,.92) 88%,#061d30 100%);
}
.final-visual-card:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(135deg,rgba(216,170,69,.06),transparent 36%,rgba(14,93,139,.16));
  pointer-events:none;
}
.final-visual-card .final-card-number{
  position:absolute;
  top:18px;
  left:18px;
  z-index:4;
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  padding:0!important;
  border:1px solid rgba(255,255,255,.2);
  border-radius:12px;
  background:rgba(5,33,53,.72)!important;
  color:#f3cf79!important;
  backdrop-filter:blur(8px);
  font-size:.69rem!important;
  font-weight:900;
}
.final-visual-card .final-card-note{top:18px;right:18px}
.final-visual-card .final-card-content{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:3;
  padding:30px 28px 26px;
}
.final-visual-card .final-card-content h3{margin:0 0 9px!important;color:#fff!important;font-size:1.35rem!important;line-height:1.18}
.final-visual-card .final-card-content p{max-width:340px;margin:0!important;color:#d5e2e9!important;font-size:.83rem!important;line-height:1.62!important}
.final-visual-card .final-card-content b{display:inline-block;margin-top:14px;color:#f0cf7e;font-size:.74rem;letter-spacing:.01em}
.final-visual-card:hover{transform:translateY(-5px)!important;box-shadow:0 25px 54px rgba(13,53,78,.18)!important}
.final-visual-card:hover>picture img{transform:scale(1.035);filter:saturate(1.04)}

/* ---------- Student Journey ---------- */
.final-motivation-visualized{position:relative;overflow:hidden}
.final-motivation-visualized:before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 82% 15%,rgba(44,133,180,.13),transparent 30%);
  pointer-events:none;
}
.final-motivation-visualized .final-motivation-grid{
  position:relative;
  grid-template-columns:minmax(0,.78fr) minmax(420px,1.22fr)!important;
  gap:clamp(42px,5vw,76px)!important;
}
.final-motivation-copy{position:relative;z-index:2}
.final-motivation-visual{
  position:relative;
  min-width:0;
  border-radius:28px;
  box-shadow:0 26px 58px rgba(0,0,0,.22);
}
.final-motivation-visual>picture{
  display:block;
  aspect-ratio:3/2;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.17);
  border-radius:28px;
  background:#082e4d;
}
.final-motivation-visual>picture:after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:28px;
  background:linear-gradient(180deg,rgba(3,23,38,.02) 45%,rgba(3,23,38,.78) 100%);
  pointer-events:none;
}
.final-motivation-visual>picture img{object-position:center}
.final-motivation-visual>.final-visual-note{top:16px;left:16px}
.final-motivation-visual .final-quote-stack{
  position:absolute;
  z-index:4;
  left:16px;
  right:16px;
  bottom:16px;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.final-motivation-visual .final-quote-stack blockquote{
  padding:14px 15px!important;
  border-color:rgba(255,255,255,.2)!important;
  background:rgba(5,31,50,.76)!important;
  color:#f2f7fa!important;
  box-shadow:0 10px 28px rgba(0,0,0,.14);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  font-size:.75rem;
}

/* ---------- Admissions visual + form ---------- */
.final-callback-grid{align-items:stretch!important}
.final-callback-intro{display:flex;flex-direction:column;justify-content:center;min-width:0}
.final-callback-visual{
  position:relative;
  width:100%;
  margin:22px 0 0;
  overflow:hidden;
  border:1px solid #dce7ee;
  border-radius:21px;
  background:#eef4f8;
  box-shadow:0 16px 34px rgba(18,52,74,.08);
}
.final-callback-visual>picture{display:block;aspect-ratio:16/9}
.final-callback-visual img{object-position:center 42%}
.final-callback-visual:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 60%,rgba(4,29,47,.18));
  pointer-events:none;
}
.final-callback-visual figcaption{right:13px;bottom:13px;margin:0}
.final-callback-form{
  align-self:center;
  padding:clamp(22px,3vw,30px)!important;
  border-radius:23px!important;
  background:linear-gradient(145deg,#f7fafc,#f0f6f9)!important;
  box-shadow:0 22px 50px rgba(18,52,74,.09)!important;
}
.final-callback-form label{font-size:.74rem!important}
.final-callback-form input,.final-callback-form select{height:49px!important;border-radius:12px!important}
.final-callback-form .button{height:49px!important;border-radius:12px!important}

/* ---------- Final campus CTA ---------- */
.final-cta-with-image{
  position:relative;
  isolation:isolate;
  min-height:330px;
  overflow:hidden;
  padding:clamp(34px,5vw,56px)!important;
  border:1px solid rgba(7,43,69,.08);
  background:#082e4d!important;
  box-shadow:0 28px 64px rgba(8,46,77,.17)!important;
}
.final-cta-picture{position:absolute;inset:0;z-index:-3}
.final-cta-picture img{object-position:center 54%}
.final-cta-overlay{
  position:absolute;
  inset:0;
  z-index:-2;
  background:linear-gradient(90deg,rgba(4,26,43,.95) 0%,rgba(4,31,51,.84) 45%,rgba(4,31,51,.56) 72%,rgba(4,31,51,.66) 100%);
}
.final-cta-with-image:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:radial-gradient(circle at 78% 24%,rgba(226,183,82,.14),transparent 27%);
  pointer-events:none;
}
.final-cta-with-image .final-cta-content{position:relative;z-index:2;max-width:660px}
.final-cta-with-image .button{position:relative;z-index:2}
.final-cta-with-image .final-cta-note{top:18px;right:18px}

/* ---------- Responsive ---------- */
@media(max-width:1100px){
  .final-home-hero-visualized .final-home-hero-grid{grid-template-columns:minmax(0,.9fr) minmax(390px,1.1fr)!important;gap:34px!important}
  .final-home-hero-visualized .final-home-copy h1{font-size:clamp(2.7rem,5vw,4.15rem)!important}
  .final-three-grid>a.final-visual-card{min-height:365px}
  .final-motivation-visualized .final-motivation-grid{grid-template-columns:minmax(0,.82fr) minmax(390px,1.18fr)!important;gap:36px!important}
}

@media(max-width:900px){
  .final-home-hero-visualized .final-home-hero-grid,
  .final-motivation-visualized .final-motivation-grid{grid-template-columns:1fr!important}
  .final-home-hero-visualized .final-home-copy{max-width:760px}
  .final-home-visual{width:100%;max-width:760px;margin-inline:auto}
  .final-home-visual>picture{aspect-ratio:16/10}
  .final-home-visual>picture img{object-position:center 44%}
  .final-visual-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .final-visual-card-grid>a:last-child{grid-column:1/-1}
  .final-motivation-copy{max-width:760px}
  .final-motivation-visual{max-width:820px}
  .final-motivation-visual .final-quote-stack{grid-template-columns:repeat(2,minmax(0,1fr))}
  .final-callback-grid{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)!important;gap:26px!important}
  .final-callback-visual>picture{aspect-ratio:4/3}
}

@media(max-width:760px){
  .final-callback-grid{grid-template-columns:1fr!important}
  .final-callback-intro{max-width:none}
  .final-callback-visual>picture{aspect-ratio:16/10}
}

@media(max-width:680px){
  .final-home-hero-visualized .final-home-hero-grid{padding:50px 0 56px!important;gap:30px!important}
  .final-home-hero-visualized .final-home-copy h1{font-size:clamp(2.35rem,12vw,3.2rem)!important}
  .final-home-visual{filter:none}
  .final-home-visual>picture{aspect-ratio:4/3;border-radius:22px}
  .final-home-visual>picture img{object-position:63% center}
  .final-home-visual>.final-visual-note{top:12px;left:12px}
  .final-home-visual .final-home-card{
    position:relative;
    left:auto;
    right:auto;
    bottom:auto;
    margin:-44px 12px 0;
    padding:20px!important;
    border-radius:18px!important;
  }
  .final-visual-card-grid{grid-template-columns:1fr!important}
  .final-visual-card-grid>a:last-child{grid-column:auto}
  .final-three-grid>a.final-visual-card{min-height:335px;border-radius:21px!important}
  .final-visual-card .final-card-content{padding:25px 22px 21px}
  .final-visual-card .final-card-number{top:14px;left:14px;width:36px;height:36px}
  .final-visual-card .final-card-note{top:14px;right:14px}
  .final-motivation-visual{box-shadow:none}
  .final-motivation-visual>picture{aspect-ratio:4/3;border-radius:21px}
  .final-motivation-visual>picture:after{border-radius:21px}
  .final-motivation-visual .final-quote-stack{
    position:relative;
    left:auto;
    right:auto;
    bottom:auto;
    z-index:4;
    grid-template-columns:1fr;
    margin:-48px 12px 0;
  }
  .final-callback-visual{border-radius:18px}
  .final-callback-form{padding:18px!important;border-radius:18px!important}
  .final-cta-with-image{min-height:400px;align-items:flex-start!important;justify-content:flex-end!important;padding:30px 24px!important}
  .final-cta-picture img{object-position:66% center}
  .final-cta-overlay{background:linear-gradient(180deg,rgba(4,26,43,.45) 0%,rgba(4,26,43,.78) 52%,rgba(4,26,43,.97) 100%)}
  .final-cta-with-image .final-cta-note{top:14px;right:14px}
}

@media(max-width:430px){
  .final-cas-site .final-visual-note,
  .final-cas-site .final-card-note,
  .final-cas-site .final-callback-visual figcaption{font-size:.52rem;letter-spacing:.055em}
  .final-home-visual .final-home-card h2{font-size:1.1rem!important}
  .final-three-grid>a.final-visual-card{min-height:315px}
  .final-visual-card .final-card-content h3{font-size:1.2rem!important}
}

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