/* Revenue Cues v89
   Sales-journey positioning and shared components.
   Loaded after main.css so changes stay isolated from the working checkout and
   Lost Sales Report private flow. */

:root {
  --rc88-navy: #031225;
  --rc88-orange: #ff5500;
  --rc88-orange-dark: #e94d00;
  --rc88-blue: #8bdcff;
  --rc88-yellow: #f5e642;
  --rc88-ink: #101828;
  --rc88-muted: #596273;
  --rc88-line: #dce1e8;
  --rc88-soft: #f3f5f7;
  --rc88-white: #ffffff;
}

/* Global v88 CTA hierarchy */
.btn.btn-primary,
a.btn.btn-primary {
  background: var(--rc88-orange);
  border-color: var(--rc88-orange);
  color: #fff !important;
}
.btn.btn-primary:hover,
a.btn.btn-primary:hover {
  background: var(--rc88-orange-dark);
  border-color: var(--rc88-orange-dark);
}

.rc88-secondary-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0.8rem 1.15rem;
  border: 2px solid currentColor;
  border-radius: 6px;
  font-weight: 800;
  text-decoration: none !important;
}
.rc88-secondary-button--dark { color: var(--rc88-navy) !important; }
.rc88-secondary-button--light { color: #fff !important; }

.rc88-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  margin-bottom: 1rem;
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.rc88-lead {
  max-width: 48rem;
  color: var(--rc88-muted);
  font-size: clamp(1.08rem, 2vw, 1.28rem);
  line-height: 1.7;
}

.rc88-hero {
  background: var(--rc88-navy);
  color: #fff;
  padding: clamp(4.5rem, 8vw, 7rem) 0 clamp(4rem, 7vw, 6rem);
  overflow: hidden;
}
.rc88-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(320px, .88fr);
  gap: clamp(2.25rem, 5vw, 5rem);
  align-items: center;
}
.rc88-hero h1 {
  margin: 0;
  max-width: 13ch;
  color: #fff;
  font-size: clamp(3.5rem, 7vw, 6.7rem);
  line-height: .93;
  letter-spacing: -.055em;
}
.rc88-hero h1 .accent { color: var(--rc88-blue); }
.rc88-hero-copy {
  max-width: 48rem;
  margin-top: 1.55rem;
  color: #e3e8ef;
  font-size: clamp(1.08rem, 2vw, 1.3rem);
  line-height: 1.65;
}
.rc88-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .85rem;
  margin-top: 1.8rem;
  align-items: center;
}
.rc88-hero-note {
  margin-top: 1rem;
  max-width: 43rem;
  color: #aeb7c8;
  font-size: .94rem;
}
.rc88-hero-visual {
  position: relative;
  padding: 1rem;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 24px;
  background: rgba(255,255,255,.05);
  box-shadow: 0 28px 70px rgba(0,0,0,.28);
}
.rc88-hero-visual img { display:block; width:100%; height:auto; border-radius: 16px; }

