/*
  Rooted Rocket role enforcement layer.
  Canonical values live only in rooted-rocket-tokens.css. This file loads after
  page-specific CSS so old, current, and future routes share the same roles.
*/

/* Global roles. One dark blue only. */
html, body { background: var(--rr-white); }
body { color: var(--rr-primary-navy); }
p, li, dd { color: var(--rr-primary-navy); }
h1, h2, h3 { color: var(--rr-primary-navy); }
h1 em, h2 em { color: var(--rr-carolina-blue); }
::selection { background: var(--rr-carolina-blue); color: var(--rr-primary-navy); }
:focus-visible { outline-color: var(--rr-carolina-blue); }
.site-header { background: var(--rr-white); }
.site-header.is-scrolled { border-color: var(--rr-border); box-shadow: 0 8px 28px rgba(var(--rr-primary-navy-rgb), .08); }
.nav-list > li > a, .nav-trigger { color: var(--rr-primary-navy); }
.nav-list > li > a::after, .nav-trigger::after { background: var(--rr-copper); }
.nav-menu { border-color: var(--rr-border); background: var(--rr-white); }
.nav-menu a { border-color: var(--rr-mist); }
.nav-menu a:hover, .nav-menu a[aria-current="page"] { background: var(--rr-mist); color: var(--rr-primary-navy); }

.button { border-color: var(--rr-copper); background: var(--rr-copper); color: var(--rr-white); }
.button--secondary { border-color: var(--rr-primary-navy); background: var(--rr-white); color: var(--rr-primary-navy); }
.button--light { border-color: var(--rr-white); background: var(--rr-white); color: var(--rr-primary-navy); }
@media (hover:hover) and (pointer:fine) {
  .button:hover { border-color: var(--rr-primary-navy); background: var(--rr-primary-navy); color: var(--rr-white); }
  .button--secondary:hover { border-color: var(--rr-carolina-blue); background: var(--rr-carolina-blue); color: var(--rr-primary-navy); }
}
.text-link { color: var(--rr-primary-navy); text-decoration-color: var(--rr-copper); }
.rr-kicker, .eyebrow, .section-index, .pricing-option, .article-meta, .article-byline,
.tag, .document-label, .artifact-label, .breadcrumbs li { color: var(--rr-steel); }

/* Page rhythm. White, Mist, and Carolina Blue provide contrast and energy. */
.section--paper { background: var(--rr-white); }
.section--soft-mist, .section--mint, .section--mist, .section-alt { background: var(--rr-mist); }
.section--dark, .section--carbon, .rr-keeper-build, .control-band { background: var(--rr-primary-navy); color: var(--rr-white); }
.section--dark :where(h1,h2,h3), .section--carbon :where(h1,h2,h3),
.rr-keeper-build :where(h1,h2,h3), .control-band :where(h1,h2,h3) { color: var(--rr-white); }
.section--dark :where(p,li), .section--carbon :where(p,li),
.rr-keeper-build :where(p,li), .control-band :where(p,li) { color: var(--rr-mist); }
.section--dark .rr-kicker, .section--dark .eyebrow, .section--carbon .rr-kicker,
.rr-keeper-build .eyebrow, .control-band .eyebrow { color: var(--rr-copper); }

.page-hero, .start-hero, .legal-hero, .article-header {
  border-color: var(--rr-border);
  background: linear-gradient(108deg, var(--rr-white) 0%, var(--rr-white) 48%, var(--rr-mist) 78%, rgba(var(--rr-carolina-blue-rgb), .20) 100%);
}
.page-hero::after, .start-hero::after, .legal-hero::after, .article-header::after { background: var(--rr-copper); }
.page-hero-note { border-color: var(--rr-copper); }
.page-hero-note p, .start-hero p { color: var(--rr-primary-navy); }
.page-hero h1 em, .article-header h1 em { color: var(--rr-carolina-blue); }

