:root{--bg:#0C0B0E;--bg-rgb:12,11,14;--bg-2:#100F13;--surface:#17161B;--surface-3:#232229;--text:#F4F2EF;--text-rgb:244,242,239;--line-rgb:255,255,255;--eyebrow:#ff7a88}
:root[data-theme=light]{--bg:#F4F2EE;--bg-rgb:244,242,238;--bg-2:#FAF8F4;--surface:#FFFFFF;--surface-3:#EBE8E1;--text:#191720;--text-rgb:25,23,32;--line-rgb:20,18,28;--eyebrow:#b3121f}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;background:transparent;border:1px solid rgba(var(--line-rgb),.18);color:rgba(var(--text-rgb),.7);border-radius:50%;cursor:pointer;transition:color .15s,border-color .15s,background .15s;flex-shrink:0}
.theme-toggle:hover{color:var(--text);border-color:rgba(var(--line-rgb),.35);background:rgba(var(--line-rgb),.05)}
.theme-toggle .ic-sun{display:none}
:root[data-theme=light] .theme-toggle .ic-moon{display:none}
:root[data-theme=light] .theme-toggle .ic-sun{display:inline}
/* vietnamese */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("/f/b7d897c2-6dd1-419f-94d5-281b0c85d96e.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("/f/09511833-266e-46b0-9b0b-92310db4f51b.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("/f/75f44b70-c45e-495b-92c9-2cc6e58cb606.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("/f/b7d897c2-6dd1-419f-94d5-281b0c85d96e.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("/f/09511833-266e-46b0-9b0b-92310db4f51b.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("/f/75f44b70-c45e-495b-92c9-2cc6e58cb606.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("/f/b7d897c2-6dd1-419f-94d5-281b0c85d96e.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("/f/09511833-266e-46b0-9b0b-92310db4f51b.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("/f/75f44b70-c45e-495b-92c9-2cc6e58cb606.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: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url("/f/b7d897c2-6dd1-419f-94d5-281b0c85d96e.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: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url("/f/09511833-266e-46b0-9b0b-92310db4f51b.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: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url("/f/75f44b70-c45e-495b-92c9-2cc6e58cb606.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: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/f/57463d38-04b8-491f-a0a1-58d329641907.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* vietnamese */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/f/2fcaf95b-8ef7-4e2a-b769-8766a865cb09.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: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/f/0b98a880-7d74-43a2-be83-ac25133ba46c.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: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/f/e29d9cbe-ab22-486d-b6fc-37a696ed0542.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: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/f/57463d38-04b8-491f-a0a1-58d329641907.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* vietnamese */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/f/2fcaf95b-8ef7-4e2a-b769-8766a865cb09.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: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/f/0b98a880-7d74-43a2-be83-ac25133ba46c.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: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/f/e29d9cbe-ab22-486d-b6fc-37a696ed0542.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: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/f/57463d38-04b8-491f-a0a1-58d329641907.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* vietnamese */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/f/2fcaf95b-8ef7-4e2a-b769-8766a865cb09.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: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/f/0b98a880-7d74-43a2-be83-ac25133ba46c.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: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/f/e29d9cbe-ab22-486d-b6fc-37a696ed0542.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: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/f/57463d38-04b8-491f-a0a1-58d329641907.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* vietnamese */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/f/2fcaf95b-8ef7-4e2a-b769-8766a865cb09.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: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/f/0b98a880-7d74-43a2-be83-ac25133ba46c.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: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/f/e29d9cbe-ab22-486d-b6fc-37a696ed0542.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: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/f/d21a2fd5-58c9-4cdd-b09a-892e3f9b79cc.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: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/f/6e6880ff-6bdc-45a4-90f5-10710a54ab49.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/f/cd7a2fed-bbae-4e4d-88c2-3e9e63aa0f91.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: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/f/11b98fdc-278b-44e3-9476-330128855663.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: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/f/18d4b355-034b-4f96-b6ac-4dc6d6d66a7b.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: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/f/a8679a20-c1ad-444d-804b-1c3689bb8581.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: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/f/d21a2fd5-58c9-4cdd-b09a-892e3f9b79cc.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: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/f/6e6880ff-6bdc-45a4-90f5-10710a54ab49.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/f/cd7a2fed-bbae-4e4d-88c2-3e9e63aa0f91.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: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/f/11b98fdc-278b-44e3-9476-330128855663.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: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/f/18d4b355-034b-4f96-b6ac-4dc6d6d66a7b.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: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/f/a8679a20-c1ad-444d-804b-1c3689bb8581.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: 'JetBrains Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/f/d21a2fd5-58c9-4cdd-b09a-892e3f9b79cc.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: 'JetBrains Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/f/6e6880ff-6bdc-45a4-90f5-10710a54ab49.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/f/cd7a2fed-bbae-4e4d-88c2-3e9e63aa0f91.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: 'JetBrains Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/f/11b98fdc-278b-44e3-9476-330128855663.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: 'JetBrains Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/f/18d4b355-034b-4f96-b6ac-4dc6d6d66a7b.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: 'JetBrains Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/f/a8679a20-c1ad-444d-804b-1c3689bb8581.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;
}


/* ===== Base Kino (pages waitlist) ===== */
*{box-sizing:border-box;-webkit-font-smoothing:antialiased}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:"Hanken Grotesk",system-ui,sans-serif;min-height:100vh}
::selection{background:rgba(228,29,49,.35)}
a{color:inherit;text-decoration:none}


/* ===== Navbar + footer partagés ===== */
.k-header{position:sticky;top:0;z-index:50;backdrop-filter:blur(14px);background:rgba(var(--bg-rgb),.72);border-bottom:1px solid rgba(var(--line-rgb),.07)}
.k-nav{max-width:1200px;margin:0 auto;padding:15px 24px;display:flex;align-items:center;gap:24px;line-height:1.2}
.k-logo{display:flex;align-items:center;gap:10px;color:var(--text);text-decoration:none}
.k-logo .sq{width:30px;height:30px;border-radius:9px;background:#E41D31;display:flex;align-items:center;justify-content:center}
.k-logo .tri{width:0;height:0;border-left:10px solid var(--bg);border-top:7px solid transparent;border-bottom:7px solid transparent;margin-left:2px}
.k-logo .nm{font-family:'Bricolage Grotesque';font-weight:800;font-size:20px;letter-spacing:-.02em;color:var(--text)}
.k-navlinks{display:flex;gap:24px;font-size:14.5px;color:rgba(var(--text-rgb),.7)}
.k-navlinks a{color:rgba(var(--text-rgb),.7);text-decoration:none;transition:color .15s}
.k-navlinks a:hover{color:var(--text)}.k-navlinks a.nav-active{color:var(--text)}.k-mlinks a.nav-active{color:var(--eyebrow)}
.k-langsel{margin-inline-start:auto;display:flex;align-items:center;gap:2px;font-family:'JetBrains Mono';font-size:12.5px;letter-spacing:.05em}
.k-langsel a{color:rgba(var(--text-rgb),.8);text-decoration:none;padding:8px 7px;border-radius:8px;line-height:1;transition:color .15s,background .15s}
.k-langsel a:hover{color:var(--text);background:rgba(var(--line-rgb),.07)}
.k-langsel a.on{color:var(--eyebrow);font-weight:700}
.k-cta{background:#E41D31;color:#fff;text-decoration:none;font-weight:600;font-size:14.5px;padding:10px 18px;border-radius:12px;white-space:nowrap;transition:transform .16s,filter .16s}
.k-cta:hover{transform:translateY(-2px);filter:brightness(1.07)}.k-burger{display:none;margin-inline-start:auto;width:44px;height:44px;border:0;background:transparent;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:0}.k-burger span{display:block;width:22px;height:2px;background:var(--text);border-radius:2px;transition:transform .25s,opacity .2s}.k-burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.k-burger.open span:nth-child(2){opacity:0}.k-burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.k-mobile{position:fixed;inset:0;z-index:49;background:var(--bg);display:none;flex-direction:column;padding:84px 24px 40px;overflow-y:auto}.k-mobile.open{display:flex}.k-mlinks{display:flex;flex-direction:column}.k-mlinks a{font-family:'Bricolage Grotesque';font-weight:700;font-size:22px;letter-spacing:-.01em;color:var(--text);text-decoration:none;padding:16px 0;border-bottom:1px solid rgba(var(--line-rgb),.09)}.k-mcta{display:block;text-align:center;background:#E41D31;color:#fff;text-decoration:none;font-weight:600;font-size:16px;padding:16px;border-radius:14px;margin-top:24px}.k-mlang{display:flex;gap:10px;justify-content:center;margin-top:24px;font-family:'JetBrains Mono';font-size:14px}.k-mlang a{color:rgba(var(--text-rgb),.75);text-decoration:none;padding:10px 18px;border-radius:10px;border:1px solid rgba(var(--line-rgb),.14)}.k-mlang a.on{color:var(--eyebrow);border-color:#E41D31;font-weight:700}.k-mgenres{display:flex!important;align-items:center;justify-content:space-between}.k-mgenres::after{content:'▾';font-size:15px;opacity:.6;transition:transform .2s}.k-mgenres.open::after{transform:rotate(180deg)}.k-msub{display:none;flex-direction:column;padding:2px 0 10px 14px}.k-msub.open{display:flex}.k-msub a{font-family:'Hanken Grotesk',system-ui,sans-serif;font-size:16px;font-weight:500;color:rgba(var(--text-rgb),.7);text-decoration:none;padding:9px 0;border-bottom:none}
.k-ddwrap{position:relative;display:inline-flex;align-items:center}.k-navlinks a[data-genres]{display:inline-flex;align-items:center;gap:5px}.k-navlinks a[data-genres]::after{content:'';width:5px;height:5px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);opacity:.55}.k-genres-dd{position:absolute;top:100%;inset-inline-start:0;margin-top:12px;min-width:330px;background:var(--surface);border:1px solid rgba(var(--line-rgb),.12);border-radius:12px;padding:8px;display:none;grid-template-columns:1fr 1fr;gap:1px 6px;box-shadow:0 18px 44px rgba(0,0,0,.35);z-index:60}.k-genres-dd::before{content:'';position:absolute;left:0;right:0;top:-12px;height:12px}.k-ddwrap:hover .k-genres-dd,.k-ddwrap.open .k-genres-dd{display:grid}.k-genres-dd a{padding:9px 12px;border-radius:8px;font-size:14px;color:rgba(var(--text-rgb),.75);text-decoration:none;white-space:nowrap;transition:background .12s,color .12s}.k-genres-dd a:hover{background:rgba(var(--line-rgb),.08);color:var(--text)}
.k-navlinks a[data-resources]{display:inline-flex;align-items:center;gap:5px}.k-navlinks a[data-resources]::after{content:'';width:5px;height:5px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);opacity:.55}.k-res-dd{position:absolute;top:100%;inset-inline-start:0;margin-top:12px;min-width:190px;background:var(--surface);border:1px solid rgba(var(--line-rgb),.12);border-radius:12px;padding:8px;display:none;flex-direction:column;gap:2px;box-shadow:0 18px 44px rgba(0,0,0,.35);z-index:60}.k-res-dd::before{content:'';position:absolute;left:0;right:0;top:-12px;height:12px}.k-ddwrap:hover .k-res-dd,.k-ddwrap.open .k-res-dd{display:flex}.k-res-dd a{padding:9px 12px;border-radius:8px;font-size:14px;color:rgba(var(--text-rgb),.75);text-decoration:none;white-space:nowrap;transition:background .12s,color .12s}.k-res-dd a:hover{background:rgba(var(--line-rgb),.08);color:var(--text)}.k-res-dd.k-res-mega{display:none;grid-template-columns:1fr 1fr;gap:4px 8px;min-width:520px;padding:14px}.k-ddwrap:hover .k-res-dd.k-res-mega,.k-ddwrap.open .k-res-dd.k-res-mega{display:grid}.k-res-col{display:flex;flex-direction:column;gap:2px}.k-res-head{font-family:'JetBrains Mono';font-size:10px;letter-spacing:.16em;color:var(--eyebrow);padding:6px 10px 8px}.k-res-item{display:flex;align-items:flex-start;gap:11px;padding:9px 10px;border-radius:11px;text-decoration:none;transition:background .12s}.k-res-item:hover{background:rgba(var(--line-rgb),.06);text-decoration:none}.k-res-ic{width:34px;height:34px;flex-shrink:0;border-radius:9px;display:flex;align-items:center;justify-content:center;background:linear-gradient(150deg,#E41D31,#b3121f);color:#fff}.k-res-ic svg{width:17px;height:17px}.k-res-tx{display:flex;flex-direction:column;min-width:0}.k-res-tx b{font-size:14px;font-weight:700;color:var(--text);line-height:1.2}.k-res-tx i{font-style:normal;font-size:12px;color:rgba(var(--text-rgb),.62);line-height:1.3;margin-top:2px}@media (max-width:768px){.k-navlinks{display:none}.k-langsel{display:none}.k-nav>.k-cta{display:none}.k-burger{display:flex}}
.k-footer{border-top:1px solid rgba(var(--line-rgb),.07);background:var(--bg-2)}
.k-footin{max-width:1200px;margin:0 auto;padding:clamp(48px,7vw,72px) 24px 34px}
.k-foottop{display:flex;justify-content:space-between;flex-wrap:wrap;gap:34px}
.k-footbrand{max-width:280px}
.k-fbrow{display:flex;align-items:center;gap:9px;margin-bottom:12px}
.k-fsq{width:26px;height:26px;border-radius:8px;background:#E41D31;display:flex;align-items:center;justify-content:center}
.k-ftri{width:0;height:0;border-left:8px solid var(--bg);border-top:6px solid transparent;border-bottom:6px solid transparent;margin-left:2px}
.k-fnm{font-family:'Bricolage Grotesque';font-weight:800;font-size:17px;color:var(--text)}
.k-ftag{font-size:13px;line-height:1.5;color:rgba(var(--text-rgb),.5);margin:0}
.k-fsocial{display:flex;gap:9px;margin-top:16px}
.k-fsocial a{width:34px;height:34px;border-radius:10px;border:1px solid rgba(var(--line-rgb),.14);display:flex;align-items:center;justify-content:center;color:rgba(var(--text-rgb),.62);transition:color .15s,border-color .15s,transform .15s}
.k-fsocial a:hover{color:var(--text);border-color:rgba(var(--line-rgb),.3);transform:translateY(-2px)}
.k-fsocial svg{width:17px;height:17px;display:block}
.wl-social{margin-top:26px;padding-top:22px;border-top:1px solid rgba(var(--line-rgb),.1);text-align:center}
.wl-social-txt{font-size:13.5px;line-height:1.55;color:rgba(var(--text-rgb),.62);margin:0 0 14px}
.wl-social-icons{display:flex;gap:12px;justify-content:center}
.wl-social-icons a{width:44px;height:44px;border-radius:12px;border:1px solid rgba(var(--line-rgb),.14);display:flex;align-items:center;justify-content:center;color:rgba(var(--text-rgb),.72);transition:color .15s,border-color .15s,transform .15s}
.wl-social-icons a:hover{color:var(--text);border-color:#E41D31;transform:translateY(-2px)}
.wl-social-icons svg{width:20px;height:20px;display:block}
.k-footcols{display:flex;gap:56px;flex-wrap:wrap}
.k-footcol{display:flex;flex-direction:column;gap:11px;font-size:13.5px;color:rgba(var(--text-rgb),.6)}
.k-footcol a{color:rgba(var(--text-rgb),.6);text-decoration:none;transition:color .15s}
.k-footcol a:hover{color:var(--text)}
.k-footcol .h{font-family:'JetBrains Mono';font-size:10px;letter-spacing:.14em;color:rgba(var(--text-rgb),.55);margin-bottom:3px}
.k-footbar{margin-top:34px;padding-top:22px;border-top:1px solid rgba(var(--line-rgb),.07);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:12.5px;color:rgba(var(--text-rgb),.55)}

/* Détection d'import TV Time sur la page waitlist (carte cochable) */
.wl-import{margin:0 0 16px}
.wl-imp-lbl{display:flex;gap:11px;align-items:flex-start;cursor:pointer;margin:0;background:radial-gradient(120% 120% at 0% 0%,rgba(228,29,49,.14),transparent 62%),var(--bg);border:1px solid rgba(228,29,49,.35);border-radius:13px;padding:13px 14px}
.wl-imp-lbl input[type=checkbox]{width:18px;height:18px;min-width:18px;padding:0;margin:1px 0 0;background:none;border:0;border-radius:5px;accent-color:#E41D31;cursor:pointer;flex-shrink:0}
.wl-imp-lbl input[type=checkbox]:focus{outline:2px solid rgba(228,29,49,.5);outline-offset:1px}
.wl-imp-lbl>span{display:flex;flex-direction:column;gap:2px;min-width:0}
.wl-imp-lbl strong{font-size:13.5px;font-weight:700;color:var(--text)}
.wl-imp-lbl em{font-style:normal;font-size:12.5px;color:rgba(var(--text-rgb),.6);line-height:1.4}

/* Sélecteur d'appareil iOS / Android sur la waitlist */
.wl-seg{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.wl-seg-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;border-radius:13px;border:1px solid rgba(var(--line-rgb),.14);background:var(--bg);color:rgba(var(--text-rgb),.7);font-family:inherit;font-size:15px;font-weight:600;cursor:pointer;transition:border-color .15s,background .15s,color .15s}
.wl-seg-btn svg{opacity:.75;flex-shrink:0}
.wl-seg-btn:hover{border-color:rgba(var(--line-rgb),.32);color:var(--text)}
.wl-seg-btn.on{border-color:#E41D31;background:rgba(228,29,49,.1);color:var(--text)}
.wl-seg-btn.on svg{opacity:1;color:#E41D31}

/* --- Cyrillique (RU) : Bricolage Grotesque et Hanken Grotesk n'existent pas en
   cyrillique. Manrope (grotesque du même esprit, fichier variable) prend le relais
   UNIQUEMENT pour les glyphes cyrilliques (unicode-range), déclarée sous les MÊMES
   noms de famille : aucun font-stack à changer. Poids DISCRETS obligatoires : le
   matching Chrome ignore la syntaxe « font-weight: 200 800 » pour ces familles
   (vérifié empiriquement). JetBrains Mono couvre déjà le cyrillique. --- */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/f/manrope-cyr.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/f/manrope-cyrext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/f/manrope-cyr.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/f/manrope-cyrext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/f/manrope-cyr.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/f/manrope-cyrext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/f/manrope-cyr.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/f/manrope-cyrext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/f/manrope-cyr.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/f/manrope-cyrext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/f/manrope-cyr.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/f/manrope-cyrext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/f/manrope-cyr.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/f/manrope-cyrext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/f/manrope-cyr.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/f/manrope-cyrext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

/* --- Japonais (JA) : Bricolage/Hanken/JetBrains Mono ne couvrent pas le CJK.
   Noto Sans JP (sous-ensemble « japanese », ~1 Mo/poids) prend le relais UNIQUEMENT
   pour les glyphes japonais (unicode-range CJK, kana, formes pleine chasse) : le
   latin reste dans les polices de marque. Déclarée sous les MÊMES noms de famille,
   en poids discrets (le matching Chrome ignore « font-weight: 200 800 »). Seules
   les pages JP téléchargent ces fichiers. --- */
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:500;font-display:swap;src:url("/f/notojp-500.woff2") format('woff2');unicode-range:U+2E80-2FDF,U+3000-303F,U+3040-309F,U+30A0-30FF,U+3190-31FF,U+3220-32FF,U+3300-33FF,U+3400-4DBF,U+4E00-9FFF,U+F900-FAFF,U+FE30-FE4F,U+FF00-FFEF}
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:600;font-display:swap;src:url("/f/notojp-500.woff2") format('woff2');unicode-range:U+2E80-2FDF,U+3000-303F,U+3040-309F,U+30A0-30FF,U+3190-31FF,U+3220-32FF,U+3300-33FF,U+3400-4DBF,U+4E00-9FFF,U+F900-FAFF,U+FE30-FE4F,U+FF00-FFEF}
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:700;font-display:swap;src:url("/f/notojp-700.woff2") format('woff2');unicode-range:U+2E80-2FDF,U+3000-303F,U+3040-309F,U+30A0-30FF,U+3190-31FF,U+3220-32FF,U+3300-33FF,U+3400-4DBF,U+4E00-9FFF,U+F900-FAFF,U+FE30-FE4F,U+FF00-FFEF}
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:800;font-display:swap;src:url("/f/notojp-700.woff2") format('woff2');unicode-range:U+2E80-2FDF,U+3000-303F,U+3040-309F,U+30A0-30FF,U+3190-31FF,U+3220-32FF,U+3300-33FF,U+3400-4DBF,U+4E00-9FFF,U+F900-FAFF,U+FE30-FE4F,U+FF00-FFEF}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:400;font-display:swap;src:url("/f/notojp-400.woff2") format('woff2');unicode-range:U+2E80-2FDF,U+3000-303F,U+3040-309F,U+30A0-30FF,U+3190-31FF,U+3220-32FF,U+3300-33FF,U+3400-4DBF,U+4E00-9FFF,U+F900-FAFF,U+FE30-FE4F,U+FF00-FFEF}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:500;font-display:swap;src:url("/f/notojp-500.woff2") format('woff2');unicode-range:U+2E80-2FDF,U+3000-303F,U+3040-309F,U+30A0-30FF,U+3190-31FF,U+3220-32FF,U+3300-33FF,U+3400-4DBF,U+4E00-9FFF,U+F900-FAFF,U+FE30-FE4F,U+FF00-FFEF}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:600;font-display:swap;src:url("/f/notojp-700.woff2") format('woff2');unicode-range:U+2E80-2FDF,U+3000-303F,U+3040-309F,U+30A0-30FF,U+3190-31FF,U+3220-32FF,U+3300-33FF,U+3400-4DBF,U+4E00-9FFF,U+F900-FAFF,U+FE30-FE4F,U+FF00-FFEF}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:700;font-display:swap;src:url("/f/notojp-700.woff2") format('woff2');unicode-range:U+2E80-2FDF,U+3000-303F,U+3040-309F,U+30A0-30FF,U+3190-31FF,U+3220-32FF,U+3300-33FF,U+3400-4DBF,U+4E00-9FFF,U+F900-FAFF,U+FE30-FE4F,U+FF00-FFEF}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url("/f/notojp-400.woff2") format('woff2');unicode-range:U+2E80-2FDF,U+3000-303F,U+3040-309F,U+30A0-30FF,U+3190-31FF,U+3220-32FF,U+3300-33FF,U+3400-4DBF,U+4E00-9FFF,U+F900-FAFF,U+FE30-FE4F,U+FF00-FFEF}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url("/f/notojp-500.woff2") format('woff2');unicode-range:U+2E80-2FDF,U+3000-303F,U+3040-309F,U+30A0-30FF,U+3190-31FF,U+3220-32FF,U+3300-33FF,U+3400-4DBF,U+4E00-9FFF,U+F900-FAFF,U+FE30-FE4F,U+FF00-FFEF}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:700;font-display:swap;src:url("/f/notojp-700.woff2") format('woff2');unicode-range:U+2E80-2FDF,U+3000-303F,U+3040-309F,U+30A0-30FF,U+3190-31FF,U+3220-32FF,U+3300-33FF,U+3400-4DBF,U+4E00-9FFF,U+F900-FAFF,U+FE30-FE4F,U+FF00-FFEF}

/* --- Coréen (KO) : Noto Sans KR (sous-ensemble « korean », ~540 Ko/poids) prend le
   relais UNIQUEMENT pour les glyphes coréens (Hangul + Hanja des titres), le latin
   reste dans les polices de marque. Même principe que le japonais : same-family,
   poids discrets, unicode-range. Seules les pages KO téléchargent ces fichiers. --- */
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:500;font-display:swap;src:url("/f/notokr-500.woff2") format('woff2');unicode-range:U+1100-11FF,U+3000-303F,U+3130-318F,U+4E00-9FFF,U+A960-A97F,U+AC00-D7A3,U+D7B0-D7FF,U+F900-FAFF,U+FF00-FFEF}
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:600;font-display:swap;src:url("/f/notokr-500.woff2") format('woff2');unicode-range:U+1100-11FF,U+3000-303F,U+3130-318F,U+4E00-9FFF,U+A960-A97F,U+AC00-D7A3,U+D7B0-D7FF,U+F900-FAFF,U+FF00-FFEF}
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:700;font-display:swap;src:url("/f/notokr-700.woff2") format('woff2');unicode-range:U+1100-11FF,U+3000-303F,U+3130-318F,U+4E00-9FFF,U+A960-A97F,U+AC00-D7A3,U+D7B0-D7FF,U+F900-FAFF,U+FF00-FFEF}
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:800;font-display:swap;src:url("/f/notokr-700.woff2") format('woff2');unicode-range:U+1100-11FF,U+3000-303F,U+3130-318F,U+4E00-9FFF,U+A960-A97F,U+AC00-D7A3,U+D7B0-D7FF,U+F900-FAFF,U+FF00-FFEF}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:400;font-display:swap;src:url("/f/notokr-400.woff2") format('woff2');unicode-range:U+1100-11FF,U+3000-303F,U+3130-318F,U+4E00-9FFF,U+A960-A97F,U+AC00-D7A3,U+D7B0-D7FF,U+F900-FAFF,U+FF00-FFEF}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:500;font-display:swap;src:url("/f/notokr-500.woff2") format('woff2');unicode-range:U+1100-11FF,U+3000-303F,U+3130-318F,U+4E00-9FFF,U+A960-A97F,U+AC00-D7A3,U+D7B0-D7FF,U+F900-FAFF,U+FF00-FFEF}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:600;font-display:swap;src:url("/f/notokr-700.woff2") format('woff2');unicode-range:U+1100-11FF,U+3000-303F,U+3130-318F,U+4E00-9FFF,U+A960-A97F,U+AC00-D7A3,U+D7B0-D7FF,U+F900-FAFF,U+FF00-FFEF}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:700;font-display:swap;src:url("/f/notokr-700.woff2") format('woff2');unicode-range:U+1100-11FF,U+3000-303F,U+3130-318F,U+4E00-9FFF,U+A960-A97F,U+AC00-D7A3,U+D7B0-D7FF,U+F900-FAFF,U+FF00-FFEF}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url("/f/notokr-400.woff2") format('woff2');unicode-range:U+1100-11FF,U+3000-303F,U+3130-318F,U+4E00-9FFF,U+A960-A97F,U+AC00-D7A3,U+D7B0-D7FF,U+F900-FAFF,U+FF00-FFEF}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url("/f/notokr-500.woff2") format('woff2');unicode-range:U+1100-11FF,U+3000-303F,U+3130-318F,U+4E00-9FFF,U+A960-A97F,U+AC00-D7A3,U+D7B0-D7FF,U+F900-FAFF,U+FF00-FFEF}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:700;font-display:swap;src:url("/f/notokr-700.woff2") format('woff2');unicode-range:U+1100-11FF,U+3000-303F,U+3130-318F,U+4E00-9FFF,U+A960-A97F,U+AC00-D7A3,U+D7B0-D7FF,U+F900-FAFF,U+FF00-FFEF}

