/* Cost Estimator */
.est-sec{padding:clamp(34px,5vw,64px) 0 clamp(50px,7vw,96px)}
.est-wrap{max-width:1280px}
.est-print{display:none}
#est{border:1px solid rgba(110,160,255,.28);border-radius:14px;background:linear-gradient(160deg,rgba(16,28,56,.92),rgba(7,13,28,.96));padding:clamp(16px,2.6vw,30px);color:#e6edfc;box-shadow:0 50px 110px -50px rgba(0,0,0,.9)}
.est-chips{display:flex;gap:8px;flex-wrap:wrap}
.est-chips button{font:700 .9rem Inter,sans-serif;padding:11px 18px;border-radius:99px;border:1px solid rgba(143,170,230,.35);background:transparent;color:#cfdcf5;cursor:pointer;transition:all .2s}
.est-chips button:hover{border-color:var(--c)}.est-chips button[aria-selected=true]{background:var(--c);border-color:var(--c);color:#07101f;box-shadow:0 10px 26px -10px var(--c)}
.est-blurb{margin:16px 0 18px;color:#cdd8ef;max-width:90ch;line-height:1.55}.est-blurb b{color:#fff}.est-blurb span{display:block;color:#ffb020;font-size:.85rem;margin-top:4px}
.est-tw{overflow-x:auto;border:1px solid rgba(143,170,230,.2);border-radius:10px}
.est-t{width:100%;border-collapse:collapse;min-width:820px}
.est-t th{font:700 .68rem Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#8fa0bf;text-align:left;padding:12px 10px;background:rgba(4,9,22,.6);white-space:nowrap}
.est-t td{padding:5px 8px;border-top:1px solid rgba(143,170,230,.12)}
.est-t .r{text-align:right}.est-t .lt{font:600 .92rem Inter,sans-serif;font-variant-numeric:tabular-nums;color:#fff;white-space:nowrap;padding-right:14px}
.est-t input,.est-t select,.est-set input,.est-set select{width:100%;box-sizing:border-box;padding:9px 10px;font:500 .92rem Inter,sans-serif;color:#fff;background:#07101f;border:1px solid rgba(143,170,230,.28);border-radius:4px}
.est-t input.s{width:64px}.est-t td:nth-child(2){width:74px}.est-t td:nth-child(3){width:130px}.est-t td:nth-child(4){width:140px}.est-t td:nth-child(5){width:104px}.est-t td:nth-child(7){width:46px}
.est-t input:focus,.est-t select:focus,.est-set input:focus,.est-set select:focus{outline:2px solid #ff4d66;outline-offset:1px}
.est-t input[aria-invalid=true]{border-color:#ff4d66;box-shadow:0 0 0 3px rgba(255,77,102,.22)}
.est-t .rm{width:32px;height:34px;border-radius:4px;border:1px solid rgba(143,170,230,.3);background:transparent;color:#9fb0d4;font-size:1.2rem;cursor:pointer}.est-t .rm:hover{background:#ff4d66;border-color:#ff4d66;color:#fff}
.est-acts{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:16px 0}
.est-hint{color:#8fa0bf;font-size:.85rem}
.est-set{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:8px 0 22px;padding:18px;border:1px solid rgba(143,170,230,.2);border-radius:10px;background:rgba(4,9,22,.45)}
@media(max-width:1000px){.est-set{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.est-set{grid-template-columns:1fr}}
.est-set label{display:block;font:700 .68rem Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#8fa0bf}
.est-set label>div{position:relative;margin-top:6px}.est-set label>div input{padding-right:34px}.est-set label>div i{position:absolute;right:11px;top:50%;translate:0 -50%;font-style:normal;color:#8fa0bf;font-size:.8rem;text-transform:none;letter-spacing:0}
.est-set>label>select{margin-top:6px}
.est-set .wide{grid-column:1/-1}.est-set .wide input{margin-top:8px;accent-color:#ff4d66;padding:0;height:28px;cursor:pointer}.est-set output{color:#ff7a8f;margin-left:6px}.est-set small{display:block;text-transform:none;letter-spacing:0;font:500 .8rem Inter,sans-serif;color:#8fa0bf;margin-top:2px}
.est-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:0 0 18px}
@media(max-width:1100px){.est-kpis{grid-template-columns:repeat(3,1fr)}}@media(max-width:600px){.est-kpis{grid-template-columns:repeat(2,1fr)}}
.est-kpis>div{border:1px solid rgba(143,170,230,.2);border-radius:10px;background:rgba(4,9,22,.55);padding:14px 16px;min-width:0}
.est-kpis small{display:block;font:700 .64rem Inter,sans-serif;letter-spacing:.11em;text-transform:uppercase;color:#8fa0bf}
.est-kpis b{display:block;font:300 clamp(1.5rem,2.3vw,2.1rem)/1.15 var(--serif,Georgia,serif);color:#fff;margin:4px 0 2px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.est-kpis span{font-size:.78rem;color:#9fb0d4}
.est-kpis .g b{color:#35d49a}.est-kpis .w b{color:#ffb020}.est-kpis .r b{color:#ff6b80}
.est-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:900px){.est-grid{grid-template-columns:1fr}}
.est-f{margin:0;border:1px solid rgba(143,170,230,.2);border-radius:10px;background:rgba(4,9,22,.6);padding:16px;cursor:zoom-in;position:relative;transition:border-color .25s,transform .25s;min-width:0}
.est-f.wide{grid-column:1/-1}.est-f:hover{border-color:rgba(255,77,102,.7);transform:translateY(-3px)}.est-f:focus-visible{outline:2px solid #ff4d66;outline-offset:2px}
.est-f figcaption b{display:block;font:400 1.2rem var(--serif,Georgia,serif);color:#fff}.est-f figcaption span{display:block;font-size:.85rem;color:#9fb0d4;margin:2px 0 10px;max-width:70ch}
.est-f:hover .db-zoom,.est-f:focus-visible .db-zoom{opacity:1}
.est-excl{margin-top:22px;padding:16px 20px;border-left:4px solid #ffb020;background:rgba(255,176,32,.06);border-radius:0 8px 8px 0}.est-excl h4{margin:0 0 6px;font:700 .72rem Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#ffb020}.est-excl ul{margin:0;padding-left:18px;color:#b9c4dc;font-size:.88rem;line-height:1.6}
.est-note{margin-top:18px;color:#8fa0bf}.est-note a{color:#ff7a8f}
/* chart primitives shared with dashboard.css are loaded on this page */
@media print{
 header.site,footer,.fx-top,.phero,.est-chips,.est-acts,.est-set,.est-tw .rm,.skip,.est-note,.db-zoom,.cl-btn{display:none!important}
 body,.lab,.est-sec{background:#fff!important;color:#000!important}.est-sec{padding:0}
 .est-print{display:flex!important;justify-content:space-between;border-bottom:2px solid #c8102e;margin-bottom:12px;padding-bottom:6px;color:#000}
 #est{background:#fff!important;border:0;box-shadow:none;color:#000;padding:0}
 .est-blurb,.est-blurb b,.est-t td,.est-t th,.est-kpis b,.est-kpis small,.est-kpis span,.est-f figcaption b,.est-f figcaption span,.est-excl ul,.est-excl h4{color:#000!important}
 .est-t input,.est-t select{background:#fff!important;color:#000!important;border:0}.est-kpis>div,.est-f{background:#fff!important;border:1px solid #bbb;break-inside:avoid}
 .est-grid{grid-template-columns:1fr 1fr}.est-t{min-width:0}.est-tw{overflow:visible}
 .ax,.axt{fill:#333!important}.tx{fill:#000!important;stroke:#fff!important}.gl{stroke:#ccc!important}.cv,.vb,.dhb,.seg{animation:none!important;stroke-dashoffset:0!important}
}
