/* Revolução — cores primitivas e semânticas */
:root {
  /* Primitivos: roxo da marca */
  --rev-purple-50: #F8F2FB;
  --rev-purple-100: #EEDCF5;
  --rev-purple-200: #D9B6E8;
  --rev-purple-300: #C48EDB;
  --rev-purple-400: #AE65CE;
  --rev-purple-500: #9126C5;
  --rev-purple-600: #72189E;
  --rev-purple-700: #551277;
  --rev-purple-800: #3C0E52;
  --rev-purple-900: #25082F;
  --rev-purple-950: #10071D;

  /* Primitivos: laranja da marca */
  --rev-orange-50: #FFF6F0;
  --rev-orange-100: #FFE8D8;
  --rev-orange-200: #FEBB8D;
  --rev-orange-300: #FF9A5C;
  --rev-orange-400: #FD7D32;
  --rev-orange-500: #FD6A18;
  --rev-orange-600: #E85A00;
  --rev-orange-700: #C94700;
  --rev-orange-800: #9C3500;
  --rev-orange-900: #6B2300;

  /* Primitivos: ciano (foco, progresso, IA em contexto) */
  --rev-cyan-100: #CFFAFE;
  --rev-cyan-200: #A5F3FC;
  --rev-cyan-300: #67E8F9;
  --rev-cyan-400: #43E6EE;
  --rev-cyan-500: #22D3EE;
  --rev-cyan-600: #0891B2;
  --rev-cyan-700: #0E7490;

  /* Primitivos: azul de destaque */
  --rev-blue-100: #D9EEFF;
  --rev-blue-300: #7CC4F5;
  --rev-blue-500: #158CE6;
  --rev-blue-700: #0E5D9D;

  /* Primitivos: magenta (IA e celebração) */
  --rev-magenta-400: #BB52ED;
  --rev-magenta-500: #A73FD6;
  --rev-magenta-700: #74259A;

  /* Primitivos: neutros */
  --rev-white: #FFFFFF;
  --rev-neutral-25: #FAFAFA;
  --rev-neutral-50: #F7F7FA;
  --rev-neutral-100: #F1F1F4;
  --rev-neutral-200: #E4E4E7;
  --rev-neutral-300: #D4D4D8;
  --rev-neutral-400: #A1A1AA;
  --rev-neutral-500: #71717A;
  --rev-neutral-600: #52525B;
  --rev-neutral-700: #3F3F46;
  --rev-neutral-800: #27272A;
  --rev-neutral-900: #18181B;

  /* Primitivos: superfícies especiais */
  --rev-surface-warm: #FFF1E7;
  --rev-surface-dark-raised: #3D0E55;
  --rev-surface-dark-subtle: #1D092C;
  --rev-surface-dark-border: #4A2973;

  /* Primitivos: feedback */
  --rev-success: #168A5B;
  --rev-warning: #A86500;
  --rev-danger: #C9343A;
  --rev-info: #158CE6;
  --rev-success-bg: #E8F6F0;
  --rev-warning-bg: #FCF3E3;
  --rev-danger-bg: #FBEAEA;
  --rev-info-bg: #EFF8FF;

  /* Semântico: light (padrão) */
  --rev-bg-canvas: #F7F7FA;
  --rev-bg-gradient: linear-gradient(168deg, #F8F5FC 0%, #F1EAF9 48%, #E9DFF5 100%);
  --rev-bg-surface: #FFFFFF;
  --rev-bg-subtle: #F1F1F4;
  --rev-bg-warm: #FFF1E7;
  --rev-bg-brand: #3C0E52;
  --rev-text-primary: #10071D;
  --rev-text-secondary: #52525B;
  --rev-text-muted: #71717A;
  --rev-text-inverse: #FFFFFF;
  --rev-text-on-accent: #10071D;
  --rev-text-brand: #3C0E52;
  --rev-border-default: #D4D4D8;
  --rev-border-strong: #A1A1AA;
  --rev-border-focus: #43E6EE;
  --rev-action-primary: #3C0E52;
  --rev-action-primary-hover: #551277;
  --rev-action-primary-active: #25082F;
  --rev-action-accent: #FD6A18;
  --rev-action-accent-hover: #FD7D32;
  --rev-action-accent-active: #E85A00;
  --rev-action-accent-text: #10071D;
  --rev-action-accent-accessible: #C94700;
  --rev-action-ai: #9126C5;
  --rev-progress: #43E6EE;
}

[data-theme="dark"] {
  --rev-bg-canvas: #10071D;
  --rev-bg-gradient: linear-gradient(168deg, #10071D 0%, #1D092C 100%);
  --rev-bg-surface: #1D092C;
  --rev-bg-subtle: #3D0E55;
  --rev-bg-warm: #3A1C19;
  --rev-bg-brand: #3C0E52;
  --rev-text-primary: #FAFAFA;
  --rev-text-secondary: #C4C1CB;
  --rev-text-muted: #9B93A2;
  --rev-text-inverse: #10071D;
  --rev-text-on-accent: #10071D;
  --rev-text-brand: #D9B6E8;
  --rev-border-default: #4A2973;
  --rev-border-strong: #9126C5;
  --rev-border-focus: #43E6EE;
  --rev-action-primary: #9126C5;
  --rev-action-primary-hover: #AE65CE;
  --rev-action-primary-active: #72189E;
  --rev-action-ai: #BB52ED;
  --rev-success-bg: #0E3327;
  --rev-warning-bg: #33250A;
  --rev-danger-bg: #38151A;
  --rev-info-bg: #0B2438;
}

/* Revolução — tipografia
   Família principal: Mundial, servida do próprio site (ver @font-face no fim
   deste arquivo). Fallbacks: Poppins (se instalada), Inter, sistema. */
:root {
  --rev-font-heading: "Mundial", "Poppins", "Inter", system-ui, sans-serif;
  --rev-font-body: "Mundial", "Poppins", "Inter", system-ui, sans-serif;
  --rev-font-code: ui-monospace, SFMono-Regular, Menlo, monospace;

  --rev-text-xs: 0.75rem;   /* 12px legenda técnica */
  --rev-text-sm: 0.875rem;  /* 14px metadados */
  --rev-text-md: 1rem;      /* 16px corpo padrão */
  --rev-text-lg: 1.25rem;   /* 20px título de card */
  --rev-text-xl: 1.5rem;    /* 24px título de seção */
  --rev-text-2xl: 2rem;     /* 32px título de página */
  --rev-text-3xl: 2.5rem;   /* 40px destaque */
  --rev-text-4xl: 3rem;     /* 48px hero */

  --rev-weight-regular: 400;
  --rev-weight-medium: 500;
  --rev-weight-semibold: 600;
  --rev-weight-bold: 700;

  --rev-leading-body: 1.55;
  --rev-leading-heading: 1.2;
  --rev-leading-tight: 1.1;
}

/* Revolução — espaçamento (base 4px) */
:root {
  --rev-space-1: 0.25rem;  /* 4px */
  --rev-space-2: 0.5rem;   /* 8px */
  --rev-space-3: 0.75rem;  /* 12px */
  --rev-space-4: 1rem;     /* 16px padding padrão de controles */
  --rev-space-5: 1.25rem;  /* 20px */
  --rev-space-6: 1.5rem;   /* 24px blocos relacionados */
  --rev-space-8: 2rem;     /* 32px seções */
  --rev-space-10: 2.5rem;  /* 40px */
  --rev-space-12: 3rem;    /* 48px regiões */
  --rev-space-16: 4rem;    /* 64px */
  --rev-space-20: 5rem;    /* 80px */
}

/* Revolução — raios, bordas e elevação */
:root {
  --rev-radius-xs: 0.25rem;
  --rev-radius-sm: 0.5rem;   /* controles compactos */
  --rev-radius-md: 0.75rem;  /* botões, inputs */
  --rev-radius-lg: 1rem;     /* cards */
  --rev-radius-xl: 1.5rem;   /* painéis de IA */
  --rev-radius-pill: 999rem;

  --rev-shadow-sm: 0 1px 2px rgba(16, 7, 29, 0.08);
  --rev-shadow-md: 0 8px 24px rgba(16, 7, 29, 0.12);
  --rev-shadow-lg: 0 16px 48px rgba(16, 7, 29, 0.18);
  /* Glow roxo: reservado ao mentor de IA, foco de jornada e celebrações */
  --rev-shadow-ai: 0 10px 30px rgba(145, 38, 197, 0.28);
  --rev-glow-focus: 0 0 0 3px rgba(67, 230, 238, 0.45);
}

/* Revolução — motion */
:root {
  --rev-duration-fast: 120ms; /* microinteração */
  --rev-duration-normal: 200ms; /* transição padrão */
  --rev-duration-slow: 320ms; /* entrada de painel */
  --rev-ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --rev-ease-enter: cubic-bezier(0, 0, 0, 1);
  --rev-ease-exit: cubic-bezier(0.3, 0, 1, 1);
}

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

/* Revolução — base */
body {
  margin: 0;
  font-family: var(--rev-font-body);
  font-size: var(--rev-text-md);
  line-height: var(--rev-leading-body);
  color: var(--rev-text-primary);
  background: var(--rev-bg-canvas);
  -webkit-font-smoothing: antialiased;
}
a { color: var(--rev-action-primary); }
a:hover { color: var(--rev-action-primary-hover); }
[data-theme="dark"] a { color: var(--rev-cyan-400); }
[data-theme="dark"] a:hover { color: var(--rev-cyan-300); }
:focus-visible { outline: 3px solid var(--rev-border-focus); outline-offset: 2px; }

/* ---- Estilos da página ---- */
    html { scroll-behavior: smooth; }
    h1, h2, h3 { font-family: var(--rev-font-heading); }
    body { margin: 0; background: #0C0514; font-family: var(--rev-font-body); color: #FAFAFA; }
    a { color: #FF9A5C; }
    a:hover { color: #FFB574; }
    details > summary { list-style: none; cursor: pointer; }
    details > summary::-webkit-details-marker { display: none; }
    details[open] .faq-chev { transform: rotate(180deg); }
    @media (max-width: 720px) { .rev-nav-links { display: none !important; } }
    @media (max-width: 900px) { .bento > div { grid-column: span 6 !important; } }
    @keyframes revPulse { 0%,100% { transform: scale(1); opacity: .55; } 50% { transform: scale(1.18); opacity: .2; } }
  
/* Hovers dos botões e links de navegação */
.cta-laranja:hover { background: #FD7D32 !important; color: #10071D !important; }
.cta-roxo:hover { background: #9126C5 !important; color: #FFFFFF !important; }
.link-nav:hover { color: #FFFFFF !important; }

/* ---- Curva do esquecimento: cérebro com balões (Pilar 2) ---- */
.curva-figura { position: relative; margin: 8px 0 0; border-radius: 1rem; overflow: hidden; }
.curva-figura img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.curva-linhas { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.curva-balao {
  position: absolute;
  max-width: 30%;
  border: 1px solid rgba(255,255,255,0.16);
  border-radius: 1rem;
  background: rgba(16,7,29,0.62);
  backdrop-filter: blur(8px);
  padding: 12px 16px;
  font-size: 0.875rem;
  font-style: italic;
  line-height: 1.45;
  color: rgba(250,250,250,0.92);
}
.curva-balao span { color: var(--rev-orange-400); margin-right: 8px; }
.curva-b1 { left: 4%; top: 52%; }
.curva-b2 { right: 4%; top: 14%; }
.curva-b3 { right: 6%; bottom: 6%; }
.curva-linhas .so-mobile { display: none; }

@media (max-width: 720px) {
  .curva-figura img { aspect-ratio: 3 / 4; }
  .curva-balao { max-width: 62%; font-size: 0.75rem; padding: 10px 12px; }
  .curva-b1 { left: 4%; top: 5%; }
  .curva-b2 { right: 4%; top: 42%; left: auto; }
  .curva-b3 { left: 4%; right: auto; bottom: 4%; }
  .curva-linhas .so-desktop { display: none; }
  .curva-linhas .so-mobile { display: block; }
}

/* Fonte oficial da marca (Mundial) — servida do próprio site em /k/fontes/.
   Pesos: 400 regular/itálico, 600 demibold, 700 bold, 900 black. */
@font-face { font-family: "Mundial"; src: url("/k/fontes/mundial-regular.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Mundial"; src: url("/k/fontes/mundial-italic.woff2") format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: "Mundial"; src: url("/k/fontes/mundial-demibold.woff2") format("woff2"); font-weight: 500 600; font-style: normal; font-display: swap; }
@font-face { font-family: "Mundial"; src: url("/k/fontes/mundial-bold.woff2") format("woff2"); font-weight: 700 800; font-style: normal; font-display: swap; }
@font-face { font-family: "Mundial"; src: url("/k/fontes/mundial-black.woff2") format("woff2"); font-weight: 900; font-style: normal; font-display: swap; }
