/* Caladrius Homepage V3 - extracted from standalone bundle on 2026-04-23 */
/* Source: Caladrius Homepage V3 _standalone_ (3).html */

/* ===== Font faces ===== */
/* vietnamese */
@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/v3/fraunces-italic-400.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: 'Fraunces';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/v3/fraunces-italic-400-2.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: 'Fraunces';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/v3/fraunces-italic-400-3.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/v3/fraunces-normal-500.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: 'Fraunces';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/v3/fraunces-normal-500-2.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: 'Fraunces';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/v3/fraunces-normal-500-3.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/v3/fraunces-normal-500.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: 'Fraunces';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/v3/fraunces-normal-500-2.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: 'Fraunces';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/v3/fraunces-normal-500-3.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/v3/inter-normal-600.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/v3/inter-normal-600-2.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/v3/inter-normal-600-3.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/v3/inter-normal-600-4.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/v3/inter-normal-600-5.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/v3/inter-normal-600-6.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/v3/inter-normal-600-7.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: 450;
  font-display: swap;
  src: url("/assets/fonts/v3/inter-normal-600.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: 450;
  font-display: swap;
  src: url("/assets/fonts/v3/inter-normal-600-2.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: 450;
  font-display: swap;
  src: url("/assets/fonts/v3/inter-normal-600-3.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 450;
  font-display: swap;
  src: url("/assets/fonts/v3/inter-normal-600-4.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: 450;
  font-display: swap;
  src: url("/assets/fonts/v3/inter-normal-600-5.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: 450;
  font-display: swap;
  src: url("/assets/fonts/v3/inter-normal-600-6.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: 450;
  font-display: swap;
  src: url("/assets/fonts/v3/inter-normal-600-7.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/v3/inter-normal-600.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/v3/inter-normal-600-2.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/v3/inter-normal-600-3.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/v3/inter-normal-600-4.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/v3/inter-normal-600-5.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/v3/inter-normal-600-6.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/v3/inter-normal-600-7.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/v3/inter-normal-600.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/v3/inter-normal-600-2.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/v3/inter-normal-600-3.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/v3/inter-normal-600-4.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/v3/inter-normal-600-5.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/v3/inter-normal-600-6.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/v3/inter-normal-600-7.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("/assets/fonts/v3/jetbrains-mono-normal-500.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("/assets/fonts/v3/jetbrains-mono-normal-500-2.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("/assets/fonts/v3/jetbrains-mono-normal-500-3.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("/assets/fonts/v3/jetbrains-mono-normal-500-4.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("/assets/fonts/v3/jetbrains-mono-normal-500-5.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/v3/jetbrains-mono-normal-500-6.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("/assets/fonts/v3/jetbrains-mono-normal-500.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("/assets/fonts/v3/jetbrains-mono-normal-500-2.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("/assets/fonts/v3/jetbrains-mono-normal-500-3.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("/assets/fonts/v3/jetbrains-mono-normal-500-4.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("/assets/fonts/v3/jetbrains-mono-normal-500-5.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/v3/jetbrains-mono-normal-500-6.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;
}

/* ===== Main styles ===== */
/* =========================================
     V2 — SYSTEM TOKENS
     4px / 8px spacing rhythm · 12-col grid
  ========================================= */
  :root{
    /* Ink scale (neutrals) */
    --ink-0:#FFFFFF;
    --ink-50:#F8F7F3;      /* paper */
    --ink-100:#EFEDE7;     /* band */
    --ink-200:#E2DFD6;     /* rule-soft */
    --ink-300:#C9C5BA;     /* rule */
    --ink-400:#8B8E93;     /* faint */
    --ink-500:#5C6069;     /* body */
    --ink-600:#3E434D;     /* strong */
    --ink-700:#252A36;     /* heading */
    --ink-800:#141924;     /* near black */
    --ink-900:#0A0F1A;     /* ink */

    /* Brand teal (deep, trust) */
    --teal-100:#E3EFED;
    --teal-300:#7DB7B0;
    --teal-500:#0F766E;
    --teal-600:#0C5F58;
    --teal-700:#094743;

    /* Signal (restrained) */
    --signal:#B54848;
    --signal-50:#F5E9E7;

    /* Spacing scale (4px rhythm) */
    --s-1:4px;  --s-2:8px;  --s-3:12px; --s-4:16px;
    --s-5:20px; --s-6:24px; --s-8:32px; --s-10:40px;
    --s-12:48px; --s-16:64px; --s-20:80px; --s-24:96px;
    --s-32:128px;

    /* Grid & rhythm */
    --container:1240px;
    --gutter:24px;
    --pad-x:clamp(24px,5vw,64px);
    --section-y:clamp(80px,10vw,128px);

    /* Type (Fraunces + Inter + JetBrains Mono) */
    --sans:'Inter','Helvetica Neue',system-ui,sans-serif;
    --serif:'Fraunces',Georgia,serif;
    --mono:'JetBrains Mono',ui-monospace,monospace;

    /* Type scale */
    --fs-display:clamp(52px,7vw,96px);
    --fs-h1:clamp(42px,5.6vw,76px);
    --fs-h2:clamp(32px,4.2vw,56px);
    --fs-h3:clamp(24px,2.6vw,34px);
    --fs-h4:20px;
    --fs-lead:18px;
    --fs-body:15px;
    --fs-small:13px;
    --fs-caption:11.5px;

    /* Motion */
    --ease:cubic-bezier(.22,1,.36,1);
    --ease-io:cubic-bezier(.4,0,.2,1);

    /* Semantic (light) */
    --bg:var(--ink-50);
    --surface:var(--ink-0);
    --surface-2:var(--ink-100);
    --text:var(--ink-700);
    --text-strong:var(--ink-900);
    --text-muted:var(--ink-500);
    --text-faint:var(--ink-400);
    --rule:var(--ink-200);
    --rule-strong:var(--ink-300);
    --accent:var(--teal-500);
    --accent-soft:var(--teal-100);
  }

  /* =========================================
     DARK MODE — designed, not inverted
  ========================================= */
  body.dark{
    --bg:#070A12;
    --surface:#0D111C;
    --surface-2:#141A27;
    --text:#E5E4DE;
    --text-strong:#F3F1EA;
    --text-muted:#9CA0A8;
    --text-faint:#5F6470;
    --rule:rgba(255,255,255,.07);
    --rule-strong:rgba(255,255,255,.14);
    --accent:#3DBDB1;
    --accent-soft:rgba(61,189,177,.12);
  }

  /* =========================================
     RESET + BASE
  ========================================= */
  *,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:var(--sans);
    font-size:var(--fs-body);
    line-height:1.55;
    color:var(--text);
    background:var(--bg);
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
    overflow-x:hidden;
    transition:background .45s var(--ease), color .45s var(--ease);
  }
  img,svg,video{display:block;max-width:100%;}
  a{color:inherit;text-decoration:none;}
  button{font-family:inherit;cursor:pointer;}
  ::selection{background:var(--accent);color:#fff;}

  h1,h2,h3,h4,h5{
    font-family:var(--serif);
    font-weight:400;
    color:var(--text-strong);
    letter-spacing:-.02em;
    line-height:1.06;
  }
  h1{font-size:var(--fs-h1);}
  h2{font-size:var(--fs-h2);}
  h3{font-size:var(--fs-h3);}
  h4{font-size:var(--fs-h4);line-height:1.2;}
  .em{font-style:italic;color:var(--accent);font-weight:400;}

  /* =========================================
     PRIMITIVES
  ========================================= */
  .container{
    max-width:var(--container);margin:0 auto;
    padding-left:var(--pad-x);padding-right:var(--pad-x);
  }
  .eyebrow{
    font-family:var(--mono);
    font-size:var(--fs-caption);
    font-weight:500;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:var(--accent);
    display:inline-flex;align-items:center;gap:var(--s-3);
  }
  .eyebrow::before{
    content:'';width:6px;height:6px;border-radius:50%;
    background:var(--accent);
  }
  .lede{font-size:var(--fs-lead);line-height:1.55;color:var(--text-muted);max-width:58ch;}
  .mono{font-family:var(--mono);letter-spacing:.08em;}

  /* Buttons */
  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);
    font-family:var(--sans);font-size:13.5px;font-weight:500;
    padding:12px 22px;border-radius:8px;border:1px solid transparent;
    white-space:nowrap;transition:all .2s var(--ease-io);
    letter-spacing:.005em;
  }
  .btn-primary{background:var(--text-strong);color:var(--bg);}
  .btn-primary:hover{background:var(--accent);color:#fff;transform:translateY(-1px);}
  .btn-ghost{background:transparent;color:var(--text);border-color:var(--rule-strong);}
  .btn-ghost:hover{border-color:var(--text-strong);color:var(--text-strong);}
  .btn-teal{background:var(--accent);color:#fff;}
  .btn-teal:hover{background:var(--teal-600);transform:translateY(-1px);}

  /* Reveal */
  .reveal{opacity:0;transform:translateY(20px);transition:opacity .75s var(--ease), transform .75s var(--ease);}
  .reveal.in{opacity:1;transform:translateY(0);}

  /* =========================================
     NAVBAR — stable, structured
  ========================================= */
  .topbar{
    position:sticky;top:0;z-index:50;
    background:color-mix(in srgb, var(--bg) 86%, transparent);
    backdrop-filter:saturate(140%) blur(14px);
    -webkit-backdrop-filter:saturate(140%) blur(14px);
    border-bottom:1px solid var(--rule);
  }
  .nav{display:flex;align-items:center;height:72px;gap:var(--s-10);}
  .logo{
    font-family:var(--serif);font-size:21px;color:var(--text-strong);
    letter-spacing:-.01em;font-weight:500;
  }
  .logo em{font-style:italic;color:var(--accent);font-weight:400;}

  .nav-mid{display:flex;gap:2px;margin-left:auto;align-items:center;}
  .nav-link{
    position:relative;
    font-size:13.5px;font-weight:450;color:var(--text-muted);
    padding:10px 16px;border-radius:6px;
    transition:color .15s var(--ease-io);
    display:inline-flex;align-items:center;gap:var(--s-2);
  }
  .nav-link::after{
    content:'';position:absolute;left:16px;right:16px;bottom:6px;
    height:1px;background:var(--accent);transform:scaleX(0);
    transform-origin:left center;transition:transform .25s var(--ease-io);
  }
  .nav-link:hover{color:var(--text-strong);}
  .nav-link:hover::after,.nav-link[aria-current]::after{transform:scaleX(1);}

  /* ECG — integrated into nav */
  .nav-ecg{display:inline-flex;align-items:center;gap:8px;}
  .nav-ecg svg{flex-shrink:0;}
  .ecg-path{
    stroke:var(--accent);stroke-width:1.5;fill:none;
    stroke-dasharray:120;stroke-dashoffset:120;
    animation:ecg 2.8s var(--ease-io) infinite;
  }
  @keyframes ecg{
    0%{stroke-dashoffset:120;opacity:1;}
    45%{stroke-dashoffset:0;opacity:1;}
    70%{stroke-dashoffset:0;opacity:.2;}
    100%{stroke-dashoffset:-120;opacity:0;}
  }

  .nav-cta{margin-left:var(--s-4);}
  .nav-hamburger{display:none;width:40px;height:40px;align-items:center;justify-content:center;background:transparent;border:1px solid var(--rule-strong);border-radius:8px;margin-left:auto;}
  .nav-hamburger span{display:block;width:16px;height:1.5px;background:var(--text);position:relative;}
  .nav-hamburger span::before,.nav-hamburger span::after{content:'';position:absolute;left:0;width:16px;height:1.5px;background:var(--text);}
  .nav-hamburger span::before{top:-5px;}
  .nav-hamburger span::after{top:5px;}

  /* =========================================
     HERO — cinematic, balanced
  ========================================= */
  .hero{padding:var(--s-24) 0 0;position:relative;}
  .hero-grid{
    display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
    gap:var(--s-16);align-items:center;min-height:min(640px,72vh);
  }
  .hero-copy{max-width:560px;}
  .hero-eyebrow{margin-bottom:var(--s-8);}
  .hero-h1{
    font-size:var(--fs-h1);line-height:1;letter-spacing:-.025em;
    color:var(--text-strong);font-weight:400;
    margin-bottom:var(--s-8);
  }
  .hero-h1 span{display:block;}
  .hero-lead{
    font-size:var(--fs-lead);line-height:1.55;color:var(--text-muted);
    max-width:48ch;margin-bottom:var(--s-10);
  }
  .hero-lead strong{color:var(--text-strong);font-weight:500;}
  .hero-cta{display:flex;gap:var(--s-3);flex-wrap:wrap;margin-bottom:var(--s-16);}
  .hero-cta .btn{padding:14px 26px;font-size:14px;}
  .hero-meta{
    display:flex;align-items:center;gap:var(--s-4);
    font-family:var(--mono);font-size:var(--fs-caption);
    color:var(--text-faint);letter-spacing:.12em;text-transform:uppercase;
    padding-top:var(--s-6);border-top:1px solid var(--rule);
  }
  .hero-meta .dot{
    width:6px;height:6px;border-radius:50%;background:var(--accent);
    box-shadow:0 0 0 3px var(--accent-soft);
    animation:pulseDot 1.8s var(--ease-io) infinite;
  }
  @keyframes pulseDot{0%,100%{opacity:1;}50%{opacity:.4;}}

  /* Video stage — cinematic, not decorative */
  .hero-stage{
    position:relative;aspect-ratio:1/1;max-width:560px;margin-left:auto;
    display:flex;align-items:center;justify-content:center;
  }
  .hero-stage-frame{
    position:absolute;inset:0;border:1px solid var(--rule);border-radius:20px;
    background:radial-gradient(circle at 50% 40%, var(--accent-soft) 0%, transparent 58%);
    pointer-events:none;
  }
  body.dark .hero-stage-frame{background:radial-gradient(circle at 50% 40%, rgba(61,189,177,.08) 0%, transparent 60%);}
  .hero-stage-corner{
    position:absolute;width:28px;height:28px;border:1px solid var(--accent);
    pointer-events:none;opacity:.65;
  }
  .hero-stage-corner.tl{top:16px;left:16px;border-right:0;border-bottom:0;}
  .hero-stage-corner.tr{top:16px;right:16px;border-left:0;border-bottom:0;}
  .hero-stage-corner.bl{bottom:16px;left:16px;border-right:0;border-top:0;}
  .hero-stage-corner.br{bottom:16px;right:16px;border-left:0;border-top:0;}
  .hero-stage-label{
    position:absolute;top:20px;left:20px;z-index:2;
    font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;
    color:var(--text-faint);display:flex;align-items:center;gap:8px;
  }
  .hero-stage-label .dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);animation:pulseDot 1.8s var(--ease-io) infinite;}
  .hero-stage-caption{
    position:absolute;bottom:20px;left:20px;right:20px;z-index:2;
    display:flex;justify-content:space-between;align-items:flex-end;gap:16px;
  }
  .hero-stage-caption .q{
    font-family:var(--serif);font-style:italic;font-size:13px;
    color:var(--text-faint);max-width:28ch;line-height:1.4;
  }
  .hero-stage-caption .t{
    font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
    color:var(--text-faint);text-align:right;
  }
  .hero-video{
    width:82%;height:82%;object-fit:contain;
    mix-blend-mode:multiply;
    animation:birdFloat 7s var(--ease-io) infinite;
  }
  body.dark .hero-video{mix-blend-mode:screen;filter:brightness(1.1) contrast(1.1);}
  @keyframes birdFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-12px);}}

  /* =========================================
     TRUST / SIGNAL STRIP
  ========================================= */
  .signal-strip{
    margin-top:var(--s-20);padding:var(--s-6) 0;
    border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);
  }
  .signal-inner{
    display:grid;grid-template-columns:auto 1fr auto;gap:var(--s-10);align-items:center;
  }
  .signal-label{
    font-family:var(--mono);font-size:var(--fs-caption);
    letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);
  }
  .signal-certs{display:flex;gap:var(--s-8);align-items:center;flex-wrap:wrap;}
  .cert{
    font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;
    color:var(--text-muted);font-weight:500;
    display:inline-flex;align-items:center;gap:var(--s-2);
  }
  .cert::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--accent);opacity:.7;}
  .signal-pulse{
    display:flex;align-items:center;gap:10px;
    font-family:var(--mono);font-size:var(--fs-caption);
    letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);
  }
  .signal-pulse svg{flex-shrink:0;}

  /* =========================================
     SECTION BASE
  ========================================= */
  section.band{padding:var(--section-y) 0;}
  .section-head{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-16);align-items:end;margin-bottom:var(--s-16);}
  .section-head.stacked{grid-template-columns:1fr;gap:var(--s-4);align-items:start;}
  .section-h2{
    font-size:var(--fs-h2);margin-top:var(--s-5);
    letter-spacing:-.02em;line-height:1.04;
  }
  .section-sub{font-size:16px;line-height:1.65;color:var(--text-muted);max-width:58ch;}

  /* =========================================
     PROBLEM — data-grid
  ========================================= */
  .prob{background:var(--surface-2);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);}
  body.dark .prob{background:#0A0E18;}
  .prob-head{
    display:grid;grid-template-columns:1.3fr 1fr;gap:var(--s-16);align-items:end;margin-bottom:var(--s-16);
  }
  .prob-figure{text-align:right;}
  .prob-figure .n{
    font-family:var(--serif);font-size:var(--fs-display);line-height:.9;
    color:var(--text-strong);letter-spacing:-.03em;
  }
  .prob-figure .n em{font-style:italic;color:var(--accent);font-size:.55em;margin-left:8px;}
  .prob-figure .l{
    margin-top:var(--s-3);
    font-family:var(--mono);font-size:var(--fs-caption);
    letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);
  }

  .prob-grid{
    display:grid;grid-template-columns:repeat(12,1fr);
    gap:1px;background:var(--rule);
    border:1px solid var(--rule);border-radius:14px;overflow:hidden;
  }
  .pcell{background:var(--surface);padding:var(--s-8) var(--s-8) var(--s-10);grid-column:span 4;}
  .pcell.wide{grid-column:span 6;}
  .pcell.full{
    grid-column:span 12;background:var(--text-strong);color:var(--bg);
    display:grid;grid-template-columns:1fr auto;align-items:center;
    gap:var(--s-8);padding:var(--s-10) var(--s-8);
  }
  .pcell.full .pn,.pcell.full .pl{color:var(--bg);}
  .pcell.full .pl{color:rgba(255,255,255,.65);}
  body.dark .pcell.full{background:#020612;}
  body.dark .pcell.full .pn,body.dark .pcell.full .pl{color:#fff;}

  .ptag{
    display:inline-block;font-family:var(--mono);font-size:10.5px;
    letter-spacing:.12em;text-transform:uppercase;padding:4px 10px;
    border-radius:4px;background:var(--surface-2);color:var(--text-muted);
    margin-bottom:var(--s-4);
  }
  .ptag.bad{background:var(--signal-50);color:var(--signal);}
  .ptag.good{background:var(--accent-soft);color:var(--accent);}
  body.dark .ptag.bad{background:rgba(224,118,118,.1);color:#E07676;}
  .pn{
    font-family:var(--serif);font-size:38px;color:var(--text-strong);
    line-height:1;letter-spacing:-.02em;
  }
  .pn em{color:var(--signal);font-style:italic;}
  body.dark .pn em{color:#E07676;}
  .pl{margin-top:var(--s-3);font-size:13.5px;line-height:1.55;color:var(--text-muted);max-width:40ch;}

  /* =========================================
     PILLARS — editorial comparison
  ========================================= */
  .pillars{background:var(--bg);}
  .pillar{
    display:grid;grid-template-columns:128px minmax(0,1fr) minmax(0,1.1fr);
    gap:var(--s-12);padding:var(--s-12) 0;
    border-top:1px solid var(--rule);align-items:start;
  }
  .pillar:last-child{border-bottom:1px solid var(--rule);}
  .pillar-num{
    font-family:var(--serif);font-size:56px;line-height:.9;
    color:var(--text-faint);letter-spacing:-.03em;font-feature-settings:"tnum";
  }
  .pillar-tag{
    font-family:var(--mono);font-size:var(--fs-caption);letter-spacing:.14em;
    text-transform:uppercase;color:var(--accent);font-weight:500;
    margin-bottom:var(--s-3);
  }
  .pillar-title{font-size:var(--fs-h3);margin-bottom:var(--s-4);line-height:1.12;}
  .pillar-desc{font-size:15px;line-height:1.65;color:var(--text-muted);max-width:44ch;}
  .pillar-proof{
    margin-top:var(--s-5);font-family:var(--mono);font-size:12px;
    color:var(--accent);letter-spacing:.04em;
  }

  .pdata{
    display:grid;grid-template-columns:1fr 1fr;
    border:1px solid var(--rule);border-radius:12px;overflow:hidden;
    background:var(--surface);
  }
  .pd-col{padding:var(--s-6);border-right:1px solid var(--rule);}
  .pd-col:last-child{border-right:none;background:var(--text-strong);color:var(--bg);}
  .pd-col:last-child .pd-label{color:rgba(255,255,255,.45);}
  .pd-col:last-child .pd-item{color:rgba(255,255,255,.9);border-color:rgba(255,255,255,.08);}
  .pd-col:last-child .pd-item::before{background:var(--accent);}
  body.dark .pd-col:last-child{background:#020612;}
  .pd-label{
    font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;
    text-transform:uppercase;color:var(--text-faint);margin-bottom:var(--s-4);
  }
  .pd-item{
    display:flex;align-items:center;gap:10px;
    padding:10px 0;border-bottom:1px dashed var(--rule);
    font-size:13.5px;color:var(--text);
  }
  .pd-item:last-child{border-bottom:none;}
  .pd-item::before{
    content:'';width:4px;height:4px;border-radius:50%;
    background:var(--text-faint);flex-shrink:0;
  }

  /* =========================================
     MARKET
  ========================================= */
  .market{background:var(--surface-2);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);}
  body.dark .market{background:#0A0E18;}
  .market-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-5);}
  .mcard{
    background:var(--surface);border:1px solid var(--rule);border-radius:12px;
    padding:var(--s-8) var(--s-8) var(--s-10);display:flex;flex-direction:column;gap:var(--s-4);
    transition:border-color .2s var(--ease-io), transform .2s var(--ease-io);
  }
  .mcard:hover{border-color:var(--rule-strong);transform:translateY(-2px);}
  .mcard.primary{background:var(--text-strong);color:var(--bg);border-color:var(--text-strong);}
  body.dark .mcard.primary{background:#020612;border-color:#020612;}
  .mcard.primary .mc-label{color:rgba(255,255,255,.5);}
  .mcard.primary .mc-num{color:#fff;}
  .mcard.primary .mc-desc{color:rgba(255,255,255,.65);}
  .mcard.primary .mc-tag{background:rgba(61,189,177,.18);color:#7FD1C8;}

  .mc-label{
    font-family:var(--mono);font-size:var(--fs-caption);
    letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);
  }
  .mc-num{
    font-family:var(--serif);font-size:56px;line-height:.98;
    letter-spacing:-.025em;color:var(--text-strong);
  }
  .mc-num small{font-size:.44em;color:var(--accent);margin-left:4px;}
  .mc-tag{
    display:inline-block;align-self:flex-start;
    font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;
    padding:4px 10px;border-radius:4px;
    background:var(--accent-soft);color:var(--accent);
  }
  .mc-desc{font-size:13.5px;line-height:1.6;color:var(--text-muted);}

  /* =========================================
     TEAM
  ========================================= */
  .team{background:var(--bg);}
  .team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s-6);}
  .team-card{
    background:var(--surface);border:1px solid var(--rule);border-radius:14px;
    padding:var(--s-8);display:grid;grid-template-columns:96px 1fr;
    gap:var(--s-6);align-items:center;
    transition:border-color .2s var(--ease-io);
  }
  .team-card:hover{border-color:var(--rule-strong);}
  .team-photo{
    width:96px;height:96px;border-radius:50%;
    background:var(--surface-2);overflow:hidden;flex-shrink:0;
    display:flex;align-items:center;justify-content:center;
    font-family:var(--serif);font-size:32px;color:var(--text-faint);
    border:1px solid var(--rule);
  }
  .team-photo img{width:100%;height:100%;object-fit:cover;object-position:top;}
  .team-name{font-family:var(--serif);font-size:22px;color:var(--text-strong);letter-spacing:-.01em;}
  .team-role{
    font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;
    text-transform:uppercase;color:var(--accent);margin:6px 0 10px;
  }
  .team-bio{font-size:13.5px;line-height:1.6;color:var(--text-muted);max-width:38ch;}

  /* =========================================
     PULSE
  ========================================= */
  .pulse-section{background:var(--surface-2);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);}
  body.dark .pulse-section{background:#0A0E18;}
  .pulse-head-row{display:flex;justify-content:space-between;align-items:end;gap:var(--s-6);flex-wrap:wrap;margin-bottom:var(--s-12);}
  .pulse-title-wrap{display:flex;align-items:center;gap:var(--s-4);margin-top:var(--s-3);}
  .pulse-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-6);}
  .pulse-card{
    background:var(--surface);border:1px solid var(--rule);border-radius:12px;
    padding:var(--s-8);display:flex;flex-direction:column;gap:var(--s-4);
    min-height:260px;
    transition:border-color .2s var(--ease-io), transform .2s var(--ease-io);
  }
  .pulse-card:hover{border-color:var(--rule-strong);transform:translateY(-2px);}
  .pulse-series{
    font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;
    text-transform:uppercase;color:var(--accent);
  }
  .pulse-title{
    font-family:var(--serif);font-size:20px;line-height:1.22;
    color:var(--text-strong);letter-spacing:-.01em;
  }
  .pulse-excerpt{font-size:13.5px;line-height:1.6;color:var(--text-muted);flex-grow:1;}
  .pulse-foot{
    display:flex;justify-content:space-between;align-items:center;
    padding-top:var(--s-4);border-top:1px solid var(--rule);
    font-size:12px;
  }
  .pulse-date{color:var(--text-faint);font-family:var(--mono);letter-spacing:.06em;}
  .pulse-read{color:var(--accent);font-weight:500;}

  /* =========================================
     CONTACT (dark regardless of theme)
  ========================================= */
  .contact{background:var(--ink-900);color:#fff;}
  body.dark .contact{background:#050A16;}
  .contact .eyebrow{color:#7FD1C8;}
  .contact .eyebrow::before{background:#7FD1C8;}
  .contact h2{color:#fff;}
  .contact .section-sub{color:rgba(255,255,255,.65);}
  .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-20);margin-top:var(--s-12);}

  .ci-block{padding:var(--s-5) 0;border-bottom:1px solid rgba(255,255,255,.08);}
  .ci-block:last-child{border-bottom:none;}
  .ci-label{font-family:var(--mono);font-size:var(--fs-caption);letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:var(--s-2);}
  .ci-value{font-family:var(--serif);font-size:20px;color:#fff;letter-spacing:-.01em;}
  .ci-value a{color:#7FD1C8;}
  .ci-sub{margin-top:6px;font-size:13px;color:rgba(255,255,255,.55);}
  .ci-certs{display:flex;gap:var(--s-2);flex-wrap:wrap;margin-top:var(--s-3);}
  .ci-certs span{font-family:var(--mono);font-size:11px;padding:4px 10px;border-radius:4px;background:rgba(255,255,255,.06);color:rgba(255,255,255,.85);letter-spacing:.08em;}

  .form{display:flex;flex-direction:column;gap:var(--s-4);}
  .form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-4);}
  .field label{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:var(--s-2);}
  .field input,.field textarea{
    width:100%;padding:12px 14px;font-family:var(--sans);font-size:14px;
    background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);
    border-radius:8px;color:#fff;outline:none;
    transition:border-color .15s var(--ease-io), background .15s var(--ease-io);
  }
  .field textarea{min-height:108px;resize:vertical;}
  .field input:focus,.field textarea:focus{border-color:#7FD1C8;background:rgba(255,255,255,.06);}
  .field input::placeholder,.field textarea::placeholder{color:rgba(255,255,255,.3);}
  .form-submit{
    padding:14px 20px;background:var(--accent);color:#fff;border:none;
    font-size:14px;font-weight:500;border-radius:8px;cursor:pointer;
    margin-top:var(--s-1);transition:background .18s var(--ease-io);
  }
  .form-submit:hover{background:var(--teal-600);}
  .form-note{font-family:var(--mono);font-size:11px;color:rgba(255,255,255,.4);letter-spacing:.04em;}

  .myth{
    grid-column:1/-1;margin-top:var(--s-12);padding:var(--s-8) 0 0;
    border-top:1px solid rgba(255,255,255,.08);
    display:grid;grid-template-columns:auto 1fr;gap:var(--s-6);align-items:center;
  }
  .myth-tag{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#7FD1C8;}
  .myth-quote{font-family:var(--serif);font-style:italic;font-size:17px;line-height:1.55;color:rgba(255,255,255,.8);max-width:68ch;}

  /* =========================================
     FOOTER
  ========================================= */
  footer{background:#050810;color:rgba(255,255,255,.6);padding:var(--s-12) 0 var(--s-6);border-top:1px solid rgba(255,255,255,.06);}
  .foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--s-10);margin-bottom:var(--s-8);}
  .foot-col h5{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:var(--s-4);font-weight:500;}
  .foot-link{display:block;font-size:13.5px;color:rgba(255,255,255,.65);padding:4px 0;transition:color .15s var(--ease-io);}
  .foot-link:hover{color:#fff;}
  .foot-logo{font-family:var(--serif);font-size:22px;color:#fff;letter-spacing:-.01em;}
  .foot-logo em{color:#7FD1C8;font-style:italic;}
  .foot-tag{margin-top:10px;font-size:13px;color:rgba(255,255,255,.45);max-width:36ch;line-height:1.55;}
  .foot-bot{
    padding-top:var(--s-6);border-top:1px solid rgba(255,255,255,.08);
    display:flex;justify-content:space-between;align-items:center;
    font-size:12px;color:rgba(255,255,255,.4);
    font-family:var(--mono);letter-spacing:.04em;flex-wrap:wrap;gap:var(--s-3);
  }
  .theme-toggle{
    background:transparent;border:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.65);
    font-family:var(--mono);font-size:11px;padding:7px 14px;border-radius:20px;cursor:pointer;
    letter-spacing:.1em;transition:all .2s var(--ease-io);
    display:inline-flex;align-items:center;gap:8px;
  }
  .theme-toggle:hover{border-color:#7FD1C8;color:#7FD1C8;}
  .theme-toggle svg{width:12px;height:12px;}

  /* =========================================
     CHATBOT — embedded, minimal, intelligent
  ========================================= */
  .caddy{
    position:fixed;bottom:24px;right:24px;z-index:60;
    font-family:var(--sans);
  }
  .caddy-launcher{
    display:flex;align-items:center;gap:10px;
    padding:10px 14px 10px 10px;
    background:var(--surface);
    border:1px solid var(--rule-strong);
    border-radius:999px;
    color:var(--text-strong);
    font-size:13px;font-weight:500;
    cursor:pointer;
    box-shadow:0 10px 30px -8px rgba(10,15,26,.18), 0 2px 8px -2px rgba(10,15,26,.06);
    transition:all .2s var(--ease-io);
  }
  body.dark .caddy-launcher{box-shadow:0 10px 30px -8px rgba(0,0,0,.5);}
  .caddy-launcher:hover{border-color:var(--accent);transform:translateY(-1px);}
  .caddy-avatar{
    width:30px;height:30px;border-radius:50%;
    background:var(--accent);color:#fff;
    display:flex;align-items:center;justify-content:center;
    font-family:var(--serif);font-size:16px;flex-shrink:0;
    font-style:italic;
  }
  .caddy-avatar::after{
    content:'';position:absolute;margin-left:22px;margin-top:22px;
    width:8px;height:8px;border-radius:50%;background:#3DBDB1;
    border:2px solid var(--surface);
  }
  .caddy-ecg{
    width:30px;height:12px;opacity:.9;
  }
  .caddy-ecg path{
    stroke:var(--accent);stroke-width:1.4;fill:none;
    stroke-dasharray:100;stroke-dashoffset:100;
    animation:ecg 2.8s var(--ease-io) infinite;
  }

  .caddy-panel{
    position:absolute;bottom:64px;right:0;width:340px;
    background:var(--surface);border:1px solid var(--rule-strong);
    border-radius:14px;overflow:hidden;
    box-shadow:0 24px 48px -16px rgba(10,15,26,.25), 0 4px 12px -4px rgba(10,15,26,.1);
    transform-origin:bottom right;transform:scale(.96) translateY(6px);opacity:0;
    pointer-events:none;transition:all .22s var(--ease-io);
  }
  body.dark .caddy-panel{box-shadow:0 24px 48px -16px rgba(0,0,0,.6);}
  .caddy-panel.open{transform:scale(1) translateY(0);opacity:1;pointer-events:auto;}
  .caddy-head{
    padding:14px 16px;border-bottom:1px solid var(--rule);
    display:flex;justify-content:space-between;align-items:center;
  }
  .caddy-head-l{display:flex;align-items:center;gap:10px;}
  .caddy-title{font-family:var(--serif);font-size:15px;color:var(--text-strong);letter-spacing:-.005em;}
  .caddy-status{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-top:2px;display:flex;align-items:center;gap:4px;}
  .caddy-status::before{content:'';width:5px;height:5px;border-radius:50%;background:#3DBDB1;}
  .caddy-close{background:transparent;border:none;color:var(--text-faint);font-size:20px;line-height:1;padding:4px 8px;}
  .caddy-close:hover{color:var(--text-strong);}
  .caddy-body{padding:16px;display:flex;flex-direction:column;gap:10px;max-height:320px;overflow-y:auto;}
  .caddy-msg{
    padding:10px 12px;border-radius:10px;font-size:13px;line-height:1.5;
    max-width:85%;
  }
  .caddy-msg.bot{background:var(--surface-2);color:var(--text);align-self:flex-start;border-bottom-left-radius:3px;}
  .caddy-msg.user{background:var(--accent);color:#fff;align-self:flex-end;border-bottom-right-radius:3px;}
  .caddy-suggests{display:flex;flex-direction:column;gap:6px;margin-top:6px;}
  .caddy-sug{
    text-align:left;padding:8px 12px;
    background:transparent;border:1px solid var(--rule);border-radius:8px;
    font-size:12px;color:var(--text-muted);
    cursor:pointer;transition:all .15s var(--ease-io);
  }
  .caddy-sug:hover{border-color:var(--accent);color:var(--accent);}
  .caddy-input{
    padding:12px 14px;border-top:1px solid var(--rule);
    display:flex;gap:8px;align-items:center;
  }
  .caddy-input input{
    flex:1;background:transparent;border:none;outline:none;
    font-family:var(--sans);font-size:13px;color:var(--text);
  }
  .caddy-input input::placeholder{color:var(--text-faint);}
  .caddy-send{
    width:30px;height:30px;border-radius:8px;border:none;
    background:var(--accent);color:#fff;
    display:flex;align-items:center;justify-content:center;
  }
  .caddy-send:hover{background:var(--teal-600);}

  /* =========================================
     V3 · PILLARS PARALLAX  (scoped — cards only)
     ---------------------------------------
     ONLY the 4 pillar cards move. Max 6–10px of travel, with a small
     per-card variation. Nothing else on the page is affected: no
     background layer, no headline drift, no other sections.
     Disabled below 768px and for prefers-reduced-motion.
  ========================================= */
  .pillar{
    will-change:transform;
    transform:translate3d(0, var(--py-card,0px), 0);
  }

  /* Mobile + reduced motion: neutralise all parallax transforms */
  @media (max-width:767.98px){
    .pillar{transform:none !important; will-change:auto;}
  }
  @media (prefers-reduced-motion:reduce){
    .pillar{transform:none !important; will-change:auto;}
  }

  /* =========================================
     RESPONSIVE
  ========================================= */
  @media (max-width:1024px){
    .hero-grid{grid-template-columns:1fr;gap:var(--s-12);min-height:auto;}
    .hero-stage{margin:0 auto;max-width:480px;}
    .prob-head{grid-template-columns:1fr;gap:var(--s-6);align-items:start;}
    .prob-figure{text-align:left;}
    .pillar{grid-template-columns:1fr;gap:var(--s-6);padding:var(--s-10) 0;}
    .pillar-num{font-size:44px;}
    .pdata{grid-template-columns:1fr;}
    .pd-col{border-right:none;border-bottom:1px solid var(--rule);}
    .pd-col:last-child{border-bottom:none;}
    .section-head{grid-template-columns:1fr;gap:var(--s-6);align-items:start;}
    .market-grid{grid-template-columns:1fr;}
    .team-grid{grid-template-columns:1fr;}
    .pulse-grid{grid-template-columns:1fr;}
    .contact-grid{grid-template-columns:1fr;gap:var(--s-12);}
    .foot-grid{grid-template-columns:1fr 1fr;gap:var(--s-8);}
    .signal-inner{grid-template-columns:1fr;gap:var(--s-4);}
    .myth{grid-template-columns:1fr;}
    .nav-mid{display:none;}
    .nav-hamburger{display:flex;}
    .nav-cta{display:none;}
    .topbar.open .nav-mid{
      display:flex;flex-direction:column;gap:0;align-items:stretch;
      position:absolute;top:72px;left:0;right:0;background:var(--bg);
      border-bottom:1px solid var(--rule);padding:16px 24px;
    }
    .topbar.open .nav-link{padding:12px 0;border-bottom:1px solid var(--rule);border-radius:0;}
    .topbar.open .nav-cta{display:flex;margin:16px 0 8px;}
    .prob-cell,.pcell{grid-column:span 6;}
    .pcell.full{grid-column:span 12;grid-template-columns:1fr;gap:var(--s-5);}
  }
  @media (max-width:640px){
    .hero{padding-top:var(--s-12);}
    .hero-cta{flex-direction:column;align-items:stretch;}
    .hero-cta .btn{width:100%;}
    .form-row{grid-template-columns:1fr;}
    .foot-grid{grid-template-columns:1fr;}
    .team-card{grid-template-columns:72px 1fr;padding:var(--s-6);gap:var(--s-5);}
    .team-photo{width:72px;height:72px;font-size:24px;}
    .pcell,.pcell.wide{grid-column:span 12;}
    .caddy{bottom:16px;right:16px;}
    .caddy-panel{width:min(92vw,340px);}
    .pn{font-size:30px;}
    .mc-num{font-size:44px;}
  }

  @media (prefers-reduced-motion:reduce){
    .ecg-path,.hero-video,.caddy-ecg path{animation:none;}
    .reveal{opacity:1;transform:none;transition:none;}
  }

/* ===== Overrides added 2026-04-23: logo image, nav email, team photos ===== */
  .logo{display:inline-flex;align-items:center;gap:0;padding:0;}
  /* Logo: keep the original PNG (teal gradient + AI badge) in light mode.
     In dark mode, invert it to a bright silhouette so it reads on the dark navbar. */
  /* Grow the navbar to fit a larger logo */
  .nav{height:96px;}
  .logo-img{
    height:84px;width:auto;display:block;
  }
  @media (max-width:640px){
    .nav{height:72px;}
    .logo-img{height:60px;}
  }

  .team-photo img{
    width:100%;height:100%;object-fit:cover;display:block;
  }

  /* Footer logo: same size as the navbar logo (84px desktop / 60px mobile) */
  .foot-logo{
    display:inline-block;
    margin-bottom:var(--s-4);
    padding:0;
    line-height:0;
  }
  .foot-logo-img{
    height:84px;width:auto;display:block;
  }
  @media (max-width:640px){
    .foot-logo-img{height:60px;}
  }

  /* V3 footer theme-toggle: styles.css:812 leaks width/height/overflow/border-radius
     and .theme-toggle svg { position:absolute } from the old blog footer's icon-flip
     design. Reassert V3's pill shape with higher-specificity selectors so blog
     renders exactly like the homepage. */
  .foot-bot .theme-toggle{
    width:auto;
    height:auto;
    overflow:visible;
    border-radius:20px;
    white-space:nowrap;
    padding:7px 14px;
  }
  .foot-bot .theme-toggle #themeLabel{
    white-space:nowrap;
  }
  .foot-bot .theme-toggle svg{
    position:static;
    width:12px;
    height:12px;
  }

  /* V3 navbar: reassert over styles.css on blog pages.
     styles.css uses [data-theme="dark"] .nav-link (specificity 0-2-0) which
     tied with our plain .nav-link; .topbar .nav-link is 0-2-0 and — since
     homepage-v3.css loads last — wins the tie. Matches V3 homepage 1:1. */
  .topbar .nav-link{
    color:var(--text-muted);
    font-weight:400;
  }
  .topbar .nav-link:hover{
    color:var(--text-strong);
  }
  .topbar .nav-link[aria-current]{
    color:var(--text-strong);
  }
  .topbar .nav-link.active{
    color:var(--text-strong);
  }

  /* V3 "Book a demo" CTA: styles.css:754 has [data-theme="dark"] .btn-primary
     (specificity 0-2-0) that forces teal bg + black text on blog pages. Counter
     with .topbar .btn-primary.nav-cta (0-3-0) so blog matches the homepage 1:1. */
  .topbar .btn-primary.nav-cta{
    background:var(--text-strong);
    color:var(--bg);
    border:1px solid transparent;
  }
  .topbar .btn-primary.nav-cta:hover{
    background:var(--accent);
    color:#fff;
    transform:none;
    opacity:1;
  }
