@charset "UTF-8";
@font-face {
  font-family: "Noto Sans";
  font-style: normal;
  font-weight: 100 900;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/notosans/o-0bIpQlx3QUlC5A4PNB6Ryti20_6n1iPHjc5aPdu2ui.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: "Noto Sans";
  font-style: italic;
  font-weight: 100 900;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/notosans/o-0ZIpQlx3QUlC5A4PNr4C5OaxRsfNNlKbCePevttHOmDyw.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: "Noto Sans";
  font-style: normal;
  font-weight: 100 900;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/notosans/o-0bIpQlx3QUlC5A4PNB6Ryti20_6n1iPHjc5ardu2ui.woff2) format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "Noto Sans";
  font-style: italic;
  font-weight: 100 900;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/notosans/o-0ZIpQlx3QUlC5A4PNr4C5OaxRsfNNlKbCePevtvXOmDyw.woff2) format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "Noto Sans";
  font-style: normal;
  font-weight: 100 900;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/notosans/o-0bIpQlx3QUlC5A4PNB6Ryti20_6n1iPHjc5aDdu2ui.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: "Noto Sans";
  font-style: italic;
  font-weight: 100 900;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/notosans/o-0ZIpQlx3QUlC5A4PNr4C5OaxRsfNNlKbCePevtt3OmDyw.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: "Noto Sans";
  font-style: normal;
  font-weight: 100 900;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/notosans/o-0bIpQlx3QUlC5A4PNB6Ryti20_6n1iPHjc5a7duw.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: "Noto Sans";
  font-style: italic;
  font-weight: 100 900;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/notosans/o-0ZIpQlx3QUlC5A4PNr4C5OaxRsfNNlKbCePevtuXOm.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;
}
/* cyrillic-ext */
@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url(../fonts/jbm/tDbV2o-flEEny0FZhsfKu5WU4xD2OwG_TA.woff2) format("woff2");
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic-ext */
@font-face {
  font-family: "JetBrains Mono";
  font-style: italic;
  font-weight: 100 800;
  font-display: swap;
  src: url(../fonts/jbm/tDbX2o-flEEny0FZhsfKu5WU4xD-Cw6nSHrV.woff2) format("woff2");
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url(../fonts/jbm/tDbV2o-flEEny0FZhsfKu5WU4xD_OwG_TA.woff2) format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* cyrillic */
@font-face {
  font-family: "JetBrains Mono";
  font-style: italic;
  font-weight: 100 800;
  font-display: swap;
  src: url(../fonts/jbm/tDbX2o-flEEny0FZhsfKu5WU4xD-CwenSHrV.woff2) format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url(../fonts/jbm/tDbV2o-flEEny0FZhsfKu5WU4xD1OwG_TA.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;
}
/* latin-ext */
@font-face {
  font-family: "JetBrains Mono";
  font-style: italic;
  font-weight: 100 800;
  font-display: swap;
  src: url(../fonts/jbm/tDbX2o-flEEny0FZhsfKu5WU4xD-Cw2nSHrV.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;
}
/* latin */
@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url(../fonts/jbm/tDbV2o-flEEny0FZhsfKu5WU4xD7OwE.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;
}
/* latin */
@font-face {
  font-family: "JetBrains Mono";
  font-style: italic;
  font-weight: 100 800;
  font-display: swap;
  src: url(../fonts/jbm/tDbX2o-flEEny0FZhsfKu5WU4xD-CwOnSA.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;
}
:root {
  --v-font-size-root: 16px;
  --v-font-1: "Noto Sans", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif;
  --v-font-monospace: "JetBrains Mono", SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --v-font-size: 1rem;
  --v-font-weight: 400;
  --v-line-height: 1.5;
  --v-color-black: #000000;
  --v-color-white: #FFFFFF;
  --v-color-gray-1: #1A1A1A;
  --v-color-gray-2: #555560;
  --v-color-gray-3: #8A8A95;
  --v-color-gray-4: rgba(26, 26, 26, 0.04);
  --v-color-primary-1: #A8732A;
  --v-color-primary-1-2: #8C5E20;
  --v-color-primary-1-3: rgba(168, 115, 42, 0.1);
  --v-color-primary-1-4: #D0CCBC;
  --v-color-primary-1-5: #E2DED1;
  --v-color-primary-1-6: #F7F4ED;
  --v-color-primary-1-7: #EFEBE0;
  --v-color-secondary-1: #B33A2A;
  --v-color-secondary-2: #2D7A4A;
  --v-color-shadow-1: 0 1px 2px rgba(26, 26, 26, 0.04), 0 2px 6px rgba(26, 26, 26, 0.04);
  --v-color-shadow-2: 0 4px 14px rgba(26, 26, 26, 0.06), 0 14px 32px rgba(26, 26, 26, 0.06);
  --v-color-shadow-3: 0 16px 40px rgba(26, 26, 26, 0.08), 0 40px 80px rgba(26, 26, 26, 0.1);
  --v-color-shadow-4: 0 10px 36px rgba(168, 115, 42, 0.28);
  --v-border-radius-1: 0.5rem;
  --v-border-radius-2: 0.875rem;
  --v-border-radius-3: 1.375rem;
  --v-height-header: 72px;
  --v-width-max: 1240px;
  --v-transition-timing: ease-out;
  --v-transition: 0.16s ease-out;
}

[data-theme=dark] {
  --v-color-white: #181B21;
  --v-color-gray-1: #EDEBE3;
  --v-color-gray-2: #A2A8B2;
  --v-color-gray-3: #6C727C;
  --v-color-gray-4: rgba(255, 255, 255, 0.035);
  --v-color-primary-1: #E0A95E;
  --v-color-primary-1-2: #EBB56C;
  --v-color-primary-1-3: rgba(224, 169, 94, 0.13);
  --v-color-primary-1-4: #363C46;
  --v-color-primary-1-5: #282D36;
  --v-color-primary-1-6: #0F1115;
  --v-color-primary-1-7: #1E222A;
  --v-color-secondary-1: #E57373;
  --v-color-secondary-2: #4ECC81;
  --v-color-shadow-1: 0 1px 2px rgba(0, 0, 0, 0.3);
  --v-color-shadow-2: 0 4px 14px rgba(0, 0, 0, 0.35), 0 14px 32px rgba(0, 0, 0, 0.3);
  --v-color-shadow-3: 0 16px 40px rgba(0, 0, 0, 0.45), 0 40px 80px rgba(0, 0, 0, 0.4);
  --v-color-shadow-4: 0 10px 36px rgba(224, 169, 94, 0.25);
}

*,
*::before,
*::after {
  box-sizing: border-box;
  background-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}

:where(:root) {
  font-size: var(--v-font-size-root);
}
@media (prefers-reduced-motion: no-preference) {
  :where(:root) {
    scroll-behavior: smooth;
  }
}

:where(body) {
  margin: 0;
  font-family: var(--v-font-1);
  font-size: var(--v-font-size);
  font-weight: var(--v-font-weight);
  line-height: var(--v-line-height);
  color: var(--v-color-gray-2);
  background-color: var(--v-color-primary-1-6);
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  cursor: default;
  overflow-wrap: break-word;
  -moz-tab-size: 4;
  -o-tab-size: 4;
  tab-size: 4;
}

:where(h6), :where(h5), :where(h4), :where(h3), :where(h2), :where(h1) {
  margin-top: 0;
  margin-bottom: 1rem;
  font-weight: 600;
  line-height: 1.1;
  color: var(--v-color-gray-1);
}

:where(h1) {
  font-size: 2.5rem;
}

:where(h2) {
  font-size: 2rem;
}

:where(h3) {
  font-size: 1.75rem;
}

:where(h4) {
  font-size: 1.5rem;
}

:where(h5) {
  font-size: 1.25rem;
}

:where(h6) {
  font-size: 1rem;
}

:where(p) {
  margin-top: 0;
  margin-bottom: 1rem;
}

:where(hr) {
  margin: 1rem 0;
  color: inherit;
  border: 0;
  border-top: 1px solid;
  opacity: 0.15;
  height: 0;
}

:where(hr:not([size])) {
  height: 1px;
}

:where(nav li)::before {
  content: "​";
  float: left;
}

:where(abbr[title]) {
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
  cursor: help;
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
}

:where(address) {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit;
}

:where(ol, ul) {
  padding-left: 2rem;
}

:where(dl, ol, ul) {
  margin-bottom: 1rem;
}

:where(dl, ol, ul) :where(dl, ol, ul) {
  margin: 0;
}

:where(dt) {
  font-weight: 700;
}

:where(dd) {
  margin-bottom: 0.5rem;
  margin-left: 0;
}

:where(blockquote) {
  margin: 0 0 1rem;
}

:where(b, strong) {
  font-weight: bolder;
}

:where(small) {
  font-size: 0.875em;
}

:where(mark) {
  padding: 0.2em;
  background-color: #fcf8e3;
}

:where(sub, sup) {
  position: relative;
  font-size: 0.75em;
  line-height: 0;
  vertical-align: baseline;
}

:where(sub) {
  bottom: -0.25em;
}

:where(sup) {
  top: -0.5em;
}

:where(a) {
  color: var(--v-color-gray-1);
  text-decoration: none;
}
:where(a):focus, :where(a):focus-visible {
  outline: 0;
}
:where(a):focus-visible {
  color: var(--v-color-primary-1);
}
@media (hover: hover) {
  :where(a):hover {
    color: var(--v-color-primary-1);
  }
}

:where(a:not([href]):not([class])), :where(a:not([href]):not([class])):hover {
  color: inherit;
  text-decoration: none;
}

:where(pre, code, kbd, samp) {
  font-family: var(--v-font-monospace);
  font-size: 1em;
  direction: ltr /* rtl:ignore */;
  unicode-bidi: bidi-override;
}

:where(pre) {
  display: block;
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
  font-size: 0.875em;
  font-family: monospace, monospace;
}
:where(pre) :where(code) {
  font-size: inherit;
  color: inherit;
  word-break: normal;
}

:where(code) {
  font-size: 0.875em;
  color: #d63384;
  word-wrap: break-word;
}
:where(a > :where(code)) {
  color: inherit;
}

:where(kbd) {
  padding: 0.2rem 0.4rem;
  font-size: 0.875em;
  color: #ffffff;
  background-color: #000000;
  border-radius: 0.2rem;
}
:where(kbd) :where(kbd) {
  padding: 0;
  font-size: 1em;
  font-weight: 700;
}

:where(figure) {
  margin: 0 0 1rem;
}

:where(img, svg) {
  vertical-align: middle;
  display: inline-block;
}

:where(svg:not([fill])) {
  fill: currentColor;
}

:where(table) {
  caption-side: bottom;
  border-collapse: collapse;
  border-color: currentColor;
  text-indent: 0;
}

:where(caption) {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  color: var(--v-color-white);
  text-align: left;
}

:where(th) {
  font-weight: 400;
  text-align: inherit;
  text-align: -webkit-match-parent;
}

:where(thead, tbody, tfoot, tr, td, th) {
  border-color: inherit;
  border-style: solid;
  border-width: 0;
}

:where(label) {
  display: inline-block;
}

:where(button) {
  border-radius: 0;
}

:where(button:focus:not(:focus-visible)) {
  outline: 0;
}

:where(input, button, select, optgroup, textarea) {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  background-color: transparent;
  border: 1px solid WindowFrame;
  color: inherit;
  letter-spacing: inherit;
  padding: 0.25em 0.375em;
}

:where(button, select) {
  text-transform: none;
}

:where([role=button]) {
  cursor: pointer;
}

:where(select) {
  word-wrap: normal;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='4'%3E%3Cpath d='M4 0h6L7 4'/%3E%3C/svg%3E") no-repeat right center/1em;
  border-radius: 0;
  padding-right: 1em;
}
:where(select):disabled {
  opacity: 1;
}

:where(select[multiple]) {
  background-image: none;
}

:where([type=color i], [type=range i]) {
  border-width: 0;
  padding: 0;
}

[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {
  display: none !important;
}

:where(button, [type=button], [type=reset], [type=submit]) {
  -webkit-appearance: button;
}
:where(button, [type=button], [type=reset], [type=submit]):not(:disabled) {
  cursor: pointer;
}

:where([type=button i], [type=reset i], [type=submit i]) {
  -webkit-appearance: button;
}

::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

:where(textarea) {
  resize: vertical;
  margin: 0;
}

:where(fieldset) {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
}

:where(legend) {
  float: left;
  width: 100%;
  padding: 0;
  margin-bottom: 0.5rem;
  font-size: 1.5rem;
  line-height: inherit;
}
:where(legend) + * {
  clear: left;
}

::-webkit-datetime-edit-fields-wrapper,
::-webkit-datetime-edit-text,
::-webkit-datetime-edit-minute,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-year-field {
  padding: 0;
}

::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
  height: auto;
}

:where([type=search]) {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

:where([type=search i]) {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

/* rtl:raw:
[type="tel"],
[type="url"],
[type="email"],
[type="number"] {
  direction: ltr;
}
*/
::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54;
}

::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-color-swatch-wrapper {
  padding: 0;
}

::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
}

::file-selector-button {
  font: inherit;
  -webkit-appearance: button;
}

::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
}

:where(output) {
  display: inline-block;
}

:where(iframe) {
  border: 0;
}

:where(audio, canvas, iframe, img, svg, video) {
  vertical-align: middle;
}

:where(summary) {
  display: list-item;
  cursor: pointer;
}

:where(progress) {
  vertical-align: baseline;
}

:where([hidden]) {
  display: none !important;
}

:where(dialog) {
  background-color: white;
  border: solid;
  color: black;
  height: -moz-fit-content;
  height: -webkit-fit-content;
  height: fit-content;
  left: 0;
  margin: auto;
  padding: 1em;
  position: absolute;
  right: 0;
  width: -moz-fit-content;
  width: -webkit-fit-content;
  width: fit-content;
}

:where(dialog:not([open])) {
  display: none;
}

:where(details > summary:first-of-type) {
  display: list-item;
}

:where([aria-busy=true i]) {
  cursor: progress;
}

:where([aria-disabled=true i], [disabled]) {
  cursor: not-allowed;
}

:where([aria-hidden=false i][hidden]) {
  display: initial;
}

:where([aria-hidden=false i][hidden]:not(:focus)) {
  clip: rect(0, 0, 0, 0);
  position: absolute;
}

:where(iframe, img, input, video, select, textarea) {
  max-width: 100%;
}

:where(iframe, img[width][height], input, video, select, textarea) {
  height: auto;
}

/*:root {
  --grid-breakpoint-xs: 0;
  --grid-breakpoint-sm: 363px;
  --grid-breakpoint-md: 768px;
  --grid-breakpoint-lg: 992px;
  --grid-breakpoint-xl: 1200px;
  --grid-breakpoint-xxl: 1400px;
  --grid-breakpoint-xxl2: 1600px;
  --grid-breakpoint-xxl3: 1850px;
}*/

[data-theme=dark] .a-body::before {
  mix-blend-mode: screen;
  opacity: 0.12;
}

.a-body {
  transition: background-color var(--v-transition), color var(--v-transition);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.a-body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  opacity: 0.35;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");
  background-repeat: repeat;
  mix-blend-mode: multiply;
}

&::-moz-selection {
  background: var(--v-color-primary-1);
  color: var(--v-color-white);
}

&::selection {
  background: var(--v-color-primary-1);
  color: var(--v-color-white);
}

:focus-visible {
  outline: 2px solid var(--v-color-primary-1);
  outline-offset: 3px;
  border-radius: 4px;
}

/* =========================================================
   Reveal animations
   ========================================================= */
.reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.8s var(--v-transition-timing), transform 0.8s var(--v-transition-timing);
}

.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

.reveal-stagger > * {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.6s var(--v-transition-timing), transform 0.6s var(--v-transition-timing);
}

.reveal-stagger.visible > * {
  opacity: 1;
  transform: translateY(0);
}

.reveal-stagger.visible > *:nth-child(1) {
  transition-delay: 0.05s;
}

.reveal-stagger.visible > *:nth-child(2) {
  transition-delay: 0.1s;
}

.reveal-stagger.visible > *:nth-child(3) {
  transition-delay: 0.15s;
}

.reveal-stagger.visible > *:nth-child(4) {
  transition-delay: 0.2s;
}

.reveal-stagger.visible > *:nth-child(5) {
  transition-delay: 0.25s;
}

.reveal-stagger.visible > *:nth-child(6) {
  transition-delay: 0.3s;
}

.reveal-stagger.visible > *:nth-child(7) {
  transition-delay: 0.35s;
}

.reveal-stagger.visible > *:nth-child(8) {
  transition-delay: 0.4s;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  .reveal, .reveal-stagger > * {
    opacity: 1;
    transform: none;
  }
  .a-hero-badge, .a-hero-title, .a-hero-sub, .a-hero-ctas, .a-hero-stats, .a-brief-card {
    opacity: 1;
    animation: none;
  }
}
.b-help-dn,
.a-help-dn {
  display: none !important;
}

@media (max-width: 767.98px) {
  .a-help-dn-m {
    display: none;
  }
}

.a-help-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.a-help-scroll-horizontal {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  width: auto;
  min-height: 0.01%;
}

.a-help-scroll-horizontal-2 {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  width: auto;
  min-height: 0.01%;
}

.a-help-scroll-horizontal-inner {
  width: 150%;
}

.a-link {
  --link-display: inline-block;
  --link-transition: color 0.16s ease-out, background-color 0.16s ease-out, border-color 0.16s ease-out;
  --link-color: var(--v-color-gray-1);
  --link-background-color: initial;
  --link-hover-color: var(--v-color-primary-1);
  --link-hover-background-color: initial;
  --link-active-color: var(--v-color-primary-1);
  --link-active-background-color: initial;
  --link-disabled-color: var(--v-color-gray-1);
  --link-disabled-background-color: initial;
  display: var(--link-display);
  background-color: var(--link-background-color);
  color: var(--link-color);
  transition: var(--link-transition);
}
.a-link:focus-visible {
  background-color: var(--link-hover-background-color);
  color: var(--link-hover-color);
}
@media (hover: hover) {
  .a-link:hover {
    background-color: var(--link-hover-background-color);
    color: var(--link-hover-color);
  }
}
.a-link.active, .a-link.--active, .a-link--active {
  background-color: var(--link-active-background-color);
  color: var(--link-active-color);
}
@media (hover: hover) {
  .a-link.active:hover, .a-link.--active:hover, .a-link--active:hover {
    background-color: var(--link-active-background-color);
    color: var(--link-active-color);
  }
}
.a-link--type-1 {
  --link-display: inline-flex;
  align-items: center;
  gap: var(---svg-link-gap, 0.5rem);
}

.a-img {
  --img-display: inline-block;
  display: var(--img-display);
  max-width: 100%;
  height: auto;
}

.a-img-height {
  --img-display: inline-block;
  display: var(--img-display);
  max-width: 100%;
  height: auto;
  max-height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}

.a-img-cover {
  --img-display: inline-block;
  --img-fit: cover;
  display: var(--img-display);
  max-width: 100%;
  min-width: 100%;
  height: auto;
  min-height: 100%;
  max-height: 100%;
  -o-object-fit: var(--img-fit);
  object-fit: var(--img-fit);
}

.a-img-contain {
  --img-display: inline-block;
  --img-fit: contain;
  display: var(--img-display);
  max-width: 100%;
  min-width: 100%;
  height: auto;
  min-height: 100%;
  max-height: 100%;
  -o-object-fit: var(--img-fit);
  object-fit: var(--img-fit);
}

.a-img-picture {
  display: block;
  width: var(--img-picture-width, 100%);
  height: var(--img-picture-height, 100%);
  -o-object-fit: contain;
  object-fit: contain;
  -o-object-position: center;
  object-position: center;
}

.a-svg {
  --svg-display: inline-block;
  --svg-width: 1.5rem;
  --svg-height: 1.5rem;
  --svg-color: currentcolor;
  display: var(--svg-display);
  width: var(--svg-width);
  height: var(--svg-height);
  color: var(--svg-color);
}
.a-svg--width-16 {
  --svg-width: 1rem;
  --svg-height: 1rem;
}
.a-svg--width-22 {
  --svg-width: 1.375rem;
  --svg-height: 1.375rem;
}
.a-svg--width-26 {
  --svg-width: 1.625rem;
  --svg-height: 1.625rem;
}

.a-btn {
  --btn-display: inline-flex;
  --btn-padding: 1.0625rem 1.6875rem;
  --btn-font-family: var(--v-font-1);
  --btn-font-size: 1rem;
  --btn-font-weight: 500;
  --btn-line-height: var(--v-line-height);
  --btn-white-space: normal;
  --btn-transition: color 0.16s ease-out, background-color 0.16s ease-out, border-color 0.16s ease-out, box-shadow 0.16s ease-out;
  --btn-color: #1A1A1A;
  --btn-bg: rgb(97%, 97%, 97%);
  --btn-border-color: rgb(88%, 88%, 88%);
  --btn-border-width: 1px;
  --btn-border-radius: 0.5rem;
  --btn-box-shadow: none;
  --btn-hover-color: var(--btn-color);
  --btn-hover-bg: rgb(95%, 95%, 95%);
  --btn-hover-border-color: #cccccc;
  --btn-focus-visible-color: var(--btn-color);
  --btn-focus-visible-bg: rgb(95%, 95%, 95%);
  --btn-focus-visible-border-color: #cccccc;
  --btn-focus-visible-box-shadow: 0 0 0 0.25rem rgb(70%, 70%, 70%);
  --btn-focus-visible-outline: none;
  --btn-focus-visible-outline-offset: 0;
  --btn-active-color: var(--btn-color);
  --btn-active-bg: rgb(93%, 93%, 93%);
  --btn-active-border-color: rgb(72%, 72%, 72%);
  --btn-active-box-shadow: var(--btn-box-shadow);
  --btn-disabled-color: var(--btn-color);
  --btn-disabled-bg: var(--btn-bg);
  --btn-disabled-border-color: var(--btn-border-color);
  --btn-disabled-opacity: .5;
  --btn-gap: 0.5rem;
  display: var(--btn-display);
  padding: var(--btn-padding);
  align-items: center;
  gap: var(--btn-gap);
  font-size: var(--btn-font-size);
  font-weight: var(--btn-font-weight);
  line-height: var(--btn-line-height);
  white-space: var(--btn-white-space);
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  color: var(--btn-color);
  background-color: var(--btn-bg);
  border: var(--btn-border-width) solid var(--btn-border-color);
  border-radius: var(--btn-border-radius);
  box-shadow: var(--btn-box-shadow);
  transition: var(--btn-transition);
}
@media (hover: hover) {
  .a-btn:hover {
    color: var(--btn-hover-color);
    background-color: var(--btn-hover-bg);
    border-color: var(--btn-hover-border-color);
  }
}
.a-btn:focus-visible {
  color: var(--btn-focus-visible-color);
  background-color: var(--btn-focus-visible-bg);
  border-color: var(--btn-focus-visible-border-color);
  box-shadow: var(--btn-focus-visible-box-shadow);
  outline: var(--btn-focus-visible-outline);
  outline-offset: var(--btn-focus-visible-outline-offset);
  border-radius: var(--btn-border-radius);
}
.a-btn.--active, .a-btn--active, .a-btn:active {
  color: var(--btn-active-color);
  background-color: var(--btn-active-bg);
  border-color: var(--btn-active-border-color);
  box-shadow: var(--btn-active-box-shadow);
}
.a-btn.--active:focus, .a-btn--active:focus, .a-btn:active:focus {
  box-shadow: var(--btn-active-box-shadow);
}
.a-btn.--disabled, .a-btn--disabled, .a-btn:disabled, fieldset:disabled .a-btn {
  color: var(--btn-disabled-color);
  background-color: var(--btn-disabled-bg);
  border-color: var(--btn-disabled-border-color);
  box-shadow: none;
  outline: none;
  opacity: var(--btn-disabled-opacity);
  pointer-events: none;
}
.a-btn .a-svg--width-16 {
  transition: transform var(--v-transition);
}
.a-btn--v1, .a-btn--primary, .a-button {
  --btn-color: var(--v-color-white);
  --btn-bg: var(--v-color-primary-1);
  --btn-border-color: var(--v-color-primary-1);
  --btn-hover-color: var(--v-color-white);
  --btn-hover-bg: var(--v-color-primary-1-2);
  --btn-hover-border-color: var(--v-color-primary-1-2);
  --btn-focus-visible-color: var(--v-color-white);
  --btn-focus-visible-bg: var(--v-color-primary-1-2);
  --btn-focus-visible-border-color: var(--v-color-primary-1-2);
  --btn-focus-visible-box-shadow: none;
  --btn-focus-visible-outline: 2px solid var(--v-color-primary-1);
  --btn-focus-visible-outline-offset: 2px;
  --btn-active-color: var(--v-color-white);
  --btn-active-bg: color-mix(in srgb, var(--v-color-primary-1-2), black 16%);
  --btn-active-border-color: color-mix(in srgb, var(--v-color-primary-1-2), black 16%);
  --btn-disabled-color: var(--v-color-white);
  --btn-disabled-bg: var(--v-color-primary-1);
  --btn-disabled-border-color: var(--v-color-primary-1);
}
@media (hover: hover) {
  .a-btn--v1:hover, .a-btn--primary:hover, .a-button:hover {
    transform: translateY(-1px);
    box-shadow: var(--v-color-shadow-4);
  }
  .a-btn--v1:hover .a-svg--width-16 {
    transform: translateX(3px);
  }
}
.a-btn--v2 {
  --btn-color: var(--v-color-gray-1);
  --btn-bg: transparent;
  --btn-border-color: var(--v-color-primary-1-4);
  --btn-hover-color: var(--v-color-primary-1);
  --btn-hover-bg: transparent;
  --btn-hover-border-color: var(--v-color-primary-1);
  --btn-focus-visible-color: var(--v-color-primary-1);
  --btn-focus-visible-bg: transparent;
  --btn-focus-visible-border-color: var(--v-color-primary-1);
  --btn-focus-visible-box-shadow: none;
  --btn-focus-visible-outline: 2px solid var(--v-color-primary-1);
  --btn-focus-visible-outline-offset: 2px;
  --btn-active-color: var(--v-color-primary-1-2);
  --btn-active-bg: transparent;
  --btn-active-border-color: var(--v-color-primary-1-2);
  --btn-disabled-color: var(--v-color-primary-1);
  --btn-disabled-bg: transparent;
  --btn-disabled-border-color: var(--v-color-primary-1);
}
.a-btn--sm {
  --btn-padding: 0.8125rem 1.125rem;
}
.a-btn--sm-2 {
  --btn-padding: 0.78125rem 1.125rem;
  --btn-font-size: 0.875rem;
}
.a-btn--link {
  --btn-padding: 1.03125rem 1.5625rem;
}
.a-btn--width-100 {
  --btn-display: flex;
  justify-content: center;
  width: 100%;
}
.a-btn--type-width {
  --btn-display: flex;
  justify-content: center;
  width: 100%;
}

.btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 22px;
  border-radius: 10px;
  font-weight: 500;
  font-size: 0.95rem;
  letter-spacing: -0.01em;
  cursor: pointer;
  border: 1px solid transparent;
  white-space: nowrap;
  transition: color 0.16s ease-out, background-color 0.16s ease-out, border-color 0.16s ease-out, box-shadow 0.16s ease-out;
}

.btn-primary {
  background: var(--v-color-primary-1);
  color: var(--v-color-white);
}

.btn-primary:hover {
  background: var(--v-color-primary-1-2);
  transform: translateY(-1px);
  box-shadow: var(--v-color-shadow-4);
}

.btn-ghost {
  background: transparent;
  color: var(--v-color-gray-1);
  border-color: var(--v-color-primary-1-4);
}

.btn-ghost:hover {
  border-color: var(--v-color-primary-1);
  color: var(--v-color-primary-1);
}

.btn-lg {
  padding: 16px 28px;
  font-size: 1rem;
}

.btn svg {
  transition: transform var(--v-transition);
}

.btn:hover svg {
  transform: translateX(3px);
}

.menu-toggle {
  display: none;
  width: 40px;
  height: 40px;
  border-radius: 10px;
  border: 1px solid var(--v-color-primary-1-5);
  background: var(--v-color-white);
  align-items: center;
  justify-content: center;
  position: relative;
}

.menu-toggle span,
.menu-toggle span::before,
.menu-toggle span::after {
  content: "";
  display: block;
  width: 18px;
  height: 2px;
  background: var(--v-color-gray-1);
  position: absolute;
  transition: var(--v-transition);
}

.menu-toggle span::before {
  top: -6px;
}

.menu-toggle span::after {
  top: 6px;
}

.menu-toggle.open span {
  background: transparent;
}

.menu-toggle.open span::before {
  top: 0;
  transform: rotate(45deg);
}

.menu-toggle.open span::after {
  top: 0;
  transform: rotate(-45deg);
}

.a-nav-main {
  display: flex;
  gap: 4px;
}
.a-nav-main__link {
  --link-display: block;
  --link-color: var(--v-color-gray-2);
  --link-hover-color: var(--v-color-gray-1);
  --link-hover-background-color: var(--v-color-primary-1-7);
  --link-active-color: var(--v-color-primary-1);
  padding: 0.5625rem 0.875rem;
  border-radius: 0.5rem;
  font-size: 0.9375rem;
  font-weight: 500;
  position: relative;
}
.a-nav-main__link.active::after {
  content: "";
  position: absolute;
  left: 0.875rem;
  right: 0.875rem;
  bottom: 0.25rem;
  height: 1px;
  background: var(--v-color-primary-1);
}

.a-nav-footer {
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}
.a-nav-footer__list {
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}
.a-nav-footer__item {
  position: relative;
  display: block;
}
.a-nav-footer__item:not(:last-child) {
  margin-bottom: 0.875rem;
}
.a-nav-footer__link {
  --link-color: var(--v-color-gray-2);
  font-size: 0.875rem;
}

.b-nav-footer__list {
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
  line-height: 1.375;
}
@media (min-width: 992px) {
  .b-nav-footer__list + .b-nav-footer__list {
    margin-top: 1rem;
  }
}
.b-nav-footer__item {
  position: relative;
  display: block;
}
.b-nav-footer__item:not(:last-child) {
  margin-bottom: 0.9375rem;
}
.b-nav-footer__link {
  --link-display: inline-block;
  --link-transition: color 0.16s ease-out, background-color 0.16s ease-out, border-color 0.16s ease-out;
  --link-color: var(--v-color-gray-1);
  --link-background-color: initial;
  --link-hover-color: var(--v-color-primary-1);
  --link-hover-background-color: initial;
  --link-active-color: var(--v-color-primary-1);
  --link-active-background-color: initial;
  --link-disabled-color: var(--v-color-gray-1);
  --link-disabled-background-color: initial;
  display: var(--link-display);
  background-color: var(--link-background-color);
  color: var(--link-color);
  transition: var(--link-transition);
}
.b-nav-footer__link:focus-visible {
  background-color: var(--link-hover-background-color);
  color: var(--link-hover-color);
}
@media (hover: hover) {
  .b-nav-footer__link:hover {
    background-color: var(--link-hover-background-color);
    color: var(--link-hover-color);
  }
}
.b-nav-footer__link.active, .b-nav-footer__link.--active, .b-nav-footer__link--active {
  background-color: var(--link-active-background-color);
  color: var(--link-active-color);
}
@media (hover: hover) {
  .b-nav-footer__link.active:hover, .b-nav-footer__link.--active:hover, .b-nav-footer__link--active:hover {
    background-color: var(--link-active-background-color);
    color: var(--link-active-color);
  }
}

/* Mobile nav */
.mobile-nav {
  position: fixed;
  top: 0;
  right: 0;
  width: min(85vw, 360px);
  height: 100vh;
  background: var(--v-color-white);
  border-left: 1px solid var(--v-color-primary-1-5);
  z-index: 200;
  padding: 20px 24px 24px;
  transform: translateX(100%);
  transition: transform var(--v-transition);
  display: flex;
  flex-direction: column;
  gap: 4px;
  overflow-y: auto;
}

/* В тёмной теме панели и бургер на тёмной базе */
[data-theme=dark] .mobile-nav {
  background: var(--v-color-primary-1-7);
}
[data-theme=dark] .menu-toggle,
[data-theme=dark] .theme-toggle {
  background: var(--v-color-primary-1-7);
}

.mobile-nav.open {
  transform: translateX(0);
}

.mobile-nav__head {
  display: flex;
  justify-content: flex-end;
  min-height: 40px;
  margin: -4px -12px 12px;
}

.mobile-nav__close {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  border: 1px solid var(--v-color-primary-1-5);
  background: var(--v-color-white);
  color: var(--v-color-gray-1);
  cursor: pointer;
  padding: 0;
  transition: color var(--v-transition), border-color var(--v-transition);
}

.mobile-nav__close:hover {
  border-color: var(--v-color-primary-1);
  color: var(--v-color-primary-1);
}

.mobile-nav__close:focus-visible {
  outline: 2px solid var(--v-color-primary-1);
  outline-offset: 2px;
}

.mobile-nav__links {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.mobile-nav__cta {
  margin-top: 24px;
}

.mobile-nav__cta .a-btn {
  width: 100%;
  justify-content: center;
}

.mobile-nav a:not(.a-btn) {
  padding: 8px 4px;
  font-size: 1rem;
  font-weight: 500;
  border-bottom: 1px solid var(--v-color-primary-1-5);
}

.mobile-nav a:not(.a-btn):hover {
  color: var(--v-color-primary-1);
}

.overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  z-index: 150;
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--v-transition);
}