/* Content surfaces and diagrams. */
:where(.application-grid article, .use-case-grid article, .proof-grid article, .coherence-grid article,
.artifact-card-grid article, .platform-grid article, .role-grid article, .resource-card, .insight-card,
.stage-card, .rr-flow__node, .rr-map--before-after > article, .pricing-overview-card, .engagement-ledger__row,
.pricing-detail, .intake-form, .document-canvas, .resource-template) { background: var(--rr-white); }
:where(.boundary-panel, .data-gate, .proof-policy, .pricing-offer__boundary, .article-thesis) {
  border-left-color: var(--rr-copper);
  background: var(--rr-mist);
}
:where(.artifact-card-grid article, .artifact-preview) { background: linear-gradient(145deg, var(--rr-white), var(--rr-mist)); }
:where(.rr-map--shared-layers > span, .evidence-detail, .rr-article-path) { background: rgba(var(--rr-carolina-blue-rgb), .14); color: var(--rr-primary-navy); }
:where(.fit-card--yes, .rr-decision-card--human, .authority-matrix article:last-child,
.rr-engagement-staffing, .confidentiality-panel, .control-plane__core, .system-hub__core,
.evidence-stack button[aria-selected="true"], .problem-tabs button[aria-selected="true"],
.explorer-tabs button[aria-selected="true"], .before-after-controls button[aria-pressed="true"]) {
  border-color: var(--rr-primary-navy);
  background: var(--rr-primary-navy);
  color: var(--rr-white);
}
:where(.evidence-stack button[aria-selected="true"] span, .process-carousel__topline span,
.process-autoplay__icon, .process-carousel__steps button span, .flip-card__face--back .artifact-label,
.rr-keeper-build__sequence span, .cta-panel .eyebrow, .confidence-steps li:not(:last-child)::after,
.mobile-problem-carousel__topline span) { color: var(--rr-copper) !important; }
.process-carousel__progress span, .mobile-problem-dots button[aria-selected="true"],
.mobile-problem-carousel__progress span { background: var(--rr-copper) !important; }
.flip-card__face--back .system-track li:not(:last-child)::after { border-color: var(--rr-copper); }
.flip-comparison__hint span { background: var(--rr-copper); box-shadow: 0 0 0 5px rgba(var(--rr-copper-rgb), .12); }
.mobile-problem-card__label { background: var(--rr-mist); }
.article-body p, .article-body li, .article-body blockquote { color: var(--rr-primary-navy); }

/* Proof and data intentionally use the full approved palette without another dark blue. */
.rr-proof-band { background: var(--rr-primary-navy); color: var(--rr-white); }
.rr-proof-band .rr-kicker { color: var(--rr-copper); }
.rr-proof-band h2, .rr-proof-band .text-link { color: var(--rr-white); }
.rr-proof-band__heading > p, .rr-metric-strip span { color: var(--rr-mist); }
.rr-metric-strip article:nth-child(1) strong { color: var(--rr-carolina-blue); }
.rr-metric-strip article:nth-child(2) strong { color: var(--rr-copper); }
.rr-metric-strip article:nth-child(3) strong { color: var(--rr-white); }
.rr-metric-strip article:nth-child(4) strong { color: var(--rr-flat-gray); }
.rr-metric-strip article:nth-child(5) strong { color: var(--rr-flat-gray); }
.pricing-proof .rr-metric-strip article:nth-child(1) strong { color: var(--rr-carolina-blue); }
.pricing-proof .rr-metric-strip article:nth-child(2) strong { color: var(--rr-copper); }
.pricing-proof .rr-metric-strip article:nth-child(3) strong { color: var(--rr-primary-navy); }
.pricing-proof .rr-metric-strip article:nth-child(4) strong { color: var(--rr-steel); }
.pricing-proof .rr-metric-strip article:nth-child(5) strong { color: var(--rr-dark-green); }

/* Pricing, forms, CTA and footer. */
.pricing-decision { background: var(--rr-primary-navy); color: var(--rr-white); }
.pricing-decision :where(h2,h3) { color: var(--rr-white); }
.pricing-decision :where(p,span) { color: var(--rr-mist); }
.pricing-communication__grid article { background: rgba(var(--rr-white-rgb), .52); }
.pricing-terms, .pricing-faqs { background: var(--rr-white); }
.pricing-proof { background: var(--rr-mist); }
.commercial-terms { background: var(--rr-mist); }
input, select, textarea { border-color: var(--rr-border-strong); background: var(--rr-white); color: var(--rr-primary-navy); }
input:focus, select:focus, textarea:focus, .form-status:focus, .error-summary:focus { border-color: var(--rr-carolina-blue); outline-color: var(--rr-carolina-blue); }
.form-status.is-success { border-left-color: var(--rr-carolina-blue); background: var(--rr-mist); color: var(--rr-primary-navy); }
.cta-panel { background: var(--rr-primary-navy); color: var(--rr-white); }
.cta-panel .rr-kicker, .cta-panel .eyebrow { color: var(--rr-copper); }
.cta-panel h2 { color: var(--rr-white); }
.cta-panel > p { color: var(--rr-mist); }
.site-footer { background: var(--rr-primary-navy); color: var(--rr-white); }
.site-footer p, .footer-column a { color: var(--rr-mist); }
.footer-column h2 { color: var(--rr-flat-gray); }

