/* Bounded layout/accessibility repair. No gallery or image overrides. */
/* Keep navigation at the top of the document, never over scrolled page copy. */
body #rrc-site-header.rrc-header { position: absolute !important; }
body.home .site-main > .rrc-rail-proof,
body.page-id-13 .site-main > .rrc-rail-proof {
  background: #000 !important;
  color: #fff !important;
}
body .rrc-rail-proof::before { display: none; }
body .rrc-rail-proof p, body .rrc-rail-proof span { color: #fff !important; }
body .rrc-rail-proof .rrc-eyebrow,
body .rrc-rail-proof__grid strong { color: #ffc400 !important; }
.rrc-rail-proof__intro { max-width: 780px; margin: 0 0 36px; line-height: 1.7; }
.rrc-rail-proof__grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.rrc-rail-proof__grid > div { min-width: 0; gap: 24px; }
body .rrc-rail-proof__grid strong { font-size: clamp(48px,6vw,90px); line-height: 1; overflow-wrap: normal; }
.rrc-rail-proof__statement > * { min-width: 0; }
body .rrc-rail-proof__statement strong { line-height: .98; }
body.page-id-13 .rrc-hero { height: auto !important; }
body.page-id-13 .rrc-hero .wp-block-cover__inner-container {
  width: 100% !important; max-width: min(100%,49rem) !important; min-width: 0;
}
body.page-id-13 .rrc-hero .wp-block-cover__inner-container > * { max-width: 100% !important; }
.wp-block-column { min-width: 0; }
.wp-block-buttons { flex-wrap: wrap !important; gap: 14px; }
body .wp-block-button__link { min-height: 48px; height: auto; max-width: 100%; line-height: 1.4 !important; }
body .rrc-quote .wp-block-button__link { background: #0d0d0d !important; color: #fff !important; border: 1px solid #0d0d0d !important; }
body .rrc-hero .rrc-secondary .wp-block-button__link { background: transparent !important; color: #fff !important; border: 1px solid #fff !important; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible { outline: 3px solid #ffc400; outline-offset: 4px; }
#request-a-quote { scroll-margin-top: 104px; }
.rrc-contact-panel__body { min-width: 0; }
.rrc-contact-form label { min-width: 0; }
@media (max-width: 800px) {
  body.page-id-13 .rrc-hero { min-height: 680px !important; padding: 112px 20px 56px !important; }
  body.page-id-13 .rrc-hero h1 { overflow-wrap: normal; font-size: clamp(48px,14vw,76px) !important; line-height: .96 !important; }
  body.page-id-13 .site-main > .wp-block-group.rrc-section { padding: 72px 20px !important; }
  body.page-id-13 .site-main > .rrc-rail-proof { padding: 64px 20px !important; }
  .rrc-rail-proof__grid { grid-template-columns: 1fr; }
  .rrc-rail-proof__grid > div { min-height: 145px; padding: 24px; gap: 20px; }
  .rrc-rail-proof__statement { grid-template-columns: 1fr; gap: 24px; }
  body .rrc-rail-proof__statement strong { font-size: clamp(42px,12vw,58px); }
  .rrc-railway-banner strong { white-space: normal; line-height: 1; }
  .rrc-nav.is-open { max-height: calc(100dvh - 76px); overflow-y: auto; }
  #request-a-quote { scroll-margin-top: 88px; }
}
@media (max-width: 360px) {
  .rrc-header__inner { padding-left: 16px; padding-right: 16px; }
  .rrc-brand img { width: 76px !important; }
  .rrc-menu-toggle { margin-right: 4px; flex-shrink: 0; }
}
/* ID-scoped overrides beat legacy positional selectors without changing native content. */
#primary.site-main > .rrc-rail-proof { background: #000 !important; color: #fff !important; }
#primary .rrc-hero .wp-block-cover__inner-container { width: 100% !important; max-width: min(100%,49rem) !important; }
#primary .rrc-hero .wp-block-cover__inner-container > * { max-width: 100% !important; }
#primary .rrc-quote .wp-block-button__link { background: #0d0d0d !important; color: #fff !important; }
#primary .rrc-hero .rrc-secondary .wp-block-button__link { background: transparent !important; color: #fff !important; }
@media (max-width:800px) {
  #primary .rrc-hero .wp-block-cover__inner-container { width: calc(100vw - 40px) !important; max-width: calc(100vw - 40px) !important; }
  #primary.site-main > .wp-block-group.rrc-section { padding:72px 20px !important; }
  #primary.site-main > .rrc-rail-proof { padding:64px 20px !important; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Desktop hero: keep content in normal flow below the header; mobile unchanged. */
@media (min-width: 801px) {
  body.page-id-13 #primary .rrc-hero {
    height: auto !important;
    min-height: min(960px, 100vh) !important;
    padding: 132px clamp(20px,5vw,92px) 72px !important;
    align-items: center !important;
    justify-content: flex-start !important;
  }
  body.page-id-13 #primary .rrc-hero .wp-block-cover__inner-container {
    position: relative !important;
    inset: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body.page-id-13 #primary .rrc-hero h1 {
    font-size: clamp(64px,7.2vw,104px) !important;
    line-height: .96 !important;
  }
}

/* Scoped homepage About photo enlargement: retain uncropped 3:4 images. */
@media (min-width:801px) {
 body.page-id-13 #primary .rrc-about .wp-block-columns { display:grid !important; grid-template-columns:minmax(0,2fr) minmax(0,1fr); gap:32px; }
}
@media (max-width:800px) {
 body.page-id-13 #primary .rrc-about .rrc-about-photo-pair { grid-template-columns:minmax(0,1fr) !important; gap:16px !important; }
}
