.entry-page { position: relative; height: 100dvh; min-height: 420px; overflow: hidden; isolation: isolate; }
.entry-media, .entry-atmosphere { position: absolute; inset: 0; z-index: -3; overflow: hidden; }
.entry-media video, .entry-media img { position: absolute; width: 100%; height: 100%; object-fit: cover; object-position: 58% center; }
.entry-media video { z-index: 1; }
.entry-media img { z-index: 0; }
.entry-atmosphere { z-index: -2; background: linear-gradient(90deg, rgba(3,5,8,.96) 0%, rgba(3,5,8,.78) 32%, rgba(3,5,8,.18) 64%, rgba(3,5,8,.5) 100%), linear-gradient(0deg, rgba(3,5,8,.75) 0%, transparent 38%); }
.entry-atmosphere::before { content: ""; position: absolute; inset: 0; opacity: .11; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.34'/%3E%3C/svg%3E"); mix-blend-mode: soft-light; }
.entry-atmosphere::after { content: ""; position: absolute; top: 0; bottom: 0; left: 64%; width: 1px; background: rgba(79,120,255,.58); box-shadow: 0 0 22px rgba(43,100,255,.42); }

.entry-header { position: absolute; z-index: 5; top: max(0px, env(safe-area-inset-top)); left: 0; right: 0; height: clamp(58px, 8.5vh, 84px); display: flex; align-items: center; justify-content: space-between; padding: 0 clamp(18px, 4.2vw, 76px); border-bottom: 1px solid rgba(255,255,255,.14); }
.entry-classification { display: flex; align-items: center; gap: 11px; color: #c5c9cf; font-size: 10px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.entry-classification i, .entry-footer i { width: 6px; height: 6px; border-radius: 50%; background: var(--green); box-shadow: 0 0 12px var(--green); }
.entry-classification b { display: grid; width: 27px; height: 27px; place-items: center; border: 1px solid rgba(255,255,255,.28); color: var(--white); font: 800 11px/1 var(--display); }

.entry-main { height: 100%; display: flex; align-items: flex-end; padding: clamp(76px, 11vh, 112px) clamp(18px, 4.2vw, 76px) clamp(58px, 9vh, 92px); }
.access-console { position: relative; width: min(590px, 47vw); animation: console-in .8s cubic-bezier(.2,.8,.2,1) both; }
.access-index { position: absolute; top: 6px; right: 0; color: #9aa2ac; font: 600 10px/1 var(--body); letter-spacing: .2em; }
.access-console h1 { margin: 0; font: 900 clamp(57px, 9.8vh, 112px)/.73 var(--display); letter-spacing: -.025em; text-transform: uppercase; }
.access-console h1 em { color: transparent; font-style: normal; -webkit-text-stroke: 1px rgba(255,255,255,.72); }
.access-intro { width: min(430px, 100%); margin: clamp(14px, 2.5vh, 27px) 0 0; color: #bdc3ca; font-size: clamp(11px, 1.25vw, 14px); line-height: 1.55; }
.invite-form { width: min(530px, 100%); margin-top: clamp(18px, 3.3vh, 34px); }
.invite-form label { display: block; margin-bottom: 8px; color: #a7aeb7; font-size: 10px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.access-field { height: clamp(56px, 8.2vh, 72px); display: grid; grid-template-columns: 50px minmax(0,1fr) auto; align-items: stretch; border: 1px solid rgba(255,255,255,.38); background: rgba(5,8,12,.84); box-shadow: 0 18px 55px rgba(0,0,0,.28); backdrop-filter: blur(12px); }
.access-field > span { display: grid; place-items: center; border-right: 1px solid rgba(255,255,255,.16); color: var(--blue-hot); font: 900 19px/1 var(--display); }
.access-field input { min-width: 0; border: 0; outline: 0; padding: 0 15px; background: transparent; color: var(--white); font: 600 clamp(14px, 1.55vw, 18px)/1 var(--body); letter-spacing: .08em; text-transform: uppercase; }
.access-field input::placeholder { color: #9aa2ac; opacity: 1; }
.access-field:focus-within { border-color: rgba(116,150,255,.9); box-shadow: 0 0 0 1px var(--blue), 0 18px 60px rgba(0,0,0,.4); }
.access-field button { width: clamp(92px, 9.5vw, 126px); display: flex; align-items: center; justify-content: center; gap: 9px; border: 0; border-left: 1px solid rgba(0,0,0,.24); background: var(--amber); color: #090c11; cursor: pointer; font: 800 12px/1 var(--body); letter-spacing: .12em; text-transform: uppercase; transition: background .18s, transform .18s; }
.access-field button:hover { background: #ff713d; }
.access-field button:active { transform: translateX(2px); }
.access-field button:disabled { cursor: wait; opacity: .72; }
.access-field button svg { width: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.invite-status { min-height: 16px; margin: 7px 0 0; color: #ff8a63; font-size: 10px; font-weight: 600; }
.invite-status.is-pending { color: #b7bec8; }
.has-error .access-field { border-color: #ff7546; }

.entry-footer { position: absolute; z-index: 5; left: 0; right: 0; bottom: max(0px, env(safe-area-inset-bottom)); height: clamp(38px, 5.2vh, 50px); display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 0 clamp(18px, 4.2vw, 76px); border-top: 1px solid rgba(255,255,255,.12); color: #9aa2ac; font-size: 10px; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; }
.entry-footer > span { display: flex; align-items: center; gap: 9px; }
.entry-footer > span:last-child { justify-self: end; }
.entry-coordinates { color: #aab0b7; }

@keyframes console-in { from { opacity: 0; transform: translateY(18px); } }

@media (max-width: 700px) {
  .entry-page { min-height: 480px; }
  .entry-media video, .entry-media img { object-position: 56% center; }
  .entry-atmosphere { background: linear-gradient(0deg, rgba(3,5,8,.98) 0%, rgba(3,5,8,.86) 42%, rgba(3,5,8,.08) 80%), linear-gradient(90deg, rgba(3,5,8,.5), transparent); }
  .entry-atmosphere::after { left: 56%; opacity: .55; }
  .entry-header { height: 58px; }
  .entry-classification { font-size: 0; gap: 8px; }
  .entry-classification::after { content: "Private"; font-size: 10px; }
  .entry-classification b { display: none; }
  .entry-main { padding: 68px 18px 45px; }
  .access-console { width: 100%; }
  .access-index { top: 0; }
  .access-console h1 { font-size: clamp(54px, 15.5vw, 72px); line-height: .76; }
  .access-intro { max-width: 330px; margin-top: 12px; font-size: 11px; line-height: 1.4; }
  .invite-form { margin-top: 16px; }
  .access-field { height: 57px; grid-template-columns: 42px minmax(0,1fr) 74px; }
  .access-field > span { font-size: 16px; }
  .access-field input { padding: 0 10px; font-size: 12px; letter-spacing: .03em; }
  .access-field button { width: 74px; font-size: 0; }
  .access-field button svg { width: 23px; }
  .entry-footer { height: 36px; grid-template-columns: 1fr auto; padding: 0 18px; }
  .entry-footer > span:last-child { display: none; }
  .entry-coordinates { justify-self: end; }
}

@media (max-height: 640px) and (max-width: 700px) {
  .access-console h1 { font-size: 52px; }
  .access-intro { margin-top: 9px; max-width: 300px; line-height: 1.3; }
  .invite-form { margin-top: 12px; }
  .invite-status { margin-top: 4px; }
}
