.readiness-page { background: #fff; color: #171717; }
.readiness-page .topbar { position: relative; }
.readiness-main { width: min(1120px, calc(100% - 48px)); margin: 0 auto; padding: 70px 0 110px; }
.readiness-intro { max-width: 790px; padding-bottom: 46px; }
.readiness-intro .eyebrow { color: #666661; }
.readiness-intro h1 { max-width: 740px; margin: 0 0 20px; color: #171717; font-size: 48px; font-weight: 680; line-height: 1.08; letter-spacing: 0; }
.readiness-intro > p:not(.eyebrow) { max-width: 650px; margin: 0 0 20px; color: #54544f; font-size: 17px; line-height: 1.65; }
.readiness-intro > a { color: #171717; font-size: 14px; font-weight: 650; text-underline-offset: 4px; }
.readiness-intro > a span { display: inline-block; margin-left: 4px; }
.readiness-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; align-items: start; gap: 70px; border-top: 1px solid #dededb; }
.readiness-questions { min-width: 0; }
.readiness-question { min-width: 0; margin: 0; padding: 27px 0 29px; border: 0; border-bottom: 1px solid #e8e8e5; }
.readiness-question legend { display: flex; align-items: baseline; gap: 13px; width: 100%; padding: 0; color: #171717; font-size: 18px; font-weight: 650; line-height: 1.3; }
.readiness-question legend span { color: #8a8a84; font-family: 'Geist Mono', ui-monospace, monospace; font-size: 11px; font-weight: 550; }
.readiness-question > p { max-width: 620px; margin: 9px 0 18px 35px; color: #62625c; font-size: 14px; line-height: 1.6; }
.readiness-choices { display: flex; flex-wrap: wrap; gap: 8px; margin-left: 35px; }
.readiness-choices label { position: relative; display: inline-flex; min-width: 104px; height: 36px; cursor: pointer; }
.readiness-choices input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.readiness-choices span { display: flex; align-items: center; justify-content: center; width: 100%; padding: 0 15px; border: 1px solid #dcdcd8; border-radius: 5px; background: #fff; color: #494944; font-size: 12px; font-weight: 600; transition: border-color .18s, background .18s, color .18s; }
.readiness-choices label:hover span { border-color: #94948f; }
.readiness-choices input:focus-visible + span { outline: 2px solid #171717; outline-offset: 2px; }
.readiness-choices input:checked + span { border-color: #171717; background: #171717; color: #fff; }
.readiness-summary { position: sticky; top: 28px; padding-top: 27px; }
.readiness-summary-inner { border-left: 1px solid #e1e1dd; padding-left: 28px; }
.readiness-summary-kicker { margin: 0 0 12px; color: #74746f; font-family: 'Geist Mono', ui-monospace, monospace; font-size: 10px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.readiness-summary h2 { margin: 0 0 17px; color: #171717; font-size: 23px; font-weight: 650; line-height: 1.2; }
.readiness-progress { width: 100%; height: 4px; overflow: hidden; background: #e9e9e6; }
.readiness-progress span { display: block; width: 0; height: 100%; background: #171717; transition: width .2s ease; }
.readiness-totals { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; margin: 24px 0 34px; }
.readiness-totals div { display: flex; flex-direction: column-reverse; gap: 6px; }
.readiness-totals dt { color: #787873; font-size: 11px; }
.readiness-totals dd { margin: 0; color: #171717; font-size: 24px; font-weight: 660; }
.readiness-priorities { border-top: 1px solid #e8e8e5; padding-top: 22px; }
.readiness-priorities h3 { margin: 0 0 11px; color: #171717; font-size: 13px; font-weight: 670; }
.readiness-priorities p { margin: 0; color: #71716c; font-size: 12px; line-height: 1.6; }
.readiness-priorities ol { display: grid; gap: 12px; margin: 15px 0 0; padding-left: 18px; color: #40403c; font-size: 12px; line-height: 1.45; }
.readiness-priorities ol:empty { display: none; }
.readiness-capture { display: grid; grid-template-columns: minmax(0, 1fr) minmax(290px, 420px); gap: 55px; margin-top: 54px; padding: 46px 0 0; border-top: 1px solid #dededb; }
.readiness-capture h2 { max-width: 480px; margin: 0 0 12px; color: #171717; font-size: 30px; font-weight: 650; line-height: 1.18; }
.readiness-capture > div:first-child > p:last-child { max-width: 470px; margin: 0; color: #60605b; font-size: 15px; line-height: 1.6; }
.readiness-capture-fields { display: flex; flex-direction: column; align-items: stretch; gap: 8px; }
.readiness-capture-fields > label:not(.readiness-consent) { color: #292925; font-size: 12px; font-weight: 650; }
.readiness-capture-fields > input { box-sizing: border-box; width: 100%; height: 44px; margin-bottom: 11px; padding: 0 13px; border: 1px solid #d5d5d0; border-radius: 5px; background: #fff; color: #171717; font: 14px 'Geist', system-ui, sans-serif; }
.readiness-capture-fields > input:focus-visible { outline: 2px solid #171717; outline-offset: 2px; }
.readiness-optional { color: #8a8a84; font-weight: 450; }
.readiness-consent { display: flex; align-items: flex-start; gap: 10px; margin: 3px 0 10px; color: #656560; font-size: 12px; line-height: 1.55; cursor: pointer; }
.readiness-consent input { flex: none; width: 16px; height: 16px; margin: 1px 0 0; accent-color: #171717; }
.readiness-consent a { color: #171717; text-underline-offset: 3px; }
.readiness-submit, .readiness-download { min-height: 43px; padding: 10px 18px; border: 1px solid #171717; border-radius: 5px; background: #171717; color: #fff; font: 630 13px 'Geist', system-ui, sans-serif; cursor: pointer; }
.readiness-submit:hover, .readiness-download:hover { background: #353535; }
.readiness-submit:disabled { cursor: wait; opacity: .55; }
.readiness-submit[data-retry] { background: #fff; color: #171717; }
.readiness-submit[data-retry]:hover { background: #f4f4f1; }
.readiness-download { display: inline-flex; align-items: center; justify-content: center; text-align: center; text-decoration: none; }
.readiness-download:focus-visible { outline: 2px solid #171717; outline-offset: 3px; }
.readiness-download[hidden] { display: none; }
.readiness-guide-after-submit { color: #171717; font-size: 13px; font-weight: 650; line-height: 1.5; text-underline-offset: 4px; }
.readiness-guide-after-submit[hidden] { display: none; }
.readiness-status { min-height: 20px; margin: 3px 0 0; color: #4b4b47; font-size: 12px; line-height: 1.5; }
.readiness-status[data-state="error"] { color: #a63f2b; }
.readiness-status[data-state="success"] { color: #276b48; }
@media (max-width: 900px) { .readiness-layout { grid-template-columns: minmax(0, 1fr) 230px; gap: 30px; } .readiness-capture { gap: 30px; } }
@media (max-width: 700px) {
  .readiness-main { width: min(100% - 36px, 550px); padding: 46px 0 75px; }
  .readiness-intro { padding-bottom: 33px; }
  .readiness-intro h1 { font-size: 34px; line-height: 1.13; }
  .readiness-intro > p:not(.eyebrow) { font-size: 15px; }
  .readiness-layout, .readiness-capture { grid-template-columns: 1fr; gap: 0; }
  .readiness-summary { position: static; order: -1; padding: 21px 0 8px; border-bottom: 1px solid #e8e8e5; }
  .readiness-summary-inner { padding-left: 0; border-left: 0; }
  .readiness-totals { margin: 17px 0 19px; }
  .readiness-priorities { display: none; }
  .readiness-question { padding: 23px 0 25px; }
  .readiness-question legend { font-size: 16px; }
  .readiness-question > p, .readiness-choices { margin-left: 0; }
  .readiness-choices label { flex: 1 1 95px; min-width: 0; }
  .readiness-capture { margin-top: 34px; padding-top: 32px; }
  .readiness-capture h2 { font-size: 26px; }
  .readiness-capture-fields { margin-top: 26px; }
}
