/* latin-ext */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/fonts/cf38d9bc-ddf4-4b57-b191-f1728ecd6b0d.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: 'Instrument Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/fonts/5c08b874-1de1-4bd0-ab2f-2d1779dde5e9.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;
}
/* latin-ext */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/fonts/cf38d9bc-ddf4-4b57-b191-f1728ecd6b0d.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: 'Instrument Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/fonts/5c08b874-1de1-4bd0-ab2f-2d1779dde5e9.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;
}
/* latin-ext */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/fonts/cf38d9bc-ddf4-4b57-b191-f1728ecd6b0d.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: 'Instrument Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/fonts/5c08b874-1de1-4bd0-ab2f-2d1779dde5e9.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/31adb1d6-89e9-4209-8cc4-3abe7477e060.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/41b18258-329d-4555-bef2-736faf983286.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/12fc977c-d87a-4c02-be27-4a372700adeb.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/c0cf0b34-abff-4583-a4b6-bb6ed1c186e4.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/685eebb9-5b0e-4c89-a90b-61880b292cd9.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/0c98ba40-ee11-4569-98d3-78d2e99ec473.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/31adb1d6-89e9-4209-8cc4-3abe7477e060.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/41b18258-329d-4555-bef2-736faf983286.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/12fc977c-d87a-4c02-be27-4a372700adeb.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/c0cf0b34-abff-4583-a4b6-bb6ed1c186e4.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/685eebb9-5b0e-4c89-a90b-61880b292cd9.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/0c98ba40-ee11-4569-98d3-78d2e99ec473.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: 'Spectral';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url("/assets/fonts/1047767d-21e4-44a2-9bf2-8a0ae2a5728a.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: 'Spectral';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url("/assets/fonts/951ed181-31be-4fe1-9dca-bb97532b05d9.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Spectral';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url("/assets/fonts/40a60ae3-2882-4458-b856-09d53af38777.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: 'Spectral';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url("/assets/fonts/982bc621-8778-4bf8-91e8-0bd4aea180cb.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: 'Spectral';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url("/assets/fonts/2c14112e-835c-42ee-be4f-d726476f3c16.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: 'Spectral';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/324af5fc-747b-4a44-bd21-f49fc8ed0f2f.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: 'Spectral';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/2b7a1b5c-a544-4298-b92b-24d67e80e2fe.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Spectral';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/2e6412ac-d692-4488-9382-2390042f7725.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: 'Spectral';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/bf99d057-2601-4358-b14b-f4e403963ce2.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: 'Spectral';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/882ef915-1b94-4a11-a0be-dd5b78dab092.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: 'Spectral';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/assets/fonts/33346364-a69e-4b08-ac17-d07830cfc467.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: 'Spectral';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/assets/fonts/0a66a6d1-ab06-442a-8a6d-4cc68b6c9546.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Spectral';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/assets/fonts/2131f19a-577e-4ed0-8fba-a61139bb33ff.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: 'Spectral';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/assets/fonts/0896edb0-71ce-4d26-8808-615a01938cc9.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: 'Spectral';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/assets/fonts/186f5202-4528-4479-9185-7d32ad226871.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: 'Spectral';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/14776c61-64fd-434e-91d6-d48ca334f286.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: 'Spectral';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/89c33ff0-298d-4dd5-a801-db76fd8b9281.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Spectral';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/484697f4-ef6e-43e9-a9fd-cede19ea81ad.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: 'Spectral';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/ab0e0e89-cecc-499b-b96e-db5d67f2c24a.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: 'Spectral';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/05951e26-7393-4825-81db-b9aeca509a74.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: 'Spectral';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/fb709e37-748d-4d0d-9a2f-0138000af4eb.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: 'Spectral';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/08cdc52f-ce75-4a92-ade2-97d2fac10eab.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Spectral';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/5e9046bf-f180-478f-8d38-034116fe99ef.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: 'Spectral';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/497f22b8-d57a-405e-b567-2987f1c4504e.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: 'Spectral';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/b346b0b8-a88d-4d6a-aaa7-5378ab09d800.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;
}

/* ───────────────────────────────────────────────────────────
   MEDISPRUDENCE — SPECIMEN STYLES
   Shared CSS for all specimen deliverables.
   Matches editorial/case-file aesthetic of medisprudence.com
   ─────────────────────────────────────────────────────────── */

:root{
  --bg:#FAF7F1;
  --bg-alt:#F1ECE0;
  --bg-inset:#EDE6D6;
  --paper:#FFFCF5;
  --ink:#1A1612;
  --ink-2:#3D352D;
  --ink-3:#76695B;
  --accent:#7A1F2B;
  --accent-text:#6B1A24;
  --accent-dim:rgba(122,31,43,.07);
  --accent-tint:rgba(122,31,43,.04);
  --accent-glow:rgba(122,31,43,.18);
  --danger:#8B2418;
  --danger-dim:rgba(139,36,24,.08);
  --danger-glow:rgba(139,36,24,.20);
  --caution:#8C6A1F;
  --caution-dim:rgba(140,106,31,.09);
  --caution-glow:rgba(140,106,31,.22);
  --rule:rgba(26,22,18,.10);
  --rule-md:rgba(26,22,18,.16);
  --rule-dark:rgba(26,22,18,.28);
  --serif:'Spectral','Georgia',serif;
  --sans:'Instrument Sans',system-ui,-apple-system,sans-serif;
  --mono:'JetBrains Mono','SF Mono',ui-monospace,monospace;
  --r-sm:2px;
  --r-md:3px;
  --r-lg:4px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-font-smoothing:antialiased;scroll-behavior:smooth}
body{
  font-family:var(--sans);
  color:var(--ink);
  line-height:1.7;
  font-size:15px;
  background:var(--bg);
  padding-top:44px;
}
a{color:inherit;text-decoration:none}
::selection{background:var(--accent);color:#fff}
*:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}

h1,h2,h3,h4{
  font-family:var(--serif);
  line-height:1.15;
  font-weight:400;
  color:var(--ink);
  letter-spacing:-.015em;
}
.mono{font-family:var(--mono)}

/* ── TOP BAR (specimen disclaimer / back nav) ── */
.top-bar{
  position:fixed;top:0;left:0;right:0;z-index:100;
  height:44px;background:rgba(250,247,241,.94);
  backdrop-filter:blur(20px) saturate(1.6);
  border-bottom:1px solid var(--rule);
  display:flex;align-items:center;gap:24px;
  padding:0 32px;
}
.top-bar a.back{
  font-family:var(--mono);font-size:11.5px;
  letter-spacing:.10em;text-transform:uppercase;
  color:var(--ink-2);
  display:inline-flex;align-items:center;gap:6px;
  transition:color .18s;
}
.top-bar a.back:hover{color:var(--accent)}
.top-bar .specimen-tag{
  font-family:var(--mono);font-size:10.5px;
  letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink-3);padding-left:20px;
  border-left:1px solid var(--rule);
}
.top-bar .specimen-tag strong{color:var(--accent-text);font-weight:500}

