/* ==========================================================================
   PingCastle website - global stylesheet (shared by every page)
   Sections: 1. Design tokens + fonts   2. Page base + components
             3. Header   4. Footer   5. Interactive components
   ========================================================================== */

/* ---------- 1. Design tokens + fonts ---------- */
/* ============================================================
 * Netwrix 1Secure — Colors & Type
 * Source: Storybook design-tokens.ts (nwx-global + nwx-light/dark)
 * Hex values: REAL VALUES from Storybook (verified against source).
 * ============================================================ */

/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/inter-cyrillic-ext.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: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/inter-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/inter-greek-ext.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/inter-greek.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: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/inter-vietnamese.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: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/inter-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/inter-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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/inter-cyrillic-ext.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: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/inter-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/inter-greek-ext.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/inter-greek.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: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/inter-vietnamese.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: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/inter-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/inter-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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/inter-cyrillic-ext.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: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/inter-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/inter-greek-ext.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/inter-greek.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: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/inter-vietnamese.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: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/inter-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/inter-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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/inter-cyrillic-ext.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: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/inter-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/inter-greek-ext.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/inter-greek.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: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/inter-vietnamese.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: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/inter-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/inter-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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/jetbrains-mono-cyrillic-ext.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/jetbrains-mono-cyrillic.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/jetbrains-mono-greek.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/jetbrains-mono-vietnamese.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/jetbrains-mono-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-20C4, 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/jetbrains-mono-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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/jetbrains-mono-cyrillic-ext.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/jetbrains-mono-cyrillic.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/jetbrains-mono-greek.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/jetbrains-mono-vietnamese.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/jetbrains-mono-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-20C4, 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/jetbrains-mono-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;
}


