.portal-entry {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border: 1px solid rgba(53, 153, 198, .32) !important;
  background: linear-gradient(135deg, #ffffff 0%, #e1f0ff 46%, #c9ebe9 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .9),
    0 18px 44px rgba(20, 101, 157, .2) !important;
  -webkit-backdrop-filter: blur(18px) saturate(145%);
  backdrop-filter: blur(18px) saturate(145%);
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease !important;
}

.portal-entry::before {
  content: none;
}

.portal-entry::after {
  content: none;
}

.portal-entry:hover {
  transform: translateY(-7px) scale(1.01);
  border-color: rgba(75, 190, 205, .55) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 1),
    0 24px 52px rgba(24, 120, 157, .2) !important;
}

.portal-entry .topic-icon {
  border: 1px solid rgba(255, 255, 255, .75);
  background: linear-gradient(145deg, rgba(255, 255, 255, .8), rgba(166, 232, 235, .45)) !important;
  box-shadow: inset 0 1px 0 #fff, 0 8px 22px rgba(27, 146, 176, .13);
}

.portal-entry b {
  color: #0d6094;
}

.portal-entry small {
  color: #6f8791;
}

@media (min-width: 900px) {
  .hero {
    grid-template-columns: minmax(520px, .9fr) minmax(620px, 1.1fr) !important;
    gap: clamp(28px, 4vw, 72px) !important;
    min-height: 620px !important;
    padding-top: 72px !important;
    padding-bottom: 72px !important;
  }

  .hero-copy {
    max-width: 650px;
  }

  .hero-copy h1 {
    margin: 20px 0 22px !important;
    font-size: clamp(60px, 4.6vw, 82px) !important;
    line-height: 1.08 !important;
    letter-spacing: -2px;
  }

  .hero-copy > p {
    max-width: 620px;
    font-size: 18px !important;
    line-height: 1.9 !important;
  }

  .hero-actions {
    margin-top: 34px !important;
  }

  .hero-stats {
    margin-top: 42px !important;
  }

  .hero-stats strong {
    font-size: 27px !important;
  }

  .medical-visual {
    min-height: 510px;
    overflow: hidden;
    background-image:
      radial-gradient(circle at 12% 16%, rgba(31, 175, 194, .75) 0 2px, transparent 3px),
      radial-gradient(circle at 82% 20%, rgba(19, 109, 168, .52) 0 3px, transparent 4px),
      radial-gradient(circle at 72% 74%, rgba(38, 188, 190, .55) 0 2px, transparent 3px),
      radial-gradient(circle at 28% 82%, rgba(19, 109, 168, .42) 0 2px, transparent 3px),
      radial-gradient(circle at center, rgba(125, 232, 235, .2), transparent 56%);
  }

  .medical-visual::before,
  .medical-visual::after {
    content: "";
    position: absolute;
    z-index: 2;
    border-radius: 50%;
    box-shadow: inset -8px -8px 15px rgba(3, 84, 139, .2), 0 0 22px rgba(32, 185, 199, .25);
  }

  .medical-visual::before {
    width: 38px;
    height: 38px;
    left: 17%;
    top: 26%;
    background: linear-gradient(145deg, #9ceef0, #2db8c5 58%, #1371a8);
    animation: planet-float 5.5s ease-in-out infinite;
  }

  .medical-visual::after {
    width: 24px;
    height: 24px;
    right: 18%;
    bottom: 24%;
    background: linear-gradient(145deg, #d9fbf5, #5bc9c8 52%, #247cae);
    animation: planet-float 4.4s ease-in-out infinite reverse;
  }

  .medical-visual .star {
    text-shadow: 18px 28px 0 rgba(35, 169, 190, .3), -28px 70px 0 rgba(23, 101, 162, .2), 66px -34px 0 rgba(36, 184, 190, .22);
    animation: star-twinkle 2.8s ease-in-out infinite;
  }

  .medical-visual .star-two {
    animation-delay: -.9s;
  }

  .medical-visual .star-three {
    animation-delay: -1.8s;
  }
}

@keyframes planet-float {
  0%, 100% { transform: translate3d(0, 0, 0) rotate(0deg); }
  50% { transform: translate3d(10px, -14px, 0) rotate(12deg); }
}

@keyframes star-twinkle {
  0%, 100% { opacity: .45; transform: scale(.85); }
  50% { opacity: 1; transform: scale(1.18); }
}

.homepage-latest-card {
  cursor: pointer;
}

.homepage-latest-thumb {
  width: 100%;
  height: auto !important;
  aspect-ratio: 800 / 347;
  display: grid;
  place-items: center;
  background: #eef5f3;
}

.homepage-latest-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

@media (max-width: 680px) {
  .homepage-latest-thumb {
    margin-bottom: 16px;
  }
}
