:root{--ink:#20251f;--muted:#62685f;--paper:#fbfaf6;--card:#fff;--accent:#7a4f32;--accent2:#efe5d9;--line:#dedbd3;--danger:#a13b32;--focus:#1465cc;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-size:16px}*{box-sizing:border-box}body{margin:0;min-height:100vh;display:flex;flex-direction:column}header,footer{width:min(calc(100% - 32px),760px);margin:auto;padding:22px 0;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{font-weight:800;letter-spacing:.16em;color:var(--ink);text-decoration:none}.test-badge{font-size:.78rem;font-weight:800;color:#642900;background:#ffe0b5;padding:8px 12px;border-radius:999px}main{width:min(calc(100% - 32px),760px);margin:30px auto 70px;flex:1}main:focus{outline:none}.home{display:grid;place-items:center;min-height:80vh}.hero{max-width:720px}.eyebrow,.section-label{color:var(--accent);font-weight:750;letter-spacing:.06em;text-transform:uppercase;font-size:.78rem}.card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:clamp(24px,6vw,48px);box-shadow:0 14px 45px rgba(35,30,24,.06)}h1{font-size:clamp(2rem,7vw,3.6rem);line-height:1.05;letter-spacing:-.035em;margin:.35em 0}h2{font-size:clamp(1.55rem,5vw,2.35rem);line-height:1.15;margin:.25em 0 .6em}p{line-height:1.65;color:var(--muted)}.facts{display:grid;gap:10px;margin:28px 0;padding:0;list-style:none}.facts li:before{content:'✓';color:var(--accent);font-weight:bold;margin-right:10px}.button,button{appearance:none;border:0;border-radius:12px;padding:15px 22px;font:inherit;font-weight:750;cursor:pointer}.button{display:inline-block;background:var(--accent);color:white;text-decoration:none}button.primary{background:var(--accent);color:#fff}button.secondary{background:transparent;border:1px solid var(--line);color:var(--ink)}button.danger{background:var(--danger);color:#fff}button:disabled{opacity:.45;cursor:not-allowed}input[type=email],input[type=password],textarea{width:100%;font:inherit;padding:15px;border:1px solid #aaa69e;border-radius:10px;background:#fff;color:var(--ink)}textarea{min-height:130px;resize:vertical}label.field{display:block;font-weight:700;margin:24px 0 8px}.choices{display:grid;gap:10px;margin:24px 0}.choice{display:flex;gap:12px;align-items:flex-start;padding:15px;border:1px solid var(--line);border-radius:12px;cursor:pointer;background:#fff}.choice:hover{border-color:#a88770}.choice:has(input:checked){border-color:var(--accent);background:var(--accent2);box-shadow:inset 0 0 0 1px var(--accent)}.choice input{width:20px;height:20px;accent-color:var(--accent);flex:none}.actions{display:flex;justify-content:space-between;gap:12px;margin-top:30px}.actions .primary{margin-left:auto}.error{color:var(--danger);font-weight:700;margin:12px 0}.notice{padding:14px 16px;border-radius:10px;background:var(--accent2);color:var(--ink)}.progress{height:6px;background:#e8e5df;border-radius:9px;overflow:hidden;margin-bottom:22px}.progress span{display:block;height:100%;background:var(--accent);transition:width .2s}.step-count{font-size:.85rem;color:var(--muted)}.concept{background:#2c312b;color:white;border:0}.concept p{color:#dfe2dc}.stages{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:28px}.stage{border-top:2px solid #b88c66;padding-top:12px}.stage b{display:block;font-size:.8rem;letter-spacing:.08em}.stage p{font-size:.88rem}.consent{border-top:1px solid var(--line);margin-top:24px;padding-top:12px}.share{display:flex;flex-wrap:wrap;gap:10px}.share a,.share button{border:1px solid var(--line);background:#fff;color:var(--ink);text-decoration:none;padding:12px 15px;border-radius:10px;font-weight:700}.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;background:white;padding:10px;z-index:10}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}footer{border-top:1px solid var(--line);font-size:.85rem}.category-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.category-grid button{text-align:left;min-height:80px;background:#fff;border:1px solid var(--line)}@media(max-width:560px){main{margin-top:10px}.card{border-radius:16px;padding:24px}.category-grid,.stages{grid-template-columns:1fr}.actions{position:sticky;bottom:0;background:linear-gradient(transparent,var(--paper) 20%);padding-top:28px}.actions button{flex:1}h1{font-size:2.35rem}}
