/* Google Fonts, self-hosted */
@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 340;
  font-display: swap;
  src: url(/fonts/Fraunces-italic-340-01.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;
}
@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 340;
  font-display: swap;
  src: url(/fonts/Fraunces-italic-340-02.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 340;
  font-display: swap;
  src: url(/fonts/Fraunces-italic-340-03.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;
}
@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 420;
  font-display: swap;
  src: url(/fonts/Fraunces-italic-420-01.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;
}
@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 420;
  font-display: swap;
  src: url(/fonts/Fraunces-italic-420-02.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 420;
  font-display: swap;
  src: url(/fonts/Fraunces-italic-420-03.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;
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/fonts/Fraunces-normal-800-01.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;
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/fonts/Fraunces-normal-800-02.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/fonts/Fraunces-normal-800-03.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;
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(/fonts/Fraunces-normal-900-01.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;
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(/fonts/Fraunces-normal-900-02.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(/fonts/Fraunces-normal-900-03.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;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/Inter-normal-400-01.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/Inter-normal-400-02.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/Inter-normal-400-03.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/Inter-normal-400-04.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/Inter-normal-400-05.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;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/Inter-normal-400-06.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/Inter-normal-400-07.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;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/Inter-normal-500-01.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/Inter-normal-500-02.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/Inter-normal-500-03.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/Inter-normal-500-04.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/Inter-normal-500-05.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;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/Inter-normal-500-06.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/Inter-normal-500-07.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;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/Inter-normal-600-01.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/Inter-normal-600-02.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/Inter-normal-600-03.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/Inter-normal-600-04.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/Inter-normal-600-05.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;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/Inter-normal-600-06.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/Inter-normal-600-07.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;
}
@font-face {
  font-family: 'Italianno';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/Italianno-normal-400-01.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;
}
@font-face {
  font-family: 'Italianno';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/Italianno-normal-400-02.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Italianno';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/Italianno-normal-400-03.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;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/JetBrainsMono-normal-400-01.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/JetBrainsMono-normal-400-02.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/JetBrainsMono-normal-400-03.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/JetBrainsMono-normal-400-04.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;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/JetBrainsMono-normal-400-05.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/JetBrainsMono-normal-400-06.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;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/Montserrat-normal-400-01.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/Montserrat-normal-400-02.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/Montserrat-normal-400-03.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;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/Montserrat-normal-400-04.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/Montserrat-normal-400-05.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;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/Montserrat-normal-500-01.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/Montserrat-normal-500-02.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/Montserrat-normal-500-03.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;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/Montserrat-normal-500-04.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/Montserrat-normal-500-05.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;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/Montserrat-normal-600-01.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/Montserrat-normal-600-02.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/Montserrat-normal-600-03.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;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/Montserrat-normal-600-04.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/Montserrat-normal-600-05.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;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/Montserrat-normal-700-01.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/Montserrat-normal-700-02.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/Montserrat-normal-700-03.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;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/Montserrat-normal-700-04.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/Montserrat-normal-700-05.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 {
  --shark-950:#262626; --shark-900:#363636; --shark-800:#4A4A4A;
  --shark-700:#5E5E5E; --shark-600:#737373; --shark-500:#8A8A8A;
  --shark-400:#A1A1A1; --shark-300:#B8B8B8; --shark-200:#D1D1D1;
  --shark-100:#E7E7E7; --shark-50:#F6F6F6; --azure:#266DF1; --navy:#2B3038;   /* globe-sphere blue: footer matches the globe body */
  --success:#36B37E;
}
html, body { background: #0d0d0d; color: #fff; }
body { font-family: 'Poppins', system-ui, sans-serif; font-weight: 300; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
.mono { font-family: 'JetBrains Mono', monospace; }
.font-display { font-family: 'Poppins', sans-serif; font-weight: 900; letter-spacing: -0.04em; }

/* Suede texture — generated CSS gradient */
.suede-bg {
  background:
    radial-gradient(ellipse at 30% 20%, rgba(58,58,58,.9), rgba(18,18,18,1) 60%),
    repeating-linear-gradient(115deg, rgba(255,255,255,.015) 0 2px, transparent 2px 5px),
    repeating-linear-gradient(25deg, rgba(0,0,0,.25) 0 1px, transparent 1px 3px),
    #1a1a1a;
}
.suede-azure {
  background:
    radial-gradient(ellipse at 40% 30%, rgba(38,109,241,.45), rgba(10,20,50,1) 65%),
    repeating-linear-gradient(115deg, rgba(255,255,255,.02) 0 2px, transparent 2px 5px),
    repeating-linear-gradient(25deg, rgba(0,0,0,.3) 0 1px, transparent 1px 3px),
    #0a1432;
}
.suede-light {
  background:
    radial-gradient(ellipse at 60% 30%, rgba(240,240,240,1), rgba(200,200,200,1) 70%),
    repeating-linear-gradient(115deg, rgba(0,0,0,.04) 0 2px, transparent 2px 5px),
    repeating-linear-gradient(25deg, rgba(255,255,255,.35) 0 1px, transparent 1px 3px),
    #d8d8d8;
}

/* Scrollbar */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #0d0d0d; }
::-webkit-scrollbar-thumb { background: #363636; }
::-webkit-scrollbar-thumb:hover { background: #266DF1; }

/* Reveal */
.reveal { opacity: 0; transform: translateY(32px); transition: opacity .9s cubic-bezier(.2,.7,.2,1), transform .9s cubic-bezier(.2,.7,.2,1); }
.reveal.in { opacity: 1; transform: translateY(0); }
.reveal-delay-1 { transition-delay: .1s; }
.reveal-delay-2 { transition-delay: .2s; }
.reveal-delay-3 { transition-delay: .3s; }
.reveal-delay-4 { transition-delay: .4s; }

/* Clip reveal for headlines */
.clip-reveal { clip-path: inset(0 0 100% 0); transition: clip-path 1.1s cubic-bezier(.7,0,.2,1); }
.clip-reveal.in { clip-path: inset(0 0 0% 0); }

/* Pulsing dot */
@keyframes pulseDot {
  0%   { box-shadow: 0 0 0 0 rgba(38,109,241,.65); }
  70%  { box-shadow: 0 0 0 16px rgba(38,109,241,0); }
  100% { box-shadow: 0 0 0 0 rgba(38,109,241,0); }
}
.pulse-dot { animation: pulseDot 2s infinite; }

/* Marquee */
@keyframes marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
/* OEM bar is now a JS-driven scroller (swipeable); see ProductTypes */
.marquee-scroll { scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.marquee-scroll::-webkit-scrollbar { display: none; }

/* Chevron bounce */
@keyframes chev {
  0%,100% { transform: translateY(0); opacity:.6; }
  50% { transform: translateY(8px); opacity:1; }
}
.chev { animation: chev 1.8s ease-in-out infinite; }

.grid-lines::before {
  content:""; position:absolute; inset:0;
  background-image:
    linear-gradient(to right, rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size: 80px 80px;
  pointer-events:none;
}

.divider { height:1px; background: linear-gradient(90deg, transparent, rgba(255,255,255,.18), transparent); }
.divider-dark { height:1px; background: linear-gradient(90deg, transparent, rgba(0,0,0,.18), transparent); }

/* Utility */
.text-azure { color: var(--azure); }
.bg-azure { background: var(--azure); }
.border-azure { border-color: var(--azure); }
.bg-shark-950 { background: var(--shark-950); }
.bg-shark-900 { background: var(--shark-900); }
.bg-shark-800 { background: var(--shark-800); }
.bg-shark-100 { background: var(--shark-100); }
.bg-shark-50  { background: var(--shark-50);  }
.text-shark-950 { color: var(--shark-950); }
.text-shark-900 { color: var(--shark-900); }
.text-shark-800 { color: var(--shark-800); }
.text-shark-700 { color: var(--shark-700); }
.text-shark-600 { color: var(--shark-600); }
.text-shark-500 { color: var(--shark-500); }
.text-shark-400 { color: var(--shark-400); }
.text-shark-300 { color: var(--shark-300); }
.text-shark-200 { color: var(--shark-200); }

/* Certification bar — grayscale to color on hover */
.cert-logo {
  filter: none;
  opacity: 1;
  transition: filter 0.5s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.5s cubic-bezier(0.4, 0, 0.2, 1), transform 0.4s ease;
}
.cert-item:hover .cert-logo {
  filter: grayscale(0) brightness(1);
  opacity: 1;
  transform: scale(1.08);
}
.cert-item:hover .cert-label {
  color: rgba(26,26,26,0.95) !important;   /* darken on hover — the section sits on bone */
}

/* No select on decorative */
.noselect { user-select:none; -webkit-user-select:none; }

/* Globe canvas sizing */
.globe-wrap canvas { display:block; width:100% !important; height:100% !important; }

/* Eyebrow label */
.eyebrow { font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: .25em; text-transform: uppercase; color: var(--shark-500); }

/* Section stack — overlap transitions (Fresky-style) */
.section-stack {
  position: relative;
}
.section-overlap {
  position: relative;
  box-shadow: 0 -30px 80px rgba(0,0,0,.5), 0 -4px 20px rgba(0,0,0,.25);
}

/* Hotspot hover line connector */
@keyframes hotspotLine {
  from { width: 0; }
  to   { width: 24px; }
}
.hotspot-line { animation: hotspotLine 0.3s ease-out forwards; }

/* Nav link — underline grows from left on hover (Bosk-style) */
.nav-link {
  position: relative;
  padding-bottom: 4px;
}
.nav-link::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 1px;
  background: var(--azure);
  transition: width 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
.nav-link:hover::after {
  width: 100%;
}

/* CTA outline buttons — arrow slide + border glow on hover */
.cta-outline {
  position: relative;
  overflow: hidden;
  transition: border-color 0.3s ease, color 0.3s ease, transform 0.2s ease;
}
.cta-outline:hover {
  border-color: var(--azure) !important;
  color: var(--azure) !important;
  transform: translateY(-1px);
}
.cta-outline::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 1.5px;
  background: var(--azure);
  transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.cta-outline:hover::after {
  width: 100%;
}

/* Sustainability icon — rotate on hover */
.pillar-card .pillar-icon {
  transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.pillar-card:hover .pillar-icon {
  transform: rotate(90deg);
}

/* Close button X — rotate on hover */
.close-btn svg {
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.close-btn:hover svg {
  transform: rotate(90deg);
}
.close-btn:hover {
  border-color: rgba(255,255,255,0.5) !important;
  background: rgba(255,255,255,0.1) !important;
}

/* =================================================================
   LIGHT BRAND THEME — bone + bordeaux (locked brand, FINAL spec)
   Bordeaux #6E1F2D · Graphite #262626 · Ink #1A1A1A · Bone #F6F6F6
   Montserrat (display/labels) + Inter (body). Only #top/.on-dark/#product stay dark.
   ================================================================= */
:root{
  --azure:#6E1F2D; --bordeaux:#6E1F2D; --bordeaux-tint:#C25A6E;
  --bone:#F6F6F6; --graphite:#262626; --ink:#1A1A1A; --muted:#6B6B6B;
  --success:#6E1F2D;
}
.text-shark-600{ color:#5E5E5E !important; }

html, body{ background:var(--bone) !important; color:var(--ink) !important; }
body{ font-family:'Inter', system-ui, sans-serif; font-weight:400; }
.font-display{ font-family:'Montserrat', sans-serif; font-weight:700; letter-spacing:-0.04em; }
.mono{ font-family:'Montserrat', sans-serif; font-weight:600; }
.eyebrow{ font-family:'Montserrat', sans-serif; font-weight:700; font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--bordeaux); }

.bg-shark-950{ background:var(--bone) !important; }
.bg-shark-900{ background:#ECECEC !important; }
.bg-shark-800{ background:#E2E2E2 !important; }
.bg-shark-700{ background:var(--shark-200) !important; }

.text-white{ color:var(--ink) !important; }
.text-white\/90{ color:rgba(26,26,26,.9) !important; }
.text-white\/85{ color:rgba(26,26,26,.82) !important; }
.text-white\/80{ color:rgba(26,26,26,.78) !important; }
.text-white\/75{ color:rgba(26,26,26,.72) !important; }
.text-white\/70{ color:rgba(26,26,26,.66) !important; }
.text-white\/60{ color:rgba(26,26,26,.58) !important; }
.text-white\/50{ color:rgba(26,26,26,.5) !important; }
.text-white\/40{ color:rgba(26,26,26,.42) !important; }
.text-white\/35{ color:rgba(26,26,26,.38) !important; }
.text-white\/30{ color:rgba(26,26,26,.32) !important; }
.text-white\/20{ color:rgba(26,26,26,.22) !important; }
.text-white\/\[0\.06\]{ color:rgba(0,0,0,.055) !important; }
.bg-azure.text-white{ color:#F6F6F6 !important; }

.text-shark-400{ color:var(--muted) !important; }
.text-shark-500{ color:var(--muted) !important; }

.border-white{ border-color:rgba(26,26,26,.6) !important; }
.border-white\/70{ border-color:rgba(26,26,26,.6) !important; }
.border-white\/30{ border-color:rgba(26,26,26,.28) !important; }
.border-white\/25{ border-color:rgba(26,26,26,.24) !important; }
.border-white\/20{ border-color:rgba(26,26,26,.2) !important; }
.border-white\/15{ border-color:rgba(26,26,26,.15) !important; }
.border-white\/10{ border-color:rgba(26,26,26,.12) !important; }
.border-white\/5{ border-color:rgba(26,26,26,.07) !important; }

.bg-white\/5{ background:rgba(0,0,0,.04) !important; }
.bg-white\/15{ background:rgba(0,0,0,.06) !important; }

.divider{ background:linear-gradient(90deg, transparent, rgba(0,0,0,.16), transparent) !important; }
.grid-lines::before{
  background-image:
    linear-gradient(to right, rgba(0,0,0,.045) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(0,0,0,.045) 1px, transparent 1px) !important;
}

.suede-bg{ background:
    radial-gradient(ellipse at 30% 20%, rgba(255,255,255,1), rgba(225,222,220,1) 60%),
    repeating-linear-gradient(115deg, rgba(0,0,0,.022) 0 2px, transparent 2px 5px),
    repeating-linear-gradient(25deg, rgba(255,255,255,.5) 0 1px, transparent 1px 3px),
    #ECEAE8 !important; }
.suede-azure{ background:
    radial-gradient(ellipse at 40% 30%, rgba(110,31,45,.16), rgba(246,244,242,1) 65%),
    repeating-linear-gradient(115deg, rgba(0,0,0,.02) 0 2px, transparent 2px 5px),
    repeating-linear-gradient(25deg, rgba(255,255,255,.45) 0 1px, transparent 1px 3px),
    #F2EEEC !important; }

@keyframes pulseDot{
  0%{ box-shadow:0 0 0 0 rgba(110,31,45,.55); }
  70%{ box-shadow:0 0 0 16px rgba(110,31,45,0); }
  100%{ box-shadow:0 0 0 0 rgba(110,31,45,0); }
}

::-webkit-scrollbar-track{ background:var(--bone); }
::-webkit-scrollbar-thumb{ background:var(--shark-300); }
::-webkit-scrollbar-thumb:hover{ background:var(--bordeaux); }

/* ——— HERO EXEMPTION: #top stays dark with white text ——— */
#top{ background:#0d0d0d !important; }
#top .text-white{ color:#fff !important; }
#top .text-white\/70{ color:rgba(255,255,255,.7) !important; }

/* ——— DARK-MEDIA SECTIONS: text over dark imagery stays light ———
   TheTouch (.on-dark) + Product slider (#product) + interior image (.on-dark) */
.on-dark .text-white, #product .text-white, #contact .text-white{ color:#fff !important; }
.on-dark .text-white\/90, #product .text-white\/90, #contact .text-white\/90{ color:rgba(255,255,255,.9) !important; }
.on-dark .text-white\/85, #product .text-white\/85, #contact .text-white\/85{ color:rgba(255,255,255,.85) !important; }
.on-dark .text-white\/80, #product .text-white\/80, #contact .text-white\/80{ color:rgba(255,255,255,.8) !important; }
.on-dark .text-white\/70, #product .text-white\/70, #contact .text-white\/70{ color:rgba(255,255,255,.7) !important; }
.on-dark .text-white\/60, #product .text-white\/60, #contact .text-white\/60{ color:rgba(255,255,255,.6) !important; }
.on-dark .text-white\/50, #product .text-white\/50, #contact .text-white\/50{ color:rgba(255,255,255,.5) !important; }
.on-dark .text-white\/40, #product .text-white\/40, #contact .text-white\/40{ color:rgba(255,255,255,.4) !important; }
.on-dark .text-white\/30, #product .text-white\/30, #contact .text-white\/30{ color:rgba(255,255,255,.32) !important; }
#contact .text-white\/75{ color:rgba(255,255,255,.75) !important; }
#contact .text-white\/55{ color:rgba(255,255,255,.55) !important; }
.on-dark .border-white\/30, #product .border-white\/30, #contact .border-white\/30{ border-color:rgba(255,255,255,.3) !important; }
.on-dark .border-white\/25, #product .border-white\/25, #contact .border-white\/25{ border-color:rgba(255,255,255,.25) !important; }
.on-dark .border-white\/20, #product .border-white\/20, #contact .border-white\/20{ border-color:rgba(255,255,255,.2) !important; }
.on-dark .border-white\/15, #product .border-white\/15, #contact .border-white\/15{ border-color:rgba(255,255,255,.15) !important; }
.on-dark .border-white\/10, #product .border-white\/10, #contact .border-white\/10{ border-color:rgba(255,255,255,.12) !important; }
.on-dark .text-azure, #product .text-azure, #contact .text-azure{ color:var(--bordeaux-tint) !important; }
.on-dark .text-azure\/90, #product .text-azure\/90, #contact .text-azure\/90{ color:var(--bordeaux-tint) !important; }

/* Hero "A trace you can feel" — one-time mount entrance (present on first paint, eases in) */
@keyframes heroTraceIn { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
.hero-trace-in { animation: heroTraceIn 1s cubic-bezier(0.4, 0, 0.2, 1) 0.35s both; }

/* Nav text fades between white (over dark sections) and ink (over bone) — Option A adaptive header */
nav a, nav span, nav svg { transition: color 0.35s ease, fill 0.35s ease, border-color 0.35s ease; }

/* vC video hero — copy reveals on a timed stagger (Side A, then Side B) */
@keyframes heroLineIn { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
.hero-line-a { animation: heroLineIn 1s cubic-bezier(0.4, 0, 0.2, 1) 0.35s both; }
.hero-line-b { animation: heroLineIn 1s cubic-bezier(0.4, 0, 0.2, 1) 1.5s both; }

/* Per-line Request Sample CTA — accent background via --acc custom property, dark text for AA contrast */
/* Split-cell CTA (variant D): hairline frame, label cell + arrow in its own cell */
.acc-cta {
  display: inline-flex; align-items: stretch; padding: 0;
  color: color-mix(in srgb, var(--acc, #6E1F2D) 78%, #fff); background: transparent;
  border: 1px solid color-mix(in srgb, var(--acc, #6E1F2D) 55%, transparent);
  transition: border-color 0.25s ease;
}
.acc-cta:hover { border-color: color-mix(in srgb, var(--acc, #6E1F2D) 78%, transparent); }
.acc-cta .acc-lbl { display: flex; align-items: center; padding: 12px 20px; }
.acc-cta .acc-arr {
  display: flex; align-items: center; padding: 0 13px;
  border-left: 1px solid color-mix(in srgb, var(--acc, #6E1F2D) 45%, transparent);
  background: color-mix(in srgb, var(--acc, #6E1F2D) 12%, transparent);
  transition: background 0.25s ease, color 0.25s ease;
}
.acc-cta:hover .acc-arr { background: var(--acc, #6E1F2D); color: #141414; }
.acc-arr-g { display: inline-block; transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); }
.acc-cta:hover .acc-arr-g { transform: translateX(3px); }

/* Navy footer */
.bg-navy { background: var(--navy); }
.ft-input {
  width: 100%; background: transparent; border: 0; border-bottom: 1px solid rgba(255,255,255,0.35);
  color: #fff; padding: 10px 2px; font-size: 16px; outline: none; border-radius: 0;
  transition: border-color .35s ease;
}
.ft-input::placeholder { color: rgba(255,255,255,0.55); }
.ft-input:focus { border-bottom-color: var(--azure); }
select.ft-input { appearance: none; -webkit-appearance: none; cursor: pointer; }
select.ft-input option { color: #1A1A1A; background: #F6F6F6; }
.ft-link { transition: color .3s ease; }
.ft-link:hover { color: #fff; }

/* ——— Tailored by nineyards — agency attribution badge (exact inhabitus spec, inline) ——— */
.ny-badge {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 10px 18px 10px 14px;
  background: rgba(255, 255, 255, 0.55);
  backdrop-filter: blur(22px) saturate(180%);
  -webkit-backdrop-filter: blur(22px) saturate(180%);
  border: 1px solid rgba(255, 255, 255, 0.55);
  border-radius: 999px;
  box-shadow: 0 6px 28px rgba(0, 0, 0, 0.10), 0 1px 2px rgba(0, 0, 0, 0.05);
  color: #0A0A0A;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
  user-select: none;
  pointer-events: none;
}
.ny-badge__label {
  font-size: 9px; font-weight: 600; letter-spacing: 0.18em;
  text-transform: uppercase; color: #5E5E5E; line-height: 1; white-space: nowrap;
}
.ny-badge__sep { width: 1px; height: 14px; background: rgba(0, 0, 0, 0.15); flex-shrink: 0; }
.ny-badge__logo {
  font-family: 'Fraunces', Georgia, "Times New Roman", serif;
  font-weight: 900; font-size: 19px; letter-spacing: -0.015em; line-height: 1;
  color: #0A0A0A; position: relative; padding-right: 11px;
}
.ny-badge__logo::after {
  content: 'TM'; position: absolute; top: 1px; right: 0;
  font-size: 7px; font-weight: 700; letter-spacing: 0.02em;
}
@media (max-width: 640px) {
  .ny-badge { padding: 8px 14px 8px 12px; gap: 9px; }
  .ny-badge__logo { font-size: 16px; }
  .ny-badge__label { font-size: 8px; }
}

/* ——— #contact dark-footer readability: the light theme remaps root text/eyebrow/CTA colors
   to ink or dark bordeaux, which vanish on the globe-blue footer. Appended last so it wins. ——— */
#contact{ color:#fff !important; }
#contact.text-white{ color:#fff !important; }                       /* root itself carries .text-white */
#contact .eyebrow{ color:#D98A98 !important; }                       /* "Contact" label: light rose, AA on the blue */
#contact .cta-outline{ color:#fff !important; border-color:rgba(255,255,255,.45) !important; }
#contact .cta-outline:hover{ color:#D98A98 !important; border-color:#D98A98 !important; }
#contact .cta-outline::after{ background:#D98A98; }
#contact .text-azure{ color:#D98A98 !important; }                    /* "interior." accent: lightened rose for dark bg */
#contact .ft-input:focus{ border-bottom-color:#D98A98; }

/* Nav split-cell CTA over bone uses full bordeaux; a dark arrow on the filled hover would vanish */
.acc-cta.acc-cta--ink:hover .acc-arr { color: #F6F6F6; }

/* Cabin scroll hint: a hand double-swipes the trackpad (two quick up-strokes, then rest) */
@keyframes padHand {
  0%   { transform: translateY(0); }
  14%  { transform: translateY(-8px); }
  28%  { transform: translateY(0); }
  42%  { transform: translateY(-8px); }
  58%  { transform: translateY(0); }
  100% { transform: translateY(0); }
}
.pad-hand { animation: padHand 2.8s cubic-bezier(0.4, 0, 0.2, 1) infinite; }
/* mobile: one swipe at a time (native snap advances one surface per gesture) */
@keyframes padHandSingle {
  0%   { transform: translateY(0); }
  22%  { transform: translateY(-8px); }
  46%  { transform: translateY(0); }
  100% { transform: translateY(0); }
}
@media (max-width: 767px) {
  .pad-hand { animation: padHandSingle 2.2s cubic-bezier(0.4, 0, 0.2, 1) infinite; }
}

/* Mobile cabin card: cap height so the stage keeps ~52px bone margins for the border actions */
.cabin-card-mobile { width: min(88vw, calc((100vh - 104px) * 9 / 16)); }
@supports (height: 100svh) {
  .cabin-card-mobile { width: min(88vw, calc((100svh - 104px) * 9 / 16)); }
}

/* ——— Cabin surface HUD cards: DOM recreation of the film's card design ——— */
.cabin-hud {
  container-type: inline-size;
  position: absolute; left: 4.5%; bottom: 8%; z-index: 15;
  width: min(46%, 460px);
  padding: 20px 24px 22px;
  background: rgba(17, 20, 24, 0.55);
  backdrop-filter: blur(2px); -webkit-backdrop-filter: blur(2px);
  border-left: 2px solid #A03A48;
  color: #F6F6F6;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  transition: opacity 0.45s ease;
  pointer-events: none;
}
.cabin-hud::before, .cabin-hud::after {
  content: ''; position: absolute; right: 8px; width: 12px; height: 12px;
  border-color: rgba(246,246,246,.7); border-style: solid;
}
.cabin-hud::before { top: 8px; border-width: 1px 1px 0 0; }
.cabin-hud::after  { bottom: 8px; border-width: 0 1px 1px 0; }
.cabin-hud-title { font-size: clamp(17px, 1.6vw, 26px); letter-spacing: 0.01em; margin-bottom: 12px; color: #fff; white-space: nowrap; }
/* Standard card (Hugo, 7 Oct): two product slots of two lines each and one note line, on every card. Lines never wrap: the
   type scales with the card (container units) so the longest composition, "90/10 Sea-Island Microfibers PES / Spandex",
   always fits on one line, on desktop and on phones. The bullet sits on the product name line. */
.cabin-hud-line { display: grid; grid-template-columns: 7px minmax(0, 1fr); column-gap: 10px; align-items: start;
                  font-size: min(clamp(9.5px, 0.8vw, 12.5px), calc((100cqi - 17px) / 27)); line-height: 1.55;
                  letter-spacing: .04em; margin-bottom: 9px; }
.cabin-hud-line.is-empty { visibility: hidden; }
.cabin-hud-line i { width: 7px; height: 7px; background: #C25A6E; margin-top: .45em; }
.cabin-hud-r1 { display: flex; gap: 1.1em; white-space: nowrap; }
.cabin-hud-r1 b { font-weight: 500; color: #fff; }
.cabin-hud-r1 span { color: #8FB8D8; }
.cabin-hud-comp { color: #8FB8D8; white-space: nowrap; }
.cabin-hud-note { margin: 4px 0 0; min-height: 1.5em; font-size: min(clamp(9.5px, 0.72vw, 11.5px), calc(100cqi / 30)); letter-spacing: .12em;
                  text-transform: uppercase; color: #8FB8D8; white-space: nowrap; }
.cabin-hud-caret { display: inline-block; width: 7px; height: 12px; background: #F6F6F6; margin-left: 6px; vertical-align: -1px; animation: hudCaret 1.1s steps(1) infinite; }
@keyframes hudCaret { 50% { opacity: 0; } }
@media (max-width: 767px) {
  .cabin-hud { left: 5%; right: 5%; width: auto; bottom: 13%; padding: 16px 18px 18px; }
  .cabin-hud-title { font-size: 17px; margin-bottom: 10px; }
  /* phones: tighter tracking so the longest composition still fits at a readable size (about 10 px) */
  .cabin-hud-line { letter-spacing: .01em; font-size: min(11px, calc((100cqi - 17px) / 25.8)); }
}

/* Gesture hint breathes until the first journey, then settles (see hintPulse in CabinFlight) */
.hint-pulse { animation: hintPulse 1.7s ease-in-out infinite; }
@keyframes hintPulse { 0%, 100% { opacity: 1; } 50% { opacity: .3; } }
@media (prefers-reduced-motion: reduce) { .hint-pulse { animation: none; } }

/* ——— Cabin gesture hint ———
   Hero overlay across the whole card until the gesture has been used once, then it settles
   into the bottom slot it used to occupy. The move is driven by `top` + transform because
   both animate; switching `bottom`/align-items between the two states would snap instead. */
.cabin-hint { position: absolute; inset: 0; z-index: 20; pointer-events: none; }
.cabin-hint-scrim { position: absolute; inset: 0; background: rgba(10,12,15,.28); opacity: 0; transition: opacity .7s ease; }
.cabin-hint.is-hero .cabin-hint-scrim { opacity: 1; }
.cabin-hint-inner {
  position: absolute; left: 50%; top: calc(100% - 57px);
  display: flex; flex-direction: column; align-items: center; gap: 8px;
  transform: translate(-50%, -50%) scale(1);
  transition: top .75s cubic-bezier(.4,0,.2,1), transform .75s cubic-bezier(.4,0,.2,1);
}
.cabin-hint.is-hero .cabin-hint-inner { top: 50%; transform: translate(-50%, -50%) scale(1.9); }
.cabin-hint-label { font-size: 10px; letter-spacing: .28em; text-transform: uppercase; font-weight: 700; color: #D98A98; text-shadow: 0 1px 12px rgba(0,0,0,.75); white-space: nowrap; }
/* gentler floor than the small-slot pulse: at hero size a deep dip reads as a glitch */
.cabin-hint.is-hero .cabin-hint-label { animation: hintPulseHero 2s ease-in-out infinite; }
@keyframes hintPulseHero { 0%, 100% { opacity: 1; } 50% { opacity: .58; } }
@media (prefers-reduced-motion: reduce) { .cabin-hint.is-hero .cabin-hint-label { animation: none; } }
@media (max-width: 767px) { .cabin-hint.is-hero .cabin-hint-inner { transform: translate(-50%, -50%) scale(1.55); } }

/* ————— Sustainability v2: slate ground, squares on image ————— */
.sus2-squares { position: absolute; left: -26px; bottom: -26px; display: flex; gap: 14px; }
.sus2-sq {
  width: 128px; height: 128px; background: #FCFBF8; border-radius: 10px;
  box-shadow: 0 16px 40px rgba(16, 22, 24, .35);
  display: flex; flex-direction: column; justify-content: center; padding: 0 18px;
}
@media (max-width: 767px) {
  .sus2-squares { left: 10px; bottom: -22px; }
  .sus2-sq { width: 112px; height: 112px; padding: 0 14px; }
}

/* Family accordion: keep the CTA + application-zone row visible on constrained viewport heights */
.acc-mid{flex:1 1 auto;min-height:0;overflow:hidden}
@media (max-height:920px){
  .acc-mid h3{font-size:44px!important;margin-bottom:8px!important}
  .acc-tagline{font-size:15px!important;margin-bottom:8px!important}
  .acc-badge{margin-bottom:10px!important}
  .acc-specgrid{row-gap:6px!important;margin-bottom:12px!important;padding-bottom:12px!important}
  .acc-apps{margin-bottom:10px!important}
  .acc-sell{font-size:14px!important;line-height:1.5!important}
  .acc-mid{-webkit-mask-image:linear-gradient(180deg,#000 78%,transparent 98%);mask-image:linear-gradient(180deg,#000 78%,transparent 98%)}
}

/* Sustainability v3: compact bone section with interactive audited-footprint chart */
.sus3-row{padding:5px 0;border-radius:6px;outline:none;cursor:default}
.sus3-row:hover,.sus3-row:focus-visible{background:rgba(110,31,45,0.045)}
.sus3-tip{position:absolute;right:0;width:250px;background:#FFFFFF;border:1px solid rgba(38,38,38,0.1);border-radius:10px;padding:12px 14px;box-shadow:0 14px 40px rgba(26,26,26,0.14);z-index:5;pointer-events:none}
@media (max-width:767px){.sus3-tip{display:none}}

/* Woven Threads */
.wv-knot{position:absolute;transform:translate(-50%,-160%);border:1.5px solid;border-radius:8px;padding:3px 9px;font-size:12px;font-weight:500;box-shadow:0 6px 18px rgba(26,26,26,.18);cursor:default;white-space:nowrap}
.wv-knot-pending{font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;padding:3px 8px;opacity:.92;border-style:dashed}
.wv-knot:focus-visible{outline:2px solid #6E1F2D;outline-offset:2px}
.wv-card{position:absolute;transform:translate(-20%,18px);width:250px;border:1px solid;border-radius:10px;padding:12px 14px;box-shadow:0 14px 40px rgba(26,26,26,.25);z-index:6;pointer-events:none}
.wv-leg{all:unset;cursor:default;display:inline-flex;align-items:center;gap:8px;transition:color .3s}
@media (max-width:767px){.wv-card{display:none}}

/* pulsing knot dots + click cards + apple-style spinner */
.wv-dot{position:absolute;transform:translate(-50%,-50%);width:15px;height:15px;border-radius:50%;border:2.5px solid;padding:0;cursor:pointer;z-index:4}
.wv-dot-pending{width:13px;height:13px;border-style:dashed;border-width:2px}
.wv-dot-pulse::after{content:'';position:absolute;inset:-3px;border-radius:50%;border:2px solid var(--dotc);opacity:.6;animation:wvpulse 1.9s cubic-bezier(.4,0,.4,1) infinite}
.wv-dot-pending.wv-dot-pulse::after{animation-duration:2.4s}
@keyframes wvpulse{0%{transform:scale(.7);opacity:.65}70%{transform:scale(1.9);opacity:0}100%{transform:scale(1.9);opacity:0}}
.wv-dot:focus-visible{outline:2px solid var(--dotc);outline-offset:3px}
.wv-spin{position:relative;width:16px;height:16px;display:inline-block;flex:none}
.wv-spin span{position:absolute;left:7px;top:7px;width:2px;height:4.6px;border-radius:2px;transform-origin:center 1px;opacity:.25;animation:wvspin 1s linear infinite}
@keyframes wvspin{0%{opacity:.85}100%{opacity:.15}}
@media (max-width:767px){.wv-card{display:block}}

/* sustainability pillar accordion */
.sus-pill{padding:6px 0}
.sus-pill-head{all:unset;cursor:pointer;display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 0}
.sus-pill-head:focus-visible{outline:2px solid #6E1F2D;outline-offset:2px}
.sus-pill-x{font-family:Montserrat,sans-serif;font-weight:600;font-size:18px;line-height:1;transition:transform .35s cubic-bezier(.4,0,.2,1);flex:none;margin-left:14px}
.sus-pill-body{overflow:hidden;transition:max-height .45s cubic-bezier(.4,0,.2,1), opacity .4s;padding-bottom:6px}

/* vivid pillar typography */
.sus-pill-n{font-family:Montserrat,sans-serif;font-weight:800;font-size:15px;letter-spacing:.02em;line-height:1;color:var(--sus-accent);opacity:.55;transition:opacity .35s, transform .35s cubic-bezier(.4,0,.2,1);flex:none}
.sus-pill.open .sus-pill-n{opacity:1;transform:translateY(-1px) scale(1.12)}
.sus-pill-head:hover .sus-pill-n{opacity:.85}
.sus-pill-t{font-size:18.5px;font-weight:700;letter-spacing:-0.02em;color:var(--sus-ink);position:relative;padding-bottom:3px;transition:color .3s}
.sus-pill-t::after{content:'';position:absolute;left:0;bottom:0;height:1.5px;width:100%;background:var(--sus-accent);transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.76,0,.24,1)}
.sus-pill-head:hover .sus-pill-t::after,.sus-pill.open .sus-pill-t::after{transform:scaleX(1)}
.sus-key{color:var(--sus-accent);font-weight:600}
.sus-b1{font-size:14.5px;line-height:1.55;color:var(--sus-ink);margin:4px 0 0}
.sus-b2{font-size:13px;line-height:1.6;color:var(--sus-mute);margin:7px 0 0}
.sus-pill-body p{transform:translateY(10px);opacity:0;transition:transform .5s cubic-bezier(.4,0,.2,1), opacity .45s}
.sus-pill-body .sus-b2{transition-delay:.07s}
.sus-pill.open .sus-pill-body p{transform:none;opacity:1}
.sus-pill-x{font-size:20px}

/* pillar number chip */
.sus-pill.open .sus-pill-n{opacity:1;transform:none}
.sus-pill-n{padding:3px 7px;border:1px solid currentColor;border-radius:5px;transition:opacity .35s, background .35s, color .35s}
.sus-pill.open .sus-pill-n{background:var(--sus-accent);color:var(--sus-bg,#fff);border-color:var(--sus-accent)}

/* mobile weave: hit areas, static value labels */
.wv-dot::before{content:'';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%}
.wv-mlabel{position:absolute;transform:translate(-50%,-190%);font-size:12.5px;font-weight:500;letter-spacing:.02em;pointer-events:none;transition:opacity .6s ease 1.5s;z-index:3}
@media (max-width:767px){
  .wv-card{position:static;transform:none;width:100%;margin-top:14px;box-shadow:none}
  .wv-leg{font-size:11px}
}

/* product card: material sheet + surfaces link */
.acc-sheet{display:flex;flex-direction:column}
.acc-sheet-row{display:flex;align-items:baseline;gap:14px;padding:5px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.acc-sheet-row:last-child{border-bottom:none}
.acc-sheet-k{font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.5);width:104px;flex:none}
.acc-sheet-v{font-size:14.5px;font-weight:500;color:#fff;letter-spacing:-.005em}
.acc-apps-line{display:flex;align-items:baseline;gap:12px;margin-bottom:18px;flex-wrap:wrap}
.acc-apps-lbl{font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.acc-apps-val{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.9)}
@media (max-width:767px){
  .acc-sheet-k{width:92px;font-size:9px}
  .acc-sheet-v{font-size:13px}
  .acc-apps-val{font-size:10.5px}
}
@media (max-height:920px){
  .acc-sheet-row{padding:3px 0}
  .acc-sheet-v{font-size:13px}
  .acc-apps-line{margin-bottom:12px}
}

/* Specified on: one square per part (Hugo, 7 Oct) */
.acc-parts-end{margin-bottom:0;display:flex;flex-direction:column;align-items:flex-end;pointer-events:auto}
.acc-parts-end .acc-parts-row{justify-content:flex-end;flex-wrap:nowrap}
.acc-parts-end .acc-apps-lbl{font-size:10px;letter-spacing:.2em;color:rgba(255,255,255,.6)}
.acc-parts{margin-bottom:18px}
.acc-parts-row{display:flex;gap:10px;margin-top:9px;flex-wrap:wrap}
.acc-part{margin:0;width:78px}
.acc-part img{width:78px;height:78px;object-fit:cover;display:block;box-shadow:0 0 0 1px rgba(255,255,255,.22),0 8px 22px -10px rgba(0,0,0,.7)}
.acc-part figcaption{font-size:8.5px;line-height:1.35;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.88);margin-top:7px;text-shadow:0 1px 6px rgba(0,0,0,.6)}
@media (max-height:920px){.acc-part,.acc-part img{width:64px}.acc-part img{height:64px}.acc-parts{margin-bottom:12px}.acc-parts-row{margin-top:7px}}
@media (max-height:800px){.acc-part,.acc-part img{width:54px}.acc-part img{height:54px}.acc-part figcaption{font-size:8px;letter-spacing:.1em;margin-top:5px}.acc-parts{margin-bottom:8px}.acc-parts-row{gap:8px;margin-top:6px}}
@media (max-width:767px){.acc-part,.acc-part img{width:62px}.acc-part img{height:62px}.acc-part figcaption{font-size:8px;letter-spacing:.1em}}

/* Parts open with the card (Hugo, 7 Oct): like the card's own photo, each part starts black and white and blooms into colour,
   one after another, rising into place; timed to land just after the card's photo turns colour. Closing drops back at once. */
.acc-part img{filter:grayscale(1) brightness(.85);opacity:.0;transform:translateY(8px);transition:filter .25s ease,opacity .25s ease,transform .25s ease}
.is-open .acc-part img{filter:none;opacity:1;transform:none;transition:filter 1s cubic-bezier(.2,.7,.2,1),opacity .6s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.is-open .acc-part:nth-child(1) img{transition-delay:.45s,.35s,.35s}
.is-open .acc-part:nth-child(2) img{transition-delay:.6s,.47s,.47s}
.is-open .acc-part:nth-child(3) img{transition-delay:.75s,.59s,.59s}
.is-open .acc-part:nth-child(4) img{transition-delay:.9s,.71s,.71s}
@media (prefers-reduced-motion:reduce){.acc-part img,.is-open .acc-part img{transition:none;transform:none}}

/* "Meet the family!" (Hugo, 7 Oct): only the dot of the exclamation mark is bordeaux. A bordeaux full stop, which in Montserrat
   is the same dot on the same baseline, is laid exactly over the mark's own dot; the stroke keeps the heading's ink. */
.bang{position:relative;display:inline-block;letter-spacing:0;margin-left:.02em}
.bang-dot{position:absolute;left:0;right:0;top:0;text-align:center;color:#6E1F2D}

/* Certified quality on phones (Hugo, 7 Oct, seven badges): four then three, centred; marks at 52 px */
@media (max-width:767px){ .cert-grid > .cert-item{ width:24%; } .cert-grid .cert-logo svg{ width:52px; height:52px; } .cert-grid .cert-label{ letter-spacing:.1em !important; } .cert-grid .cert-label + .cert-label{ letter-spacing:.03em !important; } }

/* Loading wall: the room's colour, SENSARA, then it slides right like a drawer (these rules belong to index.html's #loader, not to any hero) */
#loader.wall-dark{background:#15171B}#loader.wall-dark .wall-word{color:#E9E5DE}#loader.wall-dark .wall-hair{background:rgba(233,229,222,.35)}
#loader.wall-light{background:#C3BEB6}#loader.wall-light .wall-word{color:#6E1F2D}#loader.wall-light .wall-hair{background:rgba(110,31,45,.35)}
#loader.away{transform:translateX(100%)}
/* Entrance (Hugo 2026-10-05): while the film plays, only the picture, the captions, the swipe cue and the sound control are on screen;
   the header appears when the visitor scrolls, or when the film ends on the card */
body.hero-playing nav{opacity:0;pointer-events:none}
/* the header's pieces (wordmark, links, button) carry the reveal, since the nav's own transition is set inline for its scroll behaviour:
   a scroll brings them in briskly; the end of the film brings them in with grace, slow, settling down from 8 px above, one after the other */
nav .h-16>*{transition:opacity .6s cubic-bezier(.22,.61,.36,1),transform .6s cubic-bezier(.22,.61,.36,1)}
body.hero-playing nav .h-16>*{opacity:0;transform:translateY(-8px)}
body.hero-ended nav .h-16>*{transition-duration:1.6s,1.6s}
body.hero-ended nav .h-16>:nth-child(1){transition-delay:.6s}
body.hero-ended nav .h-16>:nth-child(2){transition-delay:.95s}
body.hero-ended nav .h-16>:nth-child(3){transition-delay:1.3s}
body.hero-ended nav .h-16>:nth-child(n+4){transition-delay:1.5s}
/* ============================================================================================
   HERO — the film (2026-10-05). Scoped under .hfm; assets in sensara/hero-film/. The interface concept
   (2026-09-30) is archived in _archive/2026-09-30_hero-interface/.
   ============================================================================================ */
.hfm{position:relative;width:100%;height:100%;overflow:hidden;background:#070B13;--hfm-paper:#E9E5DE;--ease:cubic-bezier(.22,.61,.36,1)}
.hfm-poster,.hfm-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
/* the poster is the film's first frame: it steps aside the instant the film is moving, no crossfade (a fade over moving picture read as a still) */
.hfm-poster{transition:opacity .2s linear}
.hfm.on .hfm-poster{opacity:0}
.hfm-video{opacity:1}
/* the one control and the scroll cue, on the hero's grid: 24 px in, the cue centred; both fade once the visitor scrolls */
.hfm-ui{position:absolute;left:0;right:0;bottom:32px;z-index:20;padding:0 24px 30px;display:flex;justify-content:center;align-items:flex-end;pointer-events:none;opacity:1;transition:opacity .6s var(--ease)}
.hfm.scrolled .hfm-ui{opacity:0}
.hfm-cue{position:relative;width:1px;height:38px;background:rgba(233,229,222,.18);overflow:hidden;opacity:0;transition:opacity .8s var(--ease) 1s}
.hfm-cue::after{content:"";position:absolute;left:0;top:-14px;width:1px;height:14px;background:var(--hfm-paper);animation:hfmSwipe 2.2s cubic-bezier(.4,0,.2,1) infinite 1.4s}
@keyframes hfmSwipe{0%{transform:translateY(0)}70%{transform:translateY(52px)}100%{transform:translateY(52px)}}
.hfm.on .hfm-cue{opacity:1}
/* sound control: design D, the pen. A 48 px ring centred above the scroll cue; sound on, the ring closes (0.7 s) and "on" writes itself inside it
   letter by letter in Italianno (the end card's hand), then inks; off, the ring opens and a hairline crosses it. 44 px touch target and more. */
.hfm-sound{position:absolute;left:50%;bottom:64px;transform:translateX(-50%);pointer-events:auto;display:flex;flex-direction:column;align-items:center;gap:9px;background:transparent;border:0;padding:6px;margin:0;cursor:pointer;color:var(--hfm-paper);-webkit-tap-highlight-color:transparent;filter:drop-shadow(0 1px 6px rgba(0,0,0,.35))}
.hfm-sound svg{width:48px;height:48px;overflow:visible;display:block}
.hfm-sound .ring{fill:none;stroke:var(--hfm-paper);stroke-width:1;stroke-dasharray:145;stroke-dashoffset:48;transition:stroke-dashoffset .7s var(--ease)}
.hfm-sound.on .ring{stroke-dashoffset:0}
.hfm-sound .slash{stroke:var(--hfm-paper);stroke-width:1;stroke-dasharray:44;stroke-dashoffset:0;transition:stroke-dashoffset .4s}
.hfm-sound.on .slash{stroke-dashoffset:44}
.hfm-sound .pen{font-family:'Italianno',cursive;font-size:26px;fill:var(--hfm-paper);stroke:var(--hfm-paper);stroke-width:.5;stroke-linecap:round;stroke-linejoin:round}
.hfm-sound .pen tspan{fill-opacity:0;stroke-dasharray:90;stroke-dashoffset:90}
.hfm-sound.on .pen tspan{animation:hfmWrite .9s cubic-bezier(.3,0,.5,1) var(--d) forwards,hfmInk .45s var(--ease) calc(var(--d) + .5s) forwards}
@keyframes hfmWrite{to{stroke-dashoffset:0}}@keyframes hfmInk{to{fill-opacity:.95}}
.hfm-sound .lbl{font:600 9px/1 'Montserrat',system-ui,sans-serif;letter-spacing:.28em;text-transform:uppercase;opacity:.78;text-indent:.28em}
.hfm-sound:focus-visible{outline:1px solid rgba(233,229,222,.5);outline-offset:6px}
/* replay, offered on the held end card: the cue's place, the label voice, a hairline under it */
.hfm-replay{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);pointer-events:none;opacity:0;background:transparent;border:0;border-bottom:1px solid rgba(233,229,222,.55);padding:8px 2px 6px;margin:0;cursor:pointer;color:var(--hfm-paper);font:600 9px/1 'Montserrat',system-ui,sans-serif;letter-spacing:.28em;text-indent:.28em;text-transform:uppercase;transition:opacity .8s var(--ease) .6s;-webkit-tap-highlight-color:transparent}
.hfm.ended .hfm-replay{opacity:1;pointer-events:auto}
.hfm.ended .hfm-cue{opacity:0}
.hfm.ended .hfm-ui{opacity:1}
.hfm-replay:focus-visible{outline:1px solid rgba(233,229,222,.5);outline-offset:6px}
/* captions: the film's burnt caption look (JetBrains Mono, uppercase, bone on a faint dark strip), smaller than in the film */
.hfm-cap{position:absolute;left:50%;bottom:max(24%,232px);transform:translateX(-50%);z-index:15;max-width:min(86vw,900px);text-align:center;white-space:nowrap;pointer-events:none;font:400 14px/1.5 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.28em;text-indent:.28em;text-transform:uppercase;color:#E9E5DE;background:rgba(8,10,14,.38);padding:9px 18px 8px;border-radius:2px;text-shadow:0 1px 2px rgba(0,0,0,.5);opacity:0;transition:opacity .3s var(--ease)}
.hfm-cap.show{opacity:1}
.hfm-cap.dg{bottom:calc(max(24%,232px) + 52px);font-size:12px;padding:7px 14px 6px}   /* the line heard in the scene, one row up (2026-10-06) */
@media (max-width:1100px){.hfm-cap{font-size:12px;white-space:normal;line-height:1.7}}
@media (max-width:767px){.hfm-ui{bottom:24px;padding:0 16px 24px}.hfm-sound{bottom:58px}.hfm-cap{font-size:10px;letter-spacing:.22em;text-indent:.22em;bottom:max(23%,186px);max-width:84vw;padding:8px 12px 7px}.hfm-cap.dg{font-size:9px;bottom:calc(max(23%,186px) + 44px);padding:6px 10px 5px}}
@media (prefers-reduced-motion:reduce){.hfm *{animation:none!important;transition-duration:.01s!important}}

/* Cabin plate switch (test, 2026-09-30): same voice as the hero's room switch, on the bone margin */
.cabin-switch{position:absolute;right:24px;bottom:18px;z-index:20;display:flex;gap:2px;font:600 10px/1 'Montserrat',system-ui,sans-serif;letter-spacing:.24em;text-transform:uppercase;color:rgba(26,26,26,.55)}
.cabin-switch button{background:transparent;border:0;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;padding:8px 10px;cursor:pointer;opacity:.7}
.cabin-switch button.on{opacity:1;color:#1A1A1A;border-bottom:1px solid #1A1A1A}
@media (max-width:767px){.cabin-switch{right:12px;bottom:10px}}

/* Cookie notice (2026-10-22): a quiet card, bottom left, in the footer's colours; slides up 12 px and fades in */
.cookie-notice{position:fixed;left:20px;bottom:20px;z-index:9000;max-width:380px;padding:16px 18px 14px;background:rgba(26,26,26,.94);color:#F6F6F6;border:1px solid rgba(255,255,255,.10);border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.28);font-family:Inter,system-ui,sans-serif;opacity:0;transform:translateY(12px);transition:opacity .4s cubic-bezier(.22,.61,.36,1),transform .4s cubic-bezier(.22,.61,.36,1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.cookie-notice.is-on{opacity:1;transform:none}
.cookie-notice[hidden]{display:none}
.cookie-notice__text{margin:0;font-size:13px;line-height:1.55;color:rgba(246,246,246,.86)}
.cookie-notice__label{display:block;font-family:"JetBrains Mono",ui-monospace,monospace;font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:#D98A98;margin-bottom:6px}
.cookie-notice__actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px}
.cookie-notice__link{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:rgba(246,246,246,.78);text-decoration:none;border-bottom:1px solid rgba(246,246,246,.3);padding-bottom:2px}
.cookie-notice__link:hover{color:#fff;border-bottom-color:#fff}
.cookie-notice__btns{display:flex;gap:8px}
.cookie-notice__btn{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:#F6F6F6;background:transparent;border:1px solid rgba(217,138,152,.55);padding:9px 16px;min-height:36px;min-width:92px;cursor:pointer;transition:background .25s,color .25s}
.cookie-notice__btn:hover,.cookie-notice__btn:focus-visible{background:#D98A98;color:#1A1A1A;outline:none}
@media (max-width:767px){.cookie-notice{left:12px;right:12px;bottom:12px;max-width:none}}
@media (prefers-reduced-motion:reduce){.cookie-notice{transition:none}}

*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.\!visible{visibility:visible!important}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{top:0;bottom:0}.bottom-0{bottom:0}.bottom-5{bottom:1.25rem}.left-0{left:0}.left-1\/2{left:50%}.left-3{left:.75rem}.left-5{left:1.25rem}.right-0{right:0}.right-1{right:.25rem}.top-0{top:0}.top-1\/2{top:50%}.top-3{top:.75rem}.top-5{top:1.25rem}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.z-\[1\]{z-index:1}.z-\[9999\]{z-index:9999}.order-1{order:1}.order-2{order:2}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-2{margin-bottom:.5rem}.mb-2\.5{margin-bottom:.625rem}.mb-20{margin-bottom:5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.\!hidden{display:none!important}.hidden{display:none}.h-11{height:2.75rem}.h-16{height:4rem}.h-24{height:6rem}.h-3{height:.75rem}.h-32{height:8rem}.h-9{height:2.25rem}.h-\[2px\]{height:2px}.h-\[5px\]{height:5px}.h-\[80px\]{height:80px}.h-\[80vh\]{height:80vh}.h-full{height:100%}.h-screen{height:100vh}.min-h-\[640px\]{min-height:640px}.w-11{width:2.75rem}.w-12{width:3rem}.w-32{width:8rem}.w-9{width:2.25rem}.w-\[3px\]{width:3px}.w-\[5px\]{width:5px}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-px{width:1px}.max-w-\[1600px\]{max-width:1600px}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1\.5{gap:.375rem}.gap-10{gap:2.5rem}.gap-14{gap:3.5rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-3\.5{gap:.875rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-x-1{-moz-column-gap:.25rem;column-gap:.25rem}.gap-x-10{-moz-column-gap:2.5rem;column-gap:2.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-x-5{-moz-column-gap:1.25rem;column-gap:1.25rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-x-7{-moz-column-gap:1.75rem;column-gap:1.75rem}.gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.gap-y-10{row-gap:2.5rem}.gap-y-2{row-gap:.5rem}.gap-y-3{row-gap:.75rem}.gap-y-4{row-gap:1rem}.gap-y-6{row-gap:1.5rem}.gap-y-8{row-gap:2rem}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-sm{border-radius:.125rem}.border{border-width:1px}.border-y{border-top-width:1px}.border-b,.border-y{border-bottom-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-black\/10{border-color:rgba(0,0,0,.1)}.border-black\/40{border-color:rgba(0,0,0,.4)}.border-black\/\[0\.05\]{border-color:rgba(0,0,0,.05)}.border-black\/\[0\.08\]{border-color:rgba(0,0,0,.08)}.border-white\/10{border-color:hsla(0,0%,100%,.1)}.border-white\/15{border-color:hsla(0,0%,100%,.15)}.border-white\/20{border-color:hsla(0,0%,100%,.2)}.border-white\/25{border-color:hsla(0,0%,100%,.25)}.border-white\/5{border-color:hsla(0,0%,100%,.05)}.bg-black\/\[0\.18\]{background-color:rgba(0,0,0,.18)}.bg-white\/15{background-color:hsla(0,0%,100%,.15)}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-24{padding-top:6rem;padding-bottom:6rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-10{padding-bottom:2.5rem}.pb-12{padding-bottom:3rem}.pb-16{padding-bottom:4rem}.pb-3{padding-bottom:.75rem}.pb-5{padding-bottom:1.25rem}.pb-6{padding-bottom:1.5rem}.pl-3{padding-left:.75rem}.pt-10{padding-top:2.5rem}.pt-16{padding-top:4rem}.pt-20{padding-top:5rem}.pt-32{padding-top:8rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.text-center{text-align:center}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-5xl{font-size:3rem;line-height:1}.text-\[0\.8em\]{font-size:.8em}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[clamp\(30px\2c 4vw\2c 60px\)\]{font-size:clamp(30px,4vw,60px)}.text-\[clamp\(40px\2c 5\.5vw\2c 80px\)\]{font-size:clamp(40px,5.5vw,80px)}.text-\[clamp\(40px\2c 6vw\2c 88px\)\]{font-size:clamp(40px,6vw,88px)}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-light{font-weight:300}.uppercase{text-transform:uppercase}.normal-case{text-transform:none}.italic{font-style:italic}.leading-\[0\.95\]{line-height:.95}.leading-\[0\.9\]{line-height:.9}.leading-\[1\.05\]{line-height:1.05}.leading-\[1\.45\]{line-height:1.45}.leading-\[1\]{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[-0\.03em\]{letter-spacing:-.03em}.tracking-\[-0\.04em\]{letter-spacing:-.04em}.tracking-\[0\.12em\]{letter-spacing:.12em}.tracking-\[0\.14em\]{letter-spacing:.14em}.tracking-\[0\.15em\]{letter-spacing:.15em}.tracking-\[0\.16em\]{letter-spacing:.16em}.tracking-\[0\.18em\]{letter-spacing:.18em}.tracking-\[0\.1em\]{letter-spacing:.1em}.tracking-\[0\.22em\]{letter-spacing:.22em}.tracking-\[0\.25em\]{letter-spacing:.25em}.tracking-\[0\.2em\]{letter-spacing:.2em}.tracking-\[0\.35em\]{letter-spacing:.35em}.tracking-\[0\.3em\]{letter-spacing:.3em}.tracking-normal{letter-spacing:0}.tracking-tight{letter-spacing:-.025em}.text-\[\#E0A0AC\]{--tw-text-opacity:1;color:rgb(224 160 172/var(--tw-text-opacity,1))}.text-black\/60{color:rgba(0,0,0,.6)}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-white\/30{color:hsla(0,0%,100%,.3)}.text-white\/50{color:hsla(0,0%,100%,.5)}.text-white\/55{color:hsla(0,0%,100%,.55)}.text-white\/60{color:hsla(0,0%,100%,.6)}.text-white\/70{color:hsla(0,0%,100%,.7)}.text-white\/75{color:hsla(0,0%,100%,.75)}.text-white\/80{color:hsla(0,0%,100%,.8)}.text-white\/85{color:hsla(0,0%,100%,.85)}.text-white\/90{color:hsla(0,0%,100%,.9)}.opacity-20{opacity:.2}.opacity-60{opacity:.6}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.blur{--tw-blur:blur(8px)}.blur,.drop-shadow{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px rgba(0,0,0,.1)) drop-shadow(0 1px 1px rgba(0,0,0,.06))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.last\:border-r-0:last-child{border-right-width:0}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.hover\:text-black:hover{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.focus\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.focus\:fixed:focus{position:fixed}.focus\:left-4:focus{left:1rem}.focus\:top-4:focus{top:1rem}.focus\:z-\[9999\]:focus{z-index:9999}.focus\:px-4:focus{padding-left:1rem;padding-right:1rem}.focus\:py-2:focus{padding-top:.5rem;padding-bottom:.5rem}.focus\:text-sm:focus{font-size:.875rem;line-height:1.25rem}.focus\:text-white:focus{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}@media (min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:768px){.md\:absolute{position:absolute}.md\:bottom-2{bottom:.5rem}.md\:left-2{left:.5rem}.md\:right-2{right:.5rem}.md\:order-1{order:1}.md\:order-2{order:2}.md\:col-span-2{grid-column:span 2/span 2}.md\:col-span-4{grid-column:span 4/span 4}.md\:col-span-5{grid-column:span 5/span 5}.md\:col-span-6{grid-column:span 6/span 6}.md\:col-span-7{grid-column:span 7/span 7}.md\:col-span-8{grid-column:span 8/span 8}.md\:col-start-7{grid-column-start:7}.md\:col-start-8{grid-column-start:8}.md\:mb-12{margin-bottom:3rem}.md\:mt-0{margin-top:0}.md\:block{display:block}.md\:inline-block{display:inline-block}.md\:flex{display:flex}.md\:grid{display:grid}.md\:contents{display:contents}.md\:hidden{display:none}.md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.md\:justify-items-center{justify-items:center}.md\:gap-14{gap:3.5rem}.md\:gap-6{gap:1.5rem}.md\:p-10{padding:2.5rem}.md\:px-10{padding-left:2.5rem;padding-right:2.5rem}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:py-24{padding-top:6rem;padding-bottom:6rem}.md\:py-32{padding-top:8rem;padding-bottom:8rem}.md\:py-36{padding-top:9rem;padding-bottom:9rem}.md\:pb-12{padding-bottom:3rem}.md\:pb-16{padding-bottom:4rem}.md\:pb-24{padding-bottom:6rem}.md\:pt-12{padding-top:3rem}.md\:pt-20{padding-top:5rem}.md\:pt-24{padding-top:6rem}.md\:text-2xl{font-size:1.5rem;line-height:2rem}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-6xl{font-size:3.75rem;line-height:1}.md\:text-\[13px\]{font-size:13px}.md\:text-base{font-size:1rem;line-height:1.5rem}.md\:text-lg{font-size:1.125rem;line-height:1.75rem}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width:1024px){.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:text-5xl{font-size:3rem;line-height:1}.lg\:text-7xl{font-size:4.5rem;line-height:1}}@media (min-width:1280px){.xl\:gap-x-9{-moz-column-gap:2.25rem;column-gap:2.25rem}}