/* Shared identity rules. Loaded after the layout stylesheet. */
body {
  --page: #fff;
  --text: #000;
  --brand-text: #61373e;
  --secondary-text: #a25864;
  --hover-text: #000;
  --border: rgba(97, 55, 62, .22);
  --button-bg: #61373e;
  --button-text: #ffe4af;
  --ink: var(--brand-text);
  --muted: var(--secondary-text);
  --line: var(--border);
  background-color: var(--page) !important;
  color: var(--text) !important;
}
body.is-dark {
  --page: #000;
  --text: #fff;
  --brand-text: #ffe4af;
  --secondary-text: #e4ab7b;
  --hover-text: #fff;
  --border: rgba(255, 228, 175, .28);
  --button-bg: #ffe4af;
  --button-text: #61373e;
}
body.lang-ar { font-family: 'IBM Plex Sans Arabic', sans-serif !important; }
body.lang-en { font-family: 'Montserrat', sans-serif !important; }
button, input, textarea, select { font-family: inherit !important; }
body :is(.section, .section-muted, .section-band, .portrait-section, .newsletter-section, .menu-overlay, .site-footer) {
  background-color: var(--page) !important;
  color: var(--brand-text) !important;
}
body :is(.latest-editorial, .news-card, .program-card, .member-card, .content-aside, .contact-form, .home-news-item, .home-project-card, .press-release-card) {
  background-color: var(--page) !important;
  color: var(--brand-text) !important;
  border-color: var(--border) !important;
}
body :is(h1, h2, h3, h4, h5, h6) {
  color: var(--brand-text) !important;
  font-family: inherit !important;
}
body :is(main, .site-footer, .menu-overlay) :is(p, time, .eyebrow, strong, .overlay-children a) {
  color: var(--secondary-text) !important;
}
body :is(main, .site-footer, .menu-overlay, .site-header) a {
  color: var(--brand-text) !important;
  transition: color 180ms ease, background-color 180ms ease;
}
body :is(main, .site-footer, .menu-overlay, .site-header) a:is(:hover, :focus-visible),
body :is(main, .site-footer, .menu-overlay, .site-header) a:is(:hover, :focus-visible) :is(h2, h3, h4, strong, p, span) {
  color: var(--hover-text) !important;
}
body :is(.button, .newsletter-fields button) {
  color: var(--button-text) !important;
  background-color: var(--button-bg) !important;
  border-color: var(--button-bg) !important;
  border-radius: 4px !important;
}
body :is(.button, .newsletter-fields button):is(:hover, :focus-visible) {
  background-color: var(--hover-text) !important;
  border-color: var(--hover-text) !important;
  color: var(--page) !important;
}
body :is(.footer-links a, .latest-editorial-all, .home-project-more, .portrait-controls button, .press-release-controls button) {
  color: var(--brand-text) !important;
  background-color: transparent !important;
  border-color: var(--border) !important;
}
body :is(.footer-links a, .latest-editorial-all, .home-project-more, .portrait-controls button, .press-release-controls button):is(:hover, :focus-visible) {
  color: var(--hover-text) !important;
  background-color: transparent !important;
  border-color: var(--secondary-text) !important;
}
body :is(.newsletter-fields input, .contact-form input, .contact-form textarea) {
  color: var(--text) !important;
  background-color: var(--page) !important;
  border-color: var(--border) !important;
}
body .latest-editorial em { color: var(--brand-text) !important; background: transparent !important; border-color: var(--border) !important; }
body .site-footer { border-color: var(--border) !important; }

