/* =========================================================
   W5 ENTRY PAGE
   Minimal threshold page for marqaroll.com.
   Uses the V5 visual language: stripes, black, fades, orange.
   ========================================================= */

.entry-page {
  min-height: 100vh;
  margin: 0;
  background:
    linear-gradient(rgba(0,0,0,.73), rgba(0,0,0,.73)),
    repeating-linear-gradient(
      90deg,
      #fff 0 34px,
      #050505 34px 68px
    );
  color: var(--white, #fff);
}

.entry-shell {
  width: min(1180px, calc(100% - 110px));
  min-height: 100vh;
  margin-inline: auto;
  background:
    radial-gradient(ellipse at 50% 33%, rgba(255,255,255,.04), transparent 34%),
    linear-gradient(180deg, #030303 0%, #080808 46%, #030303 100%);
  box-shadow: 0 0 90px rgba(0,0,0,.95);
}

.entry {
  box-sizing: border-box;
  width: min(900px, calc(100% - 64px));
  min-height: 100vh;
  margin-inline: auto;
  padding: clamp(34px, 0vh, 70px) 0 38px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.entry__identity {
  width: 100%;
}

.entry__name {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(1.75rem, 4vw, 3rem);
  line-height: 1;
  letter-spacing: -.025em;
}

.entry__name span {
  color: var(--orange, #ff6600);
}

.entry__tagline {
  margin: .65rem 0 0;
  color: rgba(255,255,255,.64);
  font-family: var(--ui);
  font-size: clamp(.62rem, 1.1vw, .78rem);
  font-weight: 700;
  letter-spacing: .14em;
}

.entry__tagline i {
  color: var(--orange, #ff6600);
  font-style: normal;
  padding-inline: .45em;
}

.entry__welcome {
  width: 100%;
  margin: auto 0;
  padding: clamp(56px, 9vh, 110px) 0 clamp(42px, 1vh, 78px);
}

.entry__eyebrow {
  margin: 0 0 1.1rem;
  color: rgba(255,255,255,.68);
  font-family: var(--ui);
  font-size: clamp(.68rem, 1.2vw, .84rem);
  font-weight: 700;
  letter-spacing: .18em;
}

.entry h1 {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(6rem, 17vw, 13.5rem);
  font-weight: 400;
  line-height: 1em;
  letter-spacing: -.055em;
  text-shadow: 0 12px 42px #000;
}

.entry h1 span {
  display: block;
  margin-bottom: .35em;
  color: rgba(255,255,255,.8);
  font-family: var(--display);
  font-size: .18em;
  line-height: 1;
  letter-spacing: .01em;
}

.entry__rule {
  width: min(660px, 82%);
  height: 1px;
  margin: clamp(34px, 6vh, 62px) auto 30px;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255,255,255,.3) 27%,
    var(--orange, #ff6600) 50%,
    rgba(255,255,255,.3) 73%,
    transparent
  );
}

.entry__intro {
  max-width: 700px;
  margin: 0 auto;
  color: rgba(255,255,255,.82);
  font-family: var(--body);
  font-size: clamp(1.05rem, 2vw, 1.3rem);
  line-height: 1.65;
}

.entry__button {
  position: relative;
  display: inline-block;
  margin-top: 42px;
  padding: .95rem clamp(2.4rem, 6vw, 4.7rem);
  color: #fff;
  font-family: var(--ui);
  font-size: .9rem;
  font-weight: 700;
  letter-spacing: .17em;
  text-decoration: none;
  background: linear-gradient(90deg, transparent, rgba(255,102,0,.13), transparent);
}

.entry__button::before,
.entry__button::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.34), var(--orange, #ff6600), rgba(255,255,255,.34), transparent);
}

.entry__button::before { top: 0; }
.entry__button::after { bottom: 0; }

.entry__button:hover,
.entry__button:focus-visible {
  color: var(--orange, #ff6600);
  background: linear-gradient(90deg, transparent, rgba(255,102,0,.2), transparent);
}

.entry__notice {
  width: min(680px, 100%);
  padding-top: 34px;
  border-top: 1px solid rgba(255,255,255,.12);
}

.entry__notice h2 {
  margin: 0 0 .7rem;
  color: rgba(255,255,255,.72);
  font-family: var(--ui);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.entry__notice p {
  max-width: 650px;
  margin: .45rem auto;
  color: rgba(255,255,255,.57);
  font-size: .94rem;
  line-height: 1.65;
}

.entry a:not(.entry__button) {
  color: rgba(255,255,255,.78);
  text-decoration-color: rgba(255,102,0,.65);
  text-underline-offset: .2em;
}

.entry a:not(.entry__button):hover,
.entry a:not(.entry__button):focus-visible {
  color: var(--orange, #ff6600);
}

.entry__utility {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: .8rem;
  margin-top: 24px;
  font-family: var(--ui);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.entry__utility span {
  color: var(--orange, #ff6600);
  font-size: .48rem;
}

.entry__footer {
  margin-top: 26px;
  color: rgba(255,255,255,.33);
  font-family: var(--ui);
  font-size: .68rem;
  letter-spacing: .045em;
}

.entry__footer p {
  margin: .2rem 0;
  font-family: inherit;
}

@media (max-width: 700px) {
  .entry-page {
    background:
      linear-gradient(rgba(0,0,0,.76), rgba(0,0,0,.76)),
      repeating-linear-gradient(90deg, #fff 0 13px, #050505 13px 26px);
  }

  .entry-shell {
    width: calc(100% - 30px);
  }

  .entry {
    width: calc(100% - 36px);
    padding-top: 28px;
  }

  .entry__welcome {
    padding-top: 70px;
  }

  .entry h1 {
    font-size: clamp(5rem, 26vw, 8rem);
  }

  .entry__utility {
    flex-wrap: wrap;
    row-gap: .45rem;
  }
}

@media (max-width: 390px) {
  .entry__tagline i {
    padding-inline: .15em;
  }

  .entry__intro {
    font-size: 1rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .entry *,
  .entry *::before,
  .entry *::after {
    scroll-behavior: auto !important;
    transition: none !important;
    animation: none !important;
  }
}
