/* ===== captured from lp.curadebt.com/free-bk-evaluation (style.css, partial) ===== */
:root {
--cream: #f5f5f5;
--cream-dark: #e8e8e8;
--white: #ffffff;
--navy: #1a1a1a;
--navy-mid: #333333;
--navy-light: #2a2a2a;
--forest-green: #30c072;
--forest-green-light: #3dd689;
--accent: #30c072;
--accent-hover: #28a862;
--gold: #facb1d;
--text: #1e293b;
--text-muted: #6b7280;
--border-light: #e5e7eb;
--error: #dc2626;
--success: #059669;
--primary-color: #e53935;
.xsell-option.selected .xsell-box::after
/* Bankruptcy-specific variables */
--primary: #1b4d8e;
--primary-dark: #143a6b;
--bg-light: #f8fafc;
--text-dark: #1a1a2e;
--border: #e2e8f0;
--radius: 12px;
--green: #22c55e;
--red: #ef4444;
--text-light: #fff;
--shadow: 0 4px 24px rgba(0,0,0,.08);
--max-w: 1100px;
}

* {
box-sizing: border-box;
}

html, body {
margin: 0;
padding: 0;
min-height: 100%;
overflow-x: hidden;
-webkit-text-size-adjust: 100%;
padding-left: env(safe-area-inset-left);
padding-right: env(safe-area-inset-right);
}

body {
font-family: 'Open Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
background: var(--white);
color: var(--text);
line-height: 1.6;
font-size: 1rem;
}

.serif {
font-family: 'Nunito Sans', -apple-system, sans-serif;
}

/* Header Banner â€” subtle compliance strip (Attorney Advertising). */
.top-banner {
background: #ffffff;
color: #7c8390;
text-align: center;
padding: 5px 10px;
font-size: 11px;
font-weight: 500;
letter-spacing: 0.06em;
text-transform: uppercase;
line-height: 1.4;
}

.top-banner strong {
font-weight: 500;
}

/* Header: same as index.html */
.container {
max-width: 620px;
margin: 0 auto;
padding: 0 1.25rem;
}
header {
padding: 0.75rem 1rem;
border-bottom: 1px solid #e5e7eb;
background: var(--white);
}
.header-inner {
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
gap: 0.5rem;
}
header .logo {
font-family: 'Nunito Sans', -apple-system, sans-serif;
font-size: 1.25rem;
font-weight: 700;
color: var(--navy);
text-decoration: none;
letter-spacing: -0.02em;
display: inline-flex;
align-items: center;
gap: 0.5rem;
}
header .logo img.logo-img {
width: auto;
height: 45px;
object-fit: contain;
display: block;
}
header .logo .logo-fallback {
font-family: 'Nunito Sans', -apple-system, sans-serif;
font-size: 1.25rem;
font-weight: 700;
color: var(--navy);
}
header .header-phone {
font-size: 0.95rem;
font-weight: 600;
color: var(--accent);
text-decoration: none;
}
header .header-phone:hover {
text-decoration: underline;
}
header .header-phone.hidden { display: none !important; }

/* Back link: inside progress header row (left side) to save space */
.quiz-back-link {
font-size: 0.85rem;
font-weight: 500;
color: var(--text-muted);
text-decoration: none;
flex-shrink: 0;
}
.quiz-back-link:hover {
color: var(--accent);
text-decoration: underline;
}

/* Main Content Area â€“ VDA compact */
.quiz-main {
max-width: 520px;
margin: 0 auto;
padding: 1rem 1rem calc(2rem + env(safe-area-inset-bottom));
}

/* Quiz Card â€“ VDA proportions */
.quiz-card {
background: var(--cd-card-bg, var(--white));
border-radius: var(--cd-radius, 12px);
box-shadow: 0 2px 16px rgba(0, 0, 0, 0.06);
overflow: hidden;
}

/* Progress Indicator: back link left, message + icon right */
.progress-header {
display: flex;
align-items: center;
justify-content: space-between;
gap: 0.5rem;
padding: 0.75rem 1rem;
border-bottom: 1px solid #e5e7eb;
color: var(--text-muted);
font-size: 0.9rem;
}
.progress-header-message {
display: flex;
align-items: center;
gap: 0.4rem;
min-width: 0;
overflow: hidden;
}
.progress-header-message span {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}

.progress-header svg {
width: 16px;
height: 16px;
}

.progress-bar-container {
height: 3px;
background: #e5e7eb;
}

.progress-bar {
height: 100%;
background: var(--forest-green);
width: 10%;
transition: width 0.4s ease;
}

/* Card Body â€“ comfortable spacing */
.card-body {
padding: 1.5rem 1.5rem;
}

/* Form Steps */
.form-step {
display: none;
}

.form-step.active {
display: block;
animation: fadeIn 0.3s ease;
}

@keyframes fadeIn {
from { opacity: 0; transform: translateY(10px); }
to { opacity: 1; transform: translateY(0); }
}

.step-question {
font-family: 'Nunito Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
font-size: 1.35rem;
font-weight: 700;
color: var(--navy);
text-align: center;
margin: 0.5rem 0 0.75rem;
line-height: 1.4;
letter-spacing: -0.01em;
}

.step-subtext {
text-align: center;
color: var(--text-muted);
font-size: 0.88rem;
margin-bottom: 1.25rem;
line-height: 1.4;
}

