.higc{--g:var(--green,#267c16);--gd:var(--green-dark,#1b5e0f);--gl:var(--green-soft,#eef7eb);--bd:var(--line,#e3e8df);--tx:var(--text,#1d2a1b);--mu:var(--muted,#5f6b5c);--cr:var(--cream,#faf7f1);position:relative;margin:28px 0;border:1px solid var(--bd);border-radius:var(--r-lg,6px);background:#fff;box-shadow:0 6px 18px rgba(29,58,26,.08);overflow:hidden;min-height:340px;color:var(--tx);font-family:inherit;line-height:1.5}
.higc *{box-sizing:border-box}
.higc::before{content:"Calculator \00b7  estimates for planning";display:block;padding:11px 20px;background:var(--cr);border-bottom:1px solid var(--bd);font-size:11.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--g)}
.higc-form{padding:20px}

.higc-units{display:flex;align-items:center;gap:10px;margin-bottom:18px;padding-bottom:16px;border-bottom:1px dashed var(--bd)}
.higc-units label{font-size:13px;font-weight:600;color:var(--mu)}
.higc select,.higc input[type=text]{width:100%;min-height:46px;padding:9px 13px;border:1px solid #cfd8ca;border-radius:var(--r,5px);background:#fff;font:inherit;font-size:15px;color:var(--tx);transition:border-color .15s,box-shadow .15s}
.higc select{appearance:none;-webkit-appearance:none;padding-right:38px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23267c16' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;cursor:pointer}
.higc-units select{width:auto;min-width:190px;min-height:40px;font-weight:600}
.higc input:hover,.higc select:hover{border-color:#a9bba3}
.higc input:focus,.higc select:focus{outline:0;border-color:var(--g);box-shadow:0 0 0 3px rgba(38,124,22,.18)}
.higc button:focus-visible{outline:3px solid rgba(38,124,22,.35);outline-offset:2px}
.higc [aria-invalid=true]{border-color:#b3261e;background:#fff8f7;box-shadow:0 0 0 3px rgba(179,38,30,.12)}

.higc-grid{display:grid;grid-template-columns:1fr;gap:16px}
.higc-f label{display:block;margin-bottom:6px;font-size:13.5px;font-weight:600;color:var(--tx)}
.higc-f small{display:block;margin-top:5px;font-size:12.5px;line-height:1.4;color:var(--mu)}
.higc-box{position:relative}
.higc-box input{padding-right:84px}
.higc-unit{position:absolute;right:8px;top:50%;transform:translateY(-50%);padding:3px 8px;border-radius:var(--r-chip,4px);background:var(--cr);font-size:12px;font-weight:600;color:var(--mu);pointer-events:none;white-space:nowrap}
.higc-unit:empty{display:none}
.higc-check{display:flex;align-items:center;gap:10px;align-self:end;min-height:46px;padding:0 13px;border:1px solid #cfd8ca;border-radius:var(--r,5px);background:var(--cr)}
.higc-check input{width:20px;height:20px;margin:0;accent-color:var(--g);cursor:pointer}
.higc-check label{margin:0;cursor:pointer}
.higc-group{margin:0;padding:12px 16px 16px;border:1px solid var(--bd);border-radius:var(--r-lg,6px);background:var(--cr);display:grid;grid-template-columns:1fr 1fr;gap:12px}
.higc-group legend{padding:2px 10px;border-radius:var(--r-chip,4px);background:var(--g);font-size:12px;font-weight:600;letter-spacing:.04em;color:#fff}

.higc-actions{display:flex;gap:10px;margin-top:22px}
.higc button{min-height:46px;padding:0 26px;border-radius:var(--r-btn,3px);font:inherit;font-size:15px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,transform .05s}
.higc button:active{transform:translateY(1px)}
.higc-go{flex:1;max-width:240px;border:1px solid var(--g);background:var(--g);color:#fff}
.higc-go:hover{background:var(--gd);border-color:var(--gd)}
.higc-reset{border:1px solid #cfd8ca;background:#fff;color:var(--mu)}
.higc-reset:hover{border-color:var(--g);color:var(--g)}

.higc-error{display:none;margin:0 20px 20px;padding:11px 14px;border-left:4px solid #b3261e;border-radius:var(--r,5px);background:#fdecea;font-size:14px;color:#8a1c14}
.higc-error.on{display:block}

.higc-result:not(:empty){padding:22px 20px 20px;border-top:3px solid var(--g);background:var(--gl)}
.higc-main{display:flex;flex-direction:column;gap:4px;margin-bottom:14px;animation:higc-pop .35s ease-out}
.higc-main-l{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--mu)}
.higc-main-v{font-size:clamp(30px,6vw,42px);font-weight:700;line-height:1.15;color:var(--g);overflow-wrap:anywhere}
.higc-rows{margin:0;border-radius:var(--r,5px);background:#fff;border:1px solid #d3e4cd}
.higc-rows>div{display:flex;justify-content:space-between;gap:16px;padding:10px 14px}
.higc-rows>div+div{border-top:1px solid #e6efe2}
.higc-rows dt{margin:0;font-size:14px;color:var(--mu)}
.higc-rows dd{margin:0;font-size:14.5px;font-weight:700;text-align:right;color:var(--ink,#12200f);font-variant-numeric:tabular-nums}
.higc-note{margin:12px 0 0;font-size:13px;line-height:1.5;color:var(--mu)}
.higc-note+.higc-note{margin-top:6px}
@keyframes higc-pop{from{transform:translateY(6px)}to{transform:none}}
@media(prefers-reduced-motion:reduce){.higc-main{animation:none}.higc button,.higc input,.higc select{transition:none}}

@media(min-width:700px){.higc-form{padding:26px}.higc-grid{grid-template-columns:1fr 1fr}.higc-group{grid-column:1/-1}.higc-result:not(:empty){padding:26px}.higc-error{margin:0 26px 26px}.higc::before{padding:11px 26px}}
@media(max-width:420px){.higc-form{padding:16px}.higc-group{grid-template-columns:1fr}.higc-actions .higc-go{max-width:none}.higc-result:not(:empty){padding:18px 16px}.higc-error{margin:0 16px 16px}.higc::before{padding:10px 16px}}
@media print{.higc-actions,.higc-units{display:none}.higc{box-shadow:none}}

/* ---------- hub page ---------- */
.hubc{--g:var(--green,#267c16);--gd:var(--green-dark,#1b5e0f);--gl:var(--green-soft,#eef7eb);--bd:var(--line,#e3e8df);--mu:var(--muted,#5f6b5c);--cr:var(--cream,#faf7f1);margin-top:4px}
.hubc-stats{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 8px;padding:0;list-style:none}
.hubc-stats li{margin:0;padding:8px 14px;border:1px solid var(--bd);border-radius:999px;background:var(--cr);font-size:13.5px;color:var(--mu)}
.hubc-stats strong{color:var(--g)}
.hubc-h{margin:34px 0 14px;padding-bottom:10px;border-bottom:2px solid var(--gl);font-size:22px}
.hubc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px}
.hubc-card{position:relative;display:flex;align-items:flex-start;gap:14px;padding:18px;border:1px solid var(--bd);border-radius:var(--r-lg,6px);background:#fff;color:inherit;text-decoration:none;box-shadow:0 2px 8px rgba(29,58,26,.05);transition:border-color .15s,box-shadow .15s,transform .15s}
.hubc-card:hover,.hubc-card:focus-visible{border-color:var(--g);box-shadow:0 10px 24px rgba(29,58,26,.12);transform:translateY(-2px);outline:0}
.hubc-icon{flex:none;display:grid;place-items:center;width:50px;height:50px;border-radius:var(--r-lg,6px);background:var(--gl);color:var(--g)}
.hubc-body{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1}
.hubc-title{font-size:16px;font-weight:600;line-height:1.3;color:var(--ink,#12200f)}
.hubc-desc{font-size:14px;line-height:1.5;color:var(--mu)}
.hubc-meta{align-self:flex-start;margin-top:4px;padding:2px 8px;border-radius:var(--r-chip,4px);background:var(--cr);font-size:11.5px;font-weight:600;letter-spacing:.03em;color:var(--g)}
.hubc-go{align-self:center;font-size:20px;color:var(--g);transition:transform .15s}
.hubc-card:hover .hubc-go{transform:translateX(3px)}
.hubc-tips{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.hubc-tips>div{display:flex;flex-direction:column;gap:6px;padding:16px 18px;border-left:4px solid var(--g);border-radius:0 var(--r-lg,6px) var(--r-lg,6px) 0;background:var(--gl)}
.hubc-tips strong{font-size:15px;color:var(--ink,#12200f)}
.hubc-tips span{font-size:14px;line-height:1.5;color:var(--mu)}
.hubc-note{margin:26px 0 0;font-size:13px;line-height:1.55;color:var(--mu)}
@media(max-width:700px){.hubc-tips{grid-template-columns:1fr}.hubc-grid{grid-template-columns:1fr}.hubc-h{font-size:20px}}
@media(prefers-reduced-motion:reduce){.hubc-card,.hubc-go{transition:none}.hubc-card:hover{transform:none}}
.hig-page-layout.hig-page-layout--wide{grid-template-columns:minmax(0,1fr)}
.hig-content a.hubc-card,.hig-content a.hubc-card:hover,.hig-content a.hubc-card *{text-decoration:none}
.hubc-card:hover .hubc-title{color:var(--g)}
.hubc-grid--home{grid-template-columns:repeat(4,1fr)}
.hubc-grid--home .hubc-card{flex-direction:column;gap:12px}
.hubc-grid--home .hubc-go{position:absolute;right:16px;top:18px;align-self:auto}
@media(max-width:1100px){.hubc-grid--home{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.hubc-grid--home{grid-template-columns:1fr}.hubc-grid--home .hubc-card{flex-direction:row}}
.hubc .hig-text-link{white-space:nowrap}
@media(max-width:600px){.hubc .hig-section-head{flex-direction:column;gap:10px}}
