.hero.promise-hero{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);align-items:center;gap:44px;min-height:590px;padding-top:38px;padding-bottom:38px}.promise-hero .hero-copy{padding:12px 0}.promise-hero .hero h1,.promise-hero h1{font-size:clamp(58px,6vw,82px);line-height:1.15;letter-spacing:9px;color:#6b4c43;margin:0 0 22px}.promise-hero .hero h1 span{color:#779353}.promise-hero .eyebrow{color:#9b7b73;letter-spacing:1.7px}.promise-hero .hero-description{font-size:15px;line-height:2.05;color:#7f786b}.promise-hero .promise-hero-art{display:flex;align-items:center;justify-content:flex-end;min-height:0;margin:0;background:none;overflow:visible;pointer-events:auto}.promise-hero .hero-promise-image{position:static;display:block;width:min(100%,560px);height:auto;aspect-ratio:1;object-fit:cover;border:1px solid #e6c7bb;border-radius:8px;box-shadow:0 20px 55px #915e4925;filter:none;animation:none}.promise-hero .hero-link{display:inline-flex;align-items:center;gap:18px;margin-top:28px;padding:14px 20px;border:1px solid #c88e83;border-radius:5px;background:linear-gradient(135deg,#b36d68,#d39a86);box-shadow:0 6px 16px #ad71632d;color:#fffaf2;font-size:14px;font-weight:700;letter-spacing:.5px;cursor:pointer}.promise-hero .hero-link:hover{background:linear-gradient(135deg,#9f5c59,#c68878);transform:translateY(-1px)}.promise-hero .hero-link span{font-size:18px}
.promise-dialog{width:min(650px,calc(100% - 32px));max-height:92dvh;overflow:auto}.promise-form{padding:22px 25px 25px}.promise-form-intro{margin:0 0 18px;padding:12px 14px;border:1px solid #eeddd2;border-radius:5px;background:#fbf4eb;color:#92786d;font-size:12px;line-height:1.9}.promise-field{display:grid;gap:7px;margin:17px 0;color:#786a5d;font-size:12px;font-weight:600}.promise-field input,.promise-field textarea{width:100%;border:1px solid #e2d1c5;border-radius:4px;padding:12px 13px;background:#fffdf8;color:#5f554c;font:13px/1.8 "Microsoft YaHei","Noto Sans CJK SC",sans-serif;resize:vertical}.promise-field input::placeholder,.promise-field textarea::placeholder{color:#b6a99a;font-weight:400}.promise-field input:focus,.promise-field textarea:focus{outline:2px solid #d0a39a;outline-offset:1px;border-color:#c98f85}.promise-field small{color:#a19485;font-size:10px;font-weight:400;line-height:1.7}.promise-form-actions{display:flex;justify-content:center;margin-top:20px}.promise-form-actions .button{min-width:230px;padding:12px 18px;background:#b36d68;border-color:#b36d68;color:#fffaf2}.promise-form-actions .button:hover{background:#9f5c59;border-color:#9f5c59}.promise-privacy-note{margin:14px 0 0;color:#a79a8d;text-align:center;font-size:10px}
.promise-result-dialog{width:min(820px,calc(100% - 24px));max-height:92dvh;overflow:auto}.promise-result-body{padding:17px 20px 21px}.promise-result-intro,.promise-result-note{margin:0 0 12px;color:#8b7a68;font-size:12px;line-height:1.8;text-align:center}.promise-result-image{display:block;width:100%;height:auto;border:1px solid #e4d1bd;border-radius:6px;background:#fbf4e8}.promise-result-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin:16px 0 12px}.promise-result-actions .button{min-width:150px;padding:11px 16px;font-size:12px}.promise-result-actions .button.primary{background:#b36d68;border-color:#b36d68;color:#fffaf2}.promise-result-note{margin:0;color:#a39686;font-size:10px}
@media(max-width:740px){.hero.promise-hero{display:grid;grid-template-columns:1fr;gap:14px;min-height:0;padding-top:26px;padding-bottom:25px;overflow:visible}.promise-hero .hero-copy{padding:0}.promise-hero .eyebrow{font-size:8px;letter-spacing:1px;margin-bottom:12px}.promise-hero .hero h1,.promise-hero h1{font-size:48px;letter-spacing:6px;margin-bottom:12px}.promise-hero .hero-description{font-size:11px;line-height:1.9;max-width:none;margin:0}.promise-hero .hero-link{font-size:11px;padding:10px 13px;margin-top:14px;gap:12px}.promise-hero .promise-hero-art{min-height:0;margin:0;overflow:visible}.promise-hero .hero-promise-image{width:min(100%,440px);margin:0 auto}.promise-form{padding:17px}.promise-result-body{padding:12px}.promise-result-actions .button{flex:1}.promise-dialog,.promise-result-dialog{max-height:90vh}}
@media(max-width:400px){.payment-contact{grid-template-columns:minmax(0,1fr) auto;row-gap:5px}.payment-contact>span{grid-column:1/-1}.payment-contact>strong{grid-column:1}.payment-contact>.button{grid-column:2}.paid-receipt-contact-row{grid-template-columns:minmax(0,1fr) auto}.paid-receipt-contact-row>span{grid-column:1/-1}.paid-receipt-contact-row>strong{grid-column:1}.paid-receipt-contact-row>.button{grid-column:2}}

.promise-character-field{margin:18px 0;padding:14px;border:1px solid #ead9ce;border-radius:5px;background:#fffaf5}.promise-character-field>label{display:block;margin-bottom:8px;color:#786a5d;font-size:12px;font-weight:700}.promise-character-field>input[type=file]{display:block;width:100%;padding:9px;border:1px dashed #d9c4b6;border-radius:4px;background:#fffdf9;color:#75695e;font:11px "Microsoft YaHei","Noto Sans CJK SC",sans-serif}.promise-character-field>small{display:block;margin-top:8px;color:#9a8b7e;font-size:10px;line-height:1.8}.promise-character-preview[hidden]{display:none}.promise-character-preview{display:grid;grid-template-columns:76px minmax(0,1fr) auto;align-items:center;gap:12px;margin-top:12px;padding:10px;border:1px solid #eeddd2;border-radius:5px;background:#fbf4eb}.promise-character-preview-thumb{width:76px;height:108px;overflow:hidden;border:1px solid #d9c5b7;border-radius:4px;background:#f8efdf}.promise-character-preview-thumb img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transform-origin:center}.promise-character-preview-info{display:grid;gap:8px;color:#786a5d;font-size:11px}.promise-character-preview-info strong{color:#705950;font-size:11px}.promise-character-preview-info label{display:flex;justify-content:space-between;gap:8px}.promise-character-preview-info output{color:#a26761;font-variant-numeric:tabular-nums}.promise-character-preview-info input[type=range]{width:100%;accent-color:#b36d68}.promise-character-preview>.button{padding:7px 9px;font-size:10px}@media(max-width:440px){.promise-character-preview{grid-template-columns:64px minmax(0,1fr);gap:9px}.promise-character-preview-thumb{width:64px;height:94px}.promise-character-preview>.button{grid-column:2;justify-self:start}}
.promise-character-preview.transparent-avatar .promise-character-preview-thumb img{object-fit:contain}