/* State quick-confirm */
.state-confirm { text-align: center; animation: fadeIn 0.3s ease; }
.state-confirm-label { font-size: 1.1rem; color: var(--text-muted); margin-bottom: 0.5rem; }
.state-confirm-name { font-size: 1.6rem; font-weight: 800; color: var(--navy); margin-bottom: 1rem; font-family: 'Nunito Sans', sans-serif; }
.state-confirm-btn { width: 100%; max-width: 380px; padding: 1rem 1.5rem; font-size: 1.15rem; font-weight: 700; color: var(--white); background: var(--accent); border: none; border-radius: 10px; cursor: pointer; font-family: inherit; transition: background 0.2s, transform 0.15s; box-shadow: 0 2px 8px rgba(48,192,114,0.25); touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
.state-confirm-btn:hover { background: var(--accent-hover); }
.state-confirm-btn:active { transform: scale(0.98); }
.state-confirm-change { display: inline-block; margin-top: 0.75rem; font-size: 0.92rem; color: var(--text-muted); background: none; border: none; cursor: pointer; text-decoration: underline; font-family: inherit; padding: 0.4rem; }
.state-confirm-change:hover { color: var(--navy); }

/* Trust bar â€“ subtle, elegant; supports trust without competing with form */
.quiz-step-trust {
text-align: center;
margin: 0;
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: center;
gap: 0.5rem 0.7rem;
}
.quiz-step-trust .reviews-bar {
display: inline-flex;
align-items: center;
justify-content: space-between;
gap: 0.65rem;
padding: 0.35rem 0.75rem;
background: rgba(248, 250, 252, 0.95);
border: 1px solid #e2e8f0;
border-radius: 8px;
text-decoration: none;
color: var(--text-muted);
font-weight: 500;
font-size: 0.75rem;
letter-spacing: 0.03em;
min-width: 155px;
transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease;
}
.quiz-step-trust .reviews-bar:hover {
border-color: #cbd5e1;
background: #fff;
color: var(--text);
text-decoration: underline;
}
.quiz-step-trust .reviews-bar .reviews-count {
font-size: 0.8rem;
letter-spacing: 0.04em;
color: var(--navy);
font-weight: 600;
}
.quiz-step-trust .reviews-bar .reviews-stars {
color: #e6b800;
font-size: 0.95rem;
letter-spacing: 0.1em;
}
.quiz-step-trust .reviews-cl-link {
font-size: 0.75rem;
color: var(--text-muted);
text-decoration: none;
font-weight: 500;
transition: color 0.2s;
}
.quiz-step-trust .reviews-cl-link:hover {
color: #2563eb;
}
.quiz-step-trust .reviews-cl-link .cl-name {
font-weight: 600;
color: var(--navy);
}
.quiz-step-trust .reviews-cl-link:hover .cl-name {
color: var(--navy);
}
@media (max-width: 480px) {
.quiz-step-trust .reviews-bar { padding: 0.35rem 0.9rem; font-size: 0.72rem; min-width: 155px; gap: 0.7rem; }
.quiz-step-trust .reviews-bar .reviews-count { font-size: 0.74rem; }
.quiz-step-trust .reviews-bar .reviews-stars { font-size: 0.88rem; }
.quiz-step-trust .reviews-cl-link { font-size: 0.68rem; }
}

/* Radio Options */
.radio-options {
display: flex;
flex-direction: column;
gap: 0.5rem;
margin-bottom: 1.25rem;
}

.radio-options label {
display: flex;
align-items: center;
padding: 0.65rem 0.875rem;
border: 2px solid #e5e7eb;
border-radius: 8px;
cursor: pointer;
transition: all 0.2s ease;
font-size: 0.9rem;
}

.radio-options label:hover {
border-color: var(--accent);
background: rgba(45, 90, 39, 0.04);
}

.radio-options input[type="radio"] {
width: 20px;
height: 20px;
margin-right: 0.875rem;
accent-color: var(--accent);
flex-shrink: 0;
}

.radio-options label:has(input:checked) {
border-color: var(--accent);
background: rgba(45, 90, 39, 0.08);
}

.radio-options input:checked + span {
font-weight: 600;
}

/* Debt Amount Options */
.debt-options label span {
color: var(--accent);
font-weight: 600;
}

/* Form Groups */
.form-group {
margin-bottom: 0.85rem;
}
.form-group label.field-label {
display: block;
font-weight: 500;
margin-bottom: 0.4rem;
color: var(--text);
font-size: 0.9rem;
}

.form-group input,
.form-group select {
width: 100%;
padding: 0.75rem 0.875rem;
font-size: 1rem;
border: 2px solid #e5e7eb;
border-radius: 10px;
font-family: inherit;
transition: border-color 0.2s, box-shadow 0.2s;
background: var(--white);
}

.form-group input:focus,
.form-group select:focus {
outline: none;
border-color: var(--accent);
box-shadow: 0 0 0 3px rgba(45, 90, 39, 0.15);
}

.form-group input.error,
.form-group select.error {
border-color: var(--error);
}

.error-message {
color: var(--error);
font-size: 0.85rem;
margin-top: 0.35rem;
display: none;
}
.error-message.show {
display: block;
}
.form-group .error-message {
margin-top: 0.35rem;
}
.email-exists-msg {
font-size: 0.9rem;
color: var(--text-muted);
margin-top: 0.5rem;
margin-bottom: 0;
}

.form-helper {
font-size: 0.85rem;
color: var(--text-muted);
margin-top: 0.35rem;
}

.link-button {
background: none;
border: none;
padding: 0.35rem 0;
font-size: inherit;
color: var(--accent);
text-decoration: underline;
cursor: pointer;
min-height: 32px;
-webkit-tap-highlight-color: transparent;
}
.link-button:hover { opacity: 0.8; }

/* Select Dropdown */
.form-group select {
appearance: none;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: right 1rem center;
background-size: 20px;
padding-right: 3rem;
}

/* Legal Text / Disclaimer */
.legal-text {
background: none;
border: none;
padding: 0.5rem 0;
font-size: 10px;
color: #777;
line-height: 1.4;
margin-top: 0.75rem;
margin-bottom: 1rem;
}

/* â”€â”€ SMS Verification Step â”€â”€ */
.sms-verify-wrap {
text-align: center;
padding: 0.5rem 0;
}
.sms-verify-wrap .sms-icon {
font-size: 2.5rem;
margin-bottom: 0.5rem;
}
.sms-code-inputs {
display: flex;
justify-content: center;
margin: 1rem auto 0.5rem;
}
.sms-code-inputs input {
width: 240px;
height: 52px;
text-align: center;
font-size: 1.75rem;
font-weight: 700;
letter-spacing: 0.45em;
padding: 0 0.75rem;
border: 2px solid #ddd;
border-radius: 10px;
outline: none;
transition: border-color 0.2s, box-shadow 0.2s;
background: #fff;
color: #1a2e44;
caret-color: var(--forest-green-light, #3dd689);
box-sizing: border-box;
}
.sms-code-inputs input::placeholder {
letter-spacing: 0.25em;
color: #ccc;
font-size: 1.2rem;
font-weight: 400;
}
.sms-code-inputs input:focus {
border-color: var(--forest-green-light, #3dd689);
box-shadow: 0 0 0 3px rgba(61, 214, 137, 0.18);
}
.sms-code-inputs input.error {
border-color: #e74c3c;
box-shadow: 0 0 0 3px rgba(231, 76, 60, 0.14);
}
.sms-code-inputs input:disabled {
background: #f5f5f5;
color: #aaa;
cursor: not-allowed;
}
.sms-status {
font-size: 0.9rem;
min-height: 1.3em;
margin: 0.5rem 0;
color: var(--text-muted, #777);
}
.sms-status.error { color: #e74c3c; }
.sms-status.success { color: var(--forest-green-light, #3dd689); }
.sms-resend {
background: none;
border: none;
color: var(--forest-green-light, #3dd689);
cursor: pointer;
font-size: 0.88rem;
text-decoration: underline;
margin-top: 0.25rem;
padding: 0;
}
.sms-resend:disabled {
color: #aaa;
cursor: default;
text-decoration: none;
}
.sms-skip {
display: block;
margin: 0.75rem auto 0;
background: none;
border: none;
color: #999;
font-size: 0.82rem;
cursor: pointer;
text-decoration: underline;
}

/* â”€â”€ KBA Questions Step â”€â”€ */
.kba-question-block {
background: #f8fafc;
border: 1px solid #e5e7eb;
border-radius: 10px;
padding: 1rem 1.25rem;
margin-bottom: 1rem;
}
.kba-question-block h3 {
font-family: 'Nunito Sans', -apple-system, sans-serif;
font-size: 1rem;
font-weight: 700;
color: var(--navy);
margin: 0 0 0.75rem;
line-height: 1.4;
}
.kba-question-block label {
display: flex;
align-items: center;
gap: 0.5rem;
padding: 0.6rem 0.75rem;
margin-bottom: 0.35rem;
border-radius: 8px;
cursor: pointer;
font-size: 0.95rem;
color: var(--text);
transition: background 0.15s;
}
.kba-question-block label:hover {
background: #e8f5e9;
}
.kba-question-block input[type="radio"] {
width: 18px;
height: 18px;
accent-color: var(--accent);
flex-shrink: 0;
}
.kba-question-block input[type="radio"]:checked + span,
.kba-question-block label:has(input:checked) {
background: #e8f5e9;
font-weight: 600;
}
#kba-error {
font-size: 0.9rem;
min-height: 1.3em;
}

/* â”€â”€ SMS Timer pulse â”€â”€ */
#sms-main-timer {
animation: timerPulse 1s ease-in-out infinite;
}
@keyframes timerPulse {
0%, 100% { opacity: 1; }
50% { opacity: 0.7; }
}

/* Continue Button */
.btn-continue {
display: block;
width: 100%;
padding: 1rem 1.5rem;
font-size: 1.1rem;
font-weight: 700;
color: #fff;
background: var(--accent-hover);
border: none;
border-radius: 10px;
cursor: pointer;
font-family: inherit;
text-transform: uppercase;
letter-spacing: 0.5px;
transition: background 0.2s, transform 0.1s;
touch-action: manipulation;
-webkit-tap-highlight-color: transparent;
}

.btn-continue:hover {
background: var(--accent-hover);
}

.btn-continue:active {
transform: scale(0.98);
}

.btn-continue:disabled {
background: #9ca3af;
cursor: not-allowed;
}

/* ── Dead-end (disqualify) screen ──────────────────────────────────────────────
   Its own classes rather than borrowing .step-question / .step-subtext. Those
   belong to a question the visitor is being asked, and a dead end is not one:
   sharing them meant restyling the quiz's questions silently restyled the dead
   end too, and the Go Back button carried an inline #6b7280 that no theme and
   no inspector control could ever reach.

   Placed after the .btn-continue group on purpose: .btn-continue:hover and
   .dq-back:hover have equal specificity, so source order is what decides. */
#lp-dq-host[hidden], .dq-screen[hidden] { display: none !important; }

.dq-screen {
animation: fadeIn 0.3s ease;
text-align: center;
}

.dq-title {
font-family: 'Nunito Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
font-size: 1.35rem;
font-weight: 700;
color: var(--cd-ink, var(--navy));
margin: 0.5rem 0 0.75rem;
line-height: 1.4;
letter-spacing: -0.01em;
}

.dq-message {
color: var(--cd-ink-soft, var(--text-muted));
font-size: 0.95rem;
line-height: 1.5;
margin: 0 0 1.25rem;
}

/* The editor's stand-ins for copy nobody has written yet. Only the title and the
   message get one: an empty title is a hole in a screen that still shows, while a
   blank continue-anyway button is the author declining an optional way out. */
.dq-title.is-empty, .dq-message.is-empty {
opacity: 0.55;
font-style: italic;
font-weight: 400;
}

/* Free blocks are page-width bands (.cd-section is padding: 96px 24px). Inside a
   card that is a screenful of nothing, so the band collapses to the card's own
   rhythm and the inner max-width yields to the card's width.

   Scoped to .card-body rather than .dq-blocks: a dead-end screen is inside the card
   body, so those render exactly as before, and a free block at a question screen's
   insertion point gets the same de-banding instead of needing a second copy of this. */
.dq-blocks { text-align: left; }
.card-body .cd-section { padding: 12px 0; }
.card-body .cd-section__inner { max-width: 100%; }

.dq-actions {
display: flex;
flex-direction: column;
gap: 10px;
margin-top: 1.25rem;
}

/* Grey, but from a variable the inspector's "Go-back button" part can reach —
   not an inline style on a node funnel.js builds. */
.dq-back { background: var(--cd-dq-back, #6b7280); }
.dq-back:hover { background: var(--cd-dq-back-hover, #56606f); }

/* Quieter than the primary action on purpose: continuing past a dead end is the
   exception, not what the screen is asking for. */
.dq-continue {
background: transparent;
color: var(--cd-ink-soft, #6b7280);
border: 1px solid var(--cd-rule, #e5e2db);
text-transform: none;
font-size: 0.95rem;
font-weight: 600;
letter-spacing: 0;
}
.dq-continue:hover { background: var(--cd-panel-bg, #f7f7f5); }

.btn-peace {
background: var(--forest-green);
}

.btn-peace:hover {
background: var(--accent-hover);
}

/* Card Footer â€“ tight top padding so reviews sit near the button */
.card-footer {
padding: 0.25rem 1.5rem 0.5rem;
text-align: center;
}
/* 1) Reviews bar (1.4K) â€“ right under the button / CTA */
.quiz-footer-reviews-for-cta {
margin-top: 0.15rem;
margin-bottom: 0;
}
.quiz-footer-reviews-for-cta .quiz-step-trust {
margin: 0;
}
/* 2) Trusted by thousands + seals â€“ visually separated from reviews above */
.quiz-footer-trust-seals {
margin-top: 1.75rem;
padding-top: 1.25rem;
border-top: 1px solid #e5e7eb;
}
.quiz-footer-trust-seals .trust-headline {
margin: 0 0 0.25rem;
}
.free-check {
color: var(--text-muted);
font-size: 0.9rem;
margin: 0 0 0.25rem;
}
.trust-headline {
font-family: 'Nunito Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
font-size: 1.2rem;
font-weight: 700;
color: var(--navy);
margin: 0 0 0.25rem;
letter-spacing: -0.01em;
line-height: 1.4;
text-align: center;
}

.trust-badges {
display: flex;
justify-content: center;
align-items: center;
gap: 1rem;
flex-wrap: wrap;
}

.trust-badge {
display: flex;
align-items: center;
gap: 0.35rem;
font-size: 0.85rem;
color: var(--text);
text-decoration: none;
}

.trust-badge:hover {
text-decoration: underline;
}

.trust-badge .stars {
color: var(--gold);
}

.trust-badge img {
height: 28px;
width: auto;
}

/* BBB now enabled */
/* .bbb-wrap, .footer-bbb-block, .quiz-bbb-wrap { display: none !important; } */

/* Trust seals â€“ review logos row + Shopper Approved widget, carousel on mobile */
.hero-seals {
display: flex;
flex-direction: column;
align-items: center;
gap: 0.75rem;
margin-top: 0;
width: 100%;
}
.hero-seals .trust-line {
font-size: 0.7rem;
color: var(--text-muted);
margin: 0.2rem 0 0;
}
.hero-seals-carousel-wrap {
position: relative;
width: 100%;
max-width: 100%;
min-width: 0;
overflow: hidden;
padding: 0 3rem;
}
/* One slide at a time: track has fixed width, each slide = 100% of track */
.hero-seals-row {
display: flex;
flex-wrap: nowrap;
justify-content: flex-start;
align-items: center;
width: 100%;
max-width: 100%;
min-width: 0;
overflow-x: auto;
overflow-y: hidden;
scroll-snap-type: x mandatory;
scrollbar-width: none;
scroll-behavior: smooth;
-webkit-overflow-scrolling: touch;
}
.hero-seals-row::-webkit-scrollbar {
display: none;
}
.hero-seals-row a {
display: flex;
align-items: center;
justify-content: center;
flex: 0 0 100%;
width: 100%;
min-width: 100%;
scroll-snap-align: center;
scroll-snap-stop: always;
padding: 0.5rem 0;
box-sizing: border-box;
}
.hero-seals .seal-img {
height: 180px;
width: auto;
max-width: 100%;
object-fit: contain;
}
/* Quiz card: transform-based one-big seal carousel (no scroll) */
.quiz-card #quiz-seals-viewport {
overflow: hidden;
display: block;
width: 100%;
scroll-behavior: auto;
}
.quiz-card #quiz-seals-slider {
display: flex;
flex-wrap: nowrap;
width: 400%;
transition: transform 0.35s ease;
}
.quiz-card #quiz-seals-slider a {
flex: 0 0 25%;
width: 25%;
min-width: 25%;
display: flex;
align-items: center;
justify-content: center;
padding: 0.5rem 0;
box-sizing: border-box;
}
/* Quiz card: show prev/next so one-big carousel works; ensure they're clickable */
.quiz-card .hero-seals-carousel-wrap .seal-carousel-prev,
.quiz-card .hero-seals-carousel-wrap .seal-carousel-next {
display: flex !important;
z-index: 20;
pointer-events: auto;
}
@media (min-width: 769px) {
.hero-seals .seal-img {
height: 200px;
}
}
@media (max-width: 768px) {
.hero-seals {
gap: 0.5rem;
margin-top: 0.5rem;
}
.hero-seals .trust-line {
font-size: 0.65rem;
margin-top: 0.1rem;
}
.hero-seals-carousel-wrap {
padding: 0 2.75rem;
}
.hero-seals .seal-img {
height: 120px;
}
.quiz-card .card-footer {
padding: 0.15rem 0.85rem 0.5rem;
}
.quiz-card .free-check {
margin-bottom: 0.2rem;
font-size: 0.8rem;
}
.quiz-card .quiz-footer-reviews-for-cta .quiz-step-trust {
margin-bottom: 0.2rem;
}
.quiz-card .quiz-footer-trust-seals {
margin-top: 1.5rem;
padding-top: 1rem;
}
.quiz-card .quiz-footer-trust-seals .trust-headline {
font-size: 1.1rem;
margin: 0 0 0.2rem;
}
}
@media (max-width: 480px) {
.hero-seals .seal-img {
height: 90px;
}
.quiz-card .hero-seals {
margin-top: 0.35rem;
gap: 0.35rem;
}
}
.seal-carousel-prev,
.seal-carousel-next {
display: none;
position: absolute;
top: 50%;
transform: translateY(-50%);
width: 44px;
height: 44px;
min-width: 44px;
min-height: 44px;
border: none;
border-radius: 50%;
background: var(--white);
box-shadow: 0 2px 10px rgba(15, 39, 68, 0.15);
cursor: pointer;
align-items: center;
justify-content: center;
z-index: 10;
pointer-events: auto;
-webkit-tap-highlight-color: transparent;
}
.seal-carousel-prev::before,
.seal-carousel-next::before {
content: "";
width: 8px;
height: 8px;
border-left: 2px solid var(--navy);
border-bottom: 2px solid var(--navy);
}
.seal-carousel-prev { left: 0.25rem; }
.seal-carousel-prev::before { transform: rotate(45deg); margin-left: 3px; }
.seal-carousel-next { right: 0.25rem; }
.seal-carousel-next::before { transform: rotate(-135deg); margin-right: 3px; }

/* Footer â€“ same as index */
.footer-container {
max-width: 1200px;
margin: 0 auto;
padding: 0 1.25rem;
}
/* Reviews section â€“ separate from privacy */
.quiz-reviews-section {
background: var(--white);
padding: 1.75rem 1.25rem 1.5rem;
border-top: 1px solid #e5e7eb;
}
/* Privacy section â€“ top padding tight so Trusted by thousands sits closer (like sections below) */
.quiz-privacy-section {
background: #fafbfc;
padding: 1rem 1.25rem 2rem;
border-top: 1px solid #e5e7eb;
}
.quiz-privacy-block {
text-align: center;
margin: 0;
}
.quiz-privacy-icon {
display: flex;
justify-content: center;
margin-bottom: 0.75rem;
}
.quiz-privacy-icon svg {
width: 48px;
height: 48px;
color: var(--accent);
}
.quiz-privacy-title {
font-family: 'Nunito Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
font-size: 1.2rem;
font-weight: 700;
color: var(--navy);
margin: 0 0 0.5rem;
}
.quiz-privacy-text {
font-size: 0.9rem;
color: var(--text-muted);
margin: 0;
max-width: 36em;
margin-left: auto;
margin-right: auto;
line-height: 1.55;
}
.quiz-testimonials-block {
text-align: center;
}
.quiz-testimonials-title {
font-family: 'Nunito Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
font-size: 1.15rem;
font-weight: 700;
color: var(--navy);
margin: 0 0 0.25rem;
}
.quiz-testimonials-sub {
font-size: 0.85rem;
color: var(--text-muted);
margin: 0 0 1rem;
}
/* Customer Lobby reviews â€“ step slider (move, stop, move, stop in a loop) */
.cl-reviews-slider-wrap {
width: 100%;
margin: 1rem 0;
padding: 0.5rem 0;
display: flex;
justify-content: center;
}
.cl-reviews-viewport {
overflow: hidden;
width: 100%;
}
/* Desktop: viewport width = exact multiple of card step (312px) so only full cards show */
@media (min-width: 769px) {
.cl-reviews-viewport {
width: 624px;
max-width: 100%;
margin-left: auto;
margin-right: auto;
}
}
@media (min-width: 936px) {
.cl-reviews-viewport {
width: 936px;
}
}
@media (min-width: 1248px) {
.cl-reviews-viewport {
width: 1248px;
}
}
@media (min-width: 1560px) {
.cl-reviews-viewport {
width: 1560px;
}
}
.cl-reviews-slider {
display: flex;
flex-wrap: nowrap;
transition: transform 0.5s ease;
}
.cl-review-card {
flex: 0 0 auto;
display: flex;
flex-direction: column;
width: 280px;
min-width: 280px;
min-height: 7rem;
margin: 0 1rem;
padding: 1rem 1.25rem;
background: #f8fafb;
border-radius: 10px;
border-left: 3px solid var(--accent);
text-align: left;
text-decoration: none;
color: var(--text);
box-sizing: border-box;
overflow: visible;
}
.cl-review-card:hover {
background: #f1f5f9;
}
.cl-review-stars {
color: #e6b800;
font-size: 1rem;
letter-spacing: 0.1em;
margin-bottom: 0.5rem;
}
.cl-review-quote {
font-size: 0.9rem;
line-height: 1.5;
margin: 0 0 0.5rem;
color: var(--text);
flex: 1 1 auto;
min-height: 0;
}
.cl-review-card cite {
font-size: 0.8rem;
color: var(--text-muted);
font-style: normal;
}
/* On small screens: one card = full viewport width; 16 cards for seamless loop */
@media (max-width: 768px) {
.cl-reviews-slider-wrap {
position: relative;
padding: 0 2.75rem;
}
.cl-reviews-viewport {
width: 100%;
padding: 0;
}
.cl-reviews-slider {
width: 1600%;
backface-visibility: hidden;
}
.cl-review-card {
flex: 0 0 6.25%;
width: 6.25%;
min-width: 6.25%;
min-height: 8rem;
margin: 0;
padding: 1rem 1rem;
}
.cl-reviews-arrow {
display: flex !important;
position: absolute;
top: 50%;
transform: translateY(-50%);
width: 40px;
height: 40px;
border: none;
border-radius: 50%;
background: var(--white);
box-shadow: 0 2px 12px rgba(15, 39, 68, 0.15);
cursor: pointer;
align-items: center;
justify-content: center;
z-index: 2;
transition: background 0.2s, box-shadow 0.2s;
}
.cl-reviews-arrow:hover {
background: var(--cream-dark);
box-shadow: 0 4px 16px rgba(15, 39, 68, 0.2);
}
.cl-reviews-arrow::before {
content: "";
width: 10px;
height: 10px;
border-left: 2px solid var(--navy);
border-bottom: 2px solid var(--navy);
}
.cl-reviews-prev { left: 0.5rem; }
.cl-reviews-prev::before { transform: rotate(45deg); margin-left: 4px; }
.cl-reviews-next { right: 0.5rem; }
.cl-reviews-next::before { transform: rotate(-135deg); margin-right: 4px; }
}
.cl-reviews-arrow {
display: none;
}
@media (min-width: 769px) {
.cl-reviews-arrow {
display: none !important;
}
}
footer {
background: var(--cream-dark);
color: var(--text);
padding: 2rem 0 calc(2rem + env(safe-area-inset-bottom));
margin-top: 0;
font-size: 0.85rem;
text-align: center;
}
footer a {
color: var(--navy);
text-decoration: none;
}
footer a:hover {
text-decoration: underline;
}
.footer-logo {
margin-bottom: 1rem;
}
.footer-logo .logo {
color: var(--navy);
}
.footer-logo .logo-img {
width: 96px;
height: 96px;
}
.footer-nav {
border-top: 1px solid rgba(0,0,0,0.08);
padding-top: 1rem;
margin-bottom: 1rem;
}
.footer-nav-links {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
gap: 0.25rem 0.5rem;
}
.footer-nav-links li {
display: inline-flex;
align-items: center;
gap: 0.5rem;
}
.footer-nav-links li:not(:last-child)::after {
content: "|";
color: var(--text-muted);
font-weight: 400;
pointer-events: none;
}
.footer-copy-block {
border-top: 1px solid rgba(0,0,0,0.08);
padding-top: 1rem;
margin-bottom: 1rem;
}
.footer-copy {
margin: 0;
color: var(--text);
font-size: 0.9rem;
}
.footer-bbb-block {
display: flex;
justify-content: center;
align-items: center;
margin-bottom: 1.5rem;
}
.footer-bbb-block a {
display: block;
}
.footer-bbb-seal {
width: 220px;
height: auto;
max-height: 88px;
object-fit: contain;
display: block;
}
.footer-disclaimer {
margin-top: 1.5rem;
padding-top: 1.5rem;
border-top: 1px solid rgba(0,0,0,0.08);
color: var(--text-muted);
font-size: 0.75rem;
line-height: 1.55;
text-align: left;
}
.footer-disclaimer p {
margin: 0 0 0.75rem;
}
.footer-advertiser-disclosure {
margin-top: 1rem;
padding-top: 1rem;
border-top: 1px solid rgba(0,0,0,0.08);
color: var(--text-muted);
font-size: 0.75rem;
line-height: 1.55;
text-align: left;
}
.footer-advertiser-disclosure h3 {
font-size: 0.85rem;
font-weight: 600;
color: var(--text);
margin: 0 0 0.5rem;
}
.footer-advertiser-disclosure p {
margin: 0;
}

/* Footer policy modal */
.footer-modal-overlay {
position: fixed;
inset: 0;
background: rgba(0,0,0,0.6);
z-index: 9999;
display: flex;
align-items: center;
justify-content: center;
padding: 1rem;
box-sizing: border-box;
}
.footer-modal-overlay[aria-hidden="true"] {
display: none;
}
.footer-modal-overlay[aria-hidden="false"] {
display: flex;
}
.footer-modal-box {
background: #fff;
border-radius: 8px;
overflow: hidden;
max-width: 92vw;
max-height: 90vh;
width: min(900px, 92vw);
height: 80vh;
display: flex;
flex-direction: column;
box-shadow: 0 8px 32px rgba(0,0,0,0.25);
}
.footer-modal-inline {
flex: 1;
min-height: 0;
overflow: auto;
padding: 1.5rem 2rem;
font-size: 1rem;
line-height: 1.6;
color: var(--text);
}
.footer-modal-inline .policy-content {
display: none;
}
.footer-modal-inline-title {
margin: 0 0 1rem;
font-size: 1.25rem;
font-weight: 600;
color: var(--navy);
}
.footer-modal-inline h4 {
margin: 1.25rem 0 0.5rem;
font-size: 1.05rem;
font-weight: 600;
color: var(--navy);
}
.footer-modal-inline p { margin: 0 0 0.75rem; }
.footer-service-of {
margin: 0.5rem 0 0;
font-size: 0.9rem;
color: var(--text-muted);
}
.footer-modal-close {
padding: 1rem 2rem;
font-size: 1.1rem;
font-weight: 600;
background: var(--navy);
color: #fff;
border: none;
cursor: pointer;
margin: 0;
}
.footer-modal-close:hover {
background: #1a3a5c;
}
.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;
}

/* Loading / Matching State */
/* Inline results (shown after countdown instead of redirect) */
.inline-results {
display: none;
text-align: center;
padding: 2rem 1.5rem;
}
.inline-results.active {
display: block;
animation: irFadeIn 0.4s ease-out;
}
@keyframes irFadeIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
.inline-results .ir-icon {
width: 64px; height: 64px;
background: rgba(5, 150, 105, 0.08);
border-radius: 50%;
display: flex; align-items: center; justify-content: center;
margin: 0 auto 1.25rem;
font-size: 1.75rem; font-weight: 700; color: #059669; line-height: 1;
}
.inline-results .ir-icon-nq {
background: rgba(100, 116, 139, 0.1);
color: var(--text-muted);
}
.inline-results h2 {
font-size: clamp(1.3rem, 3.5vw, 1.55rem);
margin: 0 0 0.75rem; line-height: 1.25;
}
.inline-results .ir-subtitle {
font-size: 1rem; color: var(--text); line-height: 1.55; margin: 0 0 0.75rem;
}
.inline-results .ir-cta-box {
background: rgba(15, 39, 68, 0.04);
border: 1px solid rgba(15, 39, 68, 0.12);
padding: 1.15rem; border-radius: 10px; margin: 1.25rem 0;
}
.inline-results .ir-cta-box .phone-num {
font-size: clamp(1.2rem, 3.5vw, 1.35rem); font-weight: 700; margin: 0;
}
.inline-results .ir-cta-box .phone-num a { color: #2563eb; text-decoration: none; }
.inline-results .ir-cta-box .phone-num a:hover { color: #1d4ed8; }
.inline-results .ir-cta-box .agents,
.inline-results .ir-cta-box .timer { margin-top: 0.4rem; font-size: 0.85rem; color: var(--text-muted); }
.inline-results .ir-reassurance { font-size: 0.9rem; color: var(--text-muted); margin-top: 1rem; line-height: 1.5; }
.inline-results .ir-redirect-notice { color: var(--text-muted); margin: 1rem 0; font-size: 0.95rem; }
.inline-results .ir-redirect-notice a { color: #2563eb; text-decoration: underline; }
.inline-results .ir-btn-main {
display: inline-block; background: var(--navy); color: #fff;
padding: 0.7rem 1.4rem; border-radius: 8px; font-weight: 600;
text-decoration: none; font-size: 0.95rem; margin-top: 0.5rem;
}
.inline-results .ir-btn-main:hover { background: #333333; color: #fff; }
.inline-results .ir-review-stripe {
margin-top: 1.25rem; padding-top: 1rem;
border-top: 1px solid rgba(15, 39, 68, 0.06);
}

.loading-state {
display: none;
text-align: center;
padding: 2.5rem 1.5rem;
}
.loading-state.active {
display: block;
}
#form-section.loading-active .form-step {
display: none !important;
}
.loading-state h2 {
font-family: 'Nunito Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
color: var(--navy);
margin-bottom: 0.35rem;
font-size: 1.35rem;
font-weight: 600;
}
.loading-state > p {
color: var(--text-muted);
margin: 0.25rem 0 1.5rem;
font-size: 0.9rem;
}
.matching-progress-ring {
position: relative;
width: 80px; height: 80px;
margin: 0 auto 1.25rem;
}
.matching-progress-ring svg {
width: 80px; height: 80px;
transform: rotate(-90deg);
}
.matching-progress-ring .ring-bg {
fill: none;
stroke: #e8ecf0;
stroke-width: 4;
}
.matching-progress-ring .ring-fill {
fill: none;
stroke: var(--forest-green);
stroke-width: 4;
stroke-linecap: round;
stroke-dasharray: 220;
stroke-dashoffset: 220;
transition: stroke-dashoffset 0.5s ease;
}
.matching-progress-pct {
position: absolute;
inset: 0;
display: flex;
align-items: center;
justify-content: center;
font-size: 1.15rem;
font-weight: 700;
font-family: 'Open Sans', sans-serif;
color: var(--navy);
}
.matching-steps-list {
text-align: left;
max-width: 280px;
margin: 0 auto;
list-style: none;
padding: 0;
}
.matching-steps-list li {
display: flex;
align-items: center;
gap: 0.6rem;
padding: 0.45rem 0;
font-size: 0.88rem;
color: var(--text-muted);
transition: color 0.3s;
}
.matching-steps-list li.active {
color: var(--navy);
font-weight: 500;
}
.matching-steps-list li.done {
color: var(--forest-green);
}
.matching-step-icon {
width: 20px; height: 20px;
border-radius: 50%;
border: 2px solid #d1d5db;
flex-shrink: 0;
display: flex;
align-items: center;
justify-content: center;
transition: border-color 0.3s, background 0.3s;
}
.matching-steps-list li.active .matching-step-icon {
border-color: var(--forest-green);
}
.matching-steps-list li.done .matching-step-icon {
border-color: var(--forest-green);
background: var(--forest-green);
}
.matching-step-icon svg {
width: 12px; height: 12px;
display: none;
}
.matching-steps-list li.done .matching-step-icon svg {
display: block;
color: #fff;
}
.matching-check {
display: none;
margin: 0 auto 0.75rem;
width: 56px; height: 56px;
border-radius: 50%;
background: var(--forest-green);
color: #fff;
align-items: center;
justify-content: center;
}
.matching-check.show {
display: flex;
animation: matchFadeIn 0.4s ease-in-out;
}
.matching-check svg { width: 32px; height: 32px; }
@keyframes matchFadeIn {
0% { transform: scale(0.7); opacity: 0; }
100% { transform: scale(1); opacity: 1; }
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
LANDING PAGE STYLES (hero, trust, testimonials, FAQ, etc.)
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

/* Hero â€“ VDA layout: compact, centered, white */
.hero {
padding: 1rem 0 1.5rem;
text-align: center;
}
.hero .hero-banner {
max-height: 200px;
width: 100%;
margin: 0 auto 0.75rem;
display: block;
border-radius: 12px;
object-fit: contain;
}
.hero h1 {
font-family: 'Nunito Sans', -apple-system, sans-serif;
font-size: 1.35rem;
font-weight: 700;
color: var(--navy);
margin: 0 0 0.6rem;
line-height: 1.4;
}
.hero ul.bullets {
list-style: none;
padding: 0;
margin: 0 0 0.6rem;
text-align: center;
}
.hero ul.bullets li {
padding: 0.2rem 0;
font-size: 1.05rem;
color: var(--text);
}
.hero ul.bullets li::before {
content: "âœ“ ";
color: var(--forest-green);
font-weight: 700;
}
.hero .tagline {
font-size: 0.95rem;
color: var(--text-muted);
margin: 0.5rem 0 0.6rem;
}
.hero-debt-hook {
font-size: 1.2rem;
font-weight: 400;
color: var(--navy);
margin: 0.6rem 0 0.6rem;
white-space: normal;
}
.hero-debt-buttons {
display: flex;
flex-direction: column;
max-width: 380px;
margin: 0 auto 0.5rem;
gap: 0.6rem;
}
.hero-debt-buttons button {
width: 100%;
padding: 1.2rem 1.5rem;
font-size: 1.25rem;
font-weight: 700;
letter-spacing: 0.01em;
color: #1a1a1a;
background: #e8f5e9;
border: 2px solid #66bb6a;
border-radius: 10px;
cursor: pointer;
font-family: inherit;
text-align: left;
display: flex;
align-items: center;
justify-content: space-between;
transition: background 0.2s, border-color 0.2s, box-shadow 0.2s;
box-shadow: 0 2px 6px rgba(0,0,0,0.06);
touch-action: manipulation;
-webkit-tap-highlight-color: transparent;
}
.hero-debt-buttons button:hover,
.hero-debt-buttons button:focus {
background: #c8e6c9;
border-color: #43a047;
box-shadow: 0 3px 10px rgba(0,0,0,0.1);
outline: none;
}
.hero-debt-buttons button:active {
background: #a5d6a7;
}
.hero-debt-buttons button::after {
content: "â†’";
font-size: 1.2rem;
font-weight: 700;
color: #2e7d32;
}
.prefer-not-to-say {
display: block !important;
text-align: center !important;
font-size: 0.85rem !important;
color: #666 !important;
text-decoration: none !important;
margin: 0.5rem 0 !important;
opacity: 0.7 !important;
background: none !important;
border: none !important;
box-shadow: none !important;
font-weight: normal !important;
}
.prefer-not-to-say:hover {
color: #666 !important;
text-decoration: underline !important;
opacity: 1 !important;
background: none !important;
}
.prefer-not-to-say:visited {
color: #666 !important;
}
.hero-banner.img-placeholder {
background: transparent;
}

/* Trust bar â€“ hero version */
.hero-trust-strip {
display: flex;
align-items: center;
justify-content: center;
flex-wrap: wrap;
gap: 0.5rem 0.75rem;
margin: 1rem 0 1.25rem;
}
.hero-trust-strip .reviews-bar {
display: inline-flex;
align-items: center;
justify-content: space-between;
gap: 0.6rem;
padding: 0.3rem 0.8rem;
background: rgba(248, 250, 252, 0.95);
border: 1px solid #e2e8f0;
border-radius: 8px;
text-decoration: none;
color: var(--text-muted);
font-weight: 500;
font-size: 0.7rem;
letter-spacing: 0.03em;
min-width: 140px;
transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease;
}
.hero-trust-strip .reviews-bar:hover {
border-color: #cbd5e1;
background: #fff;
color: var(--text);
text-decoration: underline;
}
.hero-trust-strip .reviews-bar .reviews-count {
font-size: 0.72rem;
letter-spacing: 0.04em;
color: var(--navy);
font-weight: 600;
}
.hero-trust-strip .reviews-bar .reviews-stars {
color: #e6b800;
font-size: 0.85rem;
letter-spacing: 0.08em;
}
.hero-trust-strip .reviews-cl-link {
font-size: 0.8rem;
color: var(--text-muted);
text-decoration: none;
font-weight: 500;
transition: color 0.2s;
}
.hero-trust-strip .reviews-cl-link:hover {
color: #2563eb;
}
.hero-trust-strip .reviews-cl-link .cl-name {
font-weight: 600;
color: var(--navy);
}

/* Landing seals (hero version - scroll-snap carousel) */
#landing-section .hero-seals {
display: flex;
flex-direction: column;
align-items: center;
gap: 0.75rem;
margin-top: 1rem;
}
#landing-section .hero-seals-carousel-wrap {
position: relative;
width: 100%;
max-width: 520px;
overflow: visible;
padding: 0;
}
#landing-section .hero-seals-row {
display: flex;
flex-wrap: nowrap;
justify-content: center;
align-items: center;
gap: 1.5rem 2rem;
overflow: visible;
scroll-snap-type: none;
}
#landing-section .hero-seals-row a,
#landing-section .hero-seals-row span {
display: flex;
align-items: center;
justify-content: center;
flex: 0 0 auto;
width: auto;
min-width: 0;
scroll-snap-align: unset;
scroll-snap-stop: unset;
padding: 0;
}
#landing-section .hero-seals .seal-img {
height: 168px;
width: auto;
max-width: 260px;
object-fit: contain;
}
@media (min-width: 769px) {
#landing-section .hero-seals .seal-img {
height: 180px;
max-width: 280px;
}
#landing-section .hero-seals-carousel-wrap .seal-carousel-prev,
#landing-section .hero-seals-carousel-wrap .seal-carousel-next {
display: none !important;
}
.hero-debt-buttons button { padding: 0.6rem 0.8rem; font-size: 0.95rem; }
}
@media (max-width: 768px) {
#landing-section .hero-seals { gap: 0.75rem; margin-top: 1rem; }
#landing-section .hero-seals-carousel-wrap {
position: relative;
padding: 0 2.5rem;
margin: 0 -0.5rem;
max-width: 100%;
}
#landing-section .hero-seals-row {
display: flex;
flex-wrap: nowrap;
overflow-x: auto;
overflow-y: hidden;
scroll-snap-type: x mandatory;
-webkit-overflow-scrolling: touch;
scrollbar-width: none;
justify-content: flex-start;
gap: 0;
padding: 0.5rem 0;
}
#landing-section .hero-seals-row::-webkit-scrollbar { display: none; }
#landing-section .hero-seals-row a,
#landing-section .hero-seals-row span {
flex: 0 0 50%;
min-width: 50%;
scroll-snap-align: center;
scroll-snap-stop: always;
padding: 0 0.5rem;
box-sizing: border-box;
}
#landing-section .hero-seals .seal-img {
height: 78px;
max-height: 78px;
max-width: 100%;
}
#landing-section .hero-seals-carousel-wrap .seal-carousel-prev,
#landing-section .hero-seals-carousel-wrap .seal-carousel-next {
display: flex !important;
}
.hero-trust-strip { margin: 0.2rem 0 0.25rem; gap: 0.35rem; }
.hero-trust-strip .reviews-bar { padding: 0.3rem 0.6rem; font-size: 0.75rem; min-width: auto; gap: 0.4rem; }
.hero-trust-strip .reviews-bar .reviews-count { font-size: 0.75rem; }
.hero-trust-strip .reviews-cl-link { font-size: 0.72rem; }
}
#landing-section .seal-carousel-prev,
#landing-section .seal-carousel-next {
display: none;
position: absolute;
top: 50%;
transform: translateY(-50%);
width: 36px;
height: 36px;
border: none;
border-radius: 50%;
background: var(--white);
box-shadow: 0 2px 10px rgba(15, 39, 68, 0.15);
cursor: pointer;
align-items: center;
justify-content: center;
z-index: 2;
}
#landing-section .seal-carousel-prev::before,
#landing-section .seal-carousel-next::before {
content: "";
width: 8px;
height: 8px;
border-left: 2px solid var(--navy);
border-bottom: 2px solid var(--navy);
}
#landing-section .seal-carousel-prev { left: 0.25rem; }
#landing-section .seal-carousel-prev::before { transform: rotate(45deg); margin-left: 3px; }
#landing-section .seal-carousel-next { right: 0.25rem; }
#landing-section .seal-carousel-next::before { transform: rotate(-135deg); margin-right: 3px; }

