/* ==========================================================================
   Next Duty Vet - VA cash-out paid-search LP substyle (shared by the LP surface
   and the /apply wizard surface). Mirrors the Viador HEMR paid-search LP look
   (tighter, decision-support, single dominant CTA) using NDV brand tokens.
   NOT the NDV homepage layout. Self-contained; these two pages do not load any
   other stylesheet. Bump the ?v= query in BOTH HTML files on any edit here.
   ========================================================================== */
:root {
  --ndv-bg:           #F4F5F3;
  --ndv-bg-dark:      #1F2326;
  --ndv-text:         #1F2326;
  --ndv-olive:        #6B745E;
  --ndv-olive-gray:   #A8B0A6;
  --ndv-muted-light:  #C7CCC5;
  --ndv-olive-light:  rgba(107,116,94,0.12);
  --ndv-olive-hover:  #5a6350;
  --ndv-border:       rgba(107,116,94,0.2);
  --ndv-card-bg:      #FFFFFF;
  --ndv-radius:       4px;
  --ndv-radius-lg:    8px;
  --ndv-red:          #C84A4A;
  --ndv-amber-bg:     rgba(200,138,74,0.12);
  --ndv-amber-border: rgba(200,138,74,0.4);
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  font-size: 16px; line-height: 1.65;
  color: var(--ndv-text); background: var(--ndv-bg);
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
h1, h2, h3 { font-weight: 600; letter-spacing: -0.01em; line-height: 1.15; color: var(--ndv-text); }
h1 { font-size: clamp(2rem, 5vw, 2.9rem); }
h2 { font-size: clamp(1.35rem, 3.2vw, 1.8rem); }
h3 { font-size: 1.02rem; }
p { color: var(--ndv-olive-gray); }
a { color: var(--ndv-olive); }

.container { max-width: 1080px; margin: 0 auto; padding: 0 24px; }
.narrow { max-width: 760px; }

/* ---- Minimal header (logo + phone) - paid-search, not homepage nav ---- */
.lp-nav { border-bottom: 1px solid rgba(31,35,38,0.06); background: var(--ndv-bg); }
.lp-nav-inner { max-width: 1080px; margin: 0 auto; padding: 16px 24px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.lp-logo { display: flex; align-items: center; gap: 10px; text-decoration: none; flex-shrink: 0; }
.lp-logo img { width: 38px; height: 38px; object-fit: contain; display: block; }
.lp-logo-text { display: flex; flex-direction: column; }
.lp-logo-name { font-size: 0.95rem; font-weight: 700; color: var(--ndv-text); line-height: 1.2; }
.lp-logo-sub { font-size: 0.62rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(31,35,38,0.55); line-height: 1.2; }
.lp-nav-phone { font-size: 0.9rem; font-weight: 600; color: var(--ndv-olive); text-decoration: none; white-space: nowrap; }
.lp-nav-phone:hover { color: var(--ndv-olive-hover); }

/* ---- Buttons ---- */
.cta-primary { display: inline-block; padding: 15px 26px; background: var(--ndv-olive); color: #fff; border: none; border-radius: var(--ndv-radius); font-family: inherit; font-weight: 600; font-size: 1.02rem; cursor: pointer; transition: background 0.12s; text-align: center; text-decoration: none; letter-spacing: -0.01em; }
.cta-primary:hover { background: var(--ndv-olive-hover); }
.cta-primary:disabled { opacity: 0.4; cursor: not-allowed; }
.cta-primary:disabled:hover { background: var(--ndv-olive); }
.cta-secondary { display: inline-block; padding: 14px 22px; color: var(--ndv-olive); border: 1px solid var(--ndv-olive); border-radius: var(--ndv-radius); font-family: inherit; font-weight: 500; font-size: 0.98rem; text-decoration: none; transition: background 0.12s; cursor: pointer; background: none; }
.cta-secondary:hover { background: var(--ndv-olive-light); }

/* ---- Hero (2-col: copy + control row | benefit aside) ---- */
.lp-hero { padding: 42px 0 12px; }
.lp-hero-grid { display: grid; grid-template-columns: 1fr; gap: 34px; align-items: start; }
.lp-eyebrow { display: inline-block; font-size: 0.72rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ndv-olive); margin-bottom: 14px; }
.lp-hero h1 { margin-bottom: 16px; }
.lp-sub { color: var(--ndv-olive-gray); font-size: 1.06rem; line-height: 1.6; margin-bottom: 8px; max-width: 620px; }

/* SoFi-style control row: goal select PAIRED with CTA, ~60px, mobile stacks */
.lp-cta-block { margin-top: 24px; }
.lp-goal-label { display: block; font-size: 0.85rem; font-weight: 600; color: var(--ndv-text); margin-bottom: 10px; }
.lp-controls { display: flex; align-items: stretch; flex-wrap: wrap; gap: 12px; }
.lp-goal-select {
  flex: 0 0 auto; min-width: 280px; height: 60px;
  background: #fff; border: 1.5px solid var(--ndv-border); border-radius: 6px;
  padding: 0 18px; font-family: inherit; font-size: 16px; font-weight: 500; color: var(--ndv-text); cursor: pointer;
}
.lp-goal-select:focus { outline: none; border-color: var(--ndv-olive); box-shadow: 0 0 0 3px rgba(107,116,94,0.18); }
.lp-controls .cta-primary { flex: 0 0 auto; height: 60px; padding: 0 34px; display: inline-flex; align-items: center; justify-content: center; white-space: nowrap; }
.lp-reassure { margin-top: 14px; font-size: 0.85rem; color: #4A4F45; line-height: 1.55; max-width: 560px; }

.lp-aside-card { background: var(--ndv-card-bg); border: 1px solid var(--ndv-border); border-radius: var(--ndv-radius-lg); padding: 24px; box-shadow: 0 2px 10px rgba(31,35,38,0.05); }
.lp-aside-card h3 { color: var(--ndv-text); margin-bottom: 14px; font-size: 1.05rem; }
.lp-checks { list-style: none; display: grid; gap: 12px; }
.lp-checks li { display: flex; gap: 10px; align-items: flex-start; font-size: 0.92rem; color: var(--ndv-olive-gray); line-height: 1.5; }
.lp-check { flex: 0 0 20px; width: 20px; height: 20px; color: var(--ndv-olive); margin-top: 1px; }
@media (min-width: 860px) {
  .lp-hero-grid { grid-template-columns: 1.5fr 1fr; gap: 44px; }
}
@media (max-width: 620px) {
  .lp-controls { flex-direction: column; align-items: stretch; }
  .lp-goal-select, .lp-controls .cta-primary { width: 100%; min-width: 0; }
}

/* ---- Content sections ---- */
.lp-section { padding: 44px 0 0; }
.lp-section h2 { margin-bottom: 10px; }
.lp-section-intro { color: var(--ndv-olive-gray); font-size: 1.02rem; margin-bottom: 20px; max-width: 620px; }

.card-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 16px; margin-top: 8px; }
.info-card { background: var(--ndv-card-bg); border: 1px solid var(--ndv-border); border-radius: var(--ndv-radius-lg); padding: 22px; }
.info-card h3 { color: var(--ndv-text); margin-bottom: 8px; }
.info-card p { font-size: 0.93rem; color: var(--ndv-olive-gray); line-height: 1.55; margin: 0; }

.compare-wrap { overflow-x: auto; margin-top: 8px; }
table.compare { width: 100%; border-collapse: collapse; min-width: 560px; background: var(--ndv-card-bg); border: 1px solid var(--ndv-border); border-radius: var(--ndv-radius-lg); overflow: hidden; }
table.compare th, table.compare td { text-align: left; padding: 14px 16px; border-bottom: 1px solid var(--ndv-border); vertical-align: top; font-size: 0.92rem; line-height: 1.5; }
table.compare thead th { background: rgba(168,176,166,0.14); color: var(--ndv-text); font-weight: 600; font-size: 0.8rem; letter-spacing: 0.03em; text-transform: uppercase; }
table.compare tbody th { color: var(--ndv-text); font-weight: 600; white-space: nowrap; }
table.compare td { color: var(--ndv-olive-gray); }
table.compare tr:last-child th, table.compare tr:last-child td { border-bottom: none; }

.risk-callout { margin-top: 8px; background: var(--ndv-amber-bg); border: 1px solid var(--ndv-amber-border); border-left: 4px solid var(--ndv-red); border-radius: var(--ndv-radius-lg); padding: 20px 22px; }
.risk-callout h3 { color: var(--ndv-text); margin-bottom: 8px; }
.risk-callout p { color: var(--ndv-text); font-size: 0.95rem; line-height: 1.6; margin: 0; }

.faq-item { border-bottom: 1px solid var(--ndv-border); padding: 16px 0; }
.faq-item:last-child { border-bottom: none; }
.faq-item h3 { color: var(--ndv-text); margin-bottom: 6px; font-size: 1rem; }
.faq-item p { color: var(--ndv-olive-gray); font-size: 0.93rem; line-height: 1.6; margin: 0; }

/* ---- Bottom CTA band (LP) ---- */
.lp-bottom-cta { padding: 48px 0 8px; text-align: center; }
.lp-bottom-cta h2 { margin-bottom: 10px; }
.lp-bottom-cta p { color: var(--ndv-olive-gray); margin: 0 auto 20px; max-width: 520px; }

/* ---- Disclosures + footer (both surfaces) ---- */
.disclosure-block { background: rgba(168,176,166,0.12); border-top: 1px solid var(--ndv-border); border-bottom: 1px solid var(--ndv-border); padding: 26px 0; margin-top: 40px; }
.disclosure-inner { max-width: 760px; margin: 0 auto; padding: 0 24px; font-size: 0.8rem; line-height: 1.65; color: var(--ndv-olive-gray); }
footer.lp-footer { background: var(--ndv-bg-dark); color: rgba(255,255,255,0.65); padding: 36px 24px 28px; }
.lp-footer-inner { max-width: 760px; margin: 0 auto; font-size: 0.82rem; line-height: 1.7; }
.lp-footer-legal { color: rgba(255,255,255,0.55); }
.lp-footer-legal strong { color: var(--ndv-olive-gray); font-weight: 500; }

/* ==========================================================================
   Wizard surface (/apply)
   ========================================================================== */
.wizard-section { padding: 36px 0 8px; }
.wizard-intro-title { font-size: clamp(1.5rem, 4vw, 2rem); margin-bottom: 6px; }
.wizard-lead { color: var(--ndv-olive-gray); font-size: 0.98rem; margin-bottom: 18px; max-width: 560px; }
.wizard-card { background: var(--ndv-card-bg); border: 1px solid var(--ndv-border); border-radius: var(--ndv-radius-lg); padding: 30px 28px; max-width: 640px; }

.wz-progress { display: flex; gap: 7px; margin-bottom: 10px; }
.wz-progress span { flex: 1; height: 8px; border-radius: 5px; background: var(--ndv-muted-light); transition: background 0.3s ease; }
.wz-progress span.is-current, .wz-progress span.is-done { background: var(--ndv-olive); }
.wz-count { display: block; font-size: 0.8rem; font-weight: 600; color: var(--ndv-text); margin-bottom: 18px; }

.wz-step { display: none; }
.wz-step.active { display: block; animation: wzIn 180ms ease both; }
@keyframes wzIn { from { opacity: 0; transform: translateY(6px);} to { opacity: 1; transform: translateY(0);} }
@media (prefers-reduced-motion: reduce) { .wz-step.active { animation: none; } }
.wz-legend { font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ndv-olive-gray); font-weight: 600; margin-bottom: 4px; }

.wz-field { margin: 16px 0 0; }
.wz-field label { display: block; font-size: 0.85rem; font-weight: 500; color: var(--ndv-text); margin-bottom: 6px; }
.wz-field .opt { color: var(--ndv-olive-gray); font-weight: 400; }
.wz-field input, .wz-field select, .wz-field textarea {
  width: 100%; padding: 12px 14px; border: 1px solid var(--ndv-border); border-radius: var(--ndv-radius);
  font-family: inherit; font-size: 0.95rem; background: var(--ndv-bg); color: var(--ndv-text);
}
.wz-field textarea { min-height: 88px; resize: vertical; }
.wz-field input:focus, .wz-field select:focus, .wz-field textarea:focus { outline: none; border-color: var(--ndv-olive); }
.wz-field input.invalid, .wz-field select.invalid, .wz-field textarea.invalid { border-color: var(--ndv-red); }
.wz-help { font-size: 0.78rem; color: var(--ndv-olive-gray); margin-top: 5px; }
.field-error { display: none; color: var(--ndv-red); font-size: 0.82rem; margin-top: 5px; }
.field-error.show { display: block; }
.footprint-notice { display: none; margin-top: 14px; background: rgba(168,176,166,0.16); border: 1px solid var(--ndv-border); border-radius: var(--ndv-radius); padding: 14px 16px; font-size: 0.88rem; line-height: 1.55; color: var(--ndv-text); }
.footprint-notice.show { display: block; }

.wz-consent { display: flex; gap: 10px; align-items: flex-start; margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--ndv-border); font-size: 0.8rem; line-height: 1.55; color: var(--ndv-olive-gray); }
.wz-consent input[type="checkbox"] { flex-shrink: 0; margin-top: 2px; width: 18px; height: 18px; accent-color: var(--ndv-bg-dark); cursor: pointer; }
.wz-consent label { margin: 0; font-size: 0.8rem; color: var(--ndv-olive-gray); font-weight: 400; cursor: pointer; }
.consent-links { margin-top: 8px; font-size: 0.78rem; }
.consent-links a { color: var(--ndv-olive); font-weight: 500; }

.wz-actions { display: flex; gap: 12px; margin-top: 22px; }
.wz-actions .cta-primary { flex: 1 1 auto; }
.wz-actions .cta-secondary { flex: 0 0 auto; }
.wz-formerror { display: none; color: var(--ndv-red); font-size: 0.88rem; margin-top: 14px; }
.wz-formerror.show { display: block; }

.wz-confirm { display: none; padding: 8px 0; }
.wz-confirm h3 { font-size: 1.25rem; margin-bottom: 10px; }
.wz-confirm p { color: var(--ndv-olive-gray); font-size: 0.98rem; max-width: 460px; margin: 0 0 8px; }
.wz-confirm ol { max-width: 460px; margin: 16px 0 0; padding-left: 20px; color: var(--ndv-olive-gray); font-size: 0.92rem; line-height: 1.6; }
body[data-submitted="true"] #wizardForm { display: none; }
body[data-submitted="true"] .wz-confirm { display: block; }
.wz-back-lp { display: inline-block; margin-top: 20px; font-size: 0.88rem; }

@media (max-width: 620px) {
  .card-grid { grid-template-columns: 1fr; }
  .lp-hero { padding: 28px 0 8px; }
}
