
/* ─────────────────────────────────────────────
   Дом Персонала — design tokens & shared styles
   ───────────────────────────────────────────── */

/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/static/v2/assets/4ddc5139-912f-49dd-a113-ac759e64a72a.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/static/v2/assets/73f9e861-80f3-4eb4-b756-fca67ef43fe0.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/static/v2/assets/bb12e67c-1172-4d65-bcb3-cc9097e11484.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/static/v2/assets/f0efa8c8-751d-4a84-9e44-fedbb4a08991.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/static/v2/assets/b046bd88-35ce-4a81-bc45-884d111c1a6f.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("/static/v2/assets/4ddc5139-912f-49dd-a113-ac759e64a72a.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("/static/v2/assets/73f9e861-80f3-4eb4-b756-fca67ef43fe0.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("/static/v2/assets/bb12e67c-1172-4d65-bcb3-cc9097e11484.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("/static/v2/assets/f0efa8c8-751d-4a84-9e44-fedbb4a08991.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("/static/v2/assets/b046bd88-35ce-4a81-bc45-884d111c1a6f.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/static/v2/assets/2f697d95-4f1c-48f1-80f4-f79dca9e8570.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/static/v2/assets/3763ec9b-d09e-404a-a290-d65fdfc36cb9.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/static/v2/assets/5c9fa576-dd4e-4f51-8518-ece6409a2972.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/static/v2/assets/e65becff-a7d8-47c9-8aea-2aa1594188aa.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/static/v2/assets/d29bb9e0-fd44-4a71-b4db-a91117e55011.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/static/v2/assets/2f697d95-4f1c-48f1-80f4-f79dca9e8570.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/static/v2/assets/3763ec9b-d09e-404a-a290-d65fdfc36cb9.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/static/v2/assets/5c9fa576-dd4e-4f51-8518-ece6409a2972.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/static/v2/assets/e65becff-a7d8-47c9-8aea-2aa1594188aa.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/static/v2/assets/d29bb9e0-fd44-4a71-b4db-a91117e55011.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/static/v2/assets/2f697d95-4f1c-48f1-80f4-f79dca9e8570.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/static/v2/assets/3763ec9b-d09e-404a-a290-d65fdfc36cb9.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/static/v2/assets/5c9fa576-dd4e-4f51-8518-ece6409a2972.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/static/v2/assets/e65becff-a7d8-47c9-8aea-2aa1594188aa.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/static/v2/assets/d29bb9e0-fd44-4a71-b4db-a91117e55011.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/static/v2/assets/2f697d95-4f1c-48f1-80f4-f79dca9e8570.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/static/v2/assets/3763ec9b-d09e-404a-a290-d65fdfc36cb9.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/static/v2/assets/5c9fa576-dd4e-4f51-8518-ece6409a2972.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/static/v2/assets/e65becff-a7d8-47c9-8aea-2aa1594188aa.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/static/v2/assets/d29bb9e0-fd44-4a71-b4db-a91117e55011.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/static/v2/assets/2f697d95-4f1c-48f1-80f4-f79dca9e8570.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/static/v2/assets/3763ec9b-d09e-404a-a290-d65fdfc36cb9.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/static/v2/assets/5c9fa576-dd4e-4f51-8518-ece6409a2972.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/static/v2/assets/e65becff-a7d8-47c9-8aea-2aa1594188aa.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/static/v2/assets/d29bb9e0-fd44-4a71-b4db-a91117e55011.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("/static/v2/assets/851a670e-3301-4a81-9300-affb154c3996.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("/static/v2/assets/9178d68d-b013-4d98-a00a-fd4acf60aeb9.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("/static/v2/assets/d3931e85-eca0-4ea0-a98a-6e793634552a.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("/static/v2/assets/afe81dab-7daa-4e0c-a797-30cfc7398b02.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("/static/v2/assets/25a2653b-77d5-4b3a-84b9-ced4befb478e.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("/static/v2/assets/02f4017b-bf84-4e19-afea-92fb1d8c61f8.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("/static/v2/assets/851a670e-3301-4a81-9300-affb154c3996.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("/static/v2/assets/9178d68d-b013-4d98-a00a-fd4acf60aeb9.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("/static/v2/assets/d3931e85-eca0-4ea0-a98a-6e793634552a.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("/static/v2/assets/afe81dab-7daa-4e0c-a797-30cfc7398b02.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("/static/v2/assets/25a2653b-77d5-4b3a-84b9-ced4befb478e.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("/static/v2/assets/02f4017b-bf84-4e19-afea-92fb1d8c61f8.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/static/v2/assets/8ed6acbe-784f-4f10-a2bb-12c1dc45c249.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/static/v2/assets/1424f19b-ad98-4b3f-8ee9-a677d0ef0b94.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/static/v2/assets/f508339e-5aa7-4c51-b342-9208efd4d4f6.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/static/v2/assets/166128fe-f843-496f-a9f3-61a6a3cfcc1d.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/static/v2/assets/cf15d68d-b1c5-4154-a789-415639537aac.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/static/v2/assets/5955591f-5d8b-490f-ad2d-d3a4192e24bc.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/static/v2/assets/8ed6acbe-784f-4f10-a2bb-12c1dc45c249.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/static/v2/assets/1424f19b-ad98-4b3f-8ee9-a677d0ef0b94.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/static/v2/assets/f508339e-5aa7-4c51-b342-9208efd4d4f6.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/static/v2/assets/166128fe-f843-496f-a9f3-61a6a3cfcc1d.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/static/v2/assets/cf15d68d-b1c5-4154-a789-415639537aac.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/static/v2/assets/5955591f-5d8b-490f-ad2d-d3a4192e24bc.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/static/v2/assets/8ed6acbe-784f-4f10-a2bb-12c1dc45c249.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/static/v2/assets/1424f19b-ad98-4b3f-8ee9-a677d0ef0b94.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/static/v2/assets/f508339e-5aa7-4c51-b342-9208efd4d4f6.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/static/v2/assets/166128fe-f843-496f-a9f3-61a6a3cfcc1d.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/static/v2/assets/cf15d68d-b1c5-4154-a789-415639537aac.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/static/v2/assets/5955591f-5d8b-490f-ad2d-d3a4192e24bc.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/static/v2/assets/8ed6acbe-784f-4f10-a2bb-12c1dc45c249.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/static/v2/assets/1424f19b-ad98-4b3f-8ee9-a677d0ef0b94.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/static/v2/assets/f508339e-5aa7-4c51-b342-9208efd4d4f6.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/static/v2/assets/166128fe-f843-496f-a9f3-61a6a3cfcc1d.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/static/v2/assets/cf15d68d-b1c5-4154-a789-415639537aac.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/static/v2/assets/5955591f-5d8b-490f-ad2d-d3a4192e24bc.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/static/v2/assets/8ed6acbe-784f-4f10-a2bb-12c1dc45c249.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/static/v2/assets/1424f19b-ad98-4b3f-8ee9-a677d0ef0b94.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/static/v2/assets/f508339e-5aa7-4c51-b342-9208efd4d4f6.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/static/v2/assets/166128fe-f843-496f-a9f3-61a6a3cfcc1d.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/static/v2/assets/cf15d68d-b1c5-4154-a789-415639537aac.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/static/v2/assets/5955591f-5d8b-490f-ad2d-d3a4192e24bc.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: 'PT Serif';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/static/v2/assets/c1042ac4-b0e7-432d-8ae4-a2f474b3d0b0.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: 'PT Serif';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/static/v2/assets/fb4764bf-5a97-43db-8200-69b3588cc10f.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'PT Serif';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/static/v2/assets/82a8c482-3c7f-499a-8047-7be48b6d4540.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: 'PT Serif';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/static/v2/assets/8f2f6335-ac2d-4e1c-9555-691014b9e21b.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: 'PT Serif';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/static/v2/assets/3bb3425c-3452-4e33-bf0a-dbe399af84be.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: 'PT Serif';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/static/v2/assets/f7ffe7a0-104d-4af2-8a2f-ab2e24662be6.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'PT Serif';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/static/v2/assets/1098ad4f-0de5-4007-a649-ad723b8599be.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: 'PT Serif';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/static/v2/assets/b9e7565b-619c-4064-b598-3fad1c48a225.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: 'PT Serif';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/static/v2/assets/07521577-6b7d-48e5-84e8-b1d97987f7b6.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: 'PT Serif';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/static/v2/assets/bf24efe1-b016-4d4c-9130-88e4902ea1ec.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'PT Serif';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/static/v2/assets/b971a33e-68e0-4764-ae51-fb8ab12066e5.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: 'PT Serif';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/static/v2/assets/13e32aa6-6d9d-4328-8f88-2aedc7af0f5f.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


:root {
  /* Palette A — Forest (default) */
  --bg: #F4EFE6;
  --bg-soft: #EDE6D8;
  --bg-card: #FBF8F1;
  --ink: #1F2A22;
  --ink-soft: #4A5447;
  --ink-mute: #7E8579;
  --rule: #D9D2C2;
  --accent: #2E4A36;       /* deep forest */
  --accent-warm: #B5552E;  /* terracotta touch */
  --gold: #B89968;
}

[data-theme="dark"] {
  --bg: #1A1F1B;
  --bg-soft: #20261F;
  --bg-card: #242B23;
  --ink: #F2EBDC;
  --ink-soft: #C7C0AF;
  --ink-mute: #8A8B7F;
  --rule: #353A30;
  --accent: #C9A878;       /* warm gold in dark mode */
  --accent-warm: #D2784A;
  --gold: #C9A878;
}

[data-theme="dark"] .dp-contact {
  background-blend-mode: multiply;
}

* { box-sizing: border-box; }

.dp-root {
  font-family: 'Manrope', system-ui, sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.55;
  color: var(--ink);
  background: var(--bg);
  letter-spacing: 0.005em;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  transition: background .35s ease, color .35s ease;
}

.dp-root h1, .dp-root h2, .dp-root h3, .dp-root h4 {
  font-family: 'Cormorant Garamond', 'PT Serif', Georgia, serif;
  font-weight: 400;
  letter-spacing: -0.01em;
  color: var(--ink);
  margin: 0;
}

.dp-root h1 { font-size: clamp(48px, 6vw, 96px); line-height: 0.98; letter-spacing: -0.02em; }
.dp-root h2 { font-size: clamp(36px, 4vw, 64px); line-height: 1.02; }
.dp-root h3 { font-size: clamp(24px, 2vw, 32px); line-height: 1.15; }

.dp-root .mono { font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-mute); }
.dp-root .italic { font-family: 'Cormorant Garamond', serif; font-style: italic; font-weight: 400; }

/* Buttons */
.dp-btn {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 16px 28px;
  border-radius: 999px;
  border: 1px solid var(--ink);
  background: var(--ink);
  color: var(--bg);
  font-family: 'Manrope', sans-serif;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.02em;
  cursor: pointer;
  transition: all 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);
  text-decoration: none;
}
.dp-btn:hover { background: var(--accent); border-color: var(--accent); color: #FBF8F1; transform: translateY(-1px); }
.dp-btn:active { transform: translateY(0) scale(.98); }
.dp-btn-ghost {
  background: transparent;
  color: var(--ink);
  border: 1px solid var(--rule);
}
.dp-btn-ghost:hover { background: transparent; border-color: var(--ink); color: var(--ink); }

.dp-btn .arr { display: inline-block; transition: transform .4s cubic-bezier(.2,.8,.2,1); }
.dp-btn:hover .arr { transform: translateX(4px); }

.dp-theme-toggle {
  min-width: 44px;
  height: 40px;
  border: 1px solid var(--rule);
  border-radius: 999px;
  background: color-mix(in srgb, var(--bg-card) 72%, transparent);
  color: var(--ink);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 13px;
  cursor: pointer;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 10px;
  letter-spacing: .08em;
  text-transform: uppercase;
  transition: background .25s ease, border-color .25s ease, transform .25s ease, color .25s ease;
}
.dp-theme-toggle:hover {
  border-color: var(--ink-soft);
  background: var(--bg-card);
  transform: translateY(-1px);
}
.dp-theme-toggle:active {
  transform: scale(.97);
}

/* Tags / Eyebrows */
.dp-eyebrow {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink-mute);
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.dp-eyebrow::before {
  content: '';
  width: 24px; height: 1px;
  background: var(--ink-mute);
}

/* Photo placeholder — warm tonal stripes, refined */
.dp-photo {
  position: relative;
  background:
    repeating-linear-gradient(
      135deg,
      rgba(184, 153, 104, 0.10) 0 2px,
      transparent 2px 14px
    ),
    linear-gradient(160deg, #D9CDB5 0%, #B8A98B 60%, #8E7E5F 100%);
  overflow: hidden;
  isolation: isolate;
  transition: filter .55s ease, transform .55s cubic-bezier(.2,.8,.2,1);
  will-change: background-position;
}
.dp-photo[data-tone="warm"] {
  background:
    repeating-linear-gradient(135deg, rgba(140,80,50,.10) 0 2px, transparent 2px 14px),
    linear-gradient(160deg, #E5C9B0 0%, #C39977 55%, #8B5A3C 100%);
}
.dp-photo[data-tone="cool"] {
  background:
    repeating-linear-gradient(135deg, rgba(40,60,45,.12) 0 2px, transparent 2px 14px),
    linear-gradient(160deg, #B8C0B0 0%, #6E7B6A 60%, #2E4A36 100%);
}
.dp-photo[data-tone="dark"] {
  background:
    repeating-linear-gradient(135deg, rgba(255,255,255,.05) 0 2px, transparent 2px 14px),
    linear-gradient(160deg, #3D3A33 0%, #2A2722 60%, #16140F 100%);
}
.dp-photo .label {
  position: absolute;
  inset: auto 16px 16px 16px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.85);
  display: flex;
  justify-content: space-between;
  pointer-events: none;
  text-shadow: 0 1px 2px rgba(0,0,0,0.3);
}
.dp-photo .corner {
  display: none;
}
.dp-photo .corner-br {
  display: none;
}

/* Thin rules */
.dp-rule { height: 1px; background: var(--rule); border: 0; margin: 0; }
.dp-rule-v { width: 1px; background: var(--rule); align-self: stretch; }

/* Subtle grain overlay */
.dp-grain::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.06;
  mix-blend-mode: multiply;
  background-image:
    radial-gradient(rgba(0,0,0,.6) 1px, transparent 1px),
    radial-gradient(rgba(0,0,0,.4) 1px, transparent 1px);
  background-size: 3px 3px, 5px 5px;
  background-position: 0 0, 1px 2px;
}

/* Scroll-reveal */
.dp-reveal { opacity: 0; transform: translateY(16px); transition: opacity .9s ease var(--dp-reveal-delay, 0ms), transform .9s cubic-bezier(.2,.8,.2,1) var(--dp-reveal-delay, 0ms); }
.dp-reveal.in { opacity: 1; transform: none; }

/* Hero entrance */
.dp-hero-kicker,
.dp-hero-copy .dp-eyebrow,
.dp-hero-title,
.dp-hero-lead,
.dp-hero-actions,
.dp-hero-stats,
.dp-hero-media {
  animation: dp-rise .8s cubic-bezier(.2,.8,.2,1) both;
}
.dp-hero-kicker { animation-delay: .05s; }
.dp-hero-copy .dp-eyebrow { animation-delay: .14s; }
.dp-hero-title { animation-delay: .22s; }
.dp-hero-lead { animation-delay: .32s; }
.dp-hero-actions { animation-delay: .42s; }
.dp-hero-stats { animation-delay: .52s; }
.dp-hero-media { animation-delay: .28s; }

/* Card lift */
.dp-card {
  background: var(--bg-card);
  border: 1px solid var(--rule);
  transition: transform .5s cubic-bezier(.2,.8,.2,1), box-shadow .5s, border-color .5s, background .5s;
  position: relative;
}
.dp-card:hover {
  transform: translateY(-6px);
  border-color: var(--ink-soft);
  box-shadow: 0 24px 48px -24px rgba(31, 42, 34, 0.18);
}
.dp-card:hover .dp-photo {
  filter: saturate(1.05) contrast(1.04);
  transform: scale(1.012);
}
.dp-card .mono span,
.dp-card .dp-card-arrow {
  transition: transform .35s cubic-bezier(.2,.8,.2,1);
}
.dp-card:hover .dp-card-arrow {
  transform: translate(2px, -3px) !important;
}

/* Inputs */
.dp-input {
  width: 100%;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--rule);
  padding: 16px 0;
  font-family: 'Manrope', sans-serif;
  font-size: 16px;
  color: var(--ink);
  outline: none;
  transition: border-color .3s;
}
.dp-input:focus { border-bottom-color: var(--ink); }
.dp-input::placeholder { color: var(--ink-mute); }
.dp-form-progress-track > div {
  background: var(--rule);
  transform-origin: left;
  transition: background .35s ease, transform .45s cubic-bezier(.2,.8,.2,1);
}
.dp-form-progress-track > div.active {
  background: var(--ink);
  transform: scaleX(1.12);
}
.dp-step-panel button[type="button"] {
  transition: background .25s ease, color .25s ease, border-color .25s ease, transform .25s ease;
}
.dp-step-panel button[type="button"]:hover,
.dp-step-panel button[type="button"].active {
  transform: translateY(-1px);
}
.dp-step-panel button[type="button"].active {
  box-shadow: 0 12px 24px -18px rgba(31,42,34,.35);
}

/* Modal */
.dp-modal-bg {
  position: fixed;
  inset: 0;
  background: rgba(20, 24, 22, 0.55);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 100;
  animation: dp-fade .35s ease;
}
@keyframes dp-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes dp-rise { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }

.dp-modal {
  background: var(--bg-card);
  border: 1px solid var(--rule);
  width: min(720px, 92vw);
  max-height: 86vh;
  overflow: auto;
  animation: dp-rise .5s cubic-bezier(.2,.8,.2,1);
}

/* Carousel dots */
.dp-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--rule); transition: all .3s; cursor: pointer; border: 0; padding: 0; }
.dp-dot.active { background: var(--ink); width: 22px; border-radius: 999px; }

/* Marquee for clients/numbers */
@keyframes dp-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* Star rating */
.dp-star { font-size: 12px; letter-spacing: 2px; color: var(--accent-warm); }

/* No scrollbar utility for inner artboards */
.dp-noscroll::-webkit-scrollbar { display: none; }
.dp-noscroll { scrollbar-width: none; }

html, body, #root { margin: 0; padding: 0; min-height: 100%; background: var(--bg); }
body { font-family: 'Manrope', system-ui, sans-serif; }

.dp-logo {
  display: block;
  height: auto;
  object-fit: contain;
}

.dp-logo-dark {
  filter: brightness(0) saturate(100%) invert(13%) sepia(13%) saturate(773%) hue-rotate(84deg) brightness(90%) contrast(86%);
}

.dp-logo-light {
  filter: none;
}

[data-theme="dark"] .dp-logo-dark {
  filter: brightness(0) saturate(100%) invert(94%) sepia(13%) saturate(418%) hue-rotate(347deg) brightness(103%) contrast(92%);
}

/* Production responsive shell */
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--bg); }
#root { min-height: 100vh; }
button, a { -webkit-tap-highlight-color: transparent; }
.dp-mobile-menu-button {
  width: 44px;
  height: 44px;
  border: 0;
  background: transparent;
  color: var(--ink);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.dp-mobile-menu {
  position: fixed;
  inset: 0;
  z-index: 120;
  background: var(--bg);
  padding: 24px 20px 32px;
  color: var(--ink);
  animation: dp-menu-in .32s cubic-bezier(.2,.8,.2,1) both;
}
.dp-mobile-menu-link {
  display: block;
  text-decoration: none;
  border: 0;
  border-bottom: 1px solid var(--rule);
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  font-family: 'Cormorant Garamond', serif;
  font-size: 36px;
  line-height: 1.1;
  padding: 18px 0;
  text-align: left;
  animation: dp-rise .42s cubic-bezier(.2,.8,.2,1) both;
}
.dp-mobile-menu-link:nth-child(1) { animation-delay: .06s; }
.dp-mobile-menu-link:nth-child(2) { animation-delay: .11s; }
.dp-mobile-menu-link:nth-child(3) { animation-delay: .16s; }
.dp-mobile-menu-link:nth-child(4) { animation-delay: .21s; }
.dp-mobile-menu-link:active {
  transform: scale(.98);
}
@media (max-width: 760px) {
  .dp-contact {
    padding: 56px 20px !important;
  }
  .dp-contact > div {
    display: block !important;
  }
  .dp-contact > div > div:first-child {
    margin-bottom: 32px;
  }
  .dp-contact > div > div:last-child {
    padding: 24px 20px 28px !important;
    min-height: auto !important;
  }
  .dp-contact h2 {
    font-size: 34px !important;
  }
  .dp-contact form .dp-btn {
    justify-content: center;
    min-width: 0;
  }
}

@keyframes dp-menu-in {
  from { opacity: 0; transform: translateY(-10px) scale(.985); }
  to { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .001ms !important;
  }
  .dp-reveal { opacity: 1 !important; transform: none !important; }
  .dp-photo { --dp-parallax-y: 0px !important; }
}

/* ==========================================================================
   Серверная вёрстка: классы взамен инлайновых стилей React-компонентов.
   ========================================================================== */

.dp-header {
  position: sticky; top: 0; z-index: 50;
  background: transparent;
  border-bottom: 1px solid transparent;
  transition: background .35s, border-color .35s, backdrop-filter .35s;
}
.dp-header.is-scrolled {
  background: rgba(244, 239, 230, .92);
  backdrop-filter: blur(10px);
  border-bottom-color: var(--rule);
}
[data-theme="dark"] .dp-header.is-scrolled { background: rgba(26, 31, 27, .9); }

.dp-footer-link {
  display: block; padding: 6px 0; font-size: 14px;
  color: inherit; text-decoration: none;
}
.dp-footer-link:hover { color: var(--accent); }

/* переключатель «нужен персонал / ищу работу» */
.dp-mode-btn {
  all: unset; cursor: pointer; padding: 10px 18px; font-size: 14px;
  border: 1px solid var(--rule); background: transparent; color: var(--ink-soft);
  transition: all .25s;
}
.dp-mode-btn.is-active { border-color: var(--ink); background: var(--ink); color: var(--bg); }

/* выбор услуги на первом шаге */
.dp-service-pick {
  all: unset; cursor: pointer; padding: 16px 20px;
  border: 1px solid var(--rule); background: transparent; color: var(--ink);
  transition: all .25s; display: flex; align-items: center; gap: 12px;
}
.dp-service-pick.is-active { border-color: var(--ink); background: var(--ink); color: var(--bg); }

.dp-file-drop {
  display: flex; align-items: center; gap: 12px;
  padding: 14px 16px; border: 1px dashed var(--rule); cursor: pointer;
  font-size: 14px; color: var(--ink-soft);
}
.dp-file-drop:hover { border-color: var(--accent); }

.dp-err { color: var(--accent-warm); margin-top: 6px; }

.dp-faq-q {
  all: unset; cursor: pointer; width: 100%; padding: 28px 0;
  display: flex; justify-content: space-between; align-items: center;
}
.dp-faq-plus { transition: transform .4s; }
.dp-faq-q[aria-expanded="true"] .dp-faq-plus { transform: rotate(45deg); }
.dp-faq-a { animation: dp-rise .4s ease; }

.dp-mobile-call {
  position: absolute; bottom: 24px; right: 24px; z-index: 5;
  width: 56px; height: 56px; border-radius: 50%;
  background: var(--accent); color: #F2EBDC;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 12px 28px -8px rgba(31, 42, 34, .5); text-decoration: none;
}

/* контент страниц из админки — размечен редактором, поэтому стилизуем по тегам */
.dp-prose { max-width: 820px; color: var(--ink-soft); line-height: 1.65; }
.dp-prose h1, .dp-prose h2, .dp-prose h3, .dp-prose h4 {
  font-family: 'Cormorant Garamond', serif; color: var(--ink);
  font-weight: 400; margin: 40px 0 16px; line-height: 1.15;
}
.dp-prose h1 { font-size: 44px; }
.dp-prose h2 { font-size: 34px; }
.dp-prose h3 { font-size: 26px; }
.dp-prose h4 { font-size: 21px; }
.dp-prose p { margin: 0 0 18px; }
.dp-prose ul, .dp-prose ol { margin: 0 0 18px; padding-left: 22px; }
.dp-prose li { margin-bottom: 8px; }
.dp-prose a { color: var(--accent); }
.dp-prose img { max-width: 100%; height: auto; }
.dp-prose table { width: 100%; border-collapse: collapse; margin: 0 0 24px; }
.dp-prose th, .dp-prose td { padding: 12px 16px; border-bottom: 1px solid var(--rule); text-align: left; }
.dp-prose th { color: var(--ink); font-weight: 500; }
.dp-prose blockquote {
  margin: 0 0 24px; padding-left: 24px; border-left: 2px solid var(--accent);
  font-family: 'Cormorant Garamond', serif; font-size: 22px; font-style: italic;
}

.dp-map iframe, .dp-map > * { width: 100%; min-height: 420px; border: 0; }

@media (max-width: 900px) {
  .dp-prose h1 { font-size: 32px; }
  .dp-prose h2 { font-size: 26px; }
  .dp-prose h3 { font-size: 22px; }
  .dp-map iframe, .dp-map > * { min-height: 280px; }
}

/* Атрибут hidden должен побеждать любой авторский display.
   Без этого .dp-modal-bg с display:flex висел затемнением поверх страницы. */
[hidden] { display: none !important; }

.dp-lead-done {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  min-height: 380px;
}

/* Раскладка формы заявки. Раньше эти блоки ловились из CSS по подстроке в
   атрибуте style — вёрстка без пробела после двоеточия мимо такого селектора
   проходила, и на телефоне сетка услуг оставалась в две колонки и уезжала
   за экран. Теперь классы. */
.dp-mode-row { display: flex; gap: 8px; flex-wrap: wrap; }
.dp-service-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.dp-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.dp-form-actions { display: flex; gap: 12px; }
.dp-card-more { display: flex; align-items: center; gap: 8px; }
.dp-card-arrow { display: inline-block; transform: translateY(-1px); transition: transform .3s; }

/* Страховка от горизонтальной прокрутки. Именно clip, а не hidden: hidden
   создаёт контекст прокрутки и ломает position:sticky у шапки. */
body { overflow-x: clip; }

/* Шапка липкая и перекрывала бы заголовок секции при переходе по якорю. */
section[id], div[id] { scroll-margin-top: 92px; }

/* Мобильная раскладка формы. Держим строго после базовых правил выше:
   специфичность та же, побеждает то, что ниже по файлу. */
@media (max-width: 760px) {
  .dp-service-grid,
  .dp-form-row { grid-template-columns: 1fr; }
  .dp-form-actions { flex-wrap: wrap; }
}

/* ---------- телефон и соцсети ----------
   Телефон — главный контакт, поэтому крупный и жирный. color:inherit, чтобы
   одинаково читался на светлой теме, на тёмной и на тёмных секциях, где цвет
   текста задан явно. Цвет наведения берётся из --dp-phone-hover: на тёмно-
   зелёном фоне обычный --accent слился бы с фоном, там подставляем золото. */
.dp-phone {
  display: inline-flex;
  align-items: center;
  gap: .45em;
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  letter-spacing: -.01em;
  line-height: 1.1;
  color: inherit;
  text-decoration: none;
  white-space: nowrap;
  transition: color .25s;
}
.dp-phone svg { flex-shrink: 0; opacity: .8; }
.dp-phone:hover { color: var(--dp-phone-hover, var(--accent)); }
.dp-phone:hover svg { opacity: 1; }

.dp-phone-note {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: .58em;
  font-weight: 400;
  letter-spacing: .08em;
  text-transform: uppercase;
  opacity: .6;
  margin-left: .15em;
}

.dp-social {
  display: inline-flex;
  align-items: center;
  gap: .5em;
  font-family: 'Manrope', sans-serif;
  font-weight: 500;
  letter-spacing: -.01em;
  line-height: 1.1;
  color: inherit;
  text-decoration: none;
  opacity: .78;
  white-space: nowrap;
  transition: color .25s, opacity .25s;
}
.dp-social svg { flex-shrink: 0; }
.dp-social:hover {
  color: var(--dp-phone-hover, var(--accent));
  opacity: 1;
}

/* Тёмно-зелёные секции: --accent там почти сливается с фоном. */
.dp-contact,
.dp-mobile-cta { --dp-phone-hover: var(--gold); }

@media (max-width: 760px) {
  .dp-phone { font-size: 20px !important; }
  .dp-contact .dp-phone { font-size: 22px !important; }
}


/* ==========================================================================
   Одна вёрстка на все экраны.
   Раньше десктопная и мобильная лежали в документе одновременно, и поиск
   видел три H1 и удвоенный текст. Теперь секции сами перестраиваются.
   Порядок важен: всё, что ниже, перекрывает объявления выше.
   ========================================================================== */

/* --- фото настоящей картинкой --- */
.dp-photo-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.dp-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(22,20,15,.02) 0%, rgba(22,20,15,.26) 100%);
  pointer-events: none;
}
.dp-photo .label { z-index: 1; }

/* --- общие отступы секций --- */
.dp-section { padding: 120px 56px; }
.dp-page-head { padding-top: 50px; padding-bottom: 50px; }

.dp-breadcrumbs {
  display: flex; flex-wrap: wrap; align-items: center; gap: 10px;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 11px; letter-spacing: .08em; text-transform: uppercase;
  color: var(--ink-mute);
}
.dp-breadcrumbs a { color: var(--ink-soft); text-decoration: none; }
.dp-breadcrumbs a:hover { color: var(--accent); }

.dp-lead-text {
  margin-top: 28px; font-size: 19px; line-height: 1.55;
  color: var(--ink-soft); max-width: 640px;
}

/* --- сетки секций --- */
.dp-hero-grid { display: grid; grid-template-columns: 1.05fr 1fr; gap: 64px; align-items: end; }
.dp-numbers-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.dp-services-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); gap: 24px; }
.dp-section-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; margin-bottom: 64px; }
.dp-why-grid { display: grid; grid-template-columns: 1fr 2fr; gap: 80px; }
.dp-why-aside { position: sticky; top: 100px; align-self: start; }
.dp-process-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.dp-testimonials-grid { display: grid; grid-template-columns: 1fr 1.4fr; gap: 80px; align-items: center; }
.dp-about-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 80px; }
.dp-faq-grid { display: grid; grid-template-columns: 1fr 1.6fr; gap: 80px; }
.dp-footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 56px; margin-bottom: 80px; }
.dp-footer-bottom { display: flex; justify-content: space-between; gap: 24px; padding-top: 28px; border-top: 1px solid var(--rule); }
.dp-contact-grid { display: grid; grid-template-columns: 1fr 1.2fr; gap: 80px; align-items: start; }
.dp-contact-card { background: var(--bg-card); color: var(--ink); padding: 48px 48px 40px; min-height: 480px; }
.dp-service-head { display: grid; grid-template-columns: 1.1fr 1fr; gap: 64px; align-items: center; }
.dp-service-facts { display: flex; gap: 48px; margin-top: 44px; padding-top: 28px; border-top: 1px solid var(--rule); }
.dp-two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; }
.dp-related { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); gap: 16px; }

