.entry-gate {
  position: fixed;
  z-index: 100;
  inset: 0;
  display: grid;
  place-items: center;
  overflow: auto;
  padding: 22px 26px;
  background: #081018;
  transition: opacity .38s ease, transform .45s ease;
}
.entry-gate[hidden] { display: none; }
.entry-gate.is-leaving { opacity: 0; transform: translateY(-22px); pointer-events: none; }
.entry-content { width: min(1500px, 100%); margin: auto; padding: 10px 0 25px; text-align: center; }
.entry-kicker { color: #cdb893; font: 10px Georgia, serif; letter-spacing: .32em; margin-bottom: 20px; }
.entry-kicker span { padding: 0 18px; color: var(--gold-bright); }
.entry-content h1 { font: 500 clamp(42px, 5vw, 78px)/1.15 var(--serif); letter-spacing: .13em; margin: 0 0 37px; text-shadow: 0 8px 35px #000; }
.entry-content h1 span { display: block; color: #d8c8ac; font: 11px Georgia, serif; letter-spacing: .4em; margin-top: 14px; }
.entry-choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(24px, 5vw, 76px); text-align: left; }
.entry-choice {
  display: block;
  width: 100%;
  padding: 0;
  border: 1px solid rgba(225, 203, 165, .33);
  background: rgba(8, 13, 19, .62);
  color: var(--ivory);
  text-align: left;
  overflow: hidden;
  box-shadow: 0 16px 46px rgba(0, 0, 0, .35);
  transition: border-color .25s, box-shadow .3s, transform .3s, background .3s;
}
.entry-choice:hover, .entry-choice:focus-visible {
  transform: translateY(-9px);
  border-color: rgba(237, 205, 150, .88);
  background: rgba(21, 24, 27, .87);
  box-shadow: 0 26px 72px rgba(0, 0, 0, .55), 0 0 38px rgba(214, 170, 104, .15);
}
.entry-choice:focus-visible { outline: 2px solid var(--gold-bright); outline-offset: 5px; }
.entry-label { display: flex; align-items: center; gap: 18px; min-height: 92px; padding: 13px clamp(18px, 2.2vw, 34px); border-bottom: 1px solid rgba(225, 203, 165, .27); }
.entry-number { color: #b49e78; font: italic 18px Georgia, serif; white-space: nowrap; }
.entry-name { font: 500 clamp(29px, 2.6vw, 43px)/1.2 var(--serif); letter-spacing: .18em; }
.entry-name small { display: block; font: 10px Georgia, serif; letter-spacing: .22em; color: #bea987; margin-top: 7px; }
.entry-arrow { margin-left: auto; color: var(--gold); font: 24px Georgia, serif; transition: transform .25s; }
.entry-choice:hover .entry-arrow, .entry-choice:focus-visible .entry-arrow { transform: translate(5px, -5px); }
.entry-art { position: relative; display: block; aspect-ratio: 1.86; overflow: hidden; background: #11161c; }
.entry-art:after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(0deg, rgba(3, 7, 11, .25), transparent 45%); }
.entry-art img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(.86) brightness(.84); transition: transform .68s cubic-bezier(.2, .8, .2, 1), filter .4s; }
.entry-choice:hover .entry-art img, .entry-choice:focus-visible .entry-art img { transform: scale(1.16); filter: saturate(1.1) brightness(1.04); }

@media (max-width: 700px) {
  html { scroll-padding-top: 98px; }
  .entry-gate { padding: 20px 20px; }
  .entry-content { max-width: 500px; padding: 10px 0; }
  .entry-kicker { font-size: 8px; letter-spacing: .18em; margin-bottom: 13px; }
  .entry-kicker span { padding: 0 6px; }
  .entry-content h1 { font-size: clamp(32px, 9vw, 46px); margin-bottom: 22px; }
  .entry-content h1 span { font-size: 9px; letter-spacing: .2em; margin-top: 7px; }
  .entry-choices { grid-template-columns: 1fr; gap: 13px; }
  .entry-label { min-height: 58px; padding: 8px 16px; gap: 12px; }
  .entry-name { font-size: 23px; }
  .entry-name small { font-size: 8px; margin-top: 3px; }
  .entry-art { aspect-ratio: 2.7; }
}
@media (prefers-reduced-motion: reduce) {
  .entry-choice, .entry-art img, .entry-gate, .site-shell, .backdrop { transition-duration: .01ms; }
}

/* The image and mask belong exclusively to the entry dialog. */
.entry-background,.entry-mask{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.entry-background{object-fit:cover;object-position:center;z-index:0;visibility:hidden}
.entry-mask{z-index:1;background:linear-gradient(180deg,rgba(3,6,11,.48),rgba(3,6,11,.72))}
.entry-content{position:relative;z-index:2;visibility:hidden}
.entry-gate.is-image-ready .entry-background,.entry-gate.is-image-ready .entry-content{visibility:visible}
.entry-gate.image-failed .entry-content{visibility:visible}

/* Trial: static magnification; only image opacity animates during exit. */
.entry-background{transform:scale(1.23);opacity:1;transition:opacity .6s linear}
.entry-mask{transition:opacity .38s ease}
.entry-content{transition:opacity .38s ease,transform .45s ease}
.entry-gate.is-leaving{opacity:1;transform:none;background:transparent;transition:none}
.entry-gate.is-leaving .entry-background{opacity:0}
.entry-gate.is-leaving .entry-mask{opacity:0}
.entry-gate.is-leaving .entry-content{opacity:0;transform:translateY(-22px);pointer-events:none}
@media(prefers-reduced-motion:reduce){.entry-background,.entry-mask,.entry-content{transition-duration:.01ms}}

.entry-background-clip{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