.overlay.open {
  opacity: 1;
  pointer-events: auto;
}

.a-container,
.container {
  max-width: var(--v-width-max);
  margin: 0 auto;
  padding: 0 28px;
  position: relative;
  z-index: 2;
}

.a-section {
  padding: 110px 0;
  position: relative;
}

/* Фиксированная шапка не должна накрывать цель якорной ссылки */
[id] {
  scroll-margin-top: calc(var(--v-height-header) + 16px);
}

.a-section + .a-section {
  border-top: 1px solid var(--v-color-primary-1-5);
}

.a-section-head {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 40px;
  align-items: baseline;
  margin-bottom: 64px;
  padding-bottom: 36px;
  border-bottom: 1px solid var(--v-color-primary-1-5);
}

.a-section-num {
  font-family: var(--v-font-monospace);
  font-size: 1.5rem;
  font-weight: 500;
  color: var(--v-color-primary-1);
  line-height: 1;
  letter-spacing: 0.02em;
}
.a-section-num::after {
  content: "";
  display: block;
  width: 32px;
  height: 2px;
  background: var(--v-color-primary-1);
  margin-top: 12px;
  opacity: 0.6;
}

.a-section-title__title {
  margin-bottom: 14px;
}
.a-section-title__sub {
  margin-bottom: 0;
  color: var(--v-color-gray-2);
  max-width: 575px;
  font-size: 1rem;
  line-height: 1.6;
}
.a-section-title__sub span {
  color: var(--v-color-primary-1);
}

