/* Public browser presentation: no simulated handset on any device. */
html, body { width:100%; height:100%; background:var(--sand); }
body { display:block; padding:0; overflow:hidden; }
body .phone { width:100%; max-width:none; height:100dvh; border-radius:0; box-shadow:none; }
.phone .di, .phone .sb { display:none; }
.phone .menu-overlay { border-radius:0; }
.phone .global-back { top:12px; }
.phone #s0 { display:block; overflow-y:auto; overflow-x:hidden; }
.phone #s0 .hw { height:clamp(340px,55vh,640px); min-height:340px; flex:none; }
.phone #s0 .drawer { max-height:none; overflow:visible; border-radius:0; padding-top:24px; }
.phone #s0 .bnav { position:sticky; bottom:0; z-index:30; }
.phone .body { min-height:0; }
.phone .bnav { padding-bottom:max(12px,env(safe-area-inset-bottom)); }
@media (min-width:700px) {
  .phone .app-hdr-main { height:72px; padding-inline:max(28px,calc((100vw - 1200px)/2)); }
  .phone .hbod { padding:0 max(36px,calc((100vw - 1160px)/2)) 48px; }
  .phone .hh { font-size:clamp(48px,5vw,76px); }
  .phone .hsu { max-width:440px; font-size:15px; }
  .phone .drawer { padding-inline:max(16px,calc((100vw - 1240px)/2)); }
  .phone .cats { flex-wrap:wrap; }
  .phone .cat { min-width:86px; }
  .phone .reel, .phone .reel.expanded { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); overflow:visible; }
  .phone .reel .ec { width:auto; min-width:0; }
  .phone .dgrid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .phone .bnav { justify-content:center; gap:24px; }
  .phone .bnav > * { flex:0 1 150px; }
  .phone .scr:not(#s0) > .body { width:100%; max-width:1100px; margin-inline:auto; }
  .phone .scr > .sfoot { justify-content:center; }
  .phone .sfoot > .btn { max-width:480px; }
  .phone .menu-panel { max-width:420px; }
  .phone .cursheet { max-width:540px; margin-inline:auto; width:100%; }
}
@media (prefers-reduced-motion:reduce) {
  .phone .hs.active { animation:none; }
  .phone .scr, .phone .hs { transition:none; }
}