.student-announcement[hidden], .student-announcement a[hidden] { display: none; }
.home-services { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 44px; align-items: stretch; }
.home-services:has(> [hidden]):not(:has(> :not([hidden]))) { display: none; }
.student-announcement { min-width: 0; display: flex; }
.home-services > .student-announcement:only-child { grid-column: 1 / -1; }
@media (max-width: 640px) {
  .home-services { grid-template-columns: minmax(0, 1fr); gap: 18px; margin-top: 30px; grid-auto-rows: 1fr; }
}
.student-announcement-card {
  box-sizing: border-box;
  width: 100%;
  min-height: 286px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  background: #fff;
  border: 1px solid var(--sand, #e7dfd1);
  border-radius: 14px;
  padding: clamp(24px, 3vw, 34px);
  box-shadow: 0 5px 18px rgb(29 62 55 / 5%);
  text-align: right;
}
.student-announcement-label {
  display: inline-block;
  margin-bottom: 16px;
  padding: 6px 13px;
  border-radius: 6px;
  background: var(--ivory, #f8f5ee);
  color: var(--green-700, #294f49);
  font-size: 14px;
  font-weight: 700;
}
.student-announcement h2 { margin: 0 0 14px; color: var(--green-700, #294f49); font-size: clamp(22px, 2.5vw, 28px); line-height: 1.5; }
.student-announcement p { margin: 0; font-size: 18px; line-height: 2; color: #4e625e; white-space: pre-line; overflow-wrap: anywhere; text-wrap: pretty; }
.student-announcement a { display: inline-flex; align-items: center; min-height: 44px; margin-top: auto; padding-top: 18px; color: #1769bb; font-size: 18px; font-weight: 700; text-decoration: underline; text-underline-offset: 5px; overflow-wrap: anywhere; }
.student-announcement a:hover { color: #104c87; }
.student-announcement a:focus-visible { outline: 3px solid #1769bb; outline-offset: 5px; border-radius: 3px; }
