
    :root {
      --ink: #050505;
      --paper: #fff;
      --muted: #666;
      --pad: clamp(20px, 2.4vw, 48px);
      --split: calc(50% + 162px);
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      overflow-x: hidden;
      background: var(--paper);
      color: var(--ink);
      font-family: 'Roboto', Arial, sans-serif;
      font-size: 16px;
      line-height: 1.28;
    }
    body.modal-open { overflow: hidden; }
    a { color: inherit; text-decoration: none; }
    button, input { font: inherit; }
    img { max-width: 100%; }
    [id] { scroll-margin-top: 20px; }
    .label { font-size: .72rem; text-transform: uppercase; letter-spacing: .03em; }
    .micro { font-size: .68rem; }

    /* fixed YES / VISA and page navigation */
    .site-header {
      position: relative;
      z-index: 4;
      height: 112px;
      display: flex;
      align-items: center;
      justify-content: center;
      pointer-events: none;
    }
    .site-header a { pointer-events: auto; }
    .brand {
      position: fixed;
      top: 40px;
      left: 40px;
      z-index: 1000;
      line-height: 0;
    }
    .brand.right { top: 25px; right: 40px; left: auto; }
    .brand img { display: block; width: 120px; height: auto; }
    .brand.right img { width: 279px; }
    
.site-nav {
  position: absolute;
  z-index: 10;
  top: 40px;
  left: calc(50% - 4px);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  font-family: 'Roboto', Arial, sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.55;
  pointer-events: auto;
}

    .site-nav a:hover { opacity: .55; }

    /* hero */
    .hero {
      min-height: calc(100svh - 112px);
      display: grid;
      grid-template-columns: var(--split) minmax(0, 1fr);
      border-bottom: none;
    }
    .hero-main {
      min-width: 0;
      padding: 34px var(--pad);
      display: flex;
      flex-direction: column;
      position: relative;
      overflow: hidden;
    }
    
.crumb {
  font-size: .72rem;
  text-transform: uppercase;
}

.crumb a {
  color: inherit;
  text-decoration: none;
  transition: opacity .2s ease;
}

.crumb a:hover {
  opacity: .5;
}

