:root {
  --ink: #35291f;
  --muted: #746a61;
  --paper: #f6f6f2;
  --card: #fffdfa;
  --line: #ded8cf;
  --green: #9a4b18;
  --green2: #63330f;
  --mint: #f3e5d8;
  --amber: #b85b25;
  --shadow: 0 14px 38px rgba(83, 55, 31, .09);
}

body { font-family: "Helvetica Neue", "Yu Gothic UI", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif; }
.hero { background: linear-gradient(135deg, #3f2a1c 0%, #6a3513 60%, #9a4b18 100%); padding: 34px 24px 76px; border-bottom: 5px solid #c4773e; }
.hero__inner, .shell { max-width: 1040px; }
.brand { color: #f2d7c1; }
.hero h1 { font-family: inherit; font-size: clamp(34px, 5vw, 62px); line-height: 1.18; margin: 34px 0 16px; }
.hero h1 span { color: #ffd0aa; }
.hero > div > p { color: #f3e6dc; }
.privacy { color: #faeee5; margin-top: 24px; }
.privacy__dot { background: #ffb77e; box-shadow: 0 0 0 5px rgba(255, 183, 126, .16); }
.shell { margin-top: -38px; padding: 0 20px; }
.card, .action-card { border-radius: 12px; }
.card h2, .result-card h2 { font-family: inherit; font-size: 25px; color: #5f2f08; }
.action-card { background: linear-gradient(135deg, #65340f, #a14f1a); }
.action-card h2 { font-family: inherit; color: #fff; }
.action-card .eyebrow { color: #ffd4b5; }
.action-card p:last-child { color: #f7e9df; }
.radio-card:has(input:checked) { background: #fbf1e8; }
.message.success { background: #f7ede4; color: #6a3513; border-color: #dec0a7; }

.embed .hero { padding: 28px 20px 58px; }
.embed .brand { display: none; }
.embed .hero h1 { font-size: clamp(30px, 4.5vw, 48px); margin-top: 0; }
.embed .shell { margin-top: -32px; }
.embed footer { display: none; }

@media (max-width: 800px) {
  .hero { padding: 26px 18px 62px; }
  .hero h1 { margin-top: 26px; }
}

@media (max-width: 480px) {
  .shell { padding: 0 10px; margin-top: -30px; }
  .hero { padding-left: 16px; padding-right: 16px; }
  .hero h1 { font-size: 32px; }
  .hero > div > p { font-size: 14px; }
  .privacy { gap: 7px; font-size: 11px; }
  .upload-card, .section-card { padding: 18px; }
}
