/* =========================================================
   Net Income Success - base.css
   Foundation: variables, reset, base typography, utilities
   ========================================================= */

:root {
  --color-bg: #f7f8fa;
  --color-surface: #ffffff;
  --color-text: #1f2933;
  --color-muted: #64748b;
  --color-dark: #111827;
  --color-navy: #172033;
  --color-navy-soft: #22304a;
  --color-accent: #c89b3c;
  --color-accent-dark: #a97f25;
  --color-accent-readable: #8a651b;
  --color-border: #d9dee7;
  --color-white: #ffffff;

  --font-main: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  --container-max: 1120px;
  --content-max: 860px;
  --gutter: clamp(1.25rem, 4vw, 3rem);
  --section-space: clamp(4rem, 8vw, 7rem);
  --radius: 1.25rem;
  --shadow-soft: 0 1.25rem 3rem rgba(15, 23, 42, 0.08);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: var(--font-main);
  font-size: clamp(1rem, 0.96rem + 0.2vw, 1.125rem);
  line-height: 1.6;
  color: var(--color-text);
  background: var(--color-bg);
}

img {
  max-width: 100%;
  display: block;
}

a {
  color: inherit;
}

h1,
h2,
h3,
p {
  margin-top: 0;
}

h1 {
  margin-bottom: 1.15rem;
  font-size: clamp(2.75rem, 8vw, 5.6rem);
  line-height: 0.95;
  letter-spacing: -0.065em;
}

h2 {
  margin-bottom: 1rem;
  color: var(--color-dark);
  font-size: clamp(2rem, 5vw, 3.4rem);
  line-height: 1.05;
  letter-spacing: -0.045em;
}

h3 {
  margin-bottom: 0.65rem;
  color: var(--color-dark);
  font-size: 1.2rem;
  line-height: 1.25;
}

.container {
  width: min(calc(100% - var(--gutter) * 2), var(--container-max));
  margin-inline: auto;
}

.content-narrow {
  width: min(calc(100% - var(--gutter) * 2), var(--content-max));
  margin-inline: auto;
}

.skip-link {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  z-index: 100;
  transform: translateY(-150%);
  padding: 0.7rem 1rem;
  color: var(--color-white);
  background: var(--color-dark);
  border-radius: 999px;
  text-decoration: none;
}

.skip-link:focus {
  transform: translateY(0);
}

@media (max-width: 580px) {
  h1 {
    max-width: 10ch;
  }
}
