.readiness-hero{padding:88px 0 72px;border-bottom:1px solid var(--line);}
.readiness-hero h1{font-size:var(--type-hero-h1);max-width:17ch;margin:14px auto 22px;}
.readiness-hero p{font-size:18px;color:var(--steel);max-width:60ch;margin:0 auto;}
.readiness-hero-centred{max-width:980px;margin:0 auto;text-align:center;}
.readiness-hero-centred h1{max-width:19ch;margin:14px auto 20px;}
.readiness-hero-centred .readiness-hero-lead{max-width:66ch;margin:0 auto 28px;}

.readiness-intro-list{display:grid;gap:12px;margin-top:20px;}
.readiness-intro-list div{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start;font-size:14px;color:var(--steel);}
.readiness-intro-list strong{display:grid;place-items:center;width:24px;height:24px;border:1px solid var(--accent);border-radius:50%;font-size:11px;color:var(--accent);}
.readiness-assessment-grid{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:64px;align-items:start;}
.readiness-receive{padding:36px 0 0;}
.readiness-receive h2{max-width:none;margin:12px 0 14px;font-size:var(--type-content-h2);}
.readiness-receive>p{color:var(--steel);line-height:1.65;}
.readiness-receive .readiness-intro-list{grid-template-columns:1fr;gap:0;margin-top:30px;text-align:left;border-top:1px solid var(--line);}
.readiness-receive .readiness-intro-list div{padding:18px 0;border-bottom:1px solid var(--line);}
.readiness-receive .readiness-benefit-note{font-family:'Source Serif 4',Georgia,serif;font-size:17px;color:var(--ink);margin-top:28px;}
.readiness-shell{padding:72px 0 96px;background:#E7F0F3;}
.readiness-app{width:100%;margin:0;background:#fff;border:1px solid var(--line);min-height:540px;}
.readiness-progress{padding:20px 28px 18px;border-bottom:1px solid var(--line);display:flex;gap:18px;align-items:center;}
.readiness-progress-track{height:3px;background:var(--line);flex:1;overflow:hidden;}
.readiness-progress-bar{display:block;height:100%;width:0;background:var(--accent);transition:width .2s ease;}
.readiness-progress-text{font-size:11px;font-weight:700;color:var(--steel);letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;}
.readiness-screen{padding:42px 48px 48px;}
.readiness-screen h2{font-size:clamp(26px,3.5vw,36px);max-width:22ch;margin:10px 0 14px;}
.readiness-screen>.screen-copy{color:var(--steel);max-width:62ch;margin:0 0 28px;}
.readiness-route-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.readiness-choice{display:block;border:1px solid var(--line);padding:20px;cursor:pointer;transition:border-color .15s ease,background .15s ease;}
.readiness-choice:hover{border-color:var(--accent);}
.readiness-choice:has(input:checked){border-color:var(--accent);background:#E7F0F3;}
.readiness-choice input{position:absolute;opacity:0;pointer-events:none;}
.readiness-choice strong{display:block;font-size:16px;margin-bottom:5px;}
.readiness-choice span{display:block;color:var(--steel);font-size:13px;line-height:1.5;}
.readiness-options{display:grid;gap:10px;margin-top:24px;}
.readiness-option{display:grid;grid-template-columns:26px 1fr;gap:12px;align-items:start;border:1px solid var(--line);padding:15px 17px;cursor:pointer;}
.readiness-option:has(input:checked){border-color:var(--accent);background:#E7F0F3;}
.readiness-option input{margin-top:4px;accent-color:var(--accent);}
.readiness-option span{font-size:14.5px;color:var(--steel);}
.readiness-actions{display:flex;justify-content:space-between;gap:14px;margin-top:32px;}
.readiness-actions [hidden]{display:none!important;}
.readiness-actions .btn-secondary,.readiness-actions .btn-primary{min-width:120px;text-align:center;}
.readiness-gate{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0 16px;}
.readiness-gate label{font-size:12px;font-weight:600;color:var(--steel);}
.readiness-gate input{width:100%;margin-top:7px;border:1px solid var(--line);padding:14px;font:inherit;color:var(--ink);}
.readiness-consent{font-size:12.5px;color:var(--steel);margin:0;}
.readiness-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important;}
.readiness-error{font-size:13px;color:#B42318;min-height:20px;margin:12px 0 0;}
.readiness-result-head{padding-bottom:26px;border-bottom:1px solid var(--line);}
.readiness-result-head .result-band{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--accent);margin-bottom:12px;}
.readiness-result-head h2{max-width:23ch;margin:0 0 12px;}
.readiness-result-head p{color:var(--steel);margin:0;}
.dimension-list{display:grid;gap:16px;margin:30px 0;}
.dimension-row{display:grid;grid-template-columns:minmax(210px,1.25fr) minmax(100px,.8fr) 84px;gap:16px;align-items:center;}
.dimension-row strong{font-size:13px;}
.dimension-copy{display:grid;gap:5px;}
.dimension-copy>span{font-size:12px;line-height:1.45;color:var(--steel);}
.dimension-track{height:7px;background:var(--line);overflow:hidden;}
.dimension-track span{display:block;height:100%;background:var(--accent);}
.dimension-label{font-size:11.5px;color:var(--steel);text-align:right;}
.readiness-preview-gate{margin-top:32px;padding-top:28px;border-top:1px solid var(--line);}
.readiness-preview-gate h3{font-size:22px;margin:0 0 8px;}
.readiness-preview-gate>p{font-size:14px;line-height:1.55;color:var(--steel);margin:0;}
.readiness-recommendation{background:#E8F2F1;padding:24px;margin-top:28px;}
.readiness-recommendation span{display:block;font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--accent);}
.readiness-recommendation h3{font-size:22px;margin:9px 0;}
.readiness-recommendation p{font-size:14px;color:var(--steel);margin:0;}
.readiness-next{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px;}

@media(max-width:900px){
  .readiness-assessment-grid{grid-template-columns:1fr;gap:42px;}
  .readiness-receive{padding-top:0;}
}

@media(max-width:640px){
  .readiness-hero{padding:54px 0;}
  .readiness-screen{padding:30px 22px 34px;}
  .readiness-receive .readiness-intro-list{grid-template-columns:1fr;gap:0;}
  .readiness-route-grid,.readiness-gate{grid-template-columns:1fr;}
  .dimension-row{grid-template-columns:1fr 72px;gap:7px 12px;}
  .dimension-track{grid-column:1/-1;grid-row:2;}
  .dimension-label{grid-column:2;grid-row:1;}
}