/* Mobile hero compact */
@media (max-width: 768px) {
.hero { padding: 0.4rem 0 0.5rem; }
.hero .hero-banner { max-height: 145px; margin-bottom: 0.35rem; }
.hero h1 {
font-size: 1.1rem; line-height: 1.3;
max-width: 18em; margin-left: auto; margin-right: auto; margin-bottom: 0.3rem;
}
.hero ul.bullets { margin-bottom: 0.3rem; }
.hero ul.bullets li { font-size: 0.88rem; padding: 0.05rem 0; }
.hero-debt-hook { font-size: 0.92rem !important; margin: 0.2rem 0 0.3rem !important; white-space: wrap !important; }
.hero-debt-buttons {
display: grid !important; grid-template-columns: 1fr 1fr !important;
gap: 0.35rem !important; margin-bottom: 0.25rem !important; max-width: 100% !important;
}
.hero-debt-buttons button {
width: 100% !important; min-height: 4.3rem !important;
padding: 0.7rem 0.6rem !important; font-size: 0.95rem !important;
justify-content: center !important; text-align: center !important;
}
.hero-debt-buttons button:last-child {
grid-column: auto !important;
max-width: none !important;
margin: 0 !important;
}
.hero-debt-buttons button::after { display: none !important; }
.hero .tagline { font-size: 0.82rem; margin: 0.2rem 0 0.25rem; }
.hero-trust-strip {
margin: 0.25rem 0 0.3rem; flex-direction: row !important;
flex-wrap: nowrap !important; gap: 0.4rem !important;
}
.hero-trust-strip .reviews-bar {
min-width: auto !important; padding: 0.3rem 0.7rem !important;
font-size: 0.8rem !important; gap: 0.4rem !important;
}
.hero-trust-strip .reviews-cl-link { font-size: 0.75rem !important; white-space: nowrap; }
.hero-seals { margin-top: 0.3rem; gap: 0.25rem; }
}