.a-page-h1,
.a-page-h2,
.a-page-h3,
.a-page-h4 {
  letter-spacing: -0.02em;
}

h1, h2, h3, h4 {
  letter-spacing: -0.02em;
}

h1 {
  font-size: clamp(2.2rem, 5.2vw, 3.8rem);
  font-weight: 700;
}

h2 {
  font-size: clamp(1.8rem, 3.5vw, 2.5rem);
}

h3 {
  font-size: clamp(1.1rem, 1.8vw, 1.3rem);
}

.a-page-browser {
  padding: 0.5rem;
  background-color: lightyellow;
  color: firebrick;
  text-align: center;
}

.a-page-skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  padding: 12px 18px;
  background: var(--v-color-primary-1);
  color: var(--v-color-white);
  font-weight: 500;
  border-radius: 0 0 8px 0;
  z-index: 999;
}
.a-page-skip-link:focus {
  left: 0;
}

/* =========================================================
   Header
   ========================================================= */
.a-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: var(--v-height-header);
  background: color-mix(in srgb, var(--v-color-primary-1-6) 78%, transparent);
  backdrop-filter: blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  border-bottom: 1px solid var(--v-color-primary-1-5);
  z-index: 100;
  transition: background var(--v-transition), border-color var(--v-transition);
}
.a-header__inner {
  max-width: var(--v-width-max);
  margin: 0 auto;
  height: 100%;
  padding: 0 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
}

