/* ===== BOOTLEGGER · локальные шрифты макета (Playfair Display 400/900, Onest 300/400/500) ===== */
/* cyrillic-ext */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/site/templates/fonts/onest-gNMKW3F-SZuj7xmS-HY6EQ.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: 'Onest';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/site/templates/fonts/onest-gNMKW3F-SZuj7xmb-HY6EQ.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* math */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/site/templates/fonts/onest-gNMKW3F-SZuj7xnj-HY6EQ.woff2) format('woff2');
  unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF;
}
/* symbols */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/site/templates/fonts/onest-gNMKW3F-SZuj7xnx-HY6EQ.woff2) format('woff2');
  unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF;
}
/* vietnamese */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/site/templates/fonts/onest-gNMKW3F-SZuj7xmQ-HY6EQ.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: 'Onest';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/site/templates/fonts/onest-gNMKW3F-SZuj7xmR-HY6EQ.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: 'Onest';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/site/templates/fonts/onest-gNMKW3F-SZuj7xmf-HY.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: 'Onest';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/site/templates/fonts/onest-gNMKW3F-SZuj7xmS-HY6EQ.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: 'Onest';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/site/templates/fonts/onest-gNMKW3F-SZuj7xmb-HY6EQ.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* math */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/site/templates/fonts/onest-gNMKW3F-SZuj7xnj-HY6EQ.woff2) format('woff2');
  unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF;
}
/* symbols */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/site/templates/fonts/onest-gNMKW3F-SZuj7xnx-HY6EQ.woff2) format('woff2');
  unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF;
}
/* vietnamese */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/site/templates/fonts/onest-gNMKW3F-SZuj7xmQ-HY6EQ.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: 'Onest';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/site/templates/fonts/onest-gNMKW3F-SZuj7xmR-HY6EQ.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: 'Onest';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/site/templates/fonts/onest-gNMKW3F-SZuj7xmf-HY.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: 'Onest';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/site/templates/fonts/onest-gNMKW3F-SZuj7xmS-HY6EQ.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: 'Onest';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/site/templates/fonts/onest-gNMKW3F-SZuj7xmb-HY6EQ.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* math */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/site/templates/fonts/onest-gNMKW3F-SZuj7xnj-HY6EQ.woff2) format('woff2');
  unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF;
}
/* symbols */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/site/templates/fonts/onest-gNMKW3F-SZuj7xnx-HY6EQ.woff2) format('woff2');
  unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF;
}
/* vietnamese */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/site/templates/fonts/onest-gNMKW3F-SZuj7xmQ-HY6EQ.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: 'Onest';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/site/templates/fonts/onest-gNMKW3F-SZuj7xmR-HY6EQ.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: 'Onest';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/site/templates/fonts/onest-gNMKW3F-SZuj7xmf-HY.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 */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/site/templates/fonts/playfair-nuFiD-vYSZviVYUb_rj3ij__anPXDTjYgFE_.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/site/templates/fonts/playfair-nuFiD-vYSZviVYUb_rj3ij__anPXDTPYgFE_.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: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/site/templates/fonts/playfair-nuFiD-vYSZviVYUb_rj3ij__anPXDTLYgFE_.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: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/site/templates/fonts/playfair-nuFiD-vYSZviVYUb_rj3ij__anPXDTzYgA.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 */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/site/templates/fonts/playfair-nuFiD-vYSZviVYUb_rj3ij__anPXDTjYgFE_.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/site/templates/fonts/playfair-nuFiD-vYSZviVYUb_rj3ij__anPXDTPYgFE_.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: 'Playfair Display';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/site/templates/fonts/playfair-nuFiD-vYSZviVYUb_rj3ij__anPXDTLYgFE_.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: 'Playfair Display';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/site/templates/fonts/playfair-nuFiD-vYSZviVYUb_rj3ij__anPXDTzYgA.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;
}

/* ============================================================
   BOOTLEGGER — лендинг для организаторов мероприятий.
   Полный перенос макета «Bootlegger B2B» (design/Bootlegger B2B.dc.html).
   Фреймворк (main.css) не трогаем — здесь только свои стили сайта.
   ============================================================ */

/* ---------- Шрифты (локальные копии Google Fonts) ---------- */

/* Segoe UI Black — гарнитура заголовков, файл передан заказчиком.
   Диапазон 400 900 отключает синтетический жир: все веса берут один и тот же файл. */
@font-face {
  font-family: 'Segoe UI Black';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/site/templates/fonts/segoeui-black.woff2) format('woff2');
}

/* ---------- Токены макета ---------- */
:root {
  --accent: #A8843A;
  --grain: 0.05;
  --navstart: flex-start;
  --sticky: sticky;
  --bl-display: 'Segoe UI Black', 'Segoe UI', Arial, sans-serif;   /* гарнитура заголовков */
  --bl-ink: #11100E;
  --bl-graphite: #1B1916;
  --bl-milk: #E9E2D7;
  --bl-gray: #777066;
}

/* scroll-behavior: smooth фреймворка конфликтует с плавным скроллом макета:
   браузер начинает доводить каждый кадр Lenis своей анимацией и страница ползёт. */
