﻿:root {
  --text: #060607;
  --muted: #3f434f;
  --surface: #ffffff;
  --bg-main: #f6fff8;
  --bg-warm: #ecfaef;
  --bg-soft-orange: #dff6e5;
  --bg-soft-blue: #e8f7ee;
  --bg-soft-green: #e9fceb;
  --bg-soft-pink: #e5f6ea;
  --tone-yellow: #d9ee74;
  --tone-yellow-dark: #97b62c;
  --tone-blue: #85d7b0;
  --tone-blue-dark: #2f8a64;
  --tone-green: #67cf8f;
  --tone-green-dark: #2f8a64;
  --tone-orange: #b1df84;
  --tone-orange-dark: #5d9933;
  --radius: 32px;
  --radius-md: 20px;
  --container: 1150px;
  --header-height: 86px;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  color: var(--text);
  background: linear-gradient(180deg, var(--bg-soft-orange) 0%, var(--bg-main) 15%, var(--bg-main) 100%);
  font-family: "Montserrat", "Segoe UI", sans-serif;
  line-height: 1.5;
  text-wrap: pretty;
  overflow-x: hidden;
}

body.menu-lock {
  overflow: hidden;
}

body.is-loading .site-main {
  opacity: 0;
  transform: translateY(12px);
}

body.is-ready .site-main {
  opacity: 1;
  transform: translateY(0);
}

.site-main,
.site-footer {
  overflow-x: clip;
}

a,
p,
h1,
h2,
h3,
h4,
h5,
h6,
li,
summary {
  overflow-wrap: break-word;
  word-break: normal;
}

a {
  color: inherit;
  text-decoration: none;
}

:where(a, button, summary, [role="button"], input, textarea, select):focus-visible {
  outline: 3px solid #3a9f6d;
  outline-offset: 3px;
  border-radius: 10px;
}

img {
  display: block;
  width: 100%;
  height: auto;
}

.ambient-layer {
  position: fixed;
  inset: 0;
  z-index: -1;
  overflow: hidden;
  pointer-events: none;
}

.ambient-layer::before,
.ambient-layer::after {
  content: "";
  position: absolute;
  border-radius: 999px;
  filter: blur(2px);
  opacity: 0.55;
}

.ambient-layer::before {
  top: -180px;
  left: -120px;
  width: 480px;
  height: 480px;
  background: radial-gradient(circle at 40% 45%, #7dd4a3 0%, #daf7e4 60%, transparent 100%);
  animation: blob-drift 20s ease-in-out infinite;
}

.ambient-layer::after {
  right: -140px;
  bottom: -180px;
  width: 560px;
  height: 560px;
  background: radial-gradient(circle at 55% 45%, #bde88f 0%, #e8fbd0 55%, transparent 100%);
  animation: blob-drift 26s ease-in-out infinite reverse;
}

.container {
  width: min(var(--container), calc(100% - 32px));
  margin: 0 auto;
}

.site-main {
  animation: page-in 0.65s cubic-bezier(0.2, 0.8, 0.2, 1);
  transition: opacity 0.35s ease, transform 0.35s ease;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 40;
  --scroll-progress: 0%;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  background: rgba(245, 255, 248, 0.9);
  backdrop-filter: blur(10px);
  transition: background-color 0.24s ease, box-shadow 0.24s ease, border-color 0.24s ease;
}

.site-header .container {
  width: min(1360px, calc(100% - 24px));
}

.site-header::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: var(--scroll-progress);
  height: 3px;
  background: linear-gradient(90deg, #66c98c 0%, #7fd5aa 50%, #9de078 100%);
  opacity: 0.7;
  pointer-events: none;
}

.site-header.is-scrolled {
  border-bottom-color: rgba(15, 23, 42, 0.1);
  background: rgba(245, 255, 248, 0.96);
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
}

.menu-backdrop {
  display: none;
}

.header-inner {
  position: relative;
  display: flex;
  align-items: center;
  gap: 18px;
  min-height: var(--header-height);
}

.logo {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  min-width: 220px;
}

.logo-mark {
  width: 56px;
  height: 56px;
  padding: 0;
  border-radius: 999px;
  overflow: hidden;
  border: 0;
  background: transparent;
  flex-shrink: 0;
}

.logo-mark img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: scale(1.12);
}

.logo-text {
  display: inline-flex;
  flex-direction: column;
  line-height: 1.05;
}

.logo-text strong {
  font-family: "Chiron GoRound TC", "Trebuchet MS", sans-serif;
  font-size: 1.28rem;
  font-weight: 700;
}

.logo-text small {
  color: #6b7280;
  font-size: 0.84rem;
  font-weight: 600;
}

.header-nav-wrap {
  flex: 1;
  min-width: 0;
}

.site-nav {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.menu-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 0;
}

.menu-row--2 {
  margin-top: 2px;
}

.menu-link,
.menu-drop-toggle {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 38px;
  padding: 8px 14px;
  border-radius: 14px;
  border: 1px solid transparent;
  background: transparent;
  color: #0f172a;
  font-size: 0.96rem;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
  white-space: normal;
  overflow-wrap: anywhere;
  transition: all 0.22s ease;
}

.menu-link span,
.menu-drop-toggle span {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.menu-link span:first-child,
.menu-drop-toggle span:first-child {
  flex: 1 1 auto;
  min-width: 0;
}

.menu-drop-toggle .menu-caret {
  flex: 0 0 auto;
  align-self: center;
}

.menu-link:hover,
.menu-drop-toggle:hover {
  border-color: #d6f1df;
  background: rgba(103, 207, 143, 0.1);
  transform: translateY(-1px);
}

.menu-link:active,
.menu-drop-toggle:active {
  transform: translateY(0);
}

.menu-link.is-active,
.menu-dropdown.is-active > .menu-drop-toggle {
  border-color: #b2e4c7;
  background: rgba(103, 207, 143, 0.14);
}

.menu-dropdown {
  position: relative;
  flex: 0 0 auto;
  min-width: 0;
  max-width: 100%;
}

.menu-dropdown > summary {
  list-style: none;
  cursor: pointer;
}

.menu-dropdown > summary::-webkit-details-marker {
  display: none;
}

.menu-caret {
  font-size: 0.86rem;
  line-height: 1;
  flex-shrink: 0;
  transition: transform 0.2s ease;
}

.menu-dropdown[open] .menu-caret {
  transform: rotate(180deg);
}

.menu-drop-panel {
  position: absolute;
  left: 0;
  top: calc(100% + 8px);
  z-index: 45;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 2px;
  min-width: 360px;
  max-width: min(760px, calc(100vw - 30px));
  padding: 10px;
  border: 1px solid #dbe5dd;
  border-radius: 14px;
  background: #f6f8f6;
  box-shadow: 0 18px 38px rgba(15, 23, 42, 0.14);
  opacity: 0;
  pointer-events: none;
  transform: translateY(8px);
  overflow-x: hidden;
  transition: opacity 0.22s ease, transform 0.22s ease;
}

.site-nav details,
.menu-dropdown,
.menu-drop-panel,
.menu-link,
.menu-drop-toggle,
.menu-drop-link {
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
  hyphens: auto;
}

.menu-dropdown[open] .menu-drop-panel {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.menu-dropdown--wide .menu-drop-panel {
  min-width: min(860px, calc(100vw - 36px));
}

.menu-row--2 .menu-dropdown--wide .menu-drop-panel {
  left: 50%;
  transform: translate(-50%, 8px);
}

.menu-row--2 .menu-dropdown--wide[open] .menu-drop-panel {
  transform: translate(-50%, 0);
}

.menu-drop-link {
  display: block;
  padding: 11px 12px;
  border-radius: 10px;
  color: #1f2937;
  font-size: 0.98rem;
  font-weight: 500;
  line-height: 1.3;
  white-space: normal;
  overflow-wrap: anywhere;
  transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.menu-drop-link:hover,
.menu-drop-link.is-active {
  background: #e8f8ed;
  color: #0f5132;
  transform: translateX(3px);
}

.header-controls {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.header-phone {
  padding: 11px 14px;
  border-radius: 14px;
  border: 2px solid var(--tone-green);
  background: #fff;
  font-size: 0.88rem;
  font-weight: 700;
  white-space: nowrap;
}

.menu-cta {
  white-space: nowrap;
}

.site-header.is-menu-tight .header-phone {
  display: none;
}

.site-header.is-menu-tight.is-menu-tight-cta .menu-cta {
  display: none;
}

.menu-toggle {
  display: none;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 5px;
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 12px;
  background: #f1fbf4;
  cursor: pointer;
  padding: 0;
}

.menu-toggle span {
  display: block;
  width: 20px;
  height: 2px;
  border-radius: 1px;
  background: #111827;
  transition: transform 0.24s ease, opacity 0.24s ease;
}

.mobile-dock {
  display: none;
}

.site-header.is-menu-open .menu-toggle span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

.site-header.is-menu-open .menu-toggle span:nth-child(2) {
  opacity: 0;
}

.site-header.is-menu-open .menu-toggle span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

.section {
  padding: 70px 0;
}

.hero {
  padding-top: 52px;
  background: linear-gradient(180deg, var(--bg-soft-orange) 0%, var(--bg-warm) 100%);
}

.hero-grid,
.page-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.03fr) minmax(0, 0.97fr);
  gap: 36px;
  align-items: center;
}

.hero-badge,
.eyebrow {
  display: inline-flex;
  margin: 0 0 14px;
  padding: 8px 14px;
  border: 2px solid var(--tone-orange);
  border-radius: 999px;
  background: #fff;
  font-size: 0.93rem;
  font-weight: 600;
}

.hero-title,
.page-title {
  margin: 0;
  font-family: "Chiron GoRound TC", "Trebuchet MS", sans-serif;
  font-size: clamp(2.2rem, 5vw, 4.45rem);
  font-weight: 700;
  line-height: 1.02;
}

.hero-subtitle {
  margin: 18px 0 10px;
  font-size: clamp(1.05rem, 2.2vw, 1.32rem);
  font-weight: 600;
}

.hero-text,
.page-subtitle {
  margin: 0 0 24px;
  color: var(--muted);
}

.hero-title,
.page-title,
.hero-subtitle,
.hero-text,
.page-subtitle,
.section-title,
.section-subtitle,
.card-title,
.card-text,
.card-meta,
.card-price,
.card-note,
.team-name,
.team-role,
.team-details,
.org-section-title,
.org-text,
.org-doc-card h4,
.org-doc-card p,
.org-person-name,
.org-person-role,
.org-person-details {
  overflow-wrap: anywhere;
  word-break: break-word;
}

.page-subtitle {
  max-width: 650px;
  margin-bottom: 0;
}

.frame,
.card,
.group-card,
.visit-panel {
  border-radius: var(--radius);
  border: 3px solid transparent;
  background: var(--surface);
  box-shadow: 0 10px 28px rgba(17, 24, 39, 0.08);
}

.hero-media,
.page-hero-media {
  display: grid;
  overflow: hidden;
  animation: hero-float 9s ease-in-out infinite;
}

.group-card-media,
.teaser-media {
  display: grid;
  overflow: hidden;
}

.hero-media img,
.page-hero-media img,
.group-card-media img,
.teaser-media img {
  width: 100%;
  height: 100%;
  min-height: 100%;
  justify-self: stretch;
  align-self: stretch;
  object-fit: cover;
  transition: transform 0.7s ease;
}

.hero-media:hover img,
.page-hero-media:hover img,
.group-card:hover .group-card-media img,
.teaser-media:hover img {
  transform: scale(1.04);
}

/* Remove visible white edges near photos on requested pages */
body[data-page="home"] .hero-media,
body[data-page="home"] .group-card-media,
body[data-page="home"] .teaser-media,
body[data-page="struktura_i_organy_upravleniya"] .page-hero-media,
body[data-page="dokumenty"] .page-hero-media,
body[data-page="pedagogicheskiy_sostav"] .page-hero-media {
  background: transparent;
}

body[data-page="home"] .hero-media img,
body[data-page="home"] .group-card-media img,
body[data-page="home"] .teaser-media img,
body[data-page="struktura_i_organy_upravleniya"] .page-hero-media img,
body[data-page="dokumenty"] .page-hero-media img,
body[data-page="pedagogicheskiy_sostav"] .page-hero-media img {
  transform: scale(1.05);
  transform-origin: center;
}

body[data-page="home"] .hero-media:hover img,
body[data-page="home"] .group-card:hover .group-card-media img,
body[data-page="home"] .teaser-media:hover img,
body[data-page="struktura_i_organy_upravleniya"] .page-hero-media:hover img,
body[data-page="dokumenty"] .page-hero-media:hover img,
body[data-page="pedagogicheskiy_sostav"] .page-hero-media:hover img {
  transform: scale(1.09);
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  padding: 10px 22px;
  border-radius: 999px;
  border: 0;
  font-size: 0.98rem;
  font-weight: 700;
  transition: transform 0.24s ease, box-shadow 0.24s ease, background-color 0.24s ease;
}

.btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.14);
}

.btn--small {
  min-height: 42px;
  padding: 8px 18px;
  font-size: 0.9rem;
}

.btn--yellow {
  background: var(--tone-yellow);
  color: #18181b;
}

.btn--yellow:hover {
  background: #ead03d;
}

.btn--green {
  background: var(--tone-green);
  color: #10361e;
}

.btn--green:hover {
  background: #6de496;
}

.btn--orange {
  background: var(--tone-orange);
  color: #2d1f0e;
}

.btn--orange:hover {
  background: #f6a85a;
}

.section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 24px;
}

.section-title {
  margin: 0 0 24px;
  text-align: center;
  font-family: "Chiron GoRound TC", "Trebuchet MS", sans-serif;
  font-size: clamp(2rem, 4vw, 2.52rem);
  line-height: 1.14;
}

.section-title--left {
  text-align: left;
  margin-bottom: 0;
}

.section-subtitle {
  margin: 0;
  color: var(--muted);
}

.section-subtitle--left {
  max-width: 760px;
}

.cards-grid {
  display: grid;
  gap: 22px;
}

.cards-grid > *,
.team-grid > *,
.org-docs-grid > *,
.org-people-grid > *,
.org-cards-grid > *,
.footer-columns > *,
.hero-grid > *,
.page-hero-grid > *,
.teaser-grid > *,
.group-card > *,
.org-teaser > * {
  min-width: 0;
}

.cards-grid--1 {
  grid-template-columns: minmax(0, 1fr);
}

.cards-grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cards-grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cards-grid--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.card {
  position: relative;
  padding: 24px;
  overflow: hidden;
  transition: transform 0.28s ease, box-shadow 0.28s ease;
}

.card:hover,
.group-card:hover,
.visit-panel:hover {
  transform: translateY(-7px);
  box-shadow: 0 18px 38px rgba(17, 24, 39, 0.15);
}

.card::before,
.group-card::before,
.visit-panel::before,
.team-card::before {
  content: "";
  position: absolute;
  width: 180px;
  height: 180px;
  right: -82px;
  top: -82px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 72%);
  opacity: 0.35;
  pointer-events: none;
  transition: transform 0.36s ease, opacity 0.36s ease;
}

.card:hover::before,
.group-card:hover::before,
.visit-panel:hover::before,
.team-card:hover::before {
  opacity: 0.65;
  transform: translate(-10px, 10px);
}

.card-icon {
  margin: 0 0 10px;
  font-size: 1.68rem;
  line-height: 1;
}

.card-title {
  margin: 0 0 8px;
  font-family: "Chiron GoRound TC", "Trebuchet MS", sans-serif;
  font-size: 1.32rem;
  line-height: 1.24;
}

.card-text {
  margin: 0;
  color: var(--muted);
}

.card-meta {
  margin: 0 0 10px;
  font-size: 0.95rem;
  font-weight: 600;
  color: #1f2937;
}

.card-price {
  margin: 13px 0 0;
  font-weight: 700;
}

.card-note {
  margin: 6px 0 0;
  color: #374151;
  font-size: 0.9rem;
}

.card-link {
  color: #0f172a;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.group-card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  overflow: hidden;
  transition: transform 0.28s ease, box-shadow 0.28s ease;
}

.group-card--full {
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
}

.group-card-media {
  overflow: hidden;
  border-width: 0 0 3px;
  border-radius: calc(var(--radius) - 2px) calc(var(--radius) - 2px) 0 0;
  min-height: 280px;
}

.group-card--full .group-card-media {
  border-width: 0 3px 0 0;
  border-radius: calc(var(--radius) - 2px) 0 0 calc(var(--radius) - 2px);
  min-height: 100%;
}

.group-card-content {
  padding: 24px;
}

.group-detail-content {
  display: grid;
  gap: 14px;
  align-content: start;
}

.group-facts-wrap {
  display: grid;
  gap: 10px;
}

.group-facts-title {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  color: #1f2937;
}

.group-facts-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid #dbe7df;
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
}

.group-facts-table th,
.group-facts-table td {
  padding: 10px 12px;
  text-align: left;
  vertical-align: top;
}

.group-facts-table th {
  width: 34%;
  border-right: 1px solid #e2ede5;
  background: #f4faf6;
  color: #475569;
  font-size: 0.9rem;
  font-weight: 700;
}

.group-facts-table td {
  background: #fff;
  color: #0f172a;
  font-size: 0.96rem;
  font-weight: 600;
}

.group-facts-table tr + tr th,
.group-facts-table tr + tr td {
  border-top: 1px solid #e7efe8;
}

.group-detail-text {
  display: grid;
  gap: 10px;
}

.group-detail-text .card-text {
  margin: 0;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid #e5eee7;
  background: #f8fcf9;
  line-height: 1.58;
}

