/* RJL enterprise additions. Scoped selectors preserve the existing site theme. */
.rjl-evidence-section,.rjl-split-row,.rjl-hardware-section,.rjl-copy-section,
.rjl-tldr,.rjl-project-status,.rjl-feature-image{max-width:1280px;margin:0 auto;padding:clamp(24px,4vw,56px) clamp(20px,5vw,64px);box-sizing:border-box}
.rjl-evidence-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:20px}
.rjl-evidence-card{padding:26px;background:#fff;border:1px solid #dce1e6;border-top:4px solid #f26a21;border-radius:8px;color:#18232e}
.rjl-evidence-card h3{font-size:1.35rem;line-height:1.3;margin:8px 0 12px;color:#17222d}
.rjl-evidence-card p{line-height:1.6;margin:10px 0}.rjl-project-location{font-weight:600}
.rjl-evidence-card a,.rjl-copy-section a,.rjl-split-row a{color:#c2410c;font-weight:650;text-decoration:underline;text-underline-offset:3px}
.rjl-split-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,64px);align-items:center}
.rjl-split-row>*,.rjl-system-visual{min-width:0}
.rjl-split-row h2,.rjl-hardware-section h2,.rjl-copy-section h2,.rjl-tldr h2,.rjl-project-status h2{font-size:clamp(1.6rem,2.5vw,2.5rem);line-height:1.2;margin:0 0 20px;color:#17222d}
.rjl-split-row h3,.rjl-hardware-section h3{font-size:1.2rem;margin:22px 0 12px;color:#17222d}
.rjl-split-row p,.rjl-split-row li,.rjl-hardware-section p,.rjl-hardware-section li,.rjl-copy-section p,.rjl-copy-section li,.rjl-tldr li,.rjl-project-status p{font-size:1rem;line-height:1.75;color:#334452}
.rjl-split-row ul,.rjl-hardware-section ul,.rjl-tldr ul{padding-left:1.25rem;margin:16px 0}
.rjl-split-row li,.rjl-hardware-section li,.rjl-tldr li{margin:10px 0}
.rjl-split-row .rjl-feature-image{padding:0;margin:0}
.rjl-feature-image img{display:block;width:100%;height:auto;max-height:540px;object-fit:contain;border-radius:8px;background:#eef1f4}
.rjl-feature-image figcaption,.rjl-system-visual figcaption{font-size:.85rem;line-height:1.6;color:#465a6b;margin-top:12px}
.rjl-system-visual{margin:0;padding:clamp(20px,3vw,36px);background:#18232e;border-radius:10px}
.rjl-system-tile{padding:20px;background:#263747;border-left:3px solid #f26a21;border-radius:5px;margin:12px 0}
.rjl-system-tile strong{display:block;color:#fff;font-size:1.1rem;margin-bottom:8px}
.rjl-system-tile span{color:#dae2e9;font-size:.95rem;line-height:1.5}
.rjl-system-visual figcaption{color:#dae2e9}
.rjl-tldr{background:#f3f5f7;border-bottom:1px solid #dce1e6}
.rjl-tldr ul{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 36px}
.rjl-article-body{max-width:1080px;margin:0 auto}.rjl-article-body .rjl-copy-section{padding-top:24px;padding-bottom:24px}
.rjl-project-status{background:#f3f5f7;border-left:4px solid #f26a21;margin-top:24px}
.rjl-project-status h2{font-size:1.35rem}.rjl-project-status p{margin-bottom:0}
.rjl-related-links{padding-left:1.25rem;display:grid;gap:12px;overflow-wrap:anywhere}
.rjl-enterprise-faq details{margin-bottom:12px}.rjl-enterprise-faq summary{cursor:pointer;font-weight:650;line-height:1.5}
.rjl-enterprise-faq details>p{line-height:1.75}
.rjl-footer-locations{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:7px 10px;padding-top:22px;margin-top:24px;border-top:1px solid #b8c4cc;font-size:12px;line-height:1.6;grid-column:1/-1;width:100%;box-sizing:border-box}
.rjl-footer-locations a{white-space:nowrap;color:#334452;text-decoration:none}.rjl-footer-locations a:hover,.rjl-footer-locations a:focus-visible{text-decoration:underline;color:#17222d}
.rjl-footer-locations span{color:#637685}
.rjl-checkout-wrapper{max-width:1000px;margin:0 auto;padding:clamp(20px,4vw,48px);padding-top:150px;box-sizing:border-box}
.rjl-checkout-page .sticky-quote,.rjl-checkout-page .rjl-chat{display:none}
@media(min-width:1280px){.rjl-footer-locations{flex-wrap:nowrap;font-size:12px;gap:6px}}
@media(max-width:900px){.rjl-split-row{grid-template-columns:minmax(0,1fr)}.rjl-split-row-reverse>figure{order:2}.rjl-tldr ul{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.rjl-enterprise-faq *{scroll-behavior:auto}}

/* Colour-only refresh, matched to RJL Fencing: navy, warm paper, white and bright orange.
   Keep all dimensions, typography, images, visibility and interactions unchanged. */
:root{--ink-soft:#1556a3;--muted:#555d63;--steel-mist:#f2efe8;--steel-surface:#fbfaf6;--steel-line:#0d448229}
.industries,.design-showcase,.rapid-callout,.review-section,.selected-projects,
.warranty-coverage-section,.maintenance-plan-section,.maintenance-scope-section,
.solution-detail-section,.industry-guide-section,.faq-section,.industry-specialisms,
.portable-power-section,.fieldwork-archive,.project-photo-story,.related-posts,
.contact,.rjl-tldr,.rjl-project-status{background-color:var(--paper)!important}
.service-card,.service-area-card,.rapid-detail-grid article,.blog-article-aside,
.process-grid.light article,.process-grid article,.maintenance-visit-grid article,
.fencing-style-card,.portable-package,.project-copy,.home-job-card,
.rjl-evidence-card{background-color:#fff!important}
.service-area-card.is-active{background-color:var(--navy)!important}
.service-card,.service-area-card,.rjl-evidence-card{border-top-color:var(--orange-bright)!important}
.button-primary,.site-header .header-cta{background-color:var(--orange-bright)!important;border-color:var(--orange-bright)!important;color:var(--navy)!important}
.button-primary:hover,.button-primary:focus-visible,
.site-header .header-cta:hover,.site-header .header-cta:focus-visible{background-color:#fff!important;border-color:var(--navy)!important;color:var(--navy)!important}
.button-dark{color:#fff!important}
.button-dark:hover,.button-dark:focus-visible,
.contact-band .button-dark:hover,.contact-band .button-dark:focus-visible{background-color:var(--orange-bright)!important;border-color:var(--orange-bright)!important;color:var(--navy)!important}
.delivery-model{background-image:linear-gradient(135deg,var(--navy),var(--navy-light))!important}
.header-assurance-strip,.site-header,.site-header-corporate,footer{border-bottom-color:var(--orange-bright)!important;border-top-color:var(--orange-bright)!important}
.maintenance,.process-section,.home-review,.connect-ui,.design-gallery figure{background-color:var(--navy)!important;color:#fff!important}
.design-gallery figcaption{color:#dbe6f2!important}
.maintenance :is(h2,h3,p,li),.process-section :is(h2,h3),.home-review h2{color:#fff!important}
.maintenance p:not(.eyebrow),.maintenance li,.process-section p,.home-review blockquote,
.home-supplier-review>p:not(.home-review-label),.home-review-person small,
.home-review-label span,.home-review dt,.connect-ui p{color:#dbe6f2!important}
.maintenance .eyebrow,.process-section .eyebrow,.home-review-label{color:var(--orange-bright)!important}
.maintenance li,.home-review-primary>blockquote{border-color:#ffffff29!important}
.process-grid:not(.light) article{background-color:var(--navy-light)!important;border-color:#ffffff29!important}
.process-grid:not(.light) :is(h3,p){color:#fff!important}
.process-grid:not(.light) article>span{color:var(--orange-bright)!important}
.process-grid.light :is(h3,p){color:var(--navy)!important}
.home-job-card,.home-job-card :is(h3,dt,dd){color:var(--navy)!important}
.home-review-person>span{background-color:var(--orange-bright)!important;color:var(--navy)!important}
.home-supplier-review cite{color:#dbe6f2!important}
.rjl-split-row h2,.rjl-hardware-section h2,.rjl-copy-section h2,.rjl-tldr h2,
.rjl-project-status h2,.rjl-split-row h3,.rjl-hardware-section h3,
.rjl-evidence-card,.rjl-evidence-card h3{color:var(--navy)}
.rjl-split-row p,.rjl-split-row li,.rjl-hardware-section p,.rjl-hardware-section li,
.rjl-copy-section p,.rjl-copy-section li,.rjl-tldr li,.rjl-project-status p{color:var(--muted)}
.rjl-system-visual{background-color:var(--navy)}
.rjl-system-tile{background-color:var(--navy-light);border-left-color:var(--orange-bright)}
.rjl-project-status{border-left-color:var(--orange-bright)}
.rjl-footer-locations a{color:var(--navy)}
.rjl-footer-locations a:hover,.rjl-footer-locations a:focus-visible{color:var(--orange-deep)}
.faq-list{border-color:#0d448229}
.faq-list details{border-color:#0d448229}
.faq-list summary{color:var(--navy)}
.faq-list summary:after{color:var(--orange-deep)}
.faq-list details p{color:var(--muted)}
/* The designer palette changes interface colours only; scene and material colours stay intact. */
#rjl-designer{--accent:#ec5c16;--accent-ink:#0d4482;--accent-soft:#fff3ea;--surface-2:#fbfaf6;--muted:#555d63;--line:#0d448229}
#rjl-designer :is(legend,.pgroup,.panel>summary,.quote-cta h2,.sum h3){color:var(--navy)!important}
#rjl-designer .btn.primary{background-color:var(--orange-bright);border-color:var(--orange-bright);color:var(--navy)}
#rjl-designer .btn.primary:hover{background-color:#fff;border-color:var(--navy);color:var(--navy)}
#rjl-designer :is(.brand .wm,.brand .wm2,.tab.add,.qrow.big span:last-child){color:var(--orange-deep)}
#rjl-viz .viz-btn.primary{background-color:var(--orange-bright);border-color:var(--orange-bright);color:var(--navy)}
#rjl-viz .viz-btn.primary:hover{background-color:#fff;border-color:var(--navy);color:var(--navy)}
/* === BRIGHTER COLOUR PASS (tools/brighten_theme.py) - start === */
:root{--navy:#0d4482;--navy-light:#1556a3;--navy-ink:#071f38;--charcoal:var(--navy);--ink-soft:#1556a3;
--orange:#ec5c16;--orange-bright:#ff7a1a;--orange-deep:#c2410c;--orange-on-navy:#ffa45c;
--paper:#fbfaf6;--warm:#fbfaf6;--steel-mist:#f2efe8;--steel-surface:#fbfaf6;--gold:var(--orange);--gold-bright:var(--orange-bright)}
/* Dark text on bright orange buttons and badges (the brighter navy is too light on orange). */
.button-primary,.site-header .header-cta,.home-review-person>span,
.contact-band .button-dark:hover,.contact-band .button-dark:focus-visible,
.button-dark:hover,.button-dark:focus-visible,
#rjl-designer .btn.primary,#rjl-viz .viz-btn.primary{color:var(--navy-ink)!important}
/* Text on orange panels stays dark navy. */
:is(.visualizer-callout,.national-proof) :is(p,h2,h3,.eyebrow,p:last-child){color:var(--navy-ink)!important}
/* Small orange labels and links on navy panels use a lighter orange so they stay readable
   (bright orange on the brighter navy is only 3.7:1). Each selector here sits on navy. */
.maintenance .eyebrow,.process-section .eyebrow,.home-review-label,.contact-band .eyebrow,
:is(.maintenance-inclusions,.warranty-section,.case-study,.approval-panel,.credential-strip) .eyebrow,
.enterprise-readiness span,.service-area-card.is-active>span,.service-area-card.is-active a,
.content-guide-grid article>span,.maintenance-scope-grid article>span,.solution-detail-grid article>span,
.faq-search-panel>div:first-child>span,.specialism-grid a,.fieldwork-video-grid span{color:var(--orange-on-navy)!important}
/* Cards in the lighter navy need lighter text still. */
.process-grid:not(.light) article>span,.home-insights-grid article>a:last-child{color:#ffc48f!important}
.home-insights-grid time{color:#dbe6f2!important}
.connect-ui .connect-event span{color:#c6d4e3!important}
/* Header photos: lighter, navy-tinted overlay. Dark enough on the left for white text,
   clear on the right so the photo itself reads bright. */
.page-hero:before{background:linear-gradient(90deg,rgba(9,40,82,.84) 0%,rgba(9,40,82,.70) 38%,rgba(9,40,82,.30) 64%,rgba(9,40,82,.04) 88%),
  linear-gradient(rgba(9,40,82,0) 55%,rgba(9,40,82,.38) 100%)!important}
.hero-media{background:linear-gradient(90deg,rgba(9,40,82,.84) 0%,rgba(9,40,82,.66) 40%,rgba(9,40,82,.16) 72%,rgba(9,40,82,0) 100%),
  linear-gradient(rgba(9,40,82,0) 55%,rgba(9,40,82,.42) 100%),url(/rjl-hero-daytime.webp) 50%/cover no-repeat!important}
@media (max-width:900px){
  .page-hero:before{background:linear-gradient(rgba(9,40,82,.62) 0%,rgba(9,40,82,.74) 45%,rgba(9,40,82,.86) 100%)!important}
  .hero-media{background:linear-gradient(rgba(9,40,82,.50) 0%,rgba(9,40,82,.64) 35%,rgba(9,40,82,.88) 100%),url(/rjl-hero-daytime.webp) 62%/cover no-repeat!important}
}
.thanks-section.thanks-hero::before{background:linear-gradient(90deg,rgba(9,40,82,.84) 0%,rgba(9,40,82,.62) 48%,rgba(9,40,82,.18) 100%)!important}
/* Transparent Rapid Response animation (canvas + poster fallback) sized like the old video. */
.rapid-brand-panel .rapid-alpha-video{display:block;width:min(100%,520px);height:auto;aspect-ratio:1/1;background:transparent}
@media (max-width:900px){.rapid-brand-panel .rapid-alpha-video{width:min(70vw,520px)}}
/* "Illustrative image" label on headers that use an AI-generated photo. */
.page-hero .hero-illustrative{position:absolute;left:clamp(24px,8vw,136px);bottom:14px;z-index:2;font-size:11px;letter-spacing:.04em;
  color:#ffffffd9;background:rgba(9,40,82,.55);padding:3px 8px;border-radius:3px;pointer-events:none}
/* 3D designer hint over the light-blue viewport (was 3.0:1). */
#rjl-designer .v-note{color:#1d2a36}
/* === BRIGHTER COLOUR PASS - end === */
