/* Shared landing-page branding. Scoped so each page retains its own content style. */
@font-face {
  font-family: ScreenGoalNavigation;
  src: url('/fonts/ArchivoNarrow-VariableFont_wght.ttf') format('truetype');
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
}

html { scroll-padding-top: 108px; }
.landing-header, .landing-footer {
  color-scheme: dark;
  color: #f6eee7;
  background: #100d0c;
  font: 400 16px/1.55 ScreenGoalNavigation, 'Segoe UI', sans-serif;
  -webkit-font-smoothing: antialiased;
}
.landing-header *, .landing-footer * { box-sizing: border-box; }
.landing-header a, .landing-footer a { color: inherit; text-decoration: none; }
.landing-header a:focus-visible, .landing-header button:focus-visible, .landing-footer a:focus-visible {
  outline: 3px solid #71e8e9;
  outline-offset: 5px;
}
.landing-wrap { width: min(1280px, calc(100% - 80px)); margin-inline: auto; }
.landing-header {
  position: sticky;
  top: 0;
  z-index: 50;
  border-bottom: 1px solid #ffffff14;
}
.landing-nav-wrap { display: flex; align-items: center; justify-content: space-between; gap: 30px; min-height: 94px; }
.landing-brand { display: block; flex-shrink: 0; }
.landing-brand img { display: block; width: 216px; max-width: 100%; height: auto; }
.landing-nav { display: flex; align-items: center; gap: 31px; }
.landing-nav > a { white-space: nowrap; }
.landing-nav > a:not(.landing-cta) { padding-block: 10px; }
.landing-nav > a:not(.landing-cta):hover, .landing-footer nav a:hover, .landing-footer-bottom a:hover { color: #ed8f7e; }
.landing-nav > a[aria-current="page"] { color: #ed8f7e; text-decoration: underline; text-underline-offset: 6px; }
.landing-sign-in { margin-left: 30px; }
.landing-nav .landing-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 22px;
  min-height: 44px;
  padding: 11px 22px;
  border: 1px solid #ed8f7e;
  border-radius: 50px;
  background: #ed8f7e;
  color: #1d1210;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.2;
}
.landing-nav .landing-cta:hover { background: #ffb49f; }
.landing-cta span { font-size: 23px; line-height: 1; }
.landing-menu-toggle {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 44px;
  padding: 9px 16px;
  border: 1px solid #46322d;
  border-radius: 30px;
  color: #f6eee7;
  background: transparent;
  font: inherit;
  cursor: pointer;
}
.landing-menu-toggle[hidden] { display: none; }
.landing-footer { padding-block: 35px 30px; border-top: 1px solid #46322d; }
.landing-footer-main { display: flex; align-items: center; gap: 35px; }
.landing-footer-main p { margin: 0; color: #bfb1a9; font-size: 17px; }
.landing-footer-main nav { margin-left: auto; display: flex; flex-wrap: wrap; gap: 12px 24px; }
.landing-footer-main nav a { padding-block: 8px; }
.landing-footer-bottom { display: flex; justify-content: space-between; gap: 16px; border-top: 1px solid #2d2320; padding-top: 20px; margin-top: 25px; color: #ae9b90; font-size: 13px; }
.landing-footer-bottom > span:last-child { display: flex; gap: 24px; }

@media (max-width: 1100px) {
  .landing-wrap { width: calc(100% - 48px); }
  .landing-nav { gap: 18px; }
  .landing-sign-in { margin-left: 5px; }
  .landing-footer-main { gap: 24px; }
  .landing-footer-main p { display: none; }
  .landing-footer-main nav { gap: 12px 18px; }
}
@media (max-width: 800px) {
  html { scroll-padding-top: 92px; }
  .landing-wrap { width: calc(100% - 40px); }
  .landing-nav-wrap { min-height: 79px; flex-wrap: wrap; gap: 0; padding-block: 16px; }
  .landing-brand img { width: 176px; }
  .landing-menu-toggle:not([hidden]) { display: inline-flex; }
  .landing-nav { width: 100%; flex-wrap: wrap; gap: 8px 23px; padding: 16px 0 8px; }
  .landing-sign-in { margin-left: 0; }
  .landing-nav-ready .landing-nav:not(.is-open) { display: none; }
  html:not(.landing-nav-ready) .landing-header { position: static; }
}
@media (max-width: 600px) {
  .landing-wrap { width: calc(100% - 36px); }
  .landing-footer-main { align-items: flex-start; flex-direction: column; gap: 20px; }
  .landing-footer-main nav { margin: 0; gap: 6px 24px; }
  .landing-footer-bottom { flex-wrap: wrap; font-size: 12px; }
}
@media print {
  .landing-header { position: static; }
  .landing-nav, .landing-menu-toggle { display: none !important; }
}
