/* Compact phone layout; preserve text zoom, natural wrapping and touch targets. */
@media (max-width: 480px) {
  :root { --gutter:16px; }
  body { font-size:1rem; }
  .screen .h-display { font-size:1.75rem; line-height:1.2; }
  .screen .h2 { font-size:1.375rem; }
  .screen .mt-24 { margin-top:18px; }
  .screen .mt-32 { margin-top:24px; }
  .screen .section-label { margin-top:20px; }
  .topbar { min-height:48px; margin-bottom:4px; }
  .result .product-row,.details .product-row { padding:12px; border-radius:16px; }
  .result .product-row .meta { margin-top:3px; }
  .result .headline { font-size:1.375rem; line-height:1.35; margin-top:16px; letter-spacing:-.025em; }
  .result .product-barcode { padding:6px 0; gap:4px 8px; }
  .result .profile-hint { margin-top:12px; padding:12px; }
  .result .profile-hint span { font-size:.875rem; }
  .result .plaques { margin-top:14px; gap:6px; }
  .result .plaque { padding:10px 8px; border-radius:12px; }
  .result .plaque .pl-unit,.result .plaque .pl-level { font-size:.75rem; }
  .result .plaque .pl-pack { margin-top:6px; padding-top:6px; }
  .result .banner { margin-top:16px; padding:12px; font-size:.9375rem; }
  .result .overall,.result .goal-breakdown { margin-top:12px; }
  .result .goal-breakdown li { padding:10px 12px; }
  .result .goal-check-label { margin-bottom:3px; font-size:.875rem; }
  .result .goal-check-copy { line-height:1.5; }
  .result .overall .composition-section { padding:12px 14px; }
  .result .ai-verdict p { font-size:.9375rem; }
  .welcome .hero-orb { width:120px; height:120px; margin-bottom:24px; }
  .welcome .lead { font-size:1rem; }
  .welcome .chips { margin:18px 0 22px; gap:6px; }
  .welcome .chip { font-size:.8125rem; padding:0 12px; }
  .membership-hero { padding:18px 20px 20px; }
  .membership-hero h1 { font-size:30px; }
  .membership-plan-body { padding:18px; }
  .membership-price { font-size:32px; margin:14px 0; }
  .membership-plan h3 { font-size:20px; }
}
