:root { --font-ui: 'Field Sans', sans-serif; --font-editorial: 'Field Serif', serif; --font-section: var(--font-ui); --control-radius: 3px; }
.surface { max-width: 1240px; border-radius: 20px; box-shadow: none; }
.field-entry { padding: clamp(32px, 5svh, 52px) clamp(32px, 5vw, 64px); gap: 48px; }
.field-copy { padding: 0; }
.field-copy h1 { font-size: clamp(36px, 3.9vw, 50px); font-weight: 500; line-height: 1.55; letter-spacing: .015em; margin: 16px 0 22px; }
.entry-lead { font-size: 15px; line-height: 1.9; }
.entry-meta { font-size: 13px; letter-spacing: .015em; }
.eyebrow { font-size: 13px; letter-spacing: .035em; }
.entry-form { margin-top: 28px; }
.field-label { font-size: 13px; }
.viewpoint-button { font-size: 14px; border-radius: 3px; }
.name-field input { border-radius: 3px; padding: 12px 14px; }
.name-field input::placeholder { font-size: 14px; }
.entry-animal { height: 430px; }
.plate-caption { font-size: 12px; letter-spacing: .025em; margin-top: 16px; padding-top: 16px; }
.plate-caption span:first-child { font-size: 17px; }
.question-layout { max-width: 800px; padding: 32px 42px 40px; }
.question-body h1 { font-size: 30px; font-weight: 500; }
.question-context { color: #667659; }
.option { border-radius: 4px; }
.field-result { max-width: 1000px; padding: 48px 52px 64px; }
.animal-hero { gap: 40px; }
.animal-copy h1 { font-size: clamp(42px, 5.5vw, 62px); font-weight: 600; letter-spacing: .025em; }
.animal-title { font-size: 20px; line-height: 1.7; }
.animal-en { font-family: var(--font-ui); font-size: 12px; letter-spacing: .045em; }
.trait-tags { gap: 8px 16px; margin-top: 24px; }
.trait-tags span { border: 0; padding: 0; font-size: 13px; border-radius: 0; }
.result-plate img { height: 320px; }
.animal-intro { font-size: 15px; line-height: 1.95; margin-top: 32px; }
.reading-card h2 { font-size: 20px; }
.reading-card p { font-size: 14px; line-height: 1.95; }
.creation { padding: 28px; border-radius: 3px; }
.creation>h2 { font-family: var(--font-editorial); font-size: 26px; font-weight: 500; margin: 0 0 24px; }
.creation .reading-card { grid-template-columns: 84px 1fr; gap: 24px; }
.axis-head { font-size: 14px; }
.axis-tendency, .axis-ends { font-size: 12px; }
.nearby-card { background: none; border: 0; border-radius: 0; padding: 0; gap: 20px; }
.nearby-card:hover { background: #edf0e4; }
.nearby-card strong { font-size: 24px; }
.nearby-card span, .nearby-card small { font-size: 12px; }
.atlas summary { font-family: var(--font-section); font-size: 21px; }
.animal-grid { gap: 24px 16px; }
.animal-card { background: none; border: 0; padding: 0; border-radius: 0; }
.animal-card strong { font-size: 18px; }
.animal-card span, .small-note { font-size: 12px; }
.profile-title { font-family: var(--font-editorial); font-size: 25px; }
.profile-intro { font-size: 14px; }
@media (max-width: 900px) {
  .field-entry { padding: 40px 32px; gap: 28px; }
  .entry-animal { height: 360px; }
  .field-result { padding: 36px 32px 56px; }
}
@media (max-width: 650px) {
  .field-entry { padding: 28px 24px 34px; gap: 24px; }
  .field-copy h1 { font-size: 35px; line-height: 1.55; }
  .entry-animal { height: 220px; }
  .entry-lead { font-size: 14px; }
  .field-plate { margin-bottom: 0; }
  .plate-caption { margin-top: 8px; padding-top: 12px; }
  .plate-caption span+span { font-size: 12px; }
  .question-layout { padding: 22px 24px 34px; }
  .question-body h1 { font-size: 24px; }
  .field-result { padding: 28px 24px 56px; }
  .animal-hero { gap: 24px; }
  .result-plate img { height: 240px; }
  .animal-copy h1 { font-size: 44px; }
  .animal-intro { font-size: 14px; line-height: 1.95; }
  .creation { padding: 24px 20px; }
  .creation>h2 { font-size: 24px; }
  .creation .reading-card { grid-template-columns: 1fr; gap: 8px; }
  .creation .reading-card p { font-size: 14px; }
  .animal-title { font-size: 19px; }
  .axis-head { flex-wrap: wrap; gap: 6px 14px; }
  .animal-grid { gap: 24px 16px; }
}
@media (max-width: 360px) {
  .field-copy h1 { font-size: 31px; }
  .plate-caption span+span { display: none; }
}