/* Author archive */
.author-page { overflow: hidden; background: var(--page); color: var(--text); }
.author-profile { position: relative; padding: 70px 24px 64px; text-align: center; }
.author-pattern { position: absolute; inset: 0 0 auto; height: 150px; opacity: .16; pointer-events: none; background: center top / auto 110px repeat-x url('../../logo/pattern light 2.svg'); }
body.is-dark .author-pattern { opacity: .22; background-image: url('../../logo/pattern dark2.svg'); }
.author-profile-inner { position: relative; width: min(100%, 850px); margin-inline: auto; }
.author-kicker, .author-section-head > span { display: block; margin-bottom: 4px; color: var(--secondary-text); font-size: 13px; font-weight: 600; }
.author-profile h1 { margin: 0 0 24px; font-size: clamp(34px, 5vw, 58px); line-height: 1.15; }
.author-profile figure { width: clamp(180px, 22vw, 230px); aspect-ratio: 1; margin: 0 auto 16px; overflow: hidden; border-radius: 8px; background: var(--page); box-shadow: 0 16px 45px rgba(97, 55, 62, .16); }
.author-profile figure img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.author-profile figure:hover img { transform: scale(1.055); }
.author-profile strong { display: block; color: var(--brand-text); font-size: 16px; }
.author-profile p { max-width: 780px; margin: 22px auto 0; color: var(--text) !important; font-size: 17px; line-height: 2; }
.author-website { display: inline-block; margin-top: 18px; padding-bottom: 3px; border-bottom: 1px solid var(--border); }
.author-work { position: relative; padding: 52px max(24px, calc((100vw - 1180px) / 2)) 78px; }
.author-work::before { content: ''; position: absolute; inset: 0 0 auto; height: 100px; opacity: .09; background: center top / auto 82px repeat-x url('../../logo/pattern light 2.svg'); pointer-events: none; }
body.is-dark .author-work::before { opacity: .17; background-image: url('../../logo/pattern dark2.svg'); }
.author-section-head { position: relative; margin-bottom: 26px; }
.author-section-head h2 { margin: 0; font-size: clamp(28px, 4vw, 43px); }
.author-work-grid { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.author-work-card { display: block; min-width: 0; overflow: hidden; border-radius: 8px; background: var(--page); box-shadow: 0 12px 34px rgba(97, 55, 62, .11); text-decoration: none; }
.author-work-card figure { aspect-ratio: 4 / 3; margin: 0; overflow: hidden; }
.author-work-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.author-work-card:hover img { transform: scale(1.055); }
.author-work-card > div { padding: 18px; }
.author-work-card span, .author-work-card time { display: inline-block; margin-inline-end: 10px; color: var(--secondary-text); font-size: 12px; }
.author-work-card h3 { margin: 10px 0 8px; font-size: 20px; line-height: 1.45; }
.author-work-card p { margin: 0; color: var(--text) !important; line-height: 1.75; }
.author-empty { position: relative; color: var(--text) !important; }
body.is-dark .author-profile figure, body.is-dark .author-work-card { border: 1px solid var(--border); box-shadow: none; }
body.lang-ar .author-section-head, body.lang-ar .author-work-card { text-align: right; }
body.lang-en .author-section-head, body.lang-en .author-work-card { text-align: left; }

@media (max-width: 900px) {
  .author-work-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .author-profile { padding: 52px 18px 42px; }
  .author-profile p { font-size: 15px; line-height: 1.85; }
  .author-work { padding: 38px 18px 52px; }
  .author-work-grid { grid-template-columns: 1fr; gap: 18px; }
}

body .about-page {
  --about-bg: var(--page) !important;
  --about-surface: var(--page) !important;
  --about-soft: transparent !important;
  --about-ink: var(--brand-text) !important;
  --about-muted: var(--secondary-text) !important;
  --about-accent: var(--secondary-text) !important;
  --about-line: var(--border) !important;
  --about-shadow: none !important;
  font-family: inherit !important;
  background: var(--page) !important;
  color: var(--brand-text) !important;
}
body .about-page :is(.about-hero, .about-section, .about-identity-section) {
  background: var(--page) !important;
}
body .about-page :is(.about-hero-card, .about-vision-card, .about-value-card, .about-direction-card, .about-objective-row, .about-structure-card) {
  background: var(--page) !important;
  border: 0 !important;
  color: var(--brand-text) !important;
  box-shadow: 0 12px 34px rgba(97, 55, 62, .10) !important;
}
body .about-page :is(.about-kicker, .about-section-label, figcaption, em, .about-vision-card > span, .about-value-card > span, .about-direction-card > span, .about-objective-row > span, .about-structure-card > span) {
  color: var(--secondary-text) !important;
}
body .about-page .about-vision-card p { color: var(--text) !important; }
body .about-page :is(.about-value-card, .about-direction-card, .about-objective-row, .about-structure-card) {
  transition: border-color 220ms ease, color 220ms ease !important;
}
body .about-page :is(.about-value-card, .about-direction-card, .about-objective-row, .about-structure-card):hover {
  box-shadow: 0 16px 42px rgba(97, 55, 62, .16) !important;
}
body .about-page :is(.about-value-card, .about-direction-card, .about-objective-row, .about-structure-card):hover :is(h3, p) {
  color: var(--hover-text) !important;
}
body.lang-ar .about-page { direction: rtl !important; text-align: right !important; }
body.lang-en .about-page { direction: ltr !important; text-align: left !important; }

body .about-page .about-identity-card {
  display: grid;
  place-items: center;
  align-content: center;
  min-height: 240px;
  padding: 28px;
  background: var(--page) !important;
  border-color: var(--border) !important;
  box-shadow: none !important;
}
.about-page .about-identity-card img {
  width: min(240px, 100%);
  height: auto;
  object-fit: contain;
}
.about-page .about-intro-text-only {
  grid-template-columns: minmax(0, 1fr);
}

body .about-page :is(.about-section, .about-governance) {
  padding-block: 30px !important;
}
body .about-page .about-hero {
  padding-block: 100px 36px !important;
}
body .about-page .about-section-head {
  margin-bottom: 24px;
  gap: 10px;
}
body .about-page :is(.about-section-head h2, .about-editorial-block h2, .about-governance h2, .about-identity-grid h2) {
  font-size: 32px !important;
  line-height: 1.45 !important;
  margin: 0;
}
body .about-page .about-governance article {
  max-width: none;
  padding: 24px;
  text-align: start;
  background: var(--page);
  border: 0 !important;
  box-shadow: 0 12px 34px rgba(97, 55, 62, .10) !important;
}
body .about-page .about-governance p {
  font-size: 17px;
  font-weight: 400;
  line-height: 1.9;
  margin-top: 14px;
}
body .about-page .about-vision-card {
  min-height: 0;
  padding: 24px;
}
@media (max-width: 600px) {
  body .about-page :is(.about-section, .about-governance) { padding-block: 22px !important; }
  body .about-page :is(.about-section-head h2, .about-editorial-block h2, .about-governance h2, .about-identity-grid h2) { font-size: 25px !important; }
  body .about-page .about-governance article { padding: 18px; }
}

/* Stable tablet/mobile header and neutral browser/WordPress button states. */
@media (max-width: 1180px) {
  body .site-header {
    min-height: 64px !important;
    background: rgba(255, 255, 255, .96) !important;
    border-bottom: 1px solid var(--border) !important;
    box-shadow: 0 5px 18px rgba(97, 55, 62, .07) !important;
    backdrop-filter: blur(12px) !important;
  }
  body.is-dark .site-header {
    background: rgba(0, 0, 0, .96) !important;
    box-shadow: none !important;
  }
  body .header-shell {
    direction: inherit !important;
    width: min(100% - 28px, 1120px) !important;
    min-height: 64px !important;
    gap: 16px !important;
  }
  body .brand,
  html[dir="ltr"] body .brand {
    order: 0 !important;
    margin: 0 !important;
  }
  body .brand img {
    width: 104px !important;
    height: auto !important;
    background: transparent !important;
  }
  body .header-tools,
  html[dir="ltr"] body .header-tools {
    order: 0 !important;
    margin: 0 !important;
    gap: 8px !important;
    direction: ltr !important;
  }
  body .header-tools :is(.icon-button, .language-pill, .menu-toggle) {
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    padding: 0 !important;
    border: 1px solid transparent !important;
    border-radius: 6px !important;
    color: var(--brand-heading) !important;
    background: transparent !important;
    box-shadow: none !important;
    appearance: none !important;
  }
  body .header-tools .language-pill {
    border-color: var(--border) !important;
    background: var(--brand-soft) !important;
  }
  body .header-tools :is(.icon-button, .language-pill, .menu-toggle):is(:hover, :focus-visible) {
    border-color: var(--brand-accent) !important;
    color: var(--brand-heading) !important;
    background: var(--brand-soft) !important;
    outline: 2px solid var(--brand-accent) !important;
    outline-offset: 2px !important;
  }
  body .header-tools .search-toggle {
    color: var(--brand-heading) !important;
    background: transparent !important;
  }
  body .header-tools .menu-toggle span {
    background: currentColor !important;
  }
}

/* Final press-release layout: one predictable grid at every viewport. */
body .press-release-section {
  width: 100% !important;
  max-width: none !important;
  padding: clamp(38px, 5vw, 68px) 0 !important;
  overflow: hidden !important;
}
body .press-release-shell {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(240px, 340px) 44px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: clamp(18px, 3vw, 42px) !important;
  width: min(1120px, calc(100% - 32px)) !important;
  max-width: 1120px !important;
  margin-inline: auto !important;
  transform: none !important;
}
body .press-release-intro {
  position: static !important;
  order: initial !important;
  width: 100% !important;
  max-width: 340px !important;
  min-width: 0 !important;
  gap: 12px !important;
}
body .press-release-intro h2 {
  margin: 0 !important;
  font-size: clamp(34px, 4vw, 56px) !important;
  line-height: 1.08 !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}
body .press-release-intro p {
  width: 100% !important;
  max-width: 330px !important;
  color: var(--text) !important;
}
body .press-release-controls {
  position: static !important;
  inset: auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: center !important;
  width: 44px !important;
  margin: 0 !important;
  transform: none !important;
}
body .press-release-viewport,
body .press-release-track {
  position: relative !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 280px !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  transform: none !important;
}
body .press-release-card {
  inset: 0 !important;
  grid-template-columns: minmax(190px, 42%) minmax(0, 1fr) !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 280px !important;
  gap: clamp(18px, 3vw, 30px) !important;
  padding: 16px !important;
  margin: 0 !important;
  border-radius: 8px !important;
}
body .press-release-card img {
  width: 100% !important;
  height: 100% !important;
  min-height: 248px !important;
  border-radius: 6px !important;
  object-fit: cover !important;
}
body .press-release-card > span {
  align-content: center !important;
  min-width: 0 !important;
}
body .press-release-card strong {
  font-size: clamp(20px, 2.3vw, 32px) !important;
  line-height: 1.25 !important;
  overflow-wrap: break-word !important;
}

@media (max-width: 900px) {
  body .press-release-shell {
    grid-template-columns: minmax(0, 1fr) 44px !important;
    grid-template-areas:
      "press-intro press-intro"
      "press-viewport press-controls" !important;
    align-items: stretch !important;
  }
  body .press-release-intro {
    grid-area: press-intro !important;
    max-width: 680px !important;
  }
  body .press-release-viewport { grid-area: press-viewport !important; }
  body .press-release-controls { grid-area: press-controls !important; }
  body .press-release-section[dir="ltr"] .press-release-shell {
    grid-template-areas:
      "press-intro press-intro"
      "press-controls press-viewport" !important;
    grid-template-columns: 44px minmax(0, 1fr) !important;
  }
}

@media (max-width: 600px) {
  body .press-release-shell {
    display: flex !important;
    flex-direction: column !important;
    width: calc(100% - 24px) !important;
    gap: 16px !important;
  }
  body .press-release-controls {
    order: 2 !important;
    flex-direction: row !important;
    align-self: flex-start !important;
    width: auto !important;
  }
  body .press-release-viewport { order: 3 !important; }
  body .press-release-viewport,
  body .press-release-track { min-height: 390px !important; }
  body .press-release-card {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: 210px minmax(0, 1fr) !important;
    min-height: 390px !important;
  }
  body .press-release-card img {
    min-height: 210px !important;
    height: 210px !important;
  }
  body .press-release-card strong { font-size: 21px !important; }
}

@media (max-width: 520px) {
  body .header-shell { width: calc(100% - 20px) !important; gap: 8px !important; }
  body .brand img { width: 88px !important; }
  body .header-tools { gap: 4px !important; }
  body .header-tools :is(.icon-button, .language-pill, .menu-toggle) {
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
  }
}

/* Force every header control onto one shared baseline across WP/browser styles. */
@media (max-width: 1180px) {
  body .header-shell,
  body .header-tools {
    align-items: center !important;
  }
  body .header-tools {
    display: flex !important;
    height: 40px !important;
    min-height: 40px !important;
    line-height: 1 !important;
  }
  body .header-tools :is(.icon-button, .language-pill, .menu-toggle) {
    position: relative !important;
    inset: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: center !important;
    margin: 0 !important;
    line-height: 1 !important;
    vertical-align: middle !important;
    transform: none !important;
  }
  body .header-tools :is(.search-icon, .theme-icon) {
    margin: 0 !important;
    flex: 0 0 auto !important;
  }
  body .header-tools .menu-toggle {
    flex-direction: column !important;
    gap: 4px !important;
  }
  body .header-tools .menu-toggle span {
    margin: 0 !important;
    flex: 0 0 auto !important;
  }
}

.about-partners-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.about-partner-card {
  display: grid;
  place-items: center;
  align-content: center;
  gap: 14px;
  min-height: 120px;
  padding: 12px;
  border: 0;
  border-radius: 0;
  background: transparent;
  text-align: center;
  box-shadow: 0 10px 28px rgba(97, 55, 62, .09);
  transition: transform 220ms ease, box-shadow 220ms ease;
}
.about-partner-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 36px rgba(97, 55, 62, .15);
}
.about-partner-card img {
  width: min(150px, 100%);
  height: 72px;
  object-fit: contain;
}
.about-partner-card > span {
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  border: 0;
  border-radius: 0;
  color: var(--brand-text);
  font-size: 16px;
  font-weight: 700;
}
.about-partner-card h3 {
  margin: 0;
  color: var(--brand-text) !important;
  font-size: 15px;
  line-height: 1.45;
}
@media (max-width: 780px) { .about-partners-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 420px) { .about-partners-grid { grid-template-columns: 1fr; } }

