/*
 * CERAX phone edition — final responsive authority.
 *
 * Desktop artboards remain untouched. Below 821px every room is rebuilt from
 * its live HTML in normal document flow, with clean photography and readable
 * cards in both English and Arabic.
 */

@media (max-width: 820px) {
  html,
  body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }

  *,
  *::before,
  *::after {
    box-sizing: border-box;
  }

  img,
  svg,
  video,
  iframe {
    max-width: 100%;
  }

  :where(h1, h2, h3, h4, p, a, span, small, strong, b, em) {
    overflow-wrap: break-word;
    word-break: normal;
    hyphens: none;
  }

  /* Global phone shell. */
  .mobile-header {
    position: sticky !important;
    top: 0;
    z-index: 80;
    min-height: 92px !important;
    padding: 12px 16px !important;
    gap: 12px;
  }

  .mobile-header .brand {
    min-width: 0;
    gap: 10px !important;
  }

  .mobile-header .mobile-crest-image {
    width: 58px !important;
    height: 58px !important;
    flex-basis: 58px !important;
  }

  .mobile-header .wordmark {
    min-width: 0;
  }

  .mobile-header .wordmark small {
    display: block;
    font-size: 9px !important;
    line-height: 1.32 !important;
    letter-spacing: .025em !important;
    white-space: normal !important;
  }

  .mobile-actions {
    flex: 0 0 auto;
    gap: 12px !important;
  }

  .mobile-actions > a {
    font-size: 15px !important;
    white-space: nowrap;
  }

  .hamburger {
    width: 45px !important;
    height: 45px !important;
  }

  .mobile-footer {
    width: 100%;
    padding: 34px 20px 30px !important;
    overflow: hidden;
  }

  .mobile-footer > nav {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }

  .mobile-footer > nav a {
    min-height: 45px;
    padding: 11px 0;
    border-bottom: 1px solid rgba(214, 155, 64, .25);
  }

  /* Every homepage room uses natural flow on a phone. */
  body.home :where(.palace, .palace-room, .cerax-home-room, .cerax-home-live-layout) {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    transform: none !important;
  }

  body.home .palace-room {
    position: relative !important;
    inset: auto !important;
    overflow: hidden !important;
  }

  body.home .palace-room > .room-badge {
    position: absolute !important;
    z-index: 5 !important;
    inset: 15px auto auto 16px !important;
    width: auto !important;
    max-width: calc(100% - 32px) !important;
    min-height: 0 !important;
    padding: 8px 11px !important;
    font-size: 9px !important;
    line-height: 1.2 !important;
    white-space: normal !important;
  }

  html[dir="rtl"] body.home .palace-room > .room-badge {
    inset: 15px 16px auto auto !important;
  }

  body.home .cerax-home-hero {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    min-height: 520px !important;
    height: auto !important;
    max-height: none !important;
    padding: 92px 20px 36px !important;
    display: flex !important;
    align-items: flex-end !important;
    overflow: hidden !important;
    isolation: isolate;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-position: center !important;
  }

  body.home .cerax-home-entrance .cerax-home-hero {
    background-image: linear-gradient(180deg, rgba(0, 17, 32, .10), rgba(0, 17, 32, .42) 43%, #03182b 96%), url('../images/entrance-hall-hero-v2.webp') !important;
  }

  body.home .cerax-home-briefing .cerax-home-hero {
    background-image: linear-gradient(180deg, rgba(0, 17, 32, .10), rgba(0, 17, 32, .48) 43%, #03182b 96%), url('../images/analysis-room-hero.webp') !important;
  }

  body.home .cerax-home-publications .cerax-home-hero {
    background-image: linear-gradient(180deg, rgba(0, 17, 32, .08), rgba(0, 17, 32, .48) 43%, #03182b 96%), url('../images/papers-reports-archive-hero-v2.jpg') !important;
  }

  body.home .cerax-home-map .cerax-home-hero {
    background-image: linear-gradient(180deg, rgba(0, 17, 32, .10), rgba(0, 17, 32, .50) 43%, #03182b 96%), url('../images/analysis-room-hero.webp') !important;
  }

  body.home .cerax-home-diplomacy .cerax-home-hero {
    background-image: linear-gradient(180deg, rgba(0, 17, 32, .08), rgba(0, 17, 32, .52) 46%, #03182b 96%), url('../images/engage-hero.webp') !important;
  }

  body.home .cerax-home-council .cerax-home-hero,
  body.home .cerax-home-dialogue .cerax-home-hero,
  body.home .cerax-home-institutional .cerax-home-hero {
    background-image: linear-gradient(180deg, rgba(255, 250, 243, .04), rgba(255, 250, 243, .48) 49%, #fbf6ee 96%), url('../images/engage-hero.webp') !important;
  }

  body.home .cerax-home-dialogue .cerax-home-hero {
    background-image: linear-gradient(180deg, rgba(255, 250, 243, .04), rgba(255, 250, 243, .50) 49%, #fbf6ee 96%), url('../images/dialogues-hero-v2.webp') !important;
  }

  body.home .cerax-home-institutional .cerax-home-hero {
    background-image: linear-gradient(180deg, rgba(255, 250, 243, .04), rgba(255, 250, 243, .55) 49%, #fbf6ee 96%), url('../images/policy-study-hero.webp') !important;
  }

  body.home .cerax-home-hero::before {
    content: none !important;
    display: none !important;
  }

  body.home .cerax-home-hero-copy {
    position: relative !important;
    z-index: 2 !important;
    inset: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
  }

  body.home .cerax-home-hero-copy h2 {
    width: 100% !important;
    max-width: 100% !important;
    margin: 13px 0 14px !important;
    font-size: clamp(36px, 10.4vw, 47px) !important;
    line-height: 1.08 !important;
    letter-spacing: -.02em !important;
    white-space: normal !important;
  }

  body.home .cerax-home-hero-copy p {
    width: 100% !important;
    max-width: 38em !important;
    margin: 0 !important;
    font-size: 16px !important;
    line-height: 1.62 !important;
    white-space: normal !important;
  }

  html[dir="rtl"] body.home .cerax-home-hero-copy h2 {
    font-size: clamp(35px, 10vw, 45px) !important;
    line-height: 1.22 !important;
    letter-spacing: 0 !important;
  }

  html[dir="rtl"] body.home .cerax-home-hero-copy p {
    font-size: 17px !important;
    line-height: 1.72 !important;
  }

  body.home .cerax-home-actions,
  body.home .cerax-room-tools {
    width: 100% !important;
    margin-top: 22px !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    overflow: visible !important;
  }

  body.home :where(.cerax-home-actions, .cerax-room-tools) a {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 48px !important;
    padding: 12px 14px !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
    text-align: center;
    white-space: normal !important;
  }

  html[dir="rtl"] body.home :where(.cerax-home-actions, .cerax-room-tools) a {
    font-size: 15px !important;
  }

  body.home .cerax-home-content {
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 28px 16px 36px !important;
    overflow: visible !important;
    transform: none !important;
  }

  body.home :where(
    .cerax-entrance-content,
    .cerax-briefing-content,
    .cerax-publications-content,
    .cerax-map-content,
    .cerax-council-content,
    .cerax-diplomacy-content,
    .cerax-dialogue-content,
    .cerax-institutional-content
  ) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-auto-rows: auto !important;
    gap: 20px !important;
    align-items: stretch !important;
    background-image: none !important;
  }

  body.home .cerax-home-content > :where(article, section, aside, nav, div),
  body.home .cerax-home-content :where(article, section, aside, nav) {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body.home .cerax-home-content > :where(article, section, aside, nav) {
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    transform: none !important;
  }

  /* Entrance Hall. */
  body.home #room-01 .cerax-featured-publication {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 22px !important;
    padding: 22px 18px !important;
    align-items: start !important;
    overflow: visible !important;
    border: 1px solid rgba(214, 155, 64, .52) !important;
    background: #031b30 !important;
  }

  body.home #room-01 .cerax-featured-book-cover {
    width: min(66vw, 238px) !important;
    max-width: 238px !important;
    justify-self: center !important;
  }

  body.home #room-01 .cerax-featured-publication-copy {
    width: 100% !important;
    padding: 0 !important;
    align-items: flex-start !important;
    text-align: start !important;
    overflow: visible !important;
  }

  body.home #room-01 .cerax-featured-publication-copy h3 {
    font-size: 26px !important;
    line-height: 1.2 !important;
  }

  body.home #room-01 .cerax-featured-publication-copy p {
    display: block !important;
    font-size: 15px !important;
    line-height: 1.58 !important;
    overflow: visible !important;
    -webkit-line-clamp: unset !important;
  }

  html[dir="rtl"] body.home #room-01 .cerax-featured-publication-copy,
  html[dir="rtl"] body.home #room-01 .cerax-featured-publication-copy * {
    text-align: right !important;
  }

  body.home #room-01 .cerax-home-numbers {
    width: 100% !important;
    padding: 20px 14px !important;
    display: block !important;
    overflow: hidden !important;
    background: #031b30 !important;
  }

  body.home #room-01 .cerax-home-numbers > .cerax-home-section-heading {
    width: 100% !important;
    display: block !important;
  }

  body.home #room-01 .cerax-home-numbers .cerax-home-section-heading h3 {
    margin-top: 7px !important;
    color: #fff !important;
    font-size: 25px !important;
    line-height: 1.22 !important;
  }

  body.home #room-01 .cerax-number-grid {
    width: 100% !important;
    margin: 17px 0 0 !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 !important;
    overflow: hidden !important;
  }

  body.home #room-01 .cerax-number-grid > div {
    min-width: 0 !important;
    min-height: 105px !important;
    padding: 16px 8px !important;
    display: grid !important;
    place-content: center !important;
    border: 0 !important;
    border-inline-end: 1px solid rgba(214, 155, 64, .32) !important;
    border-bottom: 1px solid rgba(214, 155, 64, .32) !important;
  }

  body.home #room-01 .cerax-number-grid > div:nth-child(2n) {
    border-inline-end: 0 !important;
  }

  body.home #room-01 .cerax-number-grid > div:nth-last-child(-n + 2) {
    border-bottom: 0 !important;
  }

  body.home #room-01 .cerax-number-grid b {
    font-size: 32px !important;
    line-height: 1 !important;
  }

  body.home #room-01 .cerax-number-grid small {
    margin-top: 8px !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
  }

  html[dir="rtl"] body.home #room-01 .cerax-number-grid small {
    font-size: 15px !important;
    line-height: 1.45 !important;
  }

  /* Strategic Briefing. */
  body.home #room-02 .cerax-briefing-feature {
    display: block !important;
    overflow: hidden !important;
  }

  body.home #room-02 .cerax-briefing-feature-image {
    display: block !important;
    width: 100% !important;
    height: 210px !important;
    background: url('../images/analysis-room-hero.webp') center / cover no-repeat !important;
  }

  body.home #room-02 .cerax-briefing-feature > div {
    width: 100% !important;
    padding: 22px 19px 24px !important;
    background: #fff !important;
  }

  body.home #room-02 .cerax-briefing-feature h3 {
    margin: 9px 0 11px !important;
    font-size: 28px !important;
    line-height: 1.2 !important;
  }

  body.home #room-02 .cerax-briefing-feature p {
    display: block !important;
    margin: 0 !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
    overflow: visible !important;
    -webkit-line-clamp: unset !important;
  }

  body.home #room-02 .cerax-briefing-feature footer {
    margin-top: 17px !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px 14px !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
  }

  body.home #room-02 .cerax-analysis-list {
    padding: 16px !important;
    overflow: visible !important;
  }

  body.home #room-02 .cerax-analysis-list > a {
    width: 100% !important;
    min-height: 112px !important;
    height: auto !important;
    padding: 13px 0 !important;
    display: grid !important;
    grid-template-columns: 96px minmax(0, 1fr) 18px !important;
    gap: 12px !important;
    align-items: center !important;
    overflow: visible !important;
  }

  body.home #room-02 .cerax-analysis-list > a > img {
    grid-area: auto !important;
    grid-column: auto !important;
    grid-row: auto !important;
    width: 96px !important;
    height: 78px !important;
    object-fit: cover !important;
  }

  body.home #room-02 .cerax-analysis-list > a > span {
    grid-area: auto !important;
    grid-column: auto !important;
    grid-row: auto !important;
    min-width: 0 !important;
    width: auto !important;
    overflow: visible !important;
  }

  body.home #room-02 .cerax-analysis-list > a > strong {
    grid-area: auto !important;
    grid-column: auto !important;
    grid-row: auto !important;
  }

  body.home #room-02 .cerax-analysis-list b {
    display: block !important;
    max-height: none !important;
    font-size: 17px !important;
    line-height: 1.35 !important;
    overflow: visible !important;
    -webkit-line-clamp: unset !important;
  }

  body.home #room-02 .cerax-analysis-list em {
    display: block !important;
    margin-top: 5px !important;
    font-size: 11px !important;
    line-height: 1.4 !important;
    white-space: normal !important;
    overflow: visible !important;
  }

  html[dir="rtl"] body.home #room-02 .cerax-analysis-list > a {
    direction: rtl !important;
    grid-template-columns: 96px minmax(0, 1fr) 18px !important;
  }

  html[dir="rtl"] body.home #room-02 .cerax-analysis-list b {
    font-size: 17px !important;
    line-height: 1.5 !important;
  }

  html[dir="rtl"] body.home #room-02 .cerax-analysis-list em {
    font-size: 13px !important;
    line-height: 1.45 !important;
  }

  body.home #room-02 .cerax-briefing-region-body {
    height: auto !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
  }

  body.home #room-02 .cerax-briefing-region-body img {
    width: 100% !important;
    height: auto !important;
    max-height: 220px !important;
    object-fit: contain !important;
  }

  body.home #room-02 .cerax-home-newsletter {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 13px !important;
    padding: 20px !important;
  }

  body.home #room-02 .cerax-home-newsletter form {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 9px !important;
  }

  body.home #room-02 .cerax-home-newsletter :where(input, button) {
    width: 100% !important;
    min-height: 46px !important;
  }

  body.home #room-02 .cerax-briefing-cards {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
  }

  body.home #room-02 .cerax-briefing-cards > a {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 14px !important;
    display: grid !important;
    grid-template-columns: 118px minmax(0, 1fr) !important;
    gap: 15px !important;
    align-items: start !important;
    overflow: visible !important;
  }

  body.home #room-02 .cerax-briefing-cards > a > img {
    width: 118px !important;
    height: 118px !important;
    object-fit: cover !important;
  }

  body.home #room-02 .cerax-briefing-cards > a > span {
    position: static !important;
    display: block !important;
    min-width: 0 !important;
    width: auto !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  body.home #room-02 .cerax-briefing-cards b {
    display: block !important;
    margin: 5px 0 8px !important;
    font-size: 19px !important;
    line-height: 1.35 !important;
  }

  body.home #room-02 .cerax-briefing-cards em {
    display: block !important;
    font-size: 13px !important;
    line-height: 1.52 !important;
  }

  body.home #room-02 .cerax-briefing-cards span > i {
    position: static !important;
    display: block !important;
    margin-top: 11px !important;
    font-size: 11px !important;
    line-height: 1.4 !important;
  }

  /* Publications Hall. */
  body.home #room-03 .cerax-publication-categories {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    padding: 0 !important;
  }

  body.home #room-03 .cerax-publication-categories h2 {
    grid-column: 1 / -1 !important;
    padding: 16px !important;
    margin: 0 !important;
    font-size: 22px !important;
  }

  body.home #room-03 .cerax-publication-categories a {
    min-height: 64px !important;
    padding: 12px !important;
    gap: 8px !important;
    font-size: 14px !important;
    line-height: 1.3 !important;
  }

  html[dir="rtl"] body.home #room-03 .cerax-publication-categories a {
    font-size: 16px !important;
    line-height: 1.45 !important;
  }

  body.home #room-03 .cerax-library-feature {
    display: block !important;
    padding: 18px !important;
    overflow: hidden !important;
  }

  body.home #room-03 .cerax-featured-publication-body {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 20px !important;
  }

  body.home #room-03 .cerax-reference-cover-featured {
    width: min(72vw, 250px) !important;
    max-width: 250px !important;
    margin-inline: auto !important;
  }

  body.home #room-03 .cerax-library-feature h3 {
    font-size: 27px !important;
    line-height: 1.22 !important;
  }

  body.home #room-03 .cerax-library-feature p {
    font-size: 14px !important;
    line-height: 1.58 !important;
  }

  body.home #room-03 .cerax-latest-publications > div:last-child {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 13px !important;
  }

  body.home #room-03 .cerax-latest-publications article {
    width: 100% !important;
    min-width: 0 !important;
    padding: 13px !important;
    border: 1px solid #ddc9aa;
    background: #fff;
  }

  body.home #room-03 .cerax-publication-card-link {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 118px minmax(0, 1fr) !important;
    grid-template-areas:
      "cover meta"
      "cover title"
      "cover date" !important;
    gap: 6px 15px !important;
    align-items: start !important;
  }

  body.home #room-03 .cerax-publication-card-link > .cerax-reference-cover {
    grid-area: cover !important;
    width: 118px !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 210 / 297 !important;
  }

  body.home #room-03 .cerax-publication-card-link > small {
    grid-area: meta !important;
    margin: 2px 0 0 !important;
    font-size: 10px !important;
    line-height: 1.35 !important;
  }

  body.home #room-03 .cerax-publication-card-link > h3 {
    grid-area: title !important;
    margin: 3px 0 0 !important;
    font-size: 21px !important;
    line-height: 1.25 !important;
  }

  body.home #room-03 .cerax-publication-card-link > time {
    grid-area: date !important;
    font-size: 12px !important;
  }

  body.home #room-03 .cerax-publications-stats {
    width: 100% !important;
    margin: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    overflow: hidden !important;
  }

  body.home #room-03 .cerax-publications-stats > div {
    min-width: 0 !important;
    min-height: 104px !important;
    padding: 16px 10px !important;
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    gap: 8px !important;
  }

  body.home #room-03 .cerax-publications-stats form {
    grid-column: 1 / -1 !important;
    padding: 18px !important;
  }

  body.home #room-03 .cerax-publications-stats form > div {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 8px !important;
  }

  body.home #room-03 .cerax-publications-stats :where(input, button) {
    width: 100% !important;
    min-height: 45px !important;
  }

  /* Map Hall: compact, real cards rather than tall empty panels. */
  body.home #room-04 .cerax-map-content {
    margin: 0 !important;
    padding-top: 28px !important;
    background: #03182b !important;
  }

  body.home #room-04 .cerax-map-principle {
    width: 100% !important;
    margin: 0 !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
  }

  body.home #room-04 .cerax-region-board .cerax-home-section-heading {
    display: block !important;
    color: #fff !important;
  }

  body.home #room-04 .cerax-region-grid {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 13px !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  body.home #room-04 .cerax-region-grid article {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    display: block !important;
    overflow: hidden !important;
  }

  body.home #room-04 .cerax-region-link {
    width: 100% !important;
    min-height: 132px !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: 116px minmax(0, 1fr) 20px !important;
    grid-template-rows: auto 1fr !important;
    grid-template-areas:
      "map eyebrow arrow"
      "map copy arrow" !important;
    gap: 6px 14px !important;
    align-items: center !important;
    overflow: hidden !important;
    color: #fff !important;
  }

  body.home #room-04 .cerax-region-link > small {
    grid-area: eyebrow !important;
    align-self: end !important;
    padding-top: 13px !important;
    font-size: 11px !important;
    line-height: 1.3 !important;
  }

  body.home #room-04 .cerax-region-link > .cerax-region-card-map {
    grid-area: map !important;
    width: 116px !important;
    min-height: 132px !important;
    height: 100% !important;
    border: 0 !important;
    border-inline-end: 1px solid #bd8434 !important;
  }

  body.home #room-04 .cerax-region-link > b {
    grid-area: copy !important;
    align-self: start !important;
    padding-bottom: 13px !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.48 !important;
  }

  body.home #room-04 .cerax-region-link > i {
    grid-area: arrow !important;
    font-size: 15px !important;
  }

  html[dir="rtl"] body.home #room-04 .cerax-region-link {
    direction: rtl !important;
    grid-template-columns: 116px minmax(0, 1fr) 20px !important;
    grid-template-areas:
      "map eyebrow arrow"
      "map copy arrow" !important;
  }

  html[dir="rtl"] body.home #room-04 .cerax-region-link > .cerax-region-card-map {
    border-inline-end: 0 !important;
    border-inline-start: 1px solid #bd8434 !important;
  }

  /* Council Room. */
  body.home #room-05 .cerax-council-content {
    background: #fbf7ef !important;
  }

  body.home #room-05 .cerax-council-leadership,
  body.home #room-05 .cerax-senior-fellows,
  body.home #room-05 .cerax-council-standard,
  body.home #room-05 .cerax-expertise-fields {
    position: static !important;
    grid-column: auto !important;
    grid-row: auto !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
  }

  body.home #room-05 .cerax-leader-grid {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
    overflow: visible !important;
  }

  body.home #room-05 .cerax-leader-grid article {
    width: 100% !important;
    min-width: 0 !important;
    display: block !important;
  }

  body.home #room-05 .cerax-leader-grid article > a {
    display: grid !important;
    grid-template-columns: 42% minmax(0, 1fr) !important;
    height: auto !important;
    min-height: 230px !important;
  }

  body.home #room-05 .cerax-leader-grid img {
    width: 100% !important;
    height: 100% !important;
    min-height: 230px !important;
    object-fit: cover !important;
  }

  body.home #room-05 .cerax-leader-grid article > a > div {
    padding: 18px 16px !important;
    align-self: center !important;
  }

  body.home #room-05 .cerax-leader-grid h3 {
    font-size: 23px !important;
    line-height: 1.23 !important;
  }

  body.home #room-05 .cerax-council-standard {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.home #room-05 .cerax-council-standard article {
    width: 100% !important;
    min-height: 0 !important;
    padding: 15px !important;
    grid-template-columns: 44px minmax(0, 1fr) !important;
    border-inline-end: 0 !important;
    border-bottom: 1px solid #e2d3bf !important;
  }

  body.home #room-05 .cerax-senior-fellows > div:last-child {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    overflow: visible !important;
  }

  body.home #room-05 .cerax-senior-fellows article {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    flex: none !important;
  }

  body.home #room-05 .cerax-senior-fellows img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
  }

  body.home #room-05 .cerax-senior-fellows h3 {
    margin: 10px 8px 5px !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
  }

  body.home #room-05 .cerax-expertise-fields {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    padding-top: 14px !important;
  }

  body.home #room-05 .cerax-expertise-fields a {
    width: 100% !important;
    min-width: 0 !important;
    padding: 11px 8px !important;
    font-size: 11px !important;
    text-align: center !important;
    white-space: normal !important;
  }

  /* Diplomacy House. */
  body.home #room-06 .cerax-diplomacy-content {
    width: 100% !important;
    background: #03182b !important;
  }

  body.home #room-06 .cerax-diplomacy-paths,
  body.home #room-06 .cerax-diplomacy-services {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
    padding: 0 !important;
  }

  body.home #room-06 .cerax-diplomacy-paths article {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    overflow: hidden !important;
  }

  body.home #room-06 .cerax-diplomacy-photo {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 16 / 10 !important;
    display: block !important;
    background: url('../images/engage-hero.webp') center / cover no-repeat !important;
  }

  body.home #room-06 .cerax-diplomacy-paths article > div {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 23px 19px 25px !important;
    text-align: start !important;
    overflow: visible !important;
  }

  body.home #room-06 .cerax-diplomacy-paths h3 {
    margin: 8px 0 11px !important;
    font-size: 29px !important;
    line-height: 1.2 !important;
  }

  body.home #room-06 .cerax-diplomacy-paths p {
    font-size: 15px !important;
    line-height: 1.62 !important;
  }

  body.home #room-06 .cerax-diplomacy-services {
    margin-top: 4px !important;
  }

  body.home #room-06 .cerax-diplomacy-services a {
    width: 100% !important;
    min-height: 0 !important;
    padding: 16px !important;
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr) !important;
    gap: 13px !important;
    border: 1px solid rgba(214, 155, 64, .35) !important;
  }

  body.home #room-06 .cerax-diplomacy-services b {
    width: 46px !important;
    height: 46px !important;
  }

  body.home #room-06 .cerax-diplomacy-services span {
    font-size: 14px !important;
    line-height: 1.55 !important;
  }

  body.home #room-06 .cerax-diplomacy-services strong {
    font-size: 15px !important;
    line-height: 1.4 !important;
  }

  /* Dialogue Salon. */
  body.home #room-07 .cerax-dialogue-content {
    background: #fbf7ef !important;
  }

  body.home #room-07 .cerax-dialogue-formats,
  body.home #room-07 .cerax-event-list,
  body.home #room-07 .cerax-recent-dialogue,
  body.home #room-07 .cerax-dialogue-side {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
  }

  body.home #room-07 .cerax-dialogue-formats {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.home #room-07 .cerax-dialogue-formats > a {
    width: 100% !important;
    height: auto !important;
    min-height: 188px !important;
    padding: 18px 14px !important;
    display: block !important;
    overflow: visible !important;
  }

  body.home #room-07 .cerax-dialogue-formats h3 {
    font-size: 20px !important;
    line-height: 1.3 !important;
  }

  body.home #room-07 .cerax-dialogue-formats p {
    font-size: 13px !important;
    line-height: 1.5 !important;
  }

  body.home #room-07 .cerax-event-list,
  body.home #room-07 .cerax-recent-dialogue {
    display: block !important;
    padding: 17px !important;
    background: #fff !important;
  }

  body.home #room-07 .cerax-event-list > a:not(.cerax-dialogue-list-all),
  body.home #room-07 .cerax-recent-row {
    width: 100% !important;
    height: auto !important;
    min-height: 108px !important;
    margin: 0 !important;
    padding: 13px 0 !important;
    overflow: visible !important;
  }

  body.home #room-07 .cerax-recent-row {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    gap: 12px !important;
  }

  body.home #room-07 .cerax-dialogue-side {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 13px !important;
  }

  body.home #room-07 .cerax-dialogue-side > a {
    direction: inherit !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 18px !important;
    display: grid !important;
    grid-template-columns: 64px minmax(0, 1fr) !important;
    grid-template-areas: "icon copy" !important;
    gap: 14px !important;
    overflow: visible !important;
  }

  body.home #room-07 .cerax-dialogue-side > a > b {
    grid-area: icon !important;
    float: none !important;
    width: 62px !important;
    height: 62px !important;
  }

  body.home #room-07 .cerax-dialogue-side > a > span {
    grid-area: copy !important;
    position: static !important;
    display: block !important;
    min-width: 0 !important;
    width: auto !important;
    padding: 0 !important;
  }

  body.home #room-07 .cerax-dialogue-side small {
    display: block !important;
    font-size: 19px !important;
    line-height: 1.3 !important;
  }

  body.home #room-07 .cerax-dialogue-side em {
    position: static !important;
    display: block !important;
    width: auto !important;
    margin-top: 10px !important;
    padding: 0 !important;
    background: transparent !important;
  }

  /* Institutional Hall. */
  body.home #room-08 .cerax-institutional-content {
    background: #fbf7ef !important;
  }

  body.home #room-08 .cerax-principles,
  body.home #room-08 .cerax-principles > div:last-child,
  body.home #room-08 .cerax-institutional-links {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
  }

  body.home #room-08 .cerax-principles > div:last-child {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.home #room-08 .cerax-principles article {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 20px 18px !important;
    border-inline-end: 0 !important;
    border-bottom: 1px solid #e0d0b9 !important;
    text-align: start !important;
  }

  body.home #room-08 .cerax-principles article::before,
  body.home #room-08 .cerax-principles article::after {
    content: none !important;
    display: none !important;
  }

  body.home #room-08 .cerax-principles article a {
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr) !important;
    grid-template-areas:
      "icon title"
      "icon copy" !important;
    gap: 5px 14px !important;
    text-align: start !important;
  }

  body.home #room-08 .cerax-principles i {
    grid-area: icon !important;
    margin: 0 !important;
  }

  body.home #room-08 .cerax-principles h3 {
    grid-area: title !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    font-size: 20px !important;
    line-height: 1.28 !important;
  }

  body.home #room-08 .cerax-principles p {
    grid-area: copy !important;
    width: 100% !important;
    max-width: none !important;
    margin: 4px 0 0 !important;
    font-size: 14px !important;
    line-height: 1.52 !important;
  }

  body.home #room-08 .cerax-institutional-links {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 9px !important;
    border: 0 !important;
  }

  body.home #room-08 .cerax-institutional-links > a {
    width: 100% !important;
    min-height: 70px !important;
    padding: 14px !important;
    justify-content: flex-start !important;
    border: 1px solid #dfcdb2 !important;
    font-size: 11px !important;
    line-height: 1.4 !important;
  }

  /* Inner pages and archives: stop desktop grids from leaking into phones. */
  :where(
    .institutional-hero,
    .cerax-section-hero,
    .hub-hero,
    .event-mast,
    .expert-mast,
    .publication-mast,
    .document-mast
  ) {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    max-height: none !important;
  }

  :where(.institutional-hero-copy, .cerax-section-hero-copy, .hub-copy) {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding-inline: 20px !important;
  }

  :where(.institutional-hero, .cerax-section-hero) h1,
  .hub-hero h1 {
    max-width: 100% !important;
    font-size: clamp(38px, 11vw, 52px) !important;
    line-height: 1.05 !important;
    letter-spacing: -.02em !important;
    white-space: normal !important;
  }

  html[dir="rtl"] :where(.institutional-hero, .cerax-section-hero) h1,
  html[dir="rtl"] .hub-hero h1 {
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
  }

  :where(
    .institutional-card-grid,
    .institutional-card-grid.library-grid,
    .institutional-switcher,
    .cerax-record-grid,
    .cerax-event-grid,
    .cerax-expert-grid,
    .cerax-document-grid,
    .complete-record-grid,
    .collection-index,
    .flagship-grid,
    .latest-cover-shelf,
    .cerax-media-grid,
    .cerax-index-grid
  ) {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
    overflow: visible !important;
  }

  :where(
    .institutional-card-grid,
    .cerax-record-grid,
    .cerax-event-grid,
    .cerax-expert-grid,
    .cerax-document-grid,
    .complete-record-grid,
    .collection-index,
    .flagship-grid,
    .latest-cover-shelf
  ) > :where(article, a) {
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }

  .library-showcase,
  .library-feature-inner,
  .library-search-band,
  .library-complete-record,
  .library-collections,
  .flagship-library,
  .library-attribution,
  .research-diplomacy-cta {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px !important;
  }

  .library-catalogue,
  .library-feature,
  .library-latest {
    width: 100% !important;
    min-width: 0 !important;
    padding-inline: 18px !important;
    border-inline: 0 !important;
  }

  .publication-cover,
  .record-card-cover,
  .cerax-document-cover {
    width: min(78vw, 300px) !important;
    max-width: 300px !important;
    height: auto !important;
    margin-inline: auto !important;
  }

  .flagship-grid > article {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px !important;
  }

  /* Reading pages: final insurance against wide tables and fixed blocks. */
  .publication-family-page,
  .pub-shell,
  .pub-main,
  .pub-section,
  .pub-body-grid {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .pub-main :where(table, pre, figure) {
    max-width: 100% !important;
    overflow-x: auto !important;
  }
}

