/* latin-ext */
@font-face {
  font-family: 'Instrument Serif';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/lanetix/f3addb38-bf96-40bb-871b-7ef69b71a97c.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 Serif';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/lanetix/1767e97a-c813-425b-b774-84f4073362c7.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: 'Inter Tight';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/lanetix/95be0420-de29-45e8-8c69-dc9568dba024.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: 'Inter Tight';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/lanetix/a7fbbfd0-edea-4936-bebc-cc392cce0cba.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/lanetix/83eddc8d-b3fe-4a8f-b180-6ae38180f422.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/lanetix/2122c91a-1840-42b8-bb0a-83eaa58d9ef5.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: 'Inter Tight';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/lanetix/8b981ed5-78d3-4526-9383-ca0e13a56daa.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: 'Inter Tight';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/lanetix/e158a7aa-e15e-4a5e-932a-43d48646a0c6.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: 'Inter Tight';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/lanetix/3008ccc5-d00f-42ad-a5e3-9799eb0ad88b.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: 'Inter Tight';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/lanetix/6658775b-d6e2-4ae7-b1db-1e5fc8b685b6.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: 'Inter Tight';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/lanetix/9deb4c59-eee7-4e00-a11b-36b19e0ed28c.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/lanetix/e5e6da4e-bd84-4f6d-b563-7842985d6e70.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/lanetix/151bd104-7559-45e3-8c81-b60ab4f8f8f1.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: 'Inter Tight';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/lanetix/56a3a5e6-5d51-4097-b63f-492ad3ca9106.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: 'Inter Tight';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/lanetix/9ebac99e-d644-4587-9da3-6ff853346186.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: 'Inter Tight';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/lanetix/9e115267-bcde-4956-9fc6-3490aa2e1707.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: 'Inter Tight';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/lanetix/dd714578-11fd-470d-b1e4-4db3fe99eae2.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: 'Inter Tight';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/lanetix/e72f40ef-277d-46a6-94c3-09a0f92a7851.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/lanetix/0db29681-808c-40cb-8459-1a31905356b0.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/lanetix/77069022-6d62-4782-98ae-182d6528e4b2.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: 'Inter Tight';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/lanetix/7fcbede4-7567-48cd-965a-6a820755c369.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: 'Inter Tight';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/lanetix/fe50b030-e0d9-49a7-a52c-f546a4c50c9f.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: 'Inter Tight';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/lanetix/2b2a8e91-4753-48e7-a060-0e39cc80a9bc.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: 'Inter Tight';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/lanetix/8879696d-9d6a-48bd-86ca-7c9782feb51f.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: 'Inter Tight';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/lanetix/d9948e39-3ede-4d66-95c3-d54a3dac393d.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/lanetix/fe2f2617-ecee-4f75-b39d-7e5cb22d087f.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/lanetix/70953a40-92f5-494b-bb60-f40216b5900f.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: 'Inter Tight';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/lanetix/97d13734-4de3-442f-82d8-1c489f6e0d09.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: 'Inter Tight';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/lanetix/0bc0cefb-e6b0-4d50-80c5-fe4ad78728f8.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: 'Inter Tight';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/lanetix/58621279-ec10-4263-9657-1a494774ba68.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: 'Inter Tight';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("/lanetix/0fb0e72d-30a4-4b21-ba39-30e4824f6fcd.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: 'Inter Tight';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("/lanetix/9d16fb74-e41c-4c82-bfc2-89fca642d098.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("/lanetix/ae9b6eee-f407-4963-bcc4-f63402449847.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("/lanetix/06f2636c-e4f0-4ca9-92f1-0a1e51d54663.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: 'Inter Tight';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("/lanetix/6099a8b0-9e63-46a5-970e-ed23b353e53e.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: 'Inter Tight';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("/lanetix/3d4ab28c-8e48-42a1-af9f-4491ce4cf306.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: 'Inter Tight';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("/lanetix/e2a0944f-52d8-42c5-b000-a52ddeecb1bd.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("/lanetix/377ebdfd-fa11-4b94-8d24-7197107b1d22.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("/lanetix/1bb6017d-eccf-49b8-b6f5-a584cf71964a.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("/lanetix/3450eb11-e0f6-4d23-ba35-d27f434c7fe7.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("/lanetix/b1de792e-262f-4409-9fd7-3ae2df069d03.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("/lanetix/ce5a6387-7793-4a8f-9aa3-5314776b1dd7.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("/lanetix/0ae37b16-f7c6-4305-a815-87781abdfb43.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("/lanetix/d9fa8636-8a48-4475-aea0-bcc0a9c551d3.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("/lanetix/17303416-8c0f-4d3f-8c49-7e76a64a98d9.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("/lanetix/03b87ab5-425d-478d-932c-c7cb272e9796.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("/lanetix/26ae86eb-de21-40f3-9230-0e4c36fb83ee.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("/lanetix/9c734c3e-b5a1-41dc-a009-5f2256bb3f07.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("/lanetix/ed52d8fb-8186-4bea-94f7-62e1de2d08d7.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: 600;
  font-display: swap;
  src: url("/lanetix/9a3a8994-9e2c-4274-8580-f7788376d8bc.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: 600;
  font-display: swap;
  src: url("/lanetix/d7f0cf2a-05ad-497b-8310-deab1e169447.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: 600;
  font-display: swap;
  src: url("/lanetix/825aaf1e-8e78-41da-8388-c1eac3c6b299.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: 600;
  font-display: swap;
  src: url("/lanetix/18735c21-9a84-48dc-acad-769cc0693f29.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: 600;
  font-display: swap;
  src: url("/lanetix/3a47450d-8610-417c-9084-d0a226cda15c.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: 600;
  font-display: swap;
  src: url("/lanetix/d7be2a39-f243-4795-ad36-7c059958b5da.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("/lanetix/a962ef7a-3f6a-4142-a6e9-b20d504538ef.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("/lanetix/4776bf49-12dd-427a-b6da-a8d3369ae8a8.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("/lanetix/9fa8297d-bec6-4be9-9055-a62d6a71721f.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("/lanetix/9d8b70e6-d690-4ac0-b6e9-f6e454f4287d.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("/lanetix/a80dc1d7-8d85-4572-a6eb-23f3fb120c8b.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("/lanetix/4010aa36-86b4-428c-b6fb-9532dffeacf4.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: 'Space Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/lanetix/5b18eb2a-dc53-403a-99e2-93049e384cc8.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: 'Space Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/lanetix/cd311f9f-10e2-4078-a687-2fd8f78b08f4.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: 'Space Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/lanetix/12d32593-a6a0-4c1f-9fdf-67b4b5c6790f.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: 'Space Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/lanetix/5fde8c88-b190-469e-add8-94f2ab6c8b12.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: 'Space Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/lanetix/e6f6678c-6dcd-421f-9df5-65c16b8d8e8c.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: 'Space Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/lanetix/55cd1b76-1694-4c1f-bc05-39d46fe9066e.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: 'Space Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/lanetix/aef14871-246b-4445-aa6e-9cb5569d68f5.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: 'Space Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/lanetix/95b615a0-c22d-4eab-a6b0-8744db74bdd2.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: 'Space Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/lanetix/b5231013-28c8-4354-9648-99b7c8f22632.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: 'Space Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/lanetix/e67851e5-c002-4d48-8a46-fefb440693a0.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: 'Space Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/lanetix/5dc9b157-ae0c-47fc-a14f-d9768e298cba.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: 'Space Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/lanetix/af751975-22ec-41c2-bfc7-a603c37b978b.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;
}

/* =====================================================================
   LANETIX — site stylesheet
   Brutalist display sans + mono details. Dark base. Per-section accent.
   ===================================================================== */

/* ---- Tokens ---- */
:root {
  /* base palette — near-black with slight cool cast */
  --bg:        oklch(0.13 0.012 240);
  --bg-2:      oklch(0.16 0.012 240);
  --bg-3:      oklch(0.20 0.012 240);
  --line:      oklch(0.30 0.014 240);
  --line-2:    oklch(0.40 0.014 240);
  --fg:        oklch(0.97 0.005 240);
  --fg-2:      oklch(0.85 0.008 240);
  --mute:      oklch(0.66 0.014 240);
  --mute-2:    oklch(0.50 0.014 240);

  /* default accent (overridden per section / per tweak) */
  --acc:       oklch(0.86 0.21 145);   /* neon green */
  --acc-soft:  oklch(0.86 0.21 145 / 0.16);
  --acc-glow:  oklch(0.86 0.21 145 / 0.45);
  --acc-ink:   oklch(0.18 0.10 145);

  /* section-specific accents (used on home & throughout) */
  --acc-hero:    oklch(0.86 0.21 145);   /* green */
  --acc-services:oklch(0.82 0.16 215);   /* cyan */
  --acc-process: oklch(0.78 0.18 280);   /* purple */
  --acc-pricing: oklch(0.80 0.18 330);   /* magenta */
  --acc-contact: oklch(0.86 0.21 145);   /* green again */

  /* type */
  --f-display: "Inter Tight", "Space Grotesk", system-ui, -apple-system, sans-serif;
  --f-body:    "Space Grotesk", "Inter Tight", system-ui, -apple-system, sans-serif;
  --f-mono:    "JetBrains Mono", ui-monospace, "SF Mono", monospace;

  /* layout */
  --pad-x: clamp(20px, 5vw, 64px);
  --gap-section: clamp(80px, 14vh, 160px);
  --content-max: 1440px;

  --r-sm: 4px;
  --r-md: 8px;

  --t-fast: 160ms;
  --t-mid:  280ms;
  --t-slow: 600ms;

  --easing: cubic-bezier(.2,.7,.2,1);
}

/* font alternates (toggled by data-font) */
[data-font="grotesk"] {
  --f-display: "Space Grotesk", system-ui, sans-serif;
  --f-body:    "Space Grotesk", system-ui, sans-serif;
}
[data-font="serifmix"] {
  --f-display: "Instrument Serif", "Playfair Display", serif;
  --f-body:    "Inter Tight", system-ui, sans-serif;
}

/* light theme */
[data-theme="light"] {
  --bg:     #f4f2ec;
  --bg-2:   #ecead2; /* cooler, papery */
  --bg-3:   #e3e0d3;
  --line:   #c8c5b8;
  --line-2: #a9a698;
  --fg:     #0e1110;
  --fg-2:   #1f2422;
  --mute:   #5e6660;
  --mute-2: #82897f;

  --acc-hero:    oklch(0.55 0.18 145);
  --acc-services:oklch(0.50 0.16 230);
  --acc-process: oklch(0.45 0.18 285);
  --acc-pricing: oklch(0.50 0.18 330);
  --acc-contact: oklch(0.55 0.18 145);
}

/* ---- Reset ---- */
*,*::before,*::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
html { background: var(--bg); }
body {
  background: var(--bg);
  color: var(--fg);
  font-family: var(--f-body);
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
  transition: background var(--t-mid) var(--easing), color var(--t-mid) var(--easing);
}
img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; }

/* selection */
::selection { background: var(--acc); color: var(--acc-ink); }

/* lang switching: hide non-active language */
body[data-lang="en"] [data-lang-only="cz"] { display: none !important; }
body[data-lang="cz"] [data-lang-only="en"] { display: none !important; }
body:not([data-lang]) [data-lang-only="en"] { display: none !important; }

/* ---- Layout primitives ---- */
.container {
  max-width: var(--content-max);
  margin: 0 auto;
  padding: 0 var(--pad-x);
}
.row { display: flex; }
.col { display: flex; flex-direction: column; }

/* ---- Type ---- */
h1,h2,h3,h4,h5 { margin: 0; font-family: var(--f-display); letter-spacing: -0.04em; line-height: 0.95; font-weight: 800; }
p { margin: 0; }

.eyebrow {
  font-family: var(--f-mono);
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--mute);
  display: inline-flex; align-items: center; gap: 8px;
}
.eyebrow .dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--acc); box-shadow: 0 0 10px var(--acc-glow);
  animation: pulse 1.6s ease-in-out infinite;
}
@keyframes pulse {
  0%,100% { opacity: 1; }
  50%     { opacity: 0.4; }
}
.eyebrow.no-dot::before {
  content: "//"; color: var(--acc); font-weight: 600;
}

.display {
  font-family: "Space Grotesk", "Inter Tight", system-ui, -apple-system, sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: clamp(48px, 8.6vw, 132px);
  letter-spacing: -0.05em;
  line-height: 0.9;
}
.display .acc { color: var(--acc); }
.display .strike {
  position: relative; display: inline-block;
}
.display .strike::after {
  content: ""; position: absolute; left: -3%; right: -3%; top: 47%;
  height: 0.12em; background: var(--acc); transform: skewX(-12deg);
}

.h2 {
  font-size: clamp(36px, 5.4vw, 84px);
  font-weight: 900;
  letter-spacing: -0.04em;
  line-height: 0.95;
}
.h3 {
  font-size: clamp(24px, 2.6vw, 38px);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.05;
}

.lede {
  font-family: var(--f-body);
  font-size: clamp(16px, 1.4vw, 22px);
  color: var(--fg-2);
  line-height: 1.45;
  max-width: 56ch;
}

.mono {
  font-family: var(--f-mono);
  font-size: 12px;
  letter-spacing: 0.04em;
  color: var(--mute);
}

.numeric { font-variant-numeric: tabular-nums; }

/* ---- Buttons ---- */
.btn {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--f-mono);
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 16px 22px;
  border: 1px solid var(--acc);
  border-radius: var(--r-sm);
  background: var(--acc);
  color: var(--acc-ink);
  cursor: pointer;
  transition: transform var(--t-fast) var(--easing),
              background var(--t-fast) var(--easing),
              color var(--t-fast) var(--easing);
  text-decoration: none;
  white-space: nowrap;
}
.btn:hover { transform: translateY(-1px); }
.btn .arr { transition: transform var(--t-fast) var(--easing); }
.btn:hover .arr { transform: translateX(4px); }
.btn.ghost {
  background: transparent;
  color: var(--fg);
  border-color: var(--line-2);
}
.btn.ghost:hover {
  border-color: var(--acc);
  color: var(--acc);
}

/* ---- Background grid ---- */
.bg-grid {
  position: absolute; inset: 0;
  background-image:
    linear-gradient(to right,  var(--line) 1px, transparent 1px),
    linear-gradient(to bottom, var(--line) 1px, transparent 1px);
  background-size: 64px 64px;
  opacity: 0.5;
  mask-image: radial-gradient(ellipse 70% 70% at 50% 30%, black 0%, transparent 100%);
  pointer-events: none;
}

/* ---- ASCII art ---- */
.ascii {
  font-family: var(--f-mono);
  font-size: 12px;
  line-height: 1.25;
  color: var(--mute);
  white-space: pre;
  letter-spacing: 0;
}
.ascii .acc, .ascii b { color: var(--acc); font-weight: 500; }

/* ===================================================================== */
/* TOP NAV                                                                */
/* ===================================================================== */
.nav {
  position: sticky; top: 0; z-index: 40;
  background: color-mix(in oklab, var(--bg) 72%, transparent);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--line);
}
.nav-inner {
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px;
  padding: 14px var(--pad-x);
  max-width: var(--content-max);
  margin: 0 auto;
}
.brand {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--f-display);
  font-weight: 800;
  font-size: 22px;
  letter-spacing: -0.04em;
  color: var(--fg);
}
.brand svg path { stroke: var(--acc); }
.brand .dot { color: var(--acc); }

.nav-links {
  display: flex; gap: 4px;
  font-family: var(--f-mono);
  font-size: 12px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.nav-links a {
  padding: 10px 14px;
  border-radius: var(--r-sm);
  color: var(--mute);
  position: relative;
  transition: color var(--t-fast) var(--easing);
}
.nav-links a:hover { color: var(--fg); }
.nav-links a.is-active { color: var(--fg); }
.nav-links a.is-active::before {
  content: "["; color: var(--acc); margin-right: 4px;
}
.nav-links a.is-active::after {
  content: "]"; color: var(--acc); margin-left: 4px;
}

.nav-tools {
  display: flex; align-items: center; gap: 8px;
}
.lang-switch {
  display: inline-flex;
  border: 1px solid var(--line);
  border-radius: var(--r-sm);
  font-family: var(--f-mono);
  font-size: 11px;
  letter-spacing: 0.08em;
  overflow: hidden;
}
.lang-switch button {
  background: none; border: 0; cursor: pointer;
  padding: 8px 10px; color: var(--mute);
  text-transform: uppercase;
}
.lang-switch button.is-active { background: var(--fg); color: var(--bg); }

.tweaks-btn {
  border: 1px solid var(--line);
  background: transparent;
  border-radius: var(--r-sm);
  padding: 8px 12px;
  font-family: var(--f-mono); font-size: 11px;
  letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--mute);
  cursor: pointer; display: inline-flex; align-items: center; gap: 8px;
  transition: color var(--t-fast), border-color var(--t-fast);
}
.tweaks-btn:hover { color: var(--fg); border-color: var(--line-2); }
.tweaks-btn .gear { width: 12px; height: 12px; }

/* mobile nav */
.nav-burger { display: none; background: none; border: 1px solid var(--line); border-radius: var(--r-sm); width: 40px; height: 40px; cursor: pointer; align-items: center; justify-content: center; }
.nav-burger span, .nav-burger span::before, .nav-burger span::after {
  content: ""; display: block; width: 18px; height: 1.5px; background: var(--fg);
  transition: transform var(--t-fast) var(--easing);
}
.nav-burger span { position: relative; }
.nav-burger span::before { position: absolute; top: -6px; }
.nav-burger span::after { position: absolute; top: 6px; }

@media (max-width: 880px) {
  .nav-burger { display: inline-flex; }
  .nav-links { display: none; }
  .nav-tools { gap: 6px; }
  body[data-mobile-nav="open"] .nav-links {
    display: flex; flex-direction: column;
    position: fixed; inset: 64px 0 0 0;
    background: var(--bg);
    padding: 24px var(--pad-x);
    gap: 12px;
    border-top: 1px solid var(--line);
    z-index: 30;
  }
  body[data-mobile-nav="open"] .nav-links a {
    padding: 16px 0;
    font-size: 18px;
    border-bottom: 1px solid var(--line);
  }
}

/* ===================================================================== */
/* SECTION SCAFFOLD                                                       */
/* ===================================================================== */
.section {
  position: relative;
  padding: var(--gap-section) 0;
  isolation: isolate;
  transition: background var(--t-slow) var(--easing);
}
.section[data-tint="green"]   { --acc: var(--acc-hero);     --bg-tint: oklch(0.135 0.018 150); }
.section[data-tint="blue"]    { --acc: var(--acc-services); --bg-tint: oklch(0.135 0.022 245); }
.section[data-tint="cyan"]    { --acc: var(--acc-contact);  --bg-tint: oklch(0.135 0.020 200); }
.section[data-tint="purple"]  { --acc: var(--acc-process);  --bg-tint: oklch(0.140 0.024 285); }
.section[data-tint="magenta"] { --acc: var(--acc-pricing);  --bg-tint: oklch(0.140 0.024 325); }
.section[data-tint="green2"]  { --acc: var(--acc-contact);  --bg-tint: oklch(0.135 0.018 175); }
.hero[data-tint="green"]   { --bg-tint: oklch(0.135 0.018 150); }
.hero[data-tint="blue"]    { --bg-tint: oklch(0.135 0.022 245); }
.hero[data-tint="cyan"]    { --bg-tint: oklch(0.135 0.020 200); }
.hero[data-tint="purple"]  { --bg-tint: oklch(0.140 0.024 285); }
.hero[data-tint="magenta"] { --bg-tint: oklch(0.140 0.024 325); }
.hero[data-tint="green2"]  { --bg-tint: oklch(0.135 0.018 175); }

/* Solid per-section bg with a soft 180px fade at top & bottom to its own color
   so each section pair shares a gentle blended seam instead of a hard edge */
.section[data-tint], .hero[data-tint] {
  background:
    linear-gradient(
      to bottom,
      color-mix(in oklab, var(--bg-tint) 60%, var(--bg)) 0%,
      var(--bg-tint) 180px,
      var(--bg-tint) calc(100% - 180px),
      color-mix(in oklab, var(--bg-tint) 60%, var(--bg)) 100%
    );
  position: relative;
  transition: background var(--t-slow) var(--easing);
}
[data-theme="light"] .section[data-tint], [data-theme="light"] .hero[data-tint] {
  background:
    linear-gradient(
      to bottom,
      color-mix(in oklab, var(--bg-tint) 50%, #ffffff) 0%,
      var(--bg-tint) 180px,
      var(--bg-tint) calc(100% - 180px),
      color-mix(in oklab, var(--bg-tint) 50%, #ffffff) 100%
    );
}

[data-theme="light"] .section[data-tint="green"],   [data-theme="light"] .hero[data-tint="green"]   { --bg-tint: #f3f1ea; }
[data-theme="light"] .section[data-tint="blue"],    [data-theme="light"] .hero[data-tint="blue"]    { --bg-tint: #eaeef4; }
[data-theme="light"] .section[data-tint="cyan"],    [data-theme="light"] .hero[data-tint="cyan"]    { --bg-tint: #e8eef0; }
[data-theme="light"] .section[data-tint="purple"],  [data-theme="light"] .hero[data-tint="purple"]  { --bg-tint: #ece8f0; }
[data-theme="light"] .section[data-tint="magenta"], [data-theme="light"] .hero[data-tint="magenta"] { --bg-tint: #f0e8ec; }
[data-theme="light"] .section[data-tint="green2"],  [data-theme="light"] .hero[data-tint="green2"]  { --bg-tint: #ebf0ec; }

/* tint="blue" accent (used in spectrum order) */
:root { --acc-blue: oklch(0.78 0.15 245); }
[data-theme="light"] :root { --acc-blue: oklch(0.55 0.18 245); }
.section[data-tint="blue"], .hero[data-tint="blue"] { --acc: var(--acc-blue); }

/* if accent override set via tweak, use it everywhere */
body[data-accent="green"]   { --acc-hero: oklch(0.86 0.21 145); --acc-services: oklch(0.86 0.21 145); --acc-process: oklch(0.86 0.21 145); --acc-pricing: oklch(0.86 0.21 145); --acc-contact: oklch(0.86 0.21 145); }
body[data-accent="amber"]   { --acc-hero: oklch(0.82 0.18 75);  --acc-services: oklch(0.82 0.18 75);  --acc-process: oklch(0.82 0.18 75);  --acc-pricing: oklch(0.82 0.18 75);  --acc-contact: oklch(0.82 0.18 75); }
body[data-accent="blue"]    { --acc-hero: oklch(0.78 0.16 235); --acc-services: oklch(0.78 0.16 235); --acc-process: oklch(0.78 0.16 235); --acc-pricing: oklch(0.78 0.16 235); --acc-contact: oklch(0.78 0.16 235); }
body[data-accent="white"]   { --acc-hero: oklch(0.97 0.005 240); --acc-services: oklch(0.97 0.005 240); --acc-process: oklch(0.97 0.005 240); --acc-pricing: oklch(0.97 0.005 240); --acc-contact: oklch(0.97 0.005 240); }
/* "spectrum" = each section keeps its own; that's the default state */

.section-head {
  display: grid;
  grid-template-columns: 1fr 1.6fr;
  gap: clamp(24px, 5vw, 80px);
  margin-bottom: clamp(40px, 8vh, 80px);
  align-items: end;
}
.section-head .num {
  font-family: var(--f-mono);
  font-size: 12px;
  color: var(--acc);
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.section-head .title { display: flex; flex-direction: column; gap: 8px; }
@media (max-width: 800px) {
  .section-head { grid-template-columns: 1fr; gap: 16px; }
}

/* ascii divider rule between sections */
/* ===== brand monospace lockup ===== */
.brand-mono {
  font-family: var(--f-mono);
  font-weight: 700;
  font-size: 18px;
  letter-spacing: -0.02em;
  display: inline-flex; align-items: center; gap: 0;
  color: var(--fg);
  line-height: 1;
}
.brand-mono .bm-slash { color: var(--acc); margin: 0 1px; }
.brand-mono .bm-cursor {
  display: inline-block; width: 7px; height: 16px;
  background: var(--acc);
  margin-left: 5px;
  animation: blink 1.06s steps(1, end) infinite;
  vertical-align: middle;
  will-change: opacity;
}
.footer-brand .brand-mono { font-size: 20px; }
.footer-brand .brand-mono .bm-cursor { height: 18px; }
@keyframes blink {
  0%, 50% { opacity: 1; }
  50.01%, 100% { opacity: 0; }
}

.divider-rule {
  font-family: var(--f-mono);
  font-size: 11px;
  color: var(--mute-2);
  letter-spacing: 0;
  white-space: nowrap; overflow: hidden;
  padding: 0 var(--pad-x);
  height: 36px; display: flex; align-items: center;
  background: var(--bg);
  position: relative;
  z-index: 2;
  margin: 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.divider-rule .acc { color: var(--acc); }
.divider-rule .marquee {
  display: inline-flex;
  white-space: nowrap;
  animation: marquee 60s linear infinite;
  will-change: transform;
}
.divider-rule .marquee-track {
  display: inline-block;
  flex: 0 0 auto;
  white-space: nowrap;
  padding-right: 0;
}
@keyframes marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* ===================================================================== */
/* HERO                                                                   */
/* ===================================================================== */
.hero {
  position: relative;
  padding: clamp(48px, 10vh, 120px) 0 clamp(48px, 12vh, 140px);
  border-bottom: 1px solid var(--line);
  overflow: hidden;
  --acc: var(--acc-hero);
}
.hero .bg-grid { opacity: 0.35; }
.hero-inner {
  position: relative; z-index: 1;
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: clamp(32px, 6vw, 80px);
  align-items: center;
  min-height: 60vh;
}
.hero-headline { display: flex; flex-direction: column; gap: 28px; }
.hero-tag {
  display: inline-flex; align-items: center; gap: 14px;
  font-family: var(--f-mono);
  font-size: 11px; color: var(--mute);
  letter-spacing: 0.16em; text-transform: uppercase;
}
.hero-tag span { display: inline-flex; align-items: center; gap: 6px; }
.hero-tag .dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--acc); box-shadow: 0 0 10px var(--acc-glow);
  animation: pulse 1.6s ease-in-out infinite;
}
.hero-cta { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 8px; }

.hero-side {
  display: flex; flex-direction: column; gap: 20px;
  align-self: center;
}

.hero-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  background: color-mix(in oklab, var(--bg-2) 80%, transparent);
}
.hero-stats > div {
  padding: 18px;
  border-right: 1px solid var(--line);
}
.hero-stats > div:last-child { border-right: 0; }
.hero-stats .label {
  font-family: var(--f-mono); font-size: 10px;
  color: var(--mute); letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 6px;
}
.hero-stats .value {
  font-family: var(--f-display);
  font-size: 28px;
  font-weight: 800;
  letter-spacing: -0.04em;
  font-variant-numeric: tabular-nums;
}
.hero-stats .value .acc { color: var(--acc); }

.hero-ascii {
  font-family: var(--f-mono);
  font-size: 11px;
  color: var(--mute);
  line-height: 1.4;
  white-space: pre;
  background: color-mix(in oklab, var(--bg-2) 70%, transparent);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  padding: 16px;
  overflow: hidden;
}
.hero-ascii b { color: var(--acc); font-weight: 500; }
.hero-ascii .blink {
  display: inline-block;
  width: 7px; height: 11px; background: var(--acc);
  vertical-align: -1px;
  animation: blink 1.06s steps(1, end) infinite;
}
@keyframes blink { 0%,50% { opacity: 1; } 50.01%,100% { opacity: 0; } }

/* ============ Trust Card (hero right panel) ============ */
.trust-card {
  position: relative;
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  background:
    radial-gradient(120% 80% at 100% 0%, color-mix(in oklab, var(--acc) 10%, transparent) 0%, transparent 55%),
    color-mix(in oklab, var(--bg-2) 78%, transparent);
  backdrop-filter: blur(6px);
  overflow: hidden;
  display: flex; flex-direction: column;
}
.trust-card::before {
  content: "";
  position: absolute; inset: 0;
  background-image:
    linear-gradient(to right, color-mix(in oklab, var(--line) 50%, transparent) 1px, transparent 1px),
    linear-gradient(to bottom, color-mix(in oklab, var(--line) 50%, transparent) 1px, transparent 1px);
  background-size: 48px 48px;
  opacity: .35;
  pointer-events: none;
  mask-image: linear-gradient(180deg, transparent 0%, #000 30%, #000 70%, transparent 100%);
}
.trust-head {
  position: relative; z-index: 1;
  display: flex; align-items: center; justify-content: space-between;
  padding: 12px 18px;
  border-bottom: 1px solid var(--line);
  font-family: var(--f-mono);
  font-size: 10.5px; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--mute);
}
.trust-head .live { display: inline-flex; align-items: center; gap: 8px; color: var(--fg); }
.trust-head .live .dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--acc); box-shadow: 0 0 10px var(--acc-glow);
  animation: pulse 1.6s ease-in-out infinite;
}
.trust-head .tag { color: var(--mute-2); }

.trust-hero {
  position: relative; z-index: 1;
  padding: 28px 24px 18px;
  display: flex; flex-direction: column; gap: 14px;
}
.trust-num {
  font-family: var(--f-display);
  font-weight: 800;
  font-size: clamp(72px, 9vw, 132px);
  line-height: .9;
  letter-spacing: -0.06em;
  color: var(--fg);
  font-variant-numeric: tabular-nums;
  display: flex; align-items: flex-start; gap: 6px;
}
.trust-num .plus { color: var(--acc); }
.trust-num .cursor {
  display: inline-block;
  width: 10px; height: clamp(56px, 7vw, 100px);
  background: var(--acc);
  margin-left: 8px;
  align-self: flex-end;
  animation: blink 1.06s steps(1, end) infinite;
  box-shadow: 0 0 14px var(--acc-glow);
}
.trust-quote {
  font-family: var(--f-serif, var(--f-display));
  font-size: clamp(20px, 1.6vw, 26px);
  line-height: 1.25;
  letter-spacing: -0.01em;
  color: var(--fg);
  max-width: 28ch;
}
.trust-quote em { font-style: italic; color: var(--mute); font-family: var(--f-display); font-weight: 400; }

.trust-signal {
  position: relative; z-index: 1;
  display: flex; align-items: flex-end; gap: 4px;
  padding: 0 24px 18px;
  height: 36px;
}
.trust-signal i {
  display: block;
  width: 4px;
  background: linear-gradient(180deg,
    color-mix(in oklab, var(--acc) 90%, transparent),
    color-mix(in oklab, var(--acc) 30%, transparent));
  border-radius: 2px;
  animation: trustEq 1.4s ease-in-out infinite;
  transform-origin: bottom;
}
.trust-signal i:nth-child(1)  { animation-delay: -.10s; height: 40%; }
.trust-signal i:nth-child(2)  { animation-delay: -.30s; height: 65%; }
.trust-signal i:nth-child(3)  { animation-delay: -.55s; height: 30%; }
.trust-signal i:nth-child(4)  { animation-delay: -.80s; height: 90%; }
.trust-signal i:nth-child(5)  { animation-delay: -.20s; height: 55%; }
.trust-signal i:nth-child(6)  { animation-delay: -.65s; height: 75%; }
.trust-signal i:nth-child(7)  { animation-delay: -.40s; height: 45%; }
.trust-signal i:nth-child(8)  { animation-delay: -.90s; height: 85%; }
.trust-signal i:nth-child(9)  { animation-delay: -.15s; height: 35%; }
.trust-signal i:nth-child(10) { animation-delay: -.50s; height: 70%; }
.trust-signal i:nth-child(11) { animation-delay: -.25s; height: 50%; }
.trust-signal i:nth-child(12) { animation-delay: -.70s; height: 95%; }
.trust-signal i:nth-child(13) { animation-delay: -.35s; height: 42%; }
.trust-signal i:nth-child(14) { animation-delay: -.05s; height: 68%; }
.trust-signal i:nth-child(15) { animation-delay: -.85s; height: 38%; }
.trust-signal i:nth-child(16) { animation-delay: -.45s; height: 78%; }
.trust-signal i:nth-child(17) { animation-delay: -.60s; height: 52%; }
.trust-signal i:nth-child(18) { animation-delay: -.18s; height: 62%; }
@keyframes trustEq {
  0%, 100% { transform: scaleY(0.4); opacity: .7; }
  50%      { transform: scaleY(1);   opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .trust-signal i { animation: none; }
  .trust-num .cursor { animation: none; }
}


.hero-statusbar {
  position: relative; z-index: 1;
  margin-top: clamp(40px, 7vh, 70px);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border-top: 1px solid var(--line);
  font-family: var(--f-mono);
  font-size: 11px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.hero-statusbar > div {
  padding: 18px 0;
  border-right: 1px solid var(--line);
  padding-right: 16px;
  display: flex; align-items: baseline; gap: 8px;
}
.hero-statusbar > div:last-child { border-right: 0; }
.hero-statusbar .k { color: var(--mute); }
.hero-statusbar .v { color: var(--fg); font-weight: 500; }
.hero-statusbar .v.acc { color: var(--acc); }

@media (max-width: 1000px) {
  .hero-inner { grid-template-columns: 1fr; }
  .hero-side { order: 2; }
  .hero-statusbar { grid-template-columns: repeat(2, 1fr); }
  .hero-statusbar > div:nth-child(2n) { border-right: 0; }
  .hero-statusbar > div:nth-child(1), .hero-statusbar > div:nth-child(2) { border-bottom: 1px solid var(--line); }
}

/* ===================================================================== */
/* SERVICES                                                               */
/* ===================================================================== */
.svc-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}
.svc-card {
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding: 22px clamp(18px, 2vw, 26px);
  display: flex; flex-direction: column; gap: 12px;
  position: relative;
  background: transparent;
  transition: background var(--t-fast) var(--easing);
  min-height: 200px;
}
.svc-card:hover { background: color-mix(in oklab, var(--acc) 6%, transparent); }
.svc-num {
  font-family: var(--f-mono);
  font-size: 11px;
  color: var(--mute);
  letter-spacing: 0.18em;
}
.svc-card:hover .svc-num { color: var(--acc); }
.svc-title {
  font-family: var(--f-display);
  font-weight: 800;
  font-size: clamp(20px, 1.9vw, 28px);
  letter-spacing: -0.03em;
  line-height: 1.05;
}
.svc-desc {
  color: var(--fg-2);
  font-size: 13.5px;
  line-height: 1.5;
  max-width: 40ch;
  margin-top: auto;
}
.svc-tags {
  margin-top: auto;
  display: flex; flex-wrap: wrap; gap: 6px;
}
.svc-tags span {
  font-family: var(--f-mono);
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 6px 10px;
  border: 1px solid var(--line-2);
  color: var(--mute);
  border-radius: 999px;
}
.svc-card:hover .svc-tags span {
  border-color: var(--acc);
  color: var(--acc);
}
.svc-arr {
  position: absolute; top: 22px; right: clamp(18px, 2vw, 26px);
  width: 24px; height: 24px;
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--mute);
  transition: color var(--t-fast), transform var(--t-fast);
}
.svc-card:hover .svc-arr { color: var(--acc); transform: translate(2px,-2px); }

@media (max-width: 1000px) {
  .svc-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .svc-grid { grid-template-columns: 1fr; }
  .svc-card { min-height: 0; }
}

/* ===================================================================== */
/* PROCESS                                                                */
/* ===================================================================== */
.process-flow {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border-top: 1px solid var(--line);
}
.process-step {
  border-right: 1px solid var(--line);
  padding: 36px clamp(20px, 2.4vw, 32px);
  position: relative;
  display: flex; flex-direction: column; gap: 16px;
}
.process-step:last-child { border-right: 0; }
.process-step .step-num {
  font-family: var(--f-mono);
  font-size: 11px; letter-spacing: 0.2em;
  color: var(--acc);
}
.process-step .step-title {
  font-family: var(--f-display);
  font-size: clamp(22px, 2.2vw, 30px);
  font-weight: 800;
  letter-spacing: -0.03em;
}
.process-step .step-desc {
  color: var(--fg-2);
  font-size: 14px;
  line-height: 1.5;
}
.process-step .step-time {
  font-family: var(--f-mono);
  font-size: 10px;
  color: var(--mute);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-top: auto;
  padding-top: 24px;
}
.process-step::before {
  content: "";
  position: absolute; top: 36px; right: -7px;
  width: 12px; height: 12px;
  border-top: 1px solid var(--acc);
  border-right: 1px solid var(--acc);
  transform: rotate(45deg);
  opacity: 0.7;
}
.process-step:last-child::before { display: none; }

@media (max-width: 1000px) {
  .process-flow { grid-template-columns: repeat(2, 1fr); }
  .process-step:nth-child(2n) { border-right: 0; }
  .process-step:nth-child(2n)::before { display: none; }
  .process-step:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
}
@media (max-width: 600px) {
  .process-flow { grid-template-columns: 1fr; }
  .process-step { border-right: 0 !important; border-bottom: 1px solid var(--line); }
  .process-step:last-child { border-bottom: 0; }
  .process-step::before { display: none; }
}

/* ===================================================================== */
/* PRICING                                                                */
/* ===================================================================== */
.price-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}
.price-card {
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding: 36px clamp(24px, 2.6vw, 36px) 32px;
  display: flex; flex-direction: column; gap: 20px;
  background: transparent;
  position: relative;
  transition: background var(--t-fast);
}
.price-card.is-featured {
  background: color-mix(in oklab, var(--acc) 5%, transparent);
}
.price-card.is-featured::before {
  content: "// recommended";
  position: absolute; top: -1px; left: -1px;
  background: var(--acc); color: var(--acc-ink);
  font-family: var(--f-mono); font-size: 10px; font-weight: 600;
  letter-spacing: 0.16em; text-transform: uppercase;
  padding: 6px 10px;
}
[data-lang="cz"] .price-card.is-featured::before { content: "// doporučeno"; }
.price-tier {
  font-family: var(--f-mono);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--mute);
}
.price-card.is-featured .price-tier { color: var(--acc); }
.price-name {
  font-family: var(--f-display);
  font-weight: 800;
  font-size: clamp(36px, 4vw, 56px);
  letter-spacing: -0.04em;
  line-height: 1;
}
.price-cost {
  font-family: var(--f-display);
  font-weight: 700;
  font-size: 26px;
  letter-spacing: -0.02em;
  display: flex; align-items: baseline; gap: 8px;
  border-bottom: 1px solid var(--line);
  padding-bottom: 20px;
  margin-bottom: 4px;
}
.price-cost .unit {
  font-family: var(--f-mono);
  font-size: 11px; color: var(--mute);
  text-transform: uppercase; letter-spacing: 0.14em;
  font-weight: 500;
}
.price-list {
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-direction: column; gap: 10px;
  font-size: 14px; color: var(--fg-2);
}
.price-list li {
  display: flex; gap: 10px; align-items: baseline;
  font-family: var(--f-body);
}
.price-list li::before {
  content: "+";
  color: var(--acc);
  font-family: var(--f-mono);
  font-weight: 600;
  flex: 0 0 auto;
}
.price-cta { margin-top: auto; padding-top: 18px; }

@media (max-width: 900px) {
  .price-grid { grid-template-columns: 1fr; }
}

/* ===================================================================== */
/* CONTACT                                                                */
/* ===================================================================== */
.contact-strip {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: clamp(32px, 6vw, 80px);
  align-items: end;
  border-top: 1px solid var(--line);
  padding-top: clamp(40px, 6vh, 64px);
}
.contact-cta {
  font-family: var(--f-display);
  font-size: clamp(32px, 4.4vw, 64px);
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1;
}
.contact-meta { display: flex; flex-direction: column; gap: 12px; }
.contact-meta-row {
  display: flex; justify-content: space-between;
  font-family: var(--f-mono); font-size: 13px;
  padding-bottom: 12px; border-bottom: 1px solid var(--line);
}
.contact-meta-row .k { color: var(--mute); letter-spacing: 0.1em; text-transform: uppercase; font-size: 11px; }
.contact-meta-row .v { color: var(--fg); }
.contact-meta-row .v a:hover { color: var(--acc); }

@media (max-width: 800px) {
  .contact-strip { grid-template-columns: 1fr; }
}

/* contact form (kontakt page) */
.kontakt-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 32px;
}
.kontakt-form .full { grid-column: 1 / -1; }
.kontakt-field {
  display: flex; flex-direction: column; gap: 6px;
}
.kontakt-field label {
  font-family: var(--f-mono);
  font-size: 11px; letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--mute);
}
.kontakt-field input,
.kontakt-field textarea,
.kontakt-field select {
  appearance: none; -webkit-appearance: none;
  background: var(--bg-2);
  border: 1px solid var(--line);
  border-radius: var(--r-sm);
  padding: 14px 16px;
  font-family: var(--f-body);
  font-size: 15px;
  color: var(--fg);
  outline: none;
  transition: border-color var(--t-fast), background var(--t-fast);
}
.kontakt-field textarea { min-height: 140px; resize: vertical; line-height: 1.45; }
.kontakt-field input:focus,
.kontakt-field textarea:focus,
.kontakt-field select:focus {
  border-color: var(--acc);
  background: color-mix(in oklab, var(--acc) 4%, var(--bg-2));
}
.kontakt-form .submit-row {
  grid-column: 1 / -1;
  display: flex; justify-content: space-between; align-items: center;
  flex-wrap: wrap; gap: 12px;
  margin-top: 8px;
}
.kontakt-form .legal {
  font-family: var(--f-mono);
  font-size: 11px;
  color: var(--mute);
  letter-spacing: 0.06em;
}
.kontakt-form .legal a { color: var(--fg); text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 700px) {
  .kontakt-form { grid-template-columns: 1fr; }
}

/* ===================================================================== */
/* FOOTER                                                                 */
/* ===================================================================== */
.footer {
  background: var(--bg);
  border-top: 1px solid var(--line);
  padding: clamp(48px, 8vh, 80px) 0 24px;
}
.footer-inner {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1fr;
  gap: clamp(24px, 4vw, 56px);
  margin-bottom: 56px;
}
.footer-col h4 {
  font-family: var(--f-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--mute);
  margin-bottom: 16px;
}
.footer-col ul {
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-direction: column; gap: 10px;
}
.footer-col a {
  color: var(--fg-2);
  font-size: 14px;
}
.footer-col a:hover { color: var(--acc); }

.footer-brand .lede {
  color: var(--mute);
  font-size: 14px;
  margin-top: 16px;
  max-width: 38ch;
}
.footer-bottom {
  display: flex; justify-content: space-between; align-items: center;
  padding-top: 24px;
  border-top: 1px solid var(--line);
  font-family: var(--f-mono);
  font-size: 11px;
  color: var(--mute);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  flex-wrap: wrap; gap: 12px;
}

@media (max-width: 800px) {
  .footer-inner { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
}
@media (max-width: 500px) {
  .footer-inner { grid-template-columns: 1fr; }
}

/* ===================================================================== */
/* SCROLL-IN ANIMATIONS                                                   */
/* ===================================================================== */
.reveal {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity var(--t-slow) var(--easing), transform var(--t-slow) var(--easing);
}
.reveal.is-in {
  opacity: 1;
  transform: none;
}
.reveal[data-stagger="1"] { transition-delay: 60ms; }
.reveal[data-stagger="2"] { transition-delay: 120ms; }
.reveal[data-stagger="3"] { transition-delay: 180ms; }
.reveal[data-stagger="4"] { transition-delay: 240ms; }

@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1; transform: none; }
  .hero-tag .dot, .eyebrow .dot { animation: none; }
  .hero-ascii .blink { animation: none; }
  .divider-rule .marquee { animation: none; }
}

/* ===================================================================== */
/* TWEAKS PANEL (vanilla)                                                 */
/* ===================================================================== */
.tw-panel {
  position: fixed;
  right: 16px; bottom: 16px;
  z-index: 60;
  width: 280px;
  background: oklch(0.18 0.012 240 / 0.96);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid var(--line-2);
  border-radius: 12px;
  color: var(--fg);
  font-family: var(--f-mono);
  font-size: 11px;
  box-shadow: 0 20px 60px rgba(0,0,0,.4);
  display: none;
}
.tw-panel.is-open { display: block; }
[data-theme="light"] .tw-panel {
  background: rgba(255,255,255,0.96);
  color: #0e1110;
  border-color: #c8c5b8;
}
.tw-head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 12px 14px;
  border-bottom: 1px solid var(--line);
}
.tw-head b {
  font-family: var(--f-mono); font-weight: 600;
  letter-spacing: 0.16em; text-transform: uppercase; font-size: 11px;
}
.tw-x {
  background: none; border: 0; cursor: pointer;
  width: 22px; height: 22px;
  color: var(--mute); border-radius: var(--r-sm);
}
.tw-x:hover { background: rgba(255,255,255,0.06); color: var(--fg); }
.tw-body { padding: 14px; display: flex; flex-direction: column; gap: 14px; }
.tw-sect { display: flex; flex-direction: column; gap: 8px; }
.tw-sect-label {
  font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--mute);
}
.tw-seg {
  display: flex;
  border: 1px solid var(--line);
  border-radius: var(--r-sm);
  overflow: hidden;
}
.tw-seg button {
  flex: 1;
  background: none; border: 0; cursor: pointer;
  padding: 8px 6px;
  font-family: var(--f-mono); font-size: 11px;
  color: var(--mute);
  text-transform: uppercase; letter-spacing: 0.08em;
  border-right: 1px solid var(--line);
  transition: background var(--t-fast), color var(--t-fast);
}
.tw-seg button:last-child { border-right: 0; }
.tw-seg button.is-on { background: var(--fg); color: var(--bg); }
.tw-seg button:not(.is-on):hover { color: var(--fg); }
[data-theme="light"] .tw-seg button.is-on { background: #0e1110; color: #f4f2ec; }

.tw-swatches {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 6px;
}
.tw-sw {
  aspect-ratio: 1;
  border: 1px solid var(--line);
  border-radius: var(--r-sm);
  cursor: pointer;
  position: relative;
  transition: transform var(--t-fast);
}
.tw-sw:hover { transform: scale(1.06); }
.tw-sw.is-on::after {
  content: ""; position: absolute; inset: -3px;
  border: 1px solid var(--fg); border-radius: 6px;
  pointer-events: none;
}
[data-theme="light"] .tw-sw.is-on::after { border-color: #0e1110; }

/* Persistent header CTA */
.nav .nav-cta {
  padding: 8px 14px;
  font-size: 12px;
  letter-spacing: 0.04em;
}
.nav .nav-cta .arr { margin-left: 4px; }
@media (max-width: 720px) {
  .nav .nav-cta {
    display: none;
  }
}

/* ── AI chat widget ───────────────────────────────────────── */
.chatw-fab {
  position: fixed; right: 20px; bottom: 20px; z-index: 80;
  display: inline-flex; align-items: center; gap: 8px;
  padding: 11px 16px;
  font-family: inherit; font-size: 12px; letter-spacing: 0.04em;
  color: var(--fg); background: var(--bg-2, rgba(20,22,21,0.92));
  border: 1px solid var(--line); border-radius: 999px;
  cursor: pointer; backdrop-filter: blur(8px);
  transition: transform var(--t-fast), border-color var(--t-fast);
}
.chatw-fab:hover { transform: translateY(-2px); border-color: var(--acc); }
.chatw-fab-dot {
  width: 7px; height: 7px; border-radius: 50%; background: var(--acc);
  animation: chatw-pulse 1.06s steps(1, end) infinite;
}
@keyframes chatw-pulse { 0%,50% { opacity: 1 } 50.01%,100% { opacity: .25 } }

.chatw {
  position: fixed; right: 20px; bottom: 74px; z-index: 81;
  width: min(380px, calc(100vw - 32px));
  height: min(540px, calc(100vh - 140px));
  display: flex; flex-direction: column;
  background: var(--bg-2, #121413);
  border: 1px solid var(--line); border-radius: var(--r-sm, 8px);
  box-shadow: 0 24px 60px rgba(0,0,0,.45);
  overflow: hidden;
}
.chatw-head {
  display: flex; align-items: center; justify-content: space-between;
  gap: 12px; padding: 12px 14px; border-bottom: 1px solid var(--line);
}
.chatw-head strong { display: block; font-size: 13px; letter-spacing: .02em; }
.chatw-head span { display: block; font-size: 11px; opacity: .55; margin-top: 2px; }
.chatw-head button {
  background: none; border: none; color: inherit; cursor: pointer;
  font-size: 20px; line-height: 1; opacity: .6; padding: 4px;
}
.chatw-head button:hover { opacity: 1; }

.chatw-body { flex: 1; overflow-y: auto; padding: 14px; display: flex; flex-direction: column; gap: 12px; }
.chatw-empty p { font-size: 12.5px; opacity: .6; margin: 0 0 10px; }
.chatw-sugg { display: flex; flex-wrap: wrap; gap: 6px; }
.chatw-sugg button {
  font: inherit; font-size: 11.5px; padding: 6px 10px; cursor: pointer;
  color: inherit; background: transparent;
  border: 1px solid var(--line); border-radius: 999px;
}
.chatw-sugg button:hover { border-color: var(--acc); }

.chatw-msg { font-size: 13px; line-height: 1.55; max-width: 92%; }
.chatw-msg p { margin: 0 0 6px; }
.chatw-msg p:last-child { margin-bottom: 0; }
.chatw-user {
  align-self: flex-end; padding: 8px 12px; border-radius: 12px 12px 2px 12px;
  background: var(--acc); color: #0e1110;
}
.chatw-assistant { align-self: flex-start; }
.chatw-typing { opacity: .5; }
.chatw-err { font-size: 12px; color: #ff6b6b; }

.chatw-form { display: flex; gap: 8px; padding: 10px; border-top: 1px solid var(--line); align-items: flex-end; }
.chatw-form textarea {
  flex: 1; resize: none; max-height: 96px; font: inherit; font-size: 13px;
  color: inherit; background: transparent; border: 1px solid var(--line);
  border-radius: 8px; padding: 9px 10px; outline: none;
}
.chatw-form textarea:focus { border-color: var(--acc); }
.chatw-form button[type="submit"] {
  width: 34px; height: 34px; flex: none; display: grid; place-items: center;
  font-size: 15px; cursor: pointer; color: #0e1110; background: var(--acc);
  border: none; border-radius: 8px;
}
.chatw-form button[type="submit"]:disabled { opacity: .35; cursor: not-allowed; }
@media (max-width: 720px) {
  .chatw { right: 12px; left: 12px; width: auto; bottom: 68px; }
  .chatw-fab { right: 12px; bottom: 12px; }
}