/* ── DOC HEADER ── */
.doc-header{
  background:var(--bg);
  padding:28px 48px 22px;
  border-bottom:1px solid var(--rule);
}
.doc-header-top{
  display:flex;justify-content:space-between;align-items:flex-end;
  padding-bottom:14px;
  border-bottom:1px solid var(--rule);
  margin-bottom:18px;
  gap:24px;flex-wrap:wrap;
}
.doc-brand{
  font-family:var(--serif);font-size:20px;font-weight:400;
  color:var(--ink);letter-spacing:-.02em;
  display:flex;align-items:center;gap:8px;
}
.doc-brand svg{color:var(--accent);flex-shrink:0}
.doc-stamp{text-align:right}
.doc-stamp-label{
  font-family:var(--mono);font-size:10px;
  letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink-3);
}
.doc-stamp-val{
  font-family:var(--mono);font-size:11.5px;
  letter-spacing:.06em;text-transform:uppercase;
  color:var(--accent-text);font-weight:500;margin-top:3px;
}
.doc-title{
  font-family:var(--serif);font-size:clamp(24px,3vw,32px);
  font-weight:400;color:var(--ink);letter-spacing:-.02em;
  margin-bottom:8px;line-height:1.15;
}
.doc-title em{font-style:italic;color:var(--accent);font-weight:400}
.doc-subtitle{
  font-size:13.5px;color:var(--ink-3);
  font-family:var(--sans);
  letter-spacing:.005em;
}

