/* Shared Forest Library layer for the main editorial sections.
   Page markup, content and existing interactions are deliberately preserved. */
.page-section-reference {
  --section-paper: #fff8e4;
  --section-art: none;
  background:
    linear-gradient(rgba(1, 19, 10, .2), rgba(1, 19, 10, .46)),
    var(--section-art) center top / cover fixed no-repeat,
    #021209 !important;
}
.page-adults { --section-art: url('images/adults-banner.png'); }
.page-kids { --section-art: url('images/banner-forest.png'); }
.page-author { --section-art: url('images/author-banner.png'); }
.page-entry { --section-art: url('images/ot-avtora-banner.png'); }
.page-why { --section-art: url('images/why-currant.png'); }
.page-recenzii { --section-art: url('images/recenzii-banner-leaf-drops.png'); }
.page-team { --section-art: url('images/team-banner-blackberry.png'); }
.page-cooperation { --section-art: url('images/team-banner-blackberry.png'); }
.page-parents-educators { --section-art: url('images/roditelyam-i-pedagogam-banner.png'); }
.page-important { --section-art: url('images/important-banner.png'); }
.page-video { --section-art: url('images/video-banner.png'); }
.page-course-applied-author { --section-art: url('images/analytical-abilities-applied-kids-banner.png'); }
.page-course-applied,
.page-course-analytical-author,
.page-course-analytical,
.page-course-principles { --section-art: url('images/analytical-abilities-kids-banner.png'); }
.page-course-principles-author { --section-art: url('images/analytical-abilities-kids-author-course-copy-2-banner.png'); }
.page-course-process-author { --section-art: url('images/process-thinking-kids-author-course-banner.png'); }
.page-course-process { --section-art: url('images/process-thinking-kids.png'); }
.page-course-systemic { --section-art: url('images/systemic-course-banner.png'); }
.page-course-systemic-now { --section-art: url('images/systemic-course-now-banner.png'); }
.page-course-systemic-kids,
.page-school-systemic { --section-art: url('images/systemic-thinking-kids-banner.png'); }
.page-course-systemic-adults { --section-art: url('images/adults-banner.png'); }
.page-methods { --section-art: url('images/methodiki-banner.png'); }
.page-psychology-structure-adult { --section-art: url('images/structure-psy-adult-banner.png'); }
.page-psychology-structure-child { --section-art: url('images/kids-puppy.png'); }
.page-psychology-behavior { --section-art: url('images/psychology-povedeniya-banner-berries.png'); }
.page-adults-2,
.page-adults-3 { --section-art: url('images/banner.webp'); }
.page-kids-8-11,
.page-kids-why { --section-art: url('images/why-kids-banner.png'); }
.page-kids-8-11-3 { --section-art: url('images/kids-8-11-3-banner.png'); }
.page-kids-12-14 { --section-art: url('images/systemic-thinking-kids-banner.png'); }
.page-kids-12-14-3 { --section-art: url('images/banner.webp'); }

.page-section-reference .banner {
  min-height: clamp(350px, 30vw, 455px);
  align-items: stretch;
  isolation: isolate;
  border-bottom: 1px solid rgba(240, 201, 79, .78);
  background-image: none !important;
  background-color: transparent !important;
}
.page-section-reference .banner::before {
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(0, 17, 10, .91) 0%, rgba(0, 20, 12, .72) 34%, rgba(0, 19, 11, .18) 62%, rgba(0, 14, 8, .38) 100%),
    linear-gradient(0deg, rgba(1, 18, 10, .86), transparent 46%);
}
.page-section-reference .banner::after {
  z-index: -1;
  background: linear-gradient(180deg, rgba(1, 16, 9, .2), rgba(1, 18, 10, .02) 45%, #03150d 100%);
}
.page-section-reference .banner-inner {
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 2;
  width: min(100%, 1510px);
  margin: 0 auto;
  padding: clamp(138px, 12vw, 184px) clamp(34px, 11vw, 170px) clamp(32px, 4vw, 56px);
  align-items: flex-start;
  text-align: left;
}
.page-section-reference .banner-inner > * { max-width: 720px; }
.page-section-reference .banner-inner .page-title {
  position: relative;
  z-index: 2;
  margin: 0 0 4px;
  width: 100%;
  color: #ffd568;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(38px, 5.2vw, 68px);
  font-weight: 700;
  letter-spacing: .01em;
  line-height: 1.04;
  text-align: left;
  text-shadow: 0 3px 0 rgba(45, 23, 1, .65), 0 0 28px rgba(255, 192, 48, .28);
  text-transform: none;
}
.page-section-reference .banner .page-lead {
  margin: 0;
  color: var(--section-paper);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.3rem, 2.1vw, 2rem);
  font-weight: 600;
  line-height: 1.2;
  text-shadow: 0 2px 12px rgba(0, 0, 0, .78);
}

