/* Portal footer, inspired by the InstaScaler landing page. */
.site-footer--portal { padding: 0; background: var(--ink); color: var(--ivory); }
.site-footer--portal .footer-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr) minmax(0, 1fr); gap: clamp(32px, 4.5vw, 68px); padding-block: 56px 48px; }
.site-footer--portal .footer-grid > *, .site-footer--portal .footer-directory > * { min-width: 0; }
.site-footer--portal .footer-directory { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px; }
.site-footer--portal .footer-grid .brand--footer { display: inline-flex; margin: 0; color: var(--ivory); font-size: clamp(1.7rem, 2.5vw, 2.35rem); font-weight: 900; letter-spacing: -.055em; }
.site-footer--portal .brand--footer span { color: var(--turquoise); }
.site-footer--portal .footer-grid p { color: #b4b7b3; font-size: .87rem; line-height: 1.8; }
.site-footer--portal .footer-intro > p:not(.footer-signature) { margin-top: 23px; }
.site-footer--portal .footer-grid .footer-signature { margin-top: 12px; font: 400 .6rem/1.8 var(--mono); letter-spacing: .035em; }
.site-footer--portal .footer-grid .footer-motto { color: var(--ivory); font: 400 .7rem/1.8 var(--mono); }
.site-footer--portal .footer-grid .footer-title { margin-bottom: 14px; color: #a7aba7; font: 500 .65rem/1.7 var(--mono); letter-spacing: .06em; }
.site-footer--portal .footer-directory a, .site-footer--portal .footer-email { display: block; width: fit-content; max-width: 100%; min-height: 44px; margin: 0; padding-block: 10px; color: var(--ivory); font-size: .82rem; overflow-wrap: anywhere; }
.site-footer--portal .social-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 0 24px; margin: 0 0 30px; }
.site-footer--portal .social-links a { display: flex; justify-content: space-between; align-items: center; gap: 12px; width: auto; height: auto; min-height: 44px; margin: 0; padding: 10px 0; border: 0; border-radius: 0; color: var(--ivory); font-size: .82rem; }
.site-footer--portal .social-links a:hover { background: transparent; }
.site-footer--portal a:hover { color: var(--turquoise); }
.site-footer--portal a:focus-visible { outline: 2px solid var(--turquoise); outline-offset: 4px; }
.site-footer--portal .footer-bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 28px; margin-top: 0; padding-block: 20px; border-top: 1px solid #ffffff35; color: #b4b7b3; font: 400 .65rem/1.8 var(--mono); }
.site-footer--portal .footer-nav { min-width: 0; max-width: 100%; margin: 0; gap: 12px 24px; font: inherit; }
.site-footer--portal .footer-nav ul { gap: 12px 24px; }
.site-footer--portal .footer-nav a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: none; overflow-wrap: anywhere; }
@media (max-width: 1100px) {
  .site-footer--portal .footer-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 36px 48px; }
  .site-footer--portal .footer-intro { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
  .site-footer--portal .footer-grid { grid-template-columns: minmax(0, 1fr); gap: 34px; padding-block: 40px 32px; }
  .site-footer--portal .footer-intro { grid-column: auto; }
  .site-footer--portal .social-links { max-width: 360px; }
  .site-footer--portal .footer-bottom { flex-direction: column; align-items: flex-start; gap: 8px; }
}
