/* V4 interiors: the same typography, palette, native blocks and photographs.
   Scope excludes the approved home and hero. No stored content changes. */
body.rrom-interior-refined {
  --rrom-interior-space: clamp(48px, 5vw, 76px);
  --rrom-interior-gap: clamp(28px, 4vw, 56px);
}
.rrom-interior-refined .rrom-page-heading {
  padding-block: 38px 48px !important;
  margin-bottom: 40px !important;
}
.rrom-interior-refined .rrom-breadcrumbs {
  margin-bottom: 22px !important;
  font-size: 12px !important;
}
.rrom-interior-refined .rrom-breadcrumbs a { min-height: 44px; align-items: center; }
.rrom-interior-refined .rrom-page-heading .rrom-eyebrow { margin-bottom: 14px; }
.rrom-interior-refined .rrom-page-heading h1 {
  max-width: 1240px;
  margin-inline: auto !important;
  font-size: clamp(42px, 4.9vw, 72px) !important;
  line-height: 1.06 !important;
  letter-spacing: -.055em !important;
  text-wrap: balance;
}
.rrom-interior-refined .rrom-page-heading .wp-block-post-date { font-size: 13px !important; }
.rrom-interior-refined .rrom-reading-shell { padding-bottom: var(--rrom-interior-space) !important; }
.rrom-interior-refined .rrom-reading {
  --wp--style--global--content-size: 800px;
  color: var(--rrom-ink);
}
.rrom-interior-refined .rrom-article-content { --wp--style--global--content-size: 740px; }
.rrom-interior-refined .rrom-reading :is(p, li) {
  font-size: 16px;
  line-height: 1.82;
}
.rrom-interior-refined .rrom-reading p + p { margin-top: 1.3em; }
.rrom-interior-refined .rrom-reading strong { font-weight: 650; }
.rrom-interior-refined .rrom-reading :is(h2, h3, h4) {
  font-family: var(--rrom-heading);
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -.025em;
  text-wrap: balance;
  scroll-margin-top: 30px;
}
.rrom-interior-refined .rrom-reading h2 {
  font-size: clamp(29px, 2.8vw, 40px) !important;
  margin-block: 44px 22px;
}
.rrom-interior-refined .rrom-reading h3 {
  font-size: clamp(25px, 2.2vw, 32px) !important;
  margin-block: 32px 18px;
}
.rrom-interior-refined .rrom-reading h4 { font-size: 25px !important; }
.rrom-interior-refined .rrom-reading :is(h2, h3, h4) :is(mark, .has-inline-color) {
  color: inherit !important;
  background-color: transparent !important;
}
.rrom-interior-refined .rrom-reading :is(h2, h3, h4) strong { font-weight: 400; }
.rrom-interior-refined .rrom-reading .wp-block-column > :is(h2, h3, h4):first-child,
.rrom-interior-refined .rrom-reading > h2:first-child {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}
.rrom-interior-refined .rrom-reading > .wp-block-group:first-child > h2:first-of-type {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}
.rrom-interior-refined .rrom-reading > .wp-block-group.alignfull {
  padding-inline: 0 !important;
  padding-block: 20px 40px !important;
}
.rrom-interior-refined .rrom-reading .wp-block-columns {
  gap: var(--rrom-interior-gap);
  margin-bottom: 0;
}
.rrom-interior-refined .rrom-reading .wp-block-spacer {
  height: clamp(12px, 1.5vw, 24px) !important;
}
.rrom-interior-refined .rrom-reading .wp-block-image { margin-block: 24px; }
.rrom-interior-refined .rrom-reading .wp-block-image img {
  height: auto !important;
  max-height: none;
  object-fit: contain;
}
.rrom-interior-refined .rrom-reading [class*="wp-duotone-"] img { filter: none !important; }
.rrom-interior-refined .rrom-reading figcaption {
  margin-top: 12px;
  color: var(--rrom-muted);
  font-size: 12px;
  line-height: 1.65;
}
.rrom-interior-refined .rrom-article-content p > img {
  display: block;
  max-width: 100%;
  height: auto !important;
  margin-block: 26px;
  border-radius: 9px;
}
.rrom-interior-refined .rrom-reading img.wp-image-219 {
  width: 100%;
  height: auto !important;
  max-height: none;
  border-radius: 0;
  object-fit: contain;
}
.rrom-interior-refined .rrom-reading a {
  text-decoration-thickness: 1px;
  transition: color 180ms ease;
}
.rrom-interior-refined .rrom-reading a:is(:hover, :focus-visible) { color: var(--rrom-green); }

