/* ====================================================================
   Terra Vita Hub v378 — Site-wide visual & reviewer route QA hardening
   Scope: assurance, FieldTrace, committee-export, protected-room and
   export-register route family. Public/protected boundary remains unchanged.
   ==================================================================== */
:root{
  --tvh-v378-ink:#0a2a43;
  --tvh-v378-muted:rgba(10,42,67,.76);
  --tvh-v378-soft:#fffdf6;
  --tvh-v378-paper:#f7f1e4;
  --tvh-v378-line:rgba(10,42,67,.14);
  --tvh-v378-green:#1e7f4f;
  --tvh-v378-gold:#d6b26a;
  --tvh-v378-navy:#082640;
}
.tvh-v378-route-qa .tvh-assurance-hero,
.tvh-v378-route-qa .tvh-export-hero,
.tvh-v378-route-qa .tvh-room-hero{
  position:relative;
  overflow:hidden;
  padding:88px 0 64px;
  background:
    radial-gradient(circle at 90% -8%, rgba(26,77,105,.14) 0%, rgba(26,77,105,0) 38%),
    radial-gradient(circle at 6% 10%, rgba(30,127,79,.10) 0%, rgba(30,127,79,0) 34%),
    linear-gradient(180deg,var(--tvh-v378-soft) 0%,var(--tvh-v378-paper) 100%);
  color:var(--tvh-v378-ink);
  border-bottom:1px solid var(--tvh-v378-line);
}
.tvh-v378-route-qa .tvh-assurance-hero:before,
.tvh-v378-route-qa .tvh-assurance-hero:after{
  opacity:.16;
  pointer-events:none;
}
.tvh-v378-route-qa .tvh-assurance-hero h1,
.tvh-v378-route-qa .tvh-export-hero h1,
.tvh-v378-route-qa .tvh-room-hero h1,
.tvh-v378-route-qa .tvh-doc-hero h1,
.tvh-v378-route-qa .tvh-search-page-hero h1{
  color:var(--tvh-v378-ink) !important;
  text-shadow:none !important;
}
.tvh-v378-route-qa .tvh-assurance-hero .accent,
.tvh-v378-route-qa .tvh-export-hero .accent,
.tvh-v378-route-qa .tvh-room-hero .accent{
  color:var(--tvh-v378-green) !important;
}
.tvh-v378-route-qa .tvh-assurance-lead p,
.tvh-v378-route-qa .tvh-export-lead,
.tvh-v378-route-qa .tvh-room-lead,
.tvh-v378-route-qa .tvh-doc-hero p,
.tvh-v378-route-qa .tvh-search-page-hero p{
  color:var(--tvh-v378-muted) !important;
}
.tvh-v378-route-qa .tvh-assurance-hero .tvh-section-meta,
.tvh-v378-route-qa .tvh-export-hero .tvh-section-meta,
.tvh-v378-route-qa .tvh-room-hero .tvh-section-meta,
.tvh-v378-route-qa .tvh-doc-hero .tvh-section-meta,
.tvh-v378-route-qa .tvh-search-page-hero .tvh-section-meta{
  color:var(--tvh-v378-ink) !important;
}
.tvh-v378-route-qa .tvh-assurance-hero .tvh-ord,
.tvh-v378-route-qa .tvh-export-hero .tvh-ord,
.tvh-v378-route-qa .tvh-room-hero .tvh-ord,
.tvh-v378-route-qa .tvh-doc-hero .tvh-ord,
.tvh-v378-route-qa .tvh-search-page-hero .tvh-ord,
.tvh-v378-route-qa .tvh-assurance-hero .tvh-eyebrow,
.tvh-v378-route-qa .tvh-export-hero .tvh-eyebrow,
.tvh-v378-route-qa .tvh-room-hero .tvh-eyebrow,
.tvh-v378-route-qa .tvh-doc-hero .tvh-eyebrow,
.tvh-v378-route-qa .tvh-search-page-hero .tvh-eyebrow{
  color:var(--tvh-v378-green) !important;
}
.tvh-v378-route-qa .tvh-assurance-hero .tvh-hero-meta-line,
.tvh-v378-route-qa .tvh-export-hero .tvh-hero-meta-line,
.tvh-v378-route-qa .tvh-room-hero .tvh-hero-meta-line,
.tvh-v378-route-qa .tvh-doc-hero .tvh-hero-meta-line,
.tvh-v378-route-qa .tvh-search-page-hero .tvh-hero-meta-line{
  background:rgba(10,42,67,.24) !important;
}
.tvh-v378-route-qa .tvh-assurance-boundary,
.tvh-v378-route-qa .tvh-export-boundary,
.tvh-v378-route-qa .tvh-room-boundary{
  border-color:var(--tvh-v378-line) !important;
  border-left-color:var(--tvh-v378-gold) !important;
  background:rgba(255,255,255,.84) !important;
  color:var(--tvh-v378-ink) !important;
  box-shadow:0 18px 42px rgba(10,42,67,.08) !important;
}
.tvh-v378-route-qa .tvh-assurance-boundary strong,
.tvh-v378-route-qa .tvh-export-boundary strong,
.tvh-v378-route-qa .tvh-room-boundary strong{
  color:var(--tvh-v378-green) !important;
}
.tvh-v378-route-qa .tvh-assurance-boundary span,
.tvh-v378-route-qa .tvh-export-boundary span,
.tvh-v378-route-qa .tvh-room-boundary span{
  color:rgba(10,42,67,.80) !important;
}
.tvh-v378-route-qa .tvh-assurance-sequence div,
.tvh-v378-route-qa .tvh-export-sequence div,
.tvh-v378-route-qa .tvh-room-sequence a,
.tvh-v378-route-qa .tvh-room-sequence div{
  color:var(--tvh-v378-ink) !important;
  border-color:var(--tvh-v378-line) !important;
  background:rgba(255,255,255,.76) !important;
  box-shadow:0 12px 28px rgba(10,42,67,.06) !important;
}
.tvh-v378-route-qa .tvh-assurance-sequence span,
.tvh-v378-route-qa .tvh-export-sequence span,
.tvh-v378-route-qa .tvh-room-sequence span{
  color:rgba(30,127,79,.82) !important;
}
.tvh-v378-route-qa .tvh-assurance-sequence b,
.tvh-v378-route-qa .tvh-export-sequence b,
.tvh-v378-route-qa .tvh-room-sequence b{
  color:var(--tvh-v378-ink) !important;
}
.tvh-v378-route-qa .tvh-assurance-hero .tvh-cta-primary,
.tvh-v378-route-qa .tvh-export-hero .tvh-cta-primary,
.tvh-v378-route-qa .tvh-room-hero .tvh-cta-primary{
  background:var(--tvh-v378-ink) !important;
  border-color:var(--tvh-v378-ink) !important;
  color:var(--tvh-v378-soft) !important;
}
.tvh-v378-route-qa .tvh-assurance-hero .tvh-cta-ghost,
.tvh-v378-route-qa .tvh-export-hero .tvh-cta-ghost,
.tvh-v378-route-qa .tvh-room-hero .tvh-cta-ghost{
  background:rgba(255,255,255,.80) !important;
  border-color:rgba(10,42,67,.18) !important;
  color:var(--tvh-v378-ink) !important;
}
.tvh-v378-route-qa .tvh-assurance-section.dark h2,
.tvh-v378-route-qa .tvh-assurance-section.dark h3,
.tvh-v378-route-qa .tvh-assurance-section.dark .tvh-eyebrow,
.tvh-v378-route-qa .tvh-assurance-section.dark .tvh-ord,
.tvh-v378-route-qa .tvh-assurance-section.dark .tvh-reliance-banner h3,
.tvh-v378-route-qa .tvh-room-section.dark h2,
.tvh-v378-route-qa .tvh-room-section.dark h3,
.tvh-v378-route-qa .tvh-room-section.dark .tvh-eyebrow,
.tvh-v378-route-qa .tvh-room-section.dark .tvh-ord{
  color:#fffdf6 !important;
}
.tvh-v378-route-qa .tvh-assurance-section.dark .tvh-assurance-intro,
.tvh-v378-route-qa .tvh-assurance-section.dark p,
.tvh-v378-route-qa .tvh-room-section.dark p{
  color:rgba(255,253,246,.78) !important;
}
.tvh-v378-route-strip{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin-top:24px;
  padding:10px;
  border:1px solid rgba(10,42,67,.12);
  border-radius:22px;
  background:rgba(255,255,255,.64);
  box-shadow:0 12px 30px rgba(10,42,67,.06);
}
.tvh-v378-route-strip .tvh-v378-route-label{
  flex:0 0 auto;
  padding:9px 12px;
  border-radius:999px;
  color:rgba(10,42,67,.64);
  font-size:11px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.tvh-v378-route-strip a{
  flex:0 0 auto;
  text-decoration:none;
  border:1px solid rgba(10,42,67,.13);
  border-radius:999px;
  padding:9px 12px;
  background:rgba(255,255,255,.72);
  color:rgba(10,42,67,.78) !important;
  font-size:12px;
  font-weight:800;
  letter-spacing:.02em;
}
.tvh-v378-route-strip a:hover,
.tvh-v378-route-strip a:focus{
  color:var(--tvh-v378-ink) !important;
  border-color:rgba(10,42,67,.28);
  background:#fff;
}
.tvh-v378-route-strip a[aria-current="page"]{
  background:var(--tvh-v378-ink);
  border-color:var(--tvh-v378-ink);
  color:#fffdf6 !important;
}
@media(max-width:980px){
  .tvh-v378-route-qa .tvh-assurance-hero,
  .tvh-v378-route-qa .tvh-export-hero,
  .tvh-v378-route-qa .tvh-room-hero{padding:72px 0 52px}
  .tvh-v378-route-strip{flex-wrap:nowrap;overflow:auto;scrollbar-width:thin;padding:8px;border-radius:18px}
  .tvh-v378-route-strip a,.tvh-v378-route-strip .tvh-v378-route-label{white-space:nowrap}
}
@media(max-width:640px){
  .tvh-v378-route-qa .tvh-assurance-hero,
  .tvh-v378-route-qa .tvh-export-hero,
  .tvh-v378-route-qa .tvh-room-hero{padding:62px 0 44px}
  .tvh-v378-route-qa .tvh-assurance-hero h1,
  .tvh-v378-route-qa .tvh-export-hero h1,
  .tvh-v378-route-qa .tvh-room-hero h1{font-size:42px;line-height:1}
}
