:root{--paper:#f4efe4;--paper2:#efe8d9;--white:#fff;--ink:#1c1b15;--forest:#233b26;--green:#6ba13c;--green-d:#4c7327;--ochre:#a06a2c;--chartreuse:#e8d833;--sand:#e6ddca;--muted:#5f5a4d;--display:"Fraunces",Georgia,serif;--body:"Open Sans",system-ui,-apple-system,sans-serif;--cap:"Oswald",sans-serif;--maxw:1080px}*{margin:0;padding:0;box-sizing:border-box}html{font-size:100%}body{font-family:var(--body);color:var(--ink);background:var(--paper);line-height:1.65;-webkit-font-smoothing:antialiased}a{color:var(--green-d);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{font-family:var(--display);color:var(--forest);line-height:1.12;font-weight:600}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}.kicker{font-family:var(--cap);text-transform:uppercase;letter-spacing:.17em;font-size:.8rem;color:var(--ochre);font-weight:600}.btn{display:inline-block;font-weight:700;border-radius:8px;padding:13px 26px;font-size:.95rem;cursor:pointer;border:none;font-family:var(--body);transition:.15s;background:var(--green);color:#fff}.btn:hover{background:var(--green-d);transform:translateY(-1px);text-decoration:none;color:#fff}.site-header{background:var(--paper);border-bottom:1px solid var(--sand)}.site-header .inner{display:flex;align-items:center;justify-content:space-between;padding:18px 0}.logo{font-family:var(--display);font-weight:600;font-size:1.25rem;color:var(--forest)}.logo b{color:var(--green)}.logo .hub{font-family:var(--cap);text-transform:uppercase;font-size:.72rem;letter-spacing:.14em;background:var(--forest);color:var(--chartreuse);border-radius:5px;padding:3px 8px;margin-left:10px;vertical-align:middle}.hnav{display:flex;gap:20px;font-size:.9rem;font-weight:600}.hnav a{color:#4a463b}.hnav a:hover{color:var(--green-d);text-decoration:none}.hero{padding:64px 0 40px;text-align:center}.hero h1{font-size:clamp(2rem,4.6vw,3.1rem);margin:12px auto 14px;max-width:22ch}.hero p{color:var(--muted);max-width:56ch;margin:0 auto;font-size:1.05rem}.cards{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:22px;gap:22px;padding:36px 0 70px}.card{background:var(--white);border:1px solid var(--sand);border-radius:14px;padding:28px;transition:.15s;display:block}.card:hover{box-shadow:0 18px 40px -24px rgba(35,59,38,.5);transform:translateY(-3px);text-decoration:none}.card .ic{font-size:1.6rem}.card h3{font-size:1.25rem;margin:10px 0 8px}.card p{color:var(--muted);font-size:.92rem}.card .go{display:inline-block;margin-top:14px;font-family:var(--cap);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;color:var(--ochre);font-weight:600}.tool{max-width:680px;margin:0 auto;padding:54px 28px 80px}.tool h1{font-size:clamp(1.8rem,4vw,2.5rem);margin:10px 0}.tool .lead{color:var(--muted);margin-bottom:28px}.panel{background:var(--forest);border-radius:14px;padding:30px 28px;color:#eef0e6}.panel label{display:block;font-family:var(--cap);text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;color:#c5cbb8;margin:14px 0 6px}.panel input,.panel select{width:100%;border:none;border-radius:8px;padding:13px 15px;font-size:1rem;font-family:var(--body)}.panel .row{display:flex;gap:12px}.panel .row>div{flex:1 1}.panel .btn{margin-top:20px;width:100%}.result{display:none;margin-top:20px;background:#1a2b1c;border-radius:10px;padding:20px}.result.show{display:block}.result .big{font-family:var(--display);font-size:2rem;font-weight:700;color:var(--chartreuse);line-height:1.1}.result .sub{color:#c5cbb8;font-size:.9rem;margin-top:6px}.result a{color:var(--chartreuse)}.fine{margin-top:14px;font-size:.75rem;color:#8fa08a}.fine a{color:#c5cbb8}.states{display:grid;grid-gap:16px;gap:16px;margin-top:26px}.state{background:var(--white);border:1px solid var(--sand);border-radius:12px;padding:20px 22px}.state h3{font-size:1.1rem;margin-bottom:8px}.state ul{list-style:none}.state li{padding:7px 0;border-top:1px solid var(--paper2);font-size:.92rem}.state li:first-child{border-top:none}.state .prog{font-weight:600}.site-footer,.state .who{color:var(--muted);font-size:.85rem}.site-footer{border-top:1px solid var(--sand);padding:34px 0;text-align:center}.site-footer a{margin:0 10px}@media (max-width:820px){.cards{grid-template-columns:1fr}.panel .row{flex-direction:column}}