/* September 2026 feedback. Shared NTU components across PSE, N2FC, and Pearl. */
:root { --ntu-interior-hero-height: min(70vh, 560px); }
.site-header { transition: transform 220ms ease; }
.site-header.is-scroll-hidden { transform: translateY(-100%); }
body.admin-bar .site-header { top: 32px; }
@media (min-width: 1024px) {
  body:not(.home) .ntu-block-hero .ntu-block-hero__media,
  .ntu-news-detail__hero-media,
  .ntu-event-detail__hero-media {
    height: var(--ntu-interior-hero-height);
    min-height: 0;
    aspect-ratio: auto;
  }
}
.ntu-event-detail__hero-image { object-position: center; }
.ntu-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 20px; width: 20px; height: 20px; }
.ntu-icon svg { display: block; width: 100%; height: 100%; fill: currentColor; }
.ntu-news-detail__meta-item,
.ntu-event-feed__card-meta-item { align-items: center; gap: 10px; }
.ntu-event-detail__sidebar { position: sticky; top: calc(var(--ntu-header-height, 96px) + 24px); align-self: start; }
.ntu-publication-feed .ntu-publication-feed__filter:has([data-ntu-publication-sort]) { order: 0; flex: 2 1 260px; }
.ntu-publication-feed .ntu-publication-feed__filter--search { order: -1; flex: 0 0 100%; }
@media (pointer: coarse) {
  .ntu-publication-feed__search-input { font-size: 16px; }
}
.ntu-team-feed .ntu-team-feed__card { grid-template-rows: auto 1fr; align-content: start; }
.ntu-team-feed .ntu-team-feed__card-copy { align-self: start; }
.ntu-team-feed .ntu-team-feed__card-media { aspect-ratio: 407 / 400; height: auto; }
.ntu-team-feed .ntu-team-feed__card-image { object-fit: cover; object-position: top center; transition: transform 220ms ease; }
@media (hover: hover) {
  .ntu-team-feed__card:hover .ntu-team-feed__card-image { transform: scale(1.04); }
}
.ntu-opportunity-feed__row:not(.ntu-opportunity-feed__row--head) { position: relative; }
.ntu-opportunity-feed__row-apply::after { content: ''; position: absolute; inset: 0; }
.ntu-opportunity-feed__row:has(.ntu-opportunity-feed__row-apply):hover .ntu-opportunity-feed__row-title,
.ntu-opportunity-feed__row:focus-within .ntu-opportunity-feed__row-title { text-decoration: underline; text-underline-offset: .18em; }
.ntu-opportunity-feed__row:focus-within { outline: 2px solid var(--ntu-color-accent); outline-offset: 4px; }
.ntu-opportunity-feed .ntu-opportunity-feed__description { font-size: 18px; font-weight: 400; line-height: 1.45; }
@media (max-width: 1023px) {
  body:not(.home) .ntu-block-hero .ntu-block-hero__media,
  .ntu-news-detail__hero-media,
  .ntu-event-detail__hero-media {
    height: 320px;
    min-height: 0;
    aspect-ratio: auto;
  }
  body { font-size: 16px; line-height: 1.45; }
  .ntu-block-hero .ntu-block-hero__title,
  .ntu-news-detail .ntu-news-detail__title { font-size: 40px; font-weight: 400; line-height: 1.15; }
  .ntu-block-text-columns .ntu-block-text-columns__intro-title,
  .ntu-block-text-columns .ntu-block-text-columns__section-title,
  .ntu-block-media-card .ntu-block-media-card__title,
  .ntu-team-feed .ntu-team-feed__title,
  .ntu-post-feed .ntu-post-feed__title,
  .ntu-event-feed .ntu-event-feed__title,
  .ntu-publication-feed .ntu-publication-feed__title-heading { font-size: 36px; font-weight: 400; line-height: 1.18; }
  .ntu-block-text-columns .ntu-block-text-columns__intro-description,
  .ntu-block-text-columns .ntu-block-text-columns__column-body,
  .ntu-block-text-columns .ntu-block-text-columns__intro-text,
  .ntu-block-media-card .ntu-block-media-card__body,
  .ntu-block-media-card .ntu-block-media-card__body p,
  .ntu-news-detail .ntu-news-detail__summary,
  .ntu-block-hero .ntu-block-hero__description { font-size: 16px; font-weight: 400; line-height: 1.45; }
  .ntu-block-media-card .ntu-cta { font-size: 16px; line-height: 1.3; }
  .ntu-news-detail .ntu-news-detail__meta { position: relative; flex-wrap: wrap; gap: 12px 20px; }
  .ntu-news-detail .ntu-news-detail__meta-item { font-size: 14px; line-height: 1.4; }
  .ntu-news-detail .ntu-news-detail__share { gap: 12px; }
  .ntu-news-detail .ntu-news-detail__share-title { font-size: 18px; line-height: 1.3; }
  .ntu-news-detail .ntu-news-detail__share-links { gap: 8px; }
  .ntu-news-detail .ntu-news-detail__share-button { width: 44px; height: 44px; flex: 0 0 44px; }
  .ntu-news-detail .ntu-news-detail__share-icon,
  .ntu-news-detail .ntu-news-detail__share-trigger .ntu-icon { width: 16px; height: 16px; flex-basis: 16px; }
  .ntu-news-detail .ntu-news-detail__share-caret { width: 6px; height: 6px; }
  .ntu-news-detail .ntu-news-detail__share-trigger { min-height: 44px; gap: 8px; }
  .ntu-news-detail .ntu-news-detail__share-menu { position: static; }
  .ntu-news-detail .ntu-news-detail__share-panel { left: 0; right: auto; gap: 8px; padding: 12px; width: max-content; }
  .ntu-news-detail .ntu-news-detail__share-menu.is-open .ntu-news-detail__share-panel,
  .ntu-news-detail .ntu-news-detail__share-menu:hover .ntu-news-detail__share-panel,
  .ntu-news-detail .ntu-news-detail__share-menu:focus-within .ntu-news-detail__share-panel {
    display: grid;
    grid-template-columns: repeat(4, 44px);
  }
  .ntu-event-detail__body-shell { padding: 32px 24px 48px; }
  .ntu-event-detail__body { gap: 32px; }
  .ntu-event-detail__sidebar { order: -1; position: static; gap: 20px; padding: 24px; }
  .ntu-event-detail__content { gap: 32px; }
  .ntu-event-detail__section { gap: 16px; }
  .ntu-event-detail__section-title { font-size: 24px; line-height: 1.2; }
  .ntu-event-detail__sidebar-title { font-size: 20px; line-height: 1.3; }
  .ntu-event-detail__sidebar-meta-item { gap: 10px; line-height: 1.45; }
  .ntu-team-feed .ntu-team-feed__results { gap: 28px 16px; }
  .ntu-team-feed .ntu-team-feed__card-title { font-size: 20px; line-height: 1.3; overflow-wrap: anywhere; }
  .ntu-team-feed .ntu-team-feed__card-role,
  .ntu-team-feed .ntu-team-feed__meta { font-size: 14px; line-height: 1.4; overflow-wrap: anywhere; }
  .ntu-opportunity-feed .ntu-opportunity-feed__description { font-size: 16px; line-height: 1.45; }
  .ntu-block-text-columns .ntu-block-text-columns__column-title,
  .ntu-opportunity-feed .ntu-opportunity-feed__title { font-size: 22px; font-weight: 500; line-height: 1.25; }
  .ntu-opportunity-feed .ntu-opportunity-feed__row-title { font-size: 18px; line-height: 1.3; }
  .ntu-event-feed .ntu-event-feed__card-title,
  .ntu-post-feed .ntu-post-feed__card-title,
  .ntu-publication-feed .ntu-publication-feed__title { font-size: 20px; line-height: 1.3; }
}
@media (max-width: 480px) {
  .ntu-team-feed .ntu-team-feed__results { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 782px) { body.admin-bar .site-header { top: 46px; } }
@media (prefers-reduced-motion: reduce) {
  .site-header, .ntu-team-feed .ntu-team-feed__card-image { transition: none; }
}
