.portal .portal-hero {
  padding-block: clamp(3rem, 7vw, 5.5rem);
}

.portal-shell {
  padding-block: 2.5rem 5rem;
}

.docs-shell {
  display: grid;
  grid-template-columns: minmax(13rem, 17rem) minmax(0, 1fr);
  gap: clamp(2rem, 5vw, 4rem);
  align-items: start;
}

.docs-sidebar {
  position: sticky;
  top: 1rem;
  border: 1px solid var(--line);
  border-radius: 1rem;
  padding: 1rem;
  background: var(--white);
}

.docs-sidebar nav,
.docs-search {
  display: grid;
  gap: .65rem;
}

.docs-sidebar h2,
.docs-search label {
  font-size: .9rem;
  margin: 0;
  font-weight: 750;
}

.docs-search {
  margin-bottom: 1.25rem;
}

.docs-search input {
  width: 100%;
}

[data-search-results]:empty {
  display: none;
}

[data-search-results] {
  display: grid;
  gap: .45rem;
  font-size: .88rem;
}

.portal-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
  gap: 1rem;
  margin-block: 1.5rem 2rem;
}

.portal-card {
  border: 1px solid var(--line);
  border-radius: 1rem;
  padding: 1.25rem;
  background: var(--white);
}

.portal-card > :first-child {
  margin-top: 0;
}

.portal-card > :last-child {
  margin-bottom: 0;
}

.download-grid,
.status-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
  gap: 1rem;
  margin-block: 1.5rem 2rem;
}

.download-card,
.status-card,
.incident-history,
.status-notice {
  padding: 1.25rem;
  border: 1px solid var(--line);
  border-radius: 1rem;
  background: var(--white);
}

.download-card dl {
  display: grid;
  gap: .75rem;
}

.download-card dl div {
  display: grid;
  grid-template-columns: 7rem 1fr;
  gap: .75rem;
}

.download-card dt {
  font-weight: 750;
}

.download-card dd {
  margin: 0;
}

.status-notice {
  border-color: #73c8d7;
  background: #eefbfd;
}

.status-notice p,
.status-card > :last-child,
.incident-history > :last-child {
  margin-bottom: 0;
}

.status-badge {
  display: inline-flex;
  margin-bottom: .75rem;
  padding: .35rem .65rem;
  color: #075049;
  background: #d9faf5;
  border-radius: 999px;
  font-size: .85rem;
  font-weight: 750;
}

@media (max-width: 760px) {
  .docs-shell {
    grid-template-columns: 1fr;
  }

  .docs-sidebar {
    position: static;
  }
}

/* Shared 2026 portal treatment */
.portal .portal-hero {
  padding-block: clamp(4rem, 8vw, 7rem);
}

.portal .portal-hero-home {
  padding-block: 0;
}

.portal .portal-hero-home .hero-grid {
  padding-block: clamp(4.5rem, 8vw, 7rem);
}

.portal-shell {
  padding-block: clamp(3.5rem, 7vw, 6.5rem);
}

.portal-content {
  display: block;
}

.portal-content > h2 {
  margin-top: clamp(3rem, 6vw, 5rem);
}

.portal-content > h2:first-child {
  margin-top: 0;
}

.portal-card-grid {
  gap: 1.25rem;
}

.portal-card,
.download-card,
.status-card,
.incident-history,
.status-notice {
  position: relative;
  overflow: hidden;
  padding: clamp(1.35rem, 3vw, 2rem);
  background:
    radial-gradient(circle at 100% 100%, rgba(35, 113, 255, .09), transparent 13rem),
    rgba(255, 255, 255, .94);
  border-color: rgba(21, 84, 246, .13);
  border-radius: 20px;
  box-shadow: 0 18px 50px rgba(17, 65, 145, .08);
  transition: transform .25s ease, box-shadow .25s ease;
}

.portal-card:hover,
.download-card:hover,
.status-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 25px 62px rgba(17, 65, 145, .13);
}

.portal-card h3,
.download-card h3,
.status-card h3 {
  color: var(--navy);
  font-size: 1.25rem;
}

.docs-sidebar {
  top: 6.5rem;
  padding: 1.25rem;
  background: rgba(255, 255, 255, .94);
  border-color: rgba(21, 84, 246, .14);
  border-radius: 18px;
  box-shadow: 0 16px 45px rgba(17, 65, 145, .08);
}

.docs-sidebar a {
  padding: .42rem .55rem;
  border-radius: 8px;
  text-decoration: none;
}

.docs-sidebar a:hover {
  color: var(--blue);
  background: #edf4ff;
}

.docs-search input {
  min-height: 44px;
  padding: .65rem .75rem;
  border: 1px solid #8da7cf;
  border-radius: 9px;
}

.status-notice {
  background: linear-gradient(135deg, #edf5ff, #f9fcff);
  border-color: #8db4ff;
}

.status-badge {
  color: #084f43;
  background: #d8f7ee;
}

@media (max-width: 900px) {
  .portal .portal-hero-home .hero-grid {
    padding-block: 3.5rem 2rem;
  }
}

@media (max-width: 760px) {
  .docs-sidebar {
    position: static;
  }

  .portal-card:hover,
  .download-card:hover,
  .status-card:hover {
    transform: none;
  }
}
