/* Scoped entry-page styling; the field guide keeps its original layout. */
.entry-gate { display: none; }
#fieldGuide:focus { outline: none; }

html.email-gate-active { background: #0d1422; }
.email-gate-active body {
  max-width: 560px;
  min-height: 100vh;
  min-height: 100svh;
  background: #101827;
}
.email-gate-active #fieldGuide { display: none; }
.email-gate-active .entry-gate {
  --entry-gutter: clamp(20px, 6.1vw, 34px);
  display: block;
  color: #f8f7f4;
  background:
    radial-gradient(ellipse at 90% 73%, #1b26372b, transparent 65%),
    linear-gradient(135deg, #111a29, #0e1523 65%, #111a29);
  min-height: 100vh;
  min-height: 100svh;
}
.entry-hero { padding-top: clamp(16px, 4vw, 24px); }
.entry-brand {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0 var(--entry-gutter) clamp(23px, 5vw, 28px);
}
.entry-wordmark {
  width: 38%;
  aspect-ratio: 310 / 54;
  background-repeat: no-repeat;
  background-size: 287.741935% auto;
  background-position: 7.731959% 1.872440%;
}
.entry-badge {
  border: 1px solid #efeff0;
  border-radius: 8px;
  padding: 7px 13px;
  font: 400 clamp(10px, 2.3vw, 13px) / 1.2 'DM Mono', monospace;
  letter-spacing: .12em;
  white-space: nowrap;
}
.entry-copy { padding: 0 var(--entry-gutter); }
.entry-event {
  margin-bottom: 12px;
  color: #f05c42;
  font: 400 clamp(11px, 2.7vw, 15px) / 1.4 'DM Mono', monospace;
  letter-spacing: .14em;
}
.entry-headline {
  font-size: clamp(32px, 11.2vw, 63px);
  font-weight: 500;
  line-height: .98;
  letter-spacing: -.055em;
}
.entry-headline span { display: block; }
.entry-headline .entry-accent { color: #d14a35; }
.entry-description {
  margin-top: clamp(18px, 4.6vw, 26px);
  font-size: clamp(14px, 3.55vw, 20px);
  line-height: 1.36;
  letter-spacing: .02em;
}
.entry-description span { display: block; }
.entry-map {
  width: 100%;
  aspect-ratio: 892 / 500;
  margin-top: 8px;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center 46.555819%;
  mask-image: linear-gradient(to bottom, transparent, #000 7%, #000 94%, transparent);
  -webkit-mask-image: linear-gradient(to bottom, transparent, #000 7%, #000 94%, transparent);
}
/* Display only the logo and map regions of the unmodified supplied rendering.
   All page text and form controls are live HTML. Disabled gates load no artwork. */
.email-gate-active .entry-wordmark,
.email-gate-active .entry-map { background-image: url('assets/entry-reference.png'); }

.entry-access {
  border-top: 1px solid #77818f80;
  padding: clamp(29px, 7.3vw, 41px) var(--entry-gutter) clamp(28px, 6vw, 38px);
  background: linear-gradient(140deg, #202b3c33, transparent 75%);
}
.entry-access h2 {
  margin-bottom: clamp(23px, 5.8vw, 33px);
  font-size: clamp(23px, 5.6vw, 32px);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -.035em;
}
.entry-label {
  display: block;
  margin-bottom: 9px;
  font: 400 clamp(12px, 2.9vw, 16px) / 1.4 'DM Mono', monospace;
  letter-spacing: .055em;
}
.entry-email-field { position: relative; }
.entry-email-icon {
  position: absolute;
  left: 19px;
  top: 50%;
  width: 25px;
  height: 25px;
  transform: translateY(-50%);
  color: #9299a6;
  pointer-events: none;
}
.entry-email {
  width: 100%;
  min-height: 52px;
  border: 1px solid #c7cbd3;
  border-radius: 11px;
  padding: 15px 15px 15px 65px;
  background: #10182744;
  color: #f8f7f4;
  font: 400 clamp(16px, 3.6vw, 20px) / 1.3 'DM Sans', sans-serif;
  caret-color: #f1785c;
  color-scheme: dark;
}
.entry-email::placeholder { color: #8b93a1; opacity: 1; }
.entry-email:focus-visible {
  outline: 2px solid #ee9277;
  outline-offset: 3px;
}
.entry-email[aria-invalid='true'] { border-color: #ffac97; }
.entry-error {
  margin-top: 12px;
  color: #ffb9a7;
  font-size: 14px;
  line-height: 1.45;
}
.entry-continue {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 15px;
  width: 100%;
  min-height: 56px;
  margin-top: 22px;
  padding: 16px 18px;
  border: 0;
  border-radius: 12px;
  background: linear-gradient(110deg, #c9442e, #d84933);
  color: #fff;
  font: 500 clamp(18px, 4vw, 23px) / 1.25 'DM Sans', sans-serif;
  cursor: pointer;
}
.entry-continue:hover { background: #dc5139; }
.entry-continue:active { background: #b83b28; }
.entry-continue:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
.entry-continue svg { width: 29px; height: 29px; }
.entry-tagline {
  margin-top: 21px;
  text-align: center;
  font: 400 clamp(10px, 2.6vw, 14px) / 1.6 'DM Mono', monospace;
  letter-spacing: .01em;
}
.entry-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 29px;
  padding-top: 19px;
  border-top: 1px solid #77818f99;
  color: #a0a7b3;
  font: 400 clamp(9px, 2.3vw, 13px) / 1.4 'DM Mono', monospace;
  letter-spacing: .08em;
}
