/* Local development swaps this stylesheet automatically when its source changes. */
.landing-body {
  min-height: 100vh;
  background: linear-gradient(160deg, #f7f9fb 0%, #ffffff 48%, #edf3f7 100%);
}

.landing-header {
  position: relative;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 86px;
  padding: 1rem clamp(1.25rem, 5vw, 5rem);
  border-bottom: 1px solid rgba(13, 41, 72, 0.12);
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(12px);
}

.hero-login {
  border-radius: 0.42rem;
  font-weight: 850;
  cursor: pointer;
}
.hero-login:disabled { opacity: 0.6; cursor: wait; }

.landing-hero {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(330px, 0.85fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: center;
  width: min(1240px, calc(100% - 2.5rem));
  min-height: 620px;
  margin: 0 auto;
  padding: clamp(4rem, 8vw, 7rem) 0;
}

.hero-copy { max-width: 720px; }
.hero-copy h1 { margin: 0.55rem 0 1.25rem; color: var(--navy-950); font-family: Georgia, "Times New Roman", serif; font-size: clamp(3.2rem, 6vw, 5.8rem); font-weight: 500; letter-spacing: -0.045em; line-height: 0.98; }
.hero-lead { max-width: 660px; margin: 0 0 1.8rem; color: var(--muted); font-size: clamp(1.05rem, 2vw, 1.3rem); line-height: 1.65; }
.hero-login { padding: 0.78rem 1.2rem; border: 1px solid var(--gold-500); background: var(--gold-500); color: var(--navy-950); }
.hero-login:hover { background: #d7aa47; }
.hero-note { margin: 0.75rem 0 0; color: var(--muted); font-size: 0.8rem; }

.hero-overview {
  padding: clamp(1.7rem, 4vw, 2.6rem);
  border: 1px solid rgba(228, 194, 117, 0.45);
  border-radius: 0.8rem;
  background: var(--navy-950);
  box-shadow: 0 24px 70px rgba(8, 29, 51, 0.22);
  color: white;
}
.hero-overview .eyebrow { color: var(--gold-300); }
.hero-overview h2 { margin: 0.55rem 0 1.8rem; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.8rem, 3vw, 2.5rem); font-weight: 500; line-height: 1.15; }
.hero-overview ul { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.hero-overview li { display: grid; grid-template-columns: 42px 1fr; gap: 0.9rem; padding: 1.1rem 0; border-top: 1px solid rgba(255, 255, 255, 0.14); }
.hero-overview li > span { color: var(--gold-300); font-family: Georgia, "Times New Roman", serif; font-size: 1.1rem; }
.hero-overview li div { display: grid; gap: 0.2rem; }
.hero-overview li strong { font-size: 0.95rem; }
.hero-overview li small { color: #becbd8; font-size: 0.84rem; line-height: 1.5; }

.landing-footer { position: relative; z-index: 1; display: flex; justify-content: space-between; gap: 1rem; padding: 1.4rem clamp(1.25rem, 5vw, 5rem); background: var(--navy-950); color: #c8d3df; font-size: 0.78rem; }

@media (max-width: 820px) {
  .landing-header { min-height: 74px; padding: 0.75rem 1rem; }
  .landing-header .brand small { display: none; }
  .landing-hero { grid-template-columns: 1fr; min-height: auto; padding: 4rem 0; }
  .hero-copy h1 { font-size: clamp(3rem, 14vw, 4.6rem); }
  .landing-footer { display: grid; }
}

@media print {
  .landing-header, .hero-login, .landing-footer { display: none !important; }
}
