/* Design tokens — cores, tipografia e variáveis base.
   Fontes oficiais da marca em uso: Nampy (títulos) + Alte Haas Grotesk (texto/interface).
   Fraunces fica só como fallback serif de segurança até a Nampy carregar. */

/* Fonte oficial de títulos */
@font-face {
  font-family: "Nampy";
  src: url("../fonts/nampy2.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Fallback serif de segurança (enquanto a Nampy carrega) */
@font-face {
  font-family: "Fraunces";
  src: url("../fonts/fraunces.woff2") format("woff2");
  font-weight: 300 700;
  font-display: swap;
}

/* Fonte oficial de texto/interface — 2 pesos em arquivos separados */
@font-face {
  font-family: "Alte Haas Grotesk";
  src: url("../fonts/alte-haas.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Alte Haas Grotesk";
  src: url("../fonts/alte-haas-bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

:root {
  /* Paleta reduzida: petróleo e areia dominam; vinho é tinta de título e âncora
     de CTA. Sobre fundo escuro (método, CTA, footer) o acento é sempre areia. */
  --petroleo: #2f6364;
  --areia: #ded4c0; /* amostrado das artes oficiais da marca (fundo idêntico nas 9) */
  --areia-clara: #efe9df;
  --vinho: #3c0415;
  --tinta: #2a1016;

  --font-display: "Nampy", "Fraunces", "Playfair Display", Georgia, serif;
  --font-sans: "Alte Haas Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;

  --maxw: 1560px;
  --gutter: clamp(20px, 5vw, 88px);
  --section-y: clamp(84px, 13vh, 190px);
  --radius: 2px;

  --fs-eyebrow: 0.74rem;
  --fs-body: clamp(1rem, 0.95rem + 0.35vw, 1.16rem);
  --fs-h1: clamp(3rem, 1.4rem + 7vw, 128px); /* teto em px: não cresce com o root-scale do desktop (evita quebrar o título) */
  --fs-h2: clamp(2.2rem, 1.3rem + 3.4vw, 79px); /* teto px: títulos de seção não crescem com o root-scale (já estão bons) */
  --fs-h3: clamp(1.2rem, 1.05rem + 0.6vw, 1.5rem);

  --ease: cubic-bezier(0.22, 0.61, 0.36, 1);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);

  /* padrão de leque tom-sobre-tom (SVG inline, sem requisição) */
  --pattern: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="66" height="66" viewBox="0 0 100 100"><path fill="%233c0415" fill-rule="evenodd" d="M45.83 13.47 L53.89 13.47 L54.17 13.75 L58.33 14.03 L58.61 14.31 L63.33 15.14 L70.28 17.64 L74.17 19.58 L78.61 22.36 L82.22 25.14 L84.72 27.36 L88.33 31.25 L91.11 34.86 L93.89 39.31 L96.39 44.58 L98.06 49.31 L98.06 50.14 L99.17 53.75 L99.44 56.81 L99.72 57.08 L99.72 60.14 L98.61 62.08 L96.67 63.19 L91.11 63.19 L90.83 63.47 L88.06 63.47 L87.78 63.75 L83.33 64.31 L77.50 65.97 L69.17 69.86 L65.28 72.36 L61.39 75.42 L56.11 80.69 L53.06 84.86 L50.83 86.25 L48.61 86.25 L47.22 85.69 L45.83 84.31 L42.22 79.58 L39.17 76.53 L34.44 72.64 L29.17 69.31 L22.50 66.25 L14.72 64.03 L11.39 63.75 L11.11 63.47 L8.61 63.47 L8.33 63.19 L3.33 63.19 L1.94 62.64 L0.56 61.25 L0.00 60.14 L0.00 57.36 L0.28 57.08 L0.28 55.42 L0.56 55.14 L0.83 52.64 L3.33 44.58 L6.67 37.92 L11.39 31.25 L17.50 25.14 L21.11 22.36 L25.56 19.58 L30.83 17.08 L35.56 15.42 L36.39 15.42 L37.50 14.86 L39.72 14.58 L40.00 14.31 L41.39 14.31 L43.33 13.75 L45.56 13.75 L45.83 13.47 Z M46.94 18.47 L47.50 18.47 L47.50 79.86 L47.50 78.47 L47.22 78.19 L46.11 71.53 L45.56 70.14 L45.56 69.03 L45.00 67.64 L45.00 66.53 L44.72 66.25 L43.33 59.86 L42.78 58.75 L42.50 56.81 L40.56 50.97 L40.56 50.14 L36.94 39.31 L35.28 35.42 L35.00 32.36 L34.72 32.08 L35.00 29.03 L35.56 27.08 L37.78 23.19 L39.72 21.25 L41.39 20.14 L45.00 18.75 L46.67 18.75 L46.94 18.47 Z M51.94 18.47 L54.44 18.75 L56.94 19.58 L58.89 20.69 L61.39 22.92 L62.78 24.86 L64.17 28.19 L64.17 29.03 L64.44 29.31 L64.44 34.03 L59.44 48.19 L59.44 49.03 L58.33 51.81 L58.33 52.64 L56.67 57.64 L56.67 58.47 L55.56 61.81 L55.00 65.14 L53.89 68.75 L53.89 69.86 L53.33 71.25 L53.33 72.36 L53.06 72.64 L53.06 73.75 L52.78 74.03 L52.78 75.14 L52.50 75.42 L51.67 80.14 L51.67 18.75 L51.94 18.47 Z M22.78 29.31 L25.28 29.58 L27.50 30.42 L30.00 32.64 L30.83 34.03 L36.11 48.75 L36.11 49.58 L37.22 52.36 L37.22 53.19 L38.89 58.19 L38.89 59.03 L39.72 61.25 L39.72 62.08 L40.00 62.36 L41.39 68.19 L38.06 63.19 L31.11 54.31 L27.22 49.86 L16.94 39.86 L15.83 37.92 L15.56 35.14 L16.39 32.92 L18.61 30.69 L20.28 29.86 L22.50 29.58 L22.78 29.31 Z M75.56 29.31 L79.17 29.86 L81.11 30.97 L82.78 32.64 L83.61 34.58 L83.61 37.36 L83.33 38.19 L82.78 39.31 L74.72 47.08 L67.50 55.14 L61.67 62.64 L58.06 68.19 L60.28 58.75 L61.94 53.75 L61.94 52.92 L68.06 35.14 L69.17 32.92 L71.11 30.97 L73.06 29.86 L75.28 29.58 L75.56 29.31 Z M11.11 40.14 L11.94 40.42 L17.22 45.14 L25.83 54.03 L34.17 64.31 L38.89 71.53 L35.28 68.19 L29.44 64.03 L20.56 59.31 L20.00 59.31 L15.00 57.08 L12.50 55.14 L10.83 52.92 L10.00 51.25 L9.44 49.31 L9.44 47.92 L9.17 47.64 L9.17 45.69 L9.44 45.42 L9.72 42.92 L11.11 40.14 Z M87.78 40.14 L88.33 40.14 L89.44 42.36 L90.00 44.31 L90.00 48.75 L89.72 49.03 L89.72 50.14 L87.78 54.03 L84.44 57.08 L80.00 59.03 L79.44 59.03 L76.94 60.42 L76.39 60.42 L70.83 63.47 L66.67 66.25 L60.83 70.97 L65.00 64.58 L71.11 56.81 L75.56 51.81 L83.33 44.03 L87.78 40.14 Z"/></svg>');
  --pattern-light: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="66" height="66" viewBox="0 0 100 100"><path fill="%23efe9df" fill-rule="evenodd" d="M45.83 13.47 L53.89 13.47 L54.17 13.75 L58.33 14.03 L58.61 14.31 L63.33 15.14 L70.28 17.64 L74.17 19.58 L78.61 22.36 L82.22 25.14 L84.72 27.36 L88.33 31.25 L91.11 34.86 L93.89 39.31 L96.39 44.58 L98.06 49.31 L98.06 50.14 L99.17 53.75 L99.44 56.81 L99.72 57.08 L99.72 60.14 L98.61 62.08 L96.67 63.19 L91.11 63.19 L90.83 63.47 L88.06 63.47 L87.78 63.75 L83.33 64.31 L77.50 65.97 L69.17 69.86 L65.28 72.36 L61.39 75.42 L56.11 80.69 L53.06 84.86 L50.83 86.25 L48.61 86.25 L47.22 85.69 L45.83 84.31 L42.22 79.58 L39.17 76.53 L34.44 72.64 L29.17 69.31 L22.50 66.25 L14.72 64.03 L11.39 63.75 L11.11 63.47 L8.61 63.47 L8.33 63.19 L3.33 63.19 L1.94 62.64 L0.56 61.25 L0.00 60.14 L0.00 57.36 L0.28 57.08 L0.28 55.42 L0.56 55.14 L0.83 52.64 L3.33 44.58 L6.67 37.92 L11.39 31.25 L17.50 25.14 L21.11 22.36 L25.56 19.58 L30.83 17.08 L35.56 15.42 L36.39 15.42 L37.50 14.86 L39.72 14.58 L40.00 14.31 L41.39 14.31 L43.33 13.75 L45.56 13.75 L45.83 13.47 Z M46.94 18.47 L47.50 18.47 L47.50 79.86 L47.50 78.47 L47.22 78.19 L46.11 71.53 L45.56 70.14 L45.56 69.03 L45.00 67.64 L45.00 66.53 L44.72 66.25 L43.33 59.86 L42.78 58.75 L42.50 56.81 L40.56 50.97 L40.56 50.14 L36.94 39.31 L35.28 35.42 L35.00 32.36 L34.72 32.08 L35.00 29.03 L35.56 27.08 L37.78 23.19 L39.72 21.25 L41.39 20.14 L45.00 18.75 L46.67 18.75 L46.94 18.47 Z M51.94 18.47 L54.44 18.75 L56.94 19.58 L58.89 20.69 L61.39 22.92 L62.78 24.86 L64.17 28.19 L64.17 29.03 L64.44 29.31 L64.44 34.03 L59.44 48.19 L59.44 49.03 L58.33 51.81 L58.33 52.64 L56.67 57.64 L56.67 58.47 L55.56 61.81 L55.00 65.14 L53.89 68.75 L53.89 69.86 L53.33 71.25 L53.33 72.36 L53.06 72.64 L53.06 73.75 L52.78 74.03 L52.78 75.14 L52.50 75.42 L51.67 80.14 L51.67 18.75 L51.94 18.47 Z M22.78 29.31 L25.28 29.58 L27.50 30.42 L30.00 32.64 L30.83 34.03 L36.11 48.75 L36.11 49.58 L37.22 52.36 L37.22 53.19 L38.89 58.19 L38.89 59.03 L39.72 61.25 L39.72 62.08 L40.00 62.36 L41.39 68.19 L38.06 63.19 L31.11 54.31 L27.22 49.86 L16.94 39.86 L15.83 37.92 L15.56 35.14 L16.39 32.92 L18.61 30.69 L20.28 29.86 L22.50 29.58 L22.78 29.31 Z M75.56 29.31 L79.17 29.86 L81.11 30.97 L82.78 32.64 L83.61 34.58 L83.61 37.36 L83.33 38.19 L82.78 39.31 L74.72 47.08 L67.50 55.14 L61.67 62.64 L58.06 68.19 L60.28 58.75 L61.94 53.75 L61.94 52.92 L68.06 35.14 L69.17 32.92 L71.11 30.97 L73.06 29.86 L75.28 29.58 L75.56 29.31 Z M11.11 40.14 L11.94 40.42 L17.22 45.14 L25.83 54.03 L34.17 64.31 L38.89 71.53 L35.28 68.19 L29.44 64.03 L20.56 59.31 L20.00 59.31 L15.00 57.08 L12.50 55.14 L10.83 52.92 L10.00 51.25 L9.44 49.31 L9.44 47.92 L9.17 47.64 L9.17 45.69 L9.44 45.42 L9.72 42.92 L11.11 40.14 Z M87.78 40.14 L88.33 40.14 L89.44 42.36 L90.00 44.31 L90.00 48.75 L89.72 49.03 L89.72 50.14 L87.78 54.03 L84.44 57.08 L80.00 59.03 L79.44 59.03 L76.94 60.42 L76.39 60.42 L70.83 63.47 L66.67 66.25 L60.83 70.97 L65.00 64.58 L71.11 56.81 L75.56 51.81 L83.33 44.03 L87.78 40.14 Z"/></svg>');

  /* grão analógico (anti-digital) */
  --grain: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="160" height="160"><filter id="n"><feTurbulence type="fractalNoise" baseFrequency="0.8" numOctaves="2" stitchTiles="stitch"/><feColorMatrix type="saturate" values="0"/></filter><rect width="100%" height="100%" filter="url(%23n)"/></svg>');
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

* {
  margin: 0;
}

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: var(--font-sans);
  font-size: var(--fs-body);
  font-weight: 380;
  line-height: 1.72;
  color: var(--tinta);
  background: var(--areia);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1,
h2,
h3 {
  font-family: var(--font-display);
  font-weight: 370;
  font-optical-sizing: auto;
  line-height: 1.06;
  color: var(--vinho);
  letter-spacing: -0.018em;
  text-wrap: balance;
}

a {
  color: inherit;
  text-decoration: none;
}

img,
svg {
  display: block;
  max-width: 100%;
}

:focus-visible {
  outline: 2px solid var(--vinho);
  outline-offset: 3px;
  border-radius: 4px;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}