/* Reading copy uses neutral text; identity colors stay on headings and controls. */
body :is(main, .site-footer, .menu-overlay) :is(p, time, figcaption, .eyebrow, .about-kicker, .about-section-label) {
  color: var(--text) !important;
}
body .about-page {
  --about-muted: var(--text) !important;
}
body:not(.is-dark).lang-ar .about-page :is(p, figcaption, em, .about-kicker, .about-section-label),
body:not(.is-dark).lang-en .about-page :is(p, figcaption, em, .about-kicker, .about-section-label) {
  color: #000 !important;
}
body.is-dark.lang-ar .about-page :is(p, figcaption, em, .about-kicker, .about-section-label),
body.is-dark.lang-en .about-page :is(p, figcaption, em, .about-kicker, .about-section-label) {
  color: #fff !important;
}

body.is-dark .about-page :is(.about-hero-card, .about-vision-card, .about-value-card, .about-direction-card, .about-objective-row, .about-structure-card, .about-governance article, .about-partner-card) {
  border: 1px solid rgba(255, 228, 175, .26) !important;
  box-shadow: none !important;
}
body.is-dark .about-page :is(.about-value-card, .about-direction-card, .about-objective-row, .about-structure-card, .about-partner-card):hover {
  border-color: var(--secondary-text) !important;
  box-shadow: 0 0 0 1px rgba(228, 171, 123, .12) !important;
}