.page-section-reference .page-main {
  position: relative;
  padding: clamp(22px, 3.5vw, 48px) 0 clamp(32px, 4vw, 56px);
  isolation: isolate;
  background: transparent;
}
.page-section-reference .page-main::before {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(180deg, rgba(1, 18, 10, .18), rgba(1, 20, 11, .6));
}
.page-section-reference .content-with-sides {
  width: min(100%, 1510px);
  grid-template-columns: minmax(150px, 240px) minmax(0, 850px) minmax(150px, 240px);
  gap: clamp(18px, 2.6vw, 42px);
  align-items: start;
}
.page-section-reference .container.page-content {
  max-width: 980px;
  padding: clamp(22px, 3vw, 38px);
  border: 1px solid rgba(255, 221, 113, .66);
  border-radius: 20px;
  background: rgba(255, 249, 237, .95);
  box-shadow: 0 12px 30px rgba(0, 0, 0, .34), inset 0 1px rgba(255, 255, 255, .82);
}
.page-section-reference .page-main > .container.page-content {
  width: min(calc(100% - 32px), 980px);
  box-sizing: border-box;
  margin: 0 auto;
}
.page-section-reference .page-content,
.page-section-reference .page-content p,
.page-section-reference .page-content li { color: #183d2b; }
.page-section-reference .page-content h1,
.page-section-reference .page-content h2,
.page-section-reference .page-content h3 { color: #0b3c28; font-family: Georgia, 'Times New Roman', serif; text-transform: none; }
.page-section-reference .why-text p,
.page-section-reference .article-body p { line-height: 1.72; text-align: left; }

.page-section-reference .side-links { gap: 14px; }
.page-section-reference .side-links .side-link {
  box-sizing: border-box;
  width: 100%;
  min-height: 58px;
  padding: 12px 14px;
  border: 1px solid rgba(255, 221, 113, .9);
  border-radius: 16px;
  background:
    radial-gradient(circle at 13% 8%, rgba(255, 248, 185, .28), transparent 28%),
    linear-gradient(135deg, #145a3d, #082d20 66%, #041b13);
  color: #fff5ce;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(.95rem, 1.35vw, 1.1rem);
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  text-shadow: 0 1px rgba(0, 0, 0, .42);
  box-shadow: 0 5px 0 rgba(1, 17, 9, .98), 0 11px 20px rgba(0, 0, 0, .42), inset 0 1px rgba(255, 255, 255, .3);
  transition: transform 160ms ease, box-shadow 150ms ease, filter 160ms ease;
}
.page-section-reference .side-links .side-link:hover,
.page-section-reference .side-links .side-link:focus-visible { transform: translateY(-3px); filter: brightness(1.12); box-shadow: 0 8px 0 rgba(1, 17, 9, .98), 0 18px 27px rgba(0, 0, 0, .5), 0 0 22px rgba(247, 200, 69, .21); }
.page-section-reference .side-links .side-link:active { transform: translateY(3px); box-shadow: 0 1px 0 rgba(1, 17, 9, .98), 0 4px 8px rgba(0, 0, 0, .35), inset 0 3px 8px rgba(0, 0, 0, .38); }
.page-section-reference .side-links-left .side-link.active { background: linear-gradient(135deg, #c89a2f, #8d6416 70%, #69440b); color: #fffbe9; }
.page-section-reference .side-links-right .side-link.typewriter-link .typewriter-text { padding: 12px 14px; }
.page-section-reference .side-links-right-expandable .side-links-right-sub-wrap[hidden] { display: none; }
.page-section-reference .side-links-right-expandable .side-links-right-sub-wrap:not([hidden]) {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-top: 14px;
}
.page-section-reference .side-links-right-expandable .side-link.side-link-sub {
  color: #fff5ce !important;
  background: radial-gradient(circle at 13% 8%, rgba(255,248,185,.28), transparent 28%), linear-gradient(135deg, #145a3d, #082d20 66%, #041b13) !important;
  border-color: rgba(255,221,113,.9) !important;
  box-shadow: 0 5px 0 rgba(1,17,9,.98), 0 11px 20px rgba(0,0,0,.42), inset 0 1px rgba(255,255,255,.3) !important;
}
.page-section-reference .team-card,
.page-section-reference .review-card { border-color: rgba(161, 123, 37, .32); background: rgba(255, 253, 244, .9); }

/* The age selector continues the children's forest scene instead of opening a white strip. */
.page-kids .kids-age-buttons {
  padding: clamp(24px, 3vw, 42px) 20px;
  background:
    linear-gradient(90deg, rgba(1, 19, 10, .7), rgba(1, 19, 10, .34) 50%, rgba(1, 19, 10, .7)),
    var(--section-art) center top / cover fixed no-repeat !important;
  border-top: 1px solid rgba(255, 221, 113, .4);
  border-bottom: 1px solid rgba(255, 221, 113, .4);
}
.page-kids .kids-age-row { gap: clamp(13px, 1.25vw, 20px); }
.page-kids .kids-age-row .btn.btn-accent {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: min(250px, calc(100vw - 48px));
  min-height: 58px;
  padding: 10px 22px !important;
  border: 1px solid rgba(255, 221, 113, .9) !important;
  border-radius: 16px !important;
  background:
    radial-gradient(circle at 13% 8%, rgba(255, 248, 185, .28), transparent 28%),
    linear-gradient(135deg, #145a3d, #082d20 66%, #041b13) !important;
  color: #fff5ce !important;
  font-family: Georgia, 'Times New Roman', serif !important;
  font-size: clamp(1rem, 1.45vw, 1.18rem) !important;
  font-weight: 700;
  line-height: 1.2;
  text-transform: none;
  text-shadow: 0 1px rgba(0, 0, 0, .42);
  box-shadow: 0 5px 0 rgba(1, 17, 9, .98), 0 11px 20px rgba(0, 0, 0, .42), inset 0 1px rgba(255, 255, 255, .3) !important;
}
.page-kids .kids-age-row .btn.btn-accent:hover,
.page-kids .kids-age-row .btn.btn-accent:focus-visible {
  transform: translateY(-3px);
  filter: brightness(1.12);
  box-shadow: 0 8px 0 rgba(1, 17, 9, .98), 0 18px 27px rgba(0, 0, 0, .5), 0 0 22px rgba(247, 200, 69, .21) !important;
}
.page-kids .kids-age-row .btn.btn-accent:active {
  transform: translateY(3px);
  box-shadow: 0 1px 0 rgba(1, 17, 9, .98), 0 4px 8px rgba(0, 0, 0, .35), inset 0 3px 8px rgba(0, 0, 0, .38) !important;
}

@media (max-width: 1024px) {
  .page-section-reference .content-with-sides { grid-template-columns: 1fr; }
  .page-section-reference .side-links { flex-direction: row; flex-wrap: wrap; }
  .page-section-reference .side-links .side-link { flex: 1 1 210px; }
}
@media (max-width: 760px) {
  .page-section-reference .banner { min-height: 390px; background-position: 61% center !important; }
  .page-section-reference .banner-inner { padding: 185px 22px 35px; }
  .page-section-reference .banner-inner .page-title { width: 100%; font-size: clamp(2rem, 7vw, 3rem); }
  .page-section-reference .banner .page-lead { width: 100%; max-width: 330px; font-size: 1.2rem; }
  .page-section-reference .content-with-sides { padding: 0 16px; }
  .page-section-reference .container.page-content { padding: 22px 18px; border-radius: 16px; }
  .page-section-reference .side-links { flex-direction: column; }
  .page-section-reference .side-links .side-link { flex-basis: auto; }
}
