
:root{--bg:#f6f5f1;--card:#fff;--text:#1d2420;--muted:#5a645f;--line:#dcdfd8;--accent:#2b6a59;--bad:#a12a2a}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:17px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
main{max-width:46rem;margin:0 auto;padding:1.25rem 1.1rem 4rem}h1{font-size:1.65rem;line-height:1.2;margin:.4rem 0 1rem}
.progress{list-style:none;display:flex;gap:.3rem;padding:0;margin:0 0 1.25rem}.progress li{flex:1;height:.45rem;border-radius:999px;background:var(--line)}
.progress li.done{background:var(--accent)}.progress li.now{background:#7fa99c}.steplabel{color:var(--muted);font-size:.9rem;margin:0}
.card{background:var(--card);border:1px solid var(--line);border-radius:.9rem;padding:1.1rem 1.2rem;margin:0 0 1rem}
label,legend{display:block;font-weight:600;margin:0 0 .35rem}.req{color:var(--bad);font-weight:700}.opt{color:var(--muted);font-weight:400}
.help{color:var(--muted);font-size:.92rem;margin:.1rem 0 .6rem}fieldset{border:0;padding:0;margin:0}
input[type=text],input[type=email],input[type=tel],textarea{width:100%;font:inherit;padding:.7rem .8rem;border:1px solid #9aa5a0;border-radius:.55rem;background:#fff}
textarea{min-height:6rem}.row{display:grid;gap:.6rem;grid-template-columns:1fr}@media(min-width:620px){.row{grid-template-columns:1fr 1.6fr}}
.choice{display:flex;gap:.6rem;align-items:flex-start;padding:.7rem .8rem;border:1px solid var(--line);border-radius:.6rem;margin:.4rem 0;background:#fff;font-weight:500}
.choice input{margin-top:.3rem;width:1.15rem;height:1.15rem}.cards{display:grid;gap:.75rem;grid-template-columns:1fr}@media(min-width:620px){.cards{grid-template-columns:1fr 1fr}}
.dcard{display:block;border:2px solid var(--line);border-radius:.8rem;padding:.7rem;background:#fff;font-weight:500}.dcard input{margin-right:.4rem}
.mini{height:7.5rem;border-radius:.5rem;margin:.55rem 0;overflow:hidden;position:relative;border:1px solid var(--line)}
.mini i{position:absolute;display:block;border-radius:3px}
.m-calm{background:#f7f7f4}.m-calm .a{left:10%;top:22%;width:58%;height:14%;background:#1b2320}.m-calm .b{left:10%;top:44%;width:40%;height:7%;background:#9aa5a0}
.m-calm .c{left:10%;top:60%;width:22%;height:12%;background:#2b6a59;border-radius:6px}.m-calm .d{left:10%;top:82%;width:80%;height:2%;background:#dfe3dd}
.m-bold{background:#2442d6}.m-bold .a{left:7%;top:14%;width:46%;height:20%;background:#fff}.m-bold .b{left:7%;top:40%;width:40%;height:20%;background:#fff}
.m-bold .c{left:60%;top:30%;width:32%;height:3%;background:#fff}.m-bold .d{left:60%;top:48%;width:32%;height:3%;background:#c7d0ff}.m-bold .e{left:60%;top:66%;width:32%;height:3%;background:#c7d0ff}
.m-warm{background:#f7f1e7}.m-warm .a{left:7%;top:18%;width:44%;height:12%;background:#2a201a;border-radius:1px}.m-warm .b{left:7%;top:36%;width:36%;height:12%;background:#2a201a}
.m-warm .c{left:7%;top:62%;width:22%;height:12%;background:#a8452a;border-radius:999px}.m-warm .d{left:58%;top:16%;width:34%;height:62%;background:#fffaf2;border:1px solid #e2d4c1}
.m-auto{background:repeating-linear-gradient(135deg,#f0efe9 0 12px,#e6e4dc 12px 24px)}
.nav{display:flex;gap:.75rem;justify-content:space-between;margin-top:1.25rem}
button{font:inherit;font-weight:650;border-radius:.6rem;padding:.8rem 1.3rem;border:2px solid var(--accent);cursor:pointer;min-height:3rem}
.primary{background:var(--accent);color:#fff}.secondary{background:#fff;color:var(--accent)}
.errors{border-color:#e7b4b4;background:#fff6f6}.errors li{color:var(--bad)}.note{color:var(--muted);font-size:.92rem}
:focus-visible{outline:3px solid #1b5fc1;outline-offset:2px}pre{white-space:pre-wrap;word-break:break-word;font-size:.85rem}
input[type=file]{font:inherit;width:100%;padding:.5rem 0}.thumb{display:flex;gap:.8rem;align-items:center;margin:.5rem 0}
.thumb img{width:6.5rem;height:4.5rem;object-fit:cover;border-radius:.4rem;border:1px solid var(--line);background:#fff}
.thumb.logo img,.thumbs img.logo-thumb{object-fit:contain;background:#fff}.thumbs{display:flex;flex-wrap:wrap;gap:.6rem;margin:.4rem 0 0}.thumbs img{width:7.5rem;height:5rem;object-fit:cover;border-radius:.4rem}