.group-details-panel {
  padding: 14px;
  border-radius: 14px;
  border: 1px solid #dbeade;
  background: linear-gradient(180deg, #f5fbf7 0%, #edf8f1 100%);
}

.group-details-title {
  margin: 0 0 10px;
  font-size: 1rem;
  font-weight: 700;
  color: #1f2937;
}

.group-details-list {
  margin: 0;
  padding-left: 1.1rem;
  display: grid;
  gap: 8px;
  color: #334155;
}

.group-details-list li {
  line-height: 1.45;
}

.group-detail-card {
  box-shadow: 0 16px 34px rgba(15, 23, 42, 0.12);
}

body[data-page="gruppa_kratkovremennogo_prebyvaniya"] .page-hero {
  background: linear-gradient(180deg, #e6f7ec 0%, #f1fbf4 100%);
}

body[data-page="gruppa_kratkovremennogo_prebyvaniya"] .page-hero-grid {
  gap: clamp(22px, 4vw, 54px);
}

body[data-page="gruppa_kratkovremennogo_prebyvaniya"] .page-hero-copy {
  display: block;
}

body[data-page="gruppa_kratkovremennogo_prebyvaniya"] .page-title {
  letter-spacing: 0;
  text-wrap: balance;
}

body[data-page="gruppa_kratkovremennogo_prebyvaniya"] .group-detail-section {
  background: linear-gradient(180deg, #edf9f1 0%, #e5f5ea 100%);
}

body[data-page="gruppa_kratkovremennogo_prebyvaniya"] .group-detail-card {
  border-width: 2px;
  border-radius: calc(var(--radius) + 2px);
}

body[data-page="gruppa_kratkovremennogo_prebyvaniya"] .group-detail-card .group-card-media {
  border-right-width: 2px;
  border-radius: calc(var(--radius) + 1px) 0 0 calc(var(--radius) + 1px);
}

body[data-page="gruppa_kratkovremennogo_prebyvaniya"] .story-panel {
  border-width: 2px;
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.1);
}

.program-card .card-title {
  min-height: 58px;
}

.section .program-card {
  max-width: 760px;
  margin: 0 auto;
}

.teaser-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: 24px;
  align-items: center;
}

.teaser-media {
  overflow: hidden;
}

.teaser-copy .section-title {
  margin-bottom: 14px;
}

.sunday-lead {
  margin: 0 0 28px;
  padding: 20px;
  border-radius: var(--radius-md);
  border: 2px solid var(--tone-blue);
  background: #ffffffd9;
  font-size: 1.02rem;
  font-weight: 500;
}

.cta-row {
  display: flex;
  justify-content: center;
  margin-top: 28px;
}

.visit-panel {
  margin-top: 28px;
  position: relative;
  padding: 28px;
  overflow: hidden;
}

.visit-panel h3 {
  margin: 0 0 8px;
  font-family: "Chiron GoRound TC", "Trebuchet MS", sans-serif;
  font-size: 1.55rem;
}

.visit-panel p {
  margin: 0 0 16px;
  color: var(--muted);
}

.story-panel h3 {
  margin: 0 0 14px;
}

.story-list {
  display: grid;
  gap: 10px;
}

.story-list p {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid #e2efe6;
  background: rgba(255, 255, 255, 0.68);
  overflow-wrap: anywhere;
  word-break: break-word;
}

.page-extra {
  background:
    radial-gradient(680px 260px at 8% 0%, rgba(152, 213, 179, 0.16), transparent 70%),
    radial-gradient(620px 240px at 96% 100%, rgba(140, 196, 228, 0.14), transparent 74%),
    linear-gradient(180deg, #eff9f3 0%, #e9f6ee 100%);
}

.page-extra-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.page-extra-card {
  min-width: 0;
  display: grid;
  gap: 12px;
  padding: 22px;
  border-width: 2px;
  border-radius: calc(var(--radius) - 2px);
  background: linear-gradient(160deg, rgba(255, 255, 255, 0.98) 0%, rgba(247, 252, 249, 0.95) 100%);
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.09);
}

.page-extra-card--intro {
  grid-column: 1 / -1;
}

.page-extra-head {
  display: grid;
  gap: 6px;
}

.page-extra-kicker {
  margin: 0;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #5f6e67;
}

.page-extra-title {
  margin: 0;
  font-size: 1.18rem;
  line-height: 1.3;
  color: #0f172a;
}

.page-extra-text {
  margin: 0;
  line-height: 1.58;
  color: #334155;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.page-extra-text--soft {
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid #dcebe1;
  background: #f8fcf9;
}

.page-extra-facts {
  display: grid;
  gap: 10px;
}

.page-extra-fact {
  min-width: 0;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid #dcebe1;
  background: #f8fcf9;
}

.page-extra-fact-label {
  margin: 0 0 4px;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #5f6e67;
}

.page-extra-fact-value {
  margin: 0;
  color: #0f172a;
  font-weight: 600;
  line-height: 1.45;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.page-extra-list {
  margin: 0;
  padding-left: 1.1rem;
  display: grid;
  gap: 8px;
}

.page-extra-list li {
  color: #334155;
  line-height: 1.5;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.page-extra-contacts {
  display: grid;
  gap: 8px;
}

.page-extra-contacts p {
  margin: 0;
  color: #334155;
  line-height: 1.5;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.page-extra-contacts a {
  color: #0f172a;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.page-extra-cta {
  width: fit-content;
}

.page-extra-card--facts {
  border-color: #9fd8b3;
}

.page-extra-card--notes {
  border-color: #d7cb87;
}

.page-extra-card--contacts {
  border-color: #e2be8c;
}

body[data-page]:not([data-page="home"]) .page-extra-card--intro {
  border-color: var(--manual-accent, #8acaa2);
}

body[data-page]:not([data-page="home"]) .page-extra-kicker {
  color: var(--manual-accent, #5f6e67);
}

.page-extra--variant-group .page-extra-grid,
.page-extra--variant-program-soft .page-extra-grid,
.page-extra--variant-program-logic .page-extra-grid,
.page-extra--variant-team .page-extra-grid,
.page-extra--variant-sunday .page-extra-grid,
.page-extra--variant-org .page-extra-grid,
.page-extra--variant-org-structure .page-extra-grid,
.page-extra--variant-org-docs .page-extra-grid,
.page-extra--variant-org-edu .page-extra-grid,
.page-extra--variant-org-people .page-extra-grid,
.page-extra--variant-org-infra .page-extra-grid,
.page-extra--variant-org-money .page-extra-grid,
.page-extra--variant-org-vacancy .page-extra-grid,
.page-extra--variant-org-support .page-extra-grid,
.page-extra--variant-org-global .page-extra-grid,
.page-extra--variant-org-food .page-extra-grid,
.page-extra--variant-org-standards .page-extra-grid {
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

.page-extra--variant-group .page-extra-card--facts {
  grid-column: span 7;
}

.page-extra--variant-group .page-extra-card--notes {
  grid-column: span 5;
}

.page-extra--variant-group .page-extra-card--contacts {
  grid-column: 1 / -1;
}

.page-extra--variant-program-soft .page-extra-card--facts,
.page-extra--variant-program-soft .page-extra-card--notes {
  grid-column: span 6;
}

.page-extra--variant-program-soft .page-extra-card--contacts {
  grid-column: 1 / -1;
}

.page-extra--variant-program-logic .page-extra-card--intro {
  grid-column: span 7;
}

.page-extra--variant-program-logic .page-extra-card--notes {
  grid-column: span 5;
}

.page-extra--variant-program-logic .page-extra-card--facts,
.page-extra--variant-program-logic .page-extra-card--contacts {
  grid-column: span 6;
}

.page-extra--variant-team .page-extra-card--intro {
  grid-column: span 8;
}

.page-extra--variant-team .page-extra-card--notes {
  grid-column: span 4;
}

.page-extra--variant-team .page-extra-card--facts,
.page-extra--variant-team .page-extra-card--contacts {
  grid-column: span 6;
}

.page-extra--variant-sunday .page-extra-card--notes {
  grid-column: span 7;
}

.page-extra--variant-sunday .page-extra-card--contacts {
  grid-column: span 5;
}

.page-extra--variant-sunday .page-extra-card--facts {
  grid-column: 1 / -1;
}

.page-extra--variant-org .page-extra-card--facts,
.page-extra--variant-org-edu .page-extra-card--facts,
.page-extra--variant-org-standards .page-extra-card--facts {
  grid-column: span 8;
}

.page-extra--variant-org .page-extra-card--notes,
.page-extra--variant-org-edu .page-extra-card--notes,
.page-extra--variant-org-standards .page-extra-card--notes {
  grid-column: span 4;
}

.page-extra--variant-org .page-extra-card--contacts,
.page-extra--variant-org-edu .page-extra-card--contacts,
.page-extra--variant-org-standards .page-extra-card--contacts {
  grid-column: 1 / -1;
}

.page-extra--variant-org-structure .page-extra-card--facts,
.page-extra--variant-org-vacancy .page-extra-card--facts {
  grid-column: span 5;
}

.page-extra--variant-org-structure .page-extra-card--notes,
.page-extra--variant-org-vacancy .page-extra-card--notes {
  grid-column: span 7;
}

.page-extra--variant-org-structure .page-extra-card--contacts,
.page-extra--variant-org-vacancy .page-extra-card--contacts {
  grid-column: 1 / -1;
}

.page-extra--variant-org-docs .page-extra-card--notes,
.page-extra--variant-org-global .page-extra-card--notes {
  grid-column: span 8;
}

.page-extra--variant-org-docs .page-extra-card--facts,
.page-extra--variant-org-global .page-extra-card--facts {
  grid-column: span 4;
}

.page-extra--variant-org-docs .page-extra-card--contacts,
.page-extra--variant-org-global .page-extra-card--contacts {
  grid-column: 1 / -1;
}

.page-extra--variant-org-people .page-extra-card--notes,
.page-extra--variant-org-people .page-extra-card--facts,
.page-extra--variant-org-infra .page-extra-card--notes,
.page-extra--variant-org-infra .page-extra-card--facts,
.page-extra--variant-org-food .page-extra-card--notes,
.page-extra--variant-org-food .page-extra-card--facts,
.page-extra--variant-org-money .page-extra-card--facts,
.page-extra--variant-org-money .page-extra-card--contacts,
.page-extra--variant-org-support .page-extra-card--notes,
.page-extra--variant-org-support .page-extra-card--contacts {
  grid-column: span 6;
}

.page-extra--variant-org-people .page-extra-card--contacts,
.page-extra--variant-org-infra .page-extra-card--contacts,
.page-extra--variant-org-food .page-extra-card--contacts,
.page-extra--variant-org-money .page-extra-card--notes,
.page-extra--variant-org-support .page-extra-card--facts {
  grid-column: 1 / -1;
}

body[data-page="gruppa_kratkovremennogo_prebyvaniya"] .page-extra,
body[data-page="gruppa_polnogo_prebyvaniya"] .page-extra {
  background: linear-gradient(180deg, #eaf8ef 0%, #e3f4e9 100%);
}

body[data-page="mama_i_malysh"] .page-extra {
  background: linear-gradient(180deg, #fef4e7 0%, #f8ecda 100%);
}

body[data-page="razvivay-ka"] .page-extra {
  background: linear-gradient(180deg, #eef9ef 0%, #e7f4e9 100%);
}

body[data-page="kollektiv"] .page-extra {
  background: linear-gradient(180deg, #eef9f3 0%, #e6f4ed 100%);
}

body[data-page="voskresnyy_klub"] .page-extra {
  background: linear-gradient(180deg, #f3f8ea 0%, #edf4e1 100%);
}

body[data-page^="osnovnye_"] .page-extra,
body[data-page="struktura_i_organy_upravleniya"] .page-extra,
body[data-page="dokumenty"] .page-extra,
body[data-page="obrazovanie"] .page-extra,
body[data-page="rukovodstvo"] .page-extra,
body[data-page="pedagogicheskiy_sostav"] .page-extra,
body[data-page="materialno-tehnicheskoe_obespechenie_i_osnashchennost_obrazovatelnogo_processa_dostupnaya_sreda"] .page-extra,
body[data-page="platnye_obrazovatelnye_uslugi"] .page-extra,
body[data-page="finansovo-hozyaystvennaya_deyatelnost"] .page-extra,
body[data-page="vakantnye_mesta_dlya_priema_perevoda"] .page-extra,
body[data-page="stipendii_i_inye_mery_materialnoy_podderzhki"] .page-extra,
body[data-page="mezhdunarodnoe_sotrudnichestvo"] .page-extra,
body[data-page="organizaciya_pitaniya"] .page-extra,
body[data-page="obrazovatelnye_standarty_i_trebovaniya"] .page-extra {
  background: linear-gradient(180deg, #eef6fb 0%, #e8f2f8 100%);
}

.org-teaser {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 26px;
  border-radius: var(--radius);
  border: 3px solid var(--tone-orange);
  background: #ffffffdc;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
}

.org-teaser-copy .section-title {
  margin-bottom: 10px;
}

.org-anchor-zone {
  position: sticky;
  top: var(--header-height);
  z-index: 25;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.95) 0%, rgba(255, 255, 255, 0.9) 100%);
  border-top: 1px solid rgba(0, 0, 0, 0.04);
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  backdrop-filter: blur(10px);
}

.org-anchor-nav {
  display: flex;
  gap: 10px;
  align-items: center;
  overflow-x: auto;
  padding: 12px 0;
  scrollbar-width: thin;
}

.org-anchor-nav::-webkit-scrollbar {
  height: 8px;
}

.org-anchor-nav::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 999px;
}

.org-anchor-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 14px;
  border-radius: 999px;
  border: 2px solid #dbeafe;
  background: #fff;
  font-size: 0.86rem;
  font-weight: 600;
  color: #0f172a;
  white-space: nowrap;
  transition: all 0.2s ease;
}

.org-anchor-link:hover {
  border-color: var(--tone-blue);
  background: #eff6ff;
}

.org-anchor-link.is-current {
  border-color: #8fd3a9;
  background: #e9f9ef;
  color: #0f5132;
}

.org-sections-wrap {
  display: grid;
  gap: 18px;
}

.org-section {
  padding: 24px;
  border-radius: var(--radius);
  border: 3px solid var(--tone-blue);
  background: #ffffffea;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
  scroll-margin-top: calc(var(--header-height) + 76px);
}

.org-section-title {
  margin: 0 0 16px;
  font-family: "Chiron GoRound TC", "Trebuchet MS", sans-serif;
  font-size: clamp(1.32rem, 2.7vw, 1.86rem);
  line-height: 1.2;
}

.org-list {
  display: grid;
  gap: 10px;
  margin: 0;
  padding-left: 1.2rem;
  color: var(--muted);
}

.org-list li {
  line-height: 1.55;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.org-text {
  margin: 0;
  color: var(--muted);
}

.org-docs-grid,
.org-people-grid,
.org-cards-grid {
  display: grid;
  gap: 16px;
}

.org-docs-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.org-doc-card,
.org-person-card,
.org-fact-card {
  padding: 18px;
  border-radius: var(--radius-md);
  border: 2px solid transparent;
  background: #fff;
}

.org-doc-card h4,
.org-fact-card .card-title,
.org-person-name {
  margin: 0 0 8px;
  font-family: "Chiron GoRound TC", "Trebuchet MS", sans-serif;
  font-size: 1.14rem;
  line-height: 1.24;
}

.org-doc-card p,
.org-person-role,
.org-person-details {
  margin: 0 0 12px;
  color: var(--muted);
  overflow-wrap: anywhere;
  word-break: break-word;
}

.org-person-role {
  margin-bottom: 6px;
  font-weight: 700;
  color: #1f2937;
}

.org-person-details {
  margin-bottom: 0;
}

.org-person-photo-wrap {
  width: 100%;
  max-width: 240px;
  border-radius: 14px;
  overflow: hidden;
  margin: 0 0 12px;
  border: 2px solid #dff3e7;
}

.org-person-photo {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
}

.org-person-list {
  margin: 10px 0 0;
  padding-left: 1.1rem;
  color: var(--muted);
  display: grid;
  gap: 6px;
}

.org-person-list li {
  line-height: 1.4;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.org-people-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.org-cards-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.team-teaser {
  border-color: var(--tone-green);
}

.team-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.team-card {
  position: relative;
  padding: 20px;
  border-radius: var(--radius-md);
  border: 2px solid var(--tone-green);
  background: #ffffff;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.08);
  overflow: hidden;
}

.team-name {
  margin: 0 0 6px;
  font-family: "Chiron GoRound TC", "Trebuchet MS", sans-serif;
  font-size: 1.24rem;
  line-height: 1.2;
}

.team-role {
  margin: 0 0 8px;
  color: #176341;
  font-size: 0.94rem;
  font-weight: 700;
}

.team-details {
  margin: 0;
  color: var(--muted);
}

.team-photo-wrap {
  width: 100%;
  max-width: 220px;
  border-radius: 14px;
  overflow: hidden;
  margin: 0 0 12px;
  border: 2px solid #dff3e7;
}

.team-photo {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
}

.team-extra-list {
  margin: 10px 0 0;
  padding-left: 1.1rem;
  color: var(--muted);
  display: grid;
  gap: 6px;
}

.team-extra-list li {
  line-height: 1.4;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.section-gradient-1 {
  background: linear-gradient(180deg, var(--bg-warm) 0%, var(--bg-soft-green) 100%);
}

.section-gradient-2 {
  background: linear-gradient(180deg, var(--bg-soft-green) 0%, var(--bg-soft-blue) 100%);
}

.section-gradient-3 {
  background: linear-gradient(180deg, var(--bg-soft-blue) 0%, var(--bg-warm) 100%);
}

.section-gradient-4 {
  background: linear-gradient(180deg, var(--bg-warm) 0%, var(--bg-soft-pink) 100%);
}

body[data-page="home"] .site-main {
  background:
    radial-gradient(circle at 8% 10%, rgba(131, 212, 161, 0.2) 0%, rgba(131, 212, 161, 0) 36%),
    radial-gradient(circle at 92% 76%, rgba(244, 205, 130, 0.18) 0%, rgba(244, 205, 130, 0) 34%);
}

body[data-page="home"] .home-hero,
body[data-page="home"] .home-section {
  position: relative;
  overflow: clip;
}

body[data-page="home"] .home-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, rgba(17, 24, 39, 0) 0%, rgba(47, 138, 100, 0.2) 50%, rgba(17, 24, 39, 0) 100%);
  pointer-events: none;
}

body[data-page="home"] .home-hero {
  padding-top: clamp(38px, 5vw, 72px);
  padding-bottom: clamp(72px, 8vw, 104px);
  background: linear-gradient(170deg, #dcf4e3 0%, #ecf9ef 46%, #e8f8ed 100%);
}

body[data-page="home"] .hero-grid {
  gap: clamp(24px, 4.5vw, 72px);
}

body[data-page="home"] .hero-copy {
  max-width: 650px;
}

body[data-page="home"] .hero-title {
  letter-spacing: 0;
  text-wrap: balance;
}

body[data-page="home"] .hero-subtitle {
  margin-top: 20px;
  max-width: 34ch;
}

body[data-page="home"] .hero-text {
  max-width: 60ch;
  line-height: 1.62;
  margin-bottom: 30px;
}

body[data-page="home"] .hero-media {
  border-width: 4px;
  border-radius: calc(var(--radius) + 4px);
  min-height: clamp(320px, 40vw, 560px);
  box-shadow: 0 24px 44px rgba(15, 23, 42, 0.16);
}

body[data-page="home"] .home-section {
  padding: clamp(68px, 8vw, 98px) 0;
}

body[data-page="home"] .home-section .section-head {
  margin-bottom: 30px;
  align-items: flex-end;
}

body[data-page="home"] .home-section .section-title {
  text-wrap: balance;
}

body[data-page="home"] .home-section .cards-grid {
  gap: clamp(16px, 2.4vw, 28px);
}

body[data-page="home"] .card.home-card {
  height: 100%;
  display: flex;
  flex-direction: column;
  border-width: 2px;
  border-radius: calc(var(--radius) - 2px);
  background: linear-gradient(160deg, rgba(255, 255, 255, 0.98) 0%, rgba(249, 252, 250, 0.88) 100%);
  box-shadow: 0 14px 28px rgba(15, 23, 42, 0.1);
}

body[data-page="home"] .home-card .card-icon {
  width: 46px;
  height: 46px;
  margin: 0 0 12px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.68);
  box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.06);
}

body[data-page="home"] .home-card .card-title {
  margin-bottom: 10px;
  font-size: clamp(1.16rem, 1.5vw, 1.34rem);
}

body[data-page="home"] .home-card .card-text {
  line-height: 1.58;
}

body[data-page="home"] .home-card .card-price {
  margin-top: auto;
  padding-top: 14px;
}

body[data-page="home"] .home-card--contact .card-link {
  margin-top: auto;
  padding-top: 10px;
  font-size: 0.98rem;
  line-height: 1.45;
}

body[data-page="home"] .home-card:hover {
  transform: translateY(-8px) scale(1.005);
  box-shadow: 0 20px 38px rgba(15, 23, 42, 0.16);
}

body[data-page="home"] .group-card.home-card {
  height: 100%;
  grid-template-rows: auto 1fr;
}

body[data-page="home"] .group-card.home-card .group-card-media {
  min-height: 250px;
}

body[data-page="home"] .group-card.home-card .group-card-content {
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

body[data-page="home"] .group-card.home-card .card-price {
  margin-top: auto;
  padding-top: 14px;
}

body[data-page="home"] .group-card.home-card--group .group-card-media {
  min-height: 0;
  aspect-ratio: 5 / 4;
}

body[data-page="home"] .group-card.home-card--group .group-card-media img {
  height: 100%;
}

body[data-page="home"] .group-card.home-card--group .group-card-content {
  min-height: 250px;
}

body[data-page="home"] .group-card.home-card--group .card-price {
  margin-top: 14px;
  padding-top: 0;
}

body[data-page="home"] .home-card--program .card-title {
  min-height: 3.1em;
}

body[data-page="home"] .home-teaser-grid {
  gap: clamp(22px, 3vw, 36px);
  align-items: stretch;
}

body[data-page="home"] .home-teaser-grid .teaser-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

body[data-page="home"] .home-teaser-grid .section-subtitle {
  margin-bottom: 20px;
  max-width: 58ch;
}

body[data-page="home"] .home-section--team-teaser .org-teaser,
body[data-page="home"] .home-section--organization-teaser .org-teaser {
  padding: clamp(22px, 2.4vw, 30px);
  border-width: 2px;
  box-shadow: 0 16px 30px rgba(15, 23, 42, 0.09);
}

body[data-page="home"] .home-section--team-teaser .org-teaser {
  border-color: #8fd3a9;
}

body[data-page="home"] .home-section--organization-teaser .org-teaser {
  border-color: #acd890;
}

body[data-page-type]:not([data-page-type="home"]) .site-main {
  background:
    radial-gradient(circle at 12% 12%, rgba(133, 215, 176, 0.18) 0%, rgba(133, 215, 176, 0) 34%),
    radial-gradient(circle at 86% 84%, rgba(226, 238, 116, 0.16) 0%, rgba(226, 238, 116, 0) 30%);
}

body[data-page-type]:not([data-page-type="home"]) .page-hero {
  padding-top: clamp(34px, 4.5vw, 64px);
  padding-bottom: clamp(54px, 7vw, 92px);
  background: linear-gradient(170deg, #e8f8ee 0%, #f3fbf6 48%, #edf9f2 100%);
}

body[data-page-type]:not([data-page-type="home"]) .page-hero-grid {
  gap: clamp(22px, 3.5vw, 52px);
  align-items: center;
}

body[data-page-type]:not([data-page-type="home"]) .page-hero-copy {
  padding: clamp(16px, 2vw, 24px);
  border-radius: 24px;
  border: 1px solid rgba(111, 187, 143, 0.35);
  background: rgba(255, 255, 255, 0.8);
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.08);
}

body[data-page-type]:not([data-page-type="home"]) .page-title {
  letter-spacing: 0;
  text-wrap: balance;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: manual;
  font-size: clamp(2.1rem, 4vw, 3.25rem);
}

body[data-page-type]:not([data-page-type="home"]) .page-subtitle {
  margin-top: 12px;
  line-height: 1.64;
  max-width: 62ch;
}

body[data-page-type]:not([data-page-type="home"]) .page-hero-media {
  min-height: clamp(260px, 35vw, 520px);
  border-width: 3px;
  border-radius: calc(var(--radius) + 2px);
  box-shadow: 0 18px 36px rgba(15, 23, 42, 0.14);
}

body[data-page-type]:not([data-page-type="home"]) .section {
  padding: clamp(58px, 7vw, 90px) 0;
}

body[data-page-type]:not([data-page-type="home"]) .section .cards-grid {
  gap: clamp(14px, 2vw, 24px);
}

body[data-page-type]:not([data-page-type="home"]) .card,
body[data-page-type]:not([data-page-type="home"]) .group-card,
body[data-page-type]:not([data-page-type="home"]) .visit-panel,
body[data-page-type]:not([data-page-type="home"]) .org-section,
body[data-page-type]:not([data-page-type="home"]) .team-card,
body[data-page-type]:not([data-page-type="home"]) .org-doc-card,
body[data-page-type]:not([data-page-type="home"]) .org-person-card,
body[data-page-type]:not([data-page-type="home"]) .org-fact-card {
  border-width: 2px;
  background: linear-gradient(165deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 252, 250, 0.92) 100%);
  box-shadow: 0 14px 28px rgba(15, 23, 42, 0.1);
}

body[data-page-type]:not([data-page-type="home"]) .card-title,
body[data-page-type]:not([data-page-type="home"]) .org-section-title,
body[data-page-type]:not([data-page-type="home"]) .team-name {
  text-wrap: balance;
}

body[data-page-type]:not([data-page-type="home"]) .card-text,
body[data-page-type]:not([data-page-type="home"]) .org-text,
body[data-page-type]:not([data-page-type="home"]) .org-list li,
body[data-page-type]:not([data-page-type="home"]) .team-details,
body[data-page-type]:not([data-page-type="home"]) .page-subtitle {
  line-height: 1.6;
}

body[data-page-type="groups"] .group-card--full,
body[data-page-type="group-detail"] .group-card--full {
  border-radius: calc(var(--radius) + 2px);
}

body[data-page-type="groups"] .group-card-content,
body[data-page-type="group-detail"] .group-card-content {
  display: grid;
  gap: 10px;
  align-content: start;
}

body[data-page-type="programs"] .program-card,
body[data-page-type="program-detail"] .program-card {
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

body[data-page-type="programs"] .program-card .card-price,
body[data-page-type="program-detail"] .program-card .card-price {
  margin-top: auto;
}

body[data-page-type="program-detail"] .program-card .card-note {
  margin: 0;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid #deebe2;
  background: #f7fcf9;
}

body[data-page-type="program-detail"] .program-card .team-extra-list {
  margin: 0;
  padding: 12px 16px;
  border-radius: 12px;
  border: 1px solid #deebe2;
  background: #f7fcf9;
}

body[data-page-type="team"] .team-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

body[data-page-type="team"] .team-card {
  height: 100%;
  display: flex;
  flex-direction: column;
}

body[data-page-type="team"] .team-extra-list {
  margin-top: auto;
}

body[data-page-type="sunday"] .cards-grid .card {
  height: 100%;
}

body[data-page-type="organization"] .org-doc-card,
body[data-page-type="organization"] .org-person-card,
body[data-page-type="organization"] .org-fact-card,
body[data-page-type="organization-section"] .org-doc-card,
body[data-page-type="organization-section"] .org-person-card,
body[data-page-type="organization-section"] .org-fact-card {
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

body[data-page-type="organization"] .org-doc-card .btn,
body[data-page-type="organization-section"] .org-doc-card .btn {
  margin-top: auto;
  align-self: flex-start;
}

body[data-page-type="organization"] .org-anchor-zone,
body[data-page-type="organization-section"] .org-anchor-zone {
  top: calc(var(--header-height) - 2px);
}

body[data-page-type="organization"] .org-section,
body[data-page-type="organization-section"] .org-section {
  padding: clamp(18px, 2.2vw, 28px);
  scroll-margin-top: calc(var(--header-height) + 66px);
}

body[data-page-type="contacts"] .contact-card {
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

body[data-page-type="contacts"] .contact-card .card-link {
  margin-top: auto;
  font-weight: 600;
}

body[data-page-type]:not([data-page-type="home"]) .story-panel {
  margin-top: 0;
  border-width: 2px;
}

body[data-page-type]:not([data-page-type="home"]) .story-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

body[data-page-type]:not([data-page-type="home"]) .story-list p {
  height: 100%;
  background: rgba(255, 255, 255, 0.84);
}

.groups-page-card {
  overflow: hidden;
}

.groups-page-card .group-card-media {
  min-height: 320px;
}

.groups-page-card .group-card-content {
  padding: 26px 24px;
}

.groups-page-card .card-note {
  margin: 0;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid #deebe2;
  background: #f7fcf9;
}

.program-tile {
  position: relative;
  overflow: hidden;
}

.program-tile::after {
  content: "";
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 16px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(103, 207, 143, 0.15) 0%, rgba(103, 207, 143, 0.7) 100%);
}

.program-detail-card {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
  gap: 16px;
  align-items: start;
}

.program-detail-main {
  display: grid;
  gap: 10px;
}

.program-detail-side {
  display: grid;
  gap: 10px;
  padding: 14px;
  border-radius: 14px;
  border: 1px solid #dce9e1;
  background: #f7fcf9;
}

.program-detail-side .card-note {
  margin: 0;
}

.team-page .team-card {
  border-color: #a3debc;
}

.team-page .team-card .team-role {
  color: #1f6d49;
}

.team-page .team-card::before {
  width: 120px;
  height: 120px;
  top: -56px;
  right: -56px;
}

.sunday-page .cards-grid .sunday-card {
  min-height: 240px;
}

.sunday-page .sunday-card .card-text {
  line-height: 1.58;
}

.organization-page .org-fact-card {
  text-align: left;
}

.organization-page .org-fact-card .card-text {
  font-weight: 700;
  color: #0f172a;
}

.organization-section-page .org-section--single {
  border-style: solid;
}

.organization-section-page--dokumenty .org-doc-card {
  position: relative;
  padding-top: 22px;
}

.organization-section-page--dokumenty .org-doc-card::before {
  content: "DOC";
  position: absolute;
  top: 10px;
  right: 12px;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  color: #5b7f70;
}

.organization-section-page--rukovodstvo .org-people-grid,
.organization-section-page--pedagogicheskiy_sostav .org-people-grid {
  gap: 18px;
}

.organization-section-page--rukovodstvo .org-person-card,
.organization-section-page--pedagogicheskiy_sostav .org-person-card {
  padding: 20px;
}

.organization-section-page--platnye_obrazovatelnye_uslugi .org-cards-grid .card,
.organization-section-page--obrazovanie .org-cards-grid .card {
  min-height: 220px;
}

.organization-section-page--osnovnye_svedeniya .org-list,
.organization-section-page--struktura_i_organy_upravleniya .org-list,
.organization-section-page--materialno-tehnicheskoe_obespechenie_i_osnashchennost_obrazovatelnogo_processa_dostupnaya_sreda .org-list,
.organization-section-page--finansovo-hozyaystvennaya_deyatelnost .org-list,
.organization-section-page--vakantnye_mesta_dlya_priema_perevoda .org-list,
.organization-section-page--organizaciya_pitaniya .org-list,
.organization-section-page--obrazovatelnye_standarty_i_trebovaniya .org-list {
  padding-left: 0;
}

.organization-section-page--stipendii_i_inye_mery_materialnoy_podderzhki .org-text,
.organization-section-page--mezhdunarodnoe_sotrudnichestvo .org-text {
  padding: 16px 18px;
  border-radius: 14px;
  border: 1px solid #dce9e1;
  background: #f7fcf9;
}

.contacts-page .cards-grid .contact-card {
  min-height: 210px;
}

.contacts-page .contact-visit {
  margin-top: 24px;
  border-width: 2px;
}

@media (max-width: 1180px) {
  .program-detail-card {
    grid-template-columns: minmax(0, 1fr);
  }

  .program-detail-side {
    padding: 12px;
  }

  .page-extra .page-extra-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .page-extra .page-extra-card {
    grid-column: auto;
  }

  .page-extra .page-extra-card--intro {
    grid-column: auto;
  }

  .groups-page-card .group-card-media {
    min-height: 260px;
  }

  body[data-page-type="team"] .team-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-page-type]:not([data-page-type="home"]) .story-list {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 900px) {
  .groups-page-card .group-card-content {
    padding: 20px;
  }

  .page-extra-card {
    padding: 18px;
  }

  .page-extra-title {
    font-size: 1.06rem;
  }

  .program-tile::after {
    left: 12px;
    right: 12px;
    bottom: 12px;
  }

  body[data-page-type]:not([data-page-type="home"]) .page-hero-copy {
    padding: 14px 16px;
    background: rgba(255, 255, 255, 0.72);
    box-shadow: none;
  }

  body[data-page-type]:not([data-page-type="home"]) .page-hero-media {
    min-height: 220px;
  }
}

/* Manual page-by-page tuning for requested URLs */
body[data-page="gruppa_kratkovremennogo_prebyvaniya"] {
  --manual-accent: #7bcf99;
  --manual-soft: #e7f6ec;
}

body[data-page="gruppa_polnogo_prebyvaniya"] {
  --manual-accent: #74d0b2;
  --manual-soft: #e8f8f2;
}

body[data-page="dopolnitelnye_zanyatiya"] {
  --manual-accent: #8ed37f;
  --manual-soft: #edf9e8;
}

body[data-page="podgotovka_k_shkole"] {
  --manual-accent: #79c8ea;
  --manual-soft: #ecf7fc;
}

body[data-page="mama_i_malysh"] {
  --manual-accent: #e7bf78;
  --manual-soft: #fdf4e8;
}

body[data-page="razvivay-ka"] {
  --manual-accent: #8dcf93;
  --manual-soft: #edf8ef;
}

body[data-page="kollektiv"] {
  --manual-accent: #84cfac;
  --manual-soft: #ebf9f3;
}

body[data-page="voskresnyy_klub"] {
  --manual-accent: #9ac771;
  --manual-soft: #f0f7e8;
}

body[data-page="osnovnye_svedeniya"] {
  --manual-accent: #87c5e5;
  --manual-soft: #eaf5fc;
}

body[data-page="struktura_i_organy_upravleniya"] {
  --manual-accent: #79badb;
  --manual-soft: #e8f3fa;
}

body[data-page="dokumenty"] {
  --manual-accent: #7ab7d2;
  --manual-soft: #e9f4f9;
}

body[data-page="obrazovanie"] {
  --manual-accent: #88cfc2;
  --manual-soft: #eaf8f4;
}

body[data-page="rukovodstvo"] {
  --manual-accent: #76c99c;
  --manual-soft: #e9f7ef;
}

body[data-page="pedagogicheskiy_sostav"] {
  --manual-accent: #74c98f;
  --manual-soft: #e7f6ec;
}

body[data-page="materialno-tehnicheskoe_obespechenie_i_osnashchennost_obrazovatelnogo_processa_dostupnaya_sreda"] {
  --manual-accent: #7bc8b7;
  --manual-soft: #e8f8f4;
}

body[data-page="platnye_obrazovatelnye_uslugi"] {
  --manual-accent: #d5c168;
  --manual-soft: #faf5e6;
}

body[data-page="finansovo-hozyaystvennaya_deyatelnost"] {
  --manual-accent: #e1b56d;
  --manual-soft: #fdf3e8;
}

body[data-page="vakantnye_mesta_dlya_priema_perevoda"] {
  --manual-accent: #7ec0df;
  --manual-soft: #eaf6fb;
}

body[data-page="stipendii_i_inye_mery_materialnoy_podderzhki"] {
  --manual-accent: #89c9a0;
  --manual-soft: #ebf8ef;
}

body[data-page="mezhdunarodnoe_sotrudnichestvo"] {
  --manual-accent: #7cbfce;
  --manual-soft: #e9f6f8;
}

body[data-page="organizaciya_pitaniya"] {
  --manual-accent: #ddba73;
  --manual-soft: #fbf4e8;
}

body[data-page="obrazovatelnye_standarty_i_trebovaniya"] {
  --manual-accent: #8ab9da;
  --manual-soft: #ebf3fa;
}

body[data-page]:not([data-page="home"]) .page-hero {
  background: linear-gradient(168deg, var(--manual-soft, #e8f8ee) 0%, #f4fbf7 56%, #eef9f2 100%);
}

body[data-page]:not([data-page="home"]) .page-hero-media,
body[data-page]:not([data-page="home"]) .page-hero-copy {
  border-color: var(--manual-accent, #84cf9f);
}

body[data-page="gruppa_kratkovremennogo_prebyvaniya"] .group-detail-text,
body[data-page="gruppa_polnogo_prebyvaniya"] .group-detail-text {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body[data-page="gruppa_polnogo_prebyvaniya"] .group-facts-table th {
  width: 28%;
}

body[data-page="dopolnitelnye_zanyatiya"] .cards-grid--4 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body[data-page="dopolnitelnye_zanyatiya"] .programs-page--dopolnitelnye_zanyatiya .cards-grid--4 {
  gap: 18px;
}

body[data-page="dopolnitelnye_zanyatiya"] .program-tile--dopolnitelnye_zanyatiya {
  min-height: 100%;
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  gap: 12px;
  padding: 22px;
  border-width: 2px;
  border-radius: calc(var(--radius) - 2px);
  background: linear-gradient(162deg, rgba(255, 255, 255, 0.98) 0%, rgba(246, 252, 247, 0.94) 100%);
}

body[data-page="dopolnitelnye_zanyatiya"] .program-tile--dopolnitelnye_zanyatiya::after {
  display: none;
}

body[data-page="dopolnitelnye_zanyatiya"] .program-tile--showcase .program-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: start;
}

body[data-page="dopolnitelnye_zanyatiya"] .program-tile--showcase .program-head-copy {
  min-width: 0;
}

body[data-page="dopolnitelnye_zanyatiya"] .program-tile--showcase .card-icon {
  margin: 0;
  width: 40px;
  height: 40px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.8);
  box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.08);
}

body[data-page="dopolnitelnye_zanyatiya"] .program-tile--showcase .card-title {
  margin: 0 0 6px;
  font-size: 1.18rem;
}

body[data-page="dopolnitelnye_zanyatiya"] .program-tile--showcase .card-meta {
  margin: 0;
  display: inline-flex;
  width: fit-content;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid #d7e6dc;
  background: #f7fcf9;
  font-size: 0.82rem;
  font-weight: 700;
}

body[data-page="dopolnitelnye_zanyatiya"] .program-tile--showcase .card-text {
  margin: 0;
  line-height: 1.58;
}

body[data-page="dopolnitelnye_zanyatiya"] .program-facts {
  display: grid;
  gap: 8px;
}

body[data-page="dopolnitelnye_zanyatiya"] .program-fact {
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid #deebe2;
  background: #f7fcf9;
}

body[data-page="dopolnitelnye_zanyatiya"] .program-fact-label {
  margin: 0 0 4px;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #5f6e67;
}

body[data-page="dopolnitelnye_zanyatiya"] .program-fact-value {
  margin: 0;
  font-size: 0.93rem;
  font-weight: 600;
  color: #0f172a;
}

body[data-page="dopolnitelnye_zanyatiya"] .card-price--pill {
  margin: 2px 0 0;
  display: inline-flex;
  width: fit-content;
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid #d3e7da;
  background: #edf9f1;
  font-size: 0.92rem;
  font-weight: 800;
  color: #14532d;
}

body[data-page="dopolnitelnye_zanyatiya"] .story-section--dopolnitelnye {
  background:
    radial-gradient(680px 280px at 8% 0%, rgba(170, 220, 188, 0.24), transparent 70%),
    radial-gradient(640px 260px at 94% 100%, rgba(143, 198, 228, 0.2), transparent 72%),
    linear-gradient(180deg, #eef9f2 0%, #e8f6ee 100%);
}

body[data-page="dopolnitelnye_zanyatiya"] .story-showcase-shell {
  border-width: 2px;
  border-color: #9dd0b1;
  background: linear-gradient(160deg, rgba(255, 255, 255, 0.97) 0%, rgba(246, 252, 247, 0.95) 100%);
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.11);
}

body[data-page="dopolnitelnye_zanyatiya"] .story-showcase-head {
  margin-bottom: 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid #d7e9dd;
}

body[data-page="dopolnitelnye_zanyatiya"] .story-showcase-subtitle {
  margin: 0;
  max-width: 840px;
  line-height: 1.55;
  color: #475569;
  overflow-wrap: anywhere;
  word-break: break-word;
}

body[data-page="dopolnitelnye_zanyatiya"] .story-program-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

body[data-page="dopolnitelnye_zanyatiya"] .story-program-card {
  min-width: 0;
  padding: 18px;
  border-radius: 18px;
  border: 1px solid #d8eade;
  background: linear-gradient(160deg, #ffffff 0%, #f7fcf9 100%);
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.08);
  display: grid;
  gap: 12px;
}

body[data-page="dopolnitelnye_zanyatiya"] .story-program-header {
  min-width: 0;
  display: grid;
  gap: 8px;
}

body[data-page="dopolnitelnye_zanyatiya"] .story-program-title {
  margin: 0;
  font-size: 1.08rem;
  line-height: 1.34;
  color: #0f172a;
  overflow-wrap: anywhere;
  word-break: break-word;
}

body[data-page="dopolnitelnye_zanyatiya"] .story-program-age {
  margin: 0;
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid #d5e5da;
  background: #f8fcf9;
  color: #334155;
  font-size: 0.82rem;
  font-weight: 700;
  overflow-wrap: anywhere;
  word-break: break-word;
}

body[data-page="dopolnitelnye_zanyatiya"] .story-program-text {
  margin: 0;
  color: #334155;
  line-height: 1.56;
  overflow-wrap: anywhere;
  word-break: break-word;
}

body[data-page="dopolnitelnye_zanyatiya"] .story-program-facts {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 9px;
}

body[data-page="dopolnitelnye_zanyatiya"] .story-program-fact {
  min-width: 0;
  margin: 0;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid #dbeade;
  background: #f8fcfa;
}

body[data-page="dopolnitelnye_zanyatiya"] .story-program-fact-label {
  margin: 0 0 4px;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #5f6e67;
}

body[data-page="dopolnitelnye_zanyatiya"] .story-program-fact-value {
  margin: 0;
  color: #0f172a;
  font-weight: 600;
  line-height: 1.44;
  overflow-wrap: anywhere;
  word-break: break-word;
}

body[data-page="dopolnitelnye_zanyatiya"] .story-program-notes {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 8px;
}

body[data-page="dopolnitelnye_zanyatiya"] .story-program-notes li {
  margin: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 8px;
}

body[data-page="dopolnitelnye_zanyatiya"] .story-program-notes li::before {
  content: "";
  width: 8px;
  height: 8px;
  margin-top: 0.5em;
  border-radius: 999px;
  background: #6fc08f;
  box-shadow: 0 0 0 4px rgba(111, 192, 143, 0.18);
}

body[data-page="dopolnitelnye_zanyatiya"] .story-program-notes li span {
  color: #334155;
  line-height: 1.52;
  overflow-wrap: anywhere;
  word-break: break-word;
}

body[data-page="podgotovka_k_shkole"] .program-detail-card--podgotovka_k_shkole {
  border-width: 2px;
  border-color: #9fd6ec;
  background: linear-gradient(158deg, rgba(255, 255, 255, 0.98) 0%, rgba(245, 252, 255, 0.95) 100%);
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.1);
}

body[data-page="podgotovka_k_shkole"] .program-detail-card--podgotovka_k_shkole .program-detail-main {
  gap: 12px;
}

body[data-page="podgotovka_k_shkole"] .program-detail-card--podgotovka_k_shkole .card-price {
  margin-top: 8px;
  display: inline-flex;
  width: fit-content;
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid #d4e8f3;
  background: #edf7fd;
  color: #0f3e58;
}

body[data-page="podgotovka_k_shkole"] .program-detail-card--podgotovka_k_shkole .program-detail-side {
  border-color: #d9ecf5;
  background: linear-gradient(180deg, #f7fcff 0%, #f2f9fd 100%);
}

body[data-page="podgotovka_k_shkole"] .school-prep-section {
  background:
    radial-gradient(720px 280px at 8% 4%, rgba(123, 197, 230, 0.22), transparent 70%),
    radial-gradient(680px 280px at 96% 100%, rgba(128, 215, 177, 0.18), transparent 74%),
    linear-gradient(180deg, #eef8fd 0%, #e9f6fc 100%);
}

body[data-page="podgotovka_k_shkole"] .school-prep-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

body[data-page="podgotovka_k_shkole"] .school-prep-card {
  min-width: 0;
  display: grid;
  gap: 12px;
  padding: 22px;
  border-width: 2px;
  border-radius: calc(var(--radius) - 2px);
  background: linear-gradient(160deg, rgba(255, 255, 255, 0.98) 0%, rgba(245, 252, 255, 0.95) 100%);
}

body[data-page="podgotovka_k_shkole"] .school-prep-card--intro {
  grid-column: 1 / -1;
}

body[data-page="podgotovka_k_shkole"] .school-prep-title {
  margin: 0;
  font-size: 1.2rem;
  line-height: 1.3;
}

body[data-page="podgotovka_k_shkole"] .school-prep-text,
body[data-page="podgotovka_k_shkole"] .school-prep-note {
  margin: 0;
  color: #334155;
  line-height: 1.58;
  overflow-wrap: anywhere;
  word-break: break-word;
}

body[data-page="podgotovka_k_shkole"] .school-prep-note {
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid #dcecf5;
  background: #f7fcff;
}

body[data-page="podgotovka_k_shkole"] .school-prep-list {
  margin: 0;
  padding-left: 1.1rem;
  display: grid;
  gap: 8px;
}

body[data-page="podgotovka_k_shkole"] .school-prep-list li {
  color: #334155;
  line-height: 1.5;
  overflow-wrap: anywhere;
  word-break: break-word;
}

body[data-page="podgotovka_k_shkole"] .school-prep-stack {
  display: grid;
  gap: 10px;
}

body[data-page="podgotovka_k_shkole"] .school-prep-item {
  min-width: 0;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid #dcebf3;
  background: #f8fcff;
}

body[data-page="podgotovka_k_shkole"] .school-prep-item-label {
  margin: 0 0 4px;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #5f7280;
}

body[data-page="podgotovka_k_shkole"] .school-prep-item-value {
  margin: 0;
  color: #0f172a;
  font-weight: 600;
  line-height: 1.45;
  overflow-wrap: anywhere;
  word-break: break-word;
}

body[data-page="podgotovka_k_shkole"] .school-prep-contacts {
  display: grid;
  gap: 8px;
}

body[data-page="podgotovka_k_shkole"] .school-prep-contacts p {
  margin: 0;
  color: #334155;
  line-height: 1.5;
  overflow-wrap: anywhere;
  word-break: break-word;
}

body[data-page="podgotovka_k_shkole"] .school-prep-contacts a {
  color: #0f172a;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

body[data-page="podgotovka_k_shkole"] .program-card,
body[data-page="mama_i_malysh"] .program-card,
body[data-page="razvivay-ka"] .program-card {
  max-width: 980px;
  border-radius: calc(var(--radius) + 2px);
  border-width: 2px;
}

body[data-page="podgotovka_k_shkole"] .program-card .card-note,
body[data-page="mama_i_malysh"] .program-card .card-note,
body[data-page="razvivay-ka"] .program-card .card-note {
  margin: 0;
  padding: 11px 12px;
  border-radius: 12px;
  border: 1px solid #deebe2;
  background: #f7fcf9;
}

body[data-page="kollektiv"] .team-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

body[data-page="kollektiv"] .team-photo-wrap {
  max-width: 100%;
}

body[data-page="voskresnyy_klub"] .cards-grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body[data-page="voskresnyy_klub"] .sunday-lead {
  border-color: var(--manual-accent);
  background: #ffffffeb;
}

body[data-page="dokumenty"] .org-docs-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body[data-page="obrazovanie"] .org-cards-grid,
body[data-page="platnye_obrazovatelnye_uslugi"] .org-cards-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body[data-page="rukovodstvo"] .org-people-grid,
body[data-page="pedagogicheskiy_sostav"] .org-people-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body[data-page="rukovodstvo"] .org-person-photo-wrap,
body[data-page="pedagogicheskiy_sostav"] .org-person-photo-wrap {
  max-width: 100%;
}

body[data-page="rukovodstvo"] .org-person-card,
body[data-page="pedagogicheskiy_sostav"] .org-person-card {
  border-width: 2px;
}

body[data-page="osnovnye_svedeniya"] .org-list li,
body[data-page="struktura_i_organy_upravleniya"] .org-list li,
body[data-page="materialno-tehnicheskoe_obespechenie_i_osnashchennost_obrazovatelnogo_processa_dostupnaya_sreda"] .org-list li,
body[data-page="finansovo-hozyaystvennaya_deyatelnost"] .org-list li,
body[data-page="vakantnye_mesta_dlya_priema_perevoda"] .org-list li,
body[data-page="organizaciya_pitaniya"] .org-list li,
body[data-page="obrazovatelnye_standarty_i_trebovaniya"] .org-list li {
  margin: 0;
  list-style: none;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid #dce9e1;
  background: #f8fcf9;
}

body[data-page="osnovnye_svedeniya"] .org-list,
body[data-page="struktura_i_organy_upravleniya"] .org-list,
body[data-page="materialno-tehnicheskoe_obespechenie_i_osnashchennost_obrazovatelnogo_processa_dostupnaya_sreda"] .org-list,
body[data-page="finansovo-hozyaystvennaya_deyatelnost"] .org-list,
body[data-page="vakantnye_mesta_dlya_priema_perevoda"] .org-list,
body[data-page="organizaciya_pitaniya"] .org-list,
body[data-page="obrazovatelnye_standarty_i_trebovaniya"] .org-list {
  padding-left: 0;
  gap: 10px;
}

body[data-page="stipendii_i_inye_mery_materialnoy_podderzhki"] .org-text,
body[data-page="mezhdunarodnoe_sotrudnichestvo"] .org-text {
  margin: 0;
  padding: 16px 18px;
  border-radius: 14px;
  border: 1px solid #dce9e1;
  background: #f8fcf9;
}

@media (max-width: 1280px) {
  body[data-page="dokumenty"] .org-docs-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-page="rukovodstvo"] .org-people-grid,
  body[data-page="pedagogicheskiy_sostav"] .org-people-grid,
  body[data-page="kollektiv"] .team-grid,
  body[data-page="voskresnyy_klub"] .cards-grid--3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  body[data-page="gruppa_kratkovremennogo_prebyvaniya"] .group-detail-text,
  body[data-page="gruppa_polnogo_prebyvaniya"] .group-detail-text {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-page="dopolnitelnye_zanyatiya"] .cards-grid--4,
  body[data-page="obrazovanie"] .org-cards-grid,
  body[data-page="platnye_obrazovatelnye_uslugi"] .org-cards-grid,
  body[data-page="dokumenty"] .org-docs-grid,
  body[data-page="rukovodstvo"] .org-people-grid,
  body[data-page="pedagogicheskiy_sostav"] .org-people-grid,
  body[data-page="kollektiv"] .team-grid,
  body[data-page="voskresnyy_klub"] .cards-grid--3 {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-page="dopolnitelnye_zanyatiya"] .program-tile--dopolnitelnye_zanyatiya {
    padding: 18px;
  }

  body[data-page="dopolnitelnye_zanyatiya"] .story-showcase-shell {
    padding: 20px 16px;
  }

  body[data-page="dopolnitelnye_zanyatiya"] .story-program-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-page="dopolnitelnye_zanyatiya"] .story-program-card {
    padding: 16px;
    border-radius: 16px;
  }

  body[data-page="podgotovka_k_shkole"] .school-prep-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-page="podgotovka_k_shkole"] .school-prep-card--intro {
    grid-column: auto;
  }

  body[data-page="podgotovka_k_shkole"] .school-prep-card {
    padding: 18px;
  }
}

.site-footer {
  margin-top: 0;
  padding-top: 52px;
  background: #0f172a;
  color: #e2e8f0;
}

.footer-wrap {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr);
  gap: 34px;
}

.footer-title {
  margin: 0 0 10px;
  color: #fff;
  font-family: "Chiron GoRound TC", "Trebuchet MS", sans-serif;
  font-size: 1.62rem;
}

.footer-brand p {
  margin: 0 0 10px;
}

.footer-contact-lines {
  display: grid;
  gap: 8px;
}

.footer-contact-lines a {
  color: #cbd5e1;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.footer-contact-lines a:hover {
  color: #fff;
}

.footer-columns {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.footer-column-title {
  margin: 0 0 12px;
  color: #fff;
  font-weight: 700;
}

.footer-links {
  display: grid;
  gap: 8px;
}

.footer-links a {
  color: #cbd5e1;
  font-size: 0.92rem;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.footer-links a:hover {
  color: #fff;
}

.copyright {
  width: min(var(--container), calc(100% - 32px));
  margin: 26px auto 0;
  padding: 18px 0 20px;
  border-top: 1px solid #1e293b;
  text-align: center;
  color: #94a3b8;
  font-size: 0.92rem;
}

.tone--yellow {
  border-color: var(--tone-yellow);
}

.tone--blue {
  border-color: var(--tone-blue);
}

.tone--green {
  border-color: var(--tone-green);
}

.tone--orange {
  border-color: var(--tone-orange);
}

.tilt-card {
  position: relative;
  transform-style: preserve-3d;
  will-change: transform;
  transition: transform 0.2s ease, box-shadow 0.25s ease;
}

.tilt-card::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  opacity: 0;
  background: radial-gradient(
    380px circle at var(--glow-x, 50%) var(--glow-y, 50%),
    rgba(255, 255, 255, 0.44),
    rgba(255, 255, 255, 0) 48%
  );
  transition: opacity 0.25s ease;
}

.tilt-card:hover::after {
  opacity: 1;
}

.back-to-top {
  position: fixed;
  right: 14px;
  bottom: calc(88px + env(safe-area-inset-bottom));
  z-index: 34;
  width: 44px;
  height: 44px;
  border: 1px solid #c5e8d4;
  border-radius: 999px;
  background: #ffffffee;
  color: #0f5132;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.16);
  opacity: 0;
  pointer-events: none;
  transform: translateY(12px) scale(0.94);
  transition: opacity 0.22s ease, transform 0.22s ease, background-color 0.22s ease;
}

.back-to-top:hover {
  background: #f0fbf4;
}

.back-to-top.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0) scale(1);
}

[data-reveal] {
  opacity: 0;
  transform: translateY(calc(28px + var(--parallax-shift, 0px))) scale(0.985);
  transition: opacity 0.65s cubic-bezier(0.2, 0.8, 0.2, 1), transform 0.65s cubic-bezier(0.2, 0.8, 0.2, 1);
  transition-delay: var(--reveal-delay, 0ms);
}

[data-reveal].is-visible {
  opacity: 1;
  transform: translateY(var(--parallax-shift, 0px)) scale(1);
}

[data-parallax] {
  will-change: transform;
}

.error-panel {
  padding: 30px;
  border-radius: var(--radius-md);
  border: 2px solid #fecaca;
  background: #fff1f2;
}

.error-panel h1 {
  margin: 0 0 10px;
  font-size: 1.5rem;
}

.error-panel p {
  margin: 0;
}

@keyframes blob-drift {
  0% {
    transform: translate(0, 0) scale(1);
  }
  50% {
    transform: translate(26px, 24px) scale(1.08);
  }
  100% {
    transform: translate(0, 0) scale(1);
  }
}

@keyframes page-in {
  0% {
    opacity: 0;
    transform: translateY(14px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes hero-float {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-6px);
  }
  100% {
    transform: translateY(0);
  }
}

@keyframes dock-rise {
  0% {
    opacity: 0;
    transform: translateY(18px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (min-width: 1381px) {
  .site-nav {
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 8px;
    flex-wrap: nowrap;
  }

  .menu-row {
    flex-wrap: nowrap;
    gap: 8px;
  }

  .menu-row--2 {
    margin-top: 0;
  }

  .menu-link,
  .menu-drop-toggle {
    max-width: none;
    min-height: 40px;
    line-height: 1.15;
    font-size: 0.9rem;
    padding: 8px 10px;
    white-space: nowrap;
  }

  .menu-drop-panel {
    max-height: min(72vh, 620px);
    overflow-y: auto;
  }
}

@media (max-width: 1560px) {
  .header-phone {
    display: none;
  }
}

@media (max-width: 1460px) {
  .menu-cta {
    display: none;
  }
}

@media (max-width: 1120px) {
  body[data-page="gruppa_kratkovremennogo_prebyvaniya"] .page-hero-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }

  body[data-page="gruppa_kratkovremennogo_prebyvaniya"] .page-hero-copy {
    order: 1;
  }

  body[data-page="gruppa_kratkovremennogo_prebyvaniya"] .page-hero-media {
    order: 2;
  }

  .group-detail-content {
    gap: 12px;
  }

  .group-facts-table th {
    width: 40%;
  }

  body[data-page="home"] .home-hero {
    padding-top: 32px;
    padding-bottom: 66px;
  }

  body[data-page="home"] .home-section {
    padding: 60px 0;
  }

  body[data-page="home"] .hero-media {
    min-height: 300px;
  }

  body[data-page="home"] .group-card.home-card--group .group-card-media {
    aspect-ratio: 16 / 10;
  }

  body[data-page="home"] .group-card.home-card--group .group-card-content {
    min-height: 0;
  }

  body[data-page="home"] .home-section .section-head {
    margin-bottom: 22px;
  }

  body[data-page="home"] .home-card--program .card-title {
    min-height: 0;
  }

  .header-phone {
    display: none;
  }

  .menu-cta {
    display: none;
  }

  .cards-grid--4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .group-card--full,
  .hero-grid,
  .page-hero-grid,
  .teaser-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .group-card--full .group-card-media {
    border-width: 0 0 3px;
    border-radius: calc(var(--radius) - 2px) calc(var(--radius) - 2px) 0 0;
    min-height: 260px;
  }

  .footer-wrap {
    grid-template-columns: 1fr;
  }

  .footer-columns {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .org-docs-grid,
  .org-people-grid,
  .org-cards-grid,
  .team-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 760px) {
  .group-facts-table tr {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .group-facts-table th {
    width: auto;
    border-right: 0;
    border-bottom: 1px solid #e2ede5;
    padding-bottom: 6px;
  }

  .group-facts-table td {
    padding-top: 8px;
  }
}

@media (max-width: 1380px) {
  .site-header {
    background: #f5fff8;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  .hero-media,
  .page-hero-media {
    animation: none;
  }

  .section {
    padding: 52px 0;
  }

  .header-inner {
    min-height: 74px;
  }

  .header-phone,
  .menu-cta {
    display: none;
  }

  .menu-toggle {
    display: inline-flex;
    margin-left: auto;
  }

  .menu-backdrop {
    position: fixed;
    inset: 0;
    z-index: 70;
    display: block;
    background: rgba(2, 6, 23, 0.42);
    backdrop-filter: blur(2px);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s ease;
  }

  .site-header.is-menu-open .menu-backdrop {
    opacity: 1;
    pointer-events: auto;
  }

  .site-nav {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 80;
    width: min(460px, calc(100vw - 12px));
    max-width: 100vw;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 12px;
    padding: calc(74px + env(safe-area-inset-top)) 16px calc(24px + env(safe-area-inset-bottom));
    border-left: 1px solid #e5e7eb;
    border-radius: 0;
    background: #fffffffc;
    box-shadow: -16px 0 34px rgba(15, 23, 42, 0.16);
    transform: translateX(102%);
    visibility: hidden;
    transition: transform 0.28s cubic-bezier(0.22, 0.8, 0.24, 1);
    overflow-y: auto;
    overflow-x: clip;
    overscroll-behavior: contain;
  }

  .site-nav * {
    max-width: 100%;
    min-width: 0;
  }

  .site-header.is-menu-open .site-nav {
    transform: translateX(0);
    visibility: visible;
  }

  .menu-row {
    width: 100%;
    display: grid;
    gap: 8px;
    align-items: stretch;
    justify-content: stretch;
    min-width: 0;
  }

  .menu-row + .menu-row {
    padding-top: 10px;
    border-top: 1px solid #eef2f7;
  }

  .menu-link,
  .menu-drop-toggle {
    width: 100%;
    max-width: 100%;
    min-height: 46px;
    justify-content: space-between;
    padding: 12px 12px;
    border: 1px solid #e6f0e8;
    background: #fff;
    border-radius: 12px;
    font-size: 0.95rem;
    text-align: left;
    line-height: 1.25;
  }

  .menu-drop-panel {
    position: static;
    display: none;
    grid-template-columns: minmax(0, 1fr);
    grid-auto-rows: minmax(min-content, max-content);
    opacity: 1;
    pointer-events: auto;
    transform: none;
    box-shadow: none;
    border-radius: 12px;
    margin-top: 8px;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    border: 1px solid #e8eee9;
    background: #f7faf8;
    overflow-x: hidden;
    overflow-y: auto;
    max-height: min(54vh, 420px);
    overscroll-behavior: contain;
  }

  .menu-dropdown[open] .menu-drop-panel {
    display: grid;
  }

  .menu-drop-panel,
  .menu-drop-link,
  .menu-drop-link > * {
    max-inline-size: 100%;
  }

  .menu-dropdown,
  .menu-dropdown--wide {
    width: 100%;
    max-width: 100%;
  }

  .menu-row--2 .menu-dropdown--wide .menu-drop-panel,
  .menu-row--2 .menu-dropdown--wide[open] .menu-drop-panel {
    left: auto;
    transform: none;
  }

  .menu-drop-link {
    display: block;
    width: 100%;
    max-width: 100%;
    font-size: 0.93rem;
    padding: 10px 10px;
    line-height: 1.35;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-wrap: break-word !important;
    word-break: break-word !important;
    text-wrap: pretty;
    text-overflow: clip;
    overflow: visible;
    hyphens: auto;
  }

  .menu-dropdown--wide .menu-drop-link {
    font-size: 0.88rem;
  }

  .logo {
    min-width: 0;
  }

  .logo-mark {
    width: 48px;
    height: 48px;
  }

  .logo-text strong {
    font-size: 1.12rem;
  }

  .logo-text small {
    font-size: 0.79rem;
  }

  .header-controls {
    gap: 6px;
    position: relative;
    z-index: 90;
  }

  .site-header.is-menu-open .menu-row {
    animation: menu-row-in 0.24s ease both;
  }

  .site-header.is-menu-open .menu-row--2 {
    animation-delay: 0.04s;
  }

  .section-head {
    flex-direction: column;
    align-items: flex-start;
  }

  .cards-grid--2,
  .cards-grid--3,
  .footer-columns {
    grid-template-columns: minmax(0, 1fr);
  }

  .org-teaser {
    flex-direction: column;
    align-items: flex-start;
  }

  .org-anchor-nav {
    padding: 10px 0;
  }

  .org-section {
    scroll-margin-top: 80px;
  }
}

@media (max-width: 820px) {
  .back-to-top {
    bottom: calc(14px + env(safe-area-inset-bottom));
  }

  .mobile-dock {
    display: none !important;
  }
}

@media (max-width: 560px) {
  .site-nav {
    width: min(430px, calc(100vw - 8px));
    padding: calc(70px + env(safe-area-inset-top)) 10px calc(16px + env(safe-area-inset-bottom));
  }

  .menu-link,
  .menu-drop-toggle {
    font-size: 0.9rem;
    padding: 11px 10px;
  }

  .menu-drop-link {
    font-size: 0.86rem;
    padding: 9px 8px;
  }
}

@media (min-width: 821px) {
  .back-to-top {
    bottom: 24px;
  }
}

@keyframes menu-row-in {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 600px) {
  body[data-page="gruppa_kratkovremennogo_prebyvaniya"] .page-title {
    font-size: clamp(1.8rem, 8vw, 2.7rem);
  }

  body[data-page="gruppa_kratkovremennogo_prebyvaniya"] .group-detail-card .group-card-content {
    padding: 18px;
  }

  .group-details-panel {
    padding: 12px;
  }

  body[data-page="home"] .home-hero {
    padding-top: 20px;
    padding-bottom: 48px;
  }

  body[data-page="home"] .home-section {
    padding: 44px 0;
  }

  body[data-page="home"] .hero-subtitle {
    margin-top: 14px;
  }

  body[data-page="home"] .hero-text {
    margin-bottom: 20px;
  }

  body[data-page="home"] .hero-media {
    min-height: 240px;
    border-width: 3px;
  }

  body[data-page="home"] .group-card.home-card--group .group-card-media {
    aspect-ratio: 4 / 3;
  }

  body[data-page="home"] .card.home-card {
    padding: 20px;
  }

  body[data-page="home"] .home-card .card-icon {
    width: 42px;
    height: 42px;
    font-size: 1.45rem;
  }

  body[data-page="home"] .home-section .section-head {
    gap: 12px;
    margin-bottom: 18px;
  }

  body[data-page="home"] .home-teaser-grid .section-subtitle {
    margin-bottom: 16px;
  }

  .container {
    width: min(var(--container), calc(100% - 20px));
  }

  .header-inner {
    min-height: 68px;
  }

  .logo-text small {
    display: none;
  }

  .section {
    padding: 42px 0;
  }

  .hero {
    padding-top: 26px;
  }

  .hero-title,
  .page-title {
    font-size: clamp(2rem, 8.3vw, 2.7rem);
  }

  .hero-subtitle {
    font-size: 1rem;
  }

  .hero-grid,
  .page-hero-grid {
    gap: 18px;
  }

  .page-subtitle {
    font-size: 0.95rem;
  }

  .cards-grid--4 {
    grid-template-columns: minmax(0, 1fr);
  }

  .cards-grid {
    gap: 16px;
  }

  .card,
  .group-card-content,
  .visit-panel {
    padding: 20px;
  }

  .section .program-card {
    max-width: 100%;
  }

  .btn {
    width: 100%;
  }

  .cta-row {
    width: 100%;
  }

  .org-section,
  .org-teaser,
  .org-doc-card,
  .org-person-card,
  .org-fact-card {
    padding: 16px;
  }

  .org-section-title {
    font-size: 1.35rem;
  }

  .org-doc-card h4 {
    font-size: 1rem;
  }

  .org-anchor-link {
    font-size: 0.8rem;
    padding: 7px 12px;
  }

  .footer-title {
    font-size: 1.38rem;
  }

  .copyright {
    font-size: 0.84rem;
  }
}

.org-insight {
  padding-top: 18px;
}

.org-insight-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 18px;
}

.org-insight-card {
  border-radius: var(--radius-md);
  border: 1px solid rgba(15, 23, 42, 0.12);
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 14px 36px rgba(9, 18, 32, 0.08);
  padding: 22px;
}

.org-insight-card--lead {
  grid-column: span 7;
}

.org-insight-card--contacts {
  grid-column: span 5;
}

.org-insight-title {
  margin: 0;
  font-family: "Chiron GoRound TC", "Trebuchet MS", sans-serif;
  font-size: clamp(1.06rem, 1.9vw, 1.36rem);
  line-height: 1.2;
}

.org-insight-text {
  margin: 12px 0 0;
  color: var(--muted);
}

.org-insight-text--soft {
  opacity: 0.88;
}

.org-insight-facts {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
}

.org-mini-card {
  border-radius: 16px;
  border: 1px solid rgba(15, 23, 42, 0.1);
  background: rgba(255, 255, 255, 0.92);
  padding: 14px 16px;
}

.org-mini-card-label {
  margin: 0;
  color: #3f4652;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.org-mini-card-value {
  margin: 7px 0 0;
  font-weight: 600;
}

.org-chip-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 12px;
}

.org-chip {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  border: 1px solid rgba(15, 23, 42, 0.16);
  background: rgba(255, 255, 255, 0.9);
  padding: 8px 12px;
  font-size: 0.9rem;
  font-weight: 600;
}

.org-insight-contacts {
  margin-top: 12px;
  display: grid;
  gap: 9px;
}

.org-insight-contacts p {
  margin: 0;
  color: var(--muted);
}

.org-insight-contacts a {
  text-decoration: underline;
  text-decoration-thickness: 1.5px;
  text-underline-offset: 3px;
}

.org-insight-card--timeline {
  grid-column: span 7;
}

.org-insight-card--check,
.org-insight-card--facts,
.org-insight-card--matrix {
  grid-column: span 7;
}

.org-timeline {
  margin: 14px 0 0;
  padding-left: 24px;
  display: grid;
  gap: 10px;
}

.org-timeline li {
  color: var(--muted);
  line-height: 1.45;
}

.org-checklist {
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 9px;
}

.org-checklist li {
  position: relative;
  padding-left: 26px;
  color: var(--muted);
  line-height: 1.42;
}

.org-checklist li::before {
  content: "";
  position: absolute;
  top: 8px;
  left: 0;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: linear-gradient(180deg, #68c78d 0%, #4da86f 100%);
}

.org-learning-grid {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 14px;
}

.org-learning-card {
  border: 1px solid rgba(15, 23, 42, 0.1);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.9);
  padding: 15px 16px;
}

.org-learning-label {
  margin: 0;
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: #3f4652;
  font-weight: 700;
}

.org-learning-value {
  margin: 8px 0 0;
  color: var(--muted);
  line-height: 1.45;
}

.org-matrix {
  margin-top: 12px;
  display: grid;
  gap: 10px;
}

.org-matrix-row {
  border-radius: 14px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  background: rgba(255, 255, 255, 0.92);
  padding: 12px 14px;
}

.org-matrix-label {
  margin: 0;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: #3f4652;
  font-weight: 700;
}

.org-matrix-value {
  margin: 7px 0 0;
  color: var(--muted);
}

.shortstay-lp {
  position: relative;
  padding-top: clamp(44px, 6vw, 76px);
  overflow: clip;
}

.shortstay-lp::before,
.shortstay-lp::after {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: 0;
}

.shortstay-lp::before {
  width: clamp(240px, 28vw, 420px);
  height: clamp(240px, 28vw, 420px);
  top: -80px;
  right: -110px;
  border-radius: 50%;
  background: radial-gradient(circle at center, rgba(140, 232, 177, 0.36) 0%, rgba(140, 232, 177, 0) 72%);
}

.shortstay-lp::after {
  width: clamp(220px, 24vw, 360px);
  height: clamp(220px, 24vw, 360px);
  left: -90px;
  bottom: 0;
  border-radius: 50%;
  background: radial-gradient(circle at center, rgba(247, 237, 144, 0.35) 0%, rgba(247, 237, 144, 0) 70%);
}

.shortstay-lp-hero {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.96fr);
  gap: clamp(16px, 2.6vw, 28px);
  align-items: stretch;
}

.shortstay-lp-intro,
.shortstay-lp-media,
.shortstay-lp-card {
  min-width: 0;
}

.shortstay-lp-intro {
  position: relative;
  padding: clamp(20px, 2.5vw, 28px);
  display: grid;
  align-content: start;
  gap: 14px;
  border: 1px solid rgba(77, 158, 113, 0.25);
  box-shadow: 0 18px 42px rgba(18, 67, 45, 0.12);
  backdrop-filter: blur(2px);
}

.shortstay-lp-kicker {
  margin: 0;
  width: fit-content;
  border-radius: 999px;
  border: 1px solid rgba(77, 158, 113, 0.45);
  background: rgba(255, 255, 255, 0.9);
  padding: 7px 14px;
  font-size: 0.82rem;
  font-weight: 700;
  color: #2f5b43;
  max-width: 100%;
  overflow-wrap: anywhere;
}

.shortstay-lp-headline {
  margin: 0;
  font-family: "Chiron GoRound TC", "Trebuchet MS", sans-serif;
  font-size: clamp(2rem, 3.6vw, 3.15rem);
  line-height: 1.03;
  letter-spacing: 0;
  color: #101828;
  overflow-wrap: anywhere;
}

.shortstay-lp-lead {
  margin: 0;
  font-size: clamp(1rem, 1.4vw, 1.08rem);
  line-height: 1.58;
  color: #31404d;
  overflow-wrap: anywhere;
  max-width: 62ch;
}

.shortstay-lp-badges {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
}

.shortstay-lp-badge {
  min-width: 0;
  border-radius: 15px;
  border: 1px solid rgba(15, 23, 42, 0.11);
  background: rgba(255, 255, 255, 0.92);
  padding: 10px 12px;
}

.shortstay-lp-badge-label {
  margin: 0;
  font-size: 0.74rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: #425466;
}

.shortstay-lp-badge-value {
  margin: 6px 0 0;
  font-weight: 800;
  color: #142536;
  overflow-wrap: anywhere;
}

.shortstay-lp-note {
  margin: 0;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, 0.1);
  background: rgba(255, 255, 255, 0.76);
  color: #334155;
  line-height: 1.46;
  overflow-wrap: anywhere;
}

.shortstay-lp-actions {
  display: grid;
  gap: 8px;
}

.shortstay-lp-cta {
  margin-top: 2px;
  width: fit-content;
}

.shortstay-lp-phone {
  margin: 0;
  font-weight: 600;
  color: #2d435a;
}

.shortstay-lp-phone a {
  color: #0f8a58;
  text-decoration: none;
  border-bottom: 1px solid rgba(15, 138, 88, 0.36);
}

.shortstay-lp-phone a:hover {
  border-color: rgba(15, 138, 88, 0.7);
}

.shortstay-lp-media {
  min-height: 440px;
  border-radius: 28px;
  box-shadow: 0 22px 40px rgba(18, 50, 77, 0.18);
  overflow: hidden;
}

.shortstay-lp-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.shortstay-lp-media:hover img {
  transform: scale(1.035);
}

.shortstay-lp-grid {
  position: relative;
  z-index: 1;
  margin-top: clamp(18px, 3vw, 30px);
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(14px, 2vw, 20px);
}

.shortstay-lp-card {
  min-height: 100%;
  border: 1px solid rgba(15, 23, 42, 0.12);
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.08);
}

.shortstay-lp-card--program {
  grid-column: span 7;
}

.shortstay-lp-card--routine {
  grid-column: span 5;
}

.shortstay-lp-title {
  margin: 0;
  font-family: "Chiron GoRound TC", "Trebuchet MS", sans-serif;
  font-size: clamp(1.24rem, 2.1vw, 1.62rem);
  line-height: 1.18;
  color: #14212f;
  overflow-wrap: anywhere;
}

.shortstay-lp-textflow {
  margin-top: 12px;
  display: grid;
  gap: 10px;
}

.shortstay-lp-textflow p {
  margin: 0;
  color: #3a4a59;
  line-height: 1.48;
  overflow-wrap: anywhere;
}

.shortstay-lp-points {
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 9px;
}

.shortstay-lp-points li {
  position: relative;
  padding-left: 22px;
  line-height: 1.46;
  color: #344457;
  overflow-wrap: anywhere;
}

.shortstay-lp-points li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: linear-gradient(180deg, #66c98c 0%, #4d9e71 100%);
}

.shortstay-lp-routine {
  margin-top: 14px;
  display: grid;
  gap: 8px;
}

.shortstay-lp-routine-item {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  align-items: start;
  gap: 8px;
  border: 1px solid rgba(15, 23, 42, 0.14);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.9);
  padding: 10px 12px;
  line-height: 1.44;
}

.shortstay-lp-routine-item--single {
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}

.shortstay-lp-routine-time {
  margin: 0;
  font-weight: 500;
  color: #2f4154;
  overflow-wrap: anywhere;
}

.shortstay-lp-routine-text {
  margin: 0;
  color: #2f4154;
  line-height: 1.44;
  overflow-wrap: anywhere;
}

.fullstay-lp {
  position: relative;
  padding-top: clamp(44px, 6vw, 76px);
  overflow: clip;
}

.fullstay-lp::before,
.fullstay-lp::after {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: 0;
}

.fullstay-lp::before {
  width: clamp(250px, 30vw, 430px);
  height: clamp(250px, 30vw, 430px);
  top: -90px;
  left: -120px;
  border-radius: 50%;
  background: radial-gradient(circle at center, rgba(128, 220, 177, 0.33) 0%, rgba(128, 220, 177, 0) 73%);
}

.fullstay-lp::after {
  width: clamp(220px, 24vw, 360px);
  height: clamp(220px, 24vw, 360px);
  right: -90px;
  bottom: 4px;
  border-radius: 50%;
  background: radial-gradient(circle at center, rgba(255, 219, 125, 0.35) 0%, rgba(255, 219, 125, 0) 72%);
}

.fullstay-lp-hero {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 0.96fr) minmax(0, 1.04fr);
  gap: clamp(16px, 2.7vw, 30px);
  align-items: stretch;
}

.fullstay-lp-media,
.fullstay-lp-intro,
.fullstay-lp-card {
  min-width: 0;
}

.fullstay-lp-media {
  min-height: 450px;
  border-radius: 28px;
  box-shadow: 0 22px 40px rgba(12, 40, 64, 0.18);
  overflow: hidden;
}

.fullstay-lp-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.fullstay-lp-media:hover img {
  transform: scale(1.03);
}

.fullstay-lp-intro {
  position: relative;
  padding: clamp(20px, 2.5vw, 30px);
  display: grid;
  align-content: start;
  gap: 14px;
  border: 1px solid rgba(255, 221, 113, 0.42);
  box-shadow: 0 18px 42px rgba(98, 79, 10, 0.12);
}

.fullstay-lp-kicker {
  margin: 0;
  width: fit-content;
  max-width: 100%;
  border-radius: 999px;
  border: 1px solid rgba(168, 135, 18, 0.34);
  background: rgba(255, 255, 255, 0.88);
  padding: 7px 14px;
  font-size: 0.82rem;
  font-weight: 700;
  color: #5f4e12;
  overflow-wrap: anywhere;
}

.fullstay-lp-headline {
  margin: 0;
  font-family: "Chiron GoRound TC", "Trebuchet MS", sans-serif;
  font-size: clamp(2rem, 3.6vw, 3.1rem);
  line-height: 1.03;
  letter-spacing: 0;
  color: #10233a;
  overflow-wrap: anywhere;
}

.fullstay-lp-lead {
  margin: 0;
  font-size: clamp(1rem, 1.4vw, 1.08rem);
  line-height: 1.58;
  color: #314458;
  overflow-wrap: anywhere;
  max-width: 62ch;
}

.fullstay-lp-badges {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
}

.fullstay-lp-badge {
  min-width: 0;
  border-radius: 15px;
  border: 1px solid rgba(15, 23, 42, 0.11);
  background: rgba(255, 255, 255, 0.92);
  padding: 10px 12px;
}

.fullstay-lp-badge-label {
  margin: 0;
  font-size: 0.74rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: #425466;
}

.fullstay-lp-badge-value {
  margin: 6px 0 0;
  font-weight: 800;
  color: #142536;
  overflow-wrap: anywhere;
}

.fullstay-lp-note {
  margin: 0;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, 0.1);
  background: rgba(255, 255, 255, 0.76);
  color: #334155;
  line-height: 1.46;
  overflow-wrap: anywhere;
}

.fullstay-lp-actions {
  display: grid;
  gap: 8px;
}

.fullstay-lp-cta {
  margin-top: 2px;
  width: fit-content;
}

.fullstay-lp-phone {
  margin: 0;
  font-weight: 600;
  color: #2d435a;
}

.fullstay-lp-phone a {
  color: #0f8a58;
  text-decoration: none;
  border-bottom: 1px solid rgba(15, 138, 88, 0.36);
}

.fullstay-lp-phone a:hover {
  border-color: rgba(15, 138, 88, 0.7);
}

.fullstay-lp-content {
  padding-top: clamp(28px, 4vw, 48px);
}

.fullstay-lp-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(14px, 2vw, 20px);
}

.fullstay-lp-card {
  border: 1px solid rgba(15, 23, 42, 0.12);
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.08);
}

.fullstay-lp-card--program {
  grid-column: span 5;
}

.fullstay-lp-card--routine {
  grid-column: span 7;
}

.fullstay-lp-card--conditions {
  grid-column: 1 / -1;
}

.fullstay-lp-title {
  margin: 0;
  font-family: "Chiron GoRound TC", "Trebuchet MS", sans-serif;
  font-size: clamp(1.24rem, 2.1vw, 1.62rem);
  line-height: 1.18;
  color: #14212f;
  overflow-wrap: anywhere;
}

.fullstay-lp-program-copy {
  margin-top: 12px;
  display: grid;
  gap: 10px;
}

.fullstay-lp-program-copy p {
  margin: 0;
  color: #3a4a59;
  line-height: 1.48;
  overflow-wrap: anywhere;
}

.fullstay-lp-day {
  margin-top: 14px;
  display: grid;
  gap: 8px;
}

.fullstay-lp-day-row {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  align-items: start;
  gap: 8px;
  border: 1px solid rgba(15, 23, 42, 0.14);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.9);
  padding: 10px 12px;
}

.fullstay-lp-day-row--single {
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}

.fullstay-lp-day-time {
  margin: 0;
  font-weight: 500;
  color: #2f4154;
  overflow-wrap: anywhere;
}

.fullstay-lp-day-text {
  margin: 0;
  color: #2f4154;
  line-height: 1.44;
  overflow-wrap: anywhere;
}

.fullstay-lp-conditions {
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}

.fullstay-lp-conditions li {
  position: relative;
  padding-left: 24px;
  color: #344457;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.fullstay-lp-conditions li::before {
  content: "";
  position: absolute;
  top: 8px;
  left: 0;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: linear-gradient(180deg, #66c98c 0%, #4d9e71 100%);
}

.programs-lab {
  position: relative;
  padding-top: clamp(44px, 6vw, 76px);
  overflow: clip;
}

.programs-lab::before,
.programs-lab::after {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: 0;
}

.programs-lab::before {
  width: clamp(250px, 28vw, 420px);
  height: clamp(250px, 28vw, 420px);
  right: -120px;
  top: -88px;
  border-radius: 50%;
  background: radial-gradient(circle at center, rgba(255, 224, 122, 0.34) 0%, rgba(255, 224, 122, 0) 72%);
}

.programs-lab::after {
  width: clamp(220px, 24vw, 360px);
  height: clamp(220px, 24vw, 360px);
  left: -80px;
  bottom: 0;
  border-radius: 50%;
  background: radial-gradient(circle at center, rgba(129, 216, 174, 0.32) 0%, rgba(129, 216, 174, 0) 72%);
}

.programs-lab-hero {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(16px, 2.6vw, 28px);
  align-items: stretch;
}

.programs-lab-intro,
.programs-lab-media,
.programs-lab-card {
  min-width: 0;
}

.programs-lab-intro {
  position: relative;
  padding: clamp(20px, 2.5vw, 30px);
  display: grid;
  align-content: start;
  gap: 14px;
  border: 1px solid rgba(255, 221, 113, 0.42);
  box-shadow: 0 18px 42px rgba(98, 79, 10, 0.12);
}

.programs-lab-kicker {
  margin: 0;
  width: fit-content;
  max-width: 100%;
  border-radius: 999px;
  border: 1px solid rgba(168, 135, 18, 0.34);
  background: rgba(255, 255, 255, 0.88);
  padding: 7px 14px;
  font-size: 0.82rem;
  font-weight: 700;
  color: #5f4e12;
  overflow-wrap: anywhere;
}

.programs-lab-headline {
  margin: 0;
  font-family: "Chiron GoRound TC", "Trebuchet MS", sans-serif;
  font-size: clamp(2rem, 3.6vw, 3.15rem);
  line-height: 1.03;
  letter-spacing: 0;
  color: #10233a;
  overflow-wrap: anywhere;
}

.programs-lab-lead {
  margin: 0;
  font-size: clamp(1rem, 1.4vw, 1.08rem);
  line-height: 1.58;
  color: #314458;
  overflow-wrap: anywhere;
  max-width: 62ch;
}

.programs-lab-badges {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
}

.programs-lab-badge {
  min-width: 0;
  border-radius: 15px;
  border: 1px solid rgba(15, 23, 42, 0.11);
  background: rgba(255, 255, 255, 0.92);
  padding: 10px 12px;
}

.programs-lab-badge-label {
  margin: 0;
  font-size: 0.74rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: #425466;
}

.programs-lab-badge-value {
  margin: 6px 0 0;
  font-weight: 800;
  color: #142536;
  overflow-wrap: anywhere;
}

.programs-lab-actions {
  display: grid;
  gap: 8px;
}

.programs-lab-cta {
  margin-top: 2px;
  width: fit-content;
}

.programs-lab-phone {
  margin: 0;
  font-weight: 600;
  color: #2d435a;
}

.programs-lab-phone a {
  color: #0f8a58;
  text-decoration: none;
  border-bottom: 1px solid rgba(15, 138, 88, 0.36);
}

.programs-lab-phone a:hover {
  border-color: rgba(15, 138, 88, 0.7);
}

.programs-lab-media {
  min-height: 430px;
  border-radius: 28px;
  box-shadow: 0 22px 40px rgba(12, 40, 64, 0.18);
  overflow: hidden;
}

.programs-lab-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.programs-lab-media:hover img {
  transform: scale(1.03);
}

.programs-lab-content {
  padding-top: clamp(28px, 4vw, 48px);
}

.programs-lab-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(14px, 2vw, 20px);
}

.programs-lab-card {
  border: 1px solid rgba(15, 23, 42, 0.12);
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.08);
}

.programs-lab-card--directions {
  grid-column: span 7;
}

.programs-lab-card--facts {
  grid-column: span 5;
}

.programs-lab-title {
  margin: 0;
  font-family: "Chiron GoRound TC", "Trebuchet MS", sans-serif;
  font-size: clamp(1.24rem, 2.1vw, 1.62rem);
  line-height: 1.18;
  color: #14212f;
  overflow-wrap: anywhere;
}

.programs-lab-directions {
  margin-top: 12px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 10px;
}

.programs-lab-direction {
  border-radius: 14px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  background: rgba(255, 255, 255, 0.9);
  padding: 10px 12px;
}

.programs-lab-direction-age {
  margin: 0;
  width: fit-content;
  max-width: 100%;
  border-radius: 999px;
  background: rgba(102, 201, 140, 0.2);
  border: 1px solid rgba(77, 158, 113, 0.35);
  padding: 3px 10px;
  font-size: 0.82rem;
  font-weight: 700;
  color: #23523b;
  overflow-wrap: anywhere;
}

.programs-lab-direction-text {
  margin: 8px 0 0;
  color: #344457;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.programs-lab-direction-list {
  margin: 10px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 8px;
}

.programs-lab-direction-list li {
  position: relative;
  padding-left: 20px;
  color: #344457;
  line-height: 1.44;
  overflow-wrap: anywhere;
}

.programs-lab-direction-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: linear-gradient(180deg, #66c98c 0%, #4d9e71 100%);
}

.programs-lab-facts {
  margin-top: 12px;
  display: grid;
  gap: 9px;
}

.programs-lab-fact {
  border-radius: 14px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  background: rgba(255, 255, 255, 0.92);
  padding: 10px 12px;
}

.programs-lab-fact-label {
  margin: 0;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  font-weight: 700;
  color: #425466;
}

.programs-lab-fact-value {
  margin: 6px 0 0;
  color: #2f4154;
  line-height: 1.44;
  overflow-wrap: anywhere;
}

.programs-lab-main {
  margin-top: 12px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px dashed rgba(15, 23, 42, 0.22);
  background: rgba(255, 255, 255, 0.68);
}

.programs-lab-main .card-icon {
  margin: 0;
}

.programs-lab-main-title {
  margin: 0;
  font-family: "Chiron GoRound TC", "Trebuchet MS", sans-serif;
  font-size: 1.03rem;
  line-height: 1.2;
  color: #11263b;
}

.programs-lab-main-sub {
  margin: 5px 0 0;
  color: #3f556b;
  overflow-wrap: anywhere;
}

.kollektiv-lab {
  position: relative;
  padding-top: clamp(44px, 6vw, 76px);
  overflow: clip;
}

.kollektiv-lab::before,
.kollektiv-lab::after {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: 0;
}

.kollektiv-lab::before {
  width: clamp(250px, 28vw, 420px);
  height: clamp(250px, 28vw, 420px);
  left: -95px;
  top: -88px;
  border-radius: 50%;
  background: radial-gradient(circle at center, rgba(129, 216, 174, 0.32) 0%, rgba(129, 216, 174, 0) 72%);
}

.kollektiv-lab::after {
  width: clamp(230px, 24vw, 360px);
  height: clamp(230px, 24vw, 360px);
  right: -90px;
  bottom: 0;
  border-radius: 50%;
  background: radial-gradient(circle at center, rgba(255, 224, 122, 0.34) 0%, rgba(255, 224, 122, 0) 72%);
}

.kollektiv-lab-hero {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(0, 0.98fr);
  gap: clamp(16px, 2.6vw, 28px);
  align-items: stretch;
}

.kollektiv-lab-intro,
.kollektiv-lab-media,
.kollektiv-lab-card {
  min-width: 0;
}

.kollektiv-lab-intro {
  position: relative;
  padding: clamp(20px, 2.5vw, 30px);
  display: grid;
  align-content: start;
  gap: 14px;
  border: 1px solid rgba(255, 221, 113, 0.42);
  box-shadow: 0 18px 42px rgba(98, 79, 10, 0.12);
}

.kollektiv-lab-kicker {
  margin: 0;
  width: fit-content;
  max-width: 100%;
  border-radius: 999px;
  border: 1px solid rgba(168, 135, 18, 0.34);
  background: rgba(255, 255, 255, 0.88);
  padding: 7px 14px;
  font-size: 0.82rem;
  font-weight: 700;
  color: #5f4e12;
  overflow-wrap: anywhere;
}

.kollektiv-lab-headline {
  margin: 0;
  font-family: "Chiron GoRound TC", "Trebuchet MS", sans-serif;
  font-size: clamp(2rem, 3.6vw, 3.15rem);
  line-height: 1.03;
  letter-spacing: 0;
  color: #10233a;
  overflow-wrap: anywhere;
}

.kollektiv-lab-lead {
  margin: 0;
  font-size: clamp(1rem, 1.4vw, 1.08rem);
  line-height: 1.58;
  color: #314458;
  overflow-wrap: anywhere;
  max-width: 62ch;
}

.kollektiv-lab-badges {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
}

.kollektiv-lab-badge {
  min-width: 0;
  border-radius: 15px;
  border: 1px solid rgba(15, 23, 42, 0.11);
  background: rgba(255, 255, 255, 0.92);
  padding: 10px 12px;
}

.kollektiv-lab-badge-label {
  margin: 0;
  font-size: 0.74rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: #425466;
}

.kollektiv-lab-badge-value {
  margin: 6px 0 0;
  font-weight: 800;
  color: #142536;
  overflow-wrap: anywhere;
}

.kollektiv-lab-actions {
  display: grid;
  gap: 8px;
}

.kollektiv-lab-cta {
  margin-top: 2px;
  width: fit-content;
}

.kollektiv-lab-phone {
  margin: 0;
  font-weight: 600;
  color: #2d435a;
}

.kollektiv-lab-phone a {
  color: #0f8a58;
  text-decoration: none;
  border-bottom: 1px solid rgba(15, 138, 88, 0.36);
}

.kollektiv-lab-phone a:hover {
  border-color: rgba(15, 138, 88, 0.7);
}

.kollektiv-lab-media {
  min-height: 430px;
  border-radius: 28px;
  box-shadow: 0 22px 40px rgba(12, 40, 64, 0.18);
  overflow: hidden;
}

.kollektiv-lab-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.kollektiv-lab-media:hover img {
  transform: scale(1.03);
}

.kollektiv-lab-content {
  padding-top: clamp(28px, 4vw, 48px);
}

.kollektiv-lab-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(14px, 2vw, 20px);
}

.kollektiv-lab-card {
  border: 1px solid rgba(15, 23, 42, 0.12);
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.08);
}

.kollektiv-lab-card--lead {
  grid-column: 1 / -1;
}

.kollektiv-lab-card--staff {
  grid-column: 1 / -1;
}

.kollektiv-lab-card--principles {
  grid-column: 1 / -1;
}

.kollektiv-lab-title {
  margin: 0;
  font-family: "Chiron GoRound TC", "Trebuchet MS", sans-serif;
  font-size: clamp(1.24rem, 2.1vw, 1.62rem);
  line-height: 1.18;
  color: #14212f;
  overflow-wrap: anywhere;
}

.kollektiv-lab-lead-wrap {
  margin-top: 12px;
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 12px;
  align-items: start;
}

.kollektiv-lab-lead-photo {
  min-height: 260px;
  border-radius: 20px;
  overflow: hidden;
}

.kollektiv-lab-lead-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.kollektiv-lab-lead-content {
  min-width: 0;
}

.kollektiv-lab-staff {
  margin-top: 12px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
}

.kollektiv-lab-person {
  border-radius: 14px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  background: rgba(255, 255, 255, 0.9);
  padding: 10px 12px;
}

.kollektiv-lab-person-photo {
  min-height: 160px;
  border-radius: 12px;
  overflow: hidden;
}

.kollektiv-lab-person-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.kollektiv-lab-name {
  margin: 10px 0 0;
  font-family: "Chiron GoRound TC", "Trebuchet MS", sans-serif;
  font-size: 1.05rem;
  line-height: 1.2;
  color: #12243a;
}

.kollektiv-lab-role {
  margin: 8px 0 0;
  font-weight: 700;
  color: #2f4750;
  overflow-wrap: anywhere;
}

.kollektiv-lab-text {
  margin: 8px 0 0;
  color: #3a4a59;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.kollektiv-lab-list {
  margin: 10px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 8px;
}

.kollektiv-lab-list li {
  position: relative;
  padding-left: 20px;
  color: #344457;
  line-height: 1.44;
  overflow-wrap: anywhere;
}

.kollektiv-lab-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: linear-gradient(180deg, #66c98c 0%, #4d9e71 100%);
}

.kollektiv-lab-list--wide {
  margin-top: 14px;
}

.kollektiv-lab-values {
  margin-top: 12px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
}

.kollektiv-lab-value {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 10px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.9);
  padding: 10px 12px;
}

