/* R23: a calm, focused rental workspace. Scope calculation overrides explicitly. */
:root { --r23-ink:#142c38; --r23-muted:#5d707b; --r23-accent:#087c70; }
body { background:#f5f7f7 !important; color:var(--r23-ink); }
.site-header { background:linear-gradient(145deg,#eff8f5,#f8fbfb) !important; }
.site-header .hero { max-width:1160px; margin:auto; padding:58px 28px 66px; gap:64px; }
.hero h1 { font-size:clamp(36px,4.6vw,62px) !important; line-height:1.07 !important; letter-spacing:-2px; color:#142c38 !important; max-width:680px; white-space:pre-line; }
.hero .hero-copy { font-size:18px !important; font-weight:400 !important; color:#506873 !important; max-width:580px; line-height:1.65; }
.hero .eyebrow { display:none; }
.hero .hero-actions .primary, #calculator .primary { background:#087c70 !important; box-shadow:0 5px 16px #087c701a !important; border-color:#087c70 !important; }
.r23-hero-preview { background:white; border:1px solid #dce9e5; border-radius:24px; padding:30px; box-shadow:0 20px 55px #233a4310; align-self:center; }
.r23-hero-preview .eyebrow { display:block; color:#087c70; letter-spacing:.08em; font-size:12px; }
.r23-need { display:flex; gap:14px; align-items:center; padding:15px 0; border-bottom:1px solid #edf2f1; }
.r23-need>span { width:32px; height:32px; flex-shrink:0; display:grid; place-items:center; border-radius:50%; background:#edf7f4; color:#087c70; font-weight:700; }
.r23-need p { margin:0; font-size:15px; font-weight:500; line-height:1.5; }
.r23-free { font-size:13px; color:#5d707b; padding-top:18px; }
#calculator { max-width:1000px; margin:32px auto; border:1px solid #e1e8e8 !important; border-radius:28px !important; background:white !important; box-shadow:0 14px 45px #132c3810 !important; padding:36px !important; }
#calculator .calculator-intro h2 { font-size:28px; letter-spacing:-.7px; }
#calculator .calc-progress, #calculator .calculator-assurance { display:none; }
#calculator #rulesText { font-weight:400; color:#5d707b; }
#calcForm { display:block; max-width:none; margin:0; }
.r23-step-panel[hidden], #calcForm [hidden], #calculator [hidden] { display:none !important; }
.r23-step-panel { display:grid; gap:18px; }
#calculator .r23-step-panel>.card { box-shadow:none !important; border:1px solid #e3eaea; border-radius:18px; background:#fff; }
#calculator .role-card h3 { display:none; }
.r23-stepper { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:24px 0 28px; }
.r23-stepper button { display:flex; align-items:center; gap:10px; text-align:left; background:#f4f7f7; color:#65777f; border:1px solid transparent; border-radius:12px; padding:12px; font-size:14px; font-weight:500; min-height:56px; box-shadow:none; }
.r23-stepper button>span:first-child { display:grid; place-items:center; width:27px; height:27px; flex-shrink:0; border-radius:50%; background:#e4ecea; font-size:12px; font-weight:700; }
.r23-stepper button[aria-current="step"] { background:#eaf7f2; border-color:#93cdbd; color:#086c61; }
.r23-stepper button[aria-current="step"]>span:first-child { background:#087c70; color:white; }
.r23-step-heading { padding:0 0 22px; }
.r23-step-heading>p:first-child { color:#087c70; font-weight:600; font-size:12px; text-transform:uppercase; letter-spacing:.06em; margin:0 0 8px; }
#r23StepTitle { margin:0 0 8px; font-size:26px; color:#142c38; outline:none; }
#r23StepHelp { font-weight:400; color:#5d707b; margin:0; line-height:1.6; }
#calculator .card label, #calculator input, #calculator select { font-weight:500 !important; }
#calculator label small, #calculator .small-note, #calculator .r22-core>p { font-size:14px; font-weight:400 !important; color:#5d707b; line-height:1.6; }
#calculator .r22-core { padding:24px; background:#fff; }
#calculator .r22-core h3 { font-size:17px; font-weight:650; color:#142c38; }
#calculator input:not([type=radio]):not([type=checkbox]), #calculator select { border:1px solid #cad8d8; border-radius:10px; box-shadow:none; min-height:50px; background:#fff; }
#calculator input:focus, #calculator select:focus { outline:3px solid #087c7020; border-color:#087c70; }
#calculator .segmented label:has(input:checked) { background:#eaf7f2 !important; border-color:#087c70 !important; color:#086c61 !important; box-shadow:0 0 0 1px #087c70 inset; }
#calculator .r22-preview { background:#f0f8f5; border-color:#c2e0d6; color:#174d41; }
#calculator .sticky-actions { position:static !important; box-shadow:none; padding:20px 0 0; background:white; }
.r23-navigation { display:flex; gap:12px; justify-content:space-between; margin-top:24px; padding-top:22px; border-top:1px solid #e7eeee; }
.r23-navigation #r23Next { margin-left:auto; min-width:170px; }
.r23-review-card { padding:24px; border:1px solid #dce7e3; border-radius:18px; background:#f8fbfa; }
.r23-review-card dl { margin:0 0 18px; }
.r23-review-row { display:flex; justify-content:space-between; gap:20px; padding:14px 0; border-bottom:1px solid #e1eae6; font-size:15px; }
.r23-review-row dt { color:#5d707b; }.r23-review-row dd { margin:0; font-weight:600; text-align:right; }
.r23-request-error { background:#fff5f3; border:1px solid #e6b5ac; padding:18px; border-radius:14px; }
#calculator #retrieveCaseCard { margin-top:30px; }
#calculator .result { margin-top:30px; padding:26px; border:1px solid #b8d8cf; background:white; border-radius:20px; }
.r23-result-head { display:flex; justify-content:space-between; gap:18px; align-items:center; }.r23-result-head h2 { margin:0; font-size:24px; }
.r23-result-overview>p { color:#5d707b; font-weight:400; line-height:1.6; }
.r23-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:20px 0; }
.r23-metrics>div { display:flex; flex-direction:column; gap:10px; background:#f2f8f6; border-radius:12px; padding:18px; }
.r23-metrics span { color:#5d707b; font-size:13px; }.r23-metrics strong { font-size:23px; color:#142c38; }
.r23-result-details summary { min-height:48px; font-weight:600; cursor:pointer; padding:12px 0; }
.r23-source-metrics { margin:20px 0; }.r23-source-metrics .hero-card { max-width:480px; }
@media(max-width:650px) { .site-header .hero { padding:30px 20px 34px; gap:24px; }.hero h1 { letter-spacing:-1.2px; }.r23-hero-preview { display:none; }#calculator { margin:16px 10px; padding:20px 16px !important; border-radius:22px !important; }.r23-stepper { gap:6px; }.r23-stepper button { flex-direction:column; align-items:flex-start; padding:10px 8px; font-size:11px; min-height:78px; }.r23-step-heading { padding-bottom:18px; }#r23StepTitle { font-size:24px; }#calculator .r22-core { padding:18px 14px; }.r23-review-card { padding:18px; }.r23-result-head { flex-direction:column; align-items:flex-start; }.r23-metrics { grid-template-columns:1fr; gap:8px; }.r23-metrics>div { flex-direction:row; justify-content:space-between; align-items:center; }.r23-metrics strong { font-size:21px; }#calculator .result { padding:18px; } }
@media(prefers-reduced-motion:reduce) { #calculator * { scroll-behavior:auto !important; } }

/* Compact disclosure retains the full original text on expansion. */
#calculator .calculator-intro { margin-bottom:0 !important; padding-bottom:0 !important; }
#calculator .calculator-intro .eyebrow { display:none; }
#calculator #rulesText { margin:10px 0 0; font-size:14px; }
.rg-section-disclaimer { display:grid !important; grid-template-columns:28px 1fr 40px !important; align-items:center !important; background:#f6f9f9 !important; border-color:#e0e9e8 !important; color:#5d707b !important; font-weight:400 !important; }
.rg-section-disclaimer .rg-note-copy { display:block !important; }
.rg-section-disclaimer summary { cursor:pointer; font-size:12px; font-weight:500; padding:9px 0; }
.rg-section-disclaimer .rg-note-copy>span { margin-top:10px; font-size:12px; line-height:1.6; font-weight:400; }
.rg-section-disclaimer .rg-note-icon { background:#e6efec !important; color:#42665b !important; }
.rg-section-disclaimer button { grid-column:auto !important; min-width:36px; min-height:36px; border-radius:10px !important; border:1px solid #d6e1df !important; background:white !important; }
/* Cancel older two-column calculator layouts: the wizard owns the page flow. */
#calculator { display:block !important; width:calc(100% - 32px) !important; max-width:1000px !important; }
#calculator .calculator-intro { display:block !important; }
#calculator .calculator-intro h2 { font-size:28px !important; line-height:1.2 !important; }
#calculator .segmented input:checked+span { background:#087c70 !important; color:white !important; border-color:#087c70 !important; box-shadow:none !important; }
#calculator .primary { font-weight:650 !important; }
.r23-review-row dd { flex-shrink:0; max-width:55%; overflow-wrap:anywhere; }
.r23-saved { margin-top:28px; border-top:1px solid #e0e8e6; padding-top:18px; }
.r23-saved>summary { font-size:14px; color:#5d707b; cursor:pointer; padding:10px 0; }
.r23-saved #retrieveCaseCard { border:0; box-shadow:none; }
@media(max-width:650px) { #calculator { width:calc(100% - 20px) !important; } }

/* RG25: reachable errors and consistent keyboard focus. */
.r25-skip{position:fixed;top:8px;left:12px;z-index:10000;transform:translateY(-160%);background:#142c38;color:white;padding:14px 20px;border-radius:12px}
.r25-skip:focus{transform:none}
:focus-visible{outline:3px solid #087c70;outline-offset:4px}
#calculator .r25-field-error{color:#9a3412;font-size:14px;line-height:1.5}
#calculator input[aria-invalid=true]{border:2px solid #b44727}
#calculator .r25-error-link{padding:6px 0;min-height:44px;text-align:left;color:#833518;background:transparent;border:0;text-decoration:underline;box-shadow:none}
#r25Annual{font-size:17px;font-weight:600;margin:10px 0}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
