:root{--slate:#33414F;--slate2:#4b5b6b;--green:#6FAB2F;--green2:#4f8a1c;--mist:#f3f6f4;--ink:#1f2a33;--line:#dbe3dd;--card:#fff}
*{box-sizing:border-box}body{margin:0;font:16px/1.6 Inter,system-ui,sans-serif;color:var(--ink);background:var(--mist)}
h1,h2,h3{font-family:Fraunces,serif;line-height:1.15;margin:.2em 0;color:var(--slate)}a{color:var(--green2)}
.nav{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding:.8rem 5vw;background:#fffffff0;border-bottom:1px solid var(--line)}
.logo{font-family:Fraunces,serif;font-weight:700;font-size:1.35rem;text-decoration:none;color:var(--slate)}.logo span{color:var(--green)}.logo{display:inline-flex;align-items:center;gap:.45rem}.logo img{display:block;flex:none}.logo .wm{font-weight:700}
.nav nav a{margin-left:1rem;text-decoration:none;color:var(--slate);font-weight:500}.nav nav a[aria-current]{color:var(--green2);border-bottom:2px solid var(--green)}
.wrap{max-width:1100px;margin:0 auto;padding:2.2rem 5vw}
.hero{background:linear-gradient(135deg,var(--slate) 0%,#2a3743 60%,#3c5a33 100%);color:#fff}.hero h1{color:#fff;font-size:clamp(2rem,5vw,3.3rem)}.hero p{max-width:720px;font-size:1.1rem;color:#e7eee9}
.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:600;color:var(--green)}
.btn{display:inline-block;background:var(--green);color:#fff;border:0;border-radius:8px;padding:.65rem 1.1rem;font:600 1rem Inter,sans-serif;text-decoration:none;cursor:pointer}.btn.ghost{background:transparent;border:1.5px solid currentColor;color:inherit}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:1.1rem 1.2rem}
.path{border-top:5px solid var(--green);text-decoration:none;color:inherit;display:block}.path:hover{box-shadow:0 6px 18px #0001}.path .n{font:700 1.6rem Fraunces,serif;color:var(--green)}
.stat{font:700 2.2rem Fraunces,serif;color:var(--slate)}.stat small{display:block;font:500 .9rem Inter,sans-serif;color:var(--slate2)}
.src{font-size:.8rem;color:var(--slate2)}.meta{color:var(--slate2);font-size:.9rem}
.badge{font-size:.75rem;padding:.12rem .5rem;border-radius:9px;background:#e4efd9;color:#2f5a12;white-space:nowrap}.badge.closed{background:#eee;color:#666}.badge.check{background:#fff1d0;color:#7a5600}
ol.steps{counter-reset:s;list-style:none;padding:0}ol.steps li{counter-increment:s;position:relative;padding-left:3.2rem;margin-bottom:1.2rem}ol.steps li:before{content:counter(s);position:absolute;left:0;top:0;width:2.3rem;height:2.3rem;border-radius:50%;background:var(--green);color:#fff;font:700 1.1rem/2.3rem Fraunces,serif;text-align:center}
table{width:100%;border-collapse:collapse;background:#fff}td,th{border-bottom:1px solid var(--line);padding:.55rem;text-align:left;vertical-align:top}
.filters{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0}.filters input,.filters select,form input,form select,form textarea{font:inherit;padding:.5rem;border:1px solid var(--line);border-radius:6px;background:#fff}
form.sub{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.8rem}form.sub label{display:flex;flex-direction:column;font-size:.9rem;gap:.2rem}form.sub .wide{grid-column:1/-1}.hp{position:absolute;left:-9999px}
.notice{background:#eef6e6;border-left:4px solid var(--green);padding:.8rem 1rem;border-radius:6px}
.partners{display:flex;flex-wrap:wrap;gap:.5rem}.partners a{background:#fff;border:1px solid var(--line);border-radius:20px;padding:.3rem .8rem;text-decoration:none;color:var(--slate);font-size:.9rem}
footer{background:var(--slate);color:#d6dee5;font-size:.9rem;margin-top:2rem}footer a{color:#b9e08f}.xlink{font-size:1rem;color:#fff}
@media(max-width:640px){.nav nav a{margin:0 .7rem 0 0}}
.tagline{font:600 1.25rem Fraunces,serif;color:#b9e08f;margin:.2rem 0 1rem}
.aud{border-top:6px solid var(--slate)}.aud:nth-child(2){border-top-color:var(--green)}.aud:nth-child(3){border-top-color:#8fae7a}.aud ul{padding-left:1.1rem;margin:.4rem 0}
.next{background:var(--slate);color:#fff;border:0}.next h2{color:#fff}.next .eyebrow{color:#b9e08f}
.q{border:0;padding:0;margin:0 0 1rem}.q legend{font:700 1.1rem Fraunces,serif;color:var(--slate);margin-bottom:.4rem}.q label{display:inline-flex;align-items:center;gap:.35rem;background:#fff;border:1px solid var(--line);border-radius:20px;padding:.35rem .8rem;margin:.2rem;cursor:pointer}.q input:checked+span{font-weight:600;color:var(--green2)}
.lbl{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:.1rem .45rem;border-radius:6px}.lbl.v{background:#e4efd9;color:#2f5a12}.lbl.i{background:#fff1d0;color:#7a5600}
.report section{break-inside:avoid}.chk li{list-style:none;margin:.5rem 0}.chk input{margin-right:.5rem;transform:scale(1.2)}
.prop{border-left:5px solid var(--green)}.prop.popup{border-left-color:#e0a12a}.prop .pt{font-size:.75rem;font-weight:700;text-transform:uppercase;color:var(--slate2)}
.cmp td:first-child{font-weight:600}.nav nav{display:flex;flex-wrap:wrap}.nav nav a{font-size:.92rem}
@media print{.nav,footer,.noprint,.next{display:none!important}body{background:#fff}.card{border:1px solid #ccc}}
.ibrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(64px,1fr));gap:.4rem;margin-top:.8rem}
.ib{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.5rem .25rem;border:1px solid #cfe3bd;border-radius:10px;background:#f2f8ec;color:var(--green2);text-decoration:none;font-size:.78rem;font-weight:600;line-height:1.1;text-align:center}
.ib:hover,.ib:focus-visible{background:var(--green);color:#fff;border-color:var(--green);outline:none}.ib svg{flex:none}
@media print{.ib{border:0;background:none}}
.chips{display:flex;gap:.5rem;overflow-x:auto;padding:.3rem 0 .6rem;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
.chip{flex:none;scroll-snap-align:start;display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .75rem;border:1.5px solid color-mix(in srgb,var(--c) 45%,#fff);border-radius:999px;background:#fff;color:var(--c);text-decoration:none;font-size:.88rem;font-weight:600;white-space:nowrap}
.chip b{background:color-mix(in srgb,var(--c) 14%,#fff);color:var(--c);border-radius:999px;padding:0 .45rem;font-size:.78rem}
.chip.on,.chip:hover,.chip:focus-visible{background:var(--c);color:#fff;border-color:var(--c);outline:none}.chip.on b,.chip:hover b{background:#fff3;color:#fff}
.bgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.7rem}
.biz{display:flex;gap:.75rem;align-items:flex-start;background:#fff;border:1px solid var(--line);border-left:4px solid var(--green);border-radius:10px;padding:.75rem .9rem}.biz h3{font-size:1.05rem;margin:0}.biz .meta{margin:.15rem 0;font-size:.82rem}
.bic{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:color-mix(in srgb,var(--c) 14%,#fff);color:var(--c)}
.bl{margin:.2rem 0 0;font-size:.85rem;display:flex;gap:.8rem;flex-wrap:wrap}
.gh{display:flex;align-items:center;gap:.4rem;margin-top:1.4rem;color:var(--c)}
.charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem}.chart{margin:0;background:#fff;border:1px solid var(--line);border-radius:12px;padding:.8rem}
.chart figcaption{font:700 1rem Fraunces,serif;color:var(--slate);margin-bottom:.3rem}.chart svg{width:100%;height:auto;display:block}.chart .lab{font:12.5px Inter,sans-serif;fill:#33414F}.chart .val{font:600 12px Inter,sans-serif;fill:#4b5b6b}
.lc .ax{stroke:#cfd8d2}.lc .gl{stroke:#eef2ef}.lc .tk{font:11px Inter,sans-serif;fill:#4b5b6b}.lc path.ln{fill:none;stroke-width:2.5}.lc .gap{stroke-dasharray:3 4;opacity:.5}
.toggles{display:flex;flex-wrap:wrap;gap:.35rem;margin:.5rem 0}.toggles button{display:inline-flex;align-items:center;gap:.35rem;font:600 .82rem Inter,sans-serif;border:1.5px solid var(--c);color:var(--c);background:#fff;border-radius:999px;padding:.25rem .6rem;cursor:pointer}.toggles button[aria-pressed="true"]{background:var(--c);color:#fff}
.seg{display:inline-flex;border:1.5px solid var(--green);border-radius:8px;overflow:hidden}.seg button{border:0;background:#fff;color:var(--green2);font:600 .85rem Inter,sans-serif;padding:.35rem .7rem;cursor:pointer}.seg button[aria-pressed="true"]{background:var(--green);color:#fff}
details.tbl{margin-top:.5rem}details.tbl table{font-size:.85rem}
.gaps{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.gap h3{font-size:1.15rem}.score{text-align:center;background:#2f3e46;color:#fff;border-radius:10px;padding:.3rem .6rem;min-width:3.2rem}.score b{display:block;font-size:1.3rem;line-height:1.1}.score small{font-size:.65rem;text-transform:uppercase;letter-spacing:.05em}
.kv{display:grid;grid-template-columns:auto 1fr;gap:.2rem .8rem;margin:.6rem 0;font-size:.92rem}.kv dt{color:#5b6670}.kv dd{margin:0;font-weight:600}.gap .links{font-size:.9rem}.method dt{margin-top:.6rem}.method dd{margin:.2rem 0 0}
.engine{background:#2f3e46;color:#fff}.engine a:not(.btn){color:#cfe8b0}
.briefs{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.kv2 dt{font-weight:600;margin-top:.5rem;font-size:.85rem;color:#5b6670}.kv2 dd{margin:.1rem 0 0}.btn.small{padding:.35rem .8rem;font-size:.9rem}
.nav a.ae{display:inline-flex;align-items:center;gap:.3rem}.nav a.ae img{flex:none}.ae-head{margin:0 0 .3rem}.ae-lock{display:block;max-width:100%;height:auto}
.ae-pow{display:flex;align-items:center;gap:.7rem;margin:0 0 .4rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;color:#cfe8b0}.ae-pow b{color:#fff;font-family:Fraunces,serif;text-transform:none;letter-spacing:0;font-size:1.25rem}
.nav a.ae{display:inline-flex;align-items:center;gap:.3rem}.hi{display:flex;align-items:center;gap:.6rem}.hi .si{flex:none}
.engine h2,.engine p{color:#fff}.engine .ae-pow{color:#cfe8b0}
.charts3{grid-template-columns:repeat(auto-fill,minmax(330px,1fr))}.charts2{grid-template-columns:repeat(auto-fill,minmax(480px,1fr))}.cmp{font-size:.82rem}.cmp td,.cmp th{white-space:nowrap;padding:.3rem .5rem}

/* Export menu */
.wd-export{margin:.4rem 0 1rem}.xm{position:relative;display:inline-block}.xm summary{list-style:none;cursor:pointer}.xm summary::-webkit-details-marker{display:none}
.xm-menu{position:absolute;z-index:20;left:0;top:calc(100% + 6px);min-width:250px;background:#fff;border:1px solid #d6ddd8;border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.12);padding:.4rem;display:flex;flex-direction:column}
.xm-menu button,.xm-menu a{all:unset;cursor:pointer;padding:.5rem .7rem;border-radius:6px;font:500 .95rem Inter,sans-serif;color:var(--slate)}.xm-menu button:hover,.xm-menu a:hover,.xm-menu button:focus-visible,.xm-menu a:focus-visible{background:#eef4ea}
.xm-cal{border-top:1px solid #e3e8e4;border-bottom:1px solid #e3e8e4;margin:.3rem 0;padding:.3rem 0;display:flex;flex-direction:column;gap:.25rem}.xm-cal label{font-size:.82rem;padding:0 .7rem;display:flex;justify-content:space-between;gap:.5rem;align-items:center}.xm-cal input{width:9.5rem}
.x-msg{font-size:.8rem;color:var(--green);padding:0 .7rem}.print-head{display:none}
@media print{@page{margin:14mm}.wd-export,.xm,form.filters,.filters,.hero .btn,.ibrow{display:none!important}
.print-head{display:flex!important;gap:10px;align-items:flex-start;border-bottom:2px solid #6FAB2F;padding-bottom:8px;margin-bottom:12px;font:12px Inter,sans-serif;color:#33414F}
.print-head .wm{font:700 18px Fraunces,Georgia,serif}.print-head .wm span{color:#6FAB2F}.print-head small{color:#555}
.lbl{border:1px solid currentColor!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
main a[href^="http"]::after{content:" (" attr(href) ")";font-size:.75em;color:#555;word-break:break-all}main table a[href]::after,.ibrow a::after{content:none!important}
article,tr,li{break-inside:avoid}.chips{display:none!important}h2,h3{break-after:avoid}.grid{display:block!important}.grid>*{margin-bottom:8px}
body{font-size:11.5pt}.wrap{max-width:none;padding:0}}
.xm-name{display:flex;flex-direction:column;gap:.25rem;font:600 .82rem Inter,sans-serif;color:var(--slate);padding:.4rem .7rem .6rem;border-bottom:1px solid #e3e8e4;margin-bottom:.3rem}.xm-name small{font-weight:400;color:#667}.xm-name input{font:400 .95rem Inter,sans-serif;padding:.4rem .5rem;border:1px solid #c9d2cc;border-radius:6px}
