/* Public presentation refresh. No changes to intake, billing, identity or tracking. */
.customer-welcome { background: #f7faf8; }
.customer-welcome main { overflow-x: clip; }
.customer-welcome .site-header { padding-top: 18px; padding-bottom: 18px; }
.customer-welcome .hero-section { grid-template-columns: minmax(0,1.05fr) minmax(0,1fr); align-items: center; gap: clamp(28px,5vw,66px); min-height: 0; padding-top: 42px; padding-bottom: 42px; }
.customer-welcome .hero-copy { width: auto; max-width: none; }
.customer-welcome #homepage-title { max-width: 11ch; font-size: clamp(40px,4.7vw,62px); line-height: 1.06; letter-spacing: -.035em; margin-bottom: 20px; }
.customer-welcome .hero-lede { max-width: 34rem; font-size: 19px; line-height: 1.6; margin-bottom: 24px; }
.customer-welcome .hero-actions { margin-top: 0; gap: 12px; }
.customer-welcome .hero-actions .button { box-shadow: none; min-height: 48px; }
.customer-welcome .hero-clarification { max-width: 36rem; font-size: 14px; line-height: 1.55; margin-top: 15px; }
.customer-welcome .hero-visual { display: flex; flex-direction: column; align-self: center; min-height: 0; padding: 0; gap: 14px; }
.customer-welcome .welcome-photo { display: block; width: 100%; height: auto; aspect-ratio: 1000/563; object-fit: cover; border-radius: 22px; box-shadow: 0 16px 40px #0e1f2410; }
.customer-welcome .hero-illustration { width: 100%; min-height: 0; height: auto; padding: 0; background: transparent; border: 0; box-shadow: none; }
.customer-welcome .hero-pathway { padding: 12px 4px; gap: 8px; min-height: 0; }
.customer-welcome .pathway-stage { min-height: 0; padding: 10px; border-radius: 12px; }
.customer-welcome .pathway-stage p { font-size: 14px; margin: 0; }
.customer-welcome .signal-band { margin-top: 0; margin-bottom: 0; padding-top: 20px; padding-bottom: 20px; background: #edf5f0; }
.customer-welcome .section { padding-top: 44px; padding-bottom: 44px; }
.customer-welcome .section-heading { margin-bottom: 24px; }
.customer-welcome .section-heading h2 { font-size: clamp(28px,3vw,38px); max-width: 28ch; }
.customer-welcome .outcome-card,.customer-welcome .package-card { box-shadow: none; }
.customer-welcome .package-card { background: #fff; }
.customer-welcome .package-card.featured { border-color: #4c8979; background: #f2f8f4; }
.customer-welcome .buyer-cta { box-shadow: none; border-radius: 18px; }
.customer-welcome .welcome-disclosure { border: 1px solid var(--line); border-radius: 16px; background: white; padding: 20px 24px; }
.customer-welcome .welcome-disclosure > summary { cursor: pointer; color: var(--ink); font-weight: 650; }
.customer-welcome .welcome-disclosure > summary h2 { display: inline; font-size: clamp(24px,2.4vw,32px); }
.customer-welcome .welcome-disclosure[open] > summary { margin-bottom: 20px; }
.customer-welcome .welcome-faq { border-bottom: 1px solid var(--line); padding: 18px 0; }
.customer-welcome .welcome-faq summary { cursor: pointer; color: var(--ink); font-size: 18px; font-weight: 650; }
.customer-welcome .welcome-faq p { margin-top: 12px; max-width: 76ch; }
.customer-welcome .faq-list { display: block; }
.customer-welcome :is(#contact,#faq,#why-isd,#trustfitForm,.trustfit-step) { scroll-margin-top: 112px; }
.customer-welcome .trustfit-section { padding-top: 32px; }
.customer-welcome .trustfit-hero { display: block; margin-bottom: 18px; }
.customer-welcome .trustfit-hero h1 { font-size: clamp(34px,4vw,48px); line-height: 1.12; letter-spacing: -.025em; max-width: 22ch; margin-bottom: 16px; }
.customer-welcome .trustfit-hero .section-heading { max-width: 880px; }
.customer-welcome .trustfit-hero .section-heading > p { font-size: 17px; line-height: 1.55; margin-bottom: 10px; }
.customer-welcome .trustfit-hero .section-heading > .form-note { font-size: 14px; }
.customer-welcome .trustfit-flow { margin-top: 18px; }
.customer-welcome .welcome-fit-tools { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 16px; color: var(--muted); font-size: 14px; }
.customer-welcome .welcome-fit-tools .button { min-width: 0; padding: 9px 14px; font-size: 14px; }
.customer-welcome .trustfit-choice-card { box-shadow: none; }
.customer-welcome .trustfit-edit-answer { display: none; border: 0; padding: 8px 0; background: none; color: #1b7058; text-decoration: underline; font: inherit; cursor: pointer; }
.customer-welcome .trustfit-step.completed .trustfit-edit-answer { display: inline-block; }
.customer-welcome .trustfit-step.completed.editing .trustfit-card-grid { display: grid; }
.customer-welcome .trustfit-step.completed.editing .trustfit-step-heading p { display: block; }
.customer-welcome .fit-details { margin-top: 24px; }
.customer-welcome .fit-details .trustfit-hero-card { color: var(--ink); background: #f3f7f5; box-shadow: none; border-radius: 12px; }
.customer-welcome .fit-details .trustfit-hero-card :is(p,ul) { color: var(--muted); }
.customer-welcome .fit-details .trustfit-proof-strip { margin-top: 24px; }
.customer-welcome .trustfit-result { padding: 24px; }
.customer-welcome .trustfit-result h2 { font-size: 32px; line-height: 1.2; }
.customer-welcome .trustfit-result-grid { gap: 14px; }
.customer-welcome .trustfit-result-grid article { box-shadow: none; min-height: 0; padding: 18px; }
.customer-welcome .trustfit-closeout { box-shadow: none; }
@media(max-width:900px) { .customer-welcome .hero-section { gap: 28px; } .customer-welcome .hero-lede { font-size: 18px; } .customer-welcome .hero-pathway { flex-wrap: wrap; } }
@media(max-width:700px) {
 .customer-welcome .hero-section { grid-template-columns: 1fr; padding-top: 26px; padding-bottom: 28px; gap: 25px; }
 .customer-welcome #homepage-title { max-width: 14ch; font-size: 42px; }
 .customer-welcome .hero-copy { padding: 0; }
 .customer-welcome .hero-visual { width: 100%; }
 .customer-welcome .welcome-photo { max-height: 290px; border-radius: 16px; }
 .customer-welcome .section { padding-top: 32px; padding-bottom: 32px; }
 .customer-welcome .welcome-disclosure { padding: 18px; }
 .customer-welcome .welcome-fit-tools { align-items: flex-start; }
 .customer-welcome .welcome-fit-tools span { max-width: 64%; }
 .customer-welcome .trustfit-section { padding-top: 24px; }
 .customer-welcome .trustfit-hero h1 { font-size: 35px; max-width: 21ch; }
 .customer-welcome .trustfit-hero .section-heading > p { font-size: 16px; }
 .customer-welcome .trustfit-result { padding: 20px; }
 .customer-welcome :is(#contact,#faq,#why-isd,#trustfitForm,.trustfit-step) { scroll-margin-top: 135px; }
}
@media(prefers-reduced-motion:reduce) { .customer-welcome { scroll-behavior: auto; } }

/* Earlier closed-choice answers stay editable without changing the approved runtime. */
.customer-welcome .trustfit-step.completed .trustfit-choice-card:not(.selected):not(:has(input:checked)) { display: grid; }
.customer-welcome .trustfit-step.completed .trustfit-card-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.customer-welcome .trustfit-step.completed .trustfit-choice-card { min-height: 72px; padding: 14px 38px 14px 14px; }
@media(max-width:700px) { .customer-welcome .trustfit-step.completed .trustfit-card-grid { grid-template-columns: 1fr; } }

/* Explicit contrast for cards whose inherited theme used dark surfaces. */
.customer-welcome .package-card.featured { color: var(--ink); }
.customer-welcome .package-card.featured :is(h3,p,li,.scope-label) { color: var(--ink); }
.customer-welcome .outcome-card:nth-child(2) :is(h3,p) { color: #f0f7f4; }

/* Four closed-choice organization options stay balanced and editable. */
.customer-welcome [data-step="firm_type"] .trustfit-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
@media(max-width:700px) { .customer-welcome [data-step="firm_type"] .trustfit-card-grid { grid-template-columns: 1fr; } }
