@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,400&family=JetBrains+Mono:wght@400;500&display=swap');
@font-face{font-family:'Big Noodle Titling';src:url('../fonts/big_noodle_titling.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Big Noodle Titling';src:url('../fonts/big_noodle_titling_oblique.ttf') format('truetype');font-weight:400;font-style:italic;font-display:swap}

:root{
/* Brand — from "Apresentação - Gene Digital" palette slide */
--gene-blue:#4160FB;
--gene-blue-logo:#2961FF; /* exact fill in LOGO PNGs */
--gene-ink:#292929;
--gene-paper:#F2F2F2;
/* Blue scale */
--blue-50:#EEF1FF;--blue-100:#DCE2FF;--blue-200:#B6C3FE;--blue-300:#8A9FFD;--blue-400:#6680FC;--blue-500:#4160FB;--blue-600:#2F4BE0;--blue-700:#2439B5;--blue-800:#1C2C85;--blue-900:#141F5C;
/* Neutral scale (warm-neutral greys anchored on #292929 / #F2F2F2) */
--neutral-0:#FFFFFF;--neutral-50:#F7F7F7;--neutral-100:#F2F2F2;--neutral-200:#E4E4E4;--neutral-300:#CFCFCF;--neutral-400:#A3A3A3;--neutral-500:#767676;--neutral-600:#575757;--neutral-700:#3D3D3D;--neutral-800:#292929;--neutral-850:#212121;--neutral-900:#1A1A1A;--neutral-950:#121212;
/* Semantic */
--green-500:#1FB46A;--green-50:#E6F7EE;--amber-500:#F5A524;--amber-50:#FEF4E1;--red-500:#E5484D;--red-50:#FDECEC;--cyan-500:#17A9D6;--cyan-50:#E3F5FB;

/* Semantic aliases — light */
--bg-page:var(--neutral-100);
--surface-card:var(--neutral-0);
--surface-sunken:var(--neutral-50);
--surface-inverse:var(--neutral-800);
--fg-1:var(--neutral-800);
--fg-2:var(--neutral-600);
--fg-3:var(--neutral-500);
--fg-inverse:var(--neutral-100);
--fg-on-brand:#FFFFFF;
--border-1:var(--neutral-200);
--border-2:var(--neutral-300);
--accent:var(--gene-blue);
--accent-hover:var(--blue-600);
--accent-press:var(--blue-700);
--accent-soft:var(--blue-50);
--focus-ring:rgba(65,96,251,.35);
--success:var(--green-500);--success-soft:var(--green-50);
--warning:var(--amber-500);--warning-soft:var(--amber-50);
--danger:var(--red-500);--danger-soft:var(--red-50);
--info:var(--cyan-500);--info-soft:var(--cyan-50);

/* Dark surfaces (brand presentations, CRM sidebar) */
--dark-bg:var(--neutral-900);
--dark-surface:var(--neutral-850);
--dark-surface-2:var(--neutral-800);
--dark-border:#333333;
--dark-fg-1:var(--neutral-100);
--dark-fg-2:#A8A8A8;
}

:root{
--font-display:'Big Noodle Titling','Bebas Neue',Impact,sans-serif;
--font-sans:'Montserrat',system-ui,sans-serif;
--font-mono:'JetBrains Mono',ui-monospace,monospace;
--fw-light:300;/* @kind font */--fw-regular:400;/* @kind font */--fw-medium:500;/* @kind font */--fw-semibold:600;/* @kind font */--fw-bold:700;/* @kind font */--fw-extrabold:800;/* @kind font */
/* Display (Big Noodle — always uppercase, tight) */
--fs-display-xl:96px;--fs-display-l:72px;--fs-display-m:56px;--fs-display-s:40px;
--lh-display:0.95;/* @kind font */--ls-display:0.01em;/* @kind font */
/* Headings (Montserrat) */
--fs-h1:36px;--fs-h2:28px;--fs-h3:22px;--fs-h4:18px;
--lh-heading:1.2;/* @kind font */--ls-heading:-0.01em;/* @kind font */
/* Body */
--fs-body-l:18px;--fs-body:15px;--fs-body-s:13px;--fs-caption:12px;--fs-overline:11px;
--lh-body:1.55;/* @kind font */--lh-tight:1.3;/* @kind font */
--ls-overline:0.24em;/* @kind font */ /* echoes spaced "D I G I T A L" */
/* Semantic */
--text-display:var(--fw-regular) var(--fs-display-l)/var(--lh-display) var(--font-display);
--text-h1:var(--fw-bold) var(--fs-h1)/var(--lh-heading) var(--font-sans);
--text-h2:var(--fw-bold) var(--fs-h2)/var(--lh-heading) var(--font-sans);
--text-h3:var(--fw-semibold) var(--fs-h3)/var(--lh-heading) var(--font-sans);
--text-body:var(--fw-regular) var(--fs-body)/var(--lh-body) var(--font-sans);
--text-label:var(--fw-semibold) var(--fs-body-s)/var(--lh-tight) var(--font-sans);
}

:root{
--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;
--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-pill:999px;
--border-w:1px;/* @kind other */
--shadow-1:0 1px 2px rgba(18,18,18,.06),0 1px 1px rgba(18,18,18,.04);
--shadow-2:0 4px 12px rgba(18,18,18,.08),0 1px 3px rgba(18,18,18,.06);
--shadow-3:0 16px 40px rgba(18,18,18,.14),0 4px 10px rgba(18,18,18,.08);
--shadow-glow:0 8px 24px rgba(65,96,251,.35);
--ease-out:cubic-bezier(.2,.8,.2,1);/* @kind other */
--ease-in-out:cubic-bezier(.65,0,.35,1);/* @kind other */
--dur-fast:120ms;/* @kind other */--dur-base:200ms;/* @kind other */--dur-slow:360ms;/* @kind other */
--control-h-sm:32px;/* @kind spacing */--control-h-md:40px;/* @kind spacing */--control-h-lg:48px;/* @kind spacing */
--sidebar-w:248px;/* @kind spacing */--topbar-h:64px;/* @kind spacing */
}

*,*::before,*::after{box-sizing:border-box}
body{margin:0;font:var(--text-body);color:var(--fg-1);background:var(--bg-page);-webkit-font-smoothing:antialiased}
a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover);text-decoration:underline}
.gene-display{font-family:var(--font-display);font-weight:400;text-transform:uppercase;line-height:var(--lh-display);letter-spacing:var(--ls-display)}
.gene-overline{font-family:var(--font-sans);font-size:var(--fs-overline);font-weight:var(--fw-medium);letter-spacing:var(--ls-overline);text-transform:uppercase}