.a-logo {
  flex: none;
  display: block;
}
.a-logo__link {
  --link-color: var(--v-color-primary-1);
  --link-hover-color: var(--v-color-primary-1);
}
.a-logo__svg {
  --svg-width: 170px;
  --svg-height: 47px;
}

.a-header-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.theme-toggle {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  border: 1px solid var(--v-color-primary-1-5);
  background: var(--v-color-white);
  color: var(--v-color-gray-1);
  transition: all var(--v-transition);
}

.theme-toggle:hover {
  border-color: var(--v-color-primary-1);
  color: var(--v-color-primary-1);
  transform: rotate(-15deg);
}

.theme-toggle .moon {
  display: none;
}

[data-theme=dark] .theme-toggle .sun {
  display: none;
}

[data-theme=dark] .theme-toggle .moon {
  display: block;
}

.a-footer {
  padding: 72px 0 40px;
  border-top: 1px solid var(--v-color-primary-1-5);
  background: var(--v-color-primary-1-7);
  position: relative;
  z-index: 2;
}

.a-footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 48px;
  margin-bottom: 56px;
}

.a-footer-brand {
  max-width: 380px;
}

.a-footer-tagline {
  color: var(--v-color-gray-2);
  font-size: 0.875rem;
  margin: 1.125rem 0 1.5rem;
}

.a-footer-status {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--v-font-monospace);
  font-size: 0.875rem;
  color: var(--v-color-gray-3);
}
.a-footer-status__dot {
  display: none;
  width: 7px;
  height: 7px;
  background: var(--v-color-secondary-2);
  border-radius: 50%;
}

.a-footer-title {
  font-family: var(--v-font-monospace);
  font-size: 0.74rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--v-color-gray-3);
  margin-bottom: 18px;
  font-weight: 500;
}

.a-footer-bottom {
  padding-top: 1.75rem;
  border-top: 1px solid var(--v-color-primary-1-5);
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
  font-size: 0.875rem;
  color: var(--v-color-gray-3);
}
.a-footer-bottom__link {
  --link-color: var(--v-color-gray-3);
}