:root {
  /* ---------- BRAND PALETTE ---------- */

  /* Nightwatch — primary neutral, purple-tinted dark */
  --nightwatch-50:  #F9F9FB;
  --nightwatch-100: #E2E1EA;
  --nightwatch-200: #C4C3D0;
  --nightwatch-300: #9E9DAC;
  --nightwatch-400: #7A788B;
  --nightwatch-500: #575569;   /* anchor */
  --nightwatch-600: #3A3652;
  --nightwatch-700: #242136;
  --nightwatch-800: #1A1536;
  --nightwatch-900: #1A172A;
  --nightwatch-500-08: rgba(87, 85, 105, 0.08);
  --nightwatch-500-20: rgba(87, 85, 105, 0.20);
  --nightwatch-900-10: rgba(26, 23, 42, 0.10);
  --nightwatch-900-50: rgba(26, 23, 42, 0.50);

  /* Vigilant Blue — primary action, deep violet-indigo */
  --vigilant-blue-50:  #FCFBFF;
  --vigilant-blue-100: #F4F1FF;
  --vigilant-blue-200: #EAE4FF;
  --vigilant-blue-300: #CBBEFF;
  --vigilant-blue-400: #A68FFF;
  --vigilant-blue-500: #8668FF;
  --vigilant-blue-600: #5851DB;   /* primary anchor */
  --vigilant-blue-700: #413AC0;
  --vigilant-blue-800: #2F2994;
  --vigilant-blue-900: #161259;
  --vigilant-blue-500-08: rgba(134, 104, 255, 0.08);
  --vigilant-blue-500-20: rgba(134, 104, 255, 0.20);
  --vigilant-blue-700-08: rgba(65, 58, 192, 0.08);

  /* Beacon Green — bright neon mint, brand-secondary accent */
  --beacon-green-50:  #F5FFF8;
  --beacon-green-100: #EDFFF3;
  --beacon-green-200: #DEFFE9;
  --beacon-green-300: #C6FFD9;
  --beacon-green-400: #A4FFC3;
  --beacon-green-500: #86FFAF;
  --beacon-green-600: #62FF97;
  --beacon-green-700: #41F27C;   /* ⭐ brand accent */
  --beacon-green-800: #25EE68;
  --beacon-green-900: #0DE354;

  /* Access White — warm, cream-tinted neutrals */
  --access-white-50:  #FFFFFF;
  --access-white-100: #FCFBFA;
  --access-white-200: #F6F6F6;
  --access-white-300: #F2F0ED;
  --access-white-400: #EAE8E4;
  --access-white-500: #D5D2CD;
  --access-white-600: #BDB9B5;
  --access-white-700: #64615F;
  --access-white-800: #32312F;
  --access-white-900: #292725;

  /* Code Red — used only on the 1Secure brand mark. Not a system color.
     Kept here as a brand-only token for traceability. */
  --mark-code-red-500: #D22730;
  --mark-code-red-600: #B71C24;

  /* AI affordances — documented exception to "no gradients on surfaces".
     Reserved for AI-action buttons ("Summarize", "Suggest fix"). */
  --gradient-ai: linear-gradient(90deg, #5851DB 26%, #C14589 100%);

  /* ---------- SEMANTIC ---------- */

  --semantic-red-50:  #FDF6F6;
  --semantic-red-100: #F8EEEE;
  --semantic-red-200: #F6C5C5;
  --semantic-red-300: #F9ACAC;
  --semantic-red-400: #FC8E8E;
  --semantic-red-500: #EF6C6C;
  --semantic-red-600: #ED4545;
  --semantic-red-700: #CD3333;   /* destructive */
  --semantic-red-800: #B82020;
  --semantic-red-900: #630B0B;
  --semantic-red-700-08: rgba(205, 51, 51, 0.08);
  --semantic-red-700-20: rgba(205, 51, 51, 0.20);

  --semantic-orange-50:  #FFFBF9;
  --semantic-orange-100: #FBF1EA;
  --semantic-orange-200: #FFD2B8;
  --semantic-orange-300: #FFBF94;
  --semantic-orange-400: #F29D69;
  --semantic-orange-500: #ED8645;
  --semantic-orange-600: #E2813C;
  --semantic-orange-700: #DE6E19;
  --semantic-orange-800: #AF4E03;
  --semantic-orange-900: #5A2700;

  --semantic-yellow-50:  #FFFDF9;
  --semantic-yellow-100: #FBF6EA;
  --semantic-yellow-200: #FFE8B8;
  --semantic-yellow-300: #FFDD94;
  --semantic-yellow-400: #F2C669;
  --semantic-yellow-500: #EDB845;
  --semantic-yellow-600: #EBB135;
  --semantic-yellow-700: #E5A621;
  --semantic-yellow-800: #D09310;
  --semantic-yellow-900: #9C6C06;

  --semantic-blue-50:  #FBFBFF;
  --semantic-blue-100: #F5F5F9;
  --semantic-blue-200: #ECEDF5;
  --semantic-blue-300: #DCE0EE;
  --semantic-blue-400: #C9D0E6;
  --semantic-blue-500: #AFB9D9;
  --semantic-blue-600: #8B9ACA;
  --semantic-blue-700: #5E75C5;
  --semantic-blue-800: #3650A9;
  --semantic-blue-900: #0F1C47;

  --semantic-green-50:  #F7FBF7;
  --semantic-green-100: #EFF7EF;
  --semantic-green-200: #CDEBCC;
  --semantic-green-300: #ABDBA9;
  --semantic-green-400: #85C982;
  --semantic-green-500: #82C17E;
  --semantic-green-600: #62B25E;
  --semantic-green-700: #448B41;
  --semantic-green-800: #31702E;
  --semantic-green-900: #153E13;

  /* ---------- CHART ---------- */
  --chart-datawave-blue-100: #E4F5F9;
  --chart-datawave-blue-300: #92D5E5;
  --chart-datawave-blue-700: #219EBC;
  --chart-aqua-mint-100: #D1FAF0;
  --chart-aqua-mint-300: #7DD8C2;
  --chart-aqua-mint-700: #3AA38A;
  --chart-flashpoint-orange-100: #FFE6D9;
  --chart-flashpoint-orange-300: #FFB388;
  --chart-flashpoint-orange-700: #F36A1D;
  --chart-code-pink-100: #FAE0EE;
  --chart-code-pink-300: #E49CC4;
  --chart-code-pink-700: #C14589;
  --chart-signal-yellow-100: #FFF5DE;
  --chart-signal-yellow-300: #F7DFA6;
  --chart-signal-yellow-700: #EAB63E;
  --chart-cobalt-drift-100: #E7E8FF;
  --chart-cobalt-drift-300: #999AEB;
  --chart-cobalt-drift-700: #484ABD;

  /* ============================================================
   * SEMANTIC TOKENS — light theme (nwx-light)
   * ============================================================ */

  /* Backgrounds */
  --bg-main: var(--access-white-200);
  --bg-surface: var(--access-white-50);
  --bg-neutral: var(--access-white-100);
  --bg-nav: #FCFAF9;                        /* shared sidebar + top bar fill (warm cream) */
  --bg-nav-active: var(--access-white-300); /* active nav item — warm beige #F2F0ED */
  --bg-nav-hover: #F0EFF9;                  /* hover nav item — cool violet tint */
  --bg-page: #F6F6F6;                       /* main content area behind cards */
  --border-navigation: #DEDDE7;             /* nav border (slight violet-grey) */
  --bg-primary: var(--vigilant-blue-600);
  --bg-secondary: var(--nightwatch-500);
  --bg-tertiary: var(--access-white-300);
  --bg-disabled: var(--nightwatch-100);
  --bg-destructive: var(--semantic-red-700);
  --bg-button-primary: var(--vigilant-blue-500-08);
  --bg-button-secondary: var(--nightwatch-500-08);
  --bg-button-destructive: var(--semantic-red-100);
  --bg-alert-positive: var(--beacon-green-50);
  --bg-alert-warning: var(--semantic-yellow-50);
  --bg-alert-destructive: var(--semantic-red-50);
  --bg-alert-info: var(--semantic-blue-50);
  --bg-backdrop: var(--nightwatch-500-20);
  --bg-brand-accent: var(--beacon-green-700);
  --bg-text-selection: var(--vigilant-blue-300);

  /* Text */
  --fg-primary: var(--nightwatch-900);
  --fg-secondary: var(--nightwatch-600);
  --fg-tertiary: var(--nightwatch-400);
  --fg-disabled: var(--nightwatch-300);
  --fg-on-primary: var(--access-white-50);
  --fg-brand-accent: var(--vigilant-blue-600);
  --fg-destructive: var(--semantic-red-700);
  --fg-positive: var(--semantic-green-700);
  --fg-info: var(--semantic-blue-800);
  --fg-warning: var(--semantic-yellow-900);

  /* Borders */
  --border-nav: var(--nightwatch-100);
  --border-subtle: var(--access-white-300);
  --border-standard: var(--access-white-400);
  --border-primary: var(--vigilant-blue-600);
  --border-secondary: var(--access-white-400);
  --border-destructive: var(--semantic-red-700);

  /* Action / interaction states */
  --action-surface-hover: var(--access-white-200);
  --action-surface-press: var(--access-white-100);
  --action-primary-hover: var(--vigilant-blue-500);
  --action-primary-press: var(--vigilant-blue-700);
  --action-destructive-hover: var(--semantic-red-600);
  --action-secondary-hover: var(--nightwatch-900);     /* input border on hover (text-primary) */
  --action-tertiary-hover: var(--vigilant-blue-50);    /* menu item hover bg */
  --action-tertiary-press: var(--vigilant-blue-100);   /* menu item selected bg */

  /* Disabled border (same as subtle for light theme) */
  --border-disabled: var(--access-white-300);

  /* Tag backgrounds (severity) */
  --tag-critical: var(--semantic-red-800);
  --tag-high: var(--semantic-orange-700);
  --tag-medium: var(--semantic-yellow-800);
  --tag-low: var(--semantic-blue-800);
  --tag-indefinite: var(--nightwatch-500);

  /* Elevation (light) — brand-tinted layered shadows */
  --elevation-0: none;
  --elevation-1: 0px 8px 8px rgba(0, 49, 102, 0.05), 0px 1px 8px rgba(0, 49, 102, 0.20);
  --elevation-2: 0px 16px 16px rgba(0, 49, 102, 0.05), 0px 2px 12px rgba(0, 49, 102, 0.20);
  --elevation-3: 0px 24px 24px rgba(0, 49, 102, 0.05), 0px 4px 20px rgba(0, 49, 102, 0.20);
  --elevation-4: 0px 32px 32px rgba(0, 49, 102, 0.05), 0px 8px 32px rgba(0, 49, 102, 0.20);

  /* Radii */
  --radius-xs: 2px;
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 8px;
  --radius-xl: 12px;
  --radius-full: 999px;

  /* Spacing scale */
  --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;

  /* ============================================================
   * TYPOGRAPHY
   * ============================================================ */

  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-display: 'Hubot Sans', 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-mono: 'JetBrains Mono', 'SF Mono', Menlo, Consolas, monospace;

  --text-xs: 11px;
  --text-sm: 12px;
  --text-base: 14px;
  --text-lg: 16px;
  --text-xl: 18px;
  --text-2xl: 20px;
  --text-3xl: 24px;
  --text-4xl: 28px;
  --text-5xl: 30px;   /* matches .nwx-h1 */
  --text-6xl: 40px;

  --lh-tight: 1.2;
  --lh-snug: 1.35;
  --lh-normal: 1.5;
  --lh-loose: 1.65;

  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
}

/* Dark theme */
.nwx-dark, [data-theme="dark"] {
  --bg-main: var(--nightwatch-700);
  --bg-surface: var(--nightwatch-900);
  --bg-neutral: var(--nightwatch-800);
  --bg-nav: var(--nightwatch-900);
  --bg-tertiary: var(--nightwatch-600);
  --bg-disabled: var(--nightwatch-600);
  --bg-primary: var(--vigilant-blue-400);

  --fg-primary: var(--access-white-50);
  --fg-secondary: var(--nightwatch-200);
  --fg-tertiary: var(--nightwatch-400);
  --fg-disabled: var(--nightwatch-400);

  --border-nav: var(--nightwatch-600);
  --border-subtle: var(--nightwatch-600);
  --border-standard: var(--nightwatch-400);

  --elevation-1: 0px 8px 8px rgba(0,0,0,0.10), 0px 1px 8px rgba(0,0,0,0.50);
  --elevation-2: 0px 16px 16px rgba(0,0,0,0.10), 0px 2px 12px rgba(0,0,0,0.50);
  --elevation-3: 0px 24px 24px rgba(0,0,0,0.10), 0px 4px 20px rgba(0,0,0,0.50);
  --elevation-4: 0px 32px 32px rgba(0,0,0,0.10), 0px 8px 32px rgba(0,0,0,0.50);
}

/* ============================================================
 * BASE TYPOGRAPHY
 * ============================================================ */

body, .nwx-body {
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: var(--lh-normal);
  color: var(--fg-primary);
  background: var(--bg-main);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.nwx-display, h1.nwx, .nwx-h1 {
  font-family: var(--font-display);
  font-size: var(--text-5xl);   /* 30px */
  font-weight: var(--fw-medium);
  line-height: 36px;
  color: var(--fg-primary);
}

.nwx-h2, h2.nwx {
  font-family: var(--font-display);
  font-size: var(--text-3xl);   /* 24px */
  font-weight: var(--fw-medium);
  line-height: 32px;
  color: var(--fg-primary);
}

.nwx-h3, h3.nwx {
  font-family: var(--font-sans);
  font-size: 18px;
  font-weight: var(--fw-medium);
  line-height: 28px;
  color: var(--fg-primary);
}

.nwx-h4, h4.nwx {
  font-family: var(--font-sans);
  font-size: 16px;
  font-weight: var(--fw-semibold);
  line-height: 28px;
  color: var(--fg-primary);
}

.nwx-h5, h5.nwx, .nwx-h6, h6.nwx {
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: var(--fw-semibold);
  line-height: 24px;
  color: var(--fg-primary);
}

.nwx-subtitle1 {
  font-family: var(--font-sans);
  font-size: 16px;
  font-weight: var(--fw-regular);
  line-height: 28px;
  color: var(--fg-primary);
}

.nwx-subtitle2 {
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: var(--fw-semibold);
  line-height: 24px;
  color: var(--fg-primary);
}

.nwx-body1 {
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: var(--fw-regular);
  line-height: 24px;
  color: var(--fg-primary);
}

.nwx-body2 {
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: var(--fw-regular);
  line-height: 16px;
  color: var(--fg-primary);
}

.nwx-p, p.nwx {
  font-size: var(--text-base);
  line-height: var(--lh-normal);
  color: var(--fg-primary);
}

.nwx-secondary { color: var(--fg-secondary); }

.nwx-caption {
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: var(--fw-regular);
  line-height: 14px;
  color: var(--fg-tertiary);
}

.nwx-overline {
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: var(--fw-semibold);
  line-height: 16px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--fg-tertiary);
}

.nwx-button-label {
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: var(--fw-semibold);
  line-height: 16px;
  letter-spacing: 0;
}

.nwx-code, code.nwx {
  font-family: var(--font-mono);
  font-size: var(--text-sm);
  background: var(--access-white-200);
  padding: 2px 6px;
  border-radius: var(--radius-sm);
  color: var(--fg-primary);
}

.nwx-link, a.nwx {
  color: var(--fg-brand-accent);
  text-decoration: none;
  transition: color 120ms ease;
}
.nwx-link:hover, a.nwx:hover {
  color: var(--action-primary-hover);
  text-decoration: underline;
}

::selection {
  background: var(--bg-text-selection);
  color: var(--fg-primary);
}

/* greek */
@font-face {
  font-family: 'Syne';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/syne-greek.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* latin-ext */
@font-face {
  font-family: 'Syne';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/syne-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Syne';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/syne-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;
}
/* greek */
@font-face {
  font-family: 'Syne';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/syne-greek.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* latin-ext */
@font-face {
  font-family: 'Syne';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/syne-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Syne';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/syne-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;
}
/* greek */
@font-face {
  font-family: 'Syne';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/syne-greek.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* latin-ext */
@font-face {
  font-family: 'Syne';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/syne-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Syne';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/syne-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;
}
/* greek */
@font-face {
  font-family: 'Syne';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/syne-greek.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* latin-ext */
@font-face {
  font-family: 'Syne';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/syne-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Syne';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/syne-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;
}
/* greek */
@font-face {
  font-family: 'Syne';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../fonts/syne-greek.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* latin-ext */
@font-face {
  font-family: 'Syne';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../fonts/syne-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Syne';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../fonts/syne-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;
}

/* ---------- 2. Page base + components ---------- */
@font-face{font-family:'Hubot Sans';src:url("../fonts/HubotSans-Bold.ttf") format('truetype');font-weight:700;font-style:normal}
  :root{
    --pc-cream-100:#FFE6C9;
    --pc-cream-200:#E7CFB5;
    --pc-orange-100:#FFCFA6;
    --pc-orange-200:#FFB983;
    --pc-orange-300:#FFA25F;
    --pc-primary:#FF7519;
    --pc-primary-press:#CF5E14;
    --pc-text-accent:#702F0A;
    --pc-accent-strong:#3F0801;
    --pc-dark-900:#100200;
  }
  a{color:var(--pc-text-accent);text-decoration:none}
  a:hover{color:var(--pc-accent-strong);text-decoration:underline}
  .pc-ph{border:none;background:#fff;color:var(--fg-tertiary);display:flex;align-items:center;justify-content:center;text-align:center;padding:20px;border-radius:var(--radius-md);font:12px 'Syne';line-height:1.4}
  details.pc-faq summary{cursor:pointer;font-weight:var(--fw-semibold);color:var(--fg-primary);padding:14px 0;list-style:none}
  details.pc-faq summary::-webkit-details-marker{display:none}
  details.pc-faq summary::before{content:'+';display:inline-block;width:16px;color:var(--pc-primary);font-weight:700}
  details.pc-faq[open] summary::before{content:'\2212'}
  details.pc-faq{border-bottom:1px solid #E7CFB5}
  details.pc-faq p{margin:0 0 14px 16px;color:var(--fg-secondary);font-size:13px;line-height:1.6}
  .pc-stepnav{display:flex;justify-content:center}
  .pc-stepnav a{flex:0 0 auto;padding:28px 32px;text-align:left;font-size:14px;font-weight:var(--fw-semibold);line-height:1.3;white-space:nowrap;border-right:1px solid var(--border-subtle);color:var(--fg-primary);display:flex;align-items:center;justify-content:flex-start;gap:12px}
  .pc-stepnav a:last-child{border-right:none}
  .pc-stepnav a:hover{color:#FF442B;text-decoration:none}
  .pc-stepnav b{width:32px;height:32px;border-radius:var(--radius-full);background:var(--pc-cream-100);color:var(--pc-primary);font-size:14px;font-weight:var(--fw-semibold);display:inline-flex;align-items:center;justify-content:center;flex:none;line-height:1;padding-bottom:2px;box-sizing:border-box}
  .pc-step{display:grid;grid-template-columns:280px minmax(0,1fr);gap:48px;padding:64px 0;scroll-margin-top:148px}
  .pc-step-head{align-self:start}
  @media(max-width:860px){
    .pc-arrow{display:none}
    .pc-step{grid-template-columns:1fr;gap:24px}
    .pc-stepnav{overflow-x:auto;justify-content:flex-start}
    .pc-stepnav a{white-space:nowrap}
  }

/* Image zoom (enlarge button + lightbox), added by interactions.js */
.pc-zoomwrap{position:relative;width:548px;max-width:100%;flex:none}
.pc-zoomwrap .pc-acc-panel{width:100%!important}
.pc-zoombtn{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:var(--radius-full);background:rgba(255,255,255,.92);border:1px solid var(--border-subtle);box-shadow:var(--elevation-1);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;color:#050100}
.pc-zoombtn:hover{background:#fff;color:#FF7519}
.pc-lightbox{position:fixed;inset:0;z-index:1000;background:var(--nightwatch-900-50);display:flex;align-items:center;justify-content:center;padding:32px;box-sizing:border-box;cursor:zoom-out}
.pc-lightbox-inner{position:relative;max-width:min(1400px,100%);max-height:100%;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--elevation-4);overflow:hidden;display:flex}
.pc-lightbox-inner img{display:block;max-width:100%;max-height:calc(100vh - 64px);width:auto;height:auto;object-fit:contain}

html{-webkit-text-size-adjust:100%}
body.pc-site{margin:0;background:var(--bg-page);font-family:'Syne',var(--font-sans);font-weight:400;color:var(--fg-primary);min-height:100vh;display:flex;flex-direction:column}
site-header,site-footer{display:contents}
.pc-main{flex:1}
.is-hidden{display:none!important}

/* Buttons (anchors styled as pills; colours live inline on each button) */
a.pc-btn{display:block;cursor:pointer;transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),filter .2s cubic-bezier(.4,0,.2,1),background .2s,border-color .2s}
a.pc-btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(16,2,0,.18);filter:brightness(1.08);text-decoration:none}
a.pc-btn:active{transform:translateY(0);filter:brightness(.95);transition-duration:.08s}
a.pc-btn-primary:hover{background:var(--pc-primary-press)!important;border-color:var(--pc-primary-press)!important}

/* ---------- 3. Header ---------- */
.pc-nav{height:80px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,4vw,48px);border-bottom:1px solid #000;background:#fff;position:sticky;top:0;z-index:10}
.pc-nav-logo{display:flex;align-items:center;flex:none}
.pc-nav-logo img{height:40px;width:auto;display:block}
.pc-nav-links{position:absolute;left:50%;top:0;transform:translateX(-50%);display:flex;align-items:center;gap:clamp(12px,2vw,28px);flex-wrap:nowrap;width:max-content}
.pc-nav-link{height:80px;display:flex;align-items:center;gap:4px;font-size:16px;font-weight:var(--fw-semibold);color:var(--fg-secondary)}
.pc-nav-link:hover,.pc-nav-link.is-active{color:var(--pc-primary);text-decoration:none}
.pc-nav-link .pc-ext{font-size:11px}
.pc-nav-cta{background:#41F27C;color:#12102C;font-size:14px;font-weight:var(--fw-semibold);padding:13px 26px;border-radius:var(--radius-full);flex:none;white-space:nowrap}
.pc-nav-cta:hover{color:#12102C;text-decoration:none}

/* ---------- 4. Footer ---------- */
.pc-footer-spacer{background:#fff;height:96px}
.pc-footer{background:#fff;border-top:1px solid var(--border-subtle);padding:24px 48px;text-align:center;color:var(--fg-tertiary);font-size:11px;line-height:1.7}

/* ---------- 5. Interactive components (see assets/js/interactions.js) ---------- */
/* Accordion: .pc-acc-item rows with a preview panel */
.pc-acc-item{border-bottom:1px solid var(--border-subtle);padding:24px 0;cursor:pointer}
.pc-acc-head{display:flex;justify-content:space-between;align-items:center;gap:16px}
.pc-acc-title{font-family:Syne;margin:0;font-size:21px;font-weight:var(--fw-medium);color:var(--fg-primary)}
.pc-acc-chevron{flex:none;width:16px;height:16px;color:var(--fg-tertiary)}
.pc-acc-desc{display:none;margin:14px 0 0;color:var(--fg-secondary);font-size:14px;line-height:1.7}
.pc-acc-item.is-open .pc-acc-title{font-weight:var(--fw-semibold);color:var(--pc-primary)}
.pc-acc-item.is-open .pc-acc-chevron{color:var(--pc-primary);transform:rotate(180deg)}
.pc-acc-item.is-open .pc-acc-desc{display:block}
.pc-acc-panel img{width:100%;height:100%;object-fit:cover;display:block}
/* Tabs */
.pc-tab{cursor:pointer;border:0;font-family:inherit;padding:10px 18px;border-radius:var(--radius-full);font-size:13px;font-weight:var(--fw-semibold);white-space:nowrap;background:transparent;color:var(--fg-secondary)}
.pc-tab.is-active{background:#050100;color:#fff}
/* Customer stories dots */
.pc-dot{cursor:pointer;width:8px;height:8px;padding:0;border:0;border-radius:var(--radius-full);background:rgba(255,255,255,.3)}
.pc-dot.is-active{background:#fff}

/* ---------- 6. Purchase page ---------- */
.pc-steps{display:flex;justify-content:center;gap:0;max-width:760px;margin:0 auto}
.pc-steps-item{flex:1;text-align:center;color:var(--fg-tertiary);position:relative}
.pc-steps-item::before{content:'';position:absolute;top:16px;left:-50%;width:100%;height:2px;background:var(--pc-cream-200);z-index:0}
.pc-steps-item:first-child::before{display:none}
.pc-steps-dot{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--radius-full);background:var(--pc-cream-100);color:var(--pc-primary);font-weight:var(--fw-semibold);font-size:14px}
.pc-steps-label{display:block;font-size:11px;letter-spacing:.06em;text-transform:uppercase;margin-top:8px}
.pc-steps-name{display:block;font-size:14px;font-weight:var(--fw-semibold);color:var(--fg-secondary)}
.pc-steps-item.is-active .pc-steps-dot{background:#FF442B;color:#fff}
.pc-steps-item.is-active::before{background:#FF442B}
.pc-steps-item.is-active .pc-steps-name{color:var(--fg-primary)}
.pc-card{background:#fff;border-radius:var(--radius-xl);box-shadow:var(--elevation-1);padding:32px 40px}
.pc-price{font-family:'Hubot Sans',var(--font-sans);font-size:32px;font-weight:var(--fw-bold);margin:0}
.pc-price small{font-family:'Syne';font-size:12px;font-weight:600;color:var(--fg-secondary)}
.pc-checklist{list-style:none;margin:0;padding:0;display:grid;gap:8px;color:var(--fg-secondary);font-size:13px;flex:1}
.pc-checklist li::before{content:'\2713';color:var(--pc-primary);font-weight:700;margin-right:8px}
.pc-form-step{margin-bottom:28px}
.pc-form-step h3{font-family:'Hubot Sans',var(--font-sans);font-size:18px;margin:0 0 4px}
.pc-field{margin-top:18px;max-width:420px}
.pc-field label{display:block;font-size:12px;font-weight:var(--fw-semibold);margin-bottom:6px}
.pc-field input[type=text],.pc-field input[type=email],.pc-field select{width:100%;box-sizing:border-box;font:inherit;font-size:14px;padding:11px 14px;border:1px solid var(--pc-cream-200);border-radius:var(--radius-md);background:#fff;color:var(--fg-primary)}
.pc-field input:focus,.pc-field select:focus{outline:2px solid var(--pc-primary);outline-offset:1px}
.pc-error{display:block;color:#C8321D;font-size:12px;margin-top:4px;min-height:0}
.pc-submit{cursor:pointer;border:0;font:inherit;background:var(--pc-primary);color:#fff;font-weight:var(--fw-semibold);font-size:13px;padding:12px 28px;border-radius:var(--radius-full)}
.pc-submit:hover{background:var(--pc-primary-press)}
.pc-submit.disabled-btn,.pc-submit:disabled{opacity:.5;cursor:not-allowed}

/* ---------- 7. Responsive ---------- */
img{max-width:100%}
.pc-ph{box-sizing:border-box}
.pc-nav-toggle,.pc-nav-cta-menu{display:none}
.pc-tabbar{max-width:100%;overflow-x:auto}

/* Header: hamburger below 1120px (the centred links collide with the logo around 1095px) */
@media(max-width:1120px){
  .pc-nav{height:64px;gap:12px}
  .pc-nav-logo img{height:34px}
  .pc-nav-cta-bar{margin-left:auto;padding:10px 18px;font-size:13px}
  .pc-nav-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:0 10px;border:1px solid #000;border-radius:var(--radius-full);background:#fff;cursor:pointer;flex:none}
  .pc-nav-toggle span{display:block;height:2px;background:#000;border-radius:2px;transition:transform .2s,opacity .2s}
  .pc-nav.is-open .pc-nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .pc-nav.is-open .pc-nav-toggle span:nth-child(2){opacity:0}
  .pc-nav.is-open .pc-nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .pc-nav-links{display:none;position:absolute;left:0;right:0;top:100%;transform:none;width:auto;flex-direction:column;align-items:stretch;gap:0;padding:8px clamp(20px,4vw,48px) 20px;background:#fff;border-bottom:1px solid #000;box-shadow:0 16px 24px rgba(16,2,0,.12)}
  .pc-nav.is-open .pc-nav-links{display:flex}
  .pc-nav-link{height:auto;padding:16px 0;border-bottom:1px solid var(--border-subtle);font-size:18px}
  .pc-nav .pc-nav-cta-menu{display:block;text-align:center;margin-top:16px}
}
@media(max-width:560px){
  .pc-nav .pc-nav-cta-bar{display:none}
  .pc-nav-toggle{margin-left:auto}
  .pc-nav .pc-nav-cta-menu{display:block}
}

/* Tablet: dense card grids -> 2 columns */
@media(max-width:1000px){
  [style*="grid-template-columns:repeat(4,"],[style*="grid-template-columns:repeat(5,"],[style*="grid-template-columns:repeat(6,"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* Mobile / small tablet */
@media(max-width:860px){
  section,.pc-footer{padding-left:20px!important;padding-right:20px!important}
  section[style*="padding:56px"],section[style*="padding: 56px"],section[style*="padding:64px"],section[style*="padding: 64px"],section[style*="padding:72px"],section[style*="padding:80px"]{padding-top:40px!important;padding-bottom:40px!important}
  [style*="padding:0 48px"]{padding-left:20px!important;padding-right:20px!important}

  /* every inline multi-column grid stacks (dense card grids keep 2 columns) */
  [style*="grid-template-columns"]{grid-template-columns:minmax(0,1fr)!important;column-gap:20px!important;row-gap:24px!important}
  [style*="grid-template-columns:repeat(6,"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  [style*="margin-top:36px"]{margin-top:0!important}

  /* heroes */
  section[style*="height:390px"]{height:auto!important;padding-top:40px!important;padding-bottom:24px!important}
  section[style*="height:390px"] img,section[style*="#FF442B;padding:0"] img{height:auto!important;max-height:260px;margin:0 auto}
  [style*="padding:88px 56px 64px 0"],[style*="padding:64px 0;align-self"]{padding:24px 0 8px!important}
  h1{font-size:34px!important}
  h2[style*="font-size: 32px"],h2[style*="font-size:32px"]{font-size:26px!important}
  [data-stories]{height:auto!important;padding-top:48px!important;padding-bottom:48px!important}

  /* panels / images with fixed sizes */
  .pc-ph{height:auto!important;min-height:220px;width:100%!important}
  .pc-ph img{height:auto!important;aspect-ratio:4/3}
  .pc-acc-panel{width:100%!important}
  [style*="width: 548px"]{width:100%!important}

  /* flex rows with big images and padded cards */
  [style*="align-items:center;gap:40px"],[style*="display:flex;align-items:center;gap:28px"]{flex-direction:column;align-items:flex-start!important;gap:20px!important;padding:24px!important}
  [style*="flex:0 0 180px"]{flex:none!important;height:auto!important;width:100%}
  [style*="padding:40px"],[style*="padding:32px 40px"],.pc-card{padding:24px!important}
  [style*="padding:36px 40px"],[style*="padding:32px 40px 40px"],[style*="padding:32px 40px"]{padding:24px!important}
  [style*="padding:28px"]{padding:20px 0!important}

  /* components */
  .pc-field{max-width:none}
  .pc-steps-name{font-size:12px}
  .pc-stepnav a{padding:20px 20px}
  .pc-acc-title{font-size:18px}
  [data-tabs] [style*="margin-bottom:40px"]{justify-content:flex-start!important}
}
