/**
 * rva-custom.css
 *
 * SINGLE SOURCE OF TRUTH for all RVA component/typography CSS.
 * Do not add page-specific inline <style> blocks anywhere in this theme —
 * scope page-specific tweaks with a body-class selector in this file instead.
 * Before adding/changing any selector, grep this file, style.css, and every
 * template's inline blocks first. See CLAUDE.md (repo root) §Conventions.
 *
 * Versioning is automatic (see inc/enqueue.php's filemtime() call) — no
 * manual $ver bump needed on edits here.
 *
 * Section 10 (Editorial Grid System) and Section 11 (Native Blog Engine)
 * are a deliberate second visual language layered on top of Sections 1-9:
 * structural lines / offset frames / sharp corners instead of the
 * shadow-and-radius system used by the existing bento cards. Both are
 * intentional and coexist — see IMPLEMENTATION_PLAN.md for which templates
 * use which.
 */

/* ==========================================================================
   1. Design Tokens
   ========================================================================== */

:root {
  /* Brand palette (locked — see skill §3.1) */
  --rva-color-primary: #0e4d34; /* Lab Emerald Green */
  --rva-color-primary-deep: #093322; /* Lab Forest — dark surfaces */
  --rva-color-secondary: #0284c7; /* Precision Cyan / "light blue" — backgrounds/icons/badges only, never body text */
  --rva-color-tag-bg: #e0f2fe;
  --rva-color-tag-text: #0369a1;

  --rva-color-canvas: #f8fafc; /* body background — never pure white/black */
  --rva-color-surface: #ffffff;
  --rva-color-border: #e2e8f0;

  --rva-color-text: #0f172a;
  --rva-color-text-muted: #64748b;

  /* Typography */
  --rva-font-heading:
    "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --rva-font-body:
    "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --rva-font-mono: "Geist Mono", "SF Mono", monospace;

  /* Layout */
  --rva-radius: 6px; /* inputs, buttons, badges */
  --rva-radius-lg: 8px; /* cards, containers, panels — unified crisp engineering radius */

  /* Elevation — subtle layered shadows tinted toward brand deep-green */
  --rva-shadow-sm:
    0 1px 2px rgba(9, 51, 34, 0.05), 0 1px 1px rgba(9, 51, 34, 0.03);
  --rva-shadow-md:
    0 4px 14px rgba(9, 51, 34, 0.08), 0 1px 3px rgba(9, 51, 34, 0.04);
  --rva-shadow-lg:
    0 12px 30px rgba(9, 51, 34, 0.12), 0 4px 8px rgba(9, 51, 34, 0.06);

  /* ----------------------------------------------------------------------
	   Editorial system tokens (§10/§11) — fluid type, asymmetric spacing,
	   breakout grid, and structural lines. High-tension typography contrast:
	   --rva-text-display can reach 5.5rem against a ~1rem body, deliberately
	   far apart, so scale itself carries visual hierarchy instead of a
	   uniform "everything is 1.5rem bold" AI-slop pattern.
	   ------------------------------------------------------------------- */

  /* Fluid type scale — clamp(min, preferred, max). Every step derived from
	   viewport width (vw), not fixed breakpoints, so type tension holds at
	   any window size instead of jumping at 768px/1024px like the old
	   .rva-hero h1 rule did. */
  --rva-text-micro: clamp(0.6875rem, 0.66rem + 0.1vw, 0.75rem);
  --rva-text-sm: clamp(0.875rem, 0.85rem + 0.15vw, 0.9375rem);
  --rva-text-body: clamp(1rem, 0.97rem + 0.2vw, 1.0625rem);
  --rva-text-lede: clamp(1.125rem, 1.02rem + 0.5vw, 1.375rem);
  --rva-text-h4: clamp(1.25rem, 1.15rem + 0.6vw, 1.5rem);
  --rva-text-h3: clamp(1.5rem, 1.3rem + 1vw, 2rem);
  --rva-text-h2: clamp(1.875rem, 1.5rem + 1.8vw, 2.75rem);
  --rva-text-h1: clamp(
    2.5rem,
    1.9rem + 3vw,
    4rem
  ); /* interior page-header h1 */
  /* Ceiling picked empirically, not arbitrarily: 7rem let the single word
	   "environmental" (in the real hero copy) exceed any sane column width
	   and force a mid-word overflow-wrap break — verified in a real
	   browser, not assumed. 5.5rem is still +57% over the old fixed
	   3.5rem, and actually fits the real headline. */
  /* Floor lowered to 1.85rem after checking a real 375px viewport: at the
	   previous 3rem floor, "environmental" (13 chars) still didn't fit the
	   phone-width hero column and broke mid-word again, same failure mode
	   as the desktop one above just at the opposite end of the clamp. */
  --rva-text-display: clamp(
    1.85rem,
    1.3rem + 3.5vw,
    5.5rem
  ); /* homepage hero / editorial display only */

  /* Asymmetric spacing scale — rem for predictable steps, vmin folded into
	   the large end so breathing room actually responds to viewport, not
	   just width (a short-but-wide window and a tall-but-narrow one get
	   different large-spacing values, which plain vw wouldn't give). */
  --rva-space-3xs: 0.25rem;
  --rva-space-2xs: 0.5rem;
  --rva-space-xs: 0.75rem;
  --rva-space-sm: 1rem;
  --rva-space-md: 1.5rem;
  --rva-space-lg: clamp(2rem, 1.5rem + 2vmin, 3rem);
  --rva-space-xl: clamp(3rem, 2rem + 4vmin, 5rem);
  --rva-space-2xl: clamp(4rem, 2.5rem + 6vmin, 8rem);
  --rva-space-3xl: clamp(5rem, 3rem + 9vmin, 11rem);

  /* Reading measure — ch is the correct unit here (it's defined by glyph
	   width, which is what "readable line length" actually depends on, not
	   viewport width). 68ch sits inside the 65-75ch optimal range. */
  --rva-measure: 68ch;
  --rva-measure-narrow: 42ch;

  /* Breakout/editorial grid — page edge is fluid (vw-based) so the grid
	   itself provides the asymmetric "breathing room" instead of a fixed
	   4rem gutter everywhere. */
  --rva-edge: clamp(1.25rem, 0.5rem + 3.2vw, 4.5rem);
  --rva-grid-gutter: clamp(1rem, 0.6rem + 1.6vw, 2.5rem);
  --rva-content-max: 90rem;

  /* Structural line / offset-frame tokens — the anti-shadow, anti-radius
	   device for the editorial system. A visible rule or a shifted second
	   border reads as an intentional, engineered mark; a soft shadow reads
	   as a default. Use these for anything built in §10/§11. */
  --rva-line-hair: 1px solid var(--rva-color-border);
  --rva-line-strong: 2px solid var(--rva-color-primary);
  --rva-line-accent: 2px solid var(--rva-color-secondary);
  --rva-offset: 0.75rem;
  --rva-radius-editorial: 8px; /* crisp engineering corners harmonized with unified layout */

  --rva-ease: cubic-bezier(0.2, 0.8, 0.2, 1);
  --rva-duration: 180ms;
}

/* ==========================================================================
   2. Base Typography
   ========================================================================== */

html {
  height: 100%;
}

html {
  overflow-x: hidden;
}

body {
  min-height: 100%;
  background-color: var(--rva-color-canvas);
  color: var(--rva-color-text);
  font-family: var(--rva-font-body);
  line-height: 1.6;
  /* Required (on both html and body) for the 100vw full-bleed breakout
	   technique below (.rva-hero--simple) — without this, that technique's
	   negative margins introduce horizontal scroll equal to the scrollbar's
	   own width. See the .rva-navigator-grid overflow fix earlier in this
	   theme's history for why this class of bug gets checked carefully. */
  overflow-x: hidden;
}

/* Sticky footer: without this, a short page (e.g. an empty resource
   archive) leaves a large blank gap below the footer instead of the
   footer sitting at the bottom of the viewport. */
#page.site {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

body.full-width-content #page,
body #page.grid-container,
body #page.container,
body #page.site,
#page {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.full-width-content .site-content,
body .site-content,
.site-content {
  flex: 1 0 auto;
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-top: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.full-width-content #primary,
body.full-width-content #main,
body #primary,
body #main,
.content-area,
.site-main {
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--rva-font-heading);
  font-weight: 600;
  letter-spacing: -0.02em;
}

h1 {
  letter-spacing: -0.03em;
}

.rva-text-muted {
  color: var(--rva-color-text-muted);
}

.rva-mono {
  font-family: var(--rva-font-mono);
}

/* ==========================================================================
   3. Surfaces
   ========================================================================== */

.rva-table {
  background-color: var(--rva-color-surface);
  border: 1px solid var(--rva-color-border);
  border-radius: var(--rva-radius);
}

.rva-card {
  background-color: var(--rva-color-surface);
  border: 1px solid var(--rva-color-border);
  border-radius: var(--rva-radius-lg);
  box-shadow: var(--rva-shadow-sm);
}

.rva-badge {
  display: inline-block;
  background-color: var(--rva-color-tag-bg);
  color: var(--rva-color-tag-text);
  border-radius: var(--rva-radius);
  padding: 0.15em 0.6em;
  font-size: 0.85em;
  font-weight: 500;
}

.rva-badge--pending {
  background-color: #fef3c7;
  color: #92400e;
}

/* ==========================================================================
   4. Buttons
   ========================================================================== */

.rva-button {
  display: inline-block;
  background-color: var(--rva-color-primary);
  color: #ffffff;
  border-radius: var(--rva-radius);
  padding: 0.75em 1.6em;
  font-weight: 600;
  font-size: 0.9375rem;
  text-decoration: none;
  box-shadow: var(--rva-shadow-sm);
  transition:
    transform 150ms ease-out,
    box-shadow 150ms ease-out,
    background-color 150ms ease-out;
}

.rva-button:hover,
.rva-button:focus {
  background-color: var(--rva-color-primary-deep);
  color: #ffffff;
  transform: translateY(-2px);
  box-shadow: var(--rva-shadow-md);
}

.rva-button:active {
  transform: translateY(0);
  box-shadow: var(--rva-shadow-sm);
}

/* ==========================================================================
   5. Links (contrast-checked — see skill §3.1)
   ========================================================================== */

a {
  color: #0369a1; /* darkened secondary for AA-safe body-size link text; #0284c7 itself is background/icon-only */
}

/* ==========================================================================
   6. Top Utility Bar (skill §9.1)
/* ==========================================================================
   6. Top Utility Bar (inspired by Bureau Veritas, Intertek & SGS)
   ========================================================================== */

.rva-topbar {
  background-color: #04120e;
  color: #cbd5e1;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  font-size: 0.8125rem;
  padding: 0.45rem 0;
  position: relative;
  z-index: 1001;
}

.rva-topbar__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
}

.rva-topbar__status {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.78125rem;
  white-space: nowrap;
}

.rva-topbar__status .rva-status-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #10b981;
  box-shadow: 0 0 6px #10b981;
  flex-shrink: 0;
}

.rva-topbar__badge {
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 600;
  color: #34d399;
  font-size: 0.6875rem;
  font-family: var(--rva-font-mono);
}

.rva-topbar__divider {
  color: #475569;
}

.rva-topbar__facility {
  color: #94a3b8;
}

.rva-topbar__meta {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  white-space: nowrap;
}

.rva-topbar__item {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  color: #cbd5e1;
  text-decoration: none;
  font-size: 0.8125rem;
  transition: color 0.15s ease;
}

.rva-topbar__item:hover {
  color: #ffffff;
}

.rva-topbar__icon {
  color: #34d399;
  font-size: 0.85rem;
}

.rva-topbar__coc {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  padding: 0.2rem 0.6rem;
  border-radius: 4px;
  font-weight: 500;
  font-size: 0.75rem;
  color: #f8fafc;
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease;
}

.rva-topbar__coc:hover {
  background: rgba(255, 255, 255, 0.16);
  border-color: #34d399;
  color: #ffffff;
}

.rva-topbar__basket {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  color: #ffffff;
  font-weight: 600;
  text-decoration: none;
  background: rgba(14, 77, 52, 0.6);
  padding: 0.2rem 0.65rem;
  border-radius: 4px;
  border: 1px solid rgba(52, 211, 153, 0.3);
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease;
}

.rva-topbar__basket:hover {
  background: rgba(14, 77, 52, 0.9);
  border-color: #34d399;
}

.rva-basket-badge {
  display: inline-block;
  background-color: #059669;
  color: #ffffff;
  border-radius: 999px;
  padding: 0.05em 0.5em;
  font-size: 0.75rem;
  font-weight: 700;
  font-family: var(--rva-font-mono);
}

@media (max-width: 900px) {
  .rva-topbar__facility {
    display: none;
  }
  .rva-topbar__divider {
    display: none;
  }
  .rva-topbar__meta {
    flex-wrap: wrap;
    justify-content: flex-end;
    row-gap: 0.4rem;
  }
}

@media (max-width: 640px) {
  .rva-topbar {
    padding: 0.4rem 0;
  }
  .rva-topbar__status {
    display: none;
  }
  .rva-topbar__inner {
    justify-content: center;
  }
  .rva-topbar__meta {
    gap: 0.75rem;
    flex-wrap: wrap;
    justify-content: center;
  }
  .rva-menu-bar-cta {
    display: none;
  }
}

/* ==========================================================================
   7. Breadcrumbs, Hero, Grids (skill §9.2–9.3)
   ========================================================================== */

.rva-breadcrumbs {
  font-size: 0.85rem;
  color: var(--rva-color-text-muted);
  padding: 0.75rem 0;
}

.rva-hero {
  position: relative;
  overflow: hidden;
  min-height: 440px;
  display: flex;
  align-items: center;
  padding: var(--rva-space-2xl) var(--rva-edge);
  background: linear-gradient(
    135deg,
    var(--rva-color-primary-deep) 0%,
    var(--rva-color-primary) 65%,
    #13583c 100%
  );
  color: #ffffff;
  border-left: 6px solid var(--rva-color-secondary);
}

.rva-hero__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--rva-space-xl);
  align-items: center;
  max-width: var(--rva-content-max);
  width: 100%;
}

@media (min-width: 960px) {
  .rva-hero__grid {
    grid-template-columns: 1.2fr 0.8fr;
    gap: var(--rva-space-2xl);
  }
}

.rva-hero__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--rva-space-md);
}

.rva-hero__eyebrow {
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #7dd3b0;
}

.rva-hero h1 {
  color: #ffffff;
  font-size: var(--rva-text-display);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -0.03em;
  margin: 0;
}

.rva-hero p {
  color: #d1e7dd;
  font-size: var(--rva-text-lede);
  max-width: 38rem;
  line-height: 1.6;
  margin: 0;
}

.rva-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 0.5rem;
}

.rva-hero__cta-primary {
  background-color: #ffffff !important;
  color: var(--rva-color-primary-deep) !important;
}

.rva-hero__cta-primary:hover {
  background-color: #f1f5f9 !important;
  color: var(--rva-color-primary) !important;
}

.rva-button--outline.rva-hero__cta-secondary {
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.4);
  background-color: transparent;
}

.rva-button--outline.rva-hero__cta-secondary:hover {
  background-color: rgba(255, 255, 255, 0.12);
  border-color: #ffffff;
}

/* Precision Laboratory Capability Card */
.rva-hero__panel {
  width: 100%;
}

.rva-lab-card {
  background: rgba(9, 51, 34, 0.8);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: var(--rva-radius-lg);
  padding: var(--rva-space-lg);
  box-shadow: var(--rva-shadow-lg);
}

.rva-lab-card__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--rva-space-sm);
  padding-bottom: var(--rva-space-xs);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.rva-badge--live {
  background-color: #064e3b;
  color: #a7f3d0;
  border: 1px solid #059669;
  font-size: 0.75rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  font-weight: 600;
}

.rva-lab-card__loc {
  font-size: 0.75rem;
  color: #94a3b8;
}

.rva-lab-card__title {
  font-size: 1.2rem;
  color: #ffffff;
  margin: 0 0 var(--rva-space-md) 0;
  letter-spacing: -0.01em;
}

.rva-lab-card__list {
  list-style: none;
  padding: 0;
  margin: 0 0 var(--rva-space-md) 0;
  display: flex;
  flex-direction: column;
  gap: var(--rva-space-sm);
}

.rva-lab-card__list li {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  padding-bottom: var(--rva-space-xs);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.rva-lab-card__list li:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.rva-lab-card__list strong {
  color: #f1f5f9;
  font-size: 0.875rem;
  font-weight: 600;
}

.rva-lab-card__list span {
  color: #cbd5e1;
  font-size: 0.8125rem;
  line-height: 1.4;
}

.rva-lab-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--rva-space-sm);
  padding-top: var(--rva-space-sm);
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.rva-button--sm {
  padding: 0.5em 1.2em;
  font-size: 0.875rem;
}

.rva-link-subtle {
  color: #7dd3b0;
  text-decoration: none;
  font-size: 0.875rem;
  font-weight: 500;
  transition: color 150ms ease-out;
}

.rva-link-subtle:hover {
  color: #ffffff;
  text-decoration: underline;
}

@media (max-width: 768px) {
  .rva-hero {
    padding: var(--rva-space-xl) var(--rva-space-md);
  }
}

.rva-services-section {
  padding: var(--rva-space-2xl) var(--rva-edge) var(--rva-space-xl)
    var(--rva-edge);
  display: flex;
  flex-direction: column;
  gap: var(--rva-space-xl);
}

.rva-services-section__intro {
  display: flex;
  flex-direction: column;
  gap: var(--rva-space-2xs);
  max-width: 40rem;
}

.rva-services-section__eyebrow {
  margin-bottom: 0;
}

.rva-services-section__heading {
  font-size: var(--rva-text-h2);
}

.rva-services-section__intro p {
  margin: 0;
}

.rva-sc-card__meta {
  font-size: var(--rva-text-sm);
}

.rva-sc-card__title {
  font-family: var(
    --rva-font-body,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Roboto,
    sans-serif
  );
  font-size: 1.0625rem !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  color: #0f172a !important;
  margin: 0.35rem 0 0.5rem 0 !important;
  letter-spacing: -0.01em;
}

.rva-sc-card__title a {
  color: #0f172a !important;
  text-decoration: none !important;
  transition: color 0.15s ease-in-out;
}

