/* ==========================================================================
   PROTTEKT — Design Tokens
   Paleta oficial da marca: navy #0D1B3D · laranja #FF6A00 · cinzas #6B7280 / #D9DEE5
   Tagline: "Proteção que move resultados"
   Valores: confiança · agilidade · autoridade · profissionalismo
   Tipografia: Instrument Sans (UI) + IBM Plex Mono (dados técnicos)
   ========================================================================== */
/* Fontes servidas pelo próprio site (sem Google Fonts: performance e LGPD) */
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/instrument-sans-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/instrument-sans-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/instrument-sans-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/instrument-sans-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/ibm-plex-mono-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/ibm-plex-mono-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/ibm-plex-mono-latin-600-normal.woff2) format('woff2')}


:root{
  /* ---- Paleta oficial ---- */
  --pk-navy:#0D1B3D;          /* confiança — base, títulos */
  --pk-orange:#FF6A00;        /* agilidade — ação, acento */
  --pk-gray:#6B7280;          /* técnico — texto secundário */
  --pk-gray-light:#D9DEE5;    /* neutro — bordas, divisores */

  /* ---- Derivados ---- */
  --pk-navy-soft:#16264D; --pk-navy-light:#24365F; --pk-navy-deep:#08122A;
  --pk-orange-dark:#B84900; --pk-orange-soft:#FFF1E6; --pk-orange-line:#FFD2AF;
  --pk-green:#0B7038; --pk-green-dark:#095C2E;

  /* ---- Texto ---- */
  --pk-ink:#0D1B3D; --pk-text:#28303D; --pk-muted:#6B7280; --pk-faint:#6A7484;
  --pk-on-navy:#E9EDF4; --pk-on-navy-2:#A2AFC6;

  /* ---- Superfícies ---- */
  --pk-page:#F2F4F7; --pk-surface:#fff; --pk-surface-2:#F7F8FA; --pk-surface-3:#EDF0F4;
  --pk-line:#D9DEE5; --pk-line-soft:#E8EBF0;

  /* ---- Estados ---- */
  --pk-ok:#0B7038; --pk-ok-bg:#E6F4EC;
  --pk-warn:#B26A00; --pk-warn-bg:#FDF3E2;
  --pk-danger:#C02616; --pk-danger-bg:#FCEAE8;

  /* ---- Níveis de ensaio técnico (somente tabelas normativas) ---- */
  --pk-lvl-hi:#0F7A5A; --pk-lvl-hi-bg:#E4F3EE;
  --pk-lvl-mid:#B26A00; --pk-lvl-mid-bg:#FDF3E2;
  --pk-lvl-lo:#2A5AA8; --pk-lvl-lo-bg:#E8EEFB;

  /* ---- Tipografia ---- */
  --pk-sans:'Instrument Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --pk-mono:'IBM Plex Mono',ui-monospace,Menlo,monospace;
  --pk-fs-display:clamp(30px,4.2vw,46px);
  --pk-fs-h1:clamp(23px,2.9vw,34px);
  --pk-fs-h2:clamp(20px,2.2vw,27px);
  --pk-fs-h3:17px;
  --pk-fs-body:15px; --pk-fs-sm:13.5px; --pk-fs-xs:12px; --pk-fs-2xs:11px;
  --pk-lh-tight:1.13; --pk-lh:1.55;

  /* ---- Espaço (base 4) ---- */
  --pk-1:4px; --pk-2:8px; --pk-3:12px; --pk-4:16px; --pk-5:20px; --pk-6:24px;
  --pk-8:32px; --pk-10:40px; --pk-12:48px; --pk-16:64px; --pk-20:80px;

  /* ---- Forma ---- */
  --pk-r-xs:3px; --pk-r:5px; --pk-r-lg:8px; --pk-r-pill:999px;
  --pk-sh-1:0 1px 2px rgba(13,27,61,.06);
  --pk-sh-2:0 4px 14px rgba(13,27,61,.08);
  --pk-sh-3:0 14px 35px rgba(13,27,61,.13);
  --pk-focus:0 0 0 3px rgba(255,106,0,.32);

  --pk-container:1320px;
  --pk-header-h:64px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:var(--pk-sans);font-size:var(--pk-fs-body);line-height:var(--pk-lh);color:var(--pk-text);background:var(--pk-page);-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
button{font-family:inherit}
a{color:var(--pk-navy);text-decoration:none}
a:hover{color:var(--pk-orange-dark)}
h1,h2,h3,h4{color:var(--pk-navy);line-height:var(--pk-lh-tight);margin:0;letter-spacing:-.022em;text-wrap:balance}
p{margin:0}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:none;box-shadow:var(--pk-focus);border-radius:var(--pk-r-xs)}
.pk-scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.pk-scroll-x::-webkit-scrollbar{height:7px}
.pk-scroll-x::-webkit-scrollbar-thumb{background:var(--pk-line);border-radius:var(--pk-r-pill)}
.pk-nobar{scrollbar-width:none}
.pk-nobar::-webkit-scrollbar{display:none}
@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}
