/* Scout Recorder: shared design (fonts, colours, type, nav, buttons, footer) */

@font-face {
  font-family: "Hanken Grotesk";
  src: url("/assets/fonts/HankenGrotesk.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Hanken Grotesk";
  src: url("/assets/fonts/HankenGrotesk-Italic.woff2") format("woff2");
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
}

:root {
  /* Brand palette */
  --forest: #384b31;
  --forest-deep: #1f2a1b;
  --forest-ink: #172014;
  --olive: #898256;
  --sand: #c2b285;
  --cedar: #744923;
  --vermilion: #c3532d;
  --marigold: #e9c355;
  --cream: #f7f4ec;
  --paper: #efe9da;

  --text: #232b1f;
  --text-soft: #5b5f4a;
  --line: color-mix(in srgb, var(--forest) 18%, transparent);
  --line-light: color-mix(in srgb, var(--cream) 16%, transparent);

  --font: "Hanken Grotesk", ui-sans-serif, system-ui, sans-serif;
  --wrap: 1240px;
  --gutter: clamp(16px, 4vw, 40px);
  --radius: 22px;
  --ease: cubic-bezier(.2, .7, .2, 1);
}

*, *::before, *::after { box-sizing: border-box; }
/* Green behind the status bar and in the overscroll above the page */
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; background: var(--forest-deep); }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
/* Safari on iOS 26 tints the status bar from the page background, so the
   page itself is green; every light section paints its own cream. */
