/* Subscription review uses the same type, colour and spacing as the reading site. */
.subscription-hub,.payment-hub{max-width:1240px}
.checkout-steps{display:flex;flex-wrap:wrap;gap:10px 24px;margin:0 0 36px;font-size:12px;font-weight:500;color:var(--muted)}
.checkout-steps a{text-decoration:none;color:var(--text)}
.checkout-steps [aria-current]{color:var(--coral-ink)}
.checkout-notice{padding:16px 20px;background:var(--soft);border:1px solid #e8b5a6;border-radius:12px;font-size:14px;line-height:1.6;margin:0 0 30px}
.checkout-notice[hidden]{display:none}
.subscription-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:48px;align-items:start}
.billing-choices{border:0;padding:0;margin:0 0 34px;display:grid;gap:12px;min-width:0}
.billing-choices legend{font-size:24px;font-weight:600;line-height:1.3;letter-spacing:-.6px;margin-bottom:20px;padding:0}
.billing-choice{display:flex;align-items:center;gap:14px;padding:20px;background:#fff;border:1px solid var(--line);border-radius:14px;cursor:pointer;min-height:86px}
.billing-choice:has(input:checked){border-color:var(--coral-ink);background:var(--soft);box-shadow:inset 0 0 0 1px var(--coral-ink)}
.billing-choice input{width:20px;height:20px;accent-color:var(--coral-ink);flex-shrink:0;margin:0}
.billing-choice>span{display:flex;flex-direction:column;font-size:15px;line-height:1.6}
.billing-choice strong{font-size:18px;font-weight:600}
.billing-choice small{color:var(--muted);font-size:12px}
.billing-choice:focus-within{outline:3px solid var(--coral);outline-offset:4px}
.review-scope h2,.activation-note h2{font-size:24px;margin:0 0 20px}
.review-scope .check-list{padding:0;list-style:none;margin:0 0 24px}
.review-scope .check-list li{position:relative;padding-left:25px;margin:0 0 12px;font-size:15px;line-height:1.6}
.review-scope .check-list li:before{content:'✓';position:absolute;left:0;color:var(--coral-ink)}
.review-scope h3{font-size:15px;margin:0 0 8px}
.review-scope p,.activation-note p{font-size:15px;line-height:1.75;margin:0 0 16px}
.activation-note{border-top:1px solid var(--line);padding-top:28px;margin-top:28px}
.subscription-summary{padding:30px;background:var(--ink);border:1px solid var(--ink);border-radius:20px}
.subscription-summary h2,.subscription-summary p,.subscription-summary dt,.subscription-summary dd{color:#fff}
.subscription-summary h2{font-size:26px;margin:16px 0 24px}
.subscription-summary .eyebrow{color:#ffaf96;font-size:10px}
.subscription-summary .summary-price{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin:0 0 26px}
.summary-price strong{font-size:46px;line-height:1.1;letter-spacing:-1.8px;font-weight:600}
.summary-price>span{font-size:15px;color:#d4dce0}
.subscription-summary dl,.payment-preview-card dl{margin:0 0 16px;font-size:14px}
.subscription-summary dl>div,.payment-preview-card dl>div{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-top:1px solid #ffffff35}
.subscription-summary dd,.payment-preview-card dd{margin:0;text-align:right;font-weight:500}
.summary-total{font-weight:600}
.subscription-summary .renewal-copy{font-size:13px;color:#e5ecef;margin:0 0 24px}
.subscription-summary .dark-button{width:100%;background:#cf3615;color:#fff;border:0;display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 10px 10px 20px;cursor:pointer;font-family:inherit;font-size:15px;min-height:52px}
.subscription-summary .dark-button span{background:var(--ink);color:#fff;display:grid;place-items:center;width:32px;height:32px;border-radius:50%}
.subscription-summary .small{font-size:13px;line-height:1.7;color:#e5ecef;margin:20px 0}
.subscription-summary a{color:#ffaf96;text-underline-offset:3px}
.subscription-summary .summary-operator{margin:22px 0 0;padding-top:20px;border-top:1px solid #ffffff35;font-size:12px;line-height:1.8;color:#e5ecef}
.subscription-help{display:flex;flex-wrap:wrap;gap:8px 24px;border-top:1px solid var(--line);padding-top:24px;margin-top:40px;font-size:13px;font-weight:500}
.subscription-help a{min-height:44px;display:inline-flex;align-items:center;text-underline-offset:4px}
.payment-preview-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:60px;align-items:start}
.payment-preview-layout>div>p{font-size:15px;line-height:1.7}
.preview-assurance{border-top:1px solid var(--line);margin-top:30px;padding-top:25px}
.preview-assurance h2{font-size:23px;margin:0 0 16px}
.preview-assurance ol{padding-left:22px;font-size:15px;line-height:1.7}
.preview-assurance li{margin-bottom:12px;padding-left:4px}
.payment-preview-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px}
.payment-preview-card h2{font-size:25px;margin:14px 0 8px}
.payment-preview-card>p:not(.eyebrow):not(.preview-price){font-size:14px;margin:0 0 20px}
.payment-preview-card .preview-price{margin:24px 0;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.preview-price strong{font-size:42px;letter-spacing:-1.5px;line-height:1.15}
.preview-price span{font-size:14px}
.payment-preview-card dl>div{border-color:var(--line)}
.payment-unavailable{display:block;width:100%;min-height:48px;border:1px solid var(--line);border-radius:28px;padding:12px;background:#edf0f1;color:#58656e;font-family:inherit;font-size:14px;font-weight:500;line-height:1.4;cursor:not-allowed;margin:24px 0 12px}
.payment-preview-card .text-link{display:flex;align-items:center;min-height:44px;font-size:13px}
@media(max-width:900px){.subscription-layout,.payment-preview-layout{gap:28px}.subscription-summary,.payment-preview-card{padding:24px}.summary-price strong{font-size:40px}}
@media(max-width:700px){
 .subscription-layout,.payment-preview-layout{grid-template-columns:minmax(0,1fr);gap:28px}
 .checkout-steps{gap:10px 18px;margin-bottom:28px;font-size:11px}
 .subscription-hub,.payment-hub{margin-top:28px}
 .subscription-hub h1,.payment-hub h1{font-size:40px;letter-spacing:-1.9px;line-height:1.08}
 .subscription-hub .lede,.payment-hub .lede{font-size:16px}
 .checkout-notice{padding:14px 16px;font-size:13px}
 .billing-choices legend{font-size:22px}
 .billing-choice{padding:17px 16px;gap:12px}
 .billing-choice>span{font-size:14px}.billing-choice strong{font-size:17px}
 .billing-choice small{font-size:11px}
 .subscription-summary,.payment-preview-card{padding:24px 22px;border-radius:18px}
 .subscription-summary .summary-price strong,.preview-price strong{font-size:44px}
 .subscription-summary dl,.payment-preview-card dl{font-size:13px}
 .subscription-help{gap:0 18px;margin-top:28px}
 .payment-preview-layout{gap:24px}
}
.subscription-summary .summary-inclusions{font-size:14px;line-height:1.7;color:#e5ecef;margin:0 0 22px}
@media(max-width:700px){
 .subscription-details{display:contents}
 .billing-choices{order:0;margin:0}
 .subscription-summary{order:1}
 .review-scope{order:2}
 .activation-note{order:3;margin-top:0}
}
/* In-memory onboarding preview. Hidden steps never enter keyboard navigation. */
[data-step][hidden],.setup-fields [hidden]{display:none!important}
[data-step-title]{scroll-margin-top:150px}
.setup-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:48px;align-items:start}
.setup-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px}
.setup-heading h2{font-size:25px;margin:0}
.sample-button{border:1px solid var(--line);border-radius:24px;padding:10px 15px;min-height:44px;background:#fff;font:500 13px/1.4 Inter,system-ui,sans-serif;color:var(--ink);white-space:nowrap;cursor:pointer}
.sample-button:hover{border-color:var(--coral-ink);color:var(--coral-ink)}
.setup-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px;margin:26px 0}
.setup-fields>label{display:flex;flex-direction:column;gap:8px;color:var(--ink);font-size:14px;font-weight:500;min-width:0}
.setup-fields .field-wide{grid-column:1/-1}
.setup-fields input,.setup-fields select{width:100%;box-sizing:border-box;min-height:48px;border:1px solid #aebbc2;border-radius:10px;padding:12px;background:#fff;font:400 15px/1.4 Inter,system-ui,sans-serif;color:var(--ink)}
.setup-fields input:focus,.setup-fields select:focus{outline:3px solid #ff4b1f55;outline-offset:2px;border-color:var(--coral-ink)}
.setup-fields input::placeholder{color:#65717a}
.setup-fields small{font-size:11px;line-height:1.65;font-weight:400;color:var(--muted)}
.entity-note{font-size:13px;line-height:1.65;background:#edf0f0;padding:14px 16px;border-radius:10px;margin:0}
.setup-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding-top:24px}
.setup-actions .dark-button{border:0;font:600 14px/1.5 Inter,system-ui,sans-serif;padding:8px 8px 8px 20px;cursor:pointer;gap:14px}
.text-button{border:0;background:none;padding:8px 0;color:var(--ink);font:500 13px/1.5 Inter,system-ui,sans-serif;text-decoration:underline;text-underline-offset:4px;min-height:44px;cursor:pointer;text-align:left}
.setup-note{padding:28px;background:#ece9e3;border:1px solid #d5d3cf;border-radius:18px}
.setup-note h2{font-size:25px;margin:18px 0 22px}
.setup-note ol{padding-left:20px;margin:0 0 22px;font-size:14px;line-height:1.75}
.setup-note li{padding-left:4px;margin-bottom:13px}
.setup-note>p:not(.eyebrow){font-size:13px;line-height:1.75;margin-bottom:0}
.company-facts{margin:0 0 30px;font-size:14px;line-height:1.65}
.company-facts>div{display:grid;grid-template-columns:135px minmax(0,1fr);gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.company-facts dt{color:var(--muted)}
.company-facts dd{margin:0;font-weight:500;overflow-wrap:anywhere}
.readiness-panel{padding:24px;background:#fff;border:1px solid var(--line);border-radius:14px;margin:28px 0}
.readiness-panel h2{font-size:24px;margin:14px 0 24px}
.readiness-list{padding:0;margin:0;list-style:none}
.readiness-list li{display:flex;flex-direction:column;gap:5px;margin:0;padding:15px 0;border-top:1px solid var(--line);font-size:13px;line-height:1.7}
.readiness-list li:first-child{padding-top:0;border-top:0}
.readiness-list strong{font-size:14px;color:var(--ink);font-weight:600}
.preview-ack{display:flex;align-items:start;gap:11px;font-size:12px;line-height:1.7;color:#fff;margin:0 0 20px}
.preview-ack input{width:18px;height:18px;flex-shrink:0;accent-color:var(--coral);margin:2px 0 0}
.subscription-summary button:disabled{background:#d4dce0;color:#334049;cursor:not-allowed}
@media(max-width:900px){.setup-layout{gap:28px}.setup-note{padding:24px}}
@media(max-width:700px){
 [data-step-title]{scroll-margin-top:145px}
 .setup-layout{grid-template-columns:minmax(0,1fr)}
 .setup-heading{flex-wrap:wrap;gap:10px}
 .setup-heading h2{font-size:23px}
 .setup-fields{grid-template-columns:minmax(0,1fr);gap:20px}
 .setup-fields input,.setup-fields select{font-size:16px}
 .setup-fields .field-wide{grid-column:auto}
 .setup-actions{flex-wrap:wrap;gap:12px}
 .setup-actions .dark-button{width:100%;justify-content:space-between}
 .company-facts>div{grid-template-columns:minmax(0,1fr);gap:4px;padding:12px 0}
 .readiness-panel{padding:20px}
 .readiness-panel h2{font-size:22px}
 .setup-review{order:0}
 .subscription-summary{order:1}
 .subscription-summary .dark-button{font-size:13px;padding-left:16px}
}

.subscription-summary .dark-button:not(:disabled):hover{background:#b82c0f}
.subscription-summary .dark-button:not(:disabled):active{background:#a7270d}
.subscription-summary .dark-button span{flex-shrink:0}
.service-address-card{background:#fff;border:1px solid var(--line);border-top:3px solid #cf3615;border-radius:14px;padding:24px;margin:0 0 28px}
.service-address-card h2{font-size:23px;margin:12px 0 18px}
.service-address-card address{font-style:normal;font-size:19px;font-weight:600;line-height:1.6;color:var(--ink);letter-spacing:-.25px}
.service-address-card .small{font-size:13px;line-height:1.7;margin:16px 0 0}
.address-status{display:inline-block;margin-top:16px;padding:6px 10px;background:var(--soft);border-radius:7px;font-size:11px;font-weight:600;color:var(--coral-ink)}
@media(max-width:700px){.service-address-card{padding:20px}.service-address-card address{font-size:18px}.subscription-summary .dark-button{font-size:14px}.subscription-summary .small{font-size:12px}}
/* Real onboarding: clear errors, comfortable mobile controls and status actions. */
.form-error{padding:16px 20px;border:1px solid #d8705c;border-radius:10px;background:#fff1eb;color:#8a230d;font-size:15px;line-height:1.6;margin:0 0 24px}
.form-error[hidden],[hidden]{display:none!important}
.activation-note address{font-style:normal;font-size:19px;font-weight:600;line-height:1.6;color:var(--ink)}
.status-actions{display:flex;flex-direction:column;align-items:stretch;gap:12px;margin-top:24px}
.status-actions .dark-button{border:0;cursor:pointer;font:600 14px/1.5 Inter,system-ui,sans-serif;padding:8px 8px 8px 20px;justify-content:space-between;min-height:48px}
.status-actions details{padding:14px 0;border-top:1px solid var(--line);font-size:14px;line-height:1.6}
.status-actions summary{min-height:44px;display:flex;align-items:center;cursor:pointer;text-decoration:underline;text-underline-offset:5px}
.status-actions label{display:flex;gap:10px;align-items:flex-start;font-size:13px}.status-actions input{width:18px;height:18px;flex-shrink:0;accent-color:#cf3615}
.payment-preview-card dd{overflow-wrap:anywhere}.payment-preview-card #payment-reference{font-size:11px;max-width:190px}
.setup-actions button:disabled{cursor:not-allowed;background:#d4dce0;color:#334049}.preview-ack a{text-decoration:underline;color:#fff;text-underline-offset:3px}
@media(max-width:700px){.form-error{font-size:14px}.status-actions .dark-button{font-size:15px}.setup-fields small{font-size:12px}.preview-ack{font-size:13px}.payment-preview-card #payment-reference{max-width:none}}
.access-card{margin-top:28px;border:1px solid var(--line);border-radius:14px;padding:24px;background:#fff}.access-card h2{font-size:23px;margin:0 0 12px}.access-card p{font-size:14px;line-height:1.7}.access-card .setup-fields{margin-bottom:12px}.access-card .dark-button{border:0;cursor:pointer;min-height:48px;font:600 14px/1.5 Inter,system-ui,sans-serif;padding:8px 8px 8px 20px;gap:16px;grid-column:1/-1}.status-actions .text-link{line-height:1.5}