/* ── DOC NAV (anchor pills) ── */
.doc-nav{
  background:var(--bg-alt);
  border-bottom:1px solid var(--rule);
  padding:12px 48px;
  display:flex;gap:6px;flex-wrap:wrap;
}
.doc-nav a{
  font-family:var(--mono);font-size:10.5px;
  letter-spacing:.10em;text-transform:uppercase;
  color:var(--ink-2);text-decoration:none;
  padding:6px 12px;
  border:1px solid var(--rule);
  border-radius:var(--r-sm);
  background:var(--bg);
  transition:.18s;white-space:nowrap;
}
.doc-nav a:hover{
  color:var(--accent-text);
  border-color:var(--accent);
  background:var(--accent-dim);
}

/* ── BODY WRAP ── */
.doc{
  max-width:920px;
  margin:0 auto;
  padding:36px 48px 56px;
}

/* ── CASE CAPTION (file metadata) ── */
.caption{
  background:var(--bg-alt);
  border:1px solid var(--rule-md);
  border-radius:var(--r-sm);
  padding:6px 24px;
  margin-bottom:28px;
}
.caption-row{
  display:grid;grid-template-columns:1fr 1fr;gap:18px;
  padding:14px 0;
  border-bottom:1px dotted var(--rule-md);
  font-size:14px;
}
.caption-row:last-child{border-bottom:none}
.caption-label{
  font-family:var(--mono);font-size:10.5px;
  letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink-3);margin-bottom:2px;
}
.caption-val{
  font-weight:500;color:var(--ink);font-size:14.5px;
  line-height:1.5;
}

/* ── KPI / SCORECARD STRIP ── */
.kpi-strip{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border:1px solid var(--rule-md);
  border-radius:var(--r-sm);
  margin-bottom:32px;
  background:var(--bg);
  overflow:hidden;
}
.kpi-strip.cols-5{grid-template-columns:repeat(5,1fr)}
.kpi{
  padding:18px 14px;text-align:center;
  border-right:1px solid var(--rule);
  background:var(--bg);
}
.kpi:last-child{border-right:none}
.kpi-label{
  font-family:var(--mono);font-size:10px;
  letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-3);margin-bottom:8px;
}
.kpi-val{
  font-family:var(--serif);font-size:24px;
  font-weight:400;color:var(--ink);
  letter-spacing:-.01em;line-height:1.1;
}
.kpi-val.red{color:var(--danger)}
.kpi-val.amber{color:var(--caution)}
.kpi-val.green,
.kpi-val.teal{color:var(--accent)}

/* ── COMPONENT (numbered section block) ── */
.component{
  margin-bottom:36px;
  border:1px solid var(--rule-md);
  border-radius:var(--r-sm);
  overflow:hidden;
  background:var(--bg);
}
.comp-head{
  background:var(--bg-alt);
  padding:16px 24px;
  display:flex;justify-content:space-between;align-items:center;
  gap:14px;flex-wrap:wrap;
  border-bottom:1px solid var(--rule);
  position:relative;
}
.comp-head::before{
  content:"";position:absolute;left:0;top:0;bottom:0;
  width:3px;background:var(--accent);
}
.comp-head.alert::before{background:var(--danger)}
.comp-head.exclusive{
  background:var(--ink);color:#fff;
  border-bottom:1px solid var(--ink);
}
.comp-head.exclusive::before{background:var(--accent);width:3px}
.comp-num{
  font-family:var(--mono);font-size:10.5px;
  letter-spacing:.14em;text-transform:uppercase;
  color:var(--accent-text);font-weight:500;
  margin-bottom:3px;
}
.comp-head.exclusive .comp-num{color:rgba(217,205,182,.85)}
.comp-title{
  font-family:var(--serif);font-size:21px;
  font-weight:400;color:var(--ink);
  letter-spacing:-.01em;line-height:1.2;
}
.comp-head.exclusive .comp-title{color:#fff}
.comp-badge{
  font-family:var(--mono);font-size:10px;
  letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink-3);
}
.comp-head.exclusive .comp-badge{color:rgba(217,205,182,.55)}
.comp-body{padding:24px 26px}
.comp-body p{
  color:var(--ink-2);margin-bottom:11px;
  font-size:14.5px;line-height:1.75;
}
.comp-body p strong{color:var(--ink);font-weight:500}
.comp-body h3{
  font-family:var(--serif);font-size:18px;
  font-weight:400;color:var(--ink);
  margin:18px 0 8px;letter-spacing:-.01em;
}

