@font-face {
  font-family: "Fraunces";
  src: url("../assets/fonts/fraunces-v2.woff2") format("woff2");
  font-weight: 300 800; /* opsz automático; SOFT/WONK fixos em 0 (scripts/instance-fonts.py) */
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Fraunces";
  src: url("../assets/fonts/fraunces-italic-v2.woff2") format("woff2");
  font-weight: 300 600; /* opsz automático; SOFT/WONK fixos em 0 (scripts/instance-fonts.py) */
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Inter";
  src: url("../assets/fonts/inter.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

@property --ray-angle {
  syntax: "<angle>";
  inherits: false;
  initial-value: 0deg;
}

/* títulos grandes: o corte de cartaz (opsz 144) tem traço fino demais para ler; 48 mantém o desenho e firma as hastes */
.h2, .hero__title, .manifesto__text, .reveal__title, .final__title, .venue-card__name { font-variation-settings: "opsz" 48; }

:root {
  /* Cores */
  --c-cream: #F7F1E6;
  --c-sand: #EFE4D0;
  --c-ivory: #FFFBF4;
  --c-gold: #C8913A;
  --c-gold-light: #E9C27A;
  --c-gold-deep: #8A5A14;
  --c-peach: #F6D5B8;
  --c-night: #1B2A41;
  --c-ink-muted: #5A5146;
  --page-bg: var(--c-cream);

  /* Tipografia */
  --font-display: "Fraunces", ui-serif, Georgia, serif;
  --font-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --fs-xs: clamp(0.75rem, 0.72rem + 0.15vw, 0.8125rem);
  --fs-sm: clamp(0.875rem, 0.85rem + 0.12vw, 0.9375rem);
  --fs-base: clamp(1rem, 0.96rem + 0.2vw, 1.125rem);
  --fs-lg: clamp(1.2rem, 1.08rem + 0.6vw, 1.5rem);
  --fs-xl: clamp(1.75rem, 1.4rem + 1.6vw, 2.75rem);
  --fs-2xl: clamp(2.25rem, 1.6rem + 3.2vw, 4.5rem);
  --fs-3xl: clamp(2.75rem, 1.6rem + 6vw, 8rem);

  /* Forma */
  --radius-sm: 12px;
  --radius: 24px;
  --radius-pill: 999px;
  --shadow-warm: 0 1px 2px rgb(120 72 18 / 0.06), 0 4px 12px rgb(120 72 18 / 0.08), 0 16px 40px rgb(120 72 18 / 0.1);
  --shadow-glow: 0 0 0 1px rgb(233 194 122 / 0.5), 0 8px 30px rgb(200 145 58 / 0.35);

  /* Movimento */
  --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out-soft: cubic-bezier(0.65, 0, 0.35, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --dur-fast: 180ms;
  --dur: 420ms;
  --dur-slow: 900ms;

  /* Layout */
  --gutter: clamp(1rem, 5vw, 3rem);
  --maxw: 72rem;

  /* Gradientes */
  --grad-dawn: radial-gradient(120% 80% at 50% 0%, rgb(233 194 122 / 0.55) 0%, rgb(246 213 184 / 0.35) 35%, transparent 70%);
  --grad-gold: linear-gradient(135deg, #E9C27A 0%, #C8913A 55%, #A8742A 100%);
}
