/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/a1c9eb86-4af7-4212-8829-b5769cb682b8.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/a11b6c13-fdb4-442c-b3f0-afddd03a228c.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/4489d9ee-3d89-4313-800a-d183fb38f0b9.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/2685f023-9002-4fd1-bb42-78e3251aa482.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/9e9128ff-562f-4fc4-81f0-4c701453487b.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/a1c9eb86-4af7-4212-8829-b5769cb682b8.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/a11b6c13-fdb4-442c-b3f0-afddd03a228c.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/4489d9ee-3d89-4313-800a-d183fb38f0b9.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/2685f023-9002-4fd1-bb42-78e3251aa482.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/9e9128ff-562f-4fc4-81f0-4c701453487b.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/fe18603c-ebf5-40b8-bcef-4864b341142b.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/d3e1a5a6-9f25-4a20-8ce6-313a40340e64.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/d5973abf-7779-4ace-b1ce-dadb6e078271.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/75b49ca0-49d7-4572-bc07-4f0954830221.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/a4d33c70-0cc6-495b-8e74-976bc1d1ebd7.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/fe18603c-ebf5-40b8-bcef-4864b341142b.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/d3e1a5a6-9f25-4a20-8ce6-313a40340e64.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/d5973abf-7779-4ace-b1ce-dadb6e078271.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/75b49ca0-49d7-4572-bc07-4f0954830221.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/a4d33c70-0cc6-495b-8e74-976bc1d1ebd7.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/fe18603c-ebf5-40b8-bcef-4864b341142b.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/d3e1a5a6-9f25-4a20-8ce6-313a40340e64.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/d5973abf-7779-4ace-b1ce-dadb6e078271.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/75b49ca0-49d7-4572-bc07-4f0954830221.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/a4d33c70-0cc6-495b-8e74-976bc1d1ebd7.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("fonts/fe18603c-ebf5-40b8-bcef-4864b341142b.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("fonts/d3e1a5a6-9f25-4a20-8ce6-313a40340e64.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("fonts/d5973abf-7779-4ace-b1ce-dadb6e078271.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("fonts/75b49ca0-49d7-4572-bc07-4f0954830221.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("fonts/a4d33c70-0cc6-495b-8e74-976bc1d1ebd7.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'Italiana';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/7be78fb0-a6f6-4bcc-95b1-332e9e728ef9.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/15207acf-324b-4f4b-8f47-629be9073244.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/9e8201b7-a7bf-4eae-9e7f-22bb1a10e8e9.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/7d85dc4c-99cd-4915-8edb-c9e400ef4a68.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/1a6d6b21-bea5-4514-9185-614685be6e8c.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/2d9a04cc-521a-4aba-9124-f1bd3fbff02f.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/acd84fd4-61c2-4af0-a381-8fe01ad8949c.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/15207acf-324b-4f4b-8f47-629be9073244.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/9e8201b7-a7bf-4eae-9e7f-22bb1a10e8e9.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/7d85dc4c-99cd-4915-8edb-c9e400ef4a68.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/1a6d6b21-bea5-4514-9185-614685be6e8c.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/2d9a04cc-521a-4aba-9124-f1bd3fbff02f.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/acd84fd4-61c2-4af0-a381-8fe01ad8949c.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/15207acf-324b-4f4b-8f47-629be9073244.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/9e8201b7-a7bf-4eae-9e7f-22bb1a10e8e9.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/7d85dc4c-99cd-4915-8edb-c9e400ef4a68.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/1a6d6b21-bea5-4514-9185-614685be6e8c.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/2d9a04cc-521a-4aba-9124-f1bd3fbff02f.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/acd84fd4-61c2-4af0-a381-8fe01ad8949c.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("fonts/15207acf-324b-4f4b-8f47-629be9073244.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("fonts/9e8201b7-a7bf-4eae-9e7f-22bb1a10e8e9.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("fonts/7d85dc4c-99cd-4915-8edb-c9e400ef4a68.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("fonts/1a6d6b21-bea5-4514-9185-614685be6e8c.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("fonts/2d9a04cc-521a-4aba-9124-f1bd3fbff02f.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("fonts/acd84fd4-61c2-4af0-a381-8fe01ad8949c.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/15207acf-324b-4f4b-8f47-629be9073244.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/9e8201b7-a7bf-4eae-9e7f-22bb1a10e8e9.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/7d85dc4c-99cd-4915-8edb-c9e400ef4a68.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/1a6d6b21-bea5-4514-9185-614685be6e8c.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/2d9a04cc-521a-4aba-9124-f1bd3fbff02f.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/acd84fd4-61c2-4af0-a381-8fe01ad8949c.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Pinyon Script';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/4ec871d3-7408-40b7-b8d7-3b12ef248c34.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Pinyon Script';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/ce10f465-1a68-4039-8f15-883bd65926f3.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Pinyon Script';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/6e71398c-c972-4578-9320-71d0a03a3d31.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{
    --bg: #0a0a0a;
    --bg-2:#111111;
    --bg-3:#161616;
    --ink:#f4efe6;
    --ink-soft:#bdb6a8;
    --ink-mute:#8a8378;
    --gold:#f0c14b;          /* core gold from logo */
    --gold-deep:#d9a72c;
    --gold-soft:#f7d77a;
    --hairline: rgba(244,239,230,0.10);
    --hairline-strong: rgba(244,239,230,0.22);
    --gold-glow: rgba(240,193,75,0.18);
    --serif:'Cormorant Garamond', 'Times New Roman', serif;
    --display:'Italiana', 'Cormorant Garamond', serif;
    --script:'Pinyon Script', cursive;
    --sans:'Manrope', system-ui, -apple-system, sans-serif;
  }
  *{box-sizing:border-box}
  html,body{margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{
    background:var(--bg);
    color:var(--ink);
    font-family:var(--sans);
    font-weight:300;
    font-size:16px;
    line-height:1.6;
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
  }
  ::selection{background:var(--gold);color:#000}
  a{color:inherit;text-decoration:none}
  img{display:block;max-width:100%}
  button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}

  /* ============ TYPOGRAPHY ============ */
  .eyebrow{
    font-family:var(--sans);
    font-size:11px;
    letter-spacing:0.32em;
    text-transform:uppercase;
    color:var(--gold);
    font-weight:500;
    display:inline-flex;
    align-items:center;
    gap:14px;
  }
  .eyebrow::before{
    content:"";
    width:36px;height:1px;
    background:var(--gold);
  }
  .display{
    font-family:var(--display);
    font-weight:400;
    line-height:0.98;
    letter-spacing:-0.01em;
  }
  .script{
    font-family:var(--script);
    font-weight:400;
    color:var(--gold);
    line-height:0.8;
  }
  .lede{
    font-family:var(--serif);
    font-weight:300;
    font-size:clamp(18px, 1.6vw, 22px);
    line-height:1.55;
    color:var(--ink-soft);
    font-style:italic;
  }

  /* ============ LAYOUT ============ */
  .wrap{max-width:1320px; margin:0 auto; padding:0 32px}
  section{position:relative}

  /* ============ NAV ============ */
  .nav{
    position:fixed;top:0;left:0;right:0;z-index:50;
    transition:background .35s ease, backdrop-filter .35s ease, border-color .35s ease;
    border-bottom:1px solid transparent;
  }
  .nav.scrolled{
    background:rgba(10,10,10,0.78);
    backdrop-filter: blur(14px) saturate(140%);
    -webkit-backdrop-filter: blur(14px) saturate(140%);
    border-bottom-color:var(--hairline);
  }
  .nav-row{
    display:flex;align-items:center;justify-content:space-between;
    height:84px;
  }
  .brand{
    display:flex;align-items:center;
  }
  .brand-logo{
    height:46px;width:auto;display:block;
  }
  .nav-links{display:flex;gap:36px;align-items:center}
  .nav-links a{
    font-size:12px;
    letter-spacing:0.22em;
    text-transform:uppercase;
    color:var(--ink-soft);
    position:relative;
    padding:6px 0;
    transition:color .25s ease;
  }
  .nav-links a:hover{color:var(--gold)}
  .nav-links a::after{
    content:"";position:absolute;left:0;right:0;bottom:0;height:1px;
    background:var(--gold);
    transform:scaleX(0);transform-origin:left;
    transition:transform .35s ease;
  }
  .nav-links a:hover::after{transform:scaleX(1)}
  .nav-tel{
    display:inline-flex;align-items:center;gap:10px;
    border:1px solid var(--hairline-strong);
    padding:10px 18px;border-radius:999px;
    font-size:12px;letter-spacing:0.18em;
    white-space:nowrap;
    transition:border-color .25s ease, color .25s ease, background .25s ease;
  }
  .nav-tel:hover{border-color:var(--gold);color:var(--gold)}
  .nav-tel .tel-ico{color:var(--gold);flex-shrink:0;display:block}

  /* Sélecteur de langue (header desktop + drawer mobile) */
  .lang-switch{
    display:inline-flex;align-items:center;gap:8px;
    font-size:11px;letter-spacing:0.22em;text-transform:uppercase;
    color:var(--ink-mute);
  }
  .lang-switch a{
    color:var(--ink-mute);
    padding:6px 4px;
    transition:color .25s ease;
  }
  .lang-switch a:hover{color:var(--gold)}
  .lang-switch a.is-active{color:var(--gold);font-weight:600}
  .lang-switch span{color:var(--hairline-strong)}
  .drawer-lang{
    margin-top:14px;justify-content:center;
    font-size:13px;letter-spacing:0.18em;
  }
  .drawer-lang a{padding:8px 6px}
  .burger{display:none;width:40px;height:40px;border-radius:50%;border:1px solid var(--hairline-strong);align-items:center;justify-content:center;cursor:pointer;z-index:60}
  .burger span{display:block;width:18px;height:1px;background:var(--ink);position:relative;transition:all .3s ease}
  .burger span::before,.burger span::after{content:"";position:absolute;left:0;right:0;height:1px;background:var(--ink);transition:all .3s ease}
  .burger span::before{top:-5px}.burger span::after{top:5px}
  .burger.is-open span{background:transparent}
  .burger.is-open span::before{top:0;transform:rotate(45deg);background:var(--gold)}
  .burger.is-open span::after{top:0;transform:rotate(-45deg);background:var(--gold)}

  /* mobile drawer */
  .drawer{
    position:fixed;inset:0;z-index:55;
    background:rgba(8,8,8,0.96);
    backdrop-filter:blur(20px);
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    gap:32px;
    opacity:0;pointer-events:none;
    transition:opacity .35s ease;
  }
  .drawer.is-open{opacity:1;pointer-events:auto}
  .drawer a{
    font-family:var(--display);
    font-size:32px;letter-spacing:0.04em;
    color:var(--ink);
    transition:color .25s ease;
  }
  .drawer a:hover{color:var(--gold)}
  .drawer .tel{
    margin-top:24px;
    font-size:14px;letter-spacing:0.22em;text-transform:uppercase;
    color:var(--gold);
    border:1px solid var(--gold);
    padding:14px 26px;border-radius:999px;
  }

  /* ============ HERO ============ */
  .hero{
    min-height:100vh;
    padding:140px 0 80px;
    display:flex;align-items:center;
    overflow:hidden;
  }
  .hero-bg{
    position:absolute;inset:0;z-index:0;pointer-events:none;
  }
  .hero-bg .grad{
    position:absolute;inset:0;
    background:
      radial-gradient(1200px 700px at 78% 20%, rgba(240,193,75,0.12), transparent 60%),
      radial-gradient(900px 600px at 10% 90%, rgba(240,193,75,0.06), transparent 60%);
  }
  .hero-bg .grain{
    position:absolute;inset:0;opacity:.5;mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.18 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  }
  .hero-bg .stars{position:absolute;inset:0}
  .star{
    position:absolute;width:2px;height:2px;border-radius:50%;
    background:var(--gold);opacity:.55;
    box-shadow:0 0 6px 1px rgba(240,193,75,0.6);
    animation: tw 4s ease-in-out infinite;
  }
  @keyframes tw{
    0%,100%{opacity:.2;transform:scale(.8)}
    50%{opacity:.9;transform:scale(1.2)}
  }
  .hero-grid{
    position:relative;z-index:1;
    display:grid;
    grid-template-columns: 1.45fr 0.95fr;
    gap:64px;align-items:center;
    width:100%;
  }
  .hero-grid > *{min-width:0}
  .hero-right{
    display:flex;
    flex-direction:column;
    gap:44px;
  }
  .hero-eyebrow{margin-bottom:28px}
  .hero h1{
    font-family:var(--display);
    font-size:clamp(54px, 7.8vw, 124px);
    line-height:0.92;
    margin:0 0 24px;
    letter-spacing:-0.015em;
    font-weight:400;
  }
  .hero h1 .it{
    font-family:var(--script);
    color:var(--gold);
    font-size:1.15em;
    line-height:0.8;
    display:inline-block;
    transform:translateY(0.12em) rotate(-3deg);
    margin: 0 0.06em 0 0.04em;
  }
  .hero h1 .thin{
    font-family:var(--display);
    font-style:italic;
    color:var(--ink-soft);
    font-weight:300;
  }
  .hero p.sub{
    max-width:540px;
    color:var(--ink-soft);
    font-size:18px;
    line-height:1.65;
    margin:0 0 36px;
  }
  .cta-row{display:flex;gap:18px;flex-wrap:wrap;align-items:center}
  .btn{
    display:inline-flex;align-items:center;gap:14px;
    padding:18px 30px;border-radius:999px;
    font-size:12px;letter-spacing:0.24em;text-transform:uppercase;
    transition: all .3s ease;
    cursor:pointer;
  }
  .btn-gold{
    background:var(--gold);color:#0a0a0a;
    font-weight:600;
  }
  .btn-gold:hover{background:var(--gold-soft);transform:translateY(-2px);box-shadow:0 14px 40px -10px var(--gold-glow)}
  .btn-ghost{
    border:1px solid var(--hairline-strong);color:var(--ink);
  }
  .btn-ghost:hover{border-color:var(--gold);color:var(--gold)}
  .arrow{
    display:inline-block;width:14px;height:14px;
    border-right:1.5px solid currentColor;
    border-top:1.5px solid currentColor;
    transform:rotate(45deg);
  }

  /* hero showcase */
  .hero-stage{
    position:relative;
    aspect-ratio: 4 / 5;
    width:100%;
    max-width:520px;
    margin:0 auto;
  }
  .stage-card{
    position:absolute;
    border-radius:6px;
    overflow:hidden;
    border:1px solid var(--hairline-strong);
    box-shadow: 0 30px 80px -20px rgba(0,0,0,0.6);
  }
  .sc-1{ inset:0 30% 30% 0;}
  .sc-2{ inset:35% 0 0 35%;}
  .sc-3{ inset:8% 8% 60% 60%; transform:rotate(2deg);}

  .ph{
    position:relative;width:100%;height:100%;
    background:#0d0d0d;
    overflow:hidden;
    display:flex;align-items:flex-end;justify-content:flex-start;
  }
  .ph img{
    position:absolute;inset:0;width:100%;height:100%;
    object-fit:cover;
    filter:brightness(.78) contrast(1.05) saturate(.92);
    transition: transform 1.2s ease, filter .6s ease;
  }
  .stage-card:hover .ph img,
  .about-visual:hover .ph img{ transform:scale(1.04); filter:brightness(.88) contrast(1.05) saturate(1)}
  .ph::before{
    content:"";position:absolute;inset:0;
    background:linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,0.65) 100%);
    z-index:1;
  }
  .ph .cap{
    position:relative;z-index:2;
    font-family:'JetBrains Mono', ui-monospace, monospace;
    font-size:10px;letter-spacing:0.2em;text-transform:uppercase;
    color:var(--ink);
    padding:10px 12px;
  }
  .ph .corner{
    position:absolute;top:10px;left:10px;z-index:2;
    width:18px;height:18px;
    border-top:1px solid var(--gold);border-left:1px solid var(--gold);
  }
  .ph .corner.br{
    top:auto;left:auto;bottom:10px;right:10px;
    border-top:0;border-left:0;
    border-bottom:1px solid var(--gold);border-right:1px solid var(--gold);
  }

  /* hero stats / strip */
  .hero-strip{
    margin-top:0;
    display:grid;grid-template-columns:repeat(4,1fr);
    gap:0;
    border-top:1px solid var(--hairline);
    border-bottom:1px solid var(--hairline);
  }
  .hero-strip .cell{
    padding:22px 12px;
    border-right:1px solid var(--hairline);
    display:flex;flex-direction:column;gap:6px;
  }
  .hero-strip .cell:last-child{border-right:0}
  .hero-strip .num{
    font-family:var(--display);
    font-size:27px;color:var(--ink);
    line-height:1;white-space:nowrap;
  }
  .hero-strip .num em{font-family:var(--script);color:var(--gold);font-style:normal;font-size:1.1em}
  .hero-strip .label{font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-mute)}

  /* ============ MARQUEE ============ */
  .marquee{
    overflow:hidden;
    border-top:1px solid var(--hairline);
    border-bottom:1px solid var(--hairline);
    background:#070707;
  }
  .marquee-track{
    display:flex;gap:64px;
    padding:26px 0;
    white-space:nowrap;
    animation: scroll 40s linear infinite;
    width:max-content;
  }
  .marquee span{
    font-family:var(--display);
    font-size:38px;color:var(--ink);
    letter-spacing:0.02em;
    display:inline-flex;align-items:center;gap:64px;
  }
  .marquee .dot{
    width:8px;height:8px;border-radius:50%;background:var(--gold);
    display:inline-block;
  }
  .marquee em{
    font-family:var(--script);color:var(--gold);font-style:normal;font-size:1.05em;
  }
  @keyframes scroll{
    from{transform:translateX(0)}
    to{transform:translateX(-50%)}
  }

  /* ============ SECTION HEADERS ============ */
  .sec-head{
    display:grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap:60px;align-items:end;
    margin-bottom:64px;
  }
  .sec-head h2{
    font-family:var(--display);
    font-size:clamp(44px, 5.5vw, 84px);
    line-height:0.95;
    margin:18px 0 0;
    font-weight:400;
  }
  .sec-head h2 em{
    font-family:var(--script);color:var(--gold);font-style:normal;
    font-size:1.05em;
  }
  .sec-head p{
    color:var(--ink-soft);font-size:17px;line-height:1.65;
    max-width:520px; margin:0 0 0 auto;
  }

  /* ============ SERVICES ============ */
  .services{padding:140px 0 80px}
  .svc-grid{
    display:grid;grid-template-columns:repeat(5, 1fr);
    border-top:1px solid var(--hairline);
    border-left:1px solid var(--hairline);
  }
  .svc{
    border-right:1px solid var(--hairline);
    border-bottom:1px solid var(--hairline);
    min-height:440px;
    position:relative;
    overflow:hidden;
    display:flex;flex-direction:column;justify-content:flex-end;
    cursor:pointer;
    isolation:isolate;
  }
  .svc .bg{
    position:absolute;inset:0;z-index:0;
    background-size:cover;background-position:center;
    filter:brightness(.62) saturate(.9) contrast(1.03);
    transition: transform 1.2s ease, filter .5s ease;
  }
  .svc:hover .bg{ transform:scale(1.06); filter:brightness(.78) saturate(1) contrast(1.03)}
  .svc::after{
    content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
    background:linear-gradient(180deg, rgba(0,0,0,0) 35%, rgba(0,0,0,0.6) 100%);
  }
  .svc-inner{
    position:relative;z-index:2;
    padding:28px;
    display:flex;flex-direction:column;gap:10px;
  }
  .svc .num{
    position:absolute;top:24px;left:28px;z-index:2;
    font-family:'JetBrains Mono', ui-monospace, monospace;
    font-size:11px;color:var(--gold);letter-spacing:0.2em;
  }
  .svc h3{
    font-family:var(--display);
    font-size:30px;line-height:1.05;
    margin:0;
    font-weight:400;
    color:var(--ink);
  }
  .svc h3 em{font-family:var(--script);color:var(--gold);font-style:normal;font-size:1.15em}
  .svc p{
    font-size:13px;color:var(--ink-soft);line-height:1.55;
    margin:0;
    max-height:0;overflow:hidden;opacity:0;
    transition:max-height .5s ease, opacity .4s ease;
  }
  .svc:hover p{max-height:120px;opacity:1}
  .svc .more{
    margin-top:8px;
    font-size:11px;letter-spacing:0.22em;text-transform:uppercase;color:var(--gold);
    display:inline-flex;align-items:center;gap:10px;
  }

  /* ============ ABOUT ============ */
  .about{
    padding:160px 0;
    background:
      linear-gradient(180deg, transparent, #050505 50%, transparent),
      var(--bg);
    position:relative;
  }
  .about-grid{
    display:grid;grid-template-columns: 0.9fr 1.1fr;
    gap:80px;align-items:center;
  }
  .about-visual{
    position:relative;
    aspect-ratio: 4/5;
  }
  .about-visual .frame{
    position:absolute;inset:0;
    border:1px solid var(--gold);
    transform:translate(20px, 20px);
  }
  .about-visual .ph{height:100%}
  .about-visual .badge{
    position:absolute;
    bottom:-30px;left:-30px;
    width:170px;height:170px;border-radius:50%;
    background:var(--gold);
    color:#0a0a0a;
    display:grid;place-items:center;
    text-align:center;
    box-shadow: 0 20px 60px -10px var(--gold-glow);
    z-index:50;
  }
  .about-visual .badge .inner{
    font-family:var(--display);
    font-size:14px;line-height:1.15;letter-spacing:0.12em;
    text-transform:uppercase;
    transform: rotate(0deg);
  }
  .about-visual .badge .inner em{
    display:block;
    font-family:var(--script);
    font-size:42px;text-transform:none;
    color:#0a0a0a;font-style:normal;
    margin:4px 0 2px;
  }
  .about-text h2{
    font-family:var(--display);
    font-size:clamp(40px,4.6vw,68px);
    line-height:1;margin:18px 0 28px;
    font-weight:400;
  }
  .about-text h2 em{font-family:var(--script);color:var(--gold);font-style:normal;font-size:1.1em}
  .about-text p{
    color:var(--ink-soft);font-size:17px;line-height:1.75;
    margin:0 0 18px;
    max-width:560px;
  }
  .about-text .signature{
    font-family:var(--script);font-size:42px;color:var(--gold);
    margin-top:24px;
  }
  .pillars{
    display:grid;grid-template-columns:repeat(3,1fr);
    gap:0;margin-top:40px;
    border-top:1px solid var(--hairline);
  }
  .pillar{
    padding:24px 0;
    border-right:1px solid var(--hairline);
    padding-right:18px;
  }
  .pillar:last-child{border-right:0}
  .pillar .k{
    font-family:var(--display);font-size:36px;color:var(--gold);line-height:1;
  }
  .pillar .v{font-size:12px;letter-spacing:0.2em;text-transform:uppercase;color:var(--ink-mute);margin-top:8px}

  /* ============ PRESTATIONS ============ */
  .prestas{padding:140px 0}
  .presta-grid{
    display:grid;grid-template-columns:repeat(12,1fr);
    gap:24px;
  }
  .presta{
    background:var(--bg-2);
    border:1px solid var(--hairline);
    border-radius:6px;
    padding:32px;
    position:relative;
    overflow:hidden;
    transition:border-color .35s ease, transform .35s ease;
  }
  .presta:hover{border-color:var(--gold-deep);transform:translateY(-4px)}
  .presta::before{
    content:"";position:absolute;left:0;top:0;bottom:0;width:2px;
    background:var(--gold);
    transform:scaleY(0);transform-origin:top;
    transition:transform .4s ease;
  }
  .presta:hover::before{transform:scaleY(1)}
  .presta .label{
    font-size:11px;letter-spacing:0.24em;text-transform:uppercase;
    color:var(--gold);margin-bottom:14px;display:block;
  }
  .presta h4{
    font-family:var(--display);
    font-size:28px;line-height:1.05;margin:0 0 14px;
    font-weight:400;
  }
  .presta ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
  .presta li{
    color:var(--ink-soft);font-size:14px;
    padding-left:18px;position:relative;line-height:1.55;
  }
  .presta li::before{
    content:"";position:absolute;left:0;top:9px;
    width:6px;height:6px;border-radius:50%;background:var(--gold);
  }
  .p-art{grid-column: span 5}
  .p-tech{grid-column: span 4}
  .p-deco{grid-column: span 3}
  .p-feu{grid-column: span 7; min-height:220px}
  .p-part{grid-column: span 5}

  .p-feu{
    background:
      radial-gradient(600px 300px at 80% 20%, rgba(240,193,75,0.18), transparent 60%),
      var(--bg-2);
  }
  .p-feu .spark{
    position:absolute;right:-40px;top:-40px;
    width:240px;height:240px;
    background: radial-gradient(circle, rgba(240,193,75,0.5), transparent 60%);
    filter:blur(20px);
    pointer-events:none;
  }

  /* ============ GALLERY ============ */
  .gallery{
    padding:140px 0;
    border-top:1px solid var(--hairline);
    background:#060606;
  }
  .video-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:18px;
  }
  .video-card{
    position:relative;display:block;width:100%;
    aspect-ratio:16/9;
    overflow:hidden;border-radius:6px;
    border:1px solid var(--hairline);
    background:#0d0d0d;
    cursor:pointer;
    isolation:isolate;
    padding:0;
    text-align:left;
  }
  .video-card img{
    width:100%;height:100%;object-fit:cover;
    filter:brightness(.82) saturate(.95);
    transition: transform 1.1s ease, filter .5s ease;
  }
  .video-card:hover img{ transform:scale(1.06); filter:brightness(1) saturate(1)}
  .video-card::after{
    content:"";position:absolute;inset:0;pointer-events:none;
    background:linear-gradient(180deg, transparent 45%, rgba(0,0,0,0.72) 100%);
    z-index:1;
  }
  .video-card .play{
    position:absolute;top:50%;left:50%;z-index:2;
    transform:translate(-50%,-50%);
    width:62px;height:62px;border-radius:50%;
    background:rgba(10,10,10,0.55);
    border:1px solid var(--gold);
    display:grid;place-items:center;
    transition: background .25s ease, transform .25s ease;
  }
  .video-card .play::before{
    content:"";
    border-style:solid;
    border-width:9px 0 9px 15px;
    border-color:transparent transparent transparent var(--gold);
    margin-left:3px;
  }
  .video-card:hover .play{ background:var(--gold); transform:translate(-50%,-50%) scale(1.06)}
  .video-card:hover .play::before{ border-left-color:#0a0a0a}
  .video-card .tag{
    position:absolute;left:16px;bottom:14px;z-index:2;
    font-size:10px;letter-spacing:0.22em;text-transform:uppercase;
    color:var(--ink);
  }
  .video-card .tag em{
    font-family:var(--script);color:var(--gold);font-style:normal;
    font-size:18px;letter-spacing:0;
    margin-right:6px;text-transform:none;
  }
  .video-card iframe{
    position:absolute;inset:0;width:100%;height:100%;border:0;z-index:3;
  }
  @media (max-width: 1024px){
    .video-grid{grid-template-columns:repeat(2, 1fr)}
  }
  @media (max-width: 640px){
    .video-grid{grid-template-columns:1fr}
  }

  /* hero brand crest */
  .hero-crest{
    position:absolute;
    top:50%;left:50%;
    transform:translate(-50%, -50%);
    width:min(900px, 80vw);
    opacity:.05;
    pointer-events:none;
    mix-blend-mode:screen;
    z-index:0;
  }

  /* ============ ZONE / MAP ============ */
  .zone{
    padding:140px 0;
    border-top:1px solid var(--hairline);
    background:#060606;
    position:relative;overflow:hidden;
  }
  .zone-grid{
    display:grid;grid-template-columns:1fr 1fr;
    gap:80px;align-items:center;
  }
  .map-card{
    position:relative;
    aspect-ratio: 5/4;
    background:linear-gradient(180deg,#0e0e0e,#070707);
    border:1px solid var(--hairline);
    border-radius:8px;
    overflow:hidden;
  }
  .map-card svg{width:100%;height:100%;display:block}
  .city-list{
    list-style:none;padding:0;margin:24px 0 0;
    display:flex;flex-wrap:wrap;gap:10px 22px;
  }
  .city-list li{
    font-size:12px;letter-spacing:0.18em;text-transform:uppercase;
    color:var(--ink-soft);
    padding-left:16px;position:relative;
  }
  .city-list li::before{
    content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
    width:5px;height:5px;border-radius:50%;background:var(--hairline-strong);
  }
  .city-list li.is-primary{color:var(--gold);font-weight:600}
  .city-list li.is-primary::before{background:var(--gold)}

  /* ============ CONTACT ============ */
  .contact{
    padding:160px 0 100px;
    background:
      radial-gradient(900px 500px at 50% 0%, rgba(240,193,75,0.07), transparent 60%),
      var(--bg);
    border-top:1px solid var(--hairline);
  }
  .contact-grid{
    display:grid;grid-template-columns: 0.9fr 1.1fr;gap:80px;align-items:start;
  }
  .contact h2{
    font-family:var(--display);
    font-size:clamp(46px,5vw,76px);
    line-height:0.96;margin:18px 0 24px;font-weight:400;
  }
  .contact h2 em{font-family:var(--script);color:var(--gold);font-style:normal;font-size:1.08em}
  .contact .lede{margin-bottom:36px}
  .contact-info{
    display:flex;flex-direction:column;gap:24px;
    border-top:1px solid var(--hairline);
    padding-top:32px;margin-top:32px;
  }
  .info-row{
    display:flex;gap:18px;align-items:flex-start;
  }
  .info-row .ico{
    width:42px;height:42px;border-radius:50%;
    border:1px solid var(--hairline-strong);
    display:grid;place-items:center;
    color:var(--gold);flex-shrink:0;
  }
  .info-row .k{font-size:11px;letter-spacing:0.22em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:4px}
  .info-row .v{font-family:var(--display);font-size:22px;line-height:1.2}
  .info-row a.v:hover{color:var(--gold)}

  /* form */
  .form-card{
    background:var(--bg-2);
    border:1px solid var(--hairline);
    border-radius:10px;
    padding:40px;
    position:relative;
  }
  .form-card .form-eyebrow{
    margin-bottom:8px;
  }
  .form-card h3{
    font-family:var(--display);
    font-size:32px;line-height:1.1;margin:0 0 28px;font-weight:400;
  }
  .form-card h3 em{font-family:var(--script);color:var(--gold);font-style:normal}
  .form-row{
    display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px;
  }
  .field{display:flex;flex-direction:column;gap:8px;position:relative}
  .field.full{grid-column:1 / -1}
  .field label{
    font-size:10px;letter-spacing:0.24em;text-transform:uppercase;color:var(--ink-mute);
  }
  .field input,.field select,.field textarea{
    background:transparent;
    border:0;
    border-bottom:1px solid var(--hairline-strong);
    padding:10px 0 12px;
    color:var(--ink);
    font:inherit;
    font-size:15px;
    transition: border-color .25s ease;
    outline:none;
    border-radius:0;
  }
  .field textarea{resize:vertical;min-height:90px}
  .field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold)}
  .field select option{background:var(--bg-2)}
  .field .err{font-size:11px;color:#ff7a7a;margin-top:4px}
  .field.ok input,.field.ok select,.field.ok textarea{border-color:rgba(240,193,75,0.5)}

  /* event-type chips */
  .chips{
    display:flex;flex-wrap:wrap;gap:8px;
    margin-bottom:18px;
  }
  .chip{
    padding:9px 16px;border-radius:999px;
    border:1px solid var(--hairline-strong);
    color:var(--ink-soft);
    font-size:12px;letter-spacing:0.14em;text-transform:uppercase;
    transition:all .2s ease;
    cursor:pointer;
    user-select:none;
  }
  .chip:hover{border-color:var(--gold-deep);color:var(--ink)}
  .chip.is-on{background:var(--gold);color:#0a0a0a;border-color:var(--gold);font-weight:600}

  .form-foot{
    display:flex;justify-content:space-between;align-items:center;
    margin-top:24px;gap:16px;flex-wrap:wrap;
  }
  .form-note{font-size:11.5px;color:var(--ink-mute);max-width:280px;line-height:1.5}
  .submit{
    background:var(--gold);color:#0a0a0a;font-weight:700;
    padding:18px 32px;border-radius:999px;
    font-size:12px;letter-spacing:0.24em;text-transform:uppercase;
    display:inline-flex;align-items:center;gap:14px;
    transition: all .3s ease;
  }
  .submit:hover{background:var(--gold-soft);transform:translateY(-2px);box-shadow:0 14px 40px -10px var(--gold-glow)}
  .submit:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}

  .form-success{
    border:1px solid var(--gold);
    border-radius:10px;
    padding:48px 40px;
    text-align:center;
    background:radial-gradient(400px 200px at 50% 0%, rgba(240,193,75,0.12), transparent 60%);
    animation: fadeUp .6s ease both;
  }
  .form-success .checkmark{
    width:64px;height:64px;border-radius:50%;
    border:1.5px solid var(--gold);
    display:grid;place-items:center;color:var(--gold);
    margin:0 auto 22px;
  }
  .form-success h3{
    font-family:var(--display);font-size:34px;font-weight:400;margin:0 0 12px;
  }
  .form-success h3 em{font-family:var(--script);color:var(--gold);font-style:normal}
  .form-success p{color:var(--ink-soft);font-size:15px;margin:0;line-height:1.6}

  /* ============ FOOTER ============ */
  footer{
    background:#050505;
    border-top:1px solid var(--hairline);
    padding:60px 0 30px;
  }
  .foot-grid{
    display:grid;grid-template-columns: 1.4fr 1fr 1fr 1fr;
    gap:50px;margin-bottom:50px;
  }
  .foot h5{
    font-size:11px;letter-spacing:0.24em;text-transform:uppercase;color:var(--gold);
    margin:0 0 18px;font-weight:500;
  }
  .foot ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
  .foot a{color:var(--ink-soft);font-size:14px;transition:color .25s ease}
  .foot a:hover{color:var(--gold)}
  .foot .brand-block .name{
    font-family:var(--display);font-size:24px;letter-spacing:0.18em;text-transform:uppercase;
    margin-bottom:6px;display:block;
  }
  .foot .brand-block .name em{font-family:var(--script);color:var(--gold);text-transform:none;letter-spacing:0;font-style:normal;margin-left:4px}
  .foot .brand-block p{font-size:13px;color:var(--ink-mute);max-width:300px;line-height:1.6;margin:14px 0 0}
  .foot-bottom{
    border-top:1px solid var(--hairline);
    padding-top:24px;
    display:flex;justify-content:space-between;align-items:center;
    color:var(--ink-mute);font-size:12px;letter-spacing:0.12em;
    flex-wrap:wrap;gap:14px;
  }
  .foot-bottom .credit{color:var(--ink-mute)}
  .foot-bottom .credit a{color:var(--gold);transition:color .25s ease}
  .foot-bottom .credit a:hover{color:var(--gold-soft)}
  .socials{display:flex;gap:10px}
  .socials a{
    width:36px;height:36px;border-radius:50%;
    border:1px solid var(--hairline-strong);
    display:grid;place-items:center;color:var(--ink-soft);
    transition:all .25s ease;
  }
  .socials a:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-2px)}

  /* ============ ANIMATIONS ============ */
  .reveal{opacity:0;transform:translateY(30px);transition:opacity .9s ease, transform .9s ease}
  .reveal.in{opacity:1;transform:none}
  .reveal.delay-1{transition-delay:.08s}
  .reveal.delay-2{transition-delay:.16s}
  .reveal.delay-3{transition-delay:.24s}
  .reveal.delay-4{transition-delay:.32s}

  @keyframes fadeUp{
    from{opacity:0;transform:translateY(20px)}
    to{opacity:1;transform:none}
  }

  /* ============ MOBILE ============ */
  @media (max-width: 1100px){
    .nav-links{display:none}
    .burger{display:flex}
    /* header opaque noir (couleur du fond du logo) sur mobile */
    .nav, .nav.scrolled{
      background:#000;
      backdrop-filter:none;-webkit-backdrop-filter:none;
      border-bottom:1px solid var(--hairline);
    }
    .nav-tel{padding:10px 13px}
  }
  @media (max-width: 1024px){
    .hero-grid{grid-template-columns:1fr;gap:48px}
    .hero-stage{margin:0 auto;max-width:420px}
    .sec-head{grid-template-columns:1fr;gap:24px}
    .sec-head p{margin:0;max-width:100%}
    .svc-grid{grid-template-columns:repeat(2,1fr)}
    .about-grid{grid-template-columns:1fr;gap:80px}
    .contact-grid{grid-template-columns:1fr;gap:48px}
    .zone-grid{grid-template-columns:1fr;gap:48px}
    .presta-grid{grid-template-columns:repeat(6,1fr)}
    .p-art,.p-tech,.p-deco,.p-feu,.p-part{grid-column: span 6}
    .foot-grid{grid-template-columns:1fr 1fr;gap:40px}
    .hero-strip{grid-template-columns:repeat(2,1fr)}
    .hero-strip .cell:nth-child(2){border-right:0}
  }
  @media (max-width: 640px){
    .wrap{padding:0 20px}
    .nav-links{display:none}
    .nav-tel span.tel-label{display:none}
    .burger{display:flex}
    .hero{padding:110px 0 40px}
    /* espacements verticaux réduits entre les sections sur mobile */
    .services{padding:64px 0 48px}
    .about{padding:64px 0}
    .prestas{padding:64px 0}
    .gallery{padding:64px 0}
    .zone{padding:64px 0}
    .contact{padding:72px 0 56px}
    footer{padding:48px 0 28px}
    .about-grid{gap:48px}
    .sec-head{margin-bottom:36px}
    .svc-grid{grid-template-columns:1fr}
    .form-row{grid-template-columns:1fr}
    .form-card{padding:28px 22px}
    .foot-grid{grid-template-columns:1fr}
    .pillars{grid-template-columns:1fr;border-top:0}
    .pillar{border-right:0;border-bottom:1px solid var(--hairline);padding:18px 0}
    .hero-strip{grid-template-columns:1fr}
    .hero-strip .cell{border-right:0;border-bottom:1px solid var(--hairline)}
    .hero-strip .cell:last-child{border-bottom:0}
  }