/* ── FINDINGS (callouts) ── */
.finding{
  border-left:3px solid var(--accent);
  padding:14px 18px;margin:14px 0;
  background:var(--accent-dim);
  border-radius:0 var(--r-sm) var(--r-sm) 0;
}
.finding.warn{
  border-left-color:var(--danger);
  background:var(--danger-dim);
}
.finding.caution{
  border-left-color:var(--caution);
  background:var(--caution-dim);
}
.finding-label{
  font-family:var(--mono);font-size:10px;
  letter-spacing:.14em;text-transform:uppercase;
  font-weight:500;margin-bottom:6px;
  color:var(--accent-text);
}
.finding.warn .finding-label{color:var(--danger)}
.finding.caution .finding-label{color:var(--caution)}
.finding p{
  font-size:14px;color:var(--ink);
  margin-bottom:0;line-height:1.7;
}
.finding p + p{margin-top:8px}
.finding p strong{color:var(--ink);font-weight:600}

/* ── EXCLUSIVE / REBUTTAL (dark inset) ── */
.exclusive,
.rebuttal{
  background:var(--ink);
  color:#fff;
  padding:20px 24px;
  margin:16px 0;
  border-radius:var(--r-sm);
  border-left:3px solid var(--accent);
}
.exclusive .finding-label,
.rebuttal .finding-label{
  color:#D8A89F;letter-spacing:.16em;
  font-weight:500;margin-bottom:8px;
}
.exclusive p,
.rebuttal p{
  color:rgba(255,255,255,.82);
  font-size:14px;line-height:1.75;
}
.exclusive p strong,
.rebuttal p strong{color:#fff;font-weight:600}
.exclusive p + p,
.rebuttal p + p{margin-top:10px}

/* ── TABLES ── */
table{
  width:100%;
  border-collapse:collapse;
  margin:14px 0;
  font-size:13.5px;
  background:var(--bg);
}
th,td{
  padding:11px 13px;
  border:1px solid var(--rule);
  vertical-align:top;
  text-align:left;
  line-height:1.6;
}
thead th{
  background:var(--bg-inset);
  color:var(--ink);
  font-family:var(--sans);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:600;
  border-color:var(--rule-md);
}
tbody td:first-child{
  font-weight:500;color:var(--ink);
  background:var(--bg-alt);
}
tbody tr:nth-child(even) td{background:var(--bg-alt)}
tbody tr:nth-child(even) td:first-child{background:var(--bg-inset)}
.ref{
  font-family:var(--mono);font-size:11px;
  color:var(--accent-text);font-weight:500;
  letter-spacing:.02em;
}

/* ── TIMELINE (CMIP medmal) ── */
.timeline{
  border-left:2px solid var(--rule-md);
  margin:20px 0;
  padding-left:24px;
}
.timeline-event{
  position:relative;
  padding-bottom:22px;
}
.timeline-event:last-child{padding-bottom:0}
.timeline-event::before{
  content:"";position:absolute;
  left:-30px;top:5px;
  width:11px;height:11px;
  border-radius:50%;
  background:var(--bg);
  border:2px solid var(--rule-dark);
}
.timeline-event.critical::before{
  background:var(--danger);border-color:var(--danger);
}
.timeline-event.flag::before{
  background:var(--caution);border-color:var(--caution);
}
.timeline-event.good::before{
  background:var(--accent);border-color:var(--accent);
}
.timeline-date{
  font-family:var(--mono);font-size:11px;
  letter-spacing:.06em;
  color:var(--accent-text);font-weight:500;
  margin-bottom:4px;text-transform:uppercase;
}
.timeline-event.critical .timeline-date{color:var(--danger)}
.timeline-event.flag .timeline-date{color:var(--caution)}
.timeline-event p{
  font-size:14px;color:var(--ink-2);
  margin:0;line-height:1.7;
}
.timeline-event strong{color:var(--ink);font-weight:600}

/* ── IME QUOTE BOX ── */
.ime-quote{
  border:1px solid var(--rule-md);
  background:var(--paper);
  padding:16px 20px 14px;
  margin:14px 0;
  position:relative;
  border-radius:var(--r-sm);
}
.ime-quote::before{
  content:"IME report states";
  font-family:var(--mono);font-size:10px;
  letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-3);
  position:absolute;top:-7px;left:14px;
  background:var(--bg);padding:0 8px;
}
.ime-quote p{
  font-family:var(--serif);font-size:15px;
  color:var(--ink);font-style:italic;
  margin:0;line-height:1.55;letter-spacing:.005em;
}

