/*
 * Figma-authoritative overrides.
 * This file is loaded after the legacy styles so each confirmed value has one
 * discoverable source instead of relying on incidental cascade order.
 */

h1,
h2,
.wordmark {
  font-family: "Bebas Neue Cyrillic", "Bebas Neue", "Arial Narrow", sans-serif;
  font-weight: 700;
  font-synthesis: none;
  letter-spacing: 0;
}

.telegram h2 span {
  color: var(--blue);
}

.career-benefits span,
.case-study__heading > span,
.case-study__heading h2 {
  font-family: "Bebas Neue Cyrillic", "Bebas Neue", "Arial Narrow", sans-serif;
  font-weight: 700;
  font-synthesis: none;
}

.wordmark,
.site-header nav a,
.site-footer a {
  color: var(--paper);
}

/* Implementation pass 2026-10-07: exact desktop geometry from the full-tree register. */
@media (min-width: 1240px) {
  .wordmark {
    display: inline-block;
    transform: scaleX(1.0432);
    transform-origin: left center;
  }

  .site-header nav a { position: relative; top: -1.8px; }

  .site-header {
    gap: 139.2px;
    padding-right: max(29px, calc((100% - var(--container)) / 2 + 5.6px));
  }

  .hero {
    background-size: auto 125%;
    background-position: center;
  }

  .hero__content > p { width: 381px; margin-top: 12.6px; }

  .section-heading > p { width: 486px; letter-spacing: 1.28px; }

  .services-box {
    width: calc(100% + 20px);
    margin-left: -10px;
    grid-template-columns: 384px 804px;
  }

  .service.is-active b {
    padding-top: 21px;
    font-family: "Bebas Neue Cyrillic", "Bebas Neue", sans-serif;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: 2.24px;
  }

  .service-details { grid-template-columns: 1fr 1fr; }
  .service-details__result { width: 756px; min-height: 96px; margin-right: auto !important; margin-left: auto !important; }
  .service-details__result,
  .service-details__result .service-details__accent { font-weight: 600; }
  .service-details li { position: relative; }
  .service-details li::before {
    position: absolute;
    top: 6px;
    left: 0;
    width: 6px;
    height: 6px;
    margin: 0;
    border-radius: 1px;
    background: var(--blue);
    content: "";
  }

  .cta-photo {
    background-size: cover;
    background-position: center center;
  }
  .cta-photo h2 { width: 804px; }
  .cta-photo p { width: 498px; margin-right: auto; margin-left: auto; }

  .advantages { padding-bottom: 112px; }
  .advantages h2 { width: 700px; }
  .advantage__icon {
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    border-radius: 5px;
    background: var(--blue);
  }
  .advantage__icon img { display: block; width: 48px; height: 48px; padding: 10px; object-fit: contain; }

  .about { height: 989px; }
  .about__grid { justify-content: start; gap: 228px; margin-top: 60px; }
  .about__grid .button { width: 270px; min-width: 270px; margin-top: 27px; }

  .process { height: 1460px; }
  .process__list { position: relative; display: flex; height: 1280px; padding-left: 70px; flex-direction: column; gap: 23px; }
  .process__list::before {
    position: absolute;
    top: 19px;
    bottom: 19px;
    left: 16px;
    width: 1px;
    background: var(--muted);
    content: "";
  }
  .process__list li { min-height: 0; height: 212px; padding: 7px 0 0; grid-template-columns: 180px 314px; gap: 24px; }
  .process__list li + li { padding-top: 7px; }
  .process__list li:nth-child(2) { height: 326px; }
  .process__list li:nth-child(3) { height: 242px; }
  .process__list li:nth-child(4) { height: 212px; }
  .process__list li:nth-child(5) { height: 196px; }
  .process__list li::before {
    left: -72px;
    display: grid;
    width: 36px;
    height: 29px;
    padding: 0;
    place-items: center;
    border-radius: 10px;
    background: var(--paper);
    color: var(--muted);
    font-size: 16px;
    line-height: 1.3;
    letter-spacing: 1.28px;
  }
  .process__list li:nth-child(2) img { object-position: 42.33% center; }
  .process__list li:nth-child(4) img { object-position: 11.83% center; }

  .contacts { height: 658px; padding: 120px 0 60px; }
  .contacts h2 { width: 875px; }
  .contacts__info { margin-top: 36px; align-items: start; }
  .response { margin-top: 0; }
  .response p { width: 142px; }
  .contact-card { height: 213px; background: var(--paper); }
  .contact-card > div { min-height: 213px; padding: 31px 30px; }
  .contact-card h3 { font-size: 16px; line-height: 1.3; letter-spacing: 1.28px; }
  .messengers { margin-top: 36px; }

  .telegram { height: 732px; padding: 111px 0 120px; }
  .telegram__box::before { background: var(--paper); }

  .faq { min-height: 905px; padding: 120px 0; }
  .faq__layout { align-items: start; }
  .faq__layout > div:first-child { height: 665px; min-height: 0; }
  .faq__image-crop { position: absolute; bottom: 0; left: 0; display: block; width: 288px; height: 185px; overflow: hidden; }
  .faq__layout > div:first-child > .faq__image-crop img { position: absolute; bottom: auto; left: -52.2px; width: 340.1px; height: 226.7px; max-width: none; margin: 0; object-fit: fill; }
  .faq-item button span,
  .faq-item p { max-width: 474px; }
  .faq-item.is-open .faq-item__body-inner { transform: none; }
}

