:root{--ink:#1a1a1a;--ink-soft:#3d3d3d;--paper:#fafaf7;--card:#ffffff;--line:#d8d8d0;--green:#166534;--green-dark:#14532d;--green-soft:#e7f3ea;--amber:#92400e;--amber-soft:#fdf0d5;--blue:#1e40af;--blue-soft:#e3ecfd;--red:#991b1b;--red-soft:#fdecec;--gray-soft:#efeee9}*{box-sizing:border-box}html{font-size:18px}body{margin:0;background:var(--paper);color:var(--ink);font-family:system-ui,-apple-system,Noto Sans KR,sans-serif;line-height:1.6}a{color:var(--green)}h1{font-size:1.9rem;line-height:1.3}h1,h2{margin:0 0 .6rem}h2{font-size:1.4rem;line-height:1.35}h3{font-size:1.15rem;margin:0 0 .4rem}p{margin:0 0 .8rem}.card{background:var(--card);border:2px solid var(--line);border-radius:16px;padding:22px;margin-bottom:18px}.card-hero{background:var(--green);border-color:var(--green-dark);color:#fff}.card-hero h1{color:#fff}.card-hero p{color:#e8f5ec}.card-action{display:block;text-decoration:none;color:var(--ink);cursor:pointer}.card-action:focus-visible,.card-action:hover{border-color:var(--green);outline:3px solid var(--green-soft)}.card-action .action-title{font-size:1.45rem;font-weight:800;margin:0 0 .3rem}.card-action .action-arrow{font-size:1.45rem;font-weight:800;color:var(--green)}.card-notice{background:var(--amber-soft);border-color:#e3b341}.card-notice strong{color:var(--amber)}.card-rule{background:var(--gray-soft)}.card-thanks{background:var(--green-soft);border-color:var(--green)}.card-thanks h2{color:var(--green-dark)}.thanks-text{font-size:1.25rem;font-weight:800;line-height:1.6;color:var(--ink)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:56px;min-width:48px;padding:12px 24px;font-size:1.15rem;font-weight:800;line-height:1.3;border-radius:12px;border:2px solid var(--green);background:var(--green);color:#fff;cursor:pointer;text-decoration:none;text-align:center}.btn:focus-visible,.btn:hover{background:var(--green-dark);outline:3px solid var(--green-soft)}.btn:disabled{opacity:.55;cursor:wait}.btn-secondary{background:#fff;color:var(--green)}.btn-secondary:focus-visible,.btn-secondary:hover{background:var(--green-soft)}.btn-block{display:flex;width:100%}.btn-small{min-height:48px;padding:8px 16px;font-size:1rem}.badge{display:inline-block;padding:4px 12px;border-radius:999px;font-size:.95rem;font-weight:800;line-height:1.5;white-space:nowrap}.badge-green{background:var(--green-soft);color:var(--green-dark)}.badge-amber{background:var(--amber-soft);color:var(--amber)}.badge-blue{background:var(--blue-soft);color:var(--blue)}.badge-gray{background:var(--gray-soft);color:var(--ink-soft)}.badge-red{background:var(--red-soft);color:var(--red)}.field{display:block;margin-bottom:18px;font-size:1.1rem;font-weight:700}.field input,.field select,.field textarea{display:block;width:100%;margin-top:6px;padding:14px 16px;font-size:1.1rem;line-height:1.4;color:var(--ink);background:#fff;border:2px solid #8a8a80;border-radius:12px}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:3px solid var(--green);border-color:var(--green)}.field .hint{display:block;margin-top:6px;font-size:.95rem;font-weight:400;color:var(--ink-soft)}.price{font-size:1.9rem;font-weight:800;line-height:1.2}.product-grid{display:grid;grid-gap:18px;gap:18px}.status-list{list-style:none;margin:0;padding:0}.status-list li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:1.1rem;font-weight:700}.status-list li:last-child{border-bottom:0}.impact-number{font-size:2.4rem;font-weight:800;line-height:1.1;color:var(--green-dark)}.steps{margin:0;padding-left:1.4rem}.steps li{margin-bottom:10px;font-size:1.1rem}.photo-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:180px;padding:24px;border:3px dashed #8a8a80;border-radius:16px;background:var(--gray-soft);text-align:center;cursor:pointer}.photo-drop strong{font-size:1.3rem}.message{padding:16px 20px;border-radius:12px;background:var(--blue-soft);color:var(--blue);font-size:1.1rem;font-weight:700;margin-bottom:18px}.mode-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px;margin-bottom:18px}.mode-card{padding:18px;border:2px solid var(--line);border-radius:16px;background:#fff;cursor:pointer;text-align:left;font-size:1.15rem;font-weight:800;min-height:88px}.mode-card[aria-pressed=true]{border-color:var(--green);background:var(--green-soft);outline:3px solid var(--green-soft)}.mode-card small{display:block;margin-top:4px;font-size:.95rem;font-weight:400;color:var(--ink-soft)}@media (max-width:560px){.mode-row{grid-template-columns:1fr}}