:root{--bg:#ffffff;--bg-alt:#f7f8fa;--ink:#14202e;--muted:#5a6b7c;--brand:#1d4ed8;--brand-dark:#1e40af;--border:#e2e8f0;--green:#15803d;--amber:#b45309;--red:#b91c1c;--warn-bg:#fffbeb;--err-bg:#fef2f2;--blue-bg:#eff6ff;--radius:8px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--bg);font-size:16px;line-height:1.625}h1{font-size:40px;line-height:1.2}h1,h2{font-weight:700;margin:0 0 16px}h2{font-size:28px;line-height:1.3}h3{font-size:20px;line-height:1.4;font-weight:650;margin:0 0 10px}p{margin:0 0 12px}a{color:var(--brand)}.money,.num,td{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.wrap{max-width:1120px}.report-wrap,.wrap{margin:0 auto;padding:0 20px}.report-wrap{max-width:800px}.section{padding:56px 0}.section.alt{background:var(--bg-alt)}.muted{color:var(--muted)}.small{font-size:13px;line-height:1.55}.center{text-align:center}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:40;background:var(--bg);border-bottom:1px solid var(--border);height:56px}.topbar,.topbar .wrap{display:flex;align-items:center}.topbar .wrap{justify-content:space-between;width:100%}.logo{font-weight:700;font-size:18px;color:var(--ink);text-decoration:none}.logo span{color:var(--brand)}.topbar nav a{color:var(--muted);text-decoration:none;margin-left:22px;font-size:14px}.topbar nav a:hover{color:var(--ink)}.footer{border-top:1px solid var(--border);padding:32px 0 44px;font-size:14px}.footer,.footer a{color:var(--muted)}.footer a{margin-right:20px}.btn{display:inline-block;border:1px solid transparent;border-radius:6px;background:var(--brand);color:#fff;font-weight:600;font-size:16px;padding:12px 22px;cursor:pointer;text-decoration:none;min-height:44px;line-height:1.3}.btn:hover{background:var(--brand-dark)}.btn:disabled{background:#94a3b8;cursor:not-allowed}.btn.secondary{background:#fff;color:var(--ink);border-color:var(--border)}.btn.secondary:hover{border-color:var(--muted)}.card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 1px 2px rgba(16,24,40,.05);padding:22px}.card.highlight{border:2px solid var(--brand)}.trustbar{background:var(--bg-alt);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:16px 0}.trustbar .wrap{display:flex;gap:16px}.trustbar .item{flex:1 1;text-align:center;font-size:14.5px;font-weight:550}.checks-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.check-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:18px}.check-card strong{display:block;margin-bottom:4px}.check-card p{color:var(--muted);margin:0;font-size:14.5px}.sample-badge{display:inline-block;background:#fef3c7;color:#92400e;font-size:12px;font-weight:700;letter-spacing:.06em;padding:3px 8px;border-radius:4px;text-transform:uppercase}.upload-box{border:1px solid var(--border);border-radius:var(--radius);padding:24px;background:#fff}.dropzone{border:2px dashed var(--border);border-radius:var(--radius);padding:34px 20px;text-align:center;color:var(--muted);transition:border-color .15s,background .15s}.dropzone.over{border-color:var(--brand);background:var(--blue-bg);color:var(--ink)}.progress-track{height:8px;background:var(--bg-alt);border-radius:4px;overflow:hidden;margin:12px 0}.progress-fill{height:100%;background:var(--brand);transition:width .2s}.field{margin:14px 0}.field label{display:block;font-size:14px;font-weight:550;margin-bottom:6px}.field input[type=email],.field input[type=number],.field input[type=text],.field select{width:100%;padding:11px 12px;border:1px solid var(--border);border-radius:6px;font-size:16px;font-family:inherit;background:#fff;color:var(--ink)}.field input.err{border-color:var(--red)}.radio-row{display:flex;gap:22px;margin:8px 0 2px;font-size:15px}.radio-row label{font-weight:400;display:flex;gap:7px;align-items:center}.alert{border-radius:6px;padding:13px 16px;font-size:14.5px;margin:14px 0}.alert.error{background:var(--err-bg);color:#7f1d1d;border-left:3px solid var(--red)}.alert.warn{background:var(--warn-bg);color:#78350f;border-left:3px solid var(--amber)}.alert.info{background:var(--blue-bg);color:#1e3a8a;border-left:3px solid var(--brand)}.alert.success{background:#f0fdf4;color:#14532d;border-left:3px solid var(--green)}.steps{display:flex;gap:10px;margin:14px 0}.step{flex:1 1;border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;font-size:14px}.step b{color:var(--brand);display:block;margin-bottom:3px}details.faq,details.more{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:10px;background:#fff}details.faq summary,details.more summary{padding:15px 18px;cursor:pointer;font-weight:600;min-height:44px}details.faq .body,details.more .body{padding:0 18px 16px;color:var(--muted)}table.cols{width:100%;border-collapse:collapse;font-size:14.5px}table.cols td,table.cols th{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border)}.modal-backdrop{position:fixed;inset:0;background:rgba(20,32,46,.5);z-index:60;display:flex;align-items:center;justify-content:center;padding:16px}.modal{background:#fff;border-radius:var(--radius);max-width:440px;width:100%;padding:26px}.modal h3{margin-right:30px}.modal .x{float:right;background:none;border:none;font-size:20px;cursor:pointer;color:var(--muted);min-width:44px;min-height:44px;margin:-12px -12px 0 0}.score-card{text-align:left;display:flex;gap:26px;align-items:center;flex-wrap:wrap}.score-num{font-size:64px;font-weight:700;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.score-grade{font-size:22px;font-weight:700}.sev{display:inline-block;font-size:11.5px;font-weight:700;letter-spacing:.05em;padding:2px 7px;border-radius:4px;vertical-align:2px;margin-right:8px}.sev.high{background:#fee2e2;color:var(--red)}.sev.medium{background:#fef3c7;color:var(--amber)}.sev.low{background:#e2e8f0;color:var(--muted)}.locked-blocks{color:#94a3b8;letter-spacing:2px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.waste-card{margin-bottom:14px}.waste-card h3{font-size:17px}.evidence{color:var(--muted);font-size:14px}.waste-amount{font-weight:700;color:var(--red)}.sticky-unlock{position:-webkit-sticky;position:sticky;top:56px;z-index:30;background:var(--blue-bg);border-bottom:1px solid var(--border);padding:10px 0;font-size:14.5px}.sticky-unlock .report-wrap{display:flex;justify-content:space-between;align-items:center;gap:12px}.sticky-unlock .btn{padding:8px 16px;font-size:14.5px;min-height:40px}.fix-group{margin:18px 0 6px;font-size:15px;text-transform:uppercase;letter-spacing:.05em;color:var(--brand-dark)}.fix-item{padding:10px 0;border-bottom:1px solid var(--border)}.fix-item:last-child{border-bottom:none}.fix-path{font-size:13.5px;color:var(--muted)}.stage-list{list-style:none;padding:0;margin:22px 0}.stage-list li{padding:7px 0;font-size:16.5px}.stage-list .done{color:var(--green)}.stage-list .todo{color:#94a3b8}.spinner{width:22px;height:22px;border:3px solid var(--border);border-top-color:var(--brand);border-radius:50%;display:inline-block;animation:spin .9s linear infinite;vertical-align:-5px;margin-right:8px}@keyframes spin{to{transform:rotate(1turn)}}.desktop-hint{display:none}@media (max-width:768px){h1{font-size:30px;line-height:1.27}h2{font-size:24px}.section{padding:38px 0}.trustbar .wrap{flex-direction:column;gap:8px}.trustbar .item{text-align:left}.checks-grid{grid-template-columns:1fr}.steps{flex-direction:column}.score-num{font-size:56px}.score-card{gap:14px}.desktop-hint{display:block}.modal-backdrop{align-items:flex-end;padding:0}.modal{border-radius:12px 12px 0 0;max-width:none}.sticky-unlock .btn{white-space:nowrap}}