.kollektiv-lab-value .card-icon {
  margin: 0;
}

.kollektiv-lab-value-title {
  margin: 0;
  font-family: "Chiron GoRound TC", "Trebuchet MS", sans-serif;
  font-size: 1.02rem;
  line-height: 1.2;
  color: #11263b;
}

.kollektiv-lab-value-text {
  margin: 6px 0 0;
  color: #3f556b;
  line-height: 1.44;
  overflow-wrap: anywhere;
}

.shortstay-grid,
.fullstay-grid,
.programs-editorial-grid,
.kollektiv-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 18px;
}

.shortstay-visual {
  grid-column: span 4;
}

.shortstay-plan {
  grid-column: span 5;
}

.shortstay-highlights {
  grid-column: span 3;
}

.shortstay-title,
.fullstay-title,
.programs-editorial-title,
.kollektiv-title {
  margin: 0;
  font-family: "Chiron GoRound TC", "Trebuchet MS", sans-serif;
  font-size: clamp(1.06rem, 1.8vw, 1.35rem);
  line-height: 1.2;
}

.shortstay-meta,
.fullstay-meta,
.programs-editorial-sub,
.kollektiv-role {
  margin: 9px 0 0;
  font-weight: 700;
  color: #2f4750;
}

.shortstay-price,
.fullstay-price,
.programs-editorial-price {
  margin: 12px 0 0;
  font-size: 1.15rem;
  font-weight: 800;
}