.rva-sc-card__title a:hover {
  color: var(--rva-color-primary, #104b3b) !important;
}

.rva-sc-card__cta {
  margin-top: var(--rva-space-xs);
}

.rva-sc-grid {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: repeat(3, 1fr);
}

/* Bento composition for the homepage category grid — one featured tile
   instead of six visually-identical boxes. This is the single biggest
   lever against the "flat/templated" read: a uniform 3x2 grid has zero
   layout variance no matter how nice each card looks individually.
   Deliberately flex-based, not CSS-grid-row-spanning: a fixed grid-auto-rows
   track height clipped card bodies via .rva-sc-card's overflow:hidden the
   first time this was built (the image alone nearly filled the whole
   track). Flex stretch sizes both sides to match content naturally instead
   of forcing content into a pre-computed pixel height. */
.rva-bento-row {
  display: flex;
  gap: 1.5rem;
  margin-bottom: 1.5rem;
}

.rva-bento-row .rva-sc-card {
  display: flex;
  flex-direction: column;
}

.rva-bento-row .rva-sc-card__image {
  flex: 1 1 auto;
  height: auto;
  min-height: 0; /* let flex-shrink win over the image's intrinsic size —
	                   a min-height floor here is exactly what caused body
	                   content (title/button) to overflow the clipped card
	                   in the compressed stack column the first time this
	                   was built. */
}

.rva-bento-featured {
  flex: 2 1 0;
}

.rva-bento-featured .rva-sc-card__body {
  padding: 1.5rem 1.75rem;
}

.rva-bento-featured .rva-sc-card__title {
  font-size: 1.5rem;
}

.rva-bento-stack {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.rva-bento-stack .rva-sc-card {
  flex: 1 1 0;
}

@media (max-width: 900px) {
  .rva-bento-row {
    flex-direction: column;
  }

  .rva-bento-row .rva-sc-card__image {
    height: 12rem;
    flex: none;
  }

  .rva-bento-stack {
    flex-direction: column;
  }
}

.rva-sc-grid--cols-2 {
  grid-template-columns: repeat(2, 1fr);
}

@media (max-width: 768px) {
  .rva-sc-grid {
    grid-template-columns: 1fr;
  }
}

.rva-sc-card {
  background-color: var(--rva-color-surface, #ffffff);
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
  display: flex !important;
  flex-direction: column !important;
  height: 100%;
  transition:
    transform 180ms ease-out,
    box-shadow 180ms ease-out;
}

.rva-sc-card:hover {
  transform: translateY(-4px);
  box-shadow:
    0 10px 25px -5px rgba(15, 23, 42, 0.08),
    0 8px 10px -6px rgba(15, 23, 42, 0.04);
}

.rva-sc-card__image {
  position: relative;
  height: 10.5rem;
  overflow: hidden;
  flex-shrink: 0;
}

.rva-sc-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: saturate(1.1) contrast(1.05);
}

.rva-sc-card__image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(9, 51, 34, 0.2) 0%,
    rgba(9, 51, 34, 0.82) 100%
  );
}

.rva-sc-card__image-label {
  position: absolute;
  left: 1rem;
  bottom: 0.75rem;
  z-index: 1;
  color: #ffffff;
  font-weight: 600;
  font-size: 0.8125rem;
  letter-spacing: 0.02em;
}

.rva-sc-card__body {
  padding: 1.15rem 1.25rem;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.rva-sc-card__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.35rem;
}

.rva-sc-card__tat-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.8125rem;
  padding: 0.45rem 0.65rem;
  background: #f8fafc;
  border-radius: 6px;
  border: 1px solid #f1f5f9;
  margin: 0.5rem 0 0.85rem;
}

.rva-sc-card__tat-label {
  color: #64748b;
  font-weight: 500;
}

.rva-sc-card__tat-val {
  color: #0f172a;
  font-weight: 600;
}

.rva-sc-card__actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: auto;
  padding-top: 0.5rem;
}

.rva-sc-card__actions .rva-btn {
  flex: 1;
  text-align: center;
  justify-content: center;
  font-size: 0.8125rem !important;
  padding: 0.45rem 0.65rem !important;
  white-space: nowrap;
}

.rva-sc-card__eyebrow {
  display: block;
  color: var(--rva-color-primary);
  font-size: 0.8rem;
  font-weight: 600;
  text-transform: uppercase;
  margin-bottom: 0.25rem;
}

.rva-button--outline {
  background-color: transparent;
  color: var(--rva-color-primary);
  border: 1px solid var(--rva-color-primary);
  margin-left: 0.5rem;
  cursor: pointer;
}

.rva-sc-card__excerpt {
  font-size: 0.875rem;
  color: #64748b;
  line-height: 1.5;
  margin: 0.5rem 0 1rem;
}

.rva-sc-card--article .rva-sc-card__image {
  aspect-ratio: 16 / 9;
  height: auto;
}

.rva-sc-download-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}

.rva-sc-resource-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.rva-sc-resource {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 0;
  border-bottom: 1px solid var(--rva-color-border);
}

.rva-sc-resource__title {
  flex: 1;
  font-weight: 500;
}

/* ==========================================================================
   8. Quotation CTA Band, Trust Band, Footer (skill §3.5)
   ========================================================================== */

.rva-cta-band {
  background-color: var(--rva-color-primary);
  padding: 3rem 4rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  flex-wrap: wrap;
}

.rva-cta-band__copy {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  max-width: 34rem;
}

.rva-cta-band h2 {
  color: #ffffff;
  font-size: 1.5rem;
}

.rva-cta-band p {
  color: #d1e7dd;
  font-size: 0.9375rem;
  margin: 0;
  line-height: 1.6;
}

.rva-cta-band .rva-button,
.rva-cta-band .rva-btn--primary {
  background-color: #ffffff;
  color: var(--rva-color-primary-deep);
  white-space: nowrap;
}

.rva-cta-band .rva-button:hover,
.rva-cta-band .rva-button:focus,
.rva-cta-band .rva-btn--primary:hover {
  background-color: #f0fdf4;
  color: var(--rva-color-primary-deep);
}

.rva-trust-band {
  padding: 4rem 0;
  background-color: var(--rva-color-canvas);
  border-bottom: 1px solid var(--rva-color-border);
}

.rva-trust-band__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  max-width: 64rem;
  margin: 0 auto;
}

.rva-trust-band__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0.5rem;
  padding: 2rem 1.5rem;
  background-color: var(--rva-color-surface);
  border: 1px solid var(--rva-color-border);
  border-radius: var(--rva-radius-lg);
  box-shadow: var(--rva-shadow-sm);
}

.rva-trust-band__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background-color: #eef2f5;
  color: var(--rva-color-primary);
  margin-bottom: 0.5rem;
}

.rva-trust-band__item strong {
  display: block;
  font-family: var(--rva-font-heading);
  font-weight: 700;
  font-size: 1.0625rem;
  letter-spacing: -0.01em;
  color: var(--rva-color-text);
}

.rva-trust-band__item span {
  font-size: 0.8125rem;
  line-height: 1.5;
  color: var(--rva-color-text-muted);
  line-height: 1.5;
}

.rva-site-footer {
  background-color: var(--rva-color-primary-deep);
  padding: 2.5rem 4rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
}

.rva-site-footer,
.rva-site-footer a {
  color: #ffffff;
}

.rva-site-footer__meta {
  color: #9dbfb0;
  font-size: 0.8125rem;
}

.rva-site-footer__brand {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  flex-wrap: wrap;
}

.rva-site-footer__links {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  flex-wrap: wrap;
}

.rva-site-footer__links a {
  color: #9dbfb0;
  font-size: 0.8125rem;
  text-decoration: none;
  transition: color 0.15s ease;
}

.rva-site-footer__links a:hover {
  color: #ffffff;
  text-decoration: underline;
}

.rva-logo-mark {
  font-family: var(--rva-font-heading);
  font-weight: 700;
}

.rva-logo-mark span {
  color: var(--rva-color-secondary);
}

/* GeneratePress's own default footer bar is replaced by .rva-site-footer
   (rendered via the generate_after_footer hook) — hide the original so the
   two don't show redundant/duplicate copyright content. */
.site-info {
  display: none;
}

@media (max-width: 768px) {
  .rva-cta-band,
  .rva-site-footer {
    padding: 2rem 1.5rem;
  }

  .rva-trust-band {
    padding: 2.5rem 0;
  }

  .rva-trust-band__grid {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   9. Page Header (interior pages — skill §3.5 reskin pass)
   ========================================================================== */

.rva-page-header {
  background-color: var(--rva-color-surface);
  border-top: 4px solid var(--rva-color-primary);
  border-bottom: 1px solid var(--rva-color-border);
  padding: 2.5rem 4rem;
  margin: 0 -4rem 2.5rem -4rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  box-shadow: var(--rva-shadow-sm);
}

.rva-page-header__eyebrow {
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--rva-color-primary);
}

.rva-page-header h1 {
  font-size: var(--rva-text-h1);
  margin: 0;
}

.rva-page-header p {
  color: var(--rva-color-text-muted);
  font-size: 0.9375rem;
  max-width: 42rem;
  margin: 0;
  line-height: 1.6;
}

@media (max-width: 768px) {
  .rva-page-header {
    padding: 1.75rem 1.5rem;
    margin: 0 -1.5rem 1.75rem -1.5rem;
  }
}

/* Native form control polish — Fluent Forms ships its own styling, but a
   handful of plain-HTML controls (batch lookup, resource-type filter) are
   ours and should match the card/button system rather than default browser
   chrome. */
.rva-input,
.rva-select {
  font-family: var(--rva-font-body);
  font-size: 0.9375rem;
  padding: 0.55em 0.85em;
  border: 1px solid var(--rva-color-border);
  border-radius: var(--rva-radius);
  background-color: var(--rva-color-surface);
  color: var(--rva-color-text);
}

.rva-input:focus,
.rva-select:focus {
  outline: 2px solid var(--rva-color-secondary);
  outline-offset: 1px;
}

.rva-field-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-bottom: 1.5rem;
}

.rva-field-row label {
  font-weight: 500;
  font-size: 0.9375rem;
}

/* Hover-only motion (skill §3.5's standing "minimal — hover states only"
   decision) still needs to respect reduced-motion — the transform/shadow
   transitions on .rva-button and .rva-sc-card collapse to an instant
   state change rather than an animated one. */
@media (prefers-reduced-motion: reduce) {
  .rva-button,
  .rva-sc-card {
    transition: none;
  }

  .rva-button:hover,
  .rva-button:focus,
  .rva-sc-card:hover {
    transform: none;
  }
}

/* ==========================================================================
   10. Editorial Grid System
   ========================================================================== */

/* Simple centered max-width wrapper — used by the blog templates and
   anywhere that just needs the page-edge rhythm without a grid. */
.rva-container {
  max-width: var(--rva-content-max);
  margin-inline: auto;
  padding-inline: var(--rva-edge);
}

/* 12-column asymmetric grid. Deliberately NOT auto-fit/auto-fill — explicit
   spans and starts are what let a block sit off-center on purpose (e.g.
   starting at column 3, spanning 7) instead of every layout defaulting to
   an evenly-divided, centered arrangement. */
.rva-grid-12 {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--rva-grid-gutter);
}

.rva-col-span-4 {
  grid-column: span 4;
}
.rva-col-span-5 {
  grid-column: span 5;
}
.rva-col-span-6 {
  grid-column: span 6;
}
.rva-col-span-7 {
  grid-column: span 7;
}
.rva-col-span-8 {
  grid-column: span 8;
}
.rva-col-span-12 {
  grid-column: span 12;
}
.rva-col-start-2 {
  grid-column-start: 2;
}
.rva-col-start-3 {
  grid-column-start: 3;
}
.rva-col-start-6 {
  grid-column-start: 6;
}
.rva-col-start-8 {
  grid-column-start: 8;
}

@media (max-width: 900px) {
  .rva-grid-12 [class*="rva-col-span-"] {
    grid-column: 1 / -1;
  }
  .rva-grid-12 [class*="rva-col-start-"] {
    grid-column-start: 1;
  }
}

/* Split-screen container — explicitly asymmetric (7/5, never 6/6), placed
   with named grid LINES rather than the grid-template-areas string
   shorthand. Verified in a real browser during this build that
   grid-template-areas silently failed to apply in this environment
   (getComputedStyle reported "none" for the property while the sibling
   grid-template-columns/rows on the same rule parsed fine) — named lines
   produce the identical explicit, named placement without depending on
   that shorthand. `[media-start]`/`[media-end]` etc. are still explicit
   names, just referenced via `grid-column: a / b` instead of `grid-area`. */
.rva-split {
  display: grid;
  grid-template-columns:
    [media-start] minmax(0, 7fr)
    [media-end copy-start] minmax(0, 5fr) [copy-end];
  align-items: center;
  gap: var(--rva-grid-gutter);
}

.rva-split--reverse {
  grid-template-columns:
    [copy-start] minmax(0, 5fr)
    [copy-end media-start] minmax(0, 7fr) [media-end];
}

.rva-split__media {
  grid-column: media-start / media-end;
}
.rva-split__copy {
  grid-column: copy-start / copy-end;
}

@media (max-width: 900px) {
  .rva-split,
  .rva-split--reverse {
    grid-template-columns:
      [media-start copy-start] minmax(0, 1fr)
      [media-end copy-end];
  }
}

/* Overlap composition — an explicit overlapping-lines grid (not absolute
   positioning): the media element spans both named column lines and both
   named row lines (the full box), the copy card spans only the second
   column/second row (bottom-right cell) and is pulled upward with a
   negative margin so it visually floats across the image's bottom edge. */
.rva-overlap {
  display: grid;
  grid-template-columns:
    [media-start] minmax(0, 1fr) [copy-start] minmax(0, 1fr)
    [media-end copy-end];
  grid-template-rows: [media-start] auto [copy-start] auto [media-end copy-end];
}

.rva-overlap__media {
  grid-column: media-start / media-end;
  grid-row: media-start / media-end;
}

.rva-overlap__copy {
  grid-column: copy-start / copy-end;
  grid-row: copy-start / copy-end;
  align-self: end;
  justify-self: start;
  position: relative;
  z-index: 1;
  max-width: 30rem;
  margin-top: calc(-1 * var(--rva-space-3xl));
  padding: var(--rva-space-lg);
  background-color: var(--rva-color-surface);
  border: var(--rva-line-hair);
}

@media (max-width: 760px) {
  .rva-overlap {
    grid-template-columns:
      [media-start copy-start] minmax(0, 1fr)
      [media-end copy-end];
    grid-template-rows: [media-start] auto [copy-start] auto [media-end copy-end];
  }
  .rva-overlap__copy {
    margin-top: -3rem;
    max-width: none;
  }
}

/* Mixed-height media frame — the anti-shadow, anti-radius device. A shifted
   second border (offset by --rva-offset) reads as an engineered, printed
   mark rather than a default card. Combine --tall/--wide/--square in one
   row to get deliberately uneven heights instead of a uniform image grid. */
.rva-frame {
  position: relative;
  border: var(--rva-line-hair);
  border-radius: var(--rva-radius-editorial);
}

.rva-frame::after {
  content: "";
  position: absolute;
  inset: var(--rva-offset) calc(-1 * var(--rva-offset))
    calc(-1 * var(--rva-offset)) var(--rva-offset);
  border: var(--rva-line-accent);
  z-index: -1;
  pointer-events: none;
}

.rva-frame img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.rva-frame--tall {
  aspect-ratio: 3 / 4;
}
.rva-frame--wide {
  aspect-ratio: 16 / 9;
}
.rva-frame--square {
  aspect-ratio: 1 / 1;
}

/* Structural corner mark — a crisp micro-detail (registration-mark style)
   used instead of a hover shadow to signal "this is interactive/notable". */
.rva-mark {
  position: relative;
}

.rva-mark::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 1.25rem;
  height: 1.25rem;
  border-top: var(--rva-line-strong);
  border-left: var(--rva-line-strong);
  pointer-events: none;
}

/* Crisp underline micro-interaction — replaces a hover shadow/lift for
   inline text links inside editorial copy (buttons/cards keep their
   existing lift-and-shadow treatment; this is for links in running text). */
.rva-link-underline {
  position: relative;
  color: inherit;
  text-decoration: none;
  background-image: linear-gradient(currentColor, currentColor);
  background-size: 0% 1px;
  background-position: left bottom;
  background-repeat: no-repeat;
  transition: background-size var(--rva-duration) var(--rva-ease);
}

.rva-link-underline:hover,
.rva-link-underline:focus {
  background-size: 100% 1px;
}

@media (prefers-reduced-motion: reduce) {
  .rva-link-underline {
    transition: none;
  }
}

/* ==========================================================================
   11. Native Blog Engine — core block styling (single.php / archive.php /
   home.php). Targets WordPress's own block markup/classes directly
   (wp-block-*, has-drop-cap, alignwide, alignfull) rather than requiring
   editors to apply theme-specific classes inside the block editor.
   ========================================================================== */

.rva-article-layout {
  display: grid;
  grid-template-columns: minmax(0, 13rem) minmax(0, var(--rva-measure));
  justify-content: center;
  gap: clamp(1.5rem, 4vw, 4rem);
  padding-block: var(--rva-space-2xl);
}

@media (max-width: 900px) {
  .rva-article-layout {
    grid-template-columns: 1fr;
    gap: var(--rva-space-lg);
  }
}

/* Left-aligned metadata column (byline/date/categories) — an editorial
   column, not a WordPress "sidebar" widget area; sticky on wide viewports
   so it stays in view as a long article scrolls. */
.rva-article-meta {
  display: flex;
  flex-direction: column;
  gap: var(--rva-space-sm);
  padding-top: var(--rva-space-3xs);
  border-top: var(--rva-line-strong);
}

@media (min-width: 901px) {
  .rva-article-meta {
    position: sticky;
    top: var(--rva-space-2xl);
    align-self: start;
  }
}

.rva-article-meta__label {
  font-family: var(--rva-font-mono);
  font-size: var(--rva-text-micro);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--rva-color-text-muted);
}

.rva-article-meta__value {
  font-size: var(--rva-text-sm);
  font-weight: 600;
  color: var(--rva-color-text);
}

.rva-article-meta__cats {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
}

/* Article content wrapper — optimal measure lives on the grid column above
   (13rem meta + up to 68ch content), this just sets rhythm/typography. */
.rva-article {
  font-size: var(--rva-text-body);
  line-height: 1.75;
  color: var(--rva-color-text);
}

.rva-article > * + * {
  margin-top: var(--rva-space-md);
}

.rva-article h2 {
  font-size: var(--rva-text-h3);
  margin-top: var(--rva-space-xl);
  line-height: 1.15;
}

.rva-article h3 {
  font-size: var(--rva-text-h4);
  margin-top: var(--rva-space-lg);
}

