/* vietnamese */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("assets/fonts/cac9c018-fb2e-4e58-8d3d-25d6d419b685.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: 'Archivo';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("assets/fonts/1239cd6c-3e90-4f97-b942-b361d6fb4aa4.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: 'Archivo';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("assets/fonts/e61595a4-0c60-4d80-bf12-2b20ffe3a771.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: 'Archivo';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("assets/fonts/cac9c018-fb2e-4e58-8d3d-25d6d419b685.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: 'Archivo';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("assets/fonts/1239cd6c-3e90-4f97-b942-b361d6fb4aa4.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: 'Archivo';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("assets/fonts/e61595a4-0c60-4d80-bf12-2b20ffe3a771.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: 'Archivo';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("assets/fonts/cac9c018-fb2e-4e58-8d3d-25d6d419b685.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: 'Archivo';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("assets/fonts/1239cd6c-3e90-4f97-b942-b361d6fb4aa4.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: 'Archivo';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("assets/fonts/e61595a4-0c60-4d80-bf12-2b20ffe3a771.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: 'Archivo';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url("assets/fonts/cac9c018-fb2e-4e58-8d3d-25d6d419b685.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: 'Archivo';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url("assets/fonts/1239cd6c-3e90-4f97-b942-b361d6fb4aa4.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: 'Archivo';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url("assets/fonts/e61595a4-0c60-4d80-bf12-2b20ffe3a771.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("assets/fonts/01f5d332-b72b-4de9-8ea1-6be13b287f1d.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("assets/fonts/8d02680c-2b72-4dfd-babd-2e5bd77f7829.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("assets/fonts/01f5d332-b72b-4de9-8ea1-6be13b287f1d.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("assets/fonts/8d02680c-2b72-4dfd-babd-2e5bd77f7829.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("assets/fonts/01f5d332-b72b-4de9-8ea1-6be13b287f1d.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("assets/fonts/8d02680c-2b72-4dfd-babd-2e5bd77f7829.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("assets/fonts/01f5d332-b72b-4de9-8ea1-6be13b287f1d.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("assets/fonts/8d02680c-2b72-4dfd-babd-2e5bd77f7829.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("assets/fonts/4205c4d2-2617-49e9-9fe6-a6f306e10c9c.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("assets/fonts/463e7fe5-5ff3-4616-8a08-6e022dfc6d66.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("assets/fonts/2d7c77fe-363a-4532-9a99-b82b598a9173.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("assets/fonts/7659d9a5-2b07-4e22-af1d-6665e15219e5.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("assets/fonts/22ebf738-9ab7-4585-9f71-706480e7450e.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("assets/fonts/e2fb4206-3f60-4624-baee-3b6017b5e4e5.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("assets/fonts/4205c4d2-2617-49e9-9fe6-a6f306e10c9c.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("assets/fonts/463e7fe5-5ff3-4616-8a08-6e022dfc6d66.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("assets/fonts/2d7c77fe-363a-4532-9a99-b82b598a9173.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("assets/fonts/7659d9a5-2b07-4e22-af1d-6665e15219e5.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("assets/fonts/22ebf738-9ab7-4585-9f71-706480e7450e.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("assets/fonts/e2fb4206-3f60-4624-baee-3b6017b5e4e5.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("assets/fonts/4205c4d2-2617-49e9-9fe6-a6f306e10c9c.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("assets/fonts/463e7fe5-5ff3-4616-8a08-6e022dfc6d66.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("assets/fonts/2d7c77fe-363a-4532-9a99-b82b598a9173.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("assets/fonts/7659d9a5-2b07-4e22-af1d-6665e15219e5.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("assets/fonts/22ebf738-9ab7-4585-9f71-706480e7450e.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("assets/fonts/e2fb4206-3f60-4624-baee-3b6017b5e4e5.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;
}
html { scroll-behavior: smooth; background: #f7f2ec; }
    body { margin: 0; -webkit-font-smoothing: antialiased; background: #f7f2ec; }
    ::selection { background: #e8c9bd; color: #1c1917; }
    a { text-decoration: none; color: #1c1917; }
    a:hover { color: #c2705c; }
    ::-webkit-scrollbar { width: 10px; }
    ::-webkit-scrollbar-track { background: #efe7de; }
    ::-webkit-scrollbar-thumb { background: #d8cabd; }
    @media (max-width: 1150px) {
      .vp-case-grid { grid-template-columns: 1fr !important; }
      .vp-case-grid > div:last-child { width: 100% !important; margin-top: 20px; }
    }
    @media (max-width: 1500px) {
      .vp-hero-grid { grid-template-columns: 1fr !important; }
      .vp-hero-visual { margin-top: 32px !important; height: 240px !important; }
      .vp-hero-h1 { font-size: 46px !important; max-width: 620px !important; }
      .vp-sidebar { width: 300px !important; padding: 48px 32px !important; }
      .vp-content { padding: 104px 56px 104px 64px !important; }
    }
    @media (max-width: 900px) {
      .vp-root { flex-direction: column-reverse !important; }
      .vp-sidebar { position: relative !important; width: 100% !important; height: auto !important; padding: 48px 24px !important; align-items: center !important; text-align: center; border-right: none !important; border-top: 1px solid #e4d9cd !important; }
      .vp-sidebar > div:first-child { display: flex !important; flex-direction: column !important; align-items: center !important; }
      .vp-sidebar nav { flex-direction: row !important; flex-wrap: wrap !important; justify-content: center !important; gap: 6px 20px !important; margin-top: 20px !important; }
      .vp-nav-link { padding-top: 6px !important; padding-bottom: 6px !important; }
      .vp-sidebar > div:nth-child(2) { flex-direction: row !important; justify-content: center !important; gap: 28px !important; flex-wrap: wrap !important; margin-top: 32px !important; }
      .vp-sidebar-bottom { margin-top: 32px !important; align-items: center !important; }
      .vp-content { padding: 44px 22px 72px !important; max-width: none !important; }
      .vp-hero-h1 { font-size: 34px !important; line-height: 1.12 !important; }
      .vp-hero-grid { grid-template-columns: 1fr !important; min-height: auto !important; padding-top: 16px !important; }
      .vp-hero-visual { margin-top: 32px !important; height: 220px !important; }
      .vp-about-grid { grid-template-columns: 1fr !important; }
      .vp-about-photo { width: 150px !important; margin: 0 auto 24px !important; }
      .vp-sec-h2 { font-size: 24px !important; }
    }
    .vp-reveal.vp-armed { opacity: 0; transform: translateY(16px); }
    .vp-reveal { transition: opacity .7s ease, transform .7s ease; }
    .vp-reveal.vp-in { opacity: 1; transform: translateY(0); }
    .vp-step-line { transform: scaleX(0); transform-origin: left; }
    .vp-reveal.vp-in .vp-step-line { animation: vp-draw .7s ease forwards; }
    @keyframes vp-dot-light {
      0% { background: transparent; border-color: #cbbcae; box-shadow: none; }
      8% { background: var(--accent); border-color: var(--accent); box-shadow: 0 0 0 5px var(--accent-soft); }
      55% { background: transparent; border-color: #cbbcae; box-shadow: none; }
      100% { background: transparent; border-color: #cbbcae; box-shadow: none; }
    }
    @keyframes vp-draw { to { transform: scaleX(1); } }
    @keyframes vp-pulse {
      0%, 100% { transform: scale(1); }
      50% { transform: scale(1.06); }
    }
    @keyframes vp-shimmer {
      0%, 100% { opacity: 0.45; }
      50% { opacity: 1; }
    }
    @keyframes vp-drift1 {
      0%, 100% { transform: translate(0, 0) scale(1); }
      50% { transform: translate(70px, 50px) scale(1.06); }
    }
    @keyframes vp-drift2 {
      0%, 100% { transform: translate(0, 0) scale(1); }
      50% { transform: translate(-60px, -40px) scale(1.05); }
    }
    @keyframes vp-sweep {
      0% { background-position: -140% 0; }
      100% { background-position: 240% 0; }
    }
    .vp-nav-link { position: relative; }
    .vp-nav-underline { position: absolute; left: 0; bottom: 3px; width: 100%; height: 1px; background: var(--accent); transform: scaleX(0); transform-origin: left; transition: transform .3s ease; }
    .vp-nav-link:hover .vp-nav-underline, .vp-nav-link.vp-nav-active .vp-nav-underline { transform: scaleX(1); }
    .vp-nav-link:hover { color: #1c1917 !important; }
    .vp-btn { transition: background-color .22s, color .22s, border-color .22s, transform .22s; }
    .vp-btn:hover { transform: translateY(-2px); }
    .vp-card { transition: border-color .25s, box-shadow .25s; }
    .vp-card:hover { border-color: #d9c7ba; box-shadow: 0 14px 40px -28px rgba(80,50,35,0.45); }
    .vp-svc-bar { transform: scaleX(0); transform-origin: left; transition: transform .9s cubic-bezier(.22,.61,.36,1) .15s; }
    .vp-reveal.vp-in .vp-svc-bar { transform: scaleX(1); }
    .vp-stagger > * { opacity: 0; transform: translateY(14px); transition: opacity .6s ease, transform .6s ease; }
    .vp-stagger.vp-in > * { opacity: 1; transform: translateY(0); }
    .vp-stagger.vp-in > *:nth-child(1) { transition-delay: .04s; }
    .vp-stagger.vp-in > *:nth-child(2) { transition-delay: .14s; }
    .vp-stagger.vp-in > *:nth-child(3) { transition-delay: .24s; }
    .vp-stagger.vp-in > *:nth-child(4) { transition-delay: .34s; }
    .vp-stagger.vp-in > *:nth-child(5) { transition-delay: .44s; }
    .vp-stagger.vp-in > *:nth-child(6) { transition-delay: .54s; }
    @media (max-width: 1150px) {
      .vp-svc { grid-template-columns: 1fr !important; gap: 28px !important; }
      .vp-svc-payoff { max-width: 360px; order: 0 !important; }
    }
    @keyframes vp-fiber-drift {
      0%, 100% { transform: translateY(0) scaleX(1); }
      50% { transform: translateY(-26px) scaleX(1.04); }
    }
    @keyframes vp-fiber-trace {
      0% { stroke-dashoffset: 1400; opacity: 0; }
      12% { opacity: 0.9; }
      88% { opacity: 0.9; }
      100% { stroke-dashoffset: 0; opacity: 0; }
    }
    .vp-fiber-group { animation: vp-fiber-drift 30s ease-in-out infinite; transform-origin: 70% 40%; }
    .vp-fiber-trace { stroke-dasharray: 260 1400; animation: vp-fiber-trace 9s linear infinite; }
    .vp-svc-alt .vp-svc-payoff { order: -1; }
    .vp-svc-chip { transition: border-color .25s, color .25s, transform .25s; }
    .vp-svc:hover .vp-svc-chip { border-color: var(--accent); color: var(--accent-text); }
    .vp-sidebar::-webkit-scrollbar { display: none; }
    .vp-hero-mobile-photo { display: none; }
    @media (max-width: 900px) {
      .vp-hero-mobile-photo { display: block !important; width: 76px; height: 86px; object-fit: cover; object-position: 50% 8%; border-radius: 12px; margin: 0 auto 18px; }
    }

/* Efekty pri najeti mysi. Drive je resil beh canvasu pres atribut
   style-hover, ktery uz na strance neni. */
.vp-hov-1:hover { border-color:#1c1917 !important; }
.vp-hov-2:hover { background:#c2705c !important; }
.vp-hov-3:hover { background:#faf6f1 !important color:#1c1917 !important border-color:#faf6f1 !important; }
.vp-hov-4:hover { color:var(--accent) !important; }
.vp-hov-5:hover { background:#c2705c !important; }
.vp-hov-6:hover { border-color:#1c1917 !important; }
.vp-hov-7:hover { border-color:#1c1917 !important; }

/* V levem menu je "Pro advokaty" jedina polozka s akcentem. */
.vp-nav-advo { color: var(--accent-text) !important; font-weight: 700 !important; }
.vp-btn-advo:hover { background: #b5654a !important; }
