/* Mitria Labs — global CSS entry point. Imports only. */
/* Fonts — SUBSTITUTIONS. The Mitria Labs manual (Cap. 5) states the institutional
   typeface is not identified. These are the closest widely-available matches, served from
   Google Fonts. Replace with licensed binaries + local @font-face when the family is chosen. */
/* vietnamese */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("/fonts/b0c6c89a.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("/fonts/a7423643.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: 'Archivo';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("/fonts/df8277f6.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;
}
/* vietnamese */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("/fonts/b0c6c89a.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("/fonts/a7423643.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: 'Archivo';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("/fonts/df8277f6.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;
}
/* vietnamese */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("/fonts/b0c6c89a.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("/fonts/a7423643.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: 'Archivo';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("/fonts/df8277f6.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;
}
/* vietnamese */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("/fonts/b0c6c89a.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("/fonts/a7423643.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: 'Archivo';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("/fonts/df8277f6.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/138ef408.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/a96f3123.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/65b24a13.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/24b24788.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/a2527964.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: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/6afa05e0.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/138ef408.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/a96f3123.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/65b24a13.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/24b24788.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/a2527964.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: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/6afa05e0.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/138ef408.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/a96f3123.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/65b24a13.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/24b24788.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/a2527964.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: 'JetBrains Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/6afa05e0.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: 'Sora';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/fonts/694fa1f5.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: 'Sora';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/fonts/6019c902.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: 'Sora';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/694fa1f5.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: 'Sora';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/6019c902.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: 'Sora';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/694fa1f5.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: 'Sora';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/6019c902.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: 'Sora';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/fonts/694fa1f5.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: 'Sora';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/fonts/6019c902.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: 'Sora';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/694fa1f5.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: 'Sora';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/6019c902.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;
}


:root{
  --font-display:"Sora","Segoe UI",system-ui,sans-serif;
  --font-body:"Archivo","Segoe UI",system-ui,sans-serif;
  --font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
}

/* Cap. 2 + Cap. 3 — Sistema Cromático */
:root{
  /* Paleta principal (monocromática de alta intensidade) */
  --cyan-light:#87F5F6;
  --cyan:#07ECEF;
  --cyan-dark:#07B5BC;

  /* Neutros institucionais */
  --black:#000000;
  --white:#FFFFFF;
  --ink:#111111;              /* texto sobre fundo claro */

  /* Escala de cinzas oficial (100 = mais claro, 900 = mais escuro) */
  --gray-100:#F2F4F5;
  --gray-300:#B4BABB;
  --gray-500:#7A8283;
  --gray-700:#3A4142;
  --gray-900:#1A1E1F;

  /* Passos intermediários derivados, para UI densa */
  --gray-200:#D9DDDE;
  --gray-400:#98A0A1;
  --gray-600:#565E5F;
  --gray-800:#252A2B;
  --gray-950:#0E1112;

  /* Cores funcionais (Cap. 3) */
  --success:#1FD67A;
  --warning:#FFB020;
  --error:#FF4D4F;
  --info:var(--cyan);

  /* Gradiente oficial (Cap. 4) — 180°, Light → Cyan → Dark.
     Permitido apenas em símbolo, animação institucional e splash screen.
     Proibido em texto, botões, backgrounds e dashboards. */
  --gradient-brand:linear-gradient(180deg,var(--cyan-light) 0%,var(--cyan) 50%,var(--cyan-dark) 100%);

  /* ---- Aliases semânticos: superfícies (tema escuro, padrão) ---- */
  --surface-page:var(--black);
  --surface-raised:#0A0C0D;
  --surface-card:#101314;
  --surface-inset:#070909;
  --surface-hover:#161A1B;
  --surface-accent-soft:rgba(7,236,239,0.10);

  /* ---- Aliases semânticos: texto ---- */
  --text-strong:var(--white);
  --text-body:var(--gray-300);
  --text-muted:var(--gray-500);
  --text-disabled:var(--gray-700);
  --text-accent:var(--cyan);
  --text-on-accent:var(--black);
  --text-on-light:var(--ink);

  /* ---- Aliases semânticos: traços ---- */
  --border-subtle:#1B2021;
  --border:#252B2C;
  --border-strong:#3A4142;
  --border-accent:var(--cyan-dark);
  --focus-ring:rgba(7,236,239,0.55);
}

/* Tema claro — Aplicação Clara do logo, impressos, e-mail. */
[data-theme="light"]{
  --surface-page:var(--white);
  --surface-raised:#FAFBFB;
  --surface-card:var(--white);
  --surface-inset:var(--gray-100);
  --surface-hover:var(--gray-100);
  --text-strong:var(--ink);
  --text-body:var(--gray-700);
  --text-muted:var(--gray-500);
  --text-disabled:var(--gray-300);
  --text-accent:var(--cyan-dark);   /* Cap. 10: nunca cyan puro sobre branco em texto funcional */
  --text-on-accent:var(--black);
  --border-subtle:var(--gray-200);
  --border:var(--gray-300);
  --border-strong:var(--gray-500);
}

/* Cap. 5 — Sistema Tipográfico. Escala fixa do manual. */
:root{
  --text-h1:48px;   --lh-h1:1.08; /* @kind font */  --fw-h1:700; /* @kind font */
  --text-h2:36px;   --lh-h2:1.14; /* @kind font */  --fw-h2:600; /* @kind font */
  --text-h3:28px;   --lh-h3:1.22; /* @kind font */  --fw-h3:500; /* @kind font */
  --text-body-size:18px; --lh-body:1.6; /* @kind font */  --fw-body:400; /* @kind font */
  --text-caption:14px;   --lh-caption:1.45; /* @kind font */ --fw-caption:400; /* @kind font */
  --text-button:16px;    --lh-button:1; /* @kind font */    --fw-button:600; /* @kind font */

  /* Passos auxiliares para UI densa (dashboards, tabelas) */
  --text-sm:15px;
  --text-xs:12px;
  --text-display:64px;

  --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 */

  /* Tracking — títulos fechados, rótulos abertos (referência: "L A B S" do logotipo) */
  --tracking-display:-0.02em; /* @kind font */
  --tracking-tight:-0.01em; /* @kind font */
  --tracking-normal:0; /* @kind font */
  --tracking-label:0.14em; /* @kind font */
  --tracking-logo:0.42em; /* @kind font */
}

/* Cap. 7 — Grid de 8 px */
:root{
  --space-0:0px;
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:24px;
  --space-6:32px;
  --space-7:40px;
  --space-8:48px;
  --space-9:64px;
  --space-10:96px;
  --space-11:128px;

  /* Margens oficiais de layout */
  --margin-compact:32px;
  --margin-default:64px;
  --margin-generous:96px;

  --grid-unit:8px;
  --container-max:1280px;
  --container-narrow:880px;

  /* Área de proteção do logotipo = 1x a altura do símbolo */
  --logo-clearspace:1; /* @kind other */
}

/* Geometria simples, cantos levemente arredondados (Cap. 14) */
:root{
  --radius-xs:2px;
  --radius-sm:4px;
  --radius-md:8px;
  --radius-lg:12px;
  --radius-xl:20px;
  --radius-pill:999px;

  --border-width:1px;
  --border-width-strong:2px;
  --icon-stroke:2px; /* @kind spacing */
  --icon-grid:24px; /* @kind spacing */
}

/* Sombras discretas. O manual proíbe excesso de sombras — profundidade vem
   da hierarquia de superfície e do traço, não do blur. */
:root{
  --shadow-none:none;
  --shadow-sm:0 1px 2px rgba(0,0,0,0.6);
  --shadow-md:0 8px 24px rgba(0,0,0,0.55);
  --shadow-lg:0 24px 64px rgba(0,0,0,0.65);

  /* Glow institucional — único efeito luminoso permitido, sempre sutil */
  --glow-soft:0 0 24px rgba(7,236,239,0.18);
  --glow-strong:0 0 32px rgba(7,236,239,0.32);
  --glow-inset:inset 0 0 0 1px rgba(7,236,239,0.22);
  --ring-focus:0 0 0 2px var(--surface-page),0 0 0 4px var(--focus-ring);
}

/* Cap. 12 — Motion. Fade, Scale, Glow. Máximo 300 ms. */
:root{
  --duration-instant:80ms; /* @kind other */
  --duration-fast:120ms; /* @kind other */
  --duration-base:200ms; /* @kind other */
  --duration-slow:300ms; /* @kind other */   /* teto absoluto */

  --ease-standard:cubic-bezier(0.2,0,0,1); /* @kind other */
  --ease-out:cubic-bezier(0.16,1,0.3,1); /* @kind other */
  --ease-in:cubic-bezier(0.4,0,1,1); /* @kind other */

  --transition-color:color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard); /* @kind other */
  --transition-glow:box-shadow var(--duration-base) var(--ease-standard); /* @kind other */
}
@media (prefers-reduced-motion:reduce){
  :root{
    --duration-instant:0ms; /* @kind other */
    --duration-fast:0ms; /* @kind other */
    --duration-base:0ms; /* @kind other */
    --duration-slow:0ms; /* @kind other */
  }
}

/* Reset mínimo + defaults institucionais. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--surface-page);color:var(--text-body);font-family:var(--font-body);font-size:var(--text-body-size);line-height:var(--lh-body);font-weight:var(--fw-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4{font-family:var(--font-display);color:var(--text-strong);margin:0;text-wrap:balance}
h1{font-size:var(--text-h1);line-height:var(--lh-h1);font-weight:var(--fw-h1);letter-spacing:var(--tracking-display)}
h2{font-size:var(--text-h2);line-height:var(--lh-h2);font-weight:var(--fw-h2);letter-spacing:var(--tracking-tight)}
h3{font-size:var(--text-h3);line-height:var(--lh-h3);font-weight:var(--fw-h3)}
p{margin:0;text-wrap:pretty}
a{color:var(--text-accent);text-decoration:none;transition:var(--transition-color)}
a:hover{color:var(--cyan-light)}
code,kbd,samp,pre{font-family:var(--font-mono);font-size:0.92em}
:focus-visible{outline:none;box-shadow:var(--ring-focus)}
::selection{background:var(--cyan);color:var(--black)}

/* Motion keyframes usadas pelos componentes (Cap. 12) */
@keyframes mtr-spin{to{transform:rotate(360deg)}}
@keyframes mtr-fade-in{from{opacity:0}to{opacity:1}}
@keyframes mtr-scale-in{from{opacity:0;transform:scale(0.97)}to{opacity:1;transform:scale(1)}}
@keyframes mtr-pulse{0%,100%{opacity:1}50%{opacity:0.35}}


body{margin:0}
/* ============================================================================
   RESPONSIVIDADE — adicionado no build, nao faz parte do export do Claude Design.

   O v3 foi desenhado como tela fixa de 1280 px e aplica layout por style inline.
   Estilo inline tem precedencia sobre folha de estilo, por isso as regras abaixo
   usam !important. Todas vivem dentro de media queries de largura maxima: acima
   de 1024 px nada aqui e aplicado e o desktop continua identico ao design.

   Onde da, a correcao e feita redefinindo o token (ex.: --text-display) em vez
   de sobrescrever a regra, porque o style inline le a variavel e acompanha.
   ============================================================================ */

@media (max-width: 1024px) {
  html, body { overflow-x: hidden; }
  img, svg { max-width: 100%; }

  /* ---- Header: logo + CTA na primeira linha, navegacao na segunda ---- */
  .mtr-header-inner {
    width: auto !important;
    height: auto !important;
    padding: 10px var(--space-5) 8px !important;
    flex-wrap: wrap !important;
    gap: var(--space-4) !important;
  }
  /* No desktop o logo tem height 145 dentro de um header de 90 com overflow
     hidden, ou seja, e recortado. object-fit: cover numa caixa de mesma
     proporcao (2.42:1) reproduz exatamente o mesmo recorte em qualquer escala. */
  .mtr-logo {
    height: 64px !important;
    width: 155px !important;
    object-fit: cover !important;
    object-position: center !important;
  }
  .mtr-nav {
    order: 3 !important;
    width: 100% !important;
    margin-left: 0 !important;
    justify-content: flex-start !important;
    gap: var(--space-5) !important;
    overflow-x: auto !important;
    padding-bottom: 6px !important;
    scrollbar-width: none;
  }
  .mtr-nav::-webkit-scrollbar { display: none; }
  .mtr-nav a { white-space: nowrap !important; }
  .mtr-header-actions { margin-left: auto !important; }

  /* ---- Hero: coluna unica; a arte 3D vira fundo com veu escuro ---- */
  .mtr-hero { position: relative !important; background-position: 68% center !important; }
  .mtr-hero::before {
    content: ''; position: absolute; inset: 0; pointer-events: none;
    background: linear-gradient(180deg, rgba(0,0,0,.70) 0%, rgba(0,0,0,.84) 55%, rgba(0,0,0,.94) 100%);
  }
  .mtr-hero-inner {
    width: auto !important;
    height: auto !important;
    grid-template-columns: 1fr !important;
    padding: 72px var(--space-5) 64px !important;
    gap: var(--space-6) !important;
    z-index: 1;
  }
  .mtr-glow { display: none !important; }

  /* ---- Secoes ---- */
  .mtr-section-inner { padding: 72px var(--space-5) !important; }
  .mtr-section-head { flex-direction: column !important; align-items: flex-start !important; gap: var(--space-5) !important; }
  .mtr-grid-4, .mtr-grid-3 { grid-template-columns: repeat(2, 1fr) !important; }

  /* ---- Rodape ---- */
  .mtr-footer-grid { grid-template-columns: 1fr 1fr !important; padding: 56px var(--space-5) 28px !important; gap: var(--space-7) !important; }
  .mtr-footer-bottom { padding: 20px var(--space-5) !important; }
}

@media (max-width: 640px) {
  /* Escala tipografica do celular. Redefinir o token basta: o style inline
     das secoes le var(--text-display) e acompanha sozinho. */
  :root {
    --text-display: 34px;
    --text-h1: 30px;
    --text-h2: 26px;
    --text-h3: 21px;
    --text-body-size: 16px;
  }

  .mtr-header-inner { padding: 8px var(--space-4) 6px !important; }
  .mtr-logo { height: 52px !important; width: 126px !important; }
  .mtr-header-actions { gap: var(--space-2) !important; }

  .mtr-hero-inner { padding: 56px var(--space-4) 52px !important; }
  .mtr-hero-cta { flex-direction: column !important; align-items: stretch !important; gap: var(--space-3) !important; }

  .mtr-section-inner { padding: 56px var(--space-4) !important; }
  .mtr-grid-4, .mtr-grid-3 { grid-template-columns: 1fr !important; }

  .mtr-form-grid { grid-template-columns: 1fr !important; }
  .mtr-form-actions { flex-direction: column !important; align-items: stretch !important; gap: var(--space-4) !important; }

  .mtr-footer-grid { grid-template-columns: 1fr !important; padding: 44px var(--space-4) 24px !important; gap: var(--space-6) !important; }
  .mtr-footer-bottom { flex-direction: column !important; gap: 8px !important; padding: 18px var(--space-4) !important; }
}

/* Alvos de toque: o manual pede 44px minimos em ponteiro grosso. */
@media (max-width: 1024px) and (pointer: coarse) {
  .mtr-nav a { padding: 8px 0 !important; }
}
