/* 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;
}



/* Белая основа для всех страниц туров; цветные секции сохраняют свои стили. */
.tour-page {
  --paper: #fff;
  background: #fff;
}

.tour-page .site-header-light {
  background: rgba(255, 255, 255, .96);
}

.tour-page main > .paper-section:not(.tour-specific-cta) {
  background: #fff !important;
}

.tour-page main > .paper-section:not(.tour-specific-cta)::after {
  display: none !important;
}

/* Бумажный PNG остаётся тем же, но его заполнение совпадает с белыми секциями. */
.tour-page main > section > .edge-paper {
  filter: brightness(0) invert(1) !important;
}

/* Карточки остаются читаемыми на белой странице. */
.tour-page .tour-review-grid article,
.tour-page .tour-similar-card {
  background: #fff;
  border-color: rgba(28, 48, 34, .14);
  box-shadow: 0 8px 26px rgba(17, 36, 25, .055);
}

/* 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;
}

/* V112 — reference layout shared by static and CMS tour pages. Content stays in HTML/CMS. */
.tour-page { --paper:#fff; --paper-2:#fff; --tour-accent:#79eb44; background:#fff; color:#20231d; }
.tour-page main { position:relative; isolation:isolate!important; overflow:clip!important; }
.tour-page .shell { width:min(calc(100% - 88px),1180px); }
.tour-page .site-header-light { background:#fff; box-shadow:none; }
.tour-page .header-inner { height:88px; }
.tour-page .tour-hero { min-height:0; background:#fff; color:#20231d; position:relative; z-index:1; }
.tour-page .tour-hero-bg { z-index:-2; background-position:center 42%; }
.tour-page .tour-hero-shade { z-index:-1; background:linear-gradient(180deg,rgba(255,255,255,.93),rgba(255,255,255,.35) 37%,transparent 64%),linear-gradient(90deg,rgba(255,255,255,.88),rgba(255,255,255,.65) 38%,transparent 72%); }
.tour-page .tour-hero-inner { display:grid; grid-template-columns:minmax(0,1fr) 300px; grid-template-rows:auto auto minmax(125px,1fr); gap:18px 36px; min-height:560px; padding:22px 0 34px; }
.tour-page .tour-breadcrumbs { grid-column:1/-1; margin:0; color:#777d74; line-height:1.6; font-size:11px; }
.tour-page .tour-hero-content { grid-column:1; grid-row:2; min-width:0; }
.tour-page .tour-hero-copy { max-width:none; padding:0; }
.tour-page .tour-hero-copy h1 { font-size:clamp(58px,6.2vw,90px); line-height:.97; letter-spacing:-.035em; overflow-wrap:anywhere; }
.tour-page .tour-hero-badge { min-height:24px; border-radius:5px; padding:4px 10px; background:#74443d; color:#fff; margin-bottom:10px; }
.tour-page .tour-hero-subtitle { max-width:530px; font-size:22px; line-height:1.35; margin:14px 0 22px; }
.tour-page .tour-facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; max-width:none; background:rgba(255,255,255,.9); border-radius:0; padding:10px 0; }
.tour-page .tour-facts>div { min-width:0; border-radius:0; padding:6px 9px; background:none; grid-template-columns:24px minmax(0,1fr); }
.tour-page .tour-facts b,.tour-page .tour-facts small { overflow-wrap:anywhere; line-height:1.4; }
.tour-page .tour-gallery-strip { position:relative; inset:auto; grid-column:1; grid-row:3; align-self:end; display:flex; flex-direction:column; align-items:start; gap:18px; margin:0; min-width:0; }
.tour-page .tour-thumbs { width:100%; margin:0; gap:8px; overflow-x:auto; padding:3px; }
.tour-page .tour-thumb { flex:0 0 clamp(74px,9vw,116px); width:116px; height:85px; border-radius:6px; background:transparent!important; }
.tour-page .tour-video-btn { color:#fff; background:rgba(20,36,28,.55)!important; border-color:#fff9!important; }
.tour-page .tour-book-card { position:relative; inset:auto; grid-column:2; grid-row:2/4; align-self:start; width:100%; margin:40px 0 0; padding:22px; border-radius:9px; background:#fff; box-shadow:0 6px 28px #14231920; border:1px solid #edf0e9; }
.tour-page .tour-book-top { padding-bottom:18px; }
.tour-page .tour-book-price { font-size:29px; font-weight:800; }
.tour-page .tour-book-field { font-size:12px; margin-top:18px; }
.tour-page .tour-book-field select { background:#f9faf7; border:1px solid #e7eae3; }
.tour-page .tour-people-control { background:#fafbf8; border-color:#e7eae3; }
.tour-page .tour-people-control button { background:transparent!important; color:#4d5c49!important; border:0!important; }
.tour-page .tour-total { margin:16px 0; }
.tour-page .tour-book-note { font-size:11px; line-height:1.6; }
.tour-page .tour-book-link { background:transparent!important; color:#596051!important; border:0!important; padding:10px 0; text-align:left; font-size:11px; line-height:1.5; }
.tour-page .tour-book-heart,.tour-page .tour-review-person button,.tour-page .tour-similar-image button,.tour-page .tour-round-arrows button { background:transparent!important; color:inherit!important; border-color:#dfe5da!important; box-shadow:none!important; }
/* Large actions only. This specificity also wins over the former global theme. */
:root body.tour-page[data-button-theme="lime"][data-button-theme="lime"] :is(.button,.tour-book-submit,.tour-footer-cta) { background:linear-gradient(110deg,#99f85b,#76e842)!important; color:#172715!important; border-color:#76e842!important; text-shadow:none!important; border-radius:7px; min-height:44px; padding:12px 18px; font-weight:600; }
:root body.tour-page[data-button-theme="lime"][data-button-theme="lime"] :is(.button,.tour-book-submit,.tour-footer-cta):hover { background:linear-gradient(110deg,#8ef050,#69dd36)!important; color:#172715!important; }
/* All decorations are below their own section content and ignore pointer events. */
.tour-page main>.paper-section { position:relative!important; isolation:isolate; z-index:1!important; background:#fff!important; overflow:visible!important; }
.tour-page main>.paper-section>.shell { position:relative; z-index:3!important; }
.tour-page main>.paper-section::before { content:""; position:absolute; inset:0; z-index:0; background:url("/assets/images/catalog-sketch-pines.svg") left center/90px auto no-repeat,url("/assets/images/catalog-sketch-pines.svg") right bottom/100px auto no-repeat; opacity:.12; pointer-events:none; }
.tour-page .tour-about { padding:25px 0 18px!important; }
.tour-page .tour-about-head { grid-template-columns:.85fr 1.15fr; gap:64px; }
.tour-page .tour-about h2 { font-size:52px; line-height:.98; padding-right:100px; background:url("/assets/images/catalog-sketch-pines.svg") right center/115px auto no-repeat; }
.tour-page .tour-about-head p { margin:0; font-size:14px; line-height:1.7; }
.tour-page .tour-about-branch { display:none!important; }
.tour-page .tour-benefits { grid-template-columns:repeat(5,minmax(0,1fr)); gap:24px; border:0; padding:14px 0 0; margin-top:24px; }
.tour-page .tour-benefits span { font-size:34px; }
.tour-page .tour-benefits b { font-size:12px; max-width:150px; line-height:1.45; }
.tour-page .tour-program { padding:18px 0 30px!important; }
.tour-page .tour-program-grid { grid-template-columns:.83fr 1.17fr; gap:40px; align-items:start; }
.tour-page .tour-program h2 { font-size:45px; line-height:1.05; margin-bottom:25px; }
.tour-page .program-timeline article { grid-template-columns:minmax(60px,80px) minmax(0,1fr); padding-bottom:20px; gap:13px; }
.tour-page .program-timeline b { font-size:13px; line-height:1.45; }
.tour-page .program-timeline p { font-size:12px; line-height:1.5; }
.tour-page .program-day { line-height:1.4; overflow-wrap:anywhere; }
.tour-page .tour-program-media { min-width:0; padding:0; }
.tour-page .tour-big-media.tour-real-media { width:100%; height:auto; aspect-ratio:1.8; border-radius:7px; object-fit:cover; }
.tour-page .tour-small-media-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; margin-top:7px; }
.tour-page .tour-small-media-grid .tour-real-media { width:100%; height:auto; aspect-ratio:1.45; border-radius:6px; object-fit:cover; }
.tour-page .tour-route-section { isolation:isolate; z-index:2!important; background:#10221e var(--gd-image-b5436963acae) center / cover no-repeat!important; min-height:280px!important; color:#fff!important; }
.tour-page .tour-route-section::before { content:""!important; display:block!important; position:absolute; top:-1px; left:0; right:0; height:22px; background:#fff; mask:url("/assets/images/torn-paper-mask.svg") center/100% 100%; -webkit-mask:url("/assets/images/torn-paper-mask.svg") center/100% 100%; transform:rotate(180deg); z-index:2; pointer-events:none; }
.tour-page .tour-route-grid { grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr) minmax(0,.6fr)!important; gap:30px!important; padding:35px 0!important; min-height:280px!important; z-index:4!important; }
.tour-page .tour-route-copy h2 { font-size:46px!important; }
.tour-page .tour-route-copy p { font-size:12px; line-height:1.6; }
.tour-page .tour-route-copy .button { font-size:11px; }
.tour-page .tour-route-stats { border-left:1px solid #ffffff30; padding-left:22px; gap:20px; }
.tour-page .tour-route-stats b { font-size:10px; }
.tour-page .tour-route-stats strong { font-size:13px; }
.tour-page .tour-route-map,.tour-page .tour-route-schematic { height:auto!important; min-height:190px!important; max-height:none!important; }
.tour-page .route-map-svg { height:auto!important; max-height:none!important; overflow:visible!important; }
.tour-page .tour-route-branch { left:-45px!important; top:-70px!important; bottom:auto!important; width:150px!important; max-width:none!important; height:auto!important; z-index:3!important; opacity:.9; transform:rotate(28deg)!important; pointer-events:none; }
/* Crisp white torn transitions, with their fill exactly matching the page. */
.tour-page main>section>.section-torn-edge { display:block!important; position:absolute!important; bottom:-1px!important; left:0!important; right:0!important; top:auto!important; width:100%!important; height:22px!important; margin:0!important; z-index:2!important; pointer-events:none; background:#fff!important; mask:url("/assets/images/torn-paper-mask.svg") center/100% 100%; -webkit-mask:url("/assets/images/torn-paper-mask.svg") center/100% 100%; filter:none!important; transform:none!important; }
.tour-page .tour-included,.tour-page .tour-route-section+.tour-included { padding:26px 0 20px!important; }
.tour-page .tour-included-grid { grid-template-columns:1.15fr 1fr 1.12fr; gap:28px; align-items:start; }
.tour-page .tour-included-grid.is-single { grid-template-columns:1.4fr 1fr; }
.tour-page .tour-included h2 { font-size:35px; line-height:1.04; margin-bottom:14px; }
.tour-page .tour-included li { font-size:12px; line-height:1.55; padding-block:4px; }
.tour-page .tour-equipment-card { display:block; min-height:220px; overflow:visible; background:var(--gd-image-ccb23367ee9f) center/cover; border-radius:7px; }
.tour-page .tour-equipment-photo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; border-radius:7px; }
.tour-page .tour-equipment-photo:not([src]) { display:none; }
.tour-page .tour-equipment-card span { bottom:-8px; right:5%; width:85%; padding:20px 18px; background:#fff; color:#3b4136; font-size:21px; line-height:1.15; transform:rotate(-4deg); box-shadow:0 3px 12px #17271918; clip-path:polygon(0 3%,8% 1%,17% 4%,26% 0,39% 3%,52% 0,66% 4%,80% 1%,92% 3%,100% 0,99% 95%,91% 99%,78% 96%,64% 100%,50% 97%,35% 100%,22% 96%,9% 100%,0 97%); }
.tour-page .tour-equipment-card span:empty { display:none; }
.tour-page .tour-stay { padding:28px 0; }
.tour-page .tour-reviews,.tour-page .tour-similar { padding:25px 0 28px; }
.tour-page .tour-section-head { margin-bottom:17px; gap:24px; }
.tour-page .tour-section-head h2 { font-size:42px; line-height:1.1; }
.tour-page .tour-review-grid { gap:18px; }
.tour-page .tour-review-grid article { padding:20px; border-radius:6px; background:#fafbf8; border:0; box-shadow:none; }
.tour-page .tour-review-grid p { font-size:12px; line-height:1.6; }
.tour-page .tour-similar-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.tour-page .tour-similar-card { border-radius:7px; background:#fff; border:1px solid #edf0e8; box-shadow:none; }
.tour-page .tour-similar-card h3 { font-family:var(--sans); font-size:13px; font-weight:700; line-height:1.4; margin:5px 0 8px; }
.tour-page .tour-similar-price,.tour-page .tour-similar-card strong { font-size:21px; font-weight:800; }
.tour-page .tour-similar-date { font-size:11px; }
@media(min-width:1400px) { .tour-page .tour-hero-inner { min-height:600px; } }
@media(max-width:1100px) {
 .tour-page .shell { width:calc(100% - 56px); }
 .tour-page .tour-hero-inner { grid-template-columns:minmax(0,1fr) 280px; gap:18px 24px; }
 .tour-page .tour-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .tour-page .tour-hero-copy h1 { font-size:64px; }
 .tour-page .tour-route-grid { grid-template-columns:1fr 1.6fr!important; }
 .tour-page .tour-route-stats { grid-column:1/-1; grid-template-columns:repeat(4,minmax(0,1fr)); border-left:0; border-top:1px solid #ffffff30; padding:18px 0 0; }
 .tour-page .tour-about-head { gap:24px; }
 .tour-page .tour-about h2 { padding-right:60px; background-size:75px auto; }
}
@media(max-width:760px) {
 .tour-page .shell { width:calc(100% - 36px); }
 .tour-page .header-inner { height:68px; }
 .tour-page .tour-hero-inner { display:grid; grid-template-columns:1fr; grid-template-rows:auto auto auto auto; min-height:0; padding:18px 0 28px; gap:20px; }
 .tour-page .tour-hero-bg { bottom:auto; height:500px; background-position:62% center; }
 .tour-page .tour-hero-shade { bottom:auto; height:510px; background:linear-gradient(180deg,#ffffffed,#ffffffc7 30%,#ffffff33 61%,transparent 80%,#fff); }
 .tour-page .tour-hero-content { grid-column:1; grid-row:2; }
 .tour-page .tour-hero-copy h1 { font-size:clamp(42px,11vw,62px); line-height:1.02; }
 .tour-page .tour-hero-subtitle { font-size:18px; margin:12px 0 18px; }
 .tour-page .tour-gallery-strip { grid-column:1; grid-row:3; min-height:110px; justify-content:end; }
 .tour-page .tour-thumbs { background:transparent; }
 .tour-page .tour-thumb { flex-basis:80px; height:61px; }
 .tour-page .tour-book-card { grid-column:1; grid-row:4; margin:0; width:100%; padding:20px; box-shadow:0 4px 18px #13271c0d; }
 .tour-page .tour-about { padding:22px 0!important; }
 .tour-page .tour-about-head,.tour-page .tour-program-grid { grid-template-columns:1fr; gap:20px; }
 .tour-page .tour-about h2 { font-size:42px; padding-right:110px; background-size:100px auto; }
 .tour-page .tour-benefits { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-top:20px; }
 .tour-page .tour-benefits>div:last-child:nth-child(odd) { grid-column:1/-1; }
 .tour-page .tour-program { padding:15px 0 28px!important; }
 .tour-page .tour-program h2,.tour-page .tour-section-head h2 { font-size:36px; }
 .tour-page .tour-route-grid { grid-template-columns:1fr!important; gap:22px!important; padding:32px 0!important; }
 .tour-page .tour-route-copy h2 { font-size:40px!important; }
 .tour-page .tour-route-map,.tour-page .tour-route-schematic { width:100%; min-height:160px!important; }
 .tour-page .tour-route-stats { grid-column:1; grid-template-columns:repeat(2,minmax(0,1fr)); }
 .tour-page .tour-route-branch { width:85px!important; left:-35px!important; top:-35px!important; }
 .tour-page .tour-included-grid,.tour-page .tour-included-grid.is-single { grid-template-columns:1fr; gap:22px; }
 .tour-page .tour-included h2 { font-size:33px; }
 .tour-page .tour-equipment-card { min-height:230px; margin-bottom:10px; }
 .tour-page .tour-review-grid { grid-template-columns:1fr; }
 .tour-page .tour-similar-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 .tour-page .tour-similar-card h3 { font-size:12px; }
 .tour-page .tour-similar-price { font-size:19px; }
 .tour-page .tour-section-head { align-items:start; flex-direction:column; gap:10px; }
 .tour-page main>.paper-section::before { background-size:30px auto,35px auto; opacity:.12; }
}
@media(prefers-reduced-motion:reduce) { .tour-page * { scroll-behavior:auto; } }
/* Keep old template stacking/spacing overrides from changing this layout. */
.tour-page .tour-hero { z-index:1!important; }
.tour-page .tour-reviews,.tour-page .tour-similar { padding:18px 0 22px!important; }
.tour-page .tour-hero::before { content:""; position:absolute; left:-35px; top:6px; width:100px; height:170px; background:var(--gd-image-5440aa76784b) center/contain no-repeat; transform:rotate(28deg); z-index:0; pointer-events:none; }
@media(max-width:760px) { .tour-page .tour-hero::before { width:60px; height:110px; left:-30px; top:3px; } }
/* V113: compact wrapping facts, stronger side sketches and an undimmed photo. */
.tour-page .tour-hero-bg { filter:none!important; opacity:1!important; }
.tour-page .tour-hero.is-portrait .tour-hero-bg::after { display:none!important; }
.tour-page .tour-hero-shade { background:linear-gradient(180deg,#ffffffb0,transparent 44%)!important; filter:none!important; }
.tour-page .tour-hero-copy { padding:10px 12px 12px; background:linear-gradient(90deg,#fffffff0,#ffffffdd 75%,#ffffff00); }
.tour-page .tour-facts { width:100%!important; max-width:100%!important; display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr))!important; gap:4px!important; margin-top:14px!important; padding:8px!important; overflow:visible!important; background:#fffffff0; }
.tour-page .tour-facts>div { min-width:0!important; min-height:48px!important; padding:4px 7px!important; border:0!important; border-radius:0!important; background:none!important; box-shadow:none!important; backdrop-filter:none!important; overflow:visible!important; }
.tour-page .tour-facts>div::before,.tour-page .tour-facts>div::after { content:none!important; }
.tour-page .tour-facts b,.tour-page .tour-facts small { white-space:normal!important; overflow-wrap:anywhere!important; }
.tour-page main>.paper-section::before { background:var(--gd-image-09f4e2778776) -65px 10%/140px auto no-repeat,var(--gd-image-09f4e2778776) calc(100% + 70px) 85%/155px auto no-repeat; opacity:.4; }
.tour-page .tour-about h2 { background-image:var(--gd-image-09f4e2778776); background-size:90px auto; }
.tour-page .tour-benefits { margin-top:15px; padding:8px 0 0; gap:16px; }
.tour-page .tour-benefits>div { gap:5px; min-height:0; }
.tour-page .tour-benefits span { font-size:28px; line-height:1; }
.tour-page .tour-benefits b { font-size:11px; line-height:1.3; }
@media(max-width:1100px) { .tour-page .tour-facts { grid-template-columns:repeat(2,minmax(0,1fr))!important; } }
@media(max-width:760px) {
 .tour-page .tour-hero-inner { gap:14px; padding-bottom:18px; }
 .tour-page .tour-hero-copy { padding:6px 0; background:linear-gradient(90deg,#fffffff2,#ffffffca 78%,#ffffff00); }
 .tour-page .tour-hero-subtitle { margin-bottom:12px; }
 .tour-page .tour-facts { padding:5px!important; margin-top:10px!important; }
 .tour-page .tour-facts b { font-size:10px; }
 .tour-page .tour-facts small { font-size:9px; }
 .tour-page .tour-gallery-strip { min-height:78px; gap:8px; }
 .tour-page .tour-about { padding:16px 0 12px!important; }
 .tour-page .tour-about-head { gap:12px; }
 .tour-page .tour-about-head p { font-size:13px; line-height:1.55; }
 .tour-page .tour-benefits { display:flex; flex-wrap:wrap; justify-content:center; gap:14px 8px; margin-top:12px; padding-top:6px; }
 .tour-page .tour-benefits>div { flex:0 0 calc((100% - 16px)/3); gap:4px; }
 .tour-page .tour-benefits span { font-size:25px; }
 .tour-page .tour-benefits b { font-size:10px; line-height:1.25; }
 .tour-page .tour-program { padding:12px 0 22px!important; }
 .tour-page .tour-program-grid { gap:14px; }
 .tour-page .tour-program h2 { margin-bottom:16px; }
 .tour-page .program-timeline article { padding-bottom:14px; }
 .tour-page .tour-route-grid { padding:28px 0!important; gap:16px!important; }
 .tour-page .tour-included,.tour-page .tour-route-section+.tour-included { padding:20px 0 12px!important; }
 .tour-page .tour-included-grid { gap:18px; }
 .tour-page .tour-reviews,.tour-page .tour-similar { padding:16px 0 20px!important; }
 .tour-page main>.paper-section::before { background-size:80px auto,85px auto; background-position:-43px 15%,calc(100% + 45px) 80%; opacity:.35; }
}
/* V114 — photo with text only; booking lives in its own white section. */
.tour-page .tour-hero-inner { grid-template-columns:1fr; grid-template-rows:auto auto minmax(100px,1fr); min-height:520px; gap:20px; padding:22px 0 30px; }
.tour-page .tour-hero-content,.tour-page .tour-gallery-strip { grid-column:1; }
.tour-page .tour-hero-copy { max-width:100%; padding:0!important; background:none!important; border:0; box-shadow:none; }
.tour-page .tour-hero-shade { display:none!important; background:none!important; }
.tour-page .tour-hero-bg { background-position:center 42%; }
.tour-page .tour-hero-copy h1 { font-size:clamp(48px,6.3vw,88px); line-height:1.04; }
.tour-page .tour-hero-copy,.tour-page .tour-breadcrumbs { color:#fff; text-shadow:0 1px 3px #102019cc,0 2px 10px #10201977; }
.tour-page .tour-hero-subtitle { max-width:800px; margin:14px 0 18px; }
.tour-page .tour-hero-badge { background:none!important; border:0; box-shadow:none; border-radius:0; padding:0; margin-bottom:12px; font-weight:700; font-size:13px; color:#fff; }
.tour-page .tour-facts { background:none!important; padding:0!important; margin-top:14px!important; max-width:900px!important; gap:14px!important; }
.tour-page .tour-facts>div { padding:2px 0!important; background:none!important; color:#fff!important; border:0!important; box-shadow:none!important; }
.tour-page .tour-facts>div>span,.tour-page .tour-facts b,.tour-page .tour-facts small { color:#fff!important; }
.tour-page .tour-facts b { font-size:12px; }
.tour-page .tour-facts small { font-size:10px; }
.tour-page .tour-gallery-strip { width:min(100%,760px); gap:10px; }
.tour-page .tour-booking-section { position:relative; z-index:2; padding:18px 0 12px; background:#fff; }
.tour-page .tour-booking-section .tour-book-card { display:grid; grid-template-columns:.8fr 1fr 1fr 1.15fr; gap:14px 22px; align-items:center; width:100%; inset:auto; margin:0; padding:20px; background:#fff; box-shadow:none; border:1px solid #e5eae0; border-radius:8px; }
.tour-page .tour-booking-section .tour-book-top { grid-column:1; grid-row:1/3; border:0; padding:0; align-self:start; }
.tour-page .tour-booking-section label.tour-book-field { grid-column:2; grid-row:1/3; margin:0; }
.tour-page .tour-booking-section div.tour-book-field:not([data-child-control]) { grid-column:3; grid-row:1/3; margin:0; }
.tour-page .tour-booking-section [data-child-control] { grid-column:3; grid-row:3; margin:0; }
.tour-page .tour-booking-section .tour-total { grid-column:4; grid-row:1; margin:0; }
.tour-page .tour-booking-section .tour-book-submit { grid-column:4; grid-row:2; }
.tour-page .tour-booking-section .tour-book-note { grid-column:1/3; margin:0; padding:0; border:0; }
.tour-page .tour-booking-section .tour-book-link { grid-column:4; }
.tour-page .tour-booking-section .tour-promo-link { grid-column:1/-1; }
/* Natural spruce edges replace the pencil side trees. */
.tour-page main>.paper-section::before { background:none!important; content:none!important; }
.tour-page .tour-about h2 { background-image:url("/assets/images/catalog-sketch-pines.svg"); background-size:100px auto; }
.tour-page .tour-route-branch { left:-90px!important; top:-155px!important; width:180px!important; height:350px!important; object-fit:contain!important; opacity:1; transform:none!important; }
.tour-page .tour-hero::before { background:var(--gd-image-bb8c8d086448) left center/contain no-repeat; left:-80px; top:8%; width:145px; height:280px; transform:none; opacity:.8; }
.tour-page .tour-similar::before { content:""!important; position:absolute; right:-85px; left:auto; top:0; bottom:0; width:140px; background:var(--gd-image-bb8c8d086448) center/contain no-repeat!important; transform:scaleX(-1); opacity:.28; pointer-events:none; }
@media(min-width:1400px) { .tour-page .tour-hero-inner { min-height:560px; } }
@media(max-width:1000px) {
 .tour-page .tour-booking-section .tour-book-card { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .tour-page .tour-booking-section :is(.tour-book-top,label.tour-book-field,div.tour-book-field:not([data-child-control]),[data-child-control],.tour-total,.tour-book-submit,.tour-book-note,.tour-book-link) { grid-column:auto; grid-row:auto; }
 .tour-page .tour-booking-section .tour-book-top { grid-column:1/-1; }
 .tour-page .tour-booking-section .tour-book-note { grid-column:1/-1; }
}
@media(max-width:760px) {
 .tour-page .tour-hero-inner { grid-template-columns:1fr; grid-template-rows:auto auto minmax(70px,1fr); min-height:400px; gap:14px; padding:18px 0 25px; }
 .tour-page .tour-hero-bg { inset:0; height:auto; }
 .tour-page .tour-hero-copy h1 { font-size:clamp(40px,10vw,64px); }
 .tour-page .tour-hero-subtitle { font-size:17px; line-height:1.4; }
 .tour-page .tour-facts { gap:10px!important; }
 .tour-page .tour-facts b { font-size:11px; }
 .tour-page .tour-facts small { font-size:9px; }
 .tour-page .tour-gallery-strip { grid-row:3; min-height:70px; }
 .tour-page .tour-booking-section { padding:12px 0 8px; }
 .tour-page .tour-booking-section .tour-book-card { display:block; padding:18px; }
 .tour-page .tour-booking-section :is(label.tour-book-field,div.tour-book-field:not([data-child-control]),[data-child-control]) { margin-top:12px; }
 .tour-page .tour-booking-section .tour-total { margin:14px 0; }
 .tour-page .tour-booking-section .tour-book-note { margin-top:12px; }
 .tour-page .tour-route-branch { width:115px!important; height:240px!important; top:-105px!important; left:-65px!important; }
 .tour-page .tour-hero::before { width:85px; height:190px; left:-52px; top:15%; }
 .tour-page .tour-similar::before { width:85px; right:-50px; }
}
/* Dark reference typography with a soft text halo, without a panel on the photo. */
.tour-page .tour-hero-copy,.tour-page .tour-breadcrumbs { color:#19251c; text-shadow:0 1px 3px #ffffffed; }
.tour-page .tour-hero-badge,.tour-page .tour-facts>div,.tour-page .tour-facts>div>span,.tour-page .tour-facts b,.tour-page .tour-facts small { color:#19251c!important; text-shadow:0 1px 3px #ffffffed; }

/* V116: calm editorial hero, readable information and sparse individual decorations. */
.tour-page .tour-hero { background:#fff!important; }
.tour-page .tour-hero-inner {
 grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);
 grid-template-rows:auto auto;
 gap:18px 36px;
 min-height:510px;
 padding:26px 0 38px;
 align-items:start;
}
.tour-page .tour-hero-bg {
 inset:0 0 0 48%!important;
 height:auto!important;
 z-index:0;
 filter:none!important;
 opacity:1!important;
 border-radius:0;
}
.tour-page .tour-hero-bg::before {
 content:"";
 position:absolute;
 inset:0;
 background:linear-gradient(90deg,#fff,rgba(255,255,255,.45) 7%,transparent 17%);
 pointer-events:none;
}
.tour-page .tour-hero-bg::after,
.tour-page .tour-hero::before,
.tour-page .tour-hero-shade { display:none!important; }
.tour-page .tour-hero-inner { z-index:2; }
.tour-page .tour-breadcrumbs { grid-column:1; grid-row:1; font-size:11px; line-height:1.6; margin:0; }
.tour-page .tour-hero-content { grid-column:1; grid-row:2; align-self:start; padding:12px 0 0; }
.tour-page .tour-hero-copy,
.tour-page .tour-hero-copy h1,
.tour-page .tour-hero-subtitle,
.tour-page .tour-hero-badge,
.tour-page .tour-breadcrumbs,
.tour-page .tour-breadcrumbs a,
.tour-page .tour-facts>div,
.tour-page .tour-facts>div>span,
.tour-page .tour-facts b,
.tour-page .tour-facts small {
 color:#223327!important;
 text-shadow:none!important;
 -webkit-text-stroke:0!important;
 background:none!important;
 backdrop-filter:none!important;
}
.tour-page .tour-hero-copy h1 {
 font-size:clamp(44px,4.7vw,68px);
 line-height:1.02;
 letter-spacing:-.025em;
 font-weight:500;
 overflow-wrap:break-word;
}
.tour-page .tour-hero-badge { font-size:11px; font-weight:600; letter-spacing:.06em; margin-bottom:14px; }
.tour-page .tour-hero-subtitle { font-size:19px; line-height:1.5; font-weight:400; margin:18px 0 24px; max-width:none; }
.tour-page .tour-facts {
 display:grid!important;
 grid-template-columns:repeat(2,minmax(0,1fr))!important;
 gap:16px 20px!important;
 margin:0!important;
 padding:18px 0 0!important;
 border-top:1px solid #e4e9e1;
 background:none!important;
}
.tour-page .tour-facts>div { min-height:0!important; padding:0!important; gap:8px; }
.tour-page .tour-facts b { font-size:12px; line-height:1.5; font-weight:600; }
.tour-page .tour-facts small { font-size:11px; line-height:1.5; color:#59665b!important; }
.tour-page .tour-gallery-strip {
 grid-column:2;
 grid-row:1/3;
 align-self:end;
 width:100%;
 min-height:0;
 padding:12px;
 margin:0;
 background:none;
}
.tour-page .tour-thumbs { gap:8px; padding:2px; }
.tour-page .tour-thumb { flex:0 0 76px; width:76px; height:58px; border:2px solid #fff; box-shadow:0 2px 10px #12291a25; }
/* The booking controls share a quiet frame; only the main action is bright. */
.tour-page .tour-booking-section { padding:18px 0 14px; }
.tour-page .tour-booking-section .tour-book-card { border:1px solid #dce5d7; border-radius:12px; padding:22px; background:#fff; }
.tour-page .tour-book-top small { font-size:11px; line-height:1.45; color:#59665b; }
.tour-page .tour-book-field { font-size:12px; line-height:1.5; color:#405043; }
.tour-page .tour-book-field select,
.tour-page .tour-people-control { min-height:42px; background:#f5f8f1; color:#223327; border-color:#dce5d7; border-radius:6px; }
.tour-page .tour-book-price { color:#223327; font-size:30px; }
/* No repeating strips or identical trees at every section seam. */
.tour-page main>.paper-section::before,
.tour-page main>.paper-section::after { content:none!important; display:none!important; background:none!important; }
.tour-page .tour-route-section::after { content:none!important; display:none!important; }
.tour-page .tour-about h2 { background:none; padding-right:0; }
.tour-page .tour-about-head { gap:38px; align-items:center; padding-bottom:16px; }
.tour-page .tour-about-copy { border-left:2px solid #d9e5d1; padding-left:24px; }
.tour-page .tour-benefits { padding:18px 0 12px; margin-top:0; border-top:1px solid #e6ebe3; }


.tour-page .tour-included-grid { column-gap:34px; }
.tour-page .tour-included-grid>div:nth-child(2) { border-left:1px solid #e6ebe3; padding-left:24px; }
.tour-page .tour-review-grid article { background:#fff!important; border:1px solid #e2e8de; border-radius:10px; padding:22px; box-shadow:none; }
.tour-page .tour-review-grid article:first-child { background:#f4f7f0!important; border-color:#d8e3cf; }
.tour-page .tour-review-grid p { font-size:13px; line-height:1.7; }
.tour-page .tour-review-person b { font-size:12px; }
.tour-page .tour-review-person small { font-size:10px; }

@media(min-width:1400px) { .tour-page .tour-hero-inner { min-height:540px; } }
@media(max-width:1000px) and (min-width:761px) {
 .tour-page .tour-hero-inner { gap:18px 26px; }
 .tour-page .tour-hero-copy h1 { font-size:46px; }
 .tour-page .tour-hero-subtitle { font-size:17px; }
 .tour-page .tour-facts { gap:12px!important; }
 .tour-page .tour-thumb { flex-basis:62px; width:62px; height:48px; }
}
@media(max-width:760px) {
 .tour-page .shell { width:calc(100% - 48px); }
 .tour-page .tour-hero-bg { inset:0 0 auto 0!important; height:clamp(240px,65vw,350px)!important; }
 .tour-page .tour-hero-bg::before { display:none; }
 .tour-page .tour-hero-inner {
  grid-template-columns:1fr;
  grid-template-rows:auto auto auto;
  gap:16px;
  min-height:0;
  padding:calc(clamp(240px,65vw,350px) + 18px) 0 20px;
 }
 .tour-page .tour-breadcrumbs { grid-row:1; grid-column:1; font-size:10px; }
 .tour-page .tour-hero-content { grid-row:2; grid-column:1; padding:0; }
 .tour-page .tour-hero-copy h1 { font-size:clamp(38px,10vw,54px); line-height:1.05; }
 .tour-page .tour-hero-badge { font-size:10px; margin-bottom:10px; }
 .tour-page .tour-hero-subtitle { font-size:17px; margin:14px 0 18px; }
 .tour-page .tour-facts { gap:14px 12px!important; padding-top:16px!important; }
 .tour-page .tour-facts b { font-size:11px; }
 .tour-page .tour-facts small { font-size:10px; }
 .tour-page .tour-gallery-strip { grid-column:1; grid-row:3; padding:0; min-height:0; }
 .tour-page .tour-thumb { flex-basis:72px; width:72px; height:54px; border:1px solid #dbe3d5; box-shadow:none; }
 .tour-page .tour-booking-section { padding:8px 0 12px; }
 .tour-page .tour-booking-section .tour-book-card { padding:18px; }
 .tour-page .tour-about-head { gap:16px; padding-bottom:14px; }
 .tour-page .tour-about-copy { padding-left:16px; }
 .tour-page .tour-included-grid>div:nth-child(2) { border:0; padding-left:0; }
 
 
 
}

/* V117: full-width original photo, quiet readable panels and visible edge foliage. */
.tour-page .shell { width:min(calc(100% - 120px),1180px); }
.tour-page .tour-hero-bg { inset:0!important; height:auto!important; z-index:0; }
.tour-page .tour-hero-bg::before { display:none!important; }
.tour-page .tour-hero-inner {
 grid-template-columns:1fr;
 grid-template-rows:auto auto minmax(75px,1fr);
 min-height:580px;
 gap:20px;
 padding:24px 0 32px;
}
.tour-page .tour-breadcrumbs {
 grid-column:1;
 grid-row:1;
 justify-self:start;
 width:fit-content;
 max-width:100%;
 padding:8px 12px;
 background:rgba(255,255,255,.95)!important;
 border-radius:7px;
 color:#405043!important;
 font-weight:400;
}
.tour-page .tour-hero-content { grid-column:1; grid-row:2; padding:0; width:min(100%,780px); }
.tour-page .tour-hero-copy {
 background:rgba(255,255,255,.72)!important;
 padding:24px 26px!important;
 border:1px solid #ffffffba;
 border-radius:12px;
 box-shadow:0 6px 24px #14231912;
}
.tour-page .tour-hero-copy h1 { font-size:clamp(44px,5.2vw,72px); line-height:1.04; font-weight:500; }
.tour-page .tour-hero-badge { margin-bottom:12px; font-size:11px; }
.tour-page .tour-hero-subtitle { font-size:20px; line-height:1.45; margin:14px 0 20px; }
.tour-page .tour-facts {
 grid-template-columns:repeat(4,minmax(0,1fr))!important;
 gap:8px!important;
 padding:0!important;
 border:0;
}
.tour-page .tour-facts>div {
 background:#eef3e9!important;
 border:1px solid #e1e8db!important;
 border-radius:7px!important;
 padding:10px 8px!important;
 min-height:62px!important;
 align-items:start;
 grid-template-columns:20px minmax(0,1fr);
 gap:6px;
}
.tour-page .tour-facts b { font-size:11px; font-weight:600; }
.tour-page .tour-facts small { font-size:10px; }
.tour-page .tour-gallery-strip { grid-column:1; grid-row:3; width:min(100%,780px); padding:0; align-self:end; }
.tour-page .tour-thumb { flex-basis:94px; width:94px; height:68px; border:2px solid #fff; }
/* V126: no side branches on tours; translucent hero title panel. */
.tour-page main>.paper-section::before,
.tour-page main>.paper-section::after,
.tour-page .tour-route-branch {
 content:none!important; display:none!important; background:none!important;
}
.tour-page .tour-route-section>.shell { position:relative; z-index:3; }
@media(min-width:1400px) { .tour-page .tour-hero-inner { min-height:620px; } }
@media(max-width:1000px) {
 .tour-page .tour-facts { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
 .tour-page .tour-hero-content { width:min(100%,660px); }
}
@media(max-width:760px) {
 .tour-page .shell { width:calc(100% - 64px); }
 .tour-page .tour-hero-bg { inset:0!important; height:auto!important; }
 .tour-page .tour-hero-inner { padding:18px 0 24px; min-height:540px; grid-template-columns:1fr; grid-template-rows:auto auto minmax(54px,1fr); gap:14px; }
 
 .tour-page .tour-hero-copy { padding:18px 16px!important; border-radius:9px; background:rgba(255,255,255,.72)!important; }
 .tour-page .tour-hero-copy h1 { font-size:clamp(34px,9vw,50px); line-height:1.07; }
 .tour-page .tour-hero-subtitle { font-size:16px; line-height:1.5; margin:12px 0 16px; }
 .tour-page .tour-facts { gap:7px!important; padding:0!important; }
 .tour-page .tour-facts>div { padding:9px 7px!important; min-height:60px!important; grid-template-columns:16px minmax(0,1fr); gap:5px; }
 .tour-page .tour-facts b { font-size:10px; }
 .tour-page .tour-facts small { font-size:9px; }
 .tour-page .tour-thumb { flex-basis:68px; width:68px; height:50px; }
}

/* Wide screens: controlled composition and original photographs at gentler scale. */
.tour-wide-panorama{display:none}
.tour-photo-viewer{width:fit-content;max-width:calc(100vw - 40px);max-height:calc(100dvh - 40px);padding:16px;border:0;border-radius:12px;background:#fff;color:#263b2b;box-shadow:0 20px 80px #0005}
.tour-photo-viewer::backdrop{background:#101b20b8}
.tour-photo-viewer-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:12px;font:14px/1.5 Manrope,Arial,sans-serif}
.tour-photo-viewer-header p{margin:0;max-width:480px}
.tour-photo-viewer .tour-photo-close{width:40px;height:40px;border:1px solid #d8dfd6;border-radius:50%;background:#fff;color:#263b2b;font:28px/1 Arial,sans-serif;cursor:pointer;flex-shrink:0}
.tour-photo-viewer img{display:block;max-width:100%;max-height:calc(100dvh - 120px);height:auto;width:auto;object-fit:contain;margin:auto}
@media(min-width:1100px){
 .tour-page .tour-hero-inner{width:min(calc(100% - 96px),1380px);min-height:680px;grid-template-rows:auto auto minmax(76px,1fr);padding:32px 0 36px;gap:24px}
 .tour-page .tour-hero-content{width:min(100%,880px);align-self:center}
 .tour-page .tour-hero-copy{padding:28px 30px!important}
 .tour-page .tour-hero-copy h1{font-size:clamp(44px,3.2vw,64px);line-height:1.08;letter-spacing:-.025em}
 .tour-page .tour-hero-badge{font-size:15px;line-height:1.5}
 .tour-page .tour-hero-subtitle{font-size:20px;line-height:1.55;max-width:760px}
 .tour-page .tour-facts{gap:12px!important}
 .tour-page .tour-facts>div{padding:14px 12px!important;min-height:84px!important;grid-template-columns:22px minmax(0,1fr)}
 .tour-page .tour-facts b{font-size:15px;line-height:1.45}
 .tour-page .tour-facts small{font-size:13px;line-height:1.4}
 .tour-page .tour-gallery-strip{width:min(100%,880px)}
 .tour-page .tour-thumb{flex-basis:100px;width:100px;height:76px}
 .tour-page .tour-hero-bg.has-wide-panorama{background-image:none!important;background-color:#c6d1bf}
 .tour-wide-panorama{display:flex;position:absolute;inset:0;overflow:hidden}
 .tour-wide-panorama img{display:block;width:33.333%;height:100%;object-fit:cover;object-position:center;flex:1 1 0;min-width:0}
 .tour-wide-panorama img:first-child{object-position:center 55%}
}
@media(min-width:1900px){
 .tour-page .tour-hero-inner{min-height:760px}
}
@media(max-width:600px){
 .tour-photo-viewer{padding:12px;max-width:calc(100vw - 24px)}
 .tour-photo-viewer-header{font-size:12px;gap:12px}
}

/* Keep the mobile tour navigation readable against the light header. */
@media(max-width:820px){
 .tour-page .site-header-light{position:sticky;top:0;overflow:visible;z-index:50}
 .tour-page .site-header-light .main-nav{position:absolute;inset:100% 14px auto;z-index:51;margin:0;padding:8px;background:#fff;color:#17261d;border:1px solid #dce4de;border-radius:14px;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:0 12px 32px #10221926;max-height:calc(100vh - 110px);max-height:calc(100dvh - 110px);overflow-y:auto;overscroll-behavior:contain;gap:0;align-items:stretch;font-size:16px;white-space:normal}
 .tour-page .site-header-light .main-nav.is-open{display:flex}
 .tour-page .site-header-light .main-nav a{display:block;width:100%;box-sizing:border-box;padding:12px 14px;color:#17261d;opacity:1;line-height:1.4;text-decoration:none;transform:none}
 .tour-page .site-header-light .main-nav a:hover,.tour-page .site-header-light .main-nav a:focus-visible{background:#eef4eb;border-radius:8px;color:#17261d}
 .tour-page .site-header-light .menu-toggle{color:#17261d}
 .tour-page .site-header-light .menu-toggle span{background:#17261d}
}

.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); }
}

/* A third traveller tariff needs its own row on wide booking cards. */
@media(min-width:1001px) {
 .tour-page .tour-booking-section .tour-book-card:has([data-pensioner-control]:not([hidden])) .tour-book-top,
 .tour-page .tour-booking-section .tour-book-card:has([data-pensioner-control]:not([hidden])) label.tour-book-field { grid-row:1/4; }
 .tour-page .tour-booking-section .tour-book-card:has([data-pensioner-control]:not([hidden])) div.tour-book-field:not([data-child-control]):not([data-pensioner-control]) { grid-column:3; grid-row:1; }
 .tour-page .tour-booking-section .tour-book-card:has([data-pensioner-control]:not([hidden])) [data-child-control] { grid-column:3; grid-row:2; }
 .tour-page .tour-booking-section .tour-book-card:has([data-pensioner-control]:not([hidden])) [data-pensioner-control] { grid-column:3; grid-row:3; }
 .tour-page .tour-booking-section .tour-book-card:has([data-pensioner-control]:not([hidden])) .tour-book-link { grid-row:3; }
 .tour-page .tour-booking-section .tour-book-card:has([data-pensioner-control]:not([hidden])) [data-tour-book-note] { grid-row:4; }
}

.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))}}

.tour-map-search{position:absolute;z-index:850;top:32px;right:clamp(24px,4vw,70px);width:min(420px,40%);margin:0;color:#eee9d8;font:400 14px/1.45 Manrope,Arial,sans-serif}
.tour-map-search>label{display:block;font-size:12px;font-weight:600;letter-spacing:.02em;margin:0 0 8px;color:#dce6d1}
.tour-map-search-field{display:flex;align-items:center;gap:0;border:1px solid #d2debc60;background:#f5f2e7;border-radius:14px;box-shadow:0 6px 25px #061b1740;overflow:hidden;color:#234331}
.tour-map-search input{width:100%;min-width:0;height:48px;min-height:48px;border:0;border-radius:0;box-shadow:none;outline:0;background:transparent;color:#234331;font:400 14px/1.4 Manrope,Arial,sans-serif;padding:11px 14px}
.tour-map-search input::-webkit-search-cancel-button{display:none}
.tour-map-search-field:focus-within{outline:2px solid #a2ee6a;outline-offset:2px}
:root body[data-button-theme="lime"] #tour-map .tour-map-search button{border:0!important;background:transparent!important;color:#234331!important;box-shadow:none!important;transform:none!important;border-radius:0!important}
.tour-map-search-field button{display:grid;place-items:center;flex:0 0 44px;width:44px;height:48px;padding:10px;font:400 25px/1 Arial,sans-serif;cursor:pointer}
.tour-map-search button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7}
.tour-map-search [hidden]{display:none!important}
.tour-map-search-results{margin-top:8px;padding:6px;background:#f9f7ee;color:#203d2e;border:1px solid #bcc8b2;border-radius:13px;box-shadow:0 12px 32px #061b1755;max-height:min(370px,48svh);overflow:auto;overscroll-behavior:contain}
.tour-map-search-results ul{list-style:none;padding:0;margin:0}
.tour-map-search-results li{margin:0;padding:6px 2px;border-top:1px solid #d7dfd1}
.tour-map-search-results li:first-child{border-top:0}
.tour-map-search-results li>button{display:flex;align-items:center;gap:11px;text-align:left;width:100%;padding:6px;cursor:pointer;font:inherit}
.tour-map-search-results button img{width:44px;height:44px;min-width:44px;object-fit:cover;border-radius:50%;border:1px solid #bbc8ad;flex-shrink:0}
.tour-map-search-results button span{min-width:0;flex:1}
.tour-map-search-results strong{display:block;font-size:13px;font-weight:700;line-height:1.45;color:#203d2e;overflow-wrap:anywhere}
.tour-map-search-results small{display:block;font-size:11px;line-height:1.5;margin-top:3px;color:#61745f;overflow-wrap:anywhere}
.tour-map-search-results em{display:block;font-style:normal;font-size:10px;color:#4a704b;margin-top:5px}
.tour-map-search-results li>a{display:inline-flex;align-items:center;min-height:32px;margin-left:61px;font-size:11px;color:#315d39;text-decoration:underline;text-underline-offset:3px}
:root body[data-button-theme="lime"] #tour-map .tour-map-search button:hover,:root body[data-button-theme="lime"] #tour-map .tour-map-search button:focus-visible{outline:1px solid #7c9d74!important;background:#edf3e7!important}
.tour-map-search-note{font-size:12px;line-height:1.65;margin:0;padding:11px;color:#476140}
.tour-map-search-note a{color:#254c2f;text-decoration:underline}
.tour-map-search-announcement{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.home-page .map-section.has-tour-popup #tour-map-canvas::before{background:none}
.tour-location-inline,.tour-card-location{display:flex;align-items:flex-start;gap:7px;color:#536b50;font:400 12px/1.6 Manrope,Arial,sans-serif;overflow-wrap:anywhere}
.tour-location-inline svg,.tour-card-location svg{width:16px;height:19px;flex:0 0 16px;fill:none;stroke:currentColor;stroke-width:1.6}
.catalog-page .real-tour-card .tour-card-body>p.tour-card-location{display:flex;-webkit-line-clamp:unset;-webkit-box-orient:unset;overflow:visible;margin:9px 0 10px;font-size:12px;line-height:1.5;color:#536b50}
.tour-card-location span{min-width:0}
.tour-place-link{display:inline-flex;align-items:center;gap:5px;min-height:36px;color:#315d39;text-decoration:underline;text-underline-offset:3px;font:600 11px/1.4 Manrope,Arial,sans-serif}
.tour-hero-location{margin:15px 0 0;padding:12px 14px;border-radius:12px;background:#f8f5e9f2;color:#284831;max-width:100%;box-sizing:border-box}
.tour-hero-location .tour-location-inline{color:inherit;font-size:13px;margin:0}
.tour-hero-location .tour-place-link{font-size:12px;margin-left:23px}
.home-tour-place-link{display:inline-flex;align-items:center;min-height:36px;margin-top:8px;color:#496340;font:600 11px/1.5 Manrope,Arial,sans-serif;text-decoration:underline;text-underline-offset:3px}
@media(max-width:1000px) and (min-width:701px){.tour-map-search{top:215px;left:24px;right:auto;width:360px}}
@media(max-width:700px){
 .tour-map-search{top:150px;left:18px;right:18px;width:auto}
 .tour-map-search>label{font-size:11px;margin-bottom:6px}
 .tour-map-search input{font-size:13px;padding-left:11px}
 .tour-map-search-results{max-height:min(290px,39svh)}
 .home-page .map-section.has-tour-popup .map-copy{visibility:hidden;pointer-events:none}
 .home-page .map-section.has-tour-popup .tour-map-search{top:20px}
 .catalog-page .real-tour-card .tour-card-body>p.tour-card-location{font-size:10px;line-height:1.5}
 .tour-place-link{font-size:10px;min-height:40px}
 .tour-hero-location{padding:11px 12px}
 .tour-hero-location .tour-location-inline{font-size:12px}
}

/* 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-b5436963acae:url("/assets/optimized/6a9c1bcf0831082fac57-1920.webp");--gd-image-ccb23367ee9f:url("/assets/optimized/82f34c0609be00c66387-1920.webp");--gd-image-5440aa76784b:url("/assets/optimized/5b30a88f0c07f4972742-1536.webp");--gd-image-09f4e2778776:url("/assets/optimized/5b9d654208740d77051a-1024.webp");--gd-image-bb8c8d086448:url("/assets/optimized/8eb701f19d3102b3e04c-1024.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-b5436963acae:url("/assets/optimized/6a9c1bcf0831082fac57-960.webp");--gd-image-ccb23367ee9f:url("/assets/optimized/82f34c0609be00c66387-960.webp");--gd-image-5440aa76784b:url("/assets/optimized/5b30a88f0c07f4972742-960.webp");--gd-image-09f4e2778776:url("/assets/optimized/5b9d654208740d77051a-960.webp");--gd-image-bb8c8d086448:url("/assets/optimized/8eb701f19d3102b3e04c-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)}
}

/* One vector family for every tour fact, independent of system fonts. */
.tour-page .tour-facts>div>span{display:flex;align-items:center;justify-content:center;width:20px;height:20px;line-height:0}
.tour-page .tour-fact-icon{display:block;width:100%;height:100%;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
/* Center the actual cross drawing inside the circular 40px target. */
.tour-photo-viewer .tour-photo-close{display:grid;place-items:center;padding:0;box-sizing:border-box;line-height:0}
.tour-photo-viewer .tour-photo-close svg{display:block;width:22px;height:22px;flex:none;margin:0;pointer-events:none}
.tour-photo-viewer .tour-photo-close:focus-visible{outline:2px solid #1b6a42;outline-offset:3px}
@media(min-width:1100px){.tour-page .tour-facts>div>span{width:22px;height:22px}}
@media(max-width:760px){.tour-page .tour-facts>div{grid-template-columns:18px minmax(0,1fr)}.tour-page .tour-facts>div>span{width:18px;height:18px}}


/* Keep the established photographic hero. Only the program gets a compact collage. */
.tour-photo-tile{display:block;width:100%;min-width:0;min-height:0;border:0!important;padding:0!important;background:#eef2e9!important;border-radius:10px;box-shadow:none!important;overflow:hidden;cursor:zoom-in;line-height:0;text-align:inherit}
.tour-photo-tile img{display:block;width:100%!important;height:100%!important;margin:0!important;border-radius:0!important;object-position:var(--photo-x,50%) var(--photo-y,50%);object-fit:var(--photo-fit,contain)!important}
.tour-photo-tile:focus-visible{outline:3px solid #277c4a;outline-offset:3px}
:root body.tour-page[data-button-theme="lime"][data-button-theme="lime"] button.tour-photo-tile,:root body.tour-page[data-button-theme="lime"][data-button-theme="lime"] button.tour-photo-tile:hover{background:#eef2e9!important;border:0!important;box-shadow:none!important;transform:none!important}
.tour-page .tour-thumbs img{object-fit:var(--photo-fit,contain);object-position:var(--photo-x,50%) var(--photo-y,50%)}
.tour-wide-panorama img{object-fit:var(--photo-fit,cover);object-position:var(--photo-x,50%) var(--photo-y,50%)}
.tour-page .tour-benefits span{display:flex;width:32px;height:32px;align-items:center;justify-content:center;color:#284c3b;line-height:0}
.tour-page .tour-benefits svg{width:28px;height:28px;stroke-width:1.8}
.tour-schedule-back{display:flex;width:fit-content;align-items:center;gap:8px;color:#254b35;font:600 13px/1.4 Manrope,Arial,sans-serif;text-decoration:none;margin-bottom:14px;min-height:32px}
.tour-schedule-back:hover{text-decoration:underline;text-underline-offset:4px}
:root body[class] .site-header .header-inner .header-cta,:root body.catalog-page[data-button-theme="lime"] .site-header .header-inner .header-cta{background:var(--site-button-fill,linear-gradient(110deg,#9bf44e,#64e32f))!important;color:#193624!important;border:1px solid rgba(83,150,41,.18)!important;border-radius:8px!important;min-height:44px;padding:12px 20px;font:600 12px/1.4 Manrope,Arial,sans-serif;box-shadow:none!important;white-space:nowrap}
:root body[class] .site-header .header-inner .header-cta:hover,:root body.catalog-page[data-button-theme="lime"] .site-header .header-inner .header-cta:hover{background:var(--site-button-hover,linear-gradient(110deg,#8ef050,#69dd36))!important}
@media(max-width:760px){.tour-page .tour-program-media{height:300px;gap:7px}.tour-schedule-back{min-height:40px;margin-bottom:10px}}

/* A compact editorial collage: tall lead image, two side images, two below. */
.tour-page .tour-program-media{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:12px;height:clamp(440px,43vw,620px);min-height:0;align-items:stretch;align-content:start}
.tour-page .tour-program-media>.tour-photo-tile{grid-column:auto;grid-row:auto;width:100%;height:100%;min-width:0;min-height:0;aspect-ratio:auto;border-radius:16px}
.tour-page .tour-program-media>.tour-photo-tile:nth-child(1){grid-column:1 / 8;grid-row:1 / 3}
.tour-page .tour-program-media>.tour-photo-tile:nth-child(2){grid-column:8 / 13;grid-row:1}
.tour-page .tour-program-media>.tour-photo-tile:nth-child(3){grid-column:8 / 13;grid-row:2}
.tour-page .tour-program-media>.tour-photo-tile:nth-child(4){grid-column:1 / 7;grid-row:3}
.tour-page .tour-program-media>.tour-photo-tile:nth-child(5){grid-column:7 / 13;grid-row:3}
.tour-page .tour-program-media[data-photo-count="4"]>.tour-photo-tile:first-child{grid-column:1 / 8;grid-row:1 / 4}
.tour-page .tour-program-media[data-photo-count="4"]>.tour-photo-tile:nth-child(4){grid-column:8 / 13;grid-row:3}
.tour-page .tour-program-media[data-photo-count="3"]{grid-template-rows:repeat(2,minmax(0,1fr));height:clamp(340px,33vw,460px)}
.tour-page .tour-program-media[data-photo-count="2"]{grid-template-columns:1fr 1fr;grid-template-rows:1fr;height:clamp(320px,33vw,460px)}
.tour-page .tour-program-media[data-photo-count="2"]>.tour-photo-tile{grid-column:auto;grid-row:1}
.tour-page .tour-program-media[data-photo-count="1"]{display:block;height:auto}
.tour-page .tour-program-media[data-photo-count="1"]>.tour-photo-tile{aspect-ratio:4/3;height:auto}
:root body.tour-page[data-button-theme="lime"][data-button-theme="lime"] .tour-program-media button.tour-photo-tile,:root body.tour-page[data-button-theme="lime"][data-button-theme="lime"] .tour-program-media button.tour-photo-tile:hover{background:transparent!important;border:0!important;box-shadow:none!important;transform:none!important;padding:0!important}
.tour-page .tour-program-media .tour-photo-tile>img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:var(--photo-x,50%) var(--photo-y,50%);border-radius:inherit!important}
.tour-program-extra{grid-column:1 / -1;grid-row:4;font-size:13px;line-height:1.5}
.tour-program-extra-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:160px;gap:12px;margin-top:12px}
.tour-program-extra-grid .tour-photo-tile{height:100%}
/* The thumbnail button follows its image's actual aspect ratio. */
.tour-page .tour-hero .tour-thumbs .tour-thumb{display:inline-flex;align-items:stretch;justify-content:center;flex:0 0 auto!important;width:var(--thumb-width,56px)!important;min-width:0;height:76px;border:2px solid #fff!important;border-radius:7px;padding:0!important;background:transparent!important;box-shadow:0 2px 8px #12291a25;overflow:hidden}
.tour-page .tour-hero .tour-thumbs .tour-thumb img{display:block;width:100%!important;height:100%!important;max-width:none;object-fit:cover!important;border-radius:4px;flex:none}
@media(max-width:1099px){.tour-page .tour-hero .tour-thumbs .tour-thumb{height:68px}}
@media(max-width:760px){.tour-page .tour-program-media{height:400px;gap:8px}.tour-page .tour-program-media>.tour-photo-tile{border-radius:11px}.tour-page .tour-program-media[data-photo-count="3"]{height:300px}.tour-page .tour-program-media[data-photo-count="2"]{height:300px}.tour-page .tour-hero .tour-thumbs .tour-thumb{height:56px}.tour-program-extra-grid{gap:8px;grid-auto-rows:110px}}

/* Respect an explicitly saved photo fit; preserve the default compact composition. */
.tour-page .tour-program-media .tour-photo-tile>img{object-fit:var(--photo-fit,cover)!important}

/* 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}
}
