/* Private access gate — minimal, self-contained */
*,*::before,*::after{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;background:#F7F5EF;color:#202A44;
  font-family:"DM Sans","Helvetica Neue",Helvetica,Arial,sans-serif;
  font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;
  display:flex;align-items:center;justify-content:center;
  padding:32px 22px;overflow-x:hidden;position:relative;
}
::selection{background:#E48D78;color:#202A44}
:focus-visible{outline:2px solid #E48D78;outline-offset:3px}

.bg{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.bg svg{position:absolute;inset:0;width:100%;height:100%}

.gate{position:relative;z-index:1;width:100%;max-width:520px;text-align:center}

x  display:inline-flex;align-items:center;gap:.7em;
  font-size:.75rem;letter-spacing:.26em;font-weight:500;color:#5C5954;
}
.gate__coord::before{content:"";width:9px;height:9px;border-radius:50%;border:1px solid #E48D78}

.gate__name{
  margin:26px 0 0;font-weight:400;
  font-family:"Fraunces",Georgia,"Times New Roman",serif;
  font-size:clamp(2.1rem,9vw,3.6rem);line-height:1.02;letter-spacing:-.02em;
}
.gate__arc{display:block;margin:26px auto 34px;width:150px;height:34px}

.gate__form{display:flex;flex-direction:column;gap:16px;align-items:stretch;text-align:left}
.gate__field{display:flex;flex-direction:column;gap:9px}
.gate__field label{font-size:.75rem;letter-spacing:.22em;text-transform:uppercase;color:#5C5954;font-weight:500}
.gate__field input{
  width:100%;min-height:56px;padding:16px 18px;
  background:#FFFFFF;border:1px solid rgba(32,42,68,.22);border-radius:2px;
  font:inherit;font-size:16px;letter-spacing:.16em;color:#202A44;
  transition:border-color .25s,box-shadow .25s;
}
.gate__field input::placeholder{letter-spacing:.16em;color:rgba(119,116,111,.75)}
.gate__field input:focus{outline:none;border-color:#202A44;box-shadow:0 0 0 3px rgba(228,141,120,.36)}
.gate__field input.is-bad{border-color:#8E2F1B}

.gate__btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.75em;
  min-height:56px;padding:16px 30px;margin-top:4px;
  background:#202A44;color:#F7F5EF;border:1px solid #202A44;border-radius:999px;
  font:inherit;font-size:.82rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;
  cursor:pointer;transition:background .3s,color .3s,transform .3s,border-color .3s;
}
.gate__btn:hover,.gate__btn:focus-visible{background:#E48D78;border-color:#E48D78;color:#202A44;transform:translateY(-2px)}
.gate__btn .arw{transition:transform .35s}
.gate__btn:hover .arw{transform:translateX(4px)}

.gate__msg{
  min-height:22px;margin:2px 0 0;font-size:.86rem;line-height:1.5;color:#8E2F1B;
  display:flex;align-items:center;gap:.6em;opacity:0;transition:opacity .25s;
}
.gate__msg.show{opacity:1}
.gate__msg::before{content:"";width:7px;height:7px;border-radius:50%;background:#8E2F1B;flex:none}

@media (max-width:420px){
  .gate__name{letter-spacing:-.01em}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:.001ms!important;animation-duration:.001ms!important}
}
