/* Extend the landing page's existing fonts, orange accent and navy secondary CTA. */
.hero .hero-examples.roi-trigger{white-space:normal;font-size:clamp(1rem,1.3vw,1.2rem)}
.hero h1{white-space:normal}
.roi-dialog{width:min(780px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:0;border:1px solid var(--l);border-radius:24px;background:var(--p);color:var(--i);box-shadow:0 28px 100px #221d1a40;overflow:auto;overscroll-behavior:contain;font:1rem/1.55 'DM Sans',sans-serif}
.roi-dialog::backdrop{background:#15243ac4}
.roi-dialog[open]{animation:roi-dialog-in .48s cubic-bezier(.16,1,.3,1) both}
.roi-dialog[open]::backdrop{animation:roi-backdrop-in .38s ease-out both}
.roi-dialog.is-closing{animation:roi-dialog-out .22s ease-in both}
.roi-dialog.is-closing::backdrop{animation:roi-backdrop-out .22s ease-in both}
@keyframes roi-dialog-in{from{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes roi-dialog-out{to{opacity:0;transform:translateY(12px) scale(.985)}}
@keyframes roi-backdrop-in{from{background:#15243a00}to{background:#15243ac4}}
@keyframes roi-backdrop-out{to{background:#15243a00}}
body.roi-open{overflow:hidden}
.roi-dialog [hidden]{display:none!important}
.roi-shell{padding:clamp(22px,5vw,44px)}
.roi-view{opacity:1;transform:translateY(0);transition:opacity .34s ease,transform .42s cubic-bezier(.22,.8,.22,1)}
.roi-view.is-leaving{opacity:0;transform:translateY(-8px)}
.roi-view.is-entering{opacity:0;transform:translateY(14px);transition:none}
.roi-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}
.roi-eyebrow{color:#203653;font-size:1rem;font-weight:800;letter-spacing:-.01em}
.roi-dialog button,.roi-dialog input,.roi-dialog select{font:inherit}
.roi-close{display:grid;place-items:center;flex:none;width:44px;height:44px;border:1px solid var(--l);border-radius:50%;background:transparent;color:var(--i);font-size:1.5rem!important;cursor:pointer}
.roi-dialog h2{font-size:clamp(2rem,5vw,2.7rem);line-height:1.12;margin:24px 0 14px;letter-spacing:-.025em}
.roi-dialog h3{font-size:1.15rem;line-height:1.4;margin:0 0 8px}
.roi-dialog p{margin:10px 0 18px}
.roi-muted{color:#635953;font-size:.875rem}
.roi-progress-label{display:block;font-size:1rem;font-weight:800;color:#203653;margin-bottom:10px}
.roi-dialog progress{display:block;width:100%;height:12px;border:0;border-radius:999px;background:#e7ded8;accent-color:#203653}
.roi-dialog:is(.is-loading,.is-result)>.roi-shell>.roi-progress-label,.roi-dialog:is(.is-loading,.is-result)>.roi-shell>progress{display:none}
.roi-dialog progress::-webkit-progress-bar{background:#eee8e4;border-radius:8px}
.roi-dialog progress::-webkit-progress-value{background:#203653;border-radius:8px}
.roi-dialog progress::-moz-progress-bar{background:#203653;border-radius:8px}
.roi-field{margin:24px 0}
.roi-field>label,.roi-field>span{display:block;font-weight:600;margin-bottom:9px}
.roi-input{display:flex;align-items:center;border:1px solid #9b8b80;border-radius:12px;background:#fff;overflow:hidden}
.roi-input:focus-within{outline:3px solid #203653;outline-offset:3px}
.roi-input input{width:100%;min-width:0;border:0;padding:15px 16px;background:transparent;color:var(--i);font-size:1.25rem;outline:none}
.roi-input span{padding:0 16px;color:#635953}
.roi-dialog select{width:100%;min-height:56px;padding:12px;border:1px solid #9b8b80;border-radius:12px;background:#fff;color:var(--i)}
.roi-check{display:flex!important;align-items:center;gap:10px;font-size:.875rem;font-weight:400!important;margin:12px 0!important;cursor:pointer;min-height:32px}
.roi-check input{width:20px;height:20px;accent-color:#203653}
.roi-choice{border:0;padding:0;margin:0 0 12px;display:flex;gap:8px;flex-wrap:wrap}
.roi-choice legend{font-weight:600;margin-bottom:10px}
.roi-choice label{display:flex;align-items:center;gap:8px;border:1px solid var(--l);border-radius:10px;padding:10px 12px;cursor:pointer;min-height:48px}
.roi-choice label:has(input:checked){border-color:#203653;background:#edf1f5;color:#203653}
.roi-choice input{accent-color:#203653;width:18px;height:18px;margin:0}
.roi-note{background:var(--c);border-left:3px solid var(--a);padding:14px 16px;border-radius:0 10px 10px 0;font-size:.875rem}
.roi-disclaimer{font-size:.72rem;line-height:1.45;color:#756b65}
.roi-error{color:#922b28;font-weight:600}
.roi-dialog [aria-invalid=true]{background:#fff0ed}
.roi-actions{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-top:28px}
.roi-button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;border:1px solid #2a211e;border-radius:12px;padding:12px 20px;font-weight:700!important;cursor:pointer;text-align:center;background:#203653;color:white}
.roi-back{background:transparent;color:var(--i);border-color:var(--l)}
.roi-dialog .roi-cta{background:var(--a);color:#221d1a;display:flex;margin-top:24px;width:100%;box-shadow:3px 4px 0 #2a211e;white-space:normal}
.roi-dialog button:focus-visible,.roi-dialog a:focus-visible,.roi-dialog select:focus-visible,.roi-dialog summary:focus-visible,.roi-dialog input[type=radio]:focus-visible,.roi-dialog input[type=checkbox]:focus-visible{outline:3px solid #203653;outline-offset:4px}
.roi-dialog a:hover,.roi-dialog summary:hover{transform:none;filter:none}
.roi-dialog button:hover{filter:brightness(.94)}
.roi-result-intro{color:#6f655f;font-size:.9rem;margin:0 0 20px!important}
.roi-summary-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(220px,.8fr);gap:14px;align-items:stretch}
.roi-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0;margin:18px 0}
.roi-stats>div{padding:17px 18px;border:1px solid #e1d8d1;border-radius:14px;background:#fffaf6}
.roi-stats dt{font-size:.78rem;color:#706760}
.roi-stats dd{font-size:clamp(1.25rem,4vw,1.65rem);font-weight:750;margin:4px 0 0;overflow-wrap:anywhere;color:#203653}
.roi-break{background:#fffaf4;color:var(--i);padding:clamp(22px,4vw,32px);border:1px solid #e2d7cd;border-radius:18px;margin:0}
.roi-break>span{font-size:.8rem;font-weight:700;color:#706760}
.roi-break strong{display:block;color:#203653;font:700 clamp(2.7rem,8vw,4rem)/1.05 'Playfair Display',Georgia,serif;margin:10px 0 14px;overflow-wrap:anywhere}
.roi-break p{margin-bottom:0}
.roi-verdict{padding:22px;border:1px solid #e2d7cd;border-radius:18px;background:#f1e9df;margin:0;display:flex;flex-direction:column;justify-content:center}
.roi-section-label{display:block;margin-bottom:6px;color:#8b3c45;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.roi-verdict h3{font-size:1.25rem;margin-bottom:5px}
.roi-verdict p{color:#635953;font-size:.9rem;margin:0}
.roi-comparison{padding:14px 16px;border-radius:12px;background:#edf1f5;color:#364b64;font-size:.84rem;margin:12px 0 18px!important}
.roi-result-details{margin-top:8px}
.roi-legal-note{margin:12px 0 0;padding:14px 0 0;border-top:1px solid var(--l);color:#756b65;font-size:.7rem;line-height:1.5}
.roi-legal-note strong{display:block;margin-bottom:4px;color:#504741;font-size:.72rem}
.roi-legal-note p{margin:0}
.roi-dialog details{border-top:1px solid var(--l);padding:14px 0;font-size:.82rem;color:#5f5651}
.roi-dialog summary{cursor:pointer;font-weight:700;min-height:32px}
.roi-dialog details li{margin:8px 0}
.roi-dialog details ul{padding-left:22px}
.roi-loading{min-height:min(540px,calc(100dvh - 180px));padding:28px 0 18px;display:flex;flex-direction:column;justify-content:center}
.roi-loading-row{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 14px;color:#203653}
.roi-loading-row span{font-weight:700}
.roi-loading-row strong{font-size:1.25rem}
.roi-loading-track{height:24px;width:100%;background:#e3dad4;border-radius:999px;overflow:hidden;box-shadow:inset 0 1px 2px #39251b18}
.roi-loading-track span{display:block;width:100%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#203653 0%,#395777 55%,#ed6a54 100%);transform:scaleX(0);transform-origin:left center;will-change:transform}
.roi-loading-steps{list-style:none;padding:0;margin:34px 0 40px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.roi-loading-steps li{display:flex;align-items:center;gap:11px;color:#8a817b;font-size:.9rem}
.roi-loading-steps li::before{content:'';width:11px;height:11px;border:2px solid #bdb1a9;border-radius:50%;flex:none}
.roi-loading-steps li.is-active{color:#203653;font-weight:700}
.roi-loading-steps li.is-active::before{border-color:#ed6a54;background:#ed6a54;box-shadow:0 0 0 5px #ed6a5420}
.roi-loading-steps li.is-done{color:#4e665a}
.roi-loading-steps li.is-done::before{border-color:#4e665a;background:#4e665a}
@media(max-width:600px){.roi-dialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px);border-radius:18px}.roi-shell{padding:22px}.roi-actions{align-items:stretch}.roi-button{padding:12px 15px}.roi-summary-grid{grid-template-columns:1fr}.roi-stats{gap:8px}.roi-stats>div{padding:14px}.roi-close{width:44px;height:44px}.roi-loading{min-height:calc(100dvh - 150px)}.roi-loading-track{height:22px}.roi-loading-steps{grid-template-columns:1fr;gap:10px;margin:28px 0 34px}.roi-break{padding:22px}.roi-verdict{padding:18px}}
@media(prefers-reduced-motion:reduce){.roi-dialog,.roi-dialog::backdrop,.roi-dialog *{scroll-behavior:auto;transition:none!important;animation:none!important}}

.roi-dialog h2:focus{outline:none}

