:root{--green:#1f6b45;--green-dark:#174f34;--green-mid:#2e7b59;--soft:#eef5f0;--soft2:#f7faf8;--bg:#f3f6f4;--line:#d8e1dc;--text:#243129;--muted:#6b786f;--danger:#b42318;--white:#fff;--shadow:0 14px 40px rgba(24,54,39,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Arial,Helvetica,sans-serif;line-height:1.45}.topbar{background:#132c20;color:#fff;text-align:center;padding:9px 14px;font-size:11px;letter-spacing:.12em;font-weight:700}.shell{width:min(1040px,94%);margin:24px auto 60px}.hero{background:#fff;border:1px solid var(--line);border-radius:16px;padding:25px 28px;display:flex;align-items:center;gap:18px;box-shadow:var(--shadow);border-bottom:4px solid var(--green)}.brand-mark{width:58px;height:58px;position:relative;flex:0 0 auto}.brand-mark span{position:absolute;width:20px;height:20px;border:5px solid var(--green);border-radius:3px}.brand-mark span:nth-child(1){left:0;top:19px}.brand-mark span:nth-child(2){left:19px;top:0}.brand-mark span:nth-child(3){left:19px;top:38px}.brand-mark span:nth-child(4){left:38px;top:19px}.hero-copy{min-width:0;flex:1}.eyebrow{text-transform:uppercase;color:var(--green-mid);font-size:11px;font-weight:800;letter-spacing:.13em}.hero h1{font-size:27px;line-height:1.15;margin:4px 0 8px;color:var(--green-dark)}.hero p{margin:0;color:var(--muted);max-width:720px}.hero-badge{background:var(--soft);color:var(--green-dark);border:1px solid #cfe0d5;border-radius:999px;padding:8px 13px;font-weight:800;font-size:12px}.progress-wrap{margin:18px 0;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 20px}.progress-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;font-weight:700}.progress-track{height:6px;background:#e8eeea;border-radius:999px;margin:8px 0 13px;overflow:hidden}.progress-bar{height:100%;width:17%;background:var(--green);transition:width .25s ease}.step-dots{list-style:none;display:grid;grid-template-columns:repeat(6,1fr);padding:0;margin:0;gap:6px}.step-dots li{display:flex;align-items:center;justify-content:center;gap:6px;color:#94a099;font-size:11px;text-align:center}.step-dots span{width:23px;height:23px;border-radius:50%;display:inline-grid;place-items:center;background:#edf1ef;font-weight:800}.step-dots li.active,.step-dots li.done{color:var(--green-dark);font-weight:800}.step-dots li.active span{background:var(--green);color:#fff}.step-dots li.done span{background:var(--soft);border:1px solid #c8dbcf;color:var(--green)}.message{display:none;border-radius:10px;padding:11px 14px;margin:14px 0;font-size:14px}.message.show{display:block}.message.error{background:#fff3f2;border:1px solid #fac8c3;color:#8a1c14}.message.success{background:#effaf3;border:1px solid #b9e1c6;color:#175a35}.form-step{display:none}.form-step.active{display:block}.section-heading{display:flex;align-items:flex-start;gap:14px;margin:28px 0 14px}.section-num{font-weight:900;color:var(--green);font-size:13px;background:var(--soft);border:1px solid #cfe0d5;border-radius:8px;padding:8px 9px}.section-heading h2{margin:0;color:var(--green-dark);font-size:22px}.section-heading p{margin:3px 0 0;color:var(--muted)}.card,.repeat-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px}.stack{display:grid;gap:12px}.repeat-card{position:relative}.repeat-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:13px}.repeat-title strong{color:var(--green-dark)}.tag{font-size:11px;padding:4px 7px;background:var(--soft);color:var(--green);border-radius:999px;font-weight:800}.remove-btn{border:0;background:transparent;color:#8b3a32;cursor:pointer;font-weight:800;padding:7px 8px;border-radius:6px}.remove-btn:hover{background:#fff2f1}.grid{display:grid;gap:13px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.field{display:block;min-width:0}.field span{display:block;font-size:12px;font-weight:800;margin:0 0 6px;color:#405047}.field b{color:var(--danger)}input,select,textarea{width:100%;border:1px solid #cbd7d0;border-radius:8px;background:#fff;color:var(--text);font:inherit;font-size:15px;padding:10px 11px;outline:none;transition:border .15s,box-shadow .15s}textarea{resize:vertical;min-height:100px}input:focus,select:focus,textarea:focus{border-color:var(--green-mid);box-shadow:0 0 0 3px rgba(31,107,69,.11)}input.invalid,select.invalid,textarea.invalid{border-color:var(--danger);box-shadow:0 0 0 3px rgba(180,35,24,.08)}.full{grid-column:1/-1}.helper{color:var(--muted);font-size:13px;margin:-5px 0 10px}.callout{margin:14px 0 0;background:#fffaf0;border:1px solid #f2dfb8;border-left:4px solid #c48b2d;border-radius:9px;padding:12px 14px;color:#655334;font-size:13px}.callout.soft{background:var(--soft2);border-color:#d7e5dc;border-left-color:var(--green);color:#43534a}.tip-row{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;margin:8px 0 16px}.tip{background:var(--soft);color:var(--green-dark);font-weight:800;border:1px solid #d2e1d7;border-radius:8px;padding:8px 12px;font-size:12px}.tip-row>span{color:var(--green);font-weight:900}.subhead{font-size:15px;margin:18px 0 8px;color:var(--green-dark)}.subhead.spaced{margin-top:26px}.optional{font-size:10px;color:var(--muted);font-weight:500;background:#eef1ef;border-radius:999px;padding:3px 7px}.btn{border:0;border-radius:9px;padding:11px 16px;font-weight:800;font-size:14px;cursor:pointer;min-height:42px}.btn-primary{background:var(--green);color:#fff}.btn-primary:hover{background:var(--green-dark)}.btn-secondary{background:#e8eeea;color:#324039}.btn-add{margin-top:10px;background:#fff;color:var(--green);border:1px dashed #9bbdab;width:100%}.btn-add:hover{background:var(--soft2)}.btn-link{background:transparent;color:var(--green);padding:8px}.btn:disabled{opacity:.45;cursor:not-allowed}.form-actions{display:flex;align-items:center;gap:10px;justify-content:space-between;margin-top:24px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px}.action-mid{display:flex;gap:3px}.hidden{display:none!important}.upload-card{position:relative;background:#fff;border:1px dashed #9bbdab;border-radius:12px;padding:20px;text-align:center}.upload-card input{position:absolute;opacity:0;pointer-events:none}.upload-card label{cursor:pointer;display:grid;gap:4px;color:var(--green-dark)}.upload-card label span,.upload-card label small{color:var(--muted);font-weight:400}.file-list{margin-top:12px;display:grid;gap:6px;text-align:left}.file-chip{background:var(--soft2);border:1px solid var(--line);border-radius:7px;padding:7px 9px;font-size:12px;display:flex;justify-content:space-between}.review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.review-card{background:#fff;border:1px solid var(--line);border-radius:11px;padding:14px}.review-card h3{margin:0 0 7px;font-size:14px;color:var(--green-dark)}.review-card p{margin:3px 0;color:var(--muted);font-size:13px}.review-card strong{color:var(--text)}.consent{margin-top:14px}.check-row{display:flex;align-items:flex-start;gap:10px;cursor:pointer}.check-row input{width:18px;height:18px;margin-top:2px;accent-color:var(--green)}.submit-note{text-align:center;color:var(--muted);font-size:12px;margin:12px 0}.site-footer{display:flex;justify-content:center;gap:15px;flex-wrap:wrap;color:#7a877f;font-size:10px;letter-spacing:.06em;padding:20px}.hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}.empty-state{background:#fff;border:1px dashed #c6d5cc;border-radius:10px;padding:16px;text-align:center;color:var(--muted);font-size:13px}
@media(max-width:760px){.shell{width:min(96%,1040px);margin-top:12px}.hero{align-items:flex-start;padding:18px}.brand-mark{width:45px;height:45px;transform:scale(.76);transform-origin:left top}.hero-badge{display:none}.hero h1{font-size:22px}.step-dots small{display:none}.step-dots li{gap:0}.grid.two,.grid.three,.grid.four,.review-grid{grid-template-columns:1fr}.form-actions{position:sticky;bottom:6px;z-index:10;flex-wrap:wrap}.action-mid{order:3;width:100%;justify-content:center}.form-actions>.btn:not(.btn-link){flex:1}.section-heading{margin-top:20px}.tip-row{justify-content:flex-start}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
