/* Leak Finder (builds on ../website-cost-calculator/calc.css) */
.lf{max-width:860px;margin:clamp(36px,5vw,64px) 0 clamp(36px,5vw,56px)}
.lf-tool{padding:clamp(22px,3vw,40px);border:1px solid var(--line);border-radius:var(--r-l);background:rgba(244,244,241,.02)}
.lf-tool[hidden],.lf-step[hidden],.lf-result[hidden],.lf-blueprint[hidden],#lf-ecom[hidden],#lf-cart-wrap[hidden],.lf-nav [hidden],.calc__lead[hidden]{display:none}
.lf-head{display:grid;gap:10px;margin-bottom:clamp(20px,3vw,30px)}
.lf-count{color:var(--lime);font-size:12px}
.lf-progress{display:block;height:3px;border-radius:3px;background:var(--line);overflow:hidden;--p:33.33%}
.lf-progress i{display:block;height:100%;width:var(--p);background:var(--lime);transition:width .6s var(--ease)}
.lf-step{margin:0;padding:0;border:0;min-width:0;display:grid;gap:22px}
.lf-q{font-family:var(--display);font-size:clamp(1.4rem,2.6vw,1.9rem);line-height:1.15;color:var(--paper);margin-bottom:6px;padding:0}
.lf-field{display:grid;gap:10px}
.lf-field>label,.lf-range__row label{font-size:15px;color:var(--paper-dim);line-height:1.4}
.lf-input,.lf-select{width:100%;min-height:52px;padding:0 16px;border-radius:14px;border:1px solid var(--line);background:rgba(244,244,241,.03);color:var(--paper);font:inherit;font-size:16px;outline:none;transition:border-color .3s var(--ease),box-shadow .3s var(--ease)}
.lf-input:focus,.lf-select:focus{border-color:var(--lime);box-shadow:0 0 0 4px rgba(200,255,45,.1)}
.lf-select{width:auto;flex:0 0 auto;cursor:pointer}
.lf-select option{background:#111;color:#f2f2f2}
.lf-money{display:flex;gap:8px;align-items:center}
.lf-money .lf-input{flex:1 1 auto;min-width:0}
.lf-sym{font-family:var(--mono);font-size:13px;color:var(--lime);min-width:2.2em}
.lf-range__row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.lf-range__row output{font-family:var(--display);font-size:1.4rem;color:var(--lime)}
.lf input[type=range]{width:100%;accent-color:var(--lime);height:28px;cursor:pointer}
.lf input[type=range]:focus-visible{outline:2px solid var(--lime);outline-offset:4px;border-radius:4px}
.lf-nav{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-top:clamp(22px,3vw,30px)}
.lf-nav #lf-next,.lf-nav #lf-go{margin-left:auto}
#lf-step-err{margin-top:16px}
.lf-result{position:static;gap:16px;scroll-margin-top:96px}
.lf-total{outline:none}
.lf-link{background:none;border:0;padding:0;color:var(--lime);font:inherit;text-decoration:underline;cursor:pointer}
.lf-link:focus-visible{outline:2px solid var(--lime);outline-offset:3px}
.lf-lead__title{font-family:var(--display);font-size:1.15rem;line-height:1.3;color:var(--paper);margin-top:6px}
.lf-blueprint{display:grid;gap:22px;margin-top:6px}
.lf-bp-block{outline:none}
.lf-bp-title{font-size:clamp(1.3rem,2.4vw,1.7rem);line-height:1.2}
.lf-eyebrow{color:var(--lime);font-size:12px;margin-bottom:12px}
.lf-leaks{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.lf-leak__top{display:flex;justify-content:space-between;gap:12px;font-size:15px;color:var(--paper-dim);margin-bottom:6px}
.lf-leak__top b{font-weight:600;color:var(--paper);white-space:nowrap}
.lf-leak__top small{font-weight:400;color:var(--paper-faint);margin-left:2px}
.lf-bar{display:block;height:6px;border-radius:6px;background:rgba(244,244,241,.06);overflow:hidden}
.lf-bar i{display:block;height:100%;width:var(--w);border-radius:inherit;background:linear-gradient(90deg,var(--lime),#7c5cff);transform-origin:0 50%}
.lf-fixes{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.lf-fixes li{display:grid;grid-template-columns:auto 1fr;gap:14px;padding:16px;border:1px solid var(--line);border-radius:var(--r-m);background:rgba(244,244,241,.03)}
.lf-fix__no{color:var(--lime);font-size:12px;padding-top:3px}
.lf-fixes strong{display:block;color:var(--paper);font-size:16px;margin-bottom:4px}
.lf-fixes p{font-size:14px;color:var(--paper-dim);line-height:1.55}
.lf-fixes small{display:block;margin-top:6px;font-size:12px;color:var(--paper-faint)}
.lf-pkg{padding:18px;border-radius:var(--r-m);border:1px solid rgba(200,255,45,.35);background:rgba(200,255,45,.05)}
.lf-pkg h3{font-size:1.4rem;margin-bottom:6px}
.lf-pkg h3 span{font-family:var(--body,inherit);font-size:.7em;color:var(--lime);margin-left:6px}
.lf-pkg p{font-size:14.5px;color:var(--paper-dim);line-height:1.6}
.lf-pkg strong{color:var(--paper)}
.lf-note{margin-top:6px;font-size:12.5px !important;color:var(--paper-faint) !important}
.lf-actions{display:flex;flex-wrap:wrap;gap:10px}
.lf-how{max-width:860px;margin:0 0 clamp(60px,8vw,110px);border:1px solid var(--line);border-radius:var(--r-l)}
.lf-how summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px clamp(18px,2.4vw,26px);cursor:pointer;font-family:var(--display);font-size:1.15rem;list-style:none;min-height:44px}
.lf-how summary::-webkit-details-marker{display:none}
.lf-how summary span{color:var(--lime);font-size:1.4rem;transition:transform .3s var(--ease)}
.lf-how[open] summary span{transform:rotate(45deg)}
.lf-how summary:focus-visible{outline:2px solid var(--lime);outline-offset:3px;border-radius:var(--r-l)}
.lf-how__body{padding:0 clamp(18px,2.4vw,26px) clamp(20px,2.6vw,28px);font-size:15px;color:var(--paper-dim);line-height:1.65}
.lf-how__body h3{font-size:1rem;color:var(--paper);margin:18px 0 8px}
.lf-how__body ul{margin:0;padding-left:1.1em;display:grid;gap:6px}
.lf-how__body strong{color:var(--paper)}
@media(max-width:574px){
  .lf-tool{padding:20px 16px}
  .lf-nav .btn{flex:1 1 auto;justify-content:center}
  .lf-actions .btn{width:100%;justify-content:center}
  .lf-leak__top{font-size:14px}
}
@media(prefers-reduced-motion:reduce){.lf-progress i,.lf-how summary span{transition:none}}

/* hide number spinners */
.lf-input::-webkit-outer-spin-button,.lf-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.lf-input[type=number]{-moz-appearance:textfield;appearance:textfield}
/* keep chip groups inline (lf-field's grid was stacking them) */
.chips.lf-field{display:flex;flex-wrap:wrap;gap:8px}
.chips.lf-field>legend{width:100%;margin-bottom:4px}
@media(min-width:1200px) and (max-width:1599px){.lf-q{font-size:1.6rem}.lf-bp-title{font-size:1.5rem}}