.shortstay-note,
.fullstay-note {
  margin: 10px 0 0;
  color: var(--muted);
}

.shortstay-timeline,
.shortstay-list,
.fullstay-list,
.programs-notes-list,
.kollektiv-list,
.kollektiv-extra {
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}

.shortstay-timeline li,
.shortstay-list li,
.fullstay-list li,
.programs-notes-list li,
.kollektiv-list li,
.kollektiv-extra li {
  position: relative;
  padding-left: 24px;
  color: var(--muted);
  line-height: 1.45;
}

.shortstay-timeline li::before,
.shortstay-list li::before,
.fullstay-list li::before,
.programs-notes-list li::before,
.kollektiv-list li::before,
.kollektiv-extra li::before {
  content: "";
  position: absolute;
  top: 8px;
  left: 0;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: linear-gradient(180deg, #66c98c 0%, #4d9e71 100%);
}

.shortstay-time,
.fullstay-time {
  margin: 0;
  font-weight: 700;
  color: #22313d;
}

.shortstay-text,
.fullstay-text {
  margin: 4px 0 0;
  color: var(--muted);
}

.fullstay-lead {
  grid-column: span 4;
}

.fullstay-day {
  grid-column: span 5;
}

.fullstay-focus {
  grid-column: span 3;
}

.fullstay-day-grid {
  margin-top: 12px;
  display: grid;
  gap: 10px;
}

.fullstay-day-item {
  border-radius: 14px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  background: rgba(255, 255, 255, 0.92);
  padding: 10px 12px;
}

.programs-editorial-card--lead {
  grid-column: span 4;
}

.programs-editorial-card--facts {
  grid-column: span 5;
}

.programs-editorial-card--notes {
  grid-column: span 3;
}

.programs-editorial-head {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.programs-editorial-head .card-icon {
  margin: 0;
}

.programs-editorial-text {
  margin: 12px 0 0;
  color: var(--muted);
  line-height: 1.48;
}

.programs-facts-grid {
  margin-top: 12px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 10px;
}

.programs-fact {
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.9);
  padding: 10px 12px;
}

.programs-fact-label {
  margin: 0;
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: #3f4652;
  font-weight: 700;
}

.programs-fact-value {
  margin: 7px 0 0;
  color: var(--muted);
}

.kollektiv-team-grid {
  grid-column: span 8;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 14px;
}

.kollektiv-principles {
  grid-column: span 4;
}

.kollektiv-name {
  margin: 12px 0 0;
  font-family: "Chiron GoRound TC", "Trebuchet MS", sans-serif;
  font-size: 1.12rem;
  line-height: 1.22;
}

.kollektiv-text {
  margin: 10px 0 0;
  color: var(--muted);
}

.kollektiv-extra {
  margin-top: 12px;
}

.org-detail-title {
  margin: 0;
  font-family: "Chiron GoRound TC", "Trebuchet MS", sans-serif;
  font-size: clamp(1.06rem, 1.8vw, 1.34rem);
  line-height: 1.2;
}

.org-fact-stack {
  margin-top: 12px;
  display: grid;
  gap: 10px;
}

.org-fact-row {
  border-radius: 14px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  background: rgba(255, 255, 255, 0.9);
  padding: 10px 12px;
}

.org-fact-row-label {
  margin: 0;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: #3f4652;
  font-weight: 700;
}

.org-fact-row-value {
  margin: 7px 0 0;
  color: var(--muted);
  line-height: 1.42;
}

.org-lines-list {
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}

.org-lines-list li {
  position: relative;
  padding-left: 24px;
  color: var(--muted);
  line-height: 1.45;
}

.org-lines-list li::before {
  content: "";
  position: absolute;
  top: 8px;
  left: 0;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: linear-gradient(180deg, #66c98c 0%, #4d9e71 100%);
}

.org-lines-list--compact {
  margin-top: 8px;
  gap: 8px;
}

.org-lines-list--compact li {
  padding-left: 20px;
}

.org-lines-list--compact li::before {
  width: 8px;
  height: 8px;
  top: 9px;
}

.read-more-block {
  margin-top: 10px;
  padding: 8px 10px 10px;
  border-radius: 12px;
  border: 1px dashed rgba(15, 23, 42, 0.22);
  background: rgba(255, 255, 255, 0.74);
}

.read-more-block summary {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  cursor: pointer;
  list-style: none;
  font-size: 0.84rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  color: #185c3b;
}

.read-more-block summary::-webkit-details-marker {
  display: none;
}

.read-more-block summary::after {
  content: "▾";
  font-size: 0.76rem;
  line-height: 1;
  transform: translateY(1px);
  transition: transform 0.2s ease;
}

.read-more-block[open] summary::after {
  transform: rotate(180deg) translateY(-1px);
}

.read-more-block .org-lines-list,
.read-more-block .org-step-timeline,
.read-more-block .docs-lab-doc-list,
.read-more-block .docs-lab-notes,
.read-more-block .edu-lab-direction-list,
.read-more-block .edu-lab-quality-notes,
.read-more-block .ruk-lab-edu-list,
.read-more-block .ruk-lab-principles,
.read-more-block .ped-lab-list,
.read-more-block .ped-lab-standards {
  margin-top: 10px;
}

.read-more-block--docs {
  margin-top: 8px;
}

.org-step-timeline {
  margin: 14px 0 0;
  padding-left: 24px;
  display: grid;
  gap: 10px;
}

.org-step-timeline li {
  color: var(--muted);
  line-height: 1.45;
}

.org-contact-tile {
  border-radius: var(--radius-md);
}

.org-contact-lines {
  margin-top: 12px;
  display: grid;
  gap: 10px;
}

.org-contact-lines p {
  margin: 0;
  color: var(--muted);
}

.org-contact-lines a {
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1.5px;
}

.org-article-sections {
  margin-top: 10px;
  display: grid;
  gap: 14px;
}

.org-article-block {
  border-radius: 14px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  background: rgba(255, 255, 255, 0.9);
  padding: 12px 14px;
}

.org-article-block h4 {
  margin: 0;
  font-size: 0.98rem;
  font-weight: 800;
  color: #1f2937;
}

.osn-grid,
.struktura-grid,
.docs-grid-custom,
.edu-grid-custom,
.management-grid,
.staff-grid-custom,
.facilities-grid-custom,
.paid-grid-custom,
.finance-grid-custom,
.vacancies-grid-custom,
.support-grid-custom,
.intl-grid-custom,
.food-grid-custom,
.standards-grid-custom {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 18px;
}

.osn-card--passport,
.docs-card--list,
.management-card--person,
.staff-card--people,
.facilities-card--base,
.food-card--base,
.standards-card--base {
  grid-column: span 7;
}

.osn-card--facts,
.docs-card--notes,
.management-card--story,
.staff-card--qual,
.facilities-card--details,
.food-card--article,
.standards-card--list {
  grid-column: span 5;
}

.osn-card--extra,
.edu-card--extra,
.paid-card--rules,
.finance-card--extra,
.vacancies-card--steps,
.support-card--faq,
.intl-card--details {
  grid-column: span 7;
}

.osn-card--contacts,
.docs-card--contacts,
.management-card--contacts,
.staff-card--contacts,
.facilities-card--contacts,
.food-card--contacts,
.standards-card--contacts,
.edu-card--contacts,
.paid-card--contacts,
.finance-card--contacts,
.vacancies-card--contacts,
.support-card--contacts,
.intl-card--contacts {
  grid-column: span 5;
}

.struktura-card--contacts {
  grid-column: 1 / -1;
}

body[data-page="struktura_i_organy_upravleniya"] .struktura-card--contacts .org-contact-lines {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 18px;
}

.osn-chip {
  display: inline-flex;
  align-items: center;
  margin: 0 0 10px;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid rgba(20, 33, 47, 0.2);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  color: rgba(20, 33, 47, 0.78);
  background: rgba(255, 255, 255, 0.52);
}

.osn-passport-name {
  margin: 8px 0 0;
  font-size: clamp(1.02rem, 1.3vw, 1.16rem);
  font-weight: 700;
  line-height: 1.42;
  color: #152233;
  overflow-wrap: anywhere;
}

.osn-passport-founder {
  margin: 8px 0 0;
  font-size: 0.95rem;
  line-height: 1.5;
  color: rgba(20, 33, 47, 0.82);
  overflow-wrap: anywhere;
}

.osn-passport-founder strong {
  font-weight: 800;
  color: #152233;
}

.osn-quick-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.osn-quick-item {
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, 0.14);
  background: rgba(255, 255, 255, 0.74);
  padding: 10px 12px;
}

.osn-quick-label {
  margin: 0;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: rgba(20, 33, 47, 0.62);
}

.osn-quick-value {
  margin: 4px 0 0;
  font-size: 0.95rem;
  font-weight: 700;
  color: #18273a;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.osn-registry {
  display: grid;
  gap: 9px;
}

.osn-registry-row {
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, 0.13);
  background: rgba(255, 255, 255, 0.9);
  padding: 10px 12px;
}