.rva-article a:not(.rva-button) {
  color: #0369a1;
  text-underline-offset: 0.15em;
}

/* Drop cap — styles WordPress's own native "Drop cap" paragraph toggle
   (adds .has-drop-cap; core's own default theme.json ships an equivalent
   :not(:focus) guard so an in-progress edit doesn't visually break). */
.rva-article .has-drop-cap:not(:focus)::first-letter {
  float: left;
  font-family: var(--rva-font-heading);
  font-weight: 700;
  font-size: 4.5em;
  line-height: 0.85;
  margin: 0.05em 0.08em 0 0;
  color: var(--rva-color-primary);
}

/* Standard quote — left rule, not a giant quotation-mark glyph. */
.rva-article .wp-block-quote {
  border-left: var(--rva-line-strong);
  padding-left: var(--rva-space-md);
  font-style: italic;
  font-size: var(--rva-text-lede);
  color: var(--rva-color-text);
}

.rva-article .wp-block-quote cite {
  display: block;
  margin-top: var(--rva-space-xs);
  font-family: var(--rva-font-mono);
  font-style: normal;
  font-size: var(--rva-text-micro);
  color: var(--rva-color-text-muted);
}

/* Pullquote — breaks past the article's text measure (a controlled,
   symmetric "full-bleed" relative to the narrow column, not the full
   viewport) with top/bottom rules instead of a shadowed card. */
.rva-article .wp-block-pullquote {
  margin-inline: clamp(-4rem, -10vw, -7rem);
  padding-block: var(--rva-space-lg);
  border-top: var(--rva-line-strong);
  border-bottom: var(--rva-line-strong);
  text-align: left;
}

.rva-article .wp-block-pullquote p {
  font-family: var(--rva-font-heading);
  font-size: var(--rva-text-h2);
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -0.01em;
}

.rva-article .wp-block-pullquote cite {
  display: block;
  margin-top: var(--rva-space-sm);
  font-family: var(--rva-font-mono);
  font-style: normal;
  font-size: var(--rva-text-sm);
  color: var(--rva-color-text-muted);
}

@media (max-width: 900px) {
  .rva-article .wp-block-pullquote {
    margin-inline: 0;
  }
}

/* Image + offset caption — a mono-font, left-ruled caption block instead of
   default centered italic gray text, plus wide/full alignment support so
   editors can break an image out of the narrow measure when it matters. */
.rva-article figure.wp-block-image {
  margin-block: var(--rva-space-xl);
}

.rva-article figure.wp-block-image img {
  display: block;
  width: 100%;
  height: auto;
}

.rva-article figure.wp-block-image figcaption {
  /* WordPress core ships a default centered figcaption (text-align:center,
	   plus its own margin/font-size) that otherwise wins here since this
	   rule never touched text-align — verified in a real browser: the
	   left-rule/left-padding box rendered correctly but the text inside it
	   stayed centered, which read as a mistake rather than the intended
	   left-aligned offset caption. */
  margin-top: var(--rva-space-xs);
  padding-left: var(--rva-space-sm);
  border-left: var(--rva-line-accent);
  max-width: var(--rva-measure-narrow);
  font-family: var(--rva-font-mono);
  font-size: var(--rva-text-micro);
  color: var(--rva-color-text-muted);
  text-align: left;
}

.rva-article .alignwide {
  margin-inline: clamp(-2rem, -6vw, -4rem);
  max-width: none;
}

.rva-article .alignfull {
  margin-inline: calc(50% - 50vw);
  max-width: 100vw;
}

/* ---- Post loop (home.php / archive.php) ------------------------------- */

/* First post in the loop gets the featured treatment (bigger display type,
   asymmetric media/copy split) — every post after it is a compact editorial
   row. This is the anti-"predictable 3-column grid" structure: one
   featured item plus a list, not a uniform repeating card. */
.rva-post-featured {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  align-items: end;
  gap: var(--rva-grid-gutter);
  padding-bottom: var(--rva-space-xl);
  margin-bottom: var(--rva-space-lg);
  border-bottom: var(--rva-line-strong);
}

.rva-post-featured__title {
  font-size: var(--rva-text-h1);
  line-height: 1.02;
  margin: var(--rva-space-sm) 0;
}

.rva-post-featured__excerpt {
  color: var(--rva-color-text-muted);
  max-width: 46ch;
}

@media (max-width: 900px) {
  .rva-post-featured {
    grid-template-columns: 1fr;
  }
}

/* No featured image on this post — collapse to one column instead of
   leaving half the row as dead blank space. Verified needed in a real
   browser: all 4 seed posts currently have no thumbnail, so this isn't a
   rare edge case, it's the common case until real photography exists. */
.rva-post-featured--no-media {
  grid-template-columns: 1fr;
}

.rva-post-featured--no-media .rva-post-featured__copy {
  max-width: var(--rva-measure);
}

/* Alternating compact rows for the rest of the loop. */
.rva-post-row {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  align-items: center;
  gap: var(--rva-grid-gutter);
  padding-block: var(--rva-space-lg);
  border-top: var(--rva-line-hair);
}

.rva-post-row--reverse {
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
}

.rva-post-row--reverse .rva-post-row__media {
  order: 2;
}

.rva-post-row--no-media {
  grid-template-columns: 1fr;
}

.rva-post-row--no-media .rva-post-row__copy {
  max-width: var(--rva-measure-narrow);
}

.rva-post-row__eyebrow {
  display: block;
  font-family: var(--rva-font-mono);
  font-size: var(--rva-text-micro);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--rva-color-primary);
}

.rva-post-row__title {
  font-size: var(--rva-text-h3);
  margin: var(--rva-space-xs) 0;
}

.rva-post-row__title a {
  color: var(--rva-color-text);
  text-decoration: none;
}

.rva-post-row__excerpt {
  color: var(--rva-color-text-muted);
  max-width: 42ch;
  margin: 0;
}

@media (max-width: 760px) {
  .rva-post-row,
  .rva-post-row--reverse {
    grid-template-columns: 1fr;
  }
  .rva-post-row--reverse .rva-post-row__media {
    order: 0;
  }
}

/* ==========================================================================
   12. About Page — demonstrates .rva-split / .rva-overlap / mixed-height
   .rva-frame pairs (§10) on a real custom template, not just as unused
   utility classes.
   ========================================================================== */

.rva-about {
  display: flex;
  flex-direction: column;
  gap: var(--rva-space-3xl);
  padding-block: var(--rva-space-2xl) var(--rva-space-3xl);
}

.rva-about h2 {
  font-size: var(--rva-text-h2);
  margin: 0 0 var(--rva-space-sm);
}

.rva-about p {
  max-width: var(--rva-measure);
}

/* Two frames of different aspect ratio stacked in the split's media
   column — genuinely mixed heights (tall + square), not a uniform pair. */
.rva-about__frame-pair {
  display: flex;
  flex-direction: column;
  gap: var(--rva-space-md);
}

.rva-overlap__copy h2 {
  font-size: var(--rva-text-h3);
}

.rva-about__eyebrow {
  color: var(--rva-color-primary);
  display: inline-block;
  margin-bottom: var(--rva-space-2xs);
}

.rva-about__values ul {
  padding-left: 1.25rem;
  max-width: var(--rva-measure);
}

.rva-about__values li {
  margin-bottom: var(--rva-space-xs);
}

/* ==========================================================================
   13. Precision Laboratory Datasheet (single-assay_service.php)
   ========================================================================== */

.rva-datasheet-container {
  padding: var(--rva-space-xl) var(--rva-edge);
}

.rva-pending-notice {
  background-color: #fef3c7;
  border: 1px solid #fde68a;
  border-radius: var(--rva-radius);
  padding: var(--rva-space-sm) var(--rva-space-md);
  margin-bottom: var(--rva-space-lg);
  display: flex;
  align-items: center;
  gap: var(--rva-space-sm);
}

.rva-pending-notice p {
  margin: 0;
  color: #92400e;
  font-size: 0.875rem;
}

.rva-datasheet-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--rva-space-xl);
  align-items: start;
}

@media (min-width: 992px) {
  .rva-datasheet-layout {
    grid-template-columns: 1fr 360px;
    gap: var(--rva-space-2xl);
  }
}

.rva-datasheet-meta-strip {
  display: flex;
  flex-wrap: wrap;
  gap: var(--rva-space-xs);
  align-items: center;
  margin-bottom: var(--rva-space-md);
}

.rva-badge--code {
  background-color: var(--rva-color-primary-deep);
  color: #ffffff;
  font-weight: 600;
  letter-spacing: 0.05em;
  padding: 0.25em 0.75em;
}

.rva-badge--category {
  background-color: var(--rva-color-canvas);
  color: var(--rva-color-primary);
  border: 1px solid var(--rva-color-border);
  text-decoration: none;
  transition: background-color 150ms ease-out;
}

.rva-badge--category:hover {
  background-color: #e2e8f0;
}

.rva-badge--instrument {
  background-color: var(--rva-color-tag-bg);
  color: var(--rva-color-tag-text);
}

.rva-datasheet-description {
  background-color: var(--rva-color-surface);
  border: 1px solid var(--rva-color-border);
  border-radius: var(--rva-radius-lg);
  padding: var(--rva-space-lg);
  margin-bottom: var(--rva-space-xl);
  box-shadow: var(--rva-shadow-sm);
}

.rva-datasheet-description h2 {
  margin-top: 0;
  margin-bottom: var(--rva-space-sm);
  font-size: 1.25rem;
  color: var(--rva-color-text);
}

.rva-params-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--rva-space-md);
  margin-bottom: var(--rva-space-xl);
}

@media (max-width: 600px) {
  .rva-params-grid {
    grid-template-columns: 1fr;
  }
}

.rva-param-box {
  background-color: var(--rva-color-surface);
  border: 1px solid var(--rva-color-border);
  border-radius: var(--rva-radius-lg);
  padding: var(--rva-space-md);
  box-shadow: var(--rva-shadow-sm);
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.rva-param-box__label {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--rva-color-text-muted);
  font-weight: 600;
}

.rva-param-box__value {
  font-size: 1rem;
  color: var(--rva-color-text);
}

.rva-qaqc-card {
  background-color: #f8fafc;
  border: 1px solid #cbd5e1;
  border-left: 4px solid var(--rva-color-primary);
  border-radius: var(--rva-radius-lg);
  padding: var(--rva-space-lg);
  margin-bottom: var(--rva-space-xl);
}

.rva-qaqc-card__header h3 {
  margin: 0.25rem 0 var(--rva-space-xs) 0;
  font-size: 1.15rem;
  color: var(--rva-color-primary-deep);
}

.rva-eyebrow-accent {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--rva-color-primary);
  font-weight: 600;
}

.rva-qaqc-card__features {
  margin: var(--rva-space-sm) 0 0 0;
  padding-left: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  font-size: 0.9375rem;
  color: #334155;
}

.rva-submission-guidelines-box {
  background-color: var(--rva-color-surface);
  border: 1px solid var(--rva-color-border);
  border-radius: var(--rva-radius-lg);
  padding: var(--rva-space-md) var(--rva-space-lg);
}

.rva-submission-guidelines-box h3 {
  margin-top: 0;
  margin-bottom: 0.5rem;
  font-size: 1.1rem;
}

/* Sidebar Config Card */
.rva-config-card {
  background-color: var(--rva-color-surface);
  border: 1px solid var(--rva-color-border);
  border-radius: var(--rva-radius-lg);
  padding: var(--rva-space-lg);
  box-shadow: var(--rva-shadow-md);
  position: sticky;
  top: 2rem;
}

.rva-config-card__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: var(--rva-space-xs);
}

.rva-config-card__title {
  margin: 0 0 var(--rva-space-xs) 0;
  font-size: 1.2rem;
  line-height: 1.3;
}

.rva-config-card__desc {
  font-size: 0.875rem;
  color: var(--rva-color-text-muted);
  margin-bottom: var(--rva-space-md);
}

.rva-config-form {
  display: flex;
  flex-direction: column;
  gap: var(--rva-space-md);
  margin-bottom: var(--rva-space-md);
}

.rva-config-field {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.rva-config-field label {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--rva-color-text);
}

.rva-input {
  border: 1px solid var(--rva-color-border);
  border-radius: var(--rva-radius);
  padding: 0.6em 0.85em;
  font-size: 0.9375rem;
  background-color: #ffffff;
  color: var(--rva-color-text);
  width: 100%;
}

.rva-input:focus {
  outline: none;
  border-color: var(--rva-color-secondary);
  box-shadow: 0 0 0 3px rgba(2, 132, 199, 0.15);
}

.rva-button--block {
  display: block;
  width: 100%;
  text-align: center;
}

.rva-button--added {
  background-color: #059669 !important;
  color: #ffffff !important;
}

.rva-config-feedback {
  display: block;
  font-size: 0.8125rem;
  color: #059669;
  font-weight: 500;
  min-height: 1.2rem;
  text-align: center;
}

.rva-config-card__notes {
  padding: var(--rva-space-sm) 0;
  border-top: 1px solid var(--rva-color-border);
  border-bottom: 1px solid var(--rva-color-border);
  margin-bottom: var(--rva-space-md);
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.rva-config-card__notes p {
  margin: 0;
  font-size: 0.8125rem;
  color: var(--rva-color-text-muted);
}

/* ==========================================================================
   14. Quotation Submission & Basket Flow (page-sample-submission.php)
   ========================================================================== */

.rva-submission-container {
  padding: var(--rva-space-xl) var(--rva-edge);
  display: flex;
  flex-direction: column;
  gap: var(--rva-space-2xl);
}

.rva-submission-step {
  background-color: var(--rva-color-surface);
  border: 1px solid var(--rva-color-border);
  border-radius: var(--rva-radius-lg);
  padding: var(--rva-space-xl);
  box-shadow: var(--rva-shadow-sm);
}

.rva-step-badge-bar {
  display: flex;
  align-items: center;
  gap: var(--rva-space-sm);
  margin-bottom: var(--rva-space-xs);
}

.rva-step-badge {
  background-color: var(--rva-color-primary);
  color: #ffffff;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 0.25em 0.75em;
  border-radius: var(--rva-radius);
}

.rva-step-badge-bar h2 {
  margin: 0;
  font-size: 1.35rem;
  letter-spacing: -0.02em;
}

.rva-coc-callout {
  background-color: #f0fdf4;
  border: 1px solid #bbf7d0;
  border-radius: var(--rva-radius);
  padding: var(--rva-space-md);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--rva-space-md);
  margin-bottom: var(--rva-space-lg);
}

@media (max-width: 650px) {
  .rva-coc-callout {
    flex-direction: column;
    align-items: flex-start;
  }
}

.rva-coc-callout__icon {
  font-size: 1.5rem;
}

.rva-coc-callout__text {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  flex: 1;
}

.rva-coc-callout__text strong {
  color: #166534;
  font-size: 0.9375rem;
}

.rva-coc-callout__text span {
  color: #15803d;
  font-size: 0.8125rem;
}

.rva-basket-empty-card {
  text-align: center;
  padding: var(--rva-space-2xl) var(--rva-space-lg);
  border: 2px dashed var(--rva-color-border);
  border-radius: var(--rva-radius-lg);
  background-color: var(--rva-color-canvas);
}

.rva-basket-empty-icon {
  font-size: 2.5rem;
  margin-bottom: var(--rva-space-xs);
}

.rva-basket-empty-card h3 {
  margin: 0 0 var(--rva-space-xs) 0;
  font-size: 1.25rem;
}

.rva-basket-empty-card p {
  color: var(--rva-color-text-muted);
  max-width: 34rem;
  margin: 0 auto var(--rva-space-lg) auto;
  font-size: 0.9375rem;
}

.rva-quick-packages {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--rva-space-xs);
  margin-bottom: var(--rva-space-xl);
}

.rva-package-btn {
  background-color: #ffffff;
  border: 1px solid #cbd5e1;
  color: var(--rva-color-primary-deep);
  padding: 0.5em 1em;
  border-radius: var(--rva-radius);
  font-size: 0.8125rem;
  font-weight: 500;
  cursor: pointer;
  transition:
    background-color 150ms ease-out,
    border-color 150ms ease-out,
    color 150ms ease-out,
    transform 150ms ease-out;
}

.rva-package-btn:hover {
  border-color: var(--rva-color-primary);
  background-color: #f8fafc;
  color: var(--rva-color-primary);
  transform: translateY(-1px);
}

.rva-basket-active-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--rva-space-sm);
}

.rva-basket-active-header h4 {
  margin: 0;
  font-size: 1rem;
  color: var(--rva-color-text);
}

.rva-basket-table th,
.rva-basket-table td {
  padding: var(--rva-space-sm) var(--rva-space-md);
}

.rva-basket-remove {
  background: none;
  border: 1px solid #fecaca;
  color: #ef4444;
  border-radius: var(--rva-radius);
  width: 28px;
  height: 28px;
  line-height: 1;
  font-size: 1.1rem;
  cursor: pointer;
  transition:
    background-color 150ms ease-out,
    color 150ms ease-out;
}

.rva-basket-remove:hover {
  background-color: #fee2e2;
  color: #b91c1c;
}

.rva-link-danger {
  background: none;
  border: none;
  color: #dc2626;
  cursor: pointer;
  font-size: 0.8125rem;
  text-decoration: underline;
}

.rva-link-danger:hover {
  color: #991b1b;
}

.rva-dispatch-notice {
  background-color: #f1f5f9;
  border-left: 3px solid var(--rva-color-secondary);
  padding: var(--rva-space-sm) var(--rva-space-md);
  border-radius: var(--rva-radius);
  margin-bottom: var(--rva-space-lg);
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  font-size: 0.875rem;
}

.rva-dispatch-notice strong {
  color: var(--rva-color-text);
}

.rva-dispatch-notice span {
  color: var(--rva-color-text-muted);
}

/* ==========================================================================
   15. Documentation Centre & Technical Downloads Hub
   ========================================================================== */

.rva-doc-portal {
  padding-top: var(--rva-space-xl);
  padding-bottom: var(--rva-space-3xl);
}

.rva-doc-portal__nav {
  margin-bottom: var(--rva-space-xl);
}

.rva-doc-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  border-bottom: 1px solid var(--rva-color-border);
  padding-bottom: 0.75rem;
}

.rva-doc-tab {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--rva-color-text-muted);
  border: 1px solid transparent;
  border-radius: var(--rva-radius);
  text-decoration: none;
  transition:
    background-color 0.15s ease-in-out,
    border-color 0.15s ease-in-out,
    color 0.15s ease-in-out;
}