/* Section titles */
#landing-section h2 {
font-family: 'Nunito Sans', -apple-system, sans-serif;
font-size: 1.5rem;
font-weight: 700;
color: var(--navy);
margin: 0 0 1rem;
}
#landing-section section {
padding: 0.5rem 0;
border-top: 1px solid var(--cream-dark);
}
.container--wide { max-width: 1000px; }

.stars { color: var(--gold); letter-spacing: 0.1em; }

/* Ticks in debt table */
.debt-table .cell-yes, .debt-table .cell-no {
display: inline-flex; align-items: center; justify-content: center;
width: 30px; height: 30px; border-radius: 50%;
font-size: 1.1em; font-weight: 700; line-height: 1;
}
.debt-table .cell-yes {
color: #15803d; background: rgba(34, 197, 94, 0.12);
}
.debt-table .cell-yes::before { content: "âœ“"; }
.debt-table .cell-no {
color: #b91c1c; background: rgba(239, 68, 68, 0.08);
}
.debt-table .cell-no::before { content: "âœ—"; }

/* Light blue "Why Thousands Trust" footer */
.proud-footer {
background: #dbeafe;
padding: 2rem 1.5rem;
text-align: center;
margin-top: 0;
}
.proud-footer h2 {
font-size: 1.5rem; font-weight: 700; color: var(--navy); margin: 0 0 1.25rem;
}
.proud-footer-list {
list-style: none; padding: 0; margin: 0 auto;
max-width: 320px; display: flex; flex-direction: column; align-items: center; gap: 0;
}
.proud-footer-list li {
display: block; width: 100%; text-align: center;
padding: 0.5rem 0.75rem; line-height: 1.4; border-bottom: 1px solid rgba(15, 39, 68, 0.1);
}
.proud-footer-list li:last-child { border-bottom: none; }
.proud-footer-list a, .proud-footer-list span {
color: var(--navy); text-decoration: none; font-weight: 400; font-size: 1.1rem;
}
@media (max-width: 768px) {
.proud-footer { padding: 1.5rem 1rem; }
.proud-footer h2 { font-size: 1.35rem; margin-bottom: 1rem; }
.proud-footer-list { max-width: 280px; }
.proud-footer-list li { padding: 0.55rem 0.5rem; font-size: 1.05rem; }
}

