/* ============================================================
   GRUPO BONACINA — Design tokens compartidos (landing + deck)
   ============================================================ */

@font-face {
  font-family: 'Acumin';
  src: url('../fonts/AcuminVariableConcept.otf') format('opentype');
  font-weight: 100 1000;
  font-stretch: 50% 130%;
  font-display: swap;
}

:root {
  /* Marca */
  --red: #e32c1e;
  --red-bright: #f04033;
  --red-deep: #b01c10;
  --ink: #191615;
  --charcoal: #3e3a39;
  --smoke: #6f6a68;
  --paper: #faf7f4;
  --white: #ffffff;
  --blush: #fbe7e2;
  --blush-deep: #f6d7cf;
  --line: rgba(62, 58, 57, 0.14);
  --line-dark: rgba(255, 255, 255, 0.14);

  /* Acentos por división (solo para detalles finos) */
  --gastro: #c98a3d;
  --retail: #e07b2f;
  --salud: #2f9e8f;
  --comuni: #3d7bd9;

  /* Tipografía */
  --font: 'Acumin', 'Helvetica Neue', Arial, sans-serif;

  /* Ritmo */
  --gutter: clamp(1.25rem, 4vw, 4rem);
  --section: clamp(4.5rem, 10vw, 9rem);
  --radius: 18px;
  --radius-lg: 28px;

  /* Sombra */
  --shadow-soft: 0 10px 40px rgba(25, 22, 21, 0.10);
  --shadow-deep: 0 30px 80px rgba(25, 22, 21, 0.22);

  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
}

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

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  font-family: var(--font);
  font-weight: 380;
  color: var(--ink);
  background: var(--paper);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

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

h1, h2, h3, h4, p { margin: 0; }

a { color: inherit; text-decoration: none; }

button { font-family: inherit; cursor: pointer; }

::selection { background: var(--red); color: #fff; }

/* Etiqueta pequeña en mayúsculas — firma tipográfica del grupo */
.kicker {
  font-size: 0.72rem;
  font-weight: 620;
  letter-spacing: 0.34em;
  text-transform: uppercase;
  color: var(--red);
}

/* Utilidades de revelado en scroll */
.reveal {
  opacity: 0;
  transform: translateY(34px);
  transition: opacity 0.9s var(--ease-out), transform 0.9s var(--ease-out);
}
.reveal.is-in { opacity: 1; transform: none; }
.reveal[data-delay='1'] { transition-delay: 0.12s; }
.reveal[data-delay='2'] { transition-delay: 0.24s; }
.reveal[data-delay='3'] { transition-delay: 0.36s; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .reveal { opacity: 1; transform: none; transition: none; }
  *, *::before, *::after {
    animation-duration: 0.001s !important; animation-iteration-count: 1 !important; animation-delay: 0s !important;
    transition-duration: 0.001s !important; transition-delay: 0s !important;
  }
}
