/* A phone browser cannot reliably rotate the device; gate portrait viewing instead. */
.landscape-required{display:none}

@media (max-width:720px) and (orientation:portrait){
  html,body{height:100%;overflow:hidden!important;overscroll-behavior:none}
  .landscape-required{
    position:fixed;inset:0;z-index:2147483647;display:flex;align-items:center;justify-content:center;
    min-height:100svh;padding:24px max(24px,env(safe-area-inset-right)) 24px max(24px,env(safe-area-inset-left));
    background:radial-gradient(circle at 50% 43%,#14212c 0%,#090e15 56%,#04070c 100%);
    color:#f2f0e9;text-align:center;
  }
  .landscape-required-inner{width:min(100%,340px)}
  .landscape-required-mark{display:block;color:#d6b987;font-size:27px;line-height:1;margin-bottom:33px}
  .landscape-required-phone{
    position:relative;width:80px;height:48px;margin:0 auto 32px;
    border:2px solid #d6b987;border-radius:10px;box-shadow:0 0 0 8px #d6b98712;
  }
  .landscape-required-phone::after{content:"";position:absolute;right:5px;top:50%;width:3px;height:12px;transform:translateY(-50%);border-radius:3px;background:#d6b987}
  .landscape-required-kicker{margin:0 0 10px;color:#a7b0b7;font-family:"Atlas Space Mono","Space Mono",monospace;font-size:9px;letter-spacing:.18em}
  .landscape-required h2{margin:0;color:#f2f0e9;font-size:clamp(25px,7vw,34px);font-weight:600;letter-spacing:.05em;line-height:1.4}
  .landscape-required-copy{margin:13px 0 0;color:#b7c0c6;font-size:13px;line-height:1.8}
}

/* Short phone screens need a compact atlas once rotated. */
@media (orientation:landscape) and (max-width:1050px) and (max-height:600px){
  html,body{height:100%;overflow:hidden}
  main{height:100svh;padding:0}
  .aw-masthead{position:fixed;inset:0 0 auto;z-index:30;display:flex;flex-wrap:nowrap;height:50px;min-height:0;padding:5px max(10px,env(safe-area-inset-right)) 5px max(10px,env(safe-area-inset-left))}
  .aw-brand{font-size:11px;letter-spacing:.07em}.aw-brand small{display:none}.aw-brand-mark{width:27px;height:27px;font-size:18px}
  .aw-header-actions{justify-content:flex-end;flex-wrap:nowrap;gap:3px;margin:0}
  .aw-header-button{min-height:33px;padding:0 7px;font-size:10px}.aw-filter-toggle{display:block}
  .aw-filters{display:none;position:fixed;top:52px;left:10px;right:10px;z-index:32;order:0;flex-basis:auto;flex-wrap:wrap;grid-template-columns:none;gap:5px;width:auto;max-height:calc(100svh - 60px);overflow-y:auto;margin:0;padding:9px;border:1px solid #ffffff3a}
  body[data-filters-open=true] .aw-filters{display:flex}
  .aw-filters .aw-year{padding:0 6px;border-right:1px solid #ffffff28;justify-content:flex-start}.aw-filters .aw-toggle{display:flex;padding:0 8px}
  .aw-search-wrap{flex:1 1 160px;width:auto}.aw-filters .aw-search{padding:0}.aw-filters .aw-search input{width:100%}
  .aw-filters>button{grid-column:auto;grid-row:auto;justify-self:auto}
  .aw-layout{display:block;height:100svh;min-height:0}
  .aw-map-column{position:absolute;inset:0;order:0;height:100svh;min-height:0;padding:0}
  .aw-map-stage{position:absolute;inset:0;width:100%;height:100%;min-height:0;max-height:none;aspect-ratio:auto}
  #award-globe{inset:0;width:100%;height:100%}
  .aw-explorer,.aw-detail{position:absolute;top:56px;bottom:8px;display:flex;flex-direction:column;height:auto;min-height:0;max-height:none;margin:0;border-radius:13px;overflow-y:auto;transform:none!important;opacity:1!important}
  .aw-explorer{left:max(8px,env(safe-area-inset-left));width:min(250px,33vw);padding:0 12px}
  .aw-detail{right:max(8px,env(safe-area-inset-right));width:min(270px,35vw);padding:11px 12px}
  .aw-detail>*{grid-column:auto}.aw-detail .aw-photo{grid-column:auto;grid-row:auto}.aw-detail .aw-photo img{max-height:27vh}
  body[data-directory-open=false] .aw-explorer,body[data-detail-open=false] .aw-detail{display:none;pointer-events:none}
  .aw-intro h1{margin:9px 0 4px;font-size:18px}.aw-lede{display:none}.aw-totals{margin-top:8px;padding:7px 0}.aw-totals strong{font-size:17px}
  .aw-directory summary{padding:8px 0}.aw-map-heading{top:57px;left:50%;width:min(260px,32vw)}
  .aw-map-caption,.aw-map-note{display:none}.aw-map-controls{bottom:10px;left:50%;right:auto;transform:translateX(-50%)}.aw-map-controls button{width:42px;height:32px}
  #detail-pager{bottom:-11px;padding-top:8px}
}