/* Results You Can Trust â€“ centered and clean */
.results-trust {
text-align: center;
padding: 2.5rem 1.5rem 2rem;
background: transparent;
border-radius: 0;
margin-bottom: 2rem;
border: none;
}
.results-trust-title {
margin-bottom: 0.35rem;
font-size: 1.85rem;
color: var(--navy);
font-weight: 700;
letter-spacing: -0.02em;
}
.results-trust-title::after {
content: "";
display: block;
width: 56px;
height: 3px;
background: linear-gradient(90deg, var(--gold), #e6b800);
margin: 0.65rem auto 0;
border-radius: 3px;
}
.results-trust-line {
font-size: 1.1rem;
color: var(--text);
margin: 0 0 1.5rem;
display: flex;
align-items: center;
justify-content: center;
flex-wrap: wrap;
gap: 0.75rem;
}
.results-trust-line .stars {
color: #e6b800;
font-size: 1.25rem;
letter-spacing: 0.1em;
}

/* Testimonials slider */
.testimonials-stars {
text-align: center; margin-bottom: 0.75rem; color: var(--gold); font-size: 2rem; letter-spacing: 0.2em;
}
.testimonials-slider-wrap {
position: relative; max-width: 660px; margin: 0 auto 1.25rem; padding: 0 3.5rem;
}
.testimonials-grid {
display: flex; flex-wrap: nowrap; overflow-x: hidden; scroll-snap-type: x mandatory;
-webkit-overflow-scrolling: touch; scrollbar-width: none; gap: 0; align-items: stretch;
}
.testimonials-grid::-webkit-scrollbar { display: none; }
.testimonial-card {
flex: 0 0 100%; min-width: 100%; scroll-snap-align: center; scroll-snap-stop: always;
position: relative; padding: 2.25rem 2rem 2rem; background: var(--white); border-radius: 18px;
box-shadow: 0 6px 32px rgba(15, 39, 68, 0.07), 0 1px 3px rgba(0,0,0,0.04);
border: 1px solid rgba(201, 162, 39, 0.18);
border-top: 3px solid var(--gold);
text-align: center; transition: box-shadow 0.3s ease, transform 0.3s ease;
display: flex; flex-direction: column; justify-content: center;
min-height: 280px;
}
.testimonial-card:hover {
box-shadow: 0 12px 40px rgba(15, 39, 68, 0.12), 0 2px 6px rgba(0,0,0,0.05);
transform: translateY(-2px);
}
.testimonial-card .quote-icon {
font-size: 3rem; line-height: 1; color: var(--gold); font-family: Georgia, serif;
margin-bottom: 0.35rem; opacity: 0.85;
text-shadow: 0 2px 8px rgba(201, 162, 39, 0.2);
}
.testimonial-card .quote-text {
font-size: 1.1rem; line-height: 1.75; margin: 0 0 1.25rem; color: var(--text);
font-style: italic; max-width: 520px; margin-left: auto; margin-right: auto;
}
.testimonial-card .quote-attribution {
font-size: 1rem; color: var(--navy); font-weight: 700; font-style: normal;
display: inline-block; position: relative; padding-top: 0.75rem;
}
.testimonial-card .quote-attribution::before {
content: "";
position: absolute; top: 0; left: 50%; transform: translateX(-50%);
width: 40px; height: 2px;
background: linear-gradient(90deg, transparent, var(--gold), transparent);
border-radius: 2px;
}
.testimonial-card .stars {
display: block; color: var(--gold); font-size: 1.05rem; letter-spacing: 0.12em; margin-bottom: 0.4rem;
}
.testimonials-slider-wrap .slider-arrow {
position: absolute; top: 50%; transform: translateY(-50%); width: 48px; height: 48px;
border: none; border-radius: 50%; background: var(--white);
box-shadow: 0 3px 18px rgba(15, 39, 68, 0.12); cursor: pointer;
display: flex; align-items: center; justify-content: center; z-index: 2;
transition: background 0.2s, box-shadow 0.2s, transform 0.2s;
}
.testimonials-slider-wrap .slider-arrow:hover {
background: var(--cream); box-shadow: 0 5px 24px rgba(15, 39, 68, 0.18);
transform: translateY(-50%) scale(1.08);
}
.testimonials-slider-wrap .slider-arrow::before {
content: ""; width: 12px; height: 12px; border-left: 2.5px solid var(--navy); border-bottom: 2.5px solid var(--navy);
}
.testimonials-slider-wrap .slider-prev { left: 0.5rem; }
.testimonials-slider-wrap .slider-prev::before { transform: rotate(45deg); margin-left: 4px; }
.testimonials-slider-wrap .slider-next { right: 0.5rem; }
.testimonials-slider-wrap .slider-next::before { transform: rotate(-135deg); margin-right: 4px; }
.testimonials-dots {
display: flex; justify-content: center; gap: 0.6rem; margin-top: 1.5rem;
}
.testimonials-dots button {
width: 10px; height: 10px; border-radius: 50%; border: none;
background: var(--cream-dark); cursor: pointer; padding: 0;
transition: background 0.3s, transform 0.3s, width 0.3s;
}
.testimonials-dots button:hover { background: rgba(201, 162, 39, 0.5); }
.testimonials-dots button.active {
background: var(--gold); transform: scale(1.15);
width: 24px; border-radius: 6px;
box-shadow: 0 2px 8px rgba(201, 162, 39, 0.35);
}
@media (max-width: 600px) {
.testimonials-stars { font-size: 1.5rem; margin-bottom: 0.5rem; }
.testimonials-slider-wrap { padding: 0 2.5rem; margin: 0 auto 0.75rem; }
.testimonial-card { padding: 1.5rem 1.25rem 1.25rem; border-radius: 14px; border-top-width: 3px; min-height: 240px; }
.testimonial-card .quote-icon { font-size: 2rem; margin-bottom: 0.2rem; }
.testimonial-card .quote-text { font-size: 0.98rem; line-height: 1.6; margin: 0 0 0.85rem; }
.testimonial-card .quote-attribution { font-size: 0.95rem; padding-top: 0.6rem; }
.testimonial-card .stars { font-size: 0.9rem; margin-bottom: 0.25rem; }
.testimonials-slider-wrap .slider-arrow { width: 38px; height: 38px; }
.testimonials-slider-wrap .slider-arrow::before { width: 10px; height: 10px; }
.testimonials-slider-wrap .slider-prev { left: 0.25rem; }
.testimonials-slider-wrap .slider-next { right: 0.25rem; }
.testimonials-dots { margin-top: 0.85rem; gap: 0.4rem; }
.testimonials-dots button { width: 8px; height: 8px; }
.testimonials-dots button.active { width: 20px; }
.results-trust { padding: 1.5rem 1rem 1.25rem; margin-bottom: 1.5rem; }
.results-trust-title { font-size: 1.45rem; margin-bottom: 0.35rem; }
}

/* Stewardship â€“ blue accent block */
.stewardship {
background: linear-gradient(180deg, #e8f0fe 0%, #f0f4fa 30%, #f5f7fa 100%);
border-radius: 20px; padding: 2.75rem 2rem 3rem; margin-bottom: 2.5rem;
text-align: center; box-shadow: 0 2px 16px rgba(15, 39, 68, 0.04);
border: 1px solid rgba(15, 39, 68, 0.06); border-top: 3px solid #3b82f6; position: relative;
}
.stewardship h2 {
margin-bottom: 0; font-size: clamp(1.5rem, 3.2vw, 1.85rem);
letter-spacing: -0.02em; color: var(--navy); font-weight: 700; line-height: 1.25;
}
.stewardship h2::after {
content: ""; display: block; width: 64px; height: 2px;
background: linear-gradient(90deg, transparent, var(--gold), transparent);
margin: 0.75rem auto 0; border-radius: 2px; opacity: 0.7;
}
.stewardship .section-illustration {
margin: 1.75rem auto 1.75rem; display: block; width: 100%; max-width: 380px;
max-height: 260px; height: auto; border-radius: 14px;
box-shadow: 0 8px 32px rgba(15, 39, 68, 0.1), 0 2px 6px rgba(0,0,0,0.04);
overflow: hidden; object-fit: contain;
transition: transform 0.35s ease, box-shadow 0.35s ease;
}
.stewardship .section-illustration:hover {
transform: scale(1.03);
box-shadow: 0 12px 40px rgba(15, 39, 68, 0.14), 0 4px 10px rgba(0,0,0,0.06);
}
.stewardship .stewardship-body { max-width: 600px; margin: 0 auto; }
.stewardship .stewardship-body p {
line-height: 1.7; color: var(--text); font-size: 1rem; margin: 0 0 1rem; text-align: center;
}
.stewardship .stewardship-body p:last-child { margin-bottom: 0; }
.section-illustration {
width: 100%; max-width: 400px; margin: 0 auto 1rem; display: block;
height: 180px; border-radius: 8px;
}
.section-illustration.img-placeholder { background: transparent !important; }

/* What We Help With */
.help-with {
background: transparent; border-radius: 0; padding: 1.5rem 0; margin-top: 0.5rem;
box-shadow: none; border: none;
}
.help-with h2 {
margin-bottom: 0.25rem; font-size: clamp(1.5rem, 3.2vw, 1.85rem);
letter-spacing: -0.02em; font-weight: 700; color: var(--navy);
}
.help-with h2::after {
content: ""; display: block; width: 48px; height: 3px;
background: linear-gradient(90deg, var(--gold), #e6b800);
margin: 0.5rem 0 0; border-radius: 3px;
}
.help-with > p { margin-bottom: 1.5rem; color: var(--text-muted); font-size: 1rem; line-height: 1.6; }
/* ===== inline styles (page) ===== */

    /* Cloak the top section until the critical-path firm fetch lands, so the
       user doesn't see "a participating law firm" briefly replaced by the real
       firm name. The .bk-personalizing class is added by PHP only when we're
       waiting on a firm-fetch result; JS removes it once spans are populated
       (or after a 1.5s safety timeout, in case the API is down). */
    body.bk-personalizing .cd-topbar,
    body.bk-personalizing .cd-hero {
      visibility: hidden;
    }

    .cd-topbar,
    .cd-topbar *,
    .cd-hero,
    .cd-hero * {
      box-sizing: border-box;
    }

    .cd-topbar,
    .cd-hero {
      font-family: var(--cd-font-body, 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif);
      color: #000000;
      -webkit-font-smoothing: antialiased;
    }


    :root {
      --cd-ink: #000000;
      --cd-ink-soft: #000000;
      --cd-brand: #0e3a47;
      --cd-brand-mid: #186b7e;
      --cd-check: #186b7e;
      --cd-cta: #22a06b;
      --cd-cta-hover: #1a8556;
      --cd-paper: #ffffff;
      --cd-bg: #ffffff;
      --cd-rule: #e5e2db;
      --cd-gold: #f57c00;
      --cd-shadow-cta: 0 6px 18px rgba(34, 160, 107, 0.28);
      --navy: #1a1a1a;
      --accent: #30c072;
      --text-muted: #6b7280;
      --error: #dc2626;
    }

    #landing-section {
      padding: 0px 10px;
    }

    /* Advertising strip above the header, when the page turns it on. */
    .cd-adbar {
      background: #0f1720;
      color: #ffffff;
      text-align: center;
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 1px;
      text-transform: uppercase;
      padding: 6px 10px;
    }

    .cd-topbar {
      background: var(--cd-topbar-bg, #ffffff);
      border-bottom: 0;
      position: sticky;
      top: 0;
      z-index: 50;
      transition: box-shadow 0.2s ease;
    }

    .cd-topbar.is-scrolled {
      box-shadow: 0 2px 14px rgba(12, 29, 40, 0.08);
    }

    .cd-topbar__inner {
      max-width: var(--cd-max-w, 1180px);
      margin: 0 auto;
      padding: 16px 24px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
    }

    .cd-topbar__logo {
      display: flex;
    }

    .cd-topbar__logo img {
      height: 42px;
      width: auto;
      display: block;
    }

    .cd-topbar__firm {
      display: inline-flex;
      align-items: center;
      color: #0e3a47;
      font-weight: 500;
      font-size: 14px;
      letter-spacing: 0.01em;
      white-space: nowrap;
    }

    .cd-topbar__firm span {
      font-weight: 600;
    }


    .cd-hero {
      background: var(--cd-bg);
      padding: 30px 24px 22px;
    }

    .cd-hero__inner {
      max-width: 760px;
      margin: 0 auto;
      text-align: center;
    }


    .cd-hero__title {
      font-family: var(--cd-font-head, 'Source Serif 4', Georgia, 'Times New Roman', serif);
      font-weight: 600;
      font-size: clamp(30px, 5.5vw, 54px);
      line-height: 1.05;
      letter-spacing: -0.025em;
      color: var(--cd-ink);
      margin: 0 0 24px;
      white-space: nowrap;
      /* Font loading optimization - prevent layout shift */
      min-height: 1.05em;
    }

    .cd-hero__subtitle {
      font-size: 19px;
      line-height: 1.5;
      color: var(--cd-ink-soft);
      margin: -12px 0 24px;
    }


    .cd-hero__bullets {
      list-style: none;
      padding: 0;
      margin: 0 0 20px;
      display: grid;
      gap: 10px;
      justify-content: center;
      width: fit-content;
      max-width: 100%;
      margin-left: auto;
      margin-right: auto;
    }

    .cd-hero__bullets li {
      display: grid;
      grid-template-columns: 28px auto;
      align-items: start;
      gap: 16px;
      font-size: 19px;
      font-weight: 500;
      line-height: 1.4;
      color: var(--cd-ink);
      letter-spacing: -0.01em;
      text-align: left;
    }

    .cd-hero__bullets svg {
      flex: none;
      width: 22px;
      height: 22px;
      margin-top: 2px;
      color: var(--cd-check);
    }


    .cd-hero__form {
      max-width: 480px;
      margin: 0 auto;
    }

    .cd-hero__progress {
      margin-bottom: 20px;
    }

    .cd-hero__progress .progress-header {
      padding: 0 0 0.6rem;
    }

    .cd-hero__progress .progress-bar-container {
      border-radius: 999px;
      overflow: hidden;
    }

    .cd-select-wrap {
      position: relative;
      margin-bottom: 14px;
    }

    .cd-select {
      width: 100%;
      appearance: none;
      -webkit-appearance: none;
      -moz-appearance: none;
      padding: 18px 52px 18px 22px;
      border: 1.5px solid #1a2b3a;
      border-radius: 10px;
      background: #ffffff;
      color: #000000;
      font-family: inherit;
      font-size: 17px;
      font-weight: 500;
      cursor: pointer;
      text-align: left;
      transition: border-color 0.15s ease, box-shadow 0.15s ease;
    }

    .cd-select:focus {
      outline: none;
      border-color: var(--cd-cta);
      box-shadow: 0 0 0 4px rgba(34, 160, 107, 0.15);
    }

    .cd-select:invalid {
      color: #6b7a83;
    }

    .cd-select-wrap::after {
      content: '';
      position: absolute;
      right: 22px;
      top: 50%;
      width: 12px;
      height: 12px;
      border-right: 2.5px solid #1a2b3a;
      border-bottom: 2.5px solid #1a2b3a;
      transform: translateY(-70%) rotate(45deg);
      pointer-events: none;
    }


    .cd-cta {
      display: block;
      width: 100%;
      padding: 16px 24px;
      background: var(--cd-cta);
      color: #ffffff;
      border: none;
      border-radius: var(--cd-cta-radius, 10px);
      font-family: inherit;
      font-size: 18px;
      font-weight: 700;
      letter-spacing: 0.01em;
      cursor: pointer;
      box-shadow: var(--cd-shadow-cta);
      transition: background 0.15s ease, transform 0.1s ease, box-shadow 0.15s ease;
      margin-top: 22px;
      margin-bottom: 22px;

    }

    .cd-cta:hover {
      background: var(--cd-cta-hover);
      box-shadow: 0 8px 22px rgba(34, 160, 107, 0.36);
    }

    .cd-cta:active {
      transform: translateY(1px);
    }

    .cd-cta:disabled {
      background: #b9c2cc;
      cursor: not-allowed;
      box-shadow: none;
    }


    .cd-trust {
      margin: 24px auto 0;
      max-width: 980px;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 44px;
      align-items: start;
    }

    .cd-trust__item {
      text-align: center;
      padding: 0 12px;
      display: flex;
      flex-direction: column;
      align-items: center;
    }

    .cd-trust__logo {
      height: 78px;
      width: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 0 auto 12px;
      color: var(--cd-ink);
      font-weight: 700;
      font-size: 18px;
      letter-spacing: -0.01em;
    }

    .cd-trust__logo img {
      width: 190px;
      max-width: 100%;
      height: auto;
      max-height: 74px;
      object-fit: contain;
    }

    .cd-trust__logo img[src*="google_review"] {
      width: 168px;
    }

    .cd-trust__logo img[src*="customer_review"] {
      width: 176px;
    }

    .cd-trust__logo img[src*="shopper-review"] {
      width: 210px;
    }

    .cd-trust__stars {
      color: var(--cd-gold);
      font-size: 22px;
      line-height: 1;
      letter-spacing: 4px;
      margin: 0 0 10px;
      white-space: nowrap;
    }

    .cd-trust__count {
      font-size: 17px;
      line-height: 1.25;
      color: var(--cd-ink);
      font-weight: 500;
    }

    .cd-trust__count strong {
      font-weight: 700;
      color: var(--cd-ink);
    }


    .cd-bbb {
      margin: 44px auto 0;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 18px;
      padding: 18px 24px;
      max-width: 460px;
      background: #ffffff;
      border: 1px solid var(--cd-rule);
      border-radius: 12px;
      box-shadow: 0 2px 6px rgba(12, 29, 40, 0.04);
    }

    .cd-bbb__seal {
      flex: none;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .cd-bbb__seal img {
      height: 56px;
      width: auto;
      display: block;
    }

    .cd-bbb__text {
      text-align: left;
      line-height: 1.3;
    }

    .cd-bbb__rating {
      font-size: 16px;
      font-weight: 700;
      color: var(--cd-ink);
      letter-spacing: -0.01em;
    }

    .cd-bbb__label {
      font-size: 13px;
      color: var(--cd-ink-soft);
      font-weight: 500;
      margin-top: 2px;
    }

    /* Trust badges (SSL + Trust Guard) — replaced the BBB seal, matching index.php. */
    .trust-seals {
      display: flex;
      flex-direction: row;
      justify-content: center;
      align-items: center;
      gap: 18px;
      margin: 20px auto 8px;
    }
    .trust-seals img { display: block; width: auto; max-width: 100%; }
    .trust-seals .ssl-seal { height: 40px; }
    .trust-seals .trust-badge { height: 30px; }
    /* Larger on desktop so the seals read clearly as trust signals. */
    @media (min-width: 900px) {
      .trust-seals { gap: 26px; margin-top: 24px; }
      .trust-seals .ssl-seal { height: 58px; }
      .trust-seals .trust-badge { height: 44px; }
    }

    .cd-bbb-trust-badge {
      margin: 18px auto 10px;
      min-height: 78px;
      display: flex;
      align-items: center;
      justify-content: center;
      overflow: visible;
    }

    .cd-bbb-trust-badge iframe {
      display: block;
      width: 175px;
      height: 78px;
      border: 0;
      transform: scale(1);
      transform-origin: center center;
    }

    .cd-trust-attribution {
      margin: 24px auto 0;
      max-width: 680px;
      text-align: center;
      font-size: 13px;
      font-style: italic;
      color: #6b7280;
      line-height: 1.5;
    }

    .cd-crosssell {
      max-width: 520px;
      margin: 0 auto;
      text-align: left;
    }

    .cd-crosssell__option {
      border: 1.5px solid #e0e0e0;
      border-radius: 10px;
      margin-bottom: 12px;
      overflow: hidden;
      background: #fff;
      transition: border-color 0.2s, background 0.2s;
    }

    .cd-crosssell__option:hover {
      border-color: #b8b8b8;
    }

    .cd-crosssell__option.is-checked {
      border-color: var(--accent);
      background: #e8f7ef;
    }

    .cd-crosssell__header {
      display: flex;
      align-items: center;
      gap: 14px;
      width: 100%;
      padding: 16px 18px;
      border: 0;
      background: transparent;
      color: var(--navy);
      cursor: pointer;
      font: inherit;
      font-weight: 500;
      text-align: left;
      user-select: none;
    }

    .cd-crosssell__checkbox {
      width: 22px;
      height: 22px;
      border: 1.5px solid #b8b8b8;
      border-radius: 5px;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      background: #fff;
      transition: all 0.2s;
    }

    .cd-crosssell__checkbox svg {
      opacity: 0;
      transition: opacity 0.2s;
    }

    .cd-crosssell__option.is-checked .cd-crosssell__checkbox {
      background: var(--accent);
      border-color: var(--accent);
    }

    .cd-crosssell__option.is-checked .cd-crosssell__checkbox svg {
      opacity: 1;
    }

    .cd-crosssell__expansion {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.35s ease;
      border-top: 1px solid transparent;
    }

    .cd-crosssell__option.is-checked .cd-crosssell__expansion {
      max-height: 920px;
      border-top-color: rgba(48, 192, 114, 0.25);
    }

    .cd-crosssell__expansion-inner {
      padding: 14px 18px 16px;
      background: #fff;
    }

    .cd-crosssell__field {
      margin-bottom: 12px;
    }

    .cd-crosssell__field[hidden] {
      display: none;
    }

    .cd-crosssell__field:last-child {
      margin-bottom: 0;
    }

    .cd-crosssell__label {
      display: block;
      margin-bottom: 8px;
      color: var(--navy);
      font-size: 13px;
      font-weight: 700;
    }

    .cd-crosssell__label--large {
      font-size: 15px;
      line-height: 1.45;
    }

    .cd-crosssell__req {
      color: var(--accent);
    }

    .cd-crosssell__hint {
      margin-left: 4px;
      color: var(--text-muted);
      font-size: 12px;
      font-weight: 400;
    }

    .cd-crosssell__pill-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 8px;
    }

    .cd-crosssell__pill {
      min-height: 38px;
      padding: 8px 10px;
      border: 1.5px solid #e0e0e0;
      border-radius: 8px;
      background: #fff;
      color: var(--navy);
      cursor: pointer;
      font: inherit;
      font-size: 14px;
      font-weight: 600;
      text-align: center;
      transition: all 0.15s;
    }

    .cd-crosssell__pill:hover {
      border-color: #b8b8b8;
    }

    .cd-crosssell__pill.is-selected {
      border-color: var(--accent);
      background: var(--accent);
      color: #fff;
    }

    .best-time-options {
      display: flex;
      flex-direction: column;
      gap: 10px;
      margin: 20px 0;
    }
    .best-time-btn {
      width: 100%;
      padding: 14px 16px;
      border: 1.5px solid #e0e0e0;
      border-radius: 10px;
      background: #fff;
      color: var(--navy);
      cursor: pointer;
      font: inherit;
      font-size: 0.97rem;
      font-weight: 500;
      text-align: left;
      display: flex;
      align-items: center;
      gap: 12px;
      transition: border-color 0.15s, background 0.15s;
    }
    .best-time-btn::before {
      content: '';
      flex-shrink: 0;
      width: 18px;
      height: 18px;
      border: 2px solid #ccc;
      border-radius: 50%;
      background: #fff;
      transition: border-color 0.15s, background 0.15s;
    }
    .best-time-btn:hover {
      border-color: #b8b8b8;
      background: #f8f9fa;
    }
    .best-time-btn:hover::before {
      border-color: #aaa;
    }
    .best-time-btn.is-selected {
      border-color: var(--accent);
      background: var(--cd-select-tint, #f0faf4);
      color: var(--navy);
      font-weight: 600;
    }
    .best-time-btn.is-selected::before {
      border-color: var(--accent);
      background: var(--accent);
      box-shadow: inset 0 0 0 3px #fff;
    }

    .debt-type-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 8px;
      margin: 16px 0;
    }
    .debt-type-btn {
      padding: 12px 10px;
      border: 1.5px solid #e0e0e0;
      border-radius: 10px;
      background: #fff;
      color: var(--navy);
      cursor: pointer;
      font: inherit;
      font-size: 0.88rem;
      font-weight: 500;
      text-align: left;
      display: flex;
      align-items: center;
      gap: 9px;
      transition: border-color 0.15s, background 0.15s;
    }
    .debt-type-btn::before {
      content: '';
      flex-shrink: 0;
      width: 16px;
      height: 16px;
      border: 2px solid #ccc;
      border-radius: 3px;
      background: #fff;
      transition: border-color 0.15s, background 0.15s;
    }
    .debt-type-btn:hover {
      border-color: #b8b8b8;
      background: #f8f9fa;
    }
    .debt-type-btn.is-selected {
      border-color: var(--accent);
      background: var(--cd-select-tint, #f0faf4);
      font-weight: 600;
    }
    .debt-type-btn.is-selected::before {
      border-color: var(--accent);
      background: var(--accent);
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6l3 3 5-5' stroke='white' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: center;
      background-size: 10px;
    }

    .cd-crosssell__input {
      width: 100%;
      padding: 10px 14px;
      border: 1.5px solid #e0e0e0;
      border-radius: 8px;
      background: #fff;
      color: var(--navy);
      font: inherit;
      font-size: 15px;
      transition: border-color 0.15s;
    }

    .cd-crosssell__input:focus,
    .cd-crosssell__textarea:focus,
    .cd-crosssell__select:focus {
      outline: none;
      border-color: var(--accent);
    }

    .cd-crosssell__textarea {
      width: 100%;
      min-height: 72px;
      padding: 9px 12px;
      border: 1.5px solid #e0e0e0;
      border-radius: 8px;
      background: #fff;
      color: var(--navy);
      font: inherit;
      font-size: 16px;
      line-height: 1.5;
      resize: vertical;
      transition: border-color 0.15s;
    }

    .cd-crosssell__select {
      width: 100%;
      min-height: 48px;
      padding: 11px 42px 11px 16px;
      border: 1.5px solid #e0e0e0;
      border-radius: 8px;
      background: #fff;
      color: var(--navy);
      font: inherit;
      font-size: 17px;
      font-weight: 600;
      cursor: pointer;
      transition: border-color 0.15s;
    }

    .cd-crosssell__error {
      display: none;
      margin: 10px 0 0;
      color: var(--error);
      font-size: 0.82rem;
      line-height: 1.4;
      text-align: center;
    }

    .cd-crosssell__skip {
      display: block;
      margin-top: 12px;
      color: var(--accent);
      cursor: pointer;
      font-size: .88rem;
      text-align: center;
      text-decoration: underline;
    }

    @media (min-width: 900px) {
      .cd-hero {
        padding: clamp(64px, 7vh, 96px) 24px clamp(58px, 6.5vh, 88px);
      }

      .cd-hero__inner {
        max-width: 920px;
      }

      .cd-hero__title {
        margin-bottom: 25px;
        margin-top: 25px;
      }

      .cd-hero__form {
        margin-top: 25px;
      }

      .cd-hero__subtitle {
        margin-top: 25px;
        font-size: 21px;
      }      

      .md-m-30 {
        margin-top: 30px !important;
        margin-bottom: 30px !important;
      }

      .cd-hero__bullets {
        gap: 13px;
        margin-bottom: 30px;
      }

      .cd-trust {
        margin-top: 26px;
      }

      .cd-trust__logo {
        height: 88px;
      }

      .cd-trust__logo img {
        width: 220px;
        max-height: 84px;
      }

      .cd-trust__logo img[src*="google_review"] {
        width: 194px;
      }

      .cd-trust__logo img[src*="customer_review"] {
        width: 204px;
      }

      .cd-trust__logo img[src*="shopper-review"] {
        width: 238px;
      }

      .cd-bbb-trust-badge {
        margin: 54px auto 12px;
      }

      .cd-reviews__tabs {
        padding: 10px 14px;
        gap: 10px;
        margin-bottom: 44px;
      }

      .cd-reviews__tab {
        padding: 14px 34px;
        font-size: 18px;
        line-height: 1.2;
      }

      .cd-reviews .cd-section__title {
        font-size: calc(clamp(32px, 4vw, 46px) + 2px);
      }

      .cd-platform-bar {
        padding: 34px 44px;
      }

      .cd-platform-bar__brand {
        gap: 34px;
      }

      .cd-platform-bar__logo {
        height: 76px;
        max-width: 250px;
      }

      .cd-platform-bar__logo[src*="customer_review"] {
        height: 88px;
        max-width: 280px;
      }

      .cd-platform-bar__logo[src*="shopper-review"] {
        height: 84px;
        max-width: 300px;
      }

      .cd-platform-bar__logo[src*="bbb-accredited"] {
        height: 90px;
        max-width: 290px;
      }

      .cd-platform-bar__rating-num {
        font-size: 44px;
      }

      .cd-platform-bar__stars {
        font-size: 24px;
      }

      .cd-platform-bar__count {
        font-size: 18px;
      }

      .cd-review__quote {
        font-size: 18px;
      }

      #quiz-section .quiz-footer-trust-seals {
        margin-top: 10px;
      }

      #quiz-section .hero-seals-carousel-wrap {
        max-width: 720px;
        margin-left: auto;
        margin-right: auto;
      }

      #quiz-section .hero-seals-row {
        max-width: 720px;
        margin-left: auto;
        margin-right: auto;
      }

      #quiz-section .hero-seals-slider {
        gap: 28px;
        align-items: center;
      }

      #quiz-section .seal-img {
        width: 170px;
        max-width: 170px;
        max-height: 82px;
        object-fit: contain;
      }

      #quiz-section img[src*="shopper-review"].seal-img {
        width: 215px;
        max-width: 215px;
      }
    }

    #quiz-section .card-footer {
      margin-top: 16px !important;
      padding-top: 0 !important;
    }

    #quiz-section .card-body {
      padding-bottom: 0 !important;
    }

    #quiz-section .form-step.active {
      margin-bottom: 0 !important;
      padding-bottom: 0 !important;
    }

    #quiz-section .btn-continue {
      margin-bottom: 0 !important;
    }

    #quiz-section .legal-text {
      margin-top: 8px !important;
      margin-bottom: 12px !important;
      line-height: 1.35 !important;
    }

    #quiz-section .quiz-footer-reviews-for-cta {
      margin-top: 0 !important;
      margin-bottom: 0 !important;
      padding-top: 0 !important;
      padding-bottom: 0 !important;
    }

    #quiz-section .free-check {
      margin: 0 0 6px !important;
      line-height: 1.35 !important;
    }

    #quiz-section .quiz-step-trust {
      margin-top: 0 !important;
      margin-bottom: 2px !important;
    }

    #quiz-section .quiz-footer-bbb {
      margin-top: 12px !important;
      margin-bottom: 0 !important;
      text-align: center;
    }

    #quiz-section .quiz-footer-bbb-frame {
      display: inline-block;
      transform: scale(0.7);
      transform-origin: center top;
      margin-bottom: -18px;
    }

    #quiz-section .quiz-footer-trust-seals {
      margin-top: 0 !important;
      padding-top: 0 !important;
      border-top: 0 !important;
    }

    #quiz-section .hero-seals {
      margin-top: 0 !important;
      padding-top: 0 !important;
    }

    #quiz-section .seal-carousel-prev,
    #quiz-section .seal-carousel-next {
      display: none !important;
    }

    #quiz-section .hero-seals-carousel-wrap {
      display: block !important;
    }

    #quiz-section .hero-seals-row {
      overflow: visible !important;
      width: 100% !important;
    }

    #quiz-section .hero-seals-slider {
      display: grid !important;
      grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
      justify-items: center !important;
      align-items: center !important;
      gap: 16px !important;
      transform: none !important;
      width: 100% !important;
    }

    #quiz-section .hero-seals-slider a {
      width: 100% !important;
      display: flex !important;
      justify-content: center !important;
      align-items: center !important;
    }

    @media (min-width: 900px) {

      #quiz-section .hero-seals-carousel-wrap,
      #quiz-section .hero-seals-row {
        max-width: none !important;
        width: 100% !important;
      }

      #quiz-section .hero-seals-slider {
        gap: 10px !important;
      }

      #quiz-section .hero-seals-slider a:first-child {
        justify-content: flex-start !important;
      }

      #quiz-section .hero-seals-slider a:last-child {
        justify-content: flex-end !important;
      }

      #quiz-section .seal-img {
        width: 190px !important;
        max-width: 100% !important;
      }

      #quiz-section img[src*="shopper-review"].seal-img {
        width: 245px !important;
        max-width: 100% !important;
      }
    }


    @media (max-width: 640px) {
      .cd-topbar__inner {
        padding: 10px 16px;
        flex-direction: column;
        gap: 8px;
      }

      .cd-topbar__logo img {
        height: 34px;
      }

      .cd-topbar__firm {
        font-size: 11px;
        white-space: normal;
        text-align: center;
      }

      .cd-hero {
        padding: 10px 16px 28px;
      }

      .cd-hero__title {
        margin-bottom: 14px;
        white-space: normal;
      }

      .cd-hero__subtitle {
        font-size: 17px;
        margin-top: 0;
      }

      .cd-hero__bullets li {
        grid-template-columns: 20px auto;
        gap: 10px;
        font-size: 17px;
        line-height: 1.35;
      }

      .cd-hero__bullets svg {
        width: 20px;
        height: 20px;
        margin-top: 1px;
      }

      .cd-trust {
        grid-template-columns: repeat(3, 1fr);
        gap: 10px;
        margin-top: 32px;
        max-width: 100%;
      }

      .cd-trust__item {
        padding: 0 2px;
      }

      .cd-trust__logo {
        height: 38px;
        margin-bottom: 7px;
      }

      .cd-trust__logo img {
        width: 104px;
        max-height: 80px;
      }

      .cd-trust__logo img[src*="google_review"] {
        width: 115px;
      }

      .cd-trust__logo img[src*="customer_review"] {
        width: 115px;
      }

      .cd-trust__logo img[src*="shopper-review"] {
        width: 115px;
      }

      .cd-trust__stars {
        font-size: 14px;
        letter-spacing: 1px;
        margin-bottom: 4px;
      }

      .cd-trust__count {
        font-size: 11.5px;
        line-height: 1.3;
      }

      .cd-bbb {
        margin-top: 24px;
        padding: 14px 18px;
        gap: 12px;
      }

      .cd-bbb-trust-badge {
        margin: 14px auto 8px;
        min-height: 78px;
      }

      .cd-bbb-trust-badge iframe {
        width: 150px;
        height: 78px;
        transform: scale(1);
      }

      .cd-bbb__seal img {
        height: 44px;
      }

      .cd-bbb__rating {
        font-size: 15px;
      }

      .cd-bbb__label {
        font-size: 12px;
      }

      .cd-trust-attribution {
        margin-top: 18px;
        font-size: 11.5px;
        padding: 0 12px;
      }
    }


    .cd-section {
      padding: 96px 24px;
      font-family: var(--cd-font-body, 'Inter', -apple-system, BlinkMacSystemFont, sans-serif);
    }

    .cd-section * {
      box-sizing: border-box;
    }

    .cd-section__inner {
      max-width: var(--cd-max-w-narrow, 1080px);
      margin: 0 auto;
    }

    .cd-section__eyebrow {
      font-size: 13px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.14em;
      color: var(--cd-brand-mid);
      text-align: center;
      margin: 0 0 14px;
    }

    .cd-section__title {
      font-family: var(--cd-font-head, 'Source Serif 4', Georgia, serif);
      font-weight: 600;
      font-size: clamp(34px, 5.2vw, 56px);
      line-height: 1.08;
      letter-spacing: -0.02em;
      color: var(--cd-ink);
      text-align: center;
      margin: 0 0 18px;
    }

    .cd-section__sub {
      font-size: 18px;
      color: var(--cd-ink-soft);
      text-align: center;
      margin: 0 auto 64px;
      max-width: 600px;
      line-height: 1.55;
    }


    .cd-hiw {
      background: var(--cd-section-bg, #faf8f4);
      border-top: 1px solid var(--cd-rule);
    }

    .cd-hiw__steps {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 24px;
    }

    .cd-hiw__step {
      background: var(--cd-card-bg, #ffffff);
      border: 1px solid var(--cd-rule);
      border-radius: var(--cd-radius, 14px);
      padding: 36px 28px 32px;
      text-align: center;
      transition: transform 0.18s ease, box-shadow 0.18s ease;
    }

    .cd-hiw__step:hover {
      transform: translateY(-2px);
      box-shadow: 0 12px 28px rgba(12, 29, 40, 0.08);
    }

    .cd-hiw__icon {
      width: 72px;
      height: 72px;
      margin: 0 auto 18px;
      color: var(--cd-brand);
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .cd-hiw__icon svg {
      width: 100%;
      height: 100%;
    }

    .cd-hiw__num {
      width: 36px;
      height: 36px;
      margin: 0 auto 18px;
      border-radius: 50%;
      background: var(--cd-brand);
      color: #ffffff;
      font-family: var(--cd-font-head, 'Source Serif 4', Georgia, serif);
      font-size: 18px;
      font-weight: 700;
      display: flex;
      align-items: center;
      justify-content: center;
      letter-spacing: -0.02em;
    }

    .cd-hiw__step-title {
      font-family: var(--cd-font-head, 'Source Serif 4', Georgia, serif);
      font-size: clamp(22px, 2.6vw, 28px);
      font-weight: 600;
      line-height: 1.2;
      letter-spacing: -0.015em;
      color: var(--cd-ink);
      margin: 0 0 14px;
    }

    .cd-hiw__step-body {
      font-size: 17px;
      color: var(--cd-ink-soft);
      line-height: 1.6;
      margin: 0;
    }


    .cd-faq {
      background: var(--cd-paper, #ffffff);
      border-top: 1px solid var(--cd-rule);
    }

    .cd-faq__inner {
      max-width: 820px;
    }

    .cd-faq__list {
      display: flex;
      flex-direction: column;
      gap: 10px;
    }

    .cd-faq__item {
      background: var(--cd-panel-bg, #f3f1ec);
      border-radius: var(--cd-radius, 10px);
      overflow: hidden;
      transition: background 0.15s ease;
    }

    .cd-faq__item:hover {
      background: var(--cd-panel-hover, #ece9e2);
    }

    .cd-faq__btn {
      width: 100%;
      background: none;
      border: 0;
      padding: 26px 28px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 24px;
      font-family: inherit;
      font-size: 19px;
      font-weight: 600;
      line-height: 1.4;
      color: var(--cd-ink);
      text-align: left;
      cursor: pointer;
      letter-spacing: -0.01em;
    }

    .cd-faq__icon {
      flex: none;
      width: 26px;
      height: 26px;
      position: relative;
    }

    .cd-faq__icon::before,
    .cd-faq__icon::after {
      content: '';
      position: absolute;
      background: var(--cd-ink);
      transition: transform 0.2s ease;
    }

    .cd-faq__icon::before {
      top: 50%;
      left: 0;
      right: 0;
      height: 2.5px;
      transform: translateY(-50%);
      border-radius: 2px;
    }

    .cd-faq__icon::after {
      top: 0;
      bottom: 0;
      left: 50%;
      width: 2.5px;
      transform: translateX(-50%);
      border-radius: 2px;
    }

    .cd-faq__item.is-open .cd-faq__icon::after {
      transform: translateX(-50%) rotate(90deg);
    }

    .cd-faq__answer {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.35s ease;
    }

    .cd-faq__item.is-open .cd-faq__answer {
      max-height: 800px;
    }

    .cd-faq__answer p {
      font-size: 17px;
      color: var(--cd-ink-soft);
      line-height: 1.65;
      margin: 0 28px 24px;
      padding: 0;
    }

    .cd-faq__answer a {
      color: var(--cd-cta);
      text-decoration: underline;
      text-underline-offset: 2px;
      transition: color 0.15s ease;
    }

    .cd-faq__answer a:hover {
      color: var(--cd-cta-hover);
    }

    .cd-faq__cta-link {
      font-weight: 700;
      cursor: pointer;
      color: #0E7C48;
      text-decoration: none;
      display: inline-block;
      margin-top: 8px;
    }

    .cd-faq__cta-link:hover {
      text-decoration: underline;
    }

    .cd-faq__answer em {
      display: block;
      margin: 10px 28px 0;
      font-size: 13.5px;
      font-style: italic;
      color: #8a96a0;
    }


    .cd-reviews {
      background: #faf8f4;
      border-top: 1px solid var(--cd-rule);
    }

    .cd-reviews__inner {
      max-width: var(--cd-max-w, 1180px);
    }

    .cd-reviews__tabs {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
      justify-content: center;
      margin: 0 auto 36px;
      padding: 8px;
      background: #ffffff;
      border: 1px solid var(--cd-rule);
      border-radius: 999px;
      max-width: max-content;
    }

    .cd-reviews__tab {
      background: transparent;
      border: 0;
      padding: 11px 22px;
      font-family: inherit;
      font-size: 14px;
      font-weight: 600;
      color: var(--cd-ink-soft);
      border-radius: 999px;
      cursor: pointer;
      transition: background 0.15s ease, color 0.15s ease;
    }

    .cd-reviews__tab:hover {
      color: var(--cd-ink);
    }

    .cd-reviews__tab.is-active {
      background: var(--cd-brand);
      color: #ffffff;
    }

    .cd-reviews__panel {
      display: none;
    }

    .cd-reviews__panel.is-active {
      display: block;
    }


    .cd-reviews__notice {
      max-width: 720px;
      margin: 0 auto 32px;
      padding: 16px 22px;
      background: #fff;
      border: 1px solid var(--cd-rule);
      border-left: 3px solid var(--cd-brand);
      border-radius: 10px;
      font-size: 14px;
      line-height: 1.55;
      color: var(--cd-ink-soft);
      text-align: left;
    }

    .cd-reviews__notice strong {
      color: var(--cd-ink);
      font-weight: 700;
    }


    .cd-platform-bar {
      background: #ffffff;
      border: 1px solid var(--cd-rule);
      border-radius: 14px;
      padding: 26px 32px;
      margin: 0 0 28px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 20px;
      flex-wrap: wrap;
    }

    .cd-platform-bar__brand {
      display: flex;
      align-items: center;
      gap: 22px;
    }

    .cd-platform-bar__logo {
      height: 40px;
      width: auto;
      object-fit: contain;
    }

    .cd-platform-bar__rating {
      display: flex;
      align-items: baseline;
      gap: 12px;
    }

    .cd-platform-bar__rating-num {
      font-family: var(--cd-font-head, 'Source Serif 4', serif);
      font-size: 36px;
      font-weight: 700;
      color: var(--cd-ink);
      line-height: 1;
      letter-spacing: -0.02em;
    }

    .cd-platform-bar__stars {
      color: var(--cd-gold);
      letter-spacing: 2px;
      font-size: 18px;
    }

    .cd-platform-bar__count {
      font-size: 14px;
      color: var(--cd-ink-soft);
      margin-top: 4px;
    }

    .cd-platform-bar__link {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 12px 22px;
      background: var(--cd-brand);
      color: #ffffff;
      text-decoration: none;
      border-radius: 999px;
      font-size: 14px;
      font-weight: 600;
      transition: background 0.15s ease;
    }

    .cd-platform-bar__link:hover {
      background: var(--cd-brand-mid);
    }

    .cd-platform-bar__link::after {
      content: '↗';
      font-size: 16px;
      line-height: 1;
    }


    .cd-reviews__grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 20px;
    }

    .cd-review {
      background: #ffffff;
      border: 1px solid var(--cd-rule);
      border-radius: 12px;
      padding: 26px 26px 22px;
      display: flex;
      flex-direction: column;
    }

    .cd-review__stars {
      color: var(--cd-gold);
      letter-spacing: 2px;
      font-size: 16px;
      margin: 0 0 14px;
    }

    .cd-review__quote {
      font-size: 15px;
      color: var(--cd-ink);
      line-height: 1.6;
      margin: 0 0 18px;
      flex: 1;
    }

    .cd-review__author {
      font-size: 13px;
      color: var(--cd-ink-soft);
      border-top: 1px solid var(--cd-rule);
      padding-top: 14px;
    }

    .cd-review__author strong {
      color: var(--cd-ink);
      font-weight: 600;
    }

    .cd-reviews__empty {
      grid-column: 1 / -1;
      text-align: center;
      padding: 40px 24px;
      color: var(--cd-ink-soft);
      font-style: italic;
      font-size: 14px;
      background: #ffffff;
      border: 1px dashed var(--cd-rule);
      border-radius: 12px;
    }


    .cd-reviews__feature {
      background: #ffffff;
      border: 1px solid var(--cd-rule);
      border-radius: 14px;
      padding: 56px 36px;
      text-align: center;
    }

    .cd-reviews__feature-eyebrow {
      font-size: 12px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.14em;
      color: var(--cd-brand-mid);
      margin: 0 0 16px;
    }

    .cd-reviews__feature-headline {
      font-family: var(--cd-font-head, 'Source Serif 4', Georgia, serif);
      font-weight: 600;
      font-size: 26px;
      line-height: 1.3;
      color: var(--cd-ink);
      max-width: 480px;
      margin: 0 auto 12px;
      letter-spacing: -0.01em;
    }

    .cd-reviews__feature-sub {
      font-size: 15px;
      color: var(--cd-ink-soft);
      margin: 0 auto 28px;
      max-width: 460px;
      line-height: 1.5;
    }

    .cd-reviews__feature-link {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 14px 28px;
      background: var(--cd-cta);
      color: #ffffff;
      text-decoration: none;
      border-radius: 999px;
      font-size: 15px;
      font-weight: 600;
      transition: background 0.15s ease, transform 0.1s ease;
    }

    .cd-reviews__feature-link:hover {
      background: var(--cd-cta-hover);
    }

    .cd-reviews__feature-link:active {
      transform: translateY(1px);
    }


    .cd-tp-logo {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      font-weight: 700;
      font-size: 22px;
      color: var(--cd-ink);
      letter-spacing: -0.01em;
    }

    .cd-tp-logo svg {
      width: 28px;
      height: 28px;
      flex: none;
    }


    @media (max-width: 720px) {
      .cd-section {
        padding: 72px 20px;
      }

      .cd-section__sub {
        margin-bottom: 44px;
      }

      .cd-hiw__steps {
        grid-template-columns: 1fr;
        gap: 14px;
      }

      .cd-hiw__step {
        padding: 28px 24px 24px;
      }

      .cd-platform-bar {
        padding: 22px;
        flex-direction: column;
        align-items: flex-start;
      }

      .cd-platform-bar__brand {
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
      }

      .cd-platform-bar__link {
        width: 100%;
        justify-content: center;
      }

      .cd-reviews__grid {
        grid-template-columns: 1fr;
      }

      .cd-reviews__tab {
        padding: 10px 16px;
        font-size: 13px;
      }

      .cd-faq__btn {
        font-size: 17px;
        padding: 22px 22px;
      }

      .cd-faq__answer p {
        margin: 0 22px 22px;
      }

      .cd-faq__answer em {
        margin: 8px 22px 0;
      }
    }


    .cd-footer {
      background: var(--cd-brand);
      color: rgba(255, 255, 255, 0.72);
      font-family: var(--cd-font-body, 'Inter', -apple-system, BlinkMacSystemFont, sans-serif);
      font-size: 13px;
      line-height: 1.6;
      /* The consent banner overlays the bottom edge; grow so the last line stays readable. */
      padding: 56px 24px calc(32px + var(--cd-consent-offset, 0px));
    }

    .cd-footer * {
      box-sizing: border-box;
    }

    .cd-footer__inner {
      max-width: var(--cd-max-w-narrow, 1080px);
      margin: 0 auto;
    }

    .cd-footer__top {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 32px;
      padding-bottom: 26px;
      margin-bottom: 26px;
      border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }

    .cd-footer__logo img {
      height: 36px;
      width: auto;
      display: block;
      filter: brightness(0) invert(1);
    }

    .cd-footer__states {
      font-size: 13px;
      color: rgba(255, 255, 255, 0.85);
      text-align: right;
    }

    .cd-footer__states strong {
      color: #ffffff;
      font-weight: 700;
      display: block;
      margin-bottom: 2px;
    }

    .cd-footer__disclosures p {
      margin: 0 0 12px;
      font-size: 12.5px;
      color: rgba(255, 255, 255, 0.62);
      line-height: 1.65;
    }

    .cd-footer__disclosures a {
      color: rgba(255, 255, 255, 0.92);
      text-decoration: underline;
    }

    .cd-footer__disclosures a:hover {
      color: #ffffff;
    }

    .cd-footer__bottom {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 20px;
      padding-top: 22px;
      margin-top: 18px;
      border-top: 1px solid rgba(255, 255, 255, 0.1);
      flex-wrap: wrap;
    }

    .cd-footer__links {
      display: flex;
      gap: 22px;
      flex-wrap: wrap;
    }

    .cd-footer__links a {
      color: rgba(255, 255, 255, 0.72);
      text-decoration: none;
      font-size: 13px;
      font-weight: 500;
      transition: color 0.15s ease;
    }

    .cd-footer__links a:hover {
      color: #ffffff;
    }

    .cd-footer__copy {
      font-size: 12px;
      color: rgba(255, 255, 255, 0.45);
    }

    @media (max-width: 720px) {
      .cd-footer {
        padding: 40px 20px 28px;
      }

      .cd-footer__top {
        flex-direction: column;
        align-items: flex-start;
        gap: 18px;
      }

      .cd-footer__states {
        text-align: left;
      }

      .cd-footer__bottom {
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
      }
    }


    .cd-form-error {
      margin: 6px 0 14px;
      padding: 10px 14px;
      background: #fdecec;
      border-left: 3px solid #c5292a;
      border-radius: 6px;
      font-size: 14px;
      font-weight: 600;
      color: #8c1f20;
      text-align: left;
    }

    .cd-form-error[hidden] {
      display: none;
    }


    .cd-bottombar {
      position: fixed;
      left: 0;
      right: 0;
      /* Rides on top of the cookie-consent banner when one is showing; 0 otherwise. */
      bottom: var(--cd-consent-offset, 0px);
      z-index: 90;
      background: var(--cd-brand);
      box-shadow: 0 -6px 20px rgba(12, 29, 40, 0.18);
      padding: 14px 16px 16px;
      transform: translateY(110%);
      transition: transform 0.32s cubic-bezier(0.2, 0.8, 0.2, 1);
    }

    .cd-bottombar.is-visible {
      transform: translateY(0);
    }

    .cd-bottombar__inner {
      max-width: 440px;
      margin: 0 auto;
    }

    .cd-bottombar__row {
      display: flex;
      align-items: stretch;
      gap: 12px;
    }

    .cd-bottombar__select-wrap {
      flex: 1;
      min-width: 0;
      position: relative;
      /* Flex so the select can be given a height and still sit centred in the row. As a
         block it kept its content height and hugged the top, leaving a gap underneath —
         inert while the two are the same height, which is the case with no override. */
      display: flex;
      align-items: center;
    }

    .cd-bottombar__select {
      width: 100%;
      padding: 16px 44px 16px 18px;
      font-family: inherit;
      font-size: 16px;
      font-weight: 600;
      color: var(--cd-ink);
      background: #ffffff;
      border: 2px solid transparent;
      border-radius: 10px;
      appearance: none;
      -webkit-appearance: none;
      -moz-appearance: none;
      cursor: pointer;
      background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%230e3a47' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><polyline points='3,6 8,11 13,6'/></svg>");
      background-repeat: no-repeat;
      background-position: right 14px center;
      background-size: 14px;
      transition: border-color 0.15s ease;
    }

    .cd-bottombar__select:focus {
      outline: none;
      border-color: var(--cd-cta);
    }

    .cd-bottombar.is-error .cd-bottombar__select {
      border-color: #ff8888;
      animation: cd-shake 0.4s ease;
    }

    .cd-bottombar__btn {
      padding: 16px 28px;
      background: var(--cd-cta);
      color: #ffffff;
      border: none;
      border-radius: var(--cd-cta-radius, 10px);
      font-family: inherit;
      font-size: 16px;
      font-weight: 700;
      letter-spacing: 0.01em;
      cursor: pointer;
      white-space: nowrap;
      /* Cap the button so a long label can never starve the select out of the row */
      max-width: 62%;
      overflow: hidden;
      text-overflow: ellipsis;
      transition: background 0.15s ease, transform 0.1s ease;
    }

    .cd-bottombar__btn:hover {
      background: var(--cd-cta-hover);
    }

    .cd-bottombar__btn:active {
      transform: translateY(1px);
    }

    .cd-bottombar__error {
      margin: 10px 0 0;
      font-size: 13.5px;
      font-weight: 600;
      color: #ffd6d6;
      text-align: center;
    }

    .cd-bottombar__error[hidden] {
      display: none;
    }

    @keyframes cd-shake {

      0%,
      100% {
        transform: translateX(0);
      }

      20% {
        transform: translateX(-6px);
      }

      40% {
        transform: translateX(6px);
      }

      60% {
        transform: translateX(-4px);
      }

      80% {
        transform: translateX(4px);
      }
    }

    @media (max-width: 480px) {
      .cd-bottombar {
        padding: 12px 12px 14px;
      }

      .cd-bottombar__row {
        gap: 8px;
      }

      .cd-bottombar__select {
        padding: 13px 36px 13px 14px;
        font-size: 14px;
      }

      .cd-bottombar__btn {
        padding: 13px 18px;
        font-size: 14px;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      .cd-bottombar {
        transition: opacity 0.2s ease;
        transform: none;
        opacity: 0;
        pointer-events: none;
      }

      .cd-bottombar.is-visible {
        opacity: 1;
        pointer-events: auto;
      }

      .cd-bottombar.is-error .cd-bottombar__select {
        animation: none;
      }
    }


    #quiz-section {
      display: none;
    }

    body.is-quiz-active .cd-hiw,
    body.is-quiz-active .cd-faq,
    body.is-quiz-active .cd-reviews,
    body.is-quiz-active .cd-bottombar,
    body.is-quiz-active .cd-prefooter-cta {
      display: none;
    }


    /* During the quiz, keep the footer rendered (compliance disclosures stay
       in DOM and reachable), but push it below the fold so it doesn't compete
       with the form. User can still scroll to it if needed. */
    body.is-quiz-active .cd-footer {
      margin-top: 50vh;
    }
  

    #landing-section section {
      border-top: none;
    }

    /* The hero question reuses .step-question so it matches the step headers on
       the following screens. style.css's `#landing-section h2` (1.5rem) wins on
       ID specificity, so re-assert .step-question's sizes here — including its
       two breakpoints, or mobile would be stuck at the desktop size. */
    #landing-section #cd-hero-bk-reasons .step-question {
      font-size: 1.35rem;
    }

    @media (max-width: 640px) {
      #landing-section #cd-hero-bk-reasons .step-question {
        font-size: 1.15rem;
      }
    }

    @media (max-width: 480px) {
      #landing-section #cd-hero-bk-reasons .step-question {
        font-size: 1.05rem;
      }
    }

    /* style.css sets .step-subtext to #6b7280 (4.83:1 on white — scrapes past
       AA, fails AAA). This is instructional body copy, not inactive UI state,
       so it reads black like the rest of the content. */
    #quiz-section .step-subtext {
      color: #000;
      font-size: 15px;
    }


    /* Two-column contact form: label left, control right. Roughly halves the
       step height so the submit button clears the fold. Scoped to the contact
       step so the other steps keep their stacked layout. */
    #quiz-section .form-step[data-step="contact"] .form-group {
      display: grid;
      grid-template-columns: 130px minmax(0, 1fr);
      column-gap: 16px;
      align-items: center;
      margin-bottom: 14px;
    }

    #quiz-section .form-step[data-step="contact"] .form-group .field-label {
      grid-column: 1;
      margin: 0;
      text-align: right;
      line-height: 1.3;
    }

    #quiz-section .form-step[data-step="contact"] .form-group input,
    #quiz-section .form-step[data-step="contact"] .form-group select {
      grid-column: 2;
      margin: 0;
      width: 100%;
    }

    /* Errors sit under the control, aligned to it — not under the label. */
    #quiz-section .form-step[data-step="contact"] .form-group .error-message {
      grid-column: 2;
      margin: 4px 0 0;
    }

    /* On narrow screens the card is only ~340px, so a 130px right-aligned
       gutter would squeeze inputs below a usable width for email. Tighten the
       label column and flush it left to buy the control back ~40px.
       94px is set by the widest label ("Phone Number" measures 90px at 13px) —
       going narrower makes it wrap and that row grows to two lines. */
    @media (max-width: 640px) {
      #quiz-section .form-step[data-step="contact"] .form-group {
        grid-template-columns: 94px minmax(0, 1fr);
        column-gap: 10px;
        margin-bottom: 10px;
      }

      #quiz-section .form-step[data-step="contact"] .form-group .field-label {
        text-align: left;
        font-size: 13px;
        white-space: nowrap;
      }

      #quiz-section .form-step[data-step="contact"] .form-group .error-message {
        grid-column: 1 / -1;
      }
    }


    header {
      padding: 0px 1rem 0px;
      border-bottom: 1px solid #e5e7eb;
      background: var(--white);
    }

    @media (min-width: 641px) and (max-width: 899px) {
      #landing-section .cd-hero {
        padding: 12px 20px 52px !important;
      }
    }

    @media (min-width: 900px) {
        #landing-section .cd-hero {
            padding: 0px 24px 104px;
        }

      .hero-seals-carousel-wrap {
        padding: 0px;
      }
    }

    @media (max-width: 768px) {
      .hero-seals-carousel-wrap {
        padding: 0px;
      }

      .cd-hero__title {
        font-size: clamp(33px, 5.5vw, 54px);
      }
    }
    /* Avoid iPhone focus zoom, including landscape and dynamically added fields.
       Override smaller field styles while respecting a larger root text size. */
    @media (max-width: 768px), (hover: none) and (pointer: coarse) {
      input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="button"]):not([type="submit"]):not([type="reset"]),
      select,
      textarea {
        font-size: max(16px, 1rem) !important;
      }
    }

    /* Keep the mobile quiz within the available viewport. */
    #quiz-section .quiz-main {
      width: 100%;
      min-width: 0;
    }

    #quiz-section .quiz-card {
      width: 100%;
      min-width: 0;
      max-width: 100%;
    }

    /* Let quiz content shrink and wrap on narrow or enlarged-text viewports. */
    #quiz-section,
    .quiz-card .card-body,
    .quiz-card form,
    .quiz-card .form-step,
    .quiz-card .best-time-options {
      min-width: 0;
      max-width: 100%;
    }

    .quiz-card .step-question,
    .quiz-card .step-subtext,
    .quiz-card .best-time-btn,
    .quiz-card .btn-continue {
      min-width: 0;
      max-width: 100%;
      white-space: normal;
      overflow-wrap: anywhere;
    }

    @media (max-width: 640px) {
      .quiz-card .progress-header {
        flex-wrap: wrap;
      }

      .quiz-card .progress-header-message {
        max-width: 100%;
      }

      .quiz-card .progress-header-message span {
        white-space: normal;
      }

      .quiz-card .progress-header-message svg {
        flex-shrink: 0;
      }
    }

  

