/* Omnia homepage editorial direction: documentary photography + confident type. */
:root {
  --omnia-primitive-violet: #6b26e2;
  --omnia-primitive-charcoal: #111113;
  --omnia-primitive-paper: #f3f0eb;
  --omnia-editorial-accent: var(--omnia-primitive-violet);
  --omnia-editorial-surface: var(--omnia-primitive-charcoal);
  --omnia-editorial-copy: var(--omnia-primitive-paper);
  --omnia-editorial-card-radius: 18px;
  --omnia-editorial-reveal-distance: 26px;
}

[id="1block"]._1block-div {
  position: relative;
  display: block !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: clip;
  background: #080708 !important;
}

[id="1block"] > .div-block-21 { position: relative; z-index: 10; }

.omnia-editorial-hero {
  position: relative;
  display: grid;
  align-items: center;
  min-height: clamp(680px, 80svh, 860px);
  margin-top: -65px;
  padding: clamp(120px, 10vw, 165px) max(5vw, calc((100vw - 1740px) / 2)) 76px;
  isolation: isolate;
  color: var(--omnia-editorial-copy);
}

.omnia-editorial-hero-photo,
.omnia-editorial-hero-shade {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 100%;
}

.omnia-editorial-hero-photo {
  display: block;
  object-fit: cover;
  object-position: 62% 50%;
  filter: saturate(.82) contrast(1.07);
  animation: omnia-photo-arrive 1.7s ease-out both;
}

.omnia-editorial-hero-shade {
  z-index: -1;
  background: linear-gradient(90deg, rgba(3,3,4,.93) 0%, rgba(3,3,4,.77) 35%, rgba(3,3,4,.22) 75%), linear-gradient(0deg, rgba(3,3,4,.75), transparent 38%);
}

.omnia-editorial-hero-inner { position: relative; width: min(100%, 980px); }
.omnia-editorial-kicker {
  margin: 0;
  color: #c9b3fa;
  font: 700 clamp(12px, 1vw, 16px)/1.2 Gilroy, Arial, sans-serif;
  letter-spacing: .17em;
  text-transform: uppercase;
}

.omnia-editorial-hero h1 {
  width: max-content;
  max-width: 100%;
  height: auto;
  margin: 20px 0 24px;
  color: #fff;
  font: 700 clamp(142px, 18vw, 350px)/.86 DrukCyr, Impact, sans-serif;
  letter-spacing: -.045em;
  white-space: nowrap;
}