/* About has its own stylesheet. Override its legacy literals here, after that file loads. */
body.about-us-page { background: var(--rr-white); }
.about-us-page .site-header { background: rgba(var(--rr-white-rgb), .97); }
.about-hero {
  border-color: var(--rr-border);
  background: linear-gradient(108deg, var(--rr-white) 0%, var(--rr-mist) 58%, rgba(var(--rr-carolina-blue-rgb), .18) 100%);
}
.about-hero::after, .about-final-cta::before { background: var(--rr-copper); }
.about-hero__copy .lede, .about-section__heading > p, .about-origin__steps p,
.about-founder p, .about-beliefs p, .about-final-cta p { color: var(--rr-primary-navy); }
.about-hero__statement, .about-team-panel, .about-section--dark { background: var(--rr-primary-navy); }
.about-hero__statement span, .about-team-panel span { color: var(--rr-copper); }
.about-hero__statement p, .about-team-panel h3, .about-team-panel p { color: var(--rr-white); }
.about-section--mist { background: var(--rr-mist); }
.about-difference__copy strong, .about-difference__note p { color: var(--rr-primary-navy); }
.about-difference__note { border-color: var(--rr-copper); }
.about-difference__note span, .about-origin__steps span, .about-founder__title span,
.about-beliefs article > span { color: var(--rr-copper); }
.about-founder__title strong { color: var(--rr-steel); }
.about-origin__steps, .about-founder, .about-beliefs, .about-beliefs article { border-color: var(--rr-border); }
.about-beliefs article, .about-founder, .about-final-cta { background: var(--rr-white); }
.about-name__copy p { color: var(--rr-mist); }
.about-final-statement { background: var(--rr-primary-navy); }
.about-final-statement p { color: var(--rr-white); }

/* Protected Results page: palette only. Layout and behavior are untouched. */
.systems-proof--final {
  --t6-copper: var(--rr-copper);
  --t6-copper-light: var(--rr-mist);
  --t6-blue: var(--rr-carolina-blue);
  --t6-green: var(--rr-dark-green);
  --t6-line: rgba(var(--rr-carolina-blue-rgb), .42);
  background: var(--rr-white);
}
.systems-proof--final .t6-hero {
  background: radial-gradient(circle at 82% 20%, rgba(var(--rr-carolina-blue-rgb), .24), transparent 32%), var(--rr-primary-navy) !important;
}
.systems-proof--final .t6-hero .t6-kicker, .systems-proof--final .t6-hero__proof span,
.systems-proof--final .t6-finding span, .systems-proof--final .t6-section-heading--light .t6-kicker { color: var(--rr-copper) !important; }
.systems-proof--final .t6-hero h1 em { color: var(--rr-carolina-blue) !important; }
.systems-proof--final .t6-trust-list li::before { background: var(--rr-copper) !important; }
.systems-proof--final .t6-hero__proof svg path { stroke: var(--rr-copper) !important; }
.systems-proof--final .t6-hero__proof { background: rgba(var(--rr-primary-navy-rgb), .90) !important; }
.systems-proof--final .t6-local-nav { background: rgba(var(--rr-white-rgb), .97) !important; }
.systems-proof--final .t6-finding { background: var(--rr-primary-navy) !important; }
.systems-proof--final .t6-blame-card { background: var(--rr-white); }

/* Homepage hero. Full-bleed scene, no rectangular illustration box. */
.rr-home-hero {
  position: relative;
  isolation: isolate;
  min-height: 560px;
  padding: 0;
  background: linear-gradient(105deg, var(--rr-white) 0%, var(--rr-white) 46%, var(--rr-mist) 72%, var(--rr-mist) 100%);
}
.rr-home-hero::before, .rr-home-hero::after { display: none !important; }
.rr-home-hero .hero-inner {
  position: static;
  z-index: auto;
  display: block;
  min-height: 560px;
}
.rr-home-hero .hero-copy {
  position: relative;
  z-index: 3;
  width: min(58%,760px);
  max-width: 760px;
  padding: 64px 0 156px;
}
.rr-home-hero .hero-copy > .rr-kicker { margin-bottom: 16px; color: var(--rr-steel); }
.rr-home-hero .hero-copy h1 { max-width: 760px; }
.rr-home-hero .hero-copy h1 em { color: var(--rr-carolina-blue); }
.rr-home-hero .hero-subhead { max-width: 610px; color: var(--rr-primary-navy); }
.rr-home-hero .rr-hero-mark {
  position: absolute;
  z-index: 1;
  inset: 0;
  display: block;
  min-height: 0;
  margin: 0;
  overflow: hidden;
  background: url('/assets/img/rooted-rocket-hero-landscape.svg?v=20260818-2') center bottom / cover no-repeat;
  pointer-events: none;
}
.rr-home-hero .rr-hero-mark img { display: none; }

@media (max-width:1040px) {
  .rr-home-hero { min-height: 0; background: linear-gradient(115deg, var(--rr-white), var(--rr-mist)); }
  .rr-home-hero .hero-inner { min-height: 0; }
  .rr-home-hero .hero-copy { width: min(100%,780px); max-width: 780px; padding: 48px 0 74px; }
  .rr-home-hero .rr-hero-mark { display: none; }
}
@media (max-width:700px) {
  .rr-home-hero .hero-copy { padding: 34px 0 60px; }
}
