.banner{background:#f3e3b5;color:#5a4410;text-align:center;font:500 13px/1.4 var(--text);padding:10px 16px;letter-spacing:.04em;text-transform:uppercase}
.sal{padding-top:clamp(44px,7vw,80px);padding-bottom:clamp(56px,8vw,96px)}
.sal h1{font:200 clamp(34px,6vw,54px)/1.08 var(--display);letter-spacing:-.015em;margin:12px 0 18px;max-width:20ch}
.sal .lead{font:300 18px/1.6 var(--text);color:var(--ink-74);max-width:56ch;margin:0 0 32px}
.sal .eyebrow{color:var(--accent);margin:0}
.card{background:var(--white);border:1px solid var(--rule-14);border-radius:var(--radius);padding:clamp(22px,4vw,36px);margin-bottom:24px}
.card h2{font:300 22px/1.3 var(--display);margin:0 0 6px}
.card .sub{color:var(--ink-55);font-size:13px;margin:0 0 18px}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:18px 22px}
.f label{display:block;font:500 13px/1.3 var(--text);margin-bottom:6px}
.f .hint{font-size:12px;color:var(--ink-55);margin:4px 0 0}
.f select,.f input{width:100%;font:300 15px var(--text);color:var(--ink);padding:11px 12px;border:1px solid var(--rule-22);border-radius:10px;background:var(--paper)}
.warn{display:none;margin-top:6px;font-size:13px;color:#8a5a00;background:#fbf1d8;border-radius:8px;padding:6px 10px}
.warn button{font:500 12px var(--text);margin-left:6px;border:0;background:var(--green);color:#fff;border-radius:6px;padding:3px 8px;cursor:pointer}
.err{color:#a23b2a;background:#f8e3df}
.toggle{display:inline-flex;background:var(--sage);border-radius:999px;padding:4px;margin-bottom:24px}
.toggle button{border:0;background:none;font:400 15px var(--text);color:var(--ink);padding:10px 22px;border-radius:999px;cursor:pointer}
.toggle button.on{background:var(--green);color:#fff}
.checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:8px 18px}
.checks label{font:300 14px/1.4 var(--text);display:flex;gap:8px;align-items:flex-start}
.btn{font:400 16px var(--text);background:var(--green);color:#fff;border:0;border-radius:999px;padding:14px 30px;cursor:pointer}
.btn:hover{background:var(--green-dark)}
.small{font-size:12.5px;color:var(--ink-55);line-height:1.6;max-width:70ch}
.result{display:none}
.big{font:200 clamp(40px,7vw,64px)/1 var(--display);color:var(--green);margin:8px 0}
.range{position:relative;height:56px;margin:28px 0 8px}
.range .bar{position:absolute;top:22px;height:12px;background:var(--sage);border-radius:6px;left:0;right:0}
.range .iqr{position:absolute;top:22px;height:12px;background:var(--sage-text);border-radius:6px}
.range .med{position:absolute;top:14px;width:2px;height:28px;background:var(--ink)}
.range .you{position:absolute;top:8px;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:var(--slate);box-shadow:0 0 0 3px #fff}
.range .lab{position:absolute;top:42px;font-size:11.5px;color:var(--ink-62);transform:translateX(-50%);white-space:nowrap}
.legend{font-size:12.5px;color:var(--ink-62)}
.cta{background:var(--green);color:var(--paper);border-radius:var(--radius);padding:28px;margin-top:20px}
.cta h3{font:300 22px var(--display);margin:0 0 8px;color:#fff}
.cta input{padding:11px 12px;border-radius:10px;border:0;width:min(100%,300px);font:300 15px var(--text)}
.cta .btn{background:var(--paper);color:var(--green);margin:8px 8px 0 0}
table.t{width:100%;border-collapse:collapse;font-size:14px}
table.t th{text-align:left;font:500 11px/1.2 var(--text);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-45);padding:8px 6px;border-bottom:1px solid var(--rule-16)}
table.t td{padding:8px 6px;border-bottom:1px solid var(--rule-09);vertical-align:middle}
.hb{display:flex;align-items:center;gap:8px}.hb span.b{height:10px;background:var(--accent);border-radius:5px;display:inline-block}
.meta{font-size:12px;color:var(--ink-50);margin-top:10px}
.mini{position:relative;height:12px;background:var(--sage);border-radius:6px;min-width:120px}
.mini i{position:absolute;top:0;height:12px;background:var(--sage-text);border-radius:6px}.mini b{position:absolute;top:-3px;width:2px;height:18px;background:var(--ink)}
.supp{color:var(--ink-45);font-style:italic}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}
.kpi{background:var(--sage-band);border-radius:12px;padding:18px}.kpi b{display:block;font:200 32px var(--display);color:var(--green)}
@media(max-width:600px){.range .lab:not(.mid){display:none}}
.announce{display:none!important}
.range{height:70px}
.range .bar{top:30px}.range .iqr{top:30px}.range .med{top:22px}
.range .you{top:29px}
.range .lab{top:50px}
.range .youlab{position:absolute;top:2px;font:500 12px var(--text);color:var(--slate);transform:translateX(-50%);white-space:nowrap}
.range .full{position:absolute;top:30px;height:12px;background:#c9d6d1;border-radius:6px;z-index:0}
.range .iqr,.range .med{z-index:1}.range .you{z-index:2}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips label{cursor:pointer}.chips input{position:absolute;opacity:0;pointer-events:none}
.chips span{display:inline-block;font:300 14px/1 var(--text);padding:9px 14px;border:1px solid var(--rule-22);border-radius:999px;background:var(--paper)}
.chips input:checked+span{background:var(--green);color:#fff;border-color:var(--green)}
.chips input:focus-visible+span{outline:2px solid var(--slate)}
.cta-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.cta-row .btn{margin:0}
.benlist{list-style:none;padding:0;margin:8px 0;display:grid;gap:4px}.benlist .y{color:var(--green)}.benlist .n{color:var(--ink-45)}
.about .f:first-child{grid-column:1/-1;max-width:560px}
.areas{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .3s ease,opacity .3s ease,margin .3s ease;margin-top:0}
.areas.open{grid-template-rows:1fr;opacity:1;margin-top:12px}
.areas-in{overflow:hidden}.areas.open .areas-in{padding:14px;border-radius:12px;background:var(--sage-band);border-left:3px solid var(--green)}
.alab{display:block;font:400 14px var(--text);margin-bottom:4px}
.cmpnote{font-size:13px;color:var(--slate);background:var(--sage-band);border-radius:8px;padding:8px 12px;margin:0 0 12px}
.chips label{position:relative}

/* privacy note */
.privacy ul{margin:8px 0 0;padding-left:18px}
.privacy li{margin:6px 0;line-height:1.5}
.privacy a{color:inherit;text-decoration:underline}
