/* Investor access · a gateway with no nav bar (Josh, 2026-10-13): the Dubai Marina film full bleed under a navy veil, the
   lockup and a way back at the top, the Investor Centre line, and two cards side by side: request access, investor login.
   The words sit on the dark palette (data-tone="dark"); the request form opens in a light dialog. */
.gate-page { background: var(--deep); }
.gate { position: relative; isolation: isolate; min-height: 100svh; display: flex; flex-direction: column; color: var(--text-1); }
.gate__media { position: fixed; inset: 0; z-index: -2; background: var(--deep); }
.gate__still, .gate__film { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.gate__film { opacity: 0; transition: opacity 900ms var(--ease-out); }
.gate__film.is-playing { opacity: 1; }
.gate__veil { position: fixed; inset: 0; z-index: -1; background: linear-gradient(to bottom, rgb(var(--veil) / 0.7), rgb(var(--veil) / 0.62) 45%, rgb(var(--veil) / 0.8)); }
.gate__top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: clamp(1.25rem, 2.5vw, 2rem) var(--edge); }
.gate__logo { display: inline-flex; align-items: center; min-height: 44px; color: var(--text-1); }
.gate__logo svg { width: clamp(9rem, 8rem + 3vw, 11.5rem); height: auto; aspect-ratio: 4114 / 1210; }
.gate__inner { flex: 1; display: flex; flex-direction: column; justify-content: center; gap: clamp(2rem, 1.5rem + 2vw, 3.5rem); width: min(100% - 2 * var(--margin), 64rem); margin: 0 auto; padding: 2rem 0 clamp(3rem, 6vw, 5rem); }
.gate__head { display: grid; justify-items: center; gap: var(--space-head); text-align: center; }
.gate__label { font-family: var(--font-text); font-size: var(--fs-label); font-weight: 500; line-height: 1.4; letter-spacing: 0.2em; text-transform: uppercase; color: var(--text-1); }
.gate__title { font-size: var(--fs-display); font-weight: 300; line-height: 1.05; letter-spacing: -0.015em; max-width: 18ch; }
.gate__cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.75rem); align-items: stretch; }
.gate-card { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding: clamp(1.5rem, 2.6vw, 2.5rem); background: rgb(11 23 38 / 0.72); border: 1px solid var(--line-2); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.gate-card__label { font-family: var(--font-text); font-size: var(--fs-label); font-weight: 500; line-height: 1.4; letter-spacing: 0.2em; text-transform: uppercase; color: var(--accent); }
.gate-card__title { font-size: var(--fs-subtitle); font-weight: 300; line-height: 1.15; letter-spacing: -0.01em; color: var(--text-1); }
.gate-card__text { max-width: 34ch; font-size: var(--fs-body); line-height: 1.65; color: var(--text-2); }
.gate-card__action { margin-top: auto; }
.gate-card > .gate-card__action { margin-top: auto; padding-top: 0; }
.gate-card__text + .gate-card__action { margin-top: auto; }
.gate-login { display: grid; gap: 14px; width: 100%; margin-top: 4px; }
.gate-login .gate-card__action { justify-self: start; margin-top: 4px; }
.gate-login__done { font-size: var(--fs-small); line-height: 1.6; color: var(--text-2); }
@media (max-width: 767px) { .gate__cards { grid-template-columns: minmax(0, 1fr); } .gate__back { display: none; } }

/* the request form in a dialog on the light palette */
.gate-dialog { width: min(100% - 2rem, 46rem); max-height: min(92svh, 60rem); padding: 0; border: 0; background: var(--card); color: var(--text-1); }
.gate-dialog::backdrop { background: rgb(var(--veil) / 0.72); }
.gate-dialog__panel { position: relative; display: grid; gap: var(--space-head); padding: clamp(1.5rem, 3vw, 2.75rem); }
.gate-dialog__close { position: absolute; top: 10px; right: 10px; display: grid; place-items: center; width: 44px; height: 44px; color: var(--text-1); }
.gate-dialog__close svg { width: 22px; height: 22px; }
.gate-dialog__title { padding-right: 3rem; font-size: var(--fs-title); font-weight: 300; line-height: 1.1; letter-spacing: -0.015em; }
.gate-dialog__lede { max-width: 52ch; color: var(--text-2); line-height: 1.65; }
@media (prefers-reduced-motion: reduce) { .gate__film { display: none; } }
