/* Стили сайта AlfaGround.
   Файл собирается автоматически из макета Claude Design скриптом
   design/convert.py — править руками нет смысла, правки затрутся. */

@font-face { font-family: 'Onest'; font-style: normal; font-weight: 100 900; font-display: swap; src: url("fonts/onest-latin.3b422208.woff2") format('woff2'); 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; }
  @font-face { font-family: 'Onest'; font-style: normal; font-weight: 100 900; font-display: swap; src: url("fonts/onest-latin-ext.b796cb9f.woff2") format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
  @font-face { font-family: 'Onest'; font-style: normal; font-weight: 100 900; font-display: swap; src: url("fonts/onest-cyrillic.b9789c75.woff2") format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
  @font-face { font-family: 'Onest'; font-style: normal; font-weight: 100 900; font-display: swap; src: url("fonts/onest-cyrillic-ext.b550f5a9.woff2") format('woff2'); unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
  @font-face { font-family: 'STIX Two Text'; font-style: italic; font-weight: 600; font-display: swap; src: url("fonts/stix-two-text-latin.b402fdc5.woff2") format('woff2'); 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; }
  @font-face { font-family: 'STIX Two Text'; font-style: italic; font-weight: 600; font-display: swap; src: url("fonts/stix-two-text-latin-ext.81472582.woff2") format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
  @font-face { font-family: 'STIX Two Text'; font-style: italic; font-weight: 600; font-display: swap; src: url("fonts/stix-two-text-cyrillic.fbf7e206.woff2") format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
  *, *::before, *::after { box-sizing: border-box; }
  html { scroll-behavior: smooth; }
  body {
    margin: 0;
    background: oklch(98.7% .005 340);
    color: oklch(23.5% .026 8);
    font-family: 'Onest', ui-sans-serif, sans-serif;
    font-size: 17px;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    overflow-x: hidden;
  }
  a { color: oklch(45% .17 8); text-decoration: none; }
  a:hover { color: oklch(34% .13 8); }
  ::selection { background: oklch(45% .17 8); color: oklch(98.7% .005 340); }
  :focus-visible { outline: 3px solid oklch(45% .17 8); outline-offset: 5px; }
  img { display: block; max-width: 100%; }
  @keyframes ag-rise { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: none; } }
  @keyframes ag-title { from { opacity: 0; transform: translateY(34px); } to { opacity: 1; transform: none; } }
  @keyframes ag-curtain { from { transform: translateY(0); } to { transform: translateY(-101%); } }
  @keyframes ag-settle { from { transform: scale(1.09); } to { transform: scale(1); } }
  @keyframes ag-alpha { from { opacity: 0; transform: translateY(.34em) rotate(-8deg); } to { opacity: 1; transform: none; } }
  @keyframes ag-node { from { opacity: 0; transform: scale(.2); } to { opacity: 1; transform: none; } }
  @keyframes ag-ground { from { transform: scaleX(0); } to { transform: scaleX(1); } }
  @media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; }
  }

/* Наведение и декоративные подчёркивания. В макете это нестандартные
   атрибуты style-hover и style-after; здесь они развёрнуты в обычный CSS. */
.ag-h0:hover { color: oklch(19% .055 6) !important; }
.ag-a0::after { content: ''; position: absolute; left: 0; right: 0; bottom: .1rem; height: 2px; background: oklch(45% .17 8); transform: scaleX(0); transform-origin: 0 50%; transition: transform .24s cubic-bezier(.22,1,.36,1); }
.ag-h1:hover { color: oklch(19% .055 6) !important; }
.ag-a1::after { content: ''; position: absolute; left: 0; right: 0; bottom: .1rem; height: 2px; background: oklch(45% .17 8); transform: scaleX(0); transform-origin: 0 50%; transition: transform .24s cubic-bezier(.22,1,.36,1); }
.ag-h2:hover { color: oklch(19% .055 6) !important; }
.ag-a2::after { content: ''; position: absolute; left: 0; right: 0; bottom: .1rem; height: 2px; background: oklch(45% .17 8); transform: scaleX(0); transform-origin: 0 50%; transition: transform .24s cubic-bezier(.22,1,.36,1); }
.ag-h3:hover { background: oklch(45% .17 8) !important; transform: translateY(-2px) !important; box-shadow: 0 .9rem 2.2rem oklch(34% .13 8 / .24) !important; }
.ag-h4:hover { background: oklch(45% .17 8) !important; transform: translateY(-2px) !important; box-shadow: 0 1rem 2.6rem oklch(34% .13 8 / .22) !important; }
.ag-h5:hover { padding-left: .9rem !important; }
.ag-h6:hover { padding-left: .9rem !important; }
.ag-h7:hover { padding-left: .9rem !important; }
.ag-h8:hover { transform: scale(1.03) !important; }
.ag-h9:hover { transform: scale(1.03) !important; }
.ag-h10:hover { background: oklch(45% .17 8) !important; transform: translateY(-2px) !important; box-shadow: 0 1rem 2.6rem oklch(34% .13 8 / .22) !important; }
.ag-h11:hover { color: oklch(45% .17 8) !important; }
.ag-h12:hover { color: oklch(45% .17 8) !important; }
.ag-h13:hover { color: oklch(45% .17 8) !important; }
.ag-h14:hover { color: oklch(45% .17 8) !important; }
