/* AI with Sally - global CSS entry point. Imports only. */
/* Webfonts. No font binaries were supplied with the brand guidelines, so the
   five specified faces load from Google Fonts. Replace this @import with local
   @font-face rules if licensed files become available. */
/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/dm-sans-regular-medium-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/dm-sans-regular-medium-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/dm-sans-regular-medium-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/dm-sans-regular-medium-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/eb-garamond-medium-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/eb-garamond-medium-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/eb-garamond-medium-greek-ext.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/eb-garamond-medium-greek.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/eb-garamond-medium-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/eb-garamond-medium-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/eb-garamond-medium-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/montserrat-semibold-bold-italic-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/montserrat-semibold-bold-italic-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/montserrat-semibold-bold-italic-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/montserrat-semibold-bold-italic-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/montserrat-semibold-bold-italic-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/montserrat-semibold-bold-italic-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/montserrat-semibold-bold-italic-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/montserrat-semibold-bold-italic-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/montserrat-semibold-bold-italic-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/montserrat-semibold-bold-italic-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("assets/fonts/montserrat-light-black-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("assets/fonts/montserrat-light-black-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("assets/fonts/montserrat-light-black-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("assets/fonts/montserrat-light-black-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("assets/fonts/montserrat-light-black-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/montserrat-light-black-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/montserrat-light-black-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/montserrat-light-black-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/montserrat-light-black-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/montserrat-light-black-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/montserrat-light-black-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/montserrat-light-black-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/montserrat-light-black-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/montserrat-light-black-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/montserrat-light-black-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/montserrat-light-black-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/montserrat-light-black-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/montserrat-light-black-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/montserrat-light-black-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/montserrat-light-black-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("assets/fonts/montserrat-light-black-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("assets/fonts/montserrat-light-black-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("assets/fonts/montserrat-light-black-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("assets/fonts/montserrat-light-black-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("assets/fonts/montserrat-light-black-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("assets/fonts/montserrat-light-black-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("assets/fonts/montserrat-light-black-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("assets/fonts/montserrat-light-black-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("assets/fonts/montserrat-light-black-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("assets/fonts/montserrat-light-black-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'Reenie Beanie';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/reenie-beanie-regular-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/space-mono-regular-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/space-mono-regular-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/space-mono-regular-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/space-mono-bold-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/space-mono-bold-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/space-mono-bold-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


:root{
  /* Base palette */
  --turquoise:#2BD4D1;
  --linen:#FDF9F0;
  --porcelain:#F6FBFB;
  --ink:#1E1B18;
  --slate:#33475B;
  --clay:#C96A4B;
  --coral:#F2593F;
  --chartreuse:#C6E82E;

  /* Ink and porcelain alphas */
  --ink-60:rgba(30,27,24,.62);
  --ink-20:rgba(30,27,24,.20);
  --ink-10:rgba(30,27,24,.10);
  --porcelain-60:rgba(246,251,251,.62);

  /* Semantic surfaces */
  --surface-lead:var(--turquoise);
  --surface-secondary:var(--linen);
  --surface-detail:var(--porcelain);
  --surface-dark:var(--ink);
  --surface-premium:var(--slate);
  --surface-warm:var(--clay);
  --surface-card:var(--linen);
  --surface-paper:var(--linen);

  /* Semantic text - only ever ink or porcelain */
  --text-body:var(--ink);
  --text-muted:var(--ink-60);
  --text-on-dark:var(--porcelain);
  --text-on-dark-muted:var(--porcelain-60);

  /* Marks: coral for corrections, underlines, tape, rules. Chartreuse once per artifact. */
  --mark:var(--coral);
  --mark-edge:var(--chartreuse);

  /* Borders and rules */
  --border-ink:var(--ink);
  --border-hairline:var(--ink-20);
  --border-on-dark:var(--porcelain-60);

  /* Links */
  --link-text:var(--ink);
  --link-underline:var(--coral);
}

:root{
  /* Families */
  --display:"Montserrat",sans-serif; /* @kind font */
  --body:"Montserrat",sans-serif; /* @kind font */
  --body-alt:"DM Sans",sans-serif; /* @kind font */
  --serif:"EB Garamond",serif; /* @kind font */ /* wordmark only */
  --hand:"Reenie Beanie",cursive; /* @kind font */
  --mono:"Space Mono",monospace; /* @kind font */

  /* Weights in use */
  --w-light:300; /* @kind other */
  --w-regular:400; /* @kind other */
  --w-medium:500; /* @kind other */
  --w-semibold:600; /* @kind other */
  --w-bold:700; /* @kind other */
  --w-extrabold:800; /* @kind other */
  --w-black:900; /* @kind other */

  /* Scale */
  --t-12:12.8px; /* @kind font */
  --t-16:16px; /* @kind font */
  --t-20:20px; /* @kind font */
  --t-25:25px; /* @kind font */
  --t-31:31px; /* @kind font */
  --t-39:39px; /* @kind font */
  --t-49:49px; /* @kind font */
  --t-61:61px; /* @kind font */
  --t-76:76px; /* @kind font */
  --t-96:96px; /* @kind font */
  --t-124:124px; /* @kind font */
  --t-148:148px; /* @kind font */
  --t-168:168px; /* @kind font */

  /* Semantic roles */
  --font-scroll-stopper:var(--w-black) var(--t-148)/0.88 var(--display); /* @kind font */
  --font-h1:var(--w-extrabold) var(--t-96)/0.88 var(--display); /* @kind font */
  --font-h2:var(--w-semibold) var(--t-49)/1.02 var(--display); /* @kind font */
  --font-h3:var(--w-semibold) var(--t-25)/1.2 var(--display); /* @kind font */
  --font-lead:var(--w-light) var(--t-31)/1.25 var(--display); /* @kind font */
  --font-body:var(--w-regular) var(--t-16)/1.6 var(--body); /* @kind font */
  --font-body-lg:var(--w-regular) var(--t-20)/1.6 var(--body); /* @kind font */
  --font-ui:var(--w-semibold) var(--t-16)/1.2 var(--body); /* @kind font */
  --font-eyebrow:var(--w-regular) 13px/1.2 var(--mono); /* @kind font */
  --font-annotation:var(--w-regular) 22px/1.05 var(--hand); /* @kind font */
  --font-hand-statement:var(--w-regular) 38px/0.95 var(--hand); /* @kind font */
  --font-mono:var(--w-regular) 14px/1.5 var(--mono); /* @kind font */
  --font-wordmark:var(--w-medium) var(--t-31)/1 var(--serif); /* @kind font */

  /* Tracking */
  --track-display:-0.03em; /* @kind other */
  --track-h1:-0.02em; /* @kind other */
  --track-eyebrow:0.18em; /* @kind other */
  --track-none:0; /* @kind other */
}

:root{
  /* Space scale */
  --s-2:2px;
  --s-4:4px;
  --s-8:8px;
  --s-12:12px;
  --s-16:16px;
  --s-24:24px;
  --s-32:32px;
  --s-40:40px;
  --s-64:64px;
  --s-96:96px;
  --s-120:120px;
  --s-160:160px;

  /* Uneven vertical rhythm - alternate these, never one value throughout */
  --section-tight:64px;
  --section-loose:160px;

  /* Layout */
  --page-max:1440px;
  --measure:64ch; /* @kind other */
  --gutter:32px;
  --overhang:80px;      /* headline overhang across a photo edge: 40-120px */
  --photo-cross:80px;   /* polaroid overlap across a colour break */
  --block-stop:160px;   /* colour blocks stop short: 120-200px */

  /* Asymmetric splits - never 6/6 */
  --split-7-5:7fr 5fr; /* @kind other */
  --split-8-4:8fr 4fr; /* @kind other */
  --split-4-8:4fr 8fr; /* @kind other */

  /* Radii - the system is square. Only the pill button and tags round. */
  --radius-none:0;
  --radius-pill:999px;
}

:root{
  --shadow-paper:0 2px 8px rgba(30,27,24,0.18);
  --shadow-lift:0 8px 24px rgba(30,27,24,0.14);
  --shadow-none:none;

  /* Borders */
  --rule-hair:1px solid var(--ink-20); /* @kind other */
  --rule-ink:1px solid var(--ink); /* @kind other */
  --rule-ink-2:2px solid var(--ink); /* @kind other */
  --rule-coral:2px solid var(--coral); /* @kind other */
  --rule-coral-3:3px solid var(--coral); /* @kind other */

  /* Motion - short, linear or ease-out. No bounce, no spring. */
  --ease:cubic-bezier(.2,.6,.3,1); /* @kind other */
  --dur-fast:120ms; /* @kind other */
  --dur:180ms; /* @kind other */
  --dur-slow:320ms; /* @kind other */
  --marquee-dur:38s; /* @kind other */

  /* Interaction */
  --hover-lift:translateY(-2px); /* @kind other */
  --press-shift:translateY(1px); /* @kind other */

  /* Polaroid framing */
  --polaroid-mat:12px;
  --polaroid-mat-bottom:26px;
  --polaroid-tilt:-1.6deg; /* @kind other */

  /* Full-bleed photography overlay: slate at 25-40% */
  --photo-scrim:rgba(51,71,91,.32);
}

*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--linen);color:var(--text-body);font:var(--font-body);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,p,figure{margin:0}
a{color:var(--link-text);text-decoration:none;border-bottom:var(--rule-coral);padding-bottom:1px;transition:color var(--dur) var(--ease),border-color var(--dur) var(--ease)}
a:hover{color:var(--coral);border-bottom-color:var(--coral)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--coral);outline-offset:2px}
::selection{background:var(--chartreuse);color:var(--ink)}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Marquee animation */
@keyframes sally-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.sally-marquee-track{animation:none!important}}

/* Responsive layout */
body { margin: 0; background: var(--linen); }
  a { color: var(--ink); border-bottom: 2px solid var(--coral); text-decoration: none; }
  a:hover { color: var(--coral); }

  /* Desktop (>=1200px) has no breakpoint override for the about-page hand
     annotation, so it fell back to an unconstrained width and overlapped
     the wrapped headline instead of sitting beside it. Tablet caps this
     span at 420px; mirror that intent at the wider desktop scale. */
  [data-m="hand"] span { max-width: 460px; }

  @media (max-width: 767px) {
    html, body { overflow-x: hidden; max-width: 100%; }
    img { max-width: 100%; height: auto; }

    [data-m="hdr"] { padding: 12px 18px !important; gap: 16px !important; flex-wrap: wrap !important; }
    [data-m="nav"] { gap: 18px !important; flex-wrap: wrap !important; }
    [data-m="nav"] a { padding: 12px 2px !important; }
    [data-m="nav"] button, [data-m="nav"] a[href^="mailto"] { min-height: 44px !important; display: inline-flex !important; align-items: center !important; }

    [data-m="pad"] { padding: 48px 20px 56px !important; }
    [data-m="sec"] { padding: 56px 20px 48px !important; }
    [data-m="foot"] { padding: 48px 20px 32px !important; }

    [data-m="hero"], [data-m="g2"] { grid-template-columns: 1fr !important; gap: 28px !important; }
    [data-m="hero"] h1, [data-m="about-hero"] h1 { margin-right: 0 !important; }
    [data-m="hero"] h1 { font-size: 42px !important; }
    [data-m="about-hero"] h1 { font-size: 42px !important; }
    [data-m="sec"] h2 { font-size: 30px !important; }
    [data-m="hero-sub"] { font-size: 21px !important; }
    [data-m="hero-photo"] { justify-items: start !important; }
    [data-m="hero-photo"] figure { width: 100% !important; max-width: 300px !important; }

    [data-m="hand"] { margin-top: 0 !important; justify-content: flex-start !important; }
    [data-m="hand"] span { width: auto !important; max-width: 100% !important; font-size: 26px !important; }
    [data-m="lede"] { font-size: 20px !important; line-height: 1.55 !important; }

    [data-m="card"] { padding: 26px !important; }
    [data-m="chapters"] > div { grid-template-columns: 1fr !important; gap: 12px !important; padding-left: 22px !important; padding-right: 22px !important; }
    [data-m="chapters"] > div[style*="border-top"] { padding-left: 0 !important; padding-right: 0 !important; padding-top: 24px !important; padding-bottom: 8px !important; }
    [data-m="chapters"] > div p { font-size: 17px !important; }

    [data-m="mail"] { font-size: 20px !important; word-break: break-word !important; }
  }

  @media (min-width: 768px) and (max-width: 1199px) {
    html, body { overflow-x: hidden; }
    img { max-width: 100%; height: auto; }

    [data-m="hdr"] { padding: 16px 40px !important; gap: 28px !important; }
    [data-m="nav"] { gap: 24px !important; }
    [data-m="nav"] a { padding: 10px 2px !important; }
    [data-m="nav"] a[href^="mailto"] { min-height: 44px !important; display: inline-flex !important; align-items: center !important; }

    [data-m="pad"] { padding: 72px 40px 64px !important; }
    [data-m="sec"] { padding: 80px 40px 56px !important; }
    [data-m="foot"] { padding: 56px 40px 36px !important; }

    [data-m="hero"] { grid-template-columns: minmax(0, 1fr) 260px !important; gap: 32px !important; }
    [data-m="hero"] h1 { font-size: 64px !important; margin-right: 0 !important; }
    [data-m="hero-sub"] { font-size: 26px !important; max-width: 24ch !important; }
    [data-m="hero-photo"] figure { width: 260px !important; }

    [data-t="problem"] { grid-template-columns: 4fr 8fr !important; gap: 40px !important; }
    [data-m="sec"] h2 { font-size: 36px !important; }
    [data-t="cards"] { gap: 24px !important; }
    [data-m="card"] { padding: 32px !important; }

    [data-m="about-hero"] h1 { font-size: 64px !important; margin-right: 0 !important; }
    [data-m="hand"] { margin-top: 8px !important; }
    [data-m="hand"] span { width: auto !important; max-width: 420px !important; font-size: 30px !important; }
    [data-m="lede"] { font-size: 23px !important; }
    [data-m="chapters"] > div { grid-template-columns: 132px minmax(0, 1fr) !important; gap: 24px !important; }
    [data-m="chapters"] > div[style*="background"] { padding: 32px !important; }

    [data-t="foot"] { gap: 36px !important; }
  }

  @media (min-width: 1200px) {
    /* Desktop had no override here: the headline spanned the full hero
       width and wrapped to 2 lines, and the hand annotation's large
       negative margin-top (tuned for a single-line headline) then pulled
       it up on top of that second line instead of beside it. Give the
       hero the same two-column split the home page hero already uses, so
       the headline stays in its own column and the annotation sits in
       the column beside it. */
    [data-m="about-hero"] { grid-template-columns: 8fr 4fr; }
    [data-m="hand"] { margin-top: 0; }
  }