/* mobile quiz rules (from style.css tail) */
@media (max-width: 640px) { .container { padding: 0 0.75rem; } header { padding: 0.4rem 0.75rem; } .quiz-back-link { font-size: 0.8rem; min-height: 44px; display: inline-flex; align-items: center; } .progress-header { padding: 0.5rem 0.75rem; font-size: 0.82rem; } .progress-header svg { width: 14px; height: 14px; } .quiz-main { padding: 0.5rem 0.75rem 1rem; } .card-body { padding: 1rem 0.85rem; } .step-question { font-size: 1.15rem; margin: 0.4rem 0 0.6rem; word-wrap: break-word; overflow-wrap: break-word; } .step-subtext { font-size: 0.82rem; margin-bottom: 1rem; } .form-group { margin-bottom: 0.7rem; } .form-group input, .form-group select { padding: 0.65rem 0.75rem; } .btn-continue { padding: 0.65rem 1rem; font-size: 0.9rem; min-height: 44px; touch-action: manipulation; } .legal-text { font-size: 10px; padding: 0.4rem 0; margin-top: 0.5rem; margin-bottom: 0.75rem; } .card-footer { padding: 0.6rem 0.85rem 0.5rem; } .form-group select { width: 100%; max-width: 100%; } }
@media (max-width: 480px) { .container { padding: 0 0.6rem; } .quiz-main { padding: 0.4rem 0.6rem 0.75rem; } .card-body { padding: 0.85rem 0.7rem; } .progress-header { padding: 0.4rem 0.6rem; font-size: 0.78rem; } .step-question { font-size: 1.05rem; } .btn-continue { padding: 0.6rem 0.875rem; font-size: 0.88rem; } .legal-text { padding: 0.35rem 0; margin-bottom: 0.6rem; } }
/* funnel builder additions */
.fb-loading{display:block!important;text-align:center;padding:1rem 0}
.fb-otp{display:flex;gap:8px;justify-content:center;margin:14px 0}
.fb-otp input{width:44px;text-align:center;font-size:22px;padding:10px 0;font-weight:700;border:1.5px solid #d1d5db;border-radius:8px}
.form-step.fb-hidden{display:none}

/* Partner-branded pages: about-the-partner block */
.cd-partner{background:#f7f7f5}
.cd-partner__grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:22px}
@media(max-width:760px){.cd-partner__grid{grid-template-columns:1fr}}
.cd-partner__card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:22px 24px}
.cd-partner__blurb{margin:0 0 14px;font-size:16px;line-height:1.6;color:#1f2937}
.cd-partner__h3{margin:0 0 12px;font-size:17px;font-weight:700;color:#111}
.cd-partner__facts,.cd-partner__services{list-style:none;margin:0;padding:0}
.cd-partner__facts li,.cd-partner__services li{display:flex;gap:10px;align-items:flex-start;margin:0 0 9px;font-size:15px;line-height:1.5;color:#1f2937}
.cd-partner__facts svg,.cd-partner__services svg{width:18px;height:18px;flex:none;color:var(--cd-cta,#16a34a);margin-top:2px}
.cd-partner__rating{margin:12px 0 0;font-size:13.5px;color:#4b5563}
.cd-partner__rating a,.cd-partner .cd-section__sub a{color:#186b7e;text-decoration:underline}
.fb-ty-link{display:inline-block;margin-top:14px;color:#186b7e;text-decoration:underline;font-size:15px}

    /* ── Firm details card ──
       Values come from the per-state firm lookup, so rows are hidden until it answers. */
    .cd-firmcard { background: var(--cd-section-bg, #faf8f4); border-top: 1px solid var(--cd-rule); }
    .cd-firmcard__card {
      background: var(--cd-card-bg, #ffffff);
      border: 1px solid var(--cd-rule);
      border-radius: var(--cd-radius, 14px);
      padding: 28px 30px;
      max-width: 620px;
      margin: 0 auto;
    }
    .cd-firmcard__logo { margin-bottom: 14px; }
    .cd-firmcard__logo img { max-height: 54px; width: auto; display: block; }
    .cd-firmcard__name {
      font-family: var(--cd-font-head, 'Source Serif 4', Georgia, serif);
      font-size: 22px; font-weight: 700; color: var(--cd-brand); margin-bottom: 14px;
    }
    .cd-firmcard__rows { margin: 0; display: grid; gap: 8px; }
    .cd-firmcard__row { display: flex; gap: 10px; align-items: baseline; }
    .cd-firmcard__rows dt { flex: 0 0 110px; font-size: 13px; color: var(--cd-ink-soft); opacity: .75; margin: 0; }
    .cd-firmcard__rows dd { margin: 0; font-size: 15px; color: var(--cd-ink); }
    .cd-firmcard__rows dd a { color: var(--cd-brand-mid); text-decoration: none; }
    .cd-firmcard__rows dd a:hover { text-decoration: underline; }
    .cd-firmcard__note { margin: 16px 0 0; font-size: 13px; line-height: 1.55; color: var(--cd-ink-soft); opacity: .8; }

    @media (max-width: 640px) {
      .cd-firmcard__card { padding: 20px 18px; }
      .cd-firmcard__row { flex-direction: column; gap: 2px; }
      .cd-firmcard__rows dt { flex: none; }
    }

    /* ── Free blocks ──
       Added from the editor and repeatable, so they keep their own spacing rather than
       inheriting a section's. */
    .cd-free-text, .cd-free-image, .cd-free-button { padding: 28px 20px; }
    .cd-free-text__h {
      font-family: var(--cd-font-head, 'Source Serif 4', Georgia, serif);
      font-size: 30px; font-weight: 700; color: var(--cd-brand); margin: 0 0 12px;
      line-height: 1.25;
    }
    .cd-free-text__b { font-size: 17px; line-height: 1.65; color: var(--cd-ink-soft); }
    /* Not a band: no .cd-section wrapper and no vertical padding, so it reads as a line in
       whatever is around it — which is the whole point of the type. */
    .cd-free-line {
      margin: 0 auto 12px; padding: 0 20px;
      font-size: 17px; line-height: 1.65; color: var(--cd-ink-soft);
    }
    .cd-free-image img { display: inline-block; }
    .cd-free-button .cd-cta { width: auto; }
    .cd-free-divider { padding: 0 20px; }
    /* The card already gutters; a second gutter just narrows the line for no reason. */
    .card-body .cd-free-line { padding-left: 0; padding-right: 0; }
    @media (max-width: 640px) {
      .cd-free-text, .cd-free-image, .cd-free-button { padding: 20px 16px; }
      .cd-free-text__h { font-size: 24px; }
      .cd-free-line { padding: 0 16px; }
      .card-body .cd-free-line { padding-left: 0; padding-right: 0; }
    }
