@font-face {
  font-family: 'Golos Text';
  src: url('./fonts/golos-text-regular.woff2') format('woff2');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: 'Golos Text';
  src: url('./fonts/golos-text-medium.woff2') format('woff2');
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}

@font-face {
  font-family: 'Golos Text';
  src: url('./fonts/golos-text-semibold.woff2') format('woff2');
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}

@font-face {
  font-family: 'Golos Text';
  src: url('./fonts/golos-text-bold.woff2') format('woff2');
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

@font-face {
  font-family: 'Source Serif 4';
  src: url('./fonts/source-serif-4-italic-variable.woff2') format('woff2');
  font-style: italic;
  font-weight: 480;
  font-display: swap;
}

:root {
  --pad-x: 32px;
  --section-columns: 1fr 280px;
}

html{scroll-behavior:smooth}
html,body{overflow-x:clip}
*{box-sizing:border-box}
body{margin:0;background:#ffffff;color:#37352f;font-family:'Golos Text',-apple-system,'Segoe UI',sans-serif;font-size:16px;-webkit-font-smoothing:antialiased;text-size-adjust:100%}
a{color:#37352f;text-decoration:underline;text-decoration-color:rgba(55,53,47,0.35);text-underline-offset:2px}
a:hover{text-decoration-color:rgba(55,53,47,0.75)}
::selection{background:rgba(35,131,226,0.16)}
:focus-visible{outline:2px solid #2383e2;outline-offset:2px;border-radius:3px}
summary{list-style:none;cursor:pointer}
summary::-webkit-details-marker{display:none}
[data-chev]{transition:transform 0.16s ease}
details[open] > summary [data-chev]{transform:rotate(90deg)}
[data-ctxbody]{animation:ctxIn 0.2s ease both}
@keyframes ctxIn{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}
[data-hh] [data-ha]{opacity:0;transition:opacity 0.15s ease}
[data-hh]:hover [data-ha],[data-ha]:focus-visible{opacity:1}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none !important;transition:none !important}}

.slot-image {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 100%;
  height: 100%;
  object-fit: cover;
  max-width: none;
  transform: translate(-50%, -50%);
  user-select: none;
}

.theme-link:hover {
  background: #f7f7f5;
}

.context-summary:hover {
  background: rgba(55, 53, 47, 0.06);
}

.page-outline a:hover {
  background: #f1f1ef;
}

.page-outline a.is-active {
  color: #37352f !important;
  font-weight: 600 !important;
}

@media (min-width: 1480px) {
  .page-outline {
    display: block !important;
  }
}

@media (max-width: 719px) {
  :root {
    --pad-x: 20px;
    --section-columns: 1fr;
  }
}
