/* Home V4 review. Same sections, words, palette, photographs and hero.
   Refine reading measures and responsive rhythm with the existing components. */
.rrom-front-main {
  --rrom-home-space: clamp(56px, 5.8vw, 88px);
  --rrom-home-gap: clamp(28px, 3.8vw, 60px);
}
.rrom-front-main .rrom-mission-shell {
  padding-block: clamp(48px, 4.8vw, 72px) 0 !important;
}
.rrom-front-main .rrom-mission {
  padding: clamp(30px, 3.7vw, 54px) clamp(26px, 4vw, 56px) !important;
}
.rrom-front-main .rrom-mission-grid {
  grid-template-columns: minmax(140px, .58fr) minmax(0, 2.42fr);
  gap: var(--rrom-home-gap) !important;
}
.rrom-front-main .rrom-mission-grid .has-heading-font-family {
  max-width: 31em;
  font-size: clamp(27px, 2.6vw, 36px) !important;
  line-height: 1.42 !important;
  text-wrap: pretty;
}
.rrom-front-main :is(.rrom-areas, .rrom-news) {
  padding-block: var(--rrom-home-space) !important;
}
.rrom-front-main .rrom-section-heading {
  gap: 24px !important;
  margin-bottom: 32px !important;
}
.rrom-front-main :is(.rrom-section-heading h2, .rrom-memory-title) {
  text-wrap: balance;
}

/* Equal media zones and links, with natural copy heights rather than spacers. */
.rrom-front-main .rrom-area-card {
  --rrom-card-media-height: clamp(200px, 19.4vw, 264px);
}
.rrom-front-main .rrom-area-card > .wp-block-image img {
  height: var(--rrom-card-media-height) !important;
}
.rrom-front-main .rrom-institute-logo {
  height: var(--rrom-card-media-height);
  min-height: 0;
  justify-content: center;
  padding: 28px !important;
}
.rrom-front-main .rrom-institute-logo .wp-block-image { width: 100%; }
.rrom-front-main .rrom-institute-logo img {
  height: calc(var(--rrom-card-media-height) - 56px) !important;
  object-fit: contain;
}
.rrom-front-main .rrom-card-number {
  padding: 18px 24px 14px !important;
}
.rrom-front-main .rrom-card-number p { font-size: 11px !important; }
.rrom-front-main .rrom-card-copy {
  padding: 26px 24px 20px !important;
}
.rrom-front-main .rrom-card-copy h3 {
  margin-bottom: 13px !important;
  font-size: clamp(27px, 2.2vw, 32px) !important;
  text-wrap: balance;
}
.rrom-front-main .rrom-card-copy > p:not(.rrom-text-link) {
  min-height: 0 !important;
  margin-bottom: 26px !important;
  font-size: 14px !important;
  line-height: 1.78 !important;
}
.rrom-front-main .rrom-card-copy > .rrom-text-link {
  width: 100%;
  padding-top: 12px;
  border-top: 1px solid var(--rrom-line);
}
.rrom-front-main .rrom-card-copy > .rrom-text-link a {
  display: flex;
  width: 100%;
  gap: 12px;
  min-height: 44px;
  font-size: 13px !important;
}
.rrom-front-main .rrom-area-card:is(:hover, :focus-within) .rrom-text-link a {
  color: var(--rrom-green) !important;
}
.rrom-front-main .rrom-text-link a {
  transition: color 180ms ease;
}

/* Keep the two-column cultural composition on desktop, center its title
   against the text and film, and give the film full reading width on tablet. */
.rrom-front-main .rrom-feature {
  padding: clamp(30px, 4.2vw, 60px) !important;
}
.rrom-front-main .rrom-feature-grid {
  align-items: center !important;
  gap: var(--rrom-home-gap) !important;
}
.rrom-front-main .rrom-feature-intro {
  max-width: 32ch;
  font-size: 15px !important;
  line-height: 1.78 !important;
}
.rrom-front-main .rrom-feature-copy {
  font-size: 15px !important;
  line-height: 1.82 !important;
  text-wrap: pretty;
}
.rrom-front-main .rrom-video {
  margin-top: 28px !important;
  border-radius: 9px;
}
.rrom-front-main .rrom-video .wp-block-embed__wrapper {
  aspect-ratio: 16 / 9;
}
.rrom-front-main .rrom-video .wp-block-embed__wrapper::before { display: none; }
.rrom-front-main .rrom-video iframe { width: 100%; height: 100%; }

