/* ============================================================
   We are TRUTH — Future Shift theme
   Deep spruce/navy + pale-cyan accent · cool paper
   Drop-in replacement for shared.css (same token names)
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Newsreader:ital,opsz,wght@0,6..72,300;0,6..72,400;0,6..72,500;1,6..72,300;1,6..72,400&family=Geist:wght@300;400;500;600&family=Geist+Mono:wght@400;500&display=swap');

:root {
  /* Palette — Future Shift (deep spruce + emerald) */
  --bg: #e8ece7;          /* cool off-white */
  --paper: #dee3dc;        /* deeper panel */
  --warm-white: #f3f5f1;   /* lifted card / text-on-dark */
  --ink: #0d1a14;
  --ink-soft: #43504a;
  --ink-muted: #6d7872;
  --rule: #cdd4cb;

  /* Dark bands (were forest) */
  --forest: #07140f;       /* near-black spruce */
  --forest-deep: #050f0a;  /* deepest */
  --sage: #1bbfc9;

  /* Cyan accents (pale-cyan family, was emerald) */
  --gold: #a6fcfc;         /* pale cyan — bright accent on dark */
  --gold-deep: #0a6b73;    /* deep teal — italic headings on light */
  --green: #1bbfc9;
  --terracotta: #0a6b73;   /* remap warm accent into palette */
  --sky: #4a9db0;

  --accent: var(--green);
  --primary: var(--green);
  --primary-ink: #ffffff;

  /* Slate used for the floating nav pill */
  --slate: #3b4a4a;
  --rule-dark: rgba(243,245,241,.14);

  /* Type */
  --serif: 'Newsreader', 'Source Serif 4', Georgia, serif;
  --sans: 'Geist', system-ui, -apple-system, 'Helvetica Neue', sans-serif;
  --mono: 'Geist Mono', ui-monospace, 'SFMono-Regular', monospace;

  /* Scale */
  --fs-eyebrow: 12px;
  --fs-body: 17px;
  --fs-lead: 22px;
  --fs-h6: 14px;
  --fs-h5: 20px;
  --fs-h4: 28px;
  --fs-h3: 40px;
  --fs-h2: 60px;
  --fs-h1: 104px;
  --fs-display: 132px;

  /* Spacing */
  --s-1: 4px; --s-2: 8px; --s-3: 12px; --s-4: 16px; --s-5: 24px;
  --s-6: 32px; --s-7: 48px; --s-8: 64px; --s-9: 96px; --s-10: 128px;

  --radius-sm: 4px;
  --radius: 12px;
  --radius-lg: 22px;
  --radius-pill: 999px;

  --maxw: 1340px;
  --gutter: 28px;
}

* { box-sizing: border-box; }

html, body {
  margin: 0; padding: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: var(--sans);
  font-size: var(--fs-body);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button { font-family: inherit; cursor: pointer; border: none; background: none; color: inherit; }

/* Type ---------------------------------------------------------- */
.serif { font-family: var(--serif); font-weight: 400; letter-spacing: -0.015em; }
.mono  { font-family: var(--mono); }

.eyebrow {
  font-family: var(--sans);
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-soft);
  font-weight: 500;
}
.eyebrow .dot {
  display: inline-block;
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--green);
  margin-right: 10px;
  vertical-align: 1px;
}

h1, h2, h3, h4, h5, h6 { margin: 0; font-weight: 400; }

.h-display { font-family: var(--serif); font-size: clamp(72px, 10vw, var(--fs-display)); line-height: 0.95; letter-spacing: -0.025em; }
.h1        { font-family: var(--serif); font-size: clamp(52px, 7.4vw, var(--fs-h1)); line-height: 0.98; letter-spacing: -0.022em; }
.h2        { font-family: var(--serif); font-size: clamp(38px, 4.8vw, var(--fs-h2)); line-height: 1.0; letter-spacing: -0.018em; }
.h3        { font-family: var(--serif); font-size: clamp(28px, 3.2vw, var(--fs-h3)); line-height: 1.06; letter-spacing: -0.012em; }
.h4        { font-family: var(--serif); font-size: var(--fs-h4); line-height: 1.12; letter-spacing: -0.008em; }
.h5        { font-family: var(--sans); font-size: var(--fs-h5); line-height: 1.3; font-weight: 500; letter-spacing: -0.005em; }

