/* cyrillic-ext */
@font-face {
  font-family: 'Caveat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/4956ec7b19798cb8418f.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: 'Caveat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/6276a2f5a5554c16b422.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Caveat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/f626b95c1efa95cf6b7c.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Caveat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/891951df5e8b5b0f0bc7.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: 'Caveat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/4956ec7b19798cb8418f.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: 'Caveat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/6276a2f5a5554c16b422.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Caveat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/f626b95c1efa95cf6b7c.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Caveat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/891951df5e8b5b0f0bc7.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: 'Caveat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/4956ec7b19798cb8418f.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: 'Caveat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/6276a2f5a5554c16b422.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Caveat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/f626b95c1efa95cf6b7c.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Caveat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/891951df5e8b5b0f0bc7.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/91b622f3d9d90c295a56.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/109ce34012f204b9794f.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/96ec6109d044a8f2b279.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/e48e58027030df56869b.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/a4d7cf345b8091e1d2c8.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/017fab69b4be8ffc08ca.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/cfa9a397d86f66c5c517.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/d80df8ff5aecd299a615.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/a4d7cf345b8091e1d2c8.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/017fab69b4be8ffc08ca.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/cfa9a397d86f66c5c517.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/d80df8ff5aecd299a615.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/a4d7cf345b8091e1d2c8.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/017fab69b4be8ffc08ca.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/cfa9a397d86f66c5c517.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/d80df8ff5aecd299a615.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/3c09135e88bbfcd848e9.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/447c49583b1b735cc6f5.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/2f7335119075b2079f1d.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/8c2def024c1bf31aacf3.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/3c09135e88bbfcd848e9.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/447c49583b1b735cc6f5.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/2f7335119075b2079f1d.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/8c2def024c1bf31aacf3.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/3c09135e88bbfcd848e9.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/447c49583b1b735cc6f5.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/2f7335119075b2079f1d.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/8c2def024c1bf31aacf3.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/3c09135e88bbfcd848e9.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/447c49583b1b735cc6f5.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/2f7335119075b2079f1d.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/8c2def024c1bf31aacf3.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/assets/fonts/3c09135e88bbfcd848e9.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/assets/fonts/447c49583b1b735cc6f5.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/assets/fonts/2f7335119075b2079f1d.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/assets/fonts/8c2def024c1bf31aacf3.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;
}
/* caveat
Copyright 2014 The Caveat Project Authors (https://github.com/googlefonts/caveat)

This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
http://scripts.sil.org/OFL


-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------

PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.

The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded, 
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.

DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.

"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).

"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).

"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.

"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.

PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:

1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.

2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.

3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.

4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.

5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.

TERMINATION
This license becomes null and void if any of the above conditions are
not met.

DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.

*/

/* cormorantgaramond
Copyright 2015 the Cormorant Project Authors (github.com/CatharsisFonts/Cormorant)

This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
https://scripts.sil.org/OFL


-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------

PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.

The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded, 
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.

DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.

"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).

"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).

"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.

"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.

PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:

1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.

2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.

3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.

4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.

5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.

TERMINATION
This license becomes null and void if any of the above conditions are
not met.

DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.

*/

/* manrope
Copyright 2018 The Manrope Project Authors (https://github.com/googlefonts/manrope)

This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
http://scripts.sil.org/OFL


-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------

PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.

The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded, 
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.

DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.

"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).

"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).

"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.

"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.

PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:

1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.

2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.

3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.

4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.

5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.

TERMINATION
This license becomes null and void if any of the above conditions are
not met.

DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.

*/