/* --- Arabe (AR) : Noto Sans Arabic (~50 Ko/poids) prend le relais UNIQUEMENT pour
   les glyphes arabes (unicode-range), le latin reste dans les polices de marque.
   Same-family + poids discrets, comme le CJK. Seules les pages AR téléchargent. --- */
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:500;font-display:swap;src:url("/f/notoar-500.woff2") format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FEFF}
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:600;font-display:swap;src:url("/f/notoar-500.woff2") format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FEFF}
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:700;font-display:swap;src:url("/f/notoar-700.woff2") format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FEFF}
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:800;font-display:swap;src:url("/f/notoar-700.woff2") format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FEFF}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:400;font-display:swap;src:url("/f/notoar-400.woff2") format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FEFF}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:500;font-display:swap;src:url("/f/notoar-500.woff2") format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FEFF}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:600;font-display:swap;src:url("/f/notoar-700.woff2") format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FEFF}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:700;font-display:swap;src:url("/f/notoar-700.woff2") format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FEFF}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url("/f/notoar-400.woff2") format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FEFF}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url("/f/notoar-500.woff2") format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FEFF}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:700;font-display:swap;src:url("/f/notoar-700.woff2") format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FEFF}
/* Compteur d'inscrits live (home) */
.uc-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;flex-shrink:0;box-shadow:0 0 0 0 rgba(34,197,94,.45);animation:ucPulse 2s infinite}
.uc-num{color:var(--text);font-weight:700;font-variant-numeric:tabular-nums}
@keyframes ucPulse{0%{box-shadow:0 0 0 0 rgba(34,197,94,.45)}70%{box-shadow:0 0 0 7px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}
@media (prefers-reduced-motion:reduce){.uc-dot{animation:none}}