em, .italic { font-style: italic; }

p { margin: 0 0 1em 0; }
p.lead { font-size: var(--fs-lead); line-height: 1.45; color: var(--ink-soft); max-width: 60ch; }

/* Containers ----------------------------------------------------- */
.wrap { max-width: var(--maxw); margin: 0 auto; padding: 0 var(--gutter); }
.wrap-narrow { max-width: 920px; margin: 0 auto; padding: 0 var(--gutter); }
.wrap-wide   { max-width: 1560px; margin: 0 auto; padding: 0 var(--gutter); }

/* Buttons -------------------------------------------------------- */
.btn {
  display: inline-flex; align-items: center; gap: 9px;
  padding: 14px 24px;
  border-radius: var(--radius-pill);
  font-family: var(--sans);
  font-size: 15px; font-weight: 500;
  letter-spacing: -0.005em;
  transition: transform .16s ease, background .2s ease, color .2s ease, box-shadow .2s ease;
  cursor: pointer;
  border: 1px solid transparent;
  white-space: nowrap;
}
.btn:hover { transform: translateY(-1px); }
.btn .arr { display: inline-block; transition: transform .2s ease; }
.btn:hover .arr { transform: translateX(3px); }

.btn-primary { background: var(--green); color: #fff; }
.btn-primary:hover { background: var(--gold-deep); }

.btn-outline { background: transparent; color: var(--ink); border-color: var(--ink); }
.btn-outline:hover { background: var(--ink); color: var(--bg); }

.btn-ghost { background: transparent; color: var(--ink); }
.btn-ghost:hover { background: var(--paper); }

.btn-gold { background: var(--green); color: #fff; }
.btn-gold:hover { background: var(--gold-deep); }

.link-arrow {
  display: inline-flex; align-items: center; gap: 8px;
  font-weight: 500;
  transition: gap .2s ease;
}
.link-arrow:hover { gap: 12px; }

/* Nav — floating slate pill ------------------------------------- */
.nav {
  position: sticky; top: 0; z-index: 60;
  max-width: 1560px; margin: 0 auto;
  padding: 18px var(--gutter) 0;
  display: flex; align-items: center; gap: 18px;
  background: transparent;
}
.nav-inner {
  flex: 1; min-width: 0;
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px;
  background: var(--slate);
  border-radius: var(--radius-pill);
  padding: 11px 11px 11px 26px;
  box-shadow: 0 16px 44px -24px rgba(7,20,15,.65);
  max-width: none; margin: 0;
}
.nav-logo { display: flex; align-items: center; gap: 12px; text-decoration: none; }
.nav-logo img { height: 25px; width: auto; display: block; }
.nav-logo .tagline { display: none; }
.nav-links { display: flex; gap: 4px; font-size: 15px; }
.nav-links a {
  padding: 9px 15px;
  border-radius: var(--radius-pill);
  color: rgba(243,245,241,.82);
  transition: background .15s ease, color .15s ease;
  white-space: nowrap;
}
.nav-links a:hover { background: rgba(255,255,255,.08); color: #fff; }
.nav-links a.active { color: #fff; background: rgba(255,255,255,.10); }
.nav-cta { display: flex; align-items: center; gap: 8px; }
.nav-cta .btn-primary { background: var(--gold); color: #06231a; }
.nav-cta .btn-primary:hover { background: #fff; }
.nav-cta .btn-nav2 {
  background: #fff; color: #06231a;
  border: 1px solid #fff; padding: 13px 18px;
}
.nav-cta .btn-nav2:hover { background: var(--warm-white); border-color: var(--warm-white); color: #06231a; }
@media (max-width: 600px) {
  .nav-cta { gap: 6px; }
  .nav-cta .btn { padding: 11px 14px; font-size: 13.5px; }
  .nav-cta .btn-primary .arr { display: none; }
}

/* Footer --------------------------------------------------------- */
.footer {
  background: var(--forest);
  color: var(--warm-white);
  padding: var(--s-9) 0 var(--s-6);
  margin-top: var(--s-10);
}
.footer .wrap { max-width: 1560px; }
.footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1.4fr;
  gap: 48px;
  align-items: start;
}
.footer h6 {
  font-family: var(--mono);
  font-size: 12px; letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 18px;
}
.footer a { color: rgba(243,245,241,.74); display: block; padding: 4px 0; }
.footer a:hover { color: var(--gold); }
.footer-bottom {
  display: flex; justify-content: space-between; align-items: end;
  margin-top: var(--s-9);
  padding-top: var(--s-5);
  border-top: 1px solid var(--rule-dark);
  font-size: 13px;
  color: rgba(243,245,241,.6);
}
.footer-tagline {
  font-family: var(--mono); font-size: 14px; letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--gold); margin-top: 16px;
}

/* Cards ---------------------------------------------------------- */
.card {
  background: var(--warm-white);
  border-radius: var(--radius-lg);
  padding: 28px;
  border: 1px solid var(--rule);
}

/* Pill / tag ----------------------------------------------------- */
.tag {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 5px 11px;
  border-radius: var(--radius-pill);
  background: rgba(255,255,255,.5);
  color: var(--ink-soft);
  font-family: var(--mono);
  font-size: 11px; letter-spacing: 0.08em;
  text-transform: uppercase;
  border: 1px solid var(--rule);
}
.tag-forest { background: var(--forest); color: var(--warm-white); border-color: var(--forest); }
.tag-gold { background: var(--green); color: #fff; border-color: var(--gold-deep); }

/* Decorative ----------------------------------------------------- */
.rule { height: 1px; background: var(--rule); width: 100%; }
.rule-thick { height: 2px; background: var(--ink); }

/* Image placeholders -------------------------------------------- */
.img-ph {
  background: var(--paper);
  position: relative; overflow: hidden;
  border-radius: var(--radius);
  display: flex; align-items: center; justify-content: center;
  color: var(--ink-muted);
  font-family: var(--mono); font-size: 11px;
  letter-spacing: 0.08em; text-transform: uppercase;
}
.img-ph::before {
  content: '';
  position: absolute; inset: 0;
  background:
    radial-gradient(circle at 30% 40%, color-mix(in oklab, var(--green) 45%, transparent), transparent 52%),
    radial-gradient(circle at 75% 60%, color-mix(in oklab, var(--forest) 60%, transparent), transparent 55%);
}
.img-ph > span { position: relative; z-index: 1; padding: 6px 10px; background: rgba(243,245,241,.7); border-radius: 4px; }

/* Sections ------------------------------------------------------ */
section { padding: var(--s-9) 0; }
section.tight { padding: var(--s-7) 0; }
section.dark { background: var(--forest); color: var(--warm-white); }
section.dark .eyebrow { color: var(--gold); }
section.dark .eyebrow .dot { background: var(--gold); }
section.dark p.lead { color: rgba(243,245,241,.85); }
section.paper { background: var(--paper); }

/* Utility ------------------------------------------------------- */
.row { display: flex; }
.col { display: flex; flex-direction: column; }
.gap-2 { gap: 8px; } .gap-3 { gap: 12px; } .gap-4 { gap: 16px; }
.gap-5 { gap: 24px; } .gap-6 { gap: 32px; } .gap-7 { gap: 48px; } .gap-8 { gap: 64px; }
.center { align-items: center; }
.between { justify-content: space-between; }
.mt-4 { margin-top: 16px; } .mt-5 { margin-top: 24px; } .mt-6 { margin-top: 32px; }
.mt-7 { margin-top: 48px; } .mt-8 { margin-top: 64px; }
.mb-4 { margin-bottom: 16px; } .mb-5 { margin-bottom: 24px; } .mb-6 { margin-bottom: 32px; }
.mb-7 { margin-bottom: 48px; } .mb-8 { margin-bottom: 64px; }
.muted { color: var(--ink-muted); }
.italic { font-style: italic; }

/* Marquee */
.marquee { display: flex; gap: 64px; animation: marquee 40s linear infinite; align-items: center; white-space: nowrap; }
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.marquee-wrap { overflow: hidden; padding: 24px 0; }

/* Responsive ---------------------------------------------------- */
@media (max-width: 920px) {
  :root { --gutter: 18px; }
  .nav-links { display: none; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-grid > :first-child { grid-column: 1 / -1; }
}
