/* ROI calculator (/roi-calculator/). Built on page.css tokens; the hero and results card use the same dark-ground
   scope as the other templated heroes. */
.cw-roi-hero,.cw-roi-results{
  --cw-primary:#C5DCCB;--cw-primary-hover:#fff;--cw-ink:#F1F5F9;--cw-ink-2:rgba(226,232,240,.7);--cw-ink-3:rgba(226,232,240,.78);
  --cw-line:rgba(255,255,255,.14);--cw-line-strong:rgba(255,255,255,.22);--cw-paper:#123C20;--cw-white:#1A5230;--cw-sunken:#1A5230;--cw-btn-bg:#fff;--cw-btn-fg:#123C20;--cw-btn-hover:#E2E8F0;
  background:#123C20;color:var(--cw-ink)
}
.cw-roi-hero :focus-visible,.cw-roi-results :focus-visible{outline-color:#fff}
.cw-roi-hero .cw-pw{padding-top:var(--cw-hero-top);padding-bottom:var(--cfy-sp-section,5rem);max-width:var(--cw-max)}
.cw-roi-hero h1{font-size:var(--cw-t-h1);font-weight:500;letter-spacing:-.03em;line-height:1.05;max-width:20ch;margin:0;text-wrap:balance}
.cw-roi-hero .cw-lead{margin-top:1.5rem;max-width:58ch}

.cw-roi-calc{padding:clamp(3.5rem,2.5rem + 3vw,5.5rem) 0;background:var(--cw-paper)}
.cw-roi-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(1.5rem,1rem + 2vw,3rem);align-items:start}

