@layer page {
/* Forma DJR Cyrillic — bespoke mini styles. Ported from src/scss/forma-cyrillic.scss.
 * Self-contained: the legacy `.wrapper` / `.section` primitives this page relies on are
 * inlined here so the page does not depend on legacy.css. */

@font-face {
  font-family: "FormaDJRVariableWeb";
  src: url("forma-djr-cyrillic-variable.woff2") format("woff2");
  font-weight: 200 700;
  font-style: normal;
  font-display: swap;
}

:root {
  --red: #ff1901;
  --ink: #000;
  --paper: #fff;
}

/* Layout primitives (inlined from legacy.css) ------------------------------- */
.wrapper {
  position: relative;
  max-width: 70rem;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.section {
  border: none;
  position: relative;
  padding: 4em 0;
  border-radius: 1.5em 1.5em 0 0;
  overflow: hidden;
}

.cols {
  display: grid;
  grid-template-columns: minmax(auto, 50%) minmax(auto, 50%);
  gap: 0 3em;
}

.cols .col {
  overflow: hidden;
}

main figure {
  font-family: FormaDJRVariableWeb;
  line-height: 100%;
  padding: 0;
  margin: 0;
  font-variation-settings: "opsz" 72;
}

figure p {
  line-height: 1;
  margin: 0;
}

figcaption {
  font-family: "InputSansNarrowWeb", "Input Mono", ui-monospace, monospace;
  font-size: 80%;
  font-style: normal;
  text-align: center;
  padding: 0;
  margin: 1.5rem 0 0.5rem 0;
}

figcaption.lc {
  margin: 1.5rem 0 0 0;
}

/* Color regimes ------------------------------------------------------------- */
body {
  background: var(--paper);
  color: var(--ink);
  font-family: FormaDJRVariableWeb, ui-sans-serif, system-ui, sans-serif;
  font-synthesis: none;
}

.reverse {
  background: var(--ink);
  color: var(--paper);
}
.reverse a { color: var(--red); }
.reverse a:hover { color: #cc1400; }

.brand {
  background: var(--red);
  color: var(--paper);
}
.brand a { color: var(--paper); }
.brand a:hover { color: #e6e6e6; }
.brand figcaption { color: #fff; }

.red { color: var(--red); }

/* Title -------------------------------------------------------------------- */
#title {
  text-align: center;
  background-color: var(--red);
  color: var(--paper);
  display: block;
  position: relative;
  z-index: 1;
  overflow: visible;
  padding: 6em 0;
}

#title img {
  max-width: 100%;
  height: auto;
}

#title .try-buy-pdf {
  position: absolute;
  right: 0;
  bottom: -1rem;
  left: 0;
  overflow: visible;
}

#title .try-buy-pdf a.button {
  font-family: "FormaDJRVariableWeb";
  font-size: 14px;
  font-style: normal;
  font-weight: bold;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #fff;
  border: none;
  border-radius: 0.2rem;
  background-color: var(--ink);
  display: inline-block;
  cursor: pointer;
  padding: 0.5em 1em;
  margin: 0 0.5em;
  text-decoration: none;
}
#title .try-buy-pdf a.button:hover,
#title .try-buy-pdf a.button:focus {
  color: #fff;
  background-color: #8a0e00;
}

/* Headings ----------------------------------------------------------------- */
h2 {
  font-family: FormaDJRVariableWeb;
  font-optical-sizing: auto;
  font-variation-settings: "opsz" 72;
  font-size: 6.5em;
  margin-bottom: 2rem;
  line-height: 0.9em;
  font-weight: 700;
  font-style: normal;
  color: var(--ink);
}

.outdent { text-indent: -0.15em; }

main h3 {
  text-transform: uppercase;
  font-size: 1rem;
  letter-spacing: 0.075em;
}

p {
  font-size: 20px;
  line-height: 1.4em;
}

/* Alphabet + multi-line display blocks (CSS-fit, no controller) ------------- */
.bigfit {
  font-family: FormaDJRVariableWeb;
  font-size: 5.7vw;
  line-height: 1;
  margin: 0;
}

#lc-alphabet .bigfit,
.tighter {
  font-weight: 700;
  line-height: 88%;
}

/* Single-line fit-to-width specimens --------------------------------------- */
.fit {
  font-family: FormaDJRVariableWeb;
  white-space: nowrap;
  line-height: 1;
  margin: 0;
}

/* Text columns ------------------------------------------------------------- */
#text h2 {
  font-size: 5em;
  margin-top: 1rem;
  margin-bottom: 0.5rem;
}

#text p {
  font-family: FormaDJRVariableWeb;
  font-weight: 300;
  height: 16.8em;
  line-height: 1.4em;
  overflow: hidden;
  hyphens: auto;
}

#text figcaption {
  text-align: left !important;
  margin: 0;
}

.langset { padding: 1em 0; }

/* Text overlay specimen ---------------------------------------------------- */
.textoverlay {
  padding: 0;
  height: 80vh;
  overflow: hidden;
  position: relative;
}

.textoverlay figure p {
  font-family: FormaDJRVariableWeb;
  width: 300%;
  margin-top: -2em;
  margin-left: -1.5rem;
  max-width: none;
  line-height: 100%;
  font-size: 7rem;
  transform: rotate(-2deg);
}

#latin-and-cyrillic .col figure { text-align: center; }
#latin-and-cyrillic-small { display: none; }

/* Registration marks ------------------------------------------------------- */
.registration-nw { background-image: url("registration-nw.png"); top: 1em; left: 1em; }
.registration-ne { background-image: url("registration-ne-red.png"); top: 1em; right: 1em; }
.registration-sw { background-image: url("registration-sw.png"); bottom: 1em; left: 1em; }
.registration-se { background-image: url("registration-se.png"); bottom: 1em; right: 1em; }

.registration-nw,
.registration-ne,
.registration-sw,
.registration-se {
  position: absolute;
  width: 4em;
  height: 4em;
  background-size: 4em;
  background-repeat: no-repeat;
  transform: rotate(-1deg);
}

#ef img {
  display: block;
  margin: 0 auto;
  max-width: 100%;
  height: auto;
}

.typeface-info {
  list-style: none;
  padding: 0;
}

/* Responsive --------------------------------------------------------------- */
@media screen and (max-width: 60em) {
  h2 { font-size: 5em; }
  .section { padding: 5em 0; border-radius: 1em 1em 0 0; }
  .bigfit { font-size: 19vw; }
  .cols { display: block; }
  .cols .col { margin: 0; }
  #latin-and-cyrillic-small { display: block; }
  #latin-and-cyrillic { display: none; }
  .registration-nw,
  .registration-sw,
  .registration-ne,
  .registration-se { display: none; }
}

@media screen and (max-width: 50rem) {
  .textoverlay { height: 70vh; }
  .textoverlay figure p { font-size: 5em; }
  h2 { font-size: 4rem; }
  #text h2 { font-size: 4rem; }
  .section { padding: 3em 0; border-radius: 0.5em 0.5em 0 0; }
}

@media screen and (max-width: 40rem) {
  h2 { font-size: 3rem; }
  #text h2 { font-size: 3rem; }
  .section { padding: 2em 0; }
}

} /* @layer page */