.rva-doc-tab:hover {
  color: var(--rva-color-primary);
  background-color: #f1f5f9;
}

.rva-doc-tab.is-active {
  color: #ffffff;
  background-color: var(--rva-color-primary);
  border-color: var(--rva-color-primary);
}

.rva-doc-tab__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.1rem 0.45rem;
  font-size: 0.75rem;
  font-family: var(--rva-font-mono);
  border-radius: 9999px;
  background-color: rgba(0, 0, 0, 0.08);
}

.rva-doc-tab.is-active .rva-doc-tab__count {
  background-color: rgba(255, 255, 255, 0.25);
  color: #ffffff;
}

.rva-doc-mobile-filter {
  display: none;
}

@media (max-width: 768px) {
  .rva-doc-tabs {
    display: none;
  }
  .rva-doc-mobile-filter {
    display: block;
  }
}

.rva-doc-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
  gap: var(--rva-space-lg);
  margin-bottom: var(--rva-space-2xl);
}

.rva-doc-card {
  background-color: #ffffff;
  border: 1px solid var(--rva-color-border);
  border-radius: var(--rva-radius-lg);
  padding: var(--rva-space-lg);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    border-color 0.2s ease;
}

.rva-doc-card:hover {
  transform: translateY(-2px);
  border-color: #cbd5e1;
  box-shadow: 0 8px 20px -4px rgba(27, 77, 62, 0.08);
}

.rva-doc-card__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: var(--rva-space-sm);
}

.rva-doc-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  align-items: center;
}

.rva-doc-card__icon {
  color: var(--rva-color-primary);
  background-color: #edf7f2;
  width: 40px;
  height: 40px;
  border-radius: var(--rva-radius);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.rva-doc-card__body {
  flex: 1;
  margin-bottom: var(--rva-space-md);
}

.rva-doc-card__title {
  font-size: 1.0625rem;
  font-weight: 600;
  color: var(--rva-color-text);
  line-height: 1.35;
  margin: 0 0 0.5rem 0;
}

.rva-doc-card__desc {
  font-size: 0.875rem;
  color: var(--rva-color-text-muted);
  line-height: 1.5;
  margin: 0;
}

.rva-doc-card__footer {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding-top: var(--rva-space-sm);
  border-top: 1px solid #f1f5f9;
}

.rva-doc-download-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}

.rva-doc-support-card {
  background-color: #f8fafc;
  border: 1px solid var(--rva-color-border);
  border-radius: var(--rva-radius-lg);
  padding: var(--rva-space-xl);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--rva-space-xl);
  flex-wrap: wrap;
}

.rva-doc-support-card__content {
  flex: 1;
  min-width: 280px;
}

.rva-doc-support-card__title {
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--rva-color-text);
  margin: 0.5rem 0;
}

.rva-doc-support-card__desc {
  font-size: 0.875rem;
  color: var(--rva-color-text-muted);
  margin: 0;
  line-height: 1.55;
  max-width: 48rem;
}

.rva-doc-support-card__actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.rva-sc-empty-state {
  text-align: center;
  padding: var(--rva-space-3xl) var(--rva-space-lg);
  background-color: #f8fafc;
  border: 1px dashed var(--rva-color-border);
  border-radius: var(--rva-radius-lg);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--rva-space-md);
}

.rva-sc-empty-state p {
  color: var(--rva-color-text-muted);
  margin: 0;
}

/* ==========================================================================
   16. Contact Page & Logistics Grid
   ========================================================================== */

.rva-contact-container {
  padding-top: var(--rva-space-xl);
  padding-bottom: var(--rva-space-3xl);
}

.rva-contact-grid {
  display: grid;
  grid-template-columns: 1fr 1.35fr;
  gap: var(--rva-space-xl);
  margin-bottom: var(--rva-space-2xl);
  align-items: stretch;
}

@media (max-width: 900px) {
  .rva-contact-grid {
    grid-template-columns: 1fr;
  }
}

.rva-contact-card {
  background-color: #ffffff;
  border: 1px solid var(--rva-color-border);
  border-radius: var(--rva-radius-lg);
  padding: var(--rva-space-xl);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.rva-contact-info {
  display: flex;
  flex-direction: column;
  gap: var(--rva-space-md);
}

.rva-contact-section {
  padding-bottom: var(--rva-space-md);
  border-bottom: 1px solid #f1f5f9;
}

.rva-contact-section:last-child {
  padding-bottom: 0;
  border-bottom: none;
}

.rva-contact-card__heading {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--rva-color-text);
  margin: 0.5rem 0 0.25rem 0;
  line-height: 1.3;
}

.rva-contact-address {
  font-size: 0.9375rem;
  color: var(--rva-color-text-muted);
  line-height: 1.5;
  margin: 0;
}

.rva-contact-subheading {
  font-size: 0.8125rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: 600;
  color: #64748b;
  margin: 0 0 0.5rem 0;
}

.rva-contact-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

.rva-contact-list li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.875rem;
}

.rva-contact-label {
  color: var(--rva-color-text-muted);
}

.rva-contact-val {
  font-family: var(--rva-font-mono);
  font-weight: 500;
  color: var(--rva-color-primary);
  text-decoration: none;
}

.rva-contact-val:hover {
  text-decoration: underline;
}

.rva-contact-email {
  font-family: var(--rva-font-mono);
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--rva-color-primary);
  text-decoration: none;
}

.rva-contact-email:hover {
  text-decoration: underline;
}

.rva-contact-hours {
  font-size: 0.875rem;
  color: var(--rva-color-text);
  margin: 0;
  line-height: 1.5;
}

.rva-contact-note {
  display: block;
  font-size: 0.8125rem;
  color: var(--rva-color-text-muted);
  margin-top: 0.25rem;
}

.rva-contact-coc-box {
  background-color: #edf7f2;
  border: 1px solid #cce8d9;
  border-radius: var(--rva-radius);
  padding: var(--rva-space-md);
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

.rva-contact-coc-box strong {
  color: var(--rva-color-primary);
  font-size: 0.875rem;
}

.rva-contact-coc-box p {
  font-size: 0.8125rem;
  color: #2d5a47;
  margin: 0;
  line-height: 1.4;
}

.rva-contact-form-wrapper {
  display: flex;
  flex-direction: column;
}

.rva-contact-form-header {
  margin-bottom: var(--rva-space-lg);
}

.rva-contact-form-sub {
  font-size: 0.875rem;
  color: var(--rva-color-text-muted);
  margin: 0.35rem 0 0 0;
  line-height: 1.5;
}

.rva-contact-form-body {
  flex: 1;
}

.rva-contact-map-card {
  background-color: #ffffff;
  border: 1px solid var(--rva-color-border);
  border-radius: var(--rva-radius-lg);
  padding: var(--rva-space-xl);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.rva-contact-map-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: var(--rva-space-xl);
  margin-bottom: var(--rva-space-lg);
  flex-wrap: wrap;
}

.rva-contact-map-title {
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--rva-color-text);
  margin: 0.4rem 0 0 0;
}

.rva-contact-map-desc {
  font-size: 0.875rem;
  color: var(--rva-color-text-muted);
  margin: 0;
  max-width: 44rem;
  line-height: 1.5;
}

.rva-contact-map-embed {
  border-radius: var(--rva-radius);
  overflow: hidden;
  border: 1px solid var(--rva-color-border);
}

.rva-contact-map-embed iframe {
  display: block;
}

.rva-contact-map-fallback {
  margin: 0;
  padding: 0.6rem 1rem;
  font-size: 0.8125rem;
  background: var(--rva-color-canvas);
  border-top: 1px solid var(--rva-color-border);
}

.rva-contact-map-fallback a {
  color: var(--rva-color-primary);
  font-weight: 500;
  text-decoration: none;
}

.rva-contact-map-fallback a:hover {
  text-decoration: underline;
}

/* ==========================================================================
   17. Hero Studio Visual & Quick Stats Bar
   ========================================================================== */

.rva-hero--studio {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 4.5rem 0 5rem 0;
  position: relative;
  color: #ffffff;
}

.rva-hero--studio .rva-hero__title {
  color: #ffffff;
  font-size: 2.75rem;
  font-weight: 700;
  line-height: 1.18;
  margin: 0.75rem 0 1.25rem 0;
  letter-spacing: -0.02em;
}

.rva-hero--studio .rva-hero__lead {
  color: #cbd5e1;
  font-size: 1.125rem;
  line-height: 1.6;
  margin-bottom: 2rem;
  max-width: 38rem;
}

.rva-hero__badge-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.rva-hero--studio .rva-hero__eyebrow {
  color: #94a3b8;
  font-size: 0.8125rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 600;
}

.rva-stats-bar {
  background-color: #04120e;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  color: #ffffff;
  padding: 0.95rem 0;
  position: relative;
  z-index: 10;
}

.rva-stats-bar__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
}

@media (max-width: 900px) {
  .rva-stats-bar__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
}

@media (max-width: 540px) {
  .rva-stats-bar__grid {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }
}

.rva-stats-item {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  border-right: 1px solid rgba(255, 255, 255, 0.08);
  padding-right: 1rem;
}

.rva-stats-item:last-child {
  border-right: none;
}

.rva-stats-num {
  font-family: var(--rva-font-mono);
  font-size: 1.25rem;
  font-weight: 700;
  color: #facc15;
  letter-spacing: -0.02em;
}

.rva-stats-label {
  font-size: 0.71875rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #94a3b8;
}

/* ==========================================================================
   18. Analytical Method Navigator
   ========================================================================== */

.rva-method-navigator-section {
  background-color: #f8fafc;
  border-bottom: 1px solid var(--rva-color-border);
  padding: 4rem 0;
}

.rva-section-header {
  margin-bottom: 2.5rem;
}

.rva-section-title {
  font-size: 2rem;
  font-weight: 700;
  color: var(--rva-color-text);
  margin: 0.5rem 0 0.75rem 0;
  letter-spacing: -0.015em;
  text-wrap: balance;
}

.rva-section-subtitle {
  font-size: 1.0625rem;
  color: var(--rva-color-text-muted);
  max-width: 44rem;
  margin: 0 auto;
  line-height: 1.6;
}

.rva-text-center {
  text-align: center;
}

.rva-navigator-controls {
  margin-bottom: 2rem;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.rva-navigator-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: center;
}

.rva-nav-tab {
  background: #ffffff;
  border: 1px solid var(--rva-color-border);
  border-radius: var(--rva-radius);
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--rva-color-text-muted);
  cursor: pointer;
  transition:
    background-color 0.15s ease,
    border-color 0.15s ease,
    color 0.15s ease;
}

.rva-nav-tab:hover {
  color: var(--rva-color-primary);
  border-color: #cbd5e1;
  background-color: #f1f5f9;
}

.rva-nav-tab.is-active {
  background-color: var(--rva-color-primary);
  color: #ffffff;
  border-color: var(--rva-color-primary);
}

.rva-navigator-filters {
  display: flex;
  gap: 1rem;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}

.rva-nav-search-wrap {
  position: relative;
  flex: 1;
  max-width: 28rem;
  min-width: 240px;
}

.rva-nav-search-icon {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: #94a3b8;
}

.rva-nav-search-input {
  width: 100%;
  padding: 0.6rem 1rem 0.6rem 2.5rem;
  font-size: 0.875rem;
  border: 1px solid var(--rva-color-border);
  border-radius: var(--rva-radius);
  background: #ffffff;
  color: var(--rva-color-text);
}

.rva-nav-search-input:focus {
  outline: 2px solid var(--rva-color-primary);
  border-color: transparent;
}

.rva-nav-matrix-select-wrap {
  min-width: 220px;
}

.rva-nav-matrix-select {
  padding: 0.6rem 1rem;
  font-size: 0.875rem;
  border: 1px solid var(--rva-color-border);
  border-radius: var(--rva-radius);
  background: #ffffff;
  color: var(--rva-color-text);
}

.rva-navigator-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(320px, 100%), 1fr));
  gap: 1.5rem;
  margin-bottom: 2.5rem;
}

.rva-nav-card {
  background: #ffffff;
  border: 1px solid var(--rva-color-border);
  border-radius: var(--rva-radius-lg);
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    border-color 0.2s ease;
}

.rva-nav-card:hover {
  transform: translateY(-2px);
  border-color: #cbd5e1;
  box-shadow: 0 8px 20px -4px rgba(27, 77, 62, 0.08);
}

.rva-nav-card__top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.75rem;
}

.rva-nav-code {
  font-family: var(--rva-font-mono);
  font-size: 0.75rem;
  font-weight: 600;
  background: #edf7f2;
  color: var(--rva-color-primary);
  padding: 0.2rem 0.5rem;
  border-radius: 4px;
  letter-spacing: 0.05em;
}

.rva-nav-card__title {
  font-size: 1.0625rem;
  font-weight: 600;
  color: var(--rva-color-text);
  line-height: 1.35;
  margin: 0 0 1rem 0;
}

.rva-nav-card__title a {
  color: inherit;
  text-decoration: none;
}

.rva-nav-card__title a:hover {
  color: var(--rva-color-primary);
}

.rva-nav-card__specs {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  font-size: 0.8125rem;
  padding: 0.75rem;
  background: #f8fafc;
  border-radius: var(--rva-radius);
  margin-bottom: 1.25rem;
}

.rva-nav-spec-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.rva-nav-spec-label {
  color: var(--rva-color-text-muted);
}

.rva-nav-spec-val {
  font-weight: 500;
  color: var(--rva-color-text);
}

.rva-nav-card__actions {
  display: flex;
  gap: 0.5rem;
  align-items: center;
}

.rva-navigator-footer {
  background: #ffffff;
  border: 1px solid var(--rva-color-border);
  border-radius: var(--rva-radius-lg);
  padding: 1.5rem 2rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  flex-wrap: wrap;
}

.rva-nav-footer-text {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.rva-nav-footer-text strong {
  color: var(--rva-color-text);
  font-size: 0.9375rem;
}

.rva-nav-footer-text span {
  color: var(--rva-color-text-muted);
  font-size: 0.875rem;
}

.rva-nav-footer-actions {
  display: flex;
  gap: 0.75rem;
  align-items: center;
  flex-wrap: wrap;
}

/* ==========================================================================
   19. Mining Lifecycle Solutions Hub
   ========================================================================== */

.rva-lifecycle-section {
  padding: 4.5rem 0;
  background: #ffffff;
  border-bottom: 1px solid var(--rva-color-border);
}

.rva-lifecycle-nav {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
  gap: 0.25rem 0.5rem;
  padding-bottom: 1rem;
  margin-bottom: 2rem;
  border-bottom: 1px solid var(--rva-color-border);
}

.rva-lifecycle-tab {
  background: none;
  border: none;
  padding: 0.75rem 0.75rem;
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  margin-bottom: -1rem;
  white-space: normal;
  text-align: left;
  font-size: 0.875rem;
  line-height: 1.3;
  /* GeneratePress's default <button> color is white — invisible here since
	   this tab sits on a light background with no background-color of its
	   own to carry that default. Every inactive tab's label was rendering
	   white-on-white until this was set explicitly. */
  color: var(--rva-color-text-muted);
  transition:
    color 0.2s ease,
    border-color 0.2s ease;
}

.rva-lifecycle-tab:hover {
  color: var(--rva-color-primary);
}

.rva-lifecycle-tab.is-active {
  border-bottom-color: var(--rva-color-primary);
  color: var(--rva-color-primary);
}

.rva-lifecycle-num {
  font-family: var(--rva-font-mono);
  font-size: 0.75rem;
  font-weight: 700;
  background: #f1f5f9;
  color: #64748b;
  padding: 0.15rem 0.4rem;
  border-radius: 4px;
}

.rva-lifecycle-tab.is-active .rva-lifecycle-num {
  background: var(--rva-color-primary);
  color: #ffffff;
}

.rva-lifecycle-name {
  font-size: 0.875rem;
  font-weight: 600;
}

.rva-lifecycle-panel {
  background: #f8fafc;
  border: 1px solid var(--rva-color-border);
  border-radius: var(--rva-radius-lg);
  padding: 2.5rem;
}

.rva-lifecycle-panel__grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 2.5rem;
  align-items: center;
}

@media (max-width: 860px) {
  .rva-lifecycle-panel__grid {
    grid-template-columns: 1fr;
  }
}

.rva-lifecycle-panel__title {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--rva-color-text);
  margin: 0.75rem 0 1rem 0;
  line-height: 1.3;
}

.rva-lifecycle-panel__text {
  font-size: 0.9375rem;
  color: var(--rva-color-text-muted);
  line-height: 1.6;
  margin-bottom: 1.25rem;
}

.rva-lifecycle-features {
  list-style: none;
  margin: 0 0 1.5rem 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  font-size: 0.875rem;
}

.rva-lifecycle-features li {
  position: relative;
  padding-left: 1.25rem;
  color: #334155;
}

.rva-lifecycle-features li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: var(--rva-color-primary);
  font-weight: bold;
  font-size: 1.1rem;
  line-height: 1;
}

.rva-lifecycle-actions {
  display: flex;
  gap: 0.75rem;
  align-items: center;
  flex-wrap: wrap;
}

.rva-lifecycle-panel__image-wrap {
  border-radius: var(--rva-radius);
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.rva-lifecycle-img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  max-height: 380px;
}

/* ==========================================================================
   20. 5-Step Sample Journey Visualizer
   ========================================================================== */

.rva-journey-section {
  padding: 4.5rem 0;
  background: #ffffff;
  border-bottom: 1px solid var(--rva-color-border);
}

.rva-journey-timeline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 2.5rem;
  overflow-x: auto;
  padding-bottom: 0.5rem;
}

.rva-journey-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
  min-width: 90px;
}

.rva-journey-step__num {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #f1f5f9;
  color: #64748b;
  font-weight: 700;
  font-family: var(--rva-font-mono);
  font-size: 0.875rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--rva-color-border);
  transition:
    background-color 0.2s ease,
    color 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}

.rva-journey-step.is-active .rva-journey-step__num {
  background: var(--rva-color-primary);
  color: #ffffff;
  border-color: var(--rva-color-primary);
  box-shadow: 0 0 0 4px #edf7f2;
}

.rva-journey-step__title {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--rva-color-text-muted);
  text-align: center;
  max-width: 110px;
}

.rva-journey-step.is-active .rva-journey-step__title {
  color: var(--rva-color-primary);
}

.rva-journey-line {
  flex: 1;
  height: 2px;
  background: var(--rva-color-border);
  margin: 0 0.5rem 1.25rem 0.5rem;
  min-width: 24px;
}