/* --- шапка --- */
.dp-header-inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 20px 56px; }
.dp-header-logo { display: inline-flex; align-items: center; flex-shrink: 0; }
.dp-nav { display: flex; gap: 32px; }
.dp-nav a { color: var(--ink-soft); text-decoration: none; white-space: nowrap; }
.dp-nav a:hover { color: var(--ink); }
.dp-header-actions { display: flex; gap: 16px; align-items: center; }
.dp-header-cta { padding: 12px 22px; font-size: 13px; text-decoration: none; }
.dp-mobile-menu-button { display: none; }

.dp-mobile-menu-top { display: flex; justify-content: space-between; align-items: center; }
.dp-mobile-menu-links { display: grid; gap: 4px; margin-top: 42px; }
.dp-mobile-menu-foot { margin-top: 42px; padding-top: 24px; border-top: 1px solid var(--rule); }

/* кнопка звонка — только на узких экранах */
.dp-mobile-call { display: none; position: fixed; }

/* ==========================================================================
   Планшет
   ========================================================================== */
@media (max-width: 1100px) {
  .dp-section { padding: 88px 40px; }
  .dp-header-inner { padding: 18px 40px; }
  .dp-nav { gap: 20px; }
  .dp-why-grid, .dp-faq-grid, .dp-testimonials-grid,
  .dp-about-grid, .dp-contact-grid, .dp-hero-grid, .dp-service-head { gap: 48px; }
  .dp-footer-grid { grid-template-columns: 1fr 1fr; gap: 40px; margin-bottom: 56px; }
  .dp-process-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 900px) {
  .dp-nav { display: none; }
  .dp-header-cta { display: none; }
  .dp-mobile-menu-button { display: inline-flex; }
  .dp-hero-grid, .dp-why-grid, .dp-faq-grid, .dp-testimonials-grid,
  .dp-about-grid, .dp-contact-grid, .dp-service-head, .dp-two-col {
    grid-template-columns: 1fr;
  }
  .dp-why-aside { position: static; }
  .dp-section-head { flex-direction: column; align-items: flex-start; gap: 24px; margin-bottom: 40px; }
}

