/* St. Xavier's Technical Institute — Courses Offered
   Image card + title · dark maroon on hover · responsive */
.xt-co{
  /* St. Xavier's brand colours */
  --burgundy:#8B1E2D;--royal:#C62828;--orange:#F57C00;--gold:#F4B942;--charcoal:#292929;--white:#FAFAFA;--grey:#F1F3F5;
  --card:#FFF4D6;--red:var(--burgundy);--dark:var(--burgundy);--y:var(--gold);--ink:var(--charcoal);
  width:100%;padding:44px 16px 52px;color:var(--ink);
  background:linear-gradient(rgba(241,243,245,.25),rgba(241,243,245,.25)),url('images/courses-bg.jpg') 70% center/cover no-repeat var(--grey);
  font:400 .95rem/1.6 'Poppins','Segoe UI',Arial,sans-serif;
}
.xt-co,.xt-co *,.xt-co *::before,.xt-co *::after{box-sizing:border-box}
.xt-co :is(h2,h3,p){margin:0}
.xt-co-in{max-width:1100px;margin:0 auto;text-align:center}

.xt-co-title{color:var(--red);font:400 clamp(2.1rem,4.5vw,3rem)/1.05 'Bebas Neue','Oswald',Impact,sans-serif;letter-spacing:.05em;text-transform:uppercase}
.xt-co-title::after{content:'';display:block;width:64px;height:4px;margin:10px auto 0;border-radius:4px;background:var(--y)}

.xt-co-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,440px));justify-content:center;gap:28px;margin-top:34px}

/* card */
.xt-co-card{display:flex;flex-direction:column;gap:16px;padding:12px 12px 24px;background:var(--card);border:1px solid rgba(244,185,66,.55);border-bottom:4px solid var(--gold);border-radius:6px;
  box-shadow:0 4px 14px rgba(41,41,41,.08);transition:background-color .3s ease,box-shadow .3s ease,transform .3s ease,border-color .3s ease}
.xt-co-media{position:relative;display:grid;place-items:center;aspect-ratio:4/3;overflow:hidden;border-radius:4px;background:var(--grey)}
.xt-co-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%;display:block;transition:transform .5s ease}
.xt-co-name{flex:1;display:flex;align-items:center;justify-content:center;padding:0 10px;color:var(--ink);font:600 1.2rem/1.35 'Poppins',sans-serif;letter-spacing:.05em;text-align:center;text-transform:uppercase;transition:color .3s ease}

/* hover / keyboard focus: dark background */
.xt-co-card:hover,.xt-co-card:focus-within{background:var(--burgundy);border-color:var(--burgundy);border-bottom-color:var(--orange);box-shadow:0 14px 30px rgba(139,30,45,.38);transform:translateY(-4px)}
.xt-co-card:hover .xt-co-name,.xt-co-card:focus-within .xt-co-name{color:#fff}
.xt-co-card:hover .xt-co-media img{transform:scale(1.05)}

@media (max-width:560px){
  .xt-co{padding:30px 12px 36px;background-position:78% center}
  .xt-co-grid{grid-template-columns:minmax(0,1fr);gap:16px;margin-top:22px}
  .xt-co-name{font-size:1.02rem}
}
@media (hover:none){.xt-co-card:hover{transform:none}}
@media (prefers-reduced-motion:reduce){.xt-co-card,.xt-co-media img{transition:none}.xt-co-card:hover{transform:none}.xt-co-card:hover .xt-co-media img{transform:none}}