/* Local-only font aliases: uses the licensed family if installed on the client system.
   No binary font files are bundled in this package. */
@font-face {
  font-family: "Neue Haas Grotesk Display Pro";
  src: local("Neue Haas Grotesk Display Pro 55 Roman"), local("Neue Haas Grotesk Display Pro Roman"), local("Neue Haas Grotesk Display Roman");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "Neue Haas Grotesk Display Pro";
  src: local("Neue Haas Grotesk Display Pro 65 Medium"), local("Neue Haas Grotesk Display Pro Medium"), local("Neue Haas Grotesk Display Medium");
  font-style: normal;
  font-weight: 500 699;
  font-display: swap;
}
@font-face {
  font-family: "Neue Haas Grotesk Display Pro";
  src: local("Neue Haas Grotesk Display Pro 75 Bold"), local("Neue Haas Grotesk Display Pro Bold"), local("Neue Haas Grotesk Display Bold");
  font-style: normal;
  font-weight: 700 899;
  font-display: swap;
}
@font-face {
  font-family: "Neue Haas Grotesk Display Pro";
  src: local("Neue Haas Grotesk Display Pro 95 Black"), local("Neue Haas Grotesk Display Pro Black"), local("Neue Haas Grotesk Display Black");
  font-style: normal;
  font-weight: 900;
  font-display: swap;
}

:root {
  /* Marca - cores primárias */
  --mar: #0277bb;
  --mar-escuro: #01568c;
  --sol: #ffa539;
  --sol-escuro: #e8901f;
  --areia: #fff2de;
  --areia-escuro: #f3e2c2;

  /* Neutros */
  --preto: #050505;
  --branco: #ffffff;
  --ink: #111111;
  --cinza-700: #3a3a3a;
  --cinza-400: #8a8a8a;
  --line: rgba(5, 5, 5, .14);
  --line-invert: rgba(255, 255, 255, .18);

  /* Estados */
  --sucesso: #1c8c4b;
  --erro: #d0342c;

  /* Superfícies / overlays */
  --brasa-gradient: linear-gradient(135deg, #ff7a1a 0%, #ffa539 45%, #ffcf7a 100%);
  --mar-gradient: linear-gradient(160deg, #0277bb 0%, #024f87 100%);
  --scrim-dark: linear-gradient(180deg, rgba(5, 5, 5, 0) 0%, rgba(5, 5, 5, .72) 100%);
  --horizon-gradient: linear-gradient(180deg, rgba(2,119,187,.08) 0%, rgba(255,165,57,.14) 72%, rgba(255,242,222,.04) 100%);
  --heat-glow: radial-gradient(circle, rgba(255,165,57,.52) 0%, rgba(255,122,26,.18) 38%, rgba(255,165,57,0) 72%);

  /* Tipografia */
  --font: "Neue Haas Grotesk Display Pro", "Neue Haas Grotesk Display", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --fs-display: clamp(48px, 8.5vw, 128px);
  --fs-h1: clamp(40px, 6vw, 88px);
  --fs-h2: clamp(30px, 4vw, 56px);
  --fs-h3: clamp(22px, 2.4vw, 32px);
  --fs-body-lg: clamp(17px, 1.4vw, 20px);
  --fs-body: 16px;
  --fs-small: 13px;
  --fs-eyebrow: 12px;
  --lh-tight: .94;
  --lh-heading: 1.05;
  --lh-body: 1.55;
  --tracking-eyebrow: .22em;
  --tracking-heading: -.01em;

  /* Layout */
  --shell: 1240px;
  --gutter: clamp(20px, 4vw, 56px);
  --radius-lg: 24px;
  --radius-md: 16px;
  --radius-sm: 10px;
  --radius-pill: 999px;

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

  /* Elevação */
  --elev-1: 4px 4px 0 var(--preto);
  --elev-2: 8px 8px 0 var(--sol);
  --elev-3: 10px 10px 0 var(--mar);
  --elev-soft: 0 24px 48px -20px rgba(5, 5, 5, .28);

  /* Motion */
  --ease-out: cubic-bezier(.16, 1, .3, 1);
  --dur-fast: 180ms;
  --dur-base: 320ms;
  --dur-slow: 560ms;
  --dur-idle: 5200ms;
  --cursor-size: 14px;

  /* Header */
  --header-h: 80px;
  --header-h-scrolled: 64px;
}
