/* =========================================================================
   theme.css — PrecisionNeXT design tokens
   =========================================================================
   AGENTS: the single source of truth for colour, type, spacing, radius and
   shadow. Change a value here and it propagates everywhere. Never hard-code
   a hex value in any other CSS file or in site.json.

   Approved brand sheet
     Primary      #0B1F3A   deep navy        --pn-primary  (short: --navy)
     Accent       #2F7F7F   teal             --pn-accent   (short: --g)
     Background   #F7F9FB   light silver     --pn-bg
     Text         #1F2933                    --pn-text
     Sec. text    #5F6B7A                    --pn-text-2
   Supporting tones (blue --t, violet --i) are for variety across card groups
   and in the cellular field — never body copy, never a button fill.
   ========================================================================= */

:root{
  --pn-primary:#0B1F3A; --pn-accent:#2F7F7F; --pn-bg:#F7F9FB; --pn-text:#1F2933; --pn-text-2:#5F6B7A;

  --navy:#0B1F3A;
  --g:#2F7F7F;  --g-hi:#3E9797; --g-lo:#1D5757; --g-cr:#8FC2C2; --g-pale:#EAF4F4;
  --t:#2B5E8C;  --t-hi:#3D78AB; --t-lo:#12304F; --t-pale:#E8EFF6;
  --i:#5E5A9E;  --i-hi:#7E78C0; --i-lo:#433F7C; --i-pale:#EEEDF7;
  --ink:#0B1F3A; --ink2:#3B4755;

  --p-900:#060F1F; --p-800:#0B1F3A; --p-700:#12304F; --p-600:#1B4268;
  --p-500:#2A5B86; --p-300:#7C93AC; --p-100:#DCE3EC; --p-050:#EEF2F6;
  --a-800:#1D5757; --a-700:#256767; --a-600:#2F7F7F; --a-500:#3E9797;
  --a-300:#8FC2C2; --a-100:#DCEBEB; --a-050:#EFF6F6;

  --s-600:#5F6B7A; --s-400:#93A1B0; --s-200:#D6DEE6;
  --white:#FFFFFF; --pearl:#FBFCFD; --panel:#F1F4F7;
  --line:#E2E8EE;  --line-2:#EDF1F5;
  --warn:#9A6B15;  --bad:#9E463C;  --good:#2F7F7F;

  --grad-primary:linear-gradient(140deg,#1B4268 0%,#0B1F3A 55%,#12304F 100%);
  --grad-deep:linear-gradient(150deg,#081629 0%,#0B1F3A 45%,#14365A 100%);
  --grad-accent:linear-gradient(140deg,#3E9797 0%,#2F7F7F 48%,#1D5757 100%);
  --grad-mix:linear-gradient(140deg,#2F7F7F 0%,#1B4268 58%,#0B1F3A 100%);
  --grad-wash:linear-gradient(140deg,#EEF2F6,#E4EDED 55%,#F7F9FB);
  --grad-text:linear-gradient(100deg,#2F7F7F 0%,#2B5E8C 52%,#5E5A9E 100%);
  --g-metal:linear-gradient(140deg,#3E9797,#2F7F7F 44%,#1D5757 78%,#2A7373);
  --t-metal:linear-gradient(140deg,#3D78AB,#2B5E8C 42%,#12304F 78%,#2A5B86);
  --i-metal:linear-gradient(140deg,#7E78C0,#5E5A9E 44%,#433F7C 78%,#6A64AE);
  --navy-metal:var(--grad-primary);

  /* the mark (PN.logo in core.js; mirrored in assets/logo.svg) */
  --mark-hex:#2F7F7F; --mark-ring:#2F7F7F; --mark-b1:#D9DEE3; --mark-b2:#5F6B7A; --mark-b3:#1F2933;
  --mark-ring-sig:#0B1F3A; --mark-b1-sig:#A5DDA0; --mark-b2-sig:#52B356; --mark-b3-sig:#2F7F7F;

  --hex:polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
  --r-sm:8px; --r:12px; --r-lg:18px; --r-xl:24px;

  --sh-1:0 1px 2px rgba(11,31,58,.05), 0 4px 14px rgba(11,31,58,.05);
  --sh-2:0 12px 32px rgba(11,31,58,.09);
  --sh-3:0 26px 70px rgba(11,31,58,.15);
  --sh-inset:inset 0 1px 0 rgba(255,255,255,.22), inset 0 -1px 0 rgba(0,0,0,.12);

  --max:1240px; --gutter:34px; --nav:76px; --sec-y:96px;

  --font:"Inter","Segoe UI",-apple-system,BlinkMacSystemFont,Roboto,Helvetica,Arial,sans-serif;
  --fs-display:clamp(36px,5.6vw,84px);
  --fs-h1:clamp(32px,4.4vw,60px);
  --fs-h2:clamp(26px,3.2vw,42px);
  --fs-h3:clamp(19px,2.1vw,25px);
  --fs-lede:clamp(16px,1.35vw,19px);
  --fs-body:16px; --fs-sm:13.5px; --fs-xs:11.5px;

  --ease-out:cubic-bezier(.2,.8,.2,1);
  --ease-io:cubic-bezier(.4,0,.2,1);
  --organic-bg:#F7F9FB;
}

@media(max-width:900px){ :root{ --gutter:20px; --sec-y:60px; --nav:66px; } }
@media(max-width:480px){ :root{ --gutter:16px; --sec-y:48px; } }