.rva-journey-cards {
  margin-bottom: 2rem;
}

.rva-journey-card {
  background: #f8fafc;
  border: 1px solid var(--rva-color-border);
  border-radius: var(--rva-radius-lg);
  padding: 2.5rem;
}

.rva-journey-card__header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1rem;
  flex-wrap: wrap;
}

.rva-journey-card__heading {
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--rva-color-text);
  margin: 0;
}

.rva-journey-card__body p {
  font-size: 0.9375rem;
  color: var(--rva-color-text-muted);
  line-height: 1.6;
  margin-bottom: 1.25rem;
}

.rva-journey-callout {
  background: #edf7f2;
  border-left: 3px solid var(--rva-color-primary);
  padding: 0.75rem 1rem;
  border-radius: 0 var(--rva-radius) var(--rva-radius) 0;
  font-size: 0.875rem;
  color: #1e3a2f;
  margin-bottom: 1.5rem;
}

.rva-journey-card__meta {
  display: flex;
  gap: 1.5rem;
  font-size: 0.8125rem;
  color: #64748b;
  border-top: 1px solid var(--rva-color-border);
  padding-top: 1rem;
  flex-wrap: wrap;
}

.rva-journey-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.25rem 1.75rem;
  background: #ffffff;
  border: 1px solid var(--rva-color-border);
  border-radius: var(--rva-radius);
  font-size: 0.875rem;
  color: var(--rva-color-text);
  flex-wrap: wrap;
  gap: 1rem;
}

/* ==========================================================================
   21. Environmental Matrix & About Equipment Inventory
   ========================================================================== */

.rva-matrix-section {
  padding: 4.5rem 0;
  background: #ffffff;
}

.rva-matrix-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--rva-color-border);
  border-radius: var(--rva-radius-lg);
  margin-bottom: 1.5rem;
  background: #ffffff;
}

.rva-matrix-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
}

.rva-matrix-table th {
  background: #f1f5f9;
  color: var(--rva-color-text);
  font-weight: 600;
  text-align: left;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--rva-color-border);
}

.rva-matrix-table td {
  padding: 0.85rem 1rem;
  border-bottom: 1px solid var(--rva-color-border);
  vertical-align: top;
}

.rva-matrix-table tr:last-child td {
  border-bottom: none;
}

.rva-matrix-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #f8fafc;
  border: 1px solid var(--rva-color-border);
  border-radius: var(--rva-radius);
  padding: 1rem 1.5rem;
  gap: 1rem;
  flex-wrap: wrap;
}

.rva-matrix-footer__note {
  font-size: 0.8125rem;
  color: var(--rva-color-text-muted);
  flex: 1;
  min-width: 260px;
}

.rva-matrix-footer__actions {
  display: flex;
  gap: 0.75rem;
  align-items: center;
  flex-wrap: wrap;
}

.rva-equipment-section {
  padding: 4rem 0;
  border-top: 1px solid var(--rva-color-border);
  margin-top: 3rem;
}

.rva-equipment-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 1.5rem;
  margin-top: 2rem;
}

.rva-equipment-card {
  background: #ffffff;
  border: 1px solid var(--rva-color-border);
  border-radius: var(--rva-radius-lg);
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.rva-equipment-card__num {
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--rva-color-primary);
  margin-bottom: 0.5rem;
}

.rva-equipment-card__title {
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--rva-color-text);
  margin: 0 0 0.5rem 0;
}

.rva-equipment-card__desc {
  font-size: 0.875rem;
  color: var(--rva-color-text-muted);
  line-height: 1.55;
  margin: 0 0 1rem 0;
  flex: 1;
}

.rva-about__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: var(--rva-radius);
}

.rva-about__cta {
  margin-top: 4rem;
}

.rva-about__cta-card {
  background: #061a14;
  color: #ffffff;
  border-radius: var(--rva-radius-lg);
  padding: 3.5rem;
  text-align: center;
}

.rva-about__cta-card h2 {
  color: #ffffff;
  font-size: 2rem;
  margin-bottom: 0.75rem;
}

.rva-about__cta-card p {
  color: #cbd5e1;
  max-width: 40rem;
  margin: 0 auto 2rem auto;
  font-size: 1.0625rem;
}

.rva-about__cta-actions {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
}

/* ==========================================================================
   22. Category Hero Banner & Catalog Header
   ========================================================================== */
.rva-category-banner {
  padding: clamp(3.5rem, 6vw, 5.5rem) 0;
  background-size: cover;
  background-position: center;
  color: #ffffff;
  position: relative;
  border-bottom: 1px solid var(--rva-border);
}

.rva-category-banner__content {
  max-width: 780px;
}

.rva-category-banner__title {
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  color: #ffffff;
  margin: 0.75rem 0 1rem;
  line-height: 1.15;
}

.rva-category-banner__desc {
  font-size: 1.125rem;
  line-height: 1.6;
  color: #cbd5e1;
  margin-bottom: 1.25rem;
}

.rva-category-banner__meta {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 0.8125rem;
  color: var(--rva-gold);
  flex-wrap: wrap;
}

.rva-category-catalog-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--rva-border);
  flex-wrap: wrap;
  gap: 1rem;
}

.rva-category-catalog-header h2 {
  font-size: 1.5rem;
  font-weight: 600;
  margin: 0;
}

/* ==========================================================================
   23. Full-Width Container & Sticky Brand Header Integration
   ========================================================================== */
.grid-container {
  max-width: min(92vw, 1440px) !important;
  padding-left: clamp(1rem, 2.5vw, 2.5rem);
  padding-right: clamp(1rem, 2.5vw, 2.5rem);
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(255, 255, 255, 0.97);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(226, 232, 240, 0.85);
  box-shadow:
    0 4px 20px -2px rgba(15, 23, 42, 0.07),
    0 2px 6px -1px rgba(15, 23, 42, 0.04);
  transition:
    background-color 0.25s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.25s cubic-bezier(0.22, 1, 0.36, 1);
}

.inside-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 0.75rem !important;
  padding-bottom: 0.75rem !important;
  gap: 1.5rem;
}

.site-branding {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  margin: 0 !important;
}

.rva-brand-link {
  display: inline-flex;
  align-items: center;
  gap: 0.875rem;
  text-decoration: none;
  color: var(--rva-color-text);
  transition: opacity 0.2s ease;
}

.rva-brand-link:hover {
  opacity: 0.92;
}

.rva-brand-logo {
  width: 44px;
  height: 44px;
  object-fit: contain;
  display: block;
  flex-shrink: 0;
}

.rva-brand-text {
  display: flex;
  flex-direction: column;
  line-height: 1.15;
}

.rva-brand-title {
  font-family: var(--rva-font-heading);
  font-weight: 700;
  font-size: 1.25rem;
  letter-spacing: -0.02em;
  color: #061a14;
}

.rva-brand-title .rva-brand-accent {
  color: var(--rva-color-primary);
  font-weight: 800;
}

.rva-brand-sub {
  font-family: var(--rva-font-mono);
  font-size: 0.6875rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--rva-color-text-muted);
  margin-top: 0.125rem;
}

/* --- Primary Navigation Styling --- */
.main-navigation {
  background: transparent !important;
}

.main-navigation .inside-navigation {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem;
}

.main-navigation .main-nav > ul {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.main-navigation .main-nav > ul > li > a {
  font-family: var(--rva-font-body);
  font-size: 0.9375rem;
  font-weight: 500;
  letter-spacing: -0.01em;
  color: #334155 !important;
  padding: 0.5rem 0.875rem !important;
  line-height: 1.5 !important;
  border-radius: 6px;
  transition:
    color 0.2s cubic-bezier(0.22, 1, 0.36, 1),
    background-color 0.2s cubic-bezier(0.22, 1, 0.36, 1);
  position: relative;
  display: inline-flex;
  align-items: center;
}

.main-navigation .main-nav > ul > li > a:hover,
.main-navigation .main-nav > ul > li.sfHover > a {
  color: var(--rva-color-primary) !important;
  background: rgba(16, 75, 59, 0.06) !important;
}

.main-navigation .main-nav > ul > li.current-menu-item > a,
.main-navigation .main-nav > ul > li.current_page_item > a {
  color: var(--rva-color-primary) !important;
  font-weight: 600;
  background: rgba(16, 75, 59, 0.08) !important;
}

/* Dropdown Sub-menus (Vertical design) */
.main-navigation ul ul,
.main-navigation .main-nav ul.sub-menu {
  display: flex !important;
  flex-direction: column !important;
  min-width: 220px !important;
  background: #ffffff !important;
  border: 1px solid rgba(226, 232, 240, 0.95) !important;
  box-shadow:
    0 10px 25px -5px rgba(15, 23, 42, 0.12),
    0 8px 10px -6px rgba(15, 23, 42, 0.05) !important;
  border-radius: 8px !important;
  padding: 0.45rem 0 !important;
  top: 100% !important;
  list-style: none !important;
  margin: 0 !important;
  gap: 0 !important;
}

.main-navigation ul ul li,
.main-navigation .main-nav ul.sub-menu li {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.main-navigation ul ul li a,
.main-navigation .main-nav ul.sub-menu li a {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  padding: 0.65rem 1.25rem !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  color: #334155 !important;
  border-radius: 0 !important;
  box-sizing: border-box !important;
  transition: all 0.15s ease-in-out !important;
  text-decoration: none !important;
  line-height: 1.4 !important;
}

.main-navigation ul ul li a:hover,
.main-navigation .main-nav ul.sub-menu li a:hover {
  color: var(--rva-color-primary) !important;
  background: rgba(16, 75, 59, 0.06) !important;
  padding-left: 1.45rem !important;
}

/* Primary Navigation CTA (Submit Samples) */
.main-navigation .main-nav > ul > li:last-child {
  margin-left: 0.75rem;
  display: flex;
  align-items: center;
}

.main-navigation .main-nav > ul > li:last-child > a {
  background: #104b3b !important;
  color: #ffffff !important;
  font-family: var(--rva-font-body);
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  padding: 0.55rem 1.15rem !important;
  border-radius: 6px;
  line-height: 1.3 !important;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  text-decoration: none;
  border: 1px solid rgba(16, 75, 59, 0.2);
  box-shadow:
    0 1px 3px rgba(16, 75, 59, 0.2),
    0 1px 2px rgba(0, 0, 0, 0.05);
  transition:
    background-color 0.2s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.2s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.2s cubic-bezier(0.22, 1, 0.36, 1);
}

.main-navigation .main-nav > ul > li:last-child > a::after {
  content: " \2197";
  font-size: 0.95rem;
  line-height: 1;
  transition: transform 0.2s cubic-bezier(0.22, 1, 0.36, 1);
}

.main-navigation .main-nav > ul > li:last-child > a:hover {
  background: #092e24 !important;
  color: #ffffff !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(16, 75, 59, 0.25);
}

.main-navigation .main-nav > ul > li:last-child > a:hover::after {
  transform: translate(2px, -2px);
}

/* Header Right CTA Action Button */
.menu-bar-items {
  display: flex;
  align-items: center;
  margin-left: 0.75rem;
}

.rva-menu-bar-cta {
  display: inline-flex;
  align-items: center;
}

.rva-header-cta-btn {
  background: #104b3b !important;
  color: #ffffff !important;
  font-family: var(--rva-font-body);
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  padding: 0.55rem 1.15rem !important;
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  text-decoration: none;
  border: 1px solid rgba(16, 75, 59, 0.2);
  box-shadow:
    0 1px 3px rgba(16, 75, 59, 0.2),
    0 1px 2px rgba(0, 0, 0, 0.05);
  transition:
    background-color 0.2s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.2s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.2s cubic-bezier(0.22, 1, 0.36, 1);
  line-height: 1.3 !important;
}

.rva-header-cta-btn:hover {
  background: #092e24 !important;
  color: #ffffff !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(16, 75, 59, 0.25);
}

.rva-header-cta-arrow {
  display: inline-block;
  font-size: 0.95rem;
  line-height: 1;
  transition: transform 0.2s cubic-bezier(0.22, 1, 0.36, 1);
}

.rva-header-cta-btn:hover .rva-header-cta-arrow {
  transform: translate(2px, -2px);
}

/* Mobile Header & Navigation */
@media (max-width: 768px) {
  .inside-header {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
    gap: 0.5rem;
  }
  .rva-brand-logo {
    width: 38px;
    height: 38px;
  }
  .rva-brand-title {
    font-size: 1.125rem;
  }
  .main-navigation .main-nav ul {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }
  .main-navigation .main-nav ul li a {
    padding: 0.75rem 1rem !important;
    border-radius: 0;
    border-bottom: 1px solid rgba(226, 232, 240, 0.5);
  }
  .main-navigation.toggled .main-nav > ul {
    background: #ffffff;
    border-top: 1px solid rgba(226, 232, 240, 0.85);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
  }
  .menu-bar-items {
    margin-left: 0;
  }
  .rva-header-cta-btn {
    padding: 0.4rem 0.75rem !important;
    font-size: 0.8125rem;
  }
}

/* ==========================================================================
   24. Modern Laboratory Hero & Compact Reassurance Architecture
   ========================================================================== */
.rva-hero--cinematic {
  position: relative;
  width: 100%;
  background-size: cover;
  background-position: center 30%;
  padding: clamp(2.75rem, 4.5vw, 4rem) 0 clamp(2.25rem, 3.5vw, 3.25rem);
  color: #ffffff;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

/* Simplified single-column hero — full-bleed image, one headline, one
   subtext, one CTA. No side panel, no badge row. */
/* GeneratePress adds 40px top padding to #content site-wide (breathing room
   before a bare page <h1>) — correct on every interior page, but it opens a
   visible gap above a full-bleed hero that's supposed to sit flush under
   the sticky header. Scoped to the front page only via body.home so interior
   pages keep their normal spacing. */
body.home #content {
  padding-top: 0;
}

.rva-hero--simple {
  padding: clamp(4.5rem, 9vw, 7.5rem) 0 clamp(4rem, 8vw, 6.5rem);
  background-position: center 35%;
  border-left: none;
  /* Break out of GeneratePress's global site container (~1178px, applied
	   to every page via header.php's .site.grid-container wrapper) so the
	   hero image is genuinely edge-to-edge, matching the reference site.
	   Every other section on this theme sits inside that same container —
	   this is a deliberate, hero-only exception, not a site-wide change. */
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}

.rva-hero--simple .rva-hero__content {
  max-width: 34rem;
}

.rva-hero--simple .rva-hero__title {
  max-width: 100%;
  text-wrap: balance;
}

.rva-hero--simple .rva-hero__actions {
  margin-top: 0.5rem;
}

.rva-hero--cinematic .rva-hero__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  align-items: center;
}

@media (min-width: 960px) {
  .rva-hero--cinematic .rva-hero__grid {
    grid-template-columns: 1.35fr 0.9fr;
    gap: clamp(2rem, 3.5vw, 3.5rem);
  }
}

.rva-hero__badge-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-bottom: 0.625rem;
}

.rva-hero__eyebrow {
  font-family: var(--rva-font-mono);
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #a7f3d0;
}

.rva-hero--cinematic .rva-hero__title {
  color: #ffffff;
  font-size: clamp(1.875rem, 3.2vw, 2.75rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.15;
  margin: 0.25rem 0 0.875rem;
  max-width: 44rem;
}

.rva-hero--cinematic .rva-hero__lead {
  color: #cbd5e1;
  font-size: clamp(0.9375rem, 1.1vw, 1.0625rem);
  line-height: 1.55;
  max-width: 40rem;
  margin-bottom: 1.5rem;
}

/* Hero Action CTAs */
.rva-hero__actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.rva-btn--pill {
  border-radius: 9999px !important;
  padding: 0.65rem 1.15rem 0.65rem 1.4rem !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.65rem !important;
  transition:
    background-color 0.25s cubic-bezier(0.22, 1, 0.36, 1),
    border-color 0.25s cubic-bezier(0.22, 1, 0.36, 1),
    color 0.25s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.25s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.25s cubic-bezier(0.22, 1, 0.36, 1) !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  font-size: 0.875rem !important;
  line-height: 1.3 !important;
}

.rva-btn__icon-bubble {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
  font-size: 0.8125rem;
  line-height: 1;
  transition:
    transform 0.25s cubic-bezier(0.22, 1, 0.36, 1),
    background-color 0.25s ease;
}

.rva-btn--pill:hover .rva-btn__icon-bubble {
  transform: translateX(2px) translateY(-1px);
  background: rgba(255, 255, 255, 0.35);
}

.rva-btn--outline.rva-btn--pill .rva-btn__icon-bubble {
  background: rgba(255, 255, 255, 0.12);
}

.rva-btn--outline.rva-btn--pill:hover .rva-btn__icon-bubble {
  background: rgba(255, 255, 255, 0.25);
}

/* Chain of Custody PDF Shortcut Link */
.rva-hero__coc-link {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: #e2e8f0;
  font-size: 0.8125rem;
  font-weight: 500;
  text-decoration: none;
  padding: 0.55rem 0.95rem;
  border-radius: 9999px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.16);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition:
    background-color 0.2s cubic-bezier(0.22, 1, 0.36, 1),
    border-color 0.2s cubic-bezier(0.22, 1, 0.36, 1),
    color 0.2s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.2s cubic-bezier(0.22, 1, 0.36, 1);
}

.rva-hero__coc-link:hover {
  background: rgba(255, 255, 255, 0.18);
  border-color: #34d399;
  color: #ffffff;
  transform: translateY(-1px);
}

.rva-hero__coc-icon {
  font-size: 0.875rem;
  line-height: 1;
}

/* Compact Double-Bezel Quick-Card */
.rva-card-shell {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 12px;
  padding: 0.375rem;
  box-shadow: 0 16px 32px -4px rgba(0, 0, 0, 0.35);
}

.rva-card-core {
  border-radius: 9px;
  background: rgba(4, 18, 14, 0.9);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  padding: 1.25rem 1.35rem;
}

.rva-card-core .rva-lab-card__title {
  font-size: 1.05rem;
  font-weight: 600;
  color: #ffffff;
  margin: 0 0 0.75rem;
  letter-spacing: -0.01em;
}

.rva-card-core .rva-lab-card__list {
  gap: 0.45rem;
  margin: 0 0 0.875rem;
}

.rva-card-core .rva-lab-card__list li {
  padding-bottom: 0.4rem;
}

.rva-card-core .rva-lab-card__list strong {
  font-size: 0.8125rem;
  color: #f1f5f9;
}