/* Preserve all eight project links and their existing destinations. */
.rrom-interior-refined .rrom-reading h3.has-background {
  padding: 22px 26px;
  color: var(--rrom-green) !important;
  background: var(--rrom-sage) !important;
  border-radius: 9px;
  margin-block: 32px 0;
}
.rrom-interior-refined .rrom-reading .wp-block-columns:has(.is-service-name) {
  align-items: start;
  gap: var(--rrom-interior-gap);
  padding-block: 32px;
  border-bottom: 1px solid var(--rrom-line);
}
.rrom-interior-refined .rrom-reading .wp-block-columns:has(.is-service-name) > .wp-block-column,
.rrom-interior-refined .rrom-reading .wp-block-columns:has(.is-service-name) .wp-block-group {
  padding-block: 0 !important;
}
.rrom-interior-refined .rrom-reading .is-service-name { margin: 0; color: var(--rrom-deep); }
.rrom-interior-refined .rrom-reading .wp-block-columns:has(.is-service-name) .wp-block-group { border-bottom: 0 !important; }
.rrom-interior-refined .rrom-reading .is-service-description { margin: 0; }
.rrom-interior-refined .rrom-reading .is-service-link { margin-block: 12px 0; color: var(--rrom-blue); }
.rrom-interior-refined .rrom-reading .is-service-link a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-size: 13px;
  font-weight: 600;
}

/* Institute banner: retain the original scene and words, with a readable note
   at the foot of the photograph rather than over people's faces. */
.rrom-interior-refined .rrom-reading > .wp-block-cover {
  min-height: clamp(360px, 40vw, 540px) !important;
  border-radius: 12px;
  overflow: hidden;
  padding: 28px !important;
  align-items: end;
}
.rrom-interior-refined .rrom-reading > .wp-block-cover > img { object-position: 50% 42%; }
.rrom-interior-refined .rrom-reading > .wp-block-cover > .wp-block-cover__background { opacity: .12; }
.rrom-interior-refined .rrom-reading > .wp-block-cover .wp-block-paragraph {
  margin: 0;
  text-align: start;
  font-family: var(--rrom-heading);
  font-size: clamp(22px, 2.4vw, 30px) !important;
  line-height: 1.25;
}
.rrom-interior-refined .rrom-reading > .wp-block-cover mark {
  display: inline-block;
  max-width: 35ch;
  padding: 16px 20px;
  color: var(--rrom-ink) !important;
  background: var(--rrom-paper) !important;
  border-left: 3px solid var(--rrom-green);
  border-radius: 0 6px 6px 0;
}
.rrom-interior-refined .rrom-reading > .wp-block-cover mark strong { font-weight: 400; }

/* Blog uses the home news rhythm and native Query Loops, including pagination. */
.rrom-interior-refined .rrom-blog-shell { padding-block: 38px var(--rrom-interior-space) !important; }
.rrom-interior-refined .rrom-blog-shell > * { margin-inline: auto !important; }
.rrom-interior-refined .rrom-blog-title {
  max-width: 1240px;
  margin-bottom: 38px !important;
  font-size: clamp(42px, 4.9vw, 72px) !important;
  line-height: 1.06;
  text-wrap: balance;
}
.rrom-interior-refined .rrom-blog-feature-query { margin-bottom: 52px !important; }
.rrom-interior-refined .rrom-blog-feature-copy {
  padding: clamp(26px, 3vw, 42px) !important;
}
.rrom-interior-refined .rrom-blog-feature-copy .wp-block-post-title { font-size: clamp(30px, 3vw, 44px) !important; }
.rrom-interior-refined .rrom-blog-feature-copy .wp-block-post-excerpt p { font-size: 15px; line-height: 1.82; }
.rrom-interior-refined .rrom-blog-feature-copy .rrom-read-more {
  display: flex;
  width: 100%;
  min-height: 50px;
  padding-top: 18px;
  border-top: 1px solid #bdcbb6;
  font-size: 13px !important;
}
.rrom-interior-refined .rrom-blog-list .wp-block-post-featured-image a { aspect-ratio: 3 / 2; }
.rrom-interior-refined .rrom-blog-list .wp-block-post-featured-image img { height: 100% !important; aspect-ratio: auto !important; }
.rrom-interior-refined .rrom-blog-list .wp-block-post-title { font-size: clamp(26px, 2.1vw, 32px) !important; }
.rrom-interior-refined .rrom-blog-list .wp-block-post-excerpt p { font-size: 14px; line-height: 1.8; }
.rrom-interior-refined .rrom-blog-list .rrom-read-more { width: 100%; min-height: 52px; font-size: 13px !important; }
.rrom-interior-refined .rrom-blog-feature .wp-block-post-title a,
.rrom-interior-refined .rrom-blog-list .wp-block-post-title a { transition: color 180ms ease; }
.rrom-interior-refined :is(.rrom-blog-feature, .rrom-blog-list > .wp-block-post):is(:hover, :focus-within) .wp-block-post-title a {
  color: var(--rrom-green) !important;
}
.rrom-interior-refined .wp-block-query-pagination a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 8px 12px;
}
.rrom-interior-refined .rrom-reading-shell > p:last-child a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}