.rrom-front-main .rrom-memory {
  padding-block: var(--rrom-home-space) 0 !important;
}
.rrom-front-main .rrom-memory-grid { gap: var(--rrom-home-gap) !important; }
.rrom-front-main .rrom-memory-photo figcaption {
  margin-top: 14px;
  color: var(--rrom-muted);
  font-size: 12px;
  line-height: 1.6;
}
.rrom-front-main .rrom-memory-copy > p:not(.rrom-eyebrow):not(.rrom-memory-lead) {
  font-size: 15px !important;
  line-height: 1.82 !important;
}
.rrom-front-main .rrom-memory-copy .rrom-memory-lead {
  font-size: clamp(21px, 1.6vw, 25px) !important;
  line-height: 1.5 !important;
}
.rrom-front-main .rrom-memory-copy .rrom-button a {
  min-height: 50px;
  font-size: 14px !important;
}

/* Documentary posters remain complete; a common frame aligns the news row. */
.rrom-front-main .rrom-news-grid .wp-block-post-featured-image {
  margin-bottom: 22px;
}
.rrom-front-main .rrom-news-grid .wp-block-post-featured-image a {
  aspect-ratio: 3 / 2;
}
.rrom-front-main .rrom-news-grid .wp-block-post-featured-image img {
  height: 100% !important;
  aspect-ratio: auto !important;
}
.rrom-front-main .rrom-news-grid .wp-block-post-date { font-size: 11px !important; }
.rrom-front-main .rrom-news-grid .wp-block-post-title {
  font-size: clamp(26px, 2.15vw, 32px) !important;
  line-height: 1.22;
}
.rrom-front-main .rrom-news-grid .wp-block-post-excerpt p {
  font-size: 14px;
  line-height: 1.8;
}
.rrom-front-main .rrom-news-grid .rrom-read-more {
  width: 100%;
  min-height: 52px;
  padding-block: 14px 4px;
  font-size: 13px !important;
}
.rrom-front-main .rrom-news-grid > .wp-block-post:is(:hover, :focus-within) .wp-block-post-title a {
  color: var(--rrom-green) !important;
}

/* This stylesheet loads only on the front page. Inner-page footers stay as-is. */
body.home .rrom-contact { padding-block: clamp(52px, 5.8vw, 84px) !important; }
body.home .rrom-contact-grid { gap: var(--rrom-home-gap, 60px) !important; }
body.home .rrom-contact-intro { font-size: 15px !important; line-height: 1.82 !important; }
body.home .rrom-contact-email { margin-block: 8px !important; }
body.home .rrom-contact-copy a[href^="mailto:"] {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-size: 15px;
  overflow-wrap: anywhere;
}
body.home .rrom-contact-copy a[href^="tel:"] {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}
body.home .rrom-contact-copy a {
  transition: color 180ms ease;
  text-decoration-thickness: 1px;
}
body.home .rrom-contact-copy a:is(:hover, :focus-visible) {
  color: var(--rrom-deep) !important;
  text-decoration: underline;
}
body.home .rrom-footer { padding-block: 30px !important; }
body.home .rrom-footer-brand-name { font-size: 13px !important; }
body.home .rrom-socials a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-size: 12px;
  transition: color 180ms ease;
}
body.home .rrom-socials a:is(:hover, :focus-visible) {
  color: #dcebcf !important;
  text-decoration: underline !important;
}