/* ── DEPOSITION QUESTIONS ── */
.depo-q{counter-reset:depo;list-style:none}
.depo-q li{
  list-style:none;
  padding:14px 16px 14px 50px;
  border-bottom:1px dotted var(--rule-md);
  font-size:14px;
  color:var(--ink);
  counter-increment:depo;
  position:relative;
  line-height:1.65;
}
.depo-q li::before{
  content:"Q" counter(depo);
  position:absolute;left:14px;top:13px;
  font-family:var(--mono);font-size:11px;
  color:var(--accent-text);font-weight:500;
  letter-spacing:.05em;
}
.depo-q li:last-child{border-bottom:none}
.depo-q li em{
  font-style:italic;color:var(--ink-3);
  display:block;margin-top:5px;font-size:12.5px;
  font-family:var(--sans);
}

/* ── PRE-EXISTING GRID (DML) ── */
.pe-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;margin:16px 0;
}
.pe-card{
  border:1px solid var(--rule-md);
  border-radius:var(--r-sm);
  padding:18px 20px;
  background:var(--bg);
}
.pe-card.primary{
  border-color:var(--danger-glow);
  background:var(--danger-dim);
}
.pe-card.positive{
  border-color:var(--accent-glow);
  background:var(--accent-dim);
}
.pe-label{
  font-family:var(--mono);font-size:10.5px;
  letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink-3);margin-bottom:8px;font-weight:500;
}
.pe-card.primary .pe-label{color:var(--danger)}
.pe-card.positive .pe-label{color:var(--accent-text)}
.pe-card h4{
  font-family:var(--serif);font-size:16px;
  font-weight:500;color:var(--ink);
  margin-bottom:8px;letter-spacing:-.01em;
}
.pe-card p{
  font-size:13.5px;color:var(--ink-2);
  line-height:1.7;
}

/* ── ACTION LIST (DML) ── */
.action-list{
  list-style:none;
  display:flex;flex-direction:column;
  gap:12px;margin-top:18px;
}
.action-item{
  display:grid;
  grid-template-columns:36px 1fr;
  gap:14px;align-items:flex-start;
  border:1px solid var(--rule-md);
  border-radius:var(--r-sm);
  padding:18px 20px;
  background:var(--bg);
}
.action-item.priority{
  border-color:var(--accent-glow);
  background:var(--accent-dim);
  border-left:3px solid var(--accent);
}
.action-num{
  font-family:var(--mono);font-size:14px;
  font-weight:500;color:var(--accent-text);
  margin-top:1px;
}
.action-body strong{
  font-family:var(--serif);font-size:16px;
  font-weight:500;color:var(--ink);
  display:block;margin-bottom:6px;
  line-height:1.3;letter-spacing:-.01em;
}
.action-body p{
  font-size:13.5px;color:var(--ink-2);
  line-height:1.75;margin:0;
}
.action-body .priority-note{
  font-family:var(--mono);font-size:10px;
  letter-spacing:.14em;text-transform:uppercase;
  color:var(--accent-text);font-weight:500;
  margin-bottom:6px;
}

