/* Institutional entry to the private portal; uses the existing ETAR design tokens. */
/* Portal pages use a separate layout without cross-document animation opt-in.
   Use native page loads on the integrated site; section animations stay intact. */
@view-transition { navigation: none; }
.primary-navigation-link.portal-nav-access {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 9px 12px;
  border: 1px solid var(--line);
  border-radius: 2px;
  color: var(--blue);
  font-weight: 600;
  touch-action: manipulation;
}
.portal-nav-access svg { flex: 0 0 16px; }
.primary-navigation-link.portal-nav-access:hover,
.primary-navigation-link.portal-nav-access:focus-visible {
  color: var(--deep);
  border-color: var(--blue);
  background: #edf2fa;
}
.website-portal { padding-block: clamp(48px, 6vw, 88px); background: var(--surface); border-top: 1px solid var(--line); }
.website-portal-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); align-items: center; gap: clamp(32px, 6vw, 88px); }
.website-portal h2 { font-size: clamp(32px, 3.2vw, 48px); text-wrap: balance; margin-bottom: 22px; }
.website-portal-copy > p:not(.eyebrow) { max-width: 550px; color: var(--muted); font-size: 16px; }
.website-portal-copy .button { margin-top: 5px; }
.website-portal-copy > p.website-portal-note { margin: 14px 0 0; font-size: 12px; }
.website-portal-audiences { margin: 0; }
.website-portal-audiences > div { padding-block: 25px; border-top: 1px solid var(--line); }
.website-portal-audiences > div:last-child { border-bottom: 1px solid var(--line); }
.website-portal-audiences dt { display: flex; align-items: center; gap: 18px; font-size: 24px; font-weight: 500; letter-spacing: -.025em; }
.website-portal-audiences dt > span { font: 11px/1.5 'Courier New', monospace; color: var(--accent); letter-spacing: .05em; }
.website-portal-audiences dd { margin: 12px 0 0 47px; color: var(--muted); font-size: 15px; }
.footer-nav .footer-portal { align-items: center; min-height: 44px; gap: 18px; color: white; }
.footer-nav .footer-portal:hover { color: #b9d8ff; }
.footer-nav .footer-portal:focus-visible { outline-color: #b9d8ff; }
@media (max-width: 1090px) {
  .primary-navigation-link.portal-nav-access { justify-content: flex-start; min-height: 49px; margin-block: 6px; padding-inline: 12px; }
}
@media (max-width: 767px) {
  .website-portal-grid { grid-template-columns: minmax(0, 1fr); }
  .website-portal-audiences dd { margin-left: 0; }
}
