/* =========================================================
   Full page landing hero
   ========================================================= */

.page-landing .site-header {
  display: none;
}

.landing-hero {
  min-height: 100svh; /* mobile-friendly full viewport */
  display: grid;
  place-items: center;
  text-align: center;
  position: relative;
  padding: 0rem;
  grid-template-rows: 1fr auto; /* hero content fills, nav sits at bottom */
  background: linear-gradient(to bottom, #f4feff, #e8f5e9);
}

.landing-hero > .hero-inner {
  position: relative; z-index: 1;
  color: #0b3143;
}

.hero-logo {
  width: clamp(160px, 25vw, 400px);
  height: auto;
  margin-bottom: 1rem;
  filter: drop-shadow(0 6px 16px rgba(0,0,0,.25));
}

.hero-teaser {
  font-size: clamp(1.05rem, 2.4vw, 1.35rem);
  opacity: .95;
}

/* =========================================================
   Landing page css
   ========================================================= */

.landing-page section.section {
  padding: 4.5rem 0;
}

.landing-page section.section:first-of-type {
  padding-top: 5rem;
}

.landing-page .surface-card ul,
.landing-page .surface-card ol {
  color: var(--calco-muted);
}

.landing-page .surface-card h3.h5 {
  color: var(--calco-heading);
  font-weight: 750;
}

/* keep the hero-integrated nav above page content */
.landing-nav {
  z-index: 1060;
}

.landing-nav.stuck {
  z-index: 1060;
}

/* prevent the hidden base header from leaving a visible line on the landing page */
body:has(.landing-page) .site-header {
  display: none;
}

@media (max-width: 767.98px) {
  .landing-page section.section {
    padding: 3.25rem 0;
  }
}