/* =======================  Admission – clean CSS  ======================= */

/* Tokens */
:root{
  --eco-blue:#4197CB;
  --eco-blue-dark:#2f79ad;
  --eco-yellow:#FFC32A;
  --eco-ink:#0b2f55;
  --eco-gray:#4b5563;
  --eco-bg:#f7f8fb;
  --card:#fff;

  --font-family-base:'Karla-Regular';
  --font-size-base:16px;
  --font-weight-regular:300;
  --line-height-base:1.65;

}

@font-face{
  font-family:'Karla-Regular';
  src:url('../fonts/Karla-Regular.ttf') format('opentype');
  font-weight:200;
  font-style:normal;
  font-display:swap;
}

/* Base */
*{ box-sizing:border-box; }
html,body{ margin:0; }
body{
  font-family:var(--font-family-base);
  font-size:var(--font-size-base);
  font-weight:var(--font-weight-regular);
  background:var(--eco-bg);
  color:var(--eco-gray);
  line-height:var(--line-height-base);
  letter-spacing:var(--letter-spacing-body);
}

h1,h2,h3,h4,h5,h6{
  font-family:var(--font-family-base);
  font-weight:var(--font-weight-regular);
  letter-spacing:var(--letter-spacing-heading);
  line-height:1.25;
}

/* Layout */
.container_adm{ width:min(1180px,92vw); margin:0 auto; }
.admission_adm{
  background:#fff;
  padding:24px 0 36px;
  --adm-row-h: clamp(130px, 16vw, 170px);
  --adm-photo-h: clamp(180px, 22vw, 350px);
}
.grid_adm{
  display:grid;
  grid-template-columns:minmax(0,1fr) 420px;
  gap:28px 36px;
  align-items:stretch;
}
/* Center the right column vertically on desktop */
@media (min-width:1024px){ .grid_adm > .right_adm{ align-self:center; } }
@media (max-width:1023.98px){ .grid_adm{ grid-template-columns:1fr; } }

/* Headings / text */
.title_adm{
  margin:0 0 8px;
  font-weight:300;
  letter-spacing:var(--letter-spacing-body);
  color:var(--eco-blue);
  font-size:clamp(34px,5vw,56px);
  text-align:center;
}
.lead_adm{ font-weight:300; font-size:1.2rem;text-align: center; }
.sub_adm{
  margin:16px 0 6px;
  text-align:center;
  color:var(--eco-blue);
  font-weight:300;
  letter-spacing:var(--letter-spacing-body);
  font-size:clamp(22px,3.4vw,36px);
}
.copy_adm{
  font-family:var(--font-family-base);
  font-size:1.2rem;
  font-weight:var(--font-weight-regular);
  color:#4a5663;
  text-align:center;
  line-height:1.65;
  letter-spacing:var(--letter-spacing-body);
}


/* Photo with blue bars */
.photo_adm{
  position:relative;
  margin:14px 0;
  border-radius:4px;
  overflow:hidden;
  box-shadow:0 14px 28px rgba(13,38,76,.12);
}
.photo_adm::before,
.photo_adm::after{
  content:"";
  position:absolute; left:0; right:0;
  height:6px; background:var(--eco-blue); z-index:1;
}
.photo_adm::before{ top:0; }
.photo_adm::after{ bottom:0; }
.photo_adm img{
  display:block;
  width:100%;
  height:var(--adm-photo-h);
  object-fit:cover;
  object-position:center;
}

/* Sidebar title */
.side_title_adm{
  margin:10px 0 12px;
  color:var(--eco-blue);
  font-weight:300;
  letter-spacing:var(--letter-spacing-body);
  font-size:2.7rem;
  text-align:center;
}
@media (max-width:1024px){ .side_title_adm{ text-align:center; } }

/* Process rows (uniform size) */
.row_adm{
  display:grid;
  grid-template-columns:80px 1fr;
  gap:12px;
  align-items:stretch;
  min-height:var(--adm-row-h);
  width:120%;
  margin:10px 0 14px;
}
.row_adm:hover .card_adm{
  background:var(--eco-ink);
  cursor: pointer;
  transition: 0.7s;}


/* Badge */
.badge_adm{
  align-self:center;
  justify-self:center;
  width:64px; height:64px;
  border-radius:50%;
  display:grid; place-items:center;
  color:var(--eco-blue);
  background:
    linear-gradient(#fff,#fff) padding-box,
    radial-gradient(circle at 50% 50%, #b8d8ef, #7fb4da) border-box;
  border:6px solid transparent;
}
.badge_adm-icon{
  width:28px;
  height:28px;
  display:block;
  object-fit:contain;
}
.at-phone {display: none;}

/* Card */
.card_adm{
  position:relative;
  background:#3a8fc8;
  color:#eaf4fc;
  border-radius:6px;
  padding:12px 60px 12px 14px;
  box-shadow:0 12px 26px rgba(13,38,76,.12);
  height:100%;
  display:flex;
  flex-direction:column;
}
.card_head_adm{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin:0 0 6px;
}
.card_link_adm{
  color:#fff;
  text-decoration:underline;
  text-underline-offset:3px;
  font-weight:300;
}
.card_num_adm{ font-weight:300;
  position:absolute; right:10px; top:10px;
  display:inline-grid; place-items:center;
  width:46px; height:34px;
  border-radius:6px;
  background:#e7f1f9; color:#2a6e9d;
  font-weight:300;
}

/* Card content */
.card_list_adm{
  margin:0;
  padding-left:1.1em;
  display:grid;
  gap:6px;
  overflow:hidden;
}
.card_list_adm li{ font-weight:300;
  color:#fff; line-height:1.55;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:5; /* adjust if needed */
  line-clamp:5; /* standard property for compatibility */
  overflow:hidden;
}

/* Small-screen row height tweak */
@media (max-width:1024px){
  .admission_adm{ --adm-row-h: clamp(140px, 28vw, 200px); }
  .row_adm{
  width:100%;
  grid-template-columns:64px 1fr;
  gap:10px;}
}

@media (max-width:640px){
  .title_adm{
    font-size:2rem;
  }
  .lead_adm{
    font-size:1rem;
  }
  .sub_adm{
    font-size:1.4rem;
  }
  .copy_adm{
    font-size:1rem;
  }
  .side_title_adm{
    font-size:1.4rem;
  }
  .card_link_adm{
    font-size:1rem;
  }
  .card_list_adm li{
    font-size:0.95rem;
  }
  .card_num_adm{
    font-size:0.95rem;
  }
  .at-desktop {display: none;}
  .at-phone {display: inline;}
}














