/* Page d'accueil temporaire du salon Patrimonia (septembre 2026).
   Styles repris de la maquette Claude Design, puis ajustements responsive en fin de fichier. */
/* Konnect.am — DS v2 (extension du DS Kastelnik, mode light) */
/* vietnamese */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/landing/fonts/64be29f1-de51-4313-80b1-f3b728ec3f3c-9b870abf.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: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/landing/fonts/400060ec-47c5-4185-bc44-cac27a06f086-2186fff6.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: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/landing/fonts/ca8a36eb-e919-48d0-968a-24365a4261b4-78692770.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: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/landing/fonts/64be29f1-de51-4313-80b1-f3b728ec3f3c-9b870abf.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: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/landing/fonts/400060ec-47c5-4185-bc44-cac27a06f086-2186fff6.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: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/landing/fonts/ca8a36eb-e919-48d0-968a-24365a4261b4-78692770.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: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/landing/fonts/64be29f1-de51-4313-80b1-f3b728ec3f3c-9b870abf.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: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/landing/fonts/400060ec-47c5-4185-bc44-cac27a06f086-2186fff6.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: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/landing/fonts/ca8a36eb-e919-48d0-968a-24365a4261b4-78692770.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: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/landing/fonts/64be29f1-de51-4313-80b1-f3b728ec3f3c-9b870abf.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: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/landing/fonts/400060ec-47c5-4185-bc44-cac27a06f086-2186fff6.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: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/landing/fonts/ca8a36eb-e919-48d0-968a-24365a4261b4-78692770.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Instrument Sans';
  font-style: italic;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/landing/fonts/db12a870-fc10-463c-961b-2c7662b414b4-ef2a5931.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: 'Instrument Sans';
  font-style: italic;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/landing/fonts/5e59adb1-f524-437c-ab04-07aea66780d2-22b88e27.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Instrument Sans';
  font-style: italic;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/landing/fonts/db12a870-fc10-463c-961b-2c7662b414b4-ef2a5931.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: 'Instrument Sans';
  font-style: italic;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/landing/fonts/5e59adb1-f524-437c-ab04-07aea66780d2-22b88e27.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/landing/fonts/fbe7bdec-8bff-448a-bad9-be6a505113a1-83c16217.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: 'Instrument Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/landing/fonts/ff66d8f7-c742-4494-bcab-b28f2a60e8fd-265d6ea6.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/landing/fonts/fbe7bdec-8bff-448a-bad9-be6a505113a1-83c16217.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: 'Instrument Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/landing/fonts/ff66d8f7-c742-4494-bcab-b28f2a60e8fd-265d6ea6.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/landing/fonts/fbe7bdec-8bff-448a-bad9-be6a505113a1-83c16217.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: 'Instrument Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/landing/fonts/ff66d8f7-c742-4494-bcab-b28f2a60e8fd-265d6ea6.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/landing/fonts/fbe7bdec-8bff-448a-bad9-be6a505113a1-83c16217.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: 'Instrument Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/landing/fonts/ff66d8f7-c742-4494-bcab-b28f2a60e8fd-265d6ea6.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/landing/fonts/b5033656-f46b-49af-bb5b-0e1d20bb2dfc-af6aded3.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/landing/fonts/c6a14ff5-fd7d-48f6-ba87-e46ff0955795-397e3398.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/landing/fonts/922c8de5-e780-45eb-b746-bf454260d505-8bcc9c77.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/landing/fonts/39610939-c9b3-4e60-bd58-881b1e77459c-f8a40b1b.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/landing/fonts/9edbca99-cde1-4604-9cd8-088f7fb64f59-3c111aa4.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/landing/fonts/599a9843-8d7a-4f37-ba5d-6e005667ae51-822bc47d.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/landing/fonts/b5033656-f46b-49af-bb5b-0e1d20bb2dfc-af6aded3.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/landing/fonts/c6a14ff5-fd7d-48f6-ba87-e46ff0955795-397e3398.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/landing/fonts/922c8de5-e780-45eb-b746-bf454260d505-8bcc9c77.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/landing/fonts/39610939-c9b3-4e60-bd58-881b1e77459c-f8a40b1b.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/landing/fonts/9edbca99-cde1-4604-9cd8-088f7fb64f59-3c111aa4.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/landing/fonts/599a9843-8d7a-4f37-ba5d-6e005667ae51-822bc47d.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/landing/fonts/b5033656-f46b-49af-bb5b-0e1d20bb2dfc-af6aded3.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/landing/fonts/c6a14ff5-fd7d-48f6-ba87-e46ff0955795-397e3398.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/landing/fonts/922c8de5-e780-45eb-b746-bf454260d505-8bcc9c77.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/landing/fonts/39610939-c9b3-4e60-bd58-881b1e77459c-f8a40b1b.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/landing/fonts/9edbca99-cde1-4604-9cd8-088f7fb64f59-3c111aa4.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/landing/fonts/599a9843-8d7a-4f37-ba5d-6e005667ae51-822bc47d.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/landing/fonts/b5033656-f46b-49af-bb5b-0e1d20bb2dfc-af6aded3.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/landing/fonts/c6a14ff5-fd7d-48f6-ba87-e46ff0955795-397e3398.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/landing/fonts/922c8de5-e780-45eb-b746-bf454260d505-8bcc9c77.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/landing/fonts/39610939-c9b3-4e60-bd58-881b1e77459c-f8a40b1b.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/landing/fonts/9edbca99-cde1-4604-9cd8-088f7fb64f59-3c111aa4.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/landing/fonts/599a9843-8d7a-4f37-ba5d-6e005667ae51-822bc47d.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{
--ink-900:#0A0D0B;--ink-800:#111916;--ink-700:#1B2622;--ink-600:#2E3D37;--ink-500:#3D4F46;--ink-400:#66756D;--ink-300:#93A09A;
--paper:#F4F6F4;--paper-2:#EBEFEC;--paper-3:#E0E6E2;--white:#FFFFFF;
--mint-50:#EDFBF5;--mint-100:#D3F5E7;--mint-200:#A6EBD0;--mint-300:#5FDDB0;--mint-500:#00C98A;--mint-600:#02A874;--mint-700:#0B7A56;--mint-900:#063F2E;
--teal:#0891B2;--teal-soft:#DDF1F6;
--line:rgba(10,13,11,.09);--line-2:rgba(10,13,11,.18);--line-w:rgba(255,255,255,.14);--line-w2:rgba(255,255,255,.28);
--fd:'Bricolage Grotesque',system-ui,sans-serif;--fb:'Manrope',system-ui,sans-serif;
--maxw:1240px;--px:clamp(1.25rem,4vw,3.5rem);--ease:cubic-bezier(.2,.7,.2,1);--ease-out:cubic-bezier(.16,1,.3,1);
--sh-float:0 30px 80px -30px rgba(10,13,11,.35),0 8px 24px -12px rgba(10,13,11,.18);--sh-card:0 20px 50px -30px rgba(10,13,11,.25);
}
[data-typo="b"]{--fd:'Instrument Sans',system-ui,sans-serif;--fb:'Instrument Sans',system-ui,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--fb);font-size:1rem;line-height:1.6;color:var(--ink-900);background:var(--paper);-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4{font-family:var(--fd);margin:0;color:inherit;letter-spacing:-.025em;line-height:1.02;font-weight:600;text-wrap:balance}
[data-typo="b"] h1,[data-typo="b"] h2,[data-typo="b"] h3{letter-spacing:-.04em;font-weight:600}
p{margin:0;color:var(--ink-500)}
a{color:var(--mint-700);text-decoration:none}a:hover{color:var(--ink-900)}
button{font:inherit;cursor:pointer;color:inherit}
img{display:block;max-width:100%}
/* type scale */
.t-xl{font-size:clamp(3rem,7.2vw,6.4rem)}
.t-l{font-size:clamp(2.4rem,5vw,4.4rem)}
.t-m{font-size:clamp(1.9rem,3.4vw,2.9rem)}
.t-s{font-size:clamp(1.4rem,2.2vw,1.9rem);letter-spacing:-.02em}
.lead{font-size:clamp(1.05rem,1.35vw,1.25rem);line-height:1.55}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--px)}
/* eyebrow */
.eyebrow{display:inline-flex;align-items:center;gap:.65rem;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--mint-700)}
.eyebrow::before{content:'';width:22px;height:2px;background:var(--mint-500)}
.on-dark .eyebrow,.on-dark.eyebrow{color:var(--mint-300)}
/* buttons */
.btn{display:inline-flex;align-items:center;gap:.6rem;padding:.9rem 1.5rem;font-weight:600;font-size:.95rem;border:1px solid transparent;transition:transform .25s var(--ease),background .2s,color .2s,border-color .2s;text-decoration:none;line-height:1;white-space:nowrap;flex-shrink:0;position:relative}
.btn:active{transform:translateY(1px)}
.btn-p{background:var(--mint-500);color:var(--ink-900);border-color:var(--mint-500)}.btn-p:hover{background:var(--ink-900);color:#fff;border-color:var(--ink-900)}
.on-dark .btn-p:hover{background:#fff;color:var(--ink-900);border-color:#fff}
.btn-s{background:transparent;color:var(--ink-900);border-color:var(--ink-900)}.btn-s:hover{background:var(--ink-900);color:#fff}
.on-dark .btn-s{color:#fff;border-color:rgba(255,255,255,.6)}.on-dark .btn-s:hover{background:#fff;color:var(--ink-900);border-color:#fff}
.btn-t{padding:.35rem 0;color:var(--ink-900);border:0;border-bottom:1px solid var(--ink-900);background:none}.btn-t:hover{color:var(--mint-700);border-color:var(--mint-700)}
.btn-lg{padding:1.1rem 1.8rem;font-size:1.02rem}
.btn .arr{display:inline-block;transition:transform .25s var(--ease)}.btn:hover .arr{transform:translateX(4px)}
/* chips & tags */
.tag{display:inline-flex;align-items:center;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.32rem .55rem;border:1px solid var(--line-2);color:var(--ink-600);white-space:nowrap}
.tag-mint{background:var(--mint-500);border-color:var(--mint-500);color:var(--ink-900)}
.tag-soft{background:var(--mint-100);border-color:transparent;color:var(--mint-900)}
.tag-ghost{border-style:dashed;color:var(--ink-400)}
.on-dark .tag{border-color:var(--line-w2);color:rgba(255,255,255,.8)}
.chip{padding:.5rem .85rem;border:1px solid var(--line-2);background:var(--white);font-size:.86rem;font-weight:500;border-radius:999px;transition:all .15s}
.chip:hover{border-color:var(--ink-900)}.chip.on{background:var(--mint-500);border-color:var(--mint-500);font-weight:600}
/* date block */
.date{display:flex;flex-direction:column;line-height:1;font-family:var(--fd)}
.date b{font-size:2rem;font-weight:600;letter-spacing:-.04em}.date span{font-family:var(--fb);font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-400);margin-top:.3rem}
/* week marker */
.week{font-family:var(--fd);font-weight:600;letter-spacing:-.04em;line-height:.9;font-variant-numeric:tabular-nums}
/* card */
.card{background:var(--white);border:1px solid var(--line-2);box-shadow:var(--sh-card)}
.card-head{display:flex;justify-content:space-between;align-items:center;padding:.8rem 1rem;border-bottom:1px solid var(--line);font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-400)}
.card-head span:last-child{color:var(--mint-700)}
/* node avatar */
.node{width:40px;height:40px;display:grid;place-items:center;font-weight:700;font-size:.8rem;background:var(--ink-900);color:#fff;flex-shrink:0}
.node.light{background:var(--paper-2);color:var(--ink-900)}
/* duotone photo frame */
.photo{position:relative;overflow:hidden;background:var(--paper-2);isolation:isolate}
.photo:has(image-slot[data-filled]){background:var(--ink-800)}
.photo image-slot{width:100%;height:100%;display:block;transition:transform 1.2s var(--ease-out),filter .6s;color:var(--ink-500)}
[data-photo="duotone"] .photo image-slot[data-filled]{filter:grayscale(1) contrast(1.08) brightness(.92)}
[data-photo="duotone"] .photo:has(image-slot[data-filled])::after{content:'';position:absolute;inset:0;background:linear-gradient(160deg,var(--mint-500) 0%,var(--teal) 100%);mix-blend-mode:multiply;opacity:.7;pointer-events:none;z-index:1}
.photo:has(image-slot[data-filled])::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(10,13,11,.55));pointer-events:none;z-index:2}
.photo:hover image-slot{transform:scale(1.04)}
.photo .cap{position:absolute;left:1rem;bottom:1rem;right:1rem;z-index:3;color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;pointer-events:none}
.photo:not(:has(image-slot[data-filled])) .cap{display:none}
/* rules & textures */
.grain{position:relative}
.grain::after{content:'';position:absolute;inset:0;pointer-events:none;opacity:.35;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")}
.dotgrid{background-image:radial-gradient(rgba(10,13,11,.12) 1px,transparent 1px);background-size:22px 22px}
.on-dark{background:var(--ink-900);color:#fff}
.on-dark p{color:rgba(255,255,255,.72)}
.on-dark h1,.on-dark h2,.on-dark h3{color:#fff}
/* reveal */
.rv{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out)}
.rv.in{opacity:1;transform:none}
.rv-x{opacity:0;transform:translateX(-26px);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out)}
.rv-x.in{opacity:1;transform:none}
.rise{opacity:0;transform:translateY(20px);animation:rise 1s var(--ease-out) forwards}
@keyframes rise{to{opacity:1;transform:none}}
@keyframes pulse{0%{transform:scale(.6);opacity:.9}100%{transform:scale(2.6);opacity:0}}
@keyframes pop{to{opacity:1;transform:none}}
[data-motion="off"] .rv,[data-motion="off"] .rv-x,[data-motion="off"] .rise{opacity:1;transform:none;transition:none;animation:none}
@media(prefers-reduced-motion:reduce){.rv,.rv-x,.rise{opacity:1!important;transform:none!important;transition:none!important;animation:none!important}}
/* forms */
.fld{display:flex;flex-direction:column;gap:.4rem}
.fld label{font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-500)}
.fld input{font:inherit;padding:.9rem 1rem;border:1px solid var(--line-2);background:var(--paper);color:var(--ink-900);outline:none;transition:border-color .15s,background .15s}
.fld input:focus{border-color:var(--ink-900);background:#fff}
.opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.opts.one{grid-template-columns:1fr}
.opt{text-align:left;padding:.85rem 1rem;border:1px solid var(--line-2);background:var(--white);font-weight:500;font-size:.92rem;display:flex;justify-content:space-between;align-items:center;gap:.6rem;transition:all .15s}
.opt small{color:var(--ink-400);font-weight:500;font-size:.76rem}.opt:hover{border-color:var(--ink-900)}
.opt.on{background:var(--ink-900);color:#fff;border-color:var(--ink-900)}.opt.on small{color:rgba(255,255,255,.65)}
.chips{display:flex;flex-wrap:wrap;gap:.45rem}

/* ===== NAV ===== */
.nav{position:fixed;top:0;left:0;right:0;z-index:60;transition:background .3s,border-color .3s,backdrop-filter .3s;border-bottom:1px solid transparent}
.nav.solid{background:rgba(244,246,244,.82);backdrop-filter:blur(14px);border-color:var(--line)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:72px;gap:1rem}
.logo{font-family:var(--fd);font-weight:700;font-size:1.3rem;letter-spacing:-.03em;color:var(--ink-900);display:flex;align-items:center;gap:.55rem}
.logo i{display:inline-block;width:12px;height:12px;background:var(--mint-500)}
.logo em{font-style:normal;color:var(--ink-400);font-weight:500}
.on-dark .logo{color:#fff}
.nav-links{display:flex;gap:2rem;align-items:center}
.nav-links a:not(.btn){color:var(--ink-600);font-weight:500;font-size:.92rem}.nav-links a:not(.btn):hover{color:var(--ink-900)}
@media(max-width:900px){.nav-links a:not(.btn){display:none}}
/* ===== HERO ===== */
.hero{position:relative;min-height:100svh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:2rem;padding-top:96px;padding-bottom:3rem;overflow:visible}
@media(max-width:940px){.hero{grid-template-columns:1fr;min-height:0;padding-top:110px;gap:1rem}.hero-map{max-width:440px;justify-self:start}}
.hero-bg{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.hero-bg .glow{position:absolute;right:-10%;top:-10%;width:70vw;height:70vw;background:radial-gradient(circle,var(--mint-100) 0%,rgba(211,245,231,0) 60%);opacity:.9}
.hero-bg .glow2{position:absolute;left:-20%;bottom:-30%;width:60vw;height:60vw;background:radial-gradient(circle,var(--teal-soft) 0%,rgba(221,241,246,0) 60%);opacity:.7}
.hero-bg .grid{position:absolute;inset:0;background-image:radial-gradient(rgba(10,13,11,.1) 1px,transparent 1px);background-size:26px 26px;mask-image:radial-gradient(ellipse at 30% 40%,#000 20%,transparent 70%)}
.hero-copy{display:flex;flex-direction:column;gap:1.8rem;align-items:flex-start;position:relative;z-index:2}
.hero-copy h1{max-width:12ch}
.hero-copy h1 .u{position:relative;white-space:nowrap}
.hero-copy h1 .u::after{content:'';position:absolute;left:0;right:0;bottom:.06em;height:.12em;background:var(--mint-500);z-index:-1;transform-origin:left;transform:scaleX(0);animation:draw 1s var(--ease-out) 1.1s forwards}
[data-motion="off"] .hero-copy h1 .u::after{transform:none;animation:none}
@keyframes draw{to{transform:scaleX(1)}}
.hero-copy .lead{max-width:34rem}
.hero-cta{display:flex;gap:.8rem;flex-wrap:wrap;align-items:center}
.hero-aud{display:flex;gap:2rem;flex-wrap:wrap;padding-top:1.4rem;border-top:1px solid var(--line-2);width:100%;font-size:.86rem;color:var(--ink-400)}
.hero-aud b{display:block;color:var(--ink-900);font-weight:600;font-size:.95rem}
.hero-map{position:relative;justify-self:end;width:100%;display:flex;justify-content:center;z-index:1}
.hero-map .scale{transform-origin:top center}
.hero{--mx:0;--my:0}
.hero-map .fmap{transform:translate(calc(var(--mx) * -10px),calc(var(--my) * -10px));transition:transform .6s var(--ease-out)}
.evcard{translate:calc(var(--mx) * 18px) calc(var(--my) * 18px);transition:translate .6s var(--ease-out)}
.evcard .org{display:flex;gap:.6rem;margin-top:.7rem;padding-top:.6rem;border-top:1px solid var(--line);align-items:center;font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-400)}
.evcard .org img{height:28px;width:auto;max-width:110px;object-fit:contain}
.fmap{position:relative}
.fdot{animation:pop .7s var(--ease-out) forwards}
.fnode{fill:var(--ink-900);transition:r .3s}
.fcity.on .fnode{fill:var(--mint-500)}
.fpulse{fill:none;stroke:var(--mint-500);stroke-width:1.5;transform-origin:center;transform-box:fill-box;animation:pulse 1.8s ease-out infinite}
.flabel{font-family:var(--fb);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;fill:var(--ink-400)}
.fcity.on .flabel{fill:var(--ink-900)}
.on-dark .fnode{fill:rgba(255,255,255,.7)}.on-dark .flabel{fill:rgba(255,255,255,.5)}.on-dark .fcity.on .flabel{fill:#fff}
[data-motion="off"] .fdot{animation:none;opacity:1!important}[data-motion="off"] .fpulse{animation:none;opacity:0}
.evcard{position:absolute;width:264px;background:var(--white);border:1px solid var(--line-2);box-shadow:var(--sh-float);padding:.9rem 1rem .8rem;display:flex;gap:.9rem;align-items:flex-start;animation:rise .6s var(--ease-out) forwards;opacity:0;z-index:3}
.evcard .date b{font-size:1.7rem}
.evcard .t{font-size:.86rem;font-weight:600;line-height:1.3;color:var(--ink-900)}.evcard .t small{display:block;font-weight:500;color:var(--ink-400);font-size:.74rem;margin-top:.15rem}
.evcard .tags{display:flex;gap:.3rem;margin-top:.5rem}
.evcard{height:210px}
.evcard::before{content:'';position:absolute;left:50%;bottom:-24px;width:1px;height:24px;background:var(--ink-900)}
.evcard.below::before{bottom:auto;top:-24px}
.evcard .city{font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--mint-700);margin-bottom:.15rem}
.hero-week{display:flex;align-items:center;gap:1.2rem;color:var(--ink-400);font-size:.8rem;padding-top:1.2rem;border-top:1px solid var(--line-2);width:100%}
.hero-week .week{font-size:3.2rem;color:var(--ink-900)}
.hero-week span b{display:block;color:var(--ink-900);font-weight:600}

.scrollhint{position:absolute;right:var(--px);bottom:2rem;width:1px;height:56px;background:var(--line-2);overflow:hidden;z-index:2}
.scrollhint::after{content:'';position:absolute;left:0;top:-100%;width:100%;height:100%;background:var(--mint-500);animation:scrollhint 2s var(--ease) infinite}
@keyframes scrollhint{to{top:100%}}
@media(max-width:940px){.scrollhint{display:none}}
/* ===== TICKER ===== */
.ticker{background:var(--ink-900);color:#fff;overflow:hidden;position:relative}
.ticker-in{display:flex;width:max-content;animation:tick 70s linear infinite}
.ticker:hover .ticker-in{animation-play-state:paused}
[data-motion="off"] .ticker-in{animation:none}
@keyframes tick{to{transform:translateX(-50%)}}
.tk{display:flex;align-items:center;gap:1rem;padding:1rem 1.8rem;border-right:1px solid var(--line-w);font-size:.86rem;white-space:nowrap}
.tk b{font-weight:600}.tk span{color:rgba(255,255,255,.55)}.tk i{width:7px;height:7px;background:var(--mint-500);display:inline-block}
.tk em{font-style:normal;color:var(--mint-300);font-weight:700;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}
/* ===== SECTIONS ===== */
.sec{padding-block:clamp(5rem,9vw,8.5rem)}
.sec-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:2rem;align-items:end;margin-bottom:clamp(2.5rem,5vw,4.5rem)}
@media(max-width:860px){.sec-head{grid-template-columns:1fr}}
.sec-head .eyebrow{margin-bottom:1.2rem}
.sec-head p{font-size:1.08rem;max-width:32rem}
/* ===== TRIPTYQUE ===== */
.trip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}
@media(max-width:860px){.trip{grid-template-columns:1fr}}
.tp{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line-2);position:relative;transition:transform .5s var(--ease-out),box-shadow .5s}
.tp:hover{transform:translateY(-6px);box-shadow:var(--sh-card)}
.tp .photo{aspect-ratio:4/3}
.tp .num{position:absolute;top:1rem;left:1rem;z-index:4;font-family:var(--fd);font-weight:600;font-size:.9rem;color:#fff;background:var(--ink-900);padding:.35rem .55rem;letter-spacing:0}
.tp-body{padding:1.6rem 1.6rem 1.8rem;display:flex;flex-direction:column;gap:.9rem;flex:1}
.tp-body h3{font-size:clamp(2.2rem,3.4vw,3rem);letter-spacing:-.04em;line-height:.95}
.tp-body h3 em{font-style:normal;color:var(--mint-600)}
.tp-body .sub{font-weight:600;color:var(--ink-900)}
.tp-body p{font-size:.95rem}
.tp-body ul{margin:auto 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:.35rem;padding-top:.6rem}
/* ===== MANIFESTE ===== */
.manif{padding-block:clamp(5rem,9vw,8rem);position:relative;overflow:hidden}
.manif h2{font-size:clamp(2.2rem,5.4vw,5rem);max-width:20ch;letter-spacing:-.035em;line-height:1}
.manif h2 em{font-style:normal;color:var(--mint-500)}
.manif .cols{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:3rem;align-items:end}
@media(max-width:860px){.manif .cols{grid-template-columns:1fr}}
.manif p{font-size:1.08rem;max-width:30rem}
.outline{margin-top:4rem;overflow:hidden;border-top:1px solid var(--line-w);border-bottom:1px solid var(--line-w)}
.outline-in{display:flex;width:max-content;animation:tick 40s linear infinite}
[data-motion="off"] .outline-in{animation:none}
.outline span{font-family:var(--fd);font-weight:700;font-size:clamp(3rem,7vw,6.5rem);letter-spacing:-.03em;line-height:1.2;padding:0 .5em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.35);white-space:nowrap}
.outline span.fill{color:var(--mint-500);-webkit-text-stroke:0}
/* ===== POUR QUI ===== */
.split{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line-2)}
@media(max-width:900px){.split{grid-template-columns:1fr}}
.half{padding:clamp(1.8rem,3.5vw,3.2rem);display:flex;flex-direction:column;gap:1.6rem;position:relative}
.half.dark{background:var(--ink-900);color:#fff}
.half .photo{aspect-ratio:16/8}
.half h3{font-size:clamp(1.8rem,2.8vw,2.5rem);letter-spacing:-.03em}
.half .who{font-size:.86rem;color:var(--ink-400);margin-top:.35rem}.half.dark .who{color:rgba(255,255,255,.55)}
.rows{display:flex;flex-direction:column}
.row{display:block;padding:1.05rem 0;border-top:1px solid var(--line)}
.half.dark .row{border-color:var(--line-w)}
.row i{font-style:normal;font-size:.72rem;font-weight:700;letter-spacing:.1em;color:var(--mint-700);padding-top:.25rem;white-space:nowrap}.half.dark .row i{color:var(--mint-300)}
.row b{display:block;font-weight:600;font-size:1.02rem;line-height:1.3}
.row span{display:block;font-size:.88rem;color:var(--ink-500);margin-top:.2rem;line-height:1.5}.half.dark .row span{color:rgba(255,255,255,.65)}
.half .btn{align-self:flex-start;margin-top:auto}
/* ===== STORY (piliers) ===== */
.story{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(2rem,5vw,6rem);align-items:start}
@media(max-width:900px){.story{grid-template-columns:1fr}}
.story-steps{display:flex;flex-direction:column}
.step{min-height:78vh;display:flex;flex-direction:column;justify-content:center;gap:1.1rem;align-items:flex-start;padding:2rem 0;border-top:1px solid var(--line);transition:opacity .5s;opacity:.45}
.step.on{opacity:1}
@media(max-width:900px){.step{opacity:1}}
.step:first-child{border-top:0}
.step .idx{font-family:var(--fd);font-weight:600;font-size:3.6rem;letter-spacing:-.04em;line-height:1;color:var(--paper-3);transition:color .4s}
.step.on .idx{color:var(--mint-500)}
.step h3{font-size:clamp(1.8rem,3vw,2.6rem);letter-spacing:-.03em}
.step p{font-size:1.02rem;max-width:30rem}
.step ul{margin:.2rem 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.5rem;font-size:.92rem;color:var(--ink-500)}
.step li{display:flex;gap:.7rem;align-items:baseline}.step li::before{content:'';width:7px;height:7px;background:var(--mint-500);flex-shrink:0;transform:translateY(-1px)}
.step .m-vis{display:none;width:100%}
@media(max-width:900px){.step{min-height:0;padding:2.5rem 0}.step .m-vis{display:block;margin-top:1rem}}
.story-vis{position:sticky;top:80px;display:grid;align-items:start}
@media(max-width:900px){.story-vis{display:none}}
.vis{grid-area:1/1;display:flex;align-items:flex-start;justify-content:center;opacity:0;transform:translateY(16px);transition:opacity .35s var(--ease-out),transform .35s var(--ease-out);pointer-events:none}
.vis.on{opacity:1;transform:none;pointer-events:auto;transition:opacity .5s var(--ease-out) .3s,transform .5s var(--ease-out) .3s}
.vis-frame{width:100%;background:var(--white);border:1px solid var(--line-2);padding:1.25rem;box-shadow:var(--sh-card)}
.story-vis .vis-frame{margin-top:0}
/* agenda map visual */
.amap{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1.2rem;align-items:center}
@container(max-width:320px){.amap{grid-template-columns:1fr}}
.amap .side{display:flex;flex-direction:column;gap:.4rem;min-width:0;align-items:flex-start}
.amap .rule{max-width:20ch}
.amap .side .week{font-size:4.6rem}
.amap .side .city{font-size:1.2rem;font-weight:600;letter-spacing:-.02em}
.amap .side .k{font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-400)}
.amap .rule{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line);font-size:.8rem;color:var(--ink-500);line-height:1.5}
.amap .rule b{color:var(--ink-900)}
.weeks{display:flex;gap:4px;margin-top:.6rem}.weeks i{flex:1;height:4px;background:var(--paper-3)}.weeks i.on{background:var(--mint-500)}
/* mocks (repris v2) */
.em{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:1rem}
@container(max-width:440px){.em{grid-template-columns:1fr}}
.em-page{border:1px solid var(--line);padding:1.1rem;display:flex;flex-direction:column;gap:.7rem}
.em-brand{display:flex;justify-content:space-between;align-items:center;font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-400)}
.em-brand b{color:var(--ink-900);border:1px solid var(--ink-900);padding:.2rem .4rem;white-space:nowrap}
.em-page h4{font-family:var(--fd);font-size:1.25rem;font-weight:600;letter-spacing:-.02em;line-height:1.15;margin:.2rem 0}
.em-line{height:8px;background:var(--paper-2);width:90%}.em-line.s{width:60%}
.em-btn{background:var(--mint-500);color:var(--ink-900);font-size:.78rem;font-weight:700;padding:.55rem .8rem;align-self:flex-start;margin-top:.3rem}
.em-side{display:flex;flex-direction:column;gap:.6rem}
.em-stat{border:1px solid var(--line);padding:.7rem .8rem}
.em-stat b{display:block;font-family:var(--fd);font-size:1.6rem;font-weight:600;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}
.em-stat span{font-size:.64rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-400)}
.em-list{display:flex;flex-direction:column;gap:.35rem;font-size:.76rem}
.em-list div{display:flex;justify-content:space-between;gap:.5rem;border-bottom:1px solid var(--line);padding:.3rem 0}
.em-list div em{font-style:normal;color:var(--mint-700);font-weight:700;font-size:.64rem;letter-spacing:.08em;text-transform:uppercase}
.nw{display:flex;flex-direction:column;gap:.8rem}
.nw-card{border:1px solid var(--line);padding:.9rem 1rem;display:flex;gap:.8rem;align-items:center;font-size:.86rem}
.nw-card .av{width:36px;height:36px;background:var(--paper-2);display:grid;place-items:center;font-size:.72rem;font-weight:700;flex-shrink:0}
.nw-card .av.k{background:var(--ink-900);color:#fff}
.nw-card b{display:block;font-weight:600;line-height:1.25}.nw-card small{color:var(--ink-400);font-size:.76rem}
.nw-card .tag{margin-left:auto}
.nw-card .tag.ok{background:var(--mint-500);border-color:var(--mint-500);color:var(--ink-900)}
.nw-share{border:1px solid var(--line);padding:.9rem 1rem;font-size:.86rem;background:var(--paper)}
.nw-share .from{display:flex;justify-content:space-between;font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-400);margin-bottom:.45rem}
.nw-share p{color:var(--ink-900);font-size:.86rem;line-height:1.45}
.rs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}
@container(max-width:480px){.rs{grid-template-columns:1fr}}
.rs-item{border:1px solid var(--line);padding:.9rem;display:flex;flex-direction:column;gap:.5rem;min-height:130px}
.rs-item .k{font-size:.64rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--mint-700)}
.rs-item b{font-size:.86rem;font-weight:600;line-height:1.3}
.rs-item small{color:var(--ink-400);font-size:.74rem;margin-top:auto}
.rs-nl{grid-column:1/-1;border:1px solid var(--line);padding:.9rem 1rem;display:flex;justify-content:space-between;align-items:center;gap:.5rem 1rem;flex-wrap:wrap;font-size:.84rem;background:var(--paper)}
.rs-nl b{font-weight:600}.rs-nl span{color:var(--ink-400)}
.vis-frame,.m-vis{container-type:inline-size}
/* ===== ANNUAIRE ===== */
.annu{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:clamp(2rem,5vw,5rem);align-items:center}
@media(max-width:900px){.annu{grid-template-columns:1fr}}
.annu-copy{display:flex;flex-direction:column;gap:1.2rem;align-items:flex-start}
.annu-copy h2{font-size:clamp(2rem,3.4vw,3rem)}
.wall{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem}
@media(max-width:1100px){.wall{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:520px){.wall{grid-template-columns:repeat(2,minmax(0,1fr))}}
.tile{min-height:132px;border:1px solid var(--line-2);background:var(--white);padding:.8rem;display:flex;flex-direction:column;justify-content:space-between;gap:.8rem;transition:border-color .4s,background .4s}
.tile-top{display:flex;justify-content:space-between;align-items:center;gap:.5rem}
.tile .lg{width:34px;height:34px;border:1px dashed var(--line-2);display:grid;place-items:center;font-size:.6rem;font-weight:700;color:var(--ink-300)}
.tile b{display:block;font-size:.86rem;font-weight:600;line-height:1.25}.tile small{display:block;color:var(--ink-400);font-size:.72rem}
.tile .st{font-size:.54rem;flex-shrink:0;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.28rem .45rem;border:1px solid var(--line-2);color:var(--ink-400);transition:all .4s}
.tile.claimed{border-color:var(--mint-500);background:var(--mint-50)}
.tile.claimed .st{background:var(--mint-500);border-color:var(--mint-500);color:var(--ink-900)}
.tile.claimed .lg{border-style:solid;border-color:var(--ink-900);color:var(--ink-900)}
/* ===== FINAL ===== */
.final{position:relative;overflow:hidden;padding-block:clamp(6rem,11vw,10rem)}
.final-map{position:absolute;right:-6%;top:50%;transform:translateY(-50%);opacity:.9;pointer-events:none;mask-image:linear-gradient(90deg,transparent 0%,#000 45%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 45%)}
@media(max-width:1100px){.final-map{opacity:.35;right:-30%}}
@media(max-width:1100px){.final-in{position:relative;z-index:2}.final-in .lead,.final-in .steps{background:var(--ink-900);box-decoration-break:clone}}
.final-in{position:relative;z-index:2;display:flex;flex-direction:column;gap:1.8rem;align-items:flex-start;max-width:640px}
.final h2{font-size:clamp(2.6rem,6vw,5.2rem);letter-spacing:-.04em}
.final .lead{color:rgba(255,255,255,.72)}
.final .steps{display:flex;flex-wrap:wrap;margin-top:.5rem;border-top:1px solid var(--line-w);width:100%}
.final .steps{gap:.5rem;border-top:0;padding-top:.4rem}
.final .steps > span{font-size:.82rem;color:#fff;padding:.5rem .9rem;border:1px solid var(--line-w2);border-radius:999px;display:flex;gap:.5rem;align-items:center}
.final .steps > span::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--mint-500)}

.final .steps > span i{font-style:normal;font-weight:700;color:var(--mint-300);font-size:.68rem;letter-spacing:.1em}
/* ===== FOOTER ===== */
.foot{padding:3.5rem 0 2.5rem;border-top:1px solid var(--line);display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2rem;font-size:.88rem}
@media(max-width:860px){.foot{grid-template-columns:1fr 1fr}}
.foot h5{margin:0 0 .8rem;font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-400)}
.foot ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}
.foot a{color:var(--ink-600)}.foot a:hover{color:var(--ink-900)}
.foot .tag{color:var(--ink-400);font-size:.84rem;max-width:26rem;margin-top:.9rem;border:0;padding:0;text-transform:none;letter-spacing:0;font-weight:400;display:block;white-space:normal;line-height:1.5}
.foot-bottom{padding:1.2rem 0 2rem;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.8rem;color:var(--ink-400)}
/* ===== MODAL ===== */
.ov{position:fixed;inset:0;z-index:100;background:rgba(10,13,11,.6);backdrop-filter:blur(8px);display:grid;place-items:center;padding:1rem;animation:fade .3s var(--ease)}
@keyframes fade{from{opacity:0}}
.md{background:var(--white);width:min(620px,100%);max-height:calc(100vh - 2rem);overflow:auto;display:flex;flex-direction:column;animation:rise .45s var(--ease-out) forwards}
.md-head{display:flex;justify-content:space-between;align-items:center;padding:1.1rem 1.6rem;border-bottom:1px solid var(--line)}
.md-head .lbl{font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--mint-700)}
.md-close{background:none;border:0;font-size:1.5rem;line-height:1;color:var(--ink-400);padding:.2rem .4rem}.md-close:hover{color:var(--ink-900)}
.md-prog{display:flex;gap:4px;padding:0 1.6rem;margin-top:1rem}.md-prog i{flex:1;height:3px;background:var(--paper-2);transition:background .3s}.md-prog i.on{background:var(--mint-500)}
.md-body{padding:1.7rem 1.6rem 1.8rem;display:flex;flex-direction:column;gap:1.2rem;min-height:340px}
.md-body h3{font-size:1.6rem;letter-spacing:-.03em}
.md-body .hint{font-size:.9rem;color:var(--ink-400);margin-top:-.7rem}
.md-foot{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.6rem 1.4rem;border-top:1px solid var(--line);gap:1rem}
.md-foot .step{font-size:.76rem;color:var(--ink-400);font-weight:600;letter-spacing:.06em;min-height:0;padding:0;border:0;display:block}
.md-done{padding:3rem 1.6rem;display:flex;flex-direction:column;gap:1rem;align-items:flex-start}
.md-done .ok{width:44px;height:44px;background:var(--mint-500);display:grid;place-items:center;font-weight:700}
.md-done h3{font-size:1.9rem;letter-spacing:-.03em}
.md-done .recap{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.4rem}.md-done .recap span{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--line-2);padding:.3rem .5rem;color:var(--ink-600)}