.crumb a:focus-visible {
  text-decoration: underline;
}

    .hero-title-marquee {
      
width: calc(100% + 2 * var(--pad));
margin: auto calc(-1 * var(--pad)) 130px;

      overflow: hidden;
      font-family: 'Roboto', Arial, sans-serif;
      font-size: 80px;
      font-weight: 300;
      line-height: 1;
      letter-spacing: 0;
    }
    .hero-title-marquee__row {
      height: 102px;
      display: flex;
      align-items: center;
      overflow: hidden;
      white-space: nowrap;
    }
    .hero-title-marquee__track {
      width: max-content;
      display: flex;
      flex-shrink: 0;
      will-change: transform;
      animation: hero-marquee-left var(--marquee-duration, 10s) linear infinite;
    }
    .hero-title-marquee__row--reverse .hero-title-marquee__track {
      animation-name: hero-marquee-right;
    }
    .hero-title-marquee__group {
      display: flex;
      flex-shrink: 0;
      align-items: center;
    }
    .hero-title-marquee__text {
      display: block;
      flex-shrink: 0;
      padding: 0;
    }
    @keyframes hero-marquee-left {
      from { transform: translateX(0); }
      to { transform: translateX(-50%); }
    }
    @keyframes hero-marquee-right {
      from { transform: translateX(-50%); }
      to { transform: translateX(0); }
    }
    @media (prefers-reduced-motion: reduce) {
      .hero-title-marquee__track {
        animation-play-state: paused;
      }
    }

    .hero-bottom {
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 30px;
      align-items: end;
    }
    .lead {
      max-width: 38ch;
      margin: 0;
      font-size: clamp(15px, 1.2vw, 18px);
      font-weight: 300;
      line-height: 1.4;
    }
    .btn {
  width: 232px;
  height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  border: 1px solid #000;
  border-radius: 8px;
  background: #000;
  color: #fff;
  font-family: 'Roboto', Arial, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.55;
  text-align: center;
  text-transform: none;
  cursor: pointer;
  transition: background .2s ease, color .2s ease;
}
    .btn:hover { background: #222; }
    .btn.light { background: #fff; color: #000; }
    .btn.light:hover { background: #eee; }

    .hero-side {
      position: relative;
      z-index: 5;
      min-width: 0;
      margin-top: -112px;
      padding: 146px var(--pad) 34px;
      display: flex;
      flex-direction: column;
      overflow: hidden;
      background: #000;
      color: #fff;
    }
    .side-top { display: flex; justify-content: space-between; gap: 24px; }
    .uk-mark {
      margin: auto 0;
      color: transparent;
      font-family: Arial, Helvetica, sans-serif;
      font-size: clamp(12rem, 21vw, 25rem);
      font-weight: 700;
      line-height: .7;
      letter-spacing: -.04em;
      -webkit-text-stroke: 1px #fff;
    }
    .visa-type {
      padding: 12px 0;
      display: flex;
      justify-content: space-between;
      gap: 20px;
      border-bottom: 1px solid #777;
      color: #aaa;
      font-size: 10px;
      text-transform: uppercase;
    }
    .facts {
      display: grid;
      grid-template-columns: 1fr 1fr;
      border-top: 1px solid #777;
    }
    .fact { min-height: 78px; padding: 15px 10px 0 0; }
    .fact:nth-child(even) { padding-left: 16px; border-left: 1px solid #777; }
    .fact small { display: block; margin-bottom: 6px; color: #999; font-size: .67rem; }
    .fact strong { display: block; font-size: .9rem; font-weight: 400; }

    /* about */
    .intro {
      position: relative;
      min-height: 88vh;
      display: grid;
      grid-template-columns: var(--split) minmax(0, 1fr);
      border-bottom: none;
      border-top: 1px solid #000;
    }
    .intro > div { padding: 60px var(--pad); display: flex; flex-direction: column; }
    .intro-left { align-items: flex-end; text-align: right; }
    .intro-left .label { position: relative; top: 20px; margin-right: 4vw; }
    .intro p { max-width: 35ch; margin: 0; font-size: 15px; line-height: 1.25; }
    .intro-left p { margin: 90px 4vw 0 0; }
    .intro-right p { margin: 26vh 0 0; max-width: 34ch; }
    
#about .intro-left .label,
#about .intro-left p,
#about .intro-right p,
#process .step p {
  -webkit-font-smoothing: antialiased;
}

    .down {
      position: absolute;
      top: -109px;
      left: calc(var(--split) - 4px);
      z-index: 3;
      width: 8px;
      height: 590px;
      object-fit: fill;
    }

    /* process */
    .process { position: relative; padding: 0; overflow: hidden; }
    .process-head { position: absolute; top: 89px; left: max(40px, calc(50% - 583px)); }
    .process-word {
  position: relative;
  width: 215px;
  font-family: 'Roboto', Arial, sans-serif;
  font-size: 60px;
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: normal;
  text-align: right;
}
    .process-word span { display: block; }
    .process-word .micro {
      position: absolute;
      top: -15px;
      left: 5px;
      font-size: 10px;
      font-weight: 400;
      text-align: left;
      line-height: 1.25;
    }
    .steps {
      width: max-content;
      margin-left: calc(50% - 249px);
      padding-top: 70px;
      display: grid;
      grid-template-columns: repeat(3, 229px);
      column-gap: 71px;
      align-items: start;
    }
    .step { width: 229px; }
    .number { width: 220px; height: 149px; border-bottom: 1px solid #000; }
    .number img { display: block; width: 229px; height: 149px; max-width: none; }
    .step p {
      width: 220px;
      margin: 36px 0 0 9px;
      font-size: 13px;
      line-height: 1.25;
    }
    .marquee {
      height: 70px;
      margin-top: 90px;
      display: flex;
      align-items: center;
      overflow: hidden;
      background: #fff;
    }
    .marquee-track { display: flex; width: max-content; animation: docsMarquee 22s linear infinite; }
    .marquee-group { display: flex; gap: 64px; padding-right: 64px; flex-shrink: 0; }
    .marquee span { font-size: 22px; font-weight: 300; white-space: nowrap; }
    @keyframes docsMarquee { to { transform: translateX(-50%); } }
    @media (prefers-reduced-motion: reduce) { .marquee-track { animation: none; } }

    /* documents */
    
.documents-grid {
  position: relative;
  z-index: 5;
  display: grid;
  grid-template-columns: 1fr 1fr;
  background: #000;
  color: #fff;
}

    
.document-card {
  position: relative;
  min-height: 600px;
  padding: 38px 40px 34px;
  display: flex;
  flex-direction: column;
  border-bottom: 1px solid #fff;
}

    .document-card:nth-child(odd) { border-right: 1px solid #fff; }
    .document-card:nth-last-child(-n+2) { border-bottom: 0; }
    .document-card h2 { max-width: none; margin: 0; font-size: 20px; font-weight: 300; line-height: 1.2; text-align: left; }
    .document-card p { margin: auto 0 0; font-size: 14px; font-weight: 300; line-height: 1.2; }


.document-card__image {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 360px;
  max-width: calc(100% - 80px);
  aspect-ratio: 360 / 340;
  height: auto;
  object-fit: cover;
  object-position: center;
  display: block;
  transform: translate(-50%, -50%);
  z-index: 1;
  pointer-events: none;
}


.document-card h2,
.document-card p {
  position: relative;
  z-index: 2;
}

    /* pricing */
    .pricing {
      position: relative;
      min-height: 720px;
      padding: 88px 0 205px;
      overflow: hidden;
    }
    .pricing-head { margin-left: calc(var(--split) + 30px); }
    .pricing-head .micro { display: block; margin-bottom: 8px; }
    .pricing-head h2 { margin: 0; font-size: 60px; font-weight: 500; line-height: 1; }

.pricing-head h2 {
  width: max-content;
  max-width: 100%;
  text-align: right;
}

.pricing-head h2 span {
  display: block;
}

    .price-columns {
      margin-top: 72px;
      display: grid;
      grid-template-columns: var(--split) minmax(0, 1fr);
    }
    

.price-card {
  padding: 0 var(--pad);
  display: flex;
  flex-direction: column;
}

.price-card .btn {
  margin-top: auto;
  align-self: flex-start;
}


    
.price-card:first-child {
  width: min(100%, 560px);
  justify-self: center;
  padding: 0 var(--pad);
}

    .price-eyebrow { font-size: 10px; text-transform: uppercase; letter-spacing: .03em; }
    .price-value { margin: 24px 0 30px; font-size: clamp(4rem, 6vw, 7rem); font-weight: 300; line-height: .9; letter-spacing: -.06em; }
    
.price-card h3 {
  max-width: 18ch;
  margin: 24px 0 32px;
  font-size: 24px;
  font-weight: 300;
  line-height: 1.2;
}

.price-card p {
  max-width: 43ch;
  margin: 0 0 34px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.35;
}

    .curve {
      pointer-events: none;
      position: absolute;
      left: 0;
      bottom: 30px;
      width: min(720px, 48vw);
      height: 150px;
      object-fit: fill;
    }

    /* timing */
    .timing { padding: 55px 0 0; }
    
.timing-title {
  padding: 0 var(--pad) 48px;
  padding-left: max(40px, calc(50% - 583px));
}

    .timing-title .micro { display: block; margin-bottom: 12px; }
    .timing-title h2 { margin: 0; font-size: 60px; font-weight: 500; line-height: 1; }
    
.timing-row {
  min-height: 94px;
  display: grid;
  grid-template-columns: 50% 50%;
  align-items: center;
  border-top: 1px solid #000;
}

.timing-row:last-child {
  border-bottom: 1px solid #000;
}

    
.timing-row strong {
  padding: 0 0 0 47%;
  text-align: left;
  font-size: 15px;
  font-weight: 400;
  text-transform: uppercase;
}

    
.timing-row p {
  width: calc(100% - 40px);
  max-width: none;
  margin: 0;
  padding: 0 0 0 31%;
  font-size: 14px;
  line-height: 1.35;
}


    /* faq */
    .visa-faq {
  display: grid;
  grid-template-columns: 50% 50%;
  align-items: start;
  padding: 70px 0 60px;
}
    .visa-faq__header { grid-column: 2; grid-row: 1; }
    .visa-faq__heading { padding-left: 31%; }
    .visa-faq__micro { display: block; margin-bottom: 8px; font-size: 10px; font-weight: 400; line-height: 1; }
    .visa-faq h2 { margin: 0; font-size: 60px; font-weight: 500; line-height: 1; }
    .visa-faq__content { grid-column: 1; grid-row: 1; }
    .visa-faq__questions { padding: 0 40px 60px; }
    .visa-faq details { padding: 22px 0; border-top: 1px solid #000; }
    .visa-faq details:last-child { border-bottom: 1px solid #000; }
    .visa-faq summary {
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 20px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.35;
  cursor: pointer;
}
    .visa-faq summary::-webkit-details-marker { display: none; }
    .visa-faq summary::after { content: '+'; font-size: 20px; line-height: 1; }
    .visa-faq details[open] summary::after { content: '−'; }
    .visa-faq details p { max-width: 100%; margin: 18px 0 0; color: #444; font-size: 15px; font-weight: 400; line-height: 1.35; }

    /* footer */
    .footer {
      position: relative;
      min-height: 800px;
      display: grid;
      grid-template-columns: 50% 50%;
      overflow: hidden;
    }
    
.footer-copy {
  position: relative;
  min-width: 0;
  padding: 75px 20px 65px 40px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

    .footer-title {
  width: 100%;
  max-width: 560px;
  margin: 0;
  font-family: 'Roboto', Arial, sans-serif;
  font-size: 60px;
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: normal;
  white-space: normal;
}
    
.footer-micro {
  position: absolute;
  top: 0;
  left: 0;
  width: max-content;
  font-size: 10px;
  font-weight: 400;
  line-height: 1.25;
  text-align: right;
  white-space: nowrap;
}

    .footer-action { margin-top: 35px; }
    .footer-details {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 19px;
  margin-top: 76px;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.25;
  white-space: pre-line;
}
    .footer-art { position: absolute; top: 135px; right: 0; width: 189px; }

    /* popup */
    .visa-modal {
      width: min(560px, calc(100% - 32px));
      max-height: calc(100dvh - 32px);
      margin: auto;
      padding: 45px 40px;
      border: 0;
      border-radius: 0;
      background: #fff;
      color: #000;
      overflow-y: auto;
    }
    .visa-modal::backdrop { background: rgba(0, 0, 0, .75); }
    .visa-modal__close { position: absolute; top: 10px; right: 18px; border: 0; background: none; font-size: 34px; font-weight: 300; cursor: pointer; }
    .visa-modal h2 { margin: 0 0 15px; font-size: 30px; font-weight: 500; line-height: 1.2; text-align: center; }
    .visa-modal__description { margin: 0 0 30px; font-size: 16px; line-height: 1.45; text-align: center; }
    .visa-modal__fields { display: flex; flex-direction: column; gap: 15px; }
    .visa-modal input { width: 100%; min-height: 54px; padding: 14px 16px; border: 1px solid #000; border-radius: 5px; background: #fff; color: #000; font-size: 16px; }
    .visa-modal button[type="submit"] { width: 100%; min-height: 54px; margin-top: 5px; border: 0; border-radius: 8px; background: #000; color: #fff; cursor: pointer; }
    .visa-modal button:disabled { opacity: .55; cursor: wait; }
    .visa-modal__success, .visa-modal__error { margin: 20px 0 0; font-size: 16px; line-height: 1.45; text-align: center; }
    .visa-modal [hidden] { display: none !important; }
    .mobile-action { display: none; }

    @media (max-width: 1199px) {
      :root { --split: calc(50% + 122px); }
      .steps { margin-left: calc(50% - 215px); column-gap: 38px; }
    }

/* PROCESS — два этапа в ряд на средних экранах */
@media (min-width: 960px) and (max-width: 1199px) {
  .process-head {
    left: 40px;
  }

  .steps {
    width: auto;
    margin: 0 40px;
    padding-top: 242px;
    grid-template-columns: repeat(2, 229px);
    justify-content: space-between;
    column-gap: 0;
    row-gap: 110px;
  }

  .step:nth-child(3) {
    grid-column: 1;
  }

  .step p {
    width: 300px;
    margin-left: 0;
  }
}


    @media (min-width: 640px) and (max-width: 1050px) {
      .hero { min-height: 760px; }
      .hero-bottom {
        grid-template-columns: 1fr;
      }
      .hero-bottom .btn {
        justify-self: start;
      }
      .facts {
        grid-template-columns: 1fr;
      }
      .fact:nth-child(even) {
        padding-left: 0;
        border-left: 0;
      }
    }

    @media (min-width: 640px) and (max-width: 959px) {
      :root { --split: calc(50% + 41px); }
      .brand { left: 20px; }
      .brand.right { right: 20px; left: auto; }
      .site-nav { left: calc(50% - 70px); }
      .hero-side { padding-left: 24px; padding-right: 24px; }
      .uk-mark { font-size: 21vw; }
      .process-head { left: 40px; }
      .steps {
        width: auto;
        margin: 0 40px;
        padding-top: 242px;
        grid-template-columns: repeat(2, 229px);
        justify-content: space-between;
        row-gap: 110px;
      }
      .step:nth-child(3) { grid-column: 1; }
      .step p { width: 300px; margin-left: 0; }
      .document-card { min-height: 520px; }
      .document-card__image {
  width: 250px;
}
      .visa-faq__heading { padding-left: 20%; }
      .visa-faq__questions { padding-left: 20px; padding-right: 20px; }
      .footer-copy { padding-left: 20px; }
      .footer-title { max-width: 380px; }

.timing-row strong {
  padding-left: 22%;
}

.timing-row p {
  padding-left: 20%;
  padding-right: 20px;
}

    }

      .pricing-head {
        width: max-content;
        margin-left: auto;
        margin-right: var(--pad);
        padding: 0;
    }

.pricing-head h2 {
  font-size: clamp(38px, 4.6vw, 60px);
}


    @media (max-width: 639px) {
      :root { --pad: 20px; --split: 100%; }
      .site-header { height: 176px; justify-content: flex-start; }
      .brand { top: 30px; left: 20px; transition: opacity .25s ease, visibility .25s ease; }
      .brand.right { top: 19px; right: 20px; left: auto; }
      .brand img { width: 78px; }
      .brand.right img { width: 186px; }
      .site-nav { top: 29px; left: 150px; gap: 10px; font-size: 14px; line-height: 1.55; }

      .hero { min-height: 0; display: flex; flex-direction: column; }
      .hero-main { min-height: 620px; padding-top: 24px; }
      .crumb { display: none; }
      .hero-title-marquee {
        width: calc(100% + (2 * var(--pad)));
        margin: 110px calc(-1 * var(--pad)) auto;
        font-size: 26px;
      }
      .hero-title-marquee__row { height: 54px; }
      .hero-bottom { margin-bottom: 28px; }
      .hero-bottom .btn { display: none; }
      .hero-side { min-height: 430px; margin-top: 0; padding: 28px 20px; }
      .uk-mark { font-size: 52vw; }
      .facts { grid-template-columns: 1fr 1fr; }
      .fact:nth-child(even) { padding-left: 12px; border-left: 1px solid #777; }

      .intro { display: block; height: 820px; min-height: 820px; overflow: hidden; }
      .intro > div { position: static; display: block; padding: 0; }
      .down { top: 0; left: calc(50% + 7px); height: 805px; }
      .intro-left .label { position: absolute; top: 245px; left: 11px; width: 218px; margin: 0; text-align: right; }
      .intro-left p { position: absolute; top: 295px; left: 11px; width: 218px; margin: 0; }
      .intro-right p { position: absolute; top: 500px; left: calc(50% + 41px); width: 200px; margin: 0; }

      .process-head { top: 86px; right: 20px; left: auto; }
      .process-word { font-size: 54px; line-height: 1; }
      .process-word .micro { right: 0; left: auto; }
      .steps { width: auto; margin: 0 20px; padding-top: 220px; grid-template-columns: 1fr; row-gap: 90px; }
      .step { width: 100%; }
      .step p { width: 100%; margin: 41px 0 0; font-size: 13px; }
      .marquee { margin-top: 90px; }

      .documents-grid { grid-template-columns: 1fr; }
      .document-card { min-height: 400px; padding: 22px 20px 28px; border-right: 0 !important; border-bottom: 1px solid #fff !important; }
      .document-card:last-child { border-bottom: 0 !important; }
      .document-card h2 { font-size: 24px; }
      .document-card p { font-size: 16px; }

.document-card__image {
  width: 240px;
  max-width: calc(100% - 40px);
}


 .pricing {
  min-height: 0;
  padding: 65px 0 0;
}
      .pricing-head {
  width: max-content;
  max-width: calc(100% - 40px);
  margin-left: auto;
  margin-right: 20px;
  padding-left: 0;
}
      .pricing-head h2 { font-size: 42px; }
      .price-columns {
  display: block;
  margin-top: 80px;
}
.price-card {
  min-height: 0;
  padding: 0 20px;
  display: block;
}
      .price-card:first-child { padding-left: 20px; }
      .price-card:nth-child(2) {
  margin: 65px 0 0;
  padding-bottom: 90px;
}
.price-card .btn {
  margin-top: 0;
}
      .price-value { font-size: 76px; }
      .curve { bottom: 10px; width: 75vw; height: 110px; }

      .timing { padding-top: 75px; }
      .timing-title { padding-left: 20px; }
      .timing-title h2 { font-size: 42px; }
      .timing-row { min-height: 110px; grid-template-columns: 42% 58%; }
      .timing-row strong { padding: 0 14px; font-size: 13px; }
      .timing-row p { padding: 0 18px; font-size: 13px; }

      .visa-faq { display: flex; flex-direction: column; padding: 0; }
      .visa-faq__header { width: 100%; order: 0; padding: 56px 20px 40px; }
      

.visa-faq__heading {
  width: max-content;
  max-width: 100%;
  margin-left: auto;
  margin-right: 0;
  padding: 0;
}


      .visa-faq h2 { font-size: 42px; }
      .visa-faq__content { width: 100%; order: 1; }
      .visa-faq__questions { padding: 0 20px 55px; }

      .footer { min-height: 930px; display: flex; flex-direction: column; padding-bottom: 90px; }
      .footer-art { position: static; align-self: flex-end; width: 215px; max-width: 65%; margin-top: 22px; order: 0; }
      .footer-copy { width: 100%; padding: 45px 20px 0; order: 1; }
      .footer-title { max-width: 380px; font-size: 60px; }
      .footer-details { margin-top: 46px; font-size: 18px; }

      .mobile-action {
        position: fixed;
        z-index: 1000;
        bottom: 16px;
        left: 50%;
        width: 232px;
        max-width: calc(100vw - 40px);
        height: 50px;
        display: flex;
        align-items: center;
        justify-content: center;
        transform: translateX(-50%);
        border-radius: 8px;
        background: #000;
color: #fff;
font-family: 'Roboto', Arial, sans-serif;
font-size: 16px;
font-weight: 400;
line-height: 1;
box-shadow: 0 8px 24px rgba(0,0,0,.12);
        transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
      }
      .mobile-action--hidden { opacity: 0; visibility: hidden; pointer-events: none; transform: translate(-50%, 16px); }
      .visa-modal { padding: 48px 20px 30px; }
      .visa-modal h2 { font-size: 25px; }
      .visa-modal__description { font-size: 14px; }
    }

    @media (max-width: 479px) {
      .brand img { width: 55px; }
      .brand.right { top: 23px; }
      .brand.right img { width: 130px; }
      .site-nav { left: 111px; }
      .intro .down { left: calc(100% - 73.5px); }
      .intro-left .label { right: 91px; left: auto; }
      .intro-left p { right: 91px; left: auto; }
      .intro-right p { right: 91px; left: auto; width: 219px; text-align: right; }
      .footer-title { max-width: 285px; font-size: 40px; }
    }

@media (min-width: 701px) and (max-width: 1050px) {
  .intro {
    min-height: 650px;
  }

  .intro .down {
    height: 590px;
  }

  .intro-left .label {
    top: 50px;
  }
}

@media (min-width: 1051px) {
  .intro {
    min-height: calc(88vh - 170px);
  }

  .intro .down {
    height: 590px;
  }

  .intro-left .label {
    top: 50px;
  }
}
/* YES VISA — FLOATING STAR NAVIGATION */

.yv-float-nav {
  position: fixed;
  right: 24px;
  bottom: 24px;
  width: 92px;
  height: 92px;
  z-index: 1401;

  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(14px);

  transition:
    opacity .3s ease,
    transform .3s ease,
    visibility .3s;
}

.yv-float-nav.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: none;
}

/* Кнопка: без фона и рамки */

.yv-float-nav__button {
  width: 92px;
  height: 92px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  box-shadow: none;
  display: grid;
  place-items: center;
  cursor: pointer;
}

/* Оригинальная звезда YES VISA */

.yv-float-nav__star {
  display: block;
  width: 92px;
  height: 92px;
  transform-origin: center;
  animation: yv-star-spin 5s linear infinite;
  animation-play-state: paused;
}

.yv-float-nav__star img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* Белая звезда на чёрных секциях */

.yv-float-nav__star img {
  transition: filter .25s ease;
}

.yv-float-nav.is-on-dark .yv-float-nav__star img {
  filter: brightness(0) invert(1);
}


/* Вращается только во время загрузки и при открытом меню */

.yv-float-nav.is-spinning .yv-float-nav__star {
  animation-play-state: running;
}

@keyframes yv-star-spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

/* Навигация раскрывается над звездой справа */

.yv-float-nav__menu {
  position: absolute;
  right: 0;
  bottom: calc(100% + 12px);

  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
  width: max-content;

  visibility: hidden;
  pointer-events: none;
  transition: visibility 0s linear .5s;
}

.yv-float-nav.is-open .yv-float-nav__menu {
  visibility: visible;
  pointer-events: auto;
  transition-delay: 0s;
}

/* Каждый пункт вылетает из центра звезды */

.yv-float-nav__menu > * {
  display: block;
  padding: 10px 14px;
  border: 1px solid #ddd;
  border-radius: 5px;
  background: #fff;
  color: #000;

  font-family: 'Roboto', Arial, sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
  white-space: nowrap;
  text-decoration: none;

  box-shadow: 0 3px 12px rgba(0,0,0,.06);
  cursor: pointer;

  opacity: 0;
  transform:
    translate(var(--fly-x, 0px), var(--fly-y, 30px))
    scale(.06);

  transition:
    opacity .3s ease,
    transform .5s cubic-bezier(.2,.85,.2,1);
}

.yv-float-nav.is-open .yv-float-nav__menu > * {
  opacity: 1;
  transform: translate(0, 0) scale(1);
  transition-delay: calc(var(--index) * 55ms);
}

.yv-float-nav__menu > *:hover {
  background: #f3f3f3;
}

/* Прозрачный слой защищает остальные ссылки */

.yv-float-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1400;
  visibility: hidden;
  pointer-events: none;
  background: transparent;
}

.yv-float-backdrop.is-active {
  visibility: visible;
  pointer-events: auto;
}

/* Слова, которые летят в звезду */

.yv-float-ghost {
  position: fixed;
  z-index: 1402;
  pointer-events: none;

  padding: 2px 4px;
  color: #000;
  background: #fff;

  font: 400 14px/1.55 'Roboto', Arial, sans-serif;
  white-space: nowrap;
}

/* Доступность с клавиатуры */

.yv-float-nav button:focus-visible,
.yv-float-nav a:focus-visible {
  outline: 2px solid #000;
  outline-offset: 3px;
}

/* Телефоны: звезда выше кнопки заявки */

@media (max-width: 700px) {
  .yv-float-nav {
    right: 16px;
    bottom: 84px;
    width: 70px;
    height: 70px;
  }

  .yv-float-nav__button,
  .yv-float-nav__star {
    width: 70px;
    height: 70px;
  }
}

/* Пользователи с отключёнными анимациями */

@media (prefers-reduced-motion: reduce) {
  .yv-float-nav,
  .yv-float-nav__menu,
  .yv-float-nav__menu > * {
    transition: none !important;
  }

  .yv-float-nav__star {
    animation: none !important;
  }
}

/* FIX — расстояние между стрелкой и процессом */

@media (min-width: 701px) {
  #about.intro {
    min-height: 500px;
  }

  #about .intro-right p {
    margin-top: min(26vh, 220px);
  }
}

/* YES VISA — выравнивание по границам ПРОЦЕССА */

@media (min-width: 1440px) {

  :root {
    --yv-left-edge: max(40px, calc(50vw - 583.5px));
    --yv-right-edge: max(40px, calc(50vw - 580px));
  }

  /* СТОИМОСТЬ — правый край совпадает с шагом 03 */

  #pricing .pricing-head {
    width: max-content;
    max-width: calc(100% - 80px);
    margin-left: auto;
    margin-right: var(--yv-right-edge);
    padding: 0;
  }

  /* СРОКИ — ограничиваем только текст справа */

  .timing .timing-row p {
    box-sizing: border-box;
    width: min(100%, 580px);
    padding-left: min(31%, 180px);
    padding-right: 0;
  }

  /* FAQ — вопросы начинаются на левой границе */

  #faq .visa-faq__questions {
    padding-left: var(--yv-left-edge);
  }

  /* FAQ — заголовок заканчивается там же,
     где и СТОИМОСТЬ */

  #faq .visa-faq__header {
    display: flex;
    justify-content: flex-end;
    padding-right: var(--yv-right-edge);
  }

  #faq .visa-faq__heading {
    width: max-content;
    margin: 0;
    padding: 0;
  }
}


/* YES VISA — COUNTRY STAMP */

.hero-side {
  position: relative;
  overflow: hidden;
}

.hero-side::after {
  content: "";
  position: absolute;
  top: -45px;
  right: -45px;
  width: clamp(200px, 19vw, 290px);
  aspect-ratio: 1 / 1;

  background-image: var(--country-stamp);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;

  transform: rotate(-12deg);
  pointer-events: none;
  z-index: 2;
}

.hero-side > .side-top,
.hero-side > .facts {
  position: relative;
  z-index: 3;
}

@media (max-width: 700px) {
  .hero-side::after {
    top: -28px;
    right: -30px;
    width: 190px;
  }
}

[data-country="uk"] .hero-side {
  --country-stamp: url('/assets/images/countries/uk/stamp.svg');
}

[data-country="usa"] .hero-side {
  --country-stamp: url('/assets/images/countries/usa/stamp.svg');
}

[data-country="canada"] .hero-side {
  --country-stamp: url('/assets/images/countries/canada/stamp.svg');
}

[data-country="usa"] .hero-side .uk-mark {
  font-size: 40vw;
}

@media (min-width: 640px) {
  [data-country="usa"] .hero-side .uk-mark {
    font-size: clamp(9rem, 15vw, 19rem);
  }
}