/* ==========================================================================
   Телефон
   ========================================================================== */
@media (max-width: 760px) {
  .dp-section { padding: 56px 20px; }
  .dp-page-head { padding-top: 28px; padding-bottom: 28px; }
  .dp-header-inner { padding: 14px 20px; gap: 12px; }
  .dp-header-actions { gap: 6px; }

  .dp-numbers-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dp-numbers-grid > div { padding: 20px 16px !important; border-left: 0 !important; }
  .dp-numbers-grid > div + div { border-top: 1px solid var(--rule); }
  .dp-numbers-grid > div:nth-child(2) { border-top: 0; }
  .dp-numbers-grid > div:nth-child(even) { border-left: 1px solid var(--rule) !important; }

  .dp-process-grid { grid-template-columns: 1fr; }
  .dp-process-step { padding: 24px 0 !important; }

  .dp-footer-grid { grid-template-columns: 1fr; gap: 32px; margin-bottom: 40px; }
  .dp-footer-bottom { flex-direction: column; gap: 8px; }

  .dp-contact-card { padding: 24px 20px 28px; min-height: auto; }
  .dp-service-facts { gap: 28px; flex-wrap: wrap; }

  .dp-hero-title { font-size: 42px !important; line-height: 1.02; }
  .dp-hero-lead { font-size: 15px !important; }
  .dp-hero-kicker { flex-wrap: wrap; gap: 12px; }
  .dp-hero-stats { gap: 20px !important; flex-wrap: wrap; }

  h1 { font-size: 34px !important; line-height: 1.06; }
  h2 { font-size: 30px !important; line-height: 1.08; }
  h3 { font-size: 22px !important; }

  .dp-mobile-call {
    display: flex; bottom: 20px; right: 20px; z-index: 60;
  }
}