.a-to-top {
  --link-color: var(--v-color-white);
  --link-hover-color: var(--v-color-white);
  --link-active-color: var(--v-color-white);
  --link-disabled-color: var(--v-color-white);
  position: fixed;
  left: 24px;
  bottom: 24px;
  z-index: 90;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--v-color-primary-1);
  box-shadow: var(--v-color-shadow-4);
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px);
  transition: opacity var(--v-transition), transform var(--v-transition), visibility var(--v-transition),
    background-color var(--v-transition);
}
.a-to-top .a-svg {
  --svg-width: 1.25rem;
  --svg-height: 1.25rem;
}
@media (hover: hover) {
  .a-to-top:hover {
    background: var(--v-color-primary-1-2);
    transform: translateY(-2px);
  }
}
.a-to-top:focus-visible {
  outline: 2px solid var(--v-color-primary-1);
  outline-offset: 2px;
}
.a-to-top.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
  .a-to-top {
    transform: none;
  }
}
@media (max-width: 767.98px) {
  .a-to-top {
    left: 16px;
    bottom: 16px;
    width: 44px;
    height: 44px;
  }
}

/* =========================================================
   Hero
   ========================================================= */
.a-hero {
  padding-top: calc(var(--v-height-header) + 64px);
  padding-bottom: 96px;
  position: relative;
  overflow: hidden;
}
.a-hero__bg {
  position: absolute;
  inset: 0;
  background-image: linear-gradient(var(--v-color-gray-4) 1px, transparent 1px), linear-gradient(90deg, var(--v-color-gray-4) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: radial-gradient(ellipse 85% 65% at 50% 25%, black 25%, transparent 75%);
  -webkit-mask-image: radial-gradient(ellipse 85% 65% at 50% 25%, black 25%, transparent 75%);
  background-repeat: repeat;
  pointer-events: none;
}
.a-hero__glow {
  position: absolute;
  top: -15%;
  right: -10%;
  width: 700px;
  height: 700px;
  background: radial-gradient(circle, var(--v-color-primary-1-3) 0%, transparent 65%);
  pointer-events: none;
  filter: blur(20px);
}

.a-hero-grid {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 64px;
  align-items: center;
  position: relative;
  z-index: 2;
}
.a-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  padding: 0.5rem 1rem 0.5rem 1rem;
  border: 1px solid var(--v-color-primary-1-4);
  border-radius: 0.5rem;
  font-family: var(--v-font-monospace);
  font-size: 0.75rem;
  color: var(--v-color-gray-2);
  background: var(--v-color-white);
  margin-bottom: 2rem;
  opacity: 0;
  animation: fade-up 0.7s var(--v-transition-timing) 0.1s forwards;
  letter-spacing: 2px;
}
.a-hero-badge__dot {
  display: none;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: var(--v-color-secondary-2);
  box-shadow: 0 0 0 0 var(--v-color-secondary-2);
  animation: pulse 2s infinite;
}

@keyframes pulse {
  0% {
    box-shadow: 0 0 0 0 color-mix(in srgb, var(--v-color-secondary-2) 60%, transparent);
  }
  70% {
    box-shadow: 0 0 0 10px transparent;
  }
  100% {
    box-shadow: 0 0 0 0 transparent;
  }
}
.a-hero-title {
  margin-bottom: 1.5rem;
  opacity: 0;
  animation: fade-up 0.5s var(--v-transition-timing) 0.2s forwards;
}
.a-hero-title__accent {
  color: var(--v-color-primary-1);
  font-style: italic;
  font-weight: 500;
}

.a-hero-sub {
  font-size: 1.125rem;
  margin-bottom: 40px;
  max-width: 540px;
  line-height: 1.6;
  opacity: 0;
  animation: fade-up 0.5s var(--v-transition-timing) 0.3s forwards;
}

.a-hero-ctas {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 56px;
  opacity: 0;
  animation: fade-up 0.5s var(--v-transition-timing) 0.4s forwards;
}

.a-hero-stats {
  display: flex;
  gap: 56px;
  flex-wrap: wrap;
  padding-top: 36px;
  border-top: 1px solid var(--v-color-primary-1-5);
  opacity: 0;
  animation: fade-up 0.5s var(--v-transition-timing) 0.5s forwards;
}
.a-hero-stats .stat-num {
  font-size: 2.1rem;
  font-weight: 700;
  color: var(--v-color-gray-1);
  line-height: 1;
  letter-spacing: -0.03em;
}
.a-hero-stats .stat-num .accent {
  color: var(--v-color-primary-1);
  font-weight: 600;
}
.a-hero-stats .stat-label {
  font-size: 0.86rem;
  color: var(--v-color-gray-3);
  margin-top: 8px;
  max-width: 140px;
  line-height: 1.4;
}

@keyframes fade-up {
  from {
    opacity: 0;
    transform: translateY(24px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fade-left {
  from {
    opacity: 0;
    transform: translateX(24px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
/* =========================================================
   Brief form
   ========================================================= */
.a-brief-card {
  background: var(--v-color-white);
  border: 1px solid var(--v-color-primary-1-5);
  border-radius: var(--v-border-radius-3);
  padding: 36px;
  box-shadow: var(--v-color-shadow-2);
  position: relative;
  opacity: 0;
  animation: fade-left 0.4s var(--v-transition-timing) 0.2s forwards;
}
.a-brief-card::before {
  content: "";
  position: absolute;
  top: -10px;
  left: -10px;
  width: 56px;
  height: 56px;
  border-top: 2px solid var(--v-color-primary-1);
  border-left: 2px solid var(--v-color-primary-1);
  border-radius: var(--v-border-radius-3) 0 0 0;
  pointer-events: none;
}
.a-brief-card::after {
  content: "";
  position: absolute;
  bottom: -10px;
  right: -10px;
  width: 56px;
  height: 56px;
  border-bottom: 2px solid var(--v-color-primary-1);
  border-right: 2px solid var(--v-color-primary-1);
  border-radius: 0 0 var(--v-border-radius-3) 0;
  pointer-events: none;
}
.a-brief-card__label {
  font-family: var(--v-font-monospace);
  font-size: 0.72rem;
  color: var(--v-color-primary-1);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.a-brief-card__title {
  font-size: 1.5rem;
  font-weight: 600;
  margin-bottom: 8px;
  letter-spacing: -0.02em;
}
.a-brief-card__sub {
  color: var(--v-color-gray-2);
  font-size: 0.92rem;
  margin-bottom: 28px;
  line-height: 1.55;
}

.field {
  margin-bottom: 18px;
}

.field-label {
  display: block;
  font-family: var(--v-font-monospace);
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--v-color-gray-3);
  margin-bottom: 8px;
  font-weight: 500;
}

.field input, .field select, .field textarea {
  width: 100%;
  padding: 13px 14px;
  background: var(--v-color-primary-1-6);
  border: 1px solid var(--v-color-primary-1-5);
  border-radius: 10px;
  color: var(--v-color-gray-1);
  font-size: 0.95rem;
  transition: border-color var(--v-transition), box-shadow var(--v-transition), background-color var(--v-transition);
}

.field textarea {
  resize: vertical;
  min-height: 78px;
  line-height: 1.5;
}

.field input::placeholder, .field textarea::placeholder {
  color: var(--v-color-gray-3);
}

.field input:focus, .field select:focus, .field textarea:focus {
  outline: none;
  border-color: var(--v-color-primary-1);
  box-shadow: 0 0 0 3px var(--v-color-primary-1-3);
  background-color: var(--v-color-white);
}

.field select {
  -moz-appearance: none;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%238A8A95' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  padding-right: 38px;
}

.field.error input, .field.error select, .field.error textarea {
  border-color: var(--v-color-secondary-1);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--v-color-secondary-1) 12%, transparent);
}

.field-error {
  font-size: 0.78rem;
  color: var(--v-color-secondary-1);
  margin-top: 6px;
  display: none;
  font-family: var(--v-font-monospace);
}

.field.error .field-error {
  display: block;
}

.a-brief-submit {
  margin-top: 6px;
}
.a-brief-submit__btn {
  width: 100%;
  justify-content: center;
}

.a-brief-trust {
  margin-bottom: 1rem;
  font-size: 0.82rem;
  line-height: 1.5;
  color: var(--v-color-gray-3);
}
.a-brief-trust__agree {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}
.a-brief-trust__agree .a-link {
  --link-color: var(--v-color-gray-3);
}
.a-brief-trust__agree-input {
  -moz-appearance: none;
  appearance: none;
  -webkit-appearance: none;
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  margin: 1px 0 0;
  border: 1px solid var(--v-color-primary-1-4);
  border-radius: 6px;
  background-color: var(--v-color-primary-1-6);
  cursor: pointer;
  transition: background-color var(--v-transition), border-color var(--v-transition), box-shadow var(--v-transition);
}
.a-brief-trust__agree-input:checked {
  background-color: var(--v-color-primary-1);
  border-color: var(--v-color-primary-1);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='10' viewBox='0 0 12 10' fill='none'%3E%3Cpath d='M1 5.2L4.4 8.6L11 1.5' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-position: center;
}
@media (hover: hover) {
  .a-brief-trust__agree:hover .a-brief-trust__agree-input:not(:checked) {
    border-color: var(--v-color-primary-1);
  }
}
.a-brief-trust__agree-input:focus-visible {
  outline: none;
  border-color: var(--v-color-primary-1);
  box-shadow: 0 0 0 3px var(--v-color-primary-1-3);
}
.a-brief-trust__svg {
  color: var(--v-color-secondary-2);
}

.a-brief-success {
  display: none;
  text-align: center;
  padding: 40px 8px;
  background: color-mix(in srgb, var(--v-color-secondary-2), white 95%);
}
.a-brief-success__check {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: var(--v-color-secondary-2);
  color: white;
  display: grid;
  place-items: center;
  margin: 0 auto 24px;
}
.a-brief-success__title {
  margin-bottom: 10px;
  font-size: 1.3rem;
}
.a-brief-success__text {
  color: var(--v-color-gray-2);
  font-size: 0.95rem;
}
.a-brief-success.show {
  display: block;
  animation: fade-up 0.5s var(--v-transition-timing) both;
}

.a-cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 20px;
}

.a-card {
  background-color: var(--v-color-white);
  border: 1px solid var(--v-color-primary-1-5);
  border-radius: var(--v-border-radius-2);
  padding: 32px;
  transition: border-color var(--v-transition), box-shadow var(--v-transition);
  position: relative;
  overflow: hidden;
}
@media (hover: hover) {
  .a-card:hover {
    border-color: var(--v-color-primary-1-4);
    box-shadow: var(--v-color-shadow-2);
  }
  .a-card:hover::before {
    width: 100%;
  }
}
.a-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 2px;
  background: var(--v-color-primary-1);
  transition: width 0.45s var(--v-transition-timing);
}
.a-card__svg {
  --svg-width: 1.375rem;
  --svg-height: 1.375rem;
  --svg-color: var(--v-color-primary-1);
}
.a-card__icon {
  width: 46px;
  height: 46px;
  border-radius: 10px;
  background: var(--v-color-primary-1-3);
  color: var(--v-color-primary-1);
  display: grid;
  place-items: center;
  margin-bottom: 22px;
}
.a-card__title {
  margin-bottom: 10px;
}
.a-card__desc {
  color: var(--v-color-gray-2);
  font-size: 0.93rem;
  margin-bottom: 20px;
  line-height: 1.6;
}

.card-icon {
  width: 46px;
  height: 46px;
  border-radius: 10px;
  background: var(--v-color-primary-1-3);
  color: var(--v-color-primary-1);
  display: grid;
  place-items: center;
  margin-bottom: 22px;
}

.card-title {
  margin-bottom: 10px;
}

.card-desc {
  color: var(--v-color-gray-2);
  font-size: 0.93rem;
  margin-bottom: 20px;
  line-height: 1.6;
}

.a-tech-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.a-tech-tags__tag {
  font-family: var(--v-font-monospace);
  font-size: 0.72rem;
  padding: 4px 10px;
  border: 1px solid var(--v-color-primary-1-5);
  border-radius: 100px;
  color: var(--v-color-gray-2);
  background: var(--v-color-primary-1-7);
  transition: border-color var(--v-transition), color var(--v-transition);
}
@media (hover: hover) {
  .a-tech-tags__tag:hover {
    border-color: var(--v-color-primary-1);
    color: var(--v-color-primary-1);
  }
}

.a-process-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--v-color-primary-1-5);
  border-left: 1px solid var(--v-color-primary-1-5);
}

