@charset "utf-8";
@font-face {
  font-family: 'EB Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/eb-garamond-italic-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'EB Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/eb-garamond-italic-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'EB Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/eb-garamond-italic-greek-ext.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
@font-face {
  font-family: 'EB Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/eb-garamond-italic-greek.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: 'EB Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/eb-garamond-italic-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'EB Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/eb-garamond-italic-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'EB Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/eb-garamond-italic-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'EB Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/eb-garamond-italic-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'EB Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/eb-garamond-italic-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'EB Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/eb-garamond-italic-greek-ext.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
@font-face {
  font-family: 'EB Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/eb-garamond-italic-greek.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: 'EB Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/eb-garamond-italic-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'EB Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/eb-garamond-italic-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'EB Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/eb-garamond-italic-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'EB Garamond';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/eb-garamond-italic-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'EB Garamond';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/eb-garamond-italic-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'EB Garamond';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/eb-garamond-italic-greek-ext.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
@font-face {
  font-family: 'EB Garamond';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/eb-garamond-italic-greek.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: 'EB Garamond';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/eb-garamond-italic-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'EB Garamond';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/eb-garamond-italic-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'EB Garamond';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/eb-garamond-italic-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/eb-garamond-normal-cyrillic-ext.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: 'EB Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/eb-garamond-normal-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/eb-garamond-normal-greek-ext.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/eb-garamond-normal-greek.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: 'EB Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/eb-garamond-normal-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/eb-garamond-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/eb-garamond-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/eb-garamond-normal-cyrillic-ext.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: 'EB Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/eb-garamond-normal-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/eb-garamond-normal-greek-ext.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/eb-garamond-normal-greek.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: 'EB Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/eb-garamond-normal-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/eb-garamond-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/eb-garamond-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/eb-garamond-normal-cyrillic-ext.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: 'EB Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/eb-garamond-normal-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/eb-garamond-normal-greek-ext.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/eb-garamond-normal-greek.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: 'EB Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/eb-garamond-normal-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/eb-garamond-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/eb-garamond-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 300 500;
  font-display: swap;
  src: url(fonts/fraunces-italic-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 300 500;
  font-display: swap;
  src: url(fonts/fraunces-italic-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 300 500;
  font-display: swap;
  src: url(fonts/fraunces-italic-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 300 500;
  font-display: swap;
  src: url(fonts/fraunces-normal-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 300 500;
  font-display: swap;
  src: url(fonts/fraunces-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 300 500;
  font-display: swap;
  src: url(fonts/fraunces-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(fonts/work-sans-normal-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(fonts/work-sans-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(fonts/work-sans-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/work-sans-normal-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/work-sans-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/work-sans-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/work-sans-normal-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/work-sans-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/work-sans-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/work-sans-normal-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/work-sans-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/work-sans-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root {
  color-scheme: light dark;
  --oat: #FCFAF8;
  --oat-mid: #F5F0EB;
  --oat-deep: #EDE6DD;
  --terra: #D96C4A;
  --terra-deep: #B54826;
  --terra-light: rgba(217, 108, 74, 0.12);
  --terra-ghost: rgba(217, 108, 74, 0.06);
  --amber-deep: #945E19;
  --amber-ghost: color-mix(in srgb, var(--amber-deep) 6%, transparent);
  --ink: #1A1714;
  --ink-soft: #3D3832;
  --ink-muted: #6C6459;
  --ink-faint: #B8B0A6;
  --ink-faint-text: #776C5F;
  --white: #FFFFFF;
  --glass-strong: rgba(252, 250, 248, 0.92);
  --glass-opaque: rgba(252, 250, 248, 0.97);
  --hairline: rgba(26, 23, 20, 0.06);
  --ghost-text: rgba(26, 23, 20, 0.035);
  --night: #1A1714;
  --cream: #FCFAF8;
  --cream-muted: #B8B0A6;
  --ease-soft: cubic-bezier(0.23, 1, 0.32, 1);
  --ease-curtain: cubic-bezier(0.77, 0, 0.175, 1);
  --site-max: max(1280px, calc(50vw + 640px));
  --u: clamp(1px, calc(100vw / 1920), 1.3px);
  --noise-texture: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='1'/%3E%3C/svg%3E");
}
@media (prefers-color-scheme: dark) {
  :root {
    --oat: #201E1D;
    --oat-mid: #282521;
    --oat-deep: #312C25;
    --terra-deep: #DC7656;
    --amber-deep: #CC904A;
    --ink: #FCFAF8;
    --ink-soft: #DDD6CF;
    --ink-muted: #ABA296;
    --ink-faint: #918880;
    --ink-faint-text: #938A82;
    --glass-strong: rgba(32, 30, 29, 0.92);
    --glass-opaque: rgba(32, 30, 29, 0.97);
    --hairline: rgba(252, 250, 248, 0.08);
    --ghost-text: rgba(252, 250, 248, 0.045);
  }
}
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
[hidden]:not([hidden="until-found"]) { display: none !important; }
@font-face {
  font-family: 'Work Sans Fallback';
  font-style: normal;
  font-weight: 300;
  src: local('Arial'), local('ArialMT');
  size-adjust: 103.97%;
  ascent-override: 89.45%;
  descent-override: 23.08%;
  line-gap-override: 0%;
}
@font-face {
  font-family: 'Work Sans Fallback';
  font-style: normal;
  font-weight: 400;
  src: local('Arial'), local('ArialMT');
  size-adjust: 109.96%;
  ascent-override: 84.58%;
  descent-override: 21.83%;
  line-gap-override: 0%;
}
@font-face {
  font-family: 'Work Sans Fallback';
  font-style: normal;
  font-weight: 500;
  src: local('Arial'), local('ArialMT');
  size-adjust: 110.12%;
  ascent-override: 84.46%;
  descent-override: 21.79%;
  line-gap-override: 0%;
}
@font-face {
  font-family: 'Work Sans Fallback';
  font-style: normal;
  font-weight: 600;
  src: local('Arial Bold'), local('Arial-BoldMT');
  size-adjust: 102.77%;
  ascent-override: 90.49%;
  descent-override: 23.35%;
  line-gap-override: 0%;
}
@font-face {
  font-family: 'EB Garamond Fallback';
  font-style: normal;
  font-weight: 400;
  src: local('Times New Roman'), local('TimesNewRomanPSMT');
  size-adjust: 93.75%;
  ascent-override: 107.74%;
  descent-override: 32.00%;
  line-gap-override: 0%;
}
@font-face {
  font-family: 'EB Garamond Fallback';
  font-style: normal;
  font-weight: 500;
  src: local('Times New Roman'), local('TimesNewRomanPSMT');
  size-adjust: 97.06%;
  ascent-override: 104.06%;
  descent-override: 30.91%;
  line-gap-override: 0%;
}
@font-face {
  font-family: 'EB Garamond Fallback';
  font-style: normal;
  font-weight: 600;
  src: local('Times New Roman Bold'), local('TimesNewRomanPS-BoldMT');
  size-adjust: 94.22%;
  ascent-override: 107.20%;
  descent-override: 31.84%;
  line-gap-override: 0%;
}
@font-face {
  font-family: 'EB Garamond Fallback';
  font-style: italic;
  font-weight: 400;
  src: local('Times New Roman Italic'), local('TimesNewRomanPS-ItalicMT');
  size-adjust: 89.45%;
  ascent-override: 112.91%;
  descent-override: 33.54%;
  line-gap-override: 0%;
}
@font-face {
  font-family: 'EB Garamond Fallback';
  font-style: italic;
  font-weight: 500;
  src: local('Times New Roman Italic'), local('TimesNewRomanPS-ItalicMT');
  size-adjust: 94.25%;
  ascent-override: 107.17%;
  descent-override: 31.83%;
  line-gap-override: 0%;
}
@font-face {
  font-family: 'EB Garamond Fallback';
  font-style: italic;
  font-weight: 600;
  src: local('Times New Roman Bold Italic'), local('TimesNewRomanPS-BoldItalicMT');
  size-adjust: 96.33%;
  ascent-override: 104.85%;
  descent-override: 31.14%;
  line-gap-override: 0%;
}
@font-face {
  font-family: 'Fraunces Fallback';
  font-style: normal;
  font-weight: 300;
  src: local('Georgia');
  size-adjust: 100.95%;
  ascent-override: 97.08%;
  descent-override: 25.76%;
  line-gap-override: 0%;
}
@font-face {
  font-family: 'Fraunces Fallback';
  font-style: normal;
  font-weight: 400;
  src: local('Georgia');
  size-adjust: 104.40%;
  ascent-override: 93.87%;
  descent-override: 24.91%;
  line-gap-override: 0%;
}
@font-face {
  font-family: 'Fraunces Fallback';
  font-style: normal;
  font-weight: 500;
  src: local('Georgia');
  size-adjust: 106.14%;
  ascent-override: 92.33%;
  descent-override: 24.50%;
  line-gap-override: 0%;
}
@font-face {
  font-family: 'Fraunces Fallback';
  font-style: italic;
  font-weight: 300;
  src: local('Georgia Italic'), local('Georgia-Italic');
  size-adjust: 91.97%;
  ascent-override: 106.56%;
  descent-override: 28.27%;
  line-gap-override: 0%;
}
@font-face {
  font-family: 'Fraunces Fallback';
  font-style: italic;
  font-weight: 400;
  src: local('Georgia Italic'), local('Georgia-Italic');
  size-adjust: 96.72%;
  ascent-override: 101.32%;
  descent-override: 26.88%;
  line-gap-override: 0%;
}
@font-face {
  font-family: 'Fraunces Fallback';
  font-style: italic;
  font-weight: 500;
  src: local('Georgia Italic'), local('Georgia-Italic');
  size-adjust: 99.12%;
  ascent-override: 98.87%;
  descent-override: 26.23%;
  line-gap-override: 0%;
}
html {
  scroll-behavior: smooth;
  overflow-x: hidden;
}
body {
  font-family: 'Work Sans', 'Work Sans Fallback', sans-serif;
  background: var(--oat);
  color: var(--ink);
  -webkit-font-smoothing: antialiased;
  overflow: visible;
}
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; height: auto; }
.pill-nav {
  position: fixed;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1000;
  display: flex;
  align-items: center;
  gap: 0;
  background: var(--glass-opaque);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid var(--hairline);
  border-radius: 999px;
  padding: 6px 8px;
  box-shadow: 0 4px 24px rgba(26, 23, 20, 0.06);
}
.pill-nav a {
  font-family: 'EB Garamond', 'EB Garamond Fallback', serif;
  font-size: 14px;
  font-weight: 600;
  color: var(--ink-soft);
  padding: 8px 18px;
  border-radius: 999px;
  transition: color 0.5s var(--ease-soft), background 0.5s var(--ease-soft);
  white-space: nowrap;
}
.pill-nav a span {
  transition: color 0.5s var(--ease-soft);
}
.pill-nav a:hover span,
.pill-nav a.active span {
  color: var(--terra-deep);
}
.pill-nav a.nav-emphasis {
  box-shadow: inset 0 0 0 1px var(--terra-deep);
}
.pill-nav a:focus-visible {
  outline: 2px solid var(--ink);
  outline-offset: 3px;
}
:root {
  --announce-height: 32px;
  --announce-offset: var(--announce-height);
}
.announce {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  height: var(--announce-height);
  padding: 0 16px;
  background: var(--terra-deep);
  color: var(--oat);
  text-decoration: none;
}
.announce p {
  margin: 0;
  font-family: 'Work Sans', 'Work Sans Fallback', sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.03em;
  line-height: 1.6;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.announce:hover p,
.announce:focus-visible p {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.skip-link {
  position: fixed;
  top: 8px;
  left: 8px;
  z-index: 5000;
  padding: 10px 18px;
  border-radius: 999px;
  background: var(--terra-deep);
  color: var(--oat);
  font-family: 'Work Sans', 'Work Sans Fallback', sans-serif;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transform: translateY(-150%);
}
.skip-link:focus { transform: none; }
.skip-link:focus-visible { outline: 2px solid var(--oat); outline-offset: 2px; }
.skip-target:focus { outline: none; }
.visually-hidden {
  position: absolute !important;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}
.announce:focus-visible {
  outline: 2px solid var(--oat);
  outline-offset: -5px;
}
.announce ~ .pill-nav,
.announce ~ .cart-button,
.announce ~ .hamburger {
  top: calc(20px + var(--announce-offset));
}
.site-header:has(.announce) ~ main .hero { min-height: calc(100vh - var(--announce-height)); }
.est-label {
  position: fixed;
  right: 24px;
  --est-line: 50%;
  top: var(--est-line);
  transform: translateY(-50%) rotate(90deg);
  transform-origin: center center;
  font-family: 'EB Garamond', 'EB Garamond Fallback', serif;
  font-size: 13px;
  font-weight: 500;
  font-style: italic;
  color: var(--amber-deep);
  transition: color 0.4s;
  z-index: 900;
  pointer-events: none;
  white-space: nowrap;
}
.est-label--on-dark {
  color: var(--cream-muted);
}
.cta-link {
  display: inline-block;
  font-family: 'Work Sans', 'Work Sans Fallback', sans-serif;
  font-size: 12px;
  font-weight: 600;
  color: var(--terra-deep);
  position: relative;
  padding-bottom: 4px;
  cursor: pointer;
  background: none;
  border: none;
}
.cta-link::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 1.5px;
  background: var(--terra-deep);
  transition: width 0.7s var(--ease-soft);
}
.cta-link:hover::after {
  width: 100%;
}
.cta-link--dark { color: var(--ink); }
.cta-link--dark::after { background: var(--ink); }
.canvas-section {
  overflow: hidden;
}
.hero {
  background: var(--oat);
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 100vh;
}
.hero-image {
  position: relative;
  overflow: hidden;
}
.hero-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero-photos [hidden] { display: none !important; }
.hero-photo {
  position: absolute;
  inset: 0;
  z-index: 2;
  opacity: 0;
  pointer-events: none;
}
.hero-photo.is-current { opacity: 1; }
.hero-photo.is-incoming { z-index: 3; }
.hero-photo.is-current,
.hero-photo.is-incoming,
.hero-photo.is-next { will-change: opacity; }
.hero-photo.is-next { opacity: 0; }
.hero-photo.is-current .hero-photo-img,
.hero-photo.is-incoming .hero-photo-img,
.hero-photo.is-next .hero-photo-img { will-change: scale; }
.hero-photo-img { display: block; }
.hero-photo picture { display: contents; }
.hero-photos.is-ready .hero-photo::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 120px;
  background: linear-gradient(to top, rgba(26, 23, 20, 0.48), rgba(26, 23, 20, 0.45) 44px,
    rgba(26, 23, 20, 0.27) 70px, rgba(26, 23, 20, 0.1) 95px, rgba(26, 23, 20, 0));
  pointer-events: none;
}
.hero-photos.is-ready .hero-photo--named::after {
  height: 170px;
  background: linear-gradient(to top, rgba(26, 23, 20, 0.58), rgba(26, 23, 20, 0.565) 82px,
    rgba(26, 23, 20, 0.32) 115px, rgba(26, 23, 20, 0.11) 145px, rgba(26, 23, 20, 0));
}
@media (min-width: 1025px) {
  .hero-photos.is-ready .hero-photo::after {
    height: 150px;
    background: linear-gradient(to top, rgba(26, 23, 20, 0.48), rgba(26, 23, 20, 0.45) 52px,
      rgba(26, 23, 20, 0.26) 85px, rgba(26, 23, 20, 0.1) 115px, rgba(26, 23, 20, 0));
  }
  .hero-photos.is-ready .hero-photo--named::after {
    height: 200px;
    background: linear-gradient(to top, rgba(26, 23, 20, 0.58), rgba(26, 23, 20, 0.565) 90px,
      rgba(26, 23, 20, 0.32) 125px, rgba(26, 23, 20, 0.11) 160px, rgba(26, 23, 20, 0));
  }
}
.hero-photos {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
}
.hero-photo-piece { -webkit-touch-callout: default; }
.hero-photos-turn {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 50%;
  z-index: 1;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}
.hero-photos-turn--previous { left: 0; cursor: url("images/cursor-previous.svg") 16 16, w-resize; }
.hero-photos-turn--next { right: 0; cursor: url("images/cursor-next.svg") 16 16, e-resize; }
.hero-photo-piece {
  position: absolute;
  left: 50%;
  bottom: 58px;
  z-index: 1;
  max-width: calc(100% - 48px);
  overflow: hidden;
  transform: translateX(-50%);
  pointer-events: auto;
  font-family: 'EB Garamond', 'EB Garamond Fallback', serif;
  font-size: 17px;
  font-style: italic;
  font-weight: 500;
  letter-spacing: 0.01em;
  white-space: nowrap;
  text-overflow: ellipsis;
  color: var(--cream);
  text-decoration: none;
  text-underline-offset: 4px;
  text-decoration-thickness: 1px;
}
.hero-photo-piece:hover,
.hero-photo-piece:focus-visible { text-decoration: underline; }
.hero-photos-controls {
  position: absolute;
  left: 50%;
  bottom: 4px;
  z-index: 5;
  transform: translateX(-50%);
}
.hero-photos-tabs {
  display: flex;
  height: 44px;
}
.hero-photos-tab {
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  padding: 0 11px;
  border: 0;
  background: none;
  cursor: pointer;
}
.hero-photos-bar {
  position: relative;
  display: block;
  width: 100%;
  height: 2px;
}
.hero-photos-bar::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: var(--cream);
}
.hero-photos-fill {
  position: absolute;
  inset: 0;
  background: var(--cream);
  transform: scaleX(0);
  transform-origin: left center;
}
.hero-photos.is-stopped .hero-photos-tab[aria-selected="true"] .hero-photos-fill { transform: scaleX(1); }
.hero-photos-pause {
  position: absolute;
  right: 100%;
  bottom: 4px;
  margin-right: 6px;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(26, 23, 20, 0.6);
  color: var(--cream);
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
}
.hero-photos-pause:focus-visible {
  opacity: 1;
  pointer-events: auto;
}
.hero-photos-icon {
  width: 14px;
  height: 14px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.hero-photos-icon--play { display: none; }
.hero-photos-pause.is-paused .hero-photos-icon--pause { display: none; }
.hero-photos-pause.is-paused .hero-photos-icon--play { display: block; }
.hero-photos-tab:focus-visible {
  outline: 1.5px solid var(--cream);
  outline-offset: -3px;
  box-shadow: inset 0 0 0 4.5px rgba(26, 23, 20, 0.45);
}
.hero-photos-pause:focus-visible,
.hero-photo-piece:focus-visible {
  outline: 1.5px solid var(--cream);
  outline-offset: 2px;
  box-shadow: 0 0 0 4px rgba(26, 23, 20, 0.45);
}
.hero-photos-live {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
@media (min-width: 1025px) {
  .hero-photos-controls { bottom: 12px; }
  .hero-photo-piece { bottom: 66px; }
}
.hero-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 80px 64px 80px 56px;
}
.hero-eyebrow {
  font-family: 'EB Garamond', 'EB Garamond Fallback', serif;
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--terra-deep);
  margin-bottom: 28px;
  opacity: 0;
  animation: fadeUp 0.9s var(--ease-soft) 0.3s forwards;
}
.hero-title {
  font-family: 'Fraunces', 'Fraunces Fallback', serif;
  font-optical-sizing: auto;
  font-size: clamp(42px, 5.5vw, 88px);
  font-weight: 300;
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: var(--ink);
  margin-bottom: 28px;
  opacity: 0;
  animation: fadeUp 1s var(--ease-soft) 0.5s forwards;
}
.hero-title em {
  font-style: italic;
  color: var(--terra-deep);
}
.hero-desc {
  font-size: 15px;
  font-weight: 300;
  line-height: 1.8;
  color: var(--ink-muted);
  max-width: 380px;
  margin-bottom: 36px;
  text-wrap: pretty;
  opacity: 0;
  animation: fadeUp 0.9s var(--ease-soft) 0.7s forwards;
}
.hero-cta {
  opacity: 0;
  animation: fadeUp 0.9s var(--ease-soft) 0.9s forwards;
}
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}
picture { display: contents; }
.kel-logo {
  display: block;
}
.kel-logo--hero { width: 72px; height: 72px; }
.kel-logo--signature { width: 96px; height: 96px; margin: 0 auto; }
.process {
  background: var(--night);
  color: var(--cream);
  display: flex;
  align-items: center;
  padding: 110px 64px 100px;
}
.process-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
}
.process-left {
  position: relative;
}
.process-title {
  font-family: 'Fraunces', 'Fraunces Fallback', serif;
  font-optical-sizing: auto;
  font-size: clamp(28px, 3.5vw, 48px);
  font-weight: 300;
  line-height: 1.15;
  margin-bottom: 20px;
}
.process-subtitle {
  font-size: 15px;
  font-weight: 300;
  color: var(--cream-muted);
  line-height: 1.8;
  max-width: 340px;
}
.timeline {
  position: relative;
  padding-left: 40px;
}
.timeline-item {
  position: relative;
  padding: 0 0 56px 0;
  transition: opacity 0.9s var(--ease-soft), transform 0.9s var(--ease-soft);
}
.timeline-item::before {
  content: '';
  position: absolute;
  left: -43.5px;
  top: 7px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  border: 1.5px solid var(--terra);
  background: var(--terra);
  transition: background 0.5s var(--ease-soft);
}
.timeline-item:nth-child(2)::before { left: -44.5px; top: 6px; width: 9px; height: 9px; }
.timeline-item:nth-child(3)::before { left: -45.5px; top: 5px; width: 11px; height: 11px; }
.timeline-item:nth-child(4)::before { left: -46.5px; top: 4px; width: 13px; height: 13px; }
@media screen and (prefers-reduced-motion: no-preference) {
  .timeline.is-following .timeline-item:not(.in-view) { opacity: 0.2; transform: translateY(12px); }
  .timeline.is-following .timeline-item:not(.in-view)::before { background: var(--night); }
}
.timeline.is-settling .timeline-item,
.timeline.is-settling .timeline-item::before { transition: none; }
.timeline-item:not(:last-child)::after {
  content: '';
  position: absolute;
  top: 10.5px;
  height: 100%;
  left: -41px;
  width: 2px;
  background: var(--terra);
}
.timeline-item:nth-child(1)::after {
  left: -40.5px;
  width: 1px;
  background: linear-gradient(180deg, transparent, var(--terra));
}
.timeline-item:nth-child(3)::after {
  left: -41.5px;
  width: 3px;
  background: linear-gradient(180deg, var(--terra), transparent);
}
.timeline-step {
  font-family: 'EB Garamond', 'EB Garamond Fallback', serif;
  font-size: 13px;
  font-style: italic;
  color: var(--terra);
  margin-bottom: 10px;
}
.timeline-heading {
  font-family: 'Fraunces', 'Fraunces Fallback', serif;
  font-optical-sizing: auto;
  font-size: 22px;
  font-weight: 400;
  margin-bottom: 8px;
  color: var(--cream);
}
.timeline-text {
  font-size: 13px;
  font-weight: 300;
  line-height: 1.75;
  color: var(--cream-muted);
  max-width: 340px;
}
.order {
  background: var(--oat);
  display: flex;
  align-items: center;
  padding: 110px 64px 100px;
}
@media (min-width: 769px) {
  .order { min-height: 100vh; padding-top: 110px; padding-bottom: clamp(64px, 7vh, 100px); }
}
.order-inner {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
}
.order-header {
  text-align: center;
  max-width: 560px;
  margin: 0 auto 64px;
}
.order-title {
  font-family: 'Fraunces', 'Fraunces Fallback', serif;
  font-optical-sizing: auto;
  font-size: clamp(28px, 3.5vw, 48px);
  font-weight: 300;
  color: var(--ink);
  margin-bottom: 16px;
}
.order-subtitle {
  font-size: 15px;
  font-weight: 300;
  color: var(--ink-muted);
  line-height: 1.8;
}
.order-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  align-items: start;
}
.order-step {
  padding-top: 28px;
  border-top: 1px solid var(--oat-deep);
}
.order-step-num {
  display: block;
  font-family: 'Fraunces', 'Fraunces Fallback', serif;
  font-optical-sizing: auto;
  font-size: 40px;
  font-weight: 300;
  font-style: italic;
  color: var(--terra-deep);
  margin-bottom: 16px;
}
.order-step-heading {
  font-family: 'Fraunces', 'Fraunces Fallback', serif;
  font-optical-sizing: auto;
  font-size: 19px;
  font-weight: 500;
  color: var(--ink);
  line-height: 1.3;
  margin-bottom: 10px;
}
.order-step-text {
  font-size: 13px;
  font-weight: 300;
  line-height: 1.75;
  color: var(--ink-muted);
}
.order-cta {
  margin-top: 56px;
  text-align: center;
}
.order-path-title {
  font-family: 'Fraunces', 'Fraunces Fallback', serif;
  font-optical-sizing: auto;
  font-size: clamp(22px, 2.4vw, 30px);
  font-weight: 400;
  line-height: 1.2;
  color: var(--ink);
  margin: 0 0 8px;
}
.order-main .order-grid { margin-top: 28px; }
.order-cta--main {
  margin-top: 40px;
  text-align: left;
}
.order-custom {
  margin-top: 56px;
  padding: 28px 28px 30px;
  border-radius: 18px;
  background: var(--oat-mid);
}
.order-custom-title {
  font-family: 'Fraunces', 'Fraunces Fallback', serif;
  font-optical-sizing: auto;
  font-size: 19px;
  font-weight: 500;
  line-height: 1.3;
  color: var(--ink);
  margin: 0 0 6px;
}
.order-custom-intro {
  font-family: 'EB Garamond', 'EB Garamond Fallback', serif;
  font-size: 16px;
  font-style: italic;
  line-height: 1.6;
  color: var(--ink-muted);
  margin: 0 0 18px;
}
.order-custom-steps {
  margin: 0 0 20px;
  padding-left: 20px;
}
.order-custom-steps li {
  font-size: 14px;
  font-weight: 300;
  line-height: 1.75;
  color: var(--ink-muted);
  margin-bottom: 8px;
}
.order-custom-steps li::marker {
  font-family: 'Fraunces', 'Fraunces Fallback', serif;
  font-style: italic;
  color: var(--terra-deep);
}
.order-custom-step {
  font-weight: 500;
  color: var(--ink);
}
.order-custom-note {
  margin: 0 0 18px;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.75;
  color: var(--ink-soft);
}
@media (min-width: 769px) {
  .order-custom {
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    grid-template-rows: auto auto 1fr;
    gap: 0 48px;
    align-items: start;
  }
  .order-custom-lead { grid-column: 1; grid-row: 1; }
  .order-custom-steps { grid-column: 2; grid-row: 1 / span 3; margin-bottom: 0; }
  .order-custom-note { grid-column: 1; grid-row: 2; margin: 0 0 20px; padding-top: 18px; border-top: 1px solid var(--oat-deep); font-size: 15px; }
  .order-custom-link { grid-column: 1; grid-row: 3; align-self: start; justify-self: start; }
  .order-custom-steps li { font-size: 15px; }
}
.video-fragment {
  background: var(--night);
  position: relative;
  overflow: hidden;
  --carnet-glow: #F6B49A;
  --carnet-focus: #F0B39C;
  --carnet-ring-scale: 2.4;
}
.carnet-head {
  position: relative;
  display: flex;
  justify-content: center;
}
.carnet-head::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 45%;
  background: linear-gradient(to bottom, transparent, var(--night));
}
.video-bg {
  position: absolute;
  inset: 0;
}
.video-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.45) saturate(0.8);
}
.grain-overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  opacity: 0.4;
  background-image: var(--noise-texture);
  background-repeat: repeat;
  background-size: 180px;
  mix-blend-mode: overlay;
}
.video-content {
  position: relative;
  z-index: 3;
  text-align: center;
  max-width: 600px;
  padding: 64px 40px;
}
.video-title {
  font-family: 'Fraunces', 'Fraunces Fallback', serif;
  font-optical-sizing: auto;
  font-size: clamp(28px, 4vw, 52px);
  font-weight: 300;
  color: var(--cream);
  line-height: 1.15;
  margin-bottom: 16px;
}
.video-caption {
  font-size: 15px;
  font-weight: 300;
  color: var(--cream-muted);
  line-height: 1.7;
  margin-bottom: 28px;
}
.carnet-path {
  position: relative;
  z-index: 3;
  max-width: 560px;
  margin: 0 auto;
  padding: 60px 24px 72px 16px;
}
.carnet-trace {
  position: absolute;
  left: 0;
  top: 0;
  overflow: visible;
  pointer-events: none;
}
.carnet-trace-ghost {
  fill: none;
  stroke: var(--cream);
  stroke-opacity: 0.22;
  stroke-width: 1.5;
  stroke-dasharray: 2 8;
  stroke-linecap: round;
}
.carnet-trace-line {
  fill: none;
  stroke: var(--terra);
  stroke-width: 2.5;
  stroke-linecap: round;
}
.carnet-trace-dot { fill: var(--carnet-glow); }
.carnet-trace-halo { fill: var(--terra); opacity: 0.3; }
.carnet-trace-glow { fill: url(#carnet-glow); }
.carnet-glow-from { stop-color: var(--terra); stop-opacity: 0.45; }
.carnet-glow-to { stop-color: var(--terra); stop-opacity: 0; }
.carnet-steps {
  position: relative;
  list-style: none;
  margin: 0;
  padding: 0;
}
.carnet-steps::before {
  content: '';
  position: absolute;
  left: 16.75px;
  top: -60px;
  bottom: 0;
  width: 2.5px;
  border-radius: 2px;
  background: var(--terra);
}
.carnet.has-trace .carnet-steps::before { display: none; }
.carnet-step {
  position: relative;
  padding-left: 60px;
}
.carnet-step + .carnet-step { margin-top: 80px; }
.carnet-mark {
  position: absolute;
  left: 0;
  top: 0;
  width: 36px;
  height: 36px;
  font-family: 'Fraunces', 'Fraunces Fallback', serif;
  font-size: 13px;
  line-height: 1;
}
.carnet-mark-base,
.carnet-mark-ring,
.carnet-mark-on {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
}
.carnet-mark-base {
  border: 1px solid color-mix(in srgb, var(--cream) 28%, transparent);
  background: var(--night);
  color: color-mix(in srgb, var(--cream) 50%, transparent);
}
.carnet-mark-ring {
  border: 2px solid var(--terra);
  opacity: 0;
}
.carnet-mark-on {
  background: var(--terra);
  color: var(--night);
}
.carnet-label {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.carnet-title {
  margin: 0;
  font-family: 'Fraunces', 'Fraunces Fallback', serif;
  font-style: italic;
  font-weight: 300;
  font-size: 32px;
  line-height: 1.05;
  color: var(--cream);
}
.carnet-subtitle {
  margin: 0;
  font-size: 14px;
  line-height: 1.4;
  color: var(--cream-muted);
}
.carnet-photo {
  display: block;
  position: relative;
  width: 100%;
  max-width: 340px;
  margin-top: 24px;
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  cursor: zoom-in;
  transform: rotate(-1.5deg);
}
.carnet-step:nth-child(even) .carnet-photo { transform: rotate(1.5deg); }
.carnet-photo:focus-visible {
  outline: 2px solid var(--carnet-focus);
  outline-offset: 8px;
  border-radius: 6px;
}
.carnet-photo-lift {
  display: block;
  position: relative;
  transition: transform 0.5s var(--ease-soft);
}
.carnet-photo.is-pointed .carnet-photo-lift,
.carnet-photo:focus-visible .carnet-photo-lift { transform: translateY(-10px); }
.carnet-photo img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 4px;
  box-shadow: 0 30px 50px -20px rgba(0, 0, 0, 0.75);
}
.carnet-tape {
  position: absolute;
  left: 34.5%;
  top: -12px;
  width: 31%;
  height: 24px;
  background: color-mix(in srgb, var(--terra) 50%, transparent);
  transform: rotate(-4deg);
}
.carnet-step:nth-child(even) .carnet-tape { transform: rotate(3deg); }
.carnet-chip {
  display: block;
  margin-top: 14px;
  color: var(--cream-muted);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.04em;
  text-align: center;
  visibility: hidden;
}
.carnet.has-loupe .carnet-chip { visibility: visible; }
.carnet-chip-click { display: none; }
.carnet-end {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
  margin-top: 72px;
  padding-left: 60px;
}
.carnet-end-text {
  margin: 0;
  font-family: 'Fraunces', 'Fraunces Fallback', serif;
  font-style: italic;
  font-weight: 300;
  font-size: 22px;
  line-height: 1.3;
  color: var(--cream);
}
.carnet-end-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  padding: 0 22px;
  border-radius: 999px;
  background: var(--terra);
  color: var(--night);
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
}
.carnet-end-link:focus-visible {
  outline: 2px solid var(--carnet-focus);
  outline-offset: 3px;
}
.carnet-more { display: none; }
.carnet.is-folded .carnet-step + .carnet-step,
.carnet.is-folded .carnet-end { display: none; }
.carnet.is-folded .carnet-more {
  display: flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  min-height: 44px;
  margin: 44px 0 0 60px;
  padding: 0 16px;
  border: 1px solid color-mix(in srgb, var(--cream) 55%, transparent);
  border-radius: 999px;
  background: none;
  color: var(--cream);
  font: inherit;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
}
.carnet-more-label,
.carnet-more-count { white-space: nowrap; }
.carnet-more-count {
  color: var(--cream-muted);
  font-size: 12px;
}
.carnet-more:focus-visible {
  outline: 2px solid var(--carnet-focus);
  outline-offset: 3px;
}
.carnet-title:focus { outline: none; }
.carnet-icon {
  flex: none;
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
@media screen and (prefers-reduced-motion: no-preference) {
  .carnet.is-live .carnet-mark-on { transition: opacity 0.5s, transform 0.7s var(--ease-soft); }
  .carnet.is-live .carnet-step:not(.is-shown) .carnet-mark-on { opacity: 0; transform: scale(0.3); }
  .carnet.is-live .carnet-step.is-shown:not(.is-passed) .carnet-mark-ring { animation: carnet-ring 1.4s ease-out both; }
  .carnet.is-live .carnet-photo { transition: opacity 0.9s ease 0.1s, transform 1.1s var(--ease-soft) 0.1s; }
  .carnet.is-live .carnet-step:not(.is-shown) .carnet-photo { opacity: 0; transform: translateY(50px) rotate(-6deg) scale(0.95); }
  .carnet.is-live .carnet-step:nth-child(even):not(.is-shown) .carnet-photo { transform: translateY(50px) rotate(6deg) scale(0.95); }
  .carnet.is-live .carnet-label { transition: opacity 0.8s 0.3s, transform 0.9s var(--ease-soft) 0.3s; }
  .carnet.is-live .carnet-step:not(.is-shown) .carnet-label { opacity: 0; transform: translateX(20px); }
  .carnet.is-live .carnet-end { transition: opacity 0.9s, transform 0.9s var(--ease-soft); }
  .carnet.is-live .carnet-end:not(.is-shown) { opacity: 0; transform: translateY(20px); }
  .carnet.is-settling .carnet-mark-on,
  .carnet.is-settling .carnet-photo,
  .carnet.is-settling .carnet-label,
  .carnet.is-settling .carnet-end { transition: none; }
}
@keyframes carnet-ring {
  0% { opacity: 0; transform: scale(1); }
  12% { opacity: 0.85; }
  100% { opacity: 0; transform: scale(var(--carnet-ring-scale)); }
}
.carnet-loupe {
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  margin: 0;
  padding: 16px;
  border: 0;
  background: rgba(16, 14, 12, 0.95);
  color: var(--cream);
}
.carnet-loupe[open] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
}
.carnet-loupe::backdrop { background: transparent; }
.carnet-loupe-img {
  display: block;
  max-width: 100%;
  max-height: calc(100vh - 120px);
  max-height: calc(100dvh - 120px);
  width: auto;
  height: auto;
  border-radius: 6px;
}
.carnet-loupe-row {
  display: flex;
  align-items: center;
  gap: 14px;
}
.carnet-loupe-button,
.carnet-loupe-close {
  min-height: 48px;
  border: 1px solid color-mix(in srgb, var(--cream) 35%, transparent);
  background: rgba(26, 23, 20, 0.45);
  color: var(--cream);
  font: inherit;
  cursor: pointer;
}
.carnet-loupe-button {
  width: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border-radius: 50%;
}
.carnet-loupe-close {
  padding: 0 24px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 500;
}
.carnet-loupe-button:focus-visible,
.carnet-loupe-close:focus-visible {
  outline: 2px solid var(--carnet-focus);
  outline-offset: 3px;
}
@media screen and (prefers-reduced-motion: no-preference) {
  .carnet-loupe[open] { animation: carnet-fade 0.3s both; }
  .carnet-loupe[open] .carnet-loupe-img { animation: carnet-zoom 0.55s var(--ease-soft) both; }
  .carnet-loupe .carnet-loupe-img.is-turning { animation: carnet-turn 0.5s var(--ease-curtain) both; }
}
@keyframes carnet-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes carnet-zoom { from { opacity: 0; transform: translateY(30px) scale(0.96); } to { opacity: 1; transform: none; } }
@keyframes carnet-turn { from { opacity: 0; transform: translateX(24px); } to { opacity: 1; transform: none; } }
@media (min-width: 1025px) {
  .video-fragment { --carnet-ring-scale: 2.6; }
  .carnet-path {
    max-width: none;
    padding: 45px 40px 96px;
  }
  .carnet-trace-ghost { stroke-dasharray: 2 9; }
  .carnet-steps::before { left: calc(50% - 1.25px); top: -45px; }
  .carnet-step {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 220px minmax(0, 1fr);
    align-items: center;
    padding-left: 0;
  }
  .carnet-step + .carnet-step { margin-top: 10px; }
  .carnet-mark {
    position: relative;
    grid-column: 2;
    grid-row: 1;
    justify-self: center;
    width: 56px;
    height: 56px;
    font-size: 19px;
  }
  .carnet-label {
    grid-column: 3;
    grid-row: 1;
    justify-self: start;
    max-width: 380px;
    gap: 10px;
  }
  .carnet-step:nth-child(even) .carnet-label {
    grid-column: 1;
    justify-self: end;
    align-items: flex-end;
    text-align: right;
  }
  .carnet-title { font-size: 48px; }
  .carnet-subtitle { font-size: 16px; line-height: 1.5; }
  .carnet-photo {
    grid-column: 1;
    grid-row: 1;
    justify-self: end;
    width: 340px;
    max-width: none;
    margin-top: 0;
    transform: rotate(-2.5deg);
  }
  .carnet-step:nth-child(even) .carnet-photo {
    grid-column: 3;
    justify-self: start;
    transform: rotate(2.5deg);
  }
  .carnet-photo img { box-shadow: 0 40px 70px -24px rgba(0, 0, 0, 0.75); }
  .carnet-tape {
    left: 34.7%;
    top: -14px;
    width: 30.6%;
    height: 28px;
    background: color-mix(in srgb, var(--terra) 55%, transparent);
  }
  .carnet-step:nth-child(3) .carnet-tape { transform: rotate(-3deg); }
  .carnet-step:nth-child(4) .carnet-tape { transform: rotate(4deg); }
  .carnet-chip {
    margin-top: 18px;
    font-size: 13px;
  }
  .carnet-chip-touch { display: none; }
  .carnet-chip-click { display: inline; }
  .carnet-end {
    align-items: center;
    gap: 26px;
    margin-top: 60px;
    padding-left: 0;
    text-align: center;
  }
  .carnet-end-text { font-size: 32px; }
  .carnet-end-link {
    min-height: 52px;
    padding: 0 28px;
    letter-spacing: 0.02em;
  }
  .carnet.is-folded .carnet-more { margin: 72px auto 0; }
}
@media screen and (prefers-reduced-motion: no-preference) and (min-width: 1025px) {
  .carnet.is-live .carnet-step:not(.is-shown) .carnet-photo { transform: translate(-40px, 60px) rotate(-9deg) scale(0.94); }
  .carnet.is-live .carnet-step:nth-child(even):not(.is-shown) .carnet-photo { transform: translate(40px, 60px) rotate(9deg) scale(0.94); }
  .carnet.is-live .carnet-step:not(.is-shown) .carnet-label { transform: translateX(30px); }
  .carnet.is-live .carnet-step:nth-child(even):not(.is-shown) .carnet-label { transform: translateX(-30px); }
}
.reviews {
  background: var(--oat);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 60px 64px;
}
.reviews-inner {
  max-width: 480px;
}
.reviews-title {
  font-family: 'Fraunces', 'Fraunces Fallback', serif;
  font-optical-sizing: auto;
  font-size: clamp(36px, 3.5vw, 48px);
  font-weight: 300;
  color: var(--ink);
  margin-bottom: 16px;
}
.reviews-text {
  font-family: 'Fraunces', 'Fraunces Fallback', serif;
  font-optical-sizing: auto;
  font-style: italic;
  font-size: 17px;
  font-weight: 400;
  color: var(--ink-muted);
  line-height: 1.7;
}
.reviews-cta {
  margin-top: 24px;
}
.faq {
  background: var(--oat);
  display: flex;
  align-items: flex-start;
  padding: 100px 64px;
  border-top: 1px solid var(--oat-deep);
}
.faq-inner {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
}
.faq-header {
  text-align: center;
  max-width: 560px;
  margin: 0 auto 64px;
}
.faq-title {
  font-family: 'Fraunces', 'Fraunces Fallback', serif;
  font-optical-sizing: auto;
  font-size: clamp(28px, 3.5vw, 48px);
  font-weight: 300;
  color: var(--ink);
  margin-bottom: 16px;
}
.faq-subtitle {
  font-size: 15px;
  font-weight: 300;
  color: var(--ink-muted);
  line-height: 1.8;
}
.faq-list {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
.faq-item {
  padding-top: 28px;
  border-top: 1px solid var(--oat-deep);
}
#faq { scroll-margin-top: 9px; }
#faq-livraison { scroll-margin-top: 96px; }
#faq-offre { scroll-margin-top: min(calc(195 * var(--u) + 110px), 50vh); }
.faq-trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  text-align: left;
  font-family: 'Fraunces', 'Fraunces Fallback', serif;
  font-optical-sizing: auto;
  font-size: 19px;
  font-weight: 500;
  color: var(--ink);
  line-height: 1.3;
}
.faq-trigger:focus-visible {
  outline: 2px solid var(--terra);
  outline-offset: 4px;
  border-radius: 2px;
}
.faq-chevron {
  flex: none;
  width: 16px;
  height: 16px;
  stroke: var(--ink);
  fill: none;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  transform: rotate(90deg);
  transition: transform 0.5s var(--ease-soft);
}
.faq-item.is-open .faq-chevron {
  transform: rotate(-90deg);
}
.faq-panel {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.5s var(--ease-soft);
}
.faq-item.is-open .faq-panel {
  grid-template-rows: 1fr;
}
.faq-panel-inner {
  overflow: hidden;
}
.faq-key,
.order-key {
  font-weight: 500;
  color: var(--amber-deep);
}
.faq-answer {
  font-size: 14px;
  font-weight: 300;
  line-height: 1.75;
  color: var(--ink-soft);
  padding-top: 10px;
}
@media (min-width: 769px) {
  .faq-trigger { font-size: 22px; }
  .faq-answer { font-size: 17px; }
  .faq-inner { max-width: 1040px; }
  .faq-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: stretch;
    gap: 56px;
  }
  .is-split .faq-stage {
    display: grid;
    align-content: start;
    background: var(--oat-mid);
    border: 1px solid var(--oat-deep);
    border-radius: 24px;
    padding: 28px 32px;
  }
  .is-split .faq-stage .faq-answer { padding-top: 0; }
  .is-split .faq-stage .faq-panel {
    grid-area: 1 / 1;
    display: block;
    visibility: hidden;
  }
  .is-split .faq-stage .faq-panel.is-shown { visibility: visible; }
  .is-split .faq-chevron { transform: none; }
  .is-split .faq-trigger:hover { color: var(--terra-deep); }
  .is-split .faq-item.is-open .faq-trigger { color: var(--terra-deep); }
  .is-split .faq-item.is-open .faq-chevron {
    transform: none;
    stroke: var(--terra-deep);
  }
}
.signature {
  background: var(--oat-mid);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
}
.signature-bg-logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: 'Fraunces', 'Fraunces Fallback', serif;
  font-optical-sizing: auto;
  font-size: clamp(120px, 18vw, 280px);
  font-weight: 300;
  color: var(--ghost-text);
  white-space: nowrap;
  pointer-events: none;
  -webkit-user-select: none;
  user-select: none;
  letter-spacing: 0.05em;
}
.signature-content {
  position: relative;
  z-index: 2;
  text-align: center;
  max-width: 480px;
  padding: 40px;
}
.signature-mark {
  font-family: 'Fraunces', 'Fraunces Fallback', serif;
  font-optical-sizing: auto;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.4em;
  text-transform: uppercase;
  color: var(--terra-deep);
  margin-bottom: 32px;
}
.signature-heading {
  font-family: 'Fraunces', 'Fraunces Fallback', serif;
  font-optical-sizing: auto;
  font-size: clamp(32px, 4vw, 56px);
  font-weight: 300;
  line-height: 1.15;
  color: var(--ink);
  margin-bottom: 20px;
}
.signature-text {
  font-size: 15px;
  font-weight: 300;
  line-height: 1.85;
  color: var(--ink-muted);
  margin-bottom: 32px;
}
.signature-email {
  font-family: 'Fraunces', 'Fraunces Fallback', serif;
  font-optical-sizing: auto;
  font-size: clamp(18px, 2vw, 26px);
  font-weight: 400;
  font-style: italic;
  color: var(--ink);
  margin-bottom: 12px;
  padding: 1px 0;
  transition: color 0.5s var(--ease-soft);
}
.signature-email:hover { color: var(--terra-deep); }
.signature-phone {
  font-family: 'EB Garamond', 'EB Garamond Fallback', serif;
  font-size: 15px;
  letter-spacing: 0.08em;
  color: var(--ink-faint-text);
  margin-bottom: 36px;
}
.signature-phone a { transition: color 0.5s var(--ease-soft); }
.signature-phone a:hover { color: var(--terra-deep); }
.signature-links {
  display: flex;
  gap: 28px;
  justify-content: center;
}
.signature-footer {
  position: relative;
  z-index: 2;
  margin: 8px 0 24px;
  padding: 0 24px;
  text-align: center;
  font-family: 'EB Garamond', 'EB Garamond Fallback', serif;
  font-size: 14px;
  color: var(--ink-muted);
  letter-spacing: 0.06em;
}
.signature-footer a {
  transition: color 0.4s;
}
.signature-footer a:hover { color: var(--terra-deep); }
.hamburger {
  display: none;
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 2000;
  width: 44px;
  height: 44px;
  background: var(--glass-strong);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid var(--hairline);
  border-radius: 50%;
  box-shadow: 0 2px 12px rgba(26, 23, 20, 0.08);
  cursor: pointer;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
}
.hamburger span {
  display: block;
  width: 16px;
  height: 1.5px;
  background: var(--ink);
  transition: transform 0.5s var(--ease-soft), opacity 0.3s;
}
.hamburger.open span:nth-child(1) { transform: rotate(45deg) translate(3px, 4px); }
.hamburger.open span:nth-child(2) { opacity: 0; }
.hamburger.open span:nth-child(3) { transform: rotate(-45deg) translate(3px, -4px); }
.cart-button {
  position: fixed;
  top: 20px;
  right: 24px;
  z-index: 2000;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--glass-opaque);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid var(--hairline);
  border-radius: 50%;
  box-shadow: 0 4px 24px rgba(26, 23, 20, 0.06);
  color: var(--ink-soft);
  transition: color 0.5s var(--ease-soft);
}
.cart-button.active { color: var(--terra-deep); }
.cart-button:focus-visible { outline: 2px solid var(--terra-deep); outline-offset: 3px; }
.top-bar { display: none; }
@media (min-width: 769px) {
  .cart-button:hover { color: var(--terra-deep); }
}
.cart-count {
  position: absolute;
  top: -4px;
  right: -4px;
  min-width: 19px;
  height: 19px;
  padding: 0 5px;
  border-radius: 999px;
  background: var(--terra-deep);
  color: var(--oat);
  font-family: 'Work Sans', 'Work Sans Fallback', sans-serif;
  font-size: 11px;
  font-weight: 600;
  line-height: 19px;
  text-align: center;
}
.mobile-nav {
  display: none;
  position: fixed;
  inset: 0;
  background: var(--glass-opaque);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  z-index: 1500;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 28px;
  padding: 80px 40px;
  overflow-y: auto;
}
.mobile-nav.open { display: flex; }
body.is-scroll-locked {
  position: fixed;
  left: 0;
  right: 0;
  width: 100%;
}
.mobile-nav a {
  font-family: 'Fraunces', 'Fraunces Fallback', serif;
  font-optical-sizing: auto;
  font-size: 28px;
  font-weight: 300;
  color: var(--ink);
  transition: color 0.4s;
}
.mobile-nav a:hover { color: var(--terra-deep); }
.mobile-nav a.nav-emphasis {
  box-shadow: inset 0 0 0 1px var(--terra-deep);
  padding: 2px 30px 6px;
  border-radius: 999px;
}
.mobile-nav a:focus-visible {
  outline: 2px solid var(--ink);
  outline-offset: 4px;
}
.lightbox {
  position: fixed;
  inset: 0;
  z-index: 3000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px;
  background: rgba(26, 23, 20, 0.92);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s var(--ease-soft);
}
.lightbox.is-open {
  opacity: 1;
  pointer-events: auto;
}
.lightbox-figure {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
  margin: 0;
  max-width: 90vw;
}
.lightbox-img {
  max-width: 90vw;
  max-height: 85vh;
  border-radius: 16px;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.4);
}
.lightbox.has-ai-note .lightbox-img {
  max-height: 78vh;
}
.lightbox-ai-note {
  margin: -8px 0 0;
  max-width: 520px;
  text-align: center;
  font-family: 'Work Sans', 'Work Sans Fallback', sans-serif;
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: 0.02em;
  color: var(--cream);
  opacity: 0.8;
}
.lightbox-ai-note span { display: inline-block; }
.lightbox.has-caption .lightbox-img {
  max-height: 62vh;
}
.lightbox-caption {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  max-width: 520px;
  text-align: center;
  font-family: 'EB Garamond', 'EB Garamond Fallback', serif;
  color: var(--cream);
}
.lightbox-caption-name {
  font-size: 15px;
  font-style: italic;
}
.lightbox-caption-dimensions {
  font-size: 13px;
  letter-spacing: 0.06em;
  color: var(--cream-muted);
}
.lightbox-caption-dimensions:empty {
  display: none;
}
.lightbox-caption-desc {
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
  font-weight: 300;
  opacity: 0.85;
}
.lightbox-caption-desc:empty {
  display: none;
}
.lightbox-close {
  position: absolute;
  top: 24px;
  right: 24px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: none;
  background: rgba(252, 250, 248, 0.12);
  color: var(--cream);
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  transition: background 0.3s var(--ease-soft);
}
.lightbox-close:hover {
  background: rgba(252, 250, 248, 0.24);
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-property: none !important;
  }
  html { scroll-behavior: auto; }
}
@media (max-width: 1024px) {
  .hero { grid-template-columns: 1fr; }
  .hero-image { height: 50vh; }
  .hero-content { padding: 48px 40px; }
  .est-label--home { --est-line: 75%; }
  .process { padding: 110px 40px 80px; }
  .process-inner {
    grid-template-columns: 1fr;
    gap: 48px;
  }
  .order { padding-left: 40px; padding-right: 40px; }
  .order-grid { gap: 40px 32px; }
}
@media (max-width: 768px) {
  .pill-nav { display: none; }
  .hamburger { display: flex; }
  .cart-button {
    right: 74px;
    width: 44px;
    height: 44px;
    background: var(--glass-strong);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: 0 2px 12px rgba(26, 23, 20, 0.08);
  }
  .top-bar {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1400;
    height: 84px;
    background: var(--glass-opaque);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-bottom: 1px solid var(--hairline);
    box-shadow: 0 4px 24px rgba(26, 23, 20, 0.05);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s var(--ease-soft);
  }
  .top-bar.is-shown { opacity: 1; pointer-events: auto; }
  .announce ~ .top-bar { top: var(--announce-offset); }
  .est-label { display: none; }
  .hero-image { height: 45vh; min-height: 280px; }
  .hero-content { padding: 36px 24px 48px; }
  .process { padding: 110px 24px 60px; }
  .timeline { padding-left: 28px; }
  .timeline-item::before { left: -31.5px; }
  .timeline-item:nth-child(2)::before { left: -32.5px; }
  .timeline-item:nth-child(3)::before { left: -33.5px; }
  .timeline-item:nth-child(4)::before { left: -34.5px; }
  .timeline-item:not(:last-child)::after { left: -29px; }
  .timeline-item:nth-child(1)::after { left: -28.5px; }
  .timeline-item:nth-child(3)::after { left: -29.5px; }
  .order { padding: 110px 24px 60px; }
  .order-header { margin-bottom: 40px; }
  .order-grid { grid-template-columns: 1fr; gap: 28px; }
  .order-main .order-step { padding-top: 22px; }
  .order-main .order-step-num { font-size: 32px; margin-bottom: 10px; }
  .order-cta--main { margin-top: 32px; }
  .order-custom { margin-top: 44px; padding: 22px 20px 24px; }
  .video-content { padding: 48px 24px; }
  .reviews { padding: 48px 24px; }
  .faq { padding: 60px 24px; }
  #faq { scroll-margin-top: 49px; }
  .section-page > .faq:first-child { padding-top: 110px; }
  .faq-list { gap: 36px; }
  .signature-content { padding: 24px; }
  .signature-bg-logo { font-size: 80px; }
  .kel-logo--hero { width: 58px; height: 58px; }
  .kel-logo--signature { width: 80px; height: 80px; }
  .mobile-nav {
    padding: 80px 32px;
    overflow-y: auto;
  }
}
@media (min-width: 1025px) and (max-width: 1920px) and (max-height: 730px) {
  .hero-content { padding-bottom: 16px; }
  .hero-eyebrow { margin-bottom: 12px; }
  .kel-logo--hero { width: 56px; height: 56px; }
  .hero-title { margin-bottom: 16px; }
  .hero-desc { margin-bottom: 20px; }
}
@media (min-width: 1921px) {
  .hero-content { padding: calc(80 * var(--u)) calc(64 * var(--u)) calc(80 * var(--u)) calc(56 * var(--u)); }
  .hero-eyebrow { margin-bottom: calc(28 * var(--u)); }
  .kel-logo--hero { width: calc(72 * var(--u)); height: calc(72 * var(--u)); }
  .hero-title { font-size: calc(88 * var(--u)); margin-bottom: calc(28 * var(--u)); }
  .hero-desc { font-size: calc(15 * var(--u)); max-width: calc(380 * var(--u)); margin-bottom: calc(36 * var(--u)); }
  .hero-cta .cta-link { font-size: calc(12 * var(--u)); }
  .process { padding-top: max(110px, calc(100 * var(--u))); padding-bottom: calc(100 * var(--u)); }
  .process-inner { max-width: calc(1100 * var(--u)); gap: calc(80 * var(--u)); }
  .process-title { font-size: calc(48 * var(--u)); margin-bottom: calc(20 * var(--u)); }
  .process-subtitle { font-size: calc(15 * var(--u)); max-width: calc(340 * var(--u)); }
  .timeline-item { padding-bottom: calc(56 * var(--u)); }
  .timeline-step { font-size: calc(13 * var(--u)); margin-bottom: calc(10 * var(--u)); }
  .timeline-heading { font-size: calc(22 * var(--u)); margin-bottom: calc(8 * var(--u)); }
  .timeline-text { font-size: calc(13 * var(--u)); max-width: calc(340 * var(--u)); }
  .order-inner { max-width: calc(1100 * var(--u)); }
  .order-header { max-width: calc(560 * var(--u)); margin-bottom: calc(64 * var(--u)); }
  .order-title { font-size: calc(48 * var(--u)); margin-bottom: calc(16 * var(--u)); }
  .order-subtitle { font-size: calc(15 * var(--u)); }
  .order-path-title { font-size: calc(30 * var(--u)); margin-bottom: calc(8 * var(--u)); }
  .order-main .order-grid { margin-top: calc(28 * var(--u)); }
  .order-grid { gap: calc(40 * var(--u)); }
  .order-step { padding-top: calc(28 * var(--u)); }
  .order-step-num { font-size: calc(40 * var(--u)); margin-bottom: calc(16 * var(--u)); }
  .order-step-heading { font-size: calc(19 * var(--u)); margin-bottom: calc(10 * var(--u)); }
  .order-step-text { font-size: calc(13 * var(--u)); }
  .order-cta--main { margin-top: calc(40 * var(--u)); }
  .order .piece-cta { padding: calc(14 * var(--u)) calc(26 * var(--u)); font-size: calc(13 * var(--u)); }
  .order-custom { margin-top: calc(56 * var(--u)); padding: calc(28 * var(--u)) calc(28 * var(--u)) calc(30 * var(--u)); border-radius: calc(18 * var(--u)); gap: 0 calc(48 * var(--u)); }
  .order-custom-title { font-size: calc(19 * var(--u)); margin-bottom: calc(6 * var(--u)); }
  .order-custom-intro { font-size: calc(16 * var(--u)); margin-bottom: calc(18 * var(--u)); }
  .order-custom-steps { padding-left: calc(20 * var(--u)); }
  .order-custom-steps li { font-size: calc(15 * var(--u)); margin-bottom: calc(8 * var(--u)); }
  .order-custom-note { font-size: calc(15 * var(--u)); margin-bottom: calc(20 * var(--u)); padding-top: calc(18 * var(--u)); }
  .order-custom-link { font-size: calc(12 * var(--u)); }
  .video-content { max-width: calc(600 * var(--u)); padding: calc(64 * var(--u)) calc(40 * var(--u)); }
  .video-title { font-size: calc(52 * var(--u)); margin-bottom: calc(16 * var(--u)); }
  .video-caption { font-size: calc(15 * var(--u)); margin-bottom: calc(28 * var(--u)); }
  .carnet-path { padding: calc(45 * var(--u)) calc(40 * var(--u)) calc(96 * var(--u)); }
  .carnet-steps::before { left: calc(50% - 1.25 * var(--u)); top: calc(-45 * var(--u)); width: calc(2.5 * var(--u)); }
  .carnet-trace-line { stroke-width: calc(2.5 * var(--u)); }
  .carnet-trace-ghost { stroke-width: calc(1.5 * var(--u)); }
  .carnet-step { grid-template-columns: minmax(0, 1fr) calc(220 * var(--u)) minmax(0, 1fr); }
  .carnet-step + .carnet-step { margin-top: calc(10 * var(--u)); }
  .carnet-mark { width: calc(56 * var(--u)); height: calc(56 * var(--u)); font-size: calc(19 * var(--u)); }
  .carnet-label { max-width: calc(380 * var(--u)); gap: calc(10 * var(--u)); }
  .carnet-title { font-size: calc(48 * var(--u)); }
  .carnet-subtitle { font-size: calc(16 * var(--u)); }
  .carnet-photo { width: calc(340 * var(--u)); }
  .carnet-tape { top: calc(-14 * var(--u)); height: calc(28 * var(--u)); }
  .carnet-chip { margin-top: calc(18 * var(--u)); font-size: calc(13 * var(--u)); }
  .carnet-end { margin-top: calc(60 * var(--u)); gap: calc(26 * var(--u)); }
  .carnet-end-text { font-size: calc(32 * var(--u)); }
  .carnet-end-link { min-height: calc(52 * var(--u)); padding: 0 calc(28 * var(--u)); font-size: calc(15 * var(--u)); }
  .carnet.is-folded .carnet-more { gap: calc(8 * var(--u)); min-height: calc(44 * var(--u)); margin-top: calc(72 * var(--u)); padding: 0 calc(16 * var(--u)); font-size: calc(14 * var(--u)); }
  .carnet-more-count { font-size: calc(12 * var(--u)); }
  .reviews { padding-top: calc(60 * var(--u)); padding-bottom: calc(60 * var(--u)); }
  .reviews-inner { max-width: calc(480 * var(--u)); }
  .reviews-title { font-size: calc(48 * var(--u)); margin-bottom: calc(16 * var(--u)); }
  .reviews-text { font-size: calc(17 * var(--u)); }
  .reviews-cta { margin-top: calc(24 * var(--u)); }
  .reviews .cta-link { font-size: calc(12 * var(--u)); }
  .faq { padding-top: calc(100 * var(--u)); padding-bottom: calc(100 * var(--u)); }
  #faq { scroll-margin-top: max(0px, calc(109px - 100 * var(--u))); }
  .faq-inner { max-width: calc(1040 * var(--u)); }
  .faq-header { max-width: calc(560 * var(--u)); margin-bottom: calc(64 * var(--u)); }
  .faq-title { font-size: calc(48 * var(--u)); margin-bottom: calc(16 * var(--u)); }
  .faq-subtitle { font-size: calc(15 * var(--u)); }
  .faq-list { gap: calc(40 * var(--u)); }
  .faq-item { padding-top: calc(28 * var(--u)); }
  .faq-trigger { font-size: calc(22 * var(--u)); gap: calc(16 * var(--u)); }
  .faq-chevron { width: calc(16 * var(--u)); height: calc(16 * var(--u)); }
  .faq-answer { font-size: calc(17 * var(--u)); }
  .faq-grid { gap: calc(56 * var(--u)); }
  .is-split .faq-stage { padding: calc(28 * var(--u)) calc(32 * var(--u)); border-radius: calc(24 * var(--u)); }
  .signature-content { max-width: calc(480 * var(--u)); padding: calc(40 * var(--u)); }
  .signature-bg-logo { font-size: calc(280 * var(--u)); }
  .signature-mark { font-size: calc(14 * var(--u)); margin-bottom: calc(32 * var(--u)); }
  .kel-logo--signature { width: calc(96 * var(--u)); height: calc(96 * var(--u)); }
  .signature-heading { font-size: calc(56 * var(--u)); margin-bottom: calc(20 * var(--u)); }
  .signature-text { font-size: calc(15 * var(--u)); margin-bottom: calc(32 * var(--u)); }
  .signature-email { font-size: calc(26 * var(--u)); margin-bottom: calc(12 * var(--u)); }
  .signature-phone { font-size: calc(15 * var(--u)); margin-bottom: calc(36 * var(--u)); }
  .signature-links { gap: calc(28 * var(--u)); }
  .signature-links .cta-link { font-size: calc(12 * var(--u)); }
  .signature-footer { font-size: calc(14 * var(--u)); margin-bottom: calc(24 * var(--u)); }
}
.shop,
.piece,
.not-found,
.legal,
.cart,
.thanks {
  padding: 120px 64px 96px;
  max-width: 1280px;
  margin: 0 auto;
}
.shop-grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 40px 28px;
}
.shop-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.shop-card[hidden] { display: none; }
.shop-card-media {
  position: relative;
  container-type: inline-size;
  transition: transform 0.9s var(--ease-soft);
}
.shop-card-media:hover { transform: translateY(-4px); }
.shop-card-photo {
  position: relative;
  display: block;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 24px;
  background: var(--oat-deep);
  box-shadow: 0 8px 32px rgba(26, 23, 20, 0.06);
  transition: box-shadow 0.8s var(--ease-soft);
}
.shop-card-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1.2s var(--ease-soft), opacity 0.6s var(--ease-soft);
}
.shop-card-photo:hover { box-shadow: 0 16px 48px rgba(26, 23, 20, 0.1); }
.shop-card-photo:hover img { transform: scale(1.03); }
.shop-card[data-availability="vendue"] .shop-card-photo img { opacity: 0.55; }
.shop-card[data-availability="vendue"] .shop-card-photo:hover img { opacity: 0.85; }
.shop-card-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  padding: 5px 11px;
  border-radius: 999px;
  font-family: 'Work Sans', 'Work Sans Fallback', sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  pointer-events: none;
}
.shop-card-badge--reserved {
  background: var(--oat);
  color: var(--amber-deep);
  border: 1px solid var(--amber-deep);
}
.shop-card-badge--sold {
  background: var(--oat-mid);
  color: var(--ink-muted);
  border: 1px solid var(--oat-deep);
}
.shop-card-ai {
  position: absolute;
  left: 10px;
  bottom: 10px;
  padding: 4px 9px;
  border-radius: 999px;
  background: var(--glass-strong);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  font-family: 'Work Sans', 'Work Sans Fallback', sans-serif;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0.01em;
  color: var(--ink-soft);
  white-space: nowrap;
  pointer-events: none;
}
.shop-card-ai-long { display: none; }
@container (min-width: 168px) {
  .shop-card-ai-long { display: inline; }
  .shop-card-ai-short { display: none; }
}
.piece-thumb-ai,
.cart-row-ai {
  position: absolute;
  left: 4px;
  bottom: 4px;
  padding: 1px 5px;
  border-radius: 999px;
  background: var(--glass-strong);
  font-family: 'Work Sans', 'Work Sans Fallback', sans-serif;
  font-size: 9px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.04em;
  color: var(--ink-soft);
  pointer-events: none;
}
.shop-card-body {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  padding: 16px 6px 0;
}
.shop-card-name {
  font-family: 'Fraunces', 'Fraunces Fallback', serif;
  font-optical-sizing: auto;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.25;
  color: var(--ink);
  transition: color 0.4s var(--ease-soft);
}
.shop-card-name:hover { color: var(--terra-deep); }
.shop-card-ref {
  font-family: 'EB Garamond', 'EB Garamond Fallback', serif;
  font-size: 13px;
  font-style: italic;
  letter-spacing: 0.06em;
  color: var(--ink-faint-text);
  margin-top: -4px;
}
.shop-card-price {
  font-family: 'Work Sans', 'Work Sans Fallback', sans-serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--ink);
  margin: 0;
}
.shop-card-price-old {
  font-weight: 400;
  color: var(--ink-faint-text);
  margin-right: 6px;
}
.shop-card-action {
  display: inline-block;
  background: transparent;
  cursor: pointer;
  line-height: normal;
  margin-top: 6px;
  padding: 8px 16px;
  border: 1px solid var(--ink-faint);
  border-radius: 999px;
  font-family: 'Work Sans', 'Work Sans Fallback', sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--ink);
  transition: border-color 0.4s var(--ease-soft), color 0.4s var(--ease-soft), background 0.4s var(--ease-soft);
}
.shop-card-action:hover {
  border-color: var(--ink);
  background: var(--ink);
  color: var(--oat);
}
.shop-card-action.is-in-cart:hover {
  border-color: var(--ink);
  background: transparent;
  color: var(--ink);
}
.shop-card-buy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.cart-added-line {
  margin: 0;
  font-family: 'Work Sans', 'Work Sans Fallback', sans-serif;
  font-size: 14px;
  line-height: 1.5;
  color: var(--ink);
}
.cart-added-line [aria-hidden="true"]:first-child {
  color: var(--terra-deep);
  font-weight: 600;
}
.cart-added-line a {
  font-weight: 600;
  color: var(--terra-deep);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.shop-card-buy .cart-added-line {
  margin-top: 8px;
  font-size: 12px;
}
.piece-added .cart-added-line { margin: -10px 0 14px; }
.shop-card-badge[hidden],
.shop-card-until[hidden],
.shop-card-action[hidden],
.piece-state[hidden],
.piece-actions[hidden] { display: none; }
.shop-card-until {
  margin: 4px 0 0;
  font-family: 'EB Garamond', 'EB Garamond Fallback', serif;
  font-size: 14px;
  font-style: italic;
  color: var(--amber-deep);
}
.shop-card-similar {
  margin-top: 4px;
}
.shop-header {
  max-width: 640px;
  margin-bottom: 40px;
}
.shop-eyebrow,
.piece-eyebrow,
.not-found-eyebrow,
.legal-eyebrow {
  font-family: 'EB Garamond', 'EB Garamond Fallback', serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--terra-deep);
  margin: 0 0 14px;
}
.shop-title {
  font-family: 'Fraunces', 'Fraunces Fallback', serif;
  font-optical-sizing: auto;
  font-size: clamp(36px, 4.5vw, 64px);
  font-weight: 300;
  line-height: 1.05;
  color: var(--ink);
  margin: 0 0 18px;
}
.shop-intro {
  font-size: 15px;
  font-weight: 300;
  line-height: 1.85;
  color: var(--ink-muted);
  margin: 0;
}
.shop-collection {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 24px;
  padding: 10px 10px 10px 18px;
  border-radius: 999px;
  background: var(--terra-light);
  font-family: 'Fraunces', 'Fraunces Fallback', serif;
  font-optical-sizing: auto;
  font-size: 16px;
  color: var(--ink);
}
.shop-collection[hidden] { display: none; }
.shop-collection-label {
  font-family: 'EB Garamond', 'EB Garamond Fallback', serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--terra-deep);
}
.shop-collection-clear,
.shop-active-chip {
  border: none;
  background: none;
  cursor: pointer;
  font: inherit;
  color: inherit;
}
.shop-collection-clear {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--oat);
  font-size: 18px;
  line-height: 1;
  color: var(--ink);
  transition: background 0.3s, color 0.3s;
}
.shop-collection-clear:hover { background: var(--ink); color: var(--oat); }
.shop-filters {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 20px;
}
.shop-chips {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  scrollbar-width: none;
  margin: 0 -64px;
  padding: 2px 64px;
  scroll-padding: 0 64px;
}
.shop-chips::-webkit-scrollbar { display: none; }
.shop-chip {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 15px;
  border: 1px solid var(--ink-faint);
  border-radius: 999px;
  background: transparent;
  font-family: 'Work Sans', 'Work Sans Fallback', sans-serif;
  font-size: 13px;
  font-weight: 500;
  color: var(--ink);
  white-space: nowrap;
  cursor: pointer;
  transition: background 0.35s var(--ease-soft), color 0.35s var(--ease-soft), border-color 0.35s var(--ease-soft);
}
.shop-chip:hover { border-color: var(--ink); }
.shop-chip[aria-pressed="true"] {
  background: var(--ink);
  border-color: var(--ink);
  color: var(--oat);
}
.shop-chip-count {
  font-family: 'EB Garamond', 'EB Garamond Fallback', serif;
  font-size: 13px;
  font-weight: 500;
  color: var(--ink-muted);
}
.shop-chip[aria-pressed="true"] .shop-chip-count { color: var(--oat-deep); }
.shop-chip.is-empty { opacity: 0.45; }
.shop-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 20px;
  margin-bottom: 28px;
}
.shop-count {
  margin: 0;
  font-family: 'EB Garamond', 'EB Garamond Fallback', serif;
  font-size: 14px;
  letter-spacing: 0.12em;
  color: var(--ink-faint-text);
}
.shop-active {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
}
.shop-active[hidden] { display: none; }
.shop-active-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  border-radius: 999px;
  background: var(--oat-mid);
  font-family: 'Work Sans', 'Work Sans Fallback', sans-serif;
  font-size: 12px;
  font-weight: 500;
  color: var(--ink-soft);
  transition: background 0.3s;
}
.shop-active-chip:hover { background: var(--oat-deep); }
.shop-active-x { font-size: 15px; line-height: 1; }
.shop-empty {
  margin: 48px 0 0;
  font-size: 15px;
  font-weight: 300;
  color: var(--ink-muted);
}
.shop-empty[hidden] { display: none; }
.shop-grid-empty {
  grid-column: 1 / -1;
  padding: 48px 0;
  font-family: 'Fraunces', 'Fraunces Fallback', serif;
  font-optical-sizing: auto;
  font-size: clamp(20px, 2.5vw, 28px);
  font-weight: 300;
  line-height: 1.4;
  color: var(--ink-muted);
}
.piece-breadcrumb {
  margin-bottom: 32px;
}
.piece-article {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: 64px;
  align-items: start;
}
.piece-gallery {
  position: sticky;
  top: 100px;
}
.piece-main {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 4 / 5;
  padding: 0;
  border: none;
  border-radius: 28px;
  overflow: hidden;
  background: linear-gradient(160deg, var(--oat-deep) 0%, var(--terra-ghost) 50%, var(--oat-mid) 100%);
  cursor: zoom-in;
}
.piece-main img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: opacity 0.6s var(--ease-soft);
}
.piece-article[data-availability="vendue"] .piece-main img { opacity: 0.7; }
.piece-main-frame { position: relative; }
.piece-main-frame .shop-card-badge {
  top: 18px;
  left: 18px;
  font-size: 12px;
}
.piece-thumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
}
.piece-thumb {
  width: 64px;
  height: 64px;
  padding: 0;
  border: 2px solid var(--white);
  border-radius: 14px;
  overflow: hidden;
  background: var(--oat-deep);
  box-shadow: 0 4px 16px rgba(26, 23, 20, 0.1);
  cursor: pointer;
  transition: border-color 0.3s var(--ease-soft);
}
.piece-thumb img { width: 100%; height: 100%; object-fit: cover; }
.piece-thumb[data-ai-person] { position: relative; }
.piece-ai-note {
  margin: 10px 6px 0;
  font-family: 'Work Sans', 'Work Sans Fallback', sans-serif;
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: 0.01em;
  color: var(--ink-muted);
}
.piece-ai-note span { display: inline-block; }
.piece-thumb.is-active { border-color: var(--terra); }
.piece-info {
  padding-top: 8px;
}
.piece-name {
  font-family: 'Fraunces', 'Fraunces Fallback', serif;
  font-optical-sizing: auto;
  font-size: clamp(32px, 4vw, 54px);
  font-weight: 300;
  line-height: 1.08;
  color: var(--ink);
  margin: 0 0 10px;
}
.piece-ref {
  font-family: 'EB Garamond', 'EB Garamond Fallback', serif;
  font-size: 15px;
  font-style: italic;
  letter-spacing: 0.06em;
  color: var(--ink-faint-text);
  margin: 0 0 22px;
}
.piece-price {
  font-family: 'Fraunces', 'Fraunces Fallback', serif;
  font-optical-sizing: auto;
  font-size: 26px;
  font-weight: 500;
  color: var(--amber-deep);
  margin: 0 0 24px;
}
.piece-price-old {
  font-size: 20px;
  font-weight: 400;
  color: var(--ink-faint-text);
  margin-right: 10px;
}
.piece-state {
  display: inline-block;
  margin: 0 0 24px;
  padding: 8px 14px;
  border-radius: 999px;
  font-family: 'EB Garamond', 'EB Garamond Fallback', serif;
  font-size: 15px;
  font-style: italic;
}
.piece-state--reserved {
  background: var(--oat);
  color: var(--amber-deep);
  border: 1px solid var(--amber-deep);
}
.piece-state--sold {
  background: var(--oat-mid);
  color: var(--ink-muted);
}
.piece-question,
.piece-shipping,
.piece-promise {
  margin: -16px 0 36px;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.8;
  color: var(--ink-muted);
}
.piece-promise + .piece-shipping { margin-top: -32px; }
.piece-promise span { display: inline-block; }
.piece-buybar { display: none; }
@media (max-width: 768px) {
  .piece-buybar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1400;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
    background: var(--glass-opaque);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-top: 1px solid var(--hairline);
    box-shadow: 0 -4px 24px rgba(26, 23, 20, 0.08);
  }
  .piece-buybar .piece-cta { flex: none; padding: 13px 22px; }
  .piece-buybar .piece-cta.is-in-cart { padding: 12px 21px; }
  body:has(.piece-buybar) { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
}
.piece-buybar-text,
.piece-buybar-added {
  min-width: 0;
  margin: 0;
}
.piece-buybar-text {
  display: flex;
  flex-direction: column;
}
.piece-buybar-name {
  overflow: hidden;
  font-family: 'Work Sans', 'Work Sans Fallback', sans-serif;
  font-size: 12px;
  color: var(--ink-muted);
  white-space: nowrap;
  text-overflow: ellipsis;
}
.piece-buybar-price {
  font-family: 'Fraunces', 'Fraunces Fallback', serif;
  font-optical-sizing: auto;
  font-size: 21px;
  font-weight: 500;
  line-height: 1.2;
  color: var(--amber-deep);
}
.piece-buybar-added {
  font-family: 'Work Sans', 'Work Sans Fallback', sans-serif;
  font-size: 13px;
  color: var(--ink);
}
.piece-buybar-added [aria-hidden="true"]:first-child { color: var(--terra-deep); font-weight: 600; }
.piece-buybar-added a { font-weight: 600; color: var(--terra-deep); text-decoration: underline; text-underline-offset: 3px; }
.piece-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px 28px;
  margin-bottom: 36px;
}
.piece-cta {
  display: inline-block;
  padding: 14px 26px;
  border-radius: 999px;
  background: var(--terra-deep);
  font-family: 'Work Sans', 'Work Sans Fallback', sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.06em;
  color: var(--oat);
  transition: background 0.4s var(--ease-soft), transform 0.4s var(--ease-soft);
}
.piece-cta:hover { background: var(--ink); transform: translateY(-1px); }
button.piece-cta {
  border: 0;
  cursor: pointer;
  line-height: normal;
}
.piece-cta.is-in-cart {
  padding: 13px 25px;
  border: 1px solid var(--ink-faint);
  background: transparent;
  color: var(--ink);
}
.piece-cta.is-in-cart:hover { border-color: var(--ink); background: transparent; transform: none; }
.piece-cta:disabled { background: var(--ink-faint); transform: none; cursor: default; }
.piece-cta.is-busy,
.piece-cta.is-busy:disabled {
  background: var(--ink);
  color: var(--oat);
  cursor: wait;
  padding-left: 22px;
}
.piece-cta.is-busy::before {
  content: '';
  display: inline-block;
  width: 14px;
  height: 14px;
  margin: 0 10px -2px 0;
  border: 2px solid var(--oat);
  border-right-color: transparent;
  border-radius: 50%;
  animation: cart-spin 0.8s linear infinite;
}
@keyframes cart-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  .piece-cta.is-busy::before { animation: none; border-right-color: var(--oat); opacity: 0.5; }
}
.piece-desc {
  font-size: 15px;
  font-weight: 300;
  line-height: 1.9;
  color: var(--ink-soft);
  white-space: pre-line;
  margin: 0 0 32px;
  max-width: 520px;
}
.piece-details {
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: 10px 24px;
  margin: 0 0 32px;
  padding-top: 20px;
  border-top: 1px solid var(--oat-deep);
  font-size: 14px;
}
.piece-details dt {
  font-family: 'EB Garamond', 'EB Garamond Fallback', serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-faint-text);
  padding-top: 2px;
}
.piece-details dd {
  margin: 0;
  color: var(--ink);
  font-weight: 400;
}
.piece-custom {
  padding: 22px 24px;
  border-radius: 20px;
  background: var(--oat-mid);
  margin-bottom: 32px;
}
.piece-custom-title {
  font-family: 'Fraunces', 'Fraunces Fallback', serif;
  font-optical-sizing: auto;
  font-size: 20px;
  font-weight: 400;
  color: var(--ink);
  margin: 0 0 8px;
}
.piece-custom-text {
  font-size: 14px;
  font-weight: 300;
  line-height: 1.8;
  color: var(--ink-muted);
  margin: 0 0 14px;
}
.piece-note {
  font-family: 'EB Garamond', 'EB Garamond Fallback', serif;
  font-size: 14px;
  font-style: italic;
  line-height: 1.7;
  color: var(--ink-faint-text);
  margin: 0;
}
.home-featured,
.home-collections {
  padding: 96px 64px;
}
.home-featured { background: var(--oat); }
.home-collections { background: var(--oat-mid); }
.home-section-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 24px;
  margin-bottom: 40px;
}
.home-section-title {
  font-family: 'Fraunces', 'Fraunces Fallback', serif;
  font-optical-sizing: auto;
  font-size: clamp(28px, 3.5vw, 48px);
  font-weight: 300;
  line-height: 1.1;
  color: var(--ink);
  margin: 0;
}
.home-section-note {
  font-family: 'EB Garamond', 'EB Garamond Fallback', serif;
  font-size: 14px;
  font-style: italic;
  color: var(--ink-faint-text);
  margin: 6px 0 0;
}
.home-featured .shop-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 48px 40px;
  max-width: 1040px;
  margin: 0 auto;
}
.home-featured .shop-card-photo { border-radius: 32px; }
.home-featured .shop-card-name { font-size: 22px; }
.home-band + .home-band { margin-top: 64px; }
.home-band-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px 24px;
  margin-bottom: 24px;
}
.home-band-title {
  font-family: 'Fraunces', 'Fraunces Fallback', serif;
  font-optical-sizing: auto;
  font-size: clamp(26px, 3vw, 40px);
  font-weight: 300;
  font-style: italic;
  line-height: 1.1;
  color: var(--ink);
  margin: 0;
}
.home-band-tagline {
  flex-basis: 100%;
  font-size: 15px;
  font-weight: 300;
  line-height: 1.7;
  color: var(--ink-muted);
  margin: 0;
  max-width: 560px;
}
.home-band-track {
  list-style: none;
  display: flex;
  gap: 24px;
  margin: 0 -64px;
  padding: 4px 64px 12px;
  overflow-x: auto;
  scrollbar-width: none;
  scroll-snap-type: x proximity;
  scroll-padding: 0 64px;
}
.home-band-track::-webkit-scrollbar { display: none; }
.home-band-track .shop-card {
  flex: 0 0 240px;
  scroll-snap-align: start;
}
.home-band-track .shop-card-photo { border-radius: 20px; }
.home-band-track .shop-card-name { font-size: 16px; }
.home-collections:not(:has(.home-band)) { display: none; }
.reviews { --reviews-accent: var(--terra-deep); }
@media (prefers-color-scheme: dark) {
  .reviews { --reviews-accent: var(--terra); }
}
.reviews .reviews-inner--quote {
  width: 100%;
  max-width: 840px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 28px;
}
.reviews-inner--quote .reviews-title { margin: 0; }
.reviews-stage {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  width: 100%;
}
.reviews-mark {
  position: absolute;
  z-index: -1;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -63%);
  font-family: 'Fraunces', 'Fraunces Fallback', serif;
  font-optical-sizing: auto;
  font-style: italic;
  font-size: 340px;
  line-height: 1;
  color: var(--ghost-text);
  pointer-events: none;
  -webkit-user-select: none;
  user-select: none;
}
.review--ghost { grid-area: 1 / 1; visibility: hidden; }
.review--ghost .review-text { padding-bottom: 1.5em; }
.reviews-list {
  grid-area: 1 / 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  list-style: none;
  margin: 0;
  padding: 0;
}
.review {
  grid-area: 1 / 1;
  align-self: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
  text-align: center;
}
.review p { margin: 0; }
.review-stars {
  font-size: 14px;
  letter-spacing: 5px;
  margin-right: -5px;
  color: var(--terra);
}
.review-text {
  margin: 0;
  font-family: 'Fraunces', 'Fraunces Fallback', serif;
  font-optical-sizing: auto;
  font-style: italic;
  font-weight: 400;
  font-size: 20px;
  line-height: 1.5;
  color: var(--ink);
  white-space: pre-line;
  overflow-wrap: anywhere;
}
.review-text::before { content: "«\00a0"; }
.review-text::after { content: "\00a0»"; }
.review-rule {
  width: 28px;
  height: 1px;
  background: var(--reviews-accent);
}
.review-author {
  font-size: 14px;
  font-weight: 500;
  color: var(--ink);
}
.review-author a { color: inherit; }
.review-dates {
  font-size: 13px;
  line-height: 1.5;
  color: var(--ink-muted);
}
.reviews-list .review {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s var(--ease-soft), visibility 0s linear 0.3s;
}
.reviews-list .review.is-current {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.3s var(--ease-soft);
}
.reviews-empty {
  grid-area: 1 / 1;
  align-self: center;
  justify-self: center;
  max-width: 480px;
}
.reviews-nav {
  display: flex;
  align-items: center;
  gap: 20px;
}
.reviews-arrow {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1px solid var(--ink-muted);
  border-radius: 50%;
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  transition: background 0.3s, color 0.3s, border-color 0.3s;
}
.reviews-arrow-icon {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.reviews-arrow.is-pointed { background: var(--ink); border-color: var(--ink); color: var(--oat); }
.reviews-arrow:focus-visible { outline: 2px solid var(--terra-deep); outline-offset: 3px; }
.reviews-count {
  margin: 0;
  min-width: 4em;
  min-height: 1.25em;
  line-height: 1.25;
  font-family: 'Fraunces', 'Fraunces Fallback', serif;
  font-optical-sizing: auto;
  font-style: italic;
  font-size: 15px;
  font-variant-numeric: tabular-nums;
  color: var(--reviews-accent);
  text-align: center;
}
.reviews-count-spoken {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.reviews-foot {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  max-width: 720px;
}
.reviews-note,
.reviews-links {
  font-size: 14px;
  line-height: 1.6;
  color: var(--ink-muted);
  margin: 0;
}
.reviews-links a,
.review-author a {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.reviews-links a { color: var(--ink); }
.reviews-inner--quote .cta-link { color: var(--reviews-accent); }
.reviews-inner--quote .cta-link::after { background: var(--reviews-accent); }
.reviews-inner--quote[data-state="loading"],
.reviews-inner--quote[data-state="failed"] { visibility: hidden; }
.reviews-empty { visibility: hidden; }
.reviews-inner--quote[data-state="empty"] .reviews-empty { visibility: visible; }
.reviews-nav { visibility: hidden; }
.reviews-inner--quote.has-choice .reviews-nav { visibility: visible; }
.reviews-list { transition: opacity 0.6s var(--ease-soft); }
.reviews-list.is-waiting { opacity: 0; transition: none; }
@media (prefers-reduced-motion: reduce) {
  .reviews-list,
  .reviews-list .review,
  .reviews-list .review.is-current { transition: none; }
  .reviews-list.is-waiting { opacity: 1; }
}
@media print {
  .reviews-list.is-waiting { opacity: 1; }
}
@media (min-width: 769px) {
  .reviews .reviews-inner--quote { gap: 36px; }
  .reviews-mark { font-size: 560px; }
  .review { gap: 22px; }
  .review-stars { font-size: 16px; letter-spacing: 6px; margin-right: -6px; }
  .review-text { font-size: 26px; }
  .review-rule { width: 32px; }
  .reviews-nav { gap: 24px; }
  .reviews-count { font-size: 16px; }
}
@media (min-width: 1921px) {
  .reviews .reviews-inner--quote { max-width: calc(840 * var(--u)); gap: calc(36 * var(--u)); }
  .reviews-mark { font-size: calc(560 * var(--u)); }
  .review-text { font-size: calc(26 * var(--u)); }
}
.home-band-cover { flex: 0 0 240px; scroll-snap-align: start; }
.home-band-cover a { display: block; aspect-ratio: 1 / 1; border-radius: 20px; overflow: hidden; background: var(--oat-deep); }
.home-band-cover img { width: 100%; height: 100%; object-fit: cover; }
.home-band-actions {
  display: flex;
  align-items: center;
  gap: 24px;
}
.home-band-arrows {
  display: flex;
  gap: 8px;
  margin: -14px 0 -10px;
}
.home-band-arrows[hidden] { display: none; }
.home-band-arrow {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1px solid var(--ink-muted);
  border-radius: 50%;
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  transition: background 0.3s, color 0.3s, border-color 0.3s;
}
.home-band-arrow-icon {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.home-band-arrow.is-pointed:not([aria-disabled="true"]) { background: var(--ink); border-color: var(--ink); color: var(--oat-mid); }
.home-band-arrow[aria-disabled="true"] {
  border-color: color-mix(in srgb, var(--ink-muted) 35%, transparent);
  color: color-mix(in srgb, var(--ink) 35%, transparent);
  cursor: default;
}
.home-band-arrow:focus-visible { outline: 2px solid var(--terra-deep); outline-offset: 3px; }
.legal { max-width: 760px; }
.legal-header { margin-bottom: 32px; }
.legal-title {
  font-family: 'Fraunces', 'Fraunces Fallback', serif;
  font-optical-sizing: auto;
  font-size: clamp(34px, 4.5vw, 56px);
  font-weight: 300;
  line-height: 1.05;
  color: var(--ink);
  margin: 0;
}
.legal-intro,
.legal-section p {
  font-size: 15px;
  font-weight: 300;
  line-height: 1.85;
  color: var(--ink-soft);
  margin: 0 0 16px;
}
.legal-intro {
  color: var(--ink-muted);
  margin-bottom: 44px;
}
.legal-section + .legal-section { margin-top: 44px; }
.legal-heading {
  font-family: 'Fraunces', 'Fraunces Fallback', serif;
  font-optical-sizing: auto;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.2;
  color: var(--ink);
  margin: 0 0 16px;
}
.legal-section a {
  color: var(--terra-deep);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.legal-details {
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: 12px 24px;
  margin: 0;
  padding-top: 20px;
  border-top: 1px solid var(--oat-deep);
  font-size: 15px;
  line-height: 1.6;
}
.legal-details dt {
  font-family: 'EB Garamond', 'EB Garamond Fallback', serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-faint-text);
  padding-top: 2px;
}
.legal-details dd {
  margin: 0;
  color: var(--ink);
  font-weight: 400;
}
.legal-version {
  font-family: 'EB Garamond', 'EB Garamond Fallback', serif;
  font-size: 13px;
  letter-spacing: 0.08em;
  color: var(--ink-faint-text);
  margin: 12px 0 0;
}
.legal-toc {
  margin: 0 0 44px;
  padding: 18px 0 14px;
  border-top: 1px solid var(--oat-deep);
  border-bottom: 1px solid var(--oat-deep);
}
.legal-toc-title {
  font-family: 'EB Garamond', 'EB Garamond Fallback', serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-faint-text);
  margin: 0 0 10px;
}
.legal-toc-list {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 15px;
  line-height: 1.6;
}
.legal-toc-list li { margin-bottom: 6px; break-inside: avoid; }
.legal-toc-list a {
  color: var(--terra-deep);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.legal-heading[id] { scroll-margin-top: 110px; }
@media (min-width: 601px) {
  .legal-toc-list { columns: 2; column-gap: 32px; }
}
.legal-list {
  margin: 0 0 16px;
  padding-left: 22px;
  font-size: 15px;
  font-weight: 300;
  line-height: 1.85;
  color: var(--ink-soft);
}
.legal-list li { margin-bottom: 8px; }
.legal-list li::marker { color: var(--ink-faint-text); }
.legal-gesture {
  border-left: 2px solid var(--amber-deep);
  background: var(--amber-ghost);
  padding: 18px 20px;
  margin: 24px 0 16px;
}
.legal-box {
  border: 1px solid var(--oat-deep);
  background: var(--oat-mid);
  padding: 24px 22px 20px;
  margin: 24px 0 0;
}
.legal-box:not(:last-child) { margin-bottom: 24px; }
.legal-form-title {
  font-family: 'EB Garamond', 'EB Garamond Fallback', serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-faint-text);
  margin: 0 0 14px;
}
.legal-form-note {
  font-size: 13px;
  font-style: italic;
  color: var(--ink-muted);
}
.legal-form .legal-details { border-top: none; padding-top: 0; }
.legal-form-fields {
  list-style: none;
  margin: 0 0 16px;
  padding: 0;
  font-size: 15px;
  font-weight: 300;
  line-height: 1.85;
  color: var(--ink-soft);
}
.legal-form-fields li {
  border-bottom: 1px dashed var(--oat-deep);
  padding-bottom: 12px;
  margin-bottom: 12px;
}
.site-footer {
  background: var(--oat-mid);
  padding: 64px 24px 40px;
  text-align: center;
}
.site-footer-logo {
  margin: 0 auto 20px;
}
.site-footer-contact {
  font-family: 'EB Garamond', 'EB Garamond Fallback', serif;
  font-size: 15px;
  letter-spacing: 0.06em;
  color: var(--ink-muted);
  margin: 0 0 18px;
}
.site-footer-contact a { transition: color 0.4s; }
.site-footer-contact a:hover { color: var(--terra-deep); }
.site-footer-links {
  display: flex;
  justify-content: center;
  gap: 28px;
  margin: 0 0 32px;
}
.site-footer-legal {
  font-family: 'EB Garamond', 'EB Garamond Fallback', serif;
  font-size: 14px;
  letter-spacing: 0.06em;
  color: var(--ink-muted);
  margin: 0 0 12px;
}
.site-footer-legal a { transition: color 0.4s; }
.site-footer-legal a:hover { color: var(--terra-deep); }
.site-footer-tagline {
  font-family: 'EB Garamond', 'EB Garamond Fallback', serif;
  font-size: 12px;
  letter-spacing: 0.1em;
  color: var(--ink-faint-text);
  margin: 0;
}
.not-found {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  max-width: 720px;
}
.not-found-logo { margin-bottom: 32px; }
.not-found-title {
  font-family: 'Fraunces', 'Fraunces Fallback', serif;
  font-optical-sizing: auto;
  font-size: clamp(30px, 4vw, 52px);
  font-weight: 300;
  line-height: 1.12;
  color: var(--ink);
  margin: 0 0 20px;
}
.not-found-text {
  font-size: 15px;
  font-weight: 300;
  line-height: 1.85;
  color: var(--ink-muted);
  margin: 0 0 36px;
}
.not-found-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px 28px;
  margin: 0;
}
.cart, .thanks { max-width: 760px; }
.cart-form[hidden], .cart-empty[hidden], .cart-notice[hidden], .cart-error[hidden] { display: none; }
.cart-empty,
.cart-note {
  font-size: 15px;
  font-weight: 300;
  line-height: 1.85;
  color: var(--ink-muted);
  margin: 0;
}
.cart-note { margin-top: 20px; font-size: 14px; }
.cart-notice,
.cart-error,
.withdrawal-error {
  margin: 0 0 24px;
  padding: 14px 18px;
  border-radius: 16px;
  font-size: 14px;
  line-height: 1.7;
}
.cart-notice { background: var(--oat-mid); color: var(--ink-soft); }
.cart-help { margin: -8px 0 24px; }
.cart-help[hidden] { display: none; }
.cart-error,
.withdrawal-error { background: var(--terra-light); color: var(--ink); margin: 20px 0 0; }
.cart-live {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px 28px;
  margin: -8px 0 32px;
}
.cart-live[hidden], .cart-live [hidden] { display: none; }
.cart-live .cta-link { padding: 0 0 4px; line-height: normal; }
.cart-live .cta-link:disabled { color: var(--ink-muted); cursor: wait; }
.cart-live .piece-cta[aria-disabled="true"] { opacity: 0.45; cursor: wait; pointer-events: none; }
.cart-form--live .cart-main > :not(.cart-list),
.cart-form--live .cart-side { display: none; }
@media (min-width: 1200px) {
  .cart { max-width: min(1120px, calc(100vw - 180px)); }
  .cart-form:not(.cart-form--live) {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    column-gap: 56px;
    align-items: start;
  }
  .cart-side {
    padding: 24px 28px;
    border: 1px solid var(--oat-deep);
    border-radius: 24px;
    background: var(--oat-mid);
  }
}
@media (min-width: 1200px) and (min-height: 640px) {
  .cart-side { position: sticky; top: 100px; }
}
@media (min-width: 1921px) {
  .cart { max-width: min(calc(1120 * var(--u)), calc(100vw - 180px)); }
  .cart-form:not(.cart-form--live) { grid-template-columns: minmax(0, 1fr) calc(340 * var(--u)); column-gap: calc(56 * var(--u)); }
}
.cart-list {
  list-style: none;
  margin: 0 0 36px;
  padding: 0;
  border-top: 1px solid var(--hairline);
}
.cart-unique {
  margin: -24px 0 36px;
  font-family: 'EB Garamond', 'EB Garamond Fallback', serif;
  font-size: 15px;
  font-style: italic;
  line-height: 1.7;
  color: var(--ink-muted);
}
.cart-row {
  display: grid;
  grid-template-columns: 96px 1fr;
  gap: 20px;
  padding: 20px 0;
  border-bottom: 1px solid var(--hairline);
}
.cart-row-photo {
  position: relative;
  display: block;
  aspect-ratio: 1 / 1;
  border-radius: 16px;
  overflow: hidden;
  background: var(--oat-deep);
}
.cart-row-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cart-row-body { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; min-width: 0; }
.cart-row-name {
  font-family: 'Fraunces', 'Fraunces Fallback', serif;
  font-optical-sizing: auto;
  font-size: 19px;
  font-weight: 400;
  color: var(--ink);
}
.cart-row-ref {
  font-family: 'EB Garamond', 'EB Garamond Fallback', serif;
  font-size: 13px;
  letter-spacing: 0.06em;
  color: var(--ink-faint-text);
}
.cart-row-price {
  font-family: 'Fraunces', 'Fraunces Fallback', serif;
  font-optical-sizing: auto;
  font-size: 18px;
  font-weight: 500;
  color: var(--amber-deep);
  margin: 2px 0 0;
}
.cart-row-price-old { color: var(--ink-faint-text); font-weight: 300; margin-right: 8px; }
.cart-row--unavailable .cart-row-photo { opacity: 0.45; }
.cart-row--paying .cart-row-state { color: var(--ink-muted); }
.cart-row-state {
  font-family: 'EB Garamond', 'EB Garamond Fallback', serif;
  font-size: 14px;
  font-style: italic;
  color: var(--amber-deep);
  margin: 2px 0 0;
}
.cart-row-remove {
  position: relative;
  margin: 0 0 -6px;
  padding: 6px 0;
  border: 0;
  background: transparent;
  font-family: 'Work Sans', 'Work Sans Fallback', sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--ink-muted);
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}
.cart-row-remove:hover { color: var(--terra-deep); }
.cart-shipping {
  margin: 0 0 32px;
  padding: 0;
  border: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.cart-section-title {
  font-family: 'EB Garamond', 'EB Garamond Fallback', serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--terra-deep);
  padding: 0;
  margin: 0 0 6px;
}
.cart-method {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 18px;
  border: 1px solid var(--hairline);
  border-radius: 16px;
  background: var(--oat-mid);
  cursor: pointer;
}
.cart-method:has(input:checked) { border-color: var(--ink); }
.cart-method input { accent-color: var(--terra); margin: 0; flex: 0 0 auto; }
.cart-method-body { display: flex; flex-direction: column; gap: 2px; flex: 1 1 auto; min-width: 0; }
.cart-method-label { font-family: 'Work Sans', 'Work Sans Fallback', sans-serif; font-size: 14px; font-weight: 500; color: var(--ink); }
.cart-method-note { font-family: 'EB Garamond', 'EB Garamond Fallback', serif; font-size: 13px; font-style: italic; color: var(--ink-muted); }
.cart-method-price { font-family: 'Fraunces', 'Fraunces Fallback', serif; font-optical-sizing: auto; font-size: 17px; font-weight: 500; color: var(--amber-deep); white-space: nowrap; }
.cart-destinations {
  margin: 0 0 4px;
  font-family: 'EB Garamond', 'EB Garamond Fallback', serif;
  font-size: 15px;
  font-style: italic;
  line-height: 1.7;
  color: var(--ink-muted);
}
.cart-methods { display: flex; flex-direction: column; gap: 10px; }
.cart-destination { position: relative; margin: 8px 0 16px; }
.cart-destination::after {
  content: '';
  position: absolute;
  right: 20px;
  bottom: 21px;
  width: 7px;
  height: 7px;
  border-right: 1.5px solid var(--ink-soft);
  border-bottom: 1.5px solid var(--ink-soft);
  transform: rotate(45deg);
  pointer-events: none;
}
.cart-destination select {
  -webkit-appearance: none;
  appearance: none;
  padding-right: 48px;
  cursor: pointer;
}
.cart-free { margin: 12px 0 0; font-family: 'EB Garamond', 'EB Garamond Fallback', serif; font-size: 15px; font-style: italic; color: var(--ink-soft); }
.cart-free strong { font-family: 'Fraunces', 'Fraunces Fallback', serif; font-optical-sizing: auto; font-style: normal; font-weight: 500; color: var(--amber-deep); }
.cart-delay {
  margin: -20px 0 12px;
  font-family: 'EB Garamond', 'EB Garamond Fallback', serif;
  font-size: 15px;
  font-style: italic;
  line-height: 1.7;
  color: var(--ink-muted);
}
.cart-delay + .cart-delay { margin-top: 0; margin-bottom: 32px; }
.cart-customer {
  margin: 0 0 32px;
  padding: 0;
  border: 0;
  min-width: 0;
}
.cart-fields,
.withdrawal-fields {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.cart-field,
.withdrawal-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1 1 100%;
  min-width: 0;
}
.cart-field-label,
.withdrawal-field-label {
  font-family: 'Work Sans', 'Work Sans Fallback', sans-serif;
  font-size: 13px;
  font-weight: 500;
  color: var(--ink-soft);
}
.cart-field-optional { font-weight: 300; color: var(--ink-muted); }
.field-required { margin-left: 2px; color: var(--terra-deep); font-weight: 600; }
.field-required-note {
  margin: 2px 0 16px;
  font-family: 'Work Sans', 'Work Sans Fallback', sans-serif;
  font-size: 13px;
  color: var(--ink-muted);
}
.field-required-note .field-required { margin: 0 2px 0 0; }
.field-error {
  margin: 0;
  font-family: 'Work Sans', 'Work Sans Fallback', sans-serif;
  font-size: 13px;
  line-height: 1.5;
  color: var(--terra-deep);
}
.cart-cgv-error { margin: 6px 0 0 26px; }
.field-suggest {
  margin: 0;
  font-family: 'Work Sans', 'Work Sans Fallback', sans-serif;
  font-size: 13px;
  line-height: 1.5;
  color: var(--ink-soft);
}
.field-suggest:empty { margin-top: -6px; }
.field-suggest-fix {
  margin-left: 6px;
  padding: 4px 0;
  border: 0;
  background: transparent;
  font: inherit;
  font-weight: 600;
  color: var(--terra-deep);
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}
.cart-email-echo { margin: 14px 0 0; font-size: 14px; line-height: 1.7; color: var(--ink-soft); overflow-wrap: anywhere; }
.cart-field-value {
  font-family: 'Work Sans', 'Work Sans Fallback', sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
  color: var(--ink);
}
.cart-country {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  column-gap: 14px;
}
.cart-country-change {
  padding: 6px 0;
  margin: -6px 0;
  border: 0;
  background: transparent;
  font-family: 'Work Sans', 'Work Sans Fallback', sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--ink-muted);
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}
.cart-country-change:hover { color: var(--terra-deep); }
.cart-field input,
.cart-field select,
.withdrawal-field input {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  padding: 12px 16px;
  border: 1px solid var(--hairline);
  border-radius: 14px;
  background: var(--oat-mid);
  color: var(--ink);
  font-family: 'Work Sans', 'Work Sans Fallback', sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
  outline: none;
}
.cart-field input:focus,
.cart-field select:focus,
.withdrawal-field input:focus { border-color: var(--ink); }
.cart-field input:focus-visible,
.cart-field select:focus-visible,
.withdrawal-field input:focus-visible,
.cart-code-row input:focus-visible,
.cart-cgv input:focus-visible,
.cart-method:has(input:focus-visible) { outline: 2px solid var(--terra-deep); outline-offset: 3px; }
@supports selector(:has(*)) {
  .cart-method input:focus-visible { outline: none; }
}
.cart-field input[aria-invalid="true"],
.cart-field select[aria-invalid="true"],
.withdrawal-field input[aria-invalid="true"] { border-color: var(--terra); background: var(--terra-light); }
.cart-privacy {
  margin: 14px 0 0;
  font-size: 13px;
  line-height: 1.7;
  color: var(--ink-muted);
}
.cart-privacy a { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
@media (min-width: 480px) {
  .cart-field--half,
  .withdrawal-field--half { flex: 1 1 calc(50% - 6px); }
  .cart-field--short { flex: 0 1 160px; }
  .cart-field--grow { flex: 1 1 200px; }
}
.cart-form--busy .cart-customer,
.cart-form--busy .cart-delay { opacity: 0.45; pointer-events: none; }
.cart-code { display: flex; flex-direction: column; gap: 6px; margin: 0 0 24px; }
.cart-code-row { display: flex; gap: 8px; }
.cart-code-row input {
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  padding: 12px 16px;
  border: 1px solid var(--hairline);
  border-radius: 14px;
  background: var(--oat-mid);
  color: var(--ink);
  font-family: 'Work Sans', 'Work Sans Fallback', sans-serif;
  font-size: 16px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  outline: none;
}
.cart-code-row input:focus { border-color: var(--ink); }
.cart-code-apply {
  flex: 0 0 auto;
  padding: 0 18px;
  border: 1px solid var(--ink);
  border-radius: 14px;
  background: transparent;
  color: var(--ink);
  font-family: 'Work Sans', 'Work Sans Fallback', sans-serif;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}
.cart-code-apply:hover { background: var(--ink); color: var(--oat); }
.cart-codes { list-style: none; margin: 4px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.cart-codes[hidden] { display: none; }
.cart-code-item { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; }
.cart-code-name { font-family: 'Work Sans', 'Work Sans Fallback', sans-serif; font-size: 14px; font-weight: 600; letter-spacing: 0.06em; color: var(--ink); }
.cart-code-value { font-family: 'Work Sans', 'Work Sans Fallback', sans-serif; font-size: 14px; color: var(--amber-deep); }
.cart-code-item .cart-code-remove { margin: -6px 0 -6px auto; }
.cart-code-item--refused .cart-code-name { color: var(--ink-muted); }
.cart-code-note { flex: 1 1 100%; margin: 0; font-family: 'EB Garamond', 'EB Garamond Fallback', serif; font-size: 15px; font-style: italic; color: var(--ink-soft); }
.cart-code-error { margin: 0; font-size: 14px; color: var(--terra-deep); }
.cart-code-error[hidden] { display: none; }
.cart-code-welcome { margin: 0; font-size: 14px; color: var(--ink-soft); }
.cart-code-welcome[hidden] { display: none; }
.cart-summary-discount[hidden] { display: none; }
.cart-summary-discount dd { color: var(--amber-deep); }
.cart-form--busy .cart-code { opacity: 0.45; pointer-events: none; }
.cart-summary { margin: 0 0 28px; }
.cart-summary-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 16px;
  padding: 8px 0;
  font-size: 15px;
  font-weight: 300;
  color: var(--ink-muted);
}
.cart-summary-row dt, .cart-summary-row dd { margin: 0; }
.cart-summary-total {
  margin-top: 6px;
  padding-top: 14px;
  border-top: 1px solid var(--hairline);
  font-family: 'Fraunces', 'Fraunces Fallback', serif;
  font-optical-sizing: auto;
  font-size: 22px;
  font-weight: 500;
  color: var(--ink);
}
.cart-summary-total dd { color: var(--amber-deep); }
.cart-cgv {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 14px;
  line-height: 1.7;
  color: var(--ink-soft);
  cursor: pointer;
}
.cart-cgv input { accent-color: var(--terra); margin: 5px 0 0; flex: 0 0 auto; }
.cart-cgv a { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.cart-actions,
.withdrawal-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px 28px;
  margin-top: 24px;
}
.cart-busy {
  margin: 14px 0 0;
  font-family: 'EB Garamond', 'EB Garamond Fallback', serif;
  font-size: 15px;
  font-style: italic;
  color: var(--ink-soft);
}
.cart-busy[hidden] { display: none; }
.cart-form--busy .cart-list,
.cart-form--busy .cart-unique,
.cart-form--busy .cart-shipping,
.cart-form--busy .cart-summary,
.cart-form--busy .cart-cgv { opacity: 0.45; pointer-events: none; }
.thanks-text {
  font-size: 17px;
  font-weight: 300;
  line-height: 1.8;
  color: var(--ink-soft);
  margin: 0 0 32px;
  max-width: 560px;
}
.thanks-order { margin: -8px 0 32px; max-width: 560px; color: var(--ink-soft); }
.thanks-number { margin: 0 0 12px; font-family: 'Work Sans', 'Work Sans Fallback', sans-serif; font-size: 14px; font-weight: 600; letter-spacing: 0.04em; color: var(--ink); }
.thanks-pieces { list-style: none; margin: 0 0 12px; padding: 0; font-family: 'Fraunces', 'Fraunces Fallback', serif; font-optical-sizing: auto; font-size: 18px; line-height: 1.6; color: var(--ink); }
.thanks-total { margin: 0 0 12px; font-size: 15px; }
.thanks-next { margin: 0; font-family: 'EB Garamond', 'EB Garamond Fallback', serif; font-size: 16px; font-style: italic; line-height: 1.7; color: var(--ink-muted); }
.thanks-actions { margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; }
.thanks-help { margin: 20px 0 0; }
.thanks-help[hidden] { display: none; }
.withdrawal-step[hidden] { display: none; }
.withdrawal-form[data-pending] { visibility: hidden; }
@media (scripting: none) { .withdrawal-form[data-pending] { display: none; } }
.withdrawal .legal-heading:focus { outline: none; }
.withdrawal .legal-intro a,
.withdrawal-whole a,
.withdrawal-done a,
.withdrawal-error a {
  color: var(--terra-deep);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.withdrawal-error a { color: var(--ink); }
.withdrawal-help {
  margin: 0;
  font-size: 13px;
  font-weight: 300;
  line-height: 1.6;
  color: var(--ink-muted);
}
.withdrawal-statement {
  font-family: 'Fraunces', 'Fraunces Fallback', serif;
  font-optical-sizing: auto;
  font-size: 19px;
  font-weight: 400;
  line-height: 1.45;
  color: var(--ink);
  margin: 0 0 20px;
}
.withdrawal-nowrap { white-space: nowrap; }
.withdrawal-recap { margin: 0 0 24px; }
.withdrawal-whole {
  margin: 0;
  padding: 14px 18px;
  border-radius: 16px;
  background: var(--oat-mid);
  font-size: 14px;
  line-height: 1.7;
  color: var(--ink-soft);
}
.withdrawal-turnstile,
.cart-turnstile { margin: 20px 0 0; }
.withdrawal-turnstile:empty,
.cart-turnstile:empty { margin: 0; }
.withdrawal-actions .cta-link { padding: 0 0 4px; line-height: normal; }
.withdrawal-actions .cta-link:disabled { color: var(--ink-muted); cursor: wait; }
.withdrawal-done {
  font-size: 15px;
  font-weight: 300;
  line-height: 1.85;
  color: var(--ink-soft);
  margin: 0 0 16px;
}
.withdrawal-acknowledgement[hidden] { display: none; }
.withdrawal-acknowledgement { margin: 24px 0 0; }
.withdrawal-acknowledgement-text {
  padding: 18px 20px;
  border-radius: 16px;
  background: var(--oat-mid);
  font-size: 14px;
  font-weight: 300;
  line-height: 1.7;
  color: var(--ink);
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
@media (max-width: 1024px) {
  .shop, .piece, .not-found, .legal, .cart, .thanks { padding: 110px 40px 80px; }
  .shop-chips, .home-band-track { margin: 0 -40px; padding-left: 40px; padding-right: 40px; scroll-padding: 0 40px; }
  .shop-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px 20px; }
  .piece-article { grid-template-columns: 1fr; gap: 40px; }
  .piece-gallery { position: static; }
  .home-featured, .home-collections { padding: 80px 40px; }
}
@media (max-width: 768px) {
  .shop, .piece, .not-found, .legal, .cart, .thanks { padding: 88px 16px 64px; }
  .shop-header { margin-bottom: 28px; }
  .shop-chips, .home-band-track { margin: 0 -16px; padding-left: 16px; padding-right: 16px; scroll-padding: 0 16px; }
  .shop-toolbar { margin-bottom: 20px; }
  .shop-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 14px; }
  .shop-card-photo { border-radius: 18px; }
  .shop-card-body { padding: 12px 2px 0; gap: 5px; }
  .shop-card-name { font-size: 16px; }
  .shop-card-action { padding: 7px 13px; font-size: 11px; }
  .piece-breadcrumb { margin-bottom: 20px; }
  .piece-main { border-radius: 20px; }
  .piece-thumb { width: 56px; height: 56px; }
  .piece-details { grid-template-columns: 1fr; gap: 4px; }
  .piece-details dd { margin-bottom: 10px; }
  .legal-header { margin-bottom: 24px; }
  .legal-details { grid-template-columns: 1fr; gap: 4px; }
  .legal-details dd { margin-bottom: 12px; }
  .legal-box { padding: 20px 16px 16px; }
  .legal-gesture { padding: 16px; }
  .cart-row { grid-template-columns: 76px 1fr; gap: 14px; padding: 16px 0; }
  .cart-row-name { font-size: 17px; }
  .cart-method { padding: 12px 14px; gap: 12px; }
  .home-featured, .home-collections { padding: 60px 16px; }
  .home-section-head { flex-direction: column; align-items: flex-start; gap: 8px; margin-bottom: 28px; }
  .home-featured .shop-grid { gap: 28px 14px; }
  .home-featured .shop-card-photo { border-radius: 18px; }
  .home-featured .shop-card-name { font-size: 17px; }
  .home-band + .home-band { margin-top: 48px; }
  .home-band-track { gap: 14px; }
  .home-band-track .shop-card, .home-band-cover { flex-basis: 176px; }
  .site-footer { padding: 48px 16px 32px; }
  .site-footer-links { gap: 20px; }
}
@media (min-width: 769px) {
  .home-featured .shop-grid {
    grid-template-columns: repeat(auto-fill, minmax(clamp(320px, 24vw, 460px), 1fr));
    max-width: none;
  }
}
@media (min-width: 769px) {
  .home-collections { --band-n: 2; }
  .home-band-track {
    margin: 0;
    padding-left: 0;
    padding-right: 0;
    scroll-padding: 0;
    scroll-snap-type: x mandatory;
  }
  .home-band-track .shop-card,
  .home-band-cover { flex: 0 0 calc((100% - (var(--band-n) - 1) * 24px) / var(--band-n)); }
}
@supports (width: round(down, 1.5px, 1px)) and (width: 1cqw) {
  @media (min-width: 769px) {
    .home-band { container-type: inline-size; }
    .home-band-track {
      --band-w: round(down, calc((100cqw - (var(--band-n) - 1) * 24px) / var(--band-n)), 1px);
      padding-left: calc(100cqw - var(--band-n) * var(--band-w) - (var(--band-n) - 1) * 24px);
      scroll-padding-left: calc(100cqw - var(--band-n) * var(--band-w) - (var(--band-n) - 1) * 24px);
    }
    .home-band-track .shop-card,
    .home-band-cover { flex-basis: var(--band-w); }
  }
}
@media (min-width: 848px) { .home-collections { --band-n: 3; } }
@media (min-width: 1160px) { .home-collections { --band-n: 4; } }
@media (min-width: 1568px) { .home-collections { --band-n: 5; } }
@media (min-width: 2096px) { .home-collections { --band-n: 6; } }
@media (min-width: 2624px) { .home-collections { --band-n: 7; } }
@media (min-width: 3152px) { .home-collections { --band-n: 8; } }
@media (min-width: 1281px) {
  .shop { max-width: var(--site-max); }
  .piece { max-width: clamp(1280px, calc(min((100vh - 180px) * 0.8, 800px) / 0.525 + 192px), var(--site-max)); }
  .shop-grid { grid-template-columns: repeat(auto-fill, minmax(clamp(240px, 16vw, 400px), 1fr)); }
  .home-featured,
  .home-collections {
    padding-left: max(64px, calc((100% - var(--site-max)) / 2 + 64px));
    padding-right: max(64px, calc((100% - var(--site-max)) / 2 + 64px));
  }
}
@media (min-width: 1921px) {
  .home-section-title { font-size: calc(48 * var(--u)); }
  .home-band-title { font-size: calc(40 * var(--u)); }
  .home-band-tagline { font-size: calc(15 * var(--u)); max-width: calc(560 * var(--u)); }
}
.hero-photos { background-color: #738a96; }
.hero-photo--1 .hero-photo-img { object-position: 53.25% 65.05%; }
@media (min-width: 1025px) { .hero-photo--1 .hero-photo-img { transform-origin: 49.75% 57.75%; } }
@media (min-width: 1025px) and (max-aspect-ratio: 18800/10000) { .hero-photo--1 { --hero-photo-zoom: 1; } }
@media (min-width: 769px) and (max-width: 1024px) { .hero-photo--1 .hero-photo-img { transform-origin: 51.19% 57.75%; } }
@media (min-width: 769px) and (max-width: 1024px) and (min-aspect-ratio: 15000/10000) { .hero-photo--1 { --hero-photo-zoom: 1; } }
@media (max-width: 768px) { .hero-photo--1 .hero-photo-img { transform-origin: 50.41% 57.75%; } }
@media (max-width: 768px) and (min-height: 623px) and (max-aspect-ratio: 4230/10000) { .hero-photo--1 { --hero-photo-zoom: 1; } }
@media (max-width: 768px) and (max-height: 622px) and (max-width: 264px) { .hero-photo--1 { --hero-photo-zoom: 1; } }
@media (max-width: 768px) and (min-height: 623px) and (min-aspect-ratio: 13500/10000) { .hero-photo--1 { --hero-photo-zoom: 1; } }
.hero-photo--2 .hero-photo-img { object-position: 50% 44.17%; }
@media (min-width: 1025px) { .hero-photo--2 .hero-photo-img { transform-origin: 50% 46.5%; } }
@media (min-width: 769px) and (max-width: 1024px) { .hero-photo--2 .hero-photo-img { transform-origin: 50% 46.5%; } }
@media (min-width: 769px) and (max-width: 1024px) and (min-aspect-ratio: 18225/10000) { .hero-photo--2 { --hero-photo-zoom: 1; } }
@media (max-width: 768px) { .hero-photo--2 .hero-photo-img { transform-origin: 50% 46.5%; } }
.hero-photo--3 .hero-photo-img { object-position: 49.88% 54.63%; }
@media (min-width: 1025px) { .hero-photo--3 .hero-photo-img { transform-origin: 49.92% 53.35%; } }
@media (min-width: 769px) and (max-width: 1024px) { .hero-photo--3 .hero-photo-img { transform-origin: 49.9% 53.35%; } }
@media (max-width: 768px) { .hero-photo--3 .hero-photo-img { transform-origin: 49.91% 53.35%; } }
.hero-photo--4 .hero-photo-img { object-position: 50.4% 59.28%; }
@media (min-width: 1025px) { .hero-photo--4 .hero-photo-img { transform-origin: 50.32% 57.75%; } }
@media (min-width: 769px) and (max-width: 1024px) { .hero-photo--4 .hero-photo-img { transform-origin: 50.35% 57.75%; } }
@media (max-width: 768px) { .hero-photo--4 .hero-photo-img { transform-origin: 50.33% 57.75%; } }
.hero-photo--5 .hero-photo-img { object-position: 46.84% 51.53%; }
@media (min-width: 1025px) { .hero-photo--5 .hero-photo-img { transform-origin: 49.85% 50.4%; } }
@media (min-width: 1025px) and (max-aspect-ratio: 16600/10000) { .hero-photo--5 { --hero-photo-zoom: 1; } }
@media (min-width: 1025px) and (min-aspect-ratio: 35500/10000) { .hero-photo--5 { --hero-photo-zoom: 1; } }
@media (min-width: 769px) and (max-width: 1024px) { .hero-photo--5 .hero-photo-img { transform-origin: 48.75% 50.31%; } }
@media (min-width: 769px) and (max-width: 1024px) and (min-aspect-ratio: 8875/10000) { .hero-photo--5 { --hero-photo-zoom: 1; } }
@media (max-width: 768px) { .hero-photo--5 .hero-photo-img { transform-origin: 49.28% 50.4%; } }
@media (max-width: 768px) and (min-height: 623px) and (max-aspect-ratio: 3735/10000) { .hero-photo--5 { --hero-photo-zoom: 1; } }
@media (max-width: 768px) and (max-height: 622px) and (max-width: 233px) { .hero-photo--5 { --hero-photo-zoom: 1; } }
@media (max-width: 768px) and (min-height: 623px) and (min-aspect-ratio: 7987/10000) { .hero-photo--5 { --hero-photo-zoom: 1; } }
@media (max-width: 768px) and (max-height: 622px) and (min-width: 496px) { .hero-photo--5 { --hero-photo-zoom: 1; } }
