@font-face {
  font-family: Manrope;
  src: url("./manrope-cyrillic.woff2") format("woff2");
  font-weight: 200 800;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face {
  font-family: Manrope;
  src: url("./manrope-latin.woff2") format("woff2");
  font-weight: 200 800;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
:root {
  color-scheme: light;
  --paper: #f8f8f2;
  --ink: #202f28;
  --green: #255643;
  --border: #d9dfd3;
}
* { box-sizing: border-box; }
html { min-height: 100%; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font: 500 1rem/1.58 Manrope, Arial, sans-serif;
  -webkit-text-size-adjust: 100%;
}
.shell {
  width: min(100% - 9vw, 1200px);
  margin-inline: auto;
}
.masthead { border-bottom: 1px solid var(--border); }
.masthead-inner {
  min-height: 90px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.brand { display: flex; align-items: center; gap: 10px; }
.brand span {
  font-size: 2.12rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -.075em;
}
.school-type { color: #455a4e; font-size: .91rem; font-weight: 650; }
.hero {
  min-height: calc(100svh - 91px);
  display: grid;
  grid-template-columns: 1fr 1.04fr;
  align-items: center;
  gap: clamp(12px, 2vw, 40px);
  padding-block: clamp(64px, 10vh, 116px) clamp(90px, 15vh, 164px);
}
.intro { position: relative; z-index: 1; }
h1 {
  margin: 0;
  font-size: clamp(4rem, 6.65vw, 6.1rem);
  font-weight: 650;
  line-height: 1.04;
  letter-spacing: -.07em;
}
h1 em {
  display: block;
  margin-top: .035em;
  color: var(--green);
  font: italic 400 .89em/1 Georgia, "Times New Roman", serif;
  letter-spacing: -.06em;
}
.intro p {
  margin: clamp(22px, 3vw, 38px) 0 0;
  max-width: 29rem;
  color: #41544a;
  font-size: clamp(1.09rem, 1.42vw, 1.32rem);
  text-wrap: pretty;
}
.illustration { margin: 0; width: 100%; }
.illustration img { display: block; width: 100%; height: auto; }
@media (max-width: 800px) {
  .shell { width: min(100% - 48px, 590px); }
  .masthead-inner { min-height: 72px; }
  .brand svg { width: 31px; height: 31px; }
  .brand span { font-size: 1.85rem; }
  .hero { display: flex; flex-direction: column; align-items: stretch; justify-content: center; gap: clamp(16px, 4vh, 42px); padding-block: clamp(45px, 9vh, 80px); min-height: calc(100svh - 73px); }
  h1 { font-size: clamp(3.2rem, 10.7vw, 5.5rem); }
  h1 em { font-size: 1.01em; }
  .intro p { max-width: 27rem; margin-top: 22px; }
  .illustration { max-width: 480px; align-self: center; }
}
@media (max-width: 390px) {
  .shell { width: calc(100% - 36px); }
  .school-type { font-size: .82rem; }
}