.a-process-step {
  padding: 40px 32px;
  border-right: 1px solid var(--v-color-primary-1-5);
  border-bottom: 1px solid var(--v-color-primary-1-5);
  position: relative;
  transition: background var(--v-transition);
}
@media (hover: hover) {
  .a-process-step:hover {
    background: var(--v-color-primary-1-7);
  }
  .a-process-step:hover .a-process-step__num::after {
    width: 56px;
  }
}
.a-process-step__num {
  font-family: var(--v-font-monospace);
  font-size: 0.82rem;
  color: var(--v-color-primary-1);
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 12px;
  letter-spacing: 0.08em;
}
.a-process-step__num::after {
  content: "";
  width: 32px;
  height: 1px;
  background: var(--v-color-primary-1);
  transition: width var(--v-transition);
}
.a-process-step__title {
  margin-bottom: 10px;
  font-size: 1.15rem;
}
.a-process-step__desc {
  color: var(--v-color-gray-2);
  font-size: 0.93rem;
  line-height: 1.6;
}

/* =========================================================
   Skills
   ========================================================= */
.a-skills-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
}

.a-skill-cat {
  padding: 30px;
  background: var(--v-color-white);
  border: 1px solid var(--v-color-primary-1-5);
  border-radius: var(--v-border-radius-2);
  transition: border-color var(--v-transition);
}
@media (hover: hover) {
  .a-skill-cat:hover {
    border-color: var(--v-color-primary-1-4);
  }
}
.a-skill-cat__head {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 22px;
}
.a-skill-cat__svg {
  --svg-width: 1.125rem;
  --svg-height: 1.125rem;
  --svg-color: var(--v-color-primary-1);
}
.a-skill-cat__icon {
  width: 38px;
  height: 38px;
  border-radius: 9px;
  background: var(--v-color-primary-1-3);
  color: var(--v-color-primary-1);
  display: grid;
  place-items: center;
}
.a-skill-cat__title {
  font-size: 1.02rem;
  font-weight: 600;
}

.a-skill-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
@media (hover: hover) {
  .a-skill-tags:hover {
    border-color: var(--v-color-primary-1);
    color: var(--v-color-primary-1);
  }
}
.a-skill-tags__tag {
  font-family: var(--v-font-monospace);
  font-size: 0.78rem;
  padding: 6px 12px;
  background: var(--v-color-primary-1-7);
  border: 1px solid var(--v-color-primary-1-5);
  border-radius: 8px;
  color: var(--v-color-gray-1);
  transition: color var(--v-transition), border-color var(--v-transition);
  cursor: default;
}

.a-why-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
  gap: 20px;
}

.a-why-card {
  padding: 32px;
  background: var(--v-color-white);
  border: 1px solid var(--v-color-primary-1-5);
  border-radius: var(--v-border-radius-2);
  transition: border-color var(--v-transition), box-shadow var(--v-transition);
  position: relative;
}
@media (hover: hover) {
  .a-why-card:hover {
    border-color: var(--v-color-primary-1);
    box-shadow: var(--v-color-shadow-1);
  }
}
.a-why-card__num {
  font-family: var(--v-font-monospace);
  font-size: 0.78rem;
  color: var(--v-color-primary-1);
  margin-bottom: 18px;
  letter-spacing: 0.08em;
}
.a-why-card__title {
  margin-bottom: 10px;
  font-size: 1.08rem;
}
.a-why-card__desc {
  color: var(--v-color-gray-2);
  font-size: 0.92rem;
  line-height: 1.6;
}

.a-pricing-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 20px;
}

.a-price-card {
  background: var(--v-color-white);
  border: 1px solid var(--v-color-primary-1-5);
  border-radius: var(--v-border-radius-3);
  padding: 38px 30px;
  display: flex;
  flex-direction: column;
  transition: box-shadow var(--v-transition);
  position: relative;
}
@media (hover: hover) {
  .a-price-card:hover {
    box-shadow: var(--v-color-shadow-2);
  }
}
.a-price-card__badge {
  position: absolute;
  top: -12px;
  left: 30px;
  background: var(--v-color-primary-1);
  color: var(--v-color-white);
  padding: 5px 12px;
  border-radius: 100px;
  font-size: 0.7rem;
  font-family: var(--v-font-monospace);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 500;
}
.a-price-card__name {
  font-size: 1.15rem;
  margin-bottom: 10px;
  font-weight: 600;
  color: var(--v-color-gray-1);
}
.a-price-card__amount {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 4px;
  color: var(--v-color-gray-1);
  letter-spacing: -0.03em;
  line-height: 1;
}
.a-price-card__amount--accent {
  color: var(--v-color-primary-1);
  font-size: 2.3rem;
}
.a-price-card__amount-from {
  font-size: 0.82rem;
  font-weight: 400;
  color: var(--v-color-gray-3);
  margin-right: 4px;
}
.a-price-card__term {
  color: var(--v-color-gray-3);
  font-size: 0.8rem;
  margin-bottom: 28px;
}
.a-price-card__features {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 28px;
  flex: 1;
}
.a-price-card__feature {
  display: flex;
  gap: 10px;
  font-size: 0.92rem;
  color: var(--v-color-gray-2);
  line-height: 1.45;
}
.a-price-card__feature-icon {
  --svg-width: 1rem;
  --svg-height: 1rem;
  --svg-color: var(--v-color-primary-1);
  flex-shrink: 0;
  margin-top: 3px;
}
.a-price-card__cta {
  width: 100%;
  justify-content: center;
}
.a-price-card--featured {
  border-color: var(--v-color-primary-1);
  background: linear-gradient(180deg, var(--v-color-primary-1-3) 0%, var(--v-color-white) 35%);
}

.a-portfolio-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  gap: 24px;
}

.a-project-card {
  background: var(--v-color-white);
  border: 1px solid var(--v-color-primary-1-5);
  border-radius: var(--v-border-radius-3);
  overflow: hidden;
  transition: box-shadow var(--v-transition), border-color var(--v-transition);
}
@media (hover: hover) {
  .a-project-card:hover {
    box-shadow: var(--v-color-shadow-2);
    border-color: var(--v-color-primary-1-4);
  }
}
.a-project-card__visual {
  height: 190px;
  position: relative;
  overflow: hidden;
  display: grid;
  place-items: center;
}
.a-project-card__visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(255, 255, 255, 0.07) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.07) 1px, transparent 1px);
  background-size: 26px 26px;
  pointer-events: none;
}
.a-project-card__body {
  padding: 26px 28px 28px;
}
.a-project-card__cat {
  font-family: var(--v-font-monospace);
  font-size: 0.7rem;
  color: var(--v-color-primary-1);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 10px;
}
.a-project-card__title {
  margin-bottom: 10px;
  font-size: 1.2rem;
}
.a-project-card__desc {
  color: var(--v-color-gray-2);
  font-size: 0.92rem;
  margin-bottom: 18px;
  line-height: 1.6;
}
.a-project-card__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  z-index: 1;
  transition: transform var(--v-transition);
}
@media (hover: hover) {
  .a-project-card:hover .a-project-card__img {
    transform: scale(1);
  }
}
.a-project-card__works {
  padding: 14px 16px;
  background: var(--v-color-primary-1-7);
  border-radius: 10px;
  margin-bottom: 16px;
  border-left: 2px solid var(--v-color-primary-1);
}
.a-project-card__works-title,
.a-project-card__links-title {
  font-family: var(--v-font-monospace);
  font-size: 0.7rem;
  color: var(--v-color-primary-1);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 8px;
}
.a-project-card__works-list {
  margin: 0;
  padding-left: 18px;
  font-size: 0.88rem;
  line-height: 1.55;
  color: var(--v-color-gray-2);
}
.a-project-card__works-list li + li {
  margin-top: 4px;
}
.a-project-card__links-wrap {
  margin-bottom: 4px;
}
.a-project-card__links-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.a-project-card__link {
  --link-display: inline-flex;
  --link-color: var(--v-color-gray-2);
  font-size: 0.88rem;
}
.a-project-card__link .a-svg {
  --svg-width: 0.875rem;
  --svg-height: 0.875rem;
  flex-shrink: 0;
}

