/* Grand Archival Foyer — first screen on every load (Frank, Aug 2026).
   Silent. Navy / walnut / gold. Replaces the retired touch-symbol curtain
   (original preserved in vault/privatearchive/touch-symbol-entrance). */
#grandFoyer{position:fixed;inset:0;z-index:2147483000;background:#0b0f19;color:#e9d7ae;
  font-family:"Cormorant Garamond","Palatino Linotype",Georgia,serif;display:flex;align-items:center;justify-content:center;
  overflow:hidden;opacity:1;transition:opacity .7s ease}
#grandFoyer.gf-leaving{opacity:0;pointer-events:none}
#grandFoyer.gf-gone{display:none}
html.gf-open #arrivalCeremony,html.gf-open #menuStartHint{display:none!important}
#menuStartHint{display:none!important}
.gf-stage{position:relative;width:min(100vw,calc(100dvh*1024/572));aspect-ratio:1024/572}
.gf-stage img{position:absolute;inset:0;width:100%;height:100%;display:block;user-select:none;-webkit-user-drag:none}
.gf-backdrop{position:absolute;inset:-4%;background:url(grand-foyer/grand-foyer.png) center/cover no-repeat;filter:blur(24px) brightness(.45)}
.gf-hit{position:absolute;background:transparent;border:0;padding:0;margin:0;cursor:pointer;border-radius:999px;
  color:transparent;font-size:1px;-webkit-tap-highlight-color:transparent;transition:box-shadow .3s ease}
.gf-hit:hover,.gf-hit:focus-visible{outline:none;box-shadow:0 0 0 2px rgba(214,178,106,.75)}
.gf-medallion{left:43.8%;top:39.2%;width:12.4%;aspect-ratio:1;border-radius:50%}
.gf-medallion-label{left:42%;top:62%;width:16%;height:5%}
.gf-express{left:76.4%;top:4.9%;width:20.8%;height:6.4%}
.gf-quick{left:12.7%;top:86.2%;width:15.4%;height:6.4%}
.gf-printer{left:31.3%;top:86.2%;width:17.1%;height:6.4%}
.gf-top100{left:51.6%;top:86.2%;width:16.5%;height:6.4%}
.gf-tour{left:71.4%;top:86.2%;width:16%;height:6.4%}
.gf-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.gf-mobilebar{display:none}
.gf-notice{position:absolute;left:50%;bottom:calc(14% + env(safe-area-inset-bottom));transform:translate(-50%,8px);opacity:0;
  max-width:min(88vw,440px);padding:12px 20px;border:1px solid rgba(214,178,106,.55);border-radius:14px;
  background:rgba(14,20,36,.92);color:#ecdcb4;font-size:16px;text-align:center;letter-spacing:.02em;
  transition:opacity .35s ease,transform .35s ease;pointer-events:none;z-index:3}
.gf-notice.show{opacity:1;transform:translate(-50%,0)}
/* Phones / portrait: keep the door art as the hero, give real-size labelled controls. */
@media (max-aspect-ratio:1/1){
  #grandFoyer{flex-direction:column;justify-content:center}
  .gf-stage{width:100vw;height:auto;margin-top:max(8px,env(safe-area-inset-top))}
  .gf-express,.gf-quick,.gf-printer,.gf-top100,.gf-tour,.gf-medallion-label{display:none}
  .gf-mobilebar{display:grid;position:relative;z-index:2;grid-template-columns:1fr 1fr;gap:10px;width:min(92vw,460px);
    margin:18px auto calc(18px + env(safe-area-inset-bottom))}
  .gf-mobilebar button{min-height:48px;border-radius:999px;border:1px solid rgba(214,178,106,.6);
    background:linear-gradient(180deg,#3a2718,#22160e);color:#f0dfb6;font:600 16px/1.2 "Cormorant Garamond",Georgia,serif;letter-spacing:.03em;cursor:pointer}
  .gf-mobilebar .gf-m-enter{grid-column:1/-1;background:linear-gradient(180deg,#8a6a33,#5c4420);color:#fff5dc;font-size:18px}
  .gf-mobilebar .gf-m-express{grid-column:1/-1;background:rgba(18,26,46,.9)}
}
@media (prefers-reduced-motion:reduce){#grandFoyer,.gf-notice{transition:none}}
