/* iPhone layout: safe areas, full thumb targets, and an intentionally larger focal object. */
@media (max-width:640px) {
  html,body,.experience,.scene { min-height:-webkit-fill-available; }
  .experience { min-height:100svh; padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left); }
  .scene { min-height:calc(100svh - env(safe-area-inset-top) - env(safe-area-inset-bottom)); }
  .envelope-stage { width:min(94vw,430px); margin-top:-5svh; }
  .eyebrow,.scene-status { display:none; }
  .hint { bottom:max(25px,calc(4svh + env(safe-area-inset-bottom))); font-size:9px; }
  .mobile-orientation { display:block; bottom:calc(max(25px,4svh) + env(safe-area-inset-bottom) + 28px); font-size:8px; opacity:0; transition:opacity .5s; }
  .experience.is-open .mobile-orientation { opacity:1; }
  .experience.is-open .envelope-stage { transform:translateY(-14svh) scale(.68); }
  .coupon { top:61%; width:calc(100% - 30px); min-height:258px; padding:22px 20px 19px; border-radius:24px; backdrop-filter:blur(18px) saturate(122%); -webkit-backdrop-filter:blur(18px) saturate(122%); }
  .coupon-brand { width:151px; margin-top:5px; }
  .coupon-divider { margin:20px 0 16px; }
  .coupon-footer { margin-top:17px; }
  .reveal-button,.copy-button { min-height:44px; }
  .reveal-button { padding:0 15px; }
  .copy-button { padding:0 15px; }
}
@media (hover:none) { .envelope:hover { transform:none; filter:none; } .envelope:hover .crystal-halo { opacity:.34; transform:translateZ(-48px) scale(.87); } .envelope:hover .crystal-shadow { opacity:.72; transform:translateZ(-80px); } }
@supports (-webkit-touch-callout:none) { .experience { min-height:100dvh; } .scene { min-height:100dvh; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important; } }