/* ==========================================================================
   Горизонтальная прокрутка на мобильном.
   Причины было две: шапка не помещалась в 375px (логотип + телефон с nowrap,
   который ниже принудительно увеличивался до 20px, + тема + бургер), и
   карточка в герое, вынесенная на 28px за правый край секции.
   ========================================================================== */

/* Карточка-врезка в герое */
.dp-hero-note {
  position: absolute; bottom: -28px; right: -28px;
  background: var(--bg-card); border: 1px solid var(--rule);
  padding: 20px 24px; max-width: 240px;
}

/* Ничто не шире экрана */
html, body { overflow-x: clip; max-width: 100%; }
img, svg, video, iframe { max-width: 100%; }

@media (max-width: 900px) {
  /* приписка «24/7» съедает ширину там, где её и так нет */
  .dp-header .dp-phone-note { display: none; }
  .dp-header .dp-phone { font-size: 15px !important; }
  .dp-header .dp-phone svg { width: 16px; height: 16px; }
}

@media (max-width: 760px) {
  /* Телефон из шапки убираем: он есть в меню и в плавающей кнопке звонка,
     а в строке шириной 375px он гарантированно всё выталкивает. */
  .dp-header .dp-phone { display: none; }
  .dp-header-inner { gap: 8px; }

  /* врезка возвращается в поток, иначе торчит за край */
  .dp-hero-note {
    position: static;
    max-width: none;
    margin-top: 20px;
    padding: 16px 18px;
  }

  .dp-footer-bottom .mono { font-size: 10px; }
}

