/* ============================================================
   HOMEPAGE SECTION BACKGROUNDS — one coordinated rhythm
   ------------------------------------------------------------
   Two surfaces only, so the page reads as clean alternating bands:
     A  = #ffffff   (white)
     B  = #f4f7fc   (soft tint)
   Previously the tint existed in two almost-identical values
   (#f8fafc and #f5f8fd), so the alternation was accidental and
   invisible; two modules were fully transparent (read as holes)
   and two were white-on-white (read as one long block).

   Resulting order (B = tint, A = white):
     hero(B*)  partners(A)  why(A) | what-we-do(B*)  products(A)
     about(B) facility(A) materials(B) finishes(A) quality(B)
     solution(A) testimonials(B) faq(A) | request-a-quote(gradient*)
     news(A)

   * hero, what-we-do and request-a-quote are intentionally untouched
     (client requirement) - hero and what-we-do keep their own #f8fafc.
   ============================================================ */
body .video-section.partners { background: #ffffff !important; }
body .rjn-why-home          { background: #ffffff !important; }
body .car-section.products-section { background: #ffffff !important; }
body .rjn-home-about        { background: #f4f7fc !important; background-image: none !important; }
body .rjn-fac               { background: #ffffff !important; }
body .rjn-mat               { background: #f4f7fc !important; }
body .rjn-svc-finishes      { background: #ffffff !important; }
body .rjn-q                 { background: #f4f7fc !important; }
body .home-solution         { background: #ffffff !important; }
body .rjn-testimonials      { background: #f4f7fc !important; }
body .faq-section           { background: #ffffff !important; }
body .news-section          { background: #ffffff !important; }

/* ===== HERO - Modern two-column grid ===== */
.home-hero.hero-image-mode {
  background: transparent !important;
  /* Fullscreen banner: fill exactly one screen below the fixed header */
  min-height: calc(100vh - var(--rjn-header-h, 96px)) !important;
  min-height: calc(100svh - var(--rjn-header-h, 96px)) !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  padding: 0 !important;
  margin-top: 0 !important;
  position: relative !important;
  overflow: hidden !important;
}
.home-hero.hero-image-mode .hero-main {
  position: relative !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
}
.home-hero.hero-image-mode .hero-bg {
  opacity: 1 !important;
}
/* Keep the product cluster visible when the banner is stretched to fullscreen height */
.home-hero.hero-image-mode .hero-bg .hero-slide-img {
  object-position: right center !important;
}
.home-hero.hero-image-mode .hero-bg::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(90deg, rgba(255,255,255,.97) 0%, rgba(255,255,255,.95) 40%, rgba(255,255,255,.80) 51%, rgba(255,255,255,.30) 62%, rgba(255,255,255,0) 73%) !important;
  z-index: 2 !important;
  pointer-events: none !important;
}
/* On narrow screens the text spans the full width - use an even veil so copy stays readable */
@media (max-width: 900px) {
  .home-hero.hero-image-mode .hero-bg::after {
    background: linear-gradient(180deg, rgba(255,255,255,.93) 0%, rgba(255,255,255,.88) 55%, rgba(255,255,255,.92) 100%) !important;
  }
}
.home-hero.hero-image-mode .hero-main,
.home-hero.hero-image-mode .hero-copy {
  min-height: auto !important;
}
.home-hero.hero-image-mode .hero-copy h1,
.home-hero.hero-image-mode .hero-main h1,
.home-hero.hero-image h1 {
  color: #2563eb !important;
  font-size: clamp(28px, 3.6vw, 46px) !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  letter-spacing: -1px !important;
}

/*
 * Hero H1 line break without touching the markup.
 * The ACF value is one plain string ("Precision CNC Machining & Custom
 * Parts Manufacturer"). We let the browser wrap it after "&" by capping the
 * h1 measure at the width of that first segment, so the <h1> stays a single
 * continuous text node for crawlers — no <br>, no <span>, no extra elements.
 *
 * 13.4em matches the rendered width of "Precision CNC Machining &" at every
 * breakpoint (measured 13.34em at 46px, 12.99em at 28px), so the wrap always
 * lands in the same place as the clamp()ed font-size changes. No `nowrap` —
 * that would overflow the column instead of wrapping.
 */
.home-hero .rjn-hero-title {
  max-width: 13.4em;
}

/*
 * Below ~600px the first segment no longer fits on one line at the 28px
 * minimum size. Let it wrap naturally rather than overflow or clip.
 */
@media (max-width: 420px) {
  .home-hero .rjn-hero-title {
    max-width: 100%;
  }
}
.home-hero.hero-image-mode .eyebrow,
.home-hero.hero-image-mode .hero-copy .eyebrow { display: none !important; }
.home-hero.hero-image-mode .eyebrow,
.home-hero.hero-image-mode .hero-copy .eyebrow { display: none !important; }
.home-hero.hero-image-mode .hero-copy .hero-lead,
.home-hero .hero-copy .hero-lead { display: block !important; color: #475569 !important; font-size: 16px !important; line-height: 1.6 !important; margin: 12px 0 0 !important; max-width: 560px !important; }
.home-hero .trust-row {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  padding: 8px 0 !important;
  border: none !important;
  color: #334155 !important;
  font-size: clamp(13px, 1vw, 15px) !important;
}
.home-hero.hero-image-mode .hero-copy .trust-row span,
.home-hero .hero-copy .trust-row span {
  color: #334155 !important;
  font-weight: 500 !important;
  letter-spacing: 0.3px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.home-hero .trust-row span::before {
  content: "" !important;
  flex: 0 0 auto !important;
  width: 16px !important;
  height: 16px !important;
  background: #2563eb url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/11px no-repeat !important;
  border-radius: 50% !important;
}
.home-hero .trust-row span::first-letter {
  color: inherit !important;
  font-weight: inherit !important;
}
.home-hero.hero-image-mode .hero-actions { display: flex !important; gap: 12px !important; padding-top: 1px !important; }
.home-hero.hero-image-mode .hero-copy .hero-actions a {
  padding: 13px 30px !important;
  font-size: 15px !important;
  border-radius: 999px !important;
}
/* secondary button: glass pill floating on the banner (reference style) */
.home-hero .hero-copy .hero-actions a.btn-ghost,
.home-hero.hero-image-mode .hero-copy .hero-actions a.btn-ghost {
  background: rgba(13,26,48,.80) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,.32) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 8px 24px rgba(15,23,42,.18) !important;
}
.home-hero .hero-copy .hero-actions a.btn-ghost:hover {
  background: rgba(13,26,48,.92) !important;
  color: #fff !important;
}

/* Stats cards - glass cards floating on the fullscreen banner */
.home-hero.hero-image-mode .hero-stats {
  margin-top: -28px !important;
  padding: 0 0 20px !important;
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  position: relative !important;
  /* kill the leftover frosted panel: backdrop-filter blurs the banner into a visible rectangle */
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.home-hero.hero-image-mode .hero-stats::before {
  content: none !important;
  display: none !important;
}
.home-hero.hero-image-mode::before,
.home-hero.hero-image-mode::after {
  display: none !important;
  background: none !important;
}
.home-hero.hero-image-mode .hero-stats .stat-grid.container-two,
.home-hero.hero-image-mode .hero-stats .stat-grid {
  background: transparent !important;
  border: none !important;
  position: relative !important;
  z-index: 1 !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: center !important;
  align-items: stretch !important;
  gap: 30px !important;
  width: 100% !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
}
.home-hero.hero-image-mode .hero-stats .stat-grid > div {
  min-width: 0 !important;
  max-width: none !important;
  flex: 1 1 0 !important;
}
/* large liquid-glass card, floating directly on the banner */
.home-hero.hero-image-mode .hero-stats .stat-grid > div {
  background:
    linear-gradient(150deg, rgba(255,255,255,.22) 0%, rgba(240,249,255,.05) 50%, rgba(255,255,255,.15) 100%) padding-box,
    linear-gradient(150deg, rgba(255,255,255,.90) 0%, rgba(255,255,255,.28) 34%, rgba(255,255,255,.02) 55%, rgba(255,255,255,.58) 100%) border-box !important;
  border: 1px solid transparent !important;
  border-radius: 18px !important;
  box-shadow:
    0 16px 38px rgba(15,23,42,.10),
    0 3px 10px rgba(15,23,42,.05),
    inset 0 1px 1px rgba(255,255,255,.95),
    inset 0 -16px 30px rgba(255,255,255,.28) !important;
  backdrop-filter: blur(22px) saturate(190%);
  -webkit-backdrop-filter: blur(22px) saturate(190%);
  padding: 16px 16px !important;
  margin: 0 !important;
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 5px !important;
  min-height: 78px !important;
  width: auto !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  position: relative !important;
  overflow: hidden !important;
  transition: transform .4s cubic-bezier(.16,1,.3,1), box-shadow .4s ease !important;
}
/* specular highlight */
.home-hero.hero-image-mode .hero-stats .stat-grid > div::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  border-radius: inherit !important;
  pointer-events: none !important;
  background: radial-gradient(120% 92% at 10% -6%, rgba(255,255,255,.88) 0%, rgba(255,255,255,0) 56%) !important;
}
.home-hero.hero-image-mode .hero-stats .stat-grid > div > * { position: relative; z-index: 1; }
.home-hero.hero-image-mode .hero-stats .stat-grid > div:hover {
  transform: translateY(-4px) !important;
  background:
    linear-gradient(150deg, rgba(255,255,255,.38) 0%, rgba(240,249,255,.14) 50%, rgba(255,255,255,.28) 100%) padding-box,
    linear-gradient(150deg, rgba(255,255,255,.95) 0%, rgba(255,255,255,.44) 34%, rgba(255,255,255,.06) 55%, rgba(255,255,255,.74) 100%) border-box !important;
  box-shadow:
    0 26px 52px rgba(15,23,42,.16),
    0 5px 14px rgba(15,23,42,.07),
    inset 0 1px 1px rgba(255,255,255,1),
    inset 0 -16px 32px rgba(255,255,255,.38) !important;
}
.home-hero.hero-image-mode .hero-stats .stat-grid > div .stat-txt {
  min-width: 0 !important;
  display: block !important;
  width: 100% !important;
  text-align: center !important;
}
/* value on top, description below - both centred */
.home-hero.hero-image-mode .hero-stats .stat-grid > div .stat-txt > span {
  display: block !important;
  font-size: 12.5px !important;
  color: #475569 !important;
  line-height: 1.32 !important;
  margin-top: 4px !important;
  text-align: center !important;
}
.home-hero.hero-image-mode .hero-stats .stat-grid > div .stat-txt strong {
  font-size: 16px !important;
  display: block !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  color: #0f2a5c !important;
  text-align: center !important;
}

/* Reduce section padding globally */
section.section-padding,
.section-padding { padding-top: 50px !important; padding-bottom: 50px !important; }

/* Product cards: image flush top, no padding */
.car-section img { border-radius: 0 !important; }
.car-section .theme-btn, .home-product-showcase .theme-btn {
  background: #e0e7ff !important;
  background-color: #e0e7ff !important;
  color: #1e3a8a !important;
  border-radius: 24px !important;
  padding: 12px 28px !important;
  font-weight: 500 !important;
  border: none !important;
}
.car-section .car-box-items-2 { min-height: auto !important; }
/* About video card */
.about-section .about-image-items, .about-section .home-about-image { border-radius:16px !important; overflow:hidden; box-shadow:0 20px 50px rgba(15,39,73,.15); position:relative; }
.about-section .home-about-image img { width:100%; height:auto; display:block; }
.about-section .video-popup { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; }
.about-section .video-popup svg { width:84px !important; height:84px !important; background:rgba(255,255,255,.95); border-radius:50%; padding:22px; box-shadow:0 12px 40px rgba(0,0,0,.25); transition:.3s; }
.about-section .video-popup:hover svg { transform:scale(1.08); }
/* How-to-order process redesign */
.home-solution { background:#F5F8FD !important; padding:80px 0 !important; }
.home-solution .sec-head { max-width:720px; margin:0 auto 48px; text-align:center; }
.home-solution .sec-head .tag { display:block; font-size:14px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:#2563eb; margin-bottom:12px; }
.home-solution .sec-head h2 { font-size:36px !important; font-weight:800; color:#0f172a !important; margin-bottom:14px !important; }
.home-solution .sec-head p { font-size:16px; color:#64748b !important; line-height:1.7; }
.proc-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:18px; }
.proc-step { background:#fff; border:1px solid #e6ecf6; border-radius:16px; padding:30px 22px; position:relative; transition:.3s; }
.proc-step:hover { transform:translateY(-5px); box-shadow:0 20px 40px rgba(15,39,73,.1); }
.proc-step .n { width:46px; height:46px; border-radius:12px; background:linear-gradient(135deg,#2563eb,#1e3a8a); color:#fff; font-weight:800; font-size:20px; display:flex; align-items:center; justify-content:center; margin-bottom:18px; }
.proc-step h4 { font-size:17px; margin:0 0 8px; color:#0f172a; font-weight:700; }
.proc-step p { font-size:13.5px; color:#64748b; line-height:1.6; margin:0; }
.proc-step .ar { position:absolute; right:-12px; top:50%; transform:translateY(-50%); color:#2563eb; z-index:3; background:#F5F8FD; border-radius:50%; width:26px; height:26px; display:flex; align-items:center; justify-content:center; font-size:16px; font-weight:700; }
.proc-step:last-child .ar { display:none; }
@media(max-width:992px){ .proc-grid{grid-template-columns:repeat(2,1fr);} .proc-step .ar{display:none;} }
@media(max-width:640px){ .proc-grid{grid-template-columns:1fr;} }
/* Unified section header style */
.rjn-why-home .section-title span:first-child, .rjn-why-home .eyebrow {
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  color: #2563eb !important;
}
.rjn-why-home .section-title h2, .rjn-why-home h2 {
  font-size: 36px !important;
  font-weight: 800 !important;
  color: #0f172a !important;
}
.rjn-why-home .section-title p, .rjn-why-home .section-subtitle {
  font-size: 16px !important;
  color: #64748b !important;
  line-height: 1.7 !important;
}
.section-title h6, .section-title .eyebrow, .car-section h6, .home-service h6, .home-product-showcase h6, .rjn-mat h6, .rjn-fac h6, .rjn-q h6 {
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  color: #2563eb !important;
}
.section-title h2, .car-section h2, .home-service h2, .home-product-showcase h2 {
  font-size: 36px !important;
  font-weight: 800 !important;
  color: #0f172a !important;
}
.section-title p, .car-section .section-title p, .home-service .section-title p {
  font-size: 16px !important;
  color: #64748b !important;
  line-height: 1.7 !important;
}
.car-section .car-image, .car-section .car-image img {
  background: #fff !important;
  background-color: #fff !important;
  box-shadow: none !important;
  border-radius: 8px !important;
  object-fit: cover !important;
  aspect-ratio: 1/1 !important;
  width: 100% !important;
}
.car-section .car-image::before, .car-section .car-image::after { display: none !important; }
.home-product-showcase img, .home-product-showcase .product-img, .home-product-showcase [class*=img] {
  aspect-ratio: 1/1 !important;
  object-fit: cover !important;
  background: #fff !important;
}
.home-product-showcase *::before, .home-product-showcase *::after { background: none !important; }
.home-product-showcase p, .home-product-showcase .text-two, .home-product-showcase .car-text { display: none !important; }
.car-section .car-content h3 a, .car-section .car-content h3,
.home-product-showcase h3 a, .home-product-showcase h3,
.home-service-list .home-service-cont h3 {
  font-size: 19px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  line-height: 1.3 !important;
}
.car-section .car-text, .home-service-list .home-service-cont p {
  font-size: 15.5px !important;
  color: #334155 !important;
  line-height: 1.6 !important;
}
.car-section .car-box-items-2:hover .car-image img {
  transform: none !important;
}
.car-section .col-xl-3 { cursor: pointer; }
.car-section .car-text {
  display: block !important;
  overflow: visible !important;
  white-space: normal !important;
  text-overflow: clip !important;
  -webkit-line-clamp: unset !important;
  line-height: 1.6 !important;
  min-height: 78px !important;
}
.car-section .theme-btn::before { display: none !important; }
.car-section .theme-btn::after { display: none !important; }
.car-section .theme-btn:hover, .car-section .theme-btn:focus {
  background: #2563eb !important;
  background-color: #2563eb !important;
  color: #fff !important;
  transform: none !important;
  box-shadow: none !important;
}
.car-section .theme-btn:hover svg path { fill: #fff !important; }
.car-section .product-item:hover, .car-section [class*=product]:hover {
  border-color: #2563eb !important;
}
.car-section .theme-btn:hover { background: #c7d2fe !important; color: #1e3a8a !important; }
.car-section .theme-btn svg path { fill: #1e3a8a !important; }

/* Reorder homepage sections moved to JS */
/* Service card: light cards with image top, text below */
.home-service-list {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}
.home-service-item {
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
}
.home-service-cont {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 420px !important;
}
.home-service-cont h3, .home-service-cont h4 {
  white-space: normal !important;
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
  font-size: 19px !important;
  margin: 20px 24px 8px !important;
  line-height: 1.3 !important;
  width: auto !important;
}
.home-service-cont p {
  white-space: normal !important;
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
  margin: 0 24px 24px !important;
  width: auto !important;
}
@media (max-width: 992px) {
  .home-service-list { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 576px) {
  .home-service-list { grid-template-columns: 1fr !important; }
}
.home-service-cont {
  display: block !important;
  width: 100% !important;
}
.home-service .single-service-item,
.home-service .home-service-content,
.home-service-cont {
  background: #fff !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 10px rgba(15,23,42,0.06) !important;
  transition: all .3s ease !important;
  padding: 0 !important;
  border: 1px solid #eef2f7 !important;
}
.home-service-cont::before,
.home-service-cont::after {
  display: none !important;
  background: none !important;
  width: 0 !important;
}
.home-service-cont,
a.home-service-cont,
a.home-service-cont:link,
a.home-service-cont:visited,
a.home-service-cont:hover,
a.home-service-cont:active,
.home-service .single-service-item,
.home-service .home-service-content {
  background: #fff !important;
}
a.home-service-cont:hover,
.home-service .single-service-item:hover,
.home-service .home-service-content:hover {
  background: #fff !important;
  box-shadow: 0 6px 18px rgba(15,23,42,0.08) !important;
  border-color: #e2e8f0 !important;
  color: #0f172a !important;
}
.home-service-cont svg, .home-service-cont .icon { display: none !important; }
.home-service-cont p, .home-service-cont .texts {
  max-height: none !important;
  overflow: visible !important;
  white-space: normal !important;
  text-overflow: clip !important;
}
.home-service-cont img {
  position: static !important;
  width: 100% !important;
  height: 220px !important;
  object-fit: cover !important;
  border-radius: 0 !important;
}
.home-service-cont .img,
.home-service-cont .img_box {
  height: 220px !important;
  overflow: hidden !important;
  padding: 0 !important;
}
.home-service-cont::after { display: none !important; }
.home-service-cont > * { position: static !important; }
.home-service-cont h3, .home-service-cont h4 {
  position: static !important;
  font-size: 19px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  margin: 18px 20px 6px !important;
}
.home-service-cont p {
  position: static !important;
  font-size: 14px !important;
  color: #64748b !important;
  line-height: 1.65 !important;
  margin: 0 20px 18px !important;
}
.home-service-cont p,
.home-service-cont .texts p {
  white-space: normal !important;
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
  margin: 0 24px 20px !important;
  width: auto !important;
  display: block !important;
  -webkit-line-clamp: unset !important;
  -webkit-box-orient: vertical !important;
  max-height: none !important;
  overflow: visible !important;
  text-overflow: clip !important;
  line-clamp: unset !important;
  font-size: 15.5px !important;
  color: #1e293b !important;
  line-height: 1.7 !important;
  text-overflow: clip !important;
  white-space: normal !important;
  overflow: visible !important;
  max-height: none !important;
}
.home-service-cont .texts { max-height: none !important; overflow: visible !important; }
.home-service-cont a, .home-service-cont .arrow, .home-service-cont .go { display: none !important; }
.home-service-cont h3, .home-service-cont h4 {
  font-size: 19px !important;
  margin: 20px 24px 8px !important;
}
.home-service-cont p {
  margin: 0 24px 24px !important;
  min-height: 66px;
}
.home-service .section-title h2 {
  font-size: 36px !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  line-height: 1.2 !important;
}
.home-service .section-title p {
  font-size: 16px !important;
  font-weight: 400 !important;
  color: #64748b !important;
  max-width: 720px !important;
  margin: 0 !important;
  line-height: 1.7 !important;
  letter-spacing: 0 !important;
}
.home-service .section-title h6,
.home-service .section-title .what-we-do-eyebrow {
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  color: #2563eb !important;
}

/* Floating images */
.hero-float-imgs { display: none !important; }

/* Trusted brands strip */
.industry-strip {
  display: block !important;
  padding: 60px max(15px, calc((100vw - 1280px)/2)) !important;
  border-top: none !important;
  border-bottom: none !important;
  background: #ffffff !important;
  width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  transform: translateX(-50%) !important;
  box-sizing: border-box !important;
  margin-top: -91px !important;
  text-align: center !important;
}
.video-section.partners .industry-strip > span,
.industry-strip > span {
  display: block !important;
  font-size: 36px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  letter-spacing: normal !important;
  margin: 18px 0 0 0 !important;
  padding: 0 !important;
  border: none !important;
  max-width: none !important;
  line-height: 1.2 !important;
}
.video-section.partners .industry-strip > span::before,
.industry-strip > span::before { content: none !important; }
.video-section.partners .industry-strip > span::after,
.industry-strip > span::after { content: none !important; }
.brand-eyebrow {
  display: inline-block;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 2px;
  color: #2563eb;
  background: #dbeafe;
  padding: 8px 18px;
  border-radius: 6px;
  text-transform: uppercase;
}
.brand-subtitle {
  font-size: 17px;
  color: #64748b;
  max-width: 720px;
  margin: 16px auto 0;
  line-height: 1.6;
}
.industry-strip .industry-marquee,
.industry-strip .swiper { display: none !important; }
.brand-static {
  display: grid !important;
  grid-template-columns: repeat(6, 1fr) !important;
  align-items: center !important;
  justify-items: center !important;
  gap: 24px !important;
  max-width: 1200px !important;
  margin: 30px auto 0 !important;
}
.brand-static img {
  max-height: 90px !important;
  width: auto !important;
  max-width: 220px !important;
  padding: 5px !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  box-shadow: 0 3px 10px rgba(15,23,42,0.06) !important;
}

/* Mobile */
@media (max-width: 768px) {
  .home-hero.hero-image-mode { padding: 20px 0 !important; }
  .home-hero .hero-actions { flex-direction: column !important; }
  .home-hero .hero-actions a { width: 100% !important; text-align: center !important; }
  /* data cards: wrap to 2 columns instead of 5 squashed columns
     (.container-two is required here - the base rule uses it and is more specific) */
  .home-hero.hero-image-mode .hero-stats .stat-grid,
  .home-hero.hero-image-mode .hero-stats .stat-grid.container-two {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    max-width: 100% !important;
  }
  .home-hero.hero-image-mode .hero-stats .stat-grid > div,
  .home-hero.hero-image-mode .hero-stats .stat-grid.container-two > div {
    width: auto !important;
    min-height: 0 !important;
    padding: 14px 10px !important;
  }
  .home-hero.hero-image-mode .hero-stats .stat-grid > div .stat-txt strong { font-size: 14px !important; }
  .home-hero.hero-image-mode .hero-stats .stat-grid > div .stat-txt > span { font-size: 11.5px !important; }
}
@media (max-width: 480px) {
  .home-hero.hero-image-mode .hero-stats .stat-grid,
  .home-hero.hero-image-mode .hero-stats .stat-grid.container-two { grid-template-columns: 1fr !important; }
}
/* --- Heading unification fixes (higher specificity) --- */
/* Showcase h2 font-weight fix (overrides .section-title .wow {font-weight:700} from style.css) */
body .section-title h2.wow,
body .home-product-showcase h2.wow,
body .section-title h2,
body .home-product-showcase h2 {
  font-weight: 800 !important;
}
/* Solution h2 center alignment */
.home-solution h2.title {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
/* FAQ description color fix (override body:not(.rjn-protected) .section-head p) */
body .faq-section .section-head p,
body:not(.rjn-protected) .faq-section .section-head p {
  color: #64748b !important;
}
/* Products description color (ensure match) */
.car-section .section-title p {
  color: #64748b !important;
}
/* Remove h2 underline decoration for unified heading style */
.section-title h2::after,
.home-service .section-title h2::after,
.car-section .section-title h2::after,
.home-product-showcase .section-title h2::after,
.testimonial-section .section-title h2::after,
.news-section .section-title h2::after {
  display: none !important;
  content: none !important;
  width: 0 !important;
  height: 0 !important;
}

/* ============================================================
   ABOUT — restructured: [video+caption | leads+contact] -> 10-card grid
   ============================================================ */
.rjn-home-about .about-wrapper { margin-top: 8px; }

.rjn-ab-intro-row {
  display: grid;
  grid-template-columns: 1.35fr 1fr;
  gap: 40px;
  align-items: stretch;            /* both columns equal height */
  margin-bottom: 44px;
}
.rjn-ab-intro-left {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.rjn-ab-intro-left .rjn-video-shell {
  flex: 1 1 auto;
  border-radius: 16px;
  overflow: hidden;
  display: flex;
}
.rjn-ab-intro-left .rjn-video-frame {
  flex: 1;
  aspect-ratio: 16 / 9;
}
.rjn-ab-intro-left .rjn-video-poster {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
.rjn-ab-intro-left .rjn-video-caption {
  font-size: 14px;
  color: #64748b;
  margin: 14px 0 0;
  line-height: 1.6;
}

.rjn-ab-intro-right {
  display: flex;
  flex-direction: column;
  justify-content: space-between;  /* leads top, contact bottom */
  min-width: 0;
}
.rjn-ab-intro-right .rjn-ab-leads {
  display: block;
  margin: 0;
}
.rjn-home-about .rjn-ab-lead {
  font-size: 15px;
  line-height: 1.85;
  color: #475569;
  margin: 0 0 38px !important;
}
.rjn-home-about .rjn-ab-lead:last-child { margin-bottom: 0 !important; }
.rjn-ab-lead b, .rjn-ab-lead strong { color: #0F2749; }

.rjn-ab-intro-right .about-author {
  display: flex;
  align-items: center;
  gap: 34px;
  margin-top: 26px;
  flex-wrap: wrap;
}
.rjn-ab-intro-right .about-author .about-button { margin: 0; }
.rjn-ab-intro-right .about-author .author-icon {
  display: flex; align-items: center; gap: 14px; margin: 0;
}
.rjn-ab-intro-right .about-author .icon-Box {
  width: 52px; height: 52px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
  background: #EAF1FF;
  color: #2563eb;
}
.rjn-ab-intro-right .about-author .icon-Box svg { width: 24px; height: 24px; }
.rjn-ab-intro-right .about-author .call-label {
  display: block;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .8px;
  color: #64748b;
}
.rjn-ab-intro-right .about-author .content h5 {
  margin: 2px 0 0; font-size: 20px; font-weight: 700;
}
.rjn-ab-intro-right .about-author .content h5 a { color: #0F2749; }

/* unified 10 cards: 5 columns x 2 rows, equal size */
.rjn-ab-caps.rjn-ab-caps-10 {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  gap: 14px;
  margin-top: 0;
}
.rjn-ab-caps-10 .rjn-ab-cap {
  flex-direction: column;
  gap: 11px;
  padding: 18px 16px;
  border-radius: 14px;
}
.rjn-ab-caps-10 .rjn-ab-cap .ic {
  width: 38px;
  height: 38px;
  flex-basis: 38px;
  border-radius: 10px;
}
.rjn-ab-caps-10 .rjn-ab-cap .ic svg { width: 19px; height: 19px; }
.rjn-ab-caps-10 .rjn-ab-cap .cap-txt b {
  font-size: 13.5px;
  line-height: 1.35;
  margin-bottom: 5px;
}
.rjn-ab-caps-10 .rjn-ab-cap .cap-txt > span {
  font-size: 12px;
  line-height: 1.55;
}

@media (max-width: 1100px) {
  .rjn-ab-intro-row { grid-template-columns: 1fr; gap: 30px; }
  .rjn-ab-caps.rjn-ab-caps-10 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .rjn-ab-caps.rjn-ab-caps-10 { grid-template-columns: 1fr; }
}
