/* The homepage has two equally weighted entrances; other pages keep their existing feature style. */
.home-feature-pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  max-width: 820px;
  margin-top: 17px;
}

.feature-tile {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
  min-height: 112px;
  overflow: hidden;
  border: 1px solid #d8e4f3;
  border-radius: 18px;
  padding: 17px 19px;
  background: linear-gradient(116deg, #edf5ff 0%, #f9fbff 72%, #fff 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.95), 0 10px 26px rgba(34,76,132,.07);
  color: #173d70;
  text-decoration: none;
  transition: transform .22s, border-color .22s, box-shadow .22s;
}

.feature-tile::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(112deg, rgba(255,255,255,.8), transparent 44%, rgba(255,255,255,.55) 65%, transparent 85%);
  content: "";
  pointer-events: none;
}

.feature-tile-news {
  border-color: #eadfcc;
  background: linear-gradient(116deg, #fff8ef 0%, #fffaf5 72%, #fff 100%);
  color: #66451f;
}

.feature-tile:hover {
  transform: translateY(-2px);
  border-color: #b8cfea;
  box-shadow: inset 0 1px 0 #fff, 0 14px 30px rgba(34,76,132,.11);
}

.feature-tile-news:hover { border-color: #e7c99b; }
.feature-tile:focus-visible { outline: 3px solid #2776ce; outline-offset: 3px; }

.feature-tile-copy {
  display: grid;
  justify-items: start;
  gap: 7px;
  min-width: 0;
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Noto Sans SC", sans-serif;
}

.feature-tile-copy small {
  color: #6882a2;
  font-size: 9px;
  font-weight: 750;
  letter-spacing: .1em;
  white-space: nowrap;
}

.feature-tile-news .feature-tile-copy small { color: #a67a45; }
.feature-tile-copy small span { margin: 0 4px; color: #d9984d; }
.feature-tile-copy strong { font-size: 19px; font-weight: 750; letter-spacing: -.025em; line-height: 1.2; }
.feature-tile-action { color: #2762a5; font-size: 11px; font-weight: 700; white-space: nowrap; }
.feature-tile-news .feature-tile-action { color: #ae752c; }
.feature-tile-action span { margin-left: 4px; font-size: 14px; }

.feature-tile-icon {
  display: grid;
  flex: 0 0 50px;
  width: 50px;
  height: 50px;
  place-items: center;
  border: 1px solid rgba(255,255,255,.85);
  border-radius: 15px;
  background: linear-gradient(145deg, #fff, #dcecff);
  box-shadow: 0 8px 18px rgba(38,92,155,.09);
  color: #2863ad;
}

.feature-tile-news .feature-tile-icon { background: linear-gradient(145deg, #fff, #ffedd1); color: #b77c32; }
.feature-tile-icon svg { width: 27px; height: 27px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

@media (max-width: 800px) {
  .home-feature-pair { gap: 10px; margin-top: 15px; }
  .feature-tile { min-height: 99px; gap: 5px; border-radius: 15px; padding: 12px; }
  .feature-tile-copy { gap: 5px; }
  .feature-tile-copy small { font-size: 7px; letter-spacing: .02em; }
  .feature-tile-copy strong { font-size: 15px; }
  .feature-tile-action { font-size: 9px; }
  .feature-tile-icon { flex-basis: 32px; width: 32px; height: 32px; border-radius: 10px; }
  .feature-tile-icon svg { width: 20px; height: 20px; }
}

@media (max-width: 350px) {
  .home-feature-pair { gap: 7px; padding: 0 10px; }
  .feature-tile { padding: 10px; }
  .feature-tile-icon { display: none; }
}

@media (prefers-reduced-motion: reduce) { .feature-tile { transition: none; } }

/* A single full-width news entrance keeps the original card height and finish. */
.home-news-only { grid-template-columns: minmax(0, 1fr); }
.home-news-only > [hidden], .home-news-feature [hidden] { display: none !important; }
.home-news-feature { display: grid; grid-template-columns: 145px minmax(0, 1fr); gap: 22px; height: 112px; min-height: 112px; }
.home-news-directory { color: inherit; text-decoration: none; }
.home-news-directory:hover .feature-tile-action { color: #85581e; }
.home-news-directory:focus-visible, .home-news-story:focus-visible { outline: 2px solid #c59351; outline-offset: 4px; border-radius: 4px; }
.home-news-stage { position: relative; min-width: 0; border-left: 1px solid #eadfce; padding-left: 22px; }
.home-news-story { display: grid; grid-template-columns: 58px minmax(0, 1fr); align-items: center; gap: 14px; min-width: 0; color: #554633; text-decoration: none; }
.home-news-thumbnail { display: grid; width: 58px; height: 58px; overflow: hidden; border: 1px solid #efdfc9; border-radius: 12px; background: linear-gradient(145deg, #fff, #ffedd1); place-items: center; }
.home-news-thumbnail img { display: block; width: 100%; height: 100%; object-fit: cover; }
.home-news-thumbnail svg { width: 28px; height: 28px; fill: none; stroke: #b77c32; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.home-news-story-copy { display: grid; gap: 4px; min-width: 0; }
.home-news-story-copy > small { color: #a67a45; font-size: 9px; line-height: 1.4; letter-spacing: .04em; }
.home-news-story-copy > strong { display: -webkit-box; overflow: hidden; min-height: 36px; font-size: 13px; font-weight: 600; line-height: 18px; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow-wrap: anywhere; }
.home-news-open { color: #ae752c; font-size: 10px; line-height: 14px; }
.home-news-open > span { margin-left: 3px; }
.home-news-controls { position: absolute; right: 0; bottom: -10px; display: flex; align-items: center; gap: 3px; color: #a18054; }
.home-news-controls > span { margin-right: 5px; font-size: 9px; font-variant-numeric: tabular-nums; }
.home-news-controls button { display: grid; width: 24px; height: 24px; place-items: center; border: 0; border-radius: 6px; padding: 0; background: transparent; color: #a18054; font: 400 18px/1 -apple-system, BlinkMacSystemFont, sans-serif; cursor: pointer; }
.home-news-controls #home-news-pause { font-size: 10px; }
.home-news-controls button:hover { background: #f6ecdf; color: #85581e; }
.home-news-controls button:focus-visible { outline: 2px solid #c59351; outline-offset: 1px; }
.home-news-story.is-changing .home-news-story-copy { animation: home-news-reveal .22s ease-out; }
@keyframes home-news-reveal { from { opacity: .35; transform: translateY(3px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 800px) {
  .home-news-feature { grid-template-columns: 84px minmax(0, 1fr); gap: 12px; height: 99px; min-height: 99px; }
  .home-news-stage { padding-left: 12px; }
  .home-news-story { grid-template-columns: 42px minmax(0, 1fr); gap: 9px; }
  .home-news-thumbnail { width: 42px; height: 50px; border-radius: 9px; }
  .home-news-thumbnail svg { width: 24px; height: 24px; }
  .home-news-story-copy { gap: 3px; }
  .home-news-story-copy > small { font-size: 7px; }
  .home-news-story-copy > strong { font-size: 11px; line-height: 16px; min-height: 32px; }
  .home-news-open { font-size: 8px; line-height: 13px; }
  .home-news-controls { gap: 0; }
  .home-news-controls > span { margin-right: 1px; font-size: 7px; }
  .home-news-controls button { width: 24px; height: 24px; font-size: 16px; }
  .home-news-controls #home-news-pause { font-size: 9px; }
}
@media (max-width: 350px) {
  .home-news-feature { grid-template-columns: 80px minmax(0, 1fr); gap: 10px; }
  .home-news-stage { padding-left: 10px; }
  .home-news-story { grid-template-columns: minmax(0, 1fr); }
  .home-news-thumbnail { display: none; }
}
@media (prefers-reduced-motion: reduce) { .home-news-story.is-changing .home-news-story-copy { animation: none; } }

/* Draft destination so the news entrance remains usable during review. */
.news-preview-page { min-height: 100vh; background: linear-gradient(180deg, #fbfdff, #fff 55%); color: #243f60; }
.news-preview-header { display: flex; align-items: center; justify-content: space-between; max-width: 900px; margin: auto; padding: 18px 25px; }
.news-preview-header img { display: block; width: 65px; height: 65px; object-fit: contain; }
.news-preview-header > a:last-child { color: #607998; font-size: 12px; font-weight: 700; }
.news-preview-main { max-width: 820px; margin: 48px auto 0; padding: 45px 50px 70px; border: 1px solid #eee5d8; border-radius: 24px; background: linear-gradient(135deg, #fff8ed, #fff 60%); box-shadow: 0 14px 38px rgba(86,69,43,.05); }
.news-preview-eyebrow { color: #b38143; font: 800 11px "Plus Jakarta Sans", sans-serif; letter-spacing: .16em; }
.news-preview-eyebrow span { padding: 0 5px; color: #dbb786; }
.news-preview-main h1 { margin: 16px 0 9px; color: #263d5d; font: 750 clamp(32px, 5vw, 48px)/1.2 -apple-system, BlinkMacSystemFont, "PingFang SC", "Noto Sans SC", sans-serif; }
.news-preview-main > p { margin: 0; color: #718198; font-size: 14px; line-height: 1.8; }
.news-preview-note { display: flex; gap: 12px; margin-top: 38px; padding: 18px 20px; border: 1px solid #eee5d6; border-radius: 14px; background: #fff; }
.news-preview-note > span { color: #bb8743; font-size: 22px; line-height: 1; }
.news-preview-note strong { color: #4d5d73; font-size: 14px; }
.news-preview-note p { margin: 5px 0 0; color: #8490a0; font-size: 12px; line-height: 1.65; }
@media (max-width: 800px) { .news-preview-main { margin: 24px 15px 0; padding: 32px 25px 40px; }.news-preview-header { padding: 10px 15px; }.news-preview-header img { width: 55px; height: 55px; } }