.osn-registry-label {
  margin: 0;
  font-size: 0.82rem;
  font-weight: 700;
  color: rgba(20, 33, 47, 0.67);
}

.osn-registry-value {
  margin: 5px 0 0;
  font-size: 0.96rem;
  line-height: 1.45;
  color: #152233;
  overflow-wrap: anywhere;
}

.osn-status-list {
  margin: 6px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 9px;
}

.osn-status-list li {
  margin: 0;
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  background: rgba(255, 255, 255, 0.86);
  padding: 10px 12px;
  font-size: 0.95rem;
  line-height: 1.48;
  color: #1f2937;
  overflow-wrap: anywhere;
}

.struktura-chip {
  display: inline-flex;
  align-items: center;
  margin: 0 0 10px;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid rgba(20, 33, 47, 0.2);
  font-size: 0.78rem;
  font-weight: 700;
  color: rgba(20, 33, 47, 0.78);
  background: rgba(255, 255, 255, 0.54);
}

.struktura-pill-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.struktura-pill {
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, 0.14);
  background: rgba(255, 255, 255, 0.86);
  padding: 10px 12px;
}

.struktura-pill-label {
  margin: 0;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: rgba(20, 33, 47, 0.62);
}

.struktura-pill-value {
  margin: 5px 0 0;
  font-size: 0.95rem;
  line-height: 1.45;
  color: #152233;
  overflow-wrap: anywhere;
}

