/* ============================================================
   FONTS — self-hosted, same editorial type system as the Monarch
   research report, evolved into a general company identity.
   ============================================================ */
/* cyrillic-ext */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/-F63fjptAgt5VM-kVkqdyU8n1iIq131nj-otFQ.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: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/-F63fjptAgt5VM-kVkqdyU8n1isq131nj-otFQ.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/-F63fjptAgt5VM-kVkqdyU8n1iAq131nj-otFQ.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: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/-F63fjptAgt5VM-kVkqdyU8n1iEq131nj-otFQ.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: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/-F63fjptAgt5VM-kVkqdyU8n1i8q131nj-o.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: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/-F6qfjptAgt5VM-kVkqdyU8n3twJwl1FgsAXHNlYzg.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: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/-F6qfjptAgt5VM-kVkqdyU8n3twJwlRFgsAXHNlYzg.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/-F6qfjptAgt5VM-kVkqdyU8n3twJwl9FgsAXHNlYzg.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: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/-F6qfjptAgt5VM-kVkqdyU8n3twJwl5FgsAXHNlYzg.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: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/-F6qfjptAgt5VM-kVkqdyU8n3twJwlBFgsAXHNk.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: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/-F6qfjptAgt5VM-kVkqdyU8n3vAOwl1FgsAXHNlYzg.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: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/-F6qfjptAgt5VM-kVkqdyU8n3vAOwlRFgsAXHNlYzg.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/-F6qfjptAgt5VM-kVkqdyU8n3vAOwl9FgsAXHNlYzg.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: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/-F6qfjptAgt5VM-kVkqdyU8n3vAOwl5FgsAXHNlYzg.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: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/-F6qfjptAgt5VM-kVkqdyU8n3vAOwlBFgsAXHNk.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: 400;
  font-display: swap;
  src: url(assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7W0Q5n-wU.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(assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7W0Q5n-wU.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(assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7W0Q5n-wU.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(assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7W0Q5n-wU.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(assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7W0Q5n-wU.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(assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7W0Q5n-wU.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: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7W0Q5nw.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(assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7W0Q5n-wU.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(assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7W0Q5n-wU.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(assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7W0Q5n-wU.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(assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7W0Q5n-wU.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(assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7W0Q5n-wU.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(assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7W0Q5n-wU.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: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7W0Q5nw.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(assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7W0Q5n-wU.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(assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7W0Q5n-wU.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(assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7W0Q5n-wU.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(assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7W0Q5n-wU.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(assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7W0Q5n-wU.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(assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7W0Q5n-wU.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: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7W0Q5nw.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(assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7W0Q5n-wU.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(assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7W0Q5n-wU.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(assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7W0Q5n-wU.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(assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7W0Q5n-wU.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(assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7W0Q5n-wU.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(assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7W0Q5n-wU.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: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7W0Q5nw.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;
}
/* ============================================================
   EVIDENT — DARK DESIGN SYSTEM
   Black canvas, white type, purple as the single deliberate accent.
   ============================================================ */

:root {
  --bg: #08080A;
  --bg-raised: #131317;
  --bg-raised-2: #1B1B21;
  --ink: #F3F3F6;
  --ink-dim: #8C8C97;
  --ink-faint: #5C5C66;
  --rule: rgba(255,255,255,0.09);
  --rule-strong: rgba(255,255,255,0.16);

  --purple: #8A63F2;
  --purple-bright: #B49BFF;
  --purple-dim: rgba(138,99,242,0.14);
  --purple-line: rgba(138,99,242,0.55);
  --purple-glow: rgba(138,99,242,0.4);

  --sans: "Inter", -apple-system, "Helvetica Neue", Arial, sans-serif;
  --mono: "IBM Plex Mono", "SF Mono", Menlo, monospace;

  --maxw: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--bg); }
body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: var(--sans);
  -webkit-font-smoothing: antialiased;
  line-height: 1.5;
  overflow-x: hidden;
}
img, svg { max-width: 100%; display: block; }
a { color: inherit; }
.wrap { max-width: var(--maxw); margin: 0 auto; padding: 0 32px; position: relative; }
::selection { background: var(--purple); color: #fff; }

.skip-link {
  position: absolute; left: -9999px; top: 0;
  background: var(--purple); color: #fff; padding: 10px 16px; z-index: 200;
  border-radius: 0 0 6px 0;
}
.skip-link:focus { left: 0; }
:focus-visible { outline: 2px solid var(--purple-bright); outline-offset: 3px; }

/* ---------- type ---------- */
h1, h2, h3 { font-family: var(--sans); font-weight: 700; color: var(--ink); margin: 0; letter-spacing: -0.03em; }
.display-1 { font-size: clamp(48px, 8vw, 116px); line-height: 0.98; font-weight: 700; text-transform: uppercase; }
.display-2 { font-size: clamp(34px, 5.5vw, 68px); line-height: 1.03; font-weight: 700; text-transform: uppercase; }
.display-3 { font-size: clamp(24px, 3.2vw, 38px); line-height: 1.12; font-weight: 700; }
.sub { font-size: clamp(16px, 1.6vw, 20px); color: var(--ink-dim); font-weight: 400; line-height: 1.5; max-width: 46ch; }
.eyebrow {
  font-family: var(--mono); font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--purple-bright); font-weight: 500; margin: 0 0 18px 0;
}
.purple { color: var(--purple-bright); }
.dim { color: var(--ink-dim); }

/* ---------- nav ---------- */
.site-nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  background: rgba(8,8,10,0.72); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--rule);
}
.site-nav .wrap { display: flex; align-items: center; justify-content: space-between; height: 72px; }
.brand-mark { font-family: var(--sans); font-weight: 700; font-size: 19px; letter-spacing: -0.02em; color: var(--ink); text-decoration: none; }
.brand-mark span { color: var(--purple); }
.nav-links { display: flex; align-items: center; gap: 36px; }
.nav-links a { font-size: 14.5px; font-weight: 500; text-decoration: none; color: var(--ink-dim); transition: color .2s ease; }
.nav-links a:hover, .nav-links a:focus-visible { color: var(--ink); }
.nav-cta {
  background: var(--purple); color: #fff !important; padding: 10px 20px;
  border-radius: 100px; font-weight: 600 !important; font-size: 14px !important;
  transition: background .2s ease, box-shadow .2s ease;
}
.nav-cta:hover { background: var(--purple-bright); box-shadow: 0 0 24px var(--purple-glow); }
.nav-toggle { display: none; }
main { padding-top: 72px; }

/* ---------- buttons ---------- */
.btn {
  display: inline-flex; align-items: center; gap: 9px;
  font-family: var(--sans); font-weight: 600; font-size: 16px;
  padding: 15px 26px; border-radius: 100px; text-decoration: none;
  border: 1.5px solid transparent; cursor: pointer; transition: all .25s ease;
}
.btn-primary { background: var(--purple); color: #fff; }
.btn-primary:hover { background: var(--purple-bright); box-shadow: 0 0 32px var(--purple-glow); transform: translateY(-1px); }
.btn-ghost { background: transparent; color: var(--ink); border-color: var(--rule-strong); }
.btn-ghost:hover { border-color: var(--purple-bright); color: var(--purple-bright); }
.btn-row { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; }
.btn-arrow { transition: transform .25s ease; }
.btn:hover .btn-arrow { transform: translateX(4px); }

/* ---------- sections ---------- */
section { position: relative; padding: 170px 0; }
.section-tight { padding: 100px 0; }
.section-center { text-align: center; }
.section-center .wrap { display: flex; flex-direction: column; align-items: center; }
.section-center .sub { margin-left: auto; margin-right: auto; }
#how, #solutions, #monarch { scroll-margin-top: 72px; }

/* ---------- HERO ---------- */
.hero { min-height: 100vh; display: flex; flex-direction: column; justify-content: center; padding: 170px 0 60px 0; }
.hero-copy { position: relative; z-index: 3; }
.hero h1 { margin-bottom: 26px; }
.hero .sub { margin-bottom: 40px; max-width: 54ch; }

.evidence-field {
  position: relative; width: 100%; height: 480px; margin-top: 70px;
  border-top: 1px solid var(--rule);
}
.ef-svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.ef-svg line { stroke: var(--purple-line); stroke-width: 1; opacity: 0; }
.ef-frag {
  position: absolute; background: var(--bg-raised); border: 1px solid var(--rule-strong);
  border-radius: 6px; padding: 9px 14px; font-family: var(--mono); font-size: 12.5px;
  color: var(--ink-dim); white-space: nowrap; opacity: 0;
  box-shadow: 0 8px 24px rgba(0,0,0,0.4);
}
.ef-frag.is-dup { color: var(--ink-faint); }
.ef-caption { text-align: center; font-family: var(--mono); font-size: 11px; color: var(--ink-faint); margin-top: 18px; }

/* no-JS / reduced-motion fallback for evidence field: fragments shown already settled,
   laid out as a static wrapped list (never the JS scatter positions, which are only
   ever applied by script.js — without it every fragment would stack on the same point) */
html:not(.gsap-ok) .evidence-field {
  height: auto; min-height: 0; display: flex; flex-wrap: wrap;
  justify-content: center; gap: 12px; padding: 36px 0 6px 0;
}
html:not(.gsap-ok) .ef-frag {
  position: static !important; left: auto !important; top: auto !important;
  transform: none !important; opacity: 1 !important;
}
html:not(.gsap-ok) .ef-frag.is-dup { opacity: .4 !important; filter: grayscale(1); }
html:not(.gsap-ok) .ef-svg { display: none; }

/* ---------- BUSINESS QUESTION (section 3) ----------
   All four questions live in ONE absolutely-positioned stack, inside a
   container sized for the tallest two-line question at any breakpoint —
   this is what prevents the overlap bug: no element ever switches between
   position:absolute and position:relative mid-transition. */
.bq-section { background: var(--bg-raised); }
.bq-rotator { position: relative; min-height: 160px; margin-top: 10px; }
.bq-q {
  font-family: var(--sans); font-weight: 700; font-size: clamp(30px,4.6vw,56px);
  letter-spacing: -0.02em; color: var(--ink); line-height: 1.15;
  position: absolute; inset: 0 0 auto 0;
  opacity: 0; transform: translateY(14px);
  will-change: opacity, transform;
}
html:not(.gsap-ok) .bq-rotator { min-height: 0; }
html:not(.gsap-ok) .bq-q { position: relative; opacity: 1; transform: none; margin-bottom: 18px; }

/* ---------- THE EVIDENT MOMENT (section 3) ---------- */
.moment-pin { height: 340vh; position: relative; }
.moment-sticky {
  position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column;
  justify-content: center; overflow: hidden;
}
.moment-kicker { text-align: center; }
.moment-stage { position: relative; height: 420px; margin: 30px auto 0 auto; max-width: 900px; width: 100%; }
.moment-frag {
  position: absolute; top: 82%; background: var(--bg-raised); border: 1px solid var(--rule-strong);
  border-radius: 6px; padding: 12px 18px; font-family: var(--mono); font-size: 13px; color: var(--ink);
  transform: translateY(-50%);
}
.moment-frag[data-i="0"] { left: 4%; }
.moment-frag[data-i="1"] { left: 28%; }
.moment-frag[data-i="2"] { left: 52%; }
.moment-frag[data-i="3"] { left: 76%; }
.moment-count {
  position: absolute; left: 50%; top: 28%; transform: translate(-50%,-50%);
  font-family: var(--sans); font-weight: 700; font-size: clamp(90px,14vw,180px); color: var(--ink);
  opacity: 0; line-height: 1;
}
.moment-verdict { position: absolute; left: 50%; top: 28%; transform: translate(-50%,-50%); text-align: center; opacity: 0; width: 100%; }
.moment-label {
  position: absolute; left: 50%; top: 54%; transform: translate(-50%,-50%);
  font-family: var(--mono); font-size: 13px; letter-spacing: .07em; text-transform: uppercase;
  color: var(--ink-faint); opacity: 0; width: 100%; text-align: center;
}
.moment-note {
  position: absolute; left: 50%; bottom: -8px; transform: translateX(-50%);
  font-family: var(--mono); font-size: 12px; color: var(--purple-bright); opacity: 0;
  text-align: center; width: 100%;
}
.moment-tags { display: flex; gap: 10px; justify-content: center; margin-top: 16px; flex-wrap: wrap; }
.moment-tag {
  font-family: var(--mono); font-size: 12px; letter-spacing: .08em; text-transform: uppercase;
  border: 1px solid var(--purple-line); color: var(--purple-bright); padding: 6px 14px; border-radius: 100px;
}
.moment-tag.is-muted { border-color: var(--rule-strong); color: var(--ink-faint); }
.moment-finding { font-size: clamp(20px,2.6vw,30px); font-weight: 700; color: var(--ink); max-width: 20ch; margin: 0 auto 4px auto; }

/* static fallback: show end state without scroll-jacking */
html:not(.gsap-ok) .moment-pin { height: auto; }
html:not(.gsap-ok) .moment-sticky { position: relative; height: auto; padding: 60px 0; }
html:not(.gsap-ok) .moment-stage { height: auto; display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
html:not(.gsap-ok) .moment-frag { position: static; transform: none; }
html:not(.gsap-ok) .moment-frag[data-dup="true"] { opacity: .35; filter: grayscale(1); }
html:not(.gsap-ok) .moment-count { display: none; }
html:not(.gsap-ok) .moment-label { display: none; }
html:not(.gsap-ok) .moment-note { position: static; opacity: 1; transform: none; margin-top: 10px; }
html:not(.gsap-ok) .moment-verdict { position: static; opacity: 1; transform: none; margin-top: 26px; }

/* ---------- MONARCH (section 4) ---------- */
.monarch-section { background: var(--bg-raised); }
.monarch-head { text-align: center; margin-bottom: 70px; }
.monarch-stats { display: grid; grid-template-columns: repeat(4,1fr); gap: 0; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
.mstat { text-align: center; padding: 50px 10px; border-left: 1px solid var(--rule); }
.mstat:first-child { border-left: none; }
.mstat-num { font-family: var(--sans); font-weight: 700; font-size: clamp(40px,5.5vw,76px); letter-spacing: -0.02em; color: var(--ink); font-variant-numeric: tabular-nums; }
.mstat-lbl { font-family: var(--mono); font-size: 11.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-faint); margin-top: 10px; }

.monarch-verify { display: flex; align-items: center; justify-content: center; gap: 28px; flex-wrap: wrap; margin: 70px 0 26px 0; }
.monarch-verify .mv-before { font-family: var(--mono); font-size: 15px; color: var(--ink-faint); }
.monarch-verify .mv-before b { color: var(--ink-dim); text-decoration: line-through; text-decoration-color: var(--ink-faint); }
.monarch-verify .mv-arrow { color: var(--purple-bright); font-size: 20px; }
.monarch-verify .mv-after { font-family: var(--sans); font-weight: 700; font-size: clamp(22px,3vw,34px); color: var(--ink); }
.monarch-line { text-align: center; font-size: clamp(18px,2vw,24px); font-weight: 700; color: var(--purple-bright); margin-bottom: 6px; }
.monarch-disclosure { text-align: center; font-family: var(--mono); font-size: 11.5px; color: var(--ink-faint); margin-top: 40px; }

/* ---------- FINAL CTA ---------- */
.final-section { text-align: center; }
.final-section h2 { margin: 0 auto 28px auto; max-width: 16ch; }

/* ---------- footer ---------- */
footer { background: var(--bg); border-top: 1px solid var(--rule); padding: 56px 0 40px 0; }
.footer-top { display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; margin-bottom: 26px; }
.footer-links { display: flex; gap: 30px; flex-wrap: wrap; }
.footer-links a { color: var(--ink-dim); text-decoration: none; font-size: 14px; }
.footer-links a:hover { color: var(--ink); }
.footer-fine { font-size: 12.5px; line-height: 1.6; color: var(--ink-faint); border-top: 1px solid var(--rule); padding-top: 22px; max-width: 900px; }
.footer-bottom { margin-top: 16px; font-size: 12.5px; color: var(--ink-faint); }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 920px) {
  .monarch-stats { grid-template-columns: repeat(2,1fr); }
  .mstat:nth-child(3) { border-left: none; }
  .mstat { border-bottom: 1px solid var(--rule); }
  .mstat:nth-last-child(-n+2) { border-bottom: none; }
}

@media (max-width: 640px) {
  .wrap { padding: 0 20px; }
  section { padding: 110px 0; }
  .section-tight { padding: 80px 0; }
  .nav-links { display: none; }
  .nav-links.open {
    display: flex; position: absolute; top: 72px; left: 0; right: 0;
    background: var(--bg); border-bottom: 1px solid var(--rule);
    flex-direction: column; align-items: flex-start; padding: 20px 20px 26px 20px; gap: 18px;
  }
  .nav-toggle {
    display: inline-flex; background: none; border: 1.5px solid var(--rule-strong); border-radius: 6px;
    width: 42px; height: 38px; align-items: center; justify-content: center; cursor: pointer; color: var(--ink);
  }
  .hero { min-height: auto; padding: 130px 0 50px 0; }
  .monarch-verify { flex-direction: column; gap: 14px; }

  /* hero evidence field: vertical stack, no absolute scatter, no connecting lines */
  .evidence-field { height: auto; min-height: 0; }
  .ef-stacked.evidence-field { display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 36px 0; }
  .ef-stacked .ef-frag { position: static !important; left: auto !important; top: auto !important; transform: none !important; }
  .ef-stacked .ef-svg { display: none; }

  /* mobile: no pinned scroll-jacking — the moment becomes a normal, short section */
  .moment-pin { height: auto; }
  .moment-sticky { position: relative; height: auto; padding: 0; }
  .moment-stage { height: auto; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
  .moment-frag { position: static; transform: none; }
  .moment-count { display: none; }
  .moment-label { display: none; }
  .moment-note { position: static; opacity: 1; transform: none; margin-top: 10px; }
  .moment-verdict { position: static; opacity: 1; transform: none; margin-top: 24px; }
}

/* ============================================================
   HOW IT WORKS
   ============================================================ */
.how-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; margin-top: 30px; }
.how-grid-4 { grid-template-columns: repeat(4, 1fr); }
.how-step { border-top: 1px solid var(--rule); padding-top: 22px; position: relative; }
.how-num { font-family: var(--mono); font-size: 13px; color: var(--purple-bright); margin-bottom: 14px; }
.how-step h3 { font-size: 19px; font-weight: 700; margin-bottom: 10px; letter-spacing: -0.01em; }
.how-step p { font-size: 14.5px; color: var(--ink-dim); line-height: 1.55; margin: 0; }
/* subtle continuity between steps — question → evidence → investigation → study */
.how-grid-4 .how-step:not(:last-child)::after {
  content: "→"; position: absolute; top: 24px; right: -29px;
  color: var(--ink-faint); font-family: var(--mono); font-size: 13px; line-height: 1;
}

/* ============================================================
   SOLUTIONS
   ============================================================ */
.sol-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--rule); border-top: 1px solid var(--rule); border-left: 1px solid var(--rule); }
.sol-item { background: var(--bg); padding: 34px 36px; }
.sol-label { font-family: var(--mono); font-size: 11.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--purple-bright); margin-bottom: 14px; }
.sol-item h3 { font-size: clamp(19px,2vw,24px); font-weight: 700; letter-spacing: -0.01em; margin-bottom: 10px; }
.sol-item p { font-size: 14.5px; color: var(--ink-dim); line-height: 1.55; margin: 0; max-width: 42ch; }

/* ============================================================
   TRUST — DATA HANDLING + FOUNDER
   ============================================================ */
.trust-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; }
.trust-grid h3 { font-size: clamp(19px,2vw,24px); font-weight: 700; letter-spacing: -0.01em; margin-bottom: 12px; max-width: 18ch; }
.trust-grid p { font-size: 14.5px; color: var(--ink-dim); line-height: 1.6; margin: 0; max-width: 46ch; }

@media (max-width: 1024px) {
  .how-grid-4 { grid-template-columns: repeat(2, 1fr); row-gap: 44px; }
  .how-grid-4 .how-step:nth-child(2)::after { display: none; }
}

@media (max-width: 760px) {
  .how-grid { grid-template-columns: 1fr; gap: 30px; }
  .how-grid-4 .how-step::after { display: none; }
  .sol-grid { grid-template-columns: 1fr; }
  .trust-grid { grid-template-columns: 1fr; gap: 40px; }
}

/* ============================================================
   START PAGE — client intake
   ============================================================ */
.start-hero { padding: 160px 0 50px 0; }
.start-lede { font-size: 15px; color: var(--purple-bright); font-family: var(--mono); margin-top: 18px; }

.start-layout { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); gap: 72px; align-items: start; }

/* ---------- honeypot (spam decoy, invisible to real visitors) ---------- */
.hp-field { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* ---------- notice ---------- */
.form-notice {
  border-left: 2px solid var(--purple-line); background: var(--purple-dim);
  padding: 16px 20px; border-radius: 0 8px 8px 0; margin-bottom: 40px;
}
.form-notice-head { font-size: 14.5px; font-weight: 700; color: var(--ink); margin: 0 0 4px 0; letter-spacing: -0.01em; }
.form-notice-body { font-size: 13.5px; color: var(--ink-dim); line-height: 1.55; margin: 0; max-width: 60ch; }

/* ---------- field layout ---------- */
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px 24px; margin-bottom: 26px; }
.form-field { display: flex; flex-direction: column; }
.form-field-full { grid-column: 1 / -1; margin-bottom: 26px; }
.form-grid .form-field-full { margin-bottom: 0; }

label, .group-label {
  font-family: var(--sans); font-size: 13.5px; font-weight: 600; color: var(--ink);
  margin-bottom: 9px; display: inline-block; letter-spacing: -0.005em;
}
.group-label { display: block; }
.req { color: var(--purple-bright); }

.form-field input[type="text"],
.form-field input[type="email"],
.form-field textarea {
  width: 100%; background: var(--bg-raised); border: 1.5px solid var(--rule-strong);
  border-radius: 8px; color: var(--ink); font-family: var(--sans); font-size: 15px;
  padding: 13px 15px; transition: border-color .15s ease, box-shadow .15s ease;
}
.form-field textarea { resize: vertical; min-height: 96px; line-height: 1.5; font-family: var(--sans); }
.form-field input::placeholder, .form-field textarea::placeholder { color: var(--ink-faint); }
.form-field input:focus, .form-field textarea:focus {
  outline: none; border-color: var(--purple-line); box-shadow: 0 0 0 3px var(--purple-dim);
}
.form-field input[aria-invalid="true"], .form-field textarea[aria-invalid="true"] {
  border-color: #E5667A;
}
.field-error {
  font-family: var(--mono); font-size: 12.5px; color: #E5667A; margin: 7px 0 0 0; min-height: 0;
}
.field-error:empty { display: none; }

/* ---------- chips (multi-select evidence types) ---------- */
.chip-group { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 2px; }
.chip { position: relative; display: inline-flex; }
.chip input {
  position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer;
}
.chip span {
  display: inline-flex; align-items: center; font-size: 13.5px; color: var(--ink-dim);
  background: var(--bg-raised); border: 1.5px solid var(--rule-strong); border-radius: 100px;
  padding: 9px 16px; transition: all .15s ease; user-select: none;
}
.chip input:checked + span { background: var(--purple-dim); border-color: var(--purple-line); color: var(--ink); }
.chip input:focus-visible + span { outline: 2px solid var(--purple-bright); outline-offset: 2px; }
.chip:hover span { border-color: var(--ink-faint); }
.chip input:checked:hover + span { border-color: var(--purple-line); }

/* ---------- pills (single-select radio groups) ---------- */
.pill-group { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 2px; }
.pill { position: relative; display: inline-flex; }
.pill input {
  position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer;
}
.pill span {
  display: inline-flex; align-items: center; font-size: 13.5px; color: var(--ink-dim);
  background: var(--bg-raised); border: 1.5px solid var(--rule-strong); border-radius: 100px;
  padding: 9px 16px; transition: all .15s ease; user-select: none;
}
.pill input:checked + span { background: var(--purple-dim); border-color: var(--purple-line); color: var(--ink); }
.pill input:focus-visible + span { outline: 2px solid var(--purple-bright); outline-offset: 2px; }
.pill:hover span { border-color: var(--ink-faint); }

/* ---------- submit ---------- */
.form-submit-row { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; margin-top: 6px; }
.form-submit-note { font-size: 13px; color: var(--ink-faint); margin: 0; }
.form-submit-row .btn { border: none; }
.form-submit-row .btn:disabled { opacity: .6; cursor: default; transform: none; box-shadow: none; }

/* ---------- submission status ---------- */
.form-status { margin-top: 26px; padding: 20px 22px; border-radius: 8px; border: 1.5px solid var(--rule-strong); }
.form-status-head { font-size: 16px; font-weight: 700; margin: 0 0 6px 0; letter-spacing: -0.01em; }
.form-status-body { font-size: 14px; color: var(--ink-dim); line-height: 1.55; margin: 0; max-width: 56ch; }
.form-status.is-success { border-color: var(--purple-line); background: var(--purple-dim); }
.form-status.is-success .form-status-head { color: var(--ink); }
.form-status.is-error { border-color: rgba(229,102,122,0.5); background: rgba(229,102,122,0.08); }
.form-status.is-error .form-status-head { color: #E5667A; }

/* ---------- what-happens-next panel ---------- */
.next-panel { position: sticky; top: 100px; padding: 30px 28px; background: var(--bg-raised); border-radius: 10px; border: 1px solid var(--rule); }
.next-steps { list-style: none; margin: 0 0 22px 0; padding: 0; display: flex; flex-direction: column; gap: 16px; }
.next-steps li { display: flex; gap: 14px; align-items: baseline; }
.next-num { font-family: var(--mono); font-size: 12.5px; color: var(--purple-bright); flex: 0 0 auto; }
.next-steps li span:last-child { font-size: 14px; color: var(--ink-dim); line-height: 1.5; }
.next-reassure {
  font-family: var(--mono); font-size: 12px; letter-spacing: .03em; color: var(--ink-faint);
  border-top: 1px solid var(--rule); padding-top: 18px; margin: 0 0 22px 0; line-height: 1.5;
}
.next-evidence { border-top: 1px solid var(--rule); padding-top: 20px; }
.next-evidence-body { font-size: 13.5px; color: var(--ink-dim); line-height: 1.6; margin: 0; }

@media (max-width: 980px) {
  .start-layout { grid-template-columns: 1fr; gap: 46px; }
  .next-panel { position: static; }
}
@media (max-width: 640px) {
  .form-grid { grid-template-columns: 1fr; }
  .form-grid .form-field-full { margin-bottom: 0; }
  .start-hero { padding: 140px 0 40px 0; }
}

/* ============================================================
   CASE STUDY PAGE — same dark system, progressive disclosure
   ============================================================ */
.cs-hero { min-height: 60vh; display: flex; flex-direction: column; justify-content: center; padding: 160px 0 60px 0; }
.cs-disclosure {
  display: inline-block; margin-top: 28px; font-family: var(--mono); font-size: 12px; color: var(--ink-faint);
  border: 1px solid var(--rule); border-radius: 100px; padding: 8px 18px;
}
.cs-disclosure b { color: var(--ink-dim); font-weight: 500; }

.cs-question p { font-size: clamp(20px,2.4vw,28px); font-weight: 500; color: var(--ink); max-width: 26ch; line-height: 1.3; }

/* accordion findings */
.acc-list { border-top: 1px solid var(--rule); }
.acc-item { border-bottom: 1px solid var(--rule); }
.acc-head {
  display: flex; align-items: center; justify-content: space-between; gap: 20px;
  padding: 28px 0; cursor: pointer; background: none; border: none; width: 100%; text-align: left;
  color: var(--ink); font-family: var(--sans);
}
.acc-num { font-family: var(--mono); font-size: 13px; color: var(--purple-bright); flex: none; width: 28px; }
.acc-title { flex: 1; font-size: clamp(17px,2vw,22px); font-weight: 600; }
.acc-plus { font-family: var(--mono); font-size: 20px; color: var(--ink-faint); transition: transform .3s ease; flex: none; }
.acc-item.is-open .acc-plus { transform: rotate(45deg); color: var(--purple-bright); }
.acc-body { max-height: 0; overflow: hidden; transition: max-height .4s ease; }
.acc-item.is-open .acc-body { max-height: 400px; }
.acc-body-inner { padding: 0 0 28px 48px; font-size: 15.5px; color: var(--ink-dim); line-height: 1.6; max-width: 70ch; }
.acc-body-inner .ev-id { font-family: var(--mono); font-size: 12px; color: var(--ink-faint); }
html:not(.gsap-ok) .acc-body, html.no-js .acc-body { max-height: none; }

.verify-mini-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; margin-top: 50px; }
.verify-mini { }
.vm-label { font-family: var(--mono); font-size: 11.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-faint); margin-bottom: 14px; }
.vm-before { font-size: 15px; color: var(--ink-dim); text-decoration: line-through; text-decoration-color: var(--ink-faint); margin-bottom: 16px; }
.vm-after { font-size: 17px; font-weight: 600; color: var(--ink); }
.vm-note { font-size: 13.5px; color: var(--ink-faint); margin-top: 10px; }

.rec-list { display: flex; flex-direction: column; gap: 0; border-top: 1px solid var(--rule); }
.rec-row { display: grid; grid-template-columns: 1fr 1.4fr; gap: 24px; padding: 26px 0; border-bottom: 1px solid var(--rule); }
.rec-row b { font-size: 16px; color: var(--ink); font-weight: 600; }
.rec-row span { font-size: 14.5px; color: var(--ink-dim); line-height: 1.5; }

.limits-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 40px; }
.limits-row div { font-size: 14.5px; color: var(--ink-dim); padding: 10px 0; border-bottom: 1px solid var(--rule); }
.limits-row div b { color: var(--ink); font-weight: 600; }

@media (max-width: 760px) {
  .verify-mini-grid { grid-template-columns: 1fr; gap: 36px; }
  .limits-row { grid-template-columns: 1fr; }
  .rec-row { grid-template-columns: 1fr; gap: 8px; }
  .acc-body-inner { padding-left: 0; }
}