/* ── BADGES / PILLS ── */
.badge{
  display:inline-block;
  padding:3px 8px;
  border-radius:var(--r-sm);
  font-family:var(--mono);font-size:10px;
  letter-spacing:.10em;text-transform:uppercase;
  font-weight:500;line-height:1.4;
  border:1px solid currentColor;
}
.b-high{color:var(--danger);background:var(--danger-dim)}
.b-moderate{color:var(--caution);background:var(--caution-dim)}
.b-lowmod{color:var(--ink-2);background:var(--bg-inset)}
.b-low{color:var(--accent-text);background:var(--accent-dim)}

.pill{
  display:inline-block;
  padding:3px 10px;
  border-radius:999px;
  font-family:var(--mono);font-size:10px;
  letter-spacing:.08em;text-transform:uppercase;
  font-weight:500;
}
.pill-red{background:var(--danger-dim);color:var(--danger)}
.pill-amber{background:var(--caution-dim);color:var(--caution)}
.pill-green{background:var(--accent-dim);color:var(--accent-text)}

/* ── CASE BOX (DML) ── */
.case-box{
  background:var(--bg-alt);
  border:1px solid var(--rule-md);
  border-left:3px solid var(--ink);
  border-radius:var(--r-sm);
  padding:22px 26px;
  margin-bottom:30px;
}
.case-box-label{
  font-family:var(--mono);font-size:10.5px;
  letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-3);margin-bottom:14px;font-weight:500;
}
.case-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px 22px;
  margin-bottom:14px;
}
.ci-label{
  font-family:var(--mono);font-size:10px;
  letter-spacing:.10em;text-transform:uppercase;
  color:var(--ink-3);margin-bottom:3px;
}
.ci-val{
  font-family:var(--mono);font-size:13px;
  color:var(--ink);font-weight:500;
  line-height:1.5;letter-spacing:.01em;
}
.case-summary{
  font-size:14.5px;color:var(--ink-2);
  line-height:1.75;
  border-top:1px solid var(--rule);
  padding-top:14px;margin-top:8px;
}

/* ── SECTION (CVA + DML alternative section style) ── */
.section{margin-bottom:34px}
.sec-num{
  font-family:var(--mono);font-size:10.5px;
  letter-spacing:.16em;text-transform:uppercase;
  color:var(--accent-text);margin-bottom:8px;font-weight:500;
}
.sec-title{
  font-family:var(--serif);font-size:23px;
  font-weight:400;color:var(--ink);letter-spacing:-.015em;
  margin-bottom:6px;padding-bottom:10px;
  border-bottom:1px solid var(--ink);
}
.sec-sub{
  font-size:13.5px;color:var(--ink-3);
  margin-bottom:18px;font-style:italic;line-height:1.7;
  max-width:760px;
}
.body-text{
  font-size:14.5px;color:var(--ink-2);
  line-height:1.78;margin-bottom:14px;
}
.body-text strong{color:var(--ink);font-weight:500}

/* ── CALLOUT (DML, alternate style) ── */
.callout{
  border-left:3px solid var(--accent);
  background:var(--accent-dim);
  padding:16px 20px;
  border-radius:0 var(--r-sm) var(--r-sm) 0;
  margin:14px 0;
}
.callout.danger{
  border-left-color:var(--danger);
  background:var(--danger-dim);
}
.callout.warn{
  border-left-color:var(--caution);
  background:var(--caution-dim);
}
.callout.neutral{
  border-left-color:var(--ink-3);
  background:var(--bg-alt);
}
.callout-label{
  font-family:var(--mono);font-size:10px;
  letter-spacing:.14em;text-transform:uppercase;
  font-weight:500;margin-bottom:8px;
  color:var(--accent-text);
}
.callout.danger .callout-label{color:var(--danger)}
.callout.warn .callout-label{color:var(--caution)}
.callout.neutral .callout-label{color:var(--ink-2)}
.callout p{
  font-size:14px;color:var(--ink);
  line-height:1.75;
}
.callout p + p{margin-top:8px}