body .press-release-intro > a {
  background-color: var(--button-bg) !important;
  color: var(--button-text) !important;
  border: 1px solid var(--button-bg) !important;
}
body .press-release-intro > a > span {
  color: inherit !important;
}
body .press-release-intro > a:is(:hover, :focus-visible) {
  background-color: var(--hover-text) !important;
  border-color: var(--hover-text) !important;
  color: var(--page) !important;
}
body .press-release-intro > a:is(:hover, :focus-visible) > span {
  color: var(--page) !important;
}

main img {
  transition: transform 550ms cubic-bezier(.22, .61, .36, 1) !important;
  transform-origin: center;
}
main :is(figure, .portrait-card, .news-card, .program-card, .home-project-card) { overflow: hidden; }
@media (hover: hover) {
  main img:hover,
  main a:hover > img,
  main a:hover > figure > img { transform: scale(1.045) !important; }
}
main a:focus-visible > img,
main a:focus-visible > figure > img { transform: scale(1.045) !important; }

.hero-news-track,
.portrait-track { transition: transform 650ms cubic-bezier(.22, .61, .36, 1) !important; }
.press-release-card { transition: transform 450ms cubic-bezier(.22, .61, .36, 1), opacity 450ms ease !important; }
body :is(.portrait-controls, .press-release-controls, .home-portrait-controls) button {
  font-size: 0 !important;
  transition: color 220ms ease, border-color 220ms ease, background-color 220ms ease, transform 220ms ease !important;
}
body :is(.portrait-controls, .press-release-controls, .home-portrait-controls) button::before {
  content: '';
  width: 7px;
  height: 7px;
  border-top: 1.5px solid currentColor;
  border-right: 1.5px solid currentColor;
  transform: rotate(45deg);
}
body.lang-en :is([data-portrait-prev], [data-press-prev], [data-home-portrait-prev])::before,
body.lang-ar :is([data-portrait-next], [data-press-next], [data-home-portrait-next])::before { transform: rotate(-135deg); }
body :is(.portrait-controls, .press-release-controls, .home-portrait-controls) button:hover { transform: translateY(-1px); }
body :is(.portrait-controls, .press-release-controls, .home-portrait-controls) button:active { transform: scale(.94); }
.home-portrait-section .latest-editorial-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-direction: row !important;
  gap: 16px;
}
.home-portrait-controls {
  display: flex;
  direction: ltr;
  gap: 8px;
}
.home-portrait-controls button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 1px solid var(--border);
  border-radius: 50%;
  color: var(--brand-text);
  background: transparent;
}
[data-home-portrait-item] {
  transition: opacity 260ms ease, transform 420ms cubic-bezier(.22, .61, .36, 1) !important;
}
[data-home-portrait-item][hidden] { display: none !important; }
@media (prefers-reduced-motion: reduce) {
  main img,
  .hero-news-track,
  .portrait-track,
  .press-release-card { transition: none !important; }
  main img:hover { transform: none !important; }
}

/* Final responsive system shared by every current and future page. */
html, body { max-width: 100%; overflow-x: clip; }
*, *::before, *::after { box-sizing: border-box; }
img, video, iframe { max-width: 100%; }
body :is(.container, .about-container, .press-release-shell, .portrait-shell, .home-projects-shell) {
  width: min(1120px, calc(100% - 40px)) !important;
  margin-inline: auto !important;
}
body :is(.latest-editorial-grid, .program-grid, .news-grid, .statement-grid, .member-grid, .about-values-grid, .about-directions-grid, .about-structure-grid, .home-project-track) > * {
  min-width: 0 !important;
}
body :is(h1, h2, h3, h4, p, a, span, strong) {
  overflow-wrap: break-word;
}
.latest-editorial-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 22px 28px !important;
}
.latest-editorial-article,
.latest-editorial-feature {
  grid-template-columns: 118px minmax(0, 1fr) !important;
  width: 100% !important;
}
.latest-editorial-article figure,
.latest-editorial-feature figure {
  width: 118px !important;
  min-width: 118px !important;
}
.latest-editorial-article h3,
.latest-editorial-feature h3 {
  font-size: clamp(16px, 1.8vw, 21px) !important;
  line-height: 1.4 !important;
}

