/* =========================================================================
   cims-home.css — bespoke premium design system for the CIMS front page.
   Purpose-built for a medical-sciences institute: image-forward, conversion-
   focused, distinct from any other project. Pairs with the logo palette
   (blue #2A79A1 / red #BA251D) already defined in cims-modern.css :root.
   All classes are prefixed .cm- so they never collide with the shared header.
   ========================================================================= */

.cm{--blue:#1C6E96;--blue-d:#0F4763;--blue-2:#2A79A1;--blue-ink:#0B2C3D;
    --red:#BA251D;--red-d:#9E1F18;--red-soft:#FDECEA;
    --paper:#F5F8FA;--line:#E4ECF1;--ink:#132430;--muted:#5C7180;
    --r:18px;--r-lg:26px;--sh:0 18px 44px -20px rgba(15,71,99,.5);
    --sh-sm:0 8px 22px -14px rgba(15,71,99,.35)}
.cm *{box-sizing:border-box}
.cm-wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.cm h1,.cm h2,.cm h3{font-family:'Sora','Poppins',sans-serif;letter-spacing:-.02em;color:var(--blue-ink);margin:0}
.cm p{margin:0;color:var(--muted);line-height:1.7}
.cm-kicker{display:inline-flex;align-items:center;gap:.5rem;font:700 .74rem/1 'Inter',sans-serif;
  letter-spacing:.16em;text-transform:uppercase;color:var(--red)}
.cm-kicker::before{content:"";width:22px;height:2px;background:var(--red);border-radius:2px}

/* ---- buttons ---- */
.cm-btn{display:inline-flex;align-items:center;gap:.6rem;font:700 1rem/1 'Inter',sans-serif;
  padding:.95rem 1.7rem;border-radius:100px;border:2px solid transparent;cursor:pointer;
  transition:transform .18s ease,box-shadow .18s ease,background .18s;text-decoration:none}