.omnia-editorial-hero h1 span { color: #a977f5; }
.omnia-editorial-hero-line {
  margin: 0;
  max-width: 23ch;
  font: 800 clamp(28px, 3.15vw, 54px)/1.16 Gilroy, Arial, sans-serif;
  letter-spacing: -.035em;
  text-transform: uppercase;
  text-wrap: balance;
}
.omnia-editorial-hero-line em { display: inline-block; margin-top: .13em; }

.omnia-editorial-hero-line em,
.omnia-process-heading h2 em,
.omnia-spotlight-heading h2 em {
  color: #c9b3fa;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 600;
  font-style: italic;
  text-transform: none;
  letter-spacing: -.035em;
}

.omnia-editorial-hero-lede {
  max-width: 690px;
  margin: 24px 0 0;
  color: rgba(255,255,255,.86);
  font: 500 clamp(18px, 1.25vw, 22px)/1.43 Gilroy, Arial, sans-serif;
}

.omnia-editorial-hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
.omnia-editorial-primary,
.omnia-editorial-secondary,
.omnia-process-cta,
.omnia-spotlight-all {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
  min-height: 54px;
  padding: 14px 22px;
  border: 1px solid transparent;
  border-radius: 999px;
  font: 800 15px/1.2 Gilroy, Arial, sans-serif;
  text-decoration: none;
  transition: transform .28s ease, background-color .28s ease, border-color .28s ease;
}
.omnia-editorial-primary,
.omnia-process-cta { background: var(--omnia-editorial-accent); color: #fff !important; }
.omnia-editorial-secondary,
.omnia-spotlight-all { border-color: rgba(255,255,255,.5); color: #fff !important; }
.omnia-editorial-primary:hover,
.omnia-editorial-secondary:hover,
.omnia-process-cta:hover,
.omnia-spotlight-all:hover { transform: translateY(-3px); }
.omnia-editorial-secondary:hover,
.omnia-spotlight-all:hover { border-color: #fff; background: rgba(255,255,255,.08); }
.omnia-editorial-primary:focus-visible,
.omnia-editorial-secondary:focus-visible,
.omnia-process-cta:focus-visible,
.omnia-spotlight-all:focus-visible,
.omnia-spotlight-card:focus-visible { outline: 3px solid #d1baff; outline-offset: 4px; }

.omnia-editorial-hero-bottom {
  position: absolute;
  right: max(5vw, calc((100vw - 1740px) / 2));
  bottom: 26px;
  left: max(5vw, calc((100vw - 1740px) / 2));
  display: flex;
  justify-content: space-between;
  gap: 20px;
  border-top: 1px solid rgba(255,255,255,.25);
  padding-top: 14px;
  color: rgba(255,255,255,.7);
  font: 700 11px/1.2 Gilroy, Arial, sans-serif;
  letter-spacing: .14em;
}

/* Keep the long legacy sections rhythmic without deleting useful proof. */
#feedback._9block-div {
  padding-top: clamp(64px, 6vw, 100px) !important;
  padding-bottom: clamp(64px, 6vw, 100px) !important;
}
#feedback .omnia-trusted-heading { margin-bottom: 30px; }
#why-we._3block-div {
  padding-top: clamp(54px, 4.6vw, 78px) !important;
  padding-bottom: clamp(54px, 4.6vw, 78px) !important;
}
#o-nas._5block-div {
  min-height: 0 !important;
  margin-top: clamp(70px, 6vw, 105px) !important;
  margin-bottom: clamp(70px, 6vw, 105px) !important;
}
#o-nas .omnia-home-team-gallery { height: clamp(680px, 52vw, 780px); min-height: 0; }
#o-nas .omnia-home-team-copy { padding: clamp(38px, 4vw, 64px); }
#uslugi._6block-div {
  margin-top: 0 !important;
  padding-top: clamp(56px, 5vw, 82px) !important;
  padding-bottom: clamp(56px, 5vw, 82px) !important;
}

#steps.omnia-process-section {
  display: block !important;
  box-sizing: border-box;
  height: auto !important;
  min-height: 0 !important;
  padding: clamp(62px, 5.7vw, 102px) max(5vw, calc((100vw - 1680px) / 2)) !important;
  background: #0d0c0e !important;
  color: #fff;
}
.omnia-process-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(270px, .55fr);
  align-items: end;
  gap: 40px;
  margin: 0 0 30px;
}
.omnia-process-heading .omnia-editorial-kicker { grid-column: 1 / -1; }
.omnia-process-heading h2,
.omnia-spotlight-heading h2 {
  margin: 0;
  color: #fff;
  font: 700 clamp(70px, 8vw, 150px)/.94 DrukCyr, Impact, sans-serif;
  letter-spacing: -.015em;
  text-transform: uppercase;
}
.omnia-process-heading h2 em,
.omnia-spotlight-heading h2 em { font-size: .88em; }
.omnia-process-heading > p:last-child,
.omnia-spotlight-heading > p {
  max-width: 430px;
  margin: 0 0 8px;
  color: rgba(255,255,255,.7);
  font: 500 clamp(16px, 1.2vw, 21px)/1.45 Gilroy, Arial, sans-serif;
}
#steps .omnia-process-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: clamp(12px, 1.25vw, 20px) !important;
  width: 100% !important;
}
#steps .omnia-process-card,
#steps .omnia-process-card:nth-child(even) {
  display: flex !important;
  flex-direction: column;
  min-width: 0;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.13) !important;
  border-radius: var(--omnia-editorial-card-radius) !important;
  background: var(--omnia-editorial-surface) !important;
  color: #fff !important;
  box-shadow: none !important;
}
.omnia-process-photo { position: relative; height: clamp(175px, 15vw, 245px); overflow: hidden; background: #242127; }
.omnia-process-photo::after { position: absolute; inset: 45% 0 0; background: linear-gradient(transparent, rgba(0,0,0,.35)); content: ""; }
.omnia-process-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .65s cubic-bezier(.22,1,.36,1); }
.omnia-process-card:hover .omnia-process-photo img { transform: scale(1.045); }
.omnia-process-photo > span {
  position: absolute;
  z-index: 1;
  left: 20px;
  bottom: 17px;
  color: #fff;
  font: 700 18px/1 DrukCyr, Impact, sans-serif;
  letter-spacing: .08em;
}
.omnia-process-copy { display: flex; flex: 1; flex-direction: column; gap: 14px; padding: clamp(22px, 1.8vw, 32px); }
#steps .omnia-process-card h3 {
  max-width: 100%;
  height: auto !important;
  margin: 0 !important;
  padding: 0 0 .08em;
  color: #fff !important;
  font: 800 clamp(24px, 1.8vw, 31px)/1.14 Gilroy, Arial, sans-serif !important;
  letter-spacing: -.025em;
  text-wrap: balance;
}
#steps .omnia-process-card p {
  margin: 0;
  color: rgba(255,255,255,.72) !important;
  font: 500 clamp(15px, 1vw, 17px)/1.43 Gilroy, Arial, sans-serif !important;
}
.omnia-process-cta { width: fit-content; margin-top: 28px; }

