.rm-tool-wrap { padding-top: 48px; padding-bottom: 90px; }
.rm-tool-intro { padding: 48px 0 52px; max-width: 850px; }
body.rm-site .rm-tool-intro h1 { font-size: clamp(2.3rem, 5vw, 4.4rem); line-height: 1.08; letter-spacing: -.035em; margin: 0 0 24px; color: #071d36; }
.rm-tool-intro p { max-width: 65ch; font-size: 1.13rem; line-height: 1.7; color: #334d61; }
.rm-tool-intro .rm-button { margin-top: 12px; }
.rm-wizard, .rm-roi, .rm-tool-result, .rm-tool-copy { max-width: 900px; }
.rm-wizard, .rm-roi { padding: clamp(24px, 4vw, 48px); background: #f0f5f9; }
.rm-wizard fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.rm-wizard fieldset[hidden], .rm-tool-result[hidden], .rm-tool-error[hidden], .rm-tool-actions [hidden] { display:none; }
.rm-tool-progress { color: #14529d; font-weight: 700; font-size: .9rem; margin: 0 0 18px; }
.rm-wizard legend { color: #071d36; font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 700; line-height: 1.2; margin-bottom: 22px; }
.rm-tool-choices, .rm-tool-inputs, .rm-tool-variants { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
.rm-tool-choices label { position: relative; cursor: pointer; }
.rm-tool-choices input { position: absolute; top: 20px; left: 18px; }
.rm-tool-choices span { display: block; min-height: 86px; padding: 17px 18px 17px 44px; background: white; border: 1px solid #a7b9c9; color: #071d36; font-weight: 700; }
.rm-tool-choices input:checked + span { border: 2px solid #14529d; padding: 16px 17px 16px 43px; }
.rm-tool-choices small { display: block; color: #486174; font-size: .85rem; font-weight: 400; margin-top: 5px; }
.rm-tool-inputs label, .rm-tool-field { display: block; color: #172c3c; font-weight: 700; }
.rm-tool-inputs input, .rm-tool-inputs select, .rm-tool-field input { display: block; width: 100%; min-height: 48px; margin-top: 8px; padding: 10px 12px; background: white; border: 1px solid #8298aa; color: #172c3c; }
.rm-tool-inputs small { font-weight: 400; }
.rm-tool-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.rm-tool-secondary { min-height:48px; padding: 10px 20px; border: 1px solid #14529d; background: transparent; color: #10439f; font-weight: 700; cursor:pointer; }
.rm-tool-error { margin-top: 16px; color: #a40b21; font-weight: 700; }
.rm-tool-result { padding: 36px 0 0; scroll-margin-top: 30px; }
.rm-tool-result h2, .rm-tool-copy h2 { color:#071d36; }
.rm-tool-variants article { padding: 20px 24px; background: #f0f5f9; }
.rm-tool-variants h3 { color:#071d36; margin:0 0 10px; }
.rm-tool-result p, .rm-tool-copy p, .rm-tool-copy li, .rm-roi p { line-height: 1.7; }
.rm-tool-copy ol, .rm-tool-copy ul { padding-left: 24px; }
.rm-tool-copy li + li { margin-top: 14px; }
.rm-tool-copy h2:not(:first-child) { margin-top: 44px; }
.rm-tool-page :focus-visible { outline: 3px solid #1756cc; outline-offset: 3px; }
@media(max-width:600px){.rm-tool-wrap{padding-top:28px;padding-bottom:60px}.rm-tool-intro{padding:30px 0}.rm-tool-choices,.rm-tool-inputs,.rm-tool-variants{grid-template-columns:minmax(0,1fr)}.rm-tool-choices span{min-height:70px}}