/* Use the already-established entrance engine; never hide waiting content. */
body.rrom-v4 .rrom-front-main [data-rrom-motion="entering"] {
  animation-duration: 460ms;
  animation-timing-function: cubic-bezier(.2, .65, .3, 1);
}
@media (min-width: 782px) {
  .rrom-front-main .rrom-three-columns > :nth-child(2) .rrom-area-card[data-rrom-motion="entering"] { animation-delay: 40ms; }
  .rrom-front-main .rrom-three-columns > :nth-child(3) .rrom-area-card[data-rrom-motion="entering"] { animation-delay: 80ms; }
}
@media (max-width: 950px) {
  .rrom-front-main .rrom-feature-grid { grid-template-columns: minmax(0, 1fr); }
  .rrom-front-main .rrom-feature-intro { max-width: 48ch; }
  .rrom-front-main .rrom-feature-copy { max-width: 72ch; }
}
@media (max-width: 781px) {
  .rrom-front-main { --rrom-home-space: 56px; --rrom-home-gap: 30px; }
  .rrom-front-main :is(.rrom-mission-shell, .rrom-areas, .rrom-feature-shell, .rrom-memory, .rrom-news) {
    padding-inline: 24px !important;
  }
  .rrom-front-main .rrom-mission-grid { grid-template-columns: minmax(0, 1fr); gap: 16px !important; }
  .rrom-front-main .rrom-mission-grid .has-heading-font-family { font-size: clamp(25px, 4.5vw, 30px) !important; }
  .rrom-front-main .rrom-section-heading { flex-wrap: wrap !important; align-items: start !important; gap: 16px !important; }
  .rrom-front-main .rrom-section-heading > .wp-block-group { flex-basis: 100%; }
  .rrom-front-main .rrom-section-heading h2 { font-size: clamp(34px, 6vw, 46px) !important; }
  .rrom-front-main .rrom-section-heading > .rrom-text-link a { min-height: 44px; font-size: 13px !important; }
  .rrom-front-main .rrom-three-columns { gap: 24px !important; }
  .rrom-front-main .rrom-area-card { --rrom-card-media-height: clamp(198px, calc((100vw - 50px) * .75), 410px); }
  .rrom-front-main .rrom-area-card > .wp-block-image img { aspect-ratio: auto; }
  .rrom-front-main .rrom-card-copy { padding: 25px 24px 20px !important; }
  .rrom-front-main .rrom-card-copy h3 { font-size: 30px !important; }
  .rrom-front-main .rrom-card-copy > p:not(.rrom-text-link) { font-size: 15px !important; }
  .rrom-front-main .rrom-feature { padding: 30px 26px !important; }
  .rrom-front-main .rrom-feature-title { font-size: clamp(46px, 9vw, 62px) !important; }
  .rrom-front-main .rrom-feature-copy { font-size: 15px !important; }
  .rrom-front-main .rrom-memory-title { font-size: clamp(34px, 6vw, 46px) !important; }
  .rrom-front-main .rrom-memory-copy > p { font-size: 15px !important; }
  .rrom-front-main .rrom-news-grid { row-gap: 36px !important; }
  .rrom-front-main .rrom-news-grid .wp-block-post { padding-bottom: 18px; }
  .rrom-front-main .rrom-news-grid .wp-block-post-featured-image a { max-height: 410px; }
  .rrom-front-main .rrom-news-grid .wp-block-post-title { font-size: 30px !important; }
  .rrom-front-main .rrom-news-grid .wp-block-post-excerpt p { font-size: 15px; }
  body.home :is(.rrom-contact, .rrom-footer) { padding-inline: 24px !important; }
  body.home .rrom-contact-grid { grid-template-columns: minmax(0, 1fr); gap: 28px !important; }
  body.home .rrom-contact h2 { font-size: clamp(34px, 6vw, 46px) !important; }
}
@media (max-width: 420px) {
  .rrom-front-main :is(.rrom-mission-shell, .rrom-areas, .rrom-feature-shell, .rrom-memory, .rrom-news),
  body.home :is(.rrom-contact, .rrom-footer) { padding-inline: 18px !important; }
  .rrom-front-main .rrom-area-card { --rrom-card-media-height: calc((100vw - 38px) * .75); }
  .rrom-front-main .rrom-mission { padding: 28px 24px !important; }
  .rrom-front-main .rrom-card-copy { padding-inline: 22px !important; }
  .rrom-front-main .rrom-feature { padding: 30px 24px !important; }
}
@media (max-width: 350px) {
  .rrom-front-main :is(.rrom-mission-shell, .rrom-areas, .rrom-feature-shell, .rrom-memory, .rrom-news),
  body.home :is(.rrom-contact, .rrom-footer) { padding-inline: 15px !important; }
  .rrom-front-main .rrom-area-card { --rrom-card-media-height: calc((100vw - 32px) * .75); }
  .rrom-front-main .rrom-mission { padding: 26px 22px !important; }
  .rrom-front-main .rrom-feature { padding: 28px 22px !important; }
  .rrom-front-main .rrom-feature-title { font-size: 43px !important; }
}
@media (prefers-reduced-motion: reduce), print {
  .rrom-front-main [data-rrom-motion] { animation: none !important; transform: none !important; }
  .rrom-front-main .rrom-text-link a,
  body.home .rrom-contact-copy a, body.home .rrom-socials a { transition: none !important; }
}