/* ── VERDICT BOX ── */
.verdict{
  border:1px solid var(--rule-md);
  border-left:3px solid var(--accent);
  background:var(--bg-alt);
  padding:24px 28px;
  margin:24px 0 8px;
  border-radius:var(--r-sm);
}
.verdict.warn{
  border-left-color:var(--danger);
  background:var(--danger-dim);
  border-color:var(--danger-glow);
}
.verdict-label{
  font-family:var(--mono);font-size:10.5px;
  letter-spacing:.16em;text-transform:uppercase;
  color:var(--accent-text);margin-bottom:10px;font-weight:500;
}
.verdict.warn .verdict-label{color:var(--danger)}
.verdict h3{
  font-family:var(--serif);font-size:22px;
  font-weight:400;color:var(--ink);
  margin-bottom:10px;letter-spacing:-.015em;line-height:1.25;
  max-width:760px;
}
.verdict.warn h3{color:var(--ink)}
.verdict p{
  font-size:14.5px;color:var(--ink-2);
  line-height:1.75;margin-top:8px;
}

/* ── DOC FOOTER + DISCLAIMER ── */
.doc-footer{
  border-top:1px solid var(--ink);
  padding-top:18px;margin-top:44px;
  display:flex;justify-content:space-between;
  font-family:var(--mono);font-size:10px;
  letter-spacing:.10em;text-transform:uppercase;
  color:var(--ink-3);gap:14px;flex-wrap:wrap;
}
.doc-footer span:first-child{color:var(--ink-2)}

.disclaimer{
  margin-top:18px;
  padding:18px 22px;
  background:var(--bg-alt);
  border-left:3px solid var(--ink);
  border-radius:0 var(--r-sm) var(--r-sm) 0;
  font-size:12.5px;
  color:var(--ink-3);
  line-height:1.75;
  font-style:italic;
}
.disclaimer strong{
  color:var(--ink-2);font-style:normal;font-weight:600;
  font-family:var(--mono);font-size:10.5px;
  letter-spacing:.14em;text-transform:uppercase;
  display:block;margin-bottom:6px;
}

/* ── TABLE-OVERFLOW WRAPPER ── */
.table-wrap{
  overflow-x:auto;margin:14px 0;
  border-radius:var(--r-sm);
}

/* ── RESPONSIVE ── */
@media(max-width:780px){
  .doc{padding:24px 20px 40px}
  .doc-header{padding:22px 20px 18px}
  .doc-nav{padding:10px 20px}
  .top-bar{padding:0 16px;gap:14px}
  .top-bar .specimen-tag{padding-left:14px}
  .kpi-strip,.kpi-strip.cols-5{grid-template-columns:1fr 1fr}
  .caption-row{grid-template-columns:1fr;gap:10px}
  .comp-head{flex-direction:column;align-items:flex-start;gap:6px}
  .case-grid{grid-template-columns:1fr 1fr}
  .pe-grid{grid-template-columns:1fr}
  .doc-header-top{flex-direction:column;align-items:flex-start;gap:14px}
  .doc-stamp{text-align:left}
}
@media(max-width:520px){
  .case-grid{grid-template-columns:1fr}
  .doc-footer{flex-direction:column;gap:8px}
}

/* ── PRINT ── */
@media print{
  .top-bar,.doc-nav{display:none}
  body{padding-top:0;background:#fff;font-size:11pt}
  .component,.caption,.kpi-strip,.case-box{break-inside:avoid;page-break-inside:avoid}
  .doc{padding:0;max-width:100%}
}

/* Grade badges for compliance specimens */
.grade{display:inline-block;padding:3px 8px;border-radius:var(--r-sm);font-family:var(--mono);font-size:10px;letter-spacing:.10em;text-transform:uppercase;font-weight:500;line-height:1.4;border:1px solid currentColor}
.grade-red{color:var(--danger);background:var(--danger-dim)}
.grade-amber{color:var(--caution);background:var(--caution-dim)}
.grade-green{color:var(--accent-text);background:var(--accent-dim)}
.tbl-scroll{overflow-x:auto;margin:14px 0;border-radius:var(--r-sm)}

/* Accessibility: keyboard skip link */
.skip-link{position:absolute;left:12px;top:8px;z-index:9999;transform:translateY(-160%);background:var(--ink);color:#fff;padding:8px 12px;border-radius:var(--r-sm);font-family:var(--mono);font-size:12px;letter-spacing:.04em;text-transform:uppercase;transition:transform .18s ease}
.skip-link:focus{transform:translateY(0);outline:2px solid var(--accent);outline-offset:2px}
