/* One lead story, four quiet floating cards; scoped to the homepage news. */
.news-section .news-visual.news-source-thumbnail{display:grid;place-items:center;background:#e8f1f3}
.news-section .news-visual.news-source-thumbnail img{position:static;width:200px;height:200px;max-width:100%;max-height:100%;object-fit:contain;transform:none!important;filter:none}
.news-section .news-visual.news-source-thumbnail::after{display:none}
.news-section {
  --news-accent: #087f8d;
  --news-ease: cubic-bezier(.22, .72, .2, 1);
  isolation: isolate;
  background: linear-gradient(180deg, #fff 0%, #f7fbfc 74%, #fff 100%);
}
.news-section::before {
  width: 70%;
  height: 75%;
  top: 20%;
  left: -30%;
  background: radial-gradient(ellipse, rgba(32, 155, 165, .065), transparent 68%);
  box-shadow: none;
  pointer-events: none;
}
.news-section .news-head { align-items: end; }
.news-section .news-head .eyebrow { color: var(--news-accent); }
.news-section .news-grid {
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  gap: 14px 28px;
}
.news-section .news-card {
  isolation: isolate;
  min-width: 0;
  padding: 16px;
  gap: 17px;
  grid-template-columns: clamp(96px, 9vw, 128px) minmax(0, 1fr);
  border: 1px solid #e0eaee;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 3px 6px rgba(15, 58, 74, .025), 0 9px 24px rgba(15, 58, 74, .055);
  transform-style: flat;
  will-change: auto;
  transition: transform .45s var(--news-ease), box-shadow .45s var(--news-ease), border-color .35s ease;
}
.news-section .news-card:nth-child(2) { padding-top: 16px; }
.news-section .news-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(125deg, rgba(224, 246, 246, .75), transparent 66%);
  opacity: 0;
  transition: opacity .45s ease;
}
.news-section .news-visual {
  height: 100%;
  min-height: 94px;
  max-height: 124px;
  align-self: stretch;
  border-radius: 11px;
  background: #e4eef1;
  box-shadow: inset 0 0 0 1px rgba(15, 58, 74, .04);
}
.news-section .news-visual img {
  transition: transform .85s var(--news-ease);
  transform: scale(1);
}
.news-section .news-body time {
  color: #647c89;
  font-size: .75rem;
  letter-spacing: .065em;
}
.news-section .news-body h3 {
  font-size: 1.0625rem;
  line-height: 1.4;
  transition: color .3s ease;
}
.news-section .news-link {
  min-height: 32px;
  margin-top: auto;
  padding-top: 3px;
  font-size: .875rem;
  color: var(--news-accent);
}
/* A single accessible link covers the image, title and reading action. */
.news-section .news-link::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
  border-radius: inherit;
}
.news-section .news-link span {
  width: 32px;
  height: 32px;
  color: var(--news-accent);
  background: #edf6f7;
  border: 1px solid #dfedef;
  transition: transform .4s var(--news-ease), color .3s, background .3s, box-shadow .4s;
  will-change: auto;
}
.news-section .news-featured {
  padding: 0;
  gap: 0;
  border-radius: 23px;
  align-self: stretch;
  box-shadow: 0 4px 8px rgba(15, 58, 74, .025), 0 18px 42px rgba(15, 58, 74, .10);
}
.news-section .news-featured .news-visual {
  height: auto;
  min-height: 0;
  max-height: none;
  flex-shrink: 0;
  border-radius: 0;
  aspect-ratio: 16 / 9;
}
.news-section .news-featured .news-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(6, 35, 51, .10), transparent 40%, rgba(6, 35, 51, .10));
}
.news-section .news-featured .news-category {
  padding: 8px 12px;
  color: #fff;
  background: rgba(7, 37, 52, .65);
  border-color: rgba(255, 255, 255, .3);
  box-shadow: 0 4px 14px rgba(8, 40, 54, .12);
}
.news-section .news-featured .news-body {
  flex: 1;
  padding: 25px 27px 23px;
}
.news-section .news-featured .news-body h3 {
  font-size: clamp(1.375rem, 1.75vw, 1.625rem);
  line-height: 1.3;
}
.news-section .news-featured .news-body p { font-size: 1rem; }
.news-section .news-featured .news-link {
  margin-top: auto;
  padding-top: 19px;
}
.news-section .news-featured .news-link span { width: 38px; height: 38px; }
.news-section .news-card:focus-within {
  outline: 2px solid var(--news-accent);
  outline-offset: 4px;
  border-color: #89bfc5;
  box-shadow: 0 14px 32px rgba(15, 75, 90, .13);
}
.news-section .news-link:focus-visible { outline: none; }
.news-section .news-card:focus-within .news-link span {
  color: #fff;
  background: var(--news-accent);
}
@media (hover: hover) and (pointer: fine) {
  .news-section .news-card:hover {
    transform: translateY(-5px);
    border-color: #9bc7cd;
    box-shadow: 0 7px 14px rgba(15, 58, 74, .035), 0 20px 42px rgba(15, 75, 90, .14);
  }
  .news-section .news-featured:hover {
    transform: translateY(-6px);
    box-shadow: 0 8px 16px rgba(15, 58, 74, .04), 0 28px 54px rgba(15, 75, 90, .18);
  }
  .news-section .news-card:hover::before { opacity: 1; }
  .news-section .news-card:hover .news-body h3 { color: #086e7b; }
  .news-section .news-card:hover .news-visual img { transform: scale(1.045); }
  .news-section .news-card:hover .news-link span {
    color: #fff;
    background: var(--news-accent);
    border-color: transparent;
    transform: translate(2px, -2px);
    box-shadow: 0 5px 13px rgba(8, 127, 141, .22);
  }
}
@keyframes news-arrive {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: no-preference) {
  .news-section .news-arriving {
    animation: news-arrive .72s var(--news-ease) both;
    animation-delay: calc(var(--news-order, 0) * 75ms);
  }
}
@media (max-width: 1050px) {
  .news-section .news-grid { gap: 13px 20px; }
  .news-section .news-card { gap: 13px; padding: 14px; }
  .news-section .news-card:nth-child(2) { padding-top: 14px; }
  .news-section .news-featured { padding: 0; gap: 0; }
  .news-section .news-featured .news-body { padding: 22px; }
}
@media (max-width: 900px) {
  .news-section .news-grid { display: flex; flex-direction: column; gap: 16px; }
  .news-section .news-featured .news-body { padding: 24px; }
  .news-section .news-featured .news-link { margin-top: 8px; }
  .news-section .news-card:not(.news-featured) { grid-template-columns: 128px minmax(0, 1fr); }
}
@media (max-width: 520px) {
  .news-section .news-card { border-radius: 16px; gap: 12px; }
  .news-section .news-card:not(.news-featured) { grid-template-columns: 88px minmax(0, 1fr); }
  .news-section .news-featured { border-radius: 20px; }
  .news-section .news-featured .news-body { padding: 21px; }
  .news-section .news-body h3 { font-size: 1rem; }
  .news-section .news-body time { letter-spacing: .035em; }
  .news-section .news-link { min-height: 36px; }
  .news-section .news-visual { min-height: 88px; }
}
@media (hover: none) {
  .news-section .news-card:hover .news-visual img { transform: none; }
  .news-section .news-card:hover .news-link span {
    transform: none;
    color: var(--news-accent);
    background: #edf6f7;
  }
}
@media (prefers-reduced-motion: reduce) {
  .news-section .news-arriving { animation: none; }
  .news-section .news-card,
  .news-section .news-card::before,
  .news-section .news-visual img,
  .news-section .news-body h3,
  .news-section .news-link span { transition: none; }
  .news-section .news-card:hover,
  .news-section .news-card:hover .news-visual img,
  .news-section .news-card:hover .news-link span { transform: none; }
}
