:root {
  color-scheme: dark;
  font-family: Arial, Helvetica, sans-serif;
  background: #080c22;
  color: #fff4df;
}

* { box-sizing: border-box; }
html { min-width: 280px; }
body { margin: 0; }
img { display: block; max-width: 100%; }
a { color: inherit; }
:focus-visible { outline: 3px solid #ffd27a; outline-offset: 4px; }

.bridge {
  position: relative;
  isolation: isolate;
  min-height: 100svh;
  overflow: hidden;
  background: #080c22;
}

.scene,
.shade {
  position: absolute;
  inset: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
}

.scene { z-index: -2; object-fit: cover; object-position: center center; }
.shade {
  background:
    linear-gradient(90deg, rgba(4, 8, 27, .86) 0%, rgba(4, 8, 27, .60) 29%, rgba(4, 8, 27, .08) 65%, transparent 100%),
    linear-gradient(0deg, rgba(4, 8, 27, .74) 0%, transparent 32%);
}

.page-inner {
  display: flex;
  flex-direction: column;
  width: min(100% - 72px, 1360px);
  min-height: 100svh;
  margin: auto;
}

.brand { width: min(420px, 39vw); margin: 44px 0 0; }
.brand img { width: 100%; height: auto; filter: drop-shadow(0 6px 18px rgba(0, 0, 0, .45)); }
.message { width: min(100%, 650px); margin: auto 0; padding: 48px 0 70px; }
.eyebrow {
  margin: 0 0 13px;
  color: #ffd27a;
  font-size: 14px;
  font-weight: 800;
  text-transform: uppercase;
}
.message h2 {
  margin: 0;
  color: #fff8ed;
  font-size: 80px;
  font-weight: 900;
  line-height: .98;
  letter-spacing: 0;
  text-shadow: 0 5px 18px rgba(0, 0, 0, .32);
}
.answer {
  max-width: 490px;
  margin: 26px 0 24px;
  color: #fff0d5;
  font-size: 21px;
  line-height: 1.45;
}
.visit-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  min-height: 54px;
  padding: 13px 22px;
  border-radius: 6px;
  background: #ffd27a;
  color: #171026;
  font-size: 17px;
  font-weight: 900;
  text-decoration: none;
  transition: background .2s ease, transform .2s ease;
}
.visit-button:hover { background: #ffe2a7; transform: translateY(-2px); }
.visit-button span { font-size: 22px; line-height: 1; }
.destination-note { margin: 12px 0 0; color: #f8dcaa; font-size: 14px; font-weight: 700; }
footer { padding: 0 0 27px; color: #f8dcaa; font-size: 14px; font-weight: 700; }
footer a { text-underline-offset: 3px; }
footer a:hover { color: #fff; }

@media (max-width: 900px) {
  .brand { width: min(330px, 50vw); }
  .message h2 { font-size: 64px; }
}

@media (max-width: 600px) {
  .scene {
    position: relative;
    inset: auto;
    z-index: auto;
    width: calc(100% + 38px);
    max-width: none;
    height: auto;
    margin: auto -19px;
    object-fit: contain;
  }
  .shade {
    background:
      linear-gradient(180deg, rgba(4, 8, 27, .82) 0%, rgba(4, 8, 27, .54) 38%, rgba(4, 8, 27, .05) 68%, rgba(4, 8, 27, .86) 100%);
  }
  .page-inner { width: calc(100% - 38px); }
  .brand { width: min(300px, 78vw); margin-top: 30px; }
  .message { margin: 18px 0 0; padding: 18px 0 0; }
  .eyebrow { font-size: 12px; }
  .message h2 { font-size: 48px; }
  .answer { max-width: 340px; margin: 18px 0 22px; font-size: 17px; }
  .visit-button { min-height: 48px; padding: 10px 17px; font-size: 15px; }
  .destination-note { font-size: 12px; }
  footer { padding: 18px 0 19px; font-size: 12px; line-height: 1.4; }
}

@media (max-width: 360px) {
  .message h2 { font-size: 43px; }
  .brand { width: 260px; }
}

@media (prefers-reduced-motion: reduce) {
  .visit-button { transition: none; }
}
