/* NaviaCAIR — design tokens (navy dossier) */
:root {
  --cream: #F1E9D7;
  --cream-soft: #ECE3CB;
  --cream-warm: #E6DCC0;
  --cream-deep: #DCD0B0;

  --ink: #1A1610;
  --ink-soft: #4A4136;
  --ink-mute: #6E6555;
  --ink-faint: #978C78;

  --navy: #0E2238;
  --navy-deep: #081628;
  --navy-soft: #16304C;
  --navy-line: #1F3A57;

  --navy-fg: #F2EBDC;
  --navy-fg-soft: #C9B894;
  --navy-fg-mute: #8A7E66;

  --amber: #C57518;
  --amber-bright: #E08E2A;
  --amber-soft: #B0671A;
  --amber-deep: #8E5310;

  --rule: rgba(26, 22, 16, 0.14);
  --rule-navy: rgba(242, 235, 220, 0.18);

  --radius-sm: 6px;
  --radius-md: 14px;
  --radius-lg: 22px;
  --radius-xl: 36px;

  --display: "Source Serif 4", "Source Serif Pro", "Cardo", Georgia, serif;
  --body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
  --mono: "JetBrains Mono", "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;
}

*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: var(--body);
  color: var(--navy-fg);
  background: var(--navy);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; }

.eyebrow {
  font-family: var(--body);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--navy-fg-mute);
}

.btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--body);
  font-weight: 500;
  font-size: 15px;
  letter-spacing: 0.005em;
  padding: 13px 22px;
  border-radius: 999px;
  border: 1px solid transparent;
  transition: transform .15s ease, background .15s ease, color .15s ease, border-color .15s ease;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
}
.btn:active { transform: translateY(1px); }
.btn--primary { background: var(--amber); color: #FFF8EC; border-color: var(--amber); }
.btn--primary:hover { background: var(--amber-bright); border-color: var(--amber-bright); }
.btn--ghost { background: transparent; color: var(--navy-fg); border-color: var(--navy-fg-soft); }
.btn--ghost:hover { background: var(--navy-fg); color: var(--navy); border-color: var(--navy-fg); }
.btn--navy { background: var(--navy-deep); color: var(--navy-fg); border-color: var(--navy-line); }
.btn--navy:hover { background: var(--navy-soft); }
.btn--cream { background: var(--navy); color: #FFF8EC; border-color: var(--navy); }
.btn--cream:hover { background: var(--navy-deep); }
.btn .arrow { transition: transform .15s ease; }
.btn:hover .arrow { transform: translateX(3px); }

.wrap {
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 40px;
}
@media (max-width: 720px) { .wrap { padding: 0 22px; } }

.folio {
  display: flex;
  align-items: center;
  gap: 18px;
  font-family: var(--display);
  font-size: 14px;
  color: var(--navy-fg-mute);
}
.folio em { font-style: italic; color: var(--navy-fg); margin: 0 3px; }
.folio__rule { width: 40px; border-top: 1px solid var(--rule-navy); }

.reveal {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .9s ease, transform .9s cubic-bezier(.2,.7,.2,1);
}
.reveal.is-in { opacity: 1; transform: none; }

/* Shared footer */
.foot { padding: 60px 0 36px; border-top: 1px solid var(--rule-navy); }
.foot__disc {
  font-family: var(--display);
  font-style: italic;
  color: var(--navy-fg-soft);
  font-size: 13px;
  max-width: 600px;
  line-height: 1.5;
  margin: 0 0 18px;
}
.foot__row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 18px;
  font-size: 13px;
  color: var(--navy-fg-mute);
}
.foot__row a { color: var(--navy-fg); }
.foot__row a:hover { color: var(--amber-bright); }
.foot__links { display: flex; gap: 18px; flex-wrap: wrap; }

:focus-visible { outline: 2px solid var(--amber); outline-offset: 3px; border-radius: 4px; }