:root {
  --forest: #102019;
  --forest-2: #17271f;
  --forest-3: #283b2d;
  --paper: #f0eadc;
  --paper-2: #e9e1d1;
  --ink: #171813;
  --muted: #6a6a60;
  --line: rgba(25, 30, 24, .16);
  --ivory: #f5f0e3;
  --white: #fff;
  --display: "Cormorant Garamond", Georgia, serif;
  --sans: "Manrope", Arial, sans-serif;
  --script: "Caveat", cursive;
  --radius: 14px;
  --shell: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: var(--sans);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { color: inherit; }
svg { fill: none; stroke: currentColor; stroke-width: 1.45; stroke-linecap: round; stroke-linejoin: round; }
.shell { width: min(calc(100% - 44px), var(--shell)); margin-inline: auto; }

.site-header {
  position: absolute;
  inset: 0 0 auto;
  z-index: 50;
  color: var(--ivory);
}
.header-inner { height: 86px; display: flex; align-items: center; gap: 30px; }
.brand { display: inline-flex; align-items: center; gap: 8px; min-width: 150px; }
.brand-mark { width: 58px; height: 30px; opacity: .96; }
.brand-copy { display: grid; line-height: 1; }
.brand-copy strong { font-family: var(--display); font-weight: 500; letter-spacing: .04em; font-size: 22px; }
.brand-copy small { margin-top: 4px; font-size: 6px; letter-spacing: .18em; font-weight: 600; }
.main-nav { display: flex; align-items: center; gap: 24px; margin-left: auto; font-size: 12px; white-space: nowrap; }
.main-nav a { opacity: .88; transition: .25s; }
.main-nav a:hover { opacity: 1; transform: translateY(-1px); }
.header-actions { display: flex; align-items: center; gap: 8px; }
.icon-button, .menu-toggle { border: 0; background: transparent; padding: 9px; cursor: pointer; color: currentColor; }
.icon-button svg { width: 22px; height: 22px; }
.menu-toggle { display: none; width: 42px; height: 42px; }
.menu-toggle span { display: block; width: 24px; height: 1px; background: currentColor; margin: 6px auto; }

.button { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 14px; padding: 0 22px; border-radius: 12px; border: 1px solid transparent; font-size: 12px; transition: .25s; }
.button:hover { transform: translateY(-2px); }
.button-dark { color: var(--ivory); border-color: rgba(255,255,255,.55); background: rgba(18,34,25,.82); backdrop-filter: blur(12px); }
.button-outline { border-color: rgba(245,240,227,.78); color: var(--ivory); background: rgba(22,35,27,.35); }

.hero {
  position: relative;
  min-height: 690px;
  color: var(--ivory);
  background-color: #243028;
  background-image: var(--hero-image);
  background-position: center;
  background-size: cover;
  isolation: isolate;
}
.hero-shade {
  position: absolute; inset: 0; z-index: -1;
  background:
    linear-gradient(90deg, rgba(6,13,10,.72) 0%, rgba(6,13,10,.38) 44%, rgba(6,13,10,.12) 72%),
    linear-gradient(180deg, rgba(9,17,13,.35), transparent 32%, rgba(5,11,8,.52));
}
.hero-content { position: relative; min-height: 690px; padding-top: 122px; padding-bottom: 120px; display: flex; align-items: flex-start; }
.hero-copy { position: relative; width: 66%; }
.chapter-line { position: absolute; left: -54px; top: 90px; height: 230px; display: flex; flex-direction: column; align-items: center; justify-content: space-between; font-size: 11px; }
.chapter-line::before { content:""; position: absolute; inset: 25px auto 30px; width: 1px; background: rgba(255,255,255,.7); }
.chapter-number, .chapter-arrow { position: relative; z-index: 1; background: rgba(16,32,25,.26); padding: 4px; }
.hero-title { margin: 0; font-family: var(--display); font-weight: 400; line-height: .74; letter-spacing: -.045em; }
.hero-title span { display: block; font-size: clamp(68px, 8.4vw, 118px); white-space: nowrap; }
.hero-title strong {
  display: block;
  font-family: var(--display);
  font-weight: 500;
  font-size: clamp(112px, 15vw, 208px);
  letter-spacing: -.065em;
  margin-top: 14px;
  background-image:
    radial-gradient(circle at 18% 28%, rgba(68,63,52,.42) 0 1.4px, transparent 1.6px),
    radial-gradient(circle at 72% 62%, rgba(78,70,57,.30) 0 1.1px, transparent 1.4px),
    linear-gradient(var(--ivory), var(--ivory));
  background-size: 23px 19px, 17px 21px, 100% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.hero-kicker { margin: 28px 0 24px 92px; font-size: 15px; line-height: 1.45; letter-spacing: .29em; font-weight: 500; }
.hero-symbols { margin-left: 92px; display: flex; gap: 34px; }
.hero-symbols a { display: grid; justify-items: center; gap: 7px; font-size: 9px; letter-spacing: .1em; opacity: .9; }
.hero-symbols svg { width: 40px; height: 26px; }

.trip-search { position: absolute; left: 92px; right: 70px; bottom: 50px; min-height: 58px; display: grid; grid-template-columns: 1.35fr 1fr 1fr .88fr; align-items: stretch; padding: 6px; border-radius: 14px; background: rgba(244,239,226,.97); box-shadow: 0 16px 50px rgba(0,0,0,.25); color: var(--ink); }
.search-field { display: flex; align-items: center; gap: 12px; padding: 6px 16px; border-right: 1px solid rgba(19,31,24,.12); cursor: text; }
.search-field svg { width: 20px; height: 20px; color: var(--forest-3); flex: 0 0 auto; }
.search-field span { min-width: 0; display: grid; width: 100%; }
.search-field small { font-size: 10px; color: #727269; margin-bottom: 2px; }
.search-field input { width: 100%; min-width: 0; padding: 0; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: 12px; }
.search-field input::placeholder { color: #35372f; opacity: .82; }
.search-submit { border: 0; border-radius: 10px; color: var(--ivory); background: var(--forest-3); cursor: pointer; font-size: 14px; transition: .25s; }
.search-submit:hover { background: var(--forest); }

.torn-edge { position: absolute; z-index: 5; left: -2%; width: 104%; height: 42px; pointer-events: none; }
.torn-edge-paper { bottom: -2px; background: var(--paper); clip-path: polygon(0 74%, 3% 58%, 7% 69%, 11% 49%, 16% 65%, 21% 45%, 27% 59%, 33% 37%, 39% 58%, 45% 45%, 52% 62%, 58% 42%, 65% 61%, 71% 46%, 79% 65%, 85% 44%, 91% 60%, 96% 48%, 100% 59%, 100% 100%, 0 100%); }
.torn-edge-paper.bottom { top: auto; bottom: -2px; }

.paper-section {
  position: relative;
  background:
    radial-gradient(circle at 20% 10%, rgba(71,62,48,.035), transparent 22%),
    radial-gradient(circle at 82% 34%, rgba(71,62,48,.025), transparent 20%),
    linear-gradient(var(--paper), var(--paper));
}
.paper-section::after {
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.15;
  background-image: repeating-linear-gradient(0deg, rgba(66,53,37,.04) 0 1px, transparent 1px 5px);
  mix-blend-mode: multiply;
}
.formats { padding: 80px 0 74px; overflow: hidden; }
.section-heading { position: relative; z-index: 1; display: grid; grid-template-columns: 1.1fr .8fr; gap: 70px; align-items: end; }
.eyebrow { margin: 0 0 8px; font-size: 10px; font-weight: 600; letter-spacing: .28em; color: #494c43; }
.eyebrow-light { color: rgba(255,255,255,.76); }
.section-heading h2, .map-copy h2, .tours-topline h2, .reviews-heading h2, .about-strip h2 { font-family: var(--display); font-weight: 500; letter-spacing: -.04em; }
.formats-heading h2 { margin: 0; font-size: clamp(58px, 6.3vw, 86px); line-height: .82; }
.section-intro { align-self: center; max-width: 420px; justify-self: end; }
.section-intro p { font-size: 14px; line-height: 1.75; margin: 0 0 30px; }
.text-link { display: inline-flex; align-items: center; gap: 12px; padding-bottom: 4px; border-bottom: 1px solid rgba(22,28,23,.3); font-size: 12px; }
.sketch-divider { position: absolute; z-index: 1; left: 50%; top: 86px; width: 370px; opacity: .6; transform: translateX(-15%); }
.sketch-divider svg { width: 100%; stroke-width: 1; }

.format-grid { position: relative; z-index: 2; margin-top: 46px; display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; }
.format-card { position: relative; min-height: 310px; overflow: hidden; border-radius: 13px; color: white; background-color: var(--forest-3); background-image: linear-gradient(180deg, rgba(4,10,7,.05) 20%, rgba(5,12,8,.86) 100%), var(--card-image); background-position: center; background-size: cover; transition: transform .3s ease, box-shadow .3s ease; }
.format-card:hover { transform: translateY(-5px); box-shadow: 0 20px 32px rgba(37,32,24,.16); }
.format-card-copy { position: absolute; left: 15px; right: 14px; bottom: 16px; }
.format-card h3 { margin: 0 0 8px; font-family: var(--display); font-weight: 500; font-size: 28px; line-height: .86; }
.format-card p { margin: 0; font-size: 10px; line-height: 1.45; opacity: .94; }
.circle-arrow { position: absolute; right: 11px; bottom: 12px; display: grid; place-items: center; width: 29px; height: 29px; border-radius: 50%; background: var(--ivory); color: var(--forest); font-size: 16px; }
.branch { position: absolute; width: 140px; height: 220px; bottom: -45px; opacity: .6; filter: blur(.2px); }
.branch-left { left: -25px; border-left: 2px solid #314034; transform: rotate(-13deg); }
.branch-right { right: -45px; border-right: 2px solid #314034; transform: rotate(16deg); }

.map-section { position: relative; min-height: 570px; color: var(--ivory); background-color: #173126; background-image: var(--map-image); background-size: cover; background-position: center; isolation: isolate; }
.map-overlay { position:absolute; inset:0; z-index:-1; background: linear-gradient(90deg, rgba(8,23,16,.93) 0%, rgba(8,23,16,.62) 35%, rgba(8,23,16,.30) 70%, rgba(8,23,16,.62) 100%); }
.map-layout { min-height: 570px; display: grid; grid-template-columns: .75fr 1.25fr; gap: 30px; align-items: center; }
.map-copy { padding-bottom: 24px; }
.map-copy h2 { margin: 5px 0 20px; font-size: clamp(60px, 7vw, 94px); line-height: .78; }
.map-copy > p:not(.eyebrow) { max-width: 390px; font-size: 14px; line-height: 1.65; color: rgba(255,255,255,.9); }
.map-copy .button { margin-top: 18px; }
.map-board { position: relative; min-height: 440px; }
.map-pin { position: absolute; display: flex; align-items: center; gap: 7px; padding: 4px 11px 4px 4px; border-radius: 24px; background: var(--paper); color: var(--ink); font-size: 10px; box-shadow: 0 7px 20px rgba(0,0,0,.22); transition: .25s; }
.map-pin:hover { transform: translateY(-3px) scale(1.03); }
.pin-photo { width: 44px; aspect-ratio: 1; border-radius: 50%; border: 2px solid var(--paper); background-color: #879887; background-image: var(--pin-image); background-size: cover; background-position: center; box-shadow: 0 0 0 1px rgba(17,27,20,.6); }
.pin-ural { left: 29%; top: 8%; }.pin-karelia { left: 5%; top: 27%; }.pin-altai { left: 18%; top: 57%; }.pin-baikal { left: 53%; top: 46%; }.pin-caucasus { left: 72%; top: 27%; }.pin-kamchatka { right: 0; top: 6%; }.pin-turkey { left: 51%; top: 71%; }
.compass { position: absolute; right: 3%; bottom: 7%; display:grid; place-items:center; width: 92px; height: 92px; border: 1px solid rgba(255,255,255,.62); border-radius: 50%; font-size: 48px; font-weight: 200; opacity: .72; }

.tours { padding: 75px 0 48px; }
.tours-topline { position:relative; z-index:1; display: grid; grid-template-columns: 1.55fr .55fr; gap: 50px; align-items: end; }
.tours-topline h2 { margin: 0; font-size: clamp(46px, 5.1vw, 72px); line-height: .92; }
.tours-note p { margin: 0 0 22px; font-size: 12px; line-height: 1.6; color: #4f5048; }
.season-tabs { position:relative; z-index:2; margin: 22px 0 14px; display: flex; gap: 8px; }
.season-tab { border: 0; border-radius: 16px; padding: 7px 18px; background: transparent; color: #45463f; cursor:pointer; font-size: 11px; }
.season-tab.is-active { color: var(--ivory); background: var(--forest); }
.tour-grid { position:relative; z-index:2; display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.tour-card { overflow: hidden; border-radius: 12px; background: rgba(248,245,237,.8); border: 1px solid rgba(52,48,39,.06); transition: .25s; }
.tour-card[hidden] { display: none; }
.tour-card:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(46,39,28,.12); }
.tour-photo { position: relative; display:block; height: 170px; background-color: #647466; background-image: var(--tour-image); background-size:cover; background-position:center; }
.duration { position:absolute; top:9px; left:9px; padding:5px 10px; border-radius: 12px; background: rgba(16,32,25,.76); color:white; font-size:10px; backdrop-filter: blur(8px); }
.heart { position:absolute; top:5px; right:7px; border:0; background:transparent; color:white; font-size:28px; line-height:1; cursor:pointer; }
.heart.is-liked { color:#f4eee0; transform: scale(1.08); }
.tour-arrow { position:absolute; right:11px; bottom:10px; color:white; font-size:23px; text-shadow: 0 1px 5px rgba(0,0,0,.55); }
.tour-body { padding: 10px 11px 12px; }
.tour-body h3 { margin: 0 0 8px; font-size: 15px; font-weight: 700; }
.tour-date { margin: 0 0 10px; color:#67685f; font-size: 10px; }
.tour-meta { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.tour-meta strong { font-size: 18px; }
.tour-meta span { padding: 7px 9px; border-radius: 7px; background: var(--forest-3); color:var(--ivory); font-size:8px; white-space:nowrap; }

.reviews { padding: 48px 0 52px; }
.reviews-heading { position:relative; z-index:1; display:grid; grid-template-columns:1.45fr .55fr; gap:70px; align-items:end; }
.reviews-heading h2 { margin:0; font-size: clamp(45px, 5vw, 68px); line-height:.88; }
.reviews-heading > div:last-child p { font-size:12px; line-height:1.65; color:#57584f; margin:0 0 20px; }
.reviews-track { position:relative; z-index:1; display:grid; grid-template-columns:repeat(3, 1fr); gap:12px; margin-top:28px; }
.review-card { min-height: 155px; border-radius:12px; padding:16px; background:rgba(255,255,255,.42); border:1px solid rgba(54,49,40,.08); }
.review-person { display:flex; gap:10px; align-items:center; }
.avatar { width:48px; height:48px; flex:0 0 auto; border-radius:50%; background-color:#b5aa95; background-image:var(--avatar); background-size:cover; background-position:center; }
.review-person span:last-child { display:grid; }
.review-person strong { font-size:11px; }
.review-person small { margin-top:3px; font-size:8px; color:#79786e; }
.review-card > p { margin:12px 0 0 58px; font-size:10px; line-height:1.55; color:#484941; }
.reviews-controls { position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; margin-top:12px; }
.reviews-controls button { width:30px; height:30px; border-radius:50%; border:1px solid rgba(25,30,24,.28); background:transparent; cursor:pointer; }
.review-dots { display:flex; gap:6px; }
.review-dots span { width:6px; height:6px; border-radius:50%; background:#bbb4a4; }.review-dots span.is-active { background:var(--forest); }

.about-strip { position:relative; color:var(--ivory); background-color:#1c3025; background-image:var(--footer-image); background-size:cover; background-position:center; isolation:isolate; }
.about-overlay { position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg, rgba(10,24,17,.86), rgba(10,24,17,.44), rgba(10,24,17,.78)); }
.about-strip-inner { min-height: 160px; display:grid; grid-template-columns:1.1fr .8fr auto; gap:40px; align-items:center; }
.about-strip h2 { margin:0; font-size:42px; line-height:.87; }
.about-strip p { margin:0; max-width:340px; font-size:11px; line-height:1.6; color:rgba(255,255,255,.82); }

.site-footer { background:#102019; color:rgba(245,240,227,.9); }
.footer-main { min-height:92px; display:grid; grid-template-columns:160px 1fr auto; gap:32px; align-items:center; border-bottom:1px solid rgba(255,255,255,.14); }
.footer-nav { display:flex; gap:24px; justify-content:center; font-size:9px; }
.footer-socials { display:flex; gap:16px; font-size:8px; }
.footer-bottom { min-height:50px; display:flex; align-items:center; justify-content:space-between; gap:30px; font-size:7px; color:rgba(245,240,227,.57); }
.footer-bottom div { display:flex; gap:28px; }

@media (max-width: 1100px) {
  .main-nav { gap: 14px; font-size: 10px; }
  .header-cta { display:none; }
  .hero-copy { width:75%; }
  .trip-search { right:20px; left:60px; }
  .format-grid { grid-template-columns:repeat(3,1fr); }
  .format-card { min-height:350px; }
  .sketch-divider { opacity:.35; }
}

@media (max-width: 820px) {
  .shell { width:min(calc(100% - 28px), var(--shell)); }
  .site-header { position:absolute; }
  .header-inner { height:72px; }
  .main-nav { position:fixed; inset:72px 14px auto; display:none; padding:20px; border-radius:16px; background:rgba(11,25,18,.96); backdrop-filter:blur(18px); flex-direction:column; align-items:flex-start; gap:18px; font-size:14px; box-shadow:0 20px 50px rgba(0,0,0,.2); }
  .main-nav.is-open { display:flex; }
  .menu-toggle { display:block; }
  .icon-button { display:none; }
  .brand-copy strong { font-size:19px; }
  .brand-mark { width:48px; }
  .hero, .hero-content { min-height:780px; }
  .hero-content { padding-top:120px; }
  .hero-copy { width:100%; }
  .hero-title span { font-size:clamp(54px, 14vw, 78px); }
  .hero-title strong { font-size:clamp(86px, 24vw, 136px); }
  .hero-kicker { margin-left:0; font-size:11px; }
  .hero-symbols { margin-left:0; gap:18px; overflow-x:auto; padding-bottom:5px; }
  .hero-handwriting { display:none; }
  .chapter-line { display:none; }
  .trip-search { left:14px; right:14px; bottom:50px; grid-template-columns:1fr 1fr; gap:1px; padding:7px; }
  .search-field { border-right:0; border-bottom:1px solid rgba(19,31,24,.10); min-height:55px; }
  .search-submit { min-height:52px; grid-column:span 2; }
  .section-heading, .tours-topline, .reviews-heading { grid-template-columns:1fr; gap:20px; }
  .section-intro { justify-self:start; max-width:580px; }
  .sketch-divider { position:relative; top:auto; left:auto; transform:none; width:70%; margin:15px auto -5px; }
  .format-grid { grid-template-columns:repeat(2,1fr); }
  .map-layout { grid-template-columns:1fr; padding:70px 0 80px; }
  .map-board { min-height:380px; }
  .tour-grid { grid-template-columns:repeat(2,1fr); }
  .reviews-track { grid-template-columns:1fr; }
  .review-card { min-height:auto; }
  .about-strip-inner { grid-template-columns:1fr; gap:18px; padding:36px 0; }
  .about-strip h2 { font-size:50px; }
  .footer-main { grid-template-columns:1fr; gap:18px; padding:30px 0; }
  .footer-nav, .footer-socials { justify-content:flex-start; flex-wrap:wrap; }
  .footer-bottom { align-items:flex-start; flex-direction:column; padding:20px 0; }
  .footer-bottom div { flex-wrap:wrap; gap:12px 20px; }
}

@media (max-width: 560px) {
  .hero, .hero-content { min-height:720px; }
  .hero-title span { font-size:50px; }
  .hero-title strong { font-size:92px; margin-top:10px; }
  .hero-kicker { letter-spacing:.21em; line-height:1.55; }
  .hero-symbols { display:grid; grid-template-columns:repeat(5, 72px); gap:6px; }
  .trip-search { grid-template-columns:1fr; bottom:28px; }
  .search-submit { grid-column:auto; }
  .formats { padding-top:66px; }
  .formats-heading h2, .map-copy h2 { font-size:54px; }
  .format-grid { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:8px; margin-inline:-14px; padding-inline:14px; }
  .format-card { min-width:72vw; min-height:390px; scroll-snap-align:start; }
  .map-section { min-height:720px; }
  .map-layout { min-height:720px; }
  .map-board { min-height:320px; }
  .map-pin { transform:scale(.82); transform-origin:center; }
  .pin-kamchatka { right:-12px; }.pin-caucasus { left:66%; }.pin-baikal { left:44%; }.pin-ural { left:23%; }.pin-karelia { left:-8px; }.pin-altai { left:5%; }.pin-turkey { left:44%; }
  .compass { width:62px; height:62px; font-size:30px; right:0; bottom:2%; }
  .tours { padding-top:58px; }
  .tours-topline h2, .reviews-heading h2 { font-size:44px; }
  .season-tabs { overflow-x:auto; padding-bottom:5px; }
  .tour-grid { grid-template-columns:1fr; }
  .tour-photo { height:220px; }
  .reviews-heading h2 br { display:none; }
  .review-card > p { margin-left:0; }
  .about-strip h2 { font-size:44px; }
}

/* =========================================================
   V2 — правки по согласованному макету
   ========================================================= */

/* Фото остаются исходными: никаких filter / blur / saturation на самих изображениях. */
.hero-shade {
  background: linear-gradient(90deg,
    rgba(6,13,10,.62) 0%,
    rgba(6,13,10,.34) 34%,
    rgba(6,13,10,.10) 58%,
    rgba(6,13,10,0) 78%);
}

/* Более резкий, действительно «рваный» бумажный край. Он создаётся CSS,
   поэтому при замене hero.jpg / map-bg.jpg форма края не меняется. */
.torn-edge {
  left: -1%;
  width: 102%;
  height: 58px;
}
.torn-edge-paper {
  bottom: -1px;
  background: var(--paper);
  clip-path: polygon(
    0 58%, 1.2% 48%, 2.4% 55%, 3.7% 39%, 5.2% 53%, 6.6% 44%,
    8.1% 57%, 9.7% 42%, 11.2% 51%, 12.8% 36%, 14.4% 54%, 16% 46%,
    17.7% 59%, 19.5% 41%, 21.2% 52%, 23% 38%, 24.8% 55%, 26.6% 45%,
    28.5% 60%, 30.4% 43%, 32.3% 53%, 34.2% 37%, 36.1% 56%, 38% 47%,
    39.9% 61%, 41.8% 42%, 43.7% 52%, 45.6% 35%, 47.5% 55%, 49.4% 44%,
    51.3% 59%, 53.2% 40%, 55.1% 53%, 57% 37%, 58.9% 56%, 60.8% 46%,
    62.7% 60%, 64.6% 41%, 66.5% 52%, 68.4% 36%, 70.3% 55%, 72.2% 45%,
    74.1% 58%, 76% 40%, 77.9% 52%, 79.8% 37%, 81.7% 57%, 83.6% 44%,
    85.5% 60%, 87.4% 42%, 89.3% 54%, 91.2% 38%, 93.1% 56%, 95% 45%,
    96.7% 59%, 98.2% 42%, 100% 52%, 100% 100%, 0 100%
  );
}

/* Верхний рваный край у карты: светлая бумага как будто лежит поверх фотографии. */
.map-section::before,
.about-strip::before {
  content: "";
  position: absolute;
  z-index: 6;
  top: -1px;
  left: -1%;
  width: 102%;
  height: 54px;
  pointer-events: none;
  background: var(--paper);
  clip-path: polygon(
    0 0, 100% 0, 100% 44%, 98.4% 55%, 96.8% 43%, 95.2% 59%, 93.5% 46%,
    91.8% 60%, 90% 45%, 88.2% 56%, 86.4% 41%, 84.5% 58%, 82.6% 45%,
    80.7% 61%, 78.8% 43%, 76.9% 55%, 75% 39%, 73.1% 58%, 71.2% 45%,
    69.3% 60%, 67.4% 42%, 65.5% 55%, 63.6% 38%, 61.7% 57%, 59.8% 46%,
    57.9% 61%, 56% 42%, 54.1% 54%, 52.2% 37%, 50.3% 58%, 48.4% 44%,
    46.5% 60%, 44.6% 41%, 42.7% 55%, 40.8% 39%, 38.9% 57%, 37% 45%,
    35.1% 61%, 33.2% 43%, 31.3% 54%, 29.4% 38%, 27.5% 58%, 25.6% 44%,
    23.7% 60%, 21.8% 42%, 19.9% 55%, 18% 39%, 16.1% 57%, 14.2% 45%,
    12.3% 61%, 10.4% 43%, 8.5% 55%, 6.6% 39%, 4.7% 58%, 2.8% 44%, 0 56%
  );
}

/* Никаких декоративных линий поверх текста. */
.section-heading,
.formats-heading,
.section-intro {
  position: relative;
  z-index: 4;
}
.sketch-divider {
  z-index: 1;
  left: 42%;
  top: 128px;
  width: 285px;
  opacity: .46;
  transform: translateX(-50%);
  pointer-events: none;
}
.section-intro p {
  overflow: visible;
  text-wrap: pretty;
}

/* Полноценная карусель отзывов: 10 карточек, 3 / 2 / 1 одновременно. */
.reviews-carousel {
  position: relative;
  z-index: 2;
  overflow: hidden;
  margin-top: 30px;
  width: 100%;
}
.reviews-track {
  display: flex;
  grid-template-columns: none;
  gap: 14px;
  margin-top: 0;
  width: 100%;
  transition: transform .48s cubic-bezier(.22,.61,.36,1);
  will-change: transform;
}
.review-card {
  flex: 0 0 calc((100% - 28px) / 3);
  min-width: 0;
  min-height: 198px;
  padding: 20px;
  overflow: visible;
}
.review-person {
  align-items: flex-start;
}
.review-person span:last-child {
  min-width: 0;
  padding-top: 3px;
}
.review-person strong {
  font-size: 12px;
  line-height: 1.3;
}
.review-person small {
  font-size: 9px;
  line-height: 1.45;
}
.review-card > p {
  margin: 16px 0 0 58px;
  font-size: 11px;
  line-height: 1.68;
  color: #484941;
  overflow: visible;
}
.reviews-controls {
  margin-top: 18px;
}
.reviews-controls button {
  width: 38px;
  height: 38px;
  font-size: 17px;
  transition: .2s;
}
.reviews-controls button:hover:not(:disabled) {
  background: var(--forest);
  color: var(--ivory);
  border-color: var(--forest);
}
.reviews-controls button:disabled {
  opacity: .28;
  cursor: default;
}
.review-dots {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
}
.review-dots button {
  width: 7px;
  height: 7px;
  min-width: 7px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #bbb4a4;
  cursor: pointer;
}
.review-dots button.is-active {
  background: var(--forest);
  transform: scale(1.18);
}

@media (max-width: 820px) {
  .sketch-divider {
    z-index: 1;
    width: 62%;
    margin-top: 8px;
  }
  .review-card {
    flex-basis: calc((100% - 14px) / 2);
  }
}

@media (max-width: 560px) {
  .torn-edge { height: 44px; }
  .map-section::before,
  .about-strip::before { height: 42px; }
  .review-card {
    flex-basis: 100%;
    min-height: auto;
    padding: 18px;
  }
  .review-card > p {
    margin-left: 0;
    font-size: 11px;
  }
}

/* =========================================================
   V3 — фирменный логотип Грин Дей + более выразительные
   рваные бумажные границы между фото и светлыми блоками.
   ========================================================= */

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.brand-logo-link {
  min-width: 104px;
  width: 104px;
  height: 76px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
}

.brand-logo-image {
  display: block;
  width: 88px;
  height: 88px;
  object-fit: contain;
  object-position: center;
  border-radius: 0;
  filter: none;
}

.brand-logo-image-footer {
  width: 78px;
  height: 78px;
}

/* Рваный край: глубокие нерегулярные надрывы, не мелкая «пила». */
.torn-edge {
  left: -2.5%;
  width: 105%;
  height: 96px;
}

.torn-edge-paper {
  bottom: -1px;
  background: var(--paper);
  clip-path: polygon(
    0 71%,
    1.8% 55%,
    3.6% 68%,
    5.4% 37%,
    7.3% 62%,
    9.7% 47%,
    12.4% 76%,
    14.1% 43%,
    16.9% 58%,
    19.6% 31%,
    22.1% 67%,
    25.4% 49%,
    28.2% 79%,
    30.3% 44%,
    33.8% 60%,
    36.7% 29%,
    39.4% 69%,
    42.6% 52%,
    45.1% 82%,
    47.7% 41%,
    50.9% 57%,
    53.6% 33%,
    56.8% 72%,
    59.1% 46%,
    62.5% 78%,
    65.2% 39%,
    68.7% 64%,
    71.6% 28%,
    74.3% 70%,
    77.5% 51%,
    80.6% 81%,
    83.1% 42%,
    86.4% 60%,
    89.2% 34%,
    92.1% 73%,
    94.4% 49%,
    97.1% 77%,
    100% 57%,
    100% 100%,
    0 100%
  );
}

/* Ещё одна тонкая «бумажная кромка», создаёт ощущение реально оборванного листа. */
.torn-edge-paper::before {
  content: "";
  position: absolute;
  inset: 22px 0 auto;
  height: 2px;
  background: rgba(77, 64, 47, .13);
  transform: rotate(-.15deg);
  opacity: .7;
}

/* Верхняя кромка тёмных фото-блоков: более глубокая и асимметричная. */
.map-section::before,
.about-strip::before {
  top: -1px;
  left: -2.5%;
  width: 105%;
  height: 92px;
  background: var(--paper);
  clip-path: polygon(
    0 0, 100% 0,
    100% 38%,
    97.6% 64%,
    95.2% 43%,
    92.8% 72%,
    90.7% 48%,
    87.9% 76%,
    85.1% 36%,
    82.2% 67%,
    79.5% 45%,
    76.7% 79%,
    73.8% 41%,
    71% 70%,
    68.1% 34%,
    65.2% 74%,
    62.5% 46%,
    59.2% 81%,
    56.3% 38%,
    53.2% 69%,
    50.1% 42%,
    47.3% 78%,
    44.4% 35%,
    41.1% 73%,
    38.4% 47%,
    35.6% 80%,
    32.6% 40%,
    29.7% 68%,
    26.5% 33%,
    23.6% 75%,
    20.4% 45%,
    17.4% 79%,
    14.5% 37%,
    11.3% 70%,
    8.2% 44%,
    5.1% 76%,
    2.3% 39%,
    0 61%
  );
}

/* В подвале логотипу нужен собственный размер, не старая сетка бренда. */
.footer-main {
  grid-template-columns: 120px 1fr auto;
}

@media (max-width: 820px) {
  .brand-logo-link {
    width: 82px;
    min-width: 82px;
    height: 68px;
  }
  .brand-logo-image {
    width: 72px;
    height: 72px;
  }
  .torn-edge { height: 76px; }
  .map-section::before,
  .about-strip::before { height: 74px; }
  .footer-main { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .brand-logo-link {
    width: 72px;
    min-width: 72px;
    height: 62px;
  }
  .brand-logo-image {
    width: 64px;
    height: 64px;
  }
  .torn-edge { height: 62px; }
  .map-section::before,
  .about-strip::before { height: 60px; }
}


/* =========================================================
   V4 — все бумажные разрывы заменены на единый PNG-asset.
   Одинаковая форма, без разных перепадов по высоте.
   ========================================================= */

:root {
  --torn-edge-image: var(--gd-image-ccc9fb096125);
  --torn-edge-height: 84px;
}

/* Больше не рисуем разрывы clip-path-ом. Используем одну и ту же картинку. */
.torn-edge,
.map-section::before,
.about-strip::before {
  left: 0;
  width: 100%;
  height: var(--torn-edge-height);
  background-image: var(--torn-edge-image);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 100% 100%;
  clip-path: none !important;
}

.torn-edge {
  z-index: 8;
  bottom: -1px;
}

.torn-edge-paper {
  background: transparent !important;
}

.torn-edge-paper::before {
  content: none !important;
}

.map-section::before,
.about-strip::before {
  content: "";
  z-index: 8;
  top: 0;
  transform: translateY(calc(-1 * var(--torn-edge-height) + 2px));
}

/* Чтобы край сидел чище на переходах блоков. */
.formats,
.tours,
.reviews,
.site-footer {
  position: relative;
  z-index: 1;
}

@media (max-width: 820px) {
  :root {
    --torn-edge-height: 68px;
  }
}

@media (max-width: 560px) {
  :root {
    --torn-edge-height: 56px;
  }
}

/* =========================================================
   V5 — реальный PNG-разрыв. Исправлено позиционирование:
   кромка лежит СТРОГО на стыке двух блоков и видна поверх обоих.
   ========================================================= */

:root {
  --torn-edge-image: var(--gd-image-ccc9fb096125);
  --torn-edge-height: 110px;
}

/* Убираем весь старый геометрический разрыв окончательно. */
.torn-edge,
.torn-edge-paper,
.map-section::before,
.about-strip::before {
  clip-path: none !important;
}

.torn-edge-paper::before {
  display: none !important;
  content: none !important;
}

/* Слои нужны, чтобы PNG не перекрывался фоном следующей секции. */
.hero { z-index: 4; overflow: visible; }
.formats { z-index: 2; overflow: visible; }
.map-section { z-index: 4; overflow: visible; }
.tours { z-index: 2; overflow: visible; }
.reviews { z-index: 2; overflow: visible; }
.about-strip { z-index: 4; overflow: visible; }

/* Нижняя кромка фото-блоков: бумага находится НИЖЕ фото,
   поэтому исходный torn-paper PNG переворачиваем по вертикали. */
.torn-edge {
  position: absolute;
  left: 0 !important;
  right: 0;
  bottom: -55px !important;
  width: 100% !important;
  height: var(--torn-edge-height) !important;
  z-index: 30 !important;
  pointer-events: none;
  background: transparent var(--torn-edge-image) center / 100% 100% no-repeat !important;
  transform: scaleY(-1);
  transform-origin: center;
}

.torn-edge-paper {
  background-color: transparent !important;
}

/* Верхняя кромка тёмных блоков: бумага находится СВЕРХУ фото. */
.map-section::before,
.about-strip::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: -55px !important;
  width: 100% !important;
  height: var(--torn-edge-height) !important;
  z-index: 30 !important;
  pointer-events: none;
  background: transparent var(--torn-edge-image) center / 100% 100% no-repeat !important;
  transform: none !important;
}

/* Чуть больше воздуха возле стыка, чтобы кромка не залезала на важный текст. */
.formats { padding-top: 96px; }
.tours { padding-top: 90px; }
.about-strip-inner { padding-top: 28px; }

@media (max-width: 820px) {
  :root { --torn-edge-height: 86px; }
  .torn-edge { bottom: -43px !important; }
  .map-section::before,
  .about-strip::before { top: -43px !important; }
  .formats { padding-top: 82px; }
  .tours { padding-top: 78px; }
}

@media (max-width: 560px) {
  :root { --torn-edge-height: 68px; }
  .torn-edge { bottom: -34px !important; }
  .map-section::before,
  .about-strip::before { top: -34px !important; }
  .formats { padding-top: 72px; }
  .tours { padding-top: 66px; }
}

/* =========================================================
   V6 — бесшовные рваные переходы.
   PNG теперь не «полоска с тенью», а полноценная маска перехода:
   прозрачность со стороны фотографии + бумага до самого края секции.
   Поэтому снизу не появляется второй стык/линия и край не обрезается.
   ========================================================= */

:root {
  --torn-transition: var(--gd-image-2fe6e492faf2);
  --torn-transition-h: 74px;
}

/* Полностью перебиваем старые V3/V4/V5 правила. */
.torn-edge,
.map-section::before,
.about-strip::before {
  clip-path: none !important;
  box-shadow: none !important;
  filter: none !important;
}

.torn-edge-paper::before { display: none !important; content: none !important; }

/* Фото -> светлый бумажный блок: прозрачная часть сверху, бумага снизу. */
.torn-edge {
  position: absolute !important;
  left: -1px !important;
  right: -1px !important;
  bottom: -1px !important;
  width: calc(100% + 2px) !important;
  height: var(--torn-transition-h) !important;
  z-index: 40 !important;
  pointer-events: none !important;
  background-color: transparent !important;
  background-image: var(--torn-transition) !important;
  background-repeat: no-repeat !important;
  background-position: center bottom !important;
  background-size: 100% 100% !important;
  transform: none !important;
}

.torn-edge-paper { background-color: transparent !important; }

/* Светлый бумажный блок -> фото: тот же переход, просто перевёрнут внутри фото. */
.map-section::before,
.about-strip::before {
  content: "" !important;
  position: absolute !important;
  left: -1px !important;
  right: -1px !important;
  top: -1px !important;
  width: calc(100% + 2px) !important;
  height: var(--torn-transition-h) !important;
  z-index: 40 !important;
  pointer-events: none !important;
  background-color: transparent !important;
  background-image: var(--torn-transition) !important;
  background-repeat: no-repeat !important;
  background-position: center top !important;
  background-size: 100% 100% !important;
  transform: scaleY(-1) !important;
  transform-origin: center center !important;
}

/* Никаких искусственных отступов под старую «полосу». */
.formats { padding-top: 80px !important; }
.tours { padding-top: 75px !important; }

.hero,
.formats,
.map-section,
.tours,
.reviews,
.about-strip {
  overflow: visible !important;
}

@media (max-width: 820px) {
  :root { --torn-transition-h: 60px; }
}

@media (max-width: 560px) {
  :root { --torn-transition-h: 48px; }
}

/* =========================================================
   V7 — новый логотип + подпись рядом с логотипом.
   ========================================================= */
.brand-lockup {
  width: auto;
  min-width: 190px;
  height: 78px;
  gap: 10px;
  overflow: visible;
  flex: 0 0 auto;
}

.brand-lockup .brand-logo-image {
  width: 62px;
  height: 72px;
  object-fit: contain;
  object-position: center;
  flex: 0 0 auto;
}

.brand-name-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  line-height: 1;
  white-space: nowrap;
  color: var(--ivory);
}

.brand-name-copy strong {
  font-family: var(--display);
  font-weight: 500;
  font-size: 23px;
  line-height: .92;
  letter-spacing: .015em;
}

.brand-name-copy small {
  margin-top: 6px;
  font-family: var(--sans);
  font-size: 6.5px;
  line-height: 1.25;
  font-weight: 700;
  letter-spacing: .17em;
}

.brand-lockup-footer {
  min-width: 178px;
  height: 78px;
}

.brand-lockup-footer .brand-logo-image-footer {
  width: 58px;
  height: 68px;
}

.footer-main {
  grid-template-columns: 190px 1fr auto;
}

@media (max-width: 1100px) {
  .brand-lockup { min-width: 168px; gap: 8px; }
  .brand-lockup .brand-logo-image { width: 54px; height: 64px; }
  .brand-name-copy strong { font-size: 20px; }
  .brand-name-copy small { font-size: 5.8px; }
}

@media (max-width: 820px) {
  .brand-lockup {
    min-width: 152px;
    width: auto;
    height: 68px;
    gap: 7px;
  }
  .brand-lockup .brand-logo-image {
    width: 48px;
    height: 58px;
  }
  .brand-name-copy strong { font-size: 18px; }
  .brand-name-copy small { margin-top: 4px; font-size: 5.2px; letter-spacing: .13em; }
  .footer-main { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .brand-lockup {
    min-width: 138px;
    height: 62px;
  }
  .brand-lockup .brand-logo-image {
    width: 43px;
    height: 52px;
  }
  .brand-name-copy strong { font-size: 16px; }
  .brand-name-copy small { font-size: 4.7px; }
}


/* =========================================================
   V8 — опустили контент ниже от рваных переходов,
   чтобы ничего не обрезалось у стыков блоков.
   ========================================================= */

.trip-search {
  bottom: 58px !important;
}

.formats {
  padding-top: 118px !important;
}

.map-layout {
  padding-top: 34px;
}

.tours {
  padding-top: 108px !important;
}

.about-strip-inner {
  padding-top: 54px !important;
}

@media (max-width: 820px) {
  .trip-search {
    bottom: 54px !important;
  }

  .formats {
    padding-top: 104px !important;
  }

  .map-layout {
    padding-top: 28px;
  }

  .tours {
    padding-top: 94px !important;
  }

  .about-strip-inner {
    padding-top: 46px !important;
  }
}

@media (max-width: 560px) {
  .trip-search {
    bottom: 40px !important;
  }

  .formats {
    padding-top: 92px !important;
  }

  .map-layout {
    padding-top: 22px;
  }

  .tours {
    padding-top: 82px !important;
  }

  .about-strip-inner {
    padding-top: 40px !important;
  }
}


/* =========================================================
   V9 — ещё сильнее опущен только первый светлый блок.
   ========================================================= */

.formats {
  padding-top: 152px !important;
}

@media (max-width: 820px) {
  .formats {
    padding-top: 132px !important;
  }
}

@media (max-width: 560px) {
  .formats {
    padding-top: 112px !important;
  }
}


/* =========================================================
   V10 — опущена именно линия первого белого блока,
   чтобы зелёного сверху было больше.
   ========================================================= */

.hero .torn-edge {
  bottom: -92px !important;
}

@media (max-width: 820px) {
  .hero .torn-edge {
    bottom: -76px !important;
  }
}

@media (max-width: 560px) {
  .hero .torn-edge {
    bottom: -60px !important;
  }
}


/* =========================================================
   V11 — исправление первого перехода.
   Не сдвигаем PNG-разрыв отдельно от hero: так появлялась прямая линия.
   Вместо этого увеличиваем сам зелёный hero, а рваный край оставляем
   ровно на его нижней границе.
   ========================================================= */

.hero,
.hero-content {
  min-height: 760px !important;
}

/* Возвращаем рваный край на фактический стык hero и светлой секции. */
.hero .torn-edge {
  bottom: -1px !important;
}

@media (max-width: 820px) {
  .hero,
  .hero-content {
    min-height: 850px !important;
  }

  .hero .torn-edge {
    bottom: -1px !important;
  }
}

@media (max-width: 560px) {
  .hero,
  .hero-content {
    min-height: 790px !important;
  }

  .hero .torn-edge {
    bottom: -1px !important;
  }
}


/* =========================================================
   V13 — возвращаем плашку как в V11, но опускаем ниже
   именно линию рваного перехода.
   Решение: увеличиваем высоту hero, а поисковую плашку
   поднимаем внутри hero на ту же величину, чтобы она осталась
   на прежнем визуальном месте.
   ========================================================= */

.hero,
.hero-content {
  min-height: 800px !important;
}

.trip-search {
  bottom: 98px !important;
}

@media (max-width: 820px) {
  .hero,
  .hero-content {
    min-height: 890px !important;
  }

  .trip-search {
    bottom: 94px !important;
  }
}

@media (max-width: 560px) {
  .hero,
  .hero-content {
    min-height: 830px !important;
  }

  .trip-search {
    bottom: 68px !important;
  }
}


/* =========================================================
   V14 — реальные отзывы Грин Дей из предоставленных скриншотов.
   ========================================================= */
.review-stars {
  display: block;
  margin-top: 5px;
  color: #d9a448;
  font-size: 12px;
  line-height: 1;
  letter-spacing: 1px;
}

.avatar-initials {
  display: grid;
  place-items: center;
  background-image: none !important;
  background: #35493d;
  color: var(--ivory);
  font-family: var(--display);
  font-size: 16px;
  font-weight: 600;
}

.review-card {
  min-height: 230px;
}

.review-card > p {
  font-size: 10.5px;
  line-height: 1.62;
}

@media (max-width: 820px) {
  .review-card { min-height: 220px; }
}

@media (max-width: 560px) {
  .review-card { min-height: auto; }
}


/* =========================================================
   V15 — ссылка на источник добавлена в каждую карточку отзыва.
   ========================================================= */
.review-source-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 14px 0 0 58px;
  padding-bottom: 3px;
  border-bottom: 1px solid rgba(23,24,19,.28);
  font-size: 9px;
  font-weight: 600;
  line-height: 1.2;
  color: var(--forest-3);
  transition: .2s ease;
}
.review-source-link:hover {
  color: var(--forest);
  border-bottom-color: var(--forest);
}
.review-source-link span {
  font-size: 12px;
}

@media (max-width: 560px) {
  .review-source-link {
    margin-left: 0;
    font-size: 10px;
  }
}


/* =========================================================
   Catalog / marketplace page
   ========================================================= */

.site-header-light {
  position: sticky;
  top: 0;
  background: rgba(240,234,220,.92);
  backdrop-filter: blur(8px);
  color: var(--ink);
  border-bottom: 1px solid rgba(23,24,19,.06);
}
.site-header-light .header-inner { height: 88px; }
.main-nav-light a { color: var(--ink); opacity: .92; }
.header-actions-light .button-dark { background: #2b432f; border-color: #2b432f; color: var(--ivory); }
.header-actions-light .icon-button { color: var(--ink); }
.menu-toggle-dark span { background: var(--ink); }
.brand-name-copy-dark { color: var(--ink); }
.catalog-page { background: var(--paper); }
.catalog-main { padding-bottom: 0; }
.catalog-hero {
  padding-top: 34px;
  padding-bottom: 22px;
  position: relative;
}
.catalog-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle at 20% 20%, rgba(21,34,25,.04) 0 1px, transparent 1px),
    radial-gradient(circle at 70% 44%, rgba(21,34,25,.03) 0 1px, transparent 1px),
    linear-gradient(rgba(32,42,36,.035), rgba(32,42,36,.035));
  background-size: 160px 160px, 220px 220px, 100% 100%;
  opacity: .6;
  pointer-events: none;
}
.catalog-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) 350px; gap: 24px; align-items: start; }
.catalog-breadcrumbs { font-size: 13px; color: #7d786d; margin-bottom: 12px; }
.catalog-title { margin: 0 0 10px; font-family: var(--display); font-size: clamp(64px, 8vw, 96px); line-height: .92; font-weight: 400; letter-spacing: -.04em; }
.catalog-intro { margin: 0; max-width: 560px; font-size: 17px; line-height: 1.45; color: #3f433a; }
.catalog-hero-art { min-height: 240px; position: relative; }
.catalog-note { position: absolute; top: 18px; right: 18px; font-family: var(--script); font-size: 30px; line-height: .96; color: #4c5446; transform: rotate(-5deg); text-align: left; }
.catalog-pines { position: absolute; left: 42px; bottom: 18px; width: 170px; height: 82px; opacity: .34; background: linear-gradient(transparent 42%, rgba(0,0,0,.04) 42%); }
.catalog-pines::before, .catalog-pines::after { content: ""; position: absolute; bottom: 0; width: 58px; height: 76px; background: linear-gradient(to top, rgba(55,61,52,.6), rgba(55,61,52,.6)); clip-path: polygon(50% 0, 65% 17%, 58% 17%, 76% 40%, 65% 40%, 84% 66%, 62% 66%, 62% 100%, 38% 100%, 38% 66%, 16% 66%, 35% 40%, 24% 40%, 42% 17%, 35% 17%); }
.catalog-pines::before { left: 0; }
.catalog-pines::after { left: 44px; transform: scale(.84); transform-origin: bottom left; }
.catalog-rocks { position: absolute; right: -18px; bottom: -12px; width: 180px; height: 144px; background: linear-gradient(160deg, rgba(46,50,41,.15), rgba(46,50,41,.02)); clip-path: polygon(10% 100%, 28% 52%, 46% 63%, 57% 36%, 81% 42%, 96% 0, 100% 100%); }
.catalog-search { position: relative; z-index: 1; margin-top: 24px; display: grid; grid-template-columns: 1.5fr 1fr 1fr .92fr 58px 110px; gap: 10px; align-items: stretch; }
.catalog-search .search-field, .catalog-search .search-submit, .catalog-mini-btn, .catalog-reset { background: rgba(250,247,239,.96); border: 1px solid rgba(28,34,26,.10); border-radius: 12px; min-height: 56px; }
.catalog-search .search-field { padding: 6px 16px; }
.catalog-search .search-submit { border: 0; }
.catalog-mini-btn, .catalog-reset, .catalog-filter, .page-arrow, .page-num, .catalog-more-btn, .tour-arrow, .tour-heart { cursor: pointer; }
.catalog-mini-btn { display: inline-flex; align-items: center; justify-content: center; color: #334538; }
.catalog-mini-btn svg { width: 22px; height: 22px; }
.catalog-reset { border: 0; background: transparent; font-size: 15px; color: #3d4339; }
.catalog-layout { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 20px; padding-top: 10px; padding-bottom: 0; }
.catalog-sidebar { position: relative; }
.catalog-side-link { display: flex; align-items: center; justify-content: space-between; min-height: 48px; padding: 0 16px; margin-bottom: 10px; border-radius: 12px; border: 1px solid rgba(26,33,24,.09); color: #262b25; background: rgba(255,255,255,.42); }
.catalog-side-link.active { color: var(--ivory); background: linear-gradient(180deg, #2f462f, #273b28); border-color: transparent; }
.catalog-side-link b { font-size: 13px; font-weight: 600; }
.sidebar-promo { margin-top: 18px; border-radius: 18px; overflow: hidden; position: relative; min-height: 374px; background: linear-gradient(180deg, #203026, #16241d); color: var(--ivory); }
.sidebar-promo-bg { position: absolute; inset: 0; display: grid; place-items: center; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: rgba(245,240,227,.54); background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,0)), radial-gradient(circle at 50% 30%, rgba(255,255,255,.10), transparent 40%); }
.sidebar-promo-content { position: relative; padding: 26px 20px 22px; display: flex; min-height: 374px; flex-direction: column; justify-content: flex-end; }
.sidebar-promo-content h3 { margin: 0 0 12px; font-family: var(--display); font-size: 28px; line-height: .98; font-weight: 400; }
.sidebar-promo-content p { margin: 0 0 18px; font-size: 15px; line-height: 1.5; color: rgba(245,240,227,.85); }
.catalog-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 12px; }
.catalog-filters { display: flex; flex-wrap: wrap; gap: 10px; }
.catalog-filter { min-height: 42px; padding: 0 15px; border: 1px solid rgba(26,33,24,.12); border-radius: 11px; background: rgba(255,255,255,.46); color: #282d27; }
.catalog-filter span { margin-left: 6px; }
.catalog-toggle { min-height: 42px; display: inline-flex; align-items: center; gap: 10px; padding: 0 6px 0 8px; font-size: 14px; color: #5a6058; }
.catalog-toggle input { accent-color: #2d4630; }
.catalog-sort { font-size: 14px; color: #3b4038; white-space: nowrap; }
.catalog-found { margin: 10px 0 14px; font-size: 16px; color: #393f38; }
.tour-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.tour-card { background: rgba(255,255,255,.56); border: 1px solid rgba(26,33,24,.08); border-radius: 18px; overflow: hidden; box-shadow: 0 10px 28px rgba(14,20,14,.05); }
.tour-card-image { position: relative; padding: 10px 10px 0; }
.tour-image-placeholder { height: 178px; border-radius: 14px; background: linear-gradient(135deg, rgba(43,67,47,.16), rgba(43,67,47,.06)); border: 1px dashed rgba(43,67,47,.24); display: grid; place-items: center; color: #6f776e; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; }
.tour-tag { position: absolute; left: 18px; top: 18px; z-index: 1; height: 28px; display: inline-flex; align-items: center; padding: 0 12px; border-radius: 999px; background: #73463d; color: var(--ivory); font-size: 13px; }
.tour-heart { position: absolute; top: 16px; right: 18px; z-index: 1; width: 30px; height: 30px; border-radius: 50%; border: 1px solid rgba(255,255,255,.46); background: rgba(18,24,20,.20); color: var(--white); font-size: 18px; }
.tour-card-body { padding: 12px 16px 14px; }
.tour-card-body h3 { margin: 0 0 6px; font-family: var(--display); font-size: 23px; line-height: 1.02; font-weight: 500; }
.tour-card-body p { margin: 0 0 10px; min-height: 42px; color: #5a6056; font-size: 15px; line-height: 1.4; }
.tour-meta { display: flex; flex-wrap: wrap; gap: 18px; font-size: 13px; color: #71776e; margin-bottom: 10px; }
.tour-bottom { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.tour-bottom strong { font-size: 19px; }
.tour-arrow { width: 40px; height: 40px; border: 0; border-radius: 50%; background: #334a31; color: var(--ivory); font-size: 20px; }
.accent-brown { background: #86604d; }
.accent-green { background: #50724c; }
.accent-blue { background: #4d6981; }
.accent-rust { background: #7e5745; }
.accent-gold { background: #99704a; }
.accent-teal { background: #486c72; }
.accent-sky { background: #5a7b9f; }
.catalog-more { padding: 24px 0 18px; display: flex; justify-content: center; }
.catalog-more-btn { min-height: 54px; min-width: 260px; padding: 0 24px; border-radius: 18px; border: 1px solid rgba(23,24,19,.14); background: rgba(255,255,255,.34); font-size: 20px; font-family: var(--display); }
.catalog-more-btn span { display: inline-block; margin-left: 10px; }
.catalog-pagination { display: flex; align-items: center; justify-content: flex-end; gap: 10px; padding-bottom: 28px; }
.page-arrow, .page-num { width: 38px; height: 38px; border-radius: 999px; border: 1px solid rgba(26,33,24,.14); background: rgba(255,255,255,.4); }
.page-num.current { background: #334a31; border-color: #334a31; color: var(--ivory); }
.page-dots { color: #838178; }
.catalog-bottom-cta { position: relative; margin-top: 8px; min-height: 360px; background: linear-gradient(180deg, #223226, #111d17); color: var(--ivory); overflow: hidden; }
.catalog-bottom-bg { position: absolute; inset: 0; display: grid; place-items: center; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: rgba(245,240,227,.46); background: radial-gradient(circle at 50% 72%, rgba(255,255,255,.10), transparent 28%), linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,0)); }
.catalog-bottom-inner { position: relative; z-index: 1; min-height: 360px; display: grid; grid-template-columns: 1fr 1.1fr; align-items: end; gap: 20px; padding-top: 84px; padding-bottom: 40px; }
.catalog-bottom-copy h2 { margin: 0 0 10px; font-family: var(--display); font-size: clamp(52px, 7vw, 82px); font-weight: 400; line-height: .92; letter-spacing: -.04em; }
.catalog-bottom-copy p { margin: 0; font-size: 24px; line-height: 1.2; }
.catalog-bottom-features { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.feature-box { min-height: 124px; border-radius: 20px; border: 1px solid rgba(255,255,255,.18); background: rgba(10,18,13,.34); backdrop-filter: blur(8px); display: flex; align-items: end; padding: 18px; font-size: 20px; line-height: 1.15; }
.site-footer-lite { background: var(--paper); color: var(--ink); padding-top: 26px; }
.site-footer-lite .footer-grid { border-top: 1px solid rgba(23,24,19,.1); padding-top: 18px; padding-bottom: 28px; }

@media (max-width: 1180px) {
  .catalog-layout { grid-template-columns: 1fr; }
  .catalog-sidebar { order: 2; }
  .catalog-content { order: 1; }
  .sidebar-promo { display: none; }
  .catalog-hero-grid { grid-template-columns: 1fr; }
}

@media (max-width: 980px) {
  .catalog-search { grid-template-columns: 1fr 1fr; }
  .catalog-search .search-submit { grid-column: span 2; }
  .catalog-mini-btn, .catalog-reset { min-height: 48px; }
  .catalog-toolbar { flex-direction: column; align-items: stretch; }
  .tour-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .catalog-bottom-inner { grid-template-columns: 1fr; }
  .catalog-bottom-features { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 720px) {
  .catalog-hero { padding-top: 22px; }
  .catalog-title { font-size: 54px; }
  .catalog-search { grid-template-columns: 1fr; }
  .catalog-search .search-submit { grid-column: auto; }
  .catalog-layout { gap: 16px; }
  .catalog-side-link { margin-bottom: 8px; }
  .tour-grid { grid-template-columns: 1fr; }
  .catalog-pagination { justify-content: center; }
  .feature-box { min-height: 96px; font-size: 17px; }
}


/* =========================================================
   V17 — каталог растягивается по ширине экрана + реальные туры.
   ========================================================= */

.catalog-page .shell {
  width: calc(100% - 56px);
  max-width: none;
  margin-inline: auto;
}

.catalog-page .header-inner {
  width: calc(100% - 56px);
  max-width: none;
}

.catalog-layout {
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 24px;
}

.catalog-content {
  min-width: 0;
}

.catalog-content .tour-grid {
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 18px;
}

.real-tour-card .tour-card-body {
  display: flex;
  min-height: 104px;
  flex-direction: column;
  justify-content: space-between;
}

.real-tour-card .tour-card-body h3 {
  margin-bottom: 18px;
  font-size: 24px;
  min-height: 48px;
}

.real-tour-bottom strong {
  display: flex;
  align-items: baseline;
  gap: 8px;
  flex-wrap: wrap;
}

.real-tour-bottom del {
  color: #8b8a80;
  font-size: 14px;
  font-weight: 400;
}

.real-tour-card .tour-image-placeholder {
  height: 210px;
}

.catalog-pagination button:disabled {
  opacity: .28;
  cursor: default;
}

@media (min-width: 1800px) {
  .catalog-content .tour-grid {
    grid-template-columns: repeat(5, minmax(250px, 1fr));
  }
}

@media (max-width: 1300px) {
  .catalog-page .shell,
  .catalog-page .header-inner {
    width: calc(100% - 36px);
  }
  .catalog-layout {
    grid-template-columns: 190px minmax(0, 1fr);
  }
  .catalog-content .tour-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 1000px) {
  .catalog-layout {
    grid-template-columns: 1fr;
  }
  .catalog-content .tour-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .catalog-page .shell,
  .catalog-page .header-inner {
    width: calc(100% - 24px);
  }
  .catalog-content .tour-grid {
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   V18 — интерактивный маркетплейс: dropdown-фильтры,
   активные фильтры, пустое состояние, расширенная панель.
   ========================================================= */
.catalog-side-link { width:100%; font:inherit; cursor:pointer; text-align:left; }
.catalog-filter-wrap, .catalog-sort-wrap { position:relative; }
.catalog-filter.is-set { background:#e4eadf; border-color:#8d9d88; color:#203525; }
.catalog-filter-menu {
  position:absolute; z-index:90; top:calc(100% + 8px); left:0; min-width:220px; padding:8px;
  border:1px solid rgba(26,33,24,.12); border-radius:14px; background:#f8f4e9;
  box-shadow:0 18px 50px rgba(28,32,25,.14); display:none;
}
.catalog-filter-menu.is-open { display:grid; }
.catalog-filter-menu button { width:100%; border:0; background:transparent; border-radius:9px; padding:10px 12px; text-align:left; cursor:pointer; color:#2f352f; }
.catalog-filter-menu button:hover { background:#e9eee5; }
.catalog-price-menu { gap:8px; min-width:260px; }
.catalog-price-menu label { display:grid; grid-template-columns:34px 1fr; gap:8px; align-items:center; font-size:12px; }
.catalog-price-menu input { min-width:0; height:38px; border:1px solid rgba(26,33,24,.14); border-radius:8px; background:white; padding:0 10px; }
.catalog-price-menu .price-apply { background:#29412f; color:#f5f0e3; text-align:center; }
.catalog-sort { border:0; background:transparent; cursor:pointer; color:#3b4038; white-space:nowrap; }
.catalog-sort strong { font-weight:500; }
.catalog-sort-menu { left:auto; right:0; min-width:210px; }
.catalog-active-filters { display:flex; flex-wrap:wrap; gap:8px; margin:4px 0 14px; }
.catalog-active-filters button { border:1px solid rgba(39,56,42,.16); border-radius:999px; background:#e5eadf; color:#29412f; padding:7px 11px; cursor:pointer; }
.catalog-empty { min-height:310px; display:grid; place-items:center; align-content:center; text-align:center; padding:40px 20px; border:1px dashed rgba(41,65,47,.22); border-radius:18px; background:rgba(255,255,255,.28); }
.catalog-empty[hidden] { display:none; }
.catalog-empty-icon { font-size:42px; color:#405846; }
.catalog-empty h3 { margin:8px 0 6px; font-family:var(--display); font-size:34px; font-weight:500; }
.catalog-empty p { max-width:620px; margin:0 0 20px; color:#666a62; line-height:1.55; }
.site-header-light .icon-button.is-active { background:#29412f; color:#f5f0e3; border-radius:50%; }
.tour-card-image img { width:100%; height:178px; object-fit:cover; border-radius:14px; display:block; }
.tour-heart.is-liked { background:#29412f; color:#fff; }
.page-arrow:disabled, .page-num:disabled { opacity:.35; cursor:not-allowed; }
.catalog-advanced-panel { position:fixed; inset:0; z-index:200; pointer-events:none; visibility:hidden; }
.catalog-advanced-panel.is-open { pointer-events:auto; visibility:visible; }
.advanced-backdrop { position:absolute; inset:0; border:0; background:rgba(10,18,13,.42); opacity:0; transition:.25s; }
.catalog-advanced-panel.is-open .advanced-backdrop { opacity:1; }
.advanced-sheet { position:absolute; top:0; right:0; width:min(430px,92vw); height:100%; padding:24px; overflow:auto; background:#f3ede0; box-shadow:-20px 0 60px rgba(0,0,0,.16); transform:translateX(102%); transition:.3s; display:grid; align-content:start; gap:18px; }
.catalog-advanced-panel.is-open .advanced-sheet { transform:translateX(0); }
.advanced-head { display:flex; align-items:center; justify-content:space-between; }
.advanced-head h2 { margin:0; font-family:var(--display); font-size:38px; font-weight:500; }
.advanced-head button { width:38px; height:38px; border:1px solid rgba(26,33,24,.14); background:transparent; border-radius:50%; font-size:26px; cursor:pointer; }
.advanced-sheet > label { display:grid; gap:7px; font-size:13px; color:#555b53; }
.advanced-sheet select, .advanced-sheet input[type="number"] { width:100%; height:48px; border:1px solid rgba(26,33,24,.14); border-radius:10px; background:#fffaf0; padding:0 12px; font:inherit; }
.advanced-price { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.advanced-price label { display:grid; gap:7px; font-size:13px; color:#555b53; }
.advanced-check { display:flex !important; grid-template-columns:auto 1fr; align-items:center; }
.advanced-actions { display:flex; gap:10px; position:sticky; bottom:-24px; background:#f3ede0; padding:16px 0 24px; }
.advanced-actions > * { flex:1; }
body.filters-open { overflow:hidden; }

@media (max-width:720px){
  .catalog-filter-menu { position:fixed; left:14px; right:14px; top:auto; bottom:14px; min-width:0; max-height:55vh; overflow:auto; }
  .catalog-sort-menu { left:14px; right:14px; }
}


/* =========================================================
   V19 — исправления интерфейса каталога:
   1) кнопка «Найти туры» снова тёмная и видимая;
   2) меню цены не закрывается при работе с полями.
   ========================================================= */

.catalog-search .search-submit {
  background: #29412f !important;
  color: #f5f0e3 !important;
  border: 1px solid #29412f !important;
  opacity: 1 !important;
  font-weight: 600;
}

.catalog-search .search-submit:hover {
  background: #1f3425 !important;
  border-color: #1f3425 !important;
}

.catalog-search .search-submit:focus-visible {
  outline: 3px solid rgba(41,65,47,.22);
  outline-offset: 2px;
}

.catalog-price-menu {
  z-index: 140;
  padding: 12px;
}

.catalog-price-menu input {
  width: 100%;
}

.catalog-price-menu .price-apply {
  min-height: 40px;
  border-radius: 9px;
  font-weight: 600;
}


/* =========================================================
   V20 — универсальный шаблон страницы тура
   ========================================================= */
.tour-page { background: var(--paper); }
.tour-header { position: sticky; top: 0; z-index: 100; }
.tour-hero { position: relative; min-height: 690px; background: #304135; color: var(--ivory); overflow: visible; isolation: isolate; }
.tour-hero-bg { position: absolute; inset: 0; z-index: -2; overflow: hidden; }
.tour-placeholder { display: grid; place-items: center; text-transform: uppercase; letter-spacing: .12em; font-size: 11px; color: #768077; background: linear-gradient(135deg, rgba(62,82,67,.12), rgba(62,82,67,.04)); border: 1px dashed rgba(62,82,67,.24); }
.tour-placeholder-hero { width: 100%; height: 100%; border: 0; background: linear-gradient(140deg, #405347 0%, #52645a 38%, #27382e 100%); color: rgba(245,240,227,.52); font-size: 13px; }
.tour-hero-shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(16,29,22,.74) 0%, rgba(16,29,22,.46) 42%, rgba(16,29,22,.10) 70%, rgba(16,29,22,.32) 100%); }
.tour-hero-inner { position: relative; min-height: 690px; padding-top: 30px; padding-bottom: 132px; }
.tour-breadcrumbs { font-size: 12px; color: rgba(245,240,227,.76); margin-bottom: 22px; }
.tour-hero-copy { max-width: 680px; padding-top: 8px; }
.tour-hero-badge { display: inline-flex; min-height: 28px; align-items: center; padding: 0 12px; border-radius: 999px; background: #71483f; font-size: 11px; margin-bottom: 10px; }
.tour-hero-copy h1 { margin: 0; font-family: var(--display); font-size: clamp(70px, 8vw, 116px); line-height: .83; font-weight: 400; letter-spacing: -.05em; }
.tour-hero-subtitle { margin: 18px 0 20px; font-size: 24px; line-height: 1.2; max-width: 520px; }
.tour-facts { display: flex; flex-wrap: wrap; gap: 10px; max-width: 650px; }
.tour-facts > div { min-height: 58px; display: grid; grid-template-columns: 24px auto; column-gap: 8px; align-items: center; padding: 7px 12px; border-radius: 10px; background: rgba(245,240,227,.88); color: var(--ink); }
.tour-facts > div > span { grid-row: span 2; font-size: 18px; color: #425346; }
.tour-facts b { font-size: 10px; font-weight: 600; }
.tour-facts small { font-size: 9px; color: #72776f; }
.tour-gallery-strip { position: absolute; left: 22px; right: 340px; bottom: 46px; display: flex; align-items: end; gap: 18px; }
.tour-video-btn { height: 48px; padding: 0 18px; border-radius: 999px; border: 1px solid rgba(255,255,255,.58); background: rgba(16,29,22,.42); color: var(--ivory); backdrop-filter: blur(8px); }
.tour-video-btn span { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; border: 1px solid rgba(255,255,255,.7); margin-right: 8px; }
.tour-thumbs { display: flex; gap: 7px; margin-left: auto; }
.tour-thumb { width: 88px; height: 58px; padding: 0; border-radius: 8px; border: 1px solid rgba(255,255,255,.65); background: rgba(245,240,227,.16); color: rgba(255,255,255,.76); font-size: 9px; cursor: pointer; overflow: hidden; }
.tour-thumb.is-active { box-shadow: 0 0 0 2px var(--ivory); }
.tour-book-card { position: absolute; top: 96px; right: 22px; width: 300px; padding: 18px; border-radius: 14px; color: var(--ink); background: rgba(249,246,238,.97); box-shadow: 0 16px 50px rgba(7,14,10,.28); }
.tour-book-top { display: flex; justify-content: space-between; gap: 10px; padding-bottom: 14px; border-bottom: 1px solid rgba(23,24,19,.10); }
.tour-book-top > div { display: grid; }
.tour-old-price { font-size: 11px; color: #8a8b84; text-decoration: line-through; }
.tour-book-price { font-size: 28px; line-height: 1.05; }
.tour-book-top small { font-size: 9px; color: #777a72; margin-top: 3px; }
.tour-book-heart { width: 34px; height: 34px; border-radius: 8px; border: 1px solid rgba(23,24,19,.12); background: transparent; font-size: 20px; cursor: pointer; }
.tour-book-heart.is-liked { color: #7c3f39; }
.tour-book-field { display: grid; gap: 7px; margin-top: 14px; font-size: 10px; color: #4d5149; }
.tour-book-field select { height: 40px; padding: 0 10px; border: 1px solid rgba(23,24,19,.10); border-radius: 8px; background: white; color: var(--ink); }
.tour-people-control { height: 42px; display: grid; grid-template-columns: 1fr 1.2fr 1fr; border: 1px solid rgba(23,24,19,.10); border-radius: 8px; overflow: hidden; background: white; }
.tour-people-control button { border: 0; background: transparent; font-size: 20px; cursor: pointer; }
.tour-people-control strong { display: grid; place-items: center; border-inline: 1px solid rgba(23,24,19,.08); }
.tour-total { display: flex; justify-content: space-between; align-items: end; margin: 12px 0; font-size: 11px; }
.tour-total strong { font-size: 18px; }
.tour-book-submit { width: 100%; min-height: 46px; border: 0; border-radius: 9px; background: #2c4632; color: var(--ivory); font-size: 12px; cursor: pointer; }
.tour-book-note { margin: 12px 0; padding-bottom: 12px; border-bottom: 1px solid rgba(23,24,19,.10); font-size: 10px; }
.tour-book-link { width: 100%; min-height: 34px; display: flex; align-items: center; border: 0; background: transparent; color: #3f463d; font-size: 10px; cursor: pointer; }
.tour-about { padding: 78px 0 54px; }
.tour-about-head { display: grid; grid-template-columns: .9fr 1.1fr; gap: 70px; align-items: start; }
.tour-about h2, .tour-program h2, .tour-route-copy h2, .tour-included h2, .tour-stay h2, .tour-section-head h2 { margin: 0; font-family: var(--display); font-weight: 400; letter-spacing: -.04em; }
.tour-about h2 { font-size: clamp(54px, 6vw, 78px); line-height: .88; }
.tour-about-head p { margin: 8px 0 0; font-size: 15px; line-height: 1.65; }
.tour-benefits { display: grid; grid-template-columns: repeat(5,1fr); gap: 24px; margin-top: 38px; padding: 28px 0 10px; border-top: 1px solid rgba(23,24,19,.09); }
.tour-benefits > div { display: grid; justify-items: center; gap: 10px; text-align: center; }
.tour-benefits span { font-size: 30px; }
.tour-benefits b { font-size: 11px; max-width: 120px; }
.tour-program { padding: 40px 0 68px; }
.tour-program-grid { display: grid; grid-template-columns: .92fr 1.08fr; gap: 44px; }
.tour-program h2 { font-size: 54px; margin-bottom: 24px; }
.program-timeline { position: relative; padding-left: 18px; }
.program-timeline::before { content:""; position:absolute; left:6px; top:12px; bottom:18px; width:1px; background:#7a423b; }
.program-timeline article { position: relative; display: grid; grid-template-columns: 68px 1fr; gap: 15px; padding: 0 0 20px 16px; }
.program-dot { position: absolute; left: -17px; top: 5px; width: 9px; height: 9px; border-radius: 50%; background: #7a423b; border: 2px solid var(--paper); box-shadow: 0 0 0 1px #7a423b; }
.program-day { font-size: 11px; font-weight: 600; }
.program-day small { display: block; margin-top: 4px; color: #7a7c75; font-weight: 400; }
.program-timeline b { font-size: 12px; }
.program-timeline p { margin: 3px 0 0; font-size: 11px; color: #6a6c65; }
.tour-program-btn { margin-top: 8px; }
.tour-program-media { padding-top: 2px; }
.tour-big-media { height: 320px; border-radius: 12px; }
.tour-small-media-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 6px; margin-top: 6px; }
.tour-small-media-grid .tour-placeholder { height: 92px; border-radius: 9px; }
.tour-route-section { position: relative; min-height: 310px; background: #17271f; color: var(--ivory); overflow: visible; }
.tour-route-section .shell { position: relative; z-index: 2; }
.tour-route-branch {
  position: absolute;
  left: clamp(-32px, -1.8vw, -12px);
  bottom: 28px;
  width: clamp(150px, 16vw, 260px);
  height: auto;
  z-index: 1;
  pointer-events: none;
  user-select: none;
  transform: rotate(-10deg);
  transform-origin: left bottom;
  opacity: .98;
  filter: drop-shadow(0 10px 18px rgba(0,0,0,.18));
}
.tour-route-grid { min-height: 310px; display: grid; grid-template-columns: .7fr 1.25fr .55fr; gap: 28px; align-items: center; padding-block: 42px 70px; }
.tour-route-copy h2 { font-size: 58px; }
.tour-route-copy p { font-size: 12px; line-height: 1.55; color: rgba(245,240,227,.78); }
.tour-route-map { height: 200px; }
.tour-placeholder-dark { display:grid; place-items:center; height:200px; color:rgba(245,240,227,.52); border:1px dashed rgba(245,240,227,.28); background:rgba(255,255,255,.04); text-transform:uppercase; letter-spacing:.12em; font-size:11px; }
.tour-route-stats { display: grid; gap: 14px; }
.tour-route-stats > div { display: grid; grid-template-columns: 26px 1fr; column-gap: 8px; }
.tour-route-stats span { grid-row: span 2; font-size: 20px; }
.tour-route-stats b { font-size: 9px; color: rgba(245,240,227,.6); }
.tour-route-stats strong { font-size: 12px; }
.tour-included { padding: 90px 0 60px; }
.tour-included-grid { display: grid; grid-template-columns: 1fr 1fr .9fr; gap: 40px; }
.tour-included h2 { font-size: 46px; line-height: .93; margin-bottom: 16px; }
.tour-included ul { list-style:none; padding:0; margin:0; }
.tour-included li { position:relative; padding:5px 0 5px 18px; font-size:12px; }
.tour-included li::before { content:'✓'; position:absolute; left:0; color:#405745; }
.tour-equipment-card { position: relative; min-height: 188px; }
.tour-equipment-card .tour-placeholder { height: 188px; border-radius: 12px; }
.tour-equipment-card span { position: absolute; right: 16px; bottom: 14px; background: rgba(245,240,227,.95); padding: 12px 15px; font-family: var(--script); font-size: 18px; transform: rotate(-3deg); }
.tour-stay { padding: 30px 0 56px; }
.tour-stay-grid { display: grid; grid-template-columns: .36fr 1fr .65fr; gap: 20px; align-items: center; }
.tour-stay-title h2 { font-size: 48px; }
.tour-round-arrows { display:flex; gap:6px; margin-top:16px; }
.tour-round-arrows button { width:30px; height:30px; border-radius:50%; border:1px solid rgba(23,24,19,.14); background:transparent; }
.tour-stay-gallery { display:grid; grid-template-columns: 1.4fr .6fr; gap:6px; }
.tour-stay-main { min-height: 190px; border-radius: 12px; }
.tour-stay-side { display:grid; gap:6px; }
.tour-stay-side .tour-placeholder { border-radius: 9px; }
.tour-stay-copy h3 { margin:0 0 10px; font-family:var(--display); font-size:28px; font-weight:500; }
.tour-stay-copy p { margin:0; font-size:12px; line-height:1.55; }
.tour-reviews, .tour-similar { padding: 38px 0 54px; }
.tour-section-head { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:22px; }
.tour-section-head h2 { font-size:48px; }
.tour-section-head a { font-size:11px; border-bottom:1px solid rgba(23,24,19,.18); }
.tour-review-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.tour-review-grid article { min-height:150px; padding:16px; border-radius:12px; background:rgba(255,255,255,.48); border:1px solid rgba(23,24,19,.06); }
.tour-review-person { display:grid; grid-template-columns:42px 1fr 28px; gap:10px; align-items:center; }
.tour-avatar { width:42px; height:42px; border-radius:50%; background:#b5aa95; }
.tour-review-person div { display:grid; }
.tour-review-person b { font-size:11px; }
.tour-review-person small { font-size:8px; color:#77786f; margin-top:2px; }
.tour-review-person button { border:0; background:transparent; font-size:18px; }
.tour-review-grid p { margin:13px 0 0; font-size:10px; line-height:1.55; color:#505149; }
.tour-similar-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.tour-similar-card { overflow:hidden; border-radius:12px; background:rgba(255,255,255,.48); border:1px solid rgba(23,24,19,.06); }
.tour-similar-card > .tour-placeholder { height:130px; border:0; border-bottom:1px dashed rgba(62,82,67,.18); }
.tour-similar-card > div:last-child { padding:10px 12px 12px; }
.tour-similar-card span { font-size:8px; color:#5d645c; }
.tour-similar-card h3 { margin:5px 0 12px; font-family:var(--display); font-size:19px; line-height:1; font-weight:500; }
.tour-similar-card strong { font-size:16px; }
.tour-modal[hidden] { display:none; }
.tour-modal { position:fixed; inset:0; z-index:200; display:grid; place-items:center; }
.tour-modal-backdrop { position:absolute; inset:0; background:rgba(8,15,11,.64); backdrop-filter:blur(4px); }
.tour-modal-card { position:relative; width:min(92vw,420px); padding:26px; border-radius:16px; background:var(--paper); box-shadow:0 20px 60px rgba(0,0,0,.28); }
.tour-modal-card > button { position:absolute; right:12px; top:10px; border:0; background:transparent; font-size:26px; }
.tour-modal-card h3 { font-family:var(--display); font-size:36px; margin:0 0 10px; }
.tour-modal-card p, .tour-modal-card div { font-size:12px; line-height:1.5; }
@media (max-width: 1050px) {
  .tour-book-card { position:relative; top:auto; right:auto; width:min(100%,560px); margin:24px 0 0 auto; }
  .tour-hero-inner { padding-bottom:150px; }
  .tour-gallery-strip { right:22px; }
  .tour-program-grid, .tour-route-grid, .tour-included-grid, .tour-stay-grid { grid-template-columns:1fr; }
  .tour-benefits { grid-template-columns:repeat(3,1fr); }
  .tour-route-stats { grid-template-columns:repeat(2,1fr); }
  .tour-similar-grid { grid-template-columns:repeat(2,1fr); }
  .tour-route-branch { left: 8px; bottom: 18px; width: clamp(132px, 21vw, 208px); }
}
@media (max-width: 720px) {
  .tour-hero { min-height:auto; }
  .tour-hero-inner { min-height:auto; padding:24px 0 120px; }
  .tour-hero-copy h1 { font-size:58px; }
  .tour-hero-subtitle { font-size:18px; }
  .tour-gallery-strip { left:14px; right:14px; bottom:42px; overflow-x:auto; }
  .tour-thumbs { margin-left:0; }
  .tour-thumb { min-width:74px; }
  .tour-about-head { grid-template-columns:1fr; gap:20px; }
  .tour-benefits { grid-template-columns:repeat(2,1fr); }
  .tour-program-grid { gap:28px; }
  .tour-program h2 { font-size:44px; }
  .tour-route-grid { padding-block:34px 70px; }
  .tour-route-branch { left: 12px; bottom: 14px; width: clamp(112px, 30vw, 170px); transform: rotate(-7deg); }
  .tour-included { padding-top:84px; }
  .tour-review-grid { grid-template-columns:1fr; }
  .tour-similar-grid { grid-template-columns:1fr; }
  .tour-section-head { align-items:flex-start; flex-direction:column; }
  .tour-section-head h2 { font-size:40px; }
}


/* =========================================================
   V21 — реальный тур «Курташ и Синие Скалы».
   ========================================================= */
.tour-real-hero {
  background-image: var(--tour-hero-image);
  background-size: cover;
  background-position: center 38%;
}
.tour-thumb { overflow: hidden; padding: 0 !important; }
.tour-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.tour-real-media { width:100%; height:100%; object-fit:cover; display:block; }
.tour-big-media.tour-real-media { height:320px; border-radius:12px; }
.tour-small-media-grid img { height:92px; border-radius:9px; }
.tour-route-schematic {
  min-height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
  padding: 22px;
  border: 1px solid rgba(245,240,227,.24);
  border-radius: 14px;
  background:
    radial-gradient(circle at 20% 30%, rgba(245,240,227,.08), transparent 24%),
    rgba(255,255,255,.035);
}
.tour-route-schematic span { padding:9px 12px; border:1px solid rgba(245,240,227,.35); border-radius:999px; font-size:11px; }
.tour-route-schematic i { font-style:normal; opacity:.55; }
.tour-included-grid-kurtash { grid-template-columns:1fr 1fr .9fr; }
.tour-equipment-photo { height:188px; border-radius:12px; }
@media (max-width: 1050px) { .tour-included-grid-kurtash { grid-template-columns:1fr; } }


/* V22 — отдельная страница конкретного тура Курташ и Синие Скалы */
.tour-card-image-link { display: block; border-radius: 14px; overflow: hidden; }
.tour-card-image-link img { display: block; width: 100%; height: 178px; object-fit: cover; border-radius: 14px; }
.tour-card-body h3 a { color: inherit; text-decoration: none; }
.tour-bottom a.tour-arrow { display: grid; place-items: center; text-decoration: none; }
.tour-specific-cta { padding: 58px 0 70px; }
.tour-specific-cta-inner { display: flex; align-items: end; justify-content: space-between; gap: 30px; }
.tour-specific-cta h2 { margin: 0; font-family: var(--display); font-size: clamp(42px,5vw,68px); line-height: .95; font-weight: 500; letter-spacing: -.035em; }
@media (max-width:720px){ .tour-specific-cta-inner{align-items:flex-start;flex-direction:column;} }


/* =========================================================
   V24 — единый нижний природный декор на всех страницах.
   PNG с прозрачным верхом мягко выходит из низа контента
   и связывает страницу с тёмно-зелёным подвалом.
   ========================================================= */
.mountain-bottom-art {
  position: relative;
  z-index: 5;
  width: 100%;
  height: clamp(150px, 14vw, 220px);
  margin-top: -72px;
  margin-bottom: -6px;
  overflow: visible;
  pointer-events: none;
  background: none;
}

.mountain-bottom-art img {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: auto;
  min-height: 100%;
  display: block;
  object-fit: contain;
  object-position: center bottom;
  transform: translateY(-12px);
  user-select: none;
}

/* На светлых внутренних страницах картинка чуть аккуратнее заходит на блок. */
.catalog-page .mountain-bottom-art,
.tour-page .mountain-bottom-art {
  margin-top: -54px;
}

.catalog-page .mountain-bottom-art img,
.tour-page .mountain-bottom-art img {
  transform: translateY(-6px);
}

/* Не оставляем заметной полосы между лесом и футером. */
.mountain-bottom-art + .site-footer,
main + .site-footer {
  margin-top: 0;
}

@media (max-width: 820px) {
  .mountain-bottom-art {
    height: clamp(130px, 22vw, 190px);
    margin-top: -44px;
  }

  .mountain-bottom-art img {
    transform: translateY(-6px);
  }

  .catalog-page .mountain-bottom-art,
  .tour-page .mountain-bottom-art {
    margin-top: -28px;
  }
}

@media (max-width: 560px) {
  .mountain-bottom-art {
    height: 112px;
    margin-top: -12px;
  }

  .mountain-bottom-art img {
    transform: none;
    object-position: 52% bottom;
  }

  .catalog-page .mountain-bottom-art,
  .tour-page .mountain-bottom-art {
    margin-top: -6px;
  }
}


/* =========================================================
   V26 — нижняя туманная гора меньше и теперь уходит ПОД текст футера
   ========================================================= */

.mountain-bottom-art {
  height: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  pointer-events: none;
}

.mountain-bottom-art img {
  display: none !important;
}

.site-footer {
  position: relative;
  z-index: 2;
  overflow: visible;
  margin-top: -2px;
  padding-top: 92px;
}

.site-footer::before {
  content: "";
  position: absolute;
  left: 0;
  top: -34px;
  width: 100%;
  height: 138px;
  background: var(--gd-image-4f16c1eccd53) center top / 100% auto no-repeat;
  pointer-events: none;
  z-index: 0;
}

.site-footer > .shell,
.site-footer > .footer-main,
.site-footer > .footer-bottom {
  position: relative;
  z-index: 1;
}

@media (max-width: 820px) {
  .site-footer {
    padding-top: 72px;
  }

  .site-footer::before {
    top: -24px;
    height: 102px;
    background-size: 100% auto;
  }
}

@media (max-width: 560px) {
  .site-footer {
    padding-top: 56px;
  }

  .site-footer::before {
    top: -16px;
    height: 78px;
    background-size: 100% auto;
  }
}


/* =========================================================
   V29 — используем новую прозрачную панораму точно как в референсе.
   Без сжатия по высоте: картинка тянется на всю ширину и при необходимости
   мягко подрезается снизу/сверху через background-size: 100% auto.
   ========================================================= */
.site-footer {
  position: relative;
  overflow: visible;
  padding-top: 136px !important;
}

.site-footer::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: -44px !important;
  width: 100% !important;
  height: 182px !important;
  background-image: var(--gd-image-4f16c1eccd53) !important;
  background-repeat: no-repeat !important;
  background-position: center bottom !important;
  background-size: 100% auto !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

.site-footer > .shell,
.site-footer > .footer-main,
.site-footer > .footer-bottom {
  position: relative;
  z-index: 2;
}

@media (max-width: 820px) {
  .site-footer { padding-top: 110px !important; }
  .site-footer::before {
    top: -32px !important;
    height: 140px !important;
    background-size: 100% auto !important;
    background-position: center bottom !important;
  }
}

@media (max-width: 560px) {
  .site-footer { padding-top: 82px !important; }
  .site-footer::before {
    top: -22px !important;
    height: 104px !important;
    background-size: 100% auto !important;
    background-position: center bottom !important;
  }
}

/* =========================================================
   V30 — нижняя лесная панорама аккуратно выступает на блоки,
   текст футера лежит поверх, декор не слишком высокий.
   ========================================================= */
.mountain-bottom-art {
  display: block !important;
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  height: clamp(112px, 9vw, 156px) !important;
  margin-top: -56px !important;
  margin-bottom: -82px !important;
  overflow: visible !important;
  pointer-events: none !important;
  background: none !important;
}

.mountain-bottom-art img {
  display: block !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  object-fit: cover !important;
  object-position: center bottom !important;
  transform: none !important;
  user-select: none !important;
  filter: drop-shadow(0 -8px 14px rgba(18, 34, 24, 0.08));
}

.catalog-page .mountain-bottom-art,
.tour-page .mountain-bottom-art {
  height: clamp(104px, 8.2vw, 146px) !important;
  margin-top: -42px !important;
  margin-bottom: -74px !important;
}

.site-footer {
  position: relative !important;
  z-index: 2 !important;
  overflow: visible !important;
  margin-top: 0 !important;
  padding-top: 62px !important;
}

.site-footer::before {
  content: none !important;
  display: none !important;
}

.site-footer > .shell,
.site-footer > .footer-main,
.site-footer > .footer-bottom {
  position: relative !important;
  z-index: 3 !important;
}

@media (max-width: 820px) {
  .mountain-bottom-art {
    height: 120px !important;
    margin-top: -38px !important;
    margin-bottom: -64px !important;
  }

  .catalog-page .mountain-bottom-art,
  .tour-page .mountain-bottom-art {
    height: 112px !important;
    margin-top: -30px !important;
    margin-bottom: -58px !important;
  }

  .site-footer {
    padding-top: 50px !important;
  }
}

@media (max-width: 560px) {
  .mountain-bottom-art {
    height: 96px !important;
    margin-top: -18px !important;
    margin-bottom: -46px !important;
  }

  .catalog-page .mountain-bottom-art,
  .tour-page .mountain-bottom-art {
    height: 90px !important;
    margin-top: -12px !important;
    margin-bottom: -42px !important;
  }

  .site-footer {
    padding-top: 38px !important;
  }
}

/* =========================================================
   V32 — под нижней панорамой добавлен отдельный небольшой блок
   перед подвалом, чтобы текст не перекрывался картинкой.
   Панорама остаётся широкой, аккуратно выступает на предыдущий блок,
   но не давит на футер.
   ========================================================= */

.mountain-bottom-art {
  z-index: 3 !important;
  height: clamp(132px, 9.5vw, 182px) !important;
  margin-top: -54px !important;
  margin-bottom: -18px !important;
  overflow: visible !important;
}

.mountain-bottom-art img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center 72% !important;
  filter: drop-shadow(0 -8px 18px rgba(14, 28, 20, 0.10));
}

.catalog-page .mountain-bottom-art,
.tour-page .mountain-bottom-art {
  height: clamp(126px, 8.8vw, 168px) !important;
  margin-top: -44px !important;
  margin-bottom: -14px !important;
}

.footer-prelude {
  display: block !important;
  width: 100% !important;
  height: 40px !important;
  background: linear-gradient(180deg, rgba(16,32,25,0.94) 0%, #102019 100%) !important;
  position: relative !important;
  z-index: 1 !important;
}

.site-footer {
  padding-top: 34px !important;
}

.site-footer::before {
  content: none !important;
  display: none !important;
}

@media (max-width: 820px) {
  .mountain-bottom-art {
    height: 112px !important;
    margin-top: -34px !important;
    margin-bottom: -12px !important;
  }

  .catalog-page .mountain-bottom-art,
  .tour-page .mountain-bottom-art {
    height: 106px !important;
    margin-top: -28px !important;
    margin-bottom: -10px !important;
  }

  .footer-prelude {
    height: 30px !important;
  }

  .site-footer {
    padding-top: 26px !important;
  }
}

@media (max-width: 560px) {
  .mountain-bottom-art {
    height: 94px !important;
    margin-top: -18px !important;
    margin-bottom: -8px !important;
  }

  .catalog-page .mountain-bottom-art,
  .tour-page .mountain-bottom-art {
    height: 88px !important;
    margin-top: -14px !important;
    margin-bottom: -6px !important;
  }

  .footer-prelude {
    height: 22px !important;
  }

  .site-footer {
    padding-top: 20px !important;
  }
}

/* =========================================================
   V33 — финальный нижний лесной силуэт.
   Используем новую PNG без обрезания: неровный край и верхушки деревьев
   полностью сохраняются. Картинка вставлена отдельным блоком перед подвалом,
   аккуратно заходит на предыдущий блок, но не давит на текст футера.
   ========================================================= */

.mountain-bottom-art {
  display: block !important;
  position: relative !important;
  z-index: 3 !important;
  width: 100% !important;
  margin-top: -150px !important;
  margin-bottom: -6px !important;
  line-height: 0 !important;
  overflow: visible !important;
  pointer-events: none !important;
  background: none !important;
  height: auto !important;
}

.mountain-bottom-art img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  object-fit: unset !important;
  object-position: center bottom !important;
  transform: none !important;
  filter: drop-shadow(0 -10px 18px rgba(14, 28, 20, 0.10));
}

.catalog-page .mountain-bottom-art,
.tour-page .mountain-bottom-art {
  margin-top: -124px !important;
}

.footer-prelude {
  display: block !important;
  width: 100% !important;
  height: 22px !important;
  background: linear-gradient(180deg, rgba(16, 32, 25, 0.96) 0%, #102019 100%) !important;
  position: relative !important;
  z-index: 1 !important;
}

.site-footer {
  position: relative !important;
  z-index: 2 !important;
  overflow: visible !important;
  padding-top: 26px !important;
}

.site-footer::before {
  content: none !important;
  display: none !important;
}

.site-footer > .shell,
.site-footer > .footer-main,
.site-footer > .footer-bottom {
  position: relative !important;
  z-index: 3 !important;
}

@media (max-width: 1100px) {
  .mountain-bottom-art {
    margin-top: -118px !important;
  }

  .catalog-page .mountain-bottom-art,
  .tour-page .mountain-bottom-art {
    margin-top: -96px !important;
  }
}

@media (max-width: 820px) {
  .mountain-bottom-art {
    margin-top: -82px !important;
  }

  .catalog-page .mountain-bottom-art,
  .tour-page .mountain-bottom-art {
    margin-top: -72px !important;
  }

  .footer-prelude {
    height: 18px !important;
  }

  .site-footer {
    padding-top: 22px !important;
  }
}

@media (max-width: 560px) {
  .mountain-bottom-art {
    margin-top: -52px !important;
  }

  .catalog-page .mountain-bottom-art,
  .tour-page .mountain-bottom-art {
    margin-top: -44px !important;
  }

  .footer-prelude {
    height: 14px !important;
  }

  .site-footer {
    padding-top: 18px !important;
  }
}

/* =========================================================
   V34 — панорама живёт в собственном небольшом блоке.
   Никакого наезда на текст: блок занимает отдельное место между
   последней секцией и футером. Изображение не сжимается по высоте,
   а аккуратно кадрируется внутри блока.
   ========================================================= */
.mountain-bottom-art,
.catalog-page .mountain-bottom-art,
.tour-page .mountain-bottom-art {
  display: block !important;
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  height: clamp(185px, 12vw, 245px) !important;
  margin: 0 !important;
  overflow: hidden !important;
  line-height: 0 !important;
  pointer-events: none !important;
  background: #102019 !important;
}

.mountain-bottom-art img,
.catalog-page .mountain-bottom-art img,
.tour-page .mountain-bottom-art img {
  display: block !important;
  position: absolute !important;
  left: 0 !important;
  top: 50% !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  object-fit: unset !important;
  object-position: center center !important;
  transform: translateY(-46%) !important;
  filter: none !important;
}

.footer-prelude {
  display: block !important;
  height: 26px !important;
  width: 100% !important;
  margin: 0 !important;
  background: #102019 !important;
  position: relative !important;
  z-index: 1 !important;
}

.site-footer {
  position: relative !important;
  z-index: 2 !important;
  margin-top: 0 !important;
  padding-top: 24px !important;
  overflow: visible !important;
}

.site-footer::before {
  content: none !important;
  display: none !important;
}

@media (max-width: 820px) {
  .mountain-bottom-art,
  .catalog-page .mountain-bottom-art,
  .tour-page .mountain-bottom-art {
    height: 170px !important;
  }

  .mountain-bottom-art img,
  .catalog-page .mountain-bottom-art img,
  .tour-page .mountain-bottom-art img {
    top: 50% !important;
    transform: translateY(-44%) !important;
  }

  .footer-prelude { height: 22px !important; }
  .site-footer { padding-top: 20px !important; }
}

@media (max-width: 560px) {
  .mountain-bottom-art,
  .catalog-page .mountain-bottom-art,
  .tour-page .mountain-bottom-art {
    height: 122px !important;
  }

  .mountain-bottom-art img,
  .catalog-page .mountain-bottom-art img,
  .tour-page .mountain-bottom-art img {
    top: 50% !important;
    transform: translateY(-43%) !important;
  }

  .footer-prelude { height: 16px !important; }
  .site-footer { padding-top: 16px !important; }
}

/* =========================================================
   V35 — нижняя лесная панорама: меньше, отдельным блоком,
   одинаково на всех страницах, без наезда на текст.
   Если кадр режется, режем снизу, а верх с силуэтом деревьев
   и неровным краем оставляем видимым.
   ========================================================= */
.mountain-bottom-art,
.catalog-page .mountain-bottom-art,
.tour-page .mountain-bottom-art {
  display: block !important;
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  height: clamp(120px, 8vw, 165px) !important;
  margin: 10px 0 0 !important;
  overflow: hidden !important;
  line-height: 0 !important;
  pointer-events: none !important;
  background: transparent !important;
}

.mountain-bottom-art img,
.catalog-page .mountain-bottom-art img,
.tour-page .mountain-bottom-art img {
  display: block !important;
  position: absolute !important;
  inset: 0 0 auto 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center top !important;
  transform: none !important;
  filter: none !important;
}

.footer-prelude {
  display: none !important;
}

.site-footer,
.site-footer.site-footer-lite {
  margin-top: 0 !important;
  padding-top: 22px !important;
}

@media (max-width: 900px) {
  .mountain-bottom-art,
  .catalog-page .mountain-bottom-art,
  .tour-page .mountain-bottom-art {
    height: 138px !important;
    margin-top: 8px !important;
  }
}

@media (max-width: 640px) {
  .mountain-bottom-art,
  .catalog-page .mountain-bottom-art,
  .tour-page .mountain-bottom-art {
    height: 112px !important;
    margin-top: 6px !important;
  }

  .site-footer,
  .site-footer.site-footer-lite {
    padding-top: 18px !important;
  }
}

/* =========================================================
   V36 — восстановить видимость нижней панорамы
   ========================================================= */
.mountain-bottom-art,
.catalog-page .mountain-bottom-art,
.tour-page .mountain-bottom-art {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  height: 140px !important;
  min-height: 140px !important;
  max-height: 140px !important;
  overflow: hidden !important;
  margin: 8px 0 0 !important;
  padding: 0 !important;
  background: transparent !important;
  z-index: 1 !important;
}

.mountain-bottom-art img,
.catalog-page .mountain-bottom-art img,
.tour-page .mountain-bottom-art img {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center top !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  filter: none !important;
  inset: auto !important;
}

@media (max-width: 900px) {
  .mountain-bottom-art,
  .catalog-page .mountain-bottom-art,
  .tour-page .mountain-bottom-art {
    height: 122px !important;
    min-height: 122px !important;
    max-height: 122px !important;
  }
}

@media (max-width: 640px) {
  .mountain-bottom-art,
  .catalog-page .mountain-bottom-art,
  .tour-page .mountain-bottom-art {
    height: 96px !important;
    min-height: 96px !important;
    max-height: 96px !important;
  }
}

/* =========================================================
   V37 — исправление: панорама гарантированно видна на всех страницах.
   Сам PNG заранее обрезан только по пустой прозрачной зоне сверху и по
   лишнему туманному низу. В блоке не показываем прозрачную пустоту.
   ========================================================= */
.mountain-bottom-art,
.catalog-page .mountain-bottom-art,
.tour-page .mountain-bottom-art {
  display: block !important;
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  height: 150px !important;
  min-height: 150px !important;
  max-height: none !important;
  margin: 8px 0 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #102019 !important;
  line-height: 0 !important;
}

.mountain-bottom-art img,
.catalog-page .mountain-bottom-art img,
.tour-page .mountain-bottom-art img {
  display: block !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-width: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  object-fit: unset !important;
  object-position: center top !important;
  transform: none !important;
  filter: none !important;
  inset: auto !important;
}

.footer-prelude { display: none !important; }
.site-footer,
.site-footer.site-footer-lite {
  margin-top: 0 !important;
  padding-top: 22px !important;
}

@media (max-width: 900px) {
  .mountain-bottom-art,
  .catalog-page .mountain-bottom-art,
  .tour-page .mountain-bottom-art {
    height: 128px !important;
    min-height: 128px !important;
  }
}

@media (max-width: 640px) {
  .mountain-bottom-art,
  .catalog-page .mountain-bottom-art,
  .tour-page .mountain-bottom-art {
    height: 100px !important;
    min-height: 100px !important;
  }
}

/* =========================================================
   V39 — нижняя панорама аккуратно заходит верхушками в верхний тёмно-зелёный блок,
   но не перекрывает текст. Сам PNG не редактируется: мы только управляем тем,
   как он показывается внутри отдельного декоративного блока.
   ========================================================= */

/* Даём верхним CTA-блокам запас снизу, чтобы панорама могла подняться в них,
   а текст остался выше и не попадал на деревья. */
.about-strip,
.catalog-bottom-cta,
.tour-specific-cta,
.tour-similar {
  position: relative !important;
  overflow: visible !important;
}

.about-strip {
  padding-bottom: 118px !important;
}

.catalog-bottom-cta {
  padding-bottom: 118px !important;
}

.tour-specific-cta,
.tour-similar {
  padding-bottom: 132px !important;
}

.about-strip-inner,
.catalog-bottom-inner,
.tour-specific-cta-inner {
  position: relative !important;
  z-index: 4 !important;
}

.mountain-bottom-art,
.catalog-page .mountain-bottom-art,
.tour-page .mountain-bottom-art {
  display: block !important;
  position: relative !important;
  z-index: 3 !important;
  width: 100% !important;
  height: clamp(185px, 16vw, 250px) !important;
  margin: -104px 0 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  line-height: 0 !important;
  pointer-events: none !important;
  background: transparent !important;
}

.mountain-bottom-art img,
.catalog-page .mountain-bottom-art img,
.tour-page .mountain-bottom-art img {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  max-height: none !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center 47% !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  filter: none !important;
}

.footer-prelude {
  display: none !important;
}

.site-footer,
.site-footer.site-footer-lite {
  position: relative !important;
  z-index: 5 !important;
  margin-top: 0 !important;
  padding-top: 28px !important;
}

.site-footer::before {
  content: none !important;
  display: none !important;
}

@media (max-width: 980px) {
  .about-strip,
  .catalog-bottom-cta {
    padding-bottom: 96px !important;
  }

  .tour-specific-cta,
  .tour-similar {
    padding-bottom: 106px !important;
  }

  .mountain-bottom-art,
  .catalog-page .mountain-bottom-art,
  .tour-page .mountain-bottom-art {
    height: 168px !important;
    margin-top: -82px !important;
  }

  .mountain-bottom-art img,
  .catalog-page .mountain-bottom-art img,
  .tour-page .mountain-bottom-art img {
    object-position: center 49% !important;
  }
}

@media (max-width: 640px) {
  .about-strip,
  .catalog-bottom-cta {
    padding-bottom: 72px !important;
  }

  .tour-specific-cta,
  .tour-similar {
    padding-bottom: 80px !important;
  }

  .mountain-bottom-art,
  .catalog-page .mountain-bottom-art,
  .tour-page .mountain-bottom-art {
    height: 128px !important;
    margin-top: -56px !important;
  }

  .mountain-bottom-art img,
  .catalog-page .mountain-bottom-art img,
  .tour-page .mountain-bottom-art img {
    object-position: center 50% !important;
  }

  .site-footer,
  .site-footer.site-footer-lite {
    padding-top: 18px !important;
  }
}

/* =========================================================
   V42 — точное повторение удачного вида с главной страницы:
   зелёный блок + полноширинная панорама, заходящая вверх,
   без отдельной светлой полосы и без перекрытия текста.
   ========================================================= */

.about-strip,
.catalog-bottom-cta,
.tour-specific-cta {
  position: relative !important;
  overflow: visible !important;
  background: #102019 !important;
  color: var(--ivory) !important;
}

.about-strip {
  padding-bottom: 120px !important;
}

.catalog-bottom-cta,
.tour-specific-cta {
  padding-bottom: 120px !important;
}

.about-strip-inner,
.catalog-bottom-inner,
.tour-specific-cta-inner {
  position: relative !important;
  z-index: 8 !important;
}

.tour-specific-cta .eyebrow,
.tour-specific-cta h2,
.tour-specific-cta p {
  color: var(--ivory) !important;
}

.tour-specific-cta .button {
  border-color: rgba(245,240,227,.52) !important;
  background: rgba(16,32,25,.3) !important;
  color: var(--ivory) !important;
}

.mountain-bottom-art,
.catalog-page .mountain-bottom-art,
.tour-page .mountain-bottom-art {
  display: block !important;
  position: relative !important;
  z-index: 6 !important;
  width: 100% !important;
  height: clamp(190px, 14vw, 250px) !important;
  min-height: 190px !important;
  margin: -108px 0 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  line-height: 0 !important;
  pointer-events: none !important;
  background: #102019 !important;
}

.mountain-bottom-art img,
.catalog-page .mountain-bottom-art img,
.tour-page .mountain-bottom-art img {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center 58% !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  filter: none !important;
}

.footer-prelude {
  display: none !important;
}

.site-footer,
.site-footer.site-footer-lite {
  position: relative !important;
  z-index: 9 !important;
  margin-top: 0 !important;
}

.site-footer::before {
  content: none !important;
  display: none !important;
}

@media (max-width: 980px) {
  .about-strip,
  .catalog-bottom-cta,
  .tour-specific-cta {
    padding-bottom: 100px !important;
  }

  .mountain-bottom-art,
  .catalog-page .mountain-bottom-art,
  .tour-page .mountain-bottom-art {
    height: 175px !important;
    min-height: 175px !important;
    margin-top: -88px !important;
  }

  .mountain-bottom-art img,
  .catalog-page .mountain-bottom-art img,
  .tour-page .mountain-bottom-art img {
    object-position: center 58% !important;
  }
}

@media (max-width: 640px) {
  .about-strip,
  .catalog-bottom-cta,
  .tour-specific-cta {
    padding-bottom: 76px !important;
  }

  .mountain-bottom-art,
  .catalog-page .mountain-bottom-art,
  .tour-page .mountain-bottom-art {
    height: 132px !important;
    min-height: 132px !important;
    margin-top: -62px !important;
  }

  .mountain-bottom-art img,
  .catalog-page .mountain-bottom-art img,
  .tour-page .mountain-bottom-art img {
    object-position: center 57% !important;
  }
}

/* =========================================================
   V43 — исправление ровной верхней обрезки панорамы.
   PNG НЕ обрезаем по силуэту и НЕ растягиваем по высоте.
   Показываем его в натуральных пропорциях, а скрываем только
   лишнюю нижнюю часть. Прозрачный верх PNG сохраняет естественный
   неровный контур гор и деревьев на зелёном фоне.
   ========================================================= */

.about-strip,
.catalog-bottom-cta,
.tour-specific-cta {
  position: relative !important;
  overflow: visible !important;
  background-color: #102019 !important;
}

/* Резерв под заход гор: текст остаётся выше изображения. */
.about-strip,
.catalog-bottom-cta,
.tour-specific-cta {
  padding-bottom: 122px !important;
}

.about-strip-inner,
.catalog-bottom-inner,
.tour-specific-cta-inner {
  position: relative !important;
  z-index: 8 !important;
}

.mountain-bottom-art,
.catalog-page .mountain-bottom-art,
.tour-page .mountain-bottom-art {
  display: block !important;
  position: relative !important;
  z-index: 6 !important;
  width: 100% !important;
  height: clamp(125px, 11vw, 225px) !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: -102px 0 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #102019 !important;
  line-height: 0 !important;
  pointer-events: none !important;
}

.mountain-bottom-art img,
.catalog-page .mountain-bottom-art img,
.tour-page .mountain-bottom-art img {
  display: block !important;
  position: absolute !important;
  left: 0 !important;
  top: clamp(-175px, -8.35vw, -52px) !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  max-width: none !important;
  object-fit: unset !important;
  object-position: initial !important;
  inset-inline: 0 !important;
  bottom: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  filter: none !important;
}

.footer-prelude {
  display: none !important;
}

.site-footer,
.site-footer.site-footer-lite {
  position: relative !important;
  z-index: 9 !important;
  margin-top: 0 !important;
}

.site-footer::before {
  content: none !important;
  display: none !important;
}

@media (max-width: 980px) {
  .about-strip,
  .catalog-bottom-cta,
  .tour-specific-cta {
    padding-bottom: 104px !important;
  }

  .mountain-bottom-art,
  .catalog-page .mountain-bottom-art,
  .tour-page .mountain-bottom-art {
    margin-top: -86px !important;
  }
}

@media (max-width: 640px) {
  .about-strip,
  .catalog-bottom-cta,
  .tour-specific-cta {
    padding-bottom: 76px !important;
  }

  .mountain-bottom-art,
  .catalog-page .mountain-bottom-art,
  .tour-page .mountain-bottom-art {
    height: 112px !important;
    margin-top: -58px !important;
  }
}

/* =========================================================
   V44 — панорама чуть выше, без изменения общей композиции.
   Поднимаем PNG немного выше на всех страницах.
   ========================================================= */
.mountain-bottom-art img,
.catalog-page .mountain-bottom-art img,
.tour-page .mountain-bottom-art img {
  top: clamp(-205px, -9.25vw, -68px) !important;
}

@media (max-width: 980px) {
  .mountain-bottom-art img,
  .catalog-page .mountain-bottom-art img,
  .tour-page .mountain-bottom-art img {
    top: -118px !important;
  }
}

@media (max-width: 640px) {
  .mountain-bottom-art img,
  .catalog-page .mountain-bottom-art img,
  .tour-page .mountain-bottom-art img {
    top: -82px !important;
  }
}

/* V45 — поднял панораму ещё на 20px */
.mountain-bottom-art img,
.catalog-page .mountain-bottom-art img,
.tour-page .mountain-bottom-art img {
  top: calc(clamp(-205px, -9.25vw, -68px) - 20px) !important;
}

@media (max-width: 980px) {
  .mountain-bottom-art img,
  .catalog-page .mountain-bottom-art img,
  .tour-page .mountain-bottom-art img {
    top: -138px !important;
  }
}

@media (max-width: 640px) {
  .mountain-bottom-art img,
  .catalog-page .mountain-bottom-art img,
  .tour-page .mountain-bottom-art img {
    top: -102px !important;
  }
}

/* =========================================================
   V46 — доработка универсального шаблона тура
   ========================================================= */
.tour-gallery-strip {
  justify-content: flex-end;
}

.tour-thumbs {
  margin-left: 0;
}

.tour-about-copy {
  display: grid;
  gap: 14px;
  max-width: 760px;
}

.tour-about-copy p {
  margin: 0 !important;
  font-size: 15px;
  line-height: 1.68;
}

.tour-similar {
  padding-top: 46px;
  padding-bottom: 66px;
}

.tour-similar-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.tour-similar-card {
  display: block;
  overflow: hidden;
  border-radius: 13px;
  background: rgba(255,255,255,.5);
  border: 1px solid rgba(23,24,19,.08);
  color: var(--ink);
  text-decoration: none;
  box-shadow: 0 8px 24px rgba(32,42,34,.04);
  transition: transform .22s ease, box-shadow .22s ease;
}

.tour-similar-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 32px rgba(32,42,34,.09);
}

.tour-similar-image {
  position: relative;
  height: 170px;
  overflow: hidden;
  background: #293d31;
}

.tour-similar-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .35s ease;
}

.tour-similar-card:hover .tour-similar-image img {
  transform: scale(1.025);
}

.tour-similar-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(10,20,14,.06), rgba(10,20,14,.25));
  pointer-events: none;
}

.tour-similar-badge {
  position: absolute;
  z-index: 2;
  left: 10px;
  top: 10px;
  min-height: 24px;
  display: inline-flex;
  align-items: center;
  padding: 0 9px;
  border-radius: 6px;
  background: #436676;
  color: #fff;
  font-size: 9px !important;
  line-height: 1;
}

.tour-similar-badge.badge-rust { background: #764b43; }
.tour-similar-badge.badge-green { background: #425d4c; }
.tour-similar-badge.badge-brown { background: #6d5747; }

.tour-similar-image button {
  position: absolute;
  z-index: 3;
  right: 9px;
  top: 9px;
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(255,255,255,.6);
  border-radius: 50%;
  background: rgba(18,30,23,.38);
  color: #fff;
  font-size: 18px;
  backdrop-filter: blur(6px);
}

.tour-similar-body {
  padding: 11px 12px 14px !important;
}

.tour-similar-date {
  margin-bottom: 5px;
  color: #74786f;
  font-size: 9px;
}

.tour-similar-card h3 {
  min-height: 42px;
  margin: 0 0 10px;
  font-family: var(--display);
  font-size: 22px;
  line-height: .98;
  font-weight: 500;
}

.tour-similar-price {
  font-size: 19px;
  font-weight: 700;
}

@media (max-width: 1050px) {
  .tour-similar-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
  .tour-about-copy p { font-size: 14px; }
  .tour-similar-grid { grid-template-columns: 1fr; }
  .tour-similar-image { height: 210px; }
}

/* =========================================================
   V49 — декоративная ель встроена в слово «ОТДЫХ» на hero.
   ========================================================= */
.hero-title .hero-rest-line {
  position: relative;
  display: block;
  min-height: clamp(118px, 14.5vw, 202px);
  margin-top: 10px;
}

.hero-title .hero-rest-line strong {
  display: block;
  margin-top: 0;
  margin-left: clamp(92px, 8.2vw, 132px);
}

.hero-title-tree {
  position: absolute;
  left: clamp(-12px, .2vw, 4px);
  bottom: clamp(-8px, -.4vw, -2px);
  width: clamp(86px, 8.4vw, 132px);
  height: auto;
  max-height: clamp(145px, 16vw, 228px);
  object-fit: contain;
  object-position: center bottom;
  z-index: 2;
  pointer-events: none;
  user-select: none;
}

@media (max-width: 980px) {
  .hero-title .hero-rest-line {
    min-height: clamp(104px, 15vw, 170px);
  }
  .hero-title .hero-rest-line strong {
    margin-left: clamp(76px, 8.5vw, 108px);
  }
  .hero-title-tree {
    width: clamp(70px, 8.8vw, 104px);
    max-height: 178px;
  }
}

@media (max-width: 640px) {
  .hero-title .hero-rest-line {
    min-height: 90px;
    margin-top: 6px;
  }
  .hero-title .hero-rest-line strong {
    margin-left: 62px;
  }
  .hero-title-tree {
    left: -2px;
    bottom: 0;
    width: 58px;
    max-height: 116px;
  }
}

/* =========================================================
   V51 — декоративная хвойная ветка стоит НА СТЫКЕ бежевого
   блока программы и зелёного блока «Маршрут».
   На больших мониторах она заметно крупнее.
   ========================================================= */
.tour-route-section .shell {
  position: relative;
  z-index: 3;
}

.tour-route-branch {
  left: clamp(-210px, -10vw, -120px) !important;
  top: clamp(-132px, -7vw, -88px) !important;
  bottom: auto !important;
  width: clamp(250px, 22vw, 430px) !important;
  height: auto !important;
  z-index: 2 !important;
  transform: rotate(-8deg) !important;
  transform-origin: center center !important;
  opacity: .98 !important;
  pointer-events: none !important;
}

@media (min-width: 1600px) {
  .tour-route-branch {
    left: clamp(-260px, -9vw, -165px) !important;
    top: clamp(-155px, -6.5vw, -112px) !important;
    width: clamp(390px, 24vw, 540px) !important;
  }
}

@media (min-width: 2200px) {
  .tour-route-branch {
    left: -250px !important;
    top: -165px !important;
    width: 590px !important;
  }
}

@media (max-width: 1050px) {
  .tour-route-branch {
    left: -105px !important;
    top: -90px !important;
    width: clamp(220px, 34vw, 330px) !important;
  }
}

@media (max-width: 720px) {
  .tour-route-branch {
    left: -78px !important;
    top: -60px !important;
    width: clamp(170px, 48vw, 245px) !important;
    transform: rotate(-6deg) !important;
  }
}

/* =========================================================
   V52 — новая светлая хвойная ветка перед словом «ОТДЫХ».
   Также расширен hero-copy и немного скорректирован размер слова,
   чтобы «ОТДЫХ» не обрезался справа на широких и средних экранах.
   ========================================================= */
.hero-copy {
  width: min(84%, 990px) !important;
  overflow: visible !important;
}

.hero-title {
  overflow: visible !important;
}

.hero-title .hero-rest-line {
  position: relative !important;
  display: block !important;
  width: fit-content !important;
  max-width: 100% !important;
  min-height: clamp(122px, 14vw, 198px) !important;
  margin-top: 8px !important;
  overflow: visible !important;
}

.hero-title .hero-rest-line strong {
  display: block !important;
  margin-top: 0 !important;
  margin-left: clamp(134px, 10.4vw, 176px) !important;
  font-size: clamp(108px, 13.2vw, 192px) !important;
  line-height: .78 !important;
  white-space: nowrap !important;
}

.hero-title-tree {
  position: absolute !important;
  left: clamp(-8px, .4vw, 6px) !important;
  bottom: clamp(24px, 1.8vw, 40px) !important;
  width: clamp(140px, 12vw, 194px) !important;
  height: auto !important;
  max-height: clamp(196px, 19vw, 286px) !important;
  object-fit: contain !important;
  object-position: center bottom !important;
  z-index: 2 !important;
  pointer-events: none !important;
  user-select: none !important;
}

@media (max-width: 1180px) {
  .hero-copy {
    width: 88% !important;
  }
  .hero-title .hero-rest-line strong {
    margin-left: clamp(118px, 10vw, 148px) !important;
    font-size: clamp(102px, 14vw, 170px) !important;
  }
  .hero-title-tree {
    bottom: clamp(20px, 1.6vw, 32px) !important;
    width: clamp(116px, 11vw, 154px) !important;
    max-height: 232px !important;
  }
}

@media (max-width: 820px) {
  .hero-copy {
    width: 100% !important;
    padding-right: 10px !important;
  }
  .hero-title .hero-rest-line {
    min-height: 120px !important;
  }
  .hero-title .hero-rest-line strong {
    margin-left: 98px !important;
    font-size: clamp(88px, 19vw, 126px) !important;
  }
  .hero-title-tree {
    left: 2px !important;
    bottom: 18px !important;
    width: 100px !important;
    max-height: 170px !important;
  }
}

@media (max-width: 560px) {
  .hero-title .hero-rest-line {
    min-height: 92px !important;
    margin-top: 4px !important;
  }
  .hero-title .hero-rest-line strong {
    margin-left: 68px !important;
    font-size: clamp(68px, 19.5vw, 92px) !important;
    letter-spacing: -.055em !important;
  }
  .hero-title-tree {
    left: 0 !important;
    bottom: 14px !important;
    width: 72px !important;
    max-height: 128px !important;
  }
}


/* =========================================================
   V55 — декоративная ветка справа в блоке «О путешествии»
   только на универсальной странице-шаблоне tour.html.
   Масштабируется под большие мониторы, ноутбуки, планшеты и телефоны.
   ========================================================= */
.tour-about {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate;
}

.tour-about > .shell {
  position: relative !important;
  z-index: 2 !important;
}

.tour-about-branch {
  position: absolute !important;
  z-index: 1 !important;
  right: clamp(-150px, -6.5vw, -70px) !important;
  top: 30% !important;
  width: clamp(360px, 28vw, 560px) !important;
  height: auto !important;
  pointer-events: none !important;
  user-select: none !important;
  transform: rotate(8deg) !important;
  transform-origin: center !important;
  opacity: .96 !important;
}

@media (min-width: 1600px) {
  .tour-about-branch {
    right: -110px !important;
    top: 22% !important;
    width: clamp(540px, 31vw, 720px) !important;
  }
}

@media (max-width: 1180px) {
  .tour-about-branch {
    right: -110px !important;
    top: 36% !important;
    width: clamp(300px, 31vw, 410px) !important;
  }
}

@media (max-width: 820px) {
  .tour-about {
    padding-bottom: 112px !important;
  }

  .tour-about-branch {
    right: -76px !important;
    top: auto !important;
    bottom: 6px !important;
    width: clamp(210px, 34vw, 300px) !important;
    transform: rotate(5deg) !important;
  }
}

@media (max-width: 560px) {
  .tour-about {
    padding-bottom: 98px !important;
  }

  .tour-about-branch {
    right: -58px !important;
    bottom: 4px !important;
    width: clamp(175px, 48vw, 225px) !important;
    opacity: .94 !important;
  }
}

/* =========================================================
   V56 — ветка в «О путешествии» показывается целиком, без некрасивой обрезки.
   ========================================================= */
.tour-about {
  overflow: visible !important;
}

.tour-about-branch {
  right: clamp(12px, 1.8vw, 36px) !important;
  top: 14% !important;
  width: clamp(320px, 27vw, 620px) !important;
  max-width: 42% !important;
  height: auto !important;
  transform: rotate(0deg) !important;
  transform-origin: center !important;
}

@media (min-width: 1600px) {
  .tour-about-branch {
    right: clamp(24px, 2.2vw, 52px) !important;
    top: 10% !important;
    width: clamp(500px, 26vw, 660px) !important;
    max-width: 38% !important;
  }
}

@media (max-width: 1180px) {
  .tour-about-branch {
    right: 18px !important;
    top: 20% !important;
    width: clamp(280px, 30vw, 390px) !important;
    max-width: 40% !important;
  }
}

@media (max-width: 820px) {
  .tour-about {
    padding-bottom: 132px !important;
  }

  .tour-about-branch {
    right: 10px !important;
    top: auto !important;
    bottom: 10px !important;
    width: clamp(200px, 38vw, 280px) !important;
    max-width: 48% !important;
    transform: rotate(0deg) !important;
  }
}

@media (max-width: 560px) {
  .tour-about {
    padding-bottom: 118px !important;
  }

  .tour-about-branch {
    right: 6px !important;
    bottom: 8px !important;
    width: clamp(170px, 46vw, 220px) !important;
    max-width: 52% !important;
  }
}

/* V62: original paper image, compact and attached to the UPPER section.
   Thus text and controls in that section can sit above the decorative edge. */
:root { --site-edge-height: 44px; }
.torn-edge, .torn-edge-paper { display: none !important; }
.map-section::before, .about-strip::before {
  content: none !important;
  display: none !important;
}

.hero, .formats, .map-section, .tours, .reviews, .about-strip,
.tour-hero, .tour-about, .tour-program, .tour-route-section,
.tour-included, .tour-reviews, .tour-similar, .tour-specific-cta,
.catalog-hero, .catalog-results-band, .catalog-bottom-cta {
  position: relative !important;
  overflow: visible !important;
}

.section-torn-edge {
  display: block;
  position: absolute;
  left: -1px;
  bottom: -1px;
  width: calc(100% + 2px);
  height: var(--site-edge-height);
  z-index: 5;
  pointer-events: none;
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: 100% 100%;
}
.edge-paper { background-image: var(--gd-image-97408274d74c); }
.edge-map { background-image: var(--gd-image-dc2185b4ee38); }
.edge-about { background-image: var(--gd-image-c719414b2bb5); }
.edge-route { background-image: var(--gd-image-92db80af59c4); }
.edge-catalog { background-image: var(--gd-image-c2c835431ad5); }

/* All paper sections keep the site's original tone and texture. */
.catalog-results-band { background: var(--paper); }
.catalog-results-band .catalog-layout { padding-top: 10px; }
.hero-content, .catalog-hero-grid, .catalog-search,
.formats > .shell, .map-section > .shell, .tours > .shell,
.reviews > .shell, .about-strip > .shell,
.tour-hero > .shell, .tour-about > .shell, .tour-program > .shell,
.tour-route-section > .shell, .tour-included > .shell,
.tour-reviews > .shell, .tour-similar > .shell,
.tour-specific-cta > .shell, .catalog-results-band > .shell,
.catalog-bottom-cta > .shell {
  position: relative;
  z-index: 12 !important;
}

/* Remove the inflated V61 whitespace at the top of each section. */
.formats { padding-top: 80px !important; }
.tours { padding-top: 75px !important; }
.reviews { padding-top: 48px !important; }
.tour-about { padding-top: 78px !important; }
.tour-program { padding-top: 40px !important; }
.tour-included { padding-top: 90px !important; }
.tour-reviews, .tour-similar { padding-top: 38px !important; }
.tour-specific-cta { padding-top: 58px !important; }
@media (max-width: 820px) {
  :root { --site-edge-height: 36px; }
}
@media (max-width: 560px) {
  :root { --site-edge-height: 28px; }
}


/* V63: keep ornament above the paper tear, and clear the catalog controls. */
.tour-route-section { z-index: 30 !important; }
.tour-route-branch { z-index: 32 !important; }
.tour-route-section > .shell { z-index: 33 !important; }

.catalog-results-band {
  padding-bottom: 78px !important;
  background-color: var(--paper) !important;
}
.catalog-results-band > .section-torn-edge {
  height: 32px !important;
  bottom: -1px !important;
}
.catalog-bottom-cta {
  margin-top: 0 !important;
  min-height: 270px !important;
  padding-bottom: 72px !important;
  background: #102019 !important;
}
.catalog-bottom-inner {
  min-height: 270px !important;
  padding-top: 42px !important;
  padding-bottom: 26px !important;
}
.catalog-bottom-bg { background: none !important; font-size: 0 !important; }

/* The forest panorama remains in front of its background without touching text. */
.about-strip > .shell,
.catalog-bottom-cta > .shell,
.tour-specific-cta > .shell { z-index: 35 !important; }
@media (max-width: 980px) {
  .catalog-bottom-cta { min-height: 0 !important; padding-bottom: 80px !important; }
  .catalog-bottom-inner { min-height: 0 !important; padding-top: 50px !important; }
}
@media (max-width: 640px) {
  .catalog-results-band { padding-bottom: 64px !important; }
  .catalog-results-band > .section-torn-edge { height: 26px !important; }
  .catalog-bottom-cta { padding-bottom: 68px !important; }
}


/* V64: only the universal tour template uses the panorama as its footer. */
.tour-template-page .tour-similar {
  padding-bottom: 62px !important;
}
.tour-template-page #tour-footer {
  position: relative !important;
  isolation: isolate;
  overflow: hidden !important;
  min-height: 320px;
  margin-top: 0 !important;
  padding: clamp(138px, 9vw, 178px) 0 56px !important;
  background: #102019 !important;
  color: #f5f0e3 !important;
}
.tour-template-page #tour-footer::before {
  content: none !important;
  display: none !important;
}
.tour-template-page .tour-footer-panorama {
  display: block;
  position: absolute;
  z-index: 0;
  width: 100%;
  height: auto;
  left: 0;
  top: clamp(-135px, -6vw, -45px);
  pointer-events: none;
  user-select: none;
}
.tour-template-page .tour-footer-shade {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(16,32,25,.18), rgba(16,32,25,.48) 55%, #102019 100%);
}
.tour-template-page #tour-footer .footer-grid {
  position: relative !important;
  z-index: 3 !important;
  min-height: 100px;
  padding: 20px 0 30px !important;
  border-top: 1px solid rgba(245,240,227,.28) !important;
  color: #f5f0e3 !important;
}
.tour-template-page #tour-footer .brand-name-copy-dark,
.tour-template-page #tour-footer .footer-links,
.tour-template-page #tour-footer .footer-links a {
  color: #f5f0e3 !important;
}
.tour-template-page #tour-footer a {
  position: relative;
  z-index: 4;
  text-shadow: 0 1px 12px rgba(5,15,10,.65);
}
@media (max-width: 820px) {
  .tour-template-page #tour-footer {
    min-height: 250px;
    padding-top: 100px !important;
    padding-bottom: 42px !important;
  }
  .tour-template-page .tour-footer-panorama { top: -28px; }
}
@media (max-width: 560px) {
  .tour-template-page #tour-footer {
    min-height: 0;
    padding-top: 85px !important;
    padding-bottom: 40px !important;
  }
  .tour-template-page .tour-footer-panorama { top: 0; }
  .tour-template-page #tour-footer .footer-grid { padding-top: 26px !important; }
}

/* V65: each section carries its own short torn lower edge.
   The paper and forest PNG colors match their source sections exactly. */
.tour-template-page .tour-hero { z-index: 80 !important; }
.tour-template-page .tour-about { z-index: 70 !important; }
.tour-template-page .tour-program { z-index: 60 !important; }
.tour-template-page .tour-route-section { z-index: 50 !important; }
.tour-template-page .tour-included { z-index: 40 !important; }
.tour-template-page .tour-reviews { z-index: 30 !important; }
.tour-template-page .tour-similar { z-index: 20 !important; padding-bottom: 76px !important; }
.tour-template-page main > section > .section-torn-edge {
  bottom: -21px !important;
  height: 40px !important;
  transform: scaleY(-1);
  transform-origin: center;
  filter: drop-shadow(0 2px 1px rgba(35, 31, 25, .12));
}
/* The first tear is made by the incoming paper, rising into the photo. */
.tour-template-page .tour-hero > .section-torn-edge {
  bottom: -1px !important;
  transform: none;
  filter: none;
}
.tour-template-page #tour-footer {
  z-index: 1 !important;
  min-height: 0;
  padding: clamp(170px, 14vw, 230px) 0 28px !important;
  background-color: #102019 !important;
}
.tour-template-page .tour-footer-panorama {
  left: 50%;
  top: clamp(-80px, -4vw, -24px);
  width: max(100%, 1000px);
  max-width: none;
  transform: translateX(-50%);
}
.tour-template-page .tour-footer-shade {
  background: linear-gradient(to bottom,
    rgba(16,32,25,.08) 0%,
    rgba(16,32,25,.32) 25%,
    rgba(16,32,25,.78) 60%,
    #102019 92%);
}
.tour-template-page #tour-footer .footer-grid {
  display: block;
  padding: 0 !important;
  border: 0 !important;
  text-shadow: 0 1px 14px rgba(5,15,10,.42);
}
.tour-template-page .tour-footer-top {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 32px;
  padding: 0 0 34px;
}
.tour-template-page .tour-footer-intro {
  min-width: 0;
}
.tour-template-page .tour-footer-intro .footer-brand {
  width: fit-content;
  min-width: 0;
  gap: 12px;
}
.tour-template-page .tour-footer-intro .brand-logo-image {
  width: 66px;
  height: 76px;
  object-fit: contain;
}
.tour-template-page .tour-footer-intro .brand-name-copy strong {
  font-size: 28px;
}
.tour-template-page .tour-footer-intro .brand-name-copy small {
  font-size: 7px;
}
.tour-template-page .tour-footer-intro p {
  margin: 12px 0 0;
  font-family: var(--display);
  font-size: clamp(22px, 2.4vw, 33px);
  line-height: 1.1;
  color: #f5f0e3;
}
.tour-template-page .tour-footer-cta {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  flex-shrink: 0;
  min-height: 48px;
  padding: 0 18px 0 22px;
  border: 1px solid rgba(245,240,227,.65);
  border-radius: 11px;
  background: rgba(16,32,25,.45);
  color: #f5f0e3;
  font-size: 12px;
  backdrop-filter: blur(6px);
  transition: background .2s, transform .2s;
}
.tour-template-page .tour-footer-cta:hover {
  background: rgba(245,240,227,.16);
  transform: translateY(-2px);
}
.tour-template-page #tour-footer .footer-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 28px;
  row-gap: 16px;
  padding: 26px 0 30px;
  border-top: 1px solid rgba(245,240,227,.32);
  font-size: 13px;
  line-height: 1.35;
}
.tour-template-page #tour-footer .footer-links a {
  width: fit-content;
  opacity: .88;
}
.tour-template-page #tour-footer .footer-links a:hover {
  opacity: 1;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.tour-template-page .tour-footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 18px 0 0;
  border-top: 1px solid rgba(245,240,227,.18);
  color: rgba(245,240,227,.7);
  font-size: 11px;
}
@media (max-width: 820px) {
  .tour-template-page #tour-footer {
    padding-top: 155px !important;
    padding-bottom: 24px !important;
  }
  .tour-template-page .tour-footer-panorama { top: -48px; }
}
@media (max-width: 560px) {
  .tour-template-page main > section > .section-torn-edge {
    bottom: -15px !important;
    height: 28px !important;
  }
  .tour-template-page .tour-hero > .section-torn-edge { bottom: -1px !important; }
  .tour-template-page .tour-similar { padding-bottom: 68px !important; }
  .tour-template-page #tour-footer {
    padding-top: 145px !important;
    padding-bottom: 24px !important;
  }
  .tour-template-page .tour-footer-panorama {
    top: -40px;
    width: max(100%, 860px);
  }
  .tour-template-page .tour-footer-top {
    display: grid;
    gap: 24px;
    padding-bottom: 26px;
  }
  .tour-template-page .tour-footer-intro .brand-logo-image {
    width: 56px;
    height: 65px;
  }
  .tour-template-page .tour-footer-intro .brand-name-copy strong { font-size: 23px; }
  .tour-template-page .tour-footer-intro .brand-name-copy small { font-size: 6px; }
  .tour-template-page .tour-footer-cta { width: fit-content; }
  .tour-template-page #tour-footer .footer-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 16px;
    row-gap: 17px;
    font-size: 12px;
  }
  .tour-template-page .tour-footer-bottom { font-size: 10px; }
}

/* V66: the tear stays behind the next section's content.
   Avoid raising entire earlier sections above subsequent text. */
.tour-template-page main > section {
  z-index: auto !important;
}
.tour-template-page main > section > .shell {
  position: relative;
  z-index: 12 !important;
}
.tour-template-page .tour-route-branch {
  z-index: 2 !important;
}
.tour-template-page main > section > .section-torn-edge {
  bottom: -11px !important;
  height: 22px !important;
  z-index: 5 !important;
  filter: none;
}
.tour-page:not(.tour-template-page) .tour-specific-cta > .section-torn-edge {
  bottom: -11px !important;
  height: 22px !important;
  transform: scaleY(-1);
  filter: none;
}
.tour-template-page .tour-hero > .section-torn-edge {
  bottom: -1px !important;
}
@media (max-width: 560px) {
  .tour-template-page main > section > .section-torn-edge {
    bottom: -8px !important;
    height: 16px !important;
  }
  .tour-template-page .tour-hero > .section-torn-edge {
    bottom: -1px !important;
  }
  .tour-page:not(.tour-template-page) .tour-specific-cta > .section-torn-edge {
    bottom: -8px !important;
    height: 16px !important;
  }
}

/* One green, panoramic footer on every page. The mountain is its background,
   with all logos, navigation and controls on a higher layer. */
.panorama-footer,
.panorama-footer.site-footer-lite,
.tour-template-page #tour-footer.panorama-footer {
  position: relative !important;
  z-index: 1 !important;
  isolation: isolate;
  overflow: hidden !important;
  margin-top: 0 !important;
  min-height: 0 !important;
  padding: clamp(130px, 10vw, 175px) 0 30px !important;
  background: #102019 !important;
  color: #f5f0e3 !important;
}
.panorama-footer::before {
  content: none !important;
  display: none !important;
}
.panorama-footer .footer-panorama,
.tour-template-page #tour-footer .footer-panorama {
  display: block !important;
  position: absolute !important;
  z-index: 0 !important;
  inset: 0 auto auto 0 !important;
  width: 100% !important;
  height: clamp(210px, 19vw, 310px) !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center 47% !important;
  transform: none !important;
  pointer-events: none !important;
  user-select: none;
}
.panorama-footer .footer-panorama-shade,
.tour-template-page #tour-footer .footer-panorama-shade {
  position: absolute !important;
  z-index: 1 !important;
  inset: 0 !important;
  pointer-events: none !important;
  background: linear-gradient(180deg,
    rgba(16,32,25,.03) 0%,
    rgba(16,32,25,.32) 28%,
    rgba(16,32,25,.86) 66%,
    #102019 100%) !important;
}
.panorama-footer > .shell {
  position: relative !important;
  z-index: 3 !important;
}
.panorama-footer .brand-name-copy-dark,
.panorama-footer .footer-links,
.panorama-footer .footer-links a {
  color: #f5f0e3 !important;
}
.panorama-footer a {
  position: relative;
  z-index: 4;
}
.panorama-footer:not(.tour-template-page) .footer-grid {
  display: grid;
  grid-template-columns: minmax(190px, .75fr) minmax(0, 2fr);
  align-items: start;
  gap: 48px;
  padding: 28px 0 22px !important;
  border-top: 1px solid rgba(245,240,227,.27) !important;
}
.panorama-footer .footer-grid .footer-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 17px 22px;
  font-size: 13px;
  line-height: 1.35;
}
.panorama-footer .footer-grid .footer-links a {
  width: fit-content;
}
.tour-template-page #tour-footer.panorama-footer .footer-grid {
  display: block;
  padding: 0 !important;
  border: 0 !important;
}
.panorama-footer .footer-main {
  display: grid !important;
  grid-template-columns: minmax(190px, .75fr) minmax(0, 2fr);
  align-items: start;
  gap: 22px 48px;
  min-height: 0 !important;
  padding: 28px 0 24px;
  border-top: 1px solid rgba(245,240,227,.27);
}
.panorama-footer .footer-main .footer-nav {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  justify-content: initial;
  gap: 17px 22px;
  font-size: 13px;
  line-height: 1.35;
}
.panorama-footer .footer-main .footer-socials {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 14px 26px;
  padding-top: 20px;
  border-top: 1px solid rgba(245,240,227,.18);
  font-size: 11px;
}
.panorama-footer .footer-bottom {
  min-height: 0;
  padding: 18px 0 0;
  font-size: 10px;
}
@media (max-width: 720px) {
  .panorama-footer,
  .panorama-footer.site-footer-lite,
  .tour-template-page #tour-footer.panorama-footer {
    padding: 110px 0 26px !important;
  }
  .panorama-footer .footer-panorama,
  .tour-template-page #tour-footer .footer-panorama {
    height: 240px !important;
  }
  .panorama-footer:not(.tour-template-page) .footer-grid,
  .panorama-footer .footer-main {
    grid-template-columns: 1fr;
    gap: 26px;
  }
  .panorama-footer .footer-grid .footer-links,
  .panorama-footer .footer-main .footer-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    font-size: 12px;
  }
  .panorama-footer .footer-main .footer-socials { grid-column: 1; }
  .panorama-footer .footer-bottom {
    align-items: start;
    flex-direction: column;
    gap: 14px;
  }
  .panorama-footer .footer-bottom div {
    flex-wrap: wrap;
    gap: 10px 18px;
  }
}

/* Формы заявок внутри универсального шаблона тура. */
.tour-template-page [hidden] { display: none !important; }
.tour-lead-form { display:grid; gap:10px; margin-top:16px; }
.tour-lead-form label { display:block; font:600 12px Manrope,Arial,sans-serif; color:#254232; }
.tour-lead-form label small { font-weight:400; color:#829487; }
.tour-lead-form input,.tour-lead-form textarea { display:block; width:100%; margin-top:5px; padding:10px 12px; border:1px solid #d4ded5; border-radius:7px; background:white; color:#20372d; font:14px Manrope,Arial,sans-serif; }
.tour-lead-form button { width:100%; }
.tour-lead-form [data-lead-message] { margin:0; color:#27583e; font-size:12px; }
.tour-modal-card { max-height:calc(100vh - 28px); overflow-y:auto; }
.tour-child-price { color:#315f45!important; font-weight:700; }
.tour-promo-link { display:inline-flex; align-items:center; gap:6px; color:#315f45; font-size:11px; font-weight:700; text-decoration:underline; text-underline-offset:3px; margin:4px 0 6px; }
.tour-included-grid.is-single { grid-template-columns:minmax(0,780px); }
.tour-hero.is-portrait .tour-hero-bg::after { content:""; position:absolute; top:0; bottom:0; left:35%; width:43%; background-image:var(--tour-hero-image); background-size:auto 100%; background-repeat:no-repeat; background-position:center; -webkit-mask-image:linear-gradient(90deg,transparent 12%,#000 36%,#000 64%,transparent 88%); mask-image:linear-gradient(90deg,transparent 12%,#000 36%,#000 64%,transparent 88%); }
@media(max-width:720px) { .tour-hero.is-portrait .tour-hero-bg::after { display:none; } }

/* Shared route diagram */
.tour-route-grid { grid-template-columns:minmax(0, .75fr) minmax(0, 1.65fr) minmax(0, .55fr); gap:22px; }
.tour-route-schematic { height:auto; min-height:0; display:block; padding:0; border:0; background:none; border-radius:0; min-width:0; }
.route-map-svg { display:block; width:100%; height:auto; overflow:visible; }
.route-map-path-shadow { fill:none; stroke:#d7cdb6; stroke-width:12; opacity:.08; stroke-linecap:round; }
.route-map-path { fill:none; stroke:#eee8d8; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; stroke-dasharray:8 7; }
.route-map-label { fill:#f7f1e3; font:600 27px Manrope,Arial,sans-serif; letter-spacing:-.025em; }
.route-map-subtitle { fill:#d3cdbf; font:18px Manrope,Arial,sans-serif; }
.route-map-decor { opacity:.17; }
.route-map-empty { color:#d3cdbf; font-size:13px; text-align:center; padding:70px 10px; }
.tour-route-stats:empty { display:none; }
@media(max-width:1050px) { .tour-route-grid { grid-template-columns:1fr; } .tour-route-map { width:min(100%,760px); margin:auto; } }
@media(max-width:620px) { .tour-route-grid { gap:15px; } .tour-route-copy h2 { font-size:42px; } .tour-route-stats { grid-template-columns:repeat(2,minmax(0,1fr)); } .route-map-svg { width:100%; } .route-map-label { font-size:33px; } .route-map-subtitle { font-size:27px; } }


/* =========================================================
   V12 — чистый маршрутный блок.
   Возвращены исходные размеры и сетка. Меняется только фон.
   Никаких фиксированных/конфликтующих высот из V9–V11.
   ========================================================= */
.tour-route-section {
  position: relative !important;
  min-height: 310px !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
  color: var(--ivory) !important;
  background:
    linear-gradient(90deg,
      rgba(8,18,14,.82) 0%,
      rgba(8,18,14,.68) 38%,
      rgba(8,18,14,.64) 64%,
      rgba(8,18,14,.76) 100%),
    var(--gd-image-4d4a88282ba5) center top / cover no-repeat,
    #17271f !important;
}

/* Никаких дополнительных слоёв, способных перекрывать содержимое. */
.tour-route-section::before {
  content: none !important;
  display: none !important;
}

.tour-route-section > .shell,
.tour-route-section .tour-route-grid {
  position: relative !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  transform: none !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  z-index: 12 !important;
}

.tour-route-grid {
  min-height: 310px !important;
  height: auto !important;
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: minmax(0,.75fr) minmax(0,1.65fr) minmax(0,.55fr) !important;
  gap: 22px !important;
  align-items: center !important;
  padding: 42px 0 70px !important;
}

.tour-route-copy,
.tour-route-map,
.tour-route-stats {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  transform: none !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.tour-route-map,
.tour-route-schematic {
  width: 100% !important;
  height: 200px !important;
  min-height: 200px !important;
  max-height: 200px !important;
}

.route-map-svg {
  display: block !important;
  width: 100% !important;
  height: 200px !important;
  max-height: 200px !important;
  overflow: visible !important;
}

.tour-route-copy h2 {
  margin: 0 0 10px !important;
  font-size: 58px !important;
  line-height: .92 !important;
  color: var(--ivory) !important;
}
.tour-route-copy p {
  margin: 0 !important;
  font-size: 12px !important;
  line-height: 1.55 !important;
  color: rgba(245,240,227,.88) !important;
}
.tour-route-stats {
  display: grid !important;
  gap: 14px !important;
  color: var(--ivory) !important;
}
.tour-route-stats b { color: rgba(245,240,227,.68) !important; }
.tour-route-stats strong,
.tour-route-stats span { color: var(--ivory) !important; }

/* Следующий бежевый блок всегда начинается ПОСЛЕ маршрутного блока. */
.tour-route-section + .tour-included {
  clear: both !important;
  margin-top: 0 !important;
  transform: none !important;
}

@media (max-width: 1050px) {
  .tour-route-grid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    padding: 38px 0 64px !important;
  }
  .tour-route-map,
  .tour-route-schematic {
    width: min(100%,760px) !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin-inline: auto !important;
  }
  .route-map-svg {
    height: auto !important;
    max-height: none !important;
  }
  .tour-route-stats {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }
}

@media (max-width: 620px) {
  .tour-route-grid {
    gap: 18px !important;
    padding: 34px 0 58px !important;
  }
  .tour-route-copy h2 { font-size: 42px !important; }
  .tour-route-stats { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
}

/* =========================================================
   V13 — CODE FIX ONLY.
   Используем существующий assets/images/route-branch.png.
   Никакой подмены изображения. Исправляем только позиционирование
   и слои, чтобы ветка и декоративная ёлка не обрезались.
   ========================================================= */

/* Ветка маршрута может заходить на соседний бежевый блок и не режется. */
.tour-program,
.tour-route-section,
.tour-about {
  overflow: visible !important;
}

.tour-program {
  position: relative !important;
  z-index: 1 !important;
}

.tour-route-section {
  position: relative !important;
  z-index: 4 !important;
  isolation: auto !important;
}

.tour-route-branch {
  display: block !important;
  position: absolute !important;
  left: clamp(-34px, -1.6vw, -12px) !important;
  top: clamp(-86px, -4.2vw, -58px) !important;
  bottom: auto !important;
  width: clamp(250px, 18vw, 390px) !important;
  height: auto !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: left top !important;
  clip-path: none !important;
  transform: none !important;
  opacity: .98 !important;
  z-index: 30 !important;
  pointer-events: none !important;
}

.tour-route-section > .shell,
.tour-route-section .tour-route-grid {
  position: relative !important;
  z-index: 31 !important;
}

/* Чёрная декоративная ёлка в «О путешествии» всегда помещается целиком. */
.tour-about {
  position: relative !important;
}

.tour-about-branch {
  display: block !important;
  position: absolute !important;
  right: clamp(18px, 2.4vw, 54px) !important;
  top: 50% !important;
  bottom: auto !important;
  width: clamp(250px, 22vw, 470px) !important;
  height: auto !important;
  max-width: 34% !important;
  max-height: calc(100% - 36px) !important;
  object-fit: contain !important;
  object-position: center !important;
  clip-path: none !important;
  transform: translateY(-50%) !important;
  z-index: 1 !important;
  pointer-events: none !important;
}

.tour-about > .shell {
  position: relative !important;
  z-index: 2 !important;
}

@media (min-width: 1600px) {
  .tour-route-branch {
    left: -38px !important;
    top: -92px !important;
    width: clamp(330px, 19vw, 440px) !important;
  }
  .tour-about-branch {
    right: clamp(28px, 2.6vw, 68px) !important;
    width: clamp(320px, 21vw, 500px) !important;
    max-width: 31% !important;
  }
}

@media (max-width: 1050px) {
  .tour-route-branch {
    left: -20px !important;
    top: -58px !important;
    width: clamp(210px, 27vw, 300px) !important;
  }
  .tour-about-branch {
    right: 12px !important;
    width: clamp(210px, 30vw, 320px) !important;
    max-width: 38% !important;
  }
}

@media (max-width: 720px) {
  .tour-route-branch {
    left: -12px !important;
    top: -42px !important;
    width: clamp(165px, 42vw, 230px) !important;
  }
  .tour-about {
    padding-bottom: 120px !important;
  }
  .tour-about-branch {
    right: 8px !important;
    top: auto !important;
    bottom: 12px !important;
    width: clamp(150px, 40vw, 210px) !important;
    max-width: 48% !important;
    max-height: 118px !important;
    transform: none !important;
  }
}


/* =========================================================
   V14 — CODE ONLY.
   Используем существующий assets/images/route-branch.png.
   Никаких новых изображений. Ветка не обрезается и используется
   также в блоке «О путешествии» вместо ошибочной чёрной ёлки.
   ========================================================= */

/* Все родители, через границы которых проходит декор, не режут PNG. */
.tour-template-page main,
.tour-template-page .tour-program,
.tour-template-page .tour-about,
.tour-template-page .tour-route-section {
  overflow: visible !important;
}

/* Ветка на стыке программы и блока маршрута. Полностью остаётся в viewport. */
.tour-template-page .tour-route-branch {
  display: block !important;
  position: absolute !important;
  left: clamp(10px, 1.4vw, 30px) !important;
  right: auto !important;
  top: clamp(-74px, -4vw, -48px) !important;
  bottom: auto !important;
  width: clamp(270px, 20vw, 430px) !important;
  height: auto !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: left top !important;
  clip-path: none !important;
  transform: none !important;
  opacity: .98 !important;
  z-index: 20 !important;
  pointer-events: none !important;
}

/* В «О путешествии» используем ТОТ ЖЕ route-branch.png.
   Не выпускаем его за правый край, поэтому он не режется. */
.tour-template-page .tour-about-branch {
  display: block !important;
  position: absolute !important;
  right: clamp(12px, 2vw, 42px) !important;
  left: auto !important;
  top: 50% !important;
  bottom: auto !important;
  width: clamp(320px, 30vw, 620px) !important;
  height: auto !important;
  max-width: 40% !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: right center !important;
  clip-path: none !important;
  transform: translateY(-50%) !important;
  opacity: .82 !important;
  z-index: 1 !important;
  pointer-events: none !important;
}

.tour-template-page .tour-about > .shell {
  position: relative !important;
  z-index: 3 !important;
}

@media (min-width: 1600px) {
  .tour-template-page .tour-route-branch {
    left: 18px !important;
    top: -82px !important;
    width: clamp(360px, 21vw, 500px) !important;
  }
  .tour-template-page .tour-about-branch {
    right: clamp(24px, 2.4vw, 58px) !important;
    width: clamp(480px, 29vw, 680px) !important;
    max-width: 38% !important;
  }
}

@media (max-width: 1050px) {
  .tour-template-page .tour-route-branch {
    left: 8px !important;
    top: -54px !important;
    width: clamp(220px, 30vw, 310px) !important;
  }
  .tour-template-page .tour-about-branch {
    right: 10px !important;
    width: clamp(250px, 34vw, 360px) !important;
    max-width: 42% !important;
  }
}

@media (max-width: 720px) {
  .tour-template-page .tour-route-branch {
    left: 6px !important;
    top: -38px !important;
    width: clamp(165px, 44vw, 230px) !important;
  }

  .tour-template-page .tour-about {
    padding-bottom: 118px !important;
  }

  .tour-template-page .tour-about-branch {
    right: 6px !important;
    top: auto !important;
    bottom: 10px !important;
    width: min(62vw, 270px) !important;
    max-width: none !important;
    transform: none !important;
  }
}

/* =========================================================
   V15 — FIX обрезания route-branch на стыке блоков.
   Причина: у .tour-program был z-index:60, а у route — 50,
   поэтому бежевый блок рисовался поверх части ветки,
   которая выходила выше границы секции.
   ========================================================= */
.tour-template-page main {
  overflow: visible !important;
  isolation: isolate !important;
}

/* Предыдущий бежевый блок остаётся ниже декоративной ветки. */
.tour-template-page .tour-program {
  position: relative !important;
  z-index: 10 !important;
  overflow: visible !important;
}

/* Блок маршрута и его выступающая ветка рисуются поверх предыдущей секции. */
.tour-template-page .tour-route-section {
  position: relative !important;
  z-index: 70 !important;
  overflow: visible !important;
}

.tour-template-page .tour-route-branch {
  z-index: 75 !important;
  clip-path: none !important;
  overflow: visible !important;
}

.tour-template-page .tour-route-section > .shell,
.tour-template-page .tour-route-section .tour-route-grid {
  z-index: 80 !important;
}

/* Рваный край не должен перекрывать ветку. */
.tour-template-page .tour-program > .section-torn-edge {
  z-index: 11 !important;
}

/* Следующий блок возвращаем ниже секции маршрута. */
.tour-template-page .tour-included {
  position: relative !important;
  z-index: 5 !important;
}



/* School tours. The page surface is true white; photographs and cards carry the colour. */
.school-page{--paper:#fff;--school-green:#263b2b;--school-wine:#632b2a;background:#fff;color:#161913;font-family:Manrope,Arial,sans-serif}
.school-page .shell{width:min(calc(100% - 80px),1220px)}
.school-page .site-header-light{position:relative;z-index:70;background:#fff;border:0;backdrop-filter:none}
.school-page .site-header-light .header-inner{height:75px;gap:12px}
.school-page .brand{min-width:145px}
.school-page .brand-logo-image{max-height:54px}
.school-page .main-nav{gap:clamp(10px,1.4vw,25px);font-size:clamp(9px,.8vw,11px)}
.school-page .main-nav .is-current{border-bottom:1px solid currentColor;padding-bottom:6px}
.school-page .header-actions{gap:2px}
.school-page .icon-button{display:inline-grid;place-items:center}
.school-page .header-cta{white-space:nowrap;min-height:38px;padding:0 15px;border-radius:9px;font-size:10px}
.school-page .main-nav a:hover{transform:none}
.school-intro{position:relative;isolation:isolate;padding-bottom:0}
.school-spruce{position:absolute;pointer-events:none;z-index:1;object-fit:contain}
.school-spruce-top{width:260px;height:370px;left:-165px;top:-85px;transform:rotate(-20deg)}
.school-hero-photo{position:absolute;right:0;top:0;width:59%;height:clamp(315px,27vw,390px);z-index:-1;background:var(--gd-image-105fef97bf0e) center 42%/cover no-repeat;mask-image:linear-gradient(90deg,transparent 0%,#000 19%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 19%)}
.school-hero{position:relative;min-height:clamp(270px,25vw,360px);padding-top:7px}
.school-breadcrumb{display:flex;gap:8px;color:#77766f;font-size:11px;margin:0 0 8px 15px}
.school-breadcrumb a:hover{text-decoration:underline}
.school-hero-copy{position:relative;z-index:2;max-width:490px}
.school-hero h1{font-family:var(--display);font-size:clamp(76px,8.2vw,126px);font-weight:500;letter-spacing:-.055em;line-height:.72;margin:16px 0 19px 15px}
.school-lead{font-size:clamp(14px,1.5vw,19px);line-height:1.32;max-width:395px;margin:0 0 10px 15px;letter-spacing:-.03em}
.school-hero-details{font-size:10px;line-height:1.5;max-width:515px;margin:0 0 0 15px}
.school-handnote{position:absolute;right:0;top:0;margin:0;font:30px/.81 var(--script);transform:rotate(-10deg);text-align:center;color:#49534a;z-index:2}
.school-classes{position:relative;z-index:3;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:0}
.school-class{min-width:0;min-height:84px;border:1px solid #ddd9d2;border-radius:8px;background:rgba(250,249,247,.94);display:flex;align-items:center;gap:12px;padding:12px 13px;text-align:left;cursor:pointer;box-shadow:0 6px 17px rgba(37,42,30,.04)}
.school-class:hover,.school-class:focus-visible{border-color:#687565;outline:none}
.school-class.is-active{background:#263b2b;color:white;border-color:#263b2b}
.school-class-icon{font-family:Georgia,serif;font-size:35px;line-height:1;flex:0 0 32px;font-weight:400}
.school-class strong{display:block;font-size:11px;line-height:1.25;white-space:nowrap}
.school-class small{display:block;color:#656862;font-size:9px;line-height:1.45;margin-top:6px}
.school-class.is-active small{color:rgba(255,255,255,.84)}
.school-class-arrow{align-self:end;margin-left:auto;border:1px solid #334537;border-radius:50%;width:22px;height:22px;display:grid;place-items:center;font-size:15px}
.school-content{padding-top:21px}
.school-search{display:grid;grid-template-columns:1.12fr .9fr 1fr 155px 40px 85px;align-items:center;gap:0;min-height:46px}
.school-search>label{height:46px;display:flex;align-items:center;gap:13px;padding:0 16px;background:#fff;border-top:1px solid #ddd9d2;border-bottom:1px solid #ddd9d2}
.school-search>label:first-child{border-left:1px solid #ddd9d2;border-radius:8px 0 0 8px}
.school-search>label:nth-child(3){border-right:1px solid #ddd9d2;border-radius:0 8px 8px 0}
.school-search>label+label::before{content:"";height:22px;border-left:1px solid #dfddd8;margin-left:-16px}
.school-search-icon{font:21px Georgia;color:#283b2d;flex:0 0 22px}
.school-search input{width:100%;min-width:0;border:0;background:transparent;outline:0;color:#343c35;font-size:11px}
.school-search input::placeholder{color:#777872}
.school-dark-btn{min-height:40px;border:0;border-radius:7px;background:#263b2b;color:white;font:11px Manrope,Arial,sans-serif;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:14px}
.school-search .school-dark-btn{margin:3px 5px 3px 5px}
.school-filter-toggle{height:41px;margin:0 5px;border:1px solid #ddd9d2;background:#fff;border-radius:8px;font-size:24px;line-height:1;cursor:pointer}
.school-reset{border:0;background:transparent;color:#4c524b;font-size:10px;white-space:nowrap;cursor:pointer}
.school-filter-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:17px 0 16px}
.school-selects{display:flex;gap:7px;flex-wrap:wrap}
.school-selects select{appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23464d44'/%3E%3C/svg%3E") right 10px center/9px no-repeat;border:1px solid #e0ded8;border-radius:7px;padding:7px 25px 7px 9px;color:#333b33;font:10px Manrope,Arial,sans-serif;cursor:pointer;max-width:190px}
.school-sort{white-space:nowrap;font-size:10px;text-decoration:underline;text-underline-offset:3px}
.school-sort select{border:0;background:transparent;font:inherit;text-decoration:underline;cursor:pointer;color:#333b33}
.school-section-head{display:flex;align-items:end;justify-content:space-between;gap:20px}
.school-section-head h2,.school-benefits h2,.school-process h2,.school-request h2,.school-final h2{font-family:var(--display);font-weight:500;letter-spacing:-.037em;line-height:.95}
.school-section-head h2{font-size:clamp(34px,3.4vw,54px);margin:0 0 10px}
.school-section-head>a,.school-review-actions>a{font-size:10px;border-bottom:1px solid #41483f;padding-bottom:3px;white-space:nowrap;margin-bottom:14px}
.school-section-head a span{margin-left:9px}
.school-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.school-tour-card{min-width:0;background:#fff;border:1px solid #eeeae3;border-radius:10px;overflow:hidden;box-shadow:0 6px 20px rgba(31,45,30,.06)}
.school-card-image{position:relative;aspect-ratio:1.29;overflow:hidden;background:#d6dacd}
.school-card-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s}
.school-tour-card:hover .school-card-image img{transform:scale(1.045)}
.school-card-tag{position:absolute;top:10px;left:10px;background:#63302d;color:#fff;padding:6px 12px;border-radius:5px;font-size:10px}
.school-card-tag-dark{background:#32342f}
.school-favorite{position:absolute;right:10px;top:4px;background:none;border:0;color:#fff;text-shadow:0 1px 4px #000;font:33px Georgia;line-height:1;cursor:pointer}
.school-favorite[aria-pressed="true"]{color:#fff2e8}
.school-card-body{padding:10px 15px 12px}
.school-card-body h3{font-family:var(--display);font-size:clamp(20px,1.9vw,30px);font-weight:600;line-height:.99;letter-spacing:-.025em;margin:0 0 6px}
.school-card-body p{font-size:10px;line-height:1.3;color:#464b44;margin:0 0 9px;min-height:26px}
.school-card-meta{display:flex;align-items:center;gap:13px;color:#686e67;font-size:9px;white-space:nowrap}
.school-card-bottom{display:flex;justify-content:space-between;align-items:end;gap:8px;margin-top:7px}
.school-card-bottom strong{font-size:17px;letter-spacing:-.04em}
.school-card-bottom button{width:32px;height:32px;border:0;border-radius:8px;background:#263b2b;color:white;font-size:19px;cursor:pointer}
.school-empty{padding:30px 0;font-size:13px;color:#5a625b}
.school-benefits{margin:17px 0 10px;padding:16px 20px;border-radius:12px;background:#f5f3ef;display:grid;grid-template-columns:1.8fr repeat(5,1fr);align-items:center;gap:12px;min-height:94px}
.school-benefits h2{font-size:clamp(25px,2.5vw,38px);margin:0}
.school-benefits>div{text-align:center}
.school-benefits>div span{font:32px Georgia,serif;line-height:1}
.school-benefits>div p{font-size:9px;line-height:1.35;margin:7px 0 0}
.school-request{position:relative;min-height:137px;border-radius:12px;overflow:hidden;isolation:isolate;display:flex;justify-content:space-between;align-items:center;padding:18px 30px;color:white;background:#283a2b}
.school-request-photo{position:absolute;z-index:-2;inset:0 22% 0 0;background:var(--gd-image-bd39a8c4aa00) 70% 46%/cover no-repeat}
.school-request::before{content:"";position:absolute;z-index:-1;inset:0 22% 0 0;background:linear-gradient(90deg,rgba(9,23,18,.86),rgba(9,23,18,.12) 73%,transparent)}
.school-request::after{content:"";position:absolute;z-index:-1;right:0;top:0;bottom:0;width:25%;background:#f5f3ef}
.school-request h2{font-size:clamp(30px,3.1vw,49px);margin:0 0 8px}
.school-request p{font-size:10px;line-height:1.5;margin:0}
.school-request-actions{display:grid;gap:8px;align-items:center;width:170px;z-index:1}
.school-wine-btn,.school-outline-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:38px;border-radius:7px;font:10px Manrope,Arial,sans-serif;cursor:pointer}
.school-wine-btn{background:#632b2a;color:white;border:1px solid #632b2a}
.school-outline-btn{background:transparent;color:#333b33;border:1px solid #bbb9b2}
.school-process{padding:18px 8px 10px;position:relative}
.school-process h2{font-size:clamp(33px,3.2vw,49px);margin:0 0 22px}
.school-process ol{list-style:none;margin:0;padding:10px 0 0;display:grid;grid-template-columns:repeat(5,1fr);gap:14px;counter-reset:steps;position:relative}
.school-process ol::before{content:"";position:absolute;left:10px;right:20%;top:19px;border-top:1px dashed #784e4b}
.school-process li{position:relative;counter-increment:steps;padding-top:26px;font-size:10px}
.school-process li::before{content:counter(steps);position:absolute;top:0;left:0;width:19px;height:19px;border-radius:50%;display:grid;place-items:center;background:#632b2a;color:#fff;font-size:9px}
.school-process li strong{font-size:10px}
.school-process li p{color:#6e706b;line-height:1.4;margin:5px 0 0}
.school-reviews{padding:12px 6px 22px;position:relative}
.school-reviews::before{content:"";position:absolute;right:-30px;top:-160px;width:260px;height:250px;background:url("/assets/images/catalog-sketch-pines.svg") center/contain no-repeat;opacity:.26;pointer-events:none}
.school-review-actions{display:flex;align-items:center;gap:8px}
.school-review-actions>a{margin:0 12px 0 0}
.school-review-actions button{width:32px;height:32px;border-radius:50%;border:1px solid #777;background:#fff;font-size:17px;cursor:pointer}
.school-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.school-review-grid article{border-radius:9px;background:#f7f6f4;padding:12px 17px;min-height:109px}
.school-review-author{display:flex;align-items:center;gap:10px}
.school-review-author img{width:38px;height:38px;border-radius:50%;object-fit:cover}
.school-review-author div{display:grid;gap:3px;min-width:0}
.school-review-author strong{font-size:10px;white-space:nowrap}
.school-review-author small{font-size:8px;color:#777}
.school-review-author span{margin-left:auto;font:24px Georgia;align-self:start}
.school-review-grid article p{font-size:10px;line-height:1.35;margin:7px 0 0;color:#494d47}
.school-final{position:relative;min-height:190px;background:#203428;color:#fff;isolation:isolate;overflow:hidden}
.school-final-bg{position:absolute;inset:0;z-index:-1;background:var(--gd-image-3fce14a8d969) center 48%/cover no-repeat}
.school-final::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,20,16,.82),rgba(5,20,16,.32) 58%,rgba(5,20,16,.5))}
.school-final-inner{min-height:190px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding-block:22px}
.school-final h2{font-size:clamp(32px,3.6vw,54px);margin:0 0 10px}
.school-final p{font-size:12px;line-height:1.45;margin:0}
.school-final button{border:1px solid #fff;border-radius:8px;background:rgba(31,50,35,.82);color:#fff;padding:14px 18px;white-space:nowrap;font-size:11px;cursor:pointer}
.school-final button span{margin-left:15px}
.school-footer{background:#203428;color:#fff;padding:25px 0}
.school-footer .shell{display:flex;align-items:center;justify-content:space-between;gap:20px}
.school-footer-brand{font:28px var(--display)}
.school-footer nav{display:flex;gap:20px;font-size:10px}
.school-footer span{font-size:9px;opacity:.7}
.school-dialog{border:0;border-radius:14px;box-shadow:0 25px 80px #10201977;padding:26px;width:min(440px,calc(100% - 30px));color:#1b241d}
.school-dialog::backdrop{background:#102019a8}
.school-dialog h2{font:500 39px/.95 var(--display);margin:4px 25px 9px 0}
.school-dialog>p{font-size:12px;color:#656b64}
.school-dialog-close{float:right}.school-dialog-close button{font-size:28px;border:0;background:none;cursor:pointer}
.school-dialog form[data-request-form]{display:grid;gap:12px}
.school-dialog form[data-request-form] label{display:grid;gap:5px;font-size:11px}
.school-dialog input,.school-dialog textarea{width:100%;border:1px solid #cdd2ca;border-radius:7px;padding:9px;font:13px Manrope,Arial,sans-serif;background:#fff;color:#18231b}
.school-dialog input[type=hidden]{display:none}
.school-form-status{font-size:11px;line-height:1.4;margin:0;min-height:1em}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
[hidden]{display:none!important}
@media(max-width:1100px){.school-page .shell{width:min(calc(100% - 80px),1360px)}.school-page .header-inner.shell{width:calc(100% - 80px)}.school-page .main-nav{gap:12px}.school-page .brand{min-width:130px}.school-page .brand-name-copy{display:none}.school-class{gap:7px;padding:9px}.school-class-icon{flex-basis:28px;font-size:29px}}
@media(max-width:850px){.school-page .site-header-light{position:sticky;top:0}.school-page .site-header-light .header-inner{height:66px}.school-page .main-nav{display:none;position:absolute;left:0;right:0;top:66px;padding:14px 26px;background:#fff;box-shadow:0 12px 20px #172a1b22;flex-direction:column;align-items:stretch;white-space:normal;font-size:13px;gap:0}.school-page .main-nav.is-open{display:flex}.school-page .main-nav a{padding:10px}.school-page .menu-toggle{display:block}.school-page .header-cta{display:none}.school-hero-photo{width:65%;opacity:.78}.school-classes{grid-template-columns:repeat(3,minmax(0,1fr))}.school-class{min-height:76px}.school-search{grid-template-columns:repeat(3,1fr) 135px 42px 80px}.school-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.school-benefits{grid-template-columns:repeat(3,1fr)}.school-benefits h2{grid-column:span 3;text-align:center}.school-request-photo{inset-right:27%}.school-request::after{width:29%}}
@media(max-width:600px){.school-page .shell,.school-page .header-inner.shell{width:calc(100% - 32px)}.school-page .brand-logo-image{max-height:45px}.school-page .icon-button{padding:6px}.school-hero{min-height:290px;padding-top:8px}.school-hero-photo{top:0;right:0;width:100%;height:255px;opacity:.52;background-position:center;mask-image:linear-gradient(90deg,transparent 0%,#000 58%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 58%)}.school-spruce-top{width:170px;left:-120px;top:-40px}.school-breadcrumb,.school-hero h1,.school-lead,.school-hero-details{margin-left:0}.school-hero h1{font-size:clamp(65px,17vw,90px);margin-top:22px}.school-lead{font-size:15px;max-width:330px}.school-hero-details{font-size:10px;max-width:310px}.school-hero-details br{display:none}.school-handnote{top:10px;right:2px;font-size:20px}.school-classes{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.school-class{min-height:70px}.school-class:last-child{grid-column:span 2}.school-class strong{font-size:10px}.school-class small{font-size:8px;margin-top:4px}.school-content{padding-top:16px}.school-search{grid-template-columns:1fr 1fr 42px;gap:7px}.school-search>label{border:1px solid #ddd9d2;border-radius:7px!important;height:43px;padding:0 10px}.school-search>label:first-child{grid-column:span 2}.school-search>label+label::before{display:none}.school-search>label:nth-child(3){grid-column:span 2}.school-search .school-dark-btn{grid-column:span 2;margin:0;height:43px}.school-filter-toggle{margin:0;height:43px}.school-reset{grid-column:span 3;text-align:right}.school-filter-row{display:block;margin:5px 0 14px}.school-selects{gap:6px}.school-selects label{flex:1 1 29%}.school-selects select{width:100%;font-size:9px;padding-left:7px}.school-sort{display:block;text-align:right;margin-top:12px}.school-section-head h2{font-size:35px}.school-section-head>a{font-size:9px}.school-card-grid{gap:9px}.school-card-body{padding:9px}.school-card-image{aspect-ratio:1.06}.school-card-tag{font-size:8px;top:7px;left:7px;padding:4px 6px}.school-favorite{font-size:25px;right:5px}.school-card-body h3{font-size:21px;min-height:39px}.school-card-body p{font-size:9px;min-height:48px}.school-card-meta{gap:4px;display:grid;font-size:8px}.school-card-bottom strong{font-size:15px}.school-card-bottom button{width:29px;height:29px}.school-benefits{grid-template-columns:repeat(2,1fr);padding:16px;gap:17px 8px}.school-benefits h2{grid-column:span 2;font-size:31px}.school-benefits>div p{font-size:9px}.school-request{padding:17px;display:grid;gap:16px;min-height:200px}.school-request-photo{inset:0}.school-request::before{inset:0;background:linear-gradient(90deg,#0c1a14d9,#0c1a1480)}.school-request::after{display:none}.school-request h2{font-size:38px}.school-request-actions{width:100%;display:flex}.school-wine-btn,.school-outline-btn{font-size:9px;min-height:37px}.school-outline-btn{color:#fff;border-color:#fff}.school-process{padding:22px 0 8px}.school-process h2{font-size:38px;margin-bottom:15px}.school-process ol{grid-template-columns:repeat(2,1fr);gap:17px 12px}.school-process ol::before{display:none}.school-process li{padding-top:25px}.school-review-actions>a{display:none}.school-review-grid{grid-template-columns:1fr}.school-review-grid article{min-height:0}.school-reviews{padding-bottom:20px}.school-final-inner{display:grid;gap:20px}.school-final h2{font-size:38px}.school-final p{font-size:10px}.school-final button{justify-self:start}.school-footer .shell{display:grid;gap:10px}.school-footer nav{flex-wrap:wrap;gap:10px}}
@media(max-width:390px){.school-class-icon{font-size:26px;flex-basis:23px}.school-class{gap:6px;padding:8px}.school-class strong{white-space:normal}.school-handnote{font-size:17px}.school-hero h1{font-size:65px}.school-lead{font-size:14px}}
/* Photo assets contain no embedded text or interface decorations. */
.school-handnote,.school-card-tag{display:block}
.school-favorite{font-size:33px;width:35px;height:35px;top:3px;right:5px}
.school-final-bg{background-image:var(--gd-image-3fce14a8d969)}
@media(max-width:850px){.school-request-photo{right:27%}}
@media(max-width:600px){.school-favorite{width:28px;height:28px;font-size:25px}}

.school-review-avatar{flex:0 0 38px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#e1e5dc;color:#263b2b;font-size:11px;font-weight:700}

/* V95: fluid desktop composition and safer text flow. */
.school-page .shell{width:calc(100% - clamp(32px,4vw,96px));max-width:none}
.school-hero-copy{max-width:min(48vw,660px)}
.school-hero h1{line-height:.93;margin-bottom:30px;overflow:visible}
.school-lead{line-height:1.48;margin-bottom:13px;max-width:560px}
.school-hero-details{max-width:600px;line-height:1.55}
.school-hero{min-height:clamp(310px,28vw,445px);padding-bottom:30px}
.school-hero-photo{height:clamp(340px,30vw,485px)}
.school-section-head h2,.school-benefits h2,.school-process h2,.school-request h2,.school-final h2{line-height:1.07}
.school-card-body h3{line-height:1.12;margin-bottom:8px}
.school-card-grid{gap:clamp(12px,1.1vw,24px)}
.school-tour-card{width:100%;max-width:410px;justify-self:center}
.school-card-grid.is-single{display:flex;justify-content:center}
.school-card-grid.is-single .school-tour-card:not([hidden]){width:min(100%,410px)}
.school-class{min-height:clamp(84px,5.3vw,112px)}
@media(min-width:1440px){
 .school-page .main-nav{font-size:12px}
 .school-class{padding:16px 19px;gap:18px}
 .school-class strong{font-size:14px}.school-class small{font-size:11px}
 .school-class-icon{font-size:40px;flex-basis:40px}
 .school-search input,.school-dark-btn{font-size:13px}
 .school-selects select,.school-sort,.school-section-head>a{font-size:12px}
 .school-card-body{padding:15px 19px 18px}
 .school-card-body h3{font-size:32px}
 .school-card-body p{font-size:12px;min-height:38px}
 .school-card-meta{font-size:11px}.school-card-bottom strong{font-size:20px}
 .school-benefits>div p,.school-process li,.school-process li strong,.school-review-grid article p{font-size:12px}
 .school-request{min-height:180px}
 .school-request-actions{width:240px;margin-right:3.5%}
 .school-wine-btn{font-size:13px;min-height:46px}
}
@media(max-width:1100px){
 .school-page .shell,.school-page .header-inner.shell{width:calc(100% - 48px)}
}
@media(max-width:850px){
 .school-hero-copy{max-width:65%}
 .school-hero h1{line-height:.91;margin-bottom:25px}
 .school-hero{min-height:0;padding-bottom:24px}
}
@media(max-width:600px){
 .school-page .shell,.school-page .header-inner.shell{width:calc(100% - 32px)}
 .school-hero-copy{max-width:100%}
 .school-hero h1{line-height:.9;margin-bottom:24px}
 .school-hero{min-height:0;padding-bottom:18px}
 .school-hero-photo{height:255px}
 .school-class{min-height:70px}
 .school-handnote{display:none}
 .school-card-grid.is-single .school-tour-card:not([hidden]){width:min(100%,350px)}
}

/* V127: visible request form and reward for a self-organised group. */
#school-request,#school-tours{scroll-margin-top:85px}
.school-request{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,480px);gap:28px;padding:28px}
.school-request-photo{inset:0;background-position:center}
.school-request::before{inset:0;background:linear-gradient(90deg,rgba(9,23,18,.78),rgba(9,23,18,.12))}
.school-request::after{display:none}
.school-request-form{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:22px;border-radius:10px;background:rgba(255,255,255,.96);color:#18231b}
.school-request-form label{min-width:0;display:grid;gap:6px;font-size:12px;font-weight:600}
.school-request-form input,.school-request-form textarea{min-width:0;width:100%;border:1px solid #cdd2ca;border-radius:7px;padding:10px;font:14px Manrope,Arial,sans-serif;background:#fff;color:#18231b}
.school-request-form textarea{resize:vertical}
.school-request-form .school-request-form-intro,.school-request-message,.school-request-form .school-wine-btn,.school-request-form .school-form-status{grid-column:1/-1}
.school-request-form .school-request-form-intro{font-size:13px;line-height:1.5}
.school-request-form .school-wine-btn{min-height:44px;font-size:13px}
.school-request-form input:focus-visible,.school-request-form textarea:focus-visible{outline:2px solid #687565;outline-offset:2px}
@media(max-width:850px){
 .school-request{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);padding:20px;gap:20px}
 .school-request-form{padding:16px}
}
@media(max-width:600px){
 .school-request{grid-template-columns:minmax(0,1fr);padding:17px;gap:18px}
 .school-request-form{grid-template-columns:minmax(0,1fr);padding:16px;gap:12px}
 .school-request-form input,.school-request-form textarea{font-size:16px}
}

.school-request-form input[type="hidden"]{display:none}

/* V129: first-screen reward link and distinctive group offer. */
.school-reward-hook{display:flex;align-items:center;gap:12px;width:fit-content;max-width:100%;margin:20px 0 0 15px;padding:12px 15px;border:1px solid #d5dfc6;border-radius:12px;background:#f2f6e9;color:#263b2b;box-shadow:0 5px 18px #263b2b08;text-decoration:none}
.school-reward-hook-icon{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:50%;background:#e2ebd0}
.school-reward-hook-icon svg{width:23px;height:23px}
.school-reward-hook strong{display:block;font:600 clamp(11px,1.05vw,15px)/1.4 Manrope,Arial,sans-serif}
.school-reward-hook small{display:block;font:11px/1.4 Manrope,Arial,sans-serif;margin-top:3px;color:#5d6d50}
.school-reward-hook-arrow{font-size:23px;line-height:1;margin-left:5px}
.school-reward-hook:hover{background:#e8f0db;border-color:#a8bd87}
.school-reward-hook:focus-visible{outline:2px solid #263b2b;outline-offset:4px}
#school-group-reward{scroll-margin-top:85px}
.school-group-reward{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(210px,.65fr);align-items:center;gap:24px clamp(25px,5vw,75px);padding:clamp(24px,3.4vw,48px);margin:20px 0;border:1px solid #3f5943;border-radius:20px;background:linear-gradient(115deg,#21382a,#314b35);color:#fffdf4;box-shadow:0 12px 30px #2034280d}
.school-reward-contours{position:absolute;right:0;top:0;width:70%;height:100%;color:#d4ddb0;opacity:.14;pointer-events:none;z-index:-1}
.school-group-reward-copy{min-width:0;grid-column:1;grid-row:1}
.school-reward-eyebrow{display:block;font:600 10px/1.5 Manrope,Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:#d5dfb5;margin-bottom:12px}
.school-group-reward h2{font:600 clamp(32px,3.6vw,54px)/1.05 var(--display);letter-spacing:-.025em;margin:0 0 16px;max-width:760px;color:#fffdf4}
.school-group-reward p{font:13px/1.65 Manrope,Arial,sans-serif;margin:0;max-width:610px;color:#e2e8db}
.school-group-reward-amount{grid-column:2;grid-row:1/3;min-width:0;text-align:center;padding:30px 20px;border:1px solid #d1dac2;border-radius:16px;background:#f3f4e9;color:#263b2b;box-shadow:0 9px 25px #0c241b24}
.school-reward-people{display:block;width:48px;height:36px;margin:0 auto 17px;color:#5c7856}
.school-group-reward-amount strong{display:block;font:700 clamp(45px,5.1vw,80px)/1 Manrope,Arial,sans-serif;letter-spacing:-.055em;white-space:nowrap}
.school-group-reward-amount strong span{font-size:.5em;letter-spacing:0}
.school-group-reward-amount small{display:block;font:12px/1.55 Manrope,Arial,sans-serif;margin-top:14px;color:#5b6c51}
.school-group-reward .school-wine-btn{grid-column:1;grid-row:2;justify-self:start;width:auto;padding:14px 22px;min-height:48px;font-size:13px}
@media(max-width:850px){
 .school-reward-hook{margin-top:16px;gap:9px;padding:11px}
 .school-group-reward{gap:20px;grid-template-columns:minmax(0,1fr) minmax(180px,.65fr)}
 .school-group-reward-amount{padding:24px 14px}
 .school-group-reward-amount strong{font-size:48px}
}
@media(max-width:600px){
 .school-reward-hook{margin-left:0;margin-top:16px;max-width:100%;width:100%;padding:11px;gap:9px}
 .school-reward-hook>span:nth-child(2){min-width:0}
 .school-reward-hook strong{font-size:12px}
 .school-reward-hook small{font-size:10px}
 .school-reward-hook-arrow{margin-left:auto;flex-shrink:0}
 .school-group-reward{grid-template-columns:minmax(0,1fr);gap:22px;padding:24px 20px;border-radius:16px}
 .school-group-reward h2{font-size:36px;line-height:1.08;margin-bottom:12px}
 .school-group-reward p{font-size:12px}
 .school-group-reward-amount{grid-column:1;grid-row:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;text-align:left;padding:20px 16px;gap:12px}
 .school-reward-people{display:none}
 .school-group-reward-amount strong{font-size:clamp(39px,10vw,58px)}
 .school-group-reward-amount small{font-size:11px;margin:0}
 .school-group-reward .school-wine-btn{grid-column:1;grid-row:3;justify-self:stretch;width:100%;min-height:48px}
 .school-reward-contours{width:100%;height:70%}
}
@media(max-width:390px){
 .school-group-reward-amount{grid-template-columns:minmax(0,1fr);text-align:center;gap:10px}
 .school-group-reward-amount strong{font-size:52px}
}
@media(prefers-reduced-motion:no-preference){
 .school-reward-hook{transition:background .2s,border-color .2s}
}

/* V111: lime actions; navigation and filter controls keep their original styles. */
:root {
  --site-button-start: #99f85b;
  --site-button-end: #76e842;
  --site-button-text: #132416;
  --site-button-fill: linear-gradient(110deg, var(--site-button-start), var(--site-button-end));
  --site-button-hover: linear-gradient(110deg, #8ef050, #69dd36);
}
/* Exclude the controls restored to their page-specific appearance.
   Keep this exclusion on normal, hover, focus, active and disabled states. */
:root body[data-button-theme="lime"][data-button-theme="lime"] :is(
  button, input[type="submit"], input[type="button"], input[type="reset"],
  .button, .icon-button, .circle-arrow, .tour-arrow, .tour-footer-cta,
  .page-arrow, .page-num, .school-review-actions > a
):where(:not(.advanced-backdrop, .tour-thumb, .menu-toggle, .icon-button, .circle-arrow, .tour-arrow, .tour-heart, .tour-book-heart, .school-favorite, .catalog-side-link, .catalog-filter, .catalog-mini-btn, .catalog-reset, .school-filter-toggle, .school-reset, .school-class, .school-card-bottom > button, .school-review-actions > a, [data-review-prev], [data-review-next], .catalog-sort, .catalog-filter-menu button, .tour-book-submit, .tour-book-link, [data-people-minus], [data-people-plus], [data-children-minus], [data-children-plus], [data-reset-filters])) {
  background: var(--site-button-fill) !important;
  border-color: var(--site-button-end) !important;
  color: var(--site-button-text) !important;
  text-shadow: none !important;
}
:root body[data-button-theme="lime"][data-button-theme="lime"] :is(
  button, input[type="submit"], input[type="button"], input[type="reset"],
  .button, .icon-button, .circle-arrow, .tour-arrow, .tour-footer-cta,
  .page-arrow, .page-num, .school-review-actions > a
):where(:not(.advanced-backdrop, .tour-thumb, .menu-toggle, .icon-button, .circle-arrow, .tour-arrow, .tour-heart, .tour-book-heart, .school-favorite, .catalog-side-link, .catalog-filter, .catalog-mini-btn, .catalog-reset, .school-filter-toggle, .school-reset, .school-class, .school-card-bottom > button, .school-review-actions > a, [data-review-prev], [data-review-next], .catalog-sort, .catalog-filter-menu button, .tour-book-submit, .tour-book-link, [data-people-minus], [data-people-plus], [data-children-minus], [data-children-plus], [data-reset-filters])):hover {
  background: var(--site-button-hover) !important;
  color: var(--site-button-text) !important;
}
:root body[data-button-theme="lime"] :is(button, .button, .icon-button, .page-num):where(:not(.advanced-backdrop, .tour-thumb, .menu-toggle, .icon-button, .circle-arrow, .tour-arrow, .tour-heart, .tour-book-heart, .school-favorite, .catalog-side-link, .catalog-filter, .catalog-mini-btn, .catalog-reset, .school-filter-toggle, .school-reset, .school-class, .school-card-bottom > button, .school-review-actions > a, [data-review-prev], [data-review-next], .catalog-sort, .catalog-filter-menu button, .tour-book-submit, .tour-book-link, [data-people-minus], [data-people-plus], [data-children-minus], [data-children-plus], [data-reset-filters])):focus-visible {
  outline: 2px solid #173b22 !important;
  outline-offset: 3px;
}
:root body[data-button-theme="lime"] :is(button, .page-num):where(:not(.advanced-backdrop, .tour-thumb, .menu-toggle, .icon-button, .circle-arrow, .tour-arrow, .tour-heart, .tour-book-heart, .school-favorite, .catalog-side-link, .catalog-filter, .catalog-mini-btn, .catalog-reset, .school-filter-toggle, .school-reset, .school-class, .school-card-bottom > button, .school-review-actions > a, [data-review-prev], [data-review-next], .catalog-sort, .catalog-filter-menu button, .tour-book-submit, .tour-book-link, [data-people-minus], [data-people-plus], [data-children-minus], [data-children-plus], [data-reset-filters])):where(.active, .is-active, .current, [aria-pressed="true"], [aria-selected="true"]) {
  box-shadow: inset 0 0 0 2px #285231 !important;
  font-weight: 700 !important;
}
:root body[data-button-theme="lime"] :is(button, input[type="submit"]):where(:not(.advanced-backdrop, .tour-thumb, .menu-toggle, .icon-button, .circle-arrow, .tour-arrow, .tour-heart, .tour-book-heart, .school-favorite, .catalog-side-link, .catalog-filter, .catalog-mini-btn, .catalog-reset, .school-filter-toggle, .school-reset, .school-class, .school-card-bottom > button, .school-review-actions > a, [data-review-prev], [data-review-next], .catalog-sort, .catalog-filter-menu button, .tour-book-submit, .tour-book-link, [data-people-minus], [data-people-plus], [data-children-minus], [data-children-plus], [data-reset-filters])):disabled {
  opacity: .45 !important;
  cursor: not-allowed !important;
}

@media(min-width:1024px){
/* Desktop readability. Loaded only at widths >=1024px; mobile styles stay unchanged. */
.school-page .site-header-light .header-inner{height:auto;min-height:90px;gap:18px;padding-block:12px;flex-wrap:wrap}
.school-page .main-nav{gap:clamp(14px,1.25vw,25px);font-size:14px;line-height:1.5}
.school-page .header-actions{gap:8px;margin-left:auto}
.school-page .header-cta{min-height:48px;padding:0 20px;font-size:14px}
.school-page .brand-logo-image{max-height:62px}
.school-breadcrumb{font-size:14px;line-height:1.5;flex-wrap:wrap}
.school-lead{font-size:clamp(22px,1.65vw,28px);line-height:1.45;letter-spacing:-.015em;max-width:640px}
.school-hero-details{font-size:17px;line-height:1.65;max-width:640px}
.school-hero{padding-bottom:32px}
.school-hero-photo{height:clamp(440px,36vw,610px)}
.school-reward-hook{padding:14px 18px;gap:14px;margin-top:24px}
.school-reward-hook strong{font-size:16px;line-height:1.5}
.school-reward-hook small{font-size:14px;line-height:1.5}
.school-reward-hook-icon{flex-basis:40px;height:40px}
.school-class{min-height:120px;padding:16px;gap:12px;align-items:center}
.school-class strong{font-size:16px;line-height:1.4;white-space:normal}
.school-class small{font-size:14px;line-height:1.5;margin-top:6px}
.school-class-icon{font-size:38px;flex-basis:34px}
.school-class-arrow{flex:0 0 28px;width:28px;height:28px;font-size:19px}
.school-content{padding-top:30px}
.school-section-head{align-items:center;flex-wrap:wrap;gap:14px 24px;margin-bottom:16px}
.school-section-head h2{margin:0;font-size:clamp(42px,3.4vw,62px);line-height:1.1}
.school-section-head>a,.school-review-actions>a{font-size:15px;line-height:1.5;margin-bottom:0}
.school-card-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px}
.school-card-body{padding:20px}
.school-card-body h3{font-size:clamp(28px,2.05vw,36px);line-height:1.13;min-height:2.26em;margin-bottom:12px}
.school-card-body p{font-size:16px;line-height:1.55;min-height:3.1em;margin-bottom:14px}
.school-card-tag{font-size:14px;line-height:1.4;padding:7px 12px}
.school-card-meta{font-size:14px;line-height:1.5;gap:8px 14px;flex-wrap:wrap;white-space:normal}
.school-card-bottom{margin-top:18px;align-items:center}
.school-card-bottom strong{font-size:27px;line-height:1.2}
.school-card-bottom button{width:44px;height:44px;font-size:24px;flex-shrink:0}
.school-favorite{width:44px;height:44px;font-size:36px;top:7px;right:8px}
.school-empty{font-size:16px;line-height:1.6}
.school-benefits{padding:26px;gap:20px;margin:28px 0 20px;min-height:135px}
.school-benefits h2{font-size:clamp(32px,2.6vw,44px);line-height:1.1}
.school-benefits>div span{font-size:38px}
.school-benefits>div p{font-size:15px;line-height:1.5;margin-top:10px}
.school-request{grid-template-columns:minmax(0,1fr) minmax(0,520px);padding:36px;gap:36px}
.school-request h2{font-size:clamp(42px,3.5vw,60px);line-height:1.1;margin-bottom:16px}
.school-request-copy p{font-size:17px;line-height:1.65}
.school-request-form{padding:26px;gap:16px}
.school-request-form label{font-size:15px;line-height:1.5;gap:8px}
.school-request-form input,.school-request-form textarea{font-size:16px;line-height:1.5;padding:12px;min-height:48px}
.school-request-form .school-request-form-intro{font-size:16px;line-height:1.6}
.school-request-form .school-form-status{font-size:14px;line-height:1.6}
.school-request-form .school-wine-btn{font-size:16px;min-height:52px;padding:12px 20px}
.school-reward-eyebrow{font-size:13px;line-height:1.5;letter-spacing:.1em}
.school-group-reward p{font-size:17px;line-height:1.65}
.school-group-reward-amount small{font-size:15px;line-height:1.6}
.school-group-reward .school-wine-btn{font-size:16px;min-height:52px;padding:14px 24px}
.school-process{padding:30px 8px 24px}
.school-process h2{font-size:clamp(42px,3.4vw,60px);line-height:1.1;margin-bottom:26px}
.school-process ol{gap:24px;padding-top:12px}
.school-process ol::before{top:26px}
.school-process li{font-size:16px;line-height:1.5;padding-top:44px}
.school-process li::before{width:30px;height:30px;font-size:14px}
.school-process li strong{font-size:17px;line-height:1.45}
.school-process li p{font-size:16px;line-height:1.65;margin-top:9px;color:#505a50}
.school-reviews{padding:24px 6px 32px}
.school-review-actions{gap:12px;flex-wrap:wrap}
.school-review-actions button{width:44px;height:44px;font-size:23px}
.school-review-grid{gap:22px}
.school-review-grid article{padding:24px;min-height:0}
.school-review-author{gap:12px;align-items:center}
.school-review-author strong{font-size:16px;line-height:1.5;white-space:normal}
.school-review-author small{font-size:14px;line-height:1.5}
.school-review-author .school-review-avatar{margin:0;flex:0 0 44px;width:44px;height:44px;font:700 14px/1 Manrope,Arial,sans-serif}
.school-review-grid article p{font-size:16px;line-height:1.65;margin-top:16px}
.school-final-inner{min-height:240px;padding-block:36px;gap:36px}
.school-final h2{font-size:clamp(44px,3.7vw,66px);line-height:1.1;margin-bottom:16px}
.school-final p{font-size:18px;line-height:1.65}
.school-final button{font-size:16px;line-height:1.5;min-height:56px;padding:15px 24px;flex-shrink:0}
.school-footer{padding-block:32px}
.school-footer .shell{flex-wrap:wrap;gap:20px 32px}
.school-footer-brand{font-size:36px}
.school-footer nav{font-size:15px;line-height:1.5;gap:24px;flex-wrap:wrap}
.school-footer span{font-size:14px;line-height:1.5}
@media(max-width:1399px){
 .school-page .main-nav{order:3;width:100%;justify-content:center;gap:24px;flex-wrap:wrap}
 .school-page .main-nav .is-current{padding-bottom:0}
 .school-page .site-header-light .header-inner{row-gap:14px}
 .school-class{gap:10px;padding:14px}
 .school-class strong{font-size:15px}
 .school-class-arrow{display:none}
 .school-benefits{grid-template-columns:repeat(3,minmax(0,1fr))}
 .school-benefits h2{grid-column:1/-1}
 .school-request{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;padding:28px}
 .school-review-grid article{padding:20px}
}

}
.school-offer-v145{margin:28px 0;padding:clamp(20px,3vw,44px);border:1px solid #dce6dc;border-radius:20px;background:#f5f8f3;color:#243b2c}.school-offer-v145 h2{font-size:clamp(30px,3vw,46px);line-height:1.1;margin:0 0 18px}.school-offer-v145 h3{font-size:22px;margin:24px 0 12px}.school-offer-v145 p,.school-offer-v145 li,.school-offer-v145 strong{font-size:clamp(15px,1.2vw,20px);line-height:1.6}.school-offer-v145 ul{padding-left:22px}.school-card-bottom strong{max-width:calc(100% - 44px);overflow-wrap:anywhere}.school-page .school-hero-details{max-width:560px}.school-page .school-lead{max-width:540px}

/* New photographs: fade the hero into the page and shade only the request background. */
.school-page .school-hero-photo{background-position:right center;mask-image:linear-gradient(90deg,transparent 0%,#000 24%),linear-gradient(180deg,#000 0%,#000 78%,transparent 100%);mask-composite:intersect;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 24%),linear-gradient(180deg,#000 0%,#000 78%,transparent 100%);-webkit-mask-composite:source-in}
.school-page .school-request-photo{background-position:center center}
.school-page .school-request::before{background:linear-gradient(90deg,rgba(9,23,18,.48),rgba(9,23,18,.16))}
@media(max-width:600px){.school-page .school-hero-photo{background-position:76% center;mask-image:linear-gradient(90deg,transparent 0%,#000 58%),linear-gradient(180deg,#000 0%,#000 76%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 58%),linear-gradient(180deg,#000 0%,#000 76%,transparent 100%)}.school-page .school-request::before{background:linear-gradient(90deg,rgba(9,23,18,.62),rgba(9,23,18,.30))}}

.header-social {
  width: auto; flex-shrink: 0;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  color: inherit;
  font: 500 12px/1.4 Manrope, Arial, sans-serif;
}
.header-social a {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 9px;
  background: #fff;
  color: #0077ff;
  box-shadow: 0 2px 10px #10201918;
  transition: transform .15s;
}
.header-social a:hover { transform: translateY(-2px); }
.social-vk-icon { width: 26px; height: 26px; flex-shrink: 0; fill: currentColor; stroke: none; }
.social-vk-icon path { fill: currentColor; stroke: none; }
.header-social a:focus-visible,
.social-contact-link:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.social-contact-box {
  grid-column: 1 / -1;
  padding: 14px;
  margin: 0 0 4px;
  border: 1px solid #d8e3d5;
  border-radius: 10px;
  background: #f3f7ef;
  color: #294332;
}
.social-contact-box p {
  margin: 0 0 10px;
  font: 400 12px/1.55 Manrope, Arial, sans-serif;
  color: #49614d;
}
.social-contact-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 44px;
  padding: 8px 13px;
  border: 1px solid #c7d8bf;
  border-radius: 8px;
  background: white;
  color: #23462f;
  text-decoration: none;
  font: 600 12px/1.4 Manrope, Arial, sans-serif;
}
.social-contact-link .social-vk-icon { width: 23px; height: 23px; color: #0077ff; }
.social-contact-link:hover { background: #eaf3e4; }
.tour-modal-card .social-contact-box { margin-top: 4px; }
.school-page #school-request,
.school-page #school-tours,
.school-page #school-group-reward { scroll-margin-top: 85px; }
@media(max-width: 620px) {
  .header-social { padding: 0; gap: 6px; font-size: 10px; }
  .header-social a { width: 30px; height: 30px; }
  .header-social .social-vk-icon { width: 24px; height: 24px; }
  .social-contact-box { padding: 12px; }
  .social-contact-link { width: 100%; }
}

/* Social links share the header row and sit directly to the left of the menu. */
.site-header .header-inner { gap: 18px; }
.site-header .main-nav { gap: clamp(8px, .75vw, 12px); font-size: 11px; }
.site-header .header-actions { flex-shrink: 0; }
.header-social > span { white-space: nowrap; font-size: 10px; }
@media(min-width:821px) and (max-width:1100px) {
  .site-header .main-nav { gap: 8px; font-size: 10px; }
  .header-social > span { display: none; }
}
@media(max-width:820px) {
  .site-header .header-inner { gap: 10px; }
  .site-header .brand-lockup { min-width: 0; }
  .site-header .header-actions { margin-left: auto; gap: 8px; }
  .header-social { gap: 6px; }
  .header-social > span { display: block; max-width: 55px; white-space: normal; line-height: 1.25; }
}

/* Shared controls stay readable without moving social links away from the menu. */
.site-header .main-nav { font-size: 13px; gap: 10px; }
.header-social > span { font-size: 12px; }
.header-social a,
.site-header .menu-toggle,
.site-header .header-actions .icon-button {
  width: 44px; min-width: 44px; height: 44px; min-height: 44px;
  flex-shrink: 0;
}
.header-social a { background: transparent; box-shadow: none; }
.header-social .social-vk-icon { width: 30px; height: 30px; }
.header-social { gap: 6px; }
.site-header .header-actions { gap: 6px; }
:root body[data-button-theme="lime"] .tour-modal-card > button[data-modal-close] {
  display: grid; place-items: center; width: 44px; height: 44px;
  min-width: 44px; min-height: 44px; padding: 0;
  right: 10px; top: 10px; border: 1px solid #ccdac8; border-radius: 50%;
  font: 28px/1 Arial, sans-serif; background: #eff5e9; color: #27472f;
}
.tour-modal-card h3 { padding-right: 42px; line-height: 1.08; }
.home-page .reviews-heading { grid-template-columns: minmax(0,1.45fr) minmax(0,.55fr); }
.home-page .reviews-heading > div { min-width: 0; }
.home-page .reviews-heading h2,
.home-page .reviews-heading p { max-width: 100%; white-space: normal; overflow-wrap: break-word; }
.home-tour-empty {
  grid-column: 1 / -1; padding: 28px; border: 1px solid #d9e1d4;
  border-radius: 12px; background: #f6f8f1;
}
.home-tour-empty h3 { margin: 0 0 10px; font: 500 30px/1.1 var(--display); }
.home-tour-empty p { max-width: 550px; margin: 0 0 18px; font-size: 14px; line-height: 1.6; }
.home-tour-empty p a { text-decoration: underline; text-underline-offset: 3px; }
.home-tour-empty .button { min-height: 44px; }
@media(max-width:1100px) {
  .site-header .header-inner { gap: 10px; }
  .site-header .main-nav {
    position: absolute; inset: 100% 14px auto; z-index: 120; display: none;
    flex-direction: column; align-items: stretch; gap: 0; margin: 0; padding: 8px;
    max-height: calc(100dvh - 100px); overflow-y: auto;
    border-radius: 14px; border: 1px solid #bbcbb64d;
    background: #132d22fa; color: #f5f0e3; font-size: 16px; white-space: normal;
    box-shadow: 0 12px 30px #10201926;
  }
  .site-header .main-nav.is-open { display: flex; }
  .site-header .main-nav a { padding: 11px 14px; color: inherit; line-height: 1.4; }
  .site-header-light .main-nav { background: white; color: #1a3427; }
  .site-header .header-cta { display: none; }
  .site-header .menu-toggle { display: block; }
  .site-header .header-actions { margin-left: auto; }
  .header-social > span { display: block; max-width: 68px; font-size: 12px; white-space: normal; line-height: 1.25; }
}
@media(max-width:820px) {
  .home-page .reviews-heading { grid-template-columns: minmax(0,1fr); gap: 18px; }
}
@media(max-width:560px) {
  .home-page .reviews-heading h2 { font-size: clamp(34px, 10vw, 44px); line-height: 1.03; }
  .home-tour-empty { padding: 20px; }
}
@media(max-width:360px) {
  .site-header .brand-name-copy { display: none; }
  .site-header .brand-lockup { min-width: 0; gap: 0; }
}

/* Shared contact controls, loaded after the earlier site adjustments. */
.header-social .social-brand-icon,
.social-contact-link .social-brand-icon,
.footer-contact-socials .social-brand-icon,
.footer-contact-socials .social-vk-icon { width: 30px; height: 30px; flex: 0 0 auto; stroke: none; }
.social-brand-icon path { stroke: none; }
.header-social { gap: 0; }
.header-social > span { margin-right: 6px; }
.header-social .social-channel-link { padding: 0; }
.social-contact-links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.social-contact-links .social-contact-link {
  min-width: 0; width: auto; min-height: 44px; padding: 8px 6px;
  gap: 6px; font-size: 12px; white-space: nowrap; line-height: 1.4;
}
.social-contact-links .social-vk-icon,
.social-contact-links .social-brand-icon { width: 24px; height: 24px; flex-shrink: 0; }
.footer-contact-panel.shell {
  position: relative; z-index: 2; display: flex; align-items: center;
  justify-content: space-between; flex-wrap: wrap; gap: 24px;
  padding-top: 24px; padding-bottom: 28px;
  border-top: 1px solid currentColor; border-color: #b4c0b833;
  color: inherit;
}
.footer-company { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.footer-company strong { font: 600 14px/1.5 Manrope,Arial,sans-serif; }
.footer-company span { font: 400 11px/1.6 Manrope,Arial,sans-serif; overflow-wrap: anywhere; }
.footer-direct-contacts { display: flex; flex-direction: column; gap: 6px; }
.footer-direct-contacts a { display: flex; align-items: center; min-height: 32px; font: 500 15px/1.5 Manrope,Arial,sans-serif; color: inherit; text-decoration: none; }
.footer-contact-socials { display: flex; flex-wrap: wrap; gap: 10px; }
.footer-contact-socials .social-channel-link {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  min-height: 44px; padding: 4px; color: inherit;
  font: 500 13px/1.4 Manrope,Arial,sans-serif; text-decoration: none;
}
.footer-contact-socials .social-vk-icon { color: #0077ff; }
.footer-direct-contacts a:hover,
.footer-contact-socials a:hover { text-decoration: underline; text-underline-offset: 4px; }
.footer-contact-panel a:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
/* Additional social buttons should not squeeze desktop navigation. */
@media(max-width:1340px) {
  .site-header .header-inner { gap: 10px; }
  .site-header .main-nav {
    position: absolute; inset: 100% 14px auto; z-index: 120; display: none;
    flex-direction: column; align-items: stretch; gap: 0; margin: 0; padding: 8px;
    max-height: calc(100dvh - 100px); overflow-y: auto;
    border-radius: 14px; border: 1px solid #bbcbb64d;
    background: #132d22fa; color: #f5f0e3; font-size: 16px; white-space: normal;
    box-shadow: 0 12px 30px #10201926;
  }
  .site-header .main-nav.is-open { display: flex; }
  .site-header .main-nav a { padding: 11px 14px; color: inherit; line-height: 1.4; }
  .site-header-light .main-nav { background: white; color: #1a3427; }
  .site-header .header-cta { display: none; }
  .site-header .menu-toggle { display: block; }
  .site-header .header-actions { margin-left: auto; }
}
@media(max-width:700px) {
  .header-social > span { display: none; }
  .site-header .header-actions { gap: 2px; }
  .site-header .header-actions .icon-button { display: none; }
  .site-header .brand-lockup { min-width: 0; gap: 6px; }
  .site-header .brand-name-copy strong { font-size: 16px; }
  .site-header .brand-name-copy small { font-size: 4.7px; }
  .footer-contact-panel.shell { align-items: flex-start; gap: 18px; }
  .footer-direct-contacts a { min-height: 44px; }
}
@media(max-width:380px) {
  .site-header .brand-name-copy { display: none; }
  .site-header .brand-lockup { gap: 0; }
}
@media(max-width:360px) {
  .social-contact-links { grid-template-columns: minmax(0,1fr); }
}

.site-footer .footer-legal-links { display:flex; flex-wrap:wrap; gap:4px 24px; align-items:center; position:relative; z-index:2; width:min(calc(100% - 64px),1680px); max-width:1680px; margin:12px auto 0; padding:18px 0 22px; border-top:1px solid currentColor; border-top-color:#78908066; font-family:Manrope,Arial,sans-serif; font-size:13px; line-height:1.5; }
.site-footer .footer-legal-links a { display:inline-flex; align-items:center; min-height:44px; max-width:100%; padding:6px 0; color:inherit; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px; white-space:normal; overflow-wrap:anywhere; opacity:.9; }
.site-footer .footer-legal-links a:hover { opacity:1; }
.site-footer .footer-legal-links a:focus-visible { outline:2px solid currentColor; outline-offset:4px; border-radius:4px; }
@media(max-width:700px) { .site-footer .footer-legal-links { width:calc(100% - 40px); display:grid; grid-template-columns:minmax(0,1fr); gap:0; padding:14px 0 20px; margin-top:10px; font-size:13px; } }

/* Four community links keep 44px touch targets on compact screens. */
.header-social .social-instagram-icon{width:30px;height:30px;flex-shrink:0}
.header-social .social-instagram-icon rect,
.header-social .social-instagram-icon circle{stroke-linecap:round}
.header-social{gap:0}
@media(max-width:560px){
  .site-header .brand-name-copy{display:none}
  .site-header .brand-lockup{min-width:0;gap:0;flex-shrink:0}
  .site-header .brand-lockup .brand-logo-image{width:44px;height:54px}
  .site-header .header-inner{gap:6px}
  .site-header .header-actions{gap:2px}
  .header-social a{width:44px;min-width:44px;height:44px;min-height:44px}
}

.header-social[hidden],.header-social a[hidden],.social-contact-box[hidden],
.social-contact-links[hidden],.social-contact-links a[hidden],
.footer-contact-socials[hidden],.footer-contact-socials a[hidden]{display:none!important}
.social-contact-links .social-instagram-icon{width:24px;height:24px;flex:0 0 auto}
@media(min-width:361px){.social-contact-links:has([data-social-channel="instagram"]:not([hidden])){grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Keep the invitation and the four contact options readable on phones. */
.social-contact-box .request-social-second-line{display:block}
.social-contact-links:has([data-social-channel="instagram"]:not([hidden])){grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:360px){
 .social-contact-links:has([data-social-channel="instagram"]:not([hidden])) .social-contact-link{font-size:10px;gap:4px;padding:7px 4px;min-height:44px}
 .social-contact-links:has([data-social-channel="instagram"]:not([hidden])) .social-contact-link svg,
 .social-contact-links:has([data-social-channel="instagram"]:not([hidden])) .social-contact-link img{width:20px;height:20px;flex:0 0 20px}
}

/* Compact headers have enough room for the logo, four social links and menu. */
@media(max-width:560px){
 :root .site-header .header-inner.shell{width:calc(100% - 24px);margin-inline:auto}
 .tour-page .tour-hero-inner.shell{width:calc(100% - 32px)}
 .tour-page .tour-hero-copy{padding:14px!important}
}
.school-page main{overflow-x:clip}
.site-header .main-nav .mobile-favorites-link{display:none}
@media(max-width:700px){.site-header .main-nav .mobile-favorites-link{display:block}}
.home-page .map-section:not(.has-tour-popup):has(.map-intro-details[open]) .tour-map-search{visibility:hidden;pointer-events:none}

:root{--gd-image-ccc9fb096125:url("/assets/optimized/6b9fc3dfd77b0bc7dedf-1920.webp");--gd-image-2fe6e492faf2:url("/assets/images/torn-paper-transition.png");--gd-image-4f16c1eccd53:url("/assets/optimized/02b5ac6ee5b1dafffaa9-1920.webp");--gd-image-97408274d74c:url("/assets/images/edge-paper-v61.png");--gd-image-dc2185b4ee38:url("/assets/images/edge-map-v61.png");--gd-image-c719414b2bb5:url("/assets/images/edge-about-v61.png");--gd-image-92db80af59c4:url("/assets/images/edge-route-v61.png");--gd-image-c2c835431ad5:url("/assets/images/edge-catalog-v61.png");--gd-image-4d4a88282ba5:url("/assets/optimized/82f34c0609be00c66387-1920.webp");--gd-image-105fef97bf0e:url("/assets/optimized/8ed7dfaee607a82e8f3f-1672.webp");--gd-image-bd39a8c4aa00:url("/assets/optimized/e55f635e11e2ff9798f2-1920.webp");--gd-image-3fce14a8d969:url("/assets/optimized/0b9b41b17d912c6a454a-1672.webp");--gd-image-3660e5d2d32e:url("/assets/optimized/4bcfd20d4379b100cd31-1672.webp");--gd-image-e5d208c34825:url("/assets/optimized/0ca24d457a4e1cdbc1ef-1916.webp");}
@media(max-width:700px){:root{--gd-image-ccc9fb096125:url("/assets/optimized/6b9fc3dfd77b0bc7dedf-960.webp");--gd-image-2fe6e492faf2:url("/assets/optimized/9c6546d12138d96fbacc-960.webp");--gd-image-4f16c1eccd53:url("/assets/optimized/02b5ac6ee5b1dafffaa9-960.webp");--gd-image-97408274d74c:url("/assets/images/edge-paper-v61.png");--gd-image-dc2185b4ee38:url("/assets/images/edge-map-v61.png");--gd-image-c719414b2bb5:url("/assets/images/edge-about-v61.png");--gd-image-92db80af59c4:url("/assets/images/edge-route-v61.png");--gd-image-c2c835431ad5:url("/assets/images/edge-catalog-v61.png");--gd-image-4d4a88282ba5:url("/assets/optimized/82f34c0609be00c66387-960.webp");--gd-image-105fef97bf0e:url("/assets/optimized/8ed7dfaee607a82e8f3f-960.webp");--gd-image-bd39a8c4aa00:url("/assets/optimized/e55f635e11e2ff9798f2-960.webp");--gd-image-3fce14a8d969:url("/assets/optimized/0b9b41b17d912c6a454a-960.webp");--gd-image-3660e5d2d32e:url("/assets/optimized/4bcfd20d4379b100cd31-960.webp");--gd-image-e5d208c34825:url("/assets/optimized/0ca24d457a4e1cdbc1ef-960.webp");}}

.gd-js .gd-media-pending,.gd-js .gd-media-pending *,.gd-js .gd-media-pending::before,.gd-js .gd-media-pending::after,.gd-js .gd-media-pending *::before,.gd-js .gd-media-pending *::after{background-image:none!important}
.tour-page .tour-real-hero{background-image:var(--tour-hero-image)!important}
@media(max-width:700px){.tour-page .tour-real-hero{background-image:var(--tour-hero-mobile-image,var(--tour-hero-image))!important}}
@media(min-width:1100px){.tour-page .tour-hero-bg.has-wide-panorama{background-image:none!important}}

/* Desktop brand spacing; compact headers keep their existing layout. */
@media(min-width:1341px){
  :root .site-header .header-inner.shell{width:min(calc(100% - 48px),1540px)}
  .site-header .header-actions .header-social{margin-left:clamp(16px,2.5vw,48px)}
}

/* Stable catalog rows: every text slot has the same size, independent of copy. */
.catalog-page .real-tour-card .tour-card-image{flex:none;margin:0}
.catalog-page .real-tour-card .tour-card-body{--card-title-size:25px;--card-copy-size:14px;display:grid;grid-template-rows:calc(var(--card-title-size)*3.36) calc(var(--card-copy-size)*3) 40px calc(var(--card-copy-size)*4.5) auto;gap:10px;padding:18px;margin:0!important;min-width:0;position:relative;background:#fff;transform:none}
.catalog-page .real-tour-card .tour-card-body h3{font-size:var(--card-title-size);line-height:1.12;height:calc(var(--card-title-size)*3.36);min-height:0!important;margin:0;overflow:hidden}
.catalog-page .real-tour-card h3>a{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.catalog-page .real-tour-card .tour-card-body>p.tour-card-location{display:flex;align-items:flex-start;gap:7px;font-size:var(--card-copy-size);line-height:1.5;height:calc(var(--card-copy-size)*3);min-height:0;margin:0;overflow:hidden}
.catalog-page .real-tour-card .tour-card-location>span{min-width:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.catalog-page .real-tour-card .tour-card-location>svg{width:17px;height:20px;flex:none}
.catalog-page .real-tour-card .tour-place-link,.catalog-page .real-tour-card .tour-place-spacer{display:block;height:40px;min-height:40px;line-height:40px;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;padding:0}
.catalog-page .real-tour-card .tour-card-body>.tour-card-description{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;min-height:0;height:calc(var(--card-copy-size)*4.5);font-size:var(--card-copy-size);line-height:1.5;margin:0}
.tour-card-description>a{color:inherit;text-decoration:none}
.tour-card-description>a:focus-visible{outline:2px solid #07562d;outline-offset:-2px}
.catalog-page .real-tour-card .tour-card-details{align-self:end;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:8px;min-height:92px;margin:4px 0 0;padding:0 0 40px}
.catalog-page .real-tour-card .tour-meta{display:flex;flex-wrap:wrap;gap:6px 10px;font-size:12px;line-height:1.5;min-height:36px}
.catalog-page .real-tour-card .tour-bottom{min-height:25px;display:block}
.catalog-page .real-tour-card .tour-bottom strong{font-size:17px;line-height:1.45}
.catalog-page .real-tour-card .catalog-card-open{right:14px;bottom:14px}
/* An old bottom inset from the mobile sheet must not constrain these popovers. */
.catalog-page .catalog-toolbar{position:relative;z-index:10}
.catalog-page .catalog-filter-menu{bottom:auto;height:auto;max-height:min(360px,60dvh);overflow-y:auto;overscroll-behavior:contain}
.catalog-page .catalog-filter-menu button{min-height:44px;font-size:14px}
.catalog-page .catalog-filter-menu button:focus-visible{outline:2px solid #07562d;outline-offset:-2px;background:#eef5e9}
.catalog-page .catalog-sort-menu{width:max-content;max-width:calc(100vw - 48px)}
/* Full-resolution scenic photographs, without stretching a panorama down the footer. */
.home-page .hero{background-image:url('/assets/optimized/home-hero-v208.webp')!important}
:root body .panorama-footer .footer-panorama,.tour-template-page #tour-footer .footer-panorama{height:clamp(240px,22vw,360px)!important;object-fit:cover!important;object-position:center 47%!important}
:root body .panorama-footer .footer-panorama-shade,.tour-template-page #tour-footer .footer-panorama-shade{background:linear-gradient(180deg,rgba(16,32,25,.08),rgba(16,32,25,.45) 150px,#102019 350px)!important}
@media(max-width:800px){
 .catalog-page .real-tour-card .tour-card-body{--card-title-size:22px;--card-copy-size:13px;padding:13px 10px 14px;gap:9px}
 .catalog-page .real-tour-card .tour-card-details{min-height:102px}
 .catalog-page .real-tour-card .tour-tag{font-size:11px;max-width:calc(100% - 39px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .catalog-page .catalog-filter,.catalog-page .catalog-sort,.catalog-page .catalog-toggle{font-size:13px;min-height:44px!important}
 .catalog-page .catalog-sort{flex-wrap:wrap;gap:4px 7px;padding:10px 12px}
 .catalog-page .catalog-filter-menu{max-height:min(360px,60dvh)}
 .catalog-page .catalog-filter-menu button{font-size:14px;line-height:1.5}
 .catalog-page .catalog-sort-wrap{max-width:100%}
 .catalog-page .catalog-sort-menu{min-width:230px}
 .catalog-page .catalog-filter span{font-size:14px}
 /* Small supporting copy across the public pages; headings and photo colors stay intact. */
 body :is(.section-intro,.section-lead,.section-description,.format-card p,.format-card-copy p,.direction-card p,.review-card p,.about-strip p,.tour-book-note,.tour-book-caption,.tour-book-privacy,.tour-book-price-note,.tour-book-date-note,.tour-lead-note,.tour-route-note,.tour-program-note,.tour-section-intro,.school-card p,.school-card-meta,.school-review-card p,.school-note,.legal-page p){font-size:14px!important;line-height:1.6}
 .tour-page :is(.tour-fact span,.tour-fact small,.tour-fact p,.tour-highlight p,.tour-highlight span,.tour-timeline p,.tour-route-stats b,.tour-route-stats strong,.tour-location,.tour-place-link,.tour-book-form label,.tour-book-form small){font-size:14px!important;line-height:1.55}
 .tour-page :is(.tour-book-form input,.tour-book-form select,.tour-book-form textarea){font-size:16px!important}
 .home-page .hero-symbols a{font-size:10px!important;line-height:1.4;letter-spacing:0}
 .home-page .hero-symbols{gap:5px!important}
 .catalog-page .real-tour-card .tour-card-meta-item{font-size:12px!important;line-height:1.5}
 .home-page :is(.map-intro-details p,.tour-map-search>label,.tour-map-footer,.tour-map-footer span,.tour-date,.tour-photo .duration,.gallery-card figcaption,.gallery-card figcaption span,.photo-card figcaption,.review-person strong,.review-person small,.review-source-link,.home-tour-place-link){font-size:12px!important;line-height:1.5}
 .home-page .tour-body .tour-meta,.home-page .tour-body .tour-meta span{font-size:12px!important;line-height:1.5}
 .tour-page :is(.tour-facts small,.tour-book-top small,.tour-book-field,.tour-book-note,.tour-book-link,.tour-section-head a,.tour-review-person b,.tour-route-schematic span,.tour-promo-link,.tour-breadcrumbs,.tour-similar-date,.tour-benefits b){font-size:13px!important;line-height:1.55}
 .tour-page .tour-facts b{font-size:14px!important;line-height:1.45}
 .tour-page .tour-hero-location .tour-location-inline{font-size:14px!important;line-height:1.55}
 .tour-page :is(.tour-hero-badge,.tour-total span){font-size:12px!important;line-height:1.5}
 body :is(.eyebrow,.section-kicker,.section-label,.catalog-breadcrumbs,.catalog-found,.schedule-count,.schedule-copy>span,.schedule-price>span,.schedule-day>span){font-size:12px!important;line-height:1.5}
 body :is(.footer-company span,.footer-bottom,.footer-bottom p,.footer-contact-socials a,.footer-legal-links,.footer-legal-links a,.gd-about-footer-bottom,.gd-about-footer-direct){font-size:13px!important;line-height:1.6}
 body .footer-nav a{font-size:14px!important;line-height:1.6}
 .about-page :is(.gd-about-description,.gd-about-values p,.gd-about-offer p,.gd-about-contact p:not(.gd-about-eyebrow),.gd-about-organizer p:not(.gd-about-eyebrow),.gd-about-organizer dd){font-size:14px;line-height:1.7}
 .about-page :is(.gd-about-eyebrow,.gd-about-hero-proof span,.gd-about-photo-note,.gd-about-group-photo span,.gd-about-review-grid figcaption,.gd-about-contact-actions>a,.gd-about-organizer dt){font-size:12px;line-height:1.5}
 .school-page :is(.school-hero-details,.school-benefits p,.school-request-copy p,.school-process p,.school-review-grid p,.school-final p){font-size:14px!important;line-height:1.6}
 .school-page .school-card-body p{font-size:13px!important;line-height:1.55;min-height:4.65em}
 .school-page :is(.school-class small,.school-card-tag,.school-card-meta,.school-card-meta span,.school-review-author small,.school-breadcrumb,.school-reward span){font-size:12px!important;line-height:1.5}
 .school-page .school-class strong{font-size:14px!important;line-height:1.4;white-space:normal}
 body :is(.social-contact-link,.social-contact-box p,.request-modal label,.request-modal small,.request-modal-note){font-size:13px!important;line-height:1.55}
 :root body .panorama-footer .footer-panorama,.tour-template-page #tour-footer .footer-panorama{height:320px!important}
 :root body .panorama-footer .footer-panorama-shade,.tour-template-page #tour-footer .footer-panorama-shade{background:linear-gradient(180deg,rgba(16,32,25,.12),rgba(16,32,25,.4) 130px,#102019 315px)!important}
}
@media(max-width:360px){
 .catalog-page .real-tour-card .tour-card-body{--card-title-size:20px;--card-copy-size:12.5px;padding-inline:8px}
 .catalog-page .real-tour-card .tour-place-link{font-size:12px}
 .catalog-page .real-tour-card .tour-bottom strong{font-size:16px}
 .home-page .hero-symbols a{font-size:9px!important}
}
