.form-page{background:var(--cream);min-height:calc(100vh - 88px);padding:40px 0 70px}.form-wrap{max-width:680px;margin:auto}.form-page h1{font-size:clamp(28px,5vw,43px);margin:8px 0}.intro{margin-bottom:28px}.form-card{background:var(--snow);border:1px solid var(--line);border-radius:22px;padding:clamp(20px,5vw,42px);box-shadow:0 15px 45px #63463314}.progress-head{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:var(--green);margin-bottom:12px}.progress{height:7px;border-radius:30px;background:#e6d9c7;overflow:hidden}.progress>div{height:100%;width:14.285%;background:var(--red);transition:width .2s}.question-wrap{animation:appear .22s ease}.question-wrap h2{font-size:clamp(21px,4vw,30px);margin:28px 0 8px;text-align:center}.question-wrap .hint{text-align:center;color:var(--wood);margin:0 0 24px}.option-list{display:grid;gap:11px}.option{width:100%;border:1px solid #e1d1bb;background:white;color:var(--green);padding:16px 18px;min-height:58px;text-align:left;border-radius:13px;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;transition:border-color .15s,background .15s,transform .15s}.option:hover,.option:focus-visible{border-color:var(--red);background:#fff5ed;transform:translateY(-1px)}.option:disabled{opacity:.7;cursor:wait}.option span:last-child{color:var(--red)}.field-label{display:block;font-weight:800;color:var(--green);margin-bottom:9px}.text-field{display:block;width:100%;padding:14px;border:1px solid #bfae98;border-radius:11px;background:white;color:var(--ink);font:inherit}.text-field:focus-visible{outline:3px solid var(--gold)}textarea.text-field{min-height:140px;resize:vertical}.field-note{font-size:13px;color:var(--wood)}.form-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:23px}.back-button{border:0;background:transparent;color:var(--wood);font-weight:800;padding:12px;cursor:pointer}.back-button:disabled{visibility:hidden}.error{color:#971c27;min-height:1.4em;font-size:14px}.done-icon{text-align:center;font-size:55px;color:var(--gold)}#done{text-align:center}.review{text-align:left;white-space:pre-wrap;background:var(--cream);border-radius:12px;padding:18px;margin:20px 0;font-size:14px}.adult-note{border-radius:12px;background:var(--cream);padding:16px;color:var(--wood);font-size:14px}.confirm-row{display:flex;align-items:flex-start;gap:12px;margin:15px 0;color:var(--green)}.confirm-row input{margin-top:5px;accent-color:var(--red)}@keyframes appear{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.question-wrap{animation:none}.progress>div,.option{transition:none}}@media(max-width:600px){.form-page{padding:25px 0 55px}.option{min-height:62px}.form-card{padding:20px}}

.phase-intro{text-align:center;background:var(--snow);border:1px solid var(--line);padding:30px;border-radius:18px;margin:24px 0}
.phase-intro p{font-size:19px;color:var(--green)}

.recipient-fieldset{border:1px solid #e1d1bb;border-radius:12px;padding:16px;margin:20px 0}.recipient-fieldset legend{font-weight:800;color:var(--green);padding:0 5px}.recipient-option{display:flex;gap:10px;align-items:flex-start;padding:10px 0;cursor:pointer}.recipient-option input{margin-top:5px;accent-color:var(--red)}#recipient-extra{margin-top:14px}#recipient-extra[hidden]{display:none}