/* ===== V4 — extensions DA « la place en points » ===== */
.band-white{background:var(--white)}
.band-mint{background:linear-gradient(180deg,var(--mint-50),var(--paper))}
.halftone{position:relative;overflow:hidden}

.halftone.flip::before{right:auto;left:0;transform:scaleX(-1)}
.on-dark
.flink{fill:none;stroke:var(--mint-500);stroke-width:1.4;stroke-dasharray:4 5;animation:dash 6s linear infinite;opacity:.9}
@keyframes dash{to{stroke-dashoffset:-90}}
[data-motion="off"] .flink{animation:none}
/* dot-matrix type */
.dt{display:inline-grid;gap:var(--dg,3px);grid-auto-flow:column}
.dt-ch{display:grid;grid-template-columns:repeat(5,var(--ds,6px));grid-auto-rows:var(--ds,6px);gap:var(--dg,3px)}
.dt-ch i{display:block;border-radius:50%;background:var(--dt-off,rgba(10,13,11,.08));transition:background .3s}
.dt-ch i.on{background:var(--dt-on,var(--ink-900))}
.on-dark .dt-ch i{background:var(--dt-off,rgba(255,255,255,.1))}.on-dark .dt-ch i.on{background:var(--dt-on,var(--mint-500))}
.dt-gap{width:var(--ds,6px)}
/* hero week in dots */
.hero-week .dt{--ds:7px;--dg:3px;margin-bottom:.2rem}
/* outline divider */
.divider{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--white)}
.divider-in{display:flex;width:max-content;animation:tick 50s linear infinite}
[data-motion="off"] .divider-in{animation:none}
.divider span{font-family:var(--fd);font-weight:700;font-size:clamp(2.6rem,6vw,5.5rem);letter-spacing:-.03em;line-height:1.25;padding:0 .45em;color:transparent;-webkit-text-stroke:1px rgba(10,13,11,.35);white-space:nowrap}
.divider span.fill{color:var(--ink-900);-webkit-text-stroke:0}
.divider.dk{background:var(--ink-900);border-color:var(--line-w)}.divider.dk span{-webkit-text-stroke:1px rgba(255,255,255,.4)}.divider.dk span.fill{color:var(--mint-500)}
/* piliers dark */
.piliers-dark{background:var(--ink-800);color:#fff}
.piliers-dark .step{border-color:var(--line-w)}
.piliers-dark .step .idx{color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.3);font-size:5rem}
.piliers-dark .step.on .idx{color:var(--mint-500);-webkit-text-stroke:0}
.piliers-dark .step p,.piliers-dark .step ul{color:rgba(255,255,255,.7)}
.piliers-dark .vis-frame{padding:1rem;background:var(--ink-900);border-color:var(--line-w2);box-shadow:0 40px 90px -40px rgba(0,0,0,.8)}
.piliers-dark .sec-head p{color:rgba(255,255,255,.7)}
/* salle en points */
.salle{display:flex;flex-direction:column;gap:1.2rem}
.salle-grid{display:grid;grid-template-columns:repeat(16,minmax(0,1fr));gap:6px}
.salle-grid i{aspect-ratio:1;border-radius:50%;background:rgba(255,255,255,.12);transition:background .5s,transform .5s}
.salle-grid i.on{background:rgba(255,255,255,.85)}
.salle-grid i.ok{background:var(--mint-500);transform:scale(1.15)}
.salle-grid i.aisle{visibility:hidden}
.salle-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap}
.salle-foot .k{font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.salle-foot .dt{--ds:8px;--dg:3px}
.salle-foot .legend{display:flex;gap:1rem;font-size:.74rem;color:rgba(255,255,255,.6)}
.salle-foot .legend span{display:flex;align-items:center;gap:.4rem}.salle-foot .legend i{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.85);display:inline-block}.salle-foot .legend i.m{background:var(--mint-500)}
/* constellation */
.const{position:relative;width:100%;aspect-ratio:4/3}
.const svg{position:absolute;inset:0;width:100%;height:100%}
.const .ln{stroke:rgba(255,255,255,.22);stroke-width:1;fill:none}
.const .ln.on{stroke:var(--mint-500);stroke-width:1.6;stroke-dasharray:300;stroke-dashoffset:300;animation:drawln 1.4s var(--ease-out) forwards}
@keyframes drawln{to{stroke-dashoffset:0}}
[data-motion="off"] .const .ln.on{animation:none;stroke-dashoffset:0}
.const .nd{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:.35rem}
.const .nd .node{width:44px;height:44px;background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.25);font-size:.8rem;border-radius:50%;transition:all .4s}
.const .nd.on .node{background:var(--mint-500);color:var(--ink-900);border-color:var(--mint-500)}
.const .nd.me .node{background:#fff;color:var(--ink-900)}
.const .nd small{font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.55);white-space:nowrap}
.const .nd.on small{color:#fff}
.const-wrap{display:flex;flex-direction:column;gap:.8rem}
.const-wrap .bubble{position:relative;background:#fff;color:var(--ink-900);font-size:.8rem;font-weight:600;padding:.55rem .75rem;box-shadow:var(--sh-float);animation:rise .5s var(--ease-out) forwards;opacity:0;display:flex;flex-direction:column;gap:.1rem;align-self:stretch;min-width:0}
.const-wrap .bubble span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.const-wrap .bubble::before{content:'';position:absolute;left:0;top:0;height:100%;width:3px;background:var(--mint-500)}
.const{aspect-ratio:1/1;max-height:340px;padding:.6rem .5rem 1.8rem}
.const .nd small{background:var(--ink-900);padding:0 .25rem}
.const-wrap .bubble b{color:var(--mint-700);font-weight:700;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;display:block}
/* ressources dark */
.rsd{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}
@container(max-width:560px){.rsd{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container(max-width:360px){.rsd{grid-template-columns:1fr}}
.rsd .bigword{grid-column:1/-1;font-family:var(--fd);font-weight:700;font-size:clamp(2rem,9cqw,3.4rem);letter-spacing:-.04em;line-height:.9;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.35);margin-bottom:.4rem;white-space:nowrap;overflow:hidden}
.rsd .bigword em{font-style:normal;color:var(--mint-500);-webkit-text-stroke:0}
.rsd-item{border:1px solid var(--line-w);padding:.8rem;display:flex;flex-direction:column;gap:.4rem;min-height:96px;position:relative;overflow:hidden}
.rsd-item::before{content:'';position:absolute;right:-20px;top:-20px;width:110px;height:110px;background-image:radial-gradient(rgba(255,255,255,.35) 1.4px,transparent 1.6px);background-size:9px 9px;mask-image:radial-gradient(circle at 70% 30%,#000 30%,transparent 70%);-webkit-mask-image:radial-gradient(circle at 70% 30%,#000 30%,transparent 70%)}
.rsd-item .k{font-size:.64rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--mint-300)}
.rsd-item b{font-size:.9rem;font-weight:600;line-height:1.3;color:#fff}
.rsd-item small{color:rgba(255,255,255,.5);font-size:.74rem;margin-top:auto}
.rsd-nl{grid-column:1/-1;border:1px solid var(--line-w);padding:.9rem 1rem;display:flex;justify-content:space-between;align-items:center;gap:.5rem 1rem;flex-wrap:wrap;font-size:.84rem}
.rsd-nl b{color:#fff}.rsd-nl span{color:rgba(255,255,255,.5)}
/* agenda vis dark */
.piliers-dark .amap .side .k{color:rgba(255,255,255,.5)}.piliers-dark .amap .rule{border-color:var(--line-w);color:rgba(255,255,255,.65)}.piliers-dark .amap .rule b{color:#fff}
.piliers-dark .weeks i{background:rgba(255,255,255,.15)}.piliers-dark .weeks i.on{background:var(--mint-500)}
.amap .side .dt{--ds:8px;--dg:3px}
/* dotted progress */
.dots-prog{display:flex;gap:6px}.dots-prog i{width:8px;height:8px;border-radius:50%;background:var(--paper-3)}.dots-prog i.on{background:var(--mint-500)}
/* annuaire white + map badge */
.tile .mini{position:absolute;right:.6rem;bottom:.6rem;opacity:.35}
/* final divider spacing */
.final .outline{margin-top:3rem}
/* photo naturel fallback for generated art */
.photo image-slot[data-filled]{background:var(--ink-800)}
[data-photo="duotone"] .photo.art image-slot[data-filled]{filter:none}
[data-photo="duotone"] .photo.art:has(image-slot[data-filled])::after{display:none}
.photo.art:has(image-slot[data-filled])::before{background:linear-gradient(180deg,transparent 55%,rgba(10,13,11,.6))}

.photo .cap{background:var(--ink-900);padding:.45rem .6rem;left:0;bottom:0;right:auto;max-width:100%}

/* ===== maisons (logos) ===== */
.maisons{background:var(--white);border-bottom:1px solid var(--line);padding-block:clamp(2.5rem,5vw,4rem)}
.maisons-head{display:flex;justify-content:space-between;align-items:baseline;gap:2rem;flex-wrap:wrap;margin-bottom:1.8rem}
.maisons-head p{font-size:.95rem;max-width:36rem}
.logos{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
@media(max-width:1000px){.logos{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:700px){.logos{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:460px){.logos{grid-template-columns:repeat(3,minmax(0,1fr))}}
.logo-cell{aspect-ratio:2.2;display:grid;place-items:center;padding:.9rem 1.1rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--white);transition:background .25s}
.logo-cell:hover{background:var(--mint-50)}
.logo-cell img{max-width:100%;max-height:34px;width:auto;height:auto;object-fit:contain;filter:grayscale(1) contrast(1.05);opacity:.75;transition:filter .3s,opacity .3s}
.logo-cell:hover img{filter:none;opacity:1}
.tile .lg{flex:1;min-width:0;max-width:96px;height:30px;border:0;display:flex;align-items:center;justify-content:flex-start}
.tile .lg img{max-height:28px;max-width:100%;width:auto;object-fit:contain;filter:grayscale(1);opacity:.7;transition:filter .3s,opacity .3s}
.tile.claimed .lg img{filter:none;opacity:1}
.coorg{display:flex;flex-direction:column;gap:.4rem}
.coorg-logos{display:flex;gap:.6rem;align-items:center}
.coorg-logos img{height:20px;width:auto;max-width:80px;object-fit:contain;background:#fff;padding:3px 5px}
.grain::after{mix-blend-mode:normal;opacity:.08}
.photo .cap{background:var(--ink-900);padding:.45rem .6rem;left:0;bottom:0;right:auto;max-width:100%;color:#fff}
.photo:not(:has(image-slot[data-filled])) .cap{display:none}

/* ===== rendez-vous (networking) ===== */
.rdv{display:flex;flex-direction:column;gap:1rem;color:#fff}
.rdv .k{font-size:.64rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.5);display:block}
.rdv-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;padding-bottom:.8rem;border-bottom:1px solid var(--line-w)}
.rdv-head b{font-family:var(--fd);font-size:1.15rem;font-weight:600;letter-spacing:-.02em;display:block;margin-top:.2rem}
.rdv-count{display:flex;flex-direction:column;align-items:flex-end;gap:.3rem}.rdv-count .dt{--ds:7px;--dg:3px}
.rdv-list{display:flex;flex-direction:column}
.rdv-row{display:flex;align-items:center;gap:.8rem;padding:.6rem 0;border-bottom:1px solid var(--line-w);font-size:.86rem;min-height:52px;transition:background .4s}
.rdv-row .h{font-family:var(--fd);font-weight:600;font-size:1rem;letter-spacing:-.02em;width:3.2rem;flex-shrink:0;font-variant-numeric:tabular-nums}
.rdv-row img{height:22px;width:auto;max-width:64px;object-fit:contain;background:#fff;padding:3px 5px;flex-shrink:0}
.rdv-row .who{min-width:0;flex:1}.rdv-row .who b{display:block;font-weight:600;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rdv-row .who small{color:rgba(255,255,255,.5);font-size:.74rem}
.rdv-row .free{flex:1;color:rgba(255,255,255,.4);font-size:.82rem;border:1px dashed rgba(255,255,255,.25);padding:.45rem .7rem}
.rdv-row .pill{font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.35rem .55rem;border:1px solid rgba(255,255,255,.3);color:rgba(255,255,255,.7);white-space:nowrap;flex-shrink:0;transition:all .4s}
.rdv-row .pill.ok{background:var(--mint-500);border-color:var(--mint-500);color:var(--ink-900)}
.rdv-row.new{background:rgba(0,201,138,.08);margin:0 -.5rem;padding-left:.5rem;padding-right:.5rem;animation:rise .5s var(--ease-out)}
.rdv-row.new .pill{background:#fff;border-color:#fff;color:var(--ink-900)}
.rdv-share{border-left:2px solid var(--mint-500);padding:.2rem 0 .2rem .9rem}
.rdv-share p{color:rgba(255,255,255,.85);font-size:.86rem;line-height:1.45;margin-top:.3rem}

.kicker{font-size:.8rem;font-weight:600;color:var(--mint-700);letter-spacing:0;text-transform:none}
.on-dark .kicker{color:var(--mint-300)}
.maisons-head{align-items:flex-end}
.maisons-head h3{max-width:14ch}

/* ===== boutons : capsule à matrice ===== */
.btn{overflow:visible;isolation:isolate;gap:.9rem;border-radius:999px;padding:.55rem .55rem .55rem 1.35rem;border:1px solid transparent;font-weight:600;letter-spacing:-.005em;transition:background .35s var(--ease-out),color .35s,border-color .35s,box-shadow .35s var(--ease-out),transform .35s var(--ease-out)}
.btn::before{content:'';position:absolute;left:.55rem;top:50%;width:14px;height:14px;transform:translateY(-50%);background-image:radial-gradient(currentColor 1.1px,transparent 1.3px);background-size:5px 5px;opacity:.55;transition:opacity .35s,left .35s var(--ease-out)}
.btn{padding-left:2.1rem}
.btn:hover{transform:translateY(-1px)}
.btn:hover::before{opacity:1}
.btn .lab{position:static;display:inline;overflow:visible;line-height:1}
.btn .lab::after{content:none}
.btn .arr{display:inline-grid;place-items:center;width:2.1em;height:2.1em;border-radius:50%;background:var(--ink-900);color:#fff;font-size:.9em;transition:transform .45s var(--ease-out),background .35s,color .35s}
.btn-lg{padding:.6rem .6rem .6rem 2.3rem;font-size:1.02rem}
.btn-lg .arr{width:2.2em;height:2.2em}
/* primaire : mint, disque sombre → au hover le fond devient sombre et le disque mint */
.btn-p{background:var(--mint-500);color:var(--ink-900);border-color:var(--mint-500);box-shadow:0 10px 30px -14px rgba(0,201,138,.8)}
.btn-p:hover{background:var(--ink-900);color:#fff;border-color:var(--ink-900);box-shadow:0 14px 34px -14px rgba(10,13,11,.6)}
.btn-p:hover .arr{background:var(--mint-500);color:var(--ink-900);transform:rotate(-45deg)}
.on-dark .btn-p:hover{background:#fff;color:var(--ink-900);border-color:#fff}
/* secondaire : contour, disque plein → au hover se remplit */
.btn-s{background:transparent;color:var(--ink-900);border-color:var(--ink-900)}
.btn-s .arr{background:var(--ink-900);color:#fff}
.btn-s:hover{background:var(--ink-900);color:#fff}
.btn-s:hover .arr{background:var(--mint-500);color:var(--ink-900);transform:rotate(-45deg)}
.on-dark .btn-s{color:#fff;border-color:rgba(255,255,255,.55)}
.on-dark .btn-s .arr{background:#fff;color:var(--ink-900)}
.on-dark .btn-s:hover{background:#fff;color:var(--ink-900);border-color:#fff}
.btn:not(:has(.arr)){padding-right:1.35rem}
.btn:active{transform:translateY(0)}
.btn:focus-visible{outline:2px solid var(--mint-500);outline-offset:3px}
/* ===== liens nav : point + soulignement tracé ===== */
.nav-links .nl{position:relative;display:inline-flex;align-items:center;gap:.5rem;padding:.4rem 0;color:var(--ink-600);font-weight:500;font-size:.92rem;transition:color .3s}
.nav-links .nl::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--mint-500);transform:scale(0);transition:transform .35s var(--ease-out)}
.nav-links .nl span{position:relative;display:inline-block;overflow:visible;line-height:1.2}
.nav-links .nl span::after{content:'';position:absolute;left:0;right:0;bottom:-3px;height:1.5px;background:var(--ink-900);transform:scaleX(0);transform-origin:right;transition:transform .4s var(--ease-out)}
.nav-links .nl:hover{color:var(--ink-900)}
.nav-links .nl:hover::before{transform:scale(1)}
.nav-links .nl:hover span::after{transform:scaleX(1);transform-origin:left}
/* tags gestes -> phrase */
.tp-body ul{margin:auto 0 0;padding:.6rem 0 0;list-style:none;display:flex;flex-wrap:wrap;gap:.4rem}
.kt{display:inline-flex;align-items:center;gap:.45rem;padding:.4rem .75rem .4rem .6rem;border-radius:999px;background:var(--mint-50);color:var(--mint-900);font-size:.8rem;font-weight:600;letter-spacing:0;text-transform:none;border:1px solid var(--mint-100);transition:background .25s,border-color .25s}
.kt::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--mint-500)}
.tp:hover .kt{background:var(--mint-100);border-color:var(--mint-200)}

/* ===== ressources et replays (compact) ===== */
.res{display:flex;flex-direction:column;gap:.8rem;color:#fff}
.res .k{font-size:.64rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.5);display:block}
.res-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;padding-bottom:.7rem;border-bottom:1px solid var(--line-w)}
.res-head b{font-family:var(--fd);font-size:1.15rem;font-weight:600;letter-spacing:-.02em;display:block}
.res-head > div > span{font-size:.78rem;color:rgba(255,255,255,.55)}
.cif{display:flex;flex-direction:column;gap:.3rem;min-width:120px;flex-shrink:0}
.cif-row{display:flex;align-items:flex-end;gap:.4rem}.cif-row .dt{--ds:6px;--dg:2px}
.cif-of{font-size:.74rem;color:rgba(255,255,255,.6);padding-bottom:1px}
.cif-bar{height:3px;background:rgba(255,255,255,.12);position:relative}.cif-bar i{position:absolute;left:0;top:0;bottom:0;background:var(--mint-500)}
.res-grid{display:flex;flex-direction:column;gap:.45rem}
.res-item{display:flex;gap:.7rem;align-items:stretch;border:1px solid var(--line-w);background:rgba(255,255,255,.03);padding:.45rem;transition:background .3s,border-color .3s}
.res-item:hover{background:rgba(255,255,255,.06);border-color:var(--line-w2)}
.res-thumb{position:relative;width:92px;aspect-ratio:16/10;overflow:hidden;background:var(--ink-700);flex-shrink:0}
.res-thumb img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05) brightness(.75);transition:transform .8s var(--ease-out),filter .4s}
.res-item:hover .res-thumb img{transform:scale(1.05);filter:grayscale(.2) brightness(.9)}
.res-thumb::after{content:'';position:absolute;inset:0;background:linear-gradient(160deg,rgba(0,201,138,.45),rgba(8,145,178,.45));mix-blend-mode:multiply;pointer-events:none}
.res-thumb .play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:24px;height:24px;border-radius:50%;background:#fff;color:var(--ink-900);display:grid;place-items:center;font-size:.5rem;padding-left:1px;z-index:2;transition:transform .35s var(--ease-out),background .3s}
.res-item:hover .play{transform:translate(-50%,-50%) scale(1.12);background:var(--mint-500)}
.res-thumb .dur{position:absolute;right:.3rem;bottom:.3rem;background:rgba(10,13,11,.85);color:#fff;font-size:.56rem;font-weight:700;padding:.12rem .3rem;z-index:2}
.res-ico{width:92px;aspect-ratio:16/10;flex-shrink:0;display:flex;flex-direction:column;justify-content:flex-end;padding:.4rem .5rem;background-image:radial-gradient(rgba(255,255,255,.3) 1px,transparent 1.2px);background-size:7px 7px;position:relative;border:1px solid var(--line-w)}
.res-ico::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--ink-900) 0%,transparent 75%)}
.res-ico span{position:relative;font-family:var(--fd);font-weight:600;font-size:.95rem;letter-spacing:-.02em;color:#fff;line-height:1}
.res-ico small{position:relative;font-size:.56rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.res-ico.pdf span::after{content:'';display:inline-block;width:6px;height:6px;background:var(--mint-500);margin-left:.3rem;vertical-align:middle}
.res-body{display:flex;flex-direction:column;gap:.1rem;flex:1;min-width:0;justify-content:center}
.res-body b{font-size:.84rem;font-weight:600;line-height:1.25;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.res-body small{font-size:.7rem;color:rgba(255,255,255,.5);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.res-meta{display:flex;align-items:center;gap:.5rem;margin-bottom:.15rem;min-height:16px}
.res-meta img{height:14px;width:auto;max-width:56px;object-fit:contain;background:#fff;padding:1px 3px}
.res-meta .me{font-size:.56rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.18rem .4rem;background:var(--mint-500);color:var(--ink-900)}
.res-meta .me.miss{background:transparent;border:1px solid var(--line-w2);color:rgba(255,255,255,.7)}
.res-act{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:.3rem;font-size:.72rem;font-weight:600;color:var(--mint-300);flex-shrink:0;padding-right:.3rem}
.res-act em{font-style:normal;font-size:.56rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff;border:1px solid var(--mint-500);padding:.12rem .35rem}
/* garde-fou : le visuel collant ne dépasse jamais l'écran */
.story-vis{max-height:calc(100vh - 100px);overflow:hidden}
.story-vis .vis{max-height:calc(100vh - 100px)}
.story-vis .vis-frame{max-height:calc(100vh - 100px);overflow:auto;scrollbar-width:none}
.story-vis .vis-frame::-webkit-scrollbar{display:none}

/* ===== agenda de place ===== */
.agenda{background:var(--white);border-bottom:1px solid var(--line);padding-block:clamp(3.5rem,6vw,5.5rem);position:relative}
.agenda-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap;margin-bottom:2rem}
.agenda-head p{font-size:1rem;max-width:34rem;margin-top:.6rem}
.agenda-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(200px,auto);gap:.7rem}
@media(max-width:1000px){.agenda-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.agenda-grid{grid-template-columns:1fr}}
.ag{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:1rem;padding:1.1rem;background:var(--paper);border:1px solid var(--line-2);overflow:hidden;isolation:isolate;transition:transform .5s var(--ease-out),box-shadow .5s var(--ease-out),border-color .3s}
.ag:hover{transform:translateY(-4px);box-shadow:var(--sh-card);border-color:var(--ink-900)}
.ag.big{grid-column:span 2;grid-row:span 2;color:#fff;background:var(--ink-900);border-color:var(--ink-900);padding:1.4rem}
@media(max-width:520px){.ag.big{grid-column:span 1;min-height:360px}}
.ag-img{position:absolute;inset:0;z-index:-1}
.ag-img img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05) brightness(.7);transition:transform 1s var(--ease-out),filter .5s}
.ag-img::after{content:'';position:absolute;inset:0;background:linear-gradient(160deg,rgba(0,201,138,.55),rgba(8,145,178,.55));mix-blend-mode:multiply}
.ag-img::before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(10,13,11,.15) 0%,rgba(10,13,11,.85) 100%)}
.ag:hover .ag-img img{transform:scale(1.05);filter:grayscale(.3) brightness(.8)}
.ag:has(.ag-img){color:#fff;border-color:transparent}
.ag:has(.ag-img) .date span,.ag:has(.ag-img) p,.ag:has(.ag-img) .ag-city{color:rgba(255,255,255,.75)}
.ag-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.6rem}
.ag .date b{font-size:1.9rem}.ag.big .date b{font-size:3.2rem}
.ag .date span{font-size:.62rem}
.ag-kind{font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.3rem .55rem;border:1px solid currentColor;opacity:.75;white-space:nowrap}
.ag.big .ag-kind{background:var(--mint-500);color:var(--ink-900);border-color:var(--mint-500);opacity:1}
.ag-body h3{font-size:1.15rem;letter-spacing:-.02em;line-height:1.1}
.ag.big .ag-body h3{font-size:clamp(2rem,3.4vw,3rem);letter-spacing:-.035em}
.ag-body p{font-size:.82rem;margin-top:.3rem;color:var(--ink-400);line-height:1.4}
.ag-logos{display:flex;align-items:center;gap:.5rem;margin-bottom:.6rem}
.ag-logos img{height:18px;width:auto;max-width:70px;object-fit:contain;background:#fff;padding:2px 5px;border:1px solid var(--line)}
.ag-logos span{font-size:.7rem;color:var(--ink-400)}
.ag.sgp{background:var(--mint-50);border-color:var(--mint-100)}
.ag.sgp::before{content:'';position:absolute;right:-30px;top:-30px;width:120px;height:120px;background-image:radial-gradient(var(--mint-300) 1.3px,transparent 1.5px);background-size:9px 9px;mask-image:radial-gradient(circle at 70% 30%,#000 30%,transparent 70%);-webkit-mask-image:radial-gradient(circle at 70% 30%,#000 30%,transparent 70%);z-index:-1}
.ag-foot{display:flex;justify-content:space-between;align-items:center;gap:.6rem;padding-top:.7rem;border-top:1px solid var(--line)}
.ag:has(.ag-img) .ag-foot{border-color:rgba(255,255,255,.2)}
.ag-city{display:flex;align-items:center;gap:.4rem;font-size:.76rem;font-weight:600;color:var(--ink-500)}
.ag-city i{width:7px;height:7px;border-radius:50%;background:var(--mint-500)}
.ag-cta{background:none;border:0;padding:0;font-size:.78rem;font-weight:600;color:inherit;display:inline-flex;align-items:center;gap:.35rem;opacity:.85;transition:opacity .25s,gap .3s var(--ease-out)}
.ag-cta span{transition:transform .3s var(--ease-out)}
.ag:hover .ag-cta{opacity:1;gap:.6rem}.ag:hover .ag-cta span{transform:translateX(2px)}
.ag-cta:hover{color:var(--mint-700)}.ag:has(.ag-img) .ag-cta:hover{color:var(--mint-300)}

/* ===== V4.1 : logos valorisés + survol photo unifié ===== */
/* --- photo hover : une seule transition (.5s), couleurs réelles au survol, pas de zoom --- */
.photo image-slot,.ag-img img,.res-thumb img{transition:filter .5s var(--ease-out)}
.photo:hover image-slot,.ag:hover .ag-img img,.res-item:hover .res-thumb img{transform:none}
[data-photo="duotone"] .photo:hover image-slot[data-filled]{filter:none}
[data-photo="duotone"] .photo:has(image-slot[data-filled])::after,.ag-img::after,.res-thumb::after{transition:opacity .5s var(--ease-out)}
[data-photo="duotone"] .photo:hover:has(image-slot[data-filled])::after,.ag:hover .ag-img::after,.res-item:hover .res-thumb::after{opacity:0}
.ag:hover .ag-img img{filter:brightness(.85)}
.res-item:hover .res-thumb img{filter:none}
.tp{transition:transform .5s var(--ease-out),box-shadow .5s var(--ease-out)}
.ag{transition:transform .5s var(--ease-out),box-shadow .5s var(--ease-out),border-color .5s var(--ease-out)}
/* --- logos : plaques blanches généreuses --- */
.plaque{display:inline-flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--line-2);padding:.55rem .9rem;min-height:48px;transition:border-color .3s,box-shadow .3s}
.plaque img{height:26px;max-width:120px;width:auto;object-fit:contain;display:block}
.plaque:hover{border-color:var(--ink-900);box-shadow:var(--sh-card)}
/* hero card organiser */
.evcard{height:auto;min-height:210px}
.evcard .org{flex-direction:column;align-items:flex-start;gap:.45rem}
.evcard .org .plaque{padding:.5rem .8rem;min-height:44px}
.evcard .org .plaque img{height:24px;max-width:140px}
/* agenda : organisateurs SGP */
.ag-logos{display:flex;align-items:center;gap:.6rem;margin-bottom:.8rem;flex-wrap:wrap}
.ag-logos .plaque{min-height:52px;padding:.6rem 1rem}
.ag-logos .plaque img{height:30px;max-width:130px}
.ag-logos span{font-size:.7rem;font-weight:600;color:var(--ink-400);text-transform:uppercase;letter-spacing:.08em}
.ag.sgp{padding-top:1rem}
/* agenda : partenaires sur les grands événements */
.ag-partners{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}
.ag-partners .k{font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.6);width:100%}
.ag-partners .plaque{min-height:44px;padding:.45rem .8rem;border-color:transparent}
.ag-partners .plaque img{height:22px;max-width:110px}
/* salle : co-organisateurs */
.coorg{gap:.6rem}
.coorg-logos{gap:.6rem;flex-wrap:wrap}
.coorg-logos .plaque{min-height:52px;padding:.6rem 1rem;border-color:transparent}
.coorg-logos .plaque img{height:30px;max-width:130px}
.coorg-logos img:not(.plaque img){display:none}
/* rendez-vous : logo de la maison */
.rdv-row .plaque{min-height:40px;padding:.35rem .6rem;border-color:transparent}
.rdv-row .plaque img{height:22px;max-width:90px}
/* ressources */
.res-meta .plaque{min-height:30px;padding:.25rem .5rem;border-color:transparent}
.res-meta .plaque img{height:18px;max-width:80px}
/* annuaire : le logo est le héros de la tuile */
.tile{min-height:150px;padding:0;justify-content:stretch;gap:0}
.tile-top{padding:.7rem .7rem 0;align-items:flex-start}
.tile .lg{display:block;width:100%;max-width:none;height:auto;padding:0;border:0;background:none}
.tile .lg img{filter:none;opacity:1}
.tile .st{position:absolute;top:.6rem;right:.6rem;background:#fff;z-index:2}
.tile > div:last-child{padding:.7rem .9rem .9rem;border-top:1px solid var(--line)}
.tile-top{position:relative;flex-direction:column;align-items:stretch;padding:0}
/* event manager mock page : logo blanc */
.em-brand b{padding:0}.em-brand .plaque{min-height:40px;padding:.4rem .7rem}.em-brand .plaque img{height:22px}

/* ===== survol photos : une seule transition, couleur réelle ===== */
.ag,.ag .ag-img img,.ag .ag-img::after,.ag .ag-img::before,.tp,.tp .photo image-slot,.tp .photo::after,.half .photo image-slot,.half .photo::after,.res-thumb img,.res-thumb::after{transition:all .6s var(--ease-out)}
.ag:hover{transform:none;box-shadow:var(--sh-card)}
.ag:hover .ag-img img{transform:none;filter:none}
.ag:hover .ag-img::after{opacity:0}
.ag .ag-img::before{background:linear-gradient(180deg,rgba(10,13,11,.1) 0%,rgba(10,13,11,.85) 100%)}
.ag:hover .ag-img::before{background:linear-gradient(180deg,rgba(10,13,11,.05) 0%,rgba(10,13,11,.9) 100%)}
.tp:hover{transform:none}
.photo:hover image-slot{transform:none}
[data-photo="duotone"] .photo:hover image-slot[data-filled]{filter:none}
[data-photo="duotone"] .photo:hover:has(image-slot[data-filled])::after{opacity:0}
.res-item:hover .res-thumb img{transform:none;filter:none}
.res-item:hover .res-thumb::after{opacity:0}
/* ===== plaques : tailles définitives ===== */
.plaque{min-width:96px;padding:.6rem 1rem;min-height:52px;box-shadow:0 8px 22px -14px rgba(10,13,11,.35)}
.plaque img{height:30px;max-width:140px;width:auto;max-height:none}
.evcard .org .plaque{min-height:50px}.evcard .org .plaque img{height:28px;max-width:150px}
.ag-logos .plaque{min-height:60px;padding:.7rem 1.1rem;min-width:110px}.ag-logos .plaque img{height:36px;max-width:150px}
.ag-partners .plaque{min-height:52px;min-width:90px}.ag-partners .plaque img{height:28px;max-width:120px}
.coorg-logos .plaque{min-height:58px;min-width:104px}.coorg-logos .plaque img{height:34px;max-width:140px}
.rdv-row .plaque{min-height:46px;min-width:84px;padding:.4rem .7rem}.rdv-row .plaque img{height:26px;max-width:100px}
.res-meta .plaque{min-height:34px;min-width:64px;padding:.3rem .55rem;box-shadow:none}.res-meta .plaque img{height:20px;max-width:84px}
.em-brand .plaque{min-height:46px;min-width:90px}.em-brand .plaque img{height:26px}
/* annuaire : la tuile est la plaque - un seul cadre */
.tile{background:#fff}
.tile.claimed{background:#fff;border-color:var(--mint-500)}
.tile .lg .plaque{display:flex;width:100%;min-height:96px;min-width:0;padding:1.4rem 1.2rem;justify-content:center;align-items:center;box-shadow:none;border:0;background:none}
.tile .lg .plaque img{display:block;height:auto;max-height:44px;width:auto;max-width:100%;object-fit:contain}
.tile.claimed .lg .plaque{background:var(--mint-50)}

/* modale : opt-in RGPD, options sans code */
.rgpd{display:flex;gap:.7rem;align-items:flex-start;font-size:.82rem;color:var(--ink-500);line-height:1.45;cursor:pointer}
.rgpd input{appearance:none;width:20px;height:20px;border:1.5px solid var(--line-2);background:#fff;flex-shrink:0;margin:.1rem 0 0;display:grid;place-items:center;cursor:pointer;transition:all .2s}
.rgpd input:checked{background:var(--mint-500);border-color:var(--mint-500)}
.rgpd input:checked::after{content:'✓';font-size:.7rem;font-weight:700;color:var(--ink-900)}
.rgpd a{text-decoration:underline;color:var(--ink-700)}
.opt{justify-content:flex-start;min-height:52px}

/* latin-ext */
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/landing/fonts/89190ffd-b738-4ca2-8109-0a61f6914e38-d78c57a4.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: 'Sora';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/landing/fonts/3d38b6b7-0072-4f0d-927f-35557742dd51-ae3b3f59.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/landing/fonts/89190ffd-b738-4ca2-8109-0a61f6914e38-d78c57a4.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: 'Sora';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/landing/fonts/3d38b6b7-0072-4f0d-927f-35557742dd51-ae3b3f59.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;
}

body{background:var(--paper);overflow-x:hidden}
#root{max-width:560px;margin:0 auto;padding:0 1.25rem 3rem}
@media(min-width:900px){#root{max-width:720px}}
.m-hero{padding:1.6rem 0 1rem;display:flex;flex-direction:column;gap:1rem;position:relative}
.m-brand{font-family:var(--fd);font-weight:700;font-size:1.35rem;letter-spacing:-.03em;display:flex;align-items:center;gap:.5rem}
.m-brand i{width:12px;height:12px;background:var(--mint-500);display:inline-block}.m-brand em{font-style:normal;color:var(--ink-400);font-weight:500}
.m-hero h1{font-size:clamp(2.1rem,9vw,3.4rem);letter-spacing:-.04em;line-height:1;margin-top:.6rem}
.m-hero p{font-size:1.02rem;line-height:1.5;max-width:34rem}
.m-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;padding:.55rem .55rem .55rem 1.4rem;border-radius:999px;background:var(--mint-500);color:var(--ink-900);border:0;font-weight:700;font-size:1.05rem;box-shadow:0 14px 34px -16px rgba(0,201,138,.9);transition:transform .3s var(--ease-out),background .3s;min-height:56px;position:relative;overflow:hidden}
.m-cta::before{content:'';position:absolute;left:.6rem;top:50%;width:14px;height:14px;transform:translateY(-50%);background-image:radial-gradient(currentColor 1.1px,transparent 1.3px);background-size:5px 5px;opacity:.6}
.m-cta{padding-left:2.1rem}
.m-cta i{font-style:normal;width:44px;height:44px;border-radius:50%;background:var(--ink-900);color:#fff;display:grid;place-items:center;font-size:1.1rem;transition:transform .4s var(--ease-out)}
.m-cta:hover,.m-cta:active{background:var(--ink-900);color:#fff}.m-cta:hover i{background:var(--mint-500);color:var(--ink-900);transform:rotate(-45deg)}
.m-cta.s{background:transparent;border:1px solid var(--ink-900);color:var(--ink-900);box-shadow:none;font-size:.95rem;min-height:50px}.m-cta.s i{width:38px;height:38px}
.dark .m-cta.s{border-color:rgba(255,255,255,.6);color:#fff}.dark .m-cta.s i{background:#fff;color:var(--ink-900)}.dark .m-cta.s:hover{background:#fff;color:var(--ink-900)}
.m-note{font-size:.78rem;color:var(--ink-400);text-align:center;margin-top:-.3rem}
.m-map{margin-top:.6rem;position:relative}
.m-map .fnode{fill:var(--ink-900)}.m-map .fcity.on .fnode{fill:var(--mint-500)}
.m-ev{position:absolute;width:220px;background:#fff;border:1px solid var(--line-2);box-shadow:var(--sh-float);padding:.7rem .85rem;animation:rise .5s var(--ease-out) forwards;opacity:0;z-index:3}
.m-ev::before{content:'';position:absolute;left:50%;bottom:-18px;width:1px;height:18px;background:var(--ink-900)}
.m-ev.below::before{bottom:auto;top:-18px}
.m-ev .k{display:block;font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--mint-700);margin-bottom:.2rem}
.m-ev b{font-size:.86rem;font-weight:600;line-height:1.25;display:block}
.m-sec{padding:2.2rem 0 0;display:flex;flex-direction:column;gap:1.1rem}
.m-sec h2{font-size:clamp(1.5rem,6vw,2rem);letter-spacing:-.03em}
.m-cards{display:grid;grid-template-columns:1fr;gap:.8rem}
@media(min-width:560px){.m-cards{grid-template-columns:1fr 1fr}}
.m-card{background:#fff;border:1px solid var(--line-2);padding:1rem;display:flex;flex-direction:column;gap:.6rem}
.m-card h3{font-size:1.2rem;letter-spacing:-.025em}.m-card p{font-size:.88rem;line-height:1.5;color:var(--ink-500)}
.m-vis{background:var(--ink-900);color:#fff;padding:.9rem;min-height:150px;display:flex;flex-direction:column;justify-content:center}
.rv{opacity:0;transform:translateY(20px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}.rv.in{opacity:1;transform:none}
/* vis agenda */
.v-agenda{display:flex;flex-direction:column;gap:.35rem;font-size:.62rem}
.v-head{display:grid;grid-template-columns:58px repeat(8,1fr);gap:3px;color:rgba(255,255,255,.45);font-weight:700;text-align:center}.v-head .on{color:var(--mint-500)}
.v-row{display:grid;grid-template-columns:58px repeat(8,1fr);gap:3px;align-items:center;color:rgba(255,255,255,.75);font-weight:600}
.v-row i{aspect-ratio:1;border-radius:50%;background:rgba(255,255,255,.1);transform:scale(.5);transition:all .4s}.v-row i.on{background:#fff;transform:scale(.75)}.v-row i.cur{background:var(--mint-500);transform:scale(1)}.v-row i.on.cur{background:var(--mint-500);transform:scale(1)}
.v-agenda p{margin-top:.5rem;font-size:.74rem;color:rgba(255,255,255,.65)}
/* vis salle */
.v-salle .grid{display:grid;grid-template-columns:repeat(12,1fr);gap:4px}
.v-salle i{aspect-ratio:1;border-radius:50%;background:rgba(255,255,255,.12);transition:all .4s}.v-salle i.on{background:rgba(255,255,255,.85)}.v-salle i.ok{background:var(--mint-500);transform:scale(1.15)}.v-salle i.aisle{visibility:hidden}
.v-foot{display:flex;align-items:baseline;gap:.5rem;margin-top:.7rem}.v-foot b{font-family:var(--fd);font-size:1.6rem;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.v-foot span{font-size:.74rem;color:rgba(255,255,255,.65)}
/* vis rdv */
.v-rdv{display:flex;flex-direction:column;gap:.3rem}
.v-rdv .row{display:flex;align-items:center;gap:.7rem;padding:.4rem 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:.82rem}
.v-rdv .row b{font-family:var(--fd);font-weight:600;letter-spacing:-.02em;width:2.8rem}.v-rdv .row span{display:block;font-weight:600;line-height:1.1}.v-rdv .row small{color:rgba(255,255,255,.55);font-size:.7rem}
.v-rdv em{margin-left:auto;font-style:normal;font-size:.58rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.25rem .45rem;border:1px solid rgba(255,255,255,.3);color:rgba(255,255,255,.7);transition:all .4s}
.v-rdv .row.ok em{background:var(--mint-500);border-color:var(--mint-500);color:var(--ink-900)}
.v-rdv p{margin-top:.5rem;font-size:.74rem;color:rgba(255,255,255,.65)}
/* vis res */
.v-res{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem}
.v-res .rt{border:1px solid rgba(255,255,255,.15);padding:.6rem;display:flex;flex-direction:column;gap:.15rem;background-image:radial-gradient(rgba(255,255,255,.25) 1px,transparent 1.2px);background-size:7px 7px}
.v-res .rt b{font-family:var(--fd);font-size:1rem;letter-spacing:-.02em;background:var(--ink-900);align-self:flex-start;padding-right:.3rem}.v-res .rt small{font-size:.66rem;color:rgba(255,255,255,.6);background:var(--ink-900);align-self:flex-start;padding-right:.3rem}
.v-res .cif{grid-column:1/-1;display:flex;align-items:baseline;gap:.5rem;margin-top:.4rem;position:relative;padding-bottom:.6rem}.v-res .cif span{font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.55)}.v-res .cif b{font-family:var(--fd);font-size:1.4rem;letter-spacing:-.03em}
.v-res .cif i{position:absolute;left:0;bottom:0;height:3px;background:var(--mint-500)}
/* pour qui */
.m-who{display:grid;grid-template-columns:1fr;gap:.8rem}
@media(min-width:560px){.m-who{grid-template-columns:1fr 1fr}}
.m-col{background:#fff;border:1px solid var(--line-2);padding:1.2rem;display:flex;flex-direction:column;gap:.9rem}
.m-col.dark{background:var(--ink-900);color:#fff;border-color:var(--ink-900)}
.m-col h3{font-size:1.25rem;letter-spacing:-.025em}
.m-col ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.55rem;font-size:.9rem;line-height:1.4;color:var(--ink-600)}.m-col.dark ul{color:rgba(255,255,255,.8)}
.m-col li{display:flex;gap:.6rem;align-items:baseline}.m-col li::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--mint-500);flex-shrink:0;transform:translateY(-1px)}
.m-col .m-cta{margin-top:auto}
/* final */
.m-final{margin-top:2.4rem;background:var(--ink-900);color:#fff;padding:1.8rem 1.4rem 2rem;display:flex;flex-direction:column;gap:1rem;position:relative;overflow:hidden}
.m-final::before{content:'';position:absolute;right:-40px;top:-40px;width:180px;height:180px;background-image:radial-gradient(rgba(255,255,255,.3) 1.3px,transparent 1.5px);background-size:9px 9px;mask-image:radial-gradient(circle at 70% 30%,#000 30%,transparent 70%);-webkit-mask-image:radial-gradient(circle at 70% 30%,#000 30%,transparent 70%)}
.m-final h2{font-size:clamp(1.8rem,8vw,2.6rem);letter-spacing:-.04em;color:#fff}.m-final p{color:rgba(255,255,255,.75);font-size:.95rem}
.m-qr{margin-top:1.4rem;display:flex;flex-direction:column;align-items:center;gap:.9rem;text-align:center}
.qr{width:200px;height:200px;background:#fff;padding:10px;border-radius:24px;box-shadow:0 20px 50px -20px rgba(0,0,0,.6)}
.qr svg{width:100%;height:100%;display:block}
.qr-l b{display:block;font-family:var(--fd);font-size:1.3rem;letter-spacing:-.03em}.qr-l .qr-cap{font-size:.78rem;color:rgba(255,255,255,.6)}
.m-final .m-cta{background:var(--mint-500)}

.v-res .cif b,.v-res .cif span{display:inline-block}

/* ===== logo Konnect.am : le K en matrice, la marque en grand ===== */
.m-logo{display:flex;flex-direction:column;gap:.5rem;padding-top:.4rem}
.m-logo-word{font-family:var(--fd);font-weight:700;font-size:clamp(2.6rem,12vw,4.2rem);letter-spacing:-.05em;line-height:.95;display:flex;align-items:baseline}
.m-logo-word .k{position:relative;display:inline-block;color:var(--ink-900)}
.m-logo-word .k::after{content:'';position:absolute;right:-.08em;top:.08em;width:.22em;height:.22em;border-radius:50%;background:var(--mint-500);animation:kdot 2.4s var(--ease-out) infinite}
@keyframes kdot{0%,100%{transform:scale(1)}50%{transform:scale(1.35)}}
.m-logo-word .am{color:var(--mint-600);font-weight:600;letter-spacing:-.03em}
.m-logo-dots{display:flex;gap:6px;align-items:center}
.m-logo-dots i{width:7px;height:7px;border-radius:50%;background:var(--ink-900);opacity:.15;animation:ldot 2.4s var(--ease-out) infinite}
@keyframes ldot{0%,100%{opacity:.15;transform:scale(1)}20%{opacity:1;transform:scale(1.3);background:var(--mint-500)}}
.m-brand{display:none}
.m-hero h1{font-size:clamp(1.55rem,6.4vw,2.3rem);letter-spacing:-.03em;line-height:1.12;margin-top:.2rem;color:var(--ink-700);font-weight:500}
.m-hero p{font-size:.95rem}
/* CTA : compact, à gauche, note à côté */
.m-ctarow{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.m-cta{width:auto;min-height:48px;padding:.4rem .4rem .4rem 1.25rem;font-size:.98rem;gap:.8rem;box-shadow:0 10px 26px -14px rgba(0,201,138,.8)}
.m-cta::before{display:none}
.m-cta i{width:36px;height:36px;font-size:1rem}
.m-cta.s{min-height:46px;font-size:.92rem}.m-cta.s i{width:34px;height:34px}
.m-note{margin:0;text-align:left}
.m-final .m-cta{align-self:flex-start}
.qr-l b .k{position:relative}.qr-l b .k::after{content:'';position:absolute;right:-.06em;top:.1em;width:.2em;height:.2em;border-radius:50%;background:var(--mint-500)}
.qr-l b .am{color:var(--mint-300)}

.m-vis .v-res .cif{display:flex;align-items:baseline;gap:.5rem}
.m-vis .v-res .cif b,.m-vis .v-res .cif span{display:inline-block;width:auto}
.qr-l b{font-size:clamp(2.2rem,9vw,2.6rem);color:#fff;letter-spacing:-.05em;line-height:1}
.qr-l b .am{color:var(--mint-500)}
.qr-l b .k::after{width:.22em;height:.22em;right:-.08em;top:.08em}
.qr-l .qr-cap{display:block;margin-top:.4rem}

.m-ctarow{justify-content:center}
.m-logo-word{font-family:'Sora',var(--fd);font-weight:700;letter-spacing:-.06em}
.m-logo-word .k::after,.qr-l b .k::after{display:none}
.qr-l b{font-family:'Sora',var(--fd);letter-spacing:-.06em}
.m-logo-word .am{font-weight:600}

.qr-l b{display:inline-block;white-space:nowrap}
.qr-l b .am,.m-logo-word .am{display:inline}
.m-logo-word{display:block}
.m-card{display:grid;grid-template-rows:auto auto 1fr;gap:.6rem}
.m-vis{height:250px;min-height:0}
.v-salle .grid{max-width:260px}
.v-salle i{aspect-ratio:1}
.v-rdv,.v-agenda,.v-res{width:100%}
.v-res .cif{padding-bottom:.6rem}

.qr-l b span{font-size:inherit;display:inline;color:inherit;margin:0}
.qr-l b .am{color:var(--mint-500)}
.m-logo-word span{display:inline;font-size:inherit}
.m-vis .v-res .cif{flex-direction:row;flex-wrap:wrap;align-items:baseline}

.qr-l .qr-brand{display:block;white-space:nowrap;font-family:'Sora',var(--fd);font-weight:700;font-size:clamp(2.2rem,9vw,2.6rem);letter-spacing:-.06em;line-height:1;color:#fff;width:auto}

/* ===================================================================
   Ajustements d'intégration (Konnect, septembre 2026)
   =================================================================== */

/* Gouttières qui respectent les encoches des téléphones. */
#root{padding-left:max(1.25rem,env(safe-area-inset-left));padding-right:max(1.25rem,env(safe-area-inset-right));padding-bottom:max(3rem,env(safe-area-inset-bottom))}

/* Champ piège anti-robots : hors écran, jamais atteint au clavier. */
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}

.md-err{margin:0;padding:.75rem .9rem;border:1px solid #d64545;background:#fdf1f1;color:#8a1f1f;font-size:.88rem;line-height:1.45}

/* Cibles tactiles d'au moins 44 px. */
.chip{min-height:44px}
.md-close{min-width:44px;min-height:44px}

/* Formulaire : feuille qui monte du bas sur téléphone, clavier compris. */
@media (max-width:559px){
  .ov{place-items:end stretch;padding:0}
  .md{width:100%;max-height:92dvh;border-radius:16px 16px 0 0}
  .md-head{padding:.6rem .6rem .6rem 1.2rem}
  .md-prog{padding:0 1.2rem}
  .md-body{padding:1.3rem 1.2rem 1.4rem;min-height:0}
  .md-body h3{font-size:1.4rem}
  .md-foot{position:sticky;bottom:0;background:var(--white);padding:.8rem 1.2rem max(.9rem,env(safe-area-inset-bottom));flex-wrap:wrap;gap:.6rem}
  .md-foot .btn{flex:1 1 auto;justify-content:center}
  .opts{grid-template-columns:1fr}
  .md-done{padding:2rem 1.2rem}
  .md-done h3{font-size:1.5rem}
}

/* Tablette : une colonne plus large. */
@media (min-width:560px) and (max-width:959px){
  #root{max-width:720px}
}

/* Ordinateur : le texte à gauche, la carte à droite ; le bloc final en deux colonnes. */
@media (min-width:960px){
  #root{max-width:1120px}
  .m-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);grid-template-areas:"logo map" "title map" "lead map" "cta map";column-gap:3.5rem;row-gap:1.1rem;align-content:center;min-height:min(86vh,760px);padding-top:2.5rem}
  .m-logo{grid-area:logo}
  .m-hero h1{grid-area:title;font-size:clamp(2rem,3vw,2.6rem)}
  .m-hero>p{grid-area:lead;font-size:1.05rem}
  .m-ctarow{grid-area:cta;justify-content:flex-start;margin-top:.4rem}
  .m-map{grid-area:map;align-self:center;margin:0}
  .m-sec{padding-top:4rem;gap:1.6rem}
  .m-sec h2{font-size:clamp(1.9rem,2.6vw,2.4rem);max-width:28ch}
  .m-cards,.m-who{gap:1.2rem}
  .m-card{padding:1.3rem}
  .m-col{padding:1.8rem}
  .m-final{margin-top:4rem;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title qr" "lead qr" "cta qr";column-gap:4rem;row-gap:1.1rem;padding:3.2rem;align-items:start}
  .m-final h2{grid-area:title;font-size:clamp(2.4rem,3.4vw,3rem)}
  .m-final>p{grid-area:lead;max-width:38rem;font-size:1.05rem}
  .m-final .m-cta{grid-area:cta;justify-self:start}
  .m-qr{grid-area:qr;margin-top:0;align-self:center}
}

/* Bandeau de consentement (partial shared/analytics), aux couleurs de la page.
   Sous le formulaire (.ov, z-index 100) : il masquait le bouton « Continuer » sur téléphone. */
.consent-banner{position:fixed;left:16px;right:16px;bottom:max(16px,env(safe-area-inset-bottom));z-index:90;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:var(--ink-900);color:#fff;padding:14px 18px;box-shadow:0 8px 30px rgba(10,13,11,.35);font-size:.85rem}
.consent-banner[hidden]{display:none}
.consent-banner p{margin:0;line-height:1.5;max-width:68ch}
.consent-banner p a{color:#fff;text-decoration:underline}
.consent-banner .cb-actions{display:flex;gap:10px}
.consent-banner .btn{min-height:40px;padding:.5rem 1.1rem;border-radius:999px;font-weight:600;font-size:.85rem;cursor:pointer;margin:0}
.consent-banner .btn-outline{background:transparent;border:1px solid rgba(255,255,255,.55);color:#fff}
.consent-banner .btn-sienna{background:var(--mint-500);border:1px solid var(--mint-500);color:var(--ink-900)}
@media (max-width:640px){.consent-banner{flex-direction:column;align-items:stretch}.consent-banner .cb-actions{justify-content:flex-end}}
