.portal-home .home-shell {
  width: min(780px, calc(100% - 48px));
  min-height: 100svh;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
}
.portal-home main { flex: 1; padding: clamp(58px, 12vh, 120px) 0 60px; }
.portal-home h1 {
  margin: 0 0 52px;
  text-align: center;
  font-size: clamp(92px, 13vw, 140px);
  font-weight: 650;
  line-height: 1;
  letter-spacing: -9px;
}
.portal-home .service-grid { gap: 18px; }
.portal-home .service-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 210px;
  padding: 28px 18px;
  gap: 20px;
  text-align: center;
}
.portal-home .card-symbol { width: 66px; height: 66px; margin: 0; }
.portal-home .service-title { font-size: 23px; font-weight: 600; letter-spacing: -.6px; }
.home-footer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  padding: 24px 0 28px;
  color: var(--muted);
  font-size: 11px;
}
.home-footer a { text-decoration: none; }
.home-footer a:hover { text-decoration: underline; }
@media (max-width: 650px) {
  .portal-home .home-shell { width: min(420px, calc(100% - 40px)); }
  .portal-home main { padding-top: 52px; padding-bottom: 32px; }
  .portal-home h1 { font-size: 100px; letter-spacing: -7px; margin-bottom: 36px; }
  .portal-home .service-grid { gap: 12px; }
  .portal-home .service-card { flex-direction: row; min-height: 112px; gap: 20px; padding: 22px; }
  .portal-home .card-symbol { width: 52px; height: 52px; }
  .portal-home .service-title { min-width: 124px; text-align: left; font-size: 23px; }
}
@media (max-width: 360px) {
  .portal-home .home-shell { width: calc(100% - 32px); }
  .portal-home .service-card { padding-inline: 18px; }
}