.rva-card-core .rva-lab-card__list span {
  font-size: 0.78125rem;
  color: #94a3b8;
  line-height: 1.35;
}

.rva-card-core .rva-lab-card__footer {
  padding-top: 0.65rem;
  gap: 0.5rem;
}

.rva-status-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #10b981;
  display: inline-block;
  box-shadow: 0 0 7px #10b981;
  animation: rva-pulse 2s infinite;
}

@keyframes rva-pulse {
  0%,
  100% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0.6;
    transform: scale(0.9);
  }
}

/* ==========================================================================
   25. 4-Column Enterprise Technical Footer
   ========================================================================== */
.rva-enterprise-footer {
  background-color: #04120e;
  color: #cbd5e1;
  border-top: 1px solid #133a2a;
  padding: clamp(4rem, 7vw, 6rem) 0 2rem;
  font-size: 0.9375rem;
}

.rva-footer-grid {
  display: grid;
  grid-template-columns: 2fr 1.25fr 1.25fr 1.5fr;
  gap: clamp(2rem, 4vw, 4.5rem);
  margin-bottom: clamp(3rem, 5vw, 4.5rem);
}

.rva-footer-col--brand .rva-brand-title {
  color: #ffffff;
}

.rva-footer-col--brand .rva-brand-sub {
  color: #94a3b8;
}

.rva-footer-bio {
  color: #94a3b8;
  line-height: 1.65;
  margin: 1.25rem 0 1.5rem;
  font-size: 0.875rem;
  max-width: 30rem;
}

.rva-footer-facility-info {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  font-size: 0.8125rem;
  color: #cbd5e1;
}

.rva-footer-info-row {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
}

.rva-footer-info-row a {
  color: #cbd5e1;
  text-decoration: none;
  transition: color 0.15s ease;
}

.rva-footer-info-row a:hover {
  color: #ffffff;
  text-decoration: underline;
}

.rva-footer-icon {
  color: #059669;
  font-size: 0.9rem;
  line-height: 1.4;
  flex-shrink: 0;
}

.rva-footer-heading {
  color: #ffffff;
  font-size: 0.9375rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  margin-bottom: 1.25rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.rva-footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.rva-footer-links a {
  color: #94a3b8;
  text-decoration: none;
  font-size: 0.875rem;
  transition:
    color 0.2s ease,
    transform 0.2s ease;
  display: inline-block;
}

.rva-footer-links a:hover {
  color: #ffffff;
  transform: translateX(3px);
}

.rva-footer-highlight-link {
  color: #34d399 !important;
  font-weight: 600;
  margin-top: 0.5rem;
}

.rva-footer-qa-list {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.rva-footer-qa-list li {
  display: flex;
}

.rva-footer-qa-link {
  display: flex !important;
  align-items: center;
  gap: 0.6rem;
  color: #94a3b8 !important;
  text-decoration: none;
  font-size: 0.875rem;
  transition:
    color 0.15s ease,
    transform 0.15s ease;
}

.rva-footer-qa-link:hover {
  color: #ffffff !important;
  transform: translateX(3px);
}

.rva-footer-qa-link .rva-badge {
  font-size: 0.7rem;
  padding: 0.15rem 0.4rem;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: #38bdf8;
  border-radius: 4px;
  font-family: var(--rva-font-mono, monospace);
  letter-spacing: 0.04em;
  flex-shrink: 0;
}

/* Footer Bottom Bar */
.rva-footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 2rem;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  font-size: 0.8125rem;
  color: #94a3b8;
  gap: 1.5rem;
}

.rva-footer-bottom__copyright {
  color: #94a3b8;
  font-size: 0.8125rem;
  white-space: nowrap;
}

.rva-footer-bottom__right {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

.rva-footer-bottom__links {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  white-space: nowrap;
}

.rva-footer-bottom__links a {
  color: #94a3b8;
  text-decoration: none;
  font-size: 0.8125rem;
  transition: color 0.15s ease;
}

.rva-footer-bottom__links a:hover {
  color: #ffffff;
  text-decoration: underline;
}

.rva-back-to-top {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  color: #94a3b8;
  text-decoration: none;
  font-family: var(--rva-font-mono);
  font-size: 0.75rem;
  padding: 0.4rem 0.8rem;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 6px;
  transition:
    color 0.2s ease,
    border-color 0.2s ease,
    background-color 0.2s ease;
}

.rva-back-to-top:hover {
  color: #ffffff;
  border-color: #34d399;
  background: rgba(52, 211, 153, 0.08);
}

/* Responsive Collapse for Footer & Hero */
@media (max-width: 1024px) {
  .rva-footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 2.5rem;
  }
}

@media (max-width: 640px) {
  .rva-footer-grid {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
  .rva-footer-bottom {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* ==========================================================================
   Fluent Forms — brand alignment
   Plugin default renders `--fluentform-primary: #1a7efb` (Fluent's own blue)
   and applies it to .ff-btn-submit; override the custom property on the form
   wrapper so it cascades, then align border radius, focus states, and type
   to the rest of the site rather than Fluent Forms' own defaults.
   ========================================================================== */
.frm-fluent-form {
  --fluentform-primary: var(--rva-color-primary);
  --fluentform-border-radius: var(--rva-radius);
  --fluentform-secondary: var(--rva-color-text);
  font-family: var(--rva-font-body);
}

.frm-fluent-form .ff-btn-submit {
  background-color: var(--rva-color-primary) !important;
  border-color: var(--rva-color-primary) !important;
  font-family: var(--rva-font-body);
  font-weight: 600;
  transition:
    background-color 0.2s ease,
    box-shadow 0.2s ease;
}

.frm-fluent-form .ff-btn-submit:hover,
.frm-fluent-form .ff-btn-submit:focus {
  background-color: var(--rva-color-primary-deep) !important;
  border-color: var(--rva-color-primary-deep) !important;
  opacity: 1;
}

.frm-fluent-form .ff-btn-submit:focus-visible {
  outline: 2px solid var(--rva-color-primary);
  outline-offset: 2px;
}

.frm-fluent-form .ff-el-form-control {
  border-color: var(--rva-color-border);
  color: var(--rva-color-text);
  font-family: var(--rva-font-body);
}

.frm-fluent-form .ff-el-form-control:focus {
  border-color: var(--rva-color-primary);
  box-shadow: 0 0 0 2px rgba(14, 77, 52, 0.15);
  outline: none;
}

.frm-fluent-form .ff-el-input--label label {
  color: var(--rva-color-text);
  font-family: var(--rva-font-body);
  font-weight: 500;
}

/* ==========================================================================
   25. Homepage Trust-Signal Band (illustrative placeholder content —
   see template-parts/section-trust-signals.php)
   ========================================================================== */

.rva-trust-signals {
  background-color: var(--rva-color-canvas);
  border-bottom: 1px solid var(--rva-color-border);
  padding: 3.5rem 0;
}

.rva-trust-signals__notice {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  background-color: #fef3c7;
  border: 1px solid #fde68a;
  border-radius: var(--rva-radius);
  padding: 0.65rem 1rem;
  margin-bottom: 2rem;
  max-width: 44rem;
  margin-left: auto;
  margin-right: auto;
}

.rva-trust-signals__notice p {
  margin: 0;
  color: #92400e;
  font-size: 0.8125rem;
}

.rva-trust-signals__stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  margin-bottom: 2.5rem;
}

@media (max-width: 900px) {
  .rva-trust-signals__stats {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 540px) {
  .rva-trust-signals__stats {
    grid-template-columns: 1fr;
  }
}

.rva-trust-stat {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  text-align: center;
  padding: 1.25rem 1rem;
  background-color: var(--rva-color-surface);
  border: 1px solid var(--rva-color-border);
  border-radius: var(--rva-radius-lg);
}

.rva-trust-stat__num {
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--rva-color-primary);
  letter-spacing: -0.02em;
}

.rva-trust-stat__label {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--rva-color-text-muted);
}

.rva-trust-signals__badges {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
}

.rva-trust-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.45rem 0.9rem;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--rva-color-text);
  background-color: var(--rva-color-surface);
  border: 1px solid var(--rva-color-border);
  border-radius: 9999px;
}

/* ==========================================================================
   26. "What We Do" Capability Pillars (homepage)
   ========================================================================== */

.rva-pillars {
  background-color: var(--rva-color-surface);
  padding: 4rem 0;
  border-bottom: 1px solid var(--rva-color-border);
}

.rva-pillars__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
}

@media (max-width: 960px) {
  .rva-pillars__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 560px) {
  .rva-pillars__grid {
    grid-template-columns: 1fr;
  }
}

.rva-pillar {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 1.75rem;
  background-color: var(--rva-color-canvas);
  border: 1px solid var(--rva-color-border);
  border-radius: var(--rva-radius-lg);
  text-decoration: none;
  color: inherit;
  transition:
    transform 0.2s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.2s cubic-bezier(0.22, 1, 0.36, 1),
    border-color 0.2s ease;
}

.rva-pillar:hover {
  transform: translateY(-3px);
  box-shadow: var(--rva-shadow-md);
  border-color: #cbd5e1;
}

.rva-pillar__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: var(--rva-radius-lg);
  background-color: #eef2f5;
  color: var(--rva-color-primary-deep);
}

.rva-pillar--accent .rva-pillar__icon {
  background-color: var(--rva-color-primary);
  color: #ffffff;
}

.rva-pillar__title {
  font-size: 1.0625rem;
  font-weight: 700;
  color: var(--rva-color-text);
  margin: 0;
}

.rva-pillar__text {
  font-size: 0.875rem;
  line-height: 1.55;
  color: var(--rva-color-text-muted);
  margin: 0;
  flex-grow: 1;
}

.rva-pillar__link {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--rva-color-primary);
}

.rva-pillar:hover .rva-pillar__link {
  text-decoration: underline;
}

/* ==========================================================================
   27. Method Navigator Pill Shortcuts (homepage preview)
   ========================================================================== */

.rva-nav-pills {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem;
  margin-top: 1.25rem;
}

.rva-nav-pill {
  display: inline-flex;
  align-items: center;
  padding: 0.4rem 0.9rem;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--rva-color-primary-deep);
  background-color: #ffffff;
  border: 1px solid var(--rva-color-border);
  border-radius: 9999px;
  text-decoration: none;
  transition:
    background-color 0.15s ease,
    border-color 0.15s ease,
    color 0.15s ease;
}

.rva-nav-pill:hover {
  background-color: var(--rva-color-primary);
  border-color: var(--rva-color-primary);
  color: #ffffff;
}

/* ==========================================================================
   28. Latest From the Lab (homepage editorial strip)
   ========================================================================== */

.rva-latest-posts {
  background-color: var(--rva-color-canvas);
  padding: 4rem 0;
  border-bottom: 1px solid var(--rva-color-border);
}

.rva-section-header--split {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1.5rem;
  margin-bottom: 2.5rem;
  text-align: left;
}

.rva-section-header--split .rva-section-title {
  margin-top: 0.5rem;
}

@media (max-width: 640px) {
  .rva-section-header--split {
    flex-direction: column;
    align-items: flex-start;
  }
}

.rva-latest-posts__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.75rem;
}

@media (max-width: 900px) {
  .rva-latest-posts__grid {
    grid-template-columns: 1fr;
  }
}

.rva-latest-post {
  display: flex;
  flex-direction: column;
  background-color: var(--rva-color-surface);
  border: 1px solid var(--rva-color-border);
  border-radius: var(--rva-radius-lg);
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  transition:
    transform 0.2s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.2s cubic-bezier(0.22, 1, 0.36, 1);
}

.rva-latest-post:hover {
  transform: translateY(-3px);
  box-shadow: var(--rva-shadow-md);
}

.rva-latest-post__media {
  display: block;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background-color: #eef2f5;
}

.rva-latest-post__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.rva-latest-post__meta {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  padding: 1.25rem 1.25rem 0;
  font-size: 0.75rem;
  color: var(--rva-color-text-muted);
}

.rva-latest-post__title {
  font-size: 1.0625rem;
  font-weight: 700;
  color: var(--rva-color-text);
  margin: 0.6rem 1.25rem 0;
  line-height: 1.35;
}

.rva-latest-post__excerpt {
  font-size: 0.875rem;
  line-height: 1.55;
  color: var(--rva-color-text-muted);
  margin: 0.6rem 1.25rem 0;
  flex-grow: 1;
}

.rva-latest-post__link {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--rva-color-primary);
  margin: 1rem 1.25rem 1.25rem;
}

.rva-latest-post:hover .rva-latest-post__link {
  text-decoration: underline;
}

/* ==========================================================================
   29. .rva-btn base component system
   Fixes a real, sitewide bug found during polish: `.rva-btn` + its modifiers
   (`--primary`, `--secondary`, `--outline`, `--sm`) were used across ~30
   instances (CTA band, About, Downloads, taxonomy archives, lifecycle hub,
   sample journey, contacts, shortcodes...) but never had base styles defined
   anywhere in the theme — only specific one-off classes like
   .rva-header-cta-btn happened to self-style. Every <a class="rva-btn
   rva-btn--primary"> with no other class rendered as a bare underlined text
   link; every <button> fell back to GeneratePress's generic dark-gray
   default. This is the base system that was missing, an older, separately
   named `.rva-button` system (§4 above) covers a handful of legacy call
   sites and is left as-is rather than merged, to avoid touching working code.
   ========================================================================== */

.rva-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  padding: 0.7em 1.4em;
  border-radius: var(--rva-radius);
  border: 1px solid transparent;
  font-family: var(--rva-font-body);
  font-weight: 600;
  font-size: 0.9375rem;
  line-height: 1.3;
  text-decoration: none;
  cursor: pointer;
  transition:
    background-color 150ms ease-out,
    border-color 150ms ease-out,
    color 150ms ease-out,
    box-shadow 150ms ease-out,
    transform 150ms ease-out;
}

.rva-btn:focus-visible {
  outline: 2px solid var(--rva-color-primary);
  outline-offset: 2px;
}

.rva-btn--primary {
  background-color: var(--rva-color-primary);
  color: #ffffff;
  box-shadow: var(--rva-shadow-sm);
}

.rva-btn--primary:hover {
  background-color: var(--rva-color-primary-deep);
  box-shadow: var(--rva-shadow-md);
}

.rva-btn--secondary {
  background-color: var(--rva-color-surface);
  color: var(--rva-color-text);
  border-color: var(--rva-color-border);
}

.rva-btn--secondary:hover {
  background-color: var(--rva-color-canvas);
  border-color: #cbd5e1;
}

.rva-btn--outline {
  background-color: transparent;
  color: inherit;
  border-color: currentColor;
}

.rva-btn--outline:hover {
  background-color: color-mix(in srgb, currentColor 10%, transparent);
}

.rva-btn--sm {
  padding: 0.5em 1.1em;
  font-size: 0.8125rem;
}

.rva-btn:active {
  transform: translateY(1px);
}

/* ==========================================================================
   14. Intertek-Inspired Enterprise Laboratory Design System
   ========================================================================== */

/* --- 14.1 Hero Section --- */
.rva-itk-hero {
  position: relative;
  width: 100vw;
  max-width: 100vw;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  box-sizing: border-box;
  height: 75vh;
  min-height: 520px;
  max-height: 850px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #051610;
  overflow: hidden;
  color: #ffffff;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.rva-itk-hero__video-wrap {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  pointer-events: none;
  z-index: 0;
}

.rva-itk-hero__video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.82;
  filter: contrast(1.15) brightness(0.96);
}

.rva-itk-hero__video-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(3, 14, 10, 0.38) 0%,
    rgba(3, 14, 10, 0.32) 50%,
    rgba(3, 14, 10, 0.62) 100%
  );
}

.rva-itk-hero__schematic {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  opacity: 0.35;
  z-index: 1;
}

.rva-itk-hero__schematic svg {
  width: 100%;
  height: 100%;
  display: block;
}

@media (prefers-reduced-motion: reduce) {
  .rva-itk-hero__video {
    display: none;
  }
  .rva-itk-hero__video-wrap {
    background-image: url("../images/hero-video-poster.jpg");
    background-size: cover;
    background-position: center;
    opacity: 0.65;
  }
}

@media (max-width: 768px) {
  .rva-itk-hero {
    height: auto;
    min-height: 480px;
    padding: 4.5rem 0 3.5rem;
  }
  .rva-itk-hero__video {
    display: none;
  }
  .rva-itk-hero__video-wrap {
    background-image: url("../images/hero-video-poster.jpg");
    background-size: cover;
    background-position: center;
    opacity: 0.65;
  }
}

.rva-itk-hero__container {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1200px;
  padding: 2rem 1.5rem;
}

.rva-itk-hero__content {
  max-width: 880px;
  margin: 0 auto;
  text-align: center;
}

.rva-itk-hero__eyebrow {
  display: inline-block;
  font-family: var(--rva-font-mono, monospace);
  font-size: 0.8125rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: #34d399;
  margin-bottom: 1.25rem;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.9);
}

.rva-itk-hero__title {
  font-size: clamp(2.25rem, 5.2vw, 4.25rem);
  font-weight: 800;
  color: #ffffff;
  line-height: 1.1;
  letter-spacing: -0.03em;
  margin: 0 0 1.25rem;
  word-break: normal;
  overflow-wrap: break-word;
  hyphens: none;
  text-shadow:
    0 2px 20px rgba(0, 0, 0, 0.85),
    0 1px 4px rgba(0, 0, 0, 0.95);
}

.rva-itk-hero__lead {
  font-size: clamp(1.0625rem, 1.6vw, 1.25rem);
  color: #e2e8f0;
  line-height: 1.65;
  max-width: 740px;
  margin: 0 auto 2.5rem;
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.9);
}

.rva-itk-hero__actions {
  display: flex;
  gap: 1rem;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}

.rva-itk-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.85rem 2rem;
  border-radius: 9999px;
  font-weight: 600;
  font-size: 0.9375rem;
  text-decoration: none;
  cursor: pointer;
  transition:
    background-color 150ms ease-out,
    border-color 150ms ease-out,
    color 150ms ease-out,
    box-shadow 150ms ease-out,
    transform 150ms ease-out;
}

.rva-itk-btn--gold {
  background-color: #f59e0b;
  color: #04120e;
  border: 1px solid #f59e0b;
  box-shadow: 0 4px 14px rgba(245, 158, 11, 0.35);
}

.rva-itk-btn--gold:hover {
  background-color: #d97706;
  border-color: #d97706;
  color: #04120e;
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(245, 158, 11, 0.45);
}

.rva-itk-btn--ghost {
  background-color: rgba(255, 255, 255, 0.08);
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.22);
  backdrop-filter: blur(8px);
}

