@font-face {
  font-family: 'Cormorant Infant';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/f00.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Cormorant Infant';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/f01.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Cormorant Infant';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/f02.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;
}
@font-face {
  font-family: 'Cormorant Infant';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/f03.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;
}
@font-face {
  font-family: 'Cormorant Infant';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/f04.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Cormorant Infant';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/f05.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Cormorant Infant';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/f06.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;
}
@font-face {
  font-family: 'Cormorant Infant';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/f07.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;
}
@font-face {
  font-family: 'Cormorant Infant';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/f08.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Cormorant Infant';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/f09.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Cormorant Infant';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/f10.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;
}
@font-face {
  font-family: 'Cormorant Infant';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/f11.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;
}
@font-face {
  font-family: 'Cormorant Infant';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/f12.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Cormorant Infant';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/f13.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Cormorant Infant';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/f14.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;
}
@font-face {
  font-family: 'Cormorant Infant';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/f15.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;
}
@font-face {
  font-family: 'Cormorant Infant';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/f16.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Cormorant Infant';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/f17.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Cormorant Infant';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/f18.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;
}
@font-face {
  font-family: 'Cormorant Infant';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/f19.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;
}
@font-face {
  font-family: 'Cormorant Infant';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/f20.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Cormorant Infant';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/f21.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Cormorant Infant';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/f22.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;
}
@font-face {
  font-family: 'Cormorant Infant';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/f23.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;
}
@font-face {
  font-family: 'Cormorant Infant';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/f24.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Cormorant Infant';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/f25.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Cormorant Infant';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/f26.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;
}
@font-face {
  font-family: 'Cormorant Infant';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/f27.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;
}
@font-face {
  font-family: 'Cormorant Infant';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/f28.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Cormorant Infant';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/f29.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Cormorant Infant';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/f30.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;
}
@font-face {
  font-family: 'Cormorant Infant';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/f31.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;
}
@font-face {
  font-family: 'Didact Gothic';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/f32.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Didact Gothic';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/f33.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Didact Gothic';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/f34.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;
}
@font-face {
  font-family: 'Didact Gothic';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/f35.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;
}
@font-face {
  font-family: 'Lora';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/f36.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Lora';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/f37.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Lora';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/f38.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;
}
@font-face {
  font-family: 'Lora';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/f39.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;
}
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/f40.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/f41.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/f42.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;
}
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/f43.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;
}
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/f44.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/f45.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/f46.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;
}
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/f47.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;
}
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/f48.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/f49.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/f50.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;
}
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/f51.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;
}
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/f52.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/f53.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/f54.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;
}
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/f55.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;
}

  * { margin: 0; padding: 0; box-sizing: border-box; }
  html { scroll-behavior: smooth; }
  html, body { background: #F0F0F0; overflow-x: hidden; }
  body { font-family: 'Lora', serif; -webkit-font-smoothing: antialiased; }
  .abs { position: absolute; }
  .stage { width: 1440px; height: 20746px; position: relative; background: #F0F0F0; margin: 0 auto; }
  /* клип по вертикали (низ иллюстрации Чайтаньи) и по краям вьюпорта — НЕ по холсту 1440 */
  #stageBox { overflow: hidden; }
  .stage img { display: block; }
  /* full-bleed: элемент до краёв экрана, поверх центрированного холста 1440 */
  .fb { left: 50%; transform: translateX(-50%); }

  /* ===== Фиксированная шапка ===== */
  .topbar { position: fixed; top: 0; left: 0; right: 0; height: 75px; background: #F0F0F0; z-index: 1000; transition: box-shadow .3s ease; }
  .topbar.scrolled { box-shadow: 0 2px 16px rgba(0,0,0,.07); }
  .topbar-inner { width: 1440px; height: 75px; margin: 0 auto; position: relative; }
  .navlink { position: absolute; top: 33px; opacity: .9; text-align: center; color: #181C20; font-size: 20px; font-family: 'Cormorant Infant', serif; font-weight: 500; line-height: 16px; letter-spacing: .20px; text-decoration: none; transition: color .2s, opacity .2s; }
  .navlink:hover { opacity: 1; color: #BA484E; }
  .nav-reg { position: absolute; left: 1231px; top: 30px; opacity: .9; color: #BA484E; font-size: 24px; font-family: 'Lora', serif; text-transform: uppercase; line-height: 19.2px; letter-spacing: .24px; text-decoration: none; transition: opacity .2s; }
  .nav-reg:hover { opacity: 1; }
  .navlang { position: absolute; top: 32px; left: 1135px; opacity: .9; color: #BA484E; font-size: 20px; font-family: 'Lora', serif; font-weight: 700; letter-spacing: .6px; text-decoration: none; transition: opacity .2s; }
  .navlang:hover { opacity: 1; }
  .nav-divider { position: absolute; left: 30px; top: 74px; width: 1380px; height: 1px; background: #000; }
  .logo { position: absolute; left: 27px; top: 22px; width: 92px; height: auto; }

  /* ===== CTA (pill) ===== */
  .cta { position: absolute; left: 21px; top: 704px; width: 459px; height: 68px; background: #BA484E; border: .93px solid #BA484E; border-radius: 64.91px; display: flex; align-items: center; justify-content: center; text-decoration: none; transition: filter .25s ease, transform .25s ease; }
  .cta span { color: #F0F0F0; opacity: .95; font-size: 20px; font-family: 'Lora', serif; text-transform: uppercase; line-height: 16px; letter-spacing: .20px; }
  .cta:hover { filter: brightness(1.08); transform: translateY(-2px); }

  /* ===== Анимации ===== */
  .reveal { opacity: 0; transform: translateY(28px); transition: opacity 1.05s cubic-bezier(.22,.61,.36,1), transform 1.05s cubic-bezier(.22,.61,.36,1); }
  img.reveal { transform: translateY(28px) scale(1.03); }
  .reveal.in { opacity: 1; transform: translateY(0); }
  img.reveal.in { transform: translateY(0) scale(1); }
  .cta.reveal.in { transition: filter .25s ease, transform .25s ease; }
  .reveal-fade { opacity: 0; transition: opacity 1.2s ease; }
  .reveal-fade.in { opacity: 1; }
  .px { will-change: transform; }
  .no-js .reveal, .no-js .reveal-fade { opacity: 1; transform: none; }
  @media (prefers-reduced-motion: reduce) {
    .reveal, .m-rv { opacity: 1 !important; transform: none !important; transition: none !important; }
    /* reveal-fade — только opacity, transform им не нужен (иначе стирается центрирование параллакс-фонов) */
    .reveal-fade { opacity: 1 !important; transition: none !important; }
  }

  /* Кинематографичный reveal фото: медленный зум (Ken Burns) + fade */
  .reveal-img { opacity: 0; transform: scale(1.12); transition: opacity 1s ease, transform 1.6s cubic-bezier(.22,.61,.36,1); will-change: transform; }
  .reveal-img.in { opacity: 1; transform: scale(1); }
  .no-js .reveal-img { opacity: 1; transform: none; }

  /* Заголовок по словам: слова всплывают по очереди */
  .reveal-words > span { display: inline-block; opacity: 0; transform: translateY(26px); transition: opacity .8s ease, transform .85s cubic-bezier(.22,.61,.36,1); }
  .reveal-words.in > span { opacity: 1; transform: translateY(0); }
  .no-js .reveal-words > span { opacity: 1; transform: none; }

  @media (prefers-reduced-motion: reduce) {
    .reveal-img { opacity: 1 !important; transform: none !important; transition: none !important; }
    .reveal-words > span { opacity: 1 !important; transform: none !important; transition: none !important; }
  }

  /* ===== Фото блока 2 (скруглённые) ===== */
  .b2photo { object-fit: cover; }

  /* .px центрированием управляет JS (parallax): при reduced-motion ставит базовый transform без движения */

  /* Карточки цены: реакция на наведение */
  .price-card { transition: transform .3s ease, box-shadow .3s ease; will-change: transform; }
  .price-card:hover { transform: translateY(-8px); box-shadow: 0 22px 44px rgba(24,28,32,.18); }

  /* FAQ */
  .faq-row { display: flex; justify-content: space-between; align-items: baseline; color: #181C20; font-size: 20px; font-family: 'Lora', serif; font-weight: 700; line-height: 22px; letter-spacing: .20px; cursor: pointer; }
  .faq-row:hover .faq-q { color: #BA484E; }
  .faq-x { margin-left: 20px; font-size: 22px; flex: none; display: inline-block; transition: transform .28s ease; }
  .faq-row.open .faq-x { transform: rotate(90deg); }
  .prog-arrow:hover { color: #BA484E; }
  #progPhoto { transition: opacity .35s ease, transform .7s cubic-bezier(.22,.61,.36,1); }

  /* Скрыть скроллбар таймлайна (скролл работает, полоса не видна) */
  #timelineContainer { scrollbar-width: none; -ms-overflow-style: none; }
  #timelineContainer::-webkit-scrollbar {
    width: 0 !important;
    height: 0 !important;
    display: none !important;
    background: transparent !important;
  }

  /* ===================== МОБИЛЬНАЯ ВЕРСИЯ (≤600px) ===================== */
  #mobile { display: none; }
  @media (max-width: 600px) {
    .topbar, .stage { display: none !important; }
    #mobile { display: block; font-family: 'Lora', serif; color: #181C20; padding-top: 52px; }
    #mobile section { scroll-margin-top: 60px; }

    /* фиксированная шапка: бургер + регистрация (всегда видна при скролле) */
    .m-top { position: fixed; top: 0; left: 0; right: 0; z-index: 100; background: #F0F0F0; height: 52px; padding: 0 20px; display: flex; align-items: center; justify-content: space-between; border-bottom: .5px solid #181C20; }
    .m-burger { width: 36px; height: 20px; position: relative; background: none; border: 0; padding: 0; cursor: pointer; }
    .m-burger span { position: absolute; left: 0; width: 36px; height: 3px; background: #BA484E; transition: .3s ease; }
    .m-burger span:nth-child(1) { top: 2px; }
    .m-burger span:nth-child(2) { top: 9px; }
    .m-burger span:nth-child(3) { top: 16px; }
    .m-burger.open span:nth-child(1) { top: 9px; transform: rotate(45deg); }
    .m-burger.open span:nth-child(2) { opacity: 0; }
    .m-burger.open span:nth-child(3) { top: 9px; transform: rotate(-45deg); }
    .m-reg { color: #181C20; opacity: .9; font: 400 16px 'Lora', serif; text-transform: uppercase; letter-spacing: .16px; text-decoration: none; }
    .m-top-right { display: flex; align-items: center; gap: 16px; }
    .m-lang { color: #BA484E; font: 700 16px 'Lora', serif; text-transform: uppercase; letter-spacing: .16px; text-decoration: none; }

    .m-menu { position: fixed; top: 52px; left: 0; right: 0; background: #F0F0F0; border-bottom: .5px solid #181C20; transform: translateY(-130%); transition: transform .35s ease; z-index: 99; padding: 6px 20px 18px; }
    .m-menu.open { transform: translateY(0); }
    .m-menu a { display: block; padding: 14px 0; color: #181C20; font: 500 22px 'Cormorant Infant', serif; text-decoration: none; border-bottom: 1px solid rgba(0,0,0,.08); }
    .m-menu a:last-child { color: #BA484E; border-bottom: 0; }

    #mobile main { padding: 0 20px; overflow: hidden; }

    /* плавное появление мобильных секций при скролле */
    .m-rv { opacity: 0; transform: translateY(26px); transition: opacity .9s cubic-bezier(.22,.61,.36,1), transform .9s cubic-bezier(.22,.61,.36,1); }
    /* transform: none (не translateY(0)): иначе секция создаёт stacking context
       и элементы с z-index не могут лечь поверх соседних блоков (Чайтанья на стыке) */
    .m-rv.in { opacity: 1; transform: none; }
    .no-js .m-rv { opacity: 1; transform: none; }

    .m-eyebrow { margin-top: 16px; max-width: 150px; font: 700 12px/12px 'Lora', serif; letter-spacing: .12px; }
    /* резиновый размер: строка «в Джаганнатха-» всегда влезает, задумано 3 строки */
    /* заголовок всегда 3 строки на всю ширину экрана: span-строки + JS подгоняет кегль (fitH1) */
    .m-h1 { margin-top: 14px; font-family: 'Didact Gothic', sans-serif; font-weight: 400; font-size: calc((100vw - 40px) / 7.7); line-height: .8; }
    .m-h1 span { display: block; width: max-content; }
    .m-speaker-cap { margin-top: 34px; font: 700 20px/16px 'Cormorant Infant', serif; letter-spacing: .2px; }
    .m-speaker { margin-top: 12px; width: 100%; height: 140px; object-fit: cover; display: block; }
    .m-cta { margin-top: 11px; display: flex; align-items: center; justify-content: center; height: 140px; background: #BA484E; border-radius: 28px; color: #F0F0F0; font: 400 16px 'Lora', serif; text-transform: uppercase; letter-spacing: .16px; text-decoration: none; }
    .m-dates { margin-top: 11px; max-width: 220px; color: #BA484E; font: 400 26px/28.08px 'Lora', serif; text-transform: uppercase; letter-spacing: .26px; }
    .m-dates b { font-weight: 700; }
    .m-seats { margin-top: 24px; display: flex; align-items: baseline; }
    .m-seats .num { font: italic 500 60px/48px 'Cormorant Infant', serif; letter-spacing: .6px; }
    .m-seats .frac { font: italic 500 30px 'Cormorant Infant', serif; letter-spacing: .3px; }
    .m-seats .lbl { font: 700 16px/12.8px 'Cormorant Infant', serif; letter-spacing: .16px; margin-left: 20px; }
    .m-sub-wrap { margin: 48px auto; max-width: 236px; }
    .m-sub { text-align: center; font: 400 14px/15.68px 'Lora', serif; letter-spacing: .14px; }
    .m-sub + .m-sub { margin-top: 18px; }
    .m-gods { display: block; margin: 64px auto 56px; width: 190px; height: auto; }

    .m-overline { margin-top: 8px; text-align: center; font: 400 16px/17.6px 'Lora', serif; text-transform: uppercase; letter-spacing: .16px; }
    .m-h2 { margin-top: 8px; text-align: center; font: 400 36px/28.8px 'Didact Gothic', sans-serif; letter-spacing: .36px; }
    .m-p { font: 400 14px/15.68px 'Lora', serif; letter-spacing: .14px; }
    .m-p1 { margin-top: 40px; max-width: 240px; }
    .m-p2 { margin-top: 18px; margin-left: 28px; max-width: 295px; }
    .m-p3 { margin-top: 18px; margin-left: 50px; max-width: 295px; }
    .m-b2-photos { position: relative; height: 210px; margin: 22px -20px 48px; }
    .m-b2-photos img { position: absolute; object-fit: cover; }
    .m-b2-photos .p-a { width: 77px; height: 114px; left: 238px; top: 0; }
    .m-b2-photos .p-b { width: 79px; height: 104px; left: 151px; top: 93px; }

    .m-b3 { position: relative; margin: 0 -20px; padding: 24px 0 0; background: #BA494F; overflow: hidden; }
    .m-b3-inner { padding: 0 20px; position: relative; z-index: 2; }
    .m-b3 .m-h2 { margin: 0; text-align: left; max-width: 260px; color: #F0F0F0; }
    .m-b3-sub { margin-top: 16px; max-width: 310px; color: #F0F0F0; font: 400 14px/18px 'Lora', serif; letter-spacing: .14px; }
    /* двойное наложение: полупрозрачный крупный храм (bg) + цветной храм поверх */
    .m-b3-art { position: relative; margin-top: 20px; z-index: 1; overflow: hidden; }
    .m-b3-bg { position: absolute; left: 50%; bottom: -8px; transform: translateX(-56%); width: 152%; opacity: .45; z-index: 0; }
    .m-b3-temple { display: block; position: relative; z-index: 1; width: 104%; left: 50%; transform: translateX(-50%); margin-bottom: -5%; }
    /* узор-фестоны: крупнее, на кремовом, вплотную ПОД красной секцией (просветы показывают фон) */
    /* центрирование без transform: его перезаписывает reveal-анимация .m-rv */
    .m-b3-festoon { display: block; position: relative; z-index: 3; width: 151.5vw; margin-left: calc(50% - 75.75vw); margin-top: -1px; }
    .m-b3-door { display: block; margin: 40px auto; width: 182px; height: 256px; object-fit: cover; }

    /* Mobile Program / Route Section */
    .m-program { margin-top: 40px; padding-bottom: 48px; }
    .m-prog-sub { font-family: 'Lora', serif; font-size: 15px; line-height: 20px; color: #181C20; text-align: center; margin: 12px auto 34px; max-width: 300px; }
    .m-prog-timeline-wrap { position: relative; overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; padding-bottom: 28px; margin: 0 -20px; padding-left: 20px; padding-right: 20px; }
    .m-prog-timeline-wrap::-webkit-scrollbar { height: 0; }
    .m-prog-timeline { display: flex; align-items: flex-start; width: max-content; min-width: 100%; position: relative; border-bottom: 1px solid #181C20; padding-bottom: 16px; }
    .m-prog-dot { position: absolute; width: 14px; height: 14px; background: #BA484E; border-radius: 50%; bottom: -7px; left: 0; transition: left 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94); pointer-events: none; }
    .m-tl-item { flex-shrink: 0; width: 130px; margin-right: 20px; cursor: pointer; position: relative; user-select: none; }
    .m-tl-date { font-family: 'Cormorant Infant', serif; font-weight: 700; font-size: 17px; line-height: 20px; color: #181C20; transition: color 0.25s; }
    .m-tl-title { font-family: 'Cormorant Infant', serif; font-weight: 500; font-size: 14px; line-height: 17px; color: #181C20; margin-top: 6px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: color 0.25s; }
    .m-prog-card { margin-top: 28px; display: flex; flex-direction: column; }
    .m-prog-num { font-family: 'Cormorant Infant', serif; font-weight: 700; font-size: 20px; color: #BF595E; }
    .m-prog-title { font-family: 'Cormorant Infant', serif; font-weight: 700; font-size: 26px; color: #BA484E; line-height: 28px; margin-top: 6px; text-transform: uppercase; letter-spacing: .3px; }
    .m-prog-photo-wrap { position: relative; margin-top: 18px; }
    .m-prog-photo { width: 100%; height: 220px; object-fit: cover; border-radius: 4px; display: block; transition: opacity 0.35s ease, transform .7s cubic-bezier(.22,.61,.36,1); }
    /* стрелки-кружки поверх картинки, треугольник по центру */
    .m-prog-arrow { position: absolute; top: 50%; transform: translateY(-50%); width: 36px; height: 36px; padding: 0; border: 0; border-radius: 50%; background: rgba(255,255,255,.9); color: #181C20; cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: 22px; line-height: 0; box-shadow: 0 2px 8px rgba(0,0,0,.18); transition: background .2s; }
    .m-prog-arrow.prev { left: 12px; }
    .m-prog-arrow.next { right: 12px; }
    .m-prog-arrow:active { background: #fff; }
    .m-prog-info { display: flex; flex-direction: column; gap: 12px; margin-top: 22px; }
    .m-prog-katha { font-family: 'Cormorant Infant', serif; font-weight: 700; font-size: 17px; color: #181C20; line-height: 20px; }
    .m-prog-sched { font-family: 'Lora', serif; font-size: 16px; color: #181C20; line-height: 26px; }

    /* ---- Общие элементы мобильных секций ---- */
    .m-hr { border: 0; border-top: 1px solid rgba(24,28,32,.6); margin: 40px 0 0; }
    .m-cta-sec { padding: 44px 0 8px; text-align: center; }
    .m-cta-sec .q { margin: 0 auto; max-width: 272px; font: italic 500 30px/30px 'Cormorant Infant', serif; letter-spacing: .3px; }
    .m-btn { margin: 28px auto 0; display: flex; align-items: center; justify-content: center; height: 48px; max-width: 400px; background: #BA484E; border-radius: 32px; color: #F0F0F0; font: 400 16px 'Lora', serif; text-transform: uppercase; letter-spacing: .16px; text-decoration: none; }
    .m-h2-left { margin-top: 10px; text-align: left; font: 400 34px/33px 'Didact Gothic', sans-serif; letter-spacing: .34px; }
    .m-overline-left { font: 400 15px/16px 'Lora', serif; text-transform: uppercase; letter-spacing: .15px; }

    /* ---- Блок 4: Пять анг ---- */
    .m-b4 { padding-top: 48px; }
    /* иллюстрация Рупы Госвами свисает ниже разделителя, к пункту 1 (как в макете) */
    .m-b4-intro { margin-top: 22px; position: relative; }
    .m-b4-intro img { position: absolute; top: -11px; right: 6px; width: 40vw; max-width: 178px; height: auto; z-index: 0; }
    .m-b4-intro p { position: relative; z-index: 1; max-width: 40vw; font: 400 14px/16px 'Lora', serif; letter-spacing: .14px; margin-top: 12px; }
    /* список пяти анг лежит на белой подложке во всю ширину (как в макете) */
    .m-b4-list { margin: 28px -20px 0; padding: 0 20px; background: #fff; }
    .m-b4-list > .m-hr:first-child { width: 58%; margin: 0; }
    .m-b4-list > .m-hr:last-child { margin-top: 33px; }
    .m-b4-item { margin-top: 32px; display: flex; gap: 10px; }
    .m-b4-num { flex: none; width: 14px; color: #BA484E; opacity: .9; font: italic 500 30px/24px 'Cormorant Infant', serif; letter-spacing: .3px; }
    .m-b4-name { font: 600 20px/20px 'Cormorant Infant', serif; letter-spacing: .2px; }
    .m-b4-item p { margin-top: 8px; padding-right: 24px; font: 400 14px/16px 'Lora', serif; letter-spacing: .14px; }
    .m-b4-sub { margin-top: 52px; }
    .m-b4-sub h3 { color: #BA484E; font: italic 500 30px/32px 'Cormorant Infant', serif; }
    .m-b4-sub p { margin-top: 14px; max-width: 300px; font: 400 14px/16px 'Lora', serif; letter-spacing: .14px; }
    .m-b4-sub img { display: block; margin-top: 22px; width: 100%; height: auto; }
    .m-b4-sub img.narrow { width: 62%; margin-left: auto; margin-right: auto; }

    /* ---- Блок 5: Сева Киртан Катха (красный) ---- */
    .m-b5 { position: relative; margin: 56px -20px 0; padding: 40px 20px 44px; color: #F0F0F0; overflow: hidden; }
    .m-b5 > .bg { position: absolute; left: 0; top: -70px; width: 100%; height: calc(100% + 140px); object-fit: cover; object-position: center top; z-index: 0; }
    .m-b5 > .orn { position: absolute; left: 0; top: 0; width: 100%; height: auto; opacity: .25; mix-blend-mode: screen; z-index: 1; }
    .m-b5-inner { position: relative; z-index: 2; }
    .m-b5-inner .ovl { margin-top: 16px; text-align: center; color: #F0F0F0; }
    .m-b5-inner h2 { margin-top: 12px; text-align: center; font-family: 'Didact Gothic', sans-serif; font-weight: 400; font-size: min(96px, 24.5vw); line-height: .8; }
    .m-b5-sub { margin: 26px auto 0; max-width: 236px; text-align: center; font: 400 14px/16px 'Lora', serif; letter-spacing: .14px; }
    .m-b5-hr { border: 0; border-top: 1px solid rgba(240,240,240,.7); margin: 32px 0 0; }
    .m-b5-row { margin-top: 28px; display: flex; gap: 10px; align-items: flex-start; }
    .m-b5-row.rev { flex-direction: row-reverse; }
    /* зигзаг как в макете: катха смещена вправо, у парикрамы отступ текста, прасад не у края */
    .m-b5-row.ind1 { margin-left: 86px; }
    .m-b5-row.ind2 { padding-left: 67px; }
    .m-b5-row.pull { padding-right: 85px; }
    .m-b5-row img { flex: none; width: 80px; height: 114px; object-fit: cover; }
    .m-b5-row .t { font: italic 500 30px/30px 'Cormorant Infant', serif; opacity: .9; letter-spacing: .3px; }
    .m-b5-row .d { margin-top: 6px; font: 700 20px/20px 'Cormorant Infant', serif; letter-spacing: .2px; }

    /* ---- Блок 6: Что остаётся ---- */
    .m-b6 { padding-top: 48px; position: relative; }
    .m-b6-item { margin-top: 32px; position: relative; }
    .m-b6-item h3 { position: relative; z-index: 1; max-width: 290px; font: 600 20px/20px 'Cormorant Infant', serif; letter-spacing: .2px; }
    .m-b6-item p { position: relative; z-index: 1; margin-top: 10px; font: 400 14px/16px 'Lora', serif; letter-spacing: .14px; max-width: 308px; }
    /* тексты пунктов 2-3 уже, чтобы не залезать под мандалу (мандала на уровне пункта «Мысли») */
    .m-b6-item:nth-of-type(2) p { max-width: 300px; }
    .m-b6-item:nth-of-type(3) p { max-width: 225px; }
    /* мандала вне потока: float выталкивал Чайтанью ниже своего нижнего края */
    .m-b6-deity { position: absolute; right: -70px; top: -110px; width: 235px; height: auto; transform: rotate(-20deg); opacity: .4; z-index: 0; }
    /* Чайтанья стоит на стыке блоков, заходя на белую плиту «Книги», тянется к мандале */
    /* сдвиг влево за край: жёсткий край PNG уходит за экран, #mobile main overflow:hidden его срезает */
    .m-b6-chaitanya { display: block; width: 118%; height: auto; margin: -90px 0 -210px -46%; position: relative; z-index: 2; }

    /* ---- Блок 7: Книга ---- */
    /* «Книга» лежит на белой плите во всю ширину (макет: white 376×933) */
    .m-b7 { position: relative; margin: 44px -20px 0; padding: 36px 20px 28px; background: #fff; }
    .m-b7 + .m-hr { margin-top: 0; }
    .m-b7::before { content: ''; position: absolute; top: 0; right: 20px; left: 30%; border-top: .5px solid #181C20; }
    .m-b7 p { margin-top: 14px; max-width: 308px; font: 400 14px/16px 'Lora', serif; letter-spacing: .14px; }
    .m-b7 .photo { display: block; width: 64%; height: auto; margin: 34px auto 0; }
    .m-b7 .quote { margin: 40px auto 0; max-width: 335px; text-align: center; font: italic 500 24px/21.6px 'Cormorant Infant', serif; letter-spacing: .24px; }
    .m-b7 .author { margin: 20px auto 0; max-width: 316px; text-align: center; font: 700 16px/16px 'Cormorant Infant', serif; letter-spacing: .16px; }

    /* ---- Блок 8: Дети ---- */
    .m-b8 { padding-top: 48px; }
    .m-b8 .m-h2-left { max-width: 308px; }
    .m-b8 p { margin-top: 18px; max-width: 308px; font: 400 14px/16px 'Lora', serif; letter-spacing: .14px; }
    .m-b8-art { position: relative; margin: 120px -20px 0; }
    .m-b8-art .bg { position: absolute; left: 50%; top: -130px; transform: translateX(-50%); width: 128%; height: auto; opacity: .4; }
    .m-b8-art .kids { position: relative; display: block; width: 100%; height: 250px; object-fit: cover; margin-top: 84px; }

    /* ---- Блок 9: Ритм ретрита (тёмный) ---- */
    .m-b9 { position: relative; margin: 0 -20px; padding: 56px 20px 48px; color: #F0F0F0; overflow: hidden; }
    .m-b9 > .bg { position: absolute; left: 0; top: -70px; width: 100%; height: calc(100% + 140px); object-fit: cover; z-index: 0; }
    .m-b9 > .ov { position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: rgba(19,6,6,.34); z-index: 1; }
    .m-b9 > .orn { position: absolute; left: 0; top: 0; width: 100%; height: auto; opacity: .2; mix-blend-mode: screen; z-index: 1; }
    .m-b9-inner { position: relative; z-index: 2; }
    .m-b9-inner h2 { text-align: center; font: 400 36px/34px 'Didact Gothic', sans-serif; }
    .m-b9-circle { width: 272px; height: 272px; margin: 0 auto; background: rgba(186,118,73,.36); border: 1px solid #fff; border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
    .m-b9-circle:nth-of-type(2) { margin-top: 28px; }
    .m-b9-circle + .m-b9-circle { margin-top: -44px; }
    .m-b9-circle .t { font: 500 30px/30px 'Cormorant Infant', serif; letter-spacing: .3px; }
    .m-b9-circle .l { margin-top: 16px; font: 400 16px/25.6px 'Lora', serif; letter-spacing: .16px; }
    .m-festoon { display: block; position: relative; z-index: 3; width: 151.5vw; margin-left: calc(50% - 75.75vw); margin-top: -1px; }

    /* ---- Блок 11: Наши проводники (красный) ---- */
    .m-b11 { position: relative; margin: 0 -20px; padding: 52px 20px 48px; color: #F0F0F0; overflow: hidden; }
    /* фон приближён и смещён к резной стене/трону (люстры уходят за верх), чтобы верх блока был тёмным и текст читался */
    .m-b11 > .bg { position: absolute; left: -150%; top: -70px; width: 400%; height: calc(100% + 140px); object-fit: cover; object-position: center 85%; z-index: 0; }
    .m-b11 > .orn { position: absolute; left: 0; top: 0; width: 100%; height: auto; opacity: .25; mix-blend-mode: screen; z-index: 1; }
    .m-b11-inner { position: relative; z-index: 2; }
    .m-b11-inner h2 { font: 400 36px/34px 'Didact Gothic', sans-serif; }
    .m-b11-sub { margin-top: 16px; max-width: 282px; font: 400 14px/16px 'Lora', serif; letter-spacing: .14px; }
    .m-b11-photo { display: block; width: 65%; height: auto; margin: 32px 0 0; }
    .m-b11-photo.sm { width: 145px; height: 170px; object-fit: cover; margin: 44px 0 0 auto; }
    .m-b11-card { width: 100%; margin: 0; background: #F0F0F0; color: #181C20; padding: 26px 20px 30px; }
    .m-b11-card .lbl { color: #A44146; font: 400 16px/17.6px 'Lora', serif; text-transform: uppercase; letter-spacing: .16px; }
    .m-b11-card h3 { margin-top: 12px; font: italic 500 40px/32px 'Cormorant Infant', serif; letter-spacing: .4px; }
    .m-b11-card p { margin-top: 14px; max-width: 277px; font: 400 14px/16px 'Lora', serif; letter-spacing: .14px; }
    .m-b11-kirt { margin-top: 44px; display: flex; align-items: flex-start; }
    .m-b11-kirt .photos { flex: none; width: 34%; display: flex; flex-direction: column; padding-top: 67px; }
    .m-b11-kirt .photos img { width: 100%; height: auto; object-fit: cover; }
    .m-b11-kirt .m-b11-card { width: 66%; margin: 0; padding-bottom: 40px; }
    /* каждое имя напротив своего фото: высота строки = высоте фото (aspect 119:139) */
    .m-b11-kirt .m-b11-card h3:not(:last-of-type) { min-height: calc((100vw - 40px) * .4); }
    .m-b11-kirt .m-b11-card h3 + h3 { margin-top: 0; }

    /* ---- Блок 12: Организаторы ---- */
    .m-b12 { padding-top: 48px; }
    .m-b12 .head { text-align: center; }
    .m-b12 .head p.desc { margin: 16px auto 0; max-width: 322px; font: 400 14px/16px 'Lora', serif; letter-spacing: .14px; }
    .m-b12-item { margin-top: 52px; display: flex; gap: 20px; align-items: flex-start; }
    .m-b12-item.rev { flex-direction: row-reverse; text-align: right; }
    .m-b12-item img { flex: none; width: 115px; height: 158px; object-fit: cover; }
    .m-b12-item .n { margin-top: 0; font: 700 22px/22px 'Cormorant Infant', serif; letter-spacing: .22px; }
    .m-b12-item .r { margin-top: 6px; font: italic 400 20px/22px 'Lora', serif; letter-spacing: .2px; }

    /* ---- Блок 13: Стоимость ---- */
    .m-b13 { padding-top: 48px; }
    .m-b13 .head { text-align: center; }
    .m-price-card { margin-top: 26px; border-radius: 26px; padding: 30px 26px 28px; }
    .m-price-card.red { background: #BA484E; color: #F0F0F0; }
    .m-price-card.white { background: #fff; color: #181C20; }
    .m-price-card .w { font: italic 500 25px/25px 'Cormorant Infant', serif; }
    .m-price-card .lbl { margin-top: 12px; font: 400 17px/20px 'Lora', serif; text-transform: uppercase; letter-spacing: .17px; }
    .m-price-card.white .lbl { color: #BA484E; }
    .m-price-card .p { margin-top: 52px; font: italic 500 58px/58px 'Cormorant Infant', serif; }
    .m-b13-pre { margin-top: 30px; text-align: right; }
    .m-b13-pre .t { font: 700 16px/18px 'Lora', serif; letter-spacing: .16px; }
    .m-b13-pre .s { margin-top: 10px; font: italic 500 40px/32px 'Cormorant Infant', serif; letter-spacing: .4px; }
    .m-b13-pre .note { margin-top: 10px; max-width: 210px; margin-left: auto; font: 400 14px/17px 'Lora', serif; letter-spacing: .14px; }
    .m-b13-seats { margin-top: 30px; display: flex; align-items: baseline; color: #BA484E; }
    .m-b13-seats .num { font: italic 500 60px/48px 'Cormorant Infant', serif; letter-spacing: .6px; }
    .m-b13-seats .frac { font: italic 500 29px 'Cormorant Infant', serif; }
    .m-b13-seats .lbl { margin-left: 14px; font: 700 16px/13px 'Cormorant Infant', serif; letter-spacing: .16px; }
    .m-b13-small { margin-top: 18px; max-width: 322px; font: 400 14px/16px 'Lora', serif; letter-spacing: .14px; }
    .m-b13-lists { position: relative; margin-top: 20px; padding-bottom: 64px; }
    /* храм по макету: ч/б, 80% непрозрачности, режим наложения color-burn */
    .m-b13-lists .bg { position: absolute; right: -70%; bottom: 0; width: 210%; height: auto; filter: grayscale(1) brightness(1.7) contrast(.88); opacity: .6; mix-blend-mode: color-burn; z-index: 0;
      -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 32%); mask-image: linear-gradient(180deg, transparent 0%, #000 32%); }
    .m-b13-lists .in { position: relative; z-index: 1; }
    .m-b13-lists h3 { margin-top: 36px; font: italic 500 30px/32px 'Cormorant Infant', serif; letter-spacing: .3px; }
    .m-b13-lists ul { margin-top: 14px; padding-left: 18px; }
    .m-b13-lists li { margin-top: 9px; font: 400 14px/15.68px 'Lora', serif; letter-spacing: .14px; }
    .m-b13-note { margin-top: 30px; max-width: 303px; font: 700 16px/17.6px 'Lora', serif; letter-spacing: .16px; }

    /* ---- Блок 14: Джаганнатх ждёт тебя ---- */
    .m-b14 { position: relative; margin: 0 -20px 0; height: 330px; overflow: hidden; display: flex; align-items: center; justify-content: center; }
    .m-b14 .bg { position: absolute; left: 0; top: -70px; width: 100%; height: calc(100% + 140px); object-fit: cover; object-position: center 30%; }
    .m-b14 > .orn { position: absolute; left: 0; top: 0; width: 100%; height: auto; opacity: .2; mix-blend-mode: screen; z-index: 1; }
    .m-b14 .ov { position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: rgba(19,6,6,.35); }
    .m-b14 h2 { position: relative; color: #F0F0F0; text-align: center; font: 400 44px/41px 'Didact Gothic', sans-serif; }

    /* ---- Блок 15: FAQ ---- */
    .m-faq { padding-top: 48px; }
    .m-faq-item { border-bottom: 1px solid rgba(24,28,32,.6); padding: 24px 0; }
    .m-faq-item:first-of-type { margin-top: 16px; }
    .m-faq-q { display: flex; justify-content: space-between; gap: 16px; font: 700 17px/22px 'Lora', serif; cursor: pointer; }
    .m-faq-q .x { flex: none; font-size: 20px; display: inline-block; transition: transform .28s ease; }
    .m-faq-item.open .x { transform: rotate(90deg); }
    .m-faq-a { display: none; margin-top: 14px; font: 400 15px/20px 'Lora', serif; }
    .m-faq-item.open .m-faq-a { display: block; }

    /* ---- Блок 16: Финальный CTA ---- */
    .m-final { padding-top: 64px; text-align: center; }
    .m-final .altar { display: block; width: 200px; height: auto; margin: 0 auto; }
    .m-final h2 { margin-top: 36px; font: 400 40px/38px 'Didact Gothic', sans-serif; }
    .m-final p { margin: 18px auto 0; max-width: 330px; font: 400 14px/16px 'Lora', serif; letter-spacing: .14px; }
    .m-final .chaitanya { display: block; width: calc(100% + 120px); height: auto; margin: 52px -60px 0; }

    /* ---- Футер ---- */
    .m-footer { position: relative; margin: 0 -20px; background: #A44146; color: #F0F0F0; padding: 44px 20px 40px; overflow: hidden; }
    .m-footer .orn { position: absolute; left: 0; top: 0; width: 100%; height: auto; opacity: .2; mix-blend-mode: screen; }
    .m-footer .m-flogo { display: block; width: 96px; height: auto; margin: 14px auto 0; filter: brightness(0) invert(1); }
    .m-footer .lead { display: inline-block; margin-top: 40px; font: 400 18px/22px 'Lora', serif; color: inherit; text-decoration: underline; text-underline-offset: 3px; }
    .m-footer .cols { margin-top: 26px; display: flex; justify-content: space-between; gap: 20px; font: 400 15px/27px 'Lora', serif; }
    .m-footer .cols a { color: inherit; }
    .m-footer .copy { margin-top: 40px; text-align: center; font: 400 12px/16px 'Lora', serif; }
    .m-footer .site { margin-top: 14px; text-align: center; font: 400 12px/16px 'Lora', serif; color: rgba(240,240,240,.55); }
    .m-footer .site a { color: inherit; text-decoration: none; }
  }

/* Блок 4: на широких мобильных (планшет/узкое окно) не даём Рупе свисать на список */
@media (min-width: 481px) and (max-width: 600px) {
  .m-b4-intro { min-height: 248px; }
}