/* Телефон крупный везде, КРОМЕ шапки — там для него нет места. */
@media (max-width: 760px) {
  .dp-phone { font-size: 20px !important; }
  .dp-header .dp-phone { font-size: 15px !important; }
  .dp-contact .dp-phone { font-size: 22px !important; }
}

/* Отступы героя и подвала жили в атрибуте style, поэтому на телефоне
   оставались десктопные 56px и контент сжимался до 263px из 375. */
.dp-hero { padding: 32px 56px 80px; }
.dp-footer { padding: 80px 56px 32px; }

@media (max-width: 1100px) {
  .dp-hero { padding: 28px 40px 64px; }
  .dp-footer { padding: 64px 40px 28px; }
}
@media (max-width: 760px) {
  .dp-hero { padding: 20px 20px 48px; }
  .dp-footer { padding: 48px 20px 24px; }
}

/* Переключатель темы: на узких экранах подпись «Авто · тёмная» занимает
   больше места, чем есть в строке шапки — оставляем только иконку. */
@media (max-width: 900px) {
  .dp-header [data-theme-label] { display: none; }
  .dp-header .dp-theme-toggle { min-width: 40px; padding: 0; }
}

/* Логотип в «шапке разворота» героя дублирует логотип в шапке сайта.
   На широком экране это часть журнальной подачи, на телефоне — просто повтор. */
.dp-hero-kicker {
  display: flex; justify-content: space-between; align-items: center;
  padding-bottom: 14px; border-bottom: 1px solid var(--rule); margin-bottom: 56px;
}
@media (max-width: 760px) {
  /* Логотип здесь дублирует логотип в шапке сайта. На широком экране это часть
     журнальной подачи, на телефоне — просто повтор. */
  .dp-hero-kicker .dp-logo { display: none; }
  .dp-hero-kicker {
    flex-direction: column; align-items: flex-start;
    justify-content: flex-start; gap: 4px; margin-bottom: 28px;
  }
}