#cases1.omnia-spotlight-section {
  display: block !important;
  box-sizing: border-box;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  padding: clamp(62px, 5.7vw, 102px) max(5vw, calc((100vw - 1680px) / 2)) !important;
  overflow: visible !important;
  background: #080708 !important;
  color: #fff;
}
.omnia-spotlight-inner { width: 100%; }
.omnia-spotlight-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(250px, .55fr);
  align-items: end;
  gap: 40px;
  margin-bottom: 30px;
}
.omnia-spotlight-heading .omnia-editorial-kicker { margin-bottom: 23px; }
.omnia-spotlight-heading h2 { font-size: clamp(67px, 7.5vw, 135px); }
.omnia-spotlight-grid { display: grid; grid-template-columns: 1.15fr 1fr 1fr; gap: clamp(12px, 1.3vw, 22px); }
.omnia-spotlight-card {
  position: relative;
  display: block;
  min-width: 0;
  min-height: clamp(390px, 32vw, 520px);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: var(--omnia-editorial-card-radius);
  background: #171419;
  color: #fff !important;
  text-decoration: none;
}
.omnia-spotlight-card img,
.omnia-spotlight-card-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.omnia-spotlight-card img { object-fit: cover; transition: transform .75s cubic-bezier(.22,1,.36,1), filter .5s ease; }
.omnia-spotlight-card-shade { background: linear-gradient(0deg, rgba(3,3,4,.96) 0%, rgba(3,3,4,.55) 37%, rgba(3,3,4,.05) 76%); }
.omnia-spotlight-card:hover img { transform: scale(1.05); filter: saturate(1.08); }
.omnia-spotlight-card-copy {
  position: absolute;
  right: clamp(22px, 2vw, 34px);
  bottom: clamp(23px, 2vw, 34px);
  left: clamp(22px, 2vw, 34px);
  display: grid;
  gap: 13px;
}
.omnia-spotlight-card-copy small { color: #c9b3fa; font: 800 12px/1.3 Gilroy, Arial, sans-serif; letter-spacing: .13em; }
.omnia-spotlight-card-copy strong { font: 700 clamp(37px, 3.1vw, 61px)/1 DrukCyr, Impact, sans-serif; letter-spacing: -.01em; text-wrap: balance; }
.omnia-spotlight-card-copy > span { color: rgba(255,255,255,.82); font: 500 16px/1.38 Gilroy, Arial, sans-serif; }
.omnia-spotlight-card-copy b { display: inline-flex; justify-content: space-between; gap: 10px; width: fit-content; margin-top: 4px; border-bottom: 1px solid #fff; padding-bottom: 7px; font: 800 14px/1.2 Gilroy, Arial, sans-serif; }
.omnia-spotlight-card-copy i { font-style: normal; }
.omnia-spotlight-all { width: fit-content; margin-top: 32px; }

@keyframes omnia-photo-arrive { from { transform: scale(1.045); opacity: .75; } to { transform: scale(1); opacity: 1; } }
@keyframes omnia-editorial-reveal { from { opacity: .84; transform: translateY(var(--omnia-editorial-reveal-distance)); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: no-preference) {
  html.omnia-editorial-motion [data-editorial-reveal].is-visible { animation: omnia-editorial-reveal .7s cubic-bezier(.22,1,.36,1) both; }
  .omnia-editorial-hero [data-editorial-reveal]:nth-child(2) { animation-delay: .08s; }
  .omnia-editorial-hero [data-editorial-reveal]:nth-child(3) { animation-delay: .16s; }
  .omnia-editorial-hero [data-editorial-reveal]:nth-child(4) { animation-delay: .24s; }
  .omnia-editorial-hero [data-editorial-reveal]:nth-child(5) { animation-delay: .32s; }
}
@media (max-width: 1200px) {
  #steps .omnia-process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .omnia-spotlight-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .omnia-spotlight-card:first-child { grid-row: span 2; }
}
@media (max-width: 767px) {
  #feedback._9block-div { padding: 54px 18px !important; }
  #o-nas._5block-div { margin-top: 54px !important; margin-bottom: 54px !important; }
  #o-nas .omnia-home-team-gallery { height: auto; min-height: 560px; }
  #uslugi._6block-div { padding: 55px 18px 60px !important; }
  .omnia-editorial-hero { display: block; min-height: 0; margin-top: -70px; padding: 114px 22px 56px; }
  .omnia-editorial-hero-photo { object-position: 60% 30%; opacity: .8; }
  .omnia-editorial-hero-shade { background: linear-gradient(0deg, rgba(3,3,4,.98) 3%, rgba(3,3,4,.82) 62%, rgba(3,3,4,.47) 100%); }
  .omnia-editorial-hero-inner { padding-top: min(21vh, 175px); }
  .omnia-editorial-hero h1 { margin: 14px 0 16px; font-size: clamp(88px, 24vw, 160px); }
  .omnia-editorial-hero-line { max-width: 100%; font-size: clamp(26px, 7.25vw, 43px); line-height: 1.18; }
  .omnia-editorial-hero-lede { margin-top: 18px; font-size: 17px; }
  .omnia-editorial-hero-actions { gap: 11px; margin-top: 26px; }
  .omnia-editorial-primary, .omnia-editorial-secondary { width: 100%; }
  .omnia-editorial-hero-bottom { position: static; margin-top: 38px; font-size: 9px; }
  .omnia-editorial-hero-bottom span:last-child { display: none; }
  #steps.omnia-process-section, #cases1.omnia-spotlight-section { padding: 56px 18px !important; }
  .omnia-process-heading, .omnia-spotlight-heading { display: block; margin-bottom: 28px; }
  .omnia-process-heading h2, .omnia-spotlight-heading h2 { margin: 18px 0; font-size: clamp(54px, 14vw, 86px); line-height: .98; }
  .omnia-process-heading > p:last-child, .omnia-spotlight-heading > p { max-width: 100%; font-size: 16px; }
  #steps .omnia-process-grid, .omnia-spotlight-grid { grid-template-columns: 1fr !important; }
  #steps .omnia-process-card { min-height: 0 !important; }
  .omnia-process-photo { height: 210px; }
  .omnia-process-copy { gap: 9px; padding: 22px; }
  #steps .omnia-process-card h3 { font-size: clamp(25px, 6.6vw, 32px) !important; }
  .omnia-process-cta { width: 100%; }
  .omnia-spotlight-card { min-height: 370px; }
  .omnia-spotlight-card:first-child { grid-row: auto; }
  .omnia-spotlight-card-copy strong { font-size: clamp(39px, 10vw, 55px); }
  .omnia-spotlight-all { width: 100%; }
}
@media (max-width: 360px) {
  .omnia-editorial-hero { padding-inline: 17px; }
  .omnia-editorial-hero h1 { font-size: 84px; }
  .omnia-editorial-hero-line { font-size: 26px; }
}
@media (prefers-reduced-motion: reduce) {
  .omnia-editorial-hero-photo, .omnia-process-photo img, .omnia-spotlight-card img { animation: none !important; transition: none !important; }
  [data-editorial-reveal] { opacity: 1 !important; transform: none !important; transition: none !important; }
}
