/* CALONE Monochrome Intelligence System® — fundação
   Tokens, tipografia base, container e regras globais de movimento. */

:root {
  /* Paleta oficial — somente preto, branco e neutros */
  --calone-black: #000000;
  --calone-ink: #080808;
  --calone-charcoal: #111111;
  --calone-graphite: #1b1b1b;
  --calone-dark-gray: #2b2b2b;
  --calone-gray-700: #525252;
  --calone-gray-500: #858585;
  --calone-gray-300: #c7c7c7;
  --calone-silver: #e4e4e4;
  --calone-off-white: #f2f2ef;
  --calone-paper: #f8f8f5;
  --calone-white: #ffffff;

  /* Texto e bordas por contexto */
  --calone-on-dark-muted: rgba(255, 255, 255, 0.68);
  --calone-on-dark-border: rgba(255, 255, 255, 0.14);
  --calone-on-light-muted: rgba(0, 0, 0, 0.62);
  --calone-on-light-border: rgba(0, 0, 0, 0.12);

  /* Tipografia */
  --calone-font-sans: "Inter", sans-serif;
  --calone-font-display: "Playfair Display", serif;

  /* Movimento */
  --motion-micro: 220ms;
  --motion-header: 280ms;
  --motion-standard: 420ms;
  --motion-reveal: 680ms;
  --motion-cinematic: 1080ms;
  --motion-stagger: 80ms;
  --motion-distance: 28px;
  --motion-distance-large: 44px;
  --motion-parallax-max: 18px;
  --motion-scale-max: 1.035;
  --motion-fast: var(--motion-micro);
  --motion-medium: var(--motion-standard);
  --motion-slow: var(--motion-reveal);
  --ease-calone: cubic-bezier(0.16, 1, 0.3, 1);
}

html,
body {
  font-family: var(--calone-font-sans);
}

/* Controles de formulário não herdam fonte do UA stylesheet (cairiam em Arial) */
button,
input,
select,
textarea {
  font-family: inherit;
}

/* Links institucionais nunca no azul padrão do navegador */
a {
  color: inherit;
}

/* Área de toque mínima (§23) */
button,
[role="button"] {
  min-height: 44px;
}

/* Fonte narrativa — apenas em palavras estratégicas de títulos.
   Playfair Display é carregada somente em itálico. */
.font-display,
.font-playfair {
  font-family: var(--calone-font-display);
  font-style: italic;
}

/* Direção de arte cinematográfica (§15): baixa saturação, alto contraste.
   Aplicado à mídia de fundo para manter o sistema predominantemente P&B. */
.media-cinematic,
.lithos-hero__base,
.lithos-hero__reveal,
.flow-hero__video,
.flow-thumb img,
.scene-capabilities-v2__video,
.hero__video {
  filter: saturate(0.35) contrast(1.08) brightness(0.9);
}

.media-monochrome {
  filter: grayscale(1) contrast(1.1);
}

.site-container {
  width: 100%;
  max-width: 1680px;
  margin-inline: auto;
  padding-inline: clamp(20px, 4vw, 72px);
}

/* Foco visível — nunca remover sem substituição */
:focus-visible {
  outline: 2px solid var(--calone-white);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