.cm-btn:hover{transform:translateY(-2px)}
.cm-btn--red{background:var(--red);color:#fff;box-shadow:0 12px 26px -12px rgba(186,37,29,.8)}
.cm-btn--red:hover{background:var(--red-d);color:#fff}
.cm-btn--blue{background:var(--blue);color:#fff}
.cm-btn--blue:hover{background:var(--blue-d);color:#fff}
.cm-btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.cm-btn--ghost:hover{background:#fff;color:var(--blue-ink);border-color:#fff}
.cm-btn--out{background:#fff;color:var(--blue);border-color:var(--line)}
.cm-btn--out:hover{border-color:var(--blue);color:var(--blue)}

/* ============ HERO ============ */
.cm-hero{position:relative;min-height:640px;display:flex;align-items:center;color:#fff;overflow:hidden}
.cm-hero__bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.04)}
.cm-hero__bg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(105deg,rgba(11,44,61,.94) 0%,rgba(15,71,99,.86) 42%,rgba(28,110,150,.55) 100%)}
.cm-hero__grid{position:absolute;inset:0;opacity:.16;
  background:radial-gradient(1px 1px at 20px 20px,#fff 1px,transparent 0);background-size:34px 34px}
.cm-hero .cm-wrap{position:relative;z-index:2;padding-top:118px;padding-bottom:80px}
.cm-hero__badge{display:inline-flex;align-items:center;gap:.55rem;background:rgba(186,37,29,.16);
  border:1px solid rgba(255,255,255,.28);color:#fff;font:700 .8rem/1 'Inter',sans-serif;
  padding:.5rem 1rem;border-radius:100px;margin-bottom:1.3rem;backdrop-filter:blur(4px)}
.cm-hero__badge .dot{width:8px;height:8px;border-radius:50%;background:#ff5a4d;box-shadow:0 0 0 4px rgba(255,90,77,.3)}
.cm-hero h1{color:#fff;font-size:clamp(2.4rem,5vw,4rem);line-height:1.05;max-width:15ch}
.cm-hero h1 .hl{color:#ffd9d4}
.cm .cm-hero__sub{color:#eaf4f8;text-shadow:0 1px 12px rgba(0,0,0,.28);font-size:1.15rem;max-width:52ch;margin:1.3rem 0 2rem}
.cm-hero__cta{display:flex;gap:14px;flex-wrap:wrap}
.cm-hero__trust{display:flex;gap:26px;flex-wrap:wrap;margin-top:2.4rem;padding-top:1.6rem;
  border-top:1px solid rgba(255,255,255,.18);color:#bcd6e2;font-size:.9rem}
.cm-hero__trust b{color:#fff}
.cm-hero__trust>span{display:inline-flex;align-items:center;gap:.5rem}
.cm-hero__trust svg{width:18px;height:18px;color:#8fe3c8}

/* ============ ACCREDITATION STRIP ============ */
.cm-accred{background:#fff;border-bottom:1px solid var(--line)}
.cm-accred .cm-wrap{display:flex;align-items:center;gap:34px;flex-wrap:wrap;justify-content:center;padding:22px 24px}
.cm-accred span{font:600 .82rem/1 'Inter',sans-serif;color:var(--muted);letter-spacing:.04em}
.cm-accred img{height:52px;width:auto;object-fit:contain;filter:grayscale(1);opacity:.72;transition:.2s}
.cm-accred img:hover{filter:none;opacity:1}

/* ============ generic section ============ */
.cm-sec{padding:clamp(56px,7vw,96px) 0}
.cm-sec--paper{background:var(--paper)}
.cm-sec--blue{background:linear-gradient(135deg,var(--blue-ink),var(--blue-d));color:#fff}
.cm-sec--blue h2,.cm-sec--blue h3{color:#fff}
.cm-head{max-width:640px;margin:0 auto 46px;text-align:center}
.cm-head h2{font-size:clamp(1.9rem,3.4vw,2.7rem);margin:.7rem 0}
.cm-head p{font-size:1.05rem}

/* ============ STATS ============ */
.cm-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:#fff;border:1px solid var(--line);
  border-radius:var(--r-lg);box-shadow:var(--sh);overflow:hidden;margin-top:-70px;position:relative;z-index:3}
.cm-stats>div{padding:34px 22px;text-align:center;border-right:1px solid var(--line)}
.cm-stats>div:last-child{border-right:0}
.cm-stats .n{font:800 clamp(2rem,3.4vw,2.9rem)/1 'Sora',sans-serif;color:var(--blue);
  background:linear-gradient(135deg,var(--blue),var(--red));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.cm-stats .l{color:var(--muted);font:600 .92rem/1.3 'Inter',sans-serif;margin-top:.5rem}

/* ============ PROGRAMS ============ */
.cm-progs{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:26px}
.cm-prog{position:relative;border-radius:var(--r-lg);overflow:hidden;min-height:340px;display:flex;
  align-items:flex-end;color:#fff;text-decoration:none;box-shadow:var(--sh-sm);isolation:isolate}
.cm-prog img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .5s ease}
.cm-prog::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(to top,rgba(11,44,61,.94) 8%,rgba(11,44,61,.35) 55%,rgba(11,44,61,.1) 100%)}
.cm-prog:hover img{transform:scale(1.08)}
.cm-prog__body{padding:24px 24px 26px;width:100%}
.cm-prog__ic{width:46px;height:46px;border-radius:12px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);
  display:grid;place-items:center;font-size:1.4rem;margin-bottom:12px;backdrop-filter:blur(3px)}
.cm-prog h3{color:#fff;font-size:1.22rem;margin-bottom:.3rem}
.cm-prog p{color:#d6e6ee;font-size:.88rem;line-height:1.5}
.cm-prog__go{display:inline-flex;align-items:center;gap:.4rem;margin-top:14px;color:#ffd9d4;font:700 .88rem/1 'Inter',sans-serif;
  opacity:0;transform:translateX(-6px);transition:.25s}
.cm-prog:hover .cm-prog__go{opacity:1;transform:none}

/* ============ VALUE / WHY (alternating) ============ */
.cm-why{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px}
.cm-why__card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:32px 28px;transition:.22s}
.cm-why__card:hover{transform:translateY(-4px);box-shadow:var(--sh)}
.cm-why__ic{width:58px;height:58px;border-radius:16px;display:grid;place-items:center;font-size:1.7rem;margin-bottom:16px;
  background:linear-gradient(135deg,var(--red-soft),#fff);border:1px solid var(--line);color:var(--red)}
.cm-why__card h3{font-size:1.15rem;margin-bottom:.5rem}

/* ============ CAREERS band ============ */
.cm-careers{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin-top:36px}
.cm-career{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:var(--r);
  padding:22px 20px;text-align:center;transition:.2s}
.cm-career:hover{background:rgba(255,255,255,.14)}
.cm-career .ic{font-size:1.9rem;margin-bottom:.4rem}
.cm-career b{display:block;color:#fff;font:700 1rem/1.2 'Sora',sans-serif}
.cm-career small{color:#bcd6e2}

/* ============ STEPS (admissions journey) ============ */
.cm-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;counter-reset:step}
.cm-step{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:34px 26px 28px}
.cm-step::before{counter-increment:step;content:counter(step);position:absolute;top:-20px;left:26px;
  width:44px;height:44px;border-radius:12px;display:grid;place-items:center;color:#fff;
  font:800 1.2rem/1 'Sora',sans-serif;background:linear-gradient(135deg,var(--blue),var(--red));box-shadow:var(--sh-sm)}
.cm-step h3{font-size:1.1rem;margin:.6rem 0 .4rem}

/* ============ FACILITIES gallery ============ */
.cm-facs{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:170px;gap:14px}
.cm-facs a{position:relative;border-radius:var(--r);overflow:hidden;box-shadow:var(--sh-sm)}
.cm-facs a img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.cm-facs a:hover img{transform:scale(1.08)}
.cm-facs a:nth-child(1){grid-column:span 2;grid-row:span 2}

/* ============ big CTA ============ */
.cm-cta{position:relative;border-radius:var(--r-lg);overflow:hidden;text-align:center;color:#fff;
  padding:clamp(46px,6vw,78px) 28px;background:linear-gradient(120deg,var(--blue-ink),var(--blue-d) 55%,var(--red-d))}
.cm-cta h2{color:#fff;font-size:clamp(1.8rem,3.4vw,2.6rem);max-width:22ch;margin:0 auto .7rem}
.cm-cta p{color:#dbe9f0;max-width:52ch;margin:0 auto 1.8rem}
.cm-cta__row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ============ responsive ============ */
@media(max-width:900px){
  .cm-stats{grid-template-columns:repeat(2,1fr);margin-top:-40px}
  .cm-stats>div:nth-child(2){border-right:0}.cm-stats>div:nth-child(1),.cm-stats>div:nth-child(2){border-bottom:1px solid var(--line)}
  .cm-facs{grid-template-columns:repeat(2,1fr)}
  .cm-hero{min-height:auto}
  /* Text spans the full width here, so the light right-hand end of the desktop
     overlay sat behind the paragraph — keep the photo dark everywhere. */
  .cm-hero__bg::after{background:linear-gradient(180deg,rgba(11,44,61,.9) 0%,rgba(15,71,99,.86) 100%)}
}
@media(max-width:560px){
  .cm-stats{grid-template-columns:1fr}.cm-stats>div{border-right:0!important;border-bottom:1px solid var(--line)}
  .cm-hero h1{font-size:2.1rem}.cm-hero__cta .cm-btn{flex:1 1 100%;justify-content:center}
}