.rva-itk-btn--ghost:hover {
  background-color: rgba(255, 255, 255, 0.16);
  border-color: rgba(255, 255, 255, 0.4);
  color: #ffffff;
}

/* --- 14.2 Quick Inquiry Bar --- */
.rva-itk-inquiry-bar {
  background-color: #ffffff;
  border-bottom: 1px solid var(--rva-color-border, #e2e8f0);
  padding: 1.15rem 0;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02);
}

.rva-itk-inquiry-bar__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
}

.rva-itk-inquiry-bar__prompt {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 1.0625rem;
  font-weight: 500;
  color: var(--rva-color-text, #0f172a);
}

.rva-itk-inquiry-bar__icon {
  color: #0891b2;
  display: flex;
  align-items: center;
}

.rva-itk-inquiry-bar__actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.rva-itk-btn--phone {
  border: 1px solid #cbd5e1;
  border-radius: 9999px;
  padding: 0.65rem 1.4rem;
  color: #0f172a;
  font-family: var(--rva-font-mono, monospace);
  font-size: 0.9375rem;
  font-weight: 600;
  background-color: #ffffff;
}

.rva-itk-btn--phone:hover {
  border-color: #0891b2;
  color: #0891b2;
  background-color: #f8fafc;
}

.rva-itk-btn__phone-icon {
  margin-right: 0.35rem;
  color: #0891b2;
}

.rva-itk-btn--cyan {
  background-color: #0891b2;
  color: #ffffff;
  border: 1px solid #0891b2;
  border-radius: 9999px;
  padding: 0.65rem 1.5rem;
  font-weight: 600;
  font-size: 0.9375rem;
}

.rva-itk-btn--cyan:hover {
  background-color: #0e7490;
  border-color: #0e7490;
  color: #ffffff;
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(8, 145, 178, 0.35);
}

/* --- 14.3 3-Card Spotlight & Topics --- */
.rva-itk-spotlight {
  padding: 4.5rem 0 3.5rem;
  background-color: #f8fafc;
}

.rva-itk-spotlight__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.75rem;
}

.rva-itk-spotlight-card {
  background-color: #ffffff;
  border-radius: var(--rva-radius-lg, 8px);
  overflow: hidden;
  border: 1px solid var(--rva-color-border, #e2e8f0);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04);
  display: flex;
  flex-direction: column;
  transition:
    transform 200ms ease-out,
    box-shadow 200ms ease-out;
}

.rva-itk-spotlight-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08);
}

.rva-itk-spotlight-card__media {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background-color: #08261c;
}

.rva-itk-spotlight-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 300ms ease-out;
}

.rva-itk-spotlight-card:hover .rva-itk-spotlight-card__img {
  transform: scale(1.04);
}

.rva-itk-spotlight-card__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0.05) 0%,
    rgba(4, 18, 14, 0.85) 100%
  );
  display: flex;
  align-items: flex-end;
  padding: 1.25rem 1.5rem;
}

.rva-itk-spotlight-card__title {
  color: #ffffff;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.25;
  margin: 0;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.4);
}

.rva-itk-spotlight-card__body {
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex-grow: 1;
  gap: 1.25rem;
}

.rva-itk-spotlight-card__desc {
  margin: 0;
  font-size: 0.9375rem;
  color: #475569;
  line-height: 1.55;
}

.rva-itk-circle-btn {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background-color: #0891b2;
  color: #ffffff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition:
    background-color 150ms ease-out,
    transform 150ms ease-out,
    box-shadow 150ms ease-out;
  align-self: flex-start;
  text-decoration: none;
}

.rva-itk-circle-btn:hover {
  background-color: #0e7490;
  color: #ffffff;
  transform: scale(1.08);
  box-shadow: 0 4px 12px rgba(8, 145, 178, 0.4);
}

.rva-itk-topics {
  margin-top: 2.75rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
  padding-top: 1.75rem;
  border-top: 1px solid var(--rva-color-border, #e2e8f0);
}

.rva-itk-topics__label {
  font-size: 0.9375rem;
  font-weight: 600;
  color: #475569;
  white-space: nowrap;
}

.rva-itk-topics__list {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  align-items: center;
}

.rva-itk-pill {
  display: inline-block;
  padding: 0.45rem 1.1rem;
  border-radius: 9999px;
  border: 1px solid #cbd5e1;
  background-color: #ffffff;
  color: #0f172a;
  font-size: 0.875rem;
  font-weight: 500;
  text-decoration: none;
  transition:
    border-color 150ms ease-out,
    color 150ms ease-out,
    background-color 150ms ease-out;
}

.rva-itk-pill:hover {
  border-color: #0891b2;
  color: #0891b2;
  background-color: #f0f9ff;
}

/* --- 14.4 Expertise for Every Mining Sector --- */
.rva-itk-industries {
  padding: 5rem 0;
  background-color: #ffffff;
}

.rva-itk-section-head {
  text-align: center;
  max-width: 740px;
  margin: 0 auto 3rem;
}

.rva-itk-section-head--centered {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

.rva-itk-section-title {
  font-size: clamp(1.5rem, 3.2vw, 2.5rem);
  font-weight: 700;
  color: var(--rva-color-text, #0f172a);
  letter-spacing: -0.02em;
  line-height: 1.25;
  margin: 0 0 0.75rem;
  word-break: normal;
  overflow-wrap: break-word;
  hyphens: none;
}

.rva-itk-section-subtitle {
  font-size: 1.0625rem;
  color: #64748b;
  line-height: 1.6;
  margin: 0;
}

.rva-itk-industries__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
}

.rva-itk-industry-card {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  border-radius: var(--rva-radius-lg, 8px);
  overflow: hidden;
  border: 1px solid var(--rva-color-border, #e2e8f0);
  background-color: #ffffff;
  transition:
    transform 180ms ease-out,
    box-shadow 180ms ease-out,
    border-color 180ms ease-out;
}

.rva-itk-industry-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06);
  border-color: #cbd5e1;
}

.rva-itk-industry-card__media {
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background-color: #08261c;
}

.rva-itk-industry-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 250ms ease-out;
}

.rva-itk-industry-card:hover .rva-itk-industry-card__img {
  transform: scale(1.05);
}

.rva-itk-industry-card__caption {
  padding: 1.15rem 1.25rem;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.rva-itk-industry-card__name {
  font-size: 1.0625rem;
  font-weight: 600;
  color: var(--rva-color-text, #0f172a);
  margin: 0 0 0.35rem;
  line-height: 1.3;
}

.rva-itk-industry-card__detail {
  font-size: 0.875rem;
  color: #64748b;
  margin: 0;
  line-height: 1.45;
}

/* --- 14.5 What We Do (4 Circular ATIC Pillars) --- */
.rva-itk-atic {
  padding: 5.5rem 0;
  background: linear-gradient(135deg, #062319 0%, #03140e 100%);
  color: #ffffff;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.rva-itk-atic .rva-itk-section-title {
  color: #ffffff;
}

.rva-itk-atic .rva-itk-section-subtitle {
  color: #cbd5e1;
}

.rva-itk-atic__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
}

.rva-itk-pillar {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 2rem 1.25rem;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--rva-radius-lg, 8px);
  transition:
    transform 180ms ease-out,
    background-color 180ms ease-out,
    border-color 180ms ease-out;
}

.rva-itk-pillar:hover {
  transform: translateY(-4px);
  background: rgba(255, 255, 255, 0.07);
  border-color: rgba(255, 255, 255, 0.2);
}

.rva-itk-pillar__badge {
  width: 76px;
  height: 76px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.25rem;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.2);
  transition: transform 180ms ease-out;
}

.rva-itk-pillar:hover .rva-itk-pillar__badge {
  transform: scale(1.08);
}

.rva-itk-pillar__badge--gold {
  background-color: rgba(245, 158, 11, 0.15);
  color: #f59e0b;
  border: 2px solid #f59e0b;
}

.rva-itk-pillar__badge--charcoal {
  background-color: rgba(255, 255, 255, 0.1);
  color: #ffffff;
  border: 2px solid rgba(255, 255, 255, 0.3);
}

.rva-itk-pillar__badge--cyan {
  background-color: rgba(8, 145, 178, 0.15);
  color: #38bdf8;
  border: 2px solid #0891b2;
}

.rva-itk-pillar__badge--white {
  background-color: rgba(255, 255, 255, 0.15);
  color: #ffffff;
  border: 2px solid rgba(255, 255, 255, 0.4);
}

.rva-itk-pillar__title {
  font-size: 1.35rem;
  font-weight: 700;
  color: #ffffff;
  margin: 0 0 0.75rem;
}

.rva-itk-pillar__desc {
  font-size: 0.9375rem;
  color: #cbd5e1;
  line-height: 1.55;
  margin: 0;
  max-width: 270px;
}

/* --- 14.6 Field & Laboratory Impact (4 Stories) --- */
.rva-itk-stories {
  padding: 5.5rem 0;
  background-color: #ffffff;
}

.rva-itk-split-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 2.75rem;
  gap: 1.5rem;
  flex-wrap: wrap;
}

.rva-itk-pill-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.55rem 1.4rem;
  border-radius: 9999px;
  border: 1px solid #cbd5e1;
  color: #0f172a;
  font-weight: 600;
  font-size: 0.875rem;
  text-decoration: none;
  transition:
    border-color 150ms ease-out,
    color 150ms ease-out,
    background-color 150ms ease-out;
}

.rva-itk-pill-btn:hover {
  border-color: #0891b2;
  color: #0891b2;
  background-color: #f8fafc;
}

.rva-itk-stories__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
}

.rva-itk-story-card {
  display: flex;
  flex-direction: column;
  border-radius: var(--rva-radius-lg, 8px);
  overflow: hidden;
  border: 1px solid var(--rva-color-border, #e2e8f0);
  background-color: #ffffff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
  transition:
    transform 180ms ease-out,
    box-shadow 180ms ease-out;
}

.rva-itk-story-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
}

.rva-itk-story-card__media {
  position: relative;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background-color: #08261c;
}

.rva-itk-story-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 300ms ease-out;
}

.rva-itk-story-card:hover .rva-itk-story-card__img {
  transform: scale(1.05);
}

.rva-itk-story-card__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0.05) 0%,
    rgba(4, 18, 14, 0.88) 100%
  );
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 1.25rem;
}

.rva-itk-story-card__tag {
  font-size: 0.75rem;
  font-family: var(--rva-font-mono, monospace);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #34d399;
  margin-bottom: 0.35rem;
  font-weight: 600;
}

.rva-itk-story-card__title {
  color: #ffffff;
  font-size: 1.15rem;
  font-weight: 700;
  line-height: 1.25;
  margin: 0;
}

.rva-itk-story-card__body {
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex-grow: 1;
  gap: 1rem;
}

.rva-itk-story-card__desc {
  margin: 0;
  font-size: 0.875rem;
  color: #64748b;
  line-height: 1.5;
}

.rva-itk-text-link {
  font-size: 0.875rem;
  font-weight: 600;
  color: #0891b2;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  transition: color 150ms ease-out;
}

.rva-itk-text-link:hover {
  color: #0e7490;
}

/* --- 14.7 Latest News & Bulletins --- */
.rva-itk-news {
  padding: 5.5rem 0;
  background-color: #ffffff;
}

.rva-itk-news__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.75rem;
}

.rva-itk-news-card {
  background-color: #ffffff;
  border-radius: var(--rva-radius-lg, 8px);
  border: 1px solid var(--rva-color-border, #e2e8f0);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04);
  transition:
    transform 180ms ease-out,
    box-shadow 180ms ease-out;
}

.rva-itk-news-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08);
}

.rva-itk-news-card__media {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background-color: #08261c;
}

.rva-itk-news-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 250ms ease-out;
}

.rva-itk-news-card:hover .rva-itk-news-card__img {
  transform: scale(1.05);
}

.rva-itk-news-card__category-badge {
  position: absolute;
  bottom: 0.75rem;
  left: 0.75rem;
  background: rgba(6, 26, 20, 0.88);
  backdrop-filter: blur(4px);
  color: #34d399;
  border: 1px solid rgba(52, 211, 153, 0.3);
  border-radius: 4px;
  font-size: 0.6875rem;
  font-family: var(--rva-font-mono, monospace);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 0.25rem 0.6rem;
}

