/* Scoped to the calculator gate; uses the existing Scribetech palette. */
.roi-locked-preview{padding:52px clamp(20px,6vw,90px);min-height:800px;filter:blur(9px);user-select:none;pointer-events:none;opacity:.6}
.roi-locked-preview .roi-workspace{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.roi-preview-panel{background:white;border:1px solid var(--line);border-radius:20px;padding:30px;min-height:490px}
.roi-preview-line{height:44px;background:#e5ebe8;margin:24px 0;border-radius:7px}
.roi-preview-line:nth-child(2n){width:68%}.roi-preview-number{font:52px var(--serif);margin:32px 0}
.roi-access-section{display:grid;position:relative;isolation:isolate}
.roi-access-section>#roi-calculator-host,.roi-access-layer{grid-area:1/1;min-width:0}
.roi-access-layer{position:relative;z-index:1;display:grid;place-items:center;padding:56px 16px;background:#03253238}
.roi-access-layer[hidden]{display:none!important}
.roi-access-dialog{width:min(540px,100%);min-width:0;overflow:hidden;border:1px solid #cbded7;border-radius:24px;padding:0;background:var(--paper);color:var(--ink);box-shadow:0 26px 90px #03253255}
.roi-access-brand{background:var(--ink);padding:24px 32px;display:flex;align-items:center;justify-content:center;gap:20px;color:var(--mint);font-size:11px;letter-spacing:.09em;text-transform:uppercase}
.roi-access-brand img{width:156px;max-width:55%;height:auto}
.roi-access-content{padding:30px 32px 26px}.roi-access-content h2{font:400 clamp(28px,5vw,36px)/1.15 var(--serif);letter-spacing:-.03em;margin:0 0 16px}
.roi-access-content p{font-size:15px;line-height:1.65;margin:0 0 22px;color:#41606a}
.roi-access-content label{display:block;font-size:14px;font-weight:700;margin-bottom:9px}
.roi-access-content input{width:100%;min-width:0;border:1px solid #8da7a7;border-radius:10px;padding:14px;background:white;color:var(--ink);font:16px var(--sans);margin:0 0 18px}
.roi-access-content input[aria-invalid=true]{border-color:#a62b2b}
.roi-access-content .roi-otp{font-size:28px;letter-spacing:.25em;font-variant-numeric:tabular-nums}
.roi-access-content .button{width:100%;border:0;min-height:49px;cursor:pointer;gap:8px}
.roi-access-content button:disabled{cursor:wait;opacity:.6;transform:none;box-shadow:none}
.roi-access-content :is(a,button,input):focus-visible{outline:3px solid #15786a;outline-offset:4px}
.roi-access-content .roi-access-small{font-size:12px;line-height:1.6;margin:16px 0 0}
.roi-access-small a{text-decoration:underline;text-underline-offset:3px}
.roi-access-secondary{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:22px}
.roi-access-secondary button,.roi-access-back{border:0;background:none;color:var(--ink);font-size:13px;text-decoration:underline;text-underline-offset:4px;padding:5px 0;cursor:pointer}
.roi-access-content .roi-access-message{color:#922d2d;font-size:14px;margin:14px 0 0;overflow-wrap:anywhere}
.roi-access-content [hidden],.roi-access-dialog[hidden]{display:none!important}
.roi-access-exit{display:block;font-size:12px;text-align:center;text-decoration:underline;margin-top:22px;color:#41606a}
.roi-calculation-status{font-size:14px;color:#41606a;padding:0 0 14px;min-height:30px}
.roi-calculation-status[data-error=true]{color:#922d2d}
#roi-calculator-host .roi-workspace>*{min-width:0}
#roi-calculator-host .roi-form fieldset{min-inline-size:0}
@media(max-width:600px){.roi-access-content{padding:24px}.roi-access-brand{padding:22px 24px}.roi-locked-preview .roi-workspace{grid-template-columns:1fr}.roi-access-dialog{border-radius:18px}}
@media(max-width:760px){#roi-calculator-host .roi-charts figure{min-width:0;padding:16px}#roi-calculator-host .roi-chart-row{grid-template-columns:68px minmax(0,1fr) 80px;gap:7px;font-size:10px}#roi-calculator-host .roi-chart-row b{font-size:10px}}
@media print{.roi-access-layer{background:none}.roi-access-dialog{box-shadow:none}.roi-access-section:has(.roi-access-layer:not([hidden])) #roi-calculator-host{display:none!important}}

#roi-access-title{text-align:center;margin-bottom:26px}
.roi-access-content .roi-access-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:380px){#roi-email::placeholder{font-size:12px}}

.roi-access-content .roi-access-small,.roi-access-content .roi-access-message,.roi-access-content noscript p{text-align:center}

#roi-email{text-align:center}

#roi-email:focus::placeholder{opacity:0}
