/* ============================================================
   EFFIX — Design tokens
   Baseado no Manual de Marca: Azul Noturno Profundo + Dourado
   Champanhe, tipografia geométrica (Gotham → Montserrat na web),
   arquétipo "O Governante": controle, estrutura, autoridade calma.
   ============================================================ */

:root{
  /* --- Cor --- */
  --navy-950:#0a1220;
  --navy-900:#101c2e;   /* Azul Noturno Profundo — cor primária da marca */
  --navy-800:#16273d;
  --navy-700:#203350;
  --navy-600:#2c4364;

  --gold-700:#a9884f;
  --gold-600:#c2a06a;
  --gold-500:#c9ab6e;   /* Dourado Champanhe — accent, usado com parcimônia */
  --gold-300:#e2d3ae;
  --gold-100:#f3ead9;

  --cream:#f7f4ee;      /* fundo claro institucional, não branco puro */
  --white:#ffffff;

  --ink-900:#101c2e;    /* texto principal sobre fundo claro */
  --ink-700:#3d4759;
  --ink-500:#6b7280;
  --ink-on-navy:#e9ecf2;
  --ink-on-navy-muted:#a9b3c4;

  --line-on-cream:#e2ddd0;
  --line-on-navy:#2c3b52;

  /* --- Tipografia --- */
  --font-display:'Montserrat', -apple-system, 'Segoe UI', sans-serif;
  --font-body:'Montserrat', -apple-system, 'Segoe UI', sans-serif;

  /* --- Escala --- */
  --step--1: clamp(0.83rem, 0.8rem + 0.15vw, 0.92rem);
  --step-0:  clamp(1rem, 0.96rem + 0.2vw, 1.125rem);
  --step-1:  clamp(1.2rem, 1.1rem + 0.4vw, 1.4rem);
  --step-2:  clamp(1.5rem, 1.3rem + 0.8vw, 1.9rem);
  --step-3:  clamp(1.9rem, 1.6rem + 1.4vw, 2.6rem);
  --step-4:  clamp(2.4rem, 1.9rem + 2.2vw, 3.6rem);
  --step-5:  clamp(3rem, 2.2rem + 3.6vw, 5rem);

  /* --- Espaçamento --- */
  --space-1: 0.5rem;
  --space-2: 1rem;
  --space-3: 1.5rem;
  --space-4: 2.5rem;
  --space-5: 4rem;
  --space-6: 6rem;
  --space-7: 9rem;

  /* --- Layout --- */
  --container: 1180px;
  --radius-sm: 4px;
  --radius-md: 8px;
  --ease: cubic-bezier(.22,.61,.36,1);
}

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

body{
  margin:0;
  font-family:var(--font-body);
  background:var(--cream);
  color:var(--ink-900);
  font-size:var(--step-0);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,h4{
  font-family:var(--font-display);
  color:var(--ink-900);
  line-height:1.12;
  margin:0 0 var(--space-2);
  font-weight:700;
  letter-spacing:-0.01em;
}

p{ margin:0 0 var(--space-2); }
a{ color:inherit; text-decoration:none; }
img{ max-width:100%; display:block; }
ul{ margin:0; padding:0; list-style:none; }
button{ font-family:inherit; }

.container{
  max-width:var(--container);
  margin-inline:auto;
  padding-inline:var(--space-3);
}

.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.6em;
  font-size:var(--step--1);
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--gold-600);
}
.eyebrow::before{
  content:"";
  width:22px;
  height:1px;
  background:var(--gold-600);
}
.eyebrow.on-navy{ color:var(--gold-500); }

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5em;
  padding:0.9em 1.8em;
  font-size:var(--step--1);
  font-weight:600;
  letter-spacing:.02em;
  border-radius:8px;
  border:1px solid transparent;
  cursor:pointer;
  transition:transform .3s var(--ease), background .3s var(--ease), border-color .3s var(--ease), color .3s var(--ease), box-shadow .3s var(--ease);
  white-space:nowrap;
}
.btn:focus-visible{ outline:2px solid var(--gold-500); outline-offset:3px; }

.btn-gold{
  background:var(--gold-500);
  color:var(--navy-900);
  box-shadow:0 10px 24px -12px rgba(201,171,110,.55);
}
.btn-gold:hover{ background:var(--gold-300); transform:translateY(-2px); box-shadow:0 16px 32px -14px rgba(201,171,110,.7); }

.btn-outline-light{
  background:transparent;
  border-color:rgba(233,236,242,.35);
  color:var(--ink-on-navy);
}
.btn-outline-light:hover{ border-color:var(--gold-500); color:var(--gold-500); transform:translateY(-2px); }

.btn-outline-dark{
  background:transparent;
  border-color:rgba(16,28,46,.25);
  color:var(--ink-900);
}
.btn-outline-dark:hover{ border-color:var(--navy-900); background:var(--navy-900); color:var(--white); transform:translateY(-2px); }

.btn-ghost-navy{
  background:transparent;
  color:var(--ink-on-navy);
  padding:0.5em 0;
}
.btn-ghost-navy .arrow{ transition:transform .3s var(--ease); }
.btn-ghost-navy:hover .arrow{ transform:translateX(5px); }

section{ position:relative; }

.section-pad{ padding-block:var(--space-6); }
@media (max-width:720px){
  .section-pad{ padding-block:var(--space-5); }
}

.visually-hidden{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

.skip-link{
  position:absolute; left:-999px; top:0; background:var(--gold-500);
  color:var(--navy-900); padding:.8em 1.2em; z-index:200; font-weight:600;
}
.skip-link:focus{ left:var(--space-2); top:var(--space-2); }