.struktura-rows {
  display: grid;
  gap: 9px;
}

.struktura-row {
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, 0.13);
  background: rgba(255, 255, 255, 0.88);
  padding: 10px 12px;
}

.struktura-row-label {
  margin: 0;
  font-size: 0.82rem;
  font-weight: 700;
  color: rgba(20, 33, 47, 0.67);
}

.struktura-row-value {
  margin: 5px 0 0;
  font-size: 0.96rem;
  line-height: 1.45;
  color: #152233;
  overflow-wrap: anywhere;
}

.struktura-notes {
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 9px;
}

.struktura-notes li {
  margin: 0;
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  background: rgba(255, 255, 255, 0.86);
  padding: 10px 12px;
  font-size: 0.95rem;
  line-height: 1.48;
  color: #1f2937;
  overflow-wrap: anywhere;
}

.facilities-lab-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 18px;
}

.facilities-lab-card--lead {
  grid-column: span 5;
}

.facilities-lab-card--zones {
  grid-column: span 7;
}

.facilities-lab-card--objects {
  grid-column: span 7;
}

.facilities-lab-card--access {
  grid-column: span 5;
}

.facilities-lab-card--contacts {
  grid-column: 1 / -1;
}

.facilities-lab-chip {
  display: inline-flex;
  align-items: center;
  margin: 0 0 10px;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid rgba(20, 33, 47, 0.2);
  font-size: 0.78rem;
  font-weight: 700;
  color: rgba(20, 33, 47, 0.78);
  background: rgba(255, 255, 255, 0.54);
}

.facilities-lab-lead {
  margin: 8px 0 0;
  max-width: 68ch;
  color: #1f2937;
  line-height: 1.56;
  overflow-wrap: anywhere;
}

.facilities-lab-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.facilities-lab-stat {
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, 0.13);
  background: rgba(255, 255, 255, 0.88);
  padding: 10px 12px;
}

.facilities-lab-stat-label {
  margin: 0;
  font-size: 0.78rem;
  font-weight: 700;
  color: rgba(20, 33, 47, 0.64);
}

.facilities-lab-stat-value {
  margin: 6px 0 0;
  font-size: 1.3rem;
  font-weight: 800;
  color: #17273b;
}

.facilities-lab-list,
.facilities-lab-access-list,
.facilities-lab-object-list {
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 9px;
}

.facilities-lab-list li,
.facilities-lab-access-list li,
.facilities-lab-object-list li {
  margin: 0;
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  background: rgba(255, 255, 255, 0.88);
  padding: 10px 12px;
  font-size: 0.95rem;
  line-height: 1.5;
  color: #1f2937;
  overflow-wrap: anywhere;
}

.facilities-lab-objects {
  display: grid;
  gap: 12px;
}

.facilities-lab-object {
  border-radius: 14px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  background: rgba(255, 255, 255, 0.92);
  padding: 12px;
}

.facilities-lab-object h4 {
  margin: 0;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.34;
  color: #152639;
  overflow-wrap: anywhere;
}

.facilities-lab-access-status {
  margin: 0;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  background: rgba(255, 255, 255, 0.86);
  font-size: 0.94rem;
  font-weight: 700;
  line-height: 1.45;
  color: #17273b;
  overflow-wrap: anywhere;
}

.facilities-lab-empty,
.facilities-lab-object-empty {
  margin: 10px 0 0;
  color: #4b5563;
}

body[data-page="materialno-tehnicheskoe_obespechenie_i_osnashchennost_obrazovatelnogo_processa_dostupnaya_sreda"] .facilities-lab-card--contacts .org-contact-lines {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 18px;
}

.paid-lab-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 18px;
}

.paid-lab-card--lead {
  grid-column: span 4;
}

.paid-lab-card--services {
  grid-column: span 8;
}

.paid-lab-card--docs {
  grid-column: span 6;
}

.paid-lab-card--rules {
  grid-column: span 6;
}

.paid-lab-card--contacts {
  grid-column: 1 / -1;
}

.paid-lab-chip {
  display: inline-flex;
  align-items: center;
  margin: 0 0 10px;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid rgba(20, 33, 47, 0.2);
  font-size: 0.78rem;
  font-weight: 700;
  color: rgba(20, 33, 47, 0.78);
  background: rgba(255, 255, 255, 0.54);
}

.paid-lab-lead {
  margin: 8px 0 0;
  max-width: 66ch;
  color: #1f2937;
  line-height: 1.56;
  overflow-wrap: anywhere;
}

.paid-lab-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.paid-lab-stat {
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, 0.13);
  background: rgba(255, 255, 255, 0.88);
  padding: 10px 12px;
}

.paid-lab-stat-label {
  margin: 0;
  font-size: 0.78rem;
  font-weight: 700;
  color: rgba(20, 33, 47, 0.64);
}

.paid-lab-stat-value {
  margin: 6px 0 0;
  font-size: 1.28rem;
  font-weight: 800;
  color: #17273b;
}

.paid-lab-services {
  display: grid;
  gap: 10px;
}

.paid-lab-service {
  border-radius: 14px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  background: rgba(255, 255, 255, 0.9);
  padding: 12px;
}

.paid-lab-service-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.paid-lab-service-head h4 {
  margin: 0;
  font-size: 1.02rem;
  font-weight: 800;
  line-height: 1.35;
  color: #152639;
  overflow-wrap: anywhere;
}

.paid-lab-service-price {
  margin: 0;
  display: inline-flex;
  width: fit-content;
  padding: 6px 11px;
  border-radius: 999px;
  border: 1px solid rgba(15, 23, 42, 0.16);
  background: rgba(255, 255, 255, 0.94);
  font-size: 0.82rem;
  font-weight: 800;
  line-height: 1.2;
  color: #14532d;
  white-space: nowrap;
}

.paid-lab-service-note {
  margin: 9px 0 0;
  font-size: 0.92rem;
  line-height: 1.5;
  color: #334155;
  overflow-wrap: anywhere;
}

.paid-lab-docs,
.paid-lab-rules {
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 9px;
}

.paid-lab-docs li,
.paid-lab-rules li {
  margin: 0;
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  background: rgba(255, 255, 255, 0.88);
  padding: 10px 12px;
  font-size: 0.94rem;
  line-height: 1.5;
  color: #1f2937;
  overflow-wrap: anywhere;
}

.paid-lab-docs span {
  display: block;
  font-weight: 800;
}

.paid-lab-docs small,
.finance-lab-doc-desc {
  display: block;
  margin-top: 4px;
  color: #475569;
  font-size: 0.82rem;
  line-height: 1.45;
}

.paid-lab-doc-link,
.finance-lab-doc-link {
  margin-top: 9px;
  width: fit-content;
}

.paid-lab-empty {
  margin: 10px 0 0;
  color: #4b5563;
}

body[data-page="platnye_obrazovatelnye_uslugi"] .paid-lab-card--contacts .org-contact-lines {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 18px;
}

.finance-lab-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 18px;
}

.finance-lab-card--lead {
  grid-column: span 5;
}

.finance-lab-card--docs {
  grid-column: span 7;
}

.finance-lab-card--transparency {
  grid-column: span 7;
}

.finance-lab-card--contacts {
  grid-column: span 5;
}

.finance-lab-chip {
  display: inline-flex;
  align-items: center;
  margin: 0 0 10px;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid rgba(20, 33, 47, 0.2);
  font-size: 0.78rem;
  font-weight: 700;
  color: rgba(20, 33, 47, 0.78);
  background: rgba(255, 255, 255, 0.54);
}

.finance-lab-lead {
  margin: 8px 0 0;
  max-width: 66ch;
  color: #1f2937;
  line-height: 1.56;
  overflow-wrap: anywhere;
}

.finance-lab-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.finance-lab-stat {
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, 0.13);
  background: rgba(255, 255, 255, 0.88);
  padding: 10px 12px;
}

.finance-lab-stat-label {
  margin: 0;
  font-size: 0.78rem;
  font-weight: 700;
  color: rgba(20, 33, 47, 0.64);
}