@media (max-width: 980px) {
  body :is(.about-hero-grid, .about-intro-grid, .about-vision-grid, .about-identity-grid, .split, .cta-grid) {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  body :is(.program-grid, .news-grid, .member-grid, .about-values-grid, .about-directions-grid, .about-structure-grid, .home-project-track) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .press-release-section {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .footer-grid { grid-template-columns: minmax(0, 1fr) !important; }
}

@media (max-width: 700px) {
  body :is(.container, .about-container, .press-release-shell, .portrait-shell, .home-projects-shell) {
    width: min(100% - 28px, 1120px) !important;
  }
  .latest-editorial-grid,
  body :is(.program-grid, .news-grid, .member-grid, .statement-grid, .about-values-grid, .about-directions-grid, .about-structure-grid, .home-project-track) {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .latest-editorial-article,
  .latest-editorial-feature {
    grid-template-columns: 104px minmax(0, 1fr) !important;
    gap: 14px !important;
  }
  .latest-editorial-article figure,
  .latest-editorial-feature figure {
    width: 104px !important;
    min-width: 104px !important;
  }
  .latest-editorial-article p,
  .latest-editorial-feature p {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .newsletter-fields { flex-wrap: wrap; }
  .newsletter-fields input { flex-basis: 100%; }
  .newsletter-section .newsletter-fields button { width: 100%; }
  .footer-brand { grid-template-columns: minmax(0, 1fr) !important; justify-items: start; }
  .site-footer .footer-logo { grid-row: auto !important; }
  .overlay-nav { width: min(100%, 520px) !important; }
}

/* Publication detail template. */
.publication-single {
  width: 100%;
  margin-inline: auto;
  padding: 52px 0 50px;
  color: var(--text);
}
.publication-hero {
  display: block;
  padding-bottom: 42px;
}
.publication-hero-media {
  display: block;
  width: 100%;
  min-height: 0;
  overflow: hidden;
  border-radius: 0;
  background: var(--page);
  box-shadow: none;
}
.publication-hero-media img {
  display: block;
  width: 100%;
  height: clamp(360px, 68vh, 760px);
  max-height: none;
  object-fit: cover;
  border-radius: 0;
}
.publication-hero-media p {
  width: min(1120px, calc(100% - 40px));
  margin: 0 auto;
  padding: 9px 0;
  color: var(--text) !important;
  font-size: 12px;
  line-height: 1.6;
  text-align: end;
}
.publication-hero-copy {
  display: grid;
  justify-items: center;
  gap: 14px;
  width: min(920px, calc(100% - 40px));
  min-width: 0;
  margin-inline: auto;
  padding-top: 34px;
  text-align: center;
}
.publication-kicker { color: var(--secondary-text); font-size: 13px; font-weight: 700; }
.publication-hero h1 { margin: 0; font-size: clamp(34px, 5vw, 64px); line-height: 1.15; }
.publication-hero-copy > p { max-width: 760px; margin: 0; color: var(--text) !important; font-size: 18px; line-height: 1.9; }
.publication-meta { display: flex; flex-wrap: wrap; gap: 8px 20px; color: var(--secondary-text); font-size: 13px; }
.publication-tags { display: flex; flex-wrap: wrap; justify-content: center; gap: 7px; }
.publication-tags span { padding: 5px 10px; border: 1px solid var(--border); border-radius: 999px; color: var(--brand-text); font-size: 11px; }
.publication-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 4px; }
.publication-pdf, .publication-download { min-height: 42px; padding: 10px 18px; border-radius: 4px; }
.publication-download { display: inline-flex; align-items: center; border: 1px solid var(--border); }
.publication-layout {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: clamp(28px, 5vw, 64px);
  align-items: start;
  padding-block: 42px;
  border-top: 1px solid var(--border);
  width: min(1120px, calc(100% - 40px));
  margin-inline: auto;
}
[dir="rtl"] .publication-layout { grid-template-columns: minmax(0, 1fr) 220px; }
[dir="rtl"] .publication-sidebar { grid-column: 2; }
[dir="rtl"] .publication-content { grid-column: 1; grid-row: 1; }
.publication-sidebar { position: sticky; top: 84px; }
.publication-sidebar nav { display: grid; gap: 4px; padding: 16px; box-shadow: 0 10px 30px rgba(97, 55, 62, .09); }
.publication-sidebar strong { margin-bottom: 7px; color: var(--brand-text); }
.publication-sidebar a { padding: 8px 0; border-bottom: 1px solid var(--border); }
.publication-content { min-width: 0; }
.publication-content > :first-child { margin-top: 0; }
.publication-content section { margin-bottom: 34px; }
.publication-content h2 { margin: 0 0 12px; font-size: clamp(24px, 3vw, 34px); }
.publication-content p { margin: 0; color: var(--text) !important; font-size: 17px; line-height: 2; }
.publication-content img { display: block; width: 100%; height: auto; margin-block: 24px; border-radius: 5px; }
.publication-gallery, .publication-related { width: min(1120px, calc(100% - 40px)); margin-inline: auto; padding-block: 40px; border-top: 1px solid var(--border); }
.publication-section-head h2 { margin: 0 0 24px; font-size: 30px; }
.publication-gallery-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.publication-gallery-grid figure { margin: 0; overflow: hidden; border-radius: 5px; aspect-ratio: 16 / 10; }
.publication-gallery-grid img { width: 100%; height: 100%; object-fit: cover; }
.publication-publisher {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  gap: 24px;
  align-items: center;
  margin-block: 36px;
  padding: 24px;
  border-radius: 6px;
  box-shadow: 0 12px 34px rgba(97, 55, 62, .10);
  width: min(1120px, calc(100% - 40px));
  margin-inline: auto;
}
.publication-publisher img { width: 110px; }
.publication-publisher h2 { margin: 4px 0 8px; font-size: 23px; }
.publication-publisher p { margin: 0; color: var(--text) !important; line-height: 1.8; }
.publication-publisher span { color: var(--secondary-text); font-size: 12px; }
.publication-related-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.publication-related-grid a { display: grid; align-content: start; gap: 8px; min-width: 0; }
.publication-related-grid img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 5px; }
.publication-related-grid span { color: var(--secondary-text); font-size: 11px; }
.publication-related-grid h3 { margin: 0; font-size: 17px; line-height: 1.45; }
.publication-related-grid p { margin: 0; color: var(--text) !important; font-size: 13px; line-height: 1.7; }

/* News detail */
.news-page { background: var(--page); color: var(--text); padding-bottom: 60px; }
.news-page-hero { width: min(1120px, calc(100% - 40px)); margin: 0 auto; overflow: hidden; }
.news-page-hero img { display: block; width: 100%; height: clamp(300px, 52vw, 560px); object-fit: cover; }
.news-page-heading { width: min(1120px, calc(100% - 40px)); margin: 0 auto; padding: 34px 0 28px; text-align: start; }
.news-page-heading > span { display: inline-block; padding: 5px 10px; border-radius: 999px; background: var(--secondary-text); color: var(--page); font-size: 12px; font-weight: 700; }
.news-page-heading h1 { max-width: 850px; margin: 12px 0; font-size: clamp(30px, 4vw, 52px); line-height: 1.25; }
.news-page-meta { display: flex; align-items: center; justify-content: space-between; gap: 16px; color: var(--secondary-text); font-size: 13px; }
.news-language-button { display: inline-flex !important; align-items: center; justify-content: center; width: max-content !important; min-width: 112px; min-height: 34px; padding: 8px 12px !important; border: 0 !important; border-radius: 4px !important; background: var(--button-bg) !important; color: var(--button-text) !important; direction: ltr !important; text-align: center !important; white-space: nowrap !important; overflow: visible !important; }
.news-page-layout { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 46px; width: min(1120px, calc(100% - 40px)); margin: 0 auto; padding-top: 26px; border-top: 1px solid var(--border); }
[dir="rtl"] .news-page-layout { grid-template-columns: minmax(0, 1fr) 250px; }
[dir="rtl"] .news-page-related { grid-column: 2; grid-row: 1; }
[dir="rtl"] .news-page-content { grid-column: 1; grid-row: 1; }
.news-page-related { display: grid; align-content: start; gap: 8px; }
.news-page-related h2 { margin: 0 0 8px; font-size: 18px; }
.news-page-related a { display: grid; grid-template-columns: 1fr 70px; gap: 8px; padding: 8px; border: 1px solid var(--border); border-radius: 5px; box-shadow: 0 5px 14px rgba(97,55,62,.06); }
.news-page-related img { grid-column: 2; grid-row: 1 / span 2; width: 70px; height: 58px; object-fit: cover; border-radius: 3px; }
.news-page-related span { color: var(--brand-text); font-size: 12px; line-height: 1.4; }
.news-page-related time { color: var(--secondary-text); font-size: 10px; }
.news-page-content { min-width: 0; max-width: 820px; }
.news-page-content p { margin: 0 0 22px; color: var(--text) !important; font-size: 17px; line-height: 2; }
.news-page-content :is(p, li, time), .news-page-related time { color: var(--text) !important; }
.news-page-content :is(h2, h3, h4), .news-page-related h2 { color: var(--brand-text) !important; }
.news-page-related span { color: var(--text) !important; }
body.is-dark .news-page-content :is(p, li, time), body.is-dark .news-page-related span { color: #fff !important; }
body.is-dark .news-language-button { color: #000 !important; background: var(--button-bg) !important; }
body.is-dark .news-page-related a { border-color: var(--border); box-shadow: none; }

/* Final news-page containment and contrast pass. */
body .news-page { width: 100% !important; max-width: 100% !important; overflow-x: hidden !important; }
body .news-page-heading,
body .news-page-layout,
body .news-page-hero { width: min(1120px, calc(100% - 40px)) !important; max-width: calc(100% - 40px) !important; box-sizing: border-box !important; }
body .news-page-heading h1 { width: 100% !important; max-width: 100% !important; white-space: normal !important; overflow-wrap: anywhere !important; word-break: normal !important; }
body .news-page-content { width: 100% !important; max-width: 820px !important; overflow-wrap: anywhere !important; }
body .news-page-content p { color: #000 !important; }
body.is-dark .news-page-content p { color: #fff !important; }
body:not(.is-dark) .news-page .news-page-content p,
body:not(.is-dark) .news-page .news-page-content li,
body:not(.is-dark) .news-page .news-page-related span { color: #000 !important; }
body.is-dark .news-page .news-page-content p,
body.is-dark .news-page .news-page-content li,
body.is-dark .news-page .news-page-related span { color: #fff !important; }
body .news-language-button,
body .news-language-button:visited { flex: 0 0 auto !important; width: auto !important; min-width: 138px !important; height: 36px !important; color: #fff !important; background: #61373e !important; opacity: 1 !important; visibility: visible !important; font-size: 13px !important; line-height: 1 !important; }
body .news-language-button:hover,
body .news-language-button:focus-visible,
body .news-language-button:active { color: #fff !important; background: #61373e !important; }
body.is-dark .news-language-button,
body.is-dark .news-language-button:visited { color: #000 !important; background: #ffe4af !important; }
body.is-dark .news-language-button:hover,
body.is-dark .news-language-button:focus-visible,
body.is-dark .news-language-button:active { color: #000 !important; background: #ffe4af !important; }
@media (max-width: 800px) {
  body .news-page-heading,
  body .news-page-layout,
  body .news-page-hero { width: calc(100% - 28px) !important; max-width: calc(100% - 28px) !important; }
}
@media (max-width: 800px) {
  .news-page-layout, [dir="rtl"] .news-page-layout { grid-template-columns: 1fr; gap: 30px; }
  [dir="rtl"] .news-page-related, [dir="rtl"] .news-page-content { grid-column: 1; grid-row: auto; }
  .news-page-related { order: 2; }
  .news-page-content { order: 1; }
}

/* Taxonomy archives */
.archive-page { width: min(1120px, calc(100% - 40px)); margin: 0 auto; padding: 58px 0 78px; color: var(--text); }
.archive-page-head { margin-bottom: 34px; }
.archive-page-head span { color: var(--secondary-text); font-size: 13px; }
.archive-page-head h1 { margin: 6px 0 8px; font-size: clamp(34px, 5vw, 58px); }
.archive-page-head p { margin: 0; color: var(--text) !important; font-size: 16px; }
.archive-page-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.archive-page-card { min-width: 0; overflow: hidden; border-radius: 7px; background: var(--page); box-shadow: 0 12px 30px rgba(97,55,62,.11); }
.archive-page-card figure { aspect-ratio: 4 / 3; margin: 0; overflow: hidden; }
.archive-page-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.archive-page-card:hover img { transform: scale(1.05); }
.archive-page-card > div { padding: 18px; }
.archive-page-card span, .archive-page-card time { color: var(--secondary-text); font-size: 11px; margin-inline-end: 10px; }
.archive-page-card h2 { margin: 10px 0 7px; font-size: 21px; line-height: 1.4; }
.archive-page-card p { margin: 0; color: var(--text) !important; font-size: 14px; line-height: 1.75; }
.archive-page-empty { color: var(--text) !important; }
body.is-dark .archive-page-card { border: 1px solid var(--border); box-shadow: none; }
@media (max-width: 900px) { .archive-page-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .archive-page { width: min(100% - 24px, 1120px); padding-block: 38px 54px; } .archive-page-grid { grid-template-columns: 1fr; gap: 18px; } }
@media (max-width: 560px) {
  .news-page-hero, .news-page-heading, .news-page-layout { width: min(100% - 24px, 1120px); }
  .news-page-hero img { height: 280px; }
  .news-page-meta { align-items: flex-start; flex-direction: column; }
  .news-page-content p { font-size: 15px; line-height: 1.85; }
}
body.is-dark .publication-hero-media,
body.is-dark .publication-sidebar nav,
body.is-dark .publication-publisher { border: 1px solid rgba(255, 228, 175, .24); box-shadow: none; }
body.is-dark .publication-publisher > img { padding: 8px; border-radius: 4px; background: #fff; }

@media (max-width: 900px) {
  .publication-hero { grid-template-columns: minmax(0, 1fr); }
  .publication-hero-media { min-height: 300px; }
  .publication-layout,
  [dir="rtl"] .publication-layout { grid-template-columns: minmax(0, 1fr); }
  [dir="rtl"] .publication-sidebar,
  [dir="rtl"] .publication-content { grid-column: 1; grid-row: auto; }
  .publication-sidebar { position: static; }
  .publication-sidebar nav { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: center; }
  .publication-sidebar strong { grid-column: 1 / -1; }
  .publication-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .publication-single { width: 100%; padding-top: 52px; }
  .publication-hero { gap: 22px; padding-bottom: 28px; }
  .publication-hero-media { min-height: 0; }
  .publication-hero-media img { height: 48vh; min-height: 300px; }
  .publication-hero-media p,
  .publication-hero-copy,
  .publication-layout,
  .publication-gallery,
  .publication-related,
  .publication-publisher { width: min(100% - 24px, 1120px); }
  .publication-hero h1 { font-size: 30px; }
  .publication-layout { padding-block: 28px; }
  .publication-sidebar nav { grid-template-columns: 1fr; }
  .publication-gallery-grid,
  .publication-related-grid { grid-template-columns: minmax(0, 1fr); }
  .publication-publisher { grid-template-columns: 76px minmax(0, 1fr); padding: 18px; }
  .publication-publisher img { width: 70px; }
}

@media (max-width: 420px) {
  body :is(.container, .about-container, .press-release-shell, .portrait-shell, .home-projects-shell) {
    width: min(100% - 20px, 1120px) !important;
  }
  .latest-editorial-article,
  .latest-editorial-feature {
    grid-template-columns: 88px minmax(0, 1fr) !important;
    gap: 11px !important;
  }
  .latest-editorial-article figure,
  .latest-editorial-feature figure {
    width: 88px !important;
    min-width: 88px !important;
  }
  .latest-editorial-article h3,
  .latest-editorial-feature h3 { font-size: 15px !important; }
  .latest-editorial-article footer,
  .latest-editorial-feature footer { gap: 5px !important; }
  .footer-links a { white-space: normal !important; }
}

/* Compact, consistent vertical rhythm between home sections. */
main > :is(.latest-section, .press-release-section, .portrait-section, .home-projects-section, .newsletter-section) {
  padding-block: 44px !important;
  margin-block: 0 !important;
}
.latest-editorial {
  gap: 20px !important;
  padding-block: 24px !important;
}
.portrait-carousel,
.home-projects-shell {
  gap: 24px !important;
}
.home-projects-head,
.portrait-head,
.latest-editorial-head {
  margin-block: 0 !important;
}
.home-projects-section .home-project-track {
  margin-top: 8px !important;
}
.press-release-controls {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  direction: ltr !important;
}
.press-release-intro { grid-area: press-intro; }
.press-release-controls { grid-area: press-controls; }
.press-release-viewport { grid-area: press-viewport; min-width: 0; }
body .press-release-controls [data-press-prev]::before {
  transform: rotate(-45deg) !important;
}
body .press-release-controls [data-press-next]::before {
  transform: rotate(135deg) !important;
}
body .home-portrait-controls [data-home-portrait-prev]::before {
  transform: rotate(-135deg) !important;
}
body .home-portrait-controls [data-home-portrait-next]::before {
  transform: rotate(45deg) !important;
}
/* Tablet portrait and landscape: use one stable flow before the desktop grid can squeeze. */
@media (max-width: 1200px) {
  .press-release-shell {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    width: min(100% - 28px, 1120px) !important;
    max-width: 100% !important;
    align-items: stretch !important;
    gap: 20px !important;
    margin-inline: auto !important;
    transform: none !important;
  }
  .press-release-section {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }
  .press-release-section[dir="rtl"] :is(.press-release-intro, .press-release-viewport, .press-release-card) {
    direction: rtl !important;
    text-align: right !important;
  }
  .press-release-section[dir="ltr"] :is(.press-release-intro, .press-release-viewport, .press-release-card) {
    direction: ltr !important;
    text-align: left !important;
  }
  .press-release-intro { order: 1 !important; width: 100% !important; max-width: none !important; }
  .press-release-viewport { order: 2 !important; }
  .press-release-controls {
    position: absolute !important;
    z-index: 4 !important;
    top: calc(100% - 167px) !important;
    order: initial !important;
    align-self: auto !important;
    flex-direction: column !important;
    justify-content: center !important;
    width: 38px !important;
    gap: 8px !important;
  }
  .press-release-section[dir="rtl"] .press-release-controls { right: -2px !important; left: auto !important; }
  .press-release-section[dir="ltr"] .press-release-controls { left: -2px !important; right: auto !important; }
  .press-release-viewport,
  .press-release-track {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 250px !important;
    margin: 0 !important;
    transform: none !important;
  }
  .press-release-section[dir="rtl"] .press-release-viewport { padding-right: 48px !important; }
  .press-release-section[dir="ltr"] .press-release-viewport { padding-left: 48px !important; }
  .press-release-card {
    inset: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: 150px minmax(0, 1fr) !important;
    gap: 18px !important;
    padding: 16px !important;
    margin: 0 !important;
  }
  .press-release-card img {
    width: 150px !important;
    height: 216px !important;
  }
  .press-release-card strong { font-size: clamp(19px, 3vw, 27px) !important; }
}
.newsletter-layout {
  gap: 24px 36px !important;
}
@media (max-width: 700px) {
  main > :is(.latest-section, .press-release-section, .portrait-section, .home-projects-section, .newsletter-section) {
    padding-block: 30px !important;
  }
  .latest-editorial { padding: 20px 16px !important; }
  .portrait-carousel,
  .home-projects-shell { gap: 18px !important; }
  .press-release-intro { width: 100% !important; max-width: none !important; }
  .press-release-intro h2 { font-size: clamp(34px, 9vw, 48px) !important; line-height: 1.1 !important; }
  .press-release-viewport,
  .press-release-track { min-height: 224px !important; }
  .press-release-card { grid-template-columns: 128px minmax(0, 1fr) !important; gap: 14px !important; }
  .press-release-card img { width: 128px !important; height: 190px !important; }
}

@media (max-width: 480px) {
  .press-release-controls {
    flex-direction: column !important;
  }
  .press-release-viewport,
  .press-release-track { min-height: 350px !important; }
  .press-release-card { grid-template-columns: minmax(0, 1fr) !important; }
  .press-release-card img { width: 100% !important; height: 180px !important; }
}

/* Keep the home news carousel inside the viewport on tablets and narrow desktops. */
@media (max-width: 1200px) {
  .news-showcase {
    width: 100% !important;
    min-width: 0 !important;
  }
  .news-showcase-stage,
  .news-showcase-cards {
    width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }
  .news-showcase-stage { min-height: 360px !important; }
  .news-showcase-cards { min-height: 320px !important; }
  .news-showcase-card:not(.is-active) {
    opacity: 0 !important;
    pointer-events: none !important;
  }
  .news-showcase-card.is-active {
    left: 50% !important;
    width: min(620px, calc(100% - 32px)) !important;
    height: 320px !important;
    transform: translateX(-50%) scale(1) !important;
  }
}

@media (max-width: 600px) {
  .news-showcase-head { flex-wrap: wrap !important; }
  .news-showcase-card.is-active {
    width: calc(100% - 24px) !important;
    height: 290px !important;
  }
}

body .press-release-section[dir] .press-release-viewport {
  padding-inline: 0 !important;
}

body .press-release-section[dir] .press-release-shell {
  display: grid !important;
  grid-template-columns: minmax(220px, 0.8fr) 44px minmax(0, 1.6fr) !important;
  grid-template-areas: "press-intro press-controls press-viewport" !important;
  align-items: center !important;
  gap: 24px !important;
}
body .press-release-section[dir] .press-release-controls {
  position: static !important;
  inset: auto !important;
  flex-direction: column !important;
  width: 44px !important;
  align-self: center !important;
}
body .press-release-section[dir] .press-release-intro {
  max-width: none !important;
}
body .press-release-section[dir] .press-release-intro h2 {
  font-size: 40px !important;
  line-height: 1.3 !important;
}
body .press-release-section[dir] .press-release-viewport,
body .press-release-section[dir] .press-release-track {
  min-height: 0 !important;
  height: auto !important;
}
body .press-release-section[dir] .press-release-track {
  display: grid !important;
}
body .press-release-section[dir] .press-release-card {
  position: relative !important;
  grid-area: 1 / 1 !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  grid-template-rows: auto !important;
  box-sizing: border-box !important;
  min-height: 280px !important;
  height: auto !important;
  gap: 20px !important;
  visibility: hidden;
}
body .press-release-section[dir] .press-release-card.is-active {
  visibility: visible;
}
body .press-release-section[dir] .press-release-card img {
  width: 100% !important;
  height: 260px !important;
  min-height: 0 !important;
  align-self: center;
}
body .press-release-section[dir] .press-release-card strong {
  font-size: 24px !important;
  line-height: 1.5 !important;
  overflow-wrap: anywhere !important;
}
@media (max-width: 1100px) {
  body .press-release-section[dir] .press-release-shell {
    grid-template-columns: 44px minmax(0, 1fr) !important;
    grid-template-areas: "press-intro press-intro" "press-controls press-viewport" !important;
  }
}
@media (max-width: 600px) {
  body .press-release-section[dir] .press-release-shell { gap: 16px !important; }
  body .press-release-section[dir] .press-release-intro h2 { font-size: 30px !important; }
  body .press-release-section[dir] .press-release-card {
    grid-template-columns: minmax(0, 1fr) !important;
    padding: 12px !important;
    gap: 12px !important;
  }
  body .press-release-section[dir] .press-release-card img { height: 190px !important; }
  body .press-release-section[dir] .press-release-card strong { font-size: 20px !important; }
}

/* Header controls share one row and a reserved column on wide screens. */
@media (min-width: 1181px) {
  body .header-shell {
    grid-template-columns: 128px minmax(0, 1fr) 156px !important;
    width: min(1460px, calc(100% - 32px)) !important;
    min-height: 72px !important;
  }
  body .brand {
    width: 128px !important;
    margin: 0 !important;
  }
  body .brand img {
    width: 118px !important;
    height: auto !important;
  }
  body .primary-nav {
    min-width: 0 !important;
    gap: clamp(7px, .75vw, 14px) !important;
  }
  body .primary-nav > a,
  body .nav-item > a {
    font-size: clamp(12px, .78vw, 14px) !important;
  }
  body .header-tools,
  html[dir="ltr"] body .header-tools {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    justify-self: stretch !important;
    width: 156px !important;
    min-width: 156px !important;
    height: 40px !important;
    gap: 6px !important;
    margin: 0 !important;
    direction: ltr !important;
  }
  body .header-tools :is(.icon-button, .language-pill) {
    position: relative !important;
    inset: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: center !important;
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 1 !important;
    vertical-align: middle !important;
    transform: none !important;
  }
  body .header-tools :is(.search-icon, .theme-icon) {
    margin: 0 !important;
    flex: 0 0 auto !important;
  }
}

@media (min-width: 1181px) and (max-width: 1320px) {
  body .primary-nav { display: none !important; }
  body .menu-toggle {
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    margin: 0 !important;
  }
  body .header-tools { justify-content: flex-end !important; }
}

body .hero-news-carousel,
body .hero-news-shell,
body .hero-news-viewport,
body .hero-news-track,
body .hero-news-slide {
  margin-top: 0 !important;
}
body .hero-news-carousel {
  padding-top: 0 !important;
}
body .hero-news-shell,
body .hero-news-viewport,
body .hero-news-track,
body .hero-news-slide {
  min-height: 100vh !important;
}
body .wahi-scroll-top {
  appearance: none;
  position: fixed;
  inset: auto 20px 20px auto;
  z-index: 70;
  display: grid;
  place-items: center;
  box-sizing: border-box;
  width: 44px;
  height: 44px;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 8px;
  background: #61373e;
  color: #fff;
  box-shadow: 0 3px 12px #0002;
  cursor: pointer;
}
html[dir="rtl"] body .wahi-scroll-top { right: auto; left: 20px; }
body .wahi-scroll-top[hidden] { display: none !important; }
body .wahi-scroll-top > .wahi-scroll-top-icon {
  all: unset;
  display: block;
  box-sizing: border-box;
  width: 12px;
  height: 12px;
  border-top: 2px solid currentColor;
  border-left: 2px solid currentColor;
  transform: translateY(3px) rotate(45deg);
  pointer-events: none;
}
body .wahi-scroll-top:hover { background: #a25864; }
body .wahi-scroll-top:focus-visible { outline: 2px solid #61373e; outline-offset: 4px; }
body.is-dark .wahi-scroll-top { background: #ffe4af; color: #161616; }
body .hero-news-media img {
  object-position: center top !important;
}

/* Keep the source top edge visible across the site's image treatments. */
body main img {
  object-position: center top !important;
}
body main :is(.hero-news-media, .news-page-hero, .publication-hero-media, .about-hero-card, .archive-page-card figure) {
  margin-top: 0 !important;
}
body main :is(.hero-news-media img, .news-page-hero img, .publication-hero-media img, .about-hero-card img, .archive-page-card img) {
  object-position: center top !important;
}
