:root {
  --ink: #101827; --muted: #667085; --line: rgba(15,30,55,.1);
  --purple: #7257ff; --blue: #2868f0; --cyan: #27d9cc;
  --navy: #0a1425; --navy-deep: #050b15; --soft: #f3f5fa;
  --radius: 14px; --radius-lg: 28px;
  --shadow-soft: 0 18px 60px rgba(19,31,58,.1);
  --shadow-deep: 0 32px 90px rgba(2,8,24,.28);
}

body { background: #f8f9fc; color: var(--ink); font-family: "Manrope",sans-serif; text-rendering: optimizeLegibility; }
section[id] { scroll-margin-top: 80px; }
h1,h2,h3,.logo__name,.offer__name { font-family: "Space Grotesk","Manrope",sans-serif; letter-spacing: -.035em; }
h2 { font-size: clamp(34px,3.4vw,52px); line-height: 1; }
.wrap { width: min(1180px,calc(100% - 48px)); }

.header { top: 10px; width: min(1212px,calc(100% - 24px)); height: 68px; margin: 0 auto; border: 1px solid rgba(255,255,255,.68); border-radius: 18px; background: rgba(255,255,255,.82); box-shadow: 0 12px 36px rgba(8,20,46,.1); backdrop-filter: blur(18px) saturate(150%); }
.header__inner { width: 100%; padding: 0 14px; gap: 16px; }
.logo__name { font-size: 21px; background: linear-gradient(120deg,#4e39dd,#3478f5); -webkit-background-clip: text; color: transparent; }
.logo__suffix { margin-top: 2px; font-size: 9px; color: #4c5870; }
.nav { gap: 18px; }
.nav a { position: relative; font-size: 13px; }
.nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -7px; height: 2px; border-radius: 2px; background: linear-gradient(90deg,var(--purple),var(--cyan)); transition: right 180ms ease; }
.nav a:hover::after { right: 0; }
.lang { border-color: rgba(25,40,70,.1); border-radius: 10px; background: rgba(245,247,252,.88); }
.lang select { background: transparent; }
.icon-btn { width: 38px; height: 38px; box-shadow: 0 8px 20px rgba(20,40,80,.12); transition: transform 180ms ease,box-shadow 180ms ease; }
.icon-btn:hover { transform: translateY(-2px) scale(1.03); box-shadow: 0 12px 24px rgba(20,40,80,.18); }

.btn { min-height: 48px; border: 0; border-radius: 12px; background: linear-gradient(120deg,#7257ff 0%,#2868f0 72%,#1bbfc0 130%); box-shadow: 0 12px 28px rgba(73,82,229,.23),inset 0 1px rgba(255,255,255,.32); transition: transform 180ms ease,box-shadow 180ms ease,filter 180ms ease; }
.btn:hover { transform: translateY(-2px); filter: saturate(1.1); box-shadow: 0 18px 34px rgba(73,82,229,.31); }
.btn--phone { background: #11192a; }
.btn--ghost { border: 1px solid rgba(57,75,120,.18); background: rgba(255,255,255,.68); color: var(--ink); box-shadow: none; backdrop-filter: blur(10px); }

.hero { min-height: 850px; margin-top: -68px; padding: 132px 0 82px; overflow: hidden; background: #071324; isolation: isolate; }
.hero__flag { background: linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),radial-gradient(circle at 14% 24%,rgba(39,217,204,.28),transparent 25%),radial-gradient(circle at 76% 18%,rgba(114,87,255,.42),transparent 32%),radial-gradient(circle at 66% 76%,rgba(40,104,240,.25),transparent 36%),linear-gradient(135deg,#07111f 0%,#0a1831 55%,#07101f 100%); background-size: 52px 52px,52px 52px,auto,auto,auto,auto; filter: none; transform: none; }
.hero__flag::after { background: linear-gradient(90deg,rgba(5,11,21,.08),rgba(5,11,21,.02)); }
.hero__halo { position: absolute; z-index: 0; border-radius: 50%; filter: blur(2px); opacity: .7; pointer-events: none; }
.hero__halo--one { width: 420px; height: 420px; right: 2%; top: 9%; border: 1px solid rgba(120,148,255,.24); box-shadow: inset 0 0 90px rgba(98,80,255,.18),0 0 90px rgba(40,104,240,.12); animation: haloFloat 9s ease-in-out infinite; }
.hero__halo--two { width: 180px; height: 180px; left: 46%; bottom: 10%; background: radial-gradient(circle at 35% 35%,rgba(39,217,204,.32),rgba(39,217,204,0)); animation: haloFloat 7s ease-in-out -2s infinite reverse; }
.hero__grid { grid-template-columns: 1.1fr .9fr; gap: 70px; }
.hero__copy { position: relative; }
.hero__signal { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 24px; padding: 8px 12px; border: 1px solid rgba(255,255,255,.13); border-radius: 999px; background: rgba(255,255,255,.06); color: #c7d5ee; font-size: 11px; font-weight: 800; letter-spacing: .15em; backdrop-filter: blur(12px); }
.hero__signal span { width: 7px; height: 7px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 14px var(--cyan); }
.hero h1 { max-width: 760px; font-size: clamp(48px,5.4vw,78px); line-height: .94; letter-spacing: -.055em; text-wrap: balance; }
.hero__sub { margin: 28px 0 26px; color: #aebed9; font-weight: 700; letter-spacing: .12em; }
.hero__bullets { display: grid; gap: 8px; max-width: 680px; }
.hero__bullets li { padding: 13px 16px 13px 42px; border: 1px solid rgba(255,255,255,.08); border-radius: 14px; background: rgba(255,255,255,.045); color: #dbe5f5; backdrop-filter: blur(9px); }
.hero__bullets li::before { left: 17px; top: 20px; width: 9px; height: 9px; background: var(--cyan); box-shadow: 0 0 14px rgba(39,217,204,.8); }
.hero__bullets strong { color: #fff; }
.hero .form-card { position: relative; border: 1px solid rgba(255,255,255,.7); border-radius: 24px; padding: 32px; background: rgba(255,255,255,.94); box-shadow: var(--shadow-deep); backdrop-filter: blur(20px); }
.hero .form-card::before { content: ""; position: absolute; inset: 0 28px auto; height: 3px; border-radius: 0 0 4px 4px; background: linear-gradient(90deg,var(--purple),var(--blue),var(--cyan)); }
.form-card input,.form-card select,.phone-row { border-color: rgba(20,40,75,.14); border-radius: 11px; background: #f8f9fc; }
.form-card input:focus,.phone-row:focus-within { outline: 3px solid rgba(40,104,240,.15); }

.trust { position: relative; z-index: 3; margin-top: -36px; padding: 0 0 44px; }
.trust__panel { grid-template-columns: 260px minmax(0,1fr); gap: 28px; align-items: start; border: 1px solid rgba(255,255,255,.74); border-radius: 24px; padding: 28px; background: rgba(255,255,255,.9); box-shadow: var(--shadow-soft); backdrop-filter: blur(18px); }
.trust__title { font-size: clamp(30px,3.3vw,46px); }
.trust__list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.trust__list li { border: 1px solid rgba(35,58,100,.08); border-radius: 13px; padding: 13px 14px 13px 34px; background: #f8faff; }

.about,.offers,.reviews,.advantages { padding: 64px 0; }
.about { background: #f8f9fc; }
.about__grid { gap: 28px 42px; }
.about__text { font-size: 19px; line-height: 1.75; }
.about__cards { gap: 14px; }
.about-card { display: flex; align-items: center; min-height: 112px; border: 1px solid rgba(255,255,255,.48); border-radius: 20px; padding: 20px 24px; box-shadow: 0 14px 38px rgba(20,35,70,.1); }
.about-card.violet { background: linear-gradient(135deg,#7358ff,#5040c7); }
.about-card.navy { background: linear-gradient(135deg,#111d34,#0a1221); }
.about-card.mint { background: linear-gradient(135deg,#cafff8,#eafffa); color: #0c514d; }

.problem { position: relative; padding: 72px 0; overflow: hidden; background: radial-gradient(circle at 84% 26%,rgba(114,87,255,.25),transparent 28%),linear-gradient(135deg,#07111f,#101c33); color: #fff; }
.problem::before { content: ""; position: absolute; inset: 0; opacity: .35; background-image: linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px); background-size: 46px 46px; }
.problem__grid { position: relative; }
.problem__list { counter-reset: issue; }
.problem__list li { counter-increment: issue; margin-bottom: 10px; border: 1px solid rgba(255,255,255,.08); border-radius: 14px; padding: 16px 18px 16px 54px; background: rgba(255,255,255,.055); color: #dce6f7; backdrop-filter: blur(10px); }
.problem__list li::before { content: counter(issue,decimal-leading-zero); top: 16px; left: 17px; width: auto; height: auto; border: 0; background: none; color: var(--cyan); font: 700 13px/1 "Space Grotesk"; }
.eu-map { filter: drop-shadow(0 30px 50px rgba(20,30,100,.32)); }

.offers { background: #eef1f7; }
.offers--residence { background: #f8f9fc; }
.section-lead { margin-top: 18px; font-size: 18px; }
.offers__list { gap: 18px; }
.offer { border: 1px solid rgba(32,52,90,.08); border-radius: 24px; padding: 24px; background: rgba(255,255,255,.86); box-shadow: 0 18px 54px rgba(20,35,70,.08); backdrop-filter: blur(14px); transition: transform 220ms ease,box-shadow 220ms ease; }
.offer:hover { transform: translateY(-4px); box-shadow: 0 28px 70px rgba(20,35,70,.13); }
.offer__name { font-size: clamp(30px,3vw,42px); }
.document-sample { position: relative; width: 100%; aspect-ratio: 1.586 / 1; margin: 0; overflow: hidden; border: 1px solid rgba(14,28,55,.12); border-radius: 18px; background: #dfe4ec; box-shadow: 0 24px 48px rgba(10,25,70,.2); isolation: isolate; }
.document-sample::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(145deg,rgba(255,255,255,.22),transparent 32%,transparent 70%,rgba(10,20,40,.1)); mix-blend-mode: soft-light; }
.document-sample img { display: block; width: 100%; height: 100%; object-fit: cover; }
.document-sample figcaption { position: absolute; z-index: 2; inset: 12px 12px auto; display: flex; justify-content: space-between; align-items: center; gap: 8px; color: #fff; font: 800 10px/1 "Space Grotesk","Manrope",sans-serif; letter-spacing: .1em; text-shadow: 0 1px 7px rgba(0,0,0,.5); }
.document-sample figcaption span,.document-sample figcaption strong { padding: 7px 9px; border: 1px solid rgba(255,255,255,.35); border-radius: 999px; background: rgba(7,17,31,.68); backdrop-filter: blur(8px); }
.document-sample figcaption strong { background: rgba(178,22,54,.82); }

.reviews { background: #fff; }
.reviews h2 { margin-bottom: 28px; }
.reviews__grid { gap: 16px; }
.review { border-color: rgba(34,56,100,.09); background: linear-gradient(145deg,#fff,#f6f8fd); box-shadow: 0 20px 50px rgba(20,35,70,.09); }
.review:nth-child(even) { margin-top: 0; }
.process { position: relative; overflow: hidden; padding: 72px 0; background: radial-gradient(circle at 20% 0,rgba(39,217,204,.14),transparent 28%),radial-gradient(circle at 90% 90%,rgba(114,87,255,.22),transparent 34%),#07111f; }
.process__note { margin-bottom: 28px; }
.process-step { border: 1px solid rgba(255,255,255,.09); border-radius: 22px; padding: 24px 16px 20px; background: rgba(255,255,255,.055); backdrop-filter: blur(12px); }
.process-step__n { margin: 0 auto 16px; background: linear-gradient(135deg,var(--purple),var(--blue)); box-shadow: 0 0 28px rgba(75,90,240,.42); }
.process__steps::before { display: none; }

.advantages { background: #eef1f7; }
.advantages h2 { margin-bottom: 30px; }
.advantages__row { gap: 16px; }
.advantages__row { margin-bottom: 28px; }
.adv { min-height: 230px; border: 1px solid rgba(35,55,90,.08); border-radius: 24px; padding: 24px; background: rgba(255,255,255,.8); box-shadow: 0 14px 40px rgba(20,35,70,.07); }
.adv:nth-child(2) { background: linear-gradient(145deg,#745bff,#4b56d9); color: #fff; }
.adv:nth-child(2) p { color: #e8e9ff; }
.adv:nth-child(3) { background: linear-gradient(145deg,#d9fff9,#f4fffd); }
.adv__icon { border-radius: 16px; background: linear-gradient(135deg,#eef1ff,#dce5ff); color: var(--blue); }
.advantages__row::before { display: none; }

.contacts { position: relative; overflow: hidden; padding: 72px 0; background: radial-gradient(circle at 15% 22%,rgba(39,217,204,.16),transparent 28%),radial-gradient(circle at 84% 80%,rgba(114,87,255,.25),transparent 35%),#07111f; }
.contacts__grid { gap: 70px; align-items: center; }
.contacts__info h2 { color: #fff; }
.contacts__lead { color: #b9c7dc; }
.contacts__info dt { color: #7f93b3; }
.contacts__info dd,.contacts__info dd a { color: #f1f5fb; }
.contacts__info dl > div { border-bottom-color: rgba(255,255,255,.11); }
.form-card--dark { border: 1px solid rgba(255,255,255,.12); border-radius: 24px; background: rgba(255,255,255,.075); box-shadow: 0 30px 80px rgba(0,0,0,.24); backdrop-filter: blur(18px); }
.form-card--dark input,.form-card--dark select,.form-card--dark .phone-row { background: rgba(255,255,255,.94); }
.form-card--dark .form-consent span { color: #c8d3e5; }
.form-card--dark .form-consent a { color: #77dff0; }
.footer { border: 0; background: #050b15; color: #9daac0; }
.footer a { color: #dfe7f5; }

.reveal-item { opacity: 0; transform: translateY(24px); transition: opacity 650ms cubic-bezier(.2,.7,.2,1),transform 650ms cubic-bezier(.2,.7,.2,1); }
.reveal-item.is-visible { opacity: 1; transform: translateY(0); }
@keyframes haloFloat { 0%,100%{transform:translate3d(0,0,0) scale(1)} 50%{transform:translate3d(0,-18px,0) scale(1.04)} }

.legal { margin-top: 28px; border: 1px solid rgba(30,50,90,.08); border-radius: 28px; padding: 48px; background: rgba(255,255,255,.88); box-shadow: var(--shadow-soft); }

@media (min-width: 981px) {
  .about__grid { grid-template-columns: 300px minmax(0,1fr); align-items: start; }
  .about__grid > div:first-child { grid-column: 1; grid-row: 1; }
  .about__grid > div:nth-child(2) { display: contents; }
  .about__text { grid-column: 2; grid-row: 1; margin: 0; }
  .about__cards { grid-column: 1 / -1; grid-row: 2; }

  .offers__list { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .offer,.offer:nth-child(even) { grid-template-columns: 1fr; grid-template-rows: auto auto; gap: 22px; align-content: space-between; }
  .offer:nth-child(even) .offer__copy { order: 0; }
  .document-sample { align-self: end; }
}

@media (max-width: 980px) {
  .header { top: 6px; width: calc(100% - 12px); }
  .nav { top: 76px; left: 6px; right: 6px; border-radius: 16px; box-shadow: var(--shadow-soft); }
  .hero { min-height: auto; margin-top: -68px; padding: 120px 0 72px; }
  .hero__grid { grid-template-columns: 1fr; gap: 44px; }
  .hero .form-card { max-width: 620px; width: 100%; margin: 0 auto; }
  .trust { margin-top: -34px; }
  .trust__panel { grid-template-columns: 1fr; }
  .trust__list { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .offer,.offer:nth-child(even) { gap: 30px; }
  .document-sample { max-width: 440px; }
}

@media (max-width: 640px) {
  .wrap { width: calc(100% - 28px); }
  .header { height: 62px; border-radius: 15px; }
  .header__inner { padding: 0 8px; }
  .hero { margin-top: -62px; padding: 112px 0 72px; }
  .hero h1 { font-size: clamp(40px,12vw,54px); }
  .hero__signal { margin-bottom: 18px; }
  .hero__sub { margin-top: 22px; }
  .hero__bullets li { padding-right: 12px; font-size: 14px; }
  .hero .form-card { padding: 25px 18px; border-radius: 20px; }
  .trust__panel { padding: 24px 18px; border-radius: 22px; }
  .trust__list { grid-template-columns: 1fr; }
  .about,.offers,.reviews,.advantages,.problem,.process,.contacts { padding: 60px 0; }
  h2 { font-size: clamp(34px,10vw,46px); }
  .about__grid,.problem__grid,.contacts__grid { gap: 36px; }
  .about-card { min-height: 0; padding: 20px; }
  .offer { padding: 22px 18px; border-radius: 22px; }
  .document-sample { max-width: none; border-radius: 15px; }
  .review { min-height: 0; border-radius: 18px; padding: 22px 52px 22px 18px; }
  .process-step,.adv { min-height: 0; }
  .legal { padding: 28px 20px; border-radius: 20px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *,*::before,*::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
  .reveal-item { opacity: 1; transform: none; }
}
