.rrc-services-page{max-width:1140px!important;margin:0 auto;padding:56px 0 72px}.rrc-services-page>h1{margin-bottom:44px}.rrc-service-section{border-top:1px solid #c8c2b7;padding:36px 0;margin:0!important}.rrc-service-preview{display:grid!important;grid-template-columns:1fr 1fr;gap:48px;align-items:center;margin:0!important}.rrc-service-preview>.wp-block-column{min-width:0}.rrc-service-cover{margin:0!important}.rrc-service-cover img{display:block;width:100%;height:320px;object-fit:cover}.rrc-service-preview h2{font-size:clamp(30px,3.2vw,48px);line-height:1.08;text-align:left!important}.rrc-service-preview p{font-size:17px;line-height:1.65;text-align:left!important}.rrc-service-preview>.wp-block-column>p:first-child{font-weight:800;color:#615d55;font-size:13px;letter-spacing:.14em}.rrc-service-details{margin:24px 0 0!important;border:1px solid #252525;padding:0!important}.rrc-service-details summary{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;background:#ffc400;color:#111;font-size:14px;font-weight:800;letter-spacing:.045em;text-transform:uppercase;cursor:pointer;list-style:none}.rrc-service-details summary::-webkit-details-marker{display:none}.rrc-service-details summary::after{content:'+';font-size:26px;line-height:1}.rrc-service-details[open] summary::after{content:'−'}.rrc-service-details summary:focus-visible{outline:3px solid #111;outline-offset:4px}.rrc-service-details>p{padding:0 24px;text-align:left!important;line-height:1.65}.rrc-service-gallery{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:12px 24px 24px}.rrc-service-gallery>.wp-block-group__inner-container{display:contents}.rrc-service-gallery figure{margin:0!important;max-width:none!important;width:100%}.rrc-service-gallery a{display:block;width:100%}.rrc-service-gallery img{display:block;width:100%;height:290px;object-fit:cover;cursor:zoom-in}.rrc-service-gallery figure:only-child{grid-column:1/-1}.rrc-service-gallery figure:only-child img{height:auto;max-height:650px;object-fit:contain}.rrc-service-modal{background:#101010;color:#fff;border:0;padding:24px;max-width:94vw;max-height:94vh;width:1100px}.rrc-service-modal::backdrop{background:rgba(0,0,0,.92)}.rrc-service-modal .rrc-viewer-row{display:grid;grid-template-columns:50px minmax(0,1fr) 50px;gap:12px;align-items:center}.rrc-service-modal img{display:block;max-width:100%;height:75vh;object-fit:contain;margin:auto}.rrc-service-modal button{background:#ffc400;color:#111;border:0;padding:12px;font-size:22px;cursor:pointer}.rrc-service-modal .rrc-viewer-close{display:block;margin:0 0 12px auto;font-size:15px}.rrc-service-modal .rrc-viewer-caption{text-align:center;margin:12px 0 0;font-size:13px}.page-id-23 .site-main>.wp-block-group:first-child{background-color:#ffc400!important;color:#111!important}.page-id-23 .site-main>.wp-block-group:first-child a:not(.wp-block-button__link){color:#111}.page-id-23 .site-main>.wp-block-group:first-child .wp-block-button__link{background:#111;color:#fff}@media(max-width:767px){.rrc-services-page{padding:32px 0 42px}.rrc-service-preview{grid-template-columns:1fr;gap:22px}.rrc-service-cover img{height:260px}.rrc-service-gallery{grid-template-columns:1fr;padding:12px}.rrc-service-gallery img{height:auto;max-height:520px;object-fit:contain}.rrc-service-details summary{padding:16px;font-size:12px}.rrc-service-modal{padding:10px}.rrc-service-modal .rrc-viewer-row{grid-template-columns:34px minmax(0,1fr) 34px;gap:4px}.rrc-service-modal img{height:65vh}.rrc-service-modal button{padding:8px}.rrc-service-preview h2{font-size:34px}}

/* Keep navigation visible above page content on desktop and mobile. */
body #rrc-site-header.rrc-header{position:fixed!important;top:0!important;left:0;right:0;width:100%;z-index:1000!important;background:rgba(13,13,13,.97)!important;box-shadow:0 2px 16px rgba(0,0,0,.15);}
html{scroll-padding-top:104px;}
body.admin-bar #rrc-site-header{top:32px!important;}
@media(max-width:800px){html{scroll-padding-top:92px;}}
@media(min-width:601px) and (max-width:782px){body.admin-bar #rrc-site-header{top:46px!important;}}
@media(max-width:600px){body.admin-bar #rrc-site-header{top:0!important;}}

/* Homepage closing gallery: equal columns, aligned tops and consistent crops. */
body.home .rrc-project-gallery__grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;}
body.home .rrc-project-gallery__grid figure{width:100%;height:480px!important;margin-top:0!important;min-width:0;}
body.home .rrc-project-gallery__grid figure img{display:block;width:100%;height:100%!important;object-fit:cover;}
@media(max-width:800px){body.home .rrc-project-gallery__grid{grid-template-columns:1fr;}body.home .rrc-project-gallery__grid figure{height:420px!important;}}

/* Larger navigation labels without changing the fixed header geometry. */
@media(min-width:801px){body #rrc-site-header .rrc-nav a,body #rrc-site-header .rrc-quote-link{font-size:14px!important;}}
@media(max-width:800px){body #rrc-site-header .rrc-nav a{font-size:16px!important;}body #rrc-site-header .rrc-quote-link{font-size:12px!important;}}

/* Homepage capabilities: complete supplied lists in four responsive columns. */
body.home .rrc-capability-list{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px!important;align-items:start!important;}
body.home .rrc-capability-list>.wp-block-column{min-width:0;padding-right:16px;}
body.home .rrc-capability-list h3{font-size:clamp(23px,2.1vw,30px);line-height:1.1;}
body.home .rrc-arrow-list{list-style:none;margin:18px 0 0;padding:0;text-align:left;}
body.home .rrc-arrow-list li{position:relative;padding-left:22px;margin:0 0 12px;font-size:15px;line-height:1.5;}
body.home .rrc-arrow-list li::before{content:'➔';position:absolute;left:0;top:0;color:#806500;}
@media(max-width:1000px){body.home .rrc-capability-list{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:600px){body.home .rrc-capability-list{grid-template-columns:1fr;}body.home .rrc-capability-list>.wp-block-column{padding:24px 0!important;border-right:0!important;}}

/* Show the native Railway photo instead of the legacy CSS background. */
body.home .rrc-capabilities .rrc-field-image{background-image:none!important;}
body.home .rrc-capabilities .rrc-field-image .wp-block-cover__image-background{opacity:1!important;}
/* Supplied Culture photographs, immediately before Railway Construction. */
body.home .rrc-culture-photos{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px!important;margin-top:40px!important;}
body.home .rrc-culture-photos>.wp-block-column{padding:0!important;border:0!important;min-width:0;}
body.home .rrc-culture-photos figure{margin:0!important;width:100%;}
body.home .rrc-culture-photos img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;}
@media(max-width:700px){body.home .rrc-culture-photos{grid-template-columns:1fr;}}

/* Native section 04 photos override obsolete theme background imagery. */
body.home .rrc-feature .wp-block-cover{background-image:none!important;}
body.home .rrc-feature .wp-block-cover__image-background{opacity:1!important;}
body.home .rrc-earthworks-photos{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px!important;margin-top:32px!important;}
body.home .rrc-earthworks-photos>.wp-block-column{padding:0!important;border:0!important;min-width:0;}
body.home .rrc-earthworks-photos figure{margin:0!important;width:100%;}
body.home .rrc-earthworks-photos img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;}
body.home .rrc-feature .rrc-tags{text-transform:none;line-height:1.8;}
body.home .rrc-standards .wp-block-column p:not(.rrc-number){text-transform:none;line-height:1.6;}
@media(max-width:700px){body.home .rrc-earthworks-photos{grid-template-columns:1fr;}}

/* Supplied safety logos beneath the homepage conversation button. */
body.home .rrc-contact-safety-logos{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin-top:32px!important;}
body.home .rrc-contact-safety-logos>.wp-block-group__inner-container{display:contents;}
body.home .rrc-contact-safety-logos figure{margin:0!important;width:170px;height:150px;background:#fff;padding:10px;display:flex;align-items:center;justify-content:center;}
body.home .rrc-contact-safety-logos figure:last-child{width:250px;}
body.home .rrc-contact-safety-logos img{display:block;max-width:100%;width:auto;height:auto;max-height:130px;object-fit:contain;}
@media(max-width:600px){body.home .rrc-contact-safety-logos{gap:12px;}body.home .rrc-contact-safety-logos figure{width:calc(50% - 6px);height:145px;}body.home .rrc-contact-safety-logos figure:last-child{width:100%;}}

/* Black, individually listed homepage earthworks services. */
body.home .rrc-feature ul.rrc-earthworks-service-lines{color:#000!important;list-style:none;margin:24px 0;padding:0;text-transform:none;}
body.home .rrc-feature ul.rrc-earthworks-service-lines li{display:list-item;color:#000!important;font-size:15px;line-height:1.6;margin:0 0 6px;padding:0;}

/* Display the supplied native homepage hero image, not the legacy background. */
body.home .rrc-hero{background-image:none!important;}
body.home .rrc-hero .wp-block-cover__image-background{opacity:1!important;}

/* Prevent legacy CSS content from substituting the old hero photograph. */
body.home .rrc-hero > img.wp-block-cover__image-background{content:normal!important;}

/* Keep the first hero headline on one responsive line. */
body.home .rrc-hero h1 .rrc-hero-single-line{display:inline-block;white-space:nowrap;font-size:min(1em,7.5vw,72px);letter-spacing:-.02em;}

/* Three distinct hero headline lines with breathing room. */
body.home .rrc-hero h1 .rrc-hero-single-line{display:block;line-height:1.05;}
body.home .rrc-hero h1 em.rrc-hero-phrase{display:block;white-space:nowrap;font-size:min(1em,8.8vw,72px);line-height:1.05;margin-top:clamp(22px,2.4vw,34px);letter-spacing:-.02em;}

/* Readable project descriptions beneath enlarged photos. */
body #rrc-lightbox figure{display:flex;flex-direction:column;align-items:center;width:min(1100px,calc(100vw - 112px));max-height:90vh;max-height:90dvh;margin:0;}
body #rrc-lightbox figure img{flex:0 1 auto;min-height:0;max-height:62vh;max-height:62dvh;width:auto;max-width:100%;object-fit:contain;}
body #rrc-lightbox figcaption{flex:0 0 auto;box-sizing:border-box;width:100%;white-space:pre-line;text-align:left;font-size:16px;line-height:1.5;max-height:24vh;max-height:24dvh;overflow-y:auto;overscroll-behavior:contain;padding:12px 8px;margin-top:8px;color:#fff;}
@media(max-width:600px){body #rrc-lightbox figure{width:calc(100vw - 76px);}body #rrc-lightbox figure img{max-height:56vh;max-height:56dvh;}body #rrc-lightbox figcaption{font-size:14px;max-height:27vh;max-height:27dvh;padding:10px 4px;}}

body #rrc-lightbox figcaption{text-transform:none;letter-spacing:normal;font-weight:400;}

/* Homepage labels, readable call-to-actions and shared footer. */
body.home .rrc-eyebrow.rrc-label-black{color:#000!important;}
body .wp-block-button__link,body .wp-element-button,body .rrc-form button[type="submit"],body input[type="submit"]{font-size:18px!important;line-height:1.3!important;white-space:normal;max-width:100%;box-sizing:border-box;text-align:center;}
body.home .rrc-standards .wp-block-column>p:not(.rrc-number){font-size:24px!important;line-height:1.45;}
body.home .rrc-standards .rrc-number{font-size:40px!important;line-height:1.15;}
body .rrc-footer__inner{display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center;}
body .rrc-footer__nav{display:flex;flex-wrap:wrap;justify-content:center;gap:16px 28px;}
body .rrc-footer__nav a{font-size:16px;color:inherit;text-decoration:none;}
body .rrc-footer__nav a:hover,body .rrc-footer__credit a:hover{text-decoration:underline;}
body .rrc-footer__legal{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 28px;font-size:14px;line-height:1.6;}
body .rrc-footer__credit a{color:inherit;text-decoration:underline;text-underline-offset:3px;}
@media(max-width:600px){body.home .rrc-standards .wp-block-column>p:not(.rrc-number){font-size:21px!important;}body.home .rrc-standards .rrc-number{font-size:34px!important;}}

html body.home .rrc-hero .wp-block-buttons .wp-block-button .wp-block-button__link,html body button[type="submit"][type="submit"][type="submit"],html body #rrc-site-header.rrc-header a.rrc-quote-link{font-size:18px!important;line-height:1.3!important;}
body .rrc-footer__legal,body .rrc-footer__legal a{text-transform:none;letter-spacing:normal;}

html body.home .rrc-hero .wp-block-buttons .wp-block-button .wp-block-button__link{color:#000!important;}
body.home .rrc-rail-proof__welcome{display:inline-block;font-size:clamp(24px,2.8vw,38px);line-height:1.25;margin-bottom:12px;}

.rrc-project-portfolio h1#rrc-project-portfolio-title{margin:0 0 25px;color:#0d0d0d;font-family:"Barlow Condensed",Arial,sans-serif;font-size:clamp(58px,7vw,104px);letter-spacing:-.045em;line-height:.82;}
.rrc-project-portfolio h1#rrc-project-portfolio-title em{color:#b49300;font-style:normal;}

/* Services title aligned with the other page headline sizes. */
body.page-id-20 .rrc-services-page h1.wp-block-heading{font-size:clamp(44px,5.35vw,92px)!important;line-height:1.08;letter-spacing:-.035em;margin-bottom:36px;}

/* Road & Civil: use the existing sunflower theme token only here. */
body.home .rrc-standards h2 em,
body.home .rrc-standards .rrc-number{color:var(--rrc-clay)!important;}

/* Homepage contact callout: black/white/sunflower, original badge pixels. */
body.home .rrc-quote{background:#000!important;color:#fff!important;}
body.home .rrc-quote h2,body.home .rrc-quote p{color:#fff!important;}
body.home .rrc-quote h2 em,body.home .rrc-quote .rrc-eyebrow,body.home .rrc-quote a{color:var(--rrc-clay)!important;}
body.home .rrc-quote .wp-block-button__link{background:var(--rrc-clay)!important;color:#000!important;border-color:var(--rrc-clay)!important;}
body.home .rrc-quote .wp-block-button__link:hover,body.home .rrc-quote .wp-block-button__link:focus-visible{background:#fff!important;color:#000!important;border-color:#fff!important;}
body.home .rrc-quote .rrc-contact-safety-logos{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;max-width:1100px;}
body.home .rrc-quote .rrc-contact-safety-logos figure,body.home .rrc-quote .rrc-contact-safety-logos figure:last-child{width:100%!important;height:150px;background:#fff;}
body.home .rrc-quote .rrc-contact-safety-logos img{width:auto;height:auto;max-width:100%;max-height:130px;object-fit:contain;filter:none;}
@media(max-width:700px){body.home .rrc-quote .rrc-contact-safety-logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}}

/* About: preserve enlarged desktop pair; stack all photos on mobile. */
@media(max-width:600px){body.home .rrc-about-photo-pair{grid-template-columns:1fr!important;max-width:420px;margin-inline:auto;} }

/* About RRC: three equal photo columns, preserving source order. */
body.page-id-13 #primary .rrc-about .rrc-about-photo-pair{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important;width:100%;max-width:none;align-items:start;}
body.page-id-13 #primary .rrc-about .rrc-about-photo-pair>img{display:block;width:100%!important;height:auto!important;aspect-ratio:3/4;object-fit:cover!important;object-position:center;min-width:0;}
@media(max-width:700px){body.page-id-13 #primary .rrc-about .rrc-about-photo-pair{grid-template-columns:1fr!important;max-width:420px;margin-inline:auto;}}

/* Main earthmoving photo: keep excavator and curving track in frame. */
body.page-id-13 #primary .rrc-feature .wp-block-cover{min-height:0!important;aspect-ratio:16/9!important;}
body.page-id-13 #primary .rrc-feature .wp-block-cover__image-background{object-fit:cover!important;object-position:center!important;}

/* Desktop only: align main photo with the earthmoving heading. */
@media(min-width:801px){body.page-id-13 #primary .rrc-feature .wp-block-cover{margin-top:73.8px!important;}}

/* Culture: balanced text-left / photograph-right layout. */
.rrc-intro .rrc-culture-balanced { align-items: flex-start; }
.rrc-intro .rrc-culture-balanced > .wp-block-column { min-width: 0; }
.rrc-intro .rrc-culture-balanced > .wp-block-column:last-child { align-self: flex-start; }
.rrc-intro .rrc-culture-balanced .rrc-culture-added-photo { width: 100%; max-width: 100% !important; }
@media (max-width: 781px) {
  .rrc-intro .rrc-culture-balanced .rrc-culture-added-photo { max-width: 100% !important; }
}

/* Requested 15% increase from the balanced 485.203125px desktop photo. */
@media (min-width: 782px) {
  .rrc-intro .rrc-culture-balanced { gap: clamp(24px, 3.945366753472vw, 56.813281250000px); }
  .rrc-intro .rrc-culture-balanced > .wp-block-column:last-child { flex: 0 0 50.725781250000% !important; }
}