.finance-lab-stat-value {
  margin: 6px 0 0;
  font-size: 1.28rem;
  font-weight: 800;
  color: #17273b;
}

.finance-lab-docs {
  display: grid;
  gap: 10px;
}

.finance-lab-doc {
  border-radius: 14px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  background: rgba(255, 255, 255, 0.9);
  padding: 11px 12px;
}

.finance-lab-doc-head {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 7px;
}

.finance-lab-doc-type,
.finance-lab-doc-year {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 9px;
  border-radius: 999px;
  border: 1px solid rgba(15, 23, 42, 0.16);
  background: rgba(255, 255, 255, 0.94);
  font-size: 0.76rem;
  font-weight: 800;
  color: #1f2937;
}

.finance-lab-doc-title {
  margin: 0;
  font-size: 0.94rem;
  line-height: 1.48;
  color: #17273b;
  overflow-wrap: anywhere;
}

.finance-lab-notes {
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 9px;
}

.finance-lab-notes li {
  margin: 0;
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  background: rgba(255, 255, 255, 0.88);
  padding: 10px 12px;
  font-size: 0.94rem;
  line-height: 1.5;
  color: #1f2937;
  overflow-wrap: anywhere;
}

.finance-lab-empty {
  margin: 10px 0 0;
  color: #4b5563;
}

body[data-page="finansovo-hozyaystvennaya_deyatelnost"] .finance-lab-card--contacts .org-contact-lines {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 18px;
}

.vacancies-lab-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 18px;
}

.vacancies-lab-card--status {
  grid-column: span 5;
}

.vacancies-lab-card--steps {
  grid-column: span 7;
}

.vacancies-lab-card--docs {
  grid-column: span 7;
}

.vacancies-lab-card--notes {
  grid-column: span 5;
}

.vacancies-lab-card--contacts {
  grid-column: 1 / -1;
}

.vacancies-lab-chip {
  display: inline-flex;
  align-items: center;
  margin: 0 0 10px;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid rgba(20, 33, 47, 0.2);
  font-size: 0.78rem;
  font-weight: 700;
  color: rgba(20, 33, 47, 0.78);
  background: rgba(255, 255, 255, 0.54);
}

.vacancies-lab-status {
  margin: 0;
  display: inline-flex;
  width: fit-content;
  padding: 7px 12px;
  border-radius: 999px;
  border: 1px solid rgba(15, 23, 42, 0.16);
  background: rgba(255, 255, 255, 0.92);
  font-size: 0.82rem;
  font-weight: 800;
  line-height: 1.2;
}

.vacancies-lab-status--closed {
  color: #7f1d1d;
  border-color: rgba(220, 38, 38, 0.28);
  background: #fff3f3;
}

.vacancies-lab-status--open {
  color: #14532d;
  border-color: rgba(22, 163, 74, 0.28);
  background: #f2fff4;
}

.vacancies-lab-status-line {
  margin: 10px 0 0;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.45;
  color: #152639;
  overflow-wrap: anywhere;
}

.vacancies-lab-status-note {
  margin: 8px 0 0;
  font-size: 0.94rem;
  line-height: 1.52;
  color: #334155;
  overflow-wrap: anywhere;
}

.vacancies-lab-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.vacancies-lab-stat {
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, 0.13);
  background: rgba(255, 255, 255, 0.88);
  padding: 10px 12px;
}

.vacancies-lab-stat-label {
  margin: 0;
  font-size: 0.78rem;
  font-weight: 700;
  color: rgba(20, 33, 47, 0.64);
}

.vacancies-lab-stat-value {
  margin: 6px 0 0;
  font-size: 1.22rem;
  font-weight: 800;
  color: #17273b;
}

.vacancies-lab-docs-memo {
  margin: 0;
  font-size: 0.94rem;
  line-height: 1.52;
  color: #334155;
  overflow-wrap: anywhere;
}

.vacancies-lab-steps {
  margin-top: 12px;
  display: grid;
  gap: 10px;
}

.vacancies-lab-step {
  border-radius: 14px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  background: rgba(255, 255, 255, 0.9);
  padding: 11px 12px;
}

.vacancies-lab-step-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: center;
}

.vacancies-lab-step-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 10px;
  border: 1px solid rgba(15, 23, 42, 0.16);
  background: rgba(255, 255, 255, 0.95);
  font-size: 0.84rem;
  font-weight: 900;
  color: #14532d;
}

.vacancies-lab-step-head h4 {
  margin: 0;
  font-size: 0.98rem;
  font-weight: 800;
  line-height: 1.38;
  color: #152639;
  overflow-wrap: anywhere;
}

.vacancies-lab-step-list,
.vacancies-lab-doc-list,
.vacancies-lab-notes {
  margin: 10px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 8px;
}

.vacancies-lab-step-list li,
.vacancies-lab-doc-list li,
.vacancies-lab-notes li {
  margin: 0;
  border-radius: 10px;
  border: 1px solid rgba(15, 23, 42, 0.11);
  background: rgba(255, 255, 255, 0.88);
  padding: 9px 11px;
  font-size: 0.92rem;
  line-height: 1.48;
  color: #1f2937;
  overflow-wrap: anywhere;
}

.vacancies-lab-gosuslugi {
  margin: 12px 0 0;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, 0.14);
  background: rgba(255, 255, 255, 0.9);
  font-size: 0.92rem;
  line-height: 1.5;
  color: #1f2937;
  overflow-wrap: anywhere;
}

.vacancies-lab-fallback {
  margin-top: 12px;
}

.vacancies-lab-empty {
  margin: 10px 0 0;
  color: #4b5563;
}

body[data-page="vakantnye_mesta_dlya_priema_perevoda"] .vacancies-lab-card--contacts .org-contact-lines {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 18px;
}

.support-lab-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 18px;
}

.support-lab-card--lead {
  grid-column: span 5;
}

.support-lab-card--facts {
  grid-column: span 7;
}

.support-lab-card--explain {
  grid-column: span 7;
}

.support-lab-card--faq {
  grid-column: span 5;
}

.support-lab-card--contacts {
  grid-column: 1 / -1;
}

.support-lab-chip {
  display: inline-flex;
  align-items: center;
  margin: 0 0 10px;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid rgba(20, 33, 47, 0.2);
  font-size: 0.78rem;
  font-weight: 700;
  color: rgba(20, 33, 47, 0.78);
  background: rgba(255, 255, 255, 0.54);
}

.support-lab-status {
  margin: 0;
  display: inline-flex;
  width: fit-content;
  padding: 7px 12px;
  border-radius: 999px;
  border: 1px solid rgba(220, 38, 38, 0.28);
  background: #fff3f3;
  font-size: 0.82rem;
  font-weight: 800;
  line-height: 1.2;
  color: #7f1d1d;
}

.support-lab-lead {
  margin: 10px 0 0;
  max-width: 66ch;
  font-size: 0.95rem;
  line-height: 1.56;
  color: #1f2937;
  overflow-wrap: anywhere;
}

.support-lab-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.support-lab-metric {
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, 0.13);
  background: rgba(255, 255, 255, 0.88);
  padding: 10px 12px;
}

.support-lab-metric-label {
  margin: 0;
  font-size: 0.78rem;
  font-weight: 700;
  color: rgba(20, 33, 47, 0.64);
}

.support-lab-metric-value {
  margin: 6px 0 0;
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.4;
  color: #17273b;
  overflow-wrap: anywhere;
}

.support-lab-facts {
  display: grid;
  gap: 10px;
}

.support-lab-fact {
  border-radius: 14px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  background: rgba(255, 255, 255, 0.9);
  padding: 10px 12px;
}

.support-lab-fact-label {
  margin: 0;
  font-size: 0.8rem;
  font-weight: 700;
  color: rgba(20, 33, 47, 0.64);
}

.support-lab-fact-value {
  margin: 6px 0 0;
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.45;
  color: #152639;
  overflow-wrap: anywhere;
}

.support-lab-lines {
  margin: 10px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 8px;
}

.support-lab-lines li {
  margin: 0;
  border-radius: 10px;
  border: 1px solid rgba(15, 23, 42, 0.11);
  background: rgba(255, 255, 255, 0.88);
  padding: 9px 11px;
  font-size: 0.92rem;
  line-height: 1.48;
  color: #1f2937;
  overflow-wrap: anywhere;
}

.support-lab-faq {
  display: grid;
  gap: 10px;
}

.support-lab-faq-item {
  border-radius: 14px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  background: rgba(255, 255, 255, 0.9);
  padding: 10px 12px;
}

.support-lab-faq-q {
  margin: 0;
  font-size: 0.9rem;
  font-weight: 800;
  line-height: 1.42;
  color: #17273b;
}

.support-lab-faq-a {
  margin: 7px 0 0;
  font-size: 0.92rem;
  line-height: 1.5;
  color: #334155;
  overflow-wrap: anywhere;
}

.support-lab-empty {
  margin: 10px 0 0;
  color: #4b5563;
}

body[data-page="stipendii_i_inye_mery_materialnoy_podderzhki"] .support-lab-card--contacts .org-contact-lines {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 18px;
}

.food-lab-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 18px;
}

.food-lab-card--lead {
  grid-column: span 5;
}

.food-lab-card--principles {
  grid-column: span 7;
}

.food-lab-card--safety {
  grid-column: span 7;
}

.food-lab-card--docs {
  grid-column: span 5;
}

.food-lab-card--contacts {
  grid-column: 1 / -1;
}

.food-lab-chip {
  display: inline-flex;
  align-items: center;
  margin: 0 0 10px;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid rgba(20, 33, 47, 0.2);
  font-size: 0.78rem;
  font-weight: 700;
  color: rgba(20, 33, 47, 0.78);
  background: rgba(255, 255, 255, 0.54);
}

.food-lab-lead {
  margin: 8px 0 0;
  color: #27364b;
  line-height: 1.56;
  overflow-wrap: anywhere;
}

.food-lab-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.food-lab-metric {
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, 0.13);
  background: rgba(255, 255, 255, 0.88);
  padding: 10px 12px;
}

.food-lab-metric-label {
  margin: 0;
  font-size: 0.78rem;
  font-weight: 700;
  color: rgba(20, 33, 47, 0.64);
}

.food-lab-metric-value {
  margin: 6px 0 0;
  font-size: 0.92rem;
  font-weight: 700;
  line-height: 1.42;
  color: #17273b;
  overflow-wrap: anywhere;
}

.food-lab-principles,
.food-lab-docs {
  margin: 10px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 8px;
}

.food-lab-principles li,
.food-lab-docs li {
  margin: 0;
  border-radius: 10px;
  border: 1px solid rgba(15, 23, 42, 0.11);
  background: rgba(255, 255, 255, 0.88);
  padding: 9px 11px;
  font-size: 0.91rem;
  line-height: 1.48;
  color: #1f2937;
  overflow-wrap: anywhere;
}

.food-lab-rules {
  margin-top: 10px;
  display: grid;
  gap: 8px;
}

.food-lab-rules p {
  margin: 0;
  border-radius: 10px;
  border: 1px solid rgba(15, 23, 42, 0.11);
  background: rgba(255, 255, 255, 0.87);
  padding: 9px 11px;
  font-size: 0.9rem;
  line-height: 1.48;
  color: #334155;
  overflow-wrap: anywhere;
}

.food-lab-steps {
  display: grid;
  gap: 10px;
}

.food-lab-step {
  border-radius: 14px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  background: rgba(255, 255, 255, 0.9);
  padding: 10px 12px;
}

.food-lab-step-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 10px;
}

.food-lab-step-number {
  margin: 0;
  min-width: 28px;
  height: 28px;
  border-radius: 999px;
  border: 1px solid rgba(15, 23, 42, 0.2);
  background: rgba(255, 255, 255, 0.95);
  font-size: 0.83rem;
  font-weight: 800;
  line-height: 26px;
  text-align: center;
  color: #17273b;
}

.food-lab-step-head h4 {
  margin: 1px 0 0;
  font-size: 0.94rem;
  font-weight: 700;
  line-height: 1.4;
  color: #17273b;
  overflow-wrap: anywhere;
}

.food-lab-step-text {
  margin: 8px 0 0;
  font-size: 0.92rem;
  line-height: 1.5;
  color: #334155;
  overflow-wrap: anywhere;
}

.food-lab-empty {
  margin: 10px 0 0;
  color: #4b5563;
}

body[data-page="organizaciya_pitaniya"] .food-lab-card--contacts .org-contact-lines {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 18px;
}

.standards-lab-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 18px;
}

.standards-lab-card--lead {
  grid-column: span 5;
}

.standards-lab-card--framework {
  grid-column: span 7;
}

.standards-lab-card--docs {
  grid-column: span 7;
}

.standards-lab-card--practice {
  grid-column: span 5;
}

.standards-lab-card--contacts {
  grid-column: 1 / -1;
}

.standards-lab-chip {
  display: inline-flex;
  align-items: center;
  margin: 0 0 10px;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid rgba(20, 33, 47, 0.2);
  font-size: 0.78rem;
  font-weight: 700;
  color: rgba(20, 33, 47, 0.78);
  background: rgba(255, 255, 255, 0.54);
}

.standards-lab-lead {
  margin: 8px 0 0;
  color: #27364b;
  line-height: 1.56;
  overflow-wrap: anywhere;
}

.standards-lab-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.standards-lab-metric {
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, 0.13);
  background: rgba(255, 255, 255, 0.88);
  padding: 10px 12px;
}

.standards-lab-metric-label {
  margin: 0;
  font-size: 0.78rem;
  font-weight: 700;
  color: rgba(20, 33, 47, 0.64);
}

.standards-lab-metric-value {
  margin: 6px 0 0;
  font-size: 0.92rem;
  font-weight: 700;
  line-height: 1.42;
  color: #17273b;
  overflow-wrap: anywhere;
}

.standards-lab-frameworks {
  display: grid;
  gap: 10px;
}

.standards-lab-framework {
  border-radius: 14px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  background: rgba(255, 255, 255, 0.9);
  padding: 10px 12px;
}

.standards-lab-framework-title {
  margin: 0;
  font-size: 0.82rem;
  font-weight: 700;
  color: rgba(20, 33, 47, 0.64);
}

.standards-lab-framework-text {
  margin: 6px 0 0;
  font-size: 0.93rem;
  line-height: 1.48;
  color: #1f2937;
  overflow-wrap: anywhere;
}

.standards-lab-docs,
.standards-lab-practice {
  margin: 10px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 8px;
}

.standards-lab-docs li,
.standards-lab-practice li {
  margin: 0;
  border-radius: 10px;
  border: 1px solid rgba(15, 23, 42, 0.11);
  background: rgba(255, 255, 255, 0.88);
  padding: 9px 11px;
  font-size: 0.91rem;
  line-height: 1.48;
  color: #1f2937;
  overflow-wrap: anywhere;
}

.standards-lab-status {
  margin-top: 10px;
}

.standards-lab-status p {
  margin: 0;
  border-radius: 10px;
  border: 1px solid rgba(15, 23, 42, 0.11);
  background: rgba(255, 255, 255, 0.87);
  padding: 9px 11px;
  font-size: 0.9rem;
  line-height: 1.48;
  color: #334155;
  overflow-wrap: anywhere;
}

.standards-lab-empty {
  margin: 10px 0 0;
  color: #4b5563;
}

body[data-page="obrazovatelnye_standarty_i_trebovaniya"] .standards-lab-card--contacts .org-contact-lines {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 18px;
}

.intl-lab-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 18px;
}

.intl-lab-card--status {
  grid-column: span 5;
}

.intl-lab-card--agreements {
  grid-column: span 7;
}

.intl-lab-card--details {
  grid-column: span 7;
}

.intl-lab-card--faq {
  grid-column: span 5;
}

.intl-lab-card--contacts {
  grid-column: 1 / -1;
}

.intl-lab-chip {
  display: inline-flex;
  align-items: center;
  margin: 0 0 10px;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid rgba(20, 33, 47, 0.2);
  font-size: 0.78rem;
  font-weight: 700;
  color: rgba(20, 33, 47, 0.78);
  background: rgba(255, 255, 255, 0.54);
}

.intl-lab-lead {
  margin: 4px 0 0;
  color: #27364b;
  line-height: 1.56;
  overflow-wrap: anywhere;
}

.intl-lab-badges {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.intl-lab-badge {
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, 0.13);
  background: rgba(255, 255, 255, 0.88);
  padding: 10px 12px;
}

.intl-lab-badge-label {
  margin: 0;
  font-size: 0.78rem;
  font-weight: 700;
  color: rgba(20, 33, 47, 0.64);
}

.intl-lab-badge-value {
  margin: 6px 0 0;
  font-size: 0.92rem;
  font-weight: 700;
  line-height: 1.4;
  color: #17273b;
  overflow-wrap: anywhere;
}

.intl-lab-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.intl-lab-stat {
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, 0.13);
  background: rgba(255, 255, 255, 0.88);
  padding: 10px 12px;
}

.intl-lab-stat-label {
  margin: 0;
  font-size: 0.78rem;
  font-weight: 700;
  color: rgba(20, 33, 47, 0.64);
}

.intl-lab-stat-value {
  margin: 6px 0 0;
  font-size: 0.92rem;
  font-weight: 700;
  line-height: 1.4;
  color: #17273b;
  overflow-wrap: anywhere;
}

.intl-lab-points {
  display: grid;
  gap: 10px;
  margin-top: 10px;
}

.intl-lab-summary {
  margin: 4px 0 0;
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, 0.11);
  background: rgba(255, 255, 255, 0.85);
  padding: 10px 12px;
  font-size: 0.92rem;
  line-height: 1.52;
  color: #1f2937;
  overflow-wrap: anywhere;
}

.intl-lab-point {
  border-radius: 14px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  background: rgba(255, 255, 255, 0.9);
  padding: 10px 12px;
}

.intl-lab-point-title {
  margin: 0;
  font-size: 0.82rem;
  font-weight: 700;
  color: rgba(20, 33, 47, 0.64);
}

.intl-lab-point-value {
  margin: 6px 0 0;
  font-size: 0.95rem;
  line-height: 1.5;
  color: #1f2937;
  overflow-wrap: anywhere;
}

.intl-lab-legal-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 10px;
}

.intl-lab-legal-item {
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, 0.11);
  background: rgba(255, 255, 255, 0.88);
  padding: 10px 11px;
}

.intl-lab-legal-title {
  margin: 0;
  font-size: 0.79rem;
  font-weight: 700;
  color: rgba(20, 33, 47, 0.66);
}

.intl-lab-legal-text {
  margin: 6px 0 0;
  font-size: 0.9rem;
  line-height: 1.5;
  color: #334155;
  overflow-wrap: anywhere;
}

.intl-lab-note-list {
  margin: 10px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 8px;
}

.intl-lab-note-list li {
  margin: 0;
  border-radius: 10px;
  border: 1px solid rgba(15, 23, 42, 0.11);
  background: rgba(255, 255, 255, 0.87);
  padding: 9px 11px;
  font-size: 0.9rem;
  line-height: 1.48;
  color: #334155;
  overflow-wrap: anywhere;
}

.intl-lab-faq {
  display: grid;
  gap: 10px;
}

.intl-lab-faq-item {
  border-radius: 14px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  background: rgba(255, 255, 255, 0.9);
  padding: 10px 12px;
}

.intl-lab-faq-q {
  margin: 0;
  font-size: 0.9rem;
  font-weight: 800;
  line-height: 1.42;
  color: #17273b;
}

.intl-lab-faq-a {
  margin: 7px 0 0;
  font-size: 0.92rem;
  line-height: 1.5;
  color: #334155;
  overflow-wrap: anywhere;
}

.intl-lab-empty {
  margin: 10px 0 0;
  color: #4b5563;
}

body[data-page="mezhdunarodnoe_sotrudnichestvo"] .intl-lab-card--contacts .org-contact-lines {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 18px;
}

.docs-lab-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 18px;
}

.docs-lab-card--summary {
  grid-column: span 4;
}

.docs-lab-card--catalog {
  grid-column: span 8;
}

.docs-lab-card--notes {
  grid-column: span 7;
}

.docs-lab-card--contacts {
  grid-column: span 5;
}

.docs-lab-chip {
  display: inline-flex;
  align-items: center;
  margin: 0 0 10px;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid rgba(20, 33, 47, 0.2);
  font-size: 0.78rem;
  font-weight: 700;
  color: rgba(20, 33, 47, 0.78);
  background: rgba(255, 255, 255, 0.54);
}

.docs-lab-lead {
  margin: 8px 0 0;
  max-width: 68ch;
  color: #27364b;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.docs-lab-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.docs-lab-stat {
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, 0.14);
  background: rgba(255, 255, 255, 0.86);
  padding: 10px 12px;
}

.docs-lab-stat-label {
  margin: 0;
  font-size: 0.78rem;
  font-weight: 700;
  color: rgba(20, 33, 47, 0.65);
}

.docs-lab-stat-value {
  margin: 5px 0 0;
  font-size: 1.24rem;
  font-weight: 800;
  color: #17273b;
}

.docs-lab-groups {
  display: grid;
  gap: 12px;
}

.docs-lab-group {
  border-radius: 14px;
  border: 1px solid rgba(15, 23, 42, 0.14);
  background: rgba(255, 255, 255, 0.9);
  padding: 12px;
}

.docs-lab-group-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.docs-lab-group-head h4 {
  margin: 0;
  font-size: 1rem;
  line-height: 1.3;
  color: #17273b;
}

.docs-lab-group-head span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  height: 28px;
  border-radius: 999px;
  border: 1px solid rgba(15, 23, 42, 0.18);
  background: rgba(255, 255, 255, 0.82);
  font-size: 0.82rem;
  font-weight: 700;
  color: #1f2937;
}

.docs-lab-doc-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 9px;
}

.docs-lab-doc-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px 12px;
  align-items: start;
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, 0.1);
  background: rgba(255, 255, 255, 0.92);
  padding: 10px 11px;
}

.docs-lab-doc-main {
  min-width: 0;
}

