/* vietnamese */
@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/f01.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/f02.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/f03.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: italic;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/f01.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: 500;
  font-display: swap;
  src: url("/assets/fonts/f02.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: 500;
  font-display: swap;
  src: url("/assets/fonts/f03.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: italic;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/fonts/f01.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: 600;
  font-display: swap;
  src: url("/assets/fonts/f02.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: 600;
  font-display: swap;
  src: url("/assets/fonts/f03.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 */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/jost/v20/92z8tBhPNqw79Ij1E865zBUv7myjJWdNHHnUBkLNPUtG8P1mORTImqNU7g6l.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/jost/v20/92z8tBhPNqw79Ij1E865zBUv7myjJWdNHHnUBkLNPUtG8P1mMxTImqNU7g6l.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: 'Jost';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/jost/v20/92z8tBhPNqw79Ij1E865zBUv7myjJWdNHHnUBkLNPUtG8P1mPRTImqNU7g.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 */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/jost/v20/92z8tBhPNqw79Ij1E865zBUv7myjJWdNHHnUBkLNPUtG8P1mORTImqNU7g6l.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/jost/v20/92z8tBhPNqw79Ij1E865zBUv7myjJWdNHHnUBkLNPUtG8P1mMxTImqNU7g6l.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: 'Jost';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/f04.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: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/f05.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: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/f06.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/f07.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: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/f08.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: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/f09.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: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/f10.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: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/f05.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: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/f06.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/f07.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: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/f08.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: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/f09.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: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/f10.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: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/fonts/f05.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: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/fonts/f06.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/fonts/f07.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: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/fonts/f08.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: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/fonts/f09.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: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/fonts/f10.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: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/fonts/f05.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: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/fonts/f06.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/fonts/f07.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: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/fonts/f08.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: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/fonts/f09.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: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/fonts/f10.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: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/assets/fonts/f05.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: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/assets/fonts/f06.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/assets/fonts/f07.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: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/assets/fonts/f08.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: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/assets/fonts/f09.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: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/assets/fonts/f10.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: 'Schibsted Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/f11.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: 'Schibsted Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/f12.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: 'Schibsted Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/f11.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: 'Schibsted Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/f12.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: 'Schibsted Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/fonts/f11.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: 'Schibsted Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/fonts/f12.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: 'Schibsted Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/fonts/f11.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: 'Schibsted Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/fonts/f12.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;
}

/* ── Farmers Door site styles ── */

:root {
  /* ── Farmers Door Brand Guide v1.1 — approved palette ──────────────
     Primary:   FD Green #82a65f · FD Khaki #466c40 · FD Charcoal #333b41 · FD Wheat #f1ebe3
     Secondary: FD Midnight #003a4a · FD Sky #3672b9 · FD Machinery #95a9b4
                FD Sunlight #c5ba52 · FD Soil #58371c
     Contrast (WCAG 2.2 AA): white on Khaki 6.04 · Wheat on Midnight 10.41
     · Charcoal on Wheat 9.62 · Wheat on Charcoal 9.62 · Machinery on Charcoal 4.67
     Never: white body text on FD Green (2.77) or FD Sunlight (2.00). */

  --green:     #82a65f;   /* brand accent — icons, rules, active marks, logo */
  --khaki:     #466c40;   /* primary action — buttons, active nav, key icons */
  --charcoal:  #333b41;   /* core dark — copy, nav, footer, dark bands */
  --wheat:     #f1ebe3;   /* foundation — page ground, alternating sections */
  --midnight:  #003a4a;   /* infrastructure — Passport, VCP, partner sections */
  --sunlight:  #c5ba52;   /* micro highlight — arrows, markers, eyebrow labels */
  --sky:       #3672b9;
  --machinery: #95a9b4;
  --soil:      #58371c;

  /* Working tokens. Everything downstream refers to these. */
  --ground:    var(--wheat);
  --surface:   #ffffff;          /* cards and raised panels */
  --ink:       var(--charcoal);
  --muted:     #5c666d;          /* 4.96 on Wheat */
  --line:      #e0d7cc;
  --dark:      var(--charcoal);
  --dark-soft: #3d464d;
  --on-dark:   var(--wheat);
  --on-dark-muted: #a8bac4;   /* lifted from FD Machinery for AA on all dark grounds */
  --accent:    var(--khaki);     /* accent type on light grounds — 5.10 on Wheat */
  --accent-dark: var(--green);   /* accent display type on dark — 4.11, large only */
  --marker:    var(--sunlight);

  --sg: "Schibsted Grotesk", "Manrope", sans-serif;
  --jo: "Jost", "Schibsted Grotesk", sans-serif;
  --mn: "Manrope", sans-serif;
  --fr: "Fraunces", Georgia, serif;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--ground); font-family: var(--mn); color: var(--ink); }
a { color: var(--khaki); text-decoration: none; font-family: var(--mn); }
a:hover { color: var(--dark); }
.site { font-family: var(--mn); color: var(--ink); -webkit-font-smoothing: antialiased; text-wrap: pretty;
  overflow-x: clip; }
.site p, .site li, .site span, .site a, .site div, .site button, .site td, .site th,
footer, footer p, footer a, footer li, footer span, .sub, .note {
  font-family: var(--mn); }
.site h1, .site h2, .site h3, .site h4 { font-family: var(--sg); }
.site .fd-wm { font-family: var(--jo); }
.acc, .site .acc { font-family: var(--fr); }
.wrap { max-width: 1240px; margin: 0 auto; padding: 0 40px; }
.acc { font-family: var(--fr); font-style: italic; font-weight: 500; color: var(--khaki); }
.dark .acc, .hero .acc { color: var(--accent-dark); }
.label { font-family: var(--mn); font-weight: 800; font-size: 12px; letter-spacing: .22em;
  text-transform: uppercase; color: var(--khaki); }
.dark .label, .hero .label, .band .label { color: var(--marker); }
h1 { font-family: var(--sg); font-weight: 600; font-size: clamp(52px, 6.2vw, 92px); line-height: 1.0;
  letter-spacing: -.035em; margin: 0; }
h2 { font-family: var(--sg); font-weight: 600; font-size: clamp(38px, 4.2vw, 60px); line-height: 1.04;
  letter-spacing: -.03em; margin: 0; }
h3 { font-family: var(--sg); font-weight: 600; font-size: 26px; line-height: 1.2;
  letter-spacing: -.02em; margin: 0; }
p { margin: 0; line-height: 1.65; }
.sub { font-size: 19px; color: var(--muted); max-width: 60ch; }

.nav { position: sticky; top: 0; z-index: 60; background: rgba(245,242,233,.86);
  backdrop-filter: blur(14px); border-bottom: 1px solid var(--line); }
.nav .inner { max-width: 1240px; margin: 0 auto; padding: 14px 40px; display: flex;
  align-items: center; gap: 36px; }
.fd-logo { display: inline-flex; align-items: center; gap: .14em; line-height: 1; }
.fd-logo svg { flex: none; }
.fd-wm { font-family: var(--jo); font-weight: 500; font-size: .57em; line-height: .96;
  letter-spacing: .105em; text-transform: uppercase; display: block; }
.nav ul { display: flex; gap: 34px; list-style: none; margin: 0; padding: 0; margin-left: 30px; }
.nav ul a { font-weight: 600; font-size: 14.5px; color: var(--ink); }
.nav ul a:hover { color: var(--khaki); }
.nav .right { margin-left: auto; display: flex; align-items: center; gap: 22px; }

.btn { display: inline-flex; align-items: center; gap: 14px; border-radius: 100px; white-space: nowrap;
  font-family: var(--sg); font-weight: 600; font-size: 16px; padding: 13px 24px; border: none;
  cursor: pointer; transition: background .18s, color .18s, transform .18s; }
.btn .sep { width: 1px; height: 17px; background: currentColor; opacity: .3; }
.btn-dark { background: var(--charcoal); color: #fff; }
.btn-dark:hover { background: #262d33; color: #fff; transform: translateY(-1px); }
.btn-leaf { background: var(--khaki); color: #fff; }
.btn-leaf:hover { background: #3a5a35; color: #fff; transform: translateY(-1px); }
.btn-ghost { background: transparent; color: var(--ink); border: 1px solid var(--line); }
.btn-ghost:hover { border-color: var(--khaki); color: var(--khaki); }
.btn-lg { font-size: 18px; padding: 18px 32px; }
.btn:focus-visible { outline: 2px solid var(--khaki); outline-offset: 3px; }

.hero { position: relative; background: var(--dark); color: #fff; overflow: hidden; padding: 120px 0 0; }
.hero .bg { position: absolute; inset: 0; opacity: .55; }
.hero .bg image-slot { width: 100%; height: 100%; }
.shot { position: relative; }
.hero .veil { position: absolute; inset: 0; background:
  linear-gradient(178deg, rgba(12,32,19,.90) 0%, rgba(12,32,19,.62) 40%, rgba(12,32,19,.96) 100%); }
.hero .wrap { position: relative; z-index: 2; }
.hero h1 { color: #fff; max-width: 15ch; }
.hero .sub { color: #9DB89A; font-size: 21px; margin-top: 28px; max-width: 52ch; }
.hero .cta { display: flex; gap: 16px; margin-top: 42px; flex-wrap: wrap; }
.hero .strip { position: relative; z-index: 2; margin-top: 90px; border-top: 1px solid rgba(255,255,255,.13);
  padding: 34px 0 40px; display: flex; gap: 60px; flex-wrap: wrap; }
.hero .strip div { font-size: 15px; color: #9DB89A; font-weight: 600; }
.hero .strip b { display: block; font-family: var(--sg); font-weight: 600; font-size: 34px;
  color: var(--accent-dark); letter-spacing: -.02em; margin-bottom: 6px; }

section { padding: 110px 0; }
.sec-head { max-width: 68ch; }
.sec-head .label { display: block; margin-bottom: 18px; }
.sec-head h2 { max-width: 22ch; }
.sec-head .sub { margin-top: 22px; }

.grid { display: grid; gap: 22px; margin-top: 56px; }
.g3 { grid-template-columns: repeat(3, 1fr); }
.g2 { grid-template-columns: repeat(2, 1fr); }
.g4 { grid-template-columns: repeat(4, 1fr); }
.card { background: var(--surface); border: 1px solid var(--line); border-radius: 24px; padding: 34px; }
.card .chip { width: 52px; height: 52px; border-radius: 14px; background: var(--dark);
  display: flex; align-items: center; justify-content: center; margin-bottom: 24px; }
.card .chip svg { stroke: var(--accent-dark); }
.card h3 { margin-bottom: 12px; }
.card p { font-size: 16px; color: var(--muted); }
.dark .card { background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.12); }
.dark .card h3 { color: #fff; }
.dark .card p { color: #9DB89A; }

.dark { background: var(--dark); color: #fff; }
.dark h2 { color: #fff; }
.dark .sub { color: #9DB89A; }

.shot { border-radius: 26px; overflow: hidden; background-size: cover; background-position: center; min-height: 320px; }

.steps { counter-reset: st; margin-top: 30px; display: grid; gap: 0; }
.steps > div { counter-increment: st; display: grid; grid-template-columns: 64px 260px minmax(0,1fr);
  gap: 40px; padding: 26px 0; border-top: 1px solid var(--line); align-items: baseline; }
.steps > div::before { content: "0" counter(st); font-family: var(--sg); font-weight: 700;
  font-size: 17px; color: var(--khaki); }
.steps h3 { font-size: 24px; }
.steps p { font-size: 16px; color: var(--muted); max-width: 62ch; }

.lead-form { margin-top: 40px; text-align: left; }
.lf-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 24px; }
.lf { display: flex; flex-direction: column; gap: 9px; font-size: 15px; font-weight: 600; color: var(--ink); }
.lf-full { margin-top: 20px; }
.lead-form input, .lead-form select, .lead-form textarea {
  font-family: var(--mn); font-size: 17px; font-weight: 400; color: var(--ink);
  background: var(--ground); border: 1px solid var(--line); border-radius: 12px;
  padding: 14px 16px; width: 100%; box-sizing: border-box; }
.lead-form textarea { resize: vertical; }
.lead-form input:focus, .lead-form select:focus, .lead-form textarea:focus {
  outline: none; border-color: var(--khaki); box-shadow: 0 0 0 3px rgba(46,91,60,.12); }
.lead-form input::placeholder, .lead-form textarea::placeholder { color: #9AA096; }
.lf-foot { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; margin-top: 26px; }
.lf-note { font-size: 14px; color: var(--muted); max-width: 34ch; }
.lead-done { margin-top: 40px; padding: 46px 40px; background: var(--surface);
  border: 1px solid var(--line); border-radius: 20px; text-align: center; }
.lead-tick { width: 52px; height: 52px; border-radius: 50%; background: var(--khaki);
  display: inline-block; position: relative; margin-bottom: 20px; }
.lead-tick::after { content: ""; position: absolute; left: 19px; top: 12px; width: 11px; height: 22px;
  border: solid var(--accent-dark); border-width: 0 3px 3px 0; transform: rotate(42deg); }

.band { background: var(--dark); border-radius: 32px; padding: 76px 70px; position: relative; overflow: hidden; }
.band h2 { color: #fff; max-width: 16ch; }
.band p { color: #9DB89A; margin-top: 20px; max-width: 50ch; font-size: 18px; }
.band .cta { display: flex; gap: 14px; margin-top: 36px; flex-wrap: wrap; }

footer { background: var(--dark); color: #9DB89A; padding: 70px 0 46px; }
footer .cols { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 40px; }
footer h4 { font-family: var(--mn); font-weight: 800; font-size: 11.5px; letter-spacing: .22em;
  text-transform: uppercase; color: var(--accent-dark); margin: 0 0 18px; }
footer ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
footer a { color: #9DB89A; font-size: 15px; }
footer a:hover { color: var(--accent-dark); }
footer .base { margin-top: 56px; padding-top: 26px; border-top: 1px solid rgba(255,255,255,.12);
  display: flex; justify-content: space-between; font-size: 13.5px; flex-wrap: wrap; gap: 16px; }

@media (max-width: 1080px) {
  /* Restored 18 Aug 2026. The original rule that collapsed these grids was
     removed by accident when dead component CSS was pruned, because its
     selector list also named the retired .demo/.wheel/.faq blocks. Cards had
     been rendering three-across on phones. Keep these selectors separate. */
  .g3, .g4 { grid-template-columns: repeat(2, 1fr); }
  .steps > div { grid-template-columns: 60px 1fr; }
  .steps p { grid-column: 2; }
}
@media (max-width: 780px) {
  .g2, .g3, .g4 { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .wrap { padding: 0 24px; }
  .nav .inner { padding: 14px 24px; }
  .hero .strip { gap: 32px; }
}

/* ── added in the static build ── */
html { scroll-behavior: smooth; scroll-padding-top: 88px; }
img.slot { width: 100%; height: 100%; object-fit: cover; display: block; }
.nav .right .btn-ghost { padding: 10px 20px; font-size: 15px; }

/* Partner cards whose relationship is not yet confirmed in writing are hidden.
   To publish them, delete this rule (or set display:block). Do not publish a
   third-party logo without written permission in hand. */

.lead-error { margin-top: 18px; font-size: 15px; color: #8C2F2F; line-height: 1.5; }
.lead-error a { color: #8C2F2F; text-decoration: underline; font-weight: 700; }
/* The recovery route has to look like the obvious thing to do next, not like
   more error text. */
.lead-error .lead-lead { display: block; }
.lead-error a.lead-mailto { display: inline-block; margin: 14px 0 12px; padding: 11px 22px;
  border-radius: 999px; background: var(--khaki); color: #fff; text-decoration: none;
  font-weight: 700; font-size: 15px; }
.lead-error a.lead-mailto:hover { background: var(--charcoal); color: #fff; }
.lead-error .lead-sub { display: block; font-size: 14px; color: var(--ink); }
.lead-error .lead-sub a { color: var(--khaki); }
/* A quiet reference code so a visitor can tell us what they saw. */
.lead-error .lead-ref { display: block; margin-top: 10px; font-size: 12px;
  color: var(--muted); font-family: var(--mn); }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .btn { transition: none; }
}



/* Lead form: the "what do you run" select and its optional-label styling */
.lead-form select { appearance: none; -webkit-appearance: none; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%235F6F60' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 18px center; padding-right: 44px; }
.lf-note a { color: var(--khaki); text-decoration: underline; text-underline-offset: 2px; }


/* Buttons must never outrun their container on a phone. The base .btn is
   nowrap with generous padding, which overflows narrow cards. */
@media (max-width: 520px) {
  .btn { max-width: 100%; white-space: normal; text-align: left; }
  .btn-lg { font-size: 16px; padding: 15px 22px; gap: 10px; }
  .btn .sep { flex: none; }
  .lf-foot { flex-direction: column; align-items: stretch; }
  .lf-foot .lf-note { max-width: none; }
}


/* ═══════════════════════════════════════════════════════════════════
   Rebuild — August 2026. Components for the five-section site.
   ═══════════════════════════════════════════════════════════════════ */

/* Announcement bar — one small bar, not an event homepage */
.notice-bar { background: var(--dark); color: #9DB89A; font-size: 14px; font-weight: 600;
  text-align: center; padding: 11px 24px; }
.notice-bar b { color: #fff; font-weight: 700; }
.notice-bar a { color: var(--marker); text-decoration: underline; text-underline-offset: 3px; }
.notice-bar a:hover { color: #fff; }

/* Nav current-page state */
.nav ul a.on { color: var(--khaki); text-decoration: underline; text-underline-offset: 6px;
  text-decoration-thickness: 2px; }
.nav .right .btn-ghost { padding: 10px 20px; font-size: 15px; }

/* Secondary button on dark grounds */
.btn-onhero { background: rgba(255,255,255,.1); color: #fff; }
.btn-onhero:hover { background: rgba(255,255,255,.18); color: #fff; }

/* Interior page headers */
.pagehead { background: var(--dark); color: #fff; padding: 84px 0 76px; }
.pagehead .label { color: var(--marker); display: block; margin-bottom: 20px; }
.pagehead h1 { color: #fff; font-size: clamp(40px, 5vw, 68px); max-width: 18ch; }
.pagehead .sub { color: #9DB89A; margin-top: 26px; max-width: 62ch; font-size: 19px; }
.pagehead .acc { color: var(--accent-dark); }

.wrap-narrow { max-width: 780px; }

/* Two-column statement blocks */
.split { display: grid; grid-template-columns: minmax(0,0.9fr) minmax(0,1.1fr); gap: 60px; align-items: start; }
.split h2 { max-width: 14ch; }

/* Card link */
.cardlink { display: inline-block; margin-top: 22px; font-weight: 700; font-size: 15px;
  color: var(--khaki); }
.cardlink:hover { color: var(--dark); }
.card .label { display: block; margin-bottom: 14px; }
.card h3 { font-size: 21px; margin-bottom: 12px; }

/* Tick lists */
.ticks { list-style: none; margin: 4px 0 0; padding: 0; }
.ticks li { position: relative; padding: 13px 0 13px 28px; font-size: 16px; color: var(--muted);
  border-top: 1px solid var(--line); }
.ticks li:first-child { border-top: none; padding-top: 4px; }
.ticks li:first-child::before { top: 13px; }
.ticks li::before { content: ""; position: absolute; left: 0; top: 22px; width: 14px; height: 2px;
  background: var(--khaki); border-radius: 2px; }
.ticks.big { margin-top: 44px; max-width: 74ch; }
.ticks.big li { font-size: 18px; color: var(--ink); padding: 18px 0 18px 32px; }
.ticks.big li::before { top: 29px; width: 16px; }
.ticks.big li:first-child::before { top: 11px; }
.dark .ticks li { color: #9DB89A; border-color: rgba(255,255,255,.12); }
.dark .ticks li::before { background: var(--accent-dark); }

/* Principles list */
.principles { margin: 0; }
.principles dt { font-family: var(--sg); font-weight: 600; font-size: 21px; letter-spacing: -.01em;
  color: var(--ink); padding-top: 28px; border-top: 1px solid var(--line); }
.principles dt:first-child { border-top: none; padding-top: 0; }
.principles dd { margin: 10px 0 28px; font-size: 17px; color: var(--muted); max-width: 66ch; }

/* Prose pages */
.prose h3 { font-size: 22px; margin: 40px 0 10px; }
.prose h3:first-child { margin-top: 0; }
.prose p { font-size: 17px; color: var(--muted); max-width: 68ch; }
.prose a { text-decoration: underline; text-underline-offset: 2px; }

.note-block { background: var(--surface); border: 1px solid var(--line); border-left: 3px solid var(--khaki);
  border-radius: 0 16px 16px 0; padding: 24px 28px; }
.note-block p { font-size: 16px; color: var(--muted); }

/* Contact */
.collection-notice { margin-top: 34px; padding-top: 24px; border-top: 1px solid var(--line); }
.collection-notice h4 { font-family: var(--mn); font-weight: 800; font-size: 11.5px; letter-spacing: .2em;
  text-transform: uppercase; color: var(--khaki); margin: 0 0 12px; }
.collection-notice p { font-size: 14.5px; line-height: 1.6; color: var(--muted); }
.collection-notice a { text-decoration: underline; text-underline-offset: 2px; }
.contact-alt { margin-top: 44px; padding-top: 26px; border-top: 1px solid var(--line);
  font-size: 15px; color: var(--muted); display: flex; gap: 40px; flex-wrap: wrap; }
.contact-alt p { margin: 0; }
.contact-alt a { text-decoration: underline; text-underline-offset: 2px; }
.lead-form select, .lead-form textarea { font-family: var(--mn); }

/* Footer */
.foot-top { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 48px; }
.foot-verify { margin-top: 22px; max-width: 46ch; font-size: 13.5px; line-height: 1.6; color: #7E9480; }
.foot-links h4 { font-family: var(--mn); font-weight: 800; font-size: 11.5px; letter-spacing: .22em;
  text-transform: uppercase; color: var(--marker); margin: 0 0 18px; }
.foot-links ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.foot-links a, .foot-links li { color: #9DB89A; font-size: 15px; }
.foot-links a:hover { color: var(--accent-dark); }
.base { margin-top: 56px; padding-top: 26px; border-top: 1px solid rgba(255,255,255,.12);
  display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; font-size: 13.5px; }
.foot-legal a { color: #9DB89A; }
.foot-legal a:hover { color: var(--accent-dark); }

@media (max-width: 1080px) {
  .split { grid-template-columns: 1fr; gap: 26px; }
  .split h2 { max-width: 20ch; }
  .foot-top { grid-template-columns: 1fr; gap: 36px; }
}
@media (max-width: 720px) {
  .pagehead { padding: 56px 0 52px; }
  .notice-bar { font-size: 13px; }
}


/* ── Mobile navigation: hamburger below 920px ──────────────────────── */
.nav-burger { display: none; }
.nav-menu { display: contents; }

@media (max-width: 920px) {
  .nav .inner { gap: 16px; }

  .nav-burger { display: inline-flex; flex-direction: column; justify-content: center;
    gap: 5px; margin-left: auto; width: 46px; height: 46px; padding: 11px;
    background: none; border: 1px solid var(--line); border-radius: 12px; cursor: pointer; }
  .nav-burger span { display: block; height: 2px; width: 100%; background: var(--ink);
    border-radius: 2px; transition: transform .2s, opacity .15s; }
  .nav-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .nav-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .nav-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

  .nav-menu { display: none; position: absolute; left: 0; right: 0; top: 100%;
    background: var(--surface); border-bottom: 1px solid var(--line);
    box-shadow: 0 24px 40px rgba(12,32,19,.14); padding: 10px 24px 22px; }
  .nav-menu.open { display: block; }

  .nav { position: sticky; }
  .nav .inner { position: relative; }
  .nav ul { flex-direction: column; gap: 0; margin-left: 0; }
  .nav ul a { display: block; padding: 15px 2px; font-size: 17px;
    border-bottom: 1px solid var(--line); }
  .nav ul a.on { text-decoration: none; color: var(--khaki); }
  .nav .right { margin-left: 0; margin-top: 18px; flex-direction: column; align-items: stretch; gap: 12px; }
  .nav .right .btn { justify-content: center; }
}

/* ═══════════════════════════════════════════════════════════════════
   Brand Guide v1.1 application — 18 August 2026
   ═══════════════════════════════════════════════════════════════════ */

/* Dark bands are FD Charcoal; the infrastructure story is FD Midnight. */
.dark { background: var(--charcoal); color: var(--on-dark); }
.dark h2, .dark h3 { color: var(--on-dark); }
.dark .sub, .dark p { color: var(--on-dark-muted); }
.dark .card { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.14); }
.dark .card h3 { color: var(--on-dark); }
.dark .card p { color: var(--on-dark-muted); }

.infra { background: var(--midnight); color: var(--on-dark); }
.infra h2, .infra h3 { color: var(--on-dark); }
.infra .sub, .infra p { color: var(--on-dark-muted); }
.infra .label { color: var(--marker); }
.infra .acc { color: var(--green); }
.infra .card { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.16); }
.infra .card h3, .infra .card strong { color: var(--on-dark); }
.infra .card p { color: var(--on-dark-muted); }
.infra .steps > div { border-top-color: rgba(255,255,255,.14); }
.infra .steps > div::before { color: var(--marker); }
.infra .steps h3 { color: var(--on-dark); }
.infra .steps p { color: var(--on-dark-muted); }

/* Hero veil — controlled Charcoal-to-Midnight wash, per brief §8.3 */
.hero { background: var(--charcoal); }
.hero .veil { background: linear-gradient(176deg, rgba(51,59,65,.90) 0%, rgba(51,59,65,.62) 38%, rgba(0,58,74,.96) 100%); }
.hero h1 { color: #fff; }
.hero .sub { color: var(--wheat); }
.hero .sub.quiet { color: var(--machinery); }
.hero .acc { color: var(--green); }
.hero .strip b { color: var(--marker); }
.hero .strip div { color: var(--machinery); }

/* Secondary action on dark grounds — Wheat outline, per brief §8.3 */
.btn-onhero { background: transparent; color: var(--wheat); border: 1px solid rgba(241,235,227,.5); }
.btn-onhero:hover { background: rgba(241,235,227,.12); color: #fff; border-color: var(--wheat); }
.btn-ghost { background: transparent; color: var(--ink); border: 1px solid var(--line); }
.btn-ghost:hover { border-color: var(--khaki); color: var(--khaki); }

/* FD Green earns its keep as rule, marker and icon — never as a text ground */
.ticks li::before { background: var(--khaki); }
.dark .ticks li::before, .infra .ticks li::before { background: var(--green); }
.lead-tick { background: var(--khaki); }
.lead-tick::after { border-color: #fff; }
.card .chip { background: var(--khaki); }
.card .chip svg { stroke: #fff; }

/* Footer sits on FD Charcoal with Wheat text, per brief §8.3 */
footer { background: var(--charcoal); color: var(--on-dark-muted); }
footer a, .foot-links a, .foot-links li { color: var(--on-dark-muted); }
footer a:hover, .foot-links a:hover, .foot-legal a:hover { color: var(--marker); }
.foot-verify { color: #9fb2bb; }
.foot-legal a { color: var(--on-dark-muted); }
.notice-bar { background: var(--midnight); color: var(--machinery); }
.notice-bar b { color: #fff; }

/* Light-ground accents */
.acc { color: var(--accent); }
.label { color: var(--khaki); }
.cardlink { color: var(--khaki); }
.cardlink:hover { color: var(--midnight); }
.card { background: var(--surface); border: 1px solid var(--line); }
.note-block { background: var(--surface); border-left-color: var(--khaki); }
.principles dt { color: var(--ink); }
.prose a, .collection-notice a, .lf-note a, .contact-alt a { color: var(--khaki); }

/* The Passport → Pool → Programme pathway (live text, stacks on mobile) */
.flow { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 18px;
  align-items: stretch; margin-top: 52px; }
.flow .step-card { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.16);
  border-radius: 20px; padding: 28px 26px; }
.flow .step-card .label { display: block; color: var(--marker); margin-bottom: 14px; }
.flow .step-card h3 { font-size: 20px; color: #fff; margin-bottom: 10px; line-height: 1.25; }
.flow .step-card p { font-size: 15.5px; color: var(--on-dark-muted); margin: 0; }
.flow .arrow { display: flex; align-items: center; justify-content: center;
  color: var(--marker); font-size: 26px; line-height: 1; }
@media (max-width: 900px) {
  .flow { grid-template-columns: 1fr; gap: 12px; }
  .flow .arrow { transform: rotate(90deg); padding: 2px 0; }
}

/* Programme requirements grid — industry partner page */
.reqs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 44px; }
.reqs > div { background: var(--surface); border: 1px solid var(--line); border-radius: 18px; padding: 26px 24px; }
.reqs .label { display: block; margin-bottom: 12px; }
.reqs p { font-size: 15.5px; color: var(--muted); margin: 0; }
@media (max-width: 900px) { .reqs { grid-template-columns: 1fr; } }

/* Mobile menu panel picks up the new surface colour */
@media (max-width: 920px) {
  .nav-menu { background: var(--surface); }
  .nav-burger span { background: var(--ink); }
}
.nav { background: var(--wheat); border-bottom: 1px solid var(--line); backdrop-filter: none; }
.nav ul a { color: var(--ink); }
.nav ul a:hover, .nav ul a.on { color: var(--khaki); }


/* Requirement cards sit inside the FD Midnight band — translucent, not white,
   so the FD Sunlight label keeps its contrast (audit: 2.00 on white). */
.infra .reqs > div { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.16); }
.infra .reqs .label { color: var(--marker); }
.infra .reqs p { color: var(--on-dark-muted); }
