/* Module 03. All rules are scoped to the public discovery and subject controls. */
.ve-study-areas {
  padding:80px 0;
  background:#fff8fb;
  color:#071a3d;
  font-family:"Mulish",sans-serif;
}
.ve-study-areas__container {
  width:calc(100% - 64px);
  max-width:1280px;
  margin-inline:auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:36px 32px;
  align-items:start;
}
.ve-study-areas__heading { grid-column:1; grid-row:1; }
.ve-study-areas__eyebrow {
  display:flex; align-items:center; gap:14px;
  color:#003a66; font-size:11px; font-weight:800;
  letter-spacing:2px; line-height:1.5; text-transform:uppercase; margin:0 0 14px;
}
.ve-study-areas__eyebrow>span { width:32px; height:2px; background:#e02454; }
.ve-study-areas h2 {
  color:#071a3d; font-family:inherit; font-size:clamp(30px,3.2vw,44px);
  font-weight:800; letter-spacing:-1.3px; line-height:1.2; margin:0 0 14px;
}
.ve-study-areas h2>span { color:#ac1740; }
.ve-study-areas__intro { max-width:720px; margin:0; color:#566078; font-size:16px; line-height:1.7; }
.ve-study-areas__all {
  grid-column:2; grid-row:1; align-self:center;
  display:inline-flex; align-items:center; justify-content:center;
  gap:14px; min-height:44px; padding:8px 0;
  color:#ac1740; font-size:14px; font-weight:800; text-decoration:none;
  border-bottom:1px solid #e9b6c5;
}
.ve-study-areas__all:hover { color:#071a3d; border-bottom-color:#071a3d; }
.ve-study-areas__all--mobile { display:none; }
.ve-study-areas__grid {
  grid-column:1 / -1; grid-row:2;
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); grid-auto-rows:1fr;
  gap:22px; margin:0; padding:0; list-style:none;
}
.ve-study-areas__grid>li { min-width:0; }
.ve-study-area-card {
  display:flex; flex-direction:column; align-items:flex-start; height:100%; min-height:280px;
  padding:26px; color:#071a3d; background:#fff; border:1px solid #e3e6ed;
  border-radius:18px; text-decoration:none; box-shadow:0 3px 12px #071a3d03;
  transition:transform 160ms ease,border-color 160ms ease,box-shadow 160ms ease;
}
.ve-study-area-card__icon {
  display:flex; justify-content:center; align-items:center;
  width:52px; height:52px; flex:none; margin-bottom:20px;
  color:#ac1740; border-radius:50%; background:#fff0f5;
}
.ve-study-areas__grid>li:nth-child(even) .ve-study-area-card__icon { color:#003a66; background:#eef4fa; }
.ve-study-area-card h3 {
  color:#071a3d; font-family:inherit; font-size:18px; font-weight:800;
  line-height:1.35; letter-spacing:-.3px; margin:0 0 10px; overflow-wrap:anywhere;
}
.ve-study-area-card p { color:#566078; font-size:14px; line-height:1.65; margin:0 0 22px; }
.ve-study-area-card__cta {
  display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%;
  margin-top:auto; color:#ac1740; font-size:13px; font-weight:800; line-height:1.5;
}
.ve-study-area-card__cta>span,.ve-study-areas__all>span { font-size:20px; line-height:1; }
.ve-study-area-card:hover {
  color:#071a3d; transform:translateY(-2px); border-color:#c15d79;
  box-shadow:0 5px 16px #071a3d08;
}
.ve-study-area-card:hover .ve-study-area-card__cta { text-decoration:underline; text-underline-offset:4px; }
.ve-study-area-card:active { transform:translateY(0); background:#fff5fa; }
.ve-study-areas :is(a):focus-visible,.ve-subject-controls :is(a,input,summary):focus-visible {
  outline:2px solid #ac1740; outline-offset:4px;
}
.ve-subject-controls { margin-block:18px; font-family:"Mulish",sans-serif; }
.ve-subject-chip {
  display:inline-flex; align-items:center; gap:14px; min-height:44px; max-width:100%; padding:10px 16px;
  border-radius:24px; background:#fff0f5; color:#ac1740; font-size:14px; font-weight:700;
}
.ve-subject-chip:hover { color:#071a3d; text-decoration:underline; }
.ve-subject-chip svg { flex:none; }
.ve-subject-search { margin-top:18px; }
.ve-subject-search label { display:block; margin-bottom:6px; font-size:14px; font-weight:700; color:#071a3d; }
.ve-subject-search input {
  width:100%; min-height:44px; padding:10px 14px; background:#fff;
  color:#071a3d; border:1px solid #d6dae3; border-radius:8px; font:inherit;
}
.ve-subject-browse>summary { cursor:pointer; min-height:44px; padding-block:10px; color:#003a66; font-weight:700; }
.ve-subject-browse ul { display:flex; flex-wrap:wrap; gap:8px; list-style:none; margin:12px 0 0; padding:0; }
.ve-subject-browse a { display:flex; align-items:center; min-height:44px; padding:8px 14px; color:#003a66; border-radius:8px; background:#f3f6fa; font-size:14px; }
.ve-subject-browse a:hover { background:#fff0f5; color:#ac1740; text-decoration:underline; }
@media (min-width:1024px) and (max-width:1279px) {
  .ve-study-areas__grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:1023px) {
  .ve-study-areas { padding-block:64px; }
  .ve-study-areas__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
}
@media (max-width:767px) {
  .ve-study-areas { padding-block:48px; }
  .ve-study-areas__container { width:calc(100% - 40px); grid-template-columns:minmax(0,1fr); gap:28px; }
  .ve-study-areas__heading { grid-column:1; }
  .ve-study-areas h2 { font-size:32px; letter-spacing:-.8px; }
  .ve-study-areas__intro { font-size:15px; }
  .ve-study-areas__grid { grid-column:1; grid-template-columns:minmax(0,1fr); grid-auto-rows:1fr; gap:16px; }
  .ve-study-area-card { min-height:240px; padding:24px; border-radius:15px; }
  .ve-study-area-card__icon { margin-bottom:16px; }
  .ve-study-area-card h3 { font-size:19px; }
  .ve-study-area-card p { font-size:15px; }
  .ve-study-areas__all { grid-column:1; grid-row:3; justify-self:start; }
  .ve-study-areas__all--desktop { display:none; }
  .ve-study-areas__all--mobile { display:inline-flex; }
}
@media (prefers-reduced-motion:reduce) {
  .ve-study-area-card { transition:none; }
  .ve-study-area-card:hover { transform:none; }
}