body {
  margin: 0;
  background: var(--forest-deep);
  color: var(--text);
  font-family: var(--font);
  font-size: 17px;
  line-height: 1.55;
  font-feature-settings: "ss01", "tnum" 0;
  -webkit-font-smoothing: antialiased;
  overflow-x: clip;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
h1, h2, h3, p { margin: 0; }
.wrap { width: 100%; max-width: var(--wrap); margin: 0 auto; padding: 0 var(--gutter); }

.skip { position: absolute; left: -9999px; }
.skip:focus { left: 16px; top: 16px; z-index: 100; background: var(--marigold); padding: 8px 14px; border-radius: 8px; }
:focus-visible { outline: 3px solid var(--marigold); outline-offset: 3px; border-radius: 6px; }

/* ---------- Type ---------- */
.display {
  font-weight: 850;
  font-size: clamp(48px, 8.4vw, 116px);
  line-height: .92;
  letter-spacing: -.045em;
  color: var(--cream);
}
.display--sm { font-size: clamp(40px, 6vw, 80px); }
.display em, .h2 em {
  font-style: italic;
  font-weight: 300;
  letter-spacing: -.035em;
}
.display em { color: var(--marigold); }

.h2 {
  font-weight: 800;
  font-size: clamp(34px, 4.8vw, 64px);
  line-height: 1;
  letter-spacing: -.04em;
  color: var(--forest);
  text-wrap: balance;
}
.h2 em { color: var(--cedar); }
.h2--light { color: var(--cream); }
.h2--light em { color: var(--marigold); }
.h2--center { text-align: center; }

.lede {
  font-size: clamp(18px, 1.6vw, 21px);
  line-height: 1.5;
  color: color-mix(in srgb, var(--cream) 82%, transparent);
  max-width: 34em;
  text-wrap: pretty;
}

/* ---------- Logo (mask so it can take any colour) ---------- */
.logo {
  display: block;
  width: 118px;
  aspect-ratio: 3038 / 858;
  background: currentColor;
  -webkit-mask: url("/assets/img/scout-logo.svg") center / contain no-repeat;
          mask: url("/assets/img/scout-logo.svg") center / contain no-repeat;
}

/* ---------- Buttons ---------- */
.btn {
  --bg: var(--forest);
  --fg: var(--cream);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 15px 24px;
  border-radius: 999px;
  background: var(--bg);
  color: var(--fg);
  font-weight: 700;
  font-size: 16px;
  text-decoration: none;
  letter-spacing: -.01em;
  transition: transform .25s var(--ease), box-shadow .25s var(--ease), background .2s;
  white-space: nowrap;
}
.btn:hover { transform: translateY(-2px); }
.btn--gold { --bg: var(--marigold); --fg: var(--forest-ink); box-shadow: 0 6px 0 -1px #b4932f; }
.btn--gold:hover { box-shadow: 0 8px 0 -1px #b4932f; }
.btn--gold:active { transform: translateY(3px); box-shadow: 0 2px 0 -1px #b4932f; }
.btn--ghost { --bg: transparent; --fg: var(--cream); box-shadow: inset 0 0 0 1.5px var(--line-light); }
.btn--ghost:hover { box-shadow: inset 0 0 0 1.5px var(--cream); }
.btn--small { padding: 10px 18px; font-size: 14px; }
.btn--forest { --bg: var(--forest); --fg: var(--cream); box-shadow: 0 4px 0 -1px var(--forest-ink); }
.btn--forest:hover { box-shadow: 0 6px 0 -1px var(--forest-ink); }
.btn--big { padding: 20px 32px; font-size: 18px; }

.textlink {
  display: inline-block;
  margin-top: 28px;
  font-weight: 700;
  color: var(--forest);
  text-decoration-thickness: 2px;
  text-underline-offset: 5px;
  text-decoration-color: var(--marigold);
}

/* ---------- Nav ---------- */
.nav {
  position: fixed;
  inset: max(14px, calc(env(safe-area-inset-top) + 6px)) max(14px, env(safe-area-inset-right)) auto max(14px, env(safe-area-inset-left));
  z-index: 50;
  display: flex;
  align-items: center;
  gap: 24px;
  max-width: calc(var(--wrap) - 2 * var(--gutter) + 40px);
  margin: 0 auto;
  padding: 10px 10px 10px 22px;
  border-radius: 999px;
  color: var(--forest-ink);
  background: color-mix(in srgb, var(--marigold) 94%, transparent);
  backdrop-filter: blur(14px) saturate(1.4);
  -webkit-backdrop-filter: blur(14px) saturate(1.4);
  box-shadow: 0 10px 30px -12px rgba(23, 32, 20, .45), inset 0 -2px 0 #b4932f;
}
.nav__logo { color: var(--forest); flex: none; }
.nav__logo .logo { width: 96px; }
.nav__links { display: flex; gap: 4px; margin-left: auto; }
.nav__links a {
  padding: 8px 14px;
  border-radius: 999px;
  text-decoration: none;
  font-size: 15px;
  font-weight: 600;
  color: color-mix(in srgb, var(--forest-ink) 80%, transparent);
  transition: background .2s, color .2s;
}
.nav__links a:hover { background: color-mix(in srgb, var(--forest) 12%, transparent); color: var(--forest-ink); }
@media (max-width: 820px) {
  .nav__links { display: none; }
  .nav { justify-content: space-between; }
}

/* ---------- Topographic texture ---------- */
.topo {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: currentColor;
  -webkit-mask: url("/assets/img/contours.svg") center / cover no-repeat;
          mask: url("/assets/img/contours.svg") center / cover no-repeat;
}

/* ---------- Footer ---------- */
.foot { background: var(--forest-ink); color: color-mix(in srgb, var(--cream) 70%, transparent); padding: 44px 0 52px; font-size: 14px; }
.foot__inner { display: flex; flex-wrap: wrap; align-items: center; gap: 20px 36px; }
.logo--foot { color: var(--marigold); width: 110px; }
.foot nav { display: flex; flex-wrap: wrap; gap: 8px 24px; }
.foot a { text-decoration: none; }
.foot a:hover { color: var(--cream); text-decoration: underline; }
.foot__small { width: 100%; font-size: 13px; color: color-mix(in srgb, var(--cream) 45%, transparent); }
.foot__req { margin-bottom: -12px; color: color-mix(in srgb, var(--cream) 62%, transparent); }
.req { color: var(--marigold); font-size: .62em; font-weight: 700; margin-left: 1px; line-height: 0; vertical-align: super; }
.ticker .req, .badge .req, .privacy .req { color: var(--vermilion); }