/* The same contact finish as the approved home, scoped to interior pages. */
.rrom-interior-refined .rrom-contact { padding-block: var(--rrom-interior-space) !important; }
.rrom-interior-refined .rrom-contact-grid { gap: var(--rrom-interior-gap) !important; }
.rrom-interior-refined .rrom-contact-intro { font-size: 15px !important; line-height: 1.82 !important; }
.rrom-interior-refined .rrom-contact-copy a:is([href^="mailto:"], [href^="tel:"]) {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-size: 15px;
}
.rrom-interior-refined .rrom-contact-copy a:is(:hover, :focus-visible) { color: var(--rrom-deep) !important; text-decoration: underline; }
.rrom-interior-refined .rrom-footer-brand-name { font-size: 13px !important; }
.rrom-interior-refined .rrom-socials a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-size: 12px;
}
.rrom-interior-refined .rrom-socials a:is(:hover, :focus-visible) { color: #dcebcf !important; text-decoration: underline !important; }
@media (prefers-reduced-motion: no-preference) {
  .rrom-interior-refined :is(.rrom-page-heading h1, .rrom-blog-title) { animation: rrom-interior-title-enter 420ms ease-out both; }
  body.rrom-interior-refined [data-rrom-motion="entering"] { animation-duration: 460ms; }
  @keyframes rrom-interior-title-enter {
    from { opacity: .94; transform: translateY(6px); }
    to { opacity: 1; transform: none; }
  }
}
@media (max-width: 950px) {
  .rrom-interior-refined .rrom-reading .wp-block-columns:has(.is-service-name) { flex-direction: column; gap: 18px; }
  .rrom-interior-refined .rrom-reading .wp-block-columns:has(.is-service-name) > .wp-block-column { width: 100%; }
}
@media (max-width: 781px) {
  .rrom-interior-refined :is(.rrom-page-heading, .rrom-reading-shell, .rrom-blog-shell, .rrom-contact, .rrom-footer, .rrom-comments-shell) { padding-inline: 24px !important; }
  .rrom-interior-refined .rrom-page-heading { padding-block: 24px 32px !important; margin-bottom: 32px !important; }
  .rrom-interior-refined :is(.rrom-page-heading h1, .rrom-blog-title) { font-size: clamp(34px, 7vw, 48px) !important; }
  .rrom-interior-refined .rrom-reading .has-text-align-justify { text-align: start; }
  .rrom-interior-refined .rrom-reading :is(p, li) { font-size: 16px !important; line-height: 1.8 !important; }
  .rrom-interior-refined .rrom-reading > .wp-block-group.alignfull { padding-block: 8px 28px !important; }
  .rrom-interior-refined .rrom-reading .wp-block-columns { gap: 26px; }
  .rrom-interior-refined .rrom-reading h3.has-background { padding: 22px; }
  .rrom-interior-refined .rrom-reading > .wp-block-cover { min-height: 0 !important; aspect-ratio: 4 / 3; padding: 18px !important; }
  .rrom-interior-refined .rrom-reading > .wp-block-cover mark { padding: 12px 14px; }
  .rrom-interior-refined .rrom-reading > .wp-block-cover .wp-block-paragraph { font-size: 22px !important; line-height: 1.25 !important; }
  .rrom-interior-refined .rrom-blog-feature-copy { padding: 26px !important; }
  .rrom-interior-refined .rrom-blog-feature-image img { min-height: 0 !important; height: auto !important; aspect-ratio: 3 / 2 !important; }
  .rrom-interior-refined .rrom-blog-list .wp-block-post-excerpt p { font-size: 15px; }
  .rrom-interior-refined .rrom-contact-grid { grid-template-columns: minmax(0,1fr); gap: 28px !important; }
}
@media (max-width: 420px) {
  .rrom-interior-refined :is(.rrom-page-heading, .rrom-reading-shell, .rrom-blog-shell, .rrom-contact, .rrom-footer, .rrom-comments-shell) { padding-inline: 18px !important; }
  .rrom-interior-refined .rrom-blog-feature-copy { padding: 24px !important; }
}
@media (max-width: 350px) {
  .rrom-interior-refined :is(.rrom-page-heading, .rrom-reading-shell, .rrom-blog-shell, .rrom-contact, .rrom-footer, .rrom-comments-shell) { padding-inline: 15px !important; }
  .rrom-interior-refined .rrom-reading h3.has-background { padding: 20px; }
  .rrom-interior-refined .rrom-blog-feature-copy { padding: 22px !important; }
}
@media (prefers-reduced-motion: reduce), print {
  .rrom-interior-refined :is(.rrom-page-heading h1, .rrom-blog-title, [data-rrom-motion]) { animation: none !important; transform: none !important; }
  .rrom-interior-refined :is(.rrom-reading a, .rrom-blog-feature .wp-block-post-title a, .rrom-blog-list .wp-block-post-title a) { transition: none !important; }
}
