/* Gerado a partir de ../../../design-system/tokens (não editar aqui; editar no design system e correr sync-design-system.sh) */
/* latin-ext */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/Geist-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/Geist-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/Geist-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/Geist-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/Geist-600-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/Geist-600-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/Geist-700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/Geist-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/GeistMono-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/GeistMono-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/GeistMono-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/GeistMono-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Doto';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/Doto-700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Doto';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/Doto-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Doto';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(fonts/Doto-900-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Doto';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(fonts/Doto-900-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Jotactics — cor. Direção "Noturno": escuro por defeito, claro via [data-theme="claro"]. */
:root{
/* navy (base) */
--navy-950:#04141c;--navy-900:#061b26;--navy-850:#08222f;--navy-800:#0a2633;--navy-700:#0c3143;--navy-600:#1a4458;--navy-500:#2c4b5a;
/* cinza frio */
--cinza-50:#f6f8f9;--cinza-100:#eef1f3;--cinza-200:#e1e6e9;--cinza-300:#c9d6dc;--cinza-400:#a9bcc6;--cinza-500:#7d95a1;--cinza-600:#56707d;
--branco:#ffffff;
/* teal — logo + versão elétrica para ecrã */
--teal-logo:#0b9496;--teal-logo-2:#13a0ab;--teal-400:#19c3c0;--teal-300:#6fdcd9;--teal-700:#087476;--teal-800:#065a5c;
/* sinal — o único acento forte; 1 por peça */
--sinal-500:#ff5b2e;--sinal-400:#ff7a52;--sinal-600:#e8481d;--sinal-700:#b8350f;
/* linhas de oferta (etiquetas, nunca em grandes áreas) */
--oferta-regra:#19c3c0;--oferta-sistemas:#7fb2ff;--oferta-decisao:#ffb547;
/* estado */
--ok:#3ccf8e;--aviso:#ffb547;--erro:#ff5b5b;

/* semânticos — modo escuro (defeito) */
--bg:var(--navy-900);--bg-sunken:var(--navy-950);--surface:var(--navy-850);--surface-2:var(--navy-800);
--fg:var(--branco);--fg-2:var(--cinza-400);--fg-3:var(--cinza-500);
--line:var(--navy-500);--line-soft:#153646;
--primary:var(--teal-400);--primary-fg:var(--navy-900);
--accent:var(--sinal-500);--accent-hover:var(--sinal-400);--accent-fg:var(--navy-900);
--pixel:var(--teal-400);
--focus:var(--teal-300);
}
[data-theme="claro"]{
--bg:var(--branco);--bg-sunken:var(--cinza-100);--surface:var(--cinza-100);--surface-2:var(--cinza-200);
--fg:var(--navy-700);--fg-2:#35515f;--fg-3:var(--cinza-600);
--line:var(--cinza-300);--line-soft:var(--cinza-200);
--primary:var(--teal-700);--primary-fg:var(--branco);
--accent:var(--sinal-500);--accent-hover:var(--sinal-600);--accent-fg:var(--navy-900);
--pixel:var(--teal-logo);
--focus:var(--teal-700);
}
/* Jotactics — tipografia. Geist (tudo) · Geist Mono (labels, dados) · Doto (acento dot-matrix: capas, números grandes). */
:root{
--font-sans:"Geist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
--font-mono:"Geist Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
--font-pixel:"Doto","Geist Mono",ui-monospace,monospace;
/* escala (mobile first; display usa clamp) */
--fs-display:clamp(56px,7vw,104px); /* @kind font */
--fs-h1:clamp(44px,5.4vw,76px); /* @kind font */
--fs-h2:clamp(34px,3.8vw,52px); /* @kind font */
--fs-h3:24px; /* @kind font */
--fs-lead:20px; /* @kind font */
--fs-body:17px; /* @kind font */
--fs-small:15px; /* @kind font */
--fs-label:12px; /* @kind font */
--fw-regular:400; /* @kind font */
--fw-medium:500; /* @kind font */
--fw-semibold:600; /* @kind font */
--fw-bold:700; /* @kind font */
--lh-display:.96; /* @kind font */
--lh-heading:1.02; /* @kind font */
--lh-body:1.5; /* @kind font */
--ls-display:-.045em; /* @kind font */
--ls-heading:-.035em; /* @kind font */
--ls-body:-.005em; /* @kind font */
--ls-label:.12em; /* @kind font */
/* semânticos */
--text-display:var(--fw-semibold) var(--fs-display)/var(--lh-display) var(--font-sans);
--text-h1:var(--fw-semibold) var(--fs-h1)/.98 var(--font-sans);
--text-h2:var(--fw-semibold) var(--fs-h2)/var(--lh-heading) var(--font-sans);
--text-h3:var(--fw-semibold) var(--fs-h3)/1.2 var(--font-sans);
--text-body:var(--fw-regular) var(--fs-body)/var(--lh-body) var(--font-sans);
--text-lead:var(--fw-regular) var(--fs-lead)/var(--lh-body) var(--font-sans);
--text-label:var(--fw-medium) var(--fs-label)/1 var(--font-mono);
}
/* Jotactics — espaço, grelha de pixel, bordas, movimento.
   O pingo quadrado do "j" é a unidade: --px. Blocos são múltiplos dele. */
:root{
--px:8px;
--block-s:24px;--block-m:40px;--block-l:54px;--block-xl:120px;
--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:64px;--sp-9:96px;--sp-10:144px;
--margin-page:clamp(20px,4.4vw,64px);--gutter:24px;--max-w:1312px;
--radius-0:0;--radius-avatar:50%;
--border:1px solid var(--line);--border-strong:1px solid var(--fg);
--shadow-none:none;
--ease-out:cubic-bezier(.2,.7,.1,1); /* @kind other */
--ease-step:steps(6,end); /* @kind other */
--dur-1:120ms; /* @kind other */
--dur-2:240ms; /* @kind other */
--dur-3:600ms; /* @kind other */
}
/* Jotactics — reset mínimo + defaults de marca */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:var(--text-body);letter-spacing:var(--ls-body);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration-color:var(--primary);text-underline-offset:3px}
a:hover{color:var(--primary)}
::selection{background:var(--teal-400);color:var(--navy-900)}
:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