.rva-itk-news-card__content {
  padding: 1.5rem 1.5rem 1rem;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.rva-itk-news-card__meta {
  font-size: 0.75rem;
  color: #64748b;
  margin-bottom: 0.5rem;
}

.rva-itk-news-card__title {
  font-size: 1.15rem;
  font-weight: 700;
  line-height: 1.35;
  margin: 0 0 0.75rem;
}

.rva-itk-news-card__title a {
  color: var(--rva-color-text, #0f172a);
  text-decoration: none;
  transition: color 150ms ease-out;
}

.rva-itk-news-card__title a:hover {
  color: #0891b2;
}

.rva-itk-news-card__excerpt {
  font-size: 0.875rem;
  color: #64748b;
  line-height: 1.55;
  margin: 0;
  flex-grow: 1;
}

.rva-itk-news-card__footer {
  padding: 0 1.5rem 1.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.rva-itk-news-card__footer {
  margin-top: 1.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid #f1f5f9;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.rva-itk-news-card__link {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--rva-color-text, #0f172a);
  text-decoration: none;
  transition: color 150ms ease-out;
}

.rva-itk-news-card__link:hover {
  color: #0891b2;
}

.rva-itk-circle-btn--sm {
  width: 34px;
  height: 34px;
}

/* --- 14.8 Pre-Footer Banner --- */
.rva-itk-prefooter {
  background-color: #061a14;
  color: #ffffff;
  padding: 4.5rem 0;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.rva-itk-prefooter__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2.5rem;
  flex-wrap: wrap;
}

.rva-itk-prefooter__content {
  max-width: 640px;
}

.rva-itk-prefooter__title {
  font-size: clamp(1.75rem, 3vw, 2.35rem);
  font-weight: 700;
  color: #ffffff;
  line-height: 1.2;
  margin: 0 0 0.75rem;
  letter-spacing: -0.02em;
}

.rva-itk-prefooter__desc {
  font-size: 1.0625rem;
  color: #94a3b8;
  line-height: 1.6;
  margin: 0;
}

.rva-itk-prefooter__actions {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}

.rva-itk-btn--outline-dark {
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: #ffffff;
  border-radius: 9999px;
  padding: 0.65rem 1.5rem;
  font-weight: 600;
  font-size: 0.9375rem;
  background-color: transparent;
  text-decoration: none;
}

.rva-itk-btn--outline-dark:hover {
  border-color: #ffffff;
  background-color: rgba(255, 255, 255, 0.1);
  color: #ffffff;
}

/* --- 14.9 Responsive Layout Rules --- */
@media (max-width: 1024px) {
  .rva-itk-spotlight__grid {
    grid-template-columns: 1fr;
  }
  .rva-itk-industries__grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .rva-itk-atic__grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .rva-itk-stories__grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .rva-itk-news__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .rva-itk-hero__container {
    padding: 3.5rem 1rem 4rem;
  }
  .rva-itk-hero__title {
    font-size: 1.75rem;
    line-height: 1.18;
  }
  .rva-itk-inquiry-bar__inner {
    flex-direction: column;
    align-items: flex-start;
  }
  .rva-itk-inquiry-bar__actions {
    width: 100%;
    justify-content: flex-start;
  }
  .rva-itk-industries__grid {
    grid-template-columns: 1fr;
  }
  .rva-itk-atic__grid {
    grid-template-columns: 1fr;
  }
  .rva-itk-stories__grid {
    grid-template-columns: 1fr;
  }
  .rva-itk-prefooter__inner {
    flex-direction: column;
    align-items: flex-start;
  }
  .rva-itk-prefooter__actions {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
  }
  .rva-itk-prefooter__actions .rva-itk-btn {
    text-align: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rva-itk-btn,
  .rva-itk-circle-btn,
  .rva-itk-spotlight-card,
  .rva-itk-industry-card,
  .rva-itk-story-card,
  .rva-itk-news-card,
  .rva-itk-spotlight-card__img,
  .rva-itk-industry-card__img,
  .rva-itk-story-card__img,
  .rva-itk-pillar__badge {
    transition: none !important;
    transform: none !important;
  }
}

/* ==========================================================================
   15. Intertek-Inspired About Us Page
   ========================================================================== */

/* --- 15.1 Breadcrumbs (Disabled) --- */
.rva-breadcrumb,
.rva-breadcrumbs {
  display: none !important;
}

/* --- 15.2 Compact Interior Page Heroes (All Subpages) --- */
body:not(.home) .rva-itk-hero {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  padding: 3rem 0 3.25rem;
}

body:not(.home) .rva-itk-hero .rva-itk-hero__container {
  padding: 0 1.5rem !important;
}

body:not(.home) .rva-itk-hero .rva-itk-hero__content {
  max-width: 820px;
}

body:not(.home) .rva-itk-hero .rva-itk-hero__eyebrow {
  font-size: 0.75rem;
  letter-spacing: 0.12em;
  margin-bottom: 0.65rem;
}

body:not(.home) .rva-itk-hero .rva-itk-hero__title {
  font-size: clamp(1.85rem, 3.5vw, 2.75rem);
  line-height: 1.15;
  letter-spacing: -0.025em;
  margin: 0 0 0.75rem;
}

body:not(.home) .rva-itk-hero .rva-itk-hero__lead {
  font-size: clamp(0.9375rem, 1.25vw, 1.0625rem);
  line-height: 1.55;
  max-width: 660px;
  margin: 0 auto;
  color: #cbd5e1;
}

body:not(.home) .rva-itk-hero .rva-itk-hero__actions {
  margin-top: 1.35rem;
}

@media (max-width: 768px) {
  body:not(.home) .rva-itk-hero {
    padding: 2.25rem 0 2.5rem;
  }
  body:not(.home) .rva-itk-hero .rva-itk-hero__title {
    font-size: 1.625rem;
  }
}

/* --- 15.3 Executive Overview & 2-Column Split --- */
.rva-about-executive {
  padding: 4.5rem 0 3.5rem;
  background-color: #ffffff;
}

.rva-about-executive__grid {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 3.5rem;
  align-items: start;
}

.rva-about-callout {
  margin-bottom: 1.75rem;
  border-left: 4px solid #0891b2;
  padding-left: 1.5rem;
}

.rva-about-callout h2 {
  font-size: clamp(1.35rem, 2.2vw, 1.65rem);
  font-weight: 600;
  color: var(--rva-color-text, #0f172a);
  line-height: 1.35;
  margin: 0;
}

.rva-about-body-copy {
  font-size: 1.0625rem;
  line-height: 1.7;
  color: #334155;
  margin-bottom: 2.5rem;
}

.rva-lead-text {
  font-size: 1.15rem;
  font-weight: 500;
  color: #0f172a;
  line-height: 1.65;
}

.rva-about-stats-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  background-color: #f8fafc;
  border: 1px solid var(--rva-color-border, #e2e8f0);
  border-radius: var(--rva-radius-lg, 8px);
  padding: 1.5rem 1.25rem;
}

.rva-about-stat-item {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.rva-about-stat-num {
  font-size: 1.35rem;
  font-weight: 700;
  color: #0e4d34;
}

.rva-about-stat-label {
  font-size: 0.8125rem;
  color: #64748b;
  line-height: 1.35;
}

/* Sidebar */
.rva-about-executive__sidebar {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  position: sticky;
  top: 6rem;
}

.rva-sidebar-card {
  background-color: #f8fafc;
  border: 1px solid var(--rva-color-border, #e2e8f0);
  border-radius: var(--rva-radius-lg, 8px);
  padding: 1.5rem;
}

.rva-sidebar-card__title {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--rva-color-text, #0f172a);
  margin: 0 0 1rem;
  border-bottom: 1px solid var(--rva-color-border, #e2e8f0);
  padding-bottom: 0.65rem;
}

.rva-sidebar-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.rva-sidebar-menu li a {
  color: #0891b2;
  font-size: 0.9375rem;
  font-weight: 600;
  text-decoration: none;
  transition: color 150ms ease-out;
}

.rva-sidebar-menu li a:hover {
  color: #0e7490;
  text-decoration: underline;
}

.rva-sidebar-card--contact {
  background-color: #ffffff;
  border: 2px solid #0891b2;
}

.rva-sidebar-card__heading {
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--rva-color-text, #0f172a);
  margin: 0.5rem 0 0.5rem;
}

.rva-sidebar-address {
  font-size: 0.875rem;
  color: #475569;
  line-height: 1.5;
  margin: 0 0 0.85rem;
}

.rva-sidebar-hours {
  font-size: 0.875rem;
  color: #0f172a;
  border-top: 1px solid #f1f5f9;
  padding-top: 0.75rem;
}

/* --- 15.4 Strategic Purpose, Mission, Vision --- */
.rva-about-purpose-section {
  padding: 5rem 0;
  background-color: #f8fafc;
  border-top: 1px solid var(--rva-color-border, #e2e8f0);
  border-bottom: 1px solid var(--rva-color-border, #e2e8f0);
}

.rva-purpose-banner {
  background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
  border: 1px solid #fcd34d;
  border-radius: var(--rva-radius-lg, 8px);
  padding: 1.75rem 2.25rem;
  display: flex;
  align-items: center;
  gap: 1.5rem;
  margin-bottom: 2.75rem;
}

.rva-purpose-banner__badge {
  background-color: #d97706;
  color: #ffffff;
  font-size: 0.8125rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  padding: 0.4rem 1.1rem;
  border-radius: 9999px;
  flex-shrink: 0;
}

.rva-purpose-banner__statement {
  font-size: clamp(1.15rem, 2vw, 1.45rem);
  font-weight: 700;
  color: #78350f;
  margin: 0;
  line-height: 1.35;
}

.rva-pillars-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.75rem;
}

.rva-pillar-card {
  background-color: #ffffff;
  border-radius: var(--rva-radius-lg, 8px);
  overflow: hidden;
  border: 1px solid var(--rva-color-border, #e2e8f0);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04);
  display: flex;
  flex-direction: column;
  transition:
    transform 200ms ease-out,
    box-shadow 200ms ease-out;
}

.rva-pillar-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08);
}

.rva-pillar-card__media {
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background-color: #08261c;
}

.rva-pillar-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 300ms ease-out;
}

.rva-pillar-card:hover .rva-pillar-card__img {
  transform: scale(1.04);
}

.rva-pillar-card__body {
  padding: 1.75rem;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.rva-pillar-card__tag {
  font-size: 0.75rem;
  font-family: var(--rva-font-mono, monospace);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #0891b2;
  margin-bottom: 0.5rem;
}

.rva-pillar-card__title {
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--rva-color-text, #0f172a);
  margin: 0 0 0.85rem;
}

.rva-pillar-card__desc {
  font-size: 0.9375rem;
  color: #475569;
  line-height: 1.6;
  margin: 0;
}

/* --- 15.5 Core Values (5 Principles) --- */
.rva-about-values {
  padding: 5.5rem 0;
  background-color: #ffffff;
}

.rva-values-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.5rem;
}

.rva-value-card {
  background-color: #f8fafc;
  border: 1px solid var(--rva-color-border, #e2e8f0);
  border-radius: var(--rva-radius-lg, 8px);
  padding: 1.75rem;
  display: flex;
  flex-direction: column;
  transition:
    border-color 150ms ease-out,
    transform 150ms ease-out;
}

.rva-value-card:hover {
  border-color: #0891b2;
  transform: translateY(-2px);
}

.rva-value-card__icon {
  font-size: 1.85rem;
  margin-bottom: 1rem;
  line-height: 1;
}

.rva-value-card__title {
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--rva-color-text, #0f172a);
  margin: 0 0 0.5rem;
}

.rva-value-card__desc {
  font-size: 0.9375rem;
  color: #64748b;
  line-height: 1.55;
  margin: 0;
}

/* --- 15.6 Equipment & Facility Inventory --- */
.rva-about-equipment {
  padding: 5.5rem 0;
  background-color: #f8fafc;
  border-top: 1px solid var(--rva-color-border, #e2e8f0);
  border-bottom: 1px solid var(--rva-color-border, #e2e8f0);
}

.rva-itk-equipment-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}

.rva-itk-equip-card {
  background-color: #ffffff;
  border-radius: var(--rva-radius-lg, 8px);
  border: 1px solid var(--rva-color-border, #e2e8f0);
  padding: 1.75rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition:
    transform 180ms ease-out,
    box-shadow 180ms ease-out;
}

.rva-itk-equip-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06);
}

.rva-itk-equip-card__num {
  font-size: 1.5rem;
  font-weight: 800;
  color: #0891b2;
  margin-bottom: 0.5rem;
}

.rva-itk-equip-card__title {
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--rva-color-text, #0f172a);
  margin: 0 0 0.75rem;
}

.rva-itk-equip-card__desc {
  font-size: 0.875rem;
  color: #475569;
  line-height: 1.55;
  margin: 0 0 1.25rem;
}

.rva-itk-equip-card__badge {
  font-family: var(--rva-font-mono, monospace);
  font-size: 0.75rem;
  font-weight: 600;
  color: #0e4d34;
  background-color: #ecfdf5;
  border: 1px solid #a7f3d0;
  padding: 0.35rem 0.75rem;
  border-radius: 4px;
  align-self: flex-start;
}

/* --- 15.7 QA/QC Framework Section --- */
.rva-about-qaqc {
  padding: 5.5rem 0;
  background-color: #ffffff;
}

.rva-about-qaqc__layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3.5rem;
  align-items: center;
}

.rva-about-qaqc__media {
  border-radius: var(--rva-radius-lg, 8px);
  overflow: hidden;
  aspect-ratio: 4 / 3;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}

.rva-about-qaqc__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.rva-qaqc-checklist {
  margin: 1.75rem 0 2rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.rva-qaqc-check-item {
  border-left: 3px solid #0891b2;
  padding-left: 1rem;
  font-size: 0.9375rem;
  color: #475569;
  line-height: 1.5;
}

.rva-qaqc-check-item strong {
  color: #0f172a;
  display: block;
  margin-bottom: 0.15rem;
}

/* --- 15.8 Responsive Rules for About Us --- */
@media (max-width: 1024px) {
  .rva-about-executive__grid {
    grid-template-columns: 1fr;
  }
  .rva-about-executive__sidebar {
    position: static;
  }
  .rva-pillars-grid {
    grid-template-columns: 1fr;
  }
  .rva-itk-equipment-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .rva-about-qaqc__layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .rva-about-stats-strip {
    grid-template-columns: 1fr 1fr;
  }
  .rva-purpose-banner {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 1.5rem;
  }
  .rva-itk-equipment-grid {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   16. INTERTEK-INSPIRED UNIVERSAL SITE TEMPLATES
   (Services Hub, Categories, Single Datasheet, Downloads, Contacts,
    Sample Submission, Blog / Insights)
   ========================================================================== */

/* Category Pill Meta in Hero */
.rva-category-pill-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem;
  margin-top: 1.5rem;
  justify-content: center;
}

.rva-category-pill {
  display: inline-flex;
  align-items: center;
  padding: 0.35rem 0.85rem;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 9999px;
  font-size: 0.8125rem;
  font-family: var(--rva-font-mono, monospace);
  color: #e2e8f0;
  letter-spacing: 0.02em;
}

/* Datasheet Hero Badges */
.rva-datasheet-hero-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem;
  margin-bottom: 1.25rem;
  justify-content: center;
}

/* Submission Steps Pill */
.rva-submission-steps-pill {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.14);
  padding: 0.4rem 1rem;
  border-radius: 9999px;
  margin-top: 1.5rem;
  font-size: 0.8125rem;
  color: #94a3b8;
}

.rva-submission-steps-pill .rva-step-item.is-active {
  color: #f59e0b;
  font-weight: 600;
}

.rva-submission-steps-pill .rva-step-sep {
  color: rgba(255, 255, 255, 0.3);
}

/* --- 16.2 Services Hub: Disciplines Grid --- */
.rva-services-disciplines {
  padding: 5rem 0 3.5rem;
  background-color: #f8fafc;
  border-bottom: 1px solid var(--rva-color-border, #e2e8f0);
}

.rva-disciplines-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}

.rva-discipline-card {
  background: #ffffff;
  border: 1px solid var(--rva-color-border, #e2e8f0);
  border-radius: var(--rva-radius-lg, 8px);
  padding: 1.85rem;
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
  transition:
    transform 0.25s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.25s cubic-bezier(0.22, 1, 0.36, 1),
    border-color 0.25s ease;
}

.rva-discipline-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 28px -6px rgba(10, 38, 28, 0.12);
  border-color: #0891b2;
}

.rva-discipline-card__top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
}

.rva-discipline-card__icon {
  font-size: 1.75rem;
  line-height: 1;
}

.rva-discipline-card__count {
  font-size: 0.75rem;
  font-family: var(--rva-font-mono, monospace);
  color: #64748b;
  background: #f1f5f9;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  font-weight: 600;
}

.rva-discipline-card__tag {
  font-size: 0.75rem;
  font-family: var(--rva-font-mono, monospace);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #0891b2;
  margin-bottom: 0.35rem;
}

.rva-discipline-card__title {
  font-size: 1.1875rem;
  font-weight: 700;
  color: var(--rva-color-text, #0f172a);
  margin: 0 0 0.65rem;
  line-height: 1.3;
}

.rva-discipline-card__desc {
  font-size: 0.875rem;
  color: #64748b;
  line-height: 1.55;
  margin: 0 0 1.25rem;
  flex-grow: 1;
}

.rva-discipline-card__link {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--rva-color-primary, #0e4d34);
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  transition:
    color 0.15s ease,
    gap 0.15s ease;
}

.rva-discipline-card:hover .rva-discipline-card__link {
  color: #0891b2;
  gap: 0.55rem;
}

.rva-services-navigator {
  padding: 4rem 0 2rem;
  background-color: #ffffff;
}

.rva-services-catalog,
.rva-category-catalog-section {
  padding: 3rem 0 5rem;
  background-color: #ffffff;
}

/* --- 16.3 Single Datasheet Enhancements --- */
.rva-submission-guidelines-actions {
  display: flex;
  gap: 0.85rem;
  flex-wrap: wrap;
  margin-top: 1.25rem;
}

/* --- 16.4 Responsive Rules for Site-Wide Intertek Layouts --- */
@media (max-width: 1024px) {
  .rva-disciplines-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .rva-disciplines-grid {
    grid-template-columns: 1fr;
  }
  .rva-category-pill-meta {
    justify-content: flex-start;
  }
  .rva-submission-steps-pill {
    font-size: 0.75rem;
  }
}

/* ==========================================================================
   17. Resourceful Blog & Knowledge Portal
   ========================================================================== */
.rva-blog-filters-bar {
  background-color: #ffffff;
  border-bottom: 1px solid var(--rva-color-border, #e2e8f0);
  padding: 1.15rem 0;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);
}

.rva-blog-filters {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  flex-wrap: wrap;
}

.rva-blog-filters__label {
  font-size: 0.8125rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #64748b;
  white-space: nowrap;
}

.rva-blog-filters__list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.rva-filter-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.4rem 0.95rem;
  background-color: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 9999px;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #334155;
  text-decoration: none;
  transition: all 150ms ease-out;
}

.rva-filter-pill:hover {
  background-color: #f1f5f9;
  border-color: #cbd5e1;
  color: #0f172a;
}

.rva-filter-pill.is-active {
  background-color: #04120e;
  border-color: #04120e;
  color: #ffffff;
}

.rva-filter-pill__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.25rem;
  height: 1.25rem;
  padding: 0 0.35rem;
  border-radius: 9999px;
  background-color: rgba(0, 0, 0, 0.06);
  font-size: 0.6875rem;
  font-family: var(--rva-font-mono, monospace);
  font-weight: 700;
}

.rva-filter-pill.is-active .rva-filter-pill__count {
  background-color: rgba(255, 255, 255, 0.2);
  color: #ffffff;
}

.rva-blog-main-container {
  padding: 3.5rem 0 5rem;
  background-color: #f8fafc;
}

/* Featured Lead Bulletin Spotlight */
.rva-blog-lead-spotlight {
  margin-bottom: 3.5rem;
}

.rva-blog-lead-card {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  background-color: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
  transition:
    transform 150ms ease-out,
    box-shadow 150ms ease-out;
}

.rva-blog-lead-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.07);
}

.rva-blog-lead-card__media {
  position: relative;
  overflow: hidden;
  min-height: 320px;
}

.rva-blog-lead-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 400ms ease;
}

.rva-blog-lead-card:hover .rva-blog-lead-card__media img {
  transform: scale(1.03);
}

.rva-blog-lead-card__body {
  padding: clamp(2rem, 3.5vw, 3rem);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.rva-blog-lead-card__meta {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  font-size: 0.8125rem;
  margin-bottom: 1.15rem;
  flex-wrap: wrap;
}

.rva-badge--featured {
  background-color: #064e3b;
  color: #34d399;
  font-weight: 700;
  font-size: 0.6875rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.2rem 0.65rem;
  border-radius: 4px;
}

.rva-blog-lead-card__title {
  font-size: clamp(1.4rem, 2.2vw, 1.85rem);
  font-weight: 700;
  line-height: 1.25;
  margin: 0 0 1rem;
  color: #0f172a;
}

.rva-blog-lead-card__title a {
  color: #0f172a;
  text-decoration: none;
  transition: color 150ms ease-out;
}

.rva-blog-lead-card__title a:hover {
  color: #0891b2;
}

.rva-blog-lead-card__excerpt {
  font-size: 0.9375rem;
  line-height: 1.65;
  color: #64748b;
  margin: 0 0 1.75rem;
}

/* Standard Operating Guidelines Ribbon */
.rva-blog-resources-ribbon {
  background: linear-gradient(135deg, #062319 0%, #03140e 100%);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  padding: 2.25rem;
  margin-bottom: 3.5rem;
  color: #ffffff;
}

.rva-blog-resources-ribbon__head {
  margin-bottom: 1.5rem;
}

.rva-blog-resources-ribbon__title {
  color: #ffffff;
  font-size: 1.25rem;
  font-weight: 700;
  margin: 0 0 0.35rem;
}

.rva-blog-resources-ribbon__desc {
  color: #94a3b8;
  font-size: 0.875rem;
  margin: 0;
}

.rva-blog-resources-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}

.rva-blog-resource-card {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.25rem;
  background-color: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  text-decoration: none;
  color: #ffffff;
  transition: all 150ms ease-out;
}

.rva-blog-resource-card:hover {
  background-color: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.25);
  transform: translateY(-1px);
}

.rva-blog-resource-card__icon {
  font-size: 1.5rem;
}

.rva-blog-resource-card__info h4 {
  font-size: 0.875rem;
  font-weight: 600;
  margin: 0 0 0.15rem;
  color: #ffffff;
}

.rva-blog-resource-card__info span {
  font-size: 0.75rem;
  color: #94a3b8;
  display: block;
}

.rva-blog-resource-card__arrow {
  margin-left: auto;
  color: #34d399;
  font-size: 1.15rem;
  transition: transform 150ms ease;
}

.rva-blog-resource-card:hover .rva-blog-resource-card__arrow {
  transform: translateX(3px);
}

.rva-blog-section-header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 1.75rem;
  border-bottom: 2px solid #e2e8f0;
  padding-bottom: 0.75rem;
}

.rva-blog-section-title {
  font-size: 1.35rem;
  font-weight: 700;
  color: #0f172a;
  margin: 0;
}

.rva-blog-grid {
  margin-bottom: 3rem;
}

.rva-blog-pagination {
  display: flex;
  justify-content: center;
  margin-top: 2rem;
}

.rva-blog-pagination .nav-links {
  display: flex;
  gap: 0.5rem;
  align-items: center;
}

.rva-blog-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.5rem;
  height: 2.5rem;
  padding: 0 0.75rem;
  border-radius: 6px;
  background-color: #ffffff;
  border: 1px solid #e2e8f0;
  color: #334155;
  font-weight: 600;
  font-size: 0.875rem;
  text-decoration: none;
  transition: all 150ms ease-out;
}

.rva-blog-pagination .page-numbers.current {
  background-color: #04120e;
  border-color: #04120e;
  color: #ffffff;
}

.rva-blog-pagination .page-numbers:hover:not(.current) {
  background-color: #f1f5f9;
  border-color: #cbd5e1;
}

@media (max-width: 900px) {
  .rva-blog-lead-card {
    grid-template-columns: 1fr;
  }
  .rva-blog-lead-card__media {
    min-height: 220px;
    max-height: 280px;
  }
  .rva-blog-resources-grid {
    grid-template-columns: 1fr;
  }
}

/* --- 16. Pre-Production Polish & DOM Cleanup --- */
.site-footer {
  display: none !important;
}

.rva-text-cyan {
  color: #0891b2 !important;
}
