/* ACSIS ROI & Value Calculator — brand-styled (uses tokens from styles.css) */
.calc{margin-top:8px}
.calc-evidence{background:var(--navy);color:#fff;border-radius:var(--radius);padding:24px 28px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:36px}
.calc-evidence .ce-k{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:#7FB6DC;margin-bottom:8px}
.calc-evidence p{margin:0;color:rgba(255,255,255,.85);font-size:.95rem;max-width:62ch}
.calc-evidence .ce-stats{display:flex;gap:28px;flex-wrap:wrap}
.calc-evidence .ce-stats .n{color:#fff;font-size:1.4rem;font-weight:600;letter-spacing:-.02em}
.calc-evidence .ce-stats .l{color:#9FB6C8;font-size:.78rem;margin-top:2px}

.calc-grid{display:grid;grid-template-columns:minmax(300px,1fr) 1.9fr;gap:clamp(24px,3vw,40px);align-items:start}
.calc-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:clamp(22px,2.5vw,30px)}
.calc-inputs{position:sticky;top:100px}
.calc-inputs h3,.calc-results h3{font-size:1.15rem;color:var(--ink);margin-bottom:4px}
.calc-section-title{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--faint);font-weight:600;margin-bottom:22px}
.fgroup{margin-bottom:24px}
.fgroup:last-child{margin-bottom:0}
.calc-label{display:flex;align-items:center;gap:8px;font-size:.92rem;font-weight:600;color:var(--ink-2);margin-bottom:10px}
.calc-label .val{color:var(--brand);font-variant-numeric:tabular-nums}
.calc-select{width:100%;padding:12px 14px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);font:inherit;font-size:.95rem;color:var(--ink);background:#fff}
.calc-select:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(20,32,43,.08)}
.help-btn{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;border:1px solid var(--line-strong);background:#fff;color:var(--muted);cursor:pointer;flex:none}
.help-btn svg{width:13px;height:13px}
.help-btn:hover{border-color:var(--brand);color:var(--brand)}
.range-ends{display:flex;justify-content:space-between;font-size:.74rem;color:var(--faint);margin-top:6px}
.fhint{font-size:.78rem;color:var(--faint);margin:8px 0 0}

.custom-slider-container{position:relative;width:100%;height:34px;margin:6px 0 2px}
.custom-slider-track{position:absolute;top:13px;left:0;right:0;height:8px;background:var(--bg-soft-2);border-radius:6px;border:1px solid var(--line-strong);cursor:pointer}
.custom-slider-fill{position:absolute;top:-1px;left:0;height:8px;background:var(--brand);border-radius:6px;pointer-events:none}
.custom-slider-thumb{position:absolute;top:-8px;width:22px;height:22px;background:var(--brand);border:3px solid #fff;border-radius:50%;box-shadow:0 1px 4px rgba(12,22,32,.35);cursor:grab;transition:transform .15s}
.custom-slider-thumb:hover{transform:scale(1.08)}
.custom-slider-thumb:active{cursor:grabbing;transform:scale(1.12)}

.adv-box{background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius-sm);padding:18px 20px;margin-top:6px}
.adv-box h4{font-size:.85rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ink);margin-bottom:12px}
.adv-box ul{display:grid;gap:9px}
.adv-box li{display:flex;gap:10px;align-items:flex-start;color:var(--ink-2);font-size:.9rem}
.adv-box li svg{width:16px;height:16px;color:var(--brand);flex:none;margin-top:3px}

.metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.metric{border-radius:var(--radius);padding:24px;border:1px solid var(--line);background:#fff}
.metric .m-label{font-size:.82rem;letter-spacing:.04em;color:var(--muted);margin-bottom:10px}
.metric .m-value{font-size:clamp(1.9rem,3vw,2.5rem);line-height:1;letter-spacing:-.03em;color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}
.metric .m-sub{font-size:.78rem;color:var(--faint);margin-top:8px}
.metric--navy{background:var(--navy);border-color:var(--navy)}
.metric--navy .m-label{color:#9FB6C8}.metric--navy .m-value{color:#fff}.metric--navy .m-sub{color:#7E93A6}
.metric--blue{background:var(--brand);border-color:var(--brand)}
.metric--blue .m-label{color:#CFE6F5}.metric--blue .m-value{color:#fff}.metric--blue .m-sub{color:#BBD9EE}

.breakdown{margin-top:24px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.breakdown .bd-head{background:var(--bg-soft);padding:20px 24px;border-bottom:1px solid var(--line)}
.breakdown .bd-head h4{font-size:1.1rem;color:var(--ink);margin:0}
.breakdown .bd-head p{margin:6px 0 0;color:var(--muted);font-size:.88rem}
.breakdown .bd-head .val{color:var(--brand);font-weight:600}
.bd-body{display:grid;grid-template-columns:1fr 1fr;gap:0}
.bd-col{padding:24px}
.bd-col+.bd-col{border-left:1px solid var(--line)}
.bd-col .bd-title{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);font-weight:600;margin-bottom:14px}
.bd-row{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid var(--line);font-size:.94rem}
.bd-row span:first-child{color:var(--ink-2)}
.bd-row .amt{font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}
.bd-row .amt.pos{color:var(--brand)}
.bd-total{display:flex;justify-content:space-between;align-items:center;margin-top:14px;padding:14px 16px;background:var(--bg-soft);border-radius:var(--radius-sm)}
.bd-total span:first-child{font-weight:600;color:var(--ink)}
.bd-total .amt{font-weight:700;color:var(--ink);font-size:1.1rem;font-variant-numeric:tabular-nums}

.safety-mod{margin-top:24px;border:1px solid var(--line);border-radius:var(--radius);padding:clamp(22px,2.5vw,30px);background:var(--bg-soft)}
.safety-mod>h3{text-align:left;font-size:1.3rem;color:var(--ink);margin-bottom:22px}
.safety-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:24px}
.safety-col{background:#fff;border:1px solid var(--line);border-left:3px solid var(--brand);border-radius:var(--radius-sm);padding:20px}
.safety-col h4{font-size:.95rem;color:var(--ink);margin-bottom:18px}
.chip-btns{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.chip-btn{display:inline-block;text-decoration:none;font-size:.74rem;font-weight:600;color:var(--brand);background:#fff;border:1px solid var(--line-strong);padding:5px 12px;border-radius:999px;cursor:pointer}
.chip-btn:hover{border-color:var(--brand);background:var(--bg-soft);color:var(--brand)}
.print-head{display:none}
.callout{display:none;background:#fff;border:1px solid var(--line-strong);border-left:3px solid var(--brand);border-radius:var(--radius-sm);padding:12px 14px;margin-top:10px;font-size:.8rem;color:var(--ink-2);line-height:1.55}
.callout em{color:var(--faint)}
.safety-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}
.safety-stats .ss{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:16px;text-align:center}
.safety-stats .ss .l{font-size:.78rem;color:var(--muted);margin-bottom:8px}
.safety-stats .ss .n{font-size:1.5rem;font-weight:600;color:var(--ink);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.safety-total{text-align:center;border-top:1px solid var(--line-strong);padding-top:24px}
.safety-total .l{font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.safety-total .big{font-size:clamp(2.2rem,3.4vw,3rem);font-weight:600;letter-spacing:-.03em;color:var(--ink);margin:8px 0 6px;font-variant-numeric:tabular-nums}
.safety-total .combined{color:var(--muted);font-size:.92rem}
.safety-total .combined b{color:var(--brand)}

.calc-cta{margin-top:24px;background:var(--navy);border-radius:var(--radius);padding:clamp(28px,4vw,44px);text-align:center;color:#fff}
.calc-cta h3{color:#fff;font-size:1.5rem;margin-bottom:10px}
.calc-cta p{color:rgba(255,255,255,.78);margin:0 0 22px}
.calc-cta .actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

.popup-overlay{display:none;position:fixed;inset:0;background:rgba(12,22,32,.55);z-index:1000}
.popup-overlay.show{display:block}
.popup-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;padding:28px;border-radius:var(--radius);max-width:600px;width:92%;max-height:82vh;overflow-y:auto;box-shadow:0 30px 60px -15px rgba(12,22,32,.4)}
.popup-content .pop-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.popup-content h3{font-size:1.25rem;color:var(--ink)}
.popup-content .pop-close{background:none;border:0;cursor:pointer;color:var(--muted);width:28px;height:28px}
.popup-content .pop-close:hover{color:var(--ink)}
.pop-block{background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius-sm);padding:16px 18px;margin-bottom:14px}
.pop-block h4{font-size:.95rem;color:var(--ink);margin-bottom:10px}
.pop-block ul{display:grid;gap:7px}
.pop-block li{font-size:.88rem;color:var(--ink-2)}

@media (max-width:980px){
  .calc-grid{grid-template-columns:1fr}
  .calc-inputs{position:static}
  .safety-stats{grid-template-columns:1fr 1fr}
}
@media (max-width:620px){
  .metrics{grid-template-columns:1fr}
  .bd-body{grid-template-columns:1fr}
  .bd-col+.bd-col{border-left:0;border-top:1px solid var(--line)}
  .safety-grid{grid-template-columns:1fr}
  .safety-stats{grid-template-columns:1fr}
}

/* ===== One-page Value Analysis report (rendered only when printing) ===== */
#print-sheet{display:none}
.ps-wrap{font-family:'Inter','Helvetica Neue',Arial,sans-serif;color:var(--ink);width:100%;max-width:100%;padding:0;box-sizing:border-box;overflow:hidden}
.ps-head{display:flex;align-items:flex-end;justify-content:space-between;border-bottom:2px solid var(--brand);padding-bottom:11px}
.ps-head img{height:34px;width:auto}
.ps-head .ps-title{font-size:17px;font-weight:700;color:var(--ink);text-align:right;line-height:1.1}
.ps-head .ps-date{font-size:10px;color:var(--faint);text-align:right;margin-top:3px}
.ps-context{font-size:10.5px;color:var(--muted);margin:11px 0 0}
.ps-context b{color:var(--ink);font-weight:600}
.ps-hero{display:flex;gap:9px;margin-top:14px}
.ps-card{flex:1;border:1px solid var(--line);border-radius:10px;padding:11px 13px}
.ps-card .k{font-size:9px;letter-spacing:.05em;text-transform:uppercase;opacity:.78}
.ps-card .v{font-size:20px;font-weight:700;line-height:1.05;margin-top:6px;letter-spacing:-.01em}
.ps-card .s{font-size:8.5px;opacity:.66;margin-top:4px}
.ps-card--navy{background:var(--navy);color:#fff;border-color:var(--navy)}
.ps-card--blue{background:var(--brand);color:#fff;border-color:var(--brand)}
.ps-cols{display:flex;gap:18px;margin-top:18px}
.ps-col{flex:1}
.ps-sec{font-size:9.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--brand);margin-bottom:6px}
.ps-row{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:var(--ink-2);padding:6.5px 0;border-bottom:1px solid var(--line)}
.ps-row .amt{font-weight:600;color:var(--ink);white-space:nowrap}
.ps-row.total{border-bottom:0;margin-top:7px;background:var(--bg-soft);padding:9px 11px;border-radius:6px;font-weight:700;color:var(--ink)}
.ps-row.total .amt{font-weight:700}
.ps-safety-grid{display:flex;flex-wrap:wrap;gap:8px}
.ps-stat{flex:1 1 44%;border:1px solid var(--line);border-radius:8px;padding:10px 12px}
.ps-stat .l{font-size:9px;color:var(--muted)}
.ps-stat .n{font-size:16px;font-weight:700;color:var(--ink);margin-top:3px}
.ps-combined{margin-top:16px;background:var(--navy);color:#fff;border-radius:10px;padding:13px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.ps-combined .cl{font-size:9.5px;letter-spacing:.07em;text-transform:uppercase;color:#9FC3DE}
.ps-combined .cv{font-size:22px;font-weight:700;letter-spacing:-.01em}
.ps-evidence{margin-top:14px;border:1px solid var(--line);border-radius:10px;padding:12px 16px;background:var(--bg-soft)}
.ps-evidence .et{font-size:9px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--brand)}
.ps-evidence .ec{font-size:10.5px;color:var(--ink-2);margin-top:4px}
.ps-estats{display:flex;gap:30px;margin-top:9px}
.ps-estats .en{font-size:16px;font-weight:700;color:var(--ink)}
.ps-estats .el{font-size:8.5px;color:var(--muted);margin-top:1px}
.ps-foot{margin-top:13px;border-top:1px solid var(--line);padding-top:9px;font-size:8.5px;color:var(--faint);line-height:1.55}
.ps-foot b{color:var(--ink-2);font-weight:600}
@media print{
  body > *{display:none!important}
  #print-sheet{display:block!important}
  html,body{background:#fff!important;margin:0!important;padding:0!important}
  *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;box-sizing:border-box}
  @page{size:Letter portrait;margin:0.45in}
}
.ps-pricenote{font-size:9.5px;color:var(--faint);margin:9px 0 0}
.ps-pricenote b{color:var(--ink-2);font-weight:600}

/* ---- Download-gate modal ---- */
.dlmodal{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;background:rgba(8,15,22,.6);padding:20px}
.dlmodal.open{display:flex}
.dlmodal-inner{position:relative;width:min(440px,100%);background:#fff;border-radius:var(--radius);padding:clamp(24px,4vw,34px);box-shadow:0 30px 70px -20px rgba(12,22,32,.45)}
.dlmodal-inner h3{font-size:1.3rem;color:var(--ink);margin:0 0 6px}
.dlmodal-inner > p{font-size:.94rem;color:var(--muted);margin:0 0 18px;line-height:1.5}
.dlmodal-close{position:absolute;top:10px;right:14px;background:none;border:0;font-size:1.7rem;line-height:1;color:var(--faint);cursor:pointer;padding:4px}
.dlmodal-close:hover{color:var(--ink)}
.dlmodal .field{margin-bottom:14px}
.dlmodal .field label{display:block;font-weight:600;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2);margin-bottom:7px}
.dlmodal .field input{width:100%;padding:12px 14px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);font:inherit;font-size:.96rem;color:var(--ink);background:#fff;transition:border-color .15s,box-shadow .15s}
.dlmodal .field input:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(20,32,43,.08)}