.docs-lab-doc-name {
  margin: 0;
  font-size: 0.96rem;
  font-weight: 700;
  line-height: 1.4;
  color: #17273b;
  overflow-wrap: anywhere;
}

.docs-lab-doc-desc {
  margin: 4px 0 0;
  font-size: 0.88rem;
  line-height: 1.45;
  color: #4b5563;
  overflow-wrap: anywhere;
}

.docs-lab-doc-btn {
  margin-top: 1px;
  white-space: nowrap;
}

.docs-lab-doc-tag {
  display: inline-flex;
  align-items: center;
  height: 32px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px dashed rgba(15, 23, 42, 0.28);
  font-size: 0.78rem;
  font-weight: 700;
  color: #374151;
  background: rgba(255, 255, 255, 0.7);
  white-space: nowrap;
}

.docs-lab-notes {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 9px;
}

.docs-lab-notes li {
  margin: 0;
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  background: rgba(255, 255, 255, 0.88);
  padding: 10px 12px;
  font-size: 0.95rem;
  line-height: 1.48;
  color: #1f2937;
  overflow-wrap: anywhere;
}

body[data-page="dokumenty"] .docs-lab-card--contacts .org-contact-lines {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 18px;
}

.edu-lab-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 18px;
}

.edu-lab-card--overview {
  grid-column: span 5;
}

.edu-lab-card--enrollment {
  grid-column: span 7;
}

.edu-lab-card--directions {
  grid-column: span 7;
}

.edu-lab-card--quality {
  grid-column: span 5;
}

.edu-lab-card--contacts {
  grid-column: 1 / -1;
}

.edu-lab-chip {
  display: inline-flex;
  align-items: center;
  margin: 0 0 10px;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid rgba(20, 33, 47, 0.2);
  font-size: 0.78rem;
  font-weight: 700;
  color: rgba(20, 33, 47, 0.78);
  background: rgba(255, 255, 255, 0.54);
}

.edu-lab-kv {
  display: grid;
  gap: 9px;
}

.edu-lab-kv-row {
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  background: rgba(255, 255, 255, 0.88);
  padding: 10px 12px;
}

.edu-lab-kv-label {
  margin: 0;
  font-size: 0.8rem;
  font-weight: 700;
  color: rgba(20, 33, 47, 0.66);
}

.edu-lab-kv-value {
  margin: 4px 0 0;
  font-size: 0.96rem;
  font-weight: 700;
  color: #162639;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.edu-lab-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.edu-lab-metric {
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  background: rgba(255, 255, 255, 0.9);
  padding: 10px 11px;
}

.edu-lab-metric-label {
  margin: 0;
  font-size: 0.78rem;
  font-weight: 700;
  color: rgba(20, 33, 47, 0.65);
}

.edu-lab-metric-value {
  margin: 6px 0 0;
  font-size: 1.36rem;
  font-weight: 800;
  color: #18283c;
  line-height: 1.1;
}

.edu-lab-enrollment-note {
  margin: 12px 0 0;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  background: rgba(255, 255, 255, 0.86);
  font-size: 0.93rem;
  line-height: 1.48;
  color: #1f2937;
  overflow-wrap: anywhere;
}

.edu-lab-program-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}

.edu-lab-program-tags span,
.edu-lab-program-tags a {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid rgba(15, 23, 42, 0.18);
  background: rgba(255, 255, 255, 0.9);
  font-size: 0.8rem;
  font-weight: 700;
  color: #1f2937;
  text-decoration: none;
}

.edu-lab-direction-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 9px;
}

.edu-lab-direction-list li {
  margin: 0;
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  background: rgba(255, 255, 255, 0.86);
  padding: 10px 12px;
  font-size: 0.95rem;
  line-height: 1.48;
  color: #1f2937;
  overflow-wrap: anywhere;
}

.edu-lab-empty {
  margin: 0;
  color: #374151;
}

.edu-lab-quality-lead {
  margin: 0;
  max-width: 68ch;
  color: #1f2937;
  line-height: 1.56;
  overflow-wrap: anywhere;
}

.edu-lab-quality-notes {
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 9px;
}

.edu-lab-quality-notes li {
  margin: 0;
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  background: rgba(255, 255, 255, 0.86);
  padding: 10px 12px;
  font-size: 0.95rem;
  line-height: 1.48;
  color: #1f2937;
  overflow-wrap: anywhere;
}

body[data-page="obrazovanie"] .edu-lab-card--contacts .org-contact-lines {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 18px;
}

.ruk-lab-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 18px;
}

.ruk-lab-card--profile {
  grid-column: span 5;
}

.ruk-lab-card--bio {
  grid-column: span 7;
}

.ruk-lab-card--principles {
  grid-column: span 7;
}

.ruk-lab-card--contacts {
  grid-column: 1 / -1;
}

.ruk-lab-chip {
  display: inline-flex;
  align-items: center;
  margin: 0 0 10px;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid rgba(20, 33, 47, 0.2);
  font-size: 0.78rem;
  font-weight: 700;
  color: rgba(20, 33, 47, 0.78);
  background: rgba(255, 255, 255, 0.54);
}

.ruk-lab-name {
  margin: 0;
  font-size: clamp(1.18rem, 1.8vw, 1.42rem);
  font-weight: 800;
  line-height: 1.26;
  color: #142436;
  overflow-wrap: anywhere;
}

.ruk-lab-role {
  margin: 6px 0 0;
  font-size: 0.95rem;
  font-weight: 700;
  color: #263449;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.ruk-lab-lead {
  margin: 12px 0 0;
  max-width: 68ch;
  font-size: 0.96rem;
  line-height: 1.55;
  color: #1f2937;
  overflow-wrap: anywhere;
}

.ruk-lab-badges {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.ruk-lab-badge {
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, 0.13);
  background: rgba(255, 255, 255, 0.88);
  padding: 9px 11px;
}

.ruk-lab-badge-label {
  margin: 0;
  font-size: 0.78rem;
  font-weight: 700;
  color: rgba(20, 33, 47, 0.64);
}

.ruk-lab-badge-value {
  margin: 5px 0 0;
  font-size: 0.94rem;
  font-weight: 700;
  color: #17273b;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.ruk-lab-bio-wrap {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
  gap: 12px;
  align-items: start;
}

.ruk-lab-photo {
  margin: 0;
  aspect-ratio: 4 / 5;
}

.ruk-lab-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ruk-lab-bio-content {
  min-width: 0;
}

.ruk-lab-edu-list,
.ruk-lab-principles {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 9px;
}

.ruk-lab-edu-list li,
.ruk-lab-principles li {
  margin: 0;
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  background: rgba(255, 255, 255, 0.88);
  padding: 10px 12px;
  font-size: 0.94rem;
  line-height: 1.5;
  color: #1f2937;
  overflow-wrap: anywhere;
}

.ruk-lab-empty {
  margin: 0;
  color: #4b5563;
}

body[data-page="rukovodstvo"] .ruk-lab-card--contacts .org-contact-lines {
  grid-template-columns: 1fr;
}

.ped-lab-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 18px;
}

.ped-lab-card--summary {
  grid-column: span 4;
}

.ped-lab-card--team {
  grid-column: span 8;
}

.ped-lab-card--standards {
  grid-column: span 7;
}

.ped-lab-card--contacts {
  grid-column: 1 / -1;
}

.ped-lab-chip {
  display: inline-flex;
  align-items: center;
  margin: 0 0 10px;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid rgba(20, 33, 47, 0.2);
  font-size: 0.78rem;
  font-weight: 700;
  color: rgba(20, 33, 47, 0.78);
  background: rgba(255, 255, 255, 0.54);
}

.ped-lab-lead {
  margin: 8px 0 0;
  max-width: 68ch;
  color: #1f2937;
  line-height: 1.54;
  overflow-wrap: anywhere;
}

.ped-lab-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.ped-lab-stat {
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, 0.13);
  background: rgba(255, 255, 255, 0.88);
  padding: 10px 12px;
}

.ped-lab-stat-label {
  margin: 0;
  font-size: 0.78rem;
  font-weight: 700;
  color: rgba(20, 33, 47, 0.64);
}

.ped-lab-stat-value {
  margin: 6px 0 0;
  font-size: 1.3rem;
  font-weight: 800;
  color: #17273b;
}

.ped-lab-people {
  display: grid;
  gap: 12px;
}

.ped-lab-person {
  border-radius: 14px;
  border: 1px solid rgba(15, 23, 42, 0.13);
  background: rgba(255, 255, 255, 0.9);
  padding: 12px;
}

.ped-lab-person-head h4 {
  margin: 0;
  font-size: 1.08rem;
  line-height: 1.3;
  color: #152639;
  overflow-wrap: anywhere;
}

.ped-lab-person-head p {
  margin: 5px 0 0;
  font-size: 0.92rem;
  font-weight: 700;
  color: #314056;
  overflow-wrap: anywhere;
}

.ped-lab-person-details {
  margin: 9px 0 0;
  max-width: 72ch;
  font-size: 0.94rem;
  line-height: 1.5;
  color: #1f2937;
  overflow-wrap: anywhere;
}

.ped-lab-inline-list,
.ped-lab-list,
.ped-lab-standards {
  margin: 10px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 8px;
}

.ped-lab-inline-list li,
.ped-lab-list li,
.ped-lab-standards li {
  margin: 0;
  border-radius: 10px;
  border: 1px solid rgba(15, 23, 42, 0.11);
  background: rgba(255, 255, 255, 0.87);
  padding: 9px 11px;
  font-size: 0.92rem;
  line-height: 1.48;
  color: #1f2937;
  overflow-wrap: anywhere;
}

.ped-lab-block {
  margin-top: 10px;
}

.ped-lab-block-title {
  margin: 0;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: rgba(20, 33, 47, 0.66);
}

.ped-lab-empty {
  margin: 0;
  color: #4b5563;
}

body[data-page="pedagogicheskiy_sostav"] .ped-lab-card--contacts .org-contact-lines {
  grid-template-columns: 1fr;
}

.struktura-card--core,
.edu-card--programs,
.paid-card--service,
.finance-card--base,
.vacancies-card--status,
.support-card--main,
.intl-card--status {
  grid-column: span 5;
}

.struktura-card--timeline,
.edu-card--facts {
  grid-column: span 7;
}

@media (max-width: 1024px) {
  .shortstay-lp {
    padding-top: 34px;
  }

  .shortstay-lp::before,
  .shortstay-lp::after {
    display: none;
  }

  .fullstay-lp {
    padding-top: 34px;
  }

  .fullstay-lp::before,
  .fullstay-lp::after {
    display: none;
  }

  .programs-lab {
    padding-top: 34px;
  }

  .programs-lab::before,
  .programs-lab::after {
    display: none;
  }

  .kollektiv-lab {
    padding-top: 34px;
  }

  .kollektiv-lab::before,
  .kollektiv-lab::after {
    display: none;
  }

  .shortstay-lp-hero {
    grid-template-columns: 1fr;
  }

  .fullstay-lp-hero {
    grid-template-columns: 1fr;
  }

  .programs-lab-hero {
    grid-template-columns: 1fr;
  }

  .kollektiv-lab-hero {
    grid-template-columns: 1fr;
  }

  .shortstay-lp-media {
    min-height: 340px;
  }

  .fullstay-lp-media {
    min-height: 340px;
  }

  .programs-lab-media {
    min-height: 340px;
  }

  .kollektiv-lab-media {
    min-height: 340px;
  }

  .shortstay-lp-card--program,
  .shortstay-lp-card--routine {
    grid-column: 1 / -1;
  }

  .fullstay-lp-card--program,
  .fullstay-lp-card--routine,
  .fullstay-lp-card--conditions {
    grid-column: 1 / -1;
  }

  .programs-lab-card--directions,
  .programs-lab-card--facts {
    grid-column: 1 / -1;
  }

  .kollektiv-lab-card--lead,
  .kollektiv-lab-card--staff,
  .kollektiv-lab-card--principles {
    grid-column: 1 / -1;
  }

  .org-insight-card--lead,
  .org-insight-card--contacts,
  .org-insight-card--timeline,
  .org-insight-card--check,
  .org-insight-card--facts,
  .org-insight-card--matrix {
    grid-column: 1 / -1;
  }

  .shortstay-visual,
  .shortstay-plan,
  .shortstay-highlights,
  .facilities-lab-card--lead,
  .facilities-lab-card--zones,
  .facilities-lab-card--objects,
  .facilities-lab-card--access,
  .facilities-lab-card--contacts,
  .paid-lab-card--lead,
  .paid-lab-card--services,
  .paid-lab-card--docs,
  .paid-lab-card--rules,
  .paid-lab-card--contacts,
  .finance-lab-card--lead,
  .finance-lab-card--docs,
  .finance-lab-card--transparency,
  .finance-lab-card--contacts,
  .vacancies-lab-card--status,
  .vacancies-lab-card--steps,
  .vacancies-lab-card--docs,
  .vacancies-lab-card--notes,
  .vacancies-lab-card--contacts,
  .support-lab-card--lead,
  .support-lab-card--facts,
  .support-lab-card--explain,
  .support-lab-card--faq,
  .support-lab-card--contacts,
  .food-lab-card--lead,
  .food-lab-card--principles,
  .food-lab-card--safety,
  .food-lab-card--docs,
  .food-lab-card--contacts,
  .standards-lab-card--lead,
  .standards-lab-card--framework,
  .standards-lab-card--docs,
  .standards-lab-card--practice,
  .standards-lab-card--contacts,
  .intl-lab-card--status,
  .intl-lab-card--agreements,
  .intl-lab-card--details,
  .intl-lab-card--faq,
  .intl-lab-card--contacts,
  .fullstay-lead,
  .fullstay-day,
  .fullstay-focus,
  .programs-editorial-card--lead,
  .programs-editorial-card--facts,
  .programs-editorial-card--notes,
  .docs-lab-card--summary,
  .docs-lab-card--catalog,
  .docs-lab-card--notes,
  .docs-lab-card--contacts,
  .edu-lab-card--overview,
  .edu-lab-card--enrollment,
  .edu-lab-card--directions,
  .edu-lab-card--quality,
  .edu-lab-card--contacts,
  .ruk-lab-card--profile,
  .ruk-lab-card--bio,
  .ruk-lab-card--principles,
  .ruk-lab-card--contacts,
  .ped-lab-card--summary,
  .ped-lab-card--team,
  .ped-lab-card--standards,
  .ped-lab-card--contacts,
  .kollektiv-team-grid,
  .kollektiv-principles {
    grid-column: 1 / -1;
  }

  .osn-card--passport,
  .osn-card--facts,
  .osn-card--extra,
  .osn-card--contacts,
  .struktura-card--core,
  .struktura-card--timeline,
  .struktura-card--contacts,
  .docs-card--list,
  .docs-card--notes,
  .docs-card--contacts,
  .edu-card--programs,
  .edu-card--facts,
  .edu-card--extra,
  .edu-card--contacts,
  .management-card--person,
  .management-card--story,
  .management-card--contacts,
  .staff-card--people,
  .staff-card--qual,
  .staff-card--contacts,
  .facilities-card--base,
  .facilities-card--details,
  .facilities-card--contacts,
  .paid-card--service,
  .paid-card--rules,
  .paid-card--contacts,
  .finance-card--base,
  .finance-card--extra,
  .finance-card--contacts,
  .vacancies-card--status,
  .vacancies-card--steps,
  .vacancies-card--contacts,
  .support-card--main,
  .support-card--faq,
  .support-card--contacts,
  .intl-card--status,
  .intl-card--details,
  .intl-card--contacts,
  .food-card--base,
  .food-card--article,
  .food-card--contacts,
  .standards-card--base,
  .standards-card--list,
  .standards-card--contacts {
    grid-column: 1 / -1;
  }

  body[data-page="struktura_i_organy_upravleniya"] .struktura-card--contacts .org-contact-lines {
    grid-template-columns: 1fr;
  }

  body[data-page="materialno-tehnicheskoe_obespechenie_i_osnashchennost_obrazovatelnogo_processa_dostupnaya_sreda"] .facilities-lab-card--contacts .org-contact-lines {
    grid-template-columns: 1fr;
  }

  body[data-page="platnye_obrazovatelnye_uslugi"] .paid-lab-card--contacts .org-contact-lines {
    grid-template-columns: 1fr;
  }

  body[data-page="finansovo-hozyaystvennaya_deyatelnost"] .finance-lab-card--contacts .org-contact-lines {
    grid-template-columns: 1fr;
  }

  body[data-page="vakantnye_mesta_dlya_priema_perevoda"] .vacancies-lab-card--contacts .org-contact-lines {
    grid-template-columns: 1fr;
  }

  body[data-page="stipendii_i_inye_mery_materialnoy_podderzhki"] .support-lab-card--contacts .org-contact-lines {
    grid-template-columns: 1fr;
  }

  body[data-page="organizaciya_pitaniya"] .food-lab-card--contacts .org-contact-lines {
    grid-template-columns: 1fr;
  }

  body[data-page="obrazovatelnye_standarty_i_trebovaniya"] .standards-lab-card--contacts .org-contact-lines {
    grid-template-columns: 1fr;
  }

  body[data-page="mezhdunarodnoe_sotrudnichestvo"] .intl-lab-card--contacts .org-contact-lines {
    grid-template-columns: 1fr;
  }

  body[data-page="dokumenty"] .docs-lab-card--contacts .org-contact-lines {
    grid-template-columns: 1fr;
  }

  body[data-page="obrazovanie"] .edu-lab-card--contacts .org-contact-lines {
    grid-template-columns: 1fr;
  }

  .ped-lab-stats {
    grid-template-columns: 1fr;
  }

  .ruk-lab-bio-wrap {
    grid-template-columns: 1fr;
  }

  .edu-lab-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .shortstay-lp-intro {
    gap: 12px;
    padding: 18px;
  }

  .fullstay-lp-intro {
    gap: 12px;
    padding: 18px;
  }

  .shortstay-lp-headline {
    font-size: clamp(1.7rem, 8.2vw, 2.2rem);
  }

  .fullstay-lp-headline {
    font-size: clamp(1.7rem, 8.2vw, 2.2rem);
  }

  .programs-lab-headline {
    font-size: clamp(1.7rem, 8.2vw, 2.2rem);
  }

  .kollektiv-lab-headline {
    font-size: clamp(1.7rem, 8.2vw, 2.2rem);
  }

  .shortstay-lp-badges {
    grid-template-columns: 1fr;
  }

  .fullstay-lp-badges {
    grid-template-columns: 1fr;
  }

  .programs-lab-badges {
    grid-template-columns: 1fr;
  }

  .kollektiv-lab-badges {
    grid-template-columns: 1fr;
  }

  .shortstay-lp-media {
    min-height: 280px;
  }

  .fullstay-lp-media {
    min-height: 280px;
  }

  .programs-lab-media {
    min-height: 280px;
  }

  .kollektiv-lab-media {
    min-height: 280px;
  }

  .shortstay-lp-grid {
    margin-top: 14px;
    gap: 14px;
  }

  .fullstay-lp-grid {
    gap: 14px;
  }

  .programs-lab-grid {
    gap: 14px;
  }

  .kollektiv-lab-grid {
    gap: 14px;
  }

  .programs-lab-intro {
    gap: 12px;
    padding: 18px;
  }

  .kollektiv-lab-intro {
    gap: 12px;
    padding: 18px;
  }

  .programs-lab-directions {
    grid-template-columns: 1fr;
  }

  .kollektiv-lab-lead-wrap {
    grid-template-columns: 1fr;
  }

  .kollektiv-lab-staff,
  .kollektiv-lab-values {
    grid-template-columns: 1fr;
  }

  .docs-lab-doc-item {
    grid-template-columns: 1fr;
  }

  .docs-lab-doc-btn,
  .docs-lab-doc-tag {
    justify-self: start;
  }

  .edu-lab-metrics {
    grid-template-columns: 1fr;
  }

  .facilities-lab-stats {
    grid-template-columns: 1fr;
  }

  .facilities-lab-object {
    padding: 10px;
  }

  .paid-lab-stats {
    grid-template-columns: 1fr;
  }

  .paid-lab-service-head {
    flex-direction: column;
  }

  .paid-lab-service-price {
    white-space: normal;
  }

  .finance-lab-stats {
    grid-template-columns: 1fr;
  }

  .vacancies-lab-stats {
    grid-template-columns: 1fr;
  }

  .vacancies-lab-step-head {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
  }

  .support-lab-metrics {
    grid-template-columns: 1fr;
  }

  .food-lab-metrics {
    grid-template-columns: 1fr;
  }

  .food-lab-step-head {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
  }

  .standards-lab-metrics {
    grid-template-columns: 1fr;
  }

  .intl-lab-badges,
  .intl-lab-stats {
    grid-template-columns: 1fr;
  }

  .read-more-block {
    padding: 7px 8px 9px;
  }

  .read-more-block summary {
    font-size: 0.8rem;
  }

  .docs-lab-doc-name {
    font-size: 0.92rem;
  }

  .docs-lab-doc-desc {
    font-size: 0.84rem;
  }

  .fullstay-lp-day-row {
    grid-template-columns: 1fr;
    gap: 5px;
  }

}

@media (max-width: 460px) {
  .section {
    padding: 36px 0;
  }

  .header-inner {
    min-height: 64px;
    gap: 10px;
  }

  .hero-badge,
  .eyebrow {
    font-size: 0.8rem;
    padding: 6px 11px;
  }

  .hero-title,
  .page-title {
    font-size: clamp(1.7rem, 9vw, 2.2rem);
  }

  .card-title {
    font-size: 1.15rem;
  }

  .card-text,
  .card-meta,
  .card-note,
  .section-subtitle {
    font-size: 0.92rem;
  }
}

@media (hover: none), (max-width: 1380px) {
  .tilt-card {
    transform: none !important;
  }

  .tilt-card::after {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }

  .ambient-layer::before,
  .ambient-layer::after {
    animation: none !important;
  }

  .tilt-card {
    transform: none !important;
  }

  .tilt-card::after {
    display: none !important;
  }
}