html { background: #11100E; -webkit-text-size-adjust: 100%; scroll-behavior: auto; }

body.bl-page {
  margin: 0;
  background: #11100E;
  color: #E9E2D7;
  font-family: Onest, system-ui, sans-serif;
  font-weight: 400;
  overflow-x: hidden;
}
/* ресет пишем через :where() — нулевая специфичность, чтобы классы блоков всегда были сильнее */
:where(body.bl-page) :where(*, *::before, *::after) { box-sizing: border-box; }
:where(body.bl-page) :where(img) { display: block; max-width: 100%; }
:where(body.bl-page) :where(h1, h2, h3, p) { margin: 0; }
:where(body.bl-page) :where(a) { color: #E9E2D7; }
body.bl-page a { text-decoration: none; }
:where(body.bl-page) :where(a:hover) { color: #E9E2D7; }
:where(body.bl-page) :where(button) { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; padding: 0; }
:where(body.bl-page) :where(figure) { margin: 0; }
body.bl-page :focus-visible { outline: 2px solid var(--accent, #A8843A); outline-offset: 4px; }
body.bl-page .bl-plan svg { max-width: none; }

@keyframes bl-shot { from { opacity: 0; transform: scale(1.06); } to { opacity: 1; transform: scale(1); } }
@keyframes bl-mask { from { transform: translateY(132%); } to { transform: translateY(0); } }
@keyframes bl-soft { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
@keyframes bl-line { from { transform: scaleX(0); } to { transform: scaleX(1); } }

.bl-shell { position: relative; background: #11100E; }

/* ---------- Общие детали ---------- */
.bl-wrap { max-width: 1560px; margin: 0 auto; padding: 0 clamp(20px, 4vw, 72px); }

.bl-sec { position: relative; padding: clamp(80px, 10vh, 140px) 0; }
.bl-sec--graphite { background: #1B1916; }
.bl-sec--ink { background: #11100E; }

.bl-h2 {
  max-width: 20ch;
  font-family: var(--bl-display);
  font-weight: 900;
  font-size: clamp(1.85rem, 3.9vw, 4.1rem);
  letter-spacing: -0.028em;
  line-height: 1.14;
  color: #E9E2D7;
}
.bl-h2--balance { text-wrap: balance; }
.bl-h2__line { display: block; overflow: hidden; padding: 0.18em 0 0.1em; margin-top: -0.18em; }
.bl-h2__line:last-child { padding-bottom: 0.12em; }
.bl-h2__inner { display: block; }

.bl-ph { filter: saturate(1.06) contrast(1.09) brightness(.93); }
.bl-ph--strong { filter: saturate(1.09) contrast(1.12) brightness(.9); }

.bl-cap { margin-top: 14px; font-size: 13px; letter-spacing: 0.06em; color: #777066; }

.bl-note { font-size: 13px; letter-spacing: 0.06em; line-height: 1.7; color: #777066; }

.bl-line { height: 1px; background: rgba(233,226,215,.34); transform-origin: left center; }

/* кнопки */
.bl-btn {
  display: inline-block;
  background: var(--accent, #A8843A);
  color: #11100E;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.02em;
  padding: 19px 32px;
  border-radius: 2px;
  box-shadow: inset 0 0 0 1px var(--accent, #A8843A);
  transition: background .35s cubic-bezier(.16,1,.3,1), color .35s;
}
.bl-btn:hover { background: transparent; color: var(--accent, #A8843A); }

.bl-btn--ghost {
  display: inline-block;
  color: #E9E2D7;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.02em;
  padding: 18px 30px;
  border-radius: 2px;
  box-shadow: inset 0 0 0 1px rgba(233,226,215,.34);
  transition: background .35s, color .35s, box-shadow .35s;
}
.bl-btn--ghost:hover { background: var(--accent, #A8843A); color: #11100E; box-shadow: inset 0 0 0 1px var(--accent, #A8843A); }

.bl-btn--dark {
  display: inline-block;
  background: #11100E;
  color: #E9E2D7;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.02em;
  padding: 19px 34px;
  border-radius: 2px;
  box-shadow: inset 0 0 0 1px #11100E;
  transition: background .35s cubic-bezier(.16,1,.3,1), color .35s;
}
.bl-btn--dark:hover { background: transparent; color: #11100E; }

.bl-link {
  font-size: 15px;
  letter-spacing: 0.01em;
  color: #E9E2D7;
  padding-bottom: 9px;
  border-bottom: 1px solid rgba(233,226,215,.34);
  white-space: nowrap;
  transition: border-color .35s;
}
.bl-link:hover { border-bottom-color: var(--accent, #A8843A); }

/* ---------- Зерно, прелоадер, курсор ---------- */
.bl-grain {
  position: fixed; inset: 0; z-index: 900; pointer-events: none;
  mix-blend-mode: overlay; opacity: var(--grain, 0.05);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.92' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size: 220px 220px;
}

.bl-preload { position: fixed; inset: 0; z-index: 1000; display: flex; align-items: center; justify-content: center; }
.bl-preload__bg { position: absolute; inset: 0; background: #11100E; transition: opacity .5s ease-out; }
.bl-preload__inner { position: relative; display: flex; flex-direction: column; align-items: center; gap: clamp(22px, 2.4vw, 34px); }
.bl-preload__logo {
  display: block; height: clamp(120px, 14vw, 180px); width: auto; opacity: 0; transform: scale(.94);
  transition: opacity .7s cubic-bezier(.16,1,.3,1), transform .7s cubic-bezier(.16,1,.3,1);
}
.bl-preload__track { width: clamp(110px, 12vw, 160px); height: 1px; background: rgba(233,226,215,.16); overflow: hidden; }
.bl-preload__bar { width: 100%; height: 100%; background: var(--accent, #A8843A); transform: scaleX(0); transform-origin: left center; transition: transform 1.1s cubic-bezier(.4,0,.2,1); }

.bl-cursor {
  /* курсор держим выше всего, включая модалку (980) и прелоадер (1000),
     иначе над открытой формой он пропадает — у body курсор выключен */
  position: fixed; top: 0; left: 0; z-index: 1100; pointer-events: none; display: none;
  align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 999px;
  box-shadow: inset 0 0 0 1px rgba(233,226,215,.6); mix-blend-mode: difference;
  font-family: Onest, sans-serif; font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase;
  color: #E9E2D7; white-space: nowrap; overflow: hidden; will-change: transform;
  transition: width .4s cubic-bezier(.16,1,.3,1), height .4s cubic-bezier(.16,1,.3,1), box-shadow .4s, background .4s;
}

/* ---------- Шапка ---------- */
.bl-head {
  position: fixed; top: 0; left: 0; right: 0; z-index: 800;
  background: transparent; border-bottom: 1px solid transparent;
  transition: background .5s cubic-bezier(.16,1,.3,1), border-color .5s, backdrop-filter .5s;
}
.bl-head__inner {
  position: relative; max-width: 1560px; margin: 0 auto;
  padding: clamp(20px, 2.4vw, 34px) clamp(20px, 4vw, 72px);
  display: flex; align-items: center; min-height: clamp(52px, 4.6vw, 64px);
  gap: clamp(24px, 4vw, 64px);
  transition: padding .5s cubic-bezier(.16,1,.3,1);
}
.bl-nav { display: flex; flex: 1 1 0; align-items: center; gap: clamp(16px, 1.9vw, 30px); }
.bl-nav--left { justify-content: var(--navstart, flex-start); }
.bl-nav--right { justify-content: flex-end; }
.bl-nav__link {
  font-size: 14px; letter-spacing: 0.01em; color: rgba(233,226,215,.68);
  padding: 6px 0; border-bottom: 1px solid transparent; white-space: nowrap;
  transition: color .3s, border-color .3s;
}
.bl-nav__link:hover { color: #E9E2D7; border-bottom-color: var(--accent, #A8843A); }
.bl-logo { position: absolute; left: 50%; transform: translateX(-50%); display: block; transition: opacity .35s; }
.bl-logo:hover { opacity: .8; }
.bl-logo__img { display: block; opacity: 0; height: clamp(46px, 4.4vw, 62px); width: auto; transition: height .5s cubic-bezier(.16,1,.3,1); }
.bl-head__cta {
  font-size: 14px; letter-spacing: 0.02em; color: #E9E2D7; padding: 13px 22px; border-radius: 2px;
  box-shadow: inset 0 0 0 1px rgba(233,226,215,.34); white-space: nowrap;
  transition: background .35s, color .35s, box-shadow .35s;
}
.bl-head__cta:hover { background: var(--accent, #A8843A); color: #11100E; box-shadow: inset 0 0 0 1px var(--accent, #A8843A); }
.bl-burger {
  display: none; margin-left: auto; position: relative; z-index: 2;
  width: 44px; height: 44px; align-items: center; justify-content: center; flex-direction: column; gap: 6px;
}
.bl-burger span { display: block; width: 22px; height: 1px; background: #E9E2D7; }

/* ---------- Мобильное меню ---------- */
.bl-menu {
  position: fixed; inset: 0; z-index: 850; background: #11100E; display: none; flex-direction: column;
  opacity: 0; transition: opacity .4s ease; overflow-y: auto;
}
.bl-menu__top {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 14px clamp(18px, 5vw, 32px); border-bottom: 1px solid rgba(233,226,215,.14);
}
.bl-menu__brand { display: flex; align-items: center; gap: 12px; }
.bl-menu__logo { display: block; height: 46px; width: auto; }
.bl-menu__name { font-family: var(--bl-display); font-weight: 900; font-size: 15px; letter-spacing: 0.12em; line-height: 1.2; color: #E9E2D7; }
.bl-menu__close { flex: 0 0 auto; width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; font-size: 30px; line-height: 1; color: #E9E2D7; }
.bl-menu__nav { display: flex; flex-direction: column; padding: clamp(16px, 5vw, 32px) clamp(18px, 5vw, 32px) 0; }
.bl-menu__link { display: flex; align-items: baseline; gap: 16px; padding: 13px 0; color: #E9E2D7; }
.bl-menu__num { flex: 0 0 auto; font-family: ui-monospace, Menlo, monospace; font-size: 11px; letter-spacing: 0.12em; color: rgba(233,226,215,.34); }
.bl-menu__label { flex: 1 1 auto; font-family: var(--bl-display); font-weight: 900; font-size: clamp(1.5rem, 6.4vw, 2.1rem); letter-spacing: -0.028em; line-height: 1.16; }
.bl-menu__foot {
  margin-top: auto;
  padding: clamp(28px, 7vw, 44px) clamp(18px, 5vw, 32px) calc(clamp(22px, 5vw, 34px) + env(safe-area-inset-bottom));
  display: flex; flex-direction: column; gap: 18px;
}
.bl-menu__cta { display: block; text-align: center; background: var(--accent, #A8843A); color: #11100E; font-size: 16px; font-weight: 500; letter-spacing: 0.02em; padding: 19px 30px; border-radius: 2px; }
.bl-menu__phone { align-self: center; font-size: 15px; letter-spacing: 0.05em; color: #777066; }

/* ============================================================
   01 · Герой
   ============================================================ */
.bl-hero {
  position: relative; min-height: 100svh; display: flex; flex-direction: column;
  justify-content: flex-end; padding-top: clamp(92px, 12vh, 132px); overflow: hidden;
}
.bl-hero__img {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 46% 30%;
  filter: saturate(1.09) contrast(1.12) brightness(.9);
  animation: bl-shot 1.6s cubic-bezier(.16,1,.3,1) both;
}
.bl-hero__glow { position: absolute; inset: 0; z-index: 1; background: radial-gradient(115% 95% at 62% 34%, rgba(17,16,14,0) 32%, rgba(17,16,14,.62) 100%); }
.bl-hero__fade { position: absolute; inset: 0; z-index: 1; background: linear-gradient(to top, rgba(17,16,14,.94) 0%, rgba(17,16,14,.8) 32%, rgba(17,16,14,.26) 62%, rgba(17,16,14,.46) 100%); }
.bl-hero__body { position: relative; z-index: 2; margin-top: auto; display: flex; flex-direction: column; }
.bl-hero__band { border-top: 1px solid rgba(233,226,215,.3); }
.bl-hero__inner {
  max-width: 1560px; margin: 0 auto;
  padding: clamp(30px, 3.4vw, 54px) clamp(20px, 4vw, 72px) clamp(30px, 3.4vw, 52px);
  display: flex; flex-direction: column; align-items: stretch; gap: clamp(26px, 3vw, 46px);
}
.bl-hero__title {
  flex: 0 0 auto; max-width: 20ch;
  font-family: var(--bl-display); font-weight: 900;
  font-size: clamp(2.15rem, 4.5vw, 5rem); letter-spacing: -0.03em; line-height: 1.1; color: #E9E2D7;
}
.bl-hero__line { display: block; overflow: hidden; padding: 0.18em 0 0.1em; margin-top: -0.18em; }
.bl-hero__line:last-child { padding-bottom: 0.12em; }
.bl-hero__lineinner { display: block; animation: bl-mask .95s cubic-bezier(.16,1,.3,1) both; }
.bl-hero__line:nth-child(1) .bl-hero__lineinner { animation-delay: .5s; }
.bl-hero__line:nth-child(2) .bl-hero__lineinner { animation-delay: .59s; }
.bl-hero__line:nth-child(3) .bl-hero__lineinner { animation-delay: .68s; padding-left: clamp(0px, 5.5vw, 88px); }
.bl-hero__row { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: clamp(22px, 2.6vw, 44px); }
.bl-hero__lead {
  flex: 1 1 min(100%, 340px); max-width: 46ch;
  font-size: clamp(17px, 1.15vw, 19px); line-height: 1.55; color: rgba(233,226,215,.82);
  animation: bl-soft .9s cubic-bezier(.16,1,.3,1) .95s both;
}
.bl-hero__actions {
  flex: 0 0 auto; display: flex; flex-wrap: wrap; align-items: center; gap: 16px clamp(20px, 2.4vw, 34px);
  animation: bl-soft .9s cubic-bezier(.16,1,.3,1) 1.15s both;
}
.bl-hero__facts { border-top: 1px solid rgba(233,226,215,.3); animation: bl-soft .9s cubic-bezier(.16,1,.3,1) 1.32s both; }
.bl-hero__factsinner {
  max-width: 1560px; margin: 0 auto; padding: clamp(15px, 1.5vw, 22px) clamp(20px, 4vw, 72px);
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px clamp(20px, 3vw, 48px);
  font-size: 13px; letter-spacing: 0.06em; line-height: 1.7; color: #777066;
}

/* ============================================================
   02 · Интерьер как событие
   ============================================================ */
.bl-intro__grid {
  max-width: 1560px; margin: clamp(56px, 7vw, 104px) auto 0; padding: 0 clamp(20px, 4vw, 72px);
  display: flex; flex-wrap: wrap; align-items: flex-start; gap: clamp(32px, 4vw, 64px);
}
.bl-intro__left { flex: 1 1 min(100%, 560px); align-self: stretch; }
.bl-intro__sticky { position: var(--sticky, sticky); top: 14vh; }
.bl-intro__fig { position: relative; margin: 0; overflow: visible; }
.bl-intro__fig img { display: block; width: 100%; height: auto; }
.bl-intro__figcap { position: absolute; top: 100%; left: 0; margin-top: 16px; font-size: 13px; letter-spacing: 0.06em; color: #777066; white-space: nowrap; }
.bl-intro__right { flex: 1 1 min(100%, 320px); padding-right: 0; display: flex; flex-direction: column; gap: clamp(40px, 5vw, 84px); }
.bl-intro__lead { max-width: 44ch; margin-top: clamp(0px, 1vw, 14px); font-size: clamp(17px, 1.15vw, 19px); line-height: 1.55; color: rgba(233,226,215,.82); text-wrap: pretty; }
.bl-intro__shot { margin: 0; overflow: hidden; }
.bl-intro__shot img { width: 100%; height: auto; }
.bl-intro__shot--cover img { height: clamp(260px, 30vw, 420px); object-fit: cover; }
.bl-intro__shot--top img { height: clamp(260px, 30vw, 420px); object-fit: cover; object-position: 50% 42%; }
.bl-intro__shot--upper img { height: clamp(260px, 30vw, 420px); object-fit: cover; object-position: 50% 30%; }
.bl-intro__foot { max-width: 1560px; margin: clamp(80px, 10vw, 140px) auto 0; padding: 0 clamp(20px, 4vw, 72px); }
.bl-intro__note { margin-top: 22px; max-width: 40ch; font-size: 13px; letter-spacing: 0.06em; line-height: 1.7; color: #777066; }

/* ============================================================
   03 · Форматы мероприятий
   ============================================================ */
.bl-events { overflow: hidden; }
.bl-events__head {
  max-width: 1560px; margin: 0 auto; padding: 0 clamp(20px, 4vw, 72px);
  display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: clamp(22px, 2.6vw, 44px);
}
.bl-events__title { flex: 1 1 min(100%, 520px); }
.bl-events__note { flex: 0 1 min(100%, 250px); font-size: 13px; letter-spacing: 0.06em; line-height: 1.7; color: #777066; }
.bl-events__strip {
  margin-top: clamp(40px, 5vw, 76px); width: 100vw; margin-left: calc(50% - 50vw);
  overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch;
  display: flex; gap: clamp(16px, 1.6vw, 28px);
  padding: 0 calc((100vw - min(100vw, 1560px)) / 2 + clamp(20px, 4vw, 72px)) 20px;
  scroll-padding-left: calc((100vw - min(100vw, 1560px)) / 2 + clamp(20px, 4vw, 72px));
}
.bl-evcard { flex: 0 0 clamp(272px, 24vw, 352px); scroll-snap-align: start; display: flex; flex-direction: column; text-align: left; }
.bl-evcard__fig { margin: 0; overflow: hidden; height: clamp(300px, 29vw, 396px); }
.bl-evcard__fig img {
  width: 100%; height: 100%; object-fit: cover;
  transition: filter .6s cubic-bezier(.16,1,.3,1), transform .8s cubic-bezier(.16,1,.3,1);
}
.bl-evcard:hover .bl-evcard__fig img { filter: saturate(1.08) contrast(1.06) brightness(1.02); transform: scale(1.035); }
.bl-evcard__title {
  margin-top: clamp(18px, 1.8vw, 26px);
  font-family: var(--bl-display); font-weight: 900;
  font-size: clamp(1.28rem, 1.75vw, 1.9rem); letter-spacing: -0.024em; line-height: 1.12; color: #E9E2D7;
}
.bl-evcard__desc { margin-top: 12px; padding-top: 13px; border-top: 1px solid rgba(233,226,215,.14); font-size: clamp(14px, 0.95vw, 16px); line-height: 1.5; color: #777066; }
.bl-evcard__accent { margin-top: 10px; font-size: 13px; letter-spacing: 0.04em; line-height: 1.5; color: var(--accent, #A8843A); }

/* ============================================================
   04 · Что нужно от площадки
   ============================================================ */
.bl-org { background: #11100E; padding: 0; }
.bl-org__grid { display: flex; flex-wrap: wrap; align-items: stretch; }
.bl-org__fig { position: relative; flex: 1 1 min(100%, 460px); align-self: stretch; margin: 0; overflow: hidden; min-height: clamp(420px, 62vh, 760px); }
.bl-org__fig img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.bl-org__body { flex: 1 1 min(100%, 560px); display: flex; align-items: center; background: #1B1916; }
.bl-org__inner { width: 100%; max-width: 760px; padding: clamp(80px, 10vh, 140px) clamp(20px, 4vw, 80px); }
.bl-org__title { margin: 0 0 clamp(34px, 3.6vw, 56px); }
.bl-org__row {
  display: grid; grid-template-columns: clamp(38px, 3vw, 52px) 1fr; column-gap: clamp(16px, 1.6vw, 26px);
  align-items: start; padding: clamp(20px, 2.1vw, 30px) 0; border-top: 1px solid rgba(233,226,215,.14);
}
.bl-org__num { font-family: ui-monospace, Menlo, monospace; font-size: 12px; letter-spacing: 0.12em; line-height: 1.9; color: rgba(233,226,215,.32); }
.bl-org__name { margin: 0; font-family: var(--bl-display); font-weight: 900; font-size: clamp(1.24rem, 1.6vw, 1.8rem); letter-spacing: -0.024em; line-height: 1.16; color: #E9E2D7; }
.bl-org__desc { margin: 10px 0 0; max-width: 46ch; font-size: clamp(15px, 1vw, 17px); line-height: 1.55; color: #777066; }
.bl-org__end { border-top: 1px solid rgba(233,226,215,.14); }

/* ============================================================
   05 · Пространство
   ============================================================ */
.bl-space__main { margin-top: clamp(52px, 6.5vw, 96px); display: flex; flex-wrap: wrap; gap: clamp(28px, 3.5vw, 64px); }
/* видео вместо первого кадра: в потоке крутится беззвучное превью, по клику открывается окно просмотра */
.bl-space__fig--video { position: relative; cursor: pointer; }
.bl-space__video { display: block; width: 100%; height: auto; filter: saturate(1.06) contrast(1.09) brightness(.93); transition: filter .45s ease; }
.bl-space__fig--video:hover .bl-space__video { filter: saturate(1.06) contrast(1.09) brightness(.72); }
.bl-space__play {
  position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
  display: flex; align-items: center; justify-content: center;
  padding: 0; background: none; border: 0; pointer-events: none;   /* клик ловит вся карточка */
}
.bl-space__playicon {
  width: clamp(64px, 6vw, 88px); height: clamp(64px, 6vw, 88px); border-radius: 999px;
  display: flex; align-items: center; justify-content: center;
  background: rgba(17,16,14,.55); color: var(--accent, #A8843A);
  box-shadow: inset 0 0 0 1px rgba(233,226,215,.34); backdrop-filter: blur(4px);
  transition: background .35s, color .35s, transform .35s;
}
.bl-space__fig--video:hover .bl-space__playicon { background: var(--accent, #A8843A); color: #11100E; transform: scale(1.06); }
/* на мыши подсказку даёт курсор «смотреть» — кружок нужен только там, где курсора нет */
@media (hover: hover) and (pointer: fine) { .bl-space__play { display: none; } }
.bl-space__play svg { width: 42%; height: 42%; margin-left: 6%; }

.bl-space__gal { margin-top: clamp(36px, 4.5vw, 80px); display: flex; flex-wrap: wrap; align-items: flex-start; gap: clamp(28px, 3.5vw, 64px); }
/* вкладки этажей: показываем только активную панель */
.bl-space__tabs { margin-top: clamp(40px, 5vw, 72px); justify-content: center; gap: clamp(22px, 3vw, 48px); }
.bl-space__pane { display: none; }
.bl-space__pane.is-on { display: block; }
.bl-space__fig { margin: 0; overflow: hidden; }
.bl-space__fig img { width: 100%; height: auto; }
/* кадры галереи держим одной высоты в ряду — разные пропорции иначе рвут сетку и оставляют дыры */
.bl-space__gal .bl-space__fig img { height: clamp(220px, 25vw, 420px); object-fit: cover; }
/* слоты галереи — точные пропорции макета */
.bl-space__fig.s1 { flex: 1 1 min(100%, 620px); }
.bl-space__fig.s2 { flex: 1 1 min(100%, 420px); }
.bl-space__fig.s3 { flex: 1 1 min(100%, 300px); margin: clamp(0px, 3.5vw, 56px) 0 0; }
.bl-space__fig.s4 { flex: 1 1 min(100%, 240px); }
.bl-space__fig.s5 { flex: 1 1 min(100%, 340px); margin: clamp(0px, 2.5vw, 40px) 0 0; }
.bl-space__fig.s6 { flex: 0 1 min(100%, 300px); max-width: 460px; margin: clamp(0px, 1.5vw, 24px) 0 0; }
.bl-space__fig.s7 { flex: 1 1 min(100%, 400px); }
.bl-space__fig.s8 { flex: 0 1 min(100%, 260px); max-width: 320px; margin: clamp(0px, 3vw, 48px) 0 0; }

.bl-stats {
  margin-top: clamp(80px, 10vw, 140px); padding-top: clamp(32px, 3.5vw, 52px);
  border-top: 1px solid rgba(233,226,215,.14);
  display: flex; flex-wrap: wrap; gap: clamp(32px, 3.5vw, 56px) clamp(32px, 4vw, 72px);
}
/* цифры подняты между видео и галереей — там им нужен свой ритм, band с двумя линиями */
.bl-stats--top { margin-top: clamp(48px, 6vw, 84px); padding-bottom: clamp(32px, 3.5vw, 52px); border-bottom: 1px solid rgba(233,226,215,.14); }
.bl-stats--top + .bl-space__gal { margin-top: clamp(36px, 4.5vw, 72px); }
.bl-stat { flex: 1 1 min(100%, 170px); }
.bl-stat__label { font-size: 13px; letter-spacing: 0.06em; color: #777066; }
.bl-stat__value { margin-top: 12px; font-family: var(--bl-display); font-weight: 900; font-size: clamp(2.1rem, 3.3vw, 3.3rem); line-height: 1; letter-spacing: -0.045em; color: #E9E2D7; }
.bl-tag {
  display: inline-block; padding: 6px 10px; border-radius: 2px;
  box-shadow: inset 0 0 0 1px rgba(233,226,215,.18);
  font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: #777066;
}
.bl-stat__tag { margin-top: 14px; }
.bl-space__addr {
  margin-top: clamp(40px, 4.5vw, 72px); padding-top: clamp(28px, 3vw, 44px);
  border-top: 1px solid rgba(233,226,215,.14);
  display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 16px clamp(28px, 4vw, 64px);
}
.bl-space__addrtext { margin: 0; font-family: var(--bl-display); font-weight: 900; font-size: clamp(1.5rem, 2.4vw, 2.4rem); letter-spacing: -0.032em; line-height: 1.1; color: #E9E2D7; }
.bl-space__addrtext span { color: #777066; }

/* ============================================================
   06 · Форматы рассадки
   ============================================================ */
.bl-tabs {
  margin-top: clamp(48px, 6vw, 88px); display: flex; flex-wrap: wrap; gap: clamp(16px, 2.4vw, 38px);
  border-bottom: 1px solid rgba(233,226,215,.14); padding-bottom: 2px;
}
.bl-tab {
  padding: 0 0 13px; font-size: clamp(14px, 1.05vw, 16px); letter-spacing: 0.01em; color: #777066;
  border-bottom: 1px solid transparent; transition: color .35s, border-color .35s;
}
.bl-tab.is-on { color: #E9E2D7; border-bottom-color: var(--accent, #A8843A); }
.bl-layouts__body { margin-top: clamp(36px, 4.5vw, 72px); display: flex; flex-wrap: wrap; align-items: flex-start; gap: clamp(32px, 4vw, 72px); }
.bl-layouts__plans { flex: 1 1 min(100%, 520px); }
.bl-plan { display: none; }
.bl-plan.is-on { display: block; }
.bl-plan svg { display: block; width: 100%; height: auto; }
.bl-layouts__note { margin-top: 20px; font-size: 13px; letter-spacing: 0.05em; line-height: 1.6; color: #777066; }
.bl-params { flex: 1 1 min(100%, 300px); display: flex; flex-direction: column; }
.bl-params__set { display: none; }
.bl-params__set.is-on { display: contents; }
.bl-param {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 20px;
  padding: clamp(18px, 2vw, 26px) 0; border-top: 1px solid rgba(233,226,215,.14);
}
.bl-param:last-of-type { border-bottom: 1px solid rgba(233,226,215,.14); }
.bl-param__label { flex: 1 1 110px; font-size: 13px; letter-spacing: 0.06em; color: #777066; }
.bl-param__value { flex: 0 0 auto; font-family: var(--bl-display); font-weight: 900; font-size: clamp(1.5rem, 2vw, 2rem); line-height: 1; letter-spacing: -0.03em; color: #E9E2D7; }
.bl-param__value--text { flex: 1 1 auto; font-family: Onest, sans-serif; font-weight: 400; font-size: clamp(15px, 1.05vw, 17px); line-height: 1.5; letter-spacing: 0; color: #E9E2D7; }
.bl-param__tag { flex: 0 0 auto; padding: 5px 9px; border-radius: 2px; box-shadow: inset 0 0 0 1px rgba(233,226,215,.18); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: #777066; }
.bl-param__tag.is-yes { color: var(--accent, #A8843A); box-shadow: inset 0 0 0 1px var(--accent, #A8843A); }
.bl-params__cta { margin-top: clamp(28px, 3vw, 42px); align-self: flex-start; }
/* На flex каждая строка вставала по своей ширине значения и тега — колонки «плясали».
   Собираем все строки вкладки в одну сетку: метка · значение · тег.
   Вкладка-контейнер при is-on идёт display:contents, поэтому строки — прямые дети .bl-params. */
@supports (grid-template-columns: subgrid) {
  @media (min-width: 481px) {
    .bl-params {
      display: grid;
      /* колонка значений — по содержимому: «по запросу» есть в каждой вкладке,
         поэтому левая часть таблицы не прыгает при переключении вкладок.
         Теги забирают остаток и прижимаются вправо — правый край тоже общий. */
      grid-template-columns: minmax(96px, max-content) max-content minmax(max-content, 1fr);
      align-content: start;
    }
    .bl-param {
      display: grid; grid-column: 1 / -1; grid-template-columns: subgrid;
      align-items: center; column-gap: clamp(16px, 1.8vw, 28px); row-gap: 0;
    }
    .bl-param__label { align-self: center; }
    .bl-param__value { justify-self: end; text-align: right; }
    .bl-param__tag { justify-self: end; }
    .bl-params__cta { grid-column: 1 / -1; justify-self: start; }
  }
}
/* На совсем узком экране сетка не помещается — там строка остаётся flex,
   а тег переносится на свою строку. Значение и тег прижимаем вправо,
   чтобы правый край у всех строк шёл по одной вертикали — как на десктопе. */
@media (max-width: 480px) {
  .bl-param__label { flex: 0 1 auto; }
  .bl-param__value, .bl-param__value--text { flex: 0 1 auto; margin-left: auto; text-align: right; }
  /* разрыв строки внутри flex: тег всегда уходит под значение, иначе часть строк
     одноэтажные, часть двухэтажные — и правый край снова разъезжается */
  .bl-param::after { content: ''; flex-basis: 100%; height: 0; order: 2; }
  .bl-param__tag { order: 3; flex: 0 0 auto; margin-left: auto; }
}

/* ============================================================
   07 · Сценарий вечера
   ============================================================ */
.bl-journey__track { position: relative; margin-top: clamp(56px, 7vw, 100px); }
.bl-journey__line { position: absolute; top: 0; left: 0; right: 0; height: 1px; background: rgba(233,226,215,.14); }
.bl-journey__progress { position: absolute; top: 0; left: 0; width: 0%; height: 1px; background: #E9E2D7; }
.bl-journey__steps { display: flex; flex-wrap: wrap; gap: clamp(28px, 3vw, 56px); }
.bl-step { position: relative; flex: 1 1 min(100%, 210px); padding-top: clamp(26px, 3vw, 40px); opacity: 1; transition: opacity .6s ease; }
.bl-step:nth-child(2) { padding-top: calc(clamp(26px, 3vw, 40px) + clamp(0px, 2.6vw, 46px)); }
.bl-step:nth-child(3) { padding-top: calc(clamp(26px, 3vw, 40px) + clamp(0px, 5.2vw, 92px)); }
.bl-step:nth-child(4) { padding-top: calc(clamp(26px, 3vw, 40px) + clamp(0px, 7.8vw, 138px)); }
.bl-step__tick { position: absolute; top: clamp(26px, 3vw, 40px); left: calc(clamp(2rem, 3.2vw, 3.2rem) * 0.56); width: 1px; background: var(--accent, #A8843A); }
.bl-step:nth-child(2) .bl-step__tick { height: clamp(0px, 2.6vw, 46px); }
.bl-step:nth-child(3) .bl-step__tick { height: clamp(0px, 5.2vw, 92px); }
.bl-step:nth-child(4) .bl-step__tick { height: clamp(0px, 7.8vw, 138px); }
.bl-step__num { font-family: var(--bl-display); font-weight: 900; font-size: clamp(2rem, 3.2vw, 3.2rem); line-height: 1; letter-spacing: -0.035em; color: #E9E2D7; transition: color .6s ease; }
.bl-step__title { margin: clamp(16px, 1.6vw, 22px) 0 0; font-size: clamp(18px, 1.35vw, 22px); font-weight: 500; line-height: 1.25; color: #E9E2D7; }
.bl-step__desc { margin-top: 11px; max-width: 34ch; font-size: clamp(15px, 1vw, 17px); line-height: 1.55; color: #777066; }

/* ============================================================
   08 · Бар
   ============================================================ */
.bl-bar { background: #11100E; padding: 0 0 clamp(80px, 10vh, 140px); }
.bl-bar__hero { margin: 0; width: 100vw; margin-left: calc(50% - 50vw); height: clamp(360px, 66svh, 720px); overflow: hidden; }
.bl-bar__hero img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 52%; }
.bl-bar__body {
  max-width: 1560px; margin: 0 auto; padding: clamp(56px, 7vw, 104px) clamp(20px, 4vw, 72px) 0;
  display: flex; flex-wrap: wrap; align-items: flex-start; gap: clamp(32px, 4vw, 88px);
}
.bl-bar__title { flex: 1 1 min(100%, 480px); }
.bl-bar__rows { flex: 1 1 min(100%, 320px); display: flex; flex-direction: column; }
.bl-bar__row {
  display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 20px;
  padding: clamp(15px, 1.7vw, 22px) 0; border-top: 1px solid rgba(233,226,215,.14);
}
.bl-bar__row:last-of-type { border-bottom: 1px solid rgba(233,226,215,.14); }
.bl-bar__rowtitle { flex: 1 1 min(100%, 200px); font-family: var(--bl-display); font-weight: 900; font-size: clamp(1.15rem, 1.45vw, 1.6rem); letter-spacing: -0.024em; line-height: 1.16; color: #E9E2D7; }
.bl-bar__rowdesc { flex: 1 1 min(100%, 190px); font-size: clamp(14px, 0.95vw, 16px); line-height: 1.5; color: #777066; }
.bl-bar__cta { margin-top: clamp(30px, 3.4vw, 46px); align-self: flex-start; }

/* ============================================================
   09 · Для организаторов (B2B)
   ============================================================ */
.bl-b2b__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: clamp(28px, 3.4vw, 64px); }
.bl-b2b__title { flex: 1 1 min(100%, 540px); margin: 0; }
.bl-b2b__lead { flex: 1 1 min(100%, 380px); max-width: 52ch; margin: 0; font-size: clamp(16px, 1.1vw, 18px); line-height: 1.55; color: rgba(233,226,215,.82); text-wrap: pretty; }
.bl-b2b__grid {
  margin-top: clamp(40px, 5vw, 76px);
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, max(300px, calc(50% - 32px))), 1fr));
  column-gap: 64px;
}
.bl-b2b__card { position: relative; padding: clamp(26px, 3vw, 44px) clamp(20px, 2.4vw, 40px) clamp(26px, 3vw, 44px) 0; border-top: 1px solid rgba(233,226,215,.16); }
.bl-b2b__tick { position: absolute; top: -1px; left: 0; width: clamp(28px, 3vw, 46px); height: 1px; background: var(--accent, #A8843A); }
.bl-b2b__name { margin: 0; font-family: var(--bl-display); font-weight: 900; font-size: clamp(1.45rem, 2.1vw, 2.3rem); letter-spacing: -0.028em; line-height: 1.1; color: #E9E2D7; }
.bl-b2b__desc { margin: clamp(14px, 1.4vw, 20px) 0 0; max-width: 38ch; font-size: clamp(15px, 1.05vw, 17px); line-height: 1.55; color: #777066; }
.bl-b2b__cta { margin-top: clamp(40px, 4.6vw, 68px); }

/* ============================================================
   10 · Ваша концепция
   ============================================================ */
.bl-concept { overflow: hidden; }
.bl-concept__lead { margin: clamp(26px, 3vw, 40px) 0 0; max-width: 56ch; font-size: clamp(17px, 1.15vw, 19px); line-height: 1.55; color: rgba(233,226,215,.82); text-wrap: pretty; }
.bl-concept__strip {
  margin-top: clamp(48px, 6vw, 88px); width: 100vw; margin-left: calc(50% - 50vw);
  overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory;
  scroll-padding-left: calc((100vw - min(100vw, 1560px)) / 2 + clamp(20px, 4vw, 72px));
  -webkit-overflow-scrolling: touch;
}
.bl-concept__track { width: max-content; display: flex; gap: clamp(12px, 1.4vw, 22px); padding: 0 calc((100vw - min(100vw, 1560px)) / 2 + clamp(20px, 4vw, 72px)) 20px; }
.bl-concept__fig { flex: 0 0 auto; width: clamp(260px, 40vw, 600px); height: clamp(400px, 74svh, 800px); margin: 0; overflow: hidden; scroll-snap-align: start; }
.bl-concept__fig img { width: 100%; height: 100%; object-fit: cover; }
.bl-concept__note { margin: clamp(20px, 2.2vw, 30px) 0 0; font-size: 13px; letter-spacing: 0.06em; color: #777066; }

/* ============================================================
   11 · Кейсы / мудборд
   ============================================================ */
.bl-cases__lead { margin-top: clamp(26px, 3vw, 40px); max-width: 48ch; font-size: clamp(16px, 1.05vw, 18px); line-height: 1.55; color: #777066; }
.bl-cases__strip {
  margin-top: clamp(48px, 6vw, 88px); width: 100vw; margin-left: calc(50% - 50vw);
  overflow-x: auto; overflow-y: hidden; scroll-snap-type: x proximity;
  scroll-padding-left: calc((100vw - min(100vw, 1560px)) / 2 + clamp(20px, 4vw, 72px));
  -webkit-overflow-scrolling: touch;
}
.bl-cases__grid {
  width: max-content; display: grid; grid-auto-flow: column;
  /* седьмая колонка добавлена под кадры второго этажа — без неё они уходят в неявный трек и сплющиваются */
  grid-template-columns: clamp(230px, 26vw, 400px) clamp(215px, 25vw, 380px) clamp(150px, 17vw, 260px) clamp(180px, 21vw, 320px) clamp(215px, 25vw, 380px) clamp(150px, 17vw, 260px) clamp(195px, 22vw, 340px);
  grid-template-rows: repeat(3, clamp(148px, 19svh, 232px));
  gap: clamp(12px, 1.3vw, 20px);
  padding: 0 calc((100vw - min(100vw, 1560px)) / 2 + clamp(20px, 4vw, 72px)) 20px;
}
.bl-cases__fig { margin: 0; overflow: hidden; grid-row: span 1; }
.bl-cases__fig.tall { grid-row: span 2; }
.bl-cases__fig img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; }
.bl-cases__fig.pos40 img { object-position: 50% 40%; }
.bl-cases__fig.pos45 img { object-position: 50% 45%; }
.bl-cases__fig.pos35 img { object-position: 50% 35%; }

/* ============================================================
   12 · Что входит
   ============================================================ */
.bl-inc__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: clamp(24px, 3vw, 56px); }
.bl-inc__title { flex: 1 1 min(100%, 460px); margin: 0; }
.bl-inc__legend { flex: 0 1 auto; display: flex; flex-wrap: wrap; gap: 12px clamp(18px, 2vw, 30px); padding-bottom: 6px; }
.bl-inc__key { display: inline-flex; align-items: center; gap: 9px; font-family: ui-monospace, Menlo, monospace; font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: #777066; }
.bl-mark { flex: 0 0 auto; width: 9px; height: 9px; }
.bl-mark--in { background: var(--accent, #A8843A); }
.bl-mark--add { box-shadow: inset 0 0 0 1px rgba(233,226,215,.5); }
.bl-mark--talk { height: 1px; background: rgba(233,226,215,.3); }
.bl-inc__grid {
  margin-top: clamp(36px, 4.4vw, 68px);
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, max(300px, calc(50% - 32px))), 1fr));
  column-gap: 64px;
}
.bl-inc__row { display: flex; align-items: flex-start; gap: clamp(14px, 1.4vw, 20px); padding: clamp(15px, 1.6vw, 21px) 0; border-top: 1px solid rgba(233,226,215,.14); }
.bl-inc__row .bl-mark { margin-top: 9px; }
.bl-inc__row .bl-mark--talk { margin-top: 13px; }
.bl-inc__name { flex: 1 1 auto; font-family: var(--bl-display); font-weight: 900; font-size: clamp(1.05rem, 1.35vw, 1.45rem); letter-spacing: -0.022em; line-height: 1.24; color: rgba(233,226,215,.78); }
.bl-inc__row.is-in .bl-inc__name { color: #E9E2D7; }
.bl-inc__status { flex: 0 0 auto; font-family: ui-monospace, Menlo, monospace; font-size: 11px; letter-spacing: 0.12em; line-height: 1.9; text-transform: uppercase; color: #777066; }
.bl-inc__row.is-in .bl-inc__status { color: var(--accent, #A8843A); }
.bl-inc__filler { border-top: 1px solid rgba(233,226,215,.14); }

/* ============================================================
   13 · Стоимость
   ============================================================ */
.bl-price { background: var(--accent, #A8843A); color: #11100E; padding: clamp(96px, 13vh, 180px) 0; }
.bl-price__inner { max-width: 1560px; margin: 0 auto; padding: 0 clamp(20px, 4vw, 72px); display: flex; flex-direction: column; align-items: center; text-align: center; }
.bl-price__stroke { display: block; width: 1px; height: clamp(36px, 4vw, 60px); background: rgba(17,16,14,.34); }
.bl-price__title { max-width: 18ch; margin: clamp(28px, 3vw, 44px) 0 0; color: #11100E; }
.bl-price__lead { margin: clamp(24px, 2.8vw, 38px) 0 0; max-width: 46ch; font-size: clamp(18px, 1.4vw, 23px); line-height: 1.5; color: rgba(17,16,14,.78); text-wrap: pretty; }
.bl-price__cta { margin-top: clamp(34px, 4vw, 54px); }
.bl-price__tags {
  margin-top: clamp(44px, 5vw, 76px); padding-top: clamp(22px, 2.4vw, 34px);
  border-top: 1px solid rgba(17,16,14,.22);
  display: flex; flex-wrap: wrap; justify-content: center; gap: 10px clamp(18px, 2.4vw, 38px);
}
.bl-price__tag { font-family: ui-monospace, Menlo, monospace; font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(17,16,14,.6); }

/* ============================================================
   14 · FAQ
   ============================================================ */
.bl-faq__grid { display: flex; flex-wrap: wrap; align-items: flex-start; gap: clamp(40px, 5vw, 96px); }
.bl-faq__title { flex: 0 1 min(100%, 380px); max-width: none; }
.bl-faq__list { flex: 1 1 min(100%, 480px); }
.bl-faq__item { border-top: 1px solid rgba(233,226,215,.14); }
.bl-faq__item:last-child { border-bottom: 1px solid rgba(233,226,215,.14); }
.bl-faq__item summary { list-style: none; cursor: pointer; }
.bl-faq__item summary::-webkit-details-marker { display: none; }
.bl-faq__q {
  display: flex; align-items: baseline; gap: 20px; padding: clamp(20px, 2.2vw, 30px) 0;
  font-family: var(--bl-display); font-weight: 900;
  font-size: clamp(1.1rem, 1.55vw, 1.7rem); letter-spacing: -0.028em; line-height: 1.12; color: #E9E2D7;
}
.bl-faq__q > span:first-child { flex: 1; }
.bl-faq__plus { flex: 0 0 auto; font-size: 17px; line-height: 1; color: rgba(233,226,215,.42); transition: transform .35s cubic-bezier(.16,1,.3,1); }
.bl-faq__item[open] .bl-faq__plus { transform: rotate(45deg); }
.bl-faq__body { overflow: hidden; }
.bl-faq__a { max-width: 62ch; padding: 0 0 clamp(22px, 2.4vw, 30px); font-size: clamp(16px, 1.05vw, 18px); line-height: 1.55; color: #777066; }

/* ============================================================
   15 · Контакты
   ============================================================ */
.bl-contacts { overflow: hidden; }
.bl-contacts__map { position: absolute; inset: 0; z-index: 0; }
.bl-map { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
/* затемняем только подложку с тайлами — метка и копирайт остаются в своих цветах.
   Классы Яндекса версионные, поэтому цепляемся по вхождению. */
.bl-map [class*="-ground-pane"] { filter: invert(.94) hue-rotate(185deg) saturate(.42) brightness(.92) contrast(1.05) sepia(.22); }
/* копирайты держим видимыми и кликабельными — этого требуют условия Яндекса */
.bl-map [class*="-copyrights-pane"] { bottom: 46px; pointer-events: auto; }
/* метку поднимаем над затемняющими градиентами секции, иначе она тонет в них */
.bl-map [class*="-places-pane"], .bl-map [class*="-overlays-pane"] { z-index: 20; }

/* метка: точка в акценте и расходящиеся волны */
.bl-pin { position: relative; width: 18px; height: 18px; transform: translate(-50%, -50%); pointer-events: none; }
.bl-pin__dot {
  position: absolute; inset: 0; border-radius: 50%;
  background: var(--accent, #A8843A);
  box-shadow: 0 0 0 3px rgba(17,16,14,.6), 0 0 22px 4px rgba(168,132,58,.45), 0 10px 24px -8px rgba(168,132,58,.95);
}
.bl-pin__wave {
  position: absolute; left: 50%; top: 50%; width: 18px; height: 18px; margin: -9px 0 0 -9px;
  border-radius: 50%; box-shadow: inset 0 0 0 1px var(--accent, #A8843A);
  animation: bl-pin-wave 3s cubic-bezier(.16,1,.3,1) infinite;
}
.bl-pin__wave:nth-child(2) { animation-delay: 1.5s; }
@keyframes bl-pin-wave {
  0%   { transform: scale(1);   opacity: .85; }
  70%  { opacity: .12; }
  100% { transform: scale(5.5); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) { .bl-pin__wave { animation: none; opacity: .3; } }
/* затемняем только под карточкой контактов: в центре и справа карта с меткой открыта */
.bl-contacts__fadex { position: absolute; inset: 0; background: linear-gradient(to right, rgba(17,16,14,.96) 0%, rgba(17,16,14,.9) 34%, rgba(17,16,14,.45) 48%, rgba(17,16,14,0) 62%); }
.bl-contacts__fadey { position: absolute; inset: 0; background: linear-gradient(to bottom, #11100E 0%, rgba(17,16,14,.72) 9%, rgba(17,16,14,0) 26%, rgba(17,16,14,0) 74%, rgba(17,16,14,.72) 91%, #11100E 100%); }
.bl-contacts__body { position: relative; z-index: 1; }
.bl-contacts__card { max-width: 620px; background: #1B1916; box-shadow: inset 0 0 0 1px rgba(233,226,215,.14); padding: clamp(32px, 4vw, 56px); }
.bl-contacts__title { margin: 0; }
.bl-contacts__lead { margin: clamp(14px, 1.6vw, 20px) 0 0; max-width: 52ch; font-size: clamp(15px, 1.05vw, 17px); line-height: 1.55; color: rgba(233,226,215,.78); text-wrap: pretty; }
.bl-contacts__rows { margin-top: clamp(22px, 2.4vw, 32px); display: flex; flex-direction: column; }
.bl-contacts__row { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 20px; padding: 13px 0; border-top: 1px solid rgba(233,226,215,.14); }
.bl-contacts__row:last-child { border-bottom: 1px solid rgba(233,226,215,.14); }
.bl-contacts__label { flex: 0 0 120px; font-size: 13px; letter-spacing: 0.06em; color: #777066; }
.bl-contacts__value { flex: 1 1 auto; font-size: clamp(15px, 1.05vw, 17px); line-height: 1.5; color: #E9E2D7; }
.bl-contacts__phone { flex: 0 0 auto; font-size: clamp(15px, 1.05vw, 17px); line-height: 1.5; color: #E9E2D7; padding-bottom: 3px; border-bottom: 1px solid rgba(233,226,215,.24); transition: border-color .3s, color .3s; }
.bl-contacts__phone:hover { border-bottom-color: var(--accent, #A8843A); }
.bl-contacts__actions { margin-top: clamp(22px, 2.4vw, 32px); display: flex; flex-wrap: wrap; align-items: center; gap: 16px 26px; }
.bl-contacts__route { font-size: 15px; color: #E9E2D7; padding-bottom: 8px; border-bottom: 1px solid rgba(233,226,215,.34); transition: border-color .35s; }
.bl-contacts__route:hover { border-bottom-color: var(--accent, #A8843A); }

/* ============================================================
   16 · Правовые страницы (политика, cookie)
   ============================================================ */
.bl-doc { padding-top: calc(clamp(80px, 10vh, 140px) + clamp(52px, 6vw, 88px)); }
.bl-doc__inner { max-width: 900px; margin: 0 auto; }
.bl-doc__title {
  max-width: 24ch; margin: 0 0 clamp(32px, 4vw, 56px);
  font-family: var(--bl-display); font-weight: 900;
  font-size: clamp(1.85rem, 3.9vw, 3.4rem); letter-spacing: -0.028em; line-height: 1.14; color: #E9E2D7;
}
.bl-doc__body { font-size: clamp(15px, 1.05vw, 17px); line-height: 1.65; color: rgba(233,226,215,.78); }
.bl-doc__body h2 {
  margin: clamp(38px, 4vw, 60px) 0 clamp(14px, 1.4vw, 20px);
  font-family: var(--bl-display); font-weight: 900;
  font-size: clamp(1.25rem, 1.9vw, 1.9rem); letter-spacing: -0.028em; line-height: 1.18; color: #E9E2D7;
}
.bl-doc__body h3 {
  margin: clamp(26px, 2.6vw, 36px) 0 10px;
  font-size: clamp(16px, 1.15vw, 19px); font-weight: 500; line-height: 1.3; color: #E9E2D7;
}
.bl-doc__body p { margin: 0 0 clamp(12px, 1.2vw, 18px); }
.bl-doc__body ul, .bl-doc__body ol { margin: 0 0 clamp(14px, 1.4vw, 20px); padding-left: 22px; }
.bl-doc__body li { margin-bottom: 8px; }
.bl-doc__body li::marker { color: var(--accent, #A8843A); }
.bl-doc__body a { color: #E9E2D7; border-bottom: 1px solid rgba(233,226,215,.28); transition: border-color .3s; }
.bl-doc__body a:hover { border-bottom-color: var(--accent, #A8843A); }
.bl-doc__body strong { color: #E9E2D7; font-weight: 500; }
.bl-doc__body hr { margin: clamp(30px, 3.4vw, 48px) 0; border: 0; height: 1px; background: rgba(233,226,215,.14); }
/* таблицы внутри документа */
.bl-doc__body table { width: 100%; margin: 0 0 clamp(18px, 2vw, 28px); border-collapse: collapse; font-size: clamp(13px, 0.95vw, 15px); }
.bl-doc__body th, .bl-doc__body td { padding: clamp(10px, 1.1vw, 15px) clamp(12px, 1.2vw, 18px); text-align: left; vertical-align: top; border-bottom: 1px solid rgba(233,226,215,.14); }
.bl-doc__body thead th { background: #1B1916; color: #E9E2D7; font-weight: 500; border-bottom-color: rgba(233,226,215,.24); }
.bl-doc__body tbody tr:nth-child(2n) td { background: rgba(233,226,215,.04); }
.bl-doc__body td { color: rgba(233,226,215,.72); }
@media (max-width: 700px) {
  .bl-doc__body table, .bl-doc__body thead, .bl-doc__body tbody, .bl-doc__body tr, .bl-doc__body th, .bl-doc__body td { display: block; }
  .bl-doc__body thead { display: none; }
  .bl-doc__body tbody tr { margin-bottom: 14px; padding-bottom: 6px; border-bottom: 1px solid rgba(233,226,215,.14); }
  .bl-doc__body tbody tr:nth-child(2n) td { background: transparent; }
  .bl-doc__body td { border: 0; padding: 4px 0; }
  .bl-doc__body td:first-child { color: #E9E2D7; font-weight: 500; }
}

.bl-doc__note {
  margin-top: clamp(30px, 3.4vw, 48px); padding: clamp(18px, 2vw, 26px);
  background: #1B1916; box-shadow: inset 0 0 0 1px rgba(233,226,215,.16);
  font-size: 14px; line-height: 1.6; color: #777066;
}

/* Страницы кита внутри тёмной темы (например, /cookie/): текст и таблицы */
body.bl-page .text-component { font-size: clamp(15px, 1.05vw, 17px); line-height: 1.65; color: rgba(233,226,215,.78); }
body.bl-page .text-component h1, body.bl-page .text-component h2,
body.bl-page .text-component h3, body.bl-page .text-component h4 {
  font-family: var(--bl-display); font-weight: 900;
  letter-spacing: -0.028em; line-height: 1.18; color: #E9E2D7;
}
body.bl-page .text-component h1 { font-size: clamp(1.85rem, 3.4vw, 3rem); }
body.bl-page .text-component h2 { font-size: clamp(1.35rem, 2.2vw, 2.1rem); }
body.bl-page .text-component h3, body.bl-page .text-component h4 { font-size: clamp(1.1rem, 1.5vw, 1.5rem); }
body.bl-page .text-component a { color: #E9E2D7; border-bottom: 1px solid rgba(233,226,215,.28); }
body.bl-page .text-component a:hover { border-bottom-color: var(--accent, #A8843A); }

body.bl-page .table { color: rgba(233,226,215,.8); }
body.bl-page .table__row { background-color: transparent !important; }
body.bl-page .table__cell {
  background-color: transparent !important;
  border-color: rgba(233,226,215,.14) !important;
  color: rgba(233,226,215,.8);
}
body.bl-page .table__row:nth-child(2n) .table__cell { background-color: rgba(233,226,215,.04) !important; }
body.bl-page .table__header .table__cell {
  background-color: #1B1916 !important;
  border-bottom-color: rgba(233,226,215,.24) !important;
  color: #E9E2D7; font-weight: 500;
}

/* ============================================================
   Подвал
   ============================================================ */
.bl-foot { background: #11100E; padding: clamp(80px, 10vh, 140px) 0 clamp(32px, 4vw, 52px); }
.bl-foot__top { display: flex; flex-wrap: wrap; align-items: flex-start; gap: clamp(40px, 5vw, 88px); padding-bottom: clamp(44px, 5vw, 76px); border-bottom: 1px solid rgba(233,226,215,.14); }
.bl-foot__brand { flex: 0 1 min(100%, 300px); }
.bl-foot__logo { display: block; height: clamp(96px, 9vw, 132px); width: auto; }
.bl-foot__tag { margin: clamp(20px, 2vw, 28px) 0 0; max-width: 28ch; font-size: clamp(15px, 1vw, 17px); line-height: 1.55; color: #777066; }
.bl-foot__cols { flex: 1 1 min(100%, 500px); display: flex; flex-wrap: wrap; gap: clamp(28px, 3vw, 56px); }
.bl-foot__col { flex: 1 1 min(100%, 210px); }
.bl-foot__col--contact { flex: 1 1 min(100%, 190px); }
.bl-foot__label { font-size: 13px; letter-spacing: 0.06em; color: #777066; }
.bl-foot__addr { margin: 14px 0 0; font-size: clamp(16px, 1.1vw, 18px); line-height: 1.5; color: #E9E2D7; }
.bl-foot__phone { display: inline-block; margin-top: 14px; font-size: clamp(16px, 1.1vw, 18px); line-height: 1.5; color: #E9E2D7; border-bottom: 1px solid rgba(233,226,215,.24); padding-bottom: 3px; transition: border-color .3s; }
.bl-foot__phone:hover { border-bottom-color: var(--accent, #A8843A); }
.bl-foot__social { display: inline-block; margin-top: 12px; font-size: clamp(15px, 1vw, 17px); line-height: 1.5; color: #777066; border-bottom: 1px solid rgba(233,226,215,.16); padding-bottom: 3px; transition: color .3s, border-color .3s; }
.bl-foot__social:hover { color: #E9E2D7; border-bottom-color: var(--accent, #A8843A); }
.bl-foot__hours { margin-top: 14px; display: flex; flex-direction: column; gap: 9px; }
.bl-foot__hour { display: flex; justify-content: space-between; gap: 16px; font-size: clamp(14px, 0.95vw, 16px); line-height: 1.4; color: #E9E2D7; }
.bl-foot__hour span { color: #777066; }
.bl-foot__bottom { margin-top: clamp(24px, 2.6vw, 36px); display: flex; flex-wrap: wrap; gap: 12px 32px; align-items: baseline; }
.bl-foot__copy { font-size: 13px; letter-spacing: 0.05em; color: #777066; }
.bl-foot__legal { margin-left: auto; display: flex; flex-wrap: wrap; gap: 8px clamp(18px, 2vw, 30px); }
.bl-foot__policy { font-size: 13px; letter-spacing: 0.05em; color: #777066; border-bottom: 1px solid rgba(233,226,215,.16); padding-bottom: 2px; transition: color .3s, border-color .3s; }
.bl-foot__policy:hover { color: #E9E2D7; border-bottom-color: var(--accent, #A8843A); }

/* ============================================================
   Лайтбокс, модалка заявки, плавающая кнопка
   ============================================================ */
.bl-lb {
  position: fixed; inset: 0; z-index: 990; display: none; align-items: center; justify-content: center;
  padding: clamp(16px, 4vw, 56px); background: rgba(17,16,14,.94); opacity: 0; transition: opacity .3s ease; cursor: zoom-out;
}
.bl-lb__fig { margin: 0; max-width: 100%; max-height: 100%; display: flex; flex-direction: column; align-items: center; gap: 16px; }
.bl-lb__img { max-width: 100%; max-height: 82svh; width: auto; height: auto; object-fit: contain; }
.bl-lb__video { display: none; max-width: 100%; max-height: 82svh; width: auto; height: auto; background: #000; cursor: default; }
.bl-lb.is-video .bl-lb__img { display: none; }
.bl-lb.is-video .bl-lb__video { display: block; }
.bl-lb__cap { font-size: 13px; letter-spacing: 0.06em; color: #777066; }
.bl-lb__close { position: absolute; top: 14px; right: clamp(14px, 3vw, 34px); width: 48px; height: 48px; font-size: 30px; line-height: 1; color: #777066; }

/* Модалка заявки — разметка и логика кита (#form-callback-opener), вид — макета */
/* поднимаем над шапкой (800) и зерном (900) — как модалка в макете */
#form-callback-opener.modal { z-index: 980; background: rgba(17,16,14,.86); backdrop-filter: blur(6px); padding: clamp(12px, 3vw, 40px); }
#form-callback-opener .modal__content {
  width: 100%; max-width: 640px; max-height: 92svh; overflow-y: auto;
  background: #1B1916; box-shadow: inset 0 0 0 1px rgba(233,226,215,.16); border-radius: 0;
  padding: clamp(26px, 3.4vw, 52px);
}
#form-callback-opener #form-callback-title {
  max-width: 20ch; margin: 0;
  font-family: var(--bl-display); font-weight: 900;
  font-size: clamp(1.5rem, 2.6vw, 2.4rem); letter-spacing: -0.028em; line-height: 1.14; color: #E9E2D7;
}
#form-callback-opener #form-callback-description {
  margin: 16px 0 0; max-width: 52ch;
  font-size: clamp(15px, 1.05vw, 17px); line-height: 1.55; color: #777066;
}
#form-callback-opener form { margin: clamp(26px, 3vw, 40px) 0 0; }
#form-callback-opener .flex-column { gap: clamp(18px, 2.2vw, 30px); }
#form-callback-opener .form-control {
  width: 100%; padding: 14px 0 11px; background: transparent; border: 0;
  border-bottom: 1px solid rgba(233,226,215,.24); border-radius: 0; box-shadow: none;
  color: #E9E2D7; font-family: Onest, sans-serif; font-size: 16px; line-height: 1.5;
  transition: border-color .3s;
}
#form-callback-opener .form-control::placeholder { color: #777066; opacity: 1; }
#form-callback-opener .form-control:focus { outline: none; box-shadow: none; border-bottom-color: var(--accent, #A8843A); }
#form-callback-opener .margin-top-sm { margin-top: clamp(22px, 2.4vw, 30px); }
/* галочку рисует кит через label::before — перекрашиваем под тёмную карточку */
#form-callback-opener .checkbox + label { padding-left: 30px; font-size: 13px; line-height: 1.55; color: #777066; }
#form-callback-opener .checkbox + label::before {
  width: 18px; height: 18px; top: -0.05em;
  margin-left: -30px; margin-right: 12px;
  background-color: transparent; background-size: 12px 12px;
  border: 1px solid rgba(233,226,215,.4); border-radius: 2px; box-shadow: none;
}
#form-callback-opener .checkbox:not(:checked):not(:focus) + label:hover::before { border-color: rgba(233,226,215,.7); }
#form-callback-opener .checkbox:checked + label::before {
  background-color: var(--accent, #A8843A); border-color: var(--accent, #A8843A); box-shadow: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2311100E' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12.5l5 5 11-11'/%3E%3C/svg%3E");
}
#form-callback-opener .checkbox + label a { color: #E9E2D7; border-bottom: 1px solid rgba(233,226,215,.24); }
#form-callback-opener .checkbox + label a:hover { border-bottom-color: var(--accent, #A8843A); }
#form-callback-opener #form-callback-submit {
  background: var(--accent, #A8843A); color: #11100E;
  font-family: Onest, sans-serif; font-size: 15px; font-weight: 500; letter-spacing: 0.02em;
  padding: 19px 32px; border: 0; border-radius: 2px; box-shadow: inset 0 0 0 1px var(--accent, #A8843A);
  transition: background .35s cubic-bezier(.16,1,.3,1), color .35s, opacity .35s;
}
#form-callback-opener #form-callback-submit:hover:not([disabled]) { background: transparent; color: var(--accent, #A8843A); }
#form-callback-opener #form-callback-submit[disabled] { opacity: .45; cursor: not-allowed; }
@media (min-width: 701px) { #form-callback-opener #form-callback-submit { width: auto; } }
#form-callback-opener .modal__close-btn { color: #777066; transition: color .3s; }
#form-callback-opener .modal__close-btn:hover { color: #E9E2D7; }
/* экран «заявка отправлена» подставляется скриптом кита */
#form-callback-opener .text-lg { font-family: var(--bl-display); font-weight: 900; letter-spacing: -0.028em; color: #E9E2D7; }
#form-callback-opener .color-contrast-medium { color: #777066; }
#form-callback-opener .color-success { color: var(--accent, #A8843A); }

/* Плашка про cookie — оформление лендинга, согласие живёт 180 дней */
.bl-cookie {
  position: fixed; z-index: 760;
  left: clamp(20px, 4vw, 48px); bottom: clamp(20px, 3vw, 40px);
  display: none; align-items: center; gap: clamp(16px, 2vw, 26px);
  max-width: 520px; padding: clamp(16px, 1.8vw, 22px) clamp(18px, 2vw, 26px);
  background: #1B1916; box-shadow: inset 0 0 0 1px rgba(233,226,215,.16), 0 18px 40px -20px rgba(0,0,0,.9);
}
.bl-cookie.is-on { display: flex; }
.bl-cookie__text { margin: 0; font-size: 13px; line-height: 1.55; color: #777066; }
.bl-cookie__text a { color: #E9E2D7; border-bottom: 1px solid rgba(233,226,215,.24); transition: border-color .3s; }
.bl-cookie__text a:hover { border-bottom-color: var(--accent, #A8843A); }
.bl-cookie__btn {
  flex: 0 0 auto; background: var(--accent, #A8843A); color: #11100E;
  font-size: 14px; font-weight: 500; letter-spacing: 0.02em; padding: 12px 22px; border-radius: 2px;
  box-shadow: inset 0 0 0 1px var(--accent, #A8843A);
  transition: background .35s cubic-bezier(.16,1,.3,1), color .35s;
}
.bl-cookie__btn:hover { background: transparent; color: var(--accent, #A8843A); }

.bl-float {
  position: fixed; z-index: 700; right: clamp(20px, 4vw, 48px); bottom: clamp(20px, 3vw, 40px);
  opacity: 0; transform: translateY(14px); pointer-events: none;
  transition: opacity .5s cubic-bezier(.16,1,.3,1), transform .5s cubic-bezier(.16,1,.3,1);
}
.bl-float.is-on { opacity: 1; transform: none; pointer-events: auto; }
.bl-float a, .bl-float button {
  display: inline-block; background: var(--accent, #A8843A); color: #11100E;
  font-size: 15px; font-weight: 500; letter-spacing: 0.02em; padding: 18px 30px; border-radius: 2px;
  box-shadow: inset 0 0 0 1px var(--accent, #A8843A), 0 0 0 1px rgba(17,16,14,.4);
  transition: background .35s cubic-bezier(.16,1,.3,1), color .35s;
}
.bl-float a:hover, .bl-float button:hover { background: #11100E; color: #E9E2D7; }
.bl-float__icon { display: none; }   /* на десктопе кнопка текстовая, как в макете */

/* ---------- Скроллбар лент ---------- */
.bl-events__strip::-webkit-scrollbar, .bl-concept__strip::-webkit-scrollbar, .bl-cases__strip::-webkit-scrollbar { height: 3px; }
.bl-events__strip::-webkit-scrollbar-thumb, .bl-concept__strip::-webkit-scrollbar-thumb, .bl-cases__strip::-webkit-scrollbar-thumb { background: rgba(233,226,215,.24); }
.bl-events__strip::-webkit-scrollbar-track, .bl-concept__strip::-webkit-scrollbar-track, .bl-cases__strip::-webkit-scrollbar-track { background: rgba(233,226,215,.07); }

/* ---------- Прелоадер: состояния ---------- */
html[data-preloading] [data-anim] { animation-play-state: paused !important; }
html[data-preloaded] .bl-preload { display: none !important; }
html[data-preloaded] .bl-logo__img { opacity: 1 !important; }

/* ---------- Адаптив ---------- */
@media (max-width: 940px) {
  .bl-nav { display: none !important; }
  .bl-burger { display: inline-flex !important; }
  .bl-head__cta { display: none !important; }
  .bl-logo__img { height: 52px !important; }
}

@media (hover: hover) and (pointer: fine) {
  body.bl-page { cursor: none; }
}

@media (max-width: 700px) {
  .bl-grain { display: none !important; }
  .bl-cursor { display: none !important; }
  .bl-lb__fig { gap: 12px !important; }
  .bl-step { padding-top: 36px !important; }
  /* вертикальные засечки на узком экране не работают — даём каждому шагу акцентный штрих */
  /* штрих отводим от верхней линии прогресса — у первого шага они совпадали по высоте */
  .bl-step__tick { display: block !important; top: 16px !important; left: 0 !important; width: 32px !important; height: 1px !important; }
  .bl-org__fig { min-height: 46svh !important; }
  body.bl-page img { filter: none !important; }
  .bl-intro__sticky { position: static !important; }
  /* заголовки на мобильном: в макете они мелкие — укрупняем, трекинг макетный */
  .bl-hero__title { font-size: clamp(1.85rem, 8.8vw, 2.9rem) !important; letter-spacing: -0.022em !important; line-height: 1.14 !important; }
  .bl-hero__line:nth-child(3) .bl-hero__lineinner { padding-left: 0 !important; }
  .bl-h2 { font-size: clamp(1.6rem, 7.4vw, 2.3rem) !important; letter-spacing: -0.02em !important; line-height: 1.18 !important; text-wrap: balance; }
  .bl-evcard__title { font-size: 1.45rem; letter-spacing: 0em; }
  .bl-org__name { font-size: 1.4rem; letter-spacing: 0em; }
  .bl-b2b__name { font-size: 1.62rem; letter-spacing: 0em; }
  .bl-bar__rowtitle { font-size: 1.3rem; letter-spacing: 0em; }
  .bl-faq__q { font-size: 1.25rem; letter-spacing: 0em; line-height: 1.16; }
  .bl-inc__name { font-size: 1.15rem; letter-spacing: 0em; }
  .bl-step__title { font-size: 20px; }
  .bl-space__addrtext { font-size: 1.7rem; letter-spacing: 0em; }
  #form-callback-opener #form-callback-title { font-size: 1.65rem; letter-spacing: 0em; }
  body.bl-page section { padding-top: 80px !important; padding-bottom: 80px !important; }
  body.bl-page .bl-hero { padding-top: 88px !important; padding-bottom: 0 !important; }
  /* ритм между секциями на мобильном одинаковый: 80px снизу + 80px сверху.
     Собственные отступы блоков, которые ломали шаг, гасим. */
  body.bl-page .bl-bar { padding-top: 80px !important; }
  /* 66svh на телефоне съедало почти весь экран — фиксируем пропорцию кадра */
  .bl-bar__hero { height: auto !important; aspect-ratio: 4 / 3; }
  /* правовые страницы: заголовок не должен уходить под фиксированную шапку */
  body.bl-page .bl-doc { padding-top: 124px !important; }
  /* блок «Организаторам» на мобильном: фото во всю ширину, отступы живут внутри
     цветной панели — иначе заголовок липнет к фото, а текст к нижнему краю */
  body.bl-page .bl-org { padding: 0 !important; }
  .bl-org__inner { padding: clamp(40px, 10vw, 56px) clamp(20px, 5vw, 28px) clamp(48px, 12vw, 64px) !important; }
  /* полоске прокрутки нужен воздух, иначе она липнет к подписи карточки */
  .bl-events__strip, .bl-cases__strip, .bl-concept__strip, .bl-cases__grid, .bl-concept__track { padding-bottom: 14px; }
  .bl-inc__filler { display: none; }
  /* «Пространство»: на узком экране галерея встаёт в колонку — кадры целиком, подписи читаются */
  .bl-space__gal { flex-wrap: wrap !important; overflow: visible; gap: clamp(24px, 6vw, 32px); }
  .bl-space__gal > *, .bl-space__main > * { flex: 0 0 100% !important; max-width: 100% !important; margin: 0 !important; }
  /* «Кейсы»: мозаика из шести колонок на мобильном не читается — лента карточек со свайпом */
  body.bl-page #cases .bl-cases__grid { display: flex !important; grid-template-columns: none; grid-template-rows: none; gap: 12px; }
  body.bl-page #cases .bl-cases__fig { grid-row: auto !important; flex: 0 0 78vw; scroll-snap-align: start; }
  body.bl-page #cases [data-strip] figure { width: 78vw !important; height: 52svh !important; }
  body.bl-page [data-strip] figure { width: 82vw !important; height: 60svh !important; }
  .bl-tabs { flex-wrap: nowrap !important; overflow-x: auto; }
  .bl-tabs button { flex: 0 0 auto; }
  .bl-events__strip { flex-wrap: nowrap !important; }
  body.bl-page #events [data-strip] figure { width: 100% !important; height: 46svh !important; }
  body.bl-page #events .bl-evcard { flex-basis: 74vw !important; }
  /* прилипающая кнопка на мобильном — круглая иконка в углу, контент не загораживает */
  .bl-float { left: auto !important; right: 16px !important; bottom: calc(16px + env(safe-area-inset-bottom)) !important; }
  .bl-float a, .bl-float button {
    display: inline-flex !important; align-items: center; justify-content: center;
    width: 58px; height: 58px; padding: 0; border-radius: 999px;
    box-shadow: inset 0 0 0 1px var(--accent, #A8843A), 0 14px 30px -10px rgba(0,0,0,.9);
  }
  .bl-float__icon { display: block; width: 24px; height: 24px; }
  .bl-float__label { display: none; }
  /* кнопки на мобильном компактнее: у макета они по десктопным отступам и выглядят громоздко */
  .bl-btn, .bl-btn--dark { padding: 15px 24px; font-size: 14px; }
  .bl-btn--ghost { padding: 14px 22px; font-size: 14px; }
  .bl-menu__cta { padding: 16px 26px; font-size: 15px; }
  .bl-head__cta { padding: 11px 18px; }
  #form-callback-opener #form-callback-submit { padding: 15px 24px; font-size: 14px; }
  /* кнопки в «Связаться с нами» — по центру карточки */
  .bl-contacts__actions { justify-content: center; }
  /* политика — по левому краю, как и остальной подвал */
  .bl-foot__legal { margin-left: 0; }
  /* в подвале телефон и соцсети — каждый со своей строки */
  .bl-foot__col--contact { display: flex; flex-direction: column; align-items: flex-start; }
  /* большой нижний отступ был нужен под широкую прилипающую кнопку; теперь там кружок в углу */
  /* плашка cookie на мобильном — во всю ширину, кнопка-кружок поднимается над ней */
  .bl-cookie { left: 16px !important; right: 16px; bottom: calc(16px + env(safe-area-inset-bottom)); max-width: none; flex-wrap: wrap; }
  .bl-cookie__btn { width: 100%; }
  body.bl-has-cookie .bl-float { bottom: calc(var(--bl-cookie-h, 120px) + 30px + env(safe-area-inset-bottom)) !important; }
  .bl-foot { padding-bottom: calc(32px + env(safe-area-inset-bottom)) !important; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  [data-anim] { animation: none !important; opacity: 1 !important; transform: none !important; }
}
