:root{
  --ink:#111;
  --paper:#f4f2ed;
  --muted:#656b66;
  --line:rgba(17,17,17,.12);
  --acid:#d9f46a;
  font-family:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",Arial,sans-serif;
  color:var(--ink);
  background:var(--paper);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-height:100vh;background:var(--paper)}
button,input{font:inherit}
a{color:inherit}
.topbar{background:var(--ink);color:#fff;border-bottom:1px solid rgba(255,255,255,.12)}
.topbar-inner{width:min(1160px,calc(100% - 40px));height:68px;margin:auto;display:flex;align-items:center;justify-content:space-between}
.topbar span{font-size:12px;letter-spacing:.14em;color:rgba(255,255,255,.62)}
.logo{font-size:22px;font-weight:700;letter-spacing:-.04em;text-decoration:none}
.shell{width:min(1160px,calc(100% - 40px));margin:0 auto;padding:52px 0;display:grid;grid-template-columns:240px minmax(0,1fr);gap:34px}
.intro{position:sticky;top:30px;height:max-content}
.eyebrow{margin:0;color:#707570;font-size:12px;font-weight:700;letter-spacing:.16em}
.intro h1{margin:18px 0 0;font-size:48px;line-height:1.04;letter-spacing:-.05em}
.intro-copy{margin:20px 0 0;color:#606661;font-size:14px;line-height:1.9}
.progress-track{height:4px;margin-top:30px;overflow:hidden;border-radius:99px;background:rgba(0,0,0,.1)}
.progress-bar{height:100%;background:var(--ink);transition:width .25s}
.step-meta{margin:11px 0 0;color:#707570;font-size:12px}
.card{min-width:0;padding:46px;border-radius:28px;background:#fff;box-shadow:0 18px 60px rgba(0,0,0,.06)}
.section-head{margin-bottom:34px}
.section-head h2{margin:12px 0 0;font-size:38px;letter-spacing:-.04em}
.section-head p:last-child{max-width:680px;margin:14px 0 0;color:var(--muted);font-size:14px;line-height:1.9}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.field{display:block}
.field span{display:block;margin-bottom:8px;font-size:14px;font-weight:600}
.field input{width:100%;padding:13px 15px;border:1px solid rgba(0,0,0,.17);border-radius:12px;background:#fff;outline:none}
.field input:focus{border-color:#111;box-shadow:0 0 0 3px rgba(0,0,0,.08)}
.honeypot{position:absolute!important;left:-9999px!important}
.question{padding:0 0 30px;margin:0 0 30px;border:0;border-bottom:1px solid var(--line)}
.question legend{width:100%;margin-bottom:16px;font-size:16px;font-weight:600;line-height:1.75}
.number{margin-right:12px;color:#8b8f8c;font-size:12px}
.choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.choices.scale{grid-template-columns:repeat(3,minmax(0,1fr))}
.choice{position:relative;display:block;cursor:pointer}
.choice input{position:absolute;opacity:0;pointer-events:none}
.choice span{display:block;min-height:72px;padding:12px;border:1px solid rgba(0,0,0,.11);border-radius:12px;background:#faf9f6;color:#414642;font-size:14px;line-height:1.55;transition:.15s}
.choice b{display:block;margin-bottom:3px;color:#8b8f8c;font-size:10px;letter-spacing:.12em}
.choice input:focus-visible+span{outline:3px solid rgba(17,17,17,.18);outline-offset:2px}
.choice input:checked+span{border-color:#111;background:#111;color:#fff;box-shadow:0 8px 22px rgba(0,0,0,.14)}
.choice input:checked+span b{color:var(--acid)}
.consent{display:flex;align-items:flex-start;gap:12px;margin-top:34px;padding:19px;border-radius:16px;background:var(--paper);color:#565c58;font-size:14px;line-height:1.75;cursor:pointer}
.consent input{width:17px;height:17px;margin-top:4px;accent-color:#111}
.error{margin:18px 0 0;padding:13px 15px;border-radius:12px;background:#fff0f0;color:#a52020;font-size:14px}
.actions{display:flex;align-items:center;justify-content:space-between;margin-top:34px;padding-top:24px;border-top:1px solid var(--line)}
.btn{border:0;border-radius:999px;padding:13px 24px;cursor:pointer}
.btn-secondary{background:transparent;color:#515651}
.btn-primary{background:#111;color:#fff;font-weight:600}
.btn-submit{background:var(--acid);color:#111;font-weight:700}
.btn:disabled{cursor:not-allowed;opacity:.35}
.success{width:min(680px,calc(100% - 40px));margin:72px auto;padding:54px;border-radius:30px;background:#fff;box-shadow:0 22px 80px rgba(0,0,0,.08)}
.success-mark{display:grid;place-items:center;width:64px;height:64px;margin:38px 0;border-radius:50%;background:var(--acid);font-size:30px}
.success h1{margin:0;font-size:48px;letter-spacing:-.04em}
.success p{color:var(--muted);line-height:1.9}
.success small{color:#8b8f8c}
.footer{width:min(1160px,calc(100% - 40px));margin:auto;padding:0 0 38px;display:flex;justify-content:space-between;color:#777c78;font-size:12px}
.footer a{text-decoration:none}
@media(max-width:860px){
  .shell{grid-template-columns:1fr;padding:30px 0}
  .intro{position:static}
  .intro h1{font-size:38px}
  .intro-copy{max-width:600px}
  .card{padding:30px}
}
@media(max-width:560px){
  .topbar-inner,.shell,.footer{width:min(100% - 28px,1160px)}
  .topbar span{max-width:190px;text-align:right;letter-spacing:.08em}
  .fields,.choices,.choices.scale{grid-template-columns:1fr}
  .card{padding:24px 18px;border-radius:22px}
  .section-head h2{font-size:30px}
  .question legend{font-size:15px}
  .choice span{min-height:64px}
  .success{padding:36px 26px}
  .success h1{font-size:36px}
}