/* Results */
.cw-roi-results{position:sticky;top:calc(var(--cw-header-clear) + 1rem);border-radius:14px;padding:clamp(1.5rem,1rem + 2vw,2.5rem)}
.cw-roi-results h2{font-size:var(--cw-t-h3);font-weight:500;margin:0 0 1.5rem;outline:none}
.cw-roi-figures{transition:filter .4s var(--cw-ease),opacity .4s var(--cw-ease)}
.cw-roi-results[data-locked="true"] .cw-roi-figures{filter:blur(9px);opacity:.55;user-select:none;pointer-events:none}
.cw-roi-k{display:block;font-size:.8125rem;color:var(--cw-ink-3);margin-bottom:.35rem}
.cw-roi-v{display:block;font-size:clamp(2.25rem,1.6rem + 2.6vw,3.5rem);font-weight:500;letter-spacing:-.03em;line-height:1.05;font-variant-numeric:tabular-nums}
.cw-roi-sub{display:block;margin-top:.5rem;color:var(--cw-ink-2);font-variant-numeric:tabular-nums}
.cw-roi-sub span{color:var(--cw-ink);font-weight:500}
/* Where the hours go: proportions only, the hours themselves sit in the gated list. */
.cw-roi-bar{display:flex;gap:3px;height:10px;margin:1.5rem 0 1.25rem;border-radius:999px;overflow:hidden;background:var(--cw-line)}
.cw-roi-bar span{flex:0 1 0;min-width:0;transition:flex-grow .45s var(--cw-ease)}
.cw-roi-bar span:nth-child(1),.cw-roi-dot[data-dot="1"]{background:#87C497}
.cw-roi-bar span:nth-child(2),.cw-roi-dot[data-dot="2"]{background:#C5DCCB}
.cw-roi-bar span:nth-child(3),.cw-roi-dot[data-dot="3"]{background:#F1F5F9}
.cw-roi-dot{display:inline-block;width:.6rem;height:.6rem;border-radius:50%;margin-right:.55rem;vertical-align:.05em;flex:none}
.cw-roi-split dt{display:flex;align-items:baseline}
.cw-roi-fte{padding-top:.75rem;border-top:1px solid var(--cw-line)}
.cw-roi-split{margin:0;display:grid;gap:.75rem}
.cw-roi-split div{display:flex;justify-content:space-between;gap:1rem;font-size:.9375rem}
.cw-roi-split dt{color:var(--cw-ink-2)}
.cw-roi-split dd{margin:0;font-variant-numeric:tabular-nums;white-space:nowrap}
.cw-roi-gate{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.75rem;padding:1rem 1.25rem;border:1px solid var(--cw-line);border-radius:10px}
.cw-roi-gate p{margin:0;font-weight:500}
.cw-roi-after{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.75rem}
.cw-roi-after[hidden],.cw-roi-gate[hidden]{display:none}
.cw-roi-note{font-size:.8125rem;color:var(--cw-ink-3);margin:1.25rem 0 0}

/* Inputs */
.cw-roi-form{background:var(--cw-white);border:1px solid var(--cw-line);border-radius:14px;padding:clamp(1.25rem,1rem + 1.5vw,2rem)}
.cw-roi-form fieldset{border:0;margin:0;padding:0}
.cw-roi-form fieldset+fieldset{margin-top:1.75rem;padding-top:1.75rem;border-top:1px solid var(--cw-line)}
.cw-roi-form legend{float:left;width:100%;font-size:.8125rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--cw-primary);margin-bottom:1rem;padding:0}
.cw-roi-form legend+*{clear:both}
.cw-roi-field+.cw-roi-field{margin-top:1.25rem}
.cw-roi-field label{display:block;font-weight:500;color:var(--cw-ink)}
.cw-roi-field output{color:var(--cw-primary);font-weight:600;margin-left:.25rem}
.cw-roi-step{display:inline-grid;place-items:center;width:1.5rem;height:1.5rem;border-radius:50%;margin-right:.6rem;background:var(--cw-primary);color:var(--cw-btn-fg,#fff);font-size:.75rem;letter-spacing:0;vertical-align:.1em}
.cw-roi-input{display:grid;grid-template-columns:48px minmax(0,1fr) auto 48px;align-items:stretch;border:1px solid var(--cw-line-strong);border-radius:var(--cw-r);background:var(--cw-paper);overflow:hidden}
.cw-roi-input:focus-within{outline:2px solid var(--cw-primary);outline-offset:1px;border-color:var(--cw-primary)}
.cw-roi-form .cw-roi-input input[type=number]{border:0;border-radius:0;background:transparent;text-align:center;font-weight:500;font-variant-numeric:tabular-nums;-moz-appearance:textfield;appearance:textfield}
.cw-roi-form .cw-roi-input input[type=number]:focus-visible{outline:none}
.cw-roi-input input::-webkit-outer-spin-button,.cw-roi-input input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.cw-roi-unit{align-self:center;padding:0 .75rem 0 .25rem;font-size:.875rem;color:var(--cw-ink-2);white-space:nowrap}
.cw-roi-stepper{min-height:48px;border:0;background:transparent;color:var(--cw-ink);font:inherit;font-size:1.25rem;line-height:1;cursor:pointer}
.cw-roi-stepper:hover{background:var(--cw-sunken,rgba(0,0,0,.04))}
.cw-roi-stepper:focus-visible{outline:2px solid var(--cw-primary);outline-offset:-2px}
.cw-roi-stepper:first-child{border-right:1px solid var(--cw-line)}
.cw-roi-stepper:last-child{border-left:1px solid var(--cw-line)}
.cw-roi-form-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;margin-top:1.75rem;padding-top:1.25rem;border-top:1px solid var(--cw-line)}
.cw-roi-form-foot .cw-roi-note{margin:0}
.cw-roi-reset{min-height:44px;padding:0 .25rem;border:0;background:none;color:var(--cw-primary);font:inherit;font-weight:500;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.cw-roi-gate-lead{color:var(--cw-ink-2);margin:-.5rem 0 1.25rem}

/* Phones: running total pinned to the bottom while the form is in view. */
.cw-roi-dock{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:.75rem max(16px,env(safe-area-inset-right,0px)) calc(.75rem + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));
  background:#123C20;color:#F1F5F9;box-shadow:0 -8px 24px rgba(15,23,42,.18);font-variant-numeric:tabular-nums}
.cw-roi-dock[hidden]{display:none}
.cw-roi-dock-k{font-size:.8125rem;color:rgba(226,232,240,.78);margin-right:.35rem}
.cw-roi-dock strong{font-size:1.125rem;font-weight:600}
.cw-roi-dock-link{min-height:44px;display:inline-flex;align-items:center;padding:0 1rem;border-radius:999px;background:#fff;color:#123C20;font-weight:600;text-decoration:none;white-space:nowrap}
.cw-roi-dock-link:focus-visible{outline:2px solid #fff;outline-offset:2px}
@media (min-width:901px){.cw-roi-dock{display:none!important}}
.cw-roi-field output{font-variant-numeric:tabular-nums}
.cw-roi-hint{font-size:.875rem;color:var(--cw-ink-2);margin:.2rem 0 .6rem}
.cw-roi-form input[type=number],.cw-roi-form select,.cw-roi-dialog input[type=email]{
  width:100%;min-height:48px;padding:.65rem .9rem;font:inherit;color:var(--cw-ink);background:var(--cw-paper);
  border:1px solid var(--cw-line-strong);border-radius:var(--cw-r)
}
.cw-roi-form input:focus-visible,.cw-roi-form select:focus-visible,.cw-roi-dialog input:focus-visible{outline:2px solid var(--cw-primary);outline-offset:1px;border-color:var(--cw-primary)}
.cw-roi-form input[type=range]{width:100%;accent-color:var(--cw-primary);min-height:32px}
.cw-roi-rate-row{display:grid;grid-template-columns:7rem minmax(0,1fr);gap:.5rem}

/* Drivers and method */
.cw-roi-drivers,.cw-roi-method{padding:clamp(4rem,3rem + 3vw,6rem) 0;border-top:1px solid var(--cw-line)}
.cw-roi-drivers h2,.cw-roi-method h2{font-size:var(--cw-t-h2);font-weight:500;letter-spacing:-.02em;margin:0;max-width:24ch}
.cw-roi-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin-top:2.5rem}
.cw-roi-card{background:var(--cw-white);border:1px solid var(--cw-line);border-radius:12px;padding:1.5rem;display:flex;flex-direction:column}
.cw-roi-card h3{font-size:var(--cw-t-h3);font-weight:600;margin:0 0 .6rem}
.cw-roi-card p{color:var(--cw-ink-2);margin:0 0 1.25rem;flex:1}
.cw-roi-card a{color:var(--cw-primary);font-weight:500;text-decoration:none;min-height:24px;display:inline-flex;align-items:center;gap:.35rem}
.cw-roi-card a:hover{text-decoration:underline}
.cw-roi-method .cw-lead{margin-top:1rem}
.cw-roi-formulas{margin-top:2rem;display:grid;gap:.85rem;max-width:72ch}
.cw-roi-formulas p{margin:0;padding:1rem 1.25rem;background:var(--cw-white);border:1px solid var(--cw-line);border-radius:10px;color:var(--cw-ink-2)}
.cw-roi-formulas strong{color:var(--cw-ink);font-weight:600}

/* Email dialog */
.cw-roi-dialog{width:min(560px,calc(100vw - 2rem));border:0;border-radius:16px;padding:0;color:var(--cw-ink);background:var(--cw-white);box-shadow:0 24px 64px rgba(15,23,42,.28)}
.cw-roi-dialog::backdrop{background:rgba(15,23,42,.55)}
.cw-roi-gate-form{position:relative;padding:clamp(1.5rem,1rem + 2vw,2.5rem)}
.cw-roi-gate-form h2{font-size:var(--cw-t-h3);font-weight:500;margin:0 0 1.25rem}
.cw-roi-gate-form label{display:block;font-weight:500;margin-bottom:.4rem}
.cw-roi-gate-form .cw-button{width:100%;justify-content:center;margin-top:1rem}
.cw-roi-close{position:absolute;top:1rem;right:1rem;width:44px;height:44px;border-radius:50%;border:1px solid var(--cw-line);background:var(--cw-paper);color:var(--cw-ink);font-size:1.5rem;line-height:1;cursor:pointer}
.cw-roi-close:hover{border-color:var(--cw-ink)}
.cw-roi-err{color:#B42318;font-size:.875rem;margin:.5rem 0 0}
.cw-roi-consent{font-size:.8125rem;color:var(--cw-ink-2);margin:1rem 0 0;line-height:1.55}
.cw-roi-consent a{color:var(--cw-primary)}
.cw-roi-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

@media (max-width:900px){
  .cw-roi-grid{grid-template-columns:1fr}
  .cw-roi-results{position:static}
  .cw-roi-cards{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){.cw-roi-figures,.cw-roi-bar span{transition:none}}

/* Download report: the browser's print-to-PDF prints the estimate and the inputs, nothing else. */
@media print{
  body.cw-roi-page>*:not(#page):not(main),.cfy-hdr,.cfy-ftr,header,footer,.cw-roi-hero .cw-cta-row,.cw-roi-drivers,.cw-roi-dock,.cw-roi-stepper,.cw-roi-form-foot,.cw-faq,.cw-final,.cw-roi-after,.cw-roi-gate,.cw-roi-dialog,.mcta{display:none!important}
  .cw-roi-hero,.cw-roi-results{background:#fff!important;color:#111!important;--cw-ink:#111;--cw-ink-2:#333;--cw-ink-3:#555;--cw-line:#ccc;--cw-primary:#123C20}
  .cw-roi-hero .cw-pw{padding:0 0 1rem}
  .cw-roi-hero h1{font-size:22pt}
  .cw-roi-grid{grid-template-columns:1fr 1fr}
  .cw-roi-results{position:static;border:1px solid #ccc}
  .cw-roi-figures{filter:none!important;opacity:1!important}
  .cw-roi-form input[type=range]{display:none}
  .cw-roi-method{border:0;padding:1rem 0;break-before:avoid}
}
