/* Responsive portal layout is available before the first paint. */
html body.portal-private-body .portal-feature {
          grid-template-rows: auto minmax(0, 1fr) auto !important;
        }

        html body.portal-private-body .portal-feature > span {
          grid-column: 1 !important;
          grid-row: 1 / span 3 !important;
        }

        html body.portal-private-body .portal-feature > strong {
          grid-column: 2 !important;
          grid-row: 1 !important;
          min-width: 0 !important;
          overflow-wrap: anywhere !important;
        }

        html body.portal-private-body .portal-feature > p {
          grid-column: 2 !important;
          grid-row: 2 !important;
          min-width: 0 !important;
          overflow-wrap: anywhere !important;
        }

        html body.portal-private-body .portal-feature > em {
          grid-column: 2 !important;
          grid-row: 3 !important;
        }

        html body.portal-private-body .portal-feature > b {
          grid-column: 3 !important;
          grid-row: 1 / span 3 !important;
        }

        @media (max-width: 1320px) {
          html body.portal-private-body #portal-shell:not(.private-active) .portal-access-card {
            width: 100% !important;
            max-width: none !important;
            margin: 0 0 1.25rem !important;
            padding: 1.25rem 1.4rem !important;
            justify-self: stretch !important;
            box-shadow: 0 12px 32px rgba(42, 32, 26, .07) !important;
          }

          html body.portal-private-body #portal-shell:not(.private-active) .portal-access-card h2 {
            margin-bottom: .55rem !important;
            font-size: clamp(1.45rem, 3vw, 1.8rem) !important;
          }

          html body.portal-private-body #portal-shell:not(.private-active) .portal-access-card p {
            margin-top: .35rem !important;
            margin-bottom: .8rem !important;
          }

          html body.portal-private-body #portal-shell:not(.private-active) .portal-access-card button,
          html body.portal-private-body #portal-shell:not(.private-active) .portal-access-card input[type='email'] {
            min-height: 44px !important;
          }

          html body.portal-private-body #portal-shell:not(.private-active) .portal-access-card footer {
            margin-top: 1.1rem !important;
            padding-top: .85rem !important;
          }
        }

html body.portal-private-body #portal-shell .portal-hero {
  grid-template-areas: "intro access" "features access";
  grid-template-rows: auto 1fr;
  row-gap: 0;
}
html body.portal-private-body #portal-shell .portal-intro { display: contents; }
html body.portal-private-body #portal-shell .portal-heading { grid-area: intro; }
html body.portal-private-body #portal-shell .portal-feature-grid { grid-area: features; }
html body.portal-private-body #portal-shell .portal-access-card { grid-area: access; }
@media (max-width: 1320px) {
  html body.portal-private-body #portal-shell .portal-hero {
    grid-template-areas: "intro" "access" "features";
    grid-template-rows: auto auto 1fr;
  }
}
html body.portal-private-body #portal-shell.private-active .portal-hero {
  grid-template-areas: "intro" "features";
  grid-template-rows: auto 1fr;
}