.a-testimonials-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(310px, 1fr));
  gap: 20px;
}

.a-testimonial-card {
  background: var(--v-color-white);
  border: 1px solid var(--v-color-primary-1-5);
  border-radius: var(--v-border-radius-2);
  padding: 34px;
  display: flex;
  flex-direction: column;
  transition: box-shadow var(--v-transition), border-color var(--v-transition);
}
@media (hover: hover) {
  .a-testimonial-card:hover {
    box-shadow: var(--v-color-shadow-1);
    border-color: var(--v-color-primary-1-4);
  }
}
.a-testimonial-card__quote {
  font-size: 1rem;
  line-height: 1.65;
  color: var(--v-color-gray-1);
  margin-bottom: 24px;
  flex: 1;
  position: relative;
  padding-left: 6px;
}
.a-testimonial-card__author {
  display: flex;
  align-items: center;
  gap: 14px;
  padding-top: 22px;
  border-top: 1px solid var(--v-color-primary-1-5);
}
.a-testimonial-card__avatar {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: var(--v-color-primary-1-3);
  color: var(--v-color-primary-1);
  display: grid;
  place-items: center;
  font-weight: 600;
  font-size: 1.05rem;
  flex-shrink: 0;
}
.a-testimonial-card__name {
  font-weight: 600;
  font-size: 0.96rem;
}
.a-testimonial-card__role {
  font-size: 0.82rem;
  color: var(--v-color-gray-3);
  margin-top: 2px;
}

/* ========== FOOTER: ИКОНКИ СПОСОБОВ ОПЛАТЫ (тестовая доработка 1.5) ========== */
.a-footer__pay {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: 20px;
}

.a-footer__pay-img {
  display: block;
  width: 24px;
  height: 24px;
  -o-object-fit: contain;
  object-fit: contain;
  border-radius: 4px;
  filter: grayscale(1);
  opacity: .6;
  /* вариант с бронзовым оттенком вместо ч/б:
     filter: grayscale(1) sepia(1) saturate(4) hue-rotate(-8deg) brightness(0.85); */
}

/* =========================================================
   FOOTER: ссылки на правовые документы
   ========================================================= */
.a-footer__policy {
  margin-bottom: 24px;
}
.a-footer__policy-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 2px;
}
.a-footer__policy-link {
  --link-color: var(--v-color-gray-3);
  font-size: 0.875rem;
}
.a-footer__policy-link--current {
  color: var(--v-color-primary-1);
}

/* ================== Blog ==================== */
.a-blog-list {
  display: flex;
  flex-direction: column;
  border-top: 1px solid var(--v-color-primary-1-5);
}

.a-blog-post {
  display: grid;
  grid-template-columns: 130px 1fr auto;
  gap: 36px;
  align-items: center;
  padding: 28px 12px;
  border-bottom: 1px solid var(--v-color-primary-1-5);
  transition: background-color var(--v-transition), padding-left var(--v-transition);
  cursor: pointer;
  border-radius: 10px;
}
@media (hover: hover) {
  .a-blog-post:hover {
    background-color: var(--v-color-primary-1-7);
    padding-left: 20px;
  }
  .a-blog-post:hover .a-blog-post__title {
    color: var(--v-color-primary-1);
  }
  .a-blog-post:hover .a-blog-post__arrow {
    color: var(--v-color-primary-1);
    transform: translateX(6px);
  }
}
.a-blog-post__date {
  font-family: var(--v-font-monospace);
  font-size: 0.78rem;
  color: var(--v-color-gray-3);
  letter-spacing: 0.05em;
}
.a-blog-post__content {
  min-width: 0;
}
.a-blog-post__title {
  font-size: 1.15rem;
  font-weight: 500;
  margin-bottom: 6px;
  transition: color var(--v-transition);
  letter-spacing: -0.01em;
}
.a-blog-post__excerpt {
  margin-bottom: 0;
  color: var(--v-color-gray-2);
  font-size: 0.92rem;
  line-height: 1.55;
}
.a-blog-post__arrow {
  color: var(--v-color-gray-3);
  transition: color var(--v-transition), transform var(--v-transition);
  flex-shrink: 0;
}

.a-contacts-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: start;
}

.a-contact-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.a-contact-item {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  padding: 1rem 1.5rem;
  background: var(--v-color-white);
  border: 1px solid var(--v-color-primary-1-5);
  border-radius: var(--v-border-radius-2);
  transition: color var(--v-transition), border-color var(--v-transition), box-shadow var(--v-transition);
}
@media (hover: hover) {
  .a-contact-item:hover {
    border-color: var(--v-color-primary-1);
    box-shadow: var(--v-color-shadow-1);
  }
}
.a-contact-item__icon {
  width: 46px;
  height: 46px;
  border-radius: 10px;
  background: var(--v-color-primary-1-3);
  color: var(--v-color-primary-1);
  display: grid;
  place-items: center;
  flex-shrink: 0;
  line-height: 1;
}
.a-contact-item__label {
  font-family: var(--v-font-monospace);
  font-size: 0.7rem;
  color: var(--v-color-gray-3);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 3px;
}
.a-contact-item__value {
  font-weight: 500;
  font-size: 1rem;
}

.a-cta-card {
  background: var(--v-color-gray-1);
  color: var(--v-color-primary-1-6);
  padding: 48px;
  border-radius: var(--v-border-radius-3);
  position: relative;
  overflow: hidden;
}
.a-cta-card__title {
  font-size: 1.65rem;
  margin-bottom: 14px;
  position: relative;
  letter-spacing: -0.02em;
  color: color-mix(in srgb, currentColor 98%, transparent);
}
.a-cta-card__text {
  color: color-mix(in srgb, currentColor 75%, transparent);
  margin-bottom: 32px;
  position: relative;
  line-height: 1.6;
  font-size: 0.98rem;
}
.a-cta-card::before {
  content: "";
  position: absolute;
  top: -40%;
  right: -20%;
  width: 460px;
  height: 460px;
  background: radial-gradient(circle, var(--v-color-primary-1-3) 0%, transparent 70%);
  pointer-events: none;
}
.a-cta-card__meta {
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid color-mix(in srgb, currentColor 15%, transparent);
  display: flex;
  gap: 16px;
  font-family: var(--v-font-monospace);
  font-size: 0.78rem;
  color: color-mix(in srgb, currentColor 60%, transparent);
  position: relative;
  flex-wrap: wrap;
}

[data-theme=dark] .a-cta-card {
  background: var(--v-color-primary-1-7);
  color: var(--v-color-gray-1);
  border: 1px solid var(--v-color-primary-1-4);
}

/* =========================================================
   Legal pages (политика конфиденциальности, оферта)
   ========================================================= */
.a-doc {
  padding-top: calc(var(--v-height-header) + 56px);
  padding-bottom: 96px;
  position: relative;
}
.a-doc__head {
  border-bottom: 1px solid var(--v-color-primary-1-5);
  padding-bottom: 28px;
  margin-bottom: 36px;
}
.a-doc__crumb {
  font-family: var(--v-font-monospace);
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--v-color-primary-1);
  margin-bottom: 16px;
}
.a-doc__title {
  font-size: clamp(1.7rem, 3.2vw, 2.4rem);
  margin-bottom: 12px;
  letter-spacing: -0.02em;
}
.a-doc__head-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  margin-bottom: 0;
  font-family: var(--v-font-monospace);
  font-size: 0.78rem;
  color: var(--v-color-gray-3);
}

.a-doc-layout {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 56px;
  align-items: start;
}
.a-doc-toc {
  position: sticky;
  top: calc(var(--v-height-header) + 24px);
  font-size: 0.875rem;
}
.a-doc-toc__title {
  font-family: var(--v-font-monospace);
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--v-color-gray-3);
  margin-bottom: 14px;
  font-weight: 500;
}
.a-doc-toc__list {
  padding: 0;
  margin: 0;
  list-style: none;
  display: grid;
  gap: 2px;
  border-left: 1px solid var(--v-color-primary-1-5);
}
.a-doc-toc__link {
  --link-color: var(--v-color-gray-2);
  --link-hover-color: var(--v-color-primary-1);
  --link-active-color: var(--v-color-primary-1);
  display: block;
  padding: 5px 0 5px 16px;
  margin-left: -1px;
  border-left: 2px solid transparent;
  font-size: 0.845rem;
  line-height: 1.45;
}
.a-doc-toc__link:hover {
  border-left-color: var(--v-color-primary-1);
}
.a-doc-toc__link.is-current {
  --link-color: var(--v-color-primary-1);
  border-left-color: var(--v-color-primary-1);
  background: var(--v-color-primary-1-3);
}

