:root {
  --evct-ink: var(--ev-ink,#102027);
  --evct-muted: var(--ev-ink-soft,#58666c);
  --evct-green: var(--ev-green,#0a8064);
  --evct-dark: var(--ev-green-deep,#062d25);
  --evct-lime: var(--ev-lime,#c8f36b);
  --evct-line: var(--ev-line,#dce6e2);
  --evct-wash: var(--ev-wash,#e7f3ee);
  --evct-canvas: var(--ev-canvas,#f3f7f5);
  --evct-shadow: var(--ev-shadow,0 18px 54px rgba(18,49,41,.09));
}
.evct-calculators *, .evct-finder * { box-sizing:border-box; }
.evct-calculators,.evct-finder { padding:65px 0 105px; color:var(--evct-ink); }
.evct-page-head { max-width:980px; margin-bottom:42px; }
.evct-page-head > p,.evct-results-head p { margin:0 0 12px; color:var(--evct-green); font-size:.7rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.evct-page-head h1 { margin:0 0 18px; font-size:clamp(2.7rem,5vw,5.3rem); letter-spacing:-.06em; line-height:1; }
.evct-page-head > span { display:block; max-width:760px; color:var(--evct-muted); font-size:1.06rem; }
.evct-tabs { display:flex; gap:6px; margin-bottom:16px; padding:6px; border:1px solid var(--evct-line); border-radius:12px; background:#fff; }
.evct-tabs a { display:flex; min-height:46px; flex:1; align-items:center; justify-content:center; padding:0 17px; border:0; border-radius:8px; background:transparent; color:var(--evct-muted); font-size:.77rem; font-weight:750; text-decoration:none; }
.evct-tabs a.is-active { background:var(--evct-dark); color:#fff; }
.evct-calculator { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(380px,.9fr); overflow:hidden; border:1px solid var(--evct-line); border-radius:18px; background:#fff; box-shadow:var(--evct-shadow); }
.evct-calculators.is-enhanced .evct-calculator:not(.is-active) { display:none; }
.evct-calculator { scroll-margin-top:140px; }
.evct-inputs { padding:clamp(28px,5vw,60px); }
.evct-inputs h2 { margin:0 0 10px; font-size:clamp(1.7rem,3vw,2.6rem); }
.evct-inputs > p { max-width:680px; margin-bottom:32px; color:var(--evct-muted); font-size:.84rem; }
.evct-field { display:grid; grid-template-columns:1fr minmax(170px,.7fr); align-items:center; gap:20px; min-height:67px; border-bottom:1px solid var(--evct-line); }
.evct-field > span { font-size:.78rem; font-weight:650; }
.evct-field > div { display:flex; align-items:center; justify-self:end; width:180px; }
.evct-field input[type=number],.evct-field select { width:100%; min-height:40px; padding:0 9px; border:1px solid var(--evct-line); border-radius:7px 0 0 7px; background:#fff; }
.evct-field select { border-radius:7px; }
.evct-field i { display:flex; min-height:40px; align-items:center; padding:0 9px; border:1px solid var(--evct-line); border-left:0; border-radius:0 7px 7px 0; background:var(--evct-canvas); color:var(--evct-muted); font-size:.63rem; font-style:normal; white-space:nowrap; }
.evct-range { grid-template-columns:1fr auto; padding:14px 0; }
.evct-range output { color:var(--evct-green); font-size:.75rem; font-weight:750; }
.evct-range input { width:100%; height:5px; grid-column:1/-1; border-radius:5px; outline:0; background:linear-gradient(to right,var(--evct-green) 0 var(--range-progress),#dce6e2 var(--range-progress) 100%); appearance:none; }
.evct-range input::-webkit-slider-thumb { width:19px; height:19px; border:3px solid #fff; border-radius:50%; background:var(--evct-green); box-shadow:0 2px 7px rgba(6,45,37,.22); appearance:none; }
.evct-range input::-moz-range-thumb { width:15px; height:15px; border:3px solid #fff; border-radius:50%; background:var(--evct-green); box-shadow:0 2px 7px rgba(6,45,37,.22); }
.evct-output { display:flex; flex-direction:column; justify-content:center; padding:clamp(30px,5vw,60px); background:var(--evct-canvas); }
.evct-output > p { margin:0 0 35px; color:var(--evct-green); font-size:.67rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.evct-saving span,.evct-saving strong { display:block; }
.evct-saving span { color:var(--evct-muted); font-size:.75rem; }
.evct-saving strong,.evct-big-output strong { margin:5px 0 30px; color:var(--evct-green); font-size:clamp(3rem,6vw,5.4rem); letter-spacing:-.065em; line-height:1; }
.evct-output dl { margin:0 0 28px; }
.evct-output dl > div { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:12px 0; border-bottom:1px solid rgba(128,150,142,.22); }
.evct-output dt { color:var(--evct-muted); font-size:.72rem; }
.evct-output dd { margin:0; font-size:.78rem; font-weight:750; }
.evct-output > small { color:var(--evct-muted); font-size:.63rem; line-height:1.55; }
.evct-output-dark { background:var(--evct-dark); color:#fff; }
.evct-output-dark > p,.evct-output-dark .evct-saving strong { color:var(--evct-lime); }
.evct-output-dark .evct-saving span,.evct-output-dark dt,.evct-output-dark > small { color:#aac2b9; }
.evct-output-dark dl > div { border-color:rgba(255,255,255,.13); }
.evct-big-output strong,.evct-big-output span { display:block; }
.evct-big-output span { margin-top:-20px; margin-bottom:28px; color:var(--evct-muted); font-size:.74rem; }
.evct-output-lime { background:var(--evct-lime); color:var(--evct-dark); }
.evct-output-lime > p,.evct-output-lime .evct-big-output strong { color:var(--evct-dark); }
.evct-output-lime .evct-big-output span,.evct-output-lime dt,.evct-output-lime > small { color:#3d5d52; }
.evct-output-lime dl > div { border-color:rgba(6,45,37,.18); }

/* Finder */
.evct-finder-progress { position:relative; overflow:hidden; height:7px; margin-bottom:15px; border-radius:6px; background:#dce6e2; }
.evct-finder-progress i { display:block; width:16.66%; height:100%; border-radius:6px; background:var(--evct-green); transition:width .25s; }
.evct-finder-progress span { position:absolute; right:0; bottom:13px; color:var(--evct-muted); font-size:.67rem; }
.evct-finder-card { overflow:hidden; padding:clamp(30px,6vw,70px); border:1px solid var(--evct-line); border-radius:20px; background:#fff; box-shadow:var(--evct-shadow); }
.evct-finder-card fieldset { margin:0; padding:0; border:0; }
.evct-finder-card legend { max-width:900px; margin-bottom:13px; font-size:clamp(1.8rem,4vw,3.5rem); font-weight:800; letter-spacing:-.05em; line-height:1.07; }
.evct-finder-card fieldset > p { margin-bottom:35px; color:var(--evct-muted); }
.evct-options { display:grid; grid-template-columns:repeat(3,1fr); gap:11px; }
.evct-options label { position:relative; }
.evct-options input { position:absolute; opacity:0; }
.evct-options span { display:flex; min-height:72px; align-items:center; justify-content:center; padding:15px; border:1px solid var(--evct-line); border-radius:10px; background:#fff; text-align:center; font-size:.8rem; font-weight:650; transition:border-color .2s,background .2s,transform .2s; }
.evct-options label:hover span { transform:translateY(-2px); border-color:#a9c5ba; }
.evct-options input:focus-visible + span { outline:3px solid rgba(10,128,100,.2); outline-offset:2px; }
.evct-options input:checked + span { border-color:var(--evct-green); background:var(--evct-wash); color:var(--evct-green); box-shadow:inset 0 0 0 1px var(--evct-green); }
.evct-options-compact { grid-template-columns:repeat(4,1fr); }
.evct-options-compact span { min-height:58px; }
.evct-finder-actions { display:flex; align-items:center; justify-content:space-between; margin-top:45px; padding-top:22px; border-top:1px solid var(--evct-line); }
.evct-finder-actions button { min-width:105px; min-height:45px; padding:0 16px; border:1px solid var(--evct-line); border-radius:8px; background:#fff; color:var(--evct-ink); font-size:.76rem; font-weight:750; }
.evct-finder-actions button:last-child { border-color:var(--evct-green); background:var(--evct-green); color:#fff; }
.evct-finder-actions button:disabled { cursor:not-allowed; opacity:.4; }
.evct-finder-results { padding-top:15px; }
.evct-results-head { display:flex; align-items:end; justify-content:space-between; gap:30px; margin:40px 0 24px; }
.evct-results-head h2 { margin:0; font-size:clamp(2rem,4vw,3.6rem); }
.evct-results-head button { padding:10px 15px; border:1px solid var(--evct-green); border-radius:8px; background:#fff; color:var(--evct-green); font-size:.75rem; font-weight:750; white-space:nowrap; }
[data-finder-message] { margin-bottom:16px; color:var(--evct-muted); font-size:.76rem; }
.evct-match-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.evct-match-card { overflow:hidden; border:1px solid var(--evct-line); border-radius:14px; background:#fff; }
.evct-match-image { display:grid; aspect-ratio:1.55; place-items:center; background:var(--evct-canvas); }
.evct-match-image img { width:100%; height:100%; padding:12px; object-fit:contain; }
.evct-match-placeholder { color:#afc3bb; font-size:1.6rem; font-weight:850; }
.evct-match-card > div { padding:20px; }
.evct-match-card > div > p { display:flex; min-height:22px; align-items:center; gap:7px; margin:0 0 5px; color:var(--evct-green); font-size:.6rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.evct-match-make-logo { width:34px; height:18px; object-fit:contain; }
.evct-match-card h3 { min-height:2.4em; margin:0 0 15px; font-size:1rem; line-height:1.2; }
.evct-match-card ul { min-height:80px; margin:0 0 15px; padding:13px 13px 13px 31px; border-radius:8px; background:var(--evct-wash); color:#2d5145; font-size:.66rem; }
.evct-match-card dl { display:grid; grid-template-columns:1fr 1fr; margin:0; }
.evct-match-card dt { color:var(--evct-muted); font-size:.6rem; }
.evct-match-card dd { margin:1px 0 0; font-size:.78rem; font-weight:750; }
.evct-match-actions { display:grid; grid-template-columns:1fr 1fr; gap:7px; margin-top:17px; }
.evct-match-actions a,.evct-match-actions button { display:flex; min-height:40px; align-items:center; justify-content:center; border:1px solid var(--evct-line); border-radius:7px; background:#fff; color:var(--evct-ink); font-size:.7rem; font-weight:750; }
.evct-match-actions button { border-color:var(--evct-green); color:var(--evct-green); }
.evct-match-actions button.is-added { background:var(--evct-green); color:#fff; }
.evct-notice { padding:30px; border:1px solid var(--evct-line); border-radius:12px; background:#fff; }

/* Newsletter */
.evct-newsletter > div { display:grid; grid-template-columns:1fr auto; overflow:hidden; border:1px solid rgba(255,255,255,.2); border-radius:8px; background:rgba(255,255,255,.07); }
.evct-newsletter input[type=email] { min-width:0; min-height:46px; padding:0 12px; border:0; outline:0; background:transparent; color:inherit; }
.evct-newsletter input[type=email]::placeholder { color:#92aba2; }
.evct-newsletter button { padding:0 14px; border:0; background:var(--evct-lime); color:var(--evct-dark); font-size:.7rem; font-weight:800; }
.evct-newsletter button:disabled { opacity:.55; }
.evct-newsletter > small { display:block; margin-top:7px; color:#92aba2; font-size:.61rem; line-height:1.45; }
.evct-newsletter > small a { color:inherit; text-decoration:underline; text-underline-offset:2px; }
.evct-newsletter > p { min-height:1.4em; margin:7px 0 0!important; color:#a9c3ba!important; font-size:.61rem!important; }
.evct-newsletter > p.is-error { color:#ffd0d0!important; }
.evct-hp { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; opacity:0!important; }

@media(max-width:980px){
  .evct-calculator { grid-template-columns:1fr; }
  .evct-output { min-height:420px; }
  .evct-options { grid-template-columns:repeat(2,1fr); }
  .evct-options-compact { grid-template-columns:repeat(3,1fr); }
  .evct-match-grid { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:650px){
  .evct-calculators,.evct-finder { padding:48px 0 75px; }
  .evct-tabs { overflow:auto; }
  .evct-tabs a { min-width:135px; }
  .evct-inputs,.evct-output { padding:25px 20px; }
  .evct-field { grid-template-columns:1fr; gap:7px; padding:12px 0; }
  .evct-field > div { width:100%; justify-self:stretch; }
  .evct-range { grid-template-columns:1fr auto; }
  .evct-range input { grid-column:1/-1; }
  .evct-output { min-height:370px; }
  .evct-finder-card { padding:28px 18px; }
  .evct-options,.evct-options-compact { grid-template-columns:1fr; }
  .evct-options span { min-height:55px; }
  .evct-results-head { align-items:flex-start; flex-direction:column; }
  .evct-match-grid { grid-template-columns:1fr; }
  .evct-match-card h3,.evct-match-card ul { min-height:0; }
}
