@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 100;
  font-display: swap;
  src: url(fonts/raleway-100.woff) format('woff');
}
@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: url(fonts/raleway-200.woff) format('woff');
}
@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(fonts/raleway-300.woff) format('woff');
}
@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/raleway-400.woff) format('woff');
}
@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/raleway-500.woff) format('woff');
}
@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/raleway-600.woff) format('woff');
}
@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/raleway-700.woff) format('woff');
}
@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(fonts/raleway-800.woff) format('woff');
}
@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(fonts/raleway-900.woff) format('woff');
}

/* Shared upper navigation only. The full-width header has no backplate. */
.reference-nav{position:fixed;z-index:80;top:12px;left:max(31px,var(--pad));right:max(31px,var(--pad));display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:24px;height:auto;min-height:96px;padding:24px 0;border:0;border-radius:0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;color:#fff;font:500 13px/1.3 "Raleway",Arial,sans-serif;letter-spacing:0}
.reference-nav.is-scrolled{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}
.reference-nav .site-brand{grid-column:1;grid-row:1;display:block;width:clamp(116px,9vw,156px);justify-self:start;line-height:0}
.reference-nav .site-brand img{width:100%;height:auto;max-width:100%}
.reference-nav .reference-menu{position:relative;isolation:isolate;grid-column:2;grid-row:1;display:flex;align-items:center;gap:2px;width:auto;padding:5px;border:1px solid rgba(255,255,255,.21);border-radius:999px;background:rgba(255,255,255,.11);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:inset 0 1px rgba(255,255,255,.14),0 8px 24px rgba(0,0,0,.12);overflow:visible;white-space:nowrap}
.reference-nav.is-scrolled .reference-menu{background:rgba(15,17,20,.62)}
.reference-menu .nav-glider{position:absolute;z-index:-1;left:0;top:5px;height:calc(100% - 10px);width:var(--nav-width,76px);transform:translate3d(var(--nav-left,5px),0,0);border-radius:999px;background:rgba(10,9,20,.86);border:1px solid rgba(255,255,255,.30);box-shadow:0 1px 10px rgba(0,0,0,.2),inset 0 1px rgba(255,255,255,.12);transition:transform .45s cubic-bezier(.22,1,.36,1),width .45s cubic-bezier(.22,1,.36,1);pointer-events:none}
.reference-nav .reference-menu a{position:relative;display:inline-flex;justify-content:center;align-items:center;min-height:34px;min-width:0;padding:8px 15px;border:0;border-radius:999px;background:none;color:rgba(255,255,255,.78);font-size:13px;font-weight:500;line-height:1.3;letter-spacing:0;text-transform:none;transition:color .2s ease;overflow-wrap:normal}
.reference-nav .reference-menu a[aria-current],.reference-nav .reference-menu a:hover{color:#fff}
.reference-nav .reference-actions{grid-column:3;grid-row:1;display:flex;align-items:center;justify-content:flex-end;flex-wrap:nowrap;gap:14px;min-width:0}
.reference-nav .reference-actions .lang-switch{display:inline-flex;align-items:center;justify-content:center;min-width:42px;min-height:40px;margin:0;padding:8px;border:0;background:transparent;color:#fff;font-size:13px;font-weight:500;letter-spacing:0;border-radius:999px;line-height:1.3}
.reference-nav .reference-actions .telegram{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:10px 20px;border:1px solid rgba(255,255,255,.8);border-radius:999px;background:#fff;color:#111019;font-size:13px;font-weight:550;letter-spacing:0;line-height:1.3;transition:background .2s,transform .2s;white-space:nowrap}
.reference-nav .reference-actions .telegram:hover{background:#edeef0;transform:translateY(-1px)}
.reference-nav :is(a,button):focus-visible{outline:2px solid currentColor;outline-offset:5px}
.reference-nav-spacer{height:var(--reference-header-height,96px);flex:0 0 var(--reference-header-height,96px);pointer-events:none}
.education-reference-nav{--pad:3.1vw}
.education-reference-nav .reference-actions .theme-toggle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 32px;width:32px;height:40px;padding:0;border:0;border-radius:999px;background:transparent;color:#fff;font-size:0;line-height:1;cursor:pointer}
.education-reference-nav .theme-toggle::before{content:"☀";font:400 22px/1 Arial,sans-serif}
.education-reference-nav .theme-toggle[aria-pressed="true"]::before{content:"☾"}
.education-reference-nav .theme-toggle[hidden]{display:none}
[data-education-theme="light"] .education-reference-nav .site-brand img{filter:brightness(0)}
[data-education-theme="light"] .education-reference-nav .reference-menu{border-color:rgba(29,29,27,.2);background:rgba(255,255,255,.7);box-shadow:inset 0 1px rgba(255,255,255,.8),0 8px 24px rgba(0,0,0,.05)}
[data-education-theme="light"] .education-reference-nav .reference-menu a{color:#515147}
[data-education-theme="light"] .education-reference-nav .reference-menu a[aria-current]{color:#fff}
[data-education-theme="light"] .education-reference-nav .reference-menu a:hover:not([aria-current]){color:#1d1d1b}
[data-education-theme="light"] .education-reference-nav .reference-actions :is(.lang-switch,.theme-toggle){color:#1d1d1b}
[data-education-theme="light"] .education-reference-nav .reference-actions .telegram{border-color:rgba(29,29,27,.22)}
.education-page :is(#approach,#formats,#about,#contact){scroll-margin-top:calc(var(--reference-header-height,96px) + var(--reference-nav-top,12px) + 28px)}
html[data-education-theme]{scroll-padding-top:0}
.education-page .reference-nav-spacer{height:calc(var(--reference-header-height,96px) + var(--reference-nav-top,12px));flex-basis:calc(var(--reference-header-height,96px) + var(--reference-nav-top,12px))}
@media(max-width:1100px){.reference-nav{grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:20px 0;min-height:0}.reference-nav .reference-actions{grid-column:2}.reference-nav .reference-menu{grid-column:1/-1;grid-row:2;justify-self:center}}
@media(max-width:600px){.reference-nav{top:8px;left:27px;right:27px;gap:16px 12px;padding-block:18px}.reference-nav .site-brand{width:116px}.reference-nav .reference-actions{gap:8px}.reference-nav .reference-actions .telegram{padding:9px 14px;font-size:12px;min-height:40px}.reference-nav .reference-actions .lang-switch{min-width:36px;font-size:12px}.reference-nav .reference-menu{width:max-content;max-width:100%;padding:4px;gap:0;overflow:visible}.reference-nav .reference-menu a,.reference-nav .reference-menu .nav-education{min-height:40px;padding:9px 10px;font-size:11px}.reference-menu .nav-glider{top:4px;height:calc(100% - 8px)}.education-reference-nav .reference-actions{gap:4px}.education-reference-nav .reference-actions .lang-switch{min-width:26px;padding-inline:4px}.education-reference-nav .reference-actions .theme-toggle{width:28px;flex-basis:28px}.education-reference-nav .reference-actions .telegram{padding-inline:12px;font-size:11px}}
@media(max-width:359px){.reference-nav{left:23px;right:23px}.reference-nav .site-brand{width:104px}.reference-nav .reference-actions .telegram{padding-inline:12px}.reference-nav .reference-menu a,.reference-nav .reference-menu .nav-education{padding-inline:8px;font-size:10px}}
@media(min-width:2400px){.reference-nav{min-height:112px}}
@media(prefers-reduced-motion:reduce){.reference-menu .nav-glider{transition:none}.reference-nav .reference-actions .telegram{transition:none}}
