.admission-bar { position: relative; z-index: 1100; color: var(--pine-950); background: var(--lime-300); font-size: 12px; font-weight: 750; }
.admission-bar__inner { display: flex; min-height: 38px; align-items: center; gap: 32px; padding-inline: var(--edge); }
.admission-bar__inner > span:first-child { display: flex; align-items: center; gap: 9px; }
.admission-bar__inner i { width: 7px; height: 7px; border-radius: 50%; background: var(--green-600); box-shadow: 0 0 0 5px rgba(18,139,97,.14); }
.admission-bar__inner a { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 6px; margin-left: auto; text-decoration: none; white-space: nowrap; }

.site-header { position: sticky; top: 0; z-index: 1000; color: var(--ink); border-bottom: 1px solid var(--pine-950); background: rgba(247,244,234,.95); backdrop-filter: blur(16px); }
.site-header__inner { display: flex; min-height: 88px; align-items: center; gap: clamp(22px, 3vw, 46px); padding-inline: var(--edge); }
.brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; }
.brand img {
  width: 55px;
  height: 60px;
  flex: 0 0 auto;
  object-fit: contain;
}
.brand__copy { display: flex; flex-direction: column; }
.brand__copy strong { font-family: var(--display); font-size: 19px; font-weight: 650; line-height: 1; letter-spacing: .02em; }
.brand__copy small { margin-top: 5px; color: var(--muted); font-size: 11px; line-height: 1; }
.main-nav { display: flex; align-items: center; gap: clamp(16px, 2vw, 30px); }
.main-nav a { position: relative; color: #3c4b44; font-size: 12px; font-weight: 750; text-decoration: none; white-space: nowrap; }
.main-nav a::after { position: absolute; right: 0; bottom: -7px; left: 0; height: 2px; background: var(--green-500); content: ""; transform: scaleX(0); transform-origin: right; transition: transform .2s ease; }
.main-nav a:hover::after { transform: scaleX(1); transform-origin: left; }
.header-actions { display: flex; align-items: center; gap: 24px; margin-left: auto; }
.header-phone { display: flex; flex-direction: column; text-decoration: none; }
.header-phone small { color: var(--muted); font-size: 10px; }
.header-phone strong { font-size: 14px; }
.menu-toggle { display: none; border: 0; background: transparent; }

.site-footer { color: rgba(255,255,255,.82); background: var(--pine-950); }
.site-footer__top { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1.2fr; gap: clamp(32px, 6vw, 96px); padding: 76px var(--edge); }
.brand--footer { color: var(--white); }
.brand--footer .brand__copy small { color: rgba(255,255,255,.55); }
.footer-brand p { max-width: 340px; margin: 24px 0 0; color: rgba(255,255,255,.55); font-size: 13px; }
.footer-column { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.footer-column h2 { margin: 0 0 8px; color: var(--lime-300); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; }
.footer-column a { font-size: 14px; text-decoration: none; }
.footer-column a:hover, .footer-contacts a:hover { color: var(--lime-300); }
.footer-contacts { display: flex; flex-direction: column; gap: 13px; font-style: normal; }
.footer-contacts span { color: rgba(255,255,255,.56); font-size: 13px; }
.footer-contacts a { font-size: 15px; font-weight: 700; text-decoration: none; }
.site-footer__bottom { display: flex; min-height: 70px; align-items: center; justify-content: space-between; padding-inline: var(--edge); border-top: 1px solid rgba(255,255,255,.11); color: rgba(255,255,255,.42); font-size: 12px; }
.footer-legal { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 10px 22px; }
.footer-legal a, .footer-legal button { color: rgba(255,255,255,.6); font: inherit; text-decoration: none; }
.footer-legal button { padding: 0; border: 0; cursor: pointer; background: transparent; }
.footer-legal a:hover, .footer-legal button:hover { color: var(--lime-300); }

body.document-preview-open { overflow: hidden; }
.document-preview { width: min(94vw, 1480px); height: min(92dvh, 980px); max-width: none; max-height: none; margin: auto; padding: 0; overflow: hidden; border: 0; color: var(--pine-950); background: var(--cream-50); box-shadow: 0 30px 120px rgba(3,28,20,.48); }
.document-preview::backdrop { background: rgba(3,28,20,.78); backdrop-filter: blur(8px); }
.document-preview__panel { display: grid; height: 100%; grid-template-rows: auto minmax(0,1fr) auto; }
.document-preview__header { display: flex; min-height: 96px; align-items: center; justify-content: space-between; gap: 32px; padding: 20px clamp(20px, 3vw, 44px); border-bottom: 1px solid var(--pine-950); }
.document-preview__header > div { min-width: 0; }
.document-preview__header span { color: var(--green-600); font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.document-preview__header h2 { display: -webkit-box; max-width: 1050px; margin: 7px 0 0; overflow: hidden; font-family: var(--display); font-size: clamp(18px, 2vw, 28px); font-weight: 620; line-height: 1.1; letter-spacing: -.025em; text-wrap: balance; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.document-preview__header button { display: grid; width: 48px; height: 48px; flex: 0 0 48px; place-items: center; padding: 0; border: 1px solid var(--pine-950); color: var(--pine-950); background: transparent; font-size: 29px; line-height: 1; cursor: pointer; transition: color .2s, background .2s; }
.document-preview__header button:hover { color: var(--lime-300); background: var(--pine-950); }
.document-preview__stage { position: relative; min-height: 0; background: #d9ded9; }
.document-preview__stage iframe { width: 100%; height: 100%; border: 0; opacity: 0; background: var(--white); transition: opacity .2s ease; }
.document-preview__stage iframe.is-ready { opacity: 1; }
.document-preview__loading { position: absolute; z-index: 1; inset: 0; display: grid; place-items: center; color: var(--green-600); background: var(--cream-100); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.document-preview__loading[hidden] { display: none; }
.document-preview__footer { display: flex; min-height: 58px; align-items: center; justify-content: space-between; gap: 24px; padding: 12px clamp(20px, 3vw, 44px); border-top: 1px solid var(--pine-950); color: var(--muted); font-size: 11px; }
.document-preview__footer a { color: var(--green-600); font-weight: 800; text-decoration: none; text-transform: uppercase; }
.document-preview__footer a:hover { color: var(--pine-950); }

.cookie-consent[hidden] { display: none; }
.cookie-consent { position: fixed; z-index: 2000; right: clamp(14px, 2.5vw, 38px); bottom: clamp(14px, 2.5vw, 38px); left: clamp(14px, 2.5vw, 38px); display: grid; max-width: 1180px; max-height: calc(100dvh - 28px); overflow-y: auto; overscroll-behavior: contain; grid-template-columns: minmax(0, 1fr) auto; gap: clamp(24px, 5vw, 76px); align-items: end; margin-inline: auto; padding: clamp(24px, 3vw, 42px); color: var(--white); border: 1px solid rgba(216,255,67,.34); background: var(--pine-950); box-shadow: 0 24px 90px rgba(5,31,23,.38); }
.cookie-consent__copy > p { margin: 0 0 14px; color: var(--lime-300); font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.cookie-consent__copy h2 { margin: 0 0 12px; font-family: var(--display); font-size: clamp(27px, 3vw, 42px); font-weight: 620; line-height: 1; letter-spacing: -.045em; }
.cookie-consent__copy div { max-width: 730px; color: rgba(255,255,255,.68); font-size: 13px; line-height: 1.55; }
.cookie-consent__copy > a { display: inline-block; margin-top: 16px; color: var(--lime-300); font-size: 12px; font-weight: 750; text-decoration: none; }
.cookie-consent__actions { display: grid; min-width: min(310px, 100%); gap: 10px; }
.cookie-consent__actions .button { min-height: 52px; justify-content: center; white-space: nowrap; }
.cookie-consent__reject { color: var(--pine-950); border: 1px solid var(--white); background: var(--white); }
.cookie-consent__reject:hover { color: var(--white); background: transparent; }

.inner-hero { padding-block: clamp(72px, 9vw, 140px); color: var(--white); background: var(--pine-800); }
.inner-hero .shell, .inner-content .shell { padding-inline: var(--edge); }
.inner-hero .eyebrow { color: var(--lime-300); }
.inner-hero h1 { max-width: 1050px; margin: 0; font-family: var(--display); font-size: clamp(48px, 7vw, 102px); line-height: .96; letter-spacing: -.055em; text-wrap: balance; }
.inner-hero p:not(.eyebrow) { max-width: 780px; margin: 28px 0 0; color: rgba(255,255,255,.7); font-size: clamp(17px, 1.7vw, 22px); }
.inner-hero .button { margin-top: 32px; }
.inner-content { padding-block: clamp(64px, 8vw, 120px); }
.simple-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }
.simple-card { display: flex; min-height: 270px; flex-direction: column; padding: 28px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--white); text-decoration: none; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.simple-card:hover { border-color: var(--green-500); box-shadow: var(--shadow); transform: translateY(-4px); }
.simple-card > span { color: var(--green-600); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.simple-card h2 { margin: 24px 0 14px; font-size: clamp(22px, 2vw, 30px); line-height: 1.08; letter-spacing: -.03em; }
.simple-card p { margin: 0; color: var(--muted); }
.simple-card b { margin-top: auto; padding-top: 24px; color: var(--green-600); }
.content-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 420px); gap: clamp(48px, 8vw, 120px); align-items: start; }
.prose { max-width: 820px; font-size: 17px; }
.prose h2 { font-size: clamp(30px, 4vw, 54px); line-height: 1.05; letter-spacing: -.04em; }
.prose p { color: #394740; }
.detail-facts, .documents { display: grid; gap: 0; padding: 28px; border-radius: var(--radius-md); background: var(--cream-100); }
.detail-facts div { display: flex; flex-direction: column; gap: 5px; padding-block: 18px; border-bottom: 1px solid var(--line); }
.detail-facts span { color: var(--muted); font-size: 12px; }
.detail-facts strong { font-size: 17px; }
.detail-facts .button { margin-top: 24px; }
.documents h2 { margin: 0 0 14px; }
.documents a { display: flex; justify-content: space-between; gap: 18px; padding: 14px 0; border-bottom: 1px solid var(--line); text-decoration: none; }
.standalone-form { display: grid; max-width: 720px; gap: 18px; }
.standalone-form > label { display: grid; gap: 7px; }
.standalone-form input, .standalone-form select, .standalone-form textarea { width: 100%; padding: 13px; border: 1px solid var(--line); border-radius: var(--radius-sm); }
.standalone-form .consent-field { display: grid; gap: 6px; color: var(--muted); }
.standalone-form .checkbox-field { display: flex; align-items: center; gap: 10px; font-size: 13px; line-height: 1.5; cursor: pointer; }
.standalone-form .checkbox-field a { color: var(--green-600); }
.standalone-form .checkbox-field input { width: 18px; height: 18px; min-height: 18px; flex: 0 0 18px; margin: 0; padding: 0; }
.standalone-form .form-privacy-note { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.5; }
.standalone-form__error, .standalone-form .checkbox-error { color: #a22d2d; }

@media (max-width: 1160px) {
  .header-phone { display: none; }
  .site-footer__top { grid-template-columns: 1.3fr 1fr 1fr; }
  .footer-contacts { grid-column: 1 / -1; flex-direction: row; }
}

@media (max-width: 1080px) {
  .site-header { backdrop-filter: none; }
  .admission-bar__inner > span:nth-child(2) { display: none; }
  .menu-toggle { display: flex; min-height: 44px; align-items: center; gap: 12px; margin-left: auto; padding: 8px; cursor: pointer; }
  .menu-toggle__label { font-size: 13px; font-weight: 750; }
  .menu-toggle__icon { display: flex; width: 25px; flex-direction: column; gap: 6px; }
  .menu-toggle__icon i { display: block; height: 2px; background: currentColor; transition: transform .2s ease; }
  .menu-toggle[aria-expanded="true"] .menu-toggle__icon i:first-child { transform: translateY(4px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] .menu-toggle__icon i:last-child { transform: translateY(-4px) rotate(-45deg); }
  .main-nav { position: fixed; inset: var(--mobile-menu-top, 126px) 0 0; display: none; min-height: 0; overflow-y: auto; overscroll-behavior: contain; align-items: stretch; flex-direction: column; gap: 0; padding: 36px var(--edge) max(36px, env(safe-area-inset-bottom)); background: var(--cream-50); }
  .main-nav.is-open { display: flex; }
  .main-nav a { padding: 18px 0; border-bottom: 1px solid var(--line); font-size: 24px; }
  .header-actions .button { display: none; }
  .simple-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .content-layout { grid-template-columns: 1fr; }
  .section-heading { align-items: stretch; flex-direction: column; }
}

@media (max-width: 640px) {
  .admission-bar__inner { min-height: 42px; gap: 8px; font-size: 11px; }
  .admission-bar__link-label { display: none; }
  .admission-bar__inner a > span[aria-hidden="true"] { font-size: 16px; }
  .site-header__inner { min-height: 72px; }
  .brand img { width: 44px; height: 48px; }
  .brand__copy strong { font-size: 20px; }
  .main-nav { inset-block-start: var(--mobile-menu-top, 114px); }
  .simple-grid { grid-template-columns: 1fr; }
  .site-footer__top { grid-template-columns: 1fr; padding-block: 56px; }
  .footer-contacts { grid-column: auto; flex-direction: column; }
  .footer-contacts a { overflow-wrap: anywhere; }
  .site-footer__bottom { align-items: flex-start; flex-direction: column; justify-content: center; gap: 16px; padding-block: 22px; }
  .footer-legal { justify-content: flex-start; gap: 10px 16px; }
  .cookie-consent { grid-template-columns: 1fr; gap: 22px; padding: 22px; }
  .cookie-consent__actions { min-width: 0; }
  .cookie-consent__actions .button { white-space: normal; }
  .document-preview { width: 100vw; height: 100dvh; }
  .document-preview__header { min-height: 84px; gap: 16px; padding: max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 16px max(16px, env(safe-area-inset-left)); }
  .document-preview__header h2 { font-size: 17px; }
  .document-preview__header button { width: 44px; height: 44px; flex-basis: 44px; }
  .document-preview__footer { min-height: 64px; padding: 12px max(16px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left)); }
  .document-preview__footer > span { display: none; }
  .document-preview__footer a { margin-left: auto; }
}