/* Footer is shared by all four pages; explicit elements avoid anonymous text metrics. */
.site-footer { height: 282px; min-height: 282px; padding: 53px 0 0; }
.site-footer img { width: 135px; height: 165px; }
.site-footer .container { grid-template-columns: 360px 360px 1fr; }
.site-footer nav:has(> a) { gap: 12.4px; }
.site-footer nav:has(> a) > a:first-child { margin-top: 9.2px; }
.site-footer nav > ul { gap: 4px; }
.site-footer .site-footer__contacts { display: flex; width: 314px; padding-top: 7px; flex-direction: column; color: var(--paper); font-size: 14px; line-height: 18.2px; }
.site-footer .site-footer__contacts small { display: block; margin-bottom: 23.8px; color: var(--muted); font-size: 14px; font-weight: 600; line-height: 18.2px; letter-spacing: 1.12px; }
.site-footer__contacts span + span { margin-top: 11.8px; }
.site-footer__contacts .site-footer__email { margin-top: 23.8px; }
.contact-link { color: inherit; text-decoration: none; }
.site-footer .contact-link { font-size: inherit; letter-spacing: inherit; white-space: normal; }
.contact-link:focus-visible { outline: 3px solid #92b8ff; outline-offset: 3px; }

/* Telegram and iOS WebViews must keep the CSS font metrics at narrow widths. */
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

@media (max-width: 600px) {
  .hero h1 {
    max-width: 100%;
    font-size: clamp(36px, 11.2vw, 42px);
    overflow-wrap: normal;
    word-break: normal;
  }

  .hero__actions,
  .hero__actions .button {
    min-width: 0;
    max-width: 100%;
  }

  .cta-photo__inner,
  .cta-photo .button,
  .response {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }
}

@media (max-width: 360px) {
  .site-header {
    padding-right: 16px;
    padding-left: 16px;
  }
}

@media (max-width: 1239px) {
  .site-footer { height: auto; min-height: 0; padding: 48px 0; }
  .site-footer .container { grid-template-columns: 1fr; }
  .site-footer .site-footer__contacts { width: auto; }
  .advantage__icon { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 5px; background: var(--blue); }
  .advantage__icon img { display: block; width: 48px; height: 48px; padding: 10px; object-fit: contain; }
  .faq__image-crop { position: static; display: block; width: 100%; height: auto; margin-top: 35px; overflow: hidden; }
  .faq__layout > div:first-child > .faq__image-crop img { position: static; width: 100%; height: auto; max-width: 100%; }
  .services-box { contain: paint; }
}