@media (max-width: 520px) {
  .mobile-header {
    min-height: 84px !important;
    padding: 10px 12px !important;
  }

  .mobile-header .mobile-crest-image {
    width: 52px !important;
    height: 52px !important;
    flex-basis: 52px !important;
  }

  .mobile-header .wordmark small {
    font-size: 8px !important;
  }

  .mobile-actions > a {
    font-size: 13px !important;
  }

  .hamburger {
    width: 42px !important;
    height: 42px !important;
  }

  body.home .cerax-home-hero {
    min-height: 500px !important;
    padding: 86px 17px 32px !important;
  }

  body.home .cerax-home-content {
    padding: 24px 14px 32px !important;
  }

  body.home #room-02 .cerax-analysis-list > a {
    grid-template-columns: 82px minmax(0, 1fr) 14px !important;
    gap: 10px !important;
  }

  body.home #room-02 .cerax-analysis-list > a > img {
    width: 82px !important;
    height: 72px !important;
  }

  html[dir="rtl"] body.home #room-02 .cerax-analysis-list > a {
    grid-template-columns: 82px minmax(0, 1fr) 14px !important;
  }

  body.home #room-02 .cerax-briefing-cards > a {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.home #room-02 .cerax-briefing-cards > a > img {
    width: 100% !important;
    height: 185px !important;
  }

  body.home #room-03 .cerax-publication-categories,
  body.home #room-07 .cerax-dialogue-formats,
  body.home #room-05 .cerax-senior-fellows > div:last-child,
  body.home #room-05 .cerax-expertise-fields {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.home #room-03 .cerax-publication-card-link {
    grid-template-columns: 104px minmax(0, 1fr) !important;
  }

  body.home #room-03 .cerax-publication-card-link > .cerax-reference-cover {
    width: 104px !important;
  }

  body.home #room-04 .cerax-region-link {
    grid-template-columns: 96px minmax(0, 1fr) 16px !important;
    gap: 5px 11px !important;
  }

  body.home #room-04 .cerax-region-link > .cerax-region-card-map {
    width: 96px !important;
  }

  html[dir="rtl"] body.home #room-04 .cerax-region-link {
    grid-template-columns: 96px minmax(0, 1fr) 16px !important;
  }

  body.home #room-05 .cerax-leader-grid article > a {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.home #room-05 .cerax-leader-grid img {
    height: 280px !important;
    min-height: 0 !important;
  }

  body.home #room-08 .cerax-principles article a {
    grid-template-columns: 42px minmax(0, 1fr) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto !important;
  }

  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