.a-doc-content {
  max-width: 760px;
  font-size: 0.95rem;
  line-height: 1.7;
}
.a-doc-content > h2 {
  font-size: 1.3rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  margin-top: 40px;
  padding-top: 32px;
  border-top: 1px solid var(--v-color-primary-1-5);
  scroll-margin-top: calc(var(--v-height-header) + 24px);
}
.a-doc-content > h2:first-of-type {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}
.a-doc-content > h3 {
  font-size: 1.08rem;
  font-weight: 600;
  margin-top: 28px;
  scroll-margin-top: calc(var(--v-height-header) + 24px);
}
.a-doc-content p {
  margin-bottom: 0.9rem;
  color: var(--v-color-gray-2);
}
.a-doc-content strong {
  color: var(--v-color-gray-1);
  font-weight: 600;
}
.a-doc-content a {
  color: var(--v-color-primary-1);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.a-doc-content a:hover {
  color: var(--v-color-primary-1-2);
}
.a-doc-content ul, .a-doc-content ol {
  margin-bottom: 0.9rem;
  color: var(--v-color-gray-2);
  display: grid;
  gap: 0.4rem;
}
.a-doc-content li > ul,
.a-doc-content li > ol {
  margin-top: 0.4rem;
}
.a-doc-content .a-doc-defs dt {
  font-weight: 600;
  color: var(--v-color-gray-1);
  margin-top: 0.75rem;
  padding-left: 16px;
  position: relative;
}
.a-doc-content .a-doc-defs dt::before {
  content: "//";
  position: absolute;
  left: 0;
  color: var(--v-color-primary-1);
  font-family: var(--v-font-monospace);
  font-size: 0.8em;
}
.a-doc-content .a-doc-defs dd {
  margin: 0.15rem 0 0;
  padding-left: 16px;
  color: var(--v-color-gray-2);
}
.a-doc-content .a-doc-table-wrap {
  margin-bottom: 0.9rem;
}
.a-doc-table {
  width: 100%;
  min-width: 620px;
  border-collapse: collapse;
  font-size: 0.85rem;
}
.a-doc-table th,
.a-doc-table td {
  border: 1px solid var(--v-color-primary-1-5);
  padding: 10px 12px;
  text-align: left;
  vertical-align: top;
  line-height: 1.5;
}
.a-doc-table th {
  font-family: var(--v-font-monospace);
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 500;
  color: var(--v-color-gray-3);
  background: var(--v-color-primary-1-7);
}
.a-doc-table td {
  color: var(--v-color-gray-2);
}

.a-doc-contacts {
  background: var(--v-color-white);
  border: 1px solid var(--v-color-primary-1-5);
  border-left: 2px solid var(--v-color-primary-1);
  border-radius: 10px;
  padding: 20px 24px;
  margin: 24px 0 0;
}
.a-doc-contacts__title {
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 8px;
}
.a-doc-contacts p {
  margin-bottom: 0;
  color: var(--v-color-gray-2);
  font-size: 0.9rem;
}
.a-doc-contacts strong {
  color: var(--v-color-gray-1);
}

@media (max-width: 991.98px) {
  .a-doc-layout {
    display: block;
  }
  .a-doc-toc {
    position: static;
    margin-bottom: 32px;
    padding: 18px 20px;
    background: var(--v-color-white);
    border: 1px solid var(--v-color-primary-1-5);
    border-radius: var(--v-border-radius-2);
  }
  .a-doc-toc__list {
    border-left: 0;
  }
  .a-doc-toc__link {
    padding: 4px 0;
    margin-left: 0;
    border-left: 0;
  }
  .a-doc-toc__link:hover {
    border-left: 0;
  }
  .a-doc-toc__link.is-current {
    background: none;
  }
  .a-doc {
    padding-bottom: 72px;
  }
  .a-doc-content > h2 {
    margin-top: 32px;
    padding-top: 24px;
  }
}

/* Мобильная шапка: бургер-меню. Ниже 992px десктопную навигацию и CTA
   заменяет бургер с выдвижной панелью. */
@media (max-width: 991.98px) {
  .header-cta {
    display: none;
  }
  .a-nav-main {
    display: none;
  }
  .menu-toggle {
    display: flex;
  }
  .a-hero {
    padding-top: calc(var(--v-height-header) + 40px);
    padding-bottom: 72px;
  }
  .a-hero-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .a-hero__glow {
    width: 440px;
    height: 440px;
    top: -6%;
  }
  .a-section {
    padding: 72px 0;
  }
}
@media (max-width: 767.98px) {
  .a-header__inner {
    padding: 0 16px;
    gap: 12px;
  }
  .a-container {
    padding: 0 16px;
  }
  .a-logo__svg {
    --svg-width: 140px;
    --svg-height: 38.7px;
  }
  .a-header-actions {
    gap: 8px;
  }
  .a-hero {
    padding-top: calc(var(--v-height-header) + 28px);
    padding-bottom: 56px;
  }
  .a-hero-badge {
    margin-bottom: 1.25rem;
  }
  .a-hero-title {
    margin-bottom: 1rem;
  }
  .a-hero-sub {
    font-size: 1rem;
    margin-bottom: 28px;
  }
  .a-hero-ctas {
    margin-bottom: 40px;
  }
  .a-brief-card {
    padding: 26px 18px;
  }
  .a-brief-card::before, .a-brief-card::after {
    width: 32px;
    height: 32px;
    top: -8px;
    left: -8px;
  }
  .a-brief-card::after {
    top: auto;
    left: auto;
    right: -8px;
    bottom: -8px;
  }
  .a-section {
    padding: 56px 0;
  }
}
@media (max-width: 420px) {
  .a-hero-ctas {
    flex-direction: column;
  }
  .a-hero-ctas .a-btn {
    width: 100%;
    justify-content: center;
  }
  .a-hero-badge {
    gap: 0.5rem;
    font-size: 0.68rem;
    letter-spacing: 1px;
  }
}

/* Адаптив остальных секций (было в старом блоке с мёртвыми селекторами) */
@media (max-width: 991.98px) {
  .a-contacts-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .a-footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 36px;
  }
  .a-footer-brand {
    grid-column: 1/-1;
  }
  .a-process-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 767.98px) {
  .a-cards-grid, .a-why-grid, .a-testimonials-grid, .a-portfolio-grid, .a-pricing-grid, .a-skills-grid {
    grid-template-columns: 1fr;
  }
  .a-process-grid {
    grid-template-columns: 1fr;
  }
  .a-section-head {
    grid-template-columns: 1fr;
    gap: 16px;
    padding-bottom: 28px;
    margin-bottom: 48px;
  }
  .a-section-num {
    font-size: 1.3rem;
  }
  .a-blog-post {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 24px 12px;
  }
  .a-blog-post__arrow {
    display: none;
  }
  .a-footer-grid {
    grid-template-columns: 1fr;
  }
  .a-footer-bottom {
    flex-direction: column;
    gap: 8px;
  }
  .a-cta-card {
    padding: 36px 28px;
  }
}

/* ===== 404 ===== */
.a-404 {
  position: relative;
  overflow: hidden;
  padding-top: calc(var(--v-height-header) + 96px);
  padding-bottom: 128px;
}
.a-404__inner {
  position: relative;
  z-index: 2;
  max-width: 680px;
  margin: 0 auto;
  text-align: center;
}
.a-404__num {
  font-family: var(--v-font-monospace);
  font-size: clamp(6rem, 18vw, 11rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.04em;
  color: var(--v-color-gray-1);
  margin-bottom: 1.5rem;
}
.a-404__num span {
  color: var(--v-color-primary-1);
}
.a-404__title {
  font-size: clamp(1.4rem, 2.6vw, 1.9rem);
  margin-bottom: 1rem;
}
.a-404__sub {
  font-size: 1.0625rem;
  color: var(--v-color-gray-2);
  margin-bottom: 2.5rem;
}
.a-404__ctas {
  display: flex;
  justify-content: center;
  gap: 14px;
  flex-wrap: wrap;
}
@media (max-width: 720px) {
  .a-404 {
    padding-top: calc(var(--v-height-header) + 56px);
    padding-bottom: 88px;
  }
}
@media (max-width: 420px) {
  .a-404__ctas .a-btn {
    width: 100%;
    justify-content: center;
  }
}

/* ===== Cookie banner ===== */
.a-cookie-banner {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 190;
  background: var(--v-color-white);
  border-top: 1px solid var(--v-color-primary-1-5);
  padding: 16px 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(100%);
  transition: opacity var(--v-transition), transform var(--v-transition), visibility var(--v-transition);
}
.a-cookie-banner.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.a-cookie-banner__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.a-cookie-banner__text {
  margin: 0;
  font-size: 0.9375rem;
  color: var(--v-color-gray-2);
}
.a-cookie-banner__link {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.a-cookie-banner__btn {
  flex-shrink: 0;
  white-space: nowrap;
}
@media (prefers-reduced-motion: reduce) {
  .a-cookie-banner {
    transition: none;
  }
}
@media (max-width: 767.98px) {
  .a-cookie-banner {
    padding: 14px 0;
  }
  .a-cookie-banner__inner {
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
  }
  .a-cookie-banner__btn {
    width: 100%;
    justify-content: center;
  }
}

/* ========== ТОСТ (всплывающие сообщения форм; блок выводит footer.php) ========== */
.a-toast {
  position: fixed;
  bottom: 88px;
  right: 24px;
  padding: 18px 24px;
  background: var(--v-color-primary-1);
  color: var(--v-color-white);
  border-radius: var(--v-border-radius-2);
  box-shadow: var(--v-color-shadow-4);
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 14px;
  font-weight: 500;
  z-index: 1000;
  transform: translateY(120px);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1), transform 0.4s cubic-bezier(0.4, 0, 0.2, 1),
    visibility 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  max-width: 360px;
}

.a-toast.a-show {
  transform: translateY(0);
  opacity: 1;
  visibility: visible;
}

.a-toast .a-toast-svg {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
}

.a-toast--error {
  background: var(--v-color-secondary-1);
}

@media (prefers-reduced-motion: reduce) {
  .a-toast {
    transition: none;
  }
}

@media (max-width: 767.98px) {
  .a-toast {
    left: 16px;
    right: 16px;
    bottom: 72px;
    max-width: none;
  }
}