.rc88-section { padding: clamp(4.5rem, 8vw, 7rem) 0; }
.rc88-section--soft { background: var(--rc88-soft); }
.rc88-section--navy { background: var(--rc88-navy); color:#fff; }
.rc88-section--navy h2, .rc88-section--navy h3 { color:#fff; }
.rc88-section--navy .rc88-lead { color:#d5dce6; }
.rc88-section-head { max-width: 52rem; margin-bottom: 2.4rem; }
.rc88-section-head--center { margin-left:auto; margin-right:auto; text-align:center; }
.rc88-section h2 {
  margin: 0 0 1rem;
  font-size: clamp(2.25rem, 4.8vw, 4.65rem);
  line-height: 1.02;
  letter-spacing: -.045em;
}

.rc88-two-col {
  display:grid;
  grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items:start;
}

.rc88-card-grid {
  display:grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 1rem;
}
.rc88-card-grid--4 { grid-template-columns: repeat(4,minmax(0,1fr)); }
.rc88-card {
  padding: clamp(1.35rem, 2.7vw, 2rem);
  border: 1px solid var(--rc88-line);
  border-radius: 14px;
  background:#fff;
}
.rc88-card h3 { margin:0 0 .65rem; font-size:1.35rem; }
.rc88-card p { margin:0; color:var(--rc88-muted); line-height:1.65; }
.rc88-card--dark { background:var(--rc88-navy); border-color:var(--rc88-navy); color:#fff; }
.rc88-card--dark h3 { color:#fff; }
.rc88-card--dark p { color:#d8dfe8; }
.rc88-card-number { display:block; margin-bottom:1.6rem; font-size:.75rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; color:#667085; }
.rc88-card--dark .rc88-card-number { color:var(--rc88-blue); }

.rc88-journey {
  display:grid;
  grid-template-columns: repeat(6,minmax(0,1fr));
  border: 2px solid var(--rc88-navy);
  background: var(--rc88-navy);
  gap:2px;
  margin-top:2rem;
}
.rc88-journey-step { position:relative; min-height:150px; padding:1.25rem; background:#fff; }
.rc88-journey-step b { display:block; margin-bottom:.45rem; font-size:1.05rem; }
.rc88-journey-step span { color:var(--rc88-muted); font-size:.9rem; line-height:1.45; }
.rc88-journey-step::after {
  content:'→';
  position:absolute;
  right:-13px;
  top:50%;
  z-index:2;
  display:grid;
  width:24px;
  height:24px;
  place-items:center;
  border-radius:999px;
  background:var(--rc88-orange);
  color:#fff;
  font-weight:900;
  transform:translateY(-50%);
}
.rc88-journey-step:last-child::after { display:none; }

.rc88-proof-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  border:2px solid var(--rc88-navy);
  background:var(--rc88-navy);
}
.rc88-proof { background:#fff; padding:clamp(1.5rem,3vw,2.4rem); }
.rc88-proof strong { display:block; margin-bottom:.65rem; font-size:clamp(2.2rem,4vw,4rem); line-height:1; letter-spacing:-.05em; }
.rc88-proof p { margin:0; color:var(--rc88-muted); }

.rc88-engine-panel {
  display:grid;
  grid-template-columns: .75fr 1.25fr;
  gap:2rem;
  padding:clamp(1.75rem,4vw,3.25rem);
  border:3px solid var(--rc88-navy);
  background:#fff;
}
.rc88-price { display:block; margin:.65rem 0 1rem; font-size:1.45rem; font-weight:900; }

.rc88-fit-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.rc88-fit-card { padding:2rem; border:1px solid var(--rc88-line); background:#fff; border-radius:14px; }
.rc88-fit-card ul { margin:1.25rem 0 0; padding-left:1.15rem; }
.rc88-fit-card li { margin:.7rem 0; }
.rc88-fit-card--not { background:#f9fafb; }

.rc88-dual-cta {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1rem;
}
.rc88-cta-box { padding:clamp(1.75rem,4vw,3rem); border-radius:16px; background:#fff; border:1px solid var(--rc88-line); }
.rc88-cta-box--dark { background:var(--rc88-navy); color:#fff; border-color:var(--rc88-navy); }
.rc88-cta-box--dark h2, .rc88-cta-box--dark h3 { color:#fff; }
.rc88-cta-box p { color:var(--rc88-muted); }
.rc88-cta-box--dark p { color:#d5dce6; }

/* Flagship */
.rc88-scope-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.rc88-process { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:1px; background:var(--rc88-navy); border:2px solid var(--rc88-navy); }
.rc88-process-step { padding:1.35rem; background:#fff; min-height:190px; }
.rc88-process-step b { display:block; margin-bottom:.8rem; color:var(--rc88-orange); font-size:.8rem; text-transform:uppercase; letter-spacing:.06em; }
.rc88-process-step h3 { font-size:1.15rem; margin-bottom:.45rem; }
.rc88-process-step p { margin:0; color:var(--rc88-muted); font-size:.92rem; }
.rc88-boundary { padding:1.4rem 1.5rem; border-left:7px solid var(--rc88-orange); background:#fff; color:var(--rc88-ink); }

/* Fit Call */
.rc88-call-card { padding:clamp(1.5rem,4vw,3rem); border:2px solid var(--rc88-navy); border-radius:16px; background:#fff; }
.rc88-question-list { margin:1.25rem 0 0; padding:0; list-style:none; counter-reset:q; }
.rc88-question-list li { counter-increment:q; display:grid; grid-template-columns:38px 1fr; gap:.8rem; padding:1rem 0; border-top:1px solid var(--rc88-line); }
.rc88-question-list li::before { content:counter(q); display:grid; place-items:center; width:32px; height:32px; border-radius:50%; background:var(--rc88-navy); color:#fff; font-weight:900; }

/* About */
.rc88-portrait img { display:block; width:100%; height:auto; border-radius:16px; }

/* Footer refinements */
.site-footer .footer-grid { align-items:start; }
.site-footer .footer-brand p { max-width:29rem; }
.rc88-footer-actions { display:flex; flex-direction:column; align-items:flex-start; gap:.75rem; }

@media (max-width: 1020px) {
  .rc88-hero-grid, .rc88-two-col, .rc88-engine-panel { grid-template-columns:1fr; }
  .rc88-hero-visual { max-width:680px; }
  .rc88-card-grid--4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .rc88-journey { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .rc88-journey-step:nth-child(3)::after { display:none; }
  .rc88-process { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 720px) {
  .rc88-hero { padding-top:3.5rem; }
  .rc88-hero h1 { font-size:clamp(3rem,14vw,4.5rem); }
  .rc88-card-grid, .rc88-card-grid--4, .rc88-proof-grid, .rc88-fit-grid, .rc88-dual-cta, .rc88-scope-grid, .rc88-process { grid-template-columns:1fr; }
  .rc88-journey { grid-template-columns:1fr; }
  .rc88-journey-step { min-height:0; }
  .rc88-journey-step::after, .rc88-journey-step:nth-child(3)::after { content:'↓'; display:grid; top:auto; right:auto; left:50%; bottom:-13px; transform:translateX(-50%); }
  .rc88-journey-step:last-child::after { display:none; }
  .rc88-hero-actions .btn, .rc88-hero-actions .rc88-secondary-button { width:100%; }
}

/* v88 specificity pass: the v87 design system intentionally uses !important
   for brand typography and text colours. These overrides keep that typography
   while making dark v88 sections readable. */
.rc88-hero h1,
.rc88-section--navy h2,
.rc88-section--navy h3,
.rc88-cta-box--dark h2,
.rc88-cta-box--dark h3,
.rc88-card--dark h3 { color: #ffffff !important; }
.rc88-hero-copy,
.rc88-hero-copy p,
.rc88-hero-note { color: #e3e8ef !important; }
.rc88-hero-note { color: #aeb7c8 !important; }
.rc88-section--navy p,
.rc88-section--navy li,
.rc88-section--navy .rc88-lead,
.rc88-cta-box--dark p,
.rc88-card--dark p { color: #d5dce6 !important; }
.rc88-card p,
.rc88-proof p,
.rc88-process-step p,
.rc88-cta-box:not(.rc88-cta-box--dark) p { color: var(--rc88-muted) !important; }
.rc88-lead { color: var(--rc88-muted) !important; }
.rc88-section--navy .rc88-lead { color: #d5dce6 !important; }
.rc88-hero .rc88-eyebrow,
.rc88-section--navy .rc88-eyebrow,
.rc88-cta-box--dark .rc88-eyebrow { color: var(--rc88-blue) !important; }
.rc88-hero h1 .accent { color: var(--rc88-blue) !important; }

/* The v88 menu is intentionally longer than the v87 database menu. Switch to
   the established mobile drawer before it becomes cramped. */
@media (max-width: 1120px) {
  .primary-nav { display: none !important; }
  .mobile-menu-toggle { display: flex !important; }
}
@media (min-width: 1121px) {
  .primary-nav { display: flex !important; }
  .mobile-menu-toggle { display: none !important; }
  .primary-nav ul { gap: 1.15rem !important; }
  .primary-nav { gap: 1.15rem !important; }
  .primary-nav a:not(.btn) { font-size: .9rem !important; }
}


/* =========================================================
   v89 focused visual/accessibility refinement
   ========================================================= */

/* Secondary actions on navy now read as real buttons and remain clearly
   subordinate to the orange primary action. */
.rc88-secondary-button--light {
  background: #ffffff !important;
  border-color: #ffffff !important;
  color: var(--rc88-navy) !important;
  box-shadow: 0 8px 20px rgba(0,0,0,.14);
}
.rc88-secondary-button--light:hover,
.rc88-secondary-button--light:focus-visible {
  background: #eef2f7 !important;
  border-color: #eef2f7 !important;
  color: var(--rc88-navy) !important;
}
.rc88-secondary-button--dark {
  background: #ffffff !important;
  border-color: var(--rc88-navy) !important;
  color: var(--rc88-navy) !important;
}
.rc88-secondary-button--dark:hover,
.rc88-secondary-button--dark:focus-visible {
  background: var(--rc88-navy) !important;
  border-color: var(--rc88-navy) !important;
  color: #ffffff !important;
}
.rc88-secondary-button .arrow-icon { margin-left: .7rem; }

/* Stronger dark-card contrast, including homepage card 04 and Money Engine
   Handover. */
.rc88-card--dark p,
.rc88-card--dark li {
  color: #eef2f7 !important;
}

/* Dual CTA cards: equal height, consistent vertical rhythm, aligned actions. */
.rc88-dual-cta { align-items: stretch; }
.rc88-cta-box {
  display: flex;
  flex-direction: column;
  min-height: 350px;
}
.rc88-cta-box h3 { margin-bottom: .8rem; }
.rc88-cta-box p { margin-bottom: 1.6rem; }
.rc88-cta-box > a {
  align-self: flex-start;
  margin-top: auto;
}

/* Money Engine process: day labels use dark ink rather than orange. The
   heading and copy group sits consistently at the bottom of each card. */
.rc88-process-step {
  display: flex;
  flex-direction: column;
  min-height: 235px;
}
.rc88-process-step b {
  color: var(--rc88-navy) !important;
}
.rc88-section--navy .rc88-process-step h3 {
  color: var(--rc88-navy) !important;
}
.rc88-process-content {
  margin-top: auto;
}
.rc88-process-content h3 {
  margin: 0 0 .55rem;
}
.rc88-process-content p {
  margin: 0;
}

/* The proof metrics remain visually dominant while all explanatory copy lands
   on the same baseline across the row. */
.rc88-proof {
  display: flex;
  flex-direction: column;
  min-height: 285px;
}
.rc88-proof p {
  margin-top: auto !important;
}

/* Row-aligned fit comparison with explicit check/cross markers. */
.rc88-fit-compare {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  border: 1px solid var(--rc88-line);
  border-radius: 16px;
  overflow: hidden;
  background: #ffffff;
}
.rc88-fit-compare-head,
.rc88-fit-compare-item {
  display: grid;
  grid-template-columns: 34px minmax(0,1fr);
  gap: .9rem;
  align-items: center;
  padding: 1.15rem 1.35rem;
}
.rc88-fit-compare-head {
  background: var(--rc88-navy);
  color: #ffffff;
}
.rc88-fit-compare-head--no {
  background: #eef1f5;
  color: var(--rc88-navy);
}
.rc88-fit-compare-head h3 {
  margin: 0;
  color: inherit !important;
}
.rc88-fit-compare-item {
  border-top: 1px solid var(--rc88-line);
  color: var(--rc88-ink);
  line-height: 1.55;
}
.rc88-fit-compare-item:nth-of-type(2n) {
  border-left: 1px solid var(--rc88-line);
}
.rc88-fit-compare-item--not { background: #fafbfc; }
.rc88-fit-icon {
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  font-weight: 900;
  line-height: 1;
}
.rc88-fit-icon--yes {
  background: var(--rc88-navy);
  color: #ffffff;
}
.rc88-fit-icon--no {
  border: 2px solid var(--rc88-navy);
  background: #ffffff;
  color: var(--rc88-navy);
}
.rc88-fit-compare-head--yes .rc88-fit-icon--yes {
  background: #ffffff;
  color: var(--rc88-navy);
}

/* The Fit Call eyebrow sits on white, so the pale decorative blue was below
   normal-text contrast. */
.rc88-call-card .rc88-eyebrow {
  color: #0b4f71 !important;
}

/* Focused checkout: navigation is removed in PHP; keep the remaining logo
   centred and non-interactive. */
body.woocommerce-checkout .site-header .header-inner {
  justify-content: center;
}
body.woocommerce-checkout .rc-checkout-logo {
  cursor: default;
}

@media (max-width: 720px) {
  .rc88-cta-box { min-height: 0; }
  .rc88-proof { min-height: 0; }
  .rc88-fit-compare { grid-template-columns: 1fr; }
  .rc88-fit-compare-head--no { border-top: 1px solid var(--rc88-line); }
  .rc88-fit-compare-item:nth-of-type(2n) { border-left: 0; }
  .rc88-fit-compare-item--not { border-top-style: dashed; }
}
