/* Homepage marketing rebuild: uses the existing SOLVE brand tokens from style.css. */
.marketing-page { background: var(--color-bg); color: var(--color-text); overflow-x: clip; }
.marketing-page *, .marketing-page *::before, .marketing-page *::after { min-width: 0; }
.marketing-wrap { width: min(100% - (var(--space-6) * 2), var(--content-wide)); margin-inline: auto; }
.marketing-narrow { max-width: 820px; }
.marketing-header { position: sticky; inset: 0 0 auto; z-index: 20; background: var(--color-navy-deep); border-bottom: 1px solid rgba(255,255,255,.14); }
.marketing-header-inner { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); }
.marketing-logo { display: block; max-width: min(190px, 52vw); }
.marketing-logo img, .marketing-footer-logo img { display: block; width: 100%; height: auto; }
.marketing-button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; padding: var(--space-3) var(--space-6); background: var(--color-primary); color: #fff; border: 2px solid var(--color-primary); border-radius: 0; box-shadow: none; font-size: var(--text-sm); font-weight: 700; letter-spacing: .055em; line-height: 1.2; text-align: center; transition: background var(--transition), border-color var(--transition), transform var(--transition); }
.marketing-button:hover, .marketing-button:focus-visible { color: #fff; background: var(--color-primary-hover); border-color: var(--color-primary-hover); transform: translateY(-2px); }
.marketing-button:active { background: var(--color-primary-active); border-color: var(--color-primary-active); transform: translateY(0); }
.marketing-button--small { min-height: 44px; padding: var(--space-2) var(--space-4); font-size: var(--text-xs); }
.marketing-button--secondary { background: #fff; color: var(--color-primary); }
.marketing-button--secondary:hover, .marketing-button--secondary:focus-visible { background: var(--color-primary-highlight); color: var(--color-primary-active); border-color: var(--color-primary); }
.marketing-dark { background: var(--color-navy-deep); color: #fff; }
.marketing-light { background: var(--color-bg); color: var(--color-navy); }
.marketing-section { padding-block: clamp(var(--space-12), 9vw, var(--space-32)); }
.marketing-hero { padding-block: clamp(var(--space-16), 13vw, 10rem); }
.marketing-display, .marketing-heading, .footer-statement { font-family: var(--font-display); font-weight: 800; text-transform: uppercase; letter-spacing: -.01em; }
.marketing-display { max-width: 900px; color: #fff; font-size: clamp(3.4rem, 9vw, 8.5rem); line-height: .86; }
.marketing-heading { font-size: clamp(2.25rem, 5.5vw, 5.25rem); line-height: .91; max-width: 1100px; }
.marketing-orange { color: var(--color-primary); }
.marketing-rule { display: block; width: 72px; height: 5px; margin-block: var(--space-8); background: var(--color-primary); }
.marketing-hero-question { margin-bottom: var(--space-8); font-family: var(--font-display); font-size: clamp(1.18rem, 2.3vw, 1.75rem); font-weight: 600; line-height: 1.08; letter-spacing: .03em; }
.marketing-lock { display: flex; align-items: center; gap: var(--space-2); margin-top: var(--space-5); color: rgba(255,255,255,.72); font-size: var(--text-sm); }
.marketing-lock svg { width: 17px; height: 17px; stroke: var(--color-primary); fill: none; stroke-width: 1.8; flex: none; }
.question-list { display: grid; gap: var(--space-8); list-style: none; counter-reset: none; }
.question-card { position: relative; padding: var(--space-8) var(--space-6) var(--space-6); border: 1px solid rgba(255,255,255,.2); }
.question-number { position: absolute; top: calc(var(--space-4) * -1); left: calc(var(--space-4) * -1); display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--color-primary); color: #fff; font-family: var(--font-display); font-weight: 700; }
.question-card p { max-width: 55ch; font-size: clamp(1.1rem, 2vw, 1.4rem); line-height: 1.35; }
.question-card strong { display: block; margin-top: var(--space-4); color: var(--color-primary); font-family: var(--font-display); font-size: var(--text-base); letter-spacing: .035em; }
.question-callout { margin-top: var(--space-12); padding: var(--space-6); border: 1px solid var(--color-primary); font-family: var(--font-display); font-size: clamp(2rem, 5vw, 4rem); font-weight: 700; line-height: .93; letter-spacing: -.04em; }
.section-intro { display: grid; grid-template-columns: 1fr; gap: var(--space-6); align-items: end; margin-bottom: var(--space-10); }
.marketing-accent-copy { max-width: 33ch; color: var(--color-primary); font-family: var(--font-display); font-size: var(--text-lg); font-weight: 600; line-height: 1.25; }
.metrics-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--color-border-strong); border-left: 1px solid var(--color-border-strong); }
.metrics-grid > div { display: flex; flex-direction: column; justify-content: center; gap: var(--space-3); min-height: 132px; padding: var(--space-5); border-right: 1px solid var(--color-border-strong); border-bottom: 1px solid var(--color-border-strong); font-family: var(--font-display); font-size: var(--text-sm); font-weight: 700; letter-spacing: .035em; }
.metrics-grid svg { width: 25px; height: 25px; stroke: var(--color-navy); stroke-width: 1.6; fill: none; }
.results-copy { max-width: 760px; margin-top: var(--space-12); }
.results-copy > p { margin-bottom: var(--space-4); color: var(--color-text-muted); }
.results-copy h3 { margin-top: var(--space-8); font-size: var(--text-lg); letter-spacing: .02em; }
.orange-check-list { display: grid; gap: var(--space-4); margin-block: var(--space-6); list-style: none; }
.orange-check-list li { position: relative; padding-left: var(--space-6); line-height: 1.45; }
.orange-check-list li::before { content: '✓'; position: absolute; left: 0; color: var(--color-primary); font-weight: 800; }
.results-close { color: var(--color-navy) !important; font-weight: 700; }
.command-intro .marketing-heading { margin-bottom: var(--space-5); }
.marketing-eyebrow, .card-label { margin-bottom: var(--space-3); color: inherit; font-family: var(--font-display); font-size: var(--text-xs); font-weight: 700; letter-spacing: .12em; line-height: 1.2; text-transform: uppercase; }
.command-intro .marketing-lede { font-size: var(--text-lg); font-weight: 600; margin-bottom: var(--space-6); }
.command-intro p:not(.marketing-eyebrow):not(.marketing-lede) { margin-bottom: var(--space-5); color: rgba(255,255,255,.78); }
.command-intro .marketing-button { margin-top: var(--space-3); }
.command-example { padding-top: 0; }
.command-card { padding: var(--space-5); background: #0A1A30; border: 1px solid rgba(255,255,255,.2); color: #fff; }
.command-metrics { display: grid; grid-template-columns: repeat(2, 1fr); border: 1px solid rgba(255,255,255,.14); }
.command-metrics > div { min-height: 120px; padding: var(--space-4); border-right: 1px solid rgba(255,255,255,.14); border-bottom: 1px solid rgba(255,255,255,.14); }
.command-metrics > div:nth-child(2n) { border-right: 0; }
.command-metrics > div:last-child { grid-column: 1 / -1; border-bottom: 0; }
.command-metrics span, .candidate-top span { display: block; color: rgba(255,255,255,.63); font-size: var(--text-xs); font-weight: 700; letter-spacing: .07em; }
.command-metrics b { display: block; margin-top: var(--space-1); font-family: var(--font-display); font-size: clamp(2rem, 5vw, 3.5rem); line-height: 1; }
.command-metrics em { display: block; margin-top: var(--space-2); color: rgba(255,255,255,.7); font-size: var(--text-xs); font-style: normal; }
.performance-positive { color: #7fbf6b !important; }
.command-content { display: grid; gap: var(--space-10); margin-top: var(--space-10); }
.command-content h3 { margin-bottom: var(--space-5); color: var(--color-primary); font-size: var(--text-sm); letter-spacing: .08em; }
.insight-list { display: grid; gap: var(--space-3); }
.insight-list > div, .difference-card dl > div, .candidate-rows dl > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-4); border-bottom: 1px solid rgba(255,255,255,.13); padding-bottom: var(--space-2); }
.insight-list dt { color: rgba(255,255,255,.64); font-size: var(--text-sm); }.insight-list dd { font-weight: 700; text-align: right; }
.performance-bars { display: grid; gap: var(--space-4); }.performance-bars > div { display: grid; grid-template-columns: 48px minmax(0, 1fr) 30px; gap: var(--space-3); align-items: center; font-size: var(--text-sm); }.performance-bars i { display: block; height: 8px; background: rgba(255,255,255,.16); }.performance-bars i b { display: block; height: 100%; background: #7fbf6b; }.performance-bars strong { font-size: var(--text-sm); text-align: right; }
.example-disclaimer { margin-top: var(--space-6); color: rgba(255,255,255,.58); font-size: var(--text-xs); font-weight: 700; letter-spacing: .055em; line-height: 1.35; }.example-disclaimer--light { color: var(--color-text-faint); }
.difference-section .marketing-heading { margin-bottom: var(--space-6); }.section-body, .candidate-section p:not(.marketing-eyebrow):not(.credit-bold), .coach-section p:not(.marketing-eyebrow), .final-cta p:not(.credit-bold):not(.final-note) { max-width: 68ch; margin-bottom: var(--space-5); color: var(--color-text-muted); }.difference-cards { display: grid; gap: var(--space-5); margin-top: var(--space-10); }.difference-card { padding: var(--space-6); background: #fff; border: 1px solid var(--color-border-strong); }.difference-card h3 { margin-bottom: var(--space-5); font-size: var(--text-xl); }.production-figures { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-3); }.production-figures b { display: block; font-family: var(--font-display); font-size: clamp(1.3rem, 4vw, 2.3rem); line-height: 1; }.production-figures span { display: block; margin-top: var(--space-1); color: var(--color-text-muted); font-size: var(--text-xs); font-weight: 700; }.production-chart { display: flex; align-items: end; gap: var(--space-2); height: 100px; margin-top: var(--space-8); border-bottom: 1px solid var(--color-border-strong); }.production-chart i { flex: 1; background: var(--color-navy); }.production-chart i:nth-child(1) { height: 35%; }.production-chart i:nth-child(2) { height: 55%; }.production-chart i:nth-child(3) { height: 42%; }.production-chart i:nth-child(4) { height: 82%; }.production-chart i:nth-child(5) { height: 65%; }.difference-card--intelligence dl { display: grid; gap: var(--space-3); }.difference-card--intelligence dl > div { border-color: var(--color-border); }.difference-card--intelligence dt { color: var(--color-text-muted); font-size: var(--text-sm); }.difference-card--intelligence dd { font-size: var(--text-sm); font-weight: 700; text-align: right; }.difference-card hr { border: 0; border-top: 1px solid var(--color-border); margin-block: var(--space-6); }.hidden-strength { margin-top: var(--space-6); padding: var(--space-6); background: var(--color-navy); color: #fff; }.hidden-strength strong { color: var(--color-primary); font-family: var(--font-display); font-size: var(--text-sm); letter-spacing: .07em; }.hidden-strength p { margin-top: var(--space-3); max-width: 60ch; color: rgba(255,255,255,.78); }
.inputs-section { padding-top: 0; }.inputs-grid { display: grid; gap: 1px; margin-top: var(--space-10); background: var(--color-border-strong); border: 1px solid var(--color-border-strong); }.inputs-grid > div { min-height: 140px; padding: var(--space-5); background: #fff; font-family: var(--font-display); font-weight: 700; letter-spacing: .025em; }.inputs-grid span { display: block; margin-bottom: var(--space-5); color: var(--color-primary); font-size: var(--text-sm); }.rubric-section .section-body { color: rgba(255,255,255,.75); }.rubric-grid { display: grid; gap: var(--space-4); margin-top: var(--space-10); }.rubric-grid article { padding: var(--space-6); border: 1px solid rgba(255,255,255,.2); }.rubric-grid h3 { color: var(--color-primary); font-size: var(--text-base); margin-bottom: var(--space-5); }.rubric-grid ul { display: grid; gap: var(--space-3); }.rubric-grid li { color: rgba(255,255,255,.84); font-size: var(--text-sm); }.rubric-grid li::before { content: '—'; color: var(--color-primary); padding-right: var(--space-2); }
.academy-section .marketing-heading { margin-bottom: var(--space-10); }.progression { display: flex; flex-wrap: wrap; align-items: stretch; gap: var(--space-3); }.progression > div { flex: 1 1 125px; min-height: 116px; display: flex; flex-direction: column; justify-content: space-between; padding: var(--space-4); border: 1px solid var(--color-border-strong); font-family: var(--font-display); font-weight: 700; letter-spacing: .03em; }.progression b { color: var(--color-primary); font-size: var(--text-sm); }.progression i { display: none; align-self: center; color: var(--color-primary); font-size: 1.5rem; font-style: normal; }.framework-section-new { padding-top: 0; background: var(--color-surface-2); }.solve-acronym { display: grid; gap: var(--space-3); }.solve-acronym > div { display: grid; grid-template-columns: 62px 1fr; gap: var(--space-5); align-items: center; border-bottom: 1px solid var(--color-border-strong); padding-bottom: var(--space-3); }.solve-acronym dt { color: var(--color-primary); font-family: var(--font-display); font-size: clamp(2.4rem, 6vw, 4.5rem); font-weight: 700; line-height: .8; }.solve-acronym dd { font-size: var(--text-lg); font-weight: 600; }
.improvement-section .section-body { color: rgba(255,255,255,.75); }.improvement-loop { position: relative; display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-4); max-width: 760px; margin: var(--space-10) auto 0; list-style: none; }.improvement-loop::before { content: ''; position: absolute; inset: -16px; border: 1px solid rgba(255,255,255,.21); border-radius: 50%; pointer-events: none; }.improvement-loop li { z-index: 1; min-height: 96px; display: grid; place-items: center; padding: var(--space-4); background: var(--color-navy-deep); border: 1px solid var(--color-primary); color: #fff; font-family: var(--font-display); font-size: var(--text-sm); font-weight: 700; letter-spacing: .04em; text-align: center; }.credit-section .section-body { margin-top: var(--space-6); }.credit-bold { margin-block: var(--space-8); color: var(--color-navy); font-size: var(--text-lg); font-weight: 700; line-height: 1.3; }.progression--credit > div { flex-basis: 140px; }.practice-grid { display: grid; gap: var(--space-10); align-items: center; }.practice-section .orange-check-list { color: rgba(255,255,255,.85); }.practice-section > p { color: rgba(255,255,255,.78); }.score-graphic { min-height: 280px; display: grid; align-content: center; justify-items: center; gap: var(--space-5); border: 2px solid var(--color-primary); text-align: center; }.score-graphic b { color: var(--color-primary); font-family: var(--font-display); font-size: clamp(7rem, 20vw, 12rem); line-height: .75; }.score-graphic span { max-width: 28ch; padding-inline: var(--space-5); font-family: var(--font-display); font-size: var(--text-sm); font-weight: 700; letter-spacing: .05em; }.candidate-section p { color: var(--color-text-muted); margin-bottom: var(--space-5); }.candidate-section .marketing-button { margin-top: var(--space-2); }.candidate-comparison { padding-top: 0; }.candidate-card { background: #fff; border: 1px solid var(--color-border-strong); }.candidate-top { display: grid; gap: var(--space-5); padding: var(--space-6); background: var(--color-navy); color: #fff; }.candidate-top b { display: block; margin-top: var(--space-1); font-family: var(--font-display); font-size: var(--text-2xl); line-height: 1; }.candidate-top p { align-self: end; color: rgba(255,255,255,.68); font-size: var(--text-sm); }.candidate-rows { display: grid; }.candidate-rows article { padding: var(--space-6); }.candidate-rows article + article { border-top: 1px solid var(--color-border-strong); }.candidate-rows h3 { font-size: var(--text-xl); margin-bottom: var(--space-3); }.candidate-rows > article > strong { display: block; margin-bottom: var(--space-5); color: var(--color-primary); font-family: var(--font-display); font-size: var(--text-sm); letter-spacing: .04em; }.candidate-rows dl { display: grid; gap: var(--space-3); }.candidate-rows dl > div { border-color: var(--color-border); }.candidate-rows dt { color: var(--color-text-muted); font-size: var(--text-sm); font-weight: 700; }.candidate-rows dd { font-family: var(--font-display); font-size: var(--text-lg); font-weight: 700; }.candidate-bottom { padding: var(--space-6); border-top: 1px solid var(--color-border-strong); color: var(--color-text-muted); }.candidate-card .example-disclaimer { padding: 0 var(--space-6) var(--space-6); margin: 0; }.coach-section p { color: rgba(255,255,255,.78); }.coach-section .orange-check-list { color: #fff; }.coach-section .marketing-button { margin-top: var(--space-2); }.coach-example { padding-top: 0; }.coach-comparison { display: grid; gap: var(--space-4); align-items: stretch; }.coach-comparison article { padding: var(--space-6); border: 1px solid rgba(255,255,255,.2); }.coach-score { display: block; margin-bottom: var(--space-5); font-family: var(--font-display); font-size: clamp(4rem, 12vw, 6.5rem); line-height: .8; }.coach-comparison blockquote { color: #fff; font-size: var(--text-base); line-height: 1.5; }.weak-copy, .positive-copy { margin-top: var(--space-6); font-family: var(--font-display); font-size: var(--text-xs); font-weight: 700; letter-spacing: .04em; line-height: 1.5; }.weak-copy { color: var(--color-primary); }.positive-copy { color: #7fbf6b; }.coach-arrow { display: grid; place-items: center; color: var(--color-primary); font-family: var(--font-display); font-size: 3rem; }.final-cta { text-align: center; }.final-cta .marketing-heading, .final-cta p { margin-inline: auto; }.final-actions { display: grid; gap: var(--space-3); margin-top: var(--space-8); }.final-note { margin-top: var(--space-5); color: var(--color-text-muted); font-size: var(--text-sm); }.promise-section { padding-top: 0; }.promise-box { display: grid; gap: var(--space-5); align-items: center; padding: var(--space-6); background: var(--color-navy); color: #fff; }.promise-box svg { width: 44px; height: 44px; stroke: var(--color-primary); fill: none; stroke-width: 1.7; }.promise-box p { max-width: 55ch; font-size: var(--text-lg); font-weight: 600; line-height: 1.35; }.marketing-footer { padding-block: clamp(var(--space-12), 9vw, var(--space-24)); background: var(--color-navy-deep); color: #fff; }.footer-statement { margin-bottom: var(--space-12); font-size: clamp(2.4rem, 6vw, 5.5rem); line-height: .9; }.marketing-footer-logo { display: block; width: min(260px, 70vw); }.footer-tagline { margin-top: var(--space-5); color: var(--color-primary); font-family: var(--font-display); font-size: var(--text-sm); font-weight: 700; letter-spacing: .07em; }.footer-copyright { margin-top: var(--space-8); color: rgba(255,255,255,.58); font-size: var(--text-xs); }
@media (min-width: 650px) { .marketing-wrap { width: min(100% - (var(--space-12) * 2), var(--content-wide)); }.section-intro { grid-template-columns: 1fr 1fr; }.metrics-grid { grid-template-columns: repeat(4, 1fr); }.metrics-grid > div:nth-child(2n) { border-right: 1px solid var(--color-border-strong); }.metrics-grid > div:nth-child(4n) { border-right: 0; }.metrics-grid > div:last-child { grid-column: auto; }.command-metrics { grid-template-columns: repeat(5, 1fr); }.command-metrics > div, .command-metrics > div:nth-child(2n) { border-bottom: 0; border-right: 1px solid rgba(255,255,255,.14); }.command-metrics > div:last-child { grid-column: auto; border-right: 0; }.inputs-grid { grid-template-columns: repeat(2, 1fr); }.rubric-grid { grid-template-columns: repeat(3, 1fr); }.improvement-loop { grid-template-columns: repeat(3, 1fr); }.final-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }.promise-box { grid-template-columns: auto 1fr; }.coach-comparison { grid-template-columns: 1fr auto 1fr; }.coach-arrow { align-self: center; }.difference-cards { grid-template-columns: repeat(2, 1fr); }.candidate-top { grid-template-columns: 1fr 1fr auto; }.candidate-rows { grid-template-columns: repeat(2, 1fr); }.candidate-rows article + article { border-top: 0; border-left: 1px solid var(--color-border-strong); } }
@media (min-width: 900px) { .marketing-header-inner { min-height: 88px; }.marketing-logo { max-width: 220px; }.command-content { grid-template-columns: 1.1fr .9fr; }.inputs-grid { grid-template-columns: repeat(5, 1fr); }.inputs-grid > div { min-height: 180px; }.progression { flex-wrap: nowrap; }.progression i { display: block; }.practice-grid { grid-template-columns: 1.15fr .85fr; }.score-graphic { min-height: 410px; } }
@media (max-width: 420px) { .marketing-header-inner { min-height: 66px; }.marketing-logo { max-width: 145px; }.marketing-button--small { font-size: .7rem; padding-inline: var(--space-3); }.marketing-display { font-size: clamp(3rem, 16vw, 4.25rem); }.marketing-heading { font-size: clamp(2rem, 11.5vw, 3rem); }.question-card { padding: var(--space-6) var(--space-4) var(--space-5); }.production-figures { gap: var(--space-2); }.production-figures b { font-size: 1.1rem; }.command-card { padding: var(--space-3); }.command-metrics > div { padding: var(--space-3); }.candidate-top, .candidate-rows article { padding: var(--space-4); } }
/* Mobile audit correction: preserve readable label size and keep the hero headline inside 375px. */
@media (max-width: 420px) {
  .marketing-button--small { font-size: var(--text-xs); }
  .marketing-display { font-size: clamp(2.4rem, 12vw, 3.1rem); }
}
/* Keep visually hidden headings out of layout measurements. */
.marketing-page .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@media (max-width: 420px) {
  .difference-section .marketing-heading { font-size: clamp(1.55rem, 7vw, 2rem); }
  .improvement-loop { margin: var(--space-10) var(--space-4) 0; }
}
/* Existing active-orange token provides AA contrast with white button text and light surfaces. */
.marketing-button { background: var(--color-primary-active); border-color: var(--color-primary-active); }
.marketing-button:hover, .marketing-button:focus-visible { background: var(--color-primary-hover); border-color: var(--color-primary-hover); }
/* Secondary button keeps white background with orange text; must win over the general .marketing-button override above. */
.marketing-button--secondary { background: #fff; color: var(--color-primary-active); border-color: var(--color-primary-active); }
.marketing-button--secondary:hover, .marketing-button--secondary:focus-visible { background: var(--color-primary-highlight); color: var(--color-primary-active); border-color: var(--color-primary-active); }
.marketing-light .marketing-orange, .marketing-light .marketing-eyebrow.marketing-orange, .marketing-light .marketing-accent-copy { color: var(--color-primary-active); }
