@font-face {
  font-family: Montserrat;
  font-display: swap;
  src: url("../fonts/Montserrat-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: Montserrat;
  font-display: swap;
  src: url("../fonts/Montserrat-SemiBold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
}

@font-face {
  font-family: Ruberoid;
  font-display: swap;
  src: url("../fonts/Ruberoid-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
}

:root {
  /* актуальная высота шапки подставляется из JS (js/app.js), здесь — безопасный дефолт */
  --epHeaderH: 96px;
}

/* Smooth scrolling for native anchors (e.g., #contacts). */
html {
  scroll-behavior: smooth;
}

/* Keep browser-driven focus scrolling clear of the fixed header. Both are
   included because legacy templates use body as their scrolling container. */
html, body {
  scroll-padding-top:calc(var(--epHeaderH,96px) + 14px);
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

/*
  Якоря (например #contacts): при фиксированной шапке браузер может прокручивать
  ровно к началу секции и заголовок окажется "под" шапкой. scroll-margin-top решает это.
*/
main [id] {
  scroll-margin-top: calc(var(--epHeaderH, 96px) + 14px);
}

/* Floating callback button (FAB) */
.button {
  position: fixed;
  right: 1.25rem;
  bottom: 1.25rem;
  width: 64px;
  height: 64px;
  border-radius: 999px;
  z-index: 2500;
  cursor: pointer;
  background:
    url("../img/call.svg") center/26px no-repeat,
    linear-gradient(135deg, rgba(0, 255, 204, 0.95), rgba(0, 204, 255, 0.9));
  border: 1px solid rgba(255, 255, 255, 0.22);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.45);
  -webkit-tap-highlight-color: transparent;
  transition: transform 180ms ease, box-shadow 180ms ease, filter 180ms ease, opacity 180ms ease;
}

.button::before {
  content: "";
  position: absolute;
  inset: -10px;
  border-radius: inherit;
  box-shadow: 0 0 0 0 rgba(0, 255, 204, 0.35);
  opacity: 1;
  animation: epFabPulse 2.6s ease-out infinite;
  pointer-events: none;
}

.button::after {
  content: "Заказать звонок";
  position: absolute;
  right: calc(100% + 10px);
  top: 50%;
  transform: translateY(-50%) translateX(10px);
  opacity: 0;
  pointer-events: none;
  white-space: nowrap;
  padding: 0.55rem 0.8rem;
  border-radius: 999px;
  background: rgba(10, 10, 10, 0.62);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.92);
  font-size: 0.8rem;
  line-height: 1;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transition: opacity 180ms ease, transform 180ms ease;
}

.button:hover {
  transform: translateY(-2px) scale(1.04);
  filter: brightness(1.05);
  box-shadow: 0 22px 54px rgba(0, 0, 0, 0.55);
}

.button:hover::after {
  opacity: 1;
  transform: translateY(-50%) translateX(0);
}

.button:active {
  transform: translateY(0) scale(0.98);
}

@keyframes epFabPulse {
  0% {
    box-shadow: 0 0 0 0 rgba(0, 255, 204, 0.35);
    opacity: 1;
  }
  70% {
    box-shadow: 0 0 0 18px rgba(0, 255, 204, 0);
    opacity: 0.9;
  }
  100% {
    box-shadow: 0 0 0 24px rgba(0, 255, 204, 0);
    opacity: 0;
  }
}

@media (max-width: 48rem) {
  .button {
    width: 56px;
    height: 56px;
    right: 1rem;
    bottom: 1rem;
  }

  .button::after {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .button {
    transition: none;
  }

  .button::before {
    animation: none;
  }
}

html {
  font-size: 100%;
}

* {
  padding: 0px;
  margin: 0px;
  border: 0px;
}

*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

:focus,
:active {
  outline: none;
}

a:focus,
a:active {
  outline: none;
}

::-webkit-input-placeholder {
  color: inherit;
}

::-moz-placeholder {
  color: inherit;
}

:-ms-input-placeholder {
  color: inherit;
}

::-ms-input-placeholder {
  color: inherit;
}

::placeholder {
  color: inherit;
}

input,
button,
textarea,
select {
  font-family: "Montserrat";
  font-size: inherit;
  color: #fff;
}

button {
  cursor: pointer;
  color: inherit;
  background-color: inherit;
}

a {
  color: inherit;
}

a:link,
a:visited {
  text-decoration: none;
}

a:hover {
  text-decoration: none;
}

ul li {
  list-style: none;
}

img {
  vertical-align: top;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: inherit;
  font-size: inherit;
}

html,
body {
  height: 100%;
  min-width: 320px;
}

body {
  font-family: "Montserrat";
  font-weight: 400;
  color: #fff;
  font-size: 1rem;
  background-color: #000;
}

.lock body {
  overflow: hidden;
  -ms-touch-action: none;
  touch-action: none;
  -ms-scroll-chaining: none;
  overscroll-behavior: none;
}

[class*=__container] {
  max-width: 86.25rem;
  margin: 0 auto;
  padding: 0 1.5rem;
}

.wrapper {
  position: relative;
  min-height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  overflow: hidden;
}

@supports (overflow: clip) {
  .wrapper {
    overflow: clip;
  }
}

.wrapper>main {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
}

.wrapper>* {
  min-width: 0;
}

.link {
  background: linear-gradient(90deg, #00ffcc, #00ccff);
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.9rem 1.25rem;
  min-height: 48px;
  width: 100%;
  font-weight: 700;
  font-size: 1.05rem;
  line-height: 1.05;
  letter-spacing: 0.01em;
  color: #00110f;
  text-align: center;
  text-decoration: none !important;
  -webkit-transition: transform .18s ease, filter .18s ease, box-shadow .18s ease;
  transition: transform .18s ease, filter .18s ease, box-shadow .18s ease;
  background-size: 120% 120%;
  box-shadow: 0 14px 34px rgba(0,0,0,0.35);
}

.link:hover {
  transform: translateY(-1px);
  filter: brightness(1.03);
  text-decoration: none !important;
}

.link:active {
  transform: translateY(0);
  filter: brightness(0.98);
}

.link:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(0,255,204,0.28), 0 14px 34px rgba(0,0,0,0.35);
}


.title {
  font-family: "Ruberoid", sans-serif;
  font-size: 3.75rem;
  line-height: 90%;
  color: #01d1bc;
}

.menu {
  position: relative;
  z-index: 5;
}

.menu__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0.3125rem 1.5rem;
}

.menu__link {
  display: inline-block;
  -webkit-transition: color .3s ease 0s;
  transition: color .3s ease 0s;
  font-size: 1.125rem;
  line-height: 90%;
}

.burger-menu {
  display: none;
}

.menu-open .burger-menu::before {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  top: 0.375rem;
}

.menu-open .burger-menu::after {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  bottom: 0.375rem;
}

.menu-open .burger-menu span {
  -webkit-transform: scale(0);
  -ms-transform: scale(0);
  transform: scale(0);
}

/* FAB auto-hide (when user is reading) */
.button.ep-fab--hidden {
  opacity: 0;
  transform: translateY(14px) scale(0.88);
  pointer-events: none;
}

.button.ep-fab--hidden::before {
  animation: none !important;
  opacity: 0 !important;
}

.button.ep-fab--hidden::after {
  opacity: 0 !important;
}


.header {
  position: fixed;
  background: #000;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 60;
}



.header__container {
  position: relative;
  padding-top: 3.125rem;
  padding-bottom: 2rem;
  transition: all 0.3s;
}

._header-scroll .header__container {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}

.header__container::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 1.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100vw;
  height: 0.125rem;
  background: -webkit-gradient(linear, left top, right top, from(#01D1BC), color-stop(43%, white), to(#006B60));
  background: linear-gradient(to right, #01D1BC, white 43%, #006B60);
}

.hero {
  padding-top: 11rem;
  min-height: 100vh;
  padding-bottom: 6.25rem;
}

.hero__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 1.875rem;
}

.hero__content {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 40.25rem;
  flex: 0 0 40.25rem;
}

.hero__title {
  font-family: "Ruberoid", sans-serif;
  font-size: 7.75rem;
  line-height: 90%;
  background: linear-gradient(138deg, #fff 0%, #00887a 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: rgba(0, 0, 0, 0);
}

.hero__title:not(:last-child) {
  margin-bottom: 2rem;
}

.hero__text {
  font-size: 1.125rem;
  line-height: 100%;
  color: #d6d6d6;
}

.hero__text:not(:last-child) {
  margin-bottom: 4rem;
}

.hero__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 1.25rem;
}

.hero__list {
  display: -ms-grid;
  display: grid;
  gap: 0.75rem;
}

.hero__item {
  font-size: 1.125rem;
  line-height: 90%;
  color: #d6d6d6;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.hero__item::before {
  content: "";
  background: url("../img/check.svg") center/100% 100% no-repeat;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 0.9375rem;
  flex: 0 0 0.9375rem;
  width: 0.9375rem;
  height: 0.9375rem;
}

.hero__link {
  max-width: 17rem;
  min-height: 3.125rem;
}

.hero__image {
  padding-top: 1.25rem;
}

.hero__image img {
  max-width: 100%;
}


/* ===== HOME HERO refresh (2026-01-26) ===== */
.hero{
  /* выравниваем первый экран под обновлённую компактную фикс‑шапку */
  padding-top: 7.25rem;
  padding-bottom: 5rem;
  min-height: 100svh;
  display: flex;
  align-items: center;
}

.hero__container--home{ width: 100%; }

@media (max-width: 768px){
  .hero{
    padding-top: 6.25rem;
    padding-bottom: 3.75rem;
  }
}

.hero__container--home{
  display:block;
}

.hero__container--home .ep-hero{
  max-width: 78rem;
  margin: 0 auto;
}

.hero__title--home{
  font-size: clamp(2.6rem, 5.4vw, 5.6rem);
  line-height: 0.95;
}

.ep-chip--static{
  pointer-events: none;
}

.hero__container--home .ep-hero__lead{
  line-height: 1.4;
}

.ep-hero__actions--home .link{
  width: auto;
  padding: 0.9rem 1.15rem;
  min-height: 3.125rem;
}

.ep-hero__note{
  margin-top: 0.9rem;
  color: rgba(255,255,255,0.70);
  font-size: 0.95rem;
}

.ep-hero__dot{
  opacity: 0.7;
}

.ep-hero__media-illu{
  width: 100%;
  height: auto;
  max-width: 300px;
  margin: 0 auto 0.75rem;
  display: block;
  filter: drop-shadow(0 18px 40px rgba(0,0,0,0.35));
}

/* ===== Mascot motion (subtle, "alive") ===== */
.ep-mascot{
  display: flex;
  justify-content: center;
  align-items: flex-end;
  position: relative;
  width: 100%;
  /* лёгкое "плавание" */
  animation: epMascotFloat 6.5s ease-in-out infinite;
  will-change: transform;
}

/* лёгкий параллакс: JS меняет CSS-переменные */
.ep-mascot__img{
  transform: translate3d(var(--epMascotX, 0px), var(--epMascotY, 0px), 0);
  transition: transform 180ms ease-out;
  will-change: transform;
}

/* маленькие "искры" вокруг, чтобы было живее (не навязчиво) */
.ep-mascot::before,
.ep-mascot::after{
  content: "";
  position: absolute;
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: radial-gradient(circle at 30% 30%, rgba(1, 209, 188, 0.85), rgba(0, 107, 96, 0.0) 70%);
  filter: blur(0.2px);
  opacity: 0.55;
  pointer-events: none;
}
.ep-mascot::before{
  left: 18%;
  top: 18%;
  animation: epMascotSpark 7.5s ease-in-out infinite;
}
.ep-mascot::after{
  right: 16%;
  top: 28%;
  width: 9px;
  height: 9px;
  opacity: 0.45;
  animation: epMascotSpark2 9s ease-in-out infinite;
}

@keyframes epMascotFloat{
  0%, 100% { transform: translate3d(0, 0, 0) rotate(-0.6deg); }
  50%      { transform: translate3d(0, -10px, 0) rotate(0.6deg); }
}

@keyframes epMascotSpark{
  0%, 100% { transform: translate3d(0, 0, 0) scale(1); opacity: 0.55; }
  50%      { transform: translate3d(10px, -6px, 0) scale(1.2); opacity: 0.75; }
}
@keyframes epMascotSpark2{
  0%, 100% { transform: translate3d(0, 0, 0) scale(1); opacity: 0.45; }
  50%      { transform: translate3d(-8px, 10px, 0) scale(1.3); opacity: 0.65; }
}

@media (prefers-reduced-motion: reduce){
  .ep-mascot{ animation: none !important; }
  .ep-mascot__img{ transition: none !important; }
  .ep-mascot::before,
  .ep-mascot::after{ animation: none !important; }
}

.ep-hero__mini-actions{
  margin-top: 0.9rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
  color: rgba(255,255,255,0.78);
}

@media (max-width: 48rem){
  .hero__container--home .ep-hero{ padding: 1.05rem; }
  .ep-hero__actions--home{
    flex-direction: column;
    align-items: stretch;
  }
  .ep-hero__actions--home .link,
  .ep-hero__actions--home .ep-pill{
    width: 100%;
  }
  .ep-hero__mini-actions{
    justify-content: center;
  }
}

.services {
  padding: 6.25rem 0;
}

.services__body {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr 1fr 1fr;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 3rem 2rem;
}

.services__title:not(:last-child) {
  margin-bottom: 3rem;
}

.services__text {
  font-size: 1.125rem;
  line-height: 90%;
  color: #ebebeb;
}

.services__quick {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
}


.services__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.services__icon {
  max-width: 6.875rem;
  margin-left: auto;
  margin-right: auto;
}

.services__icon:not(:last-child) {
  margin-bottom: 0.55rem;
}

.services__icon img {
  max-width: 100%;
}

.services__caption {
  font-weight: 600;
  font-size: 1.125rem;
  line-height: 100%;
  text-align: center;
  min-height: 2.25rem;
}

.services__caption:not(:last-child) {
  margin-bottom: 1rem;
}

.services__list {
  display: -ms-grid;
  display: grid;
  gap: 0.625rem;
  padding-left: 1.25rem;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}

.services__list:not(:last-child) {
  margin-bottom: 1.5rem;
}

.services__box {
  font-size: 0.75rem;
  line-height: 100%;
  color: #eaeaea;
  list-style-type: disc;
}

.services__link {
  min-height: 2.5rem;
}

.stages {
  padding: 6.25rem 0;
}

.stages__title:not(:last-child) {
  margin-bottom: 1.5rem;
}

.stages__sub-title {
  max-width: 32.8125rem;
  font-size: 1.125rem;
  line-height: 100%;
  color: #eaeaea;
}

.stages__sub-title:not(:last-child) {
  margin-bottom: 4rem;
}

.stages__body {
  position: relative;
}

.stages__body:not(:last-child) {
  margin-bottom: 4rem;
}

.stages__body_mobile {
  display: none;
}

.stages__row {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr 1fr 1fr;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 1.8125rem;
  position: relative;
  width: 100%;
}

.stages__row .stages__item:nth-child(1) .stages__value {
  left: 0.875rem;
}

.stages__row .stages__item:nth-child(1) .stages__box {
  font-size: 0.75rem;
}

.stages__row::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 77%;
  height: 0.0625rem;
  background-color: #fff;
}

.stages__row2 {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr 1fr;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1.8125rem;
  max-width: 75.3676470588%;
  margin: 0 auto;
  -webkit-transform: translate(-5%, 0%);
  -ms-transform: translate(-5%, 0%);
  transform: translate(-5%, 0%);
  width: 100%;
}

.stages__content {
  position: relative;
  width: 100%;
}

.stages__item {
  position: relative;
  padding-bottom: 2.3125rem;
  padding-left: 0.75rem;
  width: 100%;
}

.stages__row2 .stages__item {
  padding-bottom: 0;
  padding-top: 6.25rem;
}

.stages__item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.5625rem;
  height: calc(100% - 0.5625rem);
  width: 0.375rem;
  border: 0.0625rem solid #fff;
  border-right: 0;
  border-bottom: 0;
}

.stages__row2 .stages__item::before {
  top: 0;
  height: 6.8125rem;
  border-bottom: 0.0625rem solid #fff;
  border-top: 0;
}

.stages__value {
  position: absolute;
  z-index: 2;
  left: -0.875rem;
  bottom: -0.875rem;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(42.5%, #01d1bc), to(#006b60));
  background: linear-gradient(180deg, #01d1bc 42.5%, #006b60 100%);
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-family: "Ruberoid", sans-serif;
  font-size: 1.125rem;
  line-height: 90%;
}

.stages__row2 .stages__value {
  bottom: auto;
  top: -0.875rem;
  left: 0.875rem;
}

.stages__caption {
  font-weight: 600;
  font-size: 1.125rem;
  line-height: 100%;
}

.stages__caption:not(:last-child) {
  margin-bottom: 0.75rem;
}

.stages__list {
  display: -ms-grid;
  display: grid;
  gap: 0.9375rem;
  padding-left: 1.25rem;
}

.stages__list ul {
  margin-left: -1.25rem;
}

.stages__box {
  list-style-type: disc;
  font-size: 0.625rem;
  line-height: 100%;
  color: #eaeaea;
}

.stages__bottom {
  text-align: right;
}

.stages__text {
  font-size: 1.25rem;
  line-height: 100%;
  position: relative;
  padding: 0.8125rem 0rem 0.8125rem 1.75rem;
  display: inline-block;
}

.stages__text p {
  position: relative;
  z-index: 2;
}

.stages__text::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100%;
  background: linear-gradient(90deg, #00100f 3%, #00a392 24.5%, #006b60 49%, #01d1bc 54.85%, #000 62%);

}

.stages__link {
  display: none;
}

.works {
  padding: 6.25rem 0;
}

.works__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.5rem;
}

.works__block {
  border-radius: 0.5rem;
  background: linear-gradient(135deg, rgba(1, 209, 188, 0.4) 0%, rgba(0, 107, 96, 0.4) 100%);
  position: relative;
  width: 100%;
  aspect-ratio: 620/593;
  max-width: 38.75rem;
}

.works__block img {
  position: absolute;
  width: calc(100% - 3.75rem);
  height: calc(100% - 3.75rem);
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 0.375rem;
}

.works__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 2.5rem;
  width: 100%;
  min-width: 0;
}

.works__title {
  color: #fff;
}

.works__title_mobile {
  display: none;
}

.works__items {
  height: 100%;
}

.works__wrap {
  flex-grow: 1;
  width: 100%;
  min-width: 0;
  min-height: 0;
  position: relative;
}

.works__wrap .swiper-button-prev {
  top: calc(50% + 0.3rem);
  left: -1.5625rem;
}

.works__wrap .swiper-button-next {
  top: calc(50% + 0.3rem);
  right: -1.5625rem;
}

.works__item {
  border-radius: 0.5rem;
  background: linear-gradient(135deg, #01534B 0%, #002C28 100%);
  position: relative;
  width: 100%;
  cursor: pointer;
  height: calc((100% - 1.5rem) / 2);
}

.works__item:first-child {
  border: 0.0625rem solid rgba(0, 0, 0, 0);
  background: linear-gradient(135deg, #01534B 0%, #002C28 100%) padding-box, linear-gradient(336deg, #fff 0%, #07B2A1 49%, #01D1BC 100%) border-box;
}

.works__item img {
  position: absolute;
  width: calc(100% - 1.5rem);
  height: calc(100% - 1.5rem);
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 0.375rem;
  transition: transform 0.5s;
  will-change: transform;
}


.swiper-button-prev {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 1.5rem;
  height: 1.5rem;
  left: 0;
}

.swiper-button-prev::after {
  display: none;
}

.swiper-button-next {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 1.5rem;
  height: 1.5rem;
  right: 0;
}

.swiper-button-next::after {
  display: none;
}

.reviews {
  padding: 6.25rem 0;
}

.reviews__title {
  color: #fff;
  text-align: center;
}

.reviews__title:not(:last-child) {
  margin-bottom: 2rem;
}

.reviews__wrapper {
  display: -ms-grid;
  display: grid;
  /* На десктопе 2 колонки читаются заметно лучше, чем 3 узких */
  -ms-grid-columns: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
  gap: 1.75rem;
}

/* Когда Swiper активирован (и на мобилке, и на десктопе) — отдаём управление ему */
.reviews__slider.swiper-initialized .reviews__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0;
}

@media (min-width: 75em) {
  /* На очень широких экранах можно вернуть 3 колонки */
  .reviews__wrapper {
    -ms-grid-columns: 1fr 1fr 1fr;
    grid-template-columns: 1fr 1fr 1fr;
  }
}

.reviews__slide {
  padding: 2rem;
  background: linear-gradient(180deg, #303131 0%, #011614 100%) padding-box, linear-gradient(136deg, #fff 0%, #034c44 100%) border-box;
  border-radius: 0.75rem;
  border: 0.0625rem solid rgba(0, 0, 0, 0);
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.reviews__slide::before {
  content: "“";
  position: absolute;
  top: 0.75rem;
  right: 1rem;
  font-size: 3rem;
  line-height: 1;
  color: rgba(1, 209, 188, 0.25);
  pointer-events: none;
}

.reviews__top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.25rem;
}

.reviews__top:not(:last-child) {
  margin-bottom: 1rem;
}

.reviews__icon {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 3.375rem;
  flex: 0 0 3.375rem;
  width: 3.375rem;
  height: 3.375rem;
}

.reviews__icon svg {
  width: 100%;
}

.reviews__content {
  display: -ms-grid;
  display: grid;
  gap: 0.25rem;
}

.reviews__caption {
  font-weight: 600;
  line-height: 100%;
  font-size: 1.125rem;
  color: #fff;
}

.reviews__stars {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.4375rem;
}

/* Даты убрали из отзывов */
.reviews__date {
  display: none !important;
}

.reviews__text {
  font-size: 0.95rem;
  line-height: 155%;
  color: rgba(255, 255, 255, 0.9);
}

.reviews__text p {
  margin: 0;
}

.reviews__text p + p {
  margin-top: 0.6rem;
}

.reviews .swiper-button-prev {
  display: none;
}

.reviews .swiper-button-next {
  display: none;
}

/* На десктопе тоже показываем стрелки, но только когда Swiper реально инициализирован */
.reviews__slider.swiper-initialized ~ .swiper-button-prev,
.reviews__slider.swiper-initialized ~ .swiper-button-next {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

/* Пагинация отзывов (на десктопе) */
.reviews__pagination {
  display: none;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
  margin-top: 1.25rem;
}

.reviews__slider .reviews__pagination.swiper-pagination {
  position: static;
}

.reviews__pagination .swiper-pagination-bullet {
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 0.5rem;
  opacity: 1;
  background: rgba(1, 209, 188, 0.16);
  color: rgba(255, 255, 255, 0.85);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 0.9rem;
  font-weight: 600;
  border: 1px solid rgba(255, 255, 255, 0.12);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
}

.reviews__pagination .swiper-pagination-bullet-active {
  background: rgba(1, 209, 188, 0.32);
  border-color: rgba(1, 209, 188, 0.55);
  color: #fff;
}

@media (min-width: 768px) {
  .reviews__pagination { display: -webkit-box; display: -ms-flexbox; display: flex; }
}


.reviews__link {
  display: none;
}

.faq {
  padding: 6.25rem 0;
}

.faq__title {
  font-size: 3rem;
  color: #fff;
}

.faq__title:not(:last-child) {
  margin-bottom: 2.3125rem;
}

.order {
  padding-top: 6.25rem;
  padding-bottom: 12.5rem;
}

.order__container {
  position: relative;
}

.popup__row {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.popup__checkbox {
  width: 1rem;
  flex: 0 0 1rem;
  height: 1rem;
}

.popup__label-text {
  font-size: 0.6rem;
  line-height: 1;
  cursor: pointer;
  color: #000;
}



.order__row {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.order__checkbox {
  width: 1.25rem;
  flex: 0 0 1.25rem;
  height: 1.25rem;
}

.order__label-text {
  font-size: 0.875rem;
  line-height: 1;
  cursor: pointer;
}

.order__decor1 {
  position: absolute;
  top: 0;
  right: 0;
}

.order__decor2 {
  position: absolute;
  top: 1.25rem;
  right: -3.125rem;
}

.order__decor3 {
  position: absolute;
  top: 12.5rem;
  right: 0;
}

.order__title {
  color: #fff;
}

.order__title:not(:last-child) {
  margin-bottom: 1rem;
}

.order__sub-title {
  font-size: 1.5rem;
  line-height: 100%;
  color: #eaeaea;
  max-width: 43.75rem;
}

.order__sub-title:not(:last-child) {
  margin-bottom: 5.25rem;
}

.order__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 1.25rem;
  max-width: 50.625rem;
  position: relative;
  z-index: 2;
}

.order__content {
  max-width: 23.75rem;
}

.order__text {
  font-family: "Ruberoid", sans-serif;
  font-size: 1.5rem;
  line-height: 100%;
}

.order__text a {
  -webkit-transition: color .3s;
  transition: color .3s;
}

.order__text:not(:last-child) {
  margin-bottom: 1.5rem;
}

.order__links {
  display: -ms-grid;
  display: grid;
  gap: 1rem;
  max-width: 16.125rem;
}

.order__link {
  min-height: 2.5rem;
}

.order__form {
  max-width: 16.125rem;
}

.order__label {
  line-height: 100%;
  color: #eaeaea;
  max-width: 13.75rem;
}

.order__label:not(:last-child) {
  margin-bottom: 1.75rem;
}

.order__input {
  background-color: #fff;
  border-radius: 0.5rem;
  text-align: center;
  color: #000;
  height: 2.5rem;
  padding: 0 0.9375rem;
  font-weight: 600;
  font-size: 1.125rem;
  line-height: 90%;
  width: 100%;
  -webkit-transition: border .3s;
  transition: border .3s;
  border: 0.0625rem solid rgba(0, 0, 0, 0);
}

.order__input:focus {
  border: 0.0625rem solid #5de2d4;
}

.order__input:not(:last-child) {
  margin-bottom: 1rem;
}

.order__input::-webkit-input-placeholder {
  color: #c9c9c9;
}

.order__input::-moz-placeholder {
  color: #c9c9c9;
}

.order__input:-ms-input-placeholder {
  color: #c9c9c9;
}

.order__input::-ms-input-placeholder {
  color: #c9c9c9;
}

.order__input::placeholder {
  color: #c9c9c9;
}

.order__submit {
  min-height: 2.5rem;
}

.footer {
  padding: 3rem 0;
}

.footer__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3.9375rem;
}

.footer__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 0.625rem;
  max-width: 15.3125rem;
  width: 100%;
}

.footer__title {
  font-weight: 600;
  line-height: 100%;
}

.footer__text {
  line-height: 100%;
}

.footer__block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 0.625rem;
  max-width: 13.75rem;
  width: 100%;
}

.footer__column {
  max-width: 11.375rem;
  width: 100%;
}

.footer__link {
  -webkit-transition: color .3s;
  transition: color .3s;
}

.footer__social {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.375rem;
}

.footer__item-social {
  -webkit-transition: -webkit-transform .3s;
  transition: -webkit-transform .3s;
  transition: transform .3s;
  transition: transform .3s, -webkit-transform .3s;
  will-change: transform;
}

body::after {
  content: "";
  background-color: rgba(0, 0, 0, .5);
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  opacity: 0;
  -webkit-transition: opacity .8s ease 0s;
  transition: opacity .8s ease 0s;
  pointer-events: none;
  z-index: 149;
}

.popup-show body::after {
  opacity: 1;
}

.popup {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  padding: 1.875rem 0.625rem;
  -webkit-transition: visibility .8s ease 0s;
  transition: visibility .8s ease 0s;
  visibility: hidden;
  pointer-events: none;
}

.popup_show {
  z-index: 150;
  visibility: visible;
  overflow: auto;
  pointer-events: auto;
}

.popup_show .popup__content {
  visibility: visible;
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
}

.popup__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  min-height: 100%;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  width: 100%;
}

.popup__content {
  visibility: hidden;
  -webkit-transform: scale(0);
  -ms-transform: scale(0);
  transform: scale(0);
  -webkit-transition: -webkit-transform .3s ease 0s;
  transition: -webkit-transform .3s ease 0s;
  transition: transform .3s ease 0s;
  transition: transform .3s ease 0s, -webkit-transform .3s ease 0s;
  background: #fff;
  padding: 2rem 6.25rem;
  width: 100%;
  max-width: 50rem;
  border-radius: 0.5rem;
}

.lock .popup__content {
  visibility: visible;
}

.popup__close {
  position: absolute;
  cursor: pointer;
  top: 0.5rem;
  right: 0.7rem;
  width: 1.25rem;
  height: 1.25rem;
  background: rgba(0, 0, 0, 0);
  -webkit-transition: -webkit-transform .3s ease 0s;
  transition: -webkit-transform .3s ease 0s;
  transition: transform .3s ease 0s;
  transition: transform .3s ease 0s, -webkit-transform .3s ease 0s;
  will-change: transform;
}

.popup__close::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  height: 0.15rem;
  width: 100%;
  background: #000;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  border-radius: 1.875rem;
}

.popup__close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  height: 0.15rem;
  width: 100%;
  background: #000;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  border-radius: 1.875rem;
}

.popup__title {
  font-family: "Ruberoid", sans-serif;
  font-size: 1.875rem;
  color: #000;
  line-height: 1;
}

.popup__title:not(:last-child) {
  margin-bottom: 1.875rem;
}

.popup__form {
  display: -ms-grid;
  display: grid;
  gap: 1rem;
}

.popup__input {
  border-radius: 10px;
  border: 1px solid #ddd;
  background-color: #fff;
  border-radius: 0.5rem;
  color: #000;
  height: 3rem;
  padding: 0 0.9375rem;
  font-size: 1rem;
  line-height: 90%;
  width: 100%;
  -webkit-transition: border .3s;
  transition: border .3s;
  padding: 15px 16px 16px 56px;
}

.popup__input_name {
  background: url('../img/user.svg') 1rem center no-repeat;
}

.popup__input_tel {
  background: url('../img/call.svg') 1rem center no-repeat;
}

.popup__input_email {
  background: url('../img/sms.svg') 1rem center no-repeat;
}

.popup__input:focus {
  border: 0.0625rem solid #000;
}

.popup__input::-webkit-input-placeholder {
  color: #ddd;
}

.popup__input::-moz-placeholder {
  color: #ddd;
}

.popup__input:-ms-input-placeholder {
  color: #ddd;
}

.popup__input::-ms-input-placeholder {
  color: #ddd;
}

.popup__input::placeholder {
  color: #ddd;
}

.popup__submit {
  min-height: 2.5rem;
  width: 100%;
  max-width: 15rem;
  font-size: 0.9rem;
}

.popup__top {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  width: 100%;
}

.popup__item {}

.popup__input {}

.popup__textarea {
  border-radius: 10px;
  border: 1px solid #ddd;
  background-color: #fff;
  border-radius: 0.5rem;
  color: #000;
  height: 3rem;
  padding: 0 0.9375rem;
  font-size: 1rem;
  line-height: 90%;
  width: 100%;
  -webkit-transition: border .3s;
  transition: border .3s;
  padding: 15px 20px;
  resize: none;
  height: 12rem;
}

.popup__textarea::placeholder {
  color: #ddd;
}

.popup__textarea:focus {
  border: 0.0625rem solid #000;
}

.popup__file {
  width: 100%;
  padding: 15px;
  border-radius: 10px;
  border: 1px solid #ddd;
  color: #212529;
  font-size: 0.9rem;
  cursor: pointer;
}

.popup__info {
  color: #000;
  font-size: 0.6rem;
}

.spollers {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: start;
  gap: 1rem;
}

.spollers__column {
  display: -ms-grid;
  display: grid;
  gap: 1rem;
}

.spollers__title {
  cursor: pointer;
  width: 100%;
  text-align: left;
  padding: 0.3125rem 2rem;
  border-radius: 0.5rem;
  position: relative;
  min-height: 5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-transition: all .5s;
  transition: all .5s;
  gap: 1.5rem;
  background: linear-gradient(149deg, #034c44 0%, #000 50%, #034c44 100%) padding-box, linear-gradient(149deg, #FFFFFF 0%, #006B60 100%) border-box;
  border: 0.0625rem solid rgba(0, 0, 0, 0);
}

.spollers__title._spoller-active {
  background: linear-gradient(270deg, #00a392 0%, #003d37 50%, #00a392 100%) padding-box, linear-gradient(149deg, #FFFFFF 0%, #006B60 100%) border-box;
}

.spollers__body {
  border-radius: 0.5rem;
  padding: 1.125rem 2rem;
  background: linear-gradient(149deg, #000 0%, #000 100%) padding-box, linear-gradient(149deg, #FFFFFF 0%, #C9C9C9 100%) border-box;
  border: 0.0625rem solid rgba(0, 0, 0, 0);
}

.spollers__value {
  font-weight: 600;
  line-height: 100%;
  width: 100%;
}

.spollers__arrow {
  background: linear-gradient(316deg, #034c44 0%, #07b2a1 100%) padding-box, linear-gradient(130deg, #034C44 0%, #fff 45%, #034C44 100%) border-box;
  border: 0.0625rem solid rgba(0, 0, 0, 0);
  -webkit-box-shadow: 0 0.25rem 0.25rem 0 rgba(0, 0, 0, .25);
  box-shadow: 0 0.25rem 0.25rem 0 rgba(0, 0, 0, .25);
  -webkit-box-flex: 0;
  -ms-flex: 0 0 3rem;
  flex: 0 0 3rem;
  width: 3rem;
  height: 3rem;
  border-radius: 0.25rem;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-transition: all .5s;
  transition: all .5s;
}

._spoller-active .spollers__arrow {
  background: linear-gradient(316deg, #737373 0%, #fff 100%) padding-box, linear-gradient(130deg, #fff 0%, #C9C9C9 100%) border-box;
}

.spollers__arrow::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(90deg);
  -ms-transform: translate(-50%, -50%) rotate(90deg);
  transform: translate(-50%, -50%) rotate(90deg);
  -webkit-box-shadow: 0 0.25rem 0.25rem 0 rgba(0, 0, 0, .25);
  box-shadow: 0 0.25rem 0.25rem 0 rgba(0, 0, 0, .25);
  background: #fff;
  width: 1.5625rem;
  height: 0.375rem;
  border-radius: 0.125rem;
  -webkit-transition: -webkit-transform .5s;
  transition: -webkit-transform .5s;
  transition: transform .5s;
  transition: transform .5s, -webkit-transform .5s;
}

._spoller-active .spollers__arrow::before {
  -webkit-transform: translate(-50%, -50%) rotate(180deg);
  -ms-transform: translate(-50%, -50%) rotate(180deg);
  transform: translate(-50%, -50%) rotate(180deg);
}

.spollers__arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -webkit-box-shadow: 0 0.25rem 0.25rem 0 rgba(0, 0, 0, .25);
  box-shadow: 0 0.25rem 0.25rem 0 rgba(0, 0, 0, .25);
  background: #fff;
  width: 1.5625rem;
  height: 0.375rem;
  border-radius: 0.125rem;
}

.spollers__block:not(:last-child) {
  margin-bottom: 0.625rem;
}

.spollers__caption {
  font-weight: 600;
  font-size: 0.875rem;
  line-height: 100%;
}

.spollers__caption:not(:last-child) {
  margin-bottom: 0.3125rem;
}

.spollers__list {
  padding-left: 1.25rem;
}

.spollers__list ul {
  padding-left: 1.25rem;
}

.spollers__list li {
  list-style-type: disc;
}

.spollers__box {
  list-style-type: disc;
  line-height: 100%;
  font-size: 0.75rem;
  color: #c9c9c9;
}

.spollers__text {
  line-height: 100%;
  font-size: 0.875rem;
  color: #c9c9c9;
}

@media (max-width: 81.25rem) {
  .works__wrap .swiper-button-prev {
    left: -1.25rem;
    top: calc(50% + 0.5rem);
  }

  .works__wrap .swiper-button-next {
    right: -1.25rem;
    top: calc(50% + 0.5rem);
  }

  .stages__text::before {
    background: linear-gradient(90deg, #00100f 3%, #00a392 24.5%, #006b60 49%, #01d1bc 74.85%, #000 100%);
  }
}

@media (max-width: 71rem) {


  .works__title {
    margin-bottom: 2rem;
    text-align: center;
  }

  .works__title_pc {
    display: none;
  }

  .works__title_mobile {
    display: block;
  }
}

@media (max-width: 61.99875rem) {
  .hero {
    padding-top: 10rem;
    padding-bottom: 3.75em;
  }

  .hero__content {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 64.3382352941%;
    flex: 0 0 64.3382352941%;
  }

  .hero__title {
    font-size: 5.5625rem;
  }

  .hero__title:not(:last-child) {
    margin-bottom: 1rem;
  }

  .hero__text:not(:last-child) {
    margin-bottom: 2.25rem;
  }

  .hero__row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 2.25rem;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }

  .services {
    padding: 3.75rem 0;
  }

  .services__body {
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
  }

  .stages {
    padding: 3.75rem 0;
  }

  .stages__row2 {
    max-width: 82.7205882353%;
    -webkit-transform: translate(0rem, 0rem);
    -ms-transform: translate(0rem, 0rem);
    transform: translate(0rem, 0rem);
  }

  .stages__text {
    padding: 0.625rem 0rem 0.625rem 1.25rem;
    font-size: 1.125rem;
  }

  .works {
    padding: 3.75rem 0;
  }

  .reviews {
    padding: 3.75rem 0;
  }

  .reviews__wrapper {
    gap: 1.25rem;
  }

  .reviews__slide {
    padding: 1.5rem 1.6875rem;
  }

  .reviews__top {
    gap: 1rem;
  }

  .reviews__icon {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 3.125rem;
    flex: 0 0 3.125rem;
    height: 3.125rem;
    width: 3.125rem;
  }

  .reviews__caption {
    font-size: 0.875rem;
  }

  .reviews__stars {
    gap: 0.3125rem;
  }

  .faq {
    padding: 3.75rem 0;
  }

  .order {
    padding-top: 3.75rem;
    padding-bottom: 6.25rem;
  }

  .order__decor1 {
    display: none;
  }

  .order__decor2 {
    display: none;
  }

  .order__decor3 {
    display: none;
  }

  .footer__container {
    gap: 2.5rem;
  }

  .spollers {
    gap: 0.625rem;
  }

  .spollers__title {
    padding: 0.3125rem 0.9375rem;
  }

  .spollers__body {
    padding: 1.125rem 0.9375rem;
  }
}

@media (max-width: 47.99875rem) {
  .order__row {
    margin-bottom: 0.5rem;
  }

  .order__label-text {
    font-size: 0.7rem;
  }

  .order__checkbox {
    flex: 0 0 0.9375;
    width: 0.9375;
    height: 0.9375;
  }

  .popup__row {
    margin-bottom: 0.5rem;
  }

  .popup__checkbox {
    flex: 0 0 0.9375;
    width: 0.9375;
    height: 0.9375;
  }

  .popup__label-text {
    font-size: 0.7rem;
  }

  .link {
    font-size: 0.75rem;
  }

  .title span {
    font-size: 0.75rem;
  }

  .title {
    font-size: 2.5rem;
  }

  .menu {
    overflow: auto;
    background: linear-gradient(90deg, #00ffcc, #00ccff);
    position: fixed;
    left: -100%;
    top: 0;
    width: 100%;
    height: 100%;
    padding: 5rem 0.9375rem 2.5rem 0.9375rem;
    text-align: center;
    -webkit-transition: left .5s ease;
    transition: left .5s ease;
  }

  .menu-open .menu {
    left: 0;
  }

  .menu__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 3.125rem 1.25rem;
  }

  .menu__link {
    font-size: 1.5rem;
  }

  .burger-menu {
    display: block;
    width: 1.5rem;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 46px;
    flex: 0 0 46px;
    height: 0.875rem;
    position: relative;
    z-index: 8;
  }

  .burger-menu::before,
  .burger-menu::after,
  .burger-menu span {
    display: block;
    position: absolute;
    height: 0.125rem;
    width: 100%;
    background: -webkit-gradient(linear, left top, right top, color-stop(25%, #01d1bc), to(#fff));
    background: linear-gradient(90deg, #01d1bc 25%, #fff 100%);
    -webkit-transition: all .5s;
    transition: all .5s;
    border-radius: 1.25rem;
    left: 0;
  }

  .burger-menu::before {
    content: "";
    top: 0;
  }

  .burger-menu::after {
    content: "";
    bottom: 0;
  }

  .burger-menu span:first-child {
    top: 0.25rem;
  }

  .burger-menu span:last-child {
    top: 0.5rem;
  }

  .header::before {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: -100%;
    -webkit-transition: left .5s ease 0s;
    transition: left .5s ease 0s;
    background-color: #000;
    z-index: 7;
  }

  .menu-open .header::before {
    left: 0;
  }

  .header__container::after {
    width: 100%;
    background: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(40.5%, #01D1BC), color-stop(68%, white), to(#006B60));
    background: linear-gradient(to right, transparent, #01D1BC 40.5%, white 68%, #006B60);
    -webkit-transform: rotate(-180deg);
    -ms-transform: rotate(-180deg);
    transform: rotate(-180deg);
  }

  .header__container {
    padding-top: 1.5625rem;
    padding-bottom: 0.625rem;
  }

  ._header-scroll .header__container {
    padding-top: 0.6rem;
    padding-bottom: 0.6rem;
  }

  .hero {
    padding-top: 50rem;
  min-height: 100vh;
  padding-bottom: 6.25rem;
  }

  .hero__container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }

  .hero__content {
    -ms-flex-preferred-size: auto;
    flex-basis: auto;
    text-align: center;
  }

  .hero__title {
    font-size: 3.5rem;
  }

  .hero__text {
    font-size: 0.75rem;
  }

  .hero__row {
    gap: 4rem;
  }

  .hero__list {
    gap: 0.5rem;
  }

  .hero__item {
    font-size: 0.75rem;
  }

  .hero__link {
    -ms-flex-item-align: center;
    -ms-grid-row-align: center;
    align-self: center;
    min-height: 2rem;
    max-width: 12.75rem;
  }

  .hero__image {
    display: none;
  }

  .services {
    padding: 2.25rem 0;
  }

  .services__body {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 0;
  }

  .services__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 2rem;
    flex-direction: column;
  align-items: flex-start;
  text-align: left;
}


  .services__content:not(:last-child) {
    margin-bottom: 1.5rem;
  }

  .services__title:not(:last-child) {
    margin-bottom: 0;
  }

  .services__text {
    font-size: 0.625rem;
  }

  .services__item {
    background: linear-gradient(149deg, #034c44 0%, #000 50%, #034c44 100%) padding-box, linear-gradient(to left, #fff, #006B60) border-box;
    border-radius: 0.5rem;
    border: 0.0625rem solid rgba(0, 0, 0, 0);
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center;
    padding: 0.625rem 1.25rem;
    min-height: 2.5rem;
  }

  .services__item:not(:last-child) {
    margin-bottom: 0.5rem;
  }

  .services__icon {
    display: none;
  }

  .services__caption {
    min-height: auto;
    font-size: 0.75rem;
  }

  .services__caption br {
    display: none;
  }

  .services__caption span {
    display: none;
  }

  .services__caption:not(:last-child) {
    margin-bottom: 0;
  }

  .services__list {
    display: none;
  }

  .services__link {
    display: none;
  }

  .stages {
    padding: 2.25rem 0;
  }

  .stages__title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .stages__title:not(:last-child) {
    margin-bottom: 0.5rem;
  }

  .stages__sub-title {
    font-size: 0.75rem;
    max-width: 15.625rem;
  }

  .stages__sub-title:not(:last-child) {
    margin-bottom: 1.5rem;
  }

  .stages__body:not(:last-child) {
    margin-bottom: 2.625rem;
  }

  .stages__body_mobile {
    display: -ms-grid;
    display: grid;
    gap: 1.5rem;
  }

  .stages__body_pc {
    display: none;
  }

  .stages__row {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .stages__row .stages__item:nth-child(1) .stages__box {
    font-size: 0.625rem;
  }

  .stages__row::after {
    display: none;
  }

  .stages__row2 {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 1.5rem;
    max-width: 100%;
  }

  .stages__content {
    padding: 0.5rem 0;
  }

  .stages__content::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 0.125rem;
    background: -webkit-gradient(linear, left top, right top, from(#01D1BC), color-stop(43%, white), color-stop(66%, #006B60), to(transparent));
    background: linear-gradient(to right, #01D1BC, white 43%, #006B60 66%, transparent);
  }

  .stages__content::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 0.125rem;
    background: -webkit-gradient(linear, left top, right top, from(#01D1BC), color-stop(43%, white), color-stop(66%, #006B60), to(transparent));
    background: linear-gradient(to right, #01D1BC, white 43%, #006B60 66%, transparent);
  }

  .stages__item {
    padding-left: 0;
    padding-bottom: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 1.625rem;
  }

  .stages__row2 .stages__item {
    padding-top: 0;
  }

  .stages__item::before {
    display: none;
  }

  .stages__value {
    position: static;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 1.75rem;
    flex: 0 0 1.75rem;
  }

  .stages__caption {
    font-size: 0.875rem;
  }

  .stages__caption:not(:last-child) {
    margin-bottom: 0.5rem;
  }

  .stages__list {
    gap: 0.625rem;
  }

  .stages__bottom {
    display: none;
  }

  .stages__link {
    max-width: 12.75rem;
    min-height: 2rem;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }

  .works {
    padding: 2.25rem 0;
  }

  .works__block {
    display: none;
  }

  .works__title {
    margin-bottom: 1.5rem;
    font-size: 2rem;
  }

  .works__item:first-child {
    border: none;
    background: linear-gradient(135deg, #01534B 0%, #002C28 100%);
  }

  .works__items {
    padding: 0 1.6875rem;
  }

  .works__item {
    height: auto;
    aspect-ratio: 258/207;
  }

  .works__wrap .swiper-button-prev {
    left: 0;
  }

  .works__wrap .swiper-button-next {
    right: 0;
  }

  .reviews {
    padding: 2.25rem 0;
  }

  .reviews__title:not(:last-child) {
    margin-bottom: 1.4375rem;
  }

  .reviews__title {
    font-size: 2rem;
  }

  .reviews__slider {
    padding: 0 1.6875rem;
  }

  .reviews__slider:not(:last-child) {
    margin-bottom: 2.5625rem;
  }

  .reviews__wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0;
  }

  .reviews__slide {
    height: auto;
  }

  .reviews .swiper-button-prev {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }

  .reviews .swiper-button-next {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }

  .reviews__link {
    max-width: 12.75rem;
    min-height: 2rem;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }

  .faq {
    padding: 2.25rem 0;
  }

  .faq__title:not(:last-child) {
    margin-bottom: 1.5rem;
  }

  .faq__title {
    font-size: 1.625rem;
  }

  .order {
    padding-top: 2.25rem;
    padding-bottom: 1.625rem;
  }

  .order__title {
    font-size: 2rem;
  }

  .order__title:not(:last-child) {
    margin-bottom: 0.5rem;
  }

  .order__sub-title {
    font-size: 0.75rem;
    max-width: 17.5rem;
  }

  .order__sub-title:not(:last-child) {
    margin-bottom: 2rem;
  }

  .order__body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 1.5rem;
    padding: 0 1.6875rem;
  }

  .order__content {
    max-width: 100%;
  }

  .order__text {
    font-size: 1rem;
    margin-left: -1.6875rem;
  }

  .order__links {
    gap: 0.5rem;
    max-width: 100%;
  }

  .order__link {
    height: 2rem;
  }

  .order__form {
    max-width: 100%;
  }

  .order__label {
    font-size: 0.75rem;
    max-width: 10.625rem;
    margin-right: auto;
    margin-left: auto;
    text-align: center;
  }

  .order__label:not(:last-child) {
    margin-bottom: 1rem;
  }

  .order__input {
    font-size: 0.75rem;
    height: 2rem;
  }

  .order__input:not(:last-child) {
    margin-bottom: 0.5rem;
  }

  .order__submit {
    min-height: 2rem;
  }

  .footer {
    padding-top: 1.625rem;
    padding-bottom: 2.625rem;
  }

  .footer__container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 1rem;
  }

  .footer__title {
    font-size: 0.75rem;
  }

  .footer__text {
    font-size: 0.75rem;
    max-width: 11.5625rem;
  }

  .footer__column {
    display: -ms-grid;
    display: grid;
    gap: 0.625rem;
  }

  .footer__link {
    font-size: 0.75rem;
  }

  .popup__submit {
    max-width: 100%;
  }

  .popup__content {
    padding: 1.5rem 1rem;
  }

  .popup__top {
    grid-template-columns: 1fr;
  }

  .spollers {
    gap: 0.25rem;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }

  .spollers__column {
    gap: 0.25rem;
  }

  .spollers__title {
    min-height: 3rem;
    gap: 0.9375rem;
    font-size: 0.625rem;
  }

  .spollers__arrow {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 2.25rem;
    flex: 0 0 2.25rem;
    width: 2.25rem;
    height: 2.25rem;
  }

  .spollers__arrow::before {
    width: 1.125rem;
    height: 0.25rem;
  }

  .spollers__arrow::after {
    width: 1.125rem;
    height: 0.25rem;
  }

  .spollers__box {
    font-size: 0.625rem;
  }

  .spollers__text {
    font-size: 0.625rem;
  }
}

/* ==============================
   Mobile hero hotfix (Главная)
   Чинит: съехавший заголовок/кнопки на мобильных.
   Важно: это точечные override-правила поверх текущей темы.
   ============================== */
@media (max-width: 47.99875rem) {
  /* Убираем огромный отступ сверху, из-за которого контент уезжает */
  .hero {
    padding-top: 7.5rem !important;
    padding-bottom: 3.5rem !important;
    min-height: 100vh;
  }

  /* Заголовок: меньше и без "залезания" под шапку */
  .hero__title {
    font-size: 2.75rem !important;
    line-height: 1.0 !important;
    margin-bottom: 1rem !important;
  }

  /* Текст: читаемый размер и межстрочный интервал */
  .hero__text {
    font-size: 0.95rem !important;
    line-height: 1.35 !important;
    max-width: 32rem;
    margin-left: auto;
    margin-right: auto;
  }

  .hero__text:not(:last-child) {
    margin-bottom: 1.5rem !important;
  }

  /* Список преимуществ: аккуратно и по центру блока */
  .hero__list {
    text-align: left;
    max-width: 22rem;
    margin: 0 auto;
    gap: 0.65rem !important;
  }

  .hero__item {
    font-size: 0.95rem !important;
    line-height: 1.2 !important;
  }

  /* Кнопки: одинаковая ширина и нормальная высота */
  .hero__row {
    gap: 1.25rem !important;
    align-items: center !important;
  }

  .hero__link {
    max-width: 22rem !important;
    width: 100% !important;
    min-height: 3.25rem !important;
  }

  .hero__link.link {
    font-size: 0.95rem !important;
    padding: 0.75rem 1rem !important;
    line-height: 1.15 !important;
  }
}

@media (any-hover: hover) {
  .button:hover {
    background: #3cdbcb url('../img/call.svg') center no-repeat;
  }

  .works__item img:hover {
    transform: translate(-50%, -50%) scale(1.05);
  }

  .link:hover {
    background-position: 100% 100%;
  }

  .menu__link:hover {
    color: #5de2d4;
  }

  .order__text a:hover {
    color: #5de2d4;
  }

  .footer__link:hover {
    color: #5de2d4;
  }

  .footer__item-social:hover {
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
  }

  .popup__close:hover {
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
  }
}
/* === Настройки логотипа в шапке (десктоп) === */
.header__container {
  display: flex;
  align-items: center;
  justify-content: flex-start; /* элементы идут слева направо */
}
.header__menu {
  flex: 0 0 auto;       /* больше не занимает всё пространство */
  margin-left: 1rem;    /* отступ сразу после логотипа */
}


.header__logo img {
  height: 3.0rem;             /* подберите нужную высоту логотипа */
  width: auto;
  display: block;
}

/* === Правки для мобильной версии (max-width: 768px) === */
@media (max-width: 768px) {
  .header__container {
    justify-content: space-between; /* распихиваем первый и последний элемент по краям */
  }

  .header__menu {
    /* прячем меню */
    display: none !important;
    /* сбрасываем отступ от лого */
    margin-left: 0 !important;
    flex: 0 0 auto !important;
  }

  .header__burger {
    /* показываем бургер и убираем автособирание влево */
    display: block !important;
    margin-left: 0 !important;
  }
  /* Герой-блок: центрируем контент и картинку */
  .hero {
    min-height: calc(100vh - var(--header-height, 60px));
    display: flex;
    align-items: center;
    padding-top: 0; /* если было дублирование */
  }

  .hero__container {
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }

  .hero__image {
    order: 1;
    width: 80%;
    max-width: 300px;
    margin-bottom: 2rem;
  }

  .hero__content {
    order: 2;
    width: 100%;
    text-align: center;
    margin-bottom: 2rem;
  }
}


/* ==========================================================
   Everyprint: улучшение читаемости контентных страниц + калькулятор
   (добавлено в конец style.css, не влияет на главную)
   ========================================================== */

/* Контентные страницы: повесь на <main> класс ep-page, а на обёртку текста ep-prose */
.ep-page {
  padding-top: 9.5rem; /* чтобы контент не прятался под фиксированной шапкой */
  padding-bottom: 4rem;
}

@media (max-width: 48rem) {
  .ep-page { padding-top: 8.25rem; }
}

.ep-page__container {}

/* Текстовый контент */
.ep-prose {
  max-width: 58rem;
  margin: 0 auto;
  line-height: 1.7;
  font-size: 1rem;
}

.ep-prose h1 {
  font-size: 2rem;
  line-height: 1.15;
  margin: 0 0 1rem;
}

.ep-prose h2 {
  font-size: 1.5rem;
  line-height: 1.2;
  margin: 2rem 0 0.75rem;
}

.ep-prose h3 {
  font-size: 1.2rem;
  line-height: 1.25;
  margin: 1.5rem 0 0.5rem;
}

.ep-prose p { margin: 0.75rem 0; color: rgba(255,255,255,0.92); }

.ep-prose ul,
.ep-prose ol { margin: 0.75rem 0 0.75rem 1.25rem; }

.ep-prose li { margin: 0.35rem 0; list-style: disc; }

.ep-prose a {
  color: #8efff4;
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

/* Кнопки внутри .ep-prose не должны выглядеть как обычные ссылки */
.ep-prose a.link,
.ep-prose a.ep-btn,
.ep-prose button.ep-btn {
  text-decoration: none !important;
}

.ep-prose a.link { color: #00110f; }
.ep-prose a.link:hover,
.ep-prose a.ep-btn:hover { text-decoration: none !important; }


.ep-prose a:hover { text-decoration-thickness: 2px; }

.ep-note {
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(255,255,255,0.06);
  border-radius: 0.75rem;
  padding: 1rem 1.1rem;
  margin: 1.25rem 0;
}

.ep-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin: 1.25rem 0 0;
}

@media (max-width: 64rem) {
  .ep-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 40rem) {
  .ep-grid { grid-template-columns: 1fr; }
}

.ep-card {
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.04);
  border-radius: 1rem;
  padding: 1rem;
  transition: transform .15s ease, border-color .15s ease, background .15s ease;
}

.ep-card:hover {
  transform: translateY(-2px);
  border-color: rgba(142,255,244,0.45);
  background: rgba(255,255,255,0.06);
}

/* Clickable card as link */
.ep-cardlink{
  display:block;
  color:inherit;
  text-decoration:none;
}
.ep-cardlink:hover{ text-decoration:none; }
/* Accent cards (для важных блоков/пакетов) */
.ep-card--accent{
  border-color: rgba(0,255,204,0.28);
  background:
    radial-gradient(700px 260px at 0% 0%, rgba(0,255,204,0.18), transparent 60%),
    radial-gradient(700px 260px at 100% 10%, rgba(0,204,255,0.14), transparent 55%),
    rgba(255,255,255,0.04);
}
.ep-card--accent:hover{
  border-color: rgba(0,255,204,0.45);
  background:
    radial-gradient(700px 260px at 0% 0%, rgba(0,255,204,0.20), transparent 60%),
    radial-gradient(700px 260px at 100% 10%, rgba(0,204,255,0.16), transparent 55%),
    rgba(255,255,255,0.06);
}


.ep-card__title { font-weight: 700; font-size: 1.05rem; margin: 0 0 0.35rem; }
.ep-card__text { color: rgba(255,255,255,0.88); font-size: 0.95rem; margin: 0; }
.ep-card__meta { margin-top: 0.75rem; color: rgba(255,255,255,0.72); font-size: 0.85rem; }

/* Media inside cards (cases, content pages) */
.ep-card--media{ padding: .8rem; }
.ep-media{ width:100%; height:auto; display:block; border-radius: 1rem; }


/* Хлебные крошки */
.ep-breadcrumbs {
  max-width: 58rem;
  margin: 0 auto 1.25rem;
  color: rgba(255,255,255,0.72);
  font-size: 0.85rem;
}
.ep-breadcrumbs a { color: rgba(255,255,255,0.86); text-decoration: none; }
.ep-breadcrumbs a:hover { text-decoration: underline; }

/* ===== Калькулятор ===== */
.ep-calc {
  max-width: 58rem;
  margin: 0 auto;
}

.ep-calc__title {
  font-size: 2rem;
  line-height: 1.15;
  margin: 0 0 1rem;
}

.ep-calc__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.9rem 1rem;
  margin-top: 1rem;
}

@media (max-width: 48rem) {
  .ep-calc__grid { grid-template-columns: 1fr; }
}

.ep-field {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

.ep-field label {
  font-size: 0.9rem;
  color: rgba(255,255,255,0.86);
}

.ep-input,
.ep-select {
  width: 100%;
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(255,255,255,0.06);
  color: #fff;
  border-radius: 0.75rem;
  padding: 0.75rem 0.9rem;
  font-size: 1rem;
  outline: none;
}


.ep-select option{
  color: #111;
  background: #fff;
}
.ep-select option:disabled{
  color: rgba(17,17,17,0.55);
}
.ep-input:focus,
.ep-select:focus {
  border-color: rgba(142,255,244,0.55);
  box-shadow: 0 0 0 3px rgba(142,255,244,0.12);
}

.ep-help {
  color: rgba(255,255,255,0.68);
  font-size: 0.82rem;
  margin-top: 0.15rem;
}

.ep-calc__result {
  margin-top: 1.25rem;
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(255,255,255,0.05);
  border-radius: 1rem;
  padding: 1.1rem 1.1rem;
}

.ep-calc__total {
  font-size: 2rem;
  font-weight: 700;
  margin: 0.25rem 0 0.75rem;
}

.ep-kv {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0.5rem 1rem;
  font-size: 0.95rem;
  color: rgba(255,255,255,0.9);
}
.ep-kv div:nth-child(2n) { text-align: right; color: rgba(255,255,255,0.95); }

.ep-actions {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-top: 1rem;
}

.ep-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.85rem;
  color: rgba(255,255,255,0.8);
}



/* EP CONTENT TYPOGRAPHY — added 20251221_5 */

.ep-page__container {
  padding-top: 1.25rem;
  padding-bottom: 2.25rem;
}

.ep-prose {
  font-size: 1.02rem;
  line-height: 1.8;
}

.ep-prose h1 {
  font-size: clamp(1.6rem, 2.6vw, 2.15rem);
  line-height: 1.15;
  margin: 0 0 0.85rem;
}

.ep-prose h2 {
  font-size: 1.35rem;
  line-height: 1.25;
  margin: 1.6rem 0 0.65rem;
}

.ep-prose h3 {
  font-size: 1.15rem;
  line-height: 1.35;
  margin: 1.2rem 0 0.55rem;
}

.ep-prose p {
  margin: 0.75rem 0;
  color: rgba(255,255,255,0.92);
}

.ep-prose ul,
.ep-prose ol {
  margin: 0.75rem 0 0.9rem 1.1rem;
}

.ep-prose li { margin: 0.35rem 0; }

.ep-prose a {
  color: rgba(255,255,255,0.95);
  text-decoration: underline;
  text-decoration-color: rgba(255,255,255,0.35);
  text-underline-offset: 3px;
}
.ep-prose a:hover { text-decoration-color: rgba(255,255,255,0.75); }

.ep-prose code {
  padding: 0.1rem 0.35rem;
  border-radius: 0.4rem;
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(255,255,255,0.06);
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 0.95em;
}

.ep-prose blockquote {
  margin: 1rem 0;
  padding: 0.8rem 1rem;
  border-left: 3px solid rgba(255,255,255,0.35);
  background: rgba(255,255,255,0.04);
  border-radius: 0.75rem;
  color: rgba(255,255,255,0.86);
}

.ep-prose .ep-table {
  width: 100%;
  border-collapse: collapse;
  margin: 1rem 0;
  overflow: hidden;
  border-radius: 0.75rem;
  border: 1px solid rgba(255,255,255,0.15);
}
.ep-prose .ep-table th,
.ep-prose .ep-table td {
  padding: 0.7rem 0.75rem;
  border-bottom: 1px solid rgba(255,255,255,0.12);
  vertical-align: top;
}
.ep-prose .ep-table th {
  text-align: left;
  font-weight: 600;
  background: rgba(255,255,255,0.06);
}
.ep-prose .ep-table tr:last-child td { border-bottom: 0; }

.ep-prose .ep-kpi {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 0.75rem;
  margin: 1rem 0 1.25rem;
}
@media (max-width: 860px){
  .ep-prose .ep-kpi { grid-template-columns: 1fr; }
}
.ep-prose .ep-kpi__item{
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(255,255,255,0.05);
  border-radius: 0.9rem;
  padding: 0.85rem 0.95rem;
}
.ep-prose .ep-kpi__title{ font-size: 0.9rem; color: rgba(255,255,255,0.75); }
.ep-prose .ep-kpi__value{ font-size: 1.05rem; font-weight: 600; margin-top: 0.25rem; }

.ep-prose .ep-hr {
  height: 1px;
  background: rgba(255,255,255,0.12);
  border: 0;
  margin: 1.4rem 0;
}

.ep-grid {
  margin-top: 1.1rem;
}
.ep-card {
  display: block;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(255,255,255,0.05);
  border-radius: 1rem;
  padding: 1rem 1.05rem;
  transition: transform .15s ease, border-color .15s ease, background .15s ease;
}
.ep-card:hover {
  transform: translateY(-2px);
  border-color: rgba(255,255,255,0.28);
  background: rgba(255,255,255,0.07);
}
.ep-card__title { font-weight: 700; margin-bottom: 0.35rem; }
.ep-card__text { color: rgba(255,255,255,0.84); margin: 0 0 0.6rem; }
.ep-card__meta { color: rgba(255,255,255,0.68); font-size: 0.9rem; }

.ep-toc {
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(255,255,255,0.05);
  border-radius: 1rem;
  padding: 0.9rem 1rem;
  margin: 1rem 0 1.25rem;
}
.ep-toc__title { font-weight: 700; margin-bottom: 0.45rem; }
.ep-toc ul { margin: 0.35rem 0 0 1.1rem; }
.ep-toc a { text-decoration: none; border-bottom: 1px dashed rgba(255,255,255,0.35); }
.ep-toc a:hover { border-bottom-color: rgba(255,255,255,0.75); }
/* ===== FIX: mobile menu (doesn't break layout) ===== */
@media (max-width: 768px) {

  /* чтобы бургер точно нажимался */
  .icon-menu, .menu__icon, .header__icon, .header__menu-icon {
    position: relative;
    z-index: 10020;
    pointer-events: auto;
  }

  /* убираем чёрный прямоугольник/оверлей, который перекрывает верх */
  .header::before,
  .menu-open .header::before {
    display: none !important;
    content: none !important;
  }

  /* меню: делаем полноэкранную панель */
  .header__menu,
  nav.header__menu,
  .menu {
    display: block !important;          /* важно: перебивает display:none !important */
    position: fixed !important;
    top: 0; left: 0;
    width: 100vw;
    height: 100vh;
    height: 100dvh; /* iOS/современные браузеры: корректная высота видимой области */
    overflow-y: auto;
    background: rgba(0,0,0,0.98);
    padding: 88px 18px 22px;            /* отступ под шапку */
    z-index: 10010 !important;

    /* по умолчанию спрятано */
    transform: translateX(110%);
    transition: transform .25s ease;
  }

  /* при открытии */
  .menu-open .header__menu,
  .menu-open nav.header__menu,
  .menu-open .menu {
    transform: translateX(0);
  }

  /* пункты меню читаемые */
  .menu__link, .header__menu a:not(.ep-menu__mobile-cta), .menu a:not(.ep-menu__mobile-cta) {
    color: #fff;
    font-size: 18px;
  }

  .menu__list, .header__menu ul {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }

  /* блокируем прокрутку страницы, когда меню открыто */
  body.menu-open {
    overflow: hidden;
    touch-action: none;
  }

  /* чтобы первый экран не залезал под шапку */
  .main, .page, .wrapper, .hero, .first-screen {
    scroll-margin-top: 88px;
  }
}



/* === Everyprint: legal & cookies === */
.legal {
  padding-top: 110px;
  padding-bottom: 48px;
}
.legal h1 {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.2;
  margin: 0 0 18px;
}
.legal h2 {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin: 26px 0 12px;
}
.legal p,
.legal li {
  line-height: 1.65;
}
.legal ul,
.legal ol {
  padding-left: 22px;
}
.legal a {
  color: #8efff4;
  text-decoration: underline;
}
.legal__note {
  color: rgba(255, 255, 255, 0.7);
  font-size: 14px;
  margin: 0 0 14px;
}
.legal__box {
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: rgba(255, 255, 255, 0.05);
  border-radius: 16px;
  padding: 16px;
  margin: 14px 0;
}
.legal__placeholder {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px dashed rgba(255, 255, 255, 0.22);
  color: rgba(255, 255, 255, 0.9);
}

.ep-legal-links {
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  font-size: 14px;
}
.ep-legal-links a {
  color: rgba(255, 255, 255, 0.72);
  text-decoration: underline;
}
.ep-legal-links a:hover {
  color: #8efff4;
}

.ep-no-scroll {
  overflow: hidden;
}

.ep-cookie {
  position: fixed;
  left: 50%;
  right: auto;
  bottom: 10px;
  width: min(980px, calc(100% - 20px));
  transform: translateX(-50%);
  z-index: 9999;
}
.ep-cookie__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(0, 0, 0, 0.85);
  backdrop-filter: blur(10px);
}
.ep-cookie__text {
  font-size: 12px;
  line-height: 1.35;
  color: rgba(255, 255, 255, 0.92);
}
.ep-cookie__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}
.ep-cookie .ep-btn {
  min-height: 38px;
  padding: .62rem .82rem;
  font-size: .78rem;
  box-shadow: none;
}

.ep-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: 48px;
  border-radius: 999px;
  padding: 0.9rem 1.25rem;
  font-weight: 700;
  font-size: 1.05rem;
  line-height: 1.05;
  letter-spacing: 0.01em;
  cursor: pointer;
  text-decoration: none !important;
  border: 1px solid transparent;
  transition: transform .18s ease, filter .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
  box-shadow: 0 14px 34px rgba(0,0,0,0.35);
  -webkit-tap-highlight-color: transparent;
}

.ep-btn--primary {
  border: 0;
  color: #00110f;
  background: linear-gradient(90deg, #00ffcc, #00ccff);
}

.ep-btn--primary:hover {
  transform: translateY(-1px);
  filter: brightness(1.03);
}

.ep-btn--primary:active {
  transform: translateY(0);
  filter: brightness(0.98);
}

.ep-btn:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(0,255,204,0.28), 0 14px 34px rgba(0,0,0,0.35);
}

.ep-btn--ghost {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.18);
  color: rgba(255, 255, 255, 0.92);
  box-shadow: 0 14px 34px rgba(0,0,0,0.28);
}

.ep-btn--ghost:hover {
  background: rgba(255, 255, 255, 0.10);
  border-color: rgba(142,255,244,0.40);
  transform: translateY(-1px);
}

.ep-btn--ghost:active {
  transform: translateY(0);
  background: rgba(255, 255, 255, 0.08);
}


.ep-cookie-modal {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: none;
}
.ep-cookie-modal.is-open {
  display: block;
}
.ep-cookie-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
}
.ep-cookie-modal__dialog {
  position: relative;
  width: min(560px, calc(100% - 28px));
  margin: 70px auto 0;
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(0, 0, 0, 0.92);
  backdrop-filter: blur(12px);
  padding: 14px;
}
.ep-cookie-modal__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}
.ep-cookie-modal__title {
  font-size: 16px;
  font-weight: 700;
}
.ep-cookie-modal__close {
  width: 34px;
  height: 34px;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.06);
  color: rgba(255, 255, 255, 0.92);
  cursor: pointer;
}
.ep-cookie-modal__body {
  padding: 12px 2px;
  display: grid;
  gap: 10px;
}
.ep-cookie-opt {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-size: 14px;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.92);
}
.ep-cookie-opt input {
  margin-top: 4px;
}
.ep-cookie-modal__footer {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  padding-top: 10px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

@media (max-width: 640px) {
  .ep-cookie__inner {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    padding: 9px;
  }
  .ep-cookie__actions {
    display: grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap: 5px;
  }
  .ep-btn {
    width: 100%;
  }
  .ep-cookie-modal__dialog {
    margin-top: 40px;
  }
  .ep-cookie .ep-btn {
    min-width: 0;
    min-height: 36px;
    padding: .5rem .35rem;
    font-size: .68rem;
    white-space: normal;
  }
}


/* === Everyprint footer (shared include) === */
.ep-footer {
  padding: 3.25rem 0 1.25rem;
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(1200px 600px at 20% -10%, rgba(0, 255, 204, 0.10), transparent 60%),
    radial-gradient(900px 500px at 90% 120%, rgba(0, 204, 255, 0.08), transparent 55%),
    #0b0b0b;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.ep-footer::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 2px;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(0,255,204,0), rgba(0,255,204,0.6), rgba(0,204,255,0.6), rgba(0,204,255,0));
  opacity: 0.9;
}


.ep-footer a {
  color: rgba(255, 255, 255, 0.88);
  text-decoration: none;
}

.ep-footer a:hover {
  text-decoration: underline;
}


/* ===== Footer CTA (merged "How to order") ===== */
.ep-footer__pre{
  margin-bottom: 1.5rem;
}
.ep-footer__cta{
  display: grid;
  grid-template-columns: 1.35fr 1fr;
  gap: 1rem;
  padding: 1rem;
  border-radius: 22px;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.10);
  position: relative;
  overflow: hidden;
}
.ep-footer__kicker{
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.78);
  margin-bottom: 0.5rem;
}
.ep-footer__cta-title{
  font-size: 1.25rem;
  font-weight: 700;
  color: rgba(255,255,255,0.94);
  margin-bottom: 0.9rem;
}
.ep-footer__steps{
  display: grid;
  gap: 0.65rem;
  margin-bottom: 1rem;
}
.ep-footer__step{
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 0.75rem;
  align-items: start;
}
.ep-footer__step-n{
  width: 34px;
  height: 34px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  color: #000;
  background: linear-gradient(90deg, #00ffcc, #00ccff);
  box-shadow: 0 10px 22px rgba(0,0,0,0.35);
}
.ep-footer__step-t{
  font-size: 0.9rem;
  line-height: 1.35;
  color: rgba(255,255,255,0.84);
}
.ep-footer__cta-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.ep-footer__cta-side{
  position: relative;
  min-height: 100%;
}
@media (min-width: 56rem){
  .ep-footer__cta-side{ display:flex; align-items:flex-start; }
  .ep-footer__mini{ width:100%; }
}
.ep-footer__mini{
  position: relative;
  z-index: 2;
  padding: 1rem;
  border-radius: 18px;
  background: rgba(0,0,0,0.35);
  border: 1px solid rgba(255,255,255,0.12);
}
.ep-footer__mini-title{
  font-weight: 600;
  font-size: 1rem;
  color: rgba(255,255,255,0.96);
  margin-bottom: 0.35rem;
}
.ep-footer__mini-text{
  font-size: 0.88rem;
  line-height: 1.4;
  color: rgba(255,255,255,0.78);
  margin-bottom: 0.75rem;
}
.ep-footer__mini-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin-bottom: 0.75rem;
}
.ep-footer__callback-row{
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0.5rem;
  align-items: center;
}
.ep-footer__consent{
  display: grid;
  grid-template-columns: 16px 1fr;
  gap: 0.55rem;
  align-items: start;
  margin-top: 0.6rem;
  font-size: 0.75rem;
  line-height: 1.35;
  color: rgba(255,255,255,0.76);
}
.ep-footer__consent a{ color: rgba(255,255,255,0.92); text-decoration: underline; }
.ep-footer__form-msg{ margin-top: 0.5rem; font-size: 0.85rem; min-height: 1.1em; }
.ep-footer__form-msg.is-ok{ color: rgba(16,185,129,0.95); }
.ep-footer__form-msg.is-err{ color: rgba(239,68,68,0.95); }

.ep-footer__art{
  position: absolute;
  inset: -12px -6px auto auto;
  width: 170px;
  height: 170px;
  opacity: 0.18;
  pointer-events: none;
  filter: drop-shadow(0 18px 40px rgba(0,0,0,0.35));
  transform: translate3d(0,0,0);
  animation: epFooterArtFloat 7s ease-in-out infinite;
}
.ep-footer__art-img{ width: 100%; height: 100%; object-fit: contain; }

@keyframes epFooterArtFloat{
  0%,100%{ transform: translate3d(0,0,0); }
  50%{ transform: translate3d(-6px, 8px, 0); }
}

/* arrows only on hover: keep footer clean */
.ep-footer__cta:hover .ep-footer__art{ opacity: 0.24; }

@media (max-width: 56.25rem){
  .ep-footer__cta{ grid-template-columns: 1fr; }
  .ep-footer__art{ display:none; }
  .ep-footer__cta-actions .ep-btn{ width: 100%; text-align: center; }
  .ep-footer__callback-row{ grid-template-columns: 1fr; }
}

.ep-footer__container {
  max-width: 71rem;
  margin: 0 auto;
  padding: 0 1.5rem;
}

.ep-footer__grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1.15fr;
  gap: 1.5rem;
  align-items: start;
  margin-top: 1rem;
  padding: 1.4rem 1.5rem 1.25rem;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.10);
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.45);
}

/* Footer grid — responsive layout for mobile */
@media (max-width: 56.25rem){
  /* 2 колонки на планшете/мобиле, бренд — во всю ширину */
  .ep-footer__grid{
    grid-template-columns: 1fr 1fr;
    gap: 1.15rem;
    padding: 1.25rem 1.15rem 1.1rem;
  }
  .ep-footer__brand{ grid-column: 1 / -1; }
}

@media (max-width: 40rem){
  /* 1 колонка на телефонах, чтобы ничего не «сжималось» в вертикальные буквы */
  .ep-footer__grid{
    grid-template-columns: 1fr;
    padding: 1.1rem 0.95rem 1rem;
    border-radius: 20px;
  }
  .ep-footer__brand{ grid-column: auto; }
}

@media (max-width: 28rem){
  .ep-footer__container{ padding: 0 1.05rem; }
}

/* Keep columns visually aligned and prevent accidental overflow */
.ep-footer__grid > *{ min-width: 0; }
.ep-footer__brand{ display:flex; flex-direction:column; }


.ep-footer__brandname {
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin-bottom: 0.4rem;
}

.ep-footer__tagline {
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.78);
  margin-bottom: 0.8rem;
}

.ep-footer__title {
  font-size: 0.9rem;
  font-weight: 600;
  margin-bottom: 0.45rem;
}

.ep-footer__text {
  font-size: 0.85rem;
  line-height: 1.38;
  color: rgba(255, 255, 255, 0.82);
}

.ep-footer__muted {
  color: rgba(255, 255, 255, 0.68);
}

.ep-footer__links {
  display: grid;
  gap: 0.4rem;
}

.ep-footer__links a {
  color: rgba(255, 255, 255, 0.82);
  text-decoration: none;
  transition: color 0.18s ease, transform 0.18s ease, opacity 0.18s ease;
}

.ep-footer__links a:hover {
  color: rgba(240, 255, 252, 0.98);
  transform: translateX(2px);
}

.ep-footer__links--columns {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.38rem 0.9rem;
}

@media (min-width: 56rem) {
  .ep-footer__links--columns {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
}

.ep-footer__links--columns a{
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
  hyphens: auto;
}


.ep-footer__links--columns a {
  width: auto;
}

/* Footer: collapse long services list on mobile */
.ep-footer__more-btn{
  display: none;
  margin-top: 0.75rem;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  padding: 0.55rem 0.9rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.06);
  color: rgba(255,255,255,0.88);
  font-weight: 600;
  font-size: 0.86rem;
  cursor: pointer;
}
.ep-footer__more-btn:hover{ background: rgba(255,255,255,0.09); }

@media (max-width: 40rem){
  /* Ensure links are readable and don't compress weirdly */
  .ep-footer__services .ep-footer__links a{ display: block; }

  /* Show only first 5 services by default */
  .ep-footer__services:not(.is-expanded) .ep-footer__links a:nth-child(n+6){
    display: none;
  }

  .ep-footer__more-btn{ display: inline-flex; }
}
.ep-footer__social {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
  align-items: center;
}

.ep-footer__social-link {
  display: inline-flex;
  width: 2.1rem;
  height: 2.1rem;
  border-radius: 0.75rem;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  transition: transform 0.18s ease, background 0.18s ease, border-color 0.18s ease;
}

.ep-footer__social-link:hover {
  transform: translateY(-1px);
  background: rgba(255, 255, 255, 0.09);
  border-color: rgba(255, 255, 255, 0.20);
  text-decoration: none;
}

.ep-footer__social-link svg {
  width: 1.3rem;
  height: 1.3rem;
}

.ep-footer__bottom {
  margin-top: 1.35rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem 1rem;
  align-items: flex-start;
  justify-content: space-between;
}

/* ===== Footer legal row (strict one line, small font) ===== */
.ep-footer__legal{
  display: flex;
  flex-wrap: nowrap;
  white-space: nowrap;
  flex: 1 1 auto;
  min-width: 0;
  align-items: center;
  gap: 0.28rem;
  font-size: clamp(8px, 0.74vw, 11px);
  line-height: 1.1;
  color: rgba(255,255,255,0.78);
}

.ep-footer__legal a{
  opacity: 0.86;
  text-decoration: none;
  padding: 1px 3px;
  border-radius: 999px;
  transition: opacity .15s ease, background .15s ease, transform .15s ease;
}

.ep-footer__legal a:hover{
  opacity: 1;
  background: rgba(255,255,255,0.06);
  transform: none;
  text-decoration: none;
}

.ep-footer__copy{ white-space: nowrap; }

@media (max-width: 980px){
  /* Give legal row the full width on smaller screens */
  .ep-footer__copy{ flex-basis: 100%; }
}

@media (max-width: 420px){
  .ep-footer__legal{ gap: 0.22rem; font-size: 8px; }
  .ep-footer__legal a{ padding: 1px 2px; }
}

/* ==========================================================
   Everyprint — обновлённая шапка: компактнее, чище, с дропдаунами
   ========================================================== */
.ep-header__container{
  /* базовый размер шапки (вверху страницы) */
  padding-top: 1.65rem;
  padding-bottom: 1.65rem;
  gap: .9rem;
  transition: padding .22s ease;
}

.ep-header__logo img{
  display:block;
  height:auto;
}

.ep-header__actions{
  display:flex;
  align-items:center;
  gap: .75rem;
  margin-left:auto;
}

.ep-header__phone{
  color: rgba(255,255,255,.85);
  font-size: .95rem;
  white-space: nowrap;
  transition: color .2s ease;
}

.ep-header__phone:hover{
  color:#01d1bc;
}

.ep-header__cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap: .5rem;
  padding: .62rem 1.05rem;
  min-height: 42px;
  border-radius: 999px;
  background: linear-gradient(90deg, #00ffcc, #00ccff);
  color:#00110f;
  font-weight: 700;
  font-size: .95rem;
  line-height:1;
  text-decoration: none !important;
  border: 0;
  cursor: pointer;
  font: inherit;
  box-shadow: 0 10px 24px rgba(0,0,0,0.28);
  transition: transform .15s ease, filter .15s ease, box-shadow .15s ease, opacity .15s ease;
}
.ep-header__cta:hover{
  transform: translateY(-1px);
  filter: brightness(1.03);
}
.ep-header__cta:active{
  transform: translateY(0);
  filter: brightness(0.98);
}
.ep-header__cta:focus-visible{
  outline: 3px solid rgba(0, 255, 204, 0.45);
  outline-offset: 3px;
}

/* secondary CTA: КП */
.ep-header__cta--ghost{
  background: rgba(255,255,255,0.12);
  color: rgba(255,255,255,0.92);
  box-shadow: none;
  border: 1px solid rgba(255,255,255,0.18);
}
.ep-header__cta--ghost:hover{
  filter: none;
  background: rgba(255,255,255,0.16);
}

@media (max-width: 1024px){
  .ep-header__cta--ghost{ display:none; }
}

.ep-menu__item.is-active > .ep-menu__link{
  color:#01d1bc;
}

/* dropdowns (desktop) */
.ep-menu__item--dropdown{
  position: relative;
}

/* hover-bridge: позволяет довести курсор до дропдауна без "срыва" hover */
.ep-menu__item--dropdown::after{
  content:"";
  position:absolute;
  left:-24px;
  right:-24px;
  top:100%;
  height:14px;
  background: transparent;
}

.ep-menu__item--dropdown > .ep-menu__link::after{
  content:"";
  display:inline-block;
  width: 7px;
  height: 7px;
  border-right: 2px solid rgba(255,255,255,.85);
  border-bottom: 2px solid rgba(255,255,255,.85);
  transform: rotate(45deg);
  margin-left: .45rem;
  margin-bottom: .1rem;
  opacity: .75;
  transition: transform .15s ease, opacity .15s ease;
}

.ep-menu__item--dropdown:hover > .ep-menu__link::after,
.ep-menu__item--dropdown:focus-within > .ep-menu__link::after{
  transform: rotate(-135deg);
  opacity: 1;
}

.ep-menu__dropdown{
  display:none;
  position:absolute;
  top: calc(100% + 6px);
  left: 0;
  min-width: 260px;
  padding: 10px;
  border-radius: 14px;
  background: rgba(10,10,10,.98);
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 18px 40px rgba(0,0,0,.45);
  z-index: 120;
  max-height: min(70vh, 560px);
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

/* FIX: чтобы дропдаун не закрывался при наведении (убираем "воздушный" зазор) */
.ep-menu__dropdown::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-12px;
  height:12px;
  background: transparent;
  pointer-events: auto;
}


.ep-menu__item--dropdown:not(.is-dismissed):hover .ep-menu__dropdown,
.ep-menu__item--dropdown:not(.is-dismissed):focus-within .ep-menu__dropdown{
  display:block;
}

.ep-menu__dropdown-link{
  display:block;
  padding: 8px 10px;
  border-radius: 10px;
  color:#fff;
  font-size: .93rem;
  line-height: 1.2;
  transition: background .15s ease, color .15s ease;
  white-space: nowrap;
}

.ep-menu__dropdown-link:hover{
  background: rgba(1,209,188,.12);
  color:#01d1bc;
}

.ep-menu__dropdown-link--cta{
  background: rgba(0,255,204,.12);
  border: 1px solid rgba(0,255,204,.18);
  color:#f6fffe;
  font-weight: 600;
}
.ep-menu__dropdown-link--cta:hover{
  background: rgba(0,255,204,.18);
  color:#f6fffe;
}

/* Группировка пунктов в выпадающем меню «Услуги» */
.ep-menu__dropdown-group{
  margin: 10px 6px 6px;
  padding-top: 10px;
  border-top: 1px solid rgba(255,255,255,.10);
  font-size: .75rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(255,255,255,.60);
}

.ep-menu__dropdown-group:first-of-type{
  margin-top: 6px;
}

/* чтобы при скролле в дропдауне не «липли» клики по краям */
.ep-menu__dropdown-link{
  position: relative;
  z-index: 1;
}

/* toggle button (mobile) */
.ep-menu__toggle{
  display:none;
  cursor: pointer;
}

/* ==========================================================
   Контакты на главной
   ========================================================== */
.contacts{
  padding: 6.25rem 0;
}

.contacts__grid{
  margin-top: 1.8rem;
  display:grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 1.5rem;
  align-items: stretch;
}

.contacts__card{
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 18px;
  padding: 1.4rem;
}

.contacts__row{
  display:flex;
  gap: .75rem;
  align-items:flex-start;
  padding: .45rem 0;
  border-bottom: 1px solid rgba(255,255,255,.06);
}

.contacts__row:last-child{
  border-bottom: none;
}

.contacts__label{
  min-width: 120px;
  color: var(--ep-text-secondary-on-dark, rgba(255,255,255,.72));
  font-size: .95rem;
}

.contacts__value{
  color:var(--ep-text-on-dark, #fff);
  font-size: 1rem;
}

.contacts__value a{
  color:var(--ep-accent, #19d3d1);
}

.contacts__actions{
  display:flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin-top: 1rem;
}

.contacts__map iframe{
  width:100%;
  height:100%;
  min-height: 340px;
  border:0;
  border-radius: 18px;
}

/* mobile */
@media (max-width: 768px){
  .ep-header__actions{ display:none; }
  .ep-menu__item--dropdown > .ep-menu__link::after{ display:none; }

  /* На мобилке разрешаем перенос строк, чтобы пункты меню не обрезались */
  .ep-menu__link,
  .ep-menu__dropdown-link{
    white-space: normal;
    overflow-wrap: anywhere;
  }


  .ep-menu__toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width: 38px;
    height: 38px;
    margin-left: auto;
    border-radius: 12px;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.10);
  }
  .ep-menu__toggle::before{
    content:"";
    width: 8px;
    height: 8px;
    border-right: 2px solid rgba(255,255,255,.9);
    border-bottom: 2px solid rgba(255,255,255,.9);
    transform: rotate(45deg);
    transition: transform .15s ease;
  }

  .ep-menu__dropdown{
    position: static;
    display:none;
    min-width: auto;
    padding: 0 0 0 10px;
    margin-top: -6px;
    background: transparent;
    border: none;
    box-shadow: none;
  }

  .ep-menu__dropdown-link{
    padding: 8px 10px;
    font-size: 16px;
    opacity: .95;
    white-space: normal;
  }

  .ep-menu__item--dropdown.is-open .ep-menu__dropdown{
    display:block;
  }

  .ep-menu__item--dropdown.is-open .ep-menu__toggle::before{
    transform: rotate(-135deg);
  }

  .contacts__grid{
    grid-template-columns: 1fr;
  }
  .contacts__map iframe{
    min-height: 320px;
  }
}


/* ==========================================================
   Everyprint — Header v2: липкая шапка, компактная CTA, соц-иконки
   ========================================================== */
.ep-header{
  z-index: 100;
  background: rgba(0,0,0,.72);
  border-bottom: 1px solid rgba(255,255,255,.08);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  transition: background .2s ease, box-shadow .2s ease;
}
@supports not ((backdrop-filter: blur(10px)) or (-webkit-backdrop-filter: blur(10px))){
  .ep-header{ background: rgba(0,0,0,.92); }
}



/* EP PERF: disable blur effects on mobile to reduce expensive paints */
@media (max-width: 1024px){
  .ep-header{
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    background: rgba(0,0,0,.92) !important;
  }
  .ep-cookie__inner,
  .ep-cookie-modal__dialog{
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    background: rgba(0,0,0,.92) !important;
  }
}

.ep-header__container{
  /* заметная "большая" шапка вверху страницы */
  padding-top: 1.65rem;
  padding-bottom: 1.65rem;
  gap: .9rem;
  transition: padding .22s ease;
}

.ep-header__logo img{
  height: auto;
  width: auto;
  transition: width .2s ease;
}

.ep-header__social{
  display:flex;
  align-items:center;
  gap: .45rem;
}

.ep-header__social-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 0;
  background: transparent;
  border: 0;
  opacity: .9;
  transition: transform .15s ease, opacity .15s ease;
}

.ep-header__social-link:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,.10);
  opacity: .95;
}

.ep-header__social-link svg{
  width: 20px;
  height: 20px;
}

.ep-header__cta{
  padding: .70rem 1.10rem;
  font-size: .95rem;
  gap: .45rem;
}

.ep-header__cta .ep-icon{
  width: 18px;
  height: 18px;
}

.ep-header--scrolled,
.ep-header._header-scroll{
  background: rgba(0,0,0,.92);
  box-shadow: 0 10px 28px rgba(0,0,0,0.22);
}

.ep-header--scrolled .ep-header__container,
.ep-header._header-scroll .ep-header__container{
  /* компактная шапка при скролле */
  padding-top: .75rem !important;
  padding-bottom: .75rem !important;
}

.ep-header--scrolled .ep-header__logo img,
.ep-header._header-scroll .ep-header__logo img{
  height: auto;
}

/* адаптив: на узких десктопах прячем соц-иконки и телефон */
@media (max-width: 1180px){
  .ep-header__social{ display:none; }
}

@media (max-width: 1024px){
  .ep-header__phone{ display:none; }
  .ep-header__cta-text{ display:none; }
  .ep-header__cta{ padding: .55rem .65rem; }
}


/* FIX: внутренние страницы — контент не должен прятаться под фиксированной шапкой */
.page, .calc-page{
  padding-top: 7.25rem;
}
@media (max-width: 768px){
  .page, .calc-page{
    padding-top: 6.25rem;
  }
}

/* FIX: убираем горизонтальный скролл/обрезания на мобилке */
html, body{ overflow-x: hidden; }

/* ==========================================================
   FIX: адаптив для секций "Услуги" и "Контакты" (мобилка/планшет)
   ========================================================== */

@media (max-width: 1024px){
  /* "Услуги": вместо 4 колонок — 2, а текстовый блок на всю ширину */
  .services__body{
    grid-template-columns: 1fr 1fr !important;
    gap: 2rem 1.25rem !important;
  }
  .services__content{
    grid-column: 1 / -1;
  }
}

@media (max-width: 640px){
  /* "Услуги": одна колонка, чтобы ничего не вылезало вправо */
  .services__body{
    grid-template-columns: 1fr !important;
    gap: 1.25rem !important;
  }
  .services__quick{
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }

  .services__quick .link{
    width: 100%;
    text-align: center;
  }

  /* Контакты: одна колонка + более компактные лейблы */
  .contacts__grid{
    grid-template-columns: 1fr !important;
  }
  .contacts__label{
    min-width: 92px;
  }
  .contacts__value{
    overflow-wrap:anywhere;
    word-break: break-word;
  }
}

/* Карта на контактах: не вылезать за контейнер */
.contacts iframe{
  max-width: 100%;
  border: 0;
}


/* Performance: render ниже‑фолда только когда нужно */
@supports (content-visibility: auto) {
  main > section {
    content-visibility: auto;
    contain-intrinsic-size: 900px;
  }
  .hero {
    content-visibility: visible;
    contain-intrinsic-size: auto;
  }
}

/* ==========================================================
   Performance hint: defer layout/paint for below-the-fold sections on mobile
   (doesn't affect SEO, but improves TBT/LCP in Lighthouse)
   ========================================================== */
@media (max-width: 768px){
  main > section:not(.hero){
    content-visibility: auto;
    contain-intrinsic-size: 900px;
  }
}


/* ===== EP Portfolio + Training additions (2026-01-25) ===== */

/* Кнопка‑пилюля (CTA) */
.ep-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 16px;
  border-radius: 999px;
  border: 1px solid rgba(142,255,244,0.45);
  background: linear-gradient(90deg, rgba(0,255,204,0.16), rgba(0,204,255,0.10));
  color: rgba(255,255,255,0.92);
  font-weight: 700;
  text-decoration: none;
  line-height: 1;
  transition: transform .15s ease, background .15s ease, border-color .15s ease;
}
.ep-pill:hover {
  transform: translateY(-1px);
  border-color: rgba(142,255,244,0.75);
  background: linear-gradient(90deg, rgba(0,255,204,0.22), rgba(0,204,255,0.14));
}

.ep-link-soft {
  color: rgba(255,255,255,0.78);
  text-decoration: none;
}
.ep-link-soft:hover { color: rgba(255,255,255,0.95); text-decoration: underline; }

.ep-section {
  margin-top: 2rem;
}
.ep-lead {
  max-width: 58rem;
  margin: 0 auto 0.75rem;
  color: rgba(255,255,255,0.88);
}

/* Формы (для новых страниц) */
.ep-form {
  max-width: 58rem;
  margin: 0 auto;
}
.ep-form__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.9rem 1rem;
  margin-top: 1rem;
}
@media (max-width: 48rem) {
  .ep-form__grid { grid-template-columns: 1fr; }
}
.ep-field--full { grid-column: 1 / -1; }

.ep-textarea {
  width: 100%;
  min-height: 120px;
  resize: vertical;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.04);
  padding: 12px 14px;
  color: rgba(255,255,255,0.92);
  font-family: inherit;
  font-size: 14px;
  outline: none;
}
.ep-textarea:focus {
  border-color: rgba(142,255,244,0.55);
  background: rgba(255,255,255,0.06);
}

.ep-checkbox {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: rgba(255,255,255,0.82);
  font-size: 0.92rem;
}
.ep-checkbox input { margin-top: 3px; }

.ep-form__actions {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 12px;
}
@media (max-width: 48rem) {
  .ep-form__actions { flex-direction: column; align-items: flex-start; }
}
.ep-form__message { min-height: 20px; }

/* HERO блок (обучение/ремонт) */
.ep-hero {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 1rem;
  padding: 1.25rem;
  border-radius: 1.25rem;
  border: 1px solid rgba(255,255,255,0.14);
  background:
    radial-gradient(900px 420px at 20% -10%, rgba(0, 255, 204, 0.20), transparent 55%),
    radial-gradient(700px 360px at 110% 0%, rgba(0, 204, 255, 0.16), transparent 52%),
    rgba(255,255,255,0.03);
}
.ep-hero--compact { padding: 1.1rem; }
@media (max-width: 64rem) {
  .ep-hero { grid-template-columns: 1fr; }
}

.ep-hero__kicker {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  color: rgba(142,255,244,0.95);
  font-weight: 700;
  letter-spacing: 0.02em;
  margin-bottom: 0.5rem;
}
.ep-hero__title {
  margin: 0;
  font-size: clamp(1.7rem, 3vw, 2.6rem);
  line-height: 1.12;
}
.ep-hero__lead {
  margin-top: 0.75rem;
  color: rgba(255,255,255,0.88);
  max-width: 48rem;
}
.ep-hero__badges {
  margin-top: 0.9rem;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
}
.ep-hero__actions {
  margin-top: 1rem;
  display: flex;
  flex-wrap: wrap;
  gap: 12px 16px;
  align-items: center;
}

.ep-hero__media-card {
  border-radius: 1rem;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(0,0,0,0.18);
  padding: 1rem;
}
.ep-hero__media-title {
  font-weight: 600;
  margin: 0 0 0.6rem;
}
.ep-hero__list {
  margin: 0;
  padding-left: 1.1rem;
  color: rgba(255,255,255,0.86);
}
.ep-hero__list li { margin-bottom: 0.35rem; }

.ep-training__two {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  max-width: 58rem;
  margin: 0 auto;
}
@media (max-width: 48rem) {
  .ep-training__two { grid-template-columns: 1fr; }
}

.ep-check {
  margin: 0.5rem 0 0;
  padding-left: 1.1rem;
  color: rgba(255,255,255,0.88);
}
.ep-check li { margin-bottom: 0.4rem; }

.ep-faq {
  max-width: 58rem;
  margin: 0 auto;
  display: grid;
  gap: 0.75rem;
}
.ep-faq__item {
  border-radius: 1rem;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.03);
  padding: 0.25rem 0.75rem;
}
.ep-faq__item summary {
  cursor: pointer;
  padding: 0.65rem 0.25rem;
  font-weight: 700;
}
.ep-faq__body {
  padding: 0 0.25rem 0.9rem;
  color: rgba(255,255,255,0.86);
}

/* ===== Портфолио ===== */
.ep-portfolio-hero {
  margin-top: 0.75rem;
  padding: 1.15rem 1.15rem 0.9rem;
  border-radius: 1.25rem;
  border: 1px solid rgba(255,255,255,0.14);
  background:
    radial-gradient(900px 420px at 60% -10%, rgba(0, 255, 204, 0.18), transparent 55%),
    radial-gradient(700px 360px at -10% 0%, rgba(0, 204, 255, 0.14), transparent 52%),
    rgba(255,255,255,0.03);
}
.ep-portfolio-hero__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
.ep-portfolio-hero__title {
  margin: 0;
  font-size: clamp(2.1rem, 4vw, 3.2rem);
  line-height: 1;
}
.ep-portfolio-hero__lead {
  margin: 0.65rem 0 0;
  color: rgba(255,255,255,0.86);
  max-width: 62rem;
}

.ep-portfolio-strip {
  margin-top: 1rem;
  display: flex;
  gap: 14px;
  overflow-x: auto;
  padding: 8px 4px 14px;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}
.ep-portfolio-strip::-webkit-scrollbar { height: 10px; }
.ep-portfolio-strip::-webkit-scrollbar-thumb {
  background: rgba(142,255,244,0.20);
  border-radius: 999px;
}
.ep-portfolio-strip::-webkit-scrollbar-track {
  background: rgba(255,255,255,0.04);
  border-radius: 999px;
}

.ep-portfolio-tile {
  flex: 0 0 auto;
  width: min(320px, 78vw);
  aspect-ratio: 4 / 3;
  border-radius: 1rem;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.03);
  scroll-snap-align: start;
  transform: translateZ(0);
  transition: transform .15s ease, border-color .15s ease;
}
.ep-portfolio-tile:hover {
  transform: translateY(-2px);
  border-color: rgba(142,255,244,0.55);
}
.ep-portfolio-tile img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.ep-portfolio-gridwrap {
  margin-top: 1.5rem;
}
.ep-portfolio-gridhead {
  max-width: 58rem;
  margin: 0 auto 0.75rem;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}
.ep-portfolio-gridhead__title { margin: 0; }
.ep-portfolio-gridhead__meta { color: rgba(255,255,255,0.70); font-size: 0.9rem; }

.ep-portfolio-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
@media (max-width: 64rem) {
  .ep-portfolio-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 44rem) {
  .ep-portfolio-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.ep-portfolio-card {
  border: 0;
  padding: 0;
  border-radius: 14px;
  overflow: hidden;
  cursor: pointer;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.12);
  transition: transform .15s ease, border-color .15s ease;
}
.ep-portfolio-card:hover {
  transform: translateY(-2px);
  border-color: rgba(142,255,244,0.55);
}
.ep-portfolio-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  aspect-ratio: 1 / 1;
}

/* Lightbox */
.ep-noscroll { overflow: hidden; }
.ep-lightbox {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,0.85);
  padding: 18px;
}
.ep-lightbox.is-open { display: flex; }
.ep-lightbox__img {
  max-width: min(1100px, 96vw);
  max-height: 86vh;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(255,255,255,0.03);
}
.ep-lightbox__close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.92);
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
}
.ep-lightbox__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.92);
  font-size: 30px;
  line-height: 1;
  cursor: pointer;
  opacity: 1;
  transition: opacity 160ms ease;
}

.ep-lightbox__nav--prev { left: 14px; }
.ep-lightbox__nav--next { right: 14px; }
@media (min-width: 44.001rem) {
  .ep-lightbox.is-open .ep-lightbox__nav {
    opacity: 0;
    pointer-events: none;
  }
  .ep-lightbox.is-open:hover .ep-lightbox__nav,
  .ep-lightbox.is-open:focus-within .ep-lightbox__nav {
    opacity: 1;
    pointer-events: auto;
  }
}
@media (max-width: 44rem) {
  .ep-lightbox__nav { display:block;top:auto;bottom:14px;transform:none; }
}


/* ===== Портфолио: ленточный слайдер (как на technar3d) ===== */
.ep-portfolio-slider{
  margin-top: 1.1rem;
}

.ep-portfolio-slider__bar{
  margin-top: 1.1rem;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 12px;
}

.ep-portfolio-slider__label{
  justify-self: center;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 1.1rem;
  color: rgba(255,255,255,0.92);
}

.ep-portfolio-slider__nav{
  justify-self: end;
  display:flex;
  align-items:center;
  gap: 10px;
}

.ep-portfolio-slider__btn{
  width: 34px;
  height: 34px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.06);
  color: rgba(255,255,255,0.92);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition: transform .15s ease, border-color .15s ease, background .15s ease;
}
.ep-portfolio-slider__btn:hover{
  transform: translateY(-1px);
  border-color: rgba(142,255,244,0.40);
  background: rgba(255,255,255,0.08);
}

.ep-portfolio-slider__pagination{
  display:flex;
  align-items:center;
  gap: 10px;
  user-select:none;
}

.ep-portfolio-slider__pagination .swiper-pagination-bullet{
  width:auto;
  height:auto;
  padding: 3px 8px;
  border-radius: 999px;
  background: transparent;
  opacity: 1;
  color: rgba(255,255,255,0.65);
  border: 1px solid transparent;
  font-size: 0.9rem;
  line-height: 1;
  cursor:pointer;
  transition: border-color .15s ease, color .15s ease, background .15s ease;
}
.ep-portfolio-slider__pagination .swiper-pagination-bullet:hover{
  color: rgba(255,255,255,0.88);
  border-color: rgba(255,255,255,0.18);
}
.ep-portfolio-slider__pagination .swiper-pagination-bullet-active{
  color:#0c1619;
  background: rgba(142,255,244,0.95);
  border-color: rgba(142,255,244,0.95);
}

.ep-portfolio-slider__band{
  margin-top: 0.9rem;
  border-radius: 1.1rem;
  overflow:hidden;
  background: linear-gradient(180deg, rgba(27, 78, 120, 0.95), rgba(20, 52, 82, 0.95));
  padding: 44px 0 40px;
  position: relative;
}

.ep-portfolio-slider__band::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(900px 260px at 25% 15%, rgba(0, 255, 204, 0.20), transparent 60%),
    radial-gradient(800px 240px at 80% 75%, rgba(0, 204, 255, 0.14), transparent 60%);
  pointer-events:none;
}

.ep-portfolio-slider__tilt{
  position: relative;
  transform: rotate(-7deg);
  transform-origin: center;
}

.ep-portfolio-swiper{
  overflow: visible;
  padding: 0 24px;
}

.ep-portfolio-swiper .swiper-wrapper{
  align-items: center;
}

.ep-portfolio-swiper .swiper-slide{
  width: 320px;
}

.ep-portfolio-slide{
  display:block;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(0,0,0,0.20);
  border-radius: 10px;
  overflow:hidden;
  transform: rotate(7deg) translateZ(0);
  box-shadow: 0 18px 50px rgba(0,0,0,0.25);
  transition: transform .18s ease, border-color .18s ease;
}

.ep-portfolio-slide:hover{
  transform: rotate(7deg) translateY(-2px) translateZ(0);
  border-color: rgba(142,255,244,0.55);
}

.ep-portfolio-slide img{
  width: 100%;
  height: 210px;
  object-fit: cover;
  display:block;
}

@media (max-width: 768px){
  .ep-portfolio-slider__bar{
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .ep-portfolio-slider__nav{
    justify-self: start;
  }
  .ep-portfolio-slider__band{
    padding: 36px 0 32px;
  }
  .ep-portfolio-swiper{
    padding: 0 14px;
  }
  .ep-portfolio-swiper .swiper-slide{
    width: 250px;
  }
  .ep-portfolio-slide img{
    height: 175px;
  }
}

/* ===== Главная: бесконечная карусель работ (2026-01-25) ===== */
.ep-home-portfolio__top{
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 16px;
}

.ep-home-portfolio__all{ white-space: nowrap; }

.ep-home-portfolio__actions{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}


.ep-home-portfolio .ep-portfolio-slider__band{
  margin-top: 1rem;
}

.ep-marquee-swiper{
  overflow: visible;
  padding: 0 24px;
}

.ep-marquee-swiper .swiper-wrapper{
  transition-timing-function: linear !important;
}

/*
  EP: Swiper fallback (до ленивой загрузки /css/swiper-bundle.min.css)
  Без этого .swiper-wrapper рендерится как обычный блок и "лента" на главной
  на долю секунды падает в колонку, дергая прокрутку.
*/
.swiper-wrapper{
  display: flex;
  flex-wrap: nowrap;
}

.swiper-slide{
  flex: 0 0 auto;
}

.swiper-vertical > .swiper-wrapper{
  flex-direction: column;
}

.ep-marquee-swiper .swiper-slide{
  width: 320px;
}

@media (max-width: 768px){
  .ep-home-portfolio__top{
    flex-direction: column;
    align-items: flex-start;
  }
  .ep-marquee-swiper{ padding: 0 14px; }
  .ep-marquee-swiper .swiper-slide{ width: 250px; }
}


/* === v20260125_v4: Home portfolio carousel straight + site background === */
.ep-home-portfolio .ep-portfolio-slider__band{
  background: transparent;
  padding: 18px 0 8px;
  border-radius: 0;
  margin-top: 14px;
}
.ep-home-portfolio .ep-portfolio-slider__band::before{ display:none; }

.ep-home-portfolio .ep-portfolio-slider__tilt{
  transform: none;
}

.ep-home-portfolio .ep-portfolio-slide{
  transform: none;
  background: rgba(0,0,0,0.18);
  border-color: rgba(255,255,255,0.14);
}

.ep-home-portfolio .ep-portfolio-slide:hover{
  transform: translateY(-2px);
  border-color: rgba(0,255,204,0.35);
}

.ep-home-portfolio .ep-marquee-swiper .swiper-wrapper{
  transition-timing-function: linear !important;
}

.ep-home-portfolio .swiper-slide{
  width: 300px;
}
@media (max-width: 680px){
  .ep-home-portfolio .swiper-slide{ width: 240px; }
}



/* =========================
   EP: обновлённые "Этапы производства" (DESKTOP)
   Мобилку не трогаем — там остаётся старый список.
   ========================= */
.stages__body_pc .ep-stages{
  position: relative;
}

.stages__body_pc .ep-stages__grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
}

@media (min-width: 80rem){
  .stages__body_pc .ep-stages__grid{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 75rem){
  .stages__body_pc .ep-stages__grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.stages__body_pc .ep-stage{
  position: relative;
  border-radius: 0.75rem;
  border: 0.0625rem solid rgba(0, 0, 0, 0);
  background: linear-gradient(149deg, #034c44 0%, #000 50%, #034c44 100%) padding-box,
              linear-gradient(to left, #fff, #006B60) border-box;
  padding: 1.25rem 1.25rem 1.1rem 1.25rem;
  min-height: 15.25rem;
  overflow: hidden;
}

.stages__body_pc .ep-stage::after{
  content: "";
  position: absolute;
  top: 0;
  left: 1.25rem;
  right: 1.25rem;
  height: 0.125rem;
  background: linear-gradient(to right, #01D1BC, rgba(255,255,255,0.8) 45%, #006B60);
  opacity: 0.9;
}

.stages__body_pc .ep-stage__head{
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
  padding-top: 0.25rem;
}

.stages__body_pc .ep-stage__num{
  flex: 0 0 2.25rem;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 999px;
  background: linear-gradient(180deg, #01d1bc 42.5%, #006b60 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Ruberoid", sans-serif;
  font-size: 1.25rem;
  line-height: 1;
}

.stages__body_pc .ep-stage__title{
  font-weight: 600;
  font-size: 1.05rem;
  line-height: 1.1;
}

.stages__body_pc .ep-stage__list{
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.6rem;
}

.stages__body_pc .ep-stage__list li{
  position: relative;
  padding-left: 1.1rem;
  font-size: 0.75rem;
  line-height: 1.25;
  color: #eaeaea;
}

.stages__body_pc .ep-stage__list li::before{
  content: "";
  position: absolute;
  left: 0;
  top: 0.42em;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 999px;
  background: linear-gradient(180deg, #01d1bc 0%, #006b60 100%);
  box-shadow: 0 0 0 0.125rem rgba(255,255,255,0.08);
}

.stages__body_pc .ep-stages__bar{
  margin-top: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.25rem;
  border-radius: 0.75rem;
  border: 0.0625rem solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
}

.stages__body_pc .ep-stages__bar-text{
  font-weight: 600;
  font-size: 1rem;
  line-height: 1.15;
}

@media (max-width: 62rem){
  .stages__body_pc .ep-stages__bar{
    flex-wrap: wrap;
  }
}


/* === EP: Services (home) === */
.ep-services{
  display: grid;
  gap: 1.75rem;
}

.ep-services__head{
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1.5rem;
  flex-wrap: wrap;
}

.ep-services__title.title{
  margin: 0;
  font-size: 3rem;
  line-height: 0.95;
}

.ep-services__subtitle{
  margin: 0.9rem 0 0;
  max-width: 60ch;
  font-size: 1.05rem;
  line-height: 1.35;
  color: #eaeaea;
}

.ep-services__head-actions{
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}

.ep-services__head-actions .link{
  width: auto;
  min-height: 2.75rem;
  padding: 0.55rem 1rem;
  font-size: 1rem;
  line-height: 1;
}

.ep-services__all{
  color: #ffffff;
  opacity: 0.9;
  text-decoration: none;
  border-bottom: 1px dashed rgba(255,255,255,0.55);
  padding-bottom: 0.15rem;
  transition: opacity .2s;
  white-space: nowrap;
}

.ep-services__all:hover{
  opacity: 1;
}

.ep-services__chips{
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem;
  margin-top: -0.25rem;
}

.ep-chip{
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.6rem 0.85rem;
  border-radius: 999px;
  background: rgba(255,255,255,0.05);
  border: 0.0625rem solid rgba(255,255,255,0.12);
  color: #ffffff;
  text-decoration: none;
  font-size: 0.9rem;
  line-height: 1;
  transition: transform .2s, background .2s, border-color .2s;
}

.ep-chip:hover{
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,255,255,0.18);
  transform: translateY(-1px);
}

.ep-services__grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.125rem;
}

.ep-service{
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 1.125rem 1.125rem 1rem;
  border-radius: 1rem;
  border: 0.0625rem solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  transition: transform .2s, border-color .2s, background .2s;
  min-height: 100%;
}

.ep-service:hover{
  transform: translateY(-2px);
  border-color: rgba(255,255,255,0.18);
  background: rgba(255,255,255,0.06);
}

.ep-service--accent{
  background: rgba(1, 209, 188, 0.08);
  border-color: rgba(1, 209, 188, 0.22);
}

.ep-service--accent:hover{
  background: rgba(1, 209, 188, 0.12);
  border-color: rgba(1, 209, 188, 0.3);
}

.ep-service__top{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.ep-service__badge{
  display: inline-flex;
  align-items: center;
  padding: 0.35rem 0.6rem;
  border-radius: 999px;
  background: rgba(255,255,255,0.06);
  border: 0.0625rem solid rgba(255,255,255,0.12);
  font-size: 0.75rem;
  line-height: 1;
  color: #eaeaea;
}

.ep-service__icon{
  width: 3rem;
  height: 3rem;
  object-fit: contain;
  opacity: 0.95;
}

.ep-service__title{
  margin: 0;
  font-weight: 700;
  font-size: 1.1rem;
  line-height: 1.15;
}

.ep-service__desc{
  margin: 0;
  color: #eaeaea;
  font-size: 0.92rem;
  line-height: 1.35;
}

.ep-service__list{
  margin: 0.1rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.55rem;
}

.ep-service__list li{
  position: relative;
  padding-left: 1.05rem;
  font-size: 0.82rem;
  line-height: 1.25;
  color: #eaeaea;
}

.ep-service__list li::before{
  content: "";
  position: absolute;
  left: 0;
  top: 0.42em;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 999px;
  background: linear-gradient(180deg, #01d1bc 0%, #006b60 100%);
  box-shadow: 0 0 0 0.125rem rgba(255,255,255,0.08);
}

.ep-service__cta{
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding-top: 0.25rem;
}

.ep-service__cta .link{
  width: auto;
  min-height: 2.4rem;
  padding: 0.45rem 0.8rem;
  font-size: 0.95rem;
  line-height: 1;
  white-space: nowrap;
}

.ep-service__more{
  color: #ffffff;
  opacity: 0.9;
  text-decoration: none;
  border-bottom: 1px dashed rgba(255,255,255,0.5);
  padding-bottom: 0.12rem;
  transition: opacity .2s;
  white-space: nowrap;
}

.ep-service__more:hover{
  opacity: 1;
}

.ep-services__foot{
  margin-top: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.25rem;
  border-radius: 0.75rem;
  border: 0.0625rem solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  flex-wrap: wrap;
}

.ep-services__foot-text{
  font-weight: 600;
  font-size: 1rem;
  line-height: 1.2;
}

.ep-services__foot-actions{
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}

.ep-services__foot-actions .link{
  width: auto;
  min-height: 2.6rem;
  padding: 0.5rem 0.9rem;
  font-size: 1rem;
  line-height: 1;
}

.ep-services__foot-link{
  color: #ffffff;
  opacity: 0.9;
  text-decoration: none;
  border-bottom: 1px dashed rgba(255,255,255,0.55);
  padding-bottom: 0.15rem;
  transition: opacity .2s;
}

.ep-services__foot-link:hover{
  opacity: 1;
}

@media (max-width: 74rem){
  .ep-services__grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 48rem){
  .ep-services__title.title{
    font-size: 2.4rem;
  }
  .ep-services__subtitle{
    font-size: 1rem;
  }
}

@media (max-width: 40rem){
  .ep-services__grid{
    grid-template-columns: 1fr;
  }
}


/* =============================
   EP Modal restyle (popup)
   ============================= */

/* EP Modal restyle */
body::after{
  background-color: rgba(0,0,0,.70);
  backdrop-filter: blur(2px);
}

.popup__content{
  background: #0b1013;
  border: 1px solid rgba(0,255,204,0.22);
  border-radius: 24px;
  padding: 28px 22px;
  max-width: 860px;
  box-shadow: 0 30px 90px rgba(0,0,0,.65);
  position: relative;
}

@media (min-width: 900px){
  .popup__content{ padding: 36px 44px; }
}

.popup__title{
  color: #fff;
  font-size: 42px;
  letter-spacing: -0.03em;
  line-height: 1.05;
}

.popup__subtitle{
  margin-top: -6px;
  margin-bottom: 18px;
  color: rgba(255,255,255,0.72);
  font-size: 14px;
  line-height: 1.45;
  max-width: 52ch;
}

.popup__close{
  width: 38px;
  height: 38px;
  top: 14px;
  right: 14px;
  border-radius: 12px;
}
.popup__close::before,
.popup__close::after{
  background: rgba(255,255,255,0.9);
}
.popup__close:hover{
  transform: rotate(90deg);
}
.popup__close:focus-visible{
  outline: 3px solid rgba(0,255,204,0.25);
  outline-offset: 2px;
}

.popup__input,
.popup__textarea,
.popup__file{
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(0,255,204,0.18);
  color: #fff;
}

.popup__input::placeholder,
.popup__textarea::placeholder{
  color: rgba(255,255,255,0.45);
}

.popup__input:focus,
.popup__textarea:focus,
.popup__file:focus{
  border-color: rgba(0,255,204,0.65);
  outline: none;
  box-shadow: 0 0 0 3px rgba(0,255,204,0.12);
}

.popup__textarea{
  height: 11.5rem;
}

.popup__file{
  padding: 12px 12px;
  font-size: 0.95rem;
}

.popup__file::file-selector-button{
  background: linear-gradient(90deg, #00ffcc, #00ccff);
  border: 0;
  border-radius: 12px;
  padding: 10px 14px;
  font-weight: 700;
  cursor: pointer;
  margin-right: 12px;
  color: #000;
}

.popup__info{
  color: rgba(255,255,255,0.60);
  font-size: 12px;
  margin-top: -4px;
}

.popup__row{
  align-items: flex-start;
}

.popup__label-text{
  color: rgba(255,255,255,0.72);
  font-size: 12px;
  line-height: 1.25;
}

.popup__label-text a{
  color: rgba(0,255,204,0.85);
  text-decoration: none;
}
.popup__label-text a:hover{
  text-decoration: underline;
}

.popup__submit.ep-btn{
  width: 100%;
  max-width: 260px;
  justify-content: center;
}

@media (max-width: 640px){
  .popup__content{ padding: 22px 16px; }
  .popup__title{ font-size: 30px; }
  .popup__top{ grid-template-columns: 1fr; }
  .popup__submit.ep-btn{ max-width: 100%; }
}


/* ---- Anti-spam honeypot (invisible field for bots) ---- */
.ep-hp{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important;}


/* =========================
   Materials pages (SEO + visuals)
   ========================= */
.ep-material-hero{
  position:relative;
  padding: 22px 22px;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.10);
  background: radial-gradient(1200px 380px at 20% -20%, rgba(32,214,190,.22), transparent 55%),
              radial-gradient(900px 320px at 90% 0%, rgba(65,160,255,.18), transparent 55%),
              rgba(12,12,12,.75);
  overflow:hidden;
  margin: 10px 0 18px;
}
.ep-material-hero:before{
  content:"";
  position:absolute; inset:-2px;
  background: radial-gradient(400px 220px at 10% 10%, rgba(32,214,190,.22), transparent 60%),
              radial-gradient(420px 240px at 90% 20%, rgba(65,160,255,.18), transparent 60%);
  filter: blur(10px);
  opacity:.85;
  pointer-events:none;
}
.ep-material-hero__inner{position:relative; display:grid; gap:14px; grid-template-columns: 1.2fr .8fr; align-items:center;}
.ep-material-hero__title{font-size: clamp(26px, 3.2vw, 44px); line-height:1.05; margin:0;}
.ep-material-hero__lead{color: rgba(255,255,255,.82); margin: 8px 0 0; font-size: 16px;}
.ep-material-hero__side{display:flex; justify-content:flex-end;}
.ep-material-hero__icon{
  width: 110px; height: 110px; border-radius: 28px;
  display:grid; place-items:center;
  background: rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  box-shadow: 0 18px 40px rgba(0,0,0,.35);
}
.ep-badges{display:flex; flex-wrap:wrap; gap:10px; margin-top: 12px;}
.ep-badge{
  display:inline-flex; align-items:center; gap:8px;
  padding: 7px 10px; border-radius: 999px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.88);
  font-size: 13px;
  white-space:nowrap;
}
.ep-badge i{display:inline-block; width:8px; height:8px; border-radius:99px; background: rgba(32,214,190,.95);}
.ep-kpi{display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap:12px; margin: 14px 0 8px;}
.ep-kpi__item{
  padding: 12px 12px;
  border-radius: 16px;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.10);
}
.ep-kpi__label{color:var(--ep-text-secondary-on-dark, rgba(255,255,255,.72));font-size:12px;margin:0;}
.ep-kpi__value{font-size:14px;color:var(--ep-text-on-dark, rgba(255,255,255,.92));margin:6px 0 0;font-weight:700;}
.ep-split{display:grid; grid-template-columns: 1fr 1fr; gap:14px; margin: 14px 0;}
.ep-split .ep-cardlike{
  border-radius: 18px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.10);
  padding: 14px 14px;
}
.ep-cardlike h3{margin:0 0 8px;}
.ep-cardlike ul{margin:0; padding-left: 18px;}
.ep-spec{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
}
.ep-spec th,.ep-spec td{
  padding: 12px 14px;
  border-bottom: 1px solid rgba(255,255,255,.08);
  vertical-align:top;
}
.ep-spec th{color: rgba(255,255,255,.82); font-weight: 700; width: 34%;}
.ep-spec td{color: rgba(255,255,255,.78);}
.ep-spec tr:last-child th,.ep-spec tr:last-child td{border-bottom:0;}
.ep-mcatalog{display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:14px;}
.ep-mcard{
  position:relative;
  border-radius: 20px;
  padding: 14px 14px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.035);
  overflow:hidden;
}
.ep-mcard:before{
  content:""; position:absolute; inset:-2px;
  background: radial-gradient(600px 260px at 20% -10%, var(--mc1, rgba(32,214,190,.22)), transparent 62%),
              radial-gradient(520px 240px at 90% 10%, var(--mc2, rgba(65,160,255,.16)), transparent 62%);
  opacity:.9; pointer-events:none;
}
.ep-mcard__inner{position:relative;}
.ep-mcard__top{display:flex; align-items:flex-start; justify-content:space-between; gap:10px;}
.ep-mcard__title{font-size: 18px; font-weight: 700; margin:0;}
.ep-mcard__tag{font-size: 12px; color: rgba(255,255,255,.78); padding: 6px 10px; border-radius: 999px; background: rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); white-space:nowrap;}
.ep-mcard__text{color: rgba(255,255,255,.78); margin: 8px 0 10px; font-size: 14px;}
.ep-mcard__list{margin:0; padding-left: 18px; color: rgba(255,255,255,.75);}
.ep-mcard__cta{margin-top: 12px; display:flex; justify-content:space-between; align-items:center; gap:10px;}
.ep-mcard__cta .ep-link{color: rgba(32,214,190,.95); font-weight:700;}
.ep-faq details{
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
  padding: 12px 14px;
  margin: 10px 0;
}
.ep-faq summary{cursor:pointer; font-weight: 600;}
.ep-faq summary::-webkit-details-marker{display:none;}
.ep-faq p{margin: 8px 0 0; color: rgba(255,255,255,.78);}
@media (max-width: 980px){
  .ep-material-hero__inner{grid-template-columns: 1fr; }
  .ep-material-hero__side{justify-content:flex-start;}
  .ep-kpi{grid-template-columns: repeat(2, minmax(0,1fr));}
  .ep-split{grid-template-columns: 1fr;}
  .ep-mcatalog{grid-template-columns: 1fr;}
}

/* =========================
   Blog (v2): index + posts (SEO + visuals)
   ========================= */
.ep-blog-hero{
  position:relative;
  padding: 22px;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.10);
  background: radial-gradient(1200px 380px at 20% -20%, rgba(32,214,190,.18), transparent 55%),
              radial-gradient(900px 320px at 90% 0%, rgba(65,160,255,.14), transparent 55%),
              rgba(12,12,12,.75);
  overflow:hidden;
  margin: 10px 0 18px;
}
.ep-blog-hero:before{
  content:"";
  position:absolute; inset:-2px;
  background: radial-gradient(420px 240px at 12% 12%, rgba(32,214,190,.20), transparent 62%),
              radial-gradient(420px 240px at 90% 20%, rgba(65,160,255,.16), transparent 62%);
  filter: blur(10px);
  opacity:.85;
  pointer-events:none;
}
.ep-blog-hero__inner{position:relative; display:grid; gap:14px; grid-template-columns: 1.3fr .7fr; align-items:center;}
.ep-blog-hero__title{font-size: clamp(26px, 3.2vw, 44px); line-height:1.05; margin:0;}
.ep-blog-hero__lead{color: rgba(255,255,255,.82); margin: 8px 0 0; font-size: 16px;}
.ep-blog-hero__side{display:flex; justify-content:flex-end;}
.ep-blog-hero__icon{
  width: 110px; height: 110px; border-radius: 28px;
  display:grid; place-items:center;
  background: rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  box-shadow: 0 18px 40px rgba(0,0,0,.35);
}

.ep-blog-controls{display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin: 10px 0 14px;}
.ep-blog-search{flex: 1 1 260px; min-width: 240px;}
.ep-blog-search input{
  width:100%;
  border-radius: 14px;
  padding: 12px 12px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.05);
  color: rgba(255,255,255,.92);
  outline:none;
}
.ep-blog-search input::placeholder{color: rgba(255,255,255,.55);}

.ep-tags{display:flex; flex-wrap:wrap; gap:8px;}
.ep-tag{
  display:inline-flex; align-items:center; gap:8px;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.86);
  font-size: 13px;
  cursor:pointer;
  user-select:none;
}
.ep-tag i{display:inline-block; width:8px; height:8px; border-radius:99px; background: rgba(32,214,190,.95);}
.ep-tag[aria-pressed="true"]{
  background: rgba(32,214,190,.14);
  border-color: rgba(32,214,190,.35);
}

.ep-bcards{display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px;}
@media (max-width: 980px){.ep-bcards{grid-template-columns: repeat(2, minmax(0,1fr));}}
@media (max-width: 640px){.ep-bcards{grid-template-columns: 1fr;}}

.ep-bcard{
  position:relative;
  display:block;
  border-radius: 18px;
  padding: 16px 16px;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.10);
  text-decoration:none;
  overflow:hidden;
}
.ep-bcard:before{
  content:"";
  position:absolute; inset:-1px;
  background: radial-gradient(520px 240px at 10% 10%, var(--bc1, rgba(32,214,190,.18)), transparent 60%),
              radial-gradient(520px 240px at 90% 20%, var(--bc2, rgba(65,160,255,.14)), transparent 60%);
  opacity:.85;
  filter: blur(12px);
  pointer-events:none;
}
.ep-bcard__inner{position:relative;}
.ep-bcard__top{display:flex; align-items:flex-start; justify-content:space-between; gap:10px;}
.ep-bcard__title{margin:0; font-size: 16px; color: rgba(255,255,255,.95); line-height:1.25;}
.ep-bcard__badge{font-size: 12px; color: rgba(255,255,255,.72); border:1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.06); padding: 6px 8px; border-radius: 999px; white-space:nowrap;}
.ep-bcard__text{margin: 10px 0 0; color: rgba(255,255,255,.78); font-size: 14px;}
.ep-bcard__meta{margin-top: 12px; display:flex; flex-wrap:wrap; gap:8px; align-items:center; color: rgba(255,255,255,.65); font-size: 12px;}
.ep-bcard__meta .dot{width:4px;height:4px;border-radius:99px;background: rgba(255,255,255,.35); display:inline-block;}

.ep-bcard:hover{transform: translateY(-2px); transition: transform .18s ease;}

/* Blog post hero */
.ep-blogpost-hero{
  position:relative;
  padding: 22px;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.10);
  background: radial-gradient(1100px 360px at 20% -20%, rgba(32,214,190,.16), transparent 55%),
              radial-gradient(900px 320px at 90% 0%, rgba(65,160,255,.12), transparent 55%),
              rgba(12,12,12,.75);
  overflow:hidden;
  margin: 10px 0 18px;
}
.ep-blogpost-hero:before{content:""; position:absolute; inset:-2px; background: radial-gradient(420px 240px at 12% 12%, rgba(32,214,190,.18), transparent 62%), radial-gradient(420px 240px at 90% 20%, rgba(65,160,255,.14), transparent 62%); filter: blur(10px); opacity:.85; pointer-events:none;}
.ep-blogpost-hero__inner{position:relative; display:grid; gap:14px; grid-template-columns: 1.25fr .75fr; align-items:center;}
.ep-blogpost-hero__lead{color: rgba(255,255,255,.82); margin: 10px 0 0; font-size: 16px;}
.ep-blogpost-hero__meta{margin-top: 10px; display:flex; flex-wrap:wrap; gap:10px; color: rgba(255,255,255,.68); font-size: 13px;}
.ep-blogpost-hero__cta{margin-top: 14px; display:flex; flex-wrap:wrap; gap:10px;}
.ep-blogpost-hero__side{display:flex; justify-content:flex-end;}
.ep-blogpost-hero__icon{width: 110px; height: 110px; border-radius: 28px; display:grid; place-items:center; background: rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.10); box-shadow: 0 18px 40px rgba(0,0,0,.35);}

.ep-takeaways{
  border-radius: 18px;
  padding: 14px 14px;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.10);
  margin: 0 0 18px;
}
.ep-takeaways__title{font-weight:700;font-size:14px;color:var(--ep-text-on-dark, rgba(255,255,255,.92));margin:0 0 8px;}
.ep-takeaways ul{margin:0;padding-left:18px;color:var(--ep-text-secondary-on-dark, rgba(255,255,255,.82));font-size:14px;}

.ep-related .ep-bcards{margin-top: 10px;}

/* Blog post nav arrows hidden by default (if used) */
@media (max-width: 900px){
  .ep-blog-hero__inner, .ep-blogpost-hero__inner{grid-template-columns: 1fr;}
  .ep-blog-hero__side, .ep-blogpost-hero__side{justify-content:flex-start;}
}


/* ===== Postprocessing page hero ===== */
.ep-post-hero{
  position:relative;
  padding: 22px 22px;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.10);
  background: radial-gradient(1200px 380px at 20% -20%, rgba(32,214,190,.22), transparent 55%),
              radial-gradient(900px 320px at 90% 0%, rgba(65,160,255,.18), transparent 55%),
              rgba(12,12,12,.75);
  overflow:hidden;
  margin: 10px 0 18px;
}
.ep-post-hero__inner{
  display:grid;
  grid-template-columns: 1.35fr 1fr;
  gap: 1.15rem;
  align-items: start;
}
@media (max-width: 860px){
  .ep-post-hero__inner{ grid-template-columns: 1fr; }
}
.ep-post-hero__title{
  font-size: clamp(1.6rem, 2.8vw, 2.35rem);
  line-height: 1.08;
  margin: 0 0 0.6rem;
}
.ep-post-hero__lead{
  color: rgba(255,255,255,0.84);
  line-height: 1.5;
  margin: 0 0 0.9rem;
  font-size: 1.02rem;
}
.ep-post-hero__actions{
  display:flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin-top: 0.85rem;
}
.ep-post-hero__card{
  border-radius: 18px;
  padding: 1rem 1rem;
  background: rgba(0,0,0,0.35);
  border: 1px solid rgba(255,255,255,0.12);
}
.ep-post-hero__card-title{
  font-weight: 600;
  margin-bottom: 0.55rem;
  color: rgba(255,255,255,0.94);
}
.ep-post-hero__hint{
  color: rgba(255,255,255,0.72);
  font-size: 0.92rem;
  line-height: 1.45;
}
.ep-levels{
  margin-top: 0.8rem;
}
.ep-levels .ep-card{ height:100%; }


/* Калькулятор: приводим локальные кнопки к общему стилю */
.calc-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: 48px;
  border-radius: 999px;
  padding: 0.9rem 1.25rem;
  font-weight: 700;
  font-size: 1.05rem;
  line-height: 1.05;
  letter-spacing: 0.01em;
  cursor: pointer;
  text-decoration: none !important;
  border: 1px solid transparent;
  transition: transform .18s ease, filter .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
  box-shadow: 0 14px 34px rgba(0,0,0,0.35);
}

.calc-btn--primary {
  border: 0;
  color: #00110f;
  background: linear-gradient(90deg, #00ffcc, #00ccff);
}

.calc-btn--primary:hover { transform: translateY(-1px); filter: brightness(1.03); }
.calc-btn--primary:active { transform: translateY(0); filter: brightness(0.98); }

.calc-btn--secondary {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.18);
  color: rgba(255, 255, 255, 0.92);
  box-shadow: 0 14px 34px rgba(0,0,0,0.28);
}

.calc-btn--secondary:hover { background: rgba(255,255,255,0.10); border-color: rgba(142,255,244,0.40); transform: translateY(-1px); }
.calc-btn--secondary:active { transform: translateY(0); background: rgba(255,255,255,0.08); }


/* ===== EP FARM PAGE (проекты ферм/участков) — added 20260129_43 ===== */
.ep-farm .ep-hero{
  background:
    radial-gradient(1000px 520px at 10% -10%, rgba(0, 255, 204, 0.22), transparent 58%),
    radial-gradient(900px 420px at 110% 10%, rgba(0, 204, 255, 0.18), transparent 56%),
    radial-gradient(700px 360px at 60% 120%, rgba(138, 255, 180, 0.10), transparent 55%),
    rgba(255,255,255,0.03);
}

/* мини-навигация в hero */
.ep-hero__mini-actions{
  margin-top: 0.75rem;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ep-pill{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.55rem 0.8rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.04);
  color: rgba(255,255,255,0.88);
  font-weight: 700;
  font-size: 0.9rem;
  text-decoration: none;
  transition: transform .15s ease, border-color .15s ease, background .15s ease;
}
.ep-pill:hover{
  transform: translateY(-1px);
  border-color: rgba(142,255,244,0.45);
  background: rgba(255,255,255,0.06);
}
.ep-pill--soft{ opacity: 0.95; }

/* Пакеты */
.ep-pricing{
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 1rem;
  margin-top: 1rem;
}
@media (max-width: 64rem){
  .ep-pricing{ grid-template-columns: 1fr; }
}

.ep-price{
  position: relative;
  border: 1px solid rgba(255,255,255,0.14);
  background:
    radial-gradient(700px 280px at 10% 0%, rgba(0, 255, 204, 0.10), transparent 60%),
    rgba(255,255,255,0.04);
  border-radius: 1.1rem;
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  min-height: 100%;
  transition: transform .15s ease, border-color .15s ease, background .15s ease;
}
.ep-price:hover{
  transform: translateY(-2px);
  border-color: rgba(142,255,244,0.45);
  background:
    radial-gradient(700px 280px at 10% 0%, rgba(0, 255, 204, 0.14), transparent 60%),
    rgba(255,255,255,0.06);
}

.ep-price__top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: 10px;
}
.ep-price__name{
  font-weight: 600;
  font-size: 1.1rem;
  margin: 0;
}
.ep-price__hint{
  margin-top: 2px;
  color: rgba(255,255,255,0.72);
  font-size: 0.9rem;
}
.ep-price__badge{
  display:inline-flex;
  align-items:center;
  padding: 0.35rem 0.55rem;
  border-radius: 999px;
  font-weight: 600;
  font-size: 0.82rem;
  color: rgba(0,0,0,0.86);
  background: rgba(142,255,244,0.95);
  box-shadow: 0 10px 24px rgba(0,0,0,0.22);
}
.ep-price__value{
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.05;
}
.ep-price__desc{
  color: rgba(255,255,255,0.88);
  font-size: 0.95rem;
}
.ep-price__meta{
  margin-top: auto;
  color: rgba(255,255,255,0.72);
  font-size: 0.9rem;
  padding-top: 0.5rem;
}
.ep-price .ep-btn{ margin-top: 0.7rem; width: 100%; }

.ep-price--featured{
  border-color: rgba(142,255,244,0.55);
  background:
    radial-gradient(900px 360px at 10% 0%, rgba(0, 255, 204, 0.20), transparent 62%),
    radial-gradient(700px 320px at 110% 10%, rgba(0, 204, 255, 0.16), transparent 58%),
    rgba(255,255,255,0.05);
}

/* Шаги */
.ep-steps{
  margin-top: 1rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 1rem;
}
@media (max-width: 64rem){
  .ep-steps{ grid-template-columns: 1fr; }
}
.ep-step{
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.04);
  border-radius: 1rem;
  padding: 0.95rem;
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 0.85rem;
  align-items: start;
}
.ep-step__num{
  width: 44px;
  height: 44px;
  border-radius: 999px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight: 600;
  color: rgba(0,0,0,0.86);
  background: rgba(142,255,244,0.95);
  box-shadow: 0 10px 24px rgba(0,0,0,0.22);
}
.ep-step__title{
  font-weight: 700;
  font-size: 1.02rem;
  margin: 0 0 0.25rem;
}
.ep-step__text{
  color: rgba(255,255,255,0.88);
  font-size: 0.95rem;
  margin: 0;
}

/* компактные чек-листы */
.ep-check--compact li{
  margin: 0.3rem 0;
  line-height: 1.35;
}


/* --- Pricing page helpers --- */
.ep-table-wrap{ overflow:auto; border-radius: 0.9rem; }
.ep-table th, .ep-table td{
  padding: 0.7rem 0.75rem;
  border-bottom: 1px solid rgba(255,255,255,0.12);
  vertical-align: top;
}
.ep-table th{
  text-align:left;
  font-weight:600;
  background: rgba(255,255,255,0.06);
}
.ep-price-cell{ text-align:right; white-space:nowrap; font-weight:600; }

/* Callout */
.ep-callout{
  border-radius: 1.25rem;
  border: 1px solid rgba(255,255,255,0.16);
  background: linear-gradient(135deg, rgba(21,128,120,0.18), rgba(255,255,255,0.04));
  padding: 1.1rem 1.1rem;
}
.ep-callout__title{ font-weight: 700; font-size: 1.1rem; }
.ep-callout__text{ margin-top: .35rem; opacity: .92; }
.ep-callout__actions{ margin-top: .8rem; display:flex; flex-wrap:wrap; gap:.6rem; }

/* CTA row */
.ep-cta-row{ display:flex; flex-wrap:wrap; gap:.6rem; margin-top: .9rem; }


/* --- Utilities --- */
.ep-muted{ opacity: .78; }
.ep-small{ font-size: .92rem; line-height: 1.35; }
.ep-align-start{ align-items: flex-start; }
.ep-mt-10{ margin-top: .625rem; }
.ep-mt-12{ margin-top: .75rem; }
.ep-mt-16{ margin-top: 1rem; }
.ep-mt-20{ margin-top: 1.25rem; }
.ep-mt-24{ margin-top: 1.5rem; }


/* ===== Единый стиль кнопок: фокус и контраст ===== */
.link:focus-visible,
.ep-pill:focus-visible{
  outline: 3px solid rgba(0, 255, 204, 0.45);
  outline-offset: 3px;
}

/* ===== Boxed hero (используем на pricing и похожих страницах) ===== */
.ep-hero--boxed{
  width: calc(100% - 2rem);
  max-width: 72rem;
  margin-left: auto;
  margin-right: auto;
  border-radius: 1.75rem;
  border: 1px solid rgba(255,255,255,0.12);
  overflow: hidden;
  box-shadow: 0 18px 52px rgba(0,0,0,0.45);
}
.ep-hero--boxed .ep-hero__content{
  padding: clamp(1.35rem, 2.5vw, 2.25rem);
}
@media (max-width: 560px){
  .ep-hero--boxed{
    width: calc(100% - 1rem);
    border-radius: 1.2rem;
  }
}

.ep-hero--narrow{max-width: 62rem;}



/* --- Unified buttons (Everyprint) --- */
.ep-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  padding:14px 22px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  font-weight:700;
  letter-spacing:.2px;
  text-decoration:none !important;
  cursor:pointer;
  transition:transform .12s ease, box-shadow .12s ease, background-color .12s ease, border-color .12s ease, opacity .12s ease;
  user-select:none;
  -webkit-tap-highlight-color: transparent;
}

.ep-btn--primary{
  background:linear-gradient(90deg, rgba(0,255,210,.95), rgba(0,190,255,.95));
  color:#061415 !important;
  border-color:rgba(0,255,210,.22);
  box-shadow:0 10px 24px rgba(0,255,210,.16);
}

.ep-btn--secondary{
  background:rgba(255,255,255,.06);
  color:#e9f3f3 !important;
  border-color:rgba(255,255,255,.14);
}

.ep-btn--sm{ padding:10px 16px; font-weight:700; }
.ep-btn--lg{ padding:16px 26px; font-size:1.05rem; }

.ep-btn:hover{ transform:translateY(-1px); }
.ep-btn--primary:hover{ box-shadow:0 14px 34px rgba(0,255,210,.20); }
.ep-btn--secondary:hover{ background:rgba(255,255,255,.085); }

.ep-btn:active{ transform:translateY(0); opacity:.95; }

.ep-btn:focus{ outline:none; }
.ep-btn:focus-visible{
  box-shadow:0 0 0 3px rgba(0,255,210,.28), 0 12px 30px rgba(0,255,210,.18);
}

/* Back-compat: old .link buttons */
a.link, .link{
  text-decoration:none !important;
}
a.link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:16px 26px;
  border-radius:999px;
  font-weight:700;
  letter-spacing:.2px;
  background:linear-gradient(90deg, rgba(0,255,210,.95), rgba(0,190,255,.95));
  color:#061415 !important;
  border:1px solid rgba(0,255,210,.22);
  box-shadow:0 10px 24px rgba(0,255,210,.16);
  transition:transform .12s ease, box-shadow .12s ease, opacity .12s ease;
}
a.link:hover{ transform:translateY(-1px); box-shadow:0 14px 34px rgba(0,255,210,.20); }
a.link:focus-visible{ outline:none; box-shadow:0 0 0 3px rgba(0,255,210,.28), 0 12px 30px rgba(0,255,210,.18); }


/* === Everyprint: form status messages === */
.popup__message{display:none;margin-top:14px;padding:12px 14px;border-radius:14px;font-weight:700;line-height:1.35}
.popup__message.is-ok{display:block;border:1px solid rgba(16,185,129,.25);background:rgba(16,185,129,.12)}
.popup__message.is-err{display:block;border:1px solid rgba(239,68,68,.25);background:rgba(239,68,68,.12)}


/* === Everyprint: Why-us + trust-bar + mobile bottom bar (v70) === */
.ep-why { margin-top: 1.25rem; }
.ep-why__title { font-size: 1.15rem; margin: 0 0 .75rem 0; }
.ep-why__list { margin: 0; padding-left: 1.1rem; display: grid; gap: .55rem; }
.ep-why__list li { line-height: 1.35; }

.ep-trustbar { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .85rem; }
.ep-trustbar--popup { margin-top: .75rem; margin-bottom: .75rem; }
.ep-trustbar__note { font-size: .78rem; opacity: .85; margin-top: .5rem; }

.ep-mobilebar { display: none; }
@media (max-width: 860px) {
  .ep-mobilebar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 120;
    display: flex;
    gap: .5rem;
    padding: .6rem .6rem calc(.6rem + env(safe-area-inset-bottom));
    background: rgba(6, 8, 18, 0.86);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    border-top: 1px solid rgba(255,255,255,0.12);
  }
  .ep-mobilebar__btn {
    flex: 1 1 33.333%;
    text-align: center;
    border-radius: .9rem;
    padding: .75rem .6rem;
    border: 1px solid rgba(255,255,255,0.16);
    background: rgba(255,255,255,0.06);
    color: #fff;
    font-weight: 600;
    font-size: .95rem;
    line-height: 1;
    cursor: pointer;
    user-select: none;
  }
  .ep-mobilebar__btn--cta {
    border-color: rgba(255,255,255,0.28);
    background: rgba(255,255,255,0.12);
  }
  body.ep-has-mobilebar { padding-bottom: 4.5rem; }
}


/* === Everyprint: desktop floating CTA + mini cases + popup centering (v71) === */
#popup-kp .popup__content{
  margin-left: auto;
  margin-right: auto;
  width: min(50rem, calc(100% - 1.25rem));
}
@media (max-width: 560px){
  #popup-kp .popup__content{ padding: 1.25rem 1rem; }
}

/* Desktop floating CTA */
.ep-floatcta{ display:none; position:fixed; right:1rem; top:50%; transform:translateY(-50%); z-index:115; flex-direction:column; gap:.55rem; }
.ep-floatcta.is-show{ display:flex; }
@media (min-width: 861px){
  .ep-floatcta{ display:none; } /* toggled by JS */
}
.ep-floatcta__btn{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width: 3.1rem;
  height: 3.1rem;
  border-radius: 1rem;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(6, 8, 18, 0.72);
  color: #fff;
  font-weight: 700;
  text-decoration:none;
  cursor:pointer;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  box-shadow: 0 10px 30px rgba(0,0,0,.22);
}
.ep-floatcta__btn:hover{ border-color: rgba(255,255,255,0.28); background: rgba(6, 8, 18, 0.82); }
.ep-floatcta__btn--cta{ border-color: rgba(255,255,255,0.32); background: rgba(255,255,255,0.10); }

/* Mini cases grid */
.ep-mini-cases{
  margin-top: 1rem;
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
}
.ep-mini-cases__card{
  border:1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.04);
  border-radius: 1rem;
  padding: .9rem 1rem;
}
.ep-mini-cases__title{ font-weight: 700; margin-bottom: .35rem; }
.ep-mini-cases__meta{ font-size: .86rem; opacity: .85; margin-bottom: .4rem; }
.ep-mini-cases__text{ font-size: .92rem; opacity: .92; line-height: 1.35; }
@media (max-width: 860px){
  .ep-mini-cases{ grid-template-columns: 1fr; }
}


/* --- Cases grid (SEO pages) --- */
.ep-cases-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}
.ep-case-card{display:block;border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.04);text-decoration:none;color:inherit;transition:transform .18s ease, border-color .18s ease}
.ep-case-card:hover{transform:translateY(-2px);border-color:rgba(0,255,212,.35)}
.ep-case-card__media{aspect-ratio:16/10;background:rgba(255,255,255,.02)}
.ep-case-card__media img{width:100%;height:100%;object-fit:cover;display:block}
.ep-case-card__body{padding:12px 12px 14px}
.ep-case-card__title{font-weight:700;font-size:14px;line-height:1.25;margin:0}
.ep-case-card__meta{font-size:12px;opacity:.78;margin-top:6px;line-height:1.35}
@media (max-width: 980px){.ep-cases-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width: 560px){.ep-cases-grid{grid-template-columns:1fr;}}

/* ==========================================================
   EP polish v103: harmony & стабильность верстки
   (минимальные override-правки, без вмешательства в формы)
   ========================================================== */

:root{
  --ep-card-radius: 1rem;
  --ep-card-border: rgba(255,255,255,0.14);
  --ep-card-bg: rgba(255,255,255,0.03);
}

/* Ровный контейнер для всех внутренних страниц */
.ep-page__container{
  /* базовые контейнерные правила уже задаёт [class*=__container],
     здесь — только страховка на случай нестандартных страниц */
  width: 100%;
}

/* Единый “ритм” для длинных страниц */
.ep-prose > :first-child{ margin-top: 0; }
.ep-prose > :last-child{ margin-bottom: 0; }

/* Заголовки в якорях: запас под фикс.шапку */
.ep-prose h2,
.ep-prose h3,
.ep-prose [id]{ scroll-margin-top: 96px; }

/* Карточки/FAQ: визуально более единообразно */
.ep-card,
.ep-prose .ep-kpi__item,
.ep-faq__item,
.ep-mcard,
.ep-bcard{
  border-radius: var(--ep-card-radius);
  border-color: var(--ep-card-border);
  background: var(--ep-card-bg);
}

/* FAQ summary marker + стрелка (без JS) */
.ep-faq__item summary{
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
}
.ep-faq__item summary::-webkit-details-marker{ display:none; }
.ep-faq__item summary::after{
  content: "▾";
  opacity: 1;
  transform: translateY(-1px);
  transition: transform .18s ease, opacity .18s ease;
}
.ep-faq__item[open] summary::after{
  transform: rotate(180deg);
  opacity: 1;
}

/* Таблицы: чтобы не распирали мобилку */
.ep-prose table{
  width: 100%;
  border-collapse: collapse;
}
.ep-prose table, .ep-prose th, .ep-prose td{
  border: 1px solid rgba(255,255,255,0.12);
}
.ep-prose th, .ep-prose td{
  padding: .65rem .75rem;
  vertical-align: top;
}
.ep-table-wrap{ overflow:auto; -webkit-overflow-scrolling: touch; }

/* Мелкая типографика на мобилке */
@media (max-width: 420px){
  .ep-prose{ font-size: .98rem; }
  .ep-prose h1{ font-size: 1.75rem; }
  .ep-prose h2{ font-size: 1.35rem; }
}

/* Skip-link (если появится) */
.ep-skip{
  position:absolute;
  left:-9999px;
  top: 0;
  z-index: 9999;
  padding: .65rem .9rem;
  border-radius: .75rem;
  background: rgba(0,0,0,0.85);
  color: #fff;
}
.ep-skip:focus{ left: .75rem; top: .75rem; }

/* ==========================================================
   EP polish v128: visual cleanup, hierarchy, CTA and header rhythm
   Safe overrides for current production build
   ========================================================== */

:root{
  --ep-surface-1: rgba(255,255,255,0.035);
  --ep-surface-2: rgba(255,255,255,0.055);
  --ep-surface-3: rgba(255,255,255,0.075);
  --ep-border-soft: rgba(255,255,255,0.10);
  --ep-border-strong: rgba(142,255,244,0.28);
  --ep-shadow-soft: 0 18px 42px rgba(0,0,0,0.24);
  --ep-shadow-card: 0 20px 46px rgba(0,0,0,0.26);
}

/* Global reading rhythm */
.ep-page__container,
.ep-prose,
.ep-calc,
.legal{
  line-height: 1.62;
}

.ep-note,
.ep-card,
.ep-service,
.contacts__card,
.ep-bcard,
.ep-price,
.ep-step,
.ep-footer__grid,
.ep-footer__cta,
.ep-hero,
.ep-hero__media-card,
.ep-portfolio-hero{
  box-shadow: var(--ep-shadow-soft);
}

.ep-section{
  margin-top: clamp(1.65rem, 3vw, 2.4rem);
}

.services,
.works,
.contacts{
  padding-top: clamp(4.2rem, 7vw, 6.25rem);
  padding-bottom: clamp(4.2rem, 7vw, 6.25rem);
}

/* Header: prevent visual wrapping and make hierarchy calmer */
.ep-header{
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.ep-header__container{
  display: grid !important;
  grid-template-columns: auto minmax(0,1fr) auto;
  align-items: center;
  gap: 1rem;
}

.header__menu,
.ep-menu{
  min-width: 0;
}

.menu__list,
.ep-menu__list{
  flex-wrap: nowrap;
  justify-content: center;
  gap: clamp(0.7rem, 1vw, 1.15rem);
}

.menu__item,
.ep-menu__item{
  min-width: 0;
}

.menu__link,
.ep-menu__link{
  white-space: nowrap;
  font-size: clamp(0.98rem, 0.6vw + 0.72rem, 1.1rem);
  line-height: 1.1;
}

.ep-menu__dropdown{
  min-width: 280px;
  border-color: rgba(255,255,255,0.14);
  box-shadow: 0 24px 54px rgba(0,0,0,0.42);
}

.ep-header__actions{
  gap: 0.65rem;
}

.ep-header__social{
  gap: 0.45rem;
}

.ep-header__social-link{
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 0.85rem;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.10);
}

.ep-header__phone{
  font-size: 0.9rem;
  color: rgba(255,255,255,0.78);
}

.ep-header__cta{
  min-height: 2.75rem;
  padding-inline: 1rem;
  box-shadow: 0 14px 30px rgba(0,0,0,0.22);
}

.ep-header__cta--ghost{
  color: rgba(255,255,255,0.88);
}

@media (max-width: 1280px){
  .ep-header__social{
    display: none;
  }
}

@media (max-width: 1160px){
  .ep-header__phone,
  .ep-header__cta--ghost{
    display: none;
  }

  .menu__list,
  .ep-menu__list{
    justify-content: flex-start;
    gap: 0.8rem;
  }

  .menu__link,
  .ep-menu__link{
    font-size: 0.98rem;
  }
}

/* Hero and primary entry points */
.ep-hero{
  border-color: rgba(255,255,255,0.12);
}

.ep-hero--home{
  padding: clamp(1.15rem, 2vw, 1.45rem);
}

.hero__title--home{
  margin-bottom: 0.35rem;
}

.ep-hero__lead{
  font-size: clamp(1rem, 0.45vw + 0.88rem, 1.14rem);
  line-height: 1.55;
  max-width: 36rem;
}

.ep-hero__note{
  margin-top: 0.9rem;
  color: rgba(255,255,255,0.72);
}

.ep-hero__media-card{
  background: linear-gradient(180deg, rgba(255,255,255,0.045), rgba(255,255,255,0.025));
  border-color: rgba(255,255,255,0.10);
}

.ep-hero__media-title{
  font-size: 1.22rem;
}

.ep-hero__list{
  line-height: 1.5;
}

.ep-link-soft{
  color: rgba(255,255,255,0.82);
  text-underline-offset: 0.18em;
}

.ep-link-soft:hover{
  color: rgba(255,255,255,0.98);
}

.ep-pill,
.ep-chip{
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.05);
}

.ep-chip{
  background: rgba(255,255,255,0.045);
}

.ep-chip:hover,
.ep-pill:hover{
  box-shadow: 0 10px 24px rgba(0,0,0,0.14);
}

/* Buttons */
.ep-btn,
a.link,
.link{
  box-shadow: 0 14px 30px rgba(0,0,0,0.26);
}

.ep-btn--ghost{
  background: rgba(255,255,255,0.05);
  border-color: rgba(255,255,255,0.14);
}

.ep-btn--ghost:hover{
  background: rgba(255,255,255,0.09);
}

.ep-btn--primary,
a.link{
  filter: saturate(0.94);
}

/* Service cards and content cards */
.ep-services__subtitle,
.ep-service__desc,
.ep-card__text,
.ep-note,
.ep-bcard__text,
.contacts__value,
.ep-footer__text{
  color: rgba(255,255,255,0.84);
}

.ep-services__chips{
  gap: 0.7rem;
}

.ep-services__grid{
  gap: 1rem;
}

.ep-service{
  border-color: var(--ep-border-soft);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.045), rgba(255,255,255,0.03));
}

.ep-service:hover{
  border-color: rgba(142,255,244,0.24);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.065), rgba(255,255,255,0.035));
}

.ep-service__title{
  font-size: 1.12rem;
}

.ep-service__list{
  gap: 0.62rem;
}

.ep-service__list li{
  line-height: 1.38;
  color: rgba(255,255,255,0.82);
}

.ep-card,
.ep-bcard,
.ep-note,
.contacts__card{
  border-color: var(--ep-border-soft);
  background: linear-gradient(180deg, var(--ep-surface-2), var(--ep-surface-1));
}

.ep-card:hover,
.ep-bcard:hover{
  border-color: var(--ep-border-strong);
  background: linear-gradient(180deg, var(--ep-surface-3), var(--ep-surface-1));
}

.ep-card__title,
.ep-bcard__title,
.contacts__label{
  letter-spacing: 0.01em;
}

.ep-card__meta{
  color: rgba(255,255,255,0.62);
}

/* Home portfolio / works */
.ep-home-portfolio__top{
  align-items: center;
  gap: 0.9rem;
}

.ep-home-portfolio__all{
  flex-shrink: 0;
}

/* Contacts */
.contacts__grid{
  gap: 1.2rem;
}

.contacts__card{
  padding: 1.3rem;
}

.contacts__row{
  padding-block: 0.6rem;
}

.contacts__label{
  min-width: 124px;
  font-size: 0.9rem;
}

.contacts__actions{
  margin-top: 1.15rem;
}

.contacts__actions .link{
  min-height: 2.85rem;
}

/* Footer */
.ep-footer__cta{
  border-color: rgba(255,255,255,0.12);
  background:
    radial-gradient(900px 420px at 0% 0%, rgba(0,255,204,0.10), transparent 58%),
    linear-gradient(180deg, rgba(255,255,255,0.045), rgba(255,255,255,0.025));
}

.ep-footer__grid{
  border-color: rgba(255,255,255,0.12);
  background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.025));
}

.ep-footer__brandname{
  font-size: 1.28rem;
}

.ep-footer__title{
  font-size: 0.96rem;
  margin-bottom: 0.72rem;
}

.ep-footer__links{
  gap: 0.62rem;
}

.ep-footer__links a{
  line-height: 1.38;
}

.ep-footer__bottom{
  gap: 0.9rem;
}

.ep-footer__legal{
  flex-wrap: wrap;
  white-space: normal;
  gap: 0.45rem;
  font-size: 0.78rem;
  line-height: 1.3;
}

.ep-footer__legal a{
  padding: 0.28rem 0.62rem;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.035);
}

.ep-footer__copy{
  color: rgba(255,255,255,0.68);
}

@media (max-width: 980px){
  .ep-footer__copy{
    flex-basis: auto;
  }
}

@media (max-width: 768px){
  .ep-section{
    margin-top: 1.5rem;
  }

  .ep-hero__actions--home,
  .ep-hero__mini-actions,
  .contacts__actions{
    gap: 0.7rem;
  }

  .ep-footer__bottom{
    flex-direction: column;
    align-items: stretch;
  }

  .ep-footer__legal{
    font-size: 0.76rem;
  }

  .ep-footer__legal a{
    justify-content: center;
  }
}

/* ==========================================================
   Everyprint — hotfix v129: desktop header spacing and stability
   ========================================================== */
.ep-header__container{
  column-gap: 1.15rem;
}

.ep-header__logo,
.ep-header__actions{
  flex-shrink: 0;
}

.header__menu,
.ep-menu{
  min-width: 0;
  overflow: visible;
}

.menu__list,
.ep-menu__list{
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  row-gap: 0;
  column-gap: 1.15rem;
}

.menu__item,
.ep-menu__item{
  display: flex;
  align-items: center;
  min-width: 0;
  flex-shrink: 0;
}

.menu__link,
.ep-menu__link{
  display: inline-flex;
  align-items: center;
  min-height: 2.25rem;
}

@media (min-width: 769px){
  .ep-menu__toggle{
    display: none !important;
    width: 0 !important;
    min-width: 0 !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
  }

  .ep-menu__item--dropdown > .ep-menu__link{
    position: relative;
    padding-right: 0.95rem;
  }

  .ep-menu__item--dropdown > .ep-menu__link::after{
    position: absolute;
    top: 50%;
    right: 0.06rem;
    width: 0.42rem;
    height: 0.42rem;
    margin: 0;
    transform: translateY(-62%) rotate(45deg);
  }

  .ep-menu__item--dropdown:hover > .ep-menu__link::after,
  .ep-menu__item--dropdown:focus-within > .ep-menu__link::after{
    transform: translateY(-42%) rotate(-135deg);
  }
}

.ep-header__actions{
  gap: 0.6rem;
}

.ep-header__social{
  gap: 0.4rem;
}

.ep-header__social-link{
  width: 2.2rem;
  height: 2.2rem;
}

.ep-header__phone{
  font-size: 0.88rem;
}

.ep-header__cta{
  min-height: 2.7rem;
}

@media (max-width: 1560px){
  .ep-header__social{
    display: none;
  }
}

@media (max-width: 1380px){
  .ep-header__phone,
  .ep-header__cta--ghost{
    display: none;
  }
}

@media (max-width: 1240px){
  .menu__list,
  .ep-menu__list{
    column-gap: 0.9rem;
  }

  .menu__link,
  .ep-menu__link{
    font-size: 0.96rem;
  }

  .ep-header__cta-text{
    display: none;
  }

  .ep-header__cta{
    padding-inline: 0.8rem;
  }
}

/* ==========================================================
   EP hotfix v130: repair desktop header layout after overflow
   ========================================================== */
.ep-header__container{
  max-width: min(1680px, calc(100vw - 24px)) !important;
  padding-left: clamp(14px, 1.8vw, 28px) !important;
  padding-right: clamp(14px, 1.8vw, 28px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: clamp(.7rem, 1.1vw, 1.25rem) !important;
}

.ep-header__logo,
.header__logo{
  flex: 0 0 auto;
}

.header__menu,
.ep-menu{
  flex: 1 1 auto !important;
  min-width: 0 !important;
  margin-left: clamp(.25rem, .9vw, .8rem) !important;
}

.menu__list,
.ep-menu__list{
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: nowrap !important;
  gap: clamp(.35rem, .8vw, .95rem) !important;
  min-width: 0;
}

.menu__item,
.ep-menu__item{
  flex: 0 1 auto;
}

.menu__link,
.ep-menu__link{
  display: inline-flex;
  align-items: center;
  white-space: nowrap !important;
  font-size: clamp(.9rem, .32vw + .74rem, 1.05rem) !important;
  line-height: 1.05 !important;
}

.ep-header__actions{
  flex: 0 0 auto !important;
  margin-left: auto !important;
  display: flex !important;
  align-items: center !important;
  gap: clamp(.45rem, .8vw, .75rem) !important;
}

.ep-header__social,
.ep-header__phone,
.ep-header__cta,
.ep-header__social-link{
  flex: 0 0 auto;
}

.ep-header__phone{
  font-size: clamp(.84rem, .18vw + .75rem, .96rem) !important;
}

.ep-header__cta{
  min-height: 44px;
  padding-inline: clamp(.9rem, .7vw, 1.15rem) !important;
}

.ep-header__social-link{
  width: 2.2rem !important;
  height: 2.2rem !important;
}

@media (min-width: 769px){
  .ep-menu__toggle{
    display: none !important;
  }
}

@media (max-width: 1460px){
  .ep-header__social{
    display: none !important;
  }

  .menu__list,
  .ep-menu__list{
    gap: clamp(.3rem, .55vw, .7rem) !important;
  }
}

@media (max-width: 1280px){
  .ep-header__phone,
  .ep-header__cta--ghost{
    display: none !important;
  }
}

@media (max-width: 1140px){
  .menu__link,
  .ep-menu__link{
    font-size: .92rem !important;
  }
}

@media (max-width: 1024px){
  .ep-header__container{
    max-width: 71rem !important;
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
    display: flex !important;
  }

  .header__menu,
  .ep-menu{
    flex: 0 0 auto !important;
    margin-left: 0 !important;
  }
}

/* ==========================================================
   Everyprint refinements v131: homepage hierarchy + softer UX
   ========================================================== */

/* Home hero: extra trust line */
.ep-hero__trustline{
  margin-top: 1rem;
  display:flex;
  flex-wrap:wrap;
  gap: .6rem .75rem;
  color: rgba(255,255,255,.76);
  font-size: .9rem;
  line-height: 1.3;
}
.ep-hero__trustline span{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.45rem .7rem;
  border-radius:999px;
  background: rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
}
.ep-hero__trustline span::before{
  content:"";
  width:.35rem;
  height:.35rem;
  border-radius:999px;
  background:#01d1bc;
  box-shadow:0 0 0 .12rem rgba(1,209,188,.12);
}

/* Section heads */
.ep-section__head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:1rem 1.5rem;
  flex-wrap:wrap;
  margin-bottom: 1.1rem;
}
.ep-section__head .title,
.ep-section__head h2{
  margin:0;
}
.ep-section__head .ep-lead{
  margin: .75rem 0 0;
  max-width: 64ch;
}
.ep-section__head-link,
.ep-section__cta{
  white-space: nowrap;
}
.ep-section__head--contacts{
  margin-bottom: 1.35rem;
}
.ep-lead--contacts{
  max-width: 60ch;
}

/* Route cards and generic cards used on homepage */
.ep-grid--routes{
  gap: 1rem;
}
.ep-grid--routes .ep-card,
.ep-section--soft .ep-card,
.ep-section--resources .ep-bcard{
  position:relative;
  overflow:hidden;
}
.ep-grid--routes .ep-card{
  padding: 1.05rem 1rem 1rem;
  background:
    radial-gradient(520px 180px at 0% 0%, rgba(1,209,188,.08), transparent 60%),
    rgba(255,255,255,.04);
  border-color: rgba(255,255,255,.12);
  box-shadow: 0 10px 28px rgba(0,0,0,.14);
}
.ep-grid--routes .ep-card:hover{
  transform: translateY(-3px);
  border-color: rgba(1,209,188,.26);
  background:
    radial-gradient(520px 200px at 0% 0%, rgba(1,209,188,.12), transparent 60%),
    rgba(255,255,255,.06);
}
.ep-cardlink > div:first-child{
  font-size: 1.02rem;
  line-height: 1.22;
  padding-right: 1.6rem;
}
.ep-cardlink > div:first-child::after{
  content:"→";
  position:absolute;
  top: 1rem;
  right: 1rem;
  font-size: 1rem;
  line-height:1;
  color: rgba(255,255,255,.5);
  transition: transform .18s ease, color .18s ease;
}
.ep-cardlink:hover > div:first-child::after{
  transform: translateX(3px);
  color: rgba(1,209,188,.9);
}
.ep-cardlink .ep-muted{
  display:block;
  margin-top: .6rem;
  font-size: .92rem;
  line-height: 1.42;
  opacity: .82;
}
.ep-section--soft .ep-card{
  background:
    radial-gradient(580px 180px at 100% 0%, rgba(255,255,255,.06), transparent 58%),
    rgba(255,255,255,.045);
}

/* FAQ head + accordions polish */
.ep-faq-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:1rem 1.5rem;
  flex-wrap:wrap;
  margin-bottom: 1.35rem;
}
.ep-faq-head__lead{
  margin: .75rem 0 0;
  max-width: 60ch;
  color: rgba(255,255,255,.78);
  line-height:1.45;
}
.ep-faq-head__actions{
  display:flex;
  align-items:center;
  gap: .9rem;
  flex-wrap:wrap;
}
.faq .spollers__item{
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  overflow:hidden;
  box-shadow: 0 10px 24px rgba(0,0,0,.12);
}
.faq .spollers__item + .spollers__item{
  margin-top: .8rem;
}
.faq .spollers__title{
  padding: 1rem 1.1rem;
  background: linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.01));
}
.faq .spollers__body{
  padding: .1rem 1.1rem 1rem;
}
.faq .spollers__caption{
  color: rgba(255,255,255,.92);
}
.faq .spollers__box,
.faq .spollers__body li{
  line-height: 1.45;
}

/* Contacts */
.contacts{
  padding-top: 5.5rem;
  padding-bottom: 5.75rem;
}
.contacts__card,
.contacts__map--card{
  background:
    radial-gradient(620px 200px at 0% 0%, rgba(1,209,188,.07), transparent 62%),
    rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 14px 32px rgba(0,0,0,.16);
}
.contacts__card{
  padding: 1.5rem;
}
.contacts__label{
  min-width: 7rem;
}
.contacts__value{
  line-height: 1.45;
}
.contacts__badges{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
  margin-top: 1rem;
}
.contacts__actions{
  margin-top: 1.1rem;
  align-items:center;
}
.contacts__actions .link,
.contacts__actions .ep-pill{
  min-height: 2.85rem;
}
.contacts__map--card{
  border-radius: 18px;
  padding: .55rem;
}
.contacts__map--card iframe{
  min-height: 380px;
}

/* Useful materials cards */
.ep-section--resources .ep-bcards{
  margin-top: .25rem;
  gap: 1rem;
}
.ep-bcard{
  position:relative;
  overflow:hidden;
  padding: 1rem 1rem 1rem;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.10);
  background:
    radial-gradient(560px 160px at 0% 0%, rgba(255,255,255,.04), transparent 60%),
    rgba(255,255,255,.04);
  box-shadow: 0 12px 28px rgba(0,0,0,.14);
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
.ep-bcard:hover{
  transform: translateY(-3px);
  border-color: rgba(255,255,255,.18);
  background:
    radial-gradient(560px 180px at 0% 0%, rgba(255,255,255,.06), transparent 60%),
    rgba(255,255,255,.055);
}
.ep-bcard__title{
  font-size: 1.02rem;
  line-height: 1.28;
}
.ep-bcard__text{
  margin-top: .8rem;
  font-size: .93rem;
  line-height: 1.48;
}
.ep-bcard__meta{
  margin-top: .9rem;
  font-size: .76rem;
}
.ep-bcard__pill,
.ep-bcard__badge{
  display:inline-flex;
  align-items:center;
  padding: .38rem .6rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.82);
  white-space: nowrap;
  font-size: .75rem;
  line-height:1;
}

/* Chips and section rhythm on home */
.ep-services__chips{
  gap: .65rem;
}
.ep-chip{
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}
.ep-services__grid{
  gap: 1rem;
}
.ep-service{
  box-shadow: 0 12px 28px rgba(0,0,0,.14);
}
.ep-home-portfolio__top,
.ep-services__head{
  margin-bottom: .25rem;
}

@media (max-width: 64rem){
  .ep-section__head,
  .ep-faq-head{
    align-items:flex-start;
  }
}

@media (max-width: 48rem){
  .ep-hero__trustline{
    font-size:.84rem;
  }
  .contacts{
    padding-top: 4.5rem;
    padding-bottom: 4.5rem;
  }
  .contacts__card{
    padding: 1.15rem;
  }
  .contacts__map--card iframe{
    min-height: 320px;
  }
}

@media (max-width: 40rem){
  .ep-cardlink > div:first-child::after{
    top: .95rem;
    right: .95rem;
  }
  .ep-bcard,
  .ep-grid--routes .ep-card{
    border-radius: 16px;
  }
}

/* ==========================================================
   Everyprint refinements v132: collection pages polish
   ========================================================== */

.ep-breadcrumbs{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:.45rem;
  margin-bottom: 1rem;
  color: rgba(255,255,255,.62);
  font-size: .9rem;
}
.ep-breadcrumbs a{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  padding:.3rem .6rem;
  border-radius:999px;
  background: rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  color: rgba(255,255,255,.88);
  text-decoration:none;
}
.ep-breadcrumbs a:hover{
  border-color: rgba(1,209,188,.22);
  color:#fff;
}

.ep-portfolio-hero--collection,
.ep-material-hero,
.ep-blog-hero{
  overflow:hidden;
}

.ep-portfolio-hero--collection::before,
.ep-material-hero::after,
.ep-blog-hero::after{
  content:"";
  position:absolute;
  inset:auto auto -42px -42px;
  width:180px;
  height:180px;
  border-radius:50%;
  background: radial-gradient(circle, rgba(1,209,188,.14) 0%, rgba(1,209,188,0) 72%);
  pointer-events:none;
}

.ep-collection-hero__actions{
  margin-top: 1.1rem;
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  align-items:center;
}

.ep-collection-hero__actions .ep-btn{
  min-height: 2.9rem;
}

.ep-collection-hero__link{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  color: rgba(255,255,255,.86);
  text-decoration:none;
  font-weight:600;
}
.ep-collection-hero__link:hover{
  color:#fff;
  text-decoration:none;
}

.ep-collection-hero__stats{
  margin-top: 1rem;
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:.8rem;
}

.ep-collection-hero__stat{
  display:flex;
  flex-direction:column;
  gap:.25rem;
  padding:.85rem .9rem;
  border-radius: 18px;
  border:1px solid rgba(255,255,255,.1);
  background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.03));
  box-shadow: 0 12px 28px rgba(0,0,0,.14);
}

.ep-collection-hero__stat strong{
  font-size:.96rem;
  line-height:1.25;
}

.ep-collection-hero__stat small{
  color: rgba(255,255,255,.72);
  font-size:.85rem;
  line-height:1.4;
}

.ep-note--action{
  background:
    radial-gradient(540px 180px at 100% 0%, rgba(1,209,188,.08), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.03));
}

.ep-note--action p:last-child,
.ep-note--action .ep-actions,
.ep-note--action .ep-btn,
.ep-note--action .btn{
  margin-top: .9rem;
}

.ep-section__head--listing{
  margin-bottom: 1rem;
}

.ep-section__head--listing .ep-lead{
  color: rgba(255,255,255,.76);
  max-width: 64ch;
}

.ep-portfolio-gridhead{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
  margin-bottom: 1rem;
}

.ep-portfolio-gridhead__title{
  font-size: clamp(1.35rem, 1.2vw + 1rem, 1.8rem);
}

.ep-portfolio-gridhead__meta{
  display:inline-flex;
  align-items:center;
  padding:.5rem .8rem;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.04);
}

.ep-portfolio-card{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.1);
  box-shadow: 0 14px 30px rgba(0,0,0,.16);
}

.ep-portfolio-card::after{
  content:"Открыть";
  position:absolute;
  right:.8rem;
  bottom:.8rem;
  padding:.38rem .65rem;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  background: rgba(0,0,0,.34);
  color:#fff;
  font-size:.78rem;
  line-height:1;
  opacity:0;
  transform: translateY(6px);
  transition: opacity .18s ease, transform .18s ease;
}

.ep-portfolio-card:hover::after{
  opacity:1;
  transform: translateY(0);
}

.ep-blog-controls{
  padding: .95rem 1rem;
  border-radius: 20px;
  border:1px solid rgba(255,255,255,.1);
  background:
    radial-gradient(560px 180px at 0% 0%, rgba(1,209,188,.06), transparent 62%),
    rgba(255,255,255,.035);
  box-shadow: 0 12px 28px rgba(0,0,0,.14);
}

.ep-blog-filters{
  display:flex;
  flex-wrap:wrap;
  gap:.6rem;
}

.ep-blog-filters .ep-chip{
  min-height: 2.45rem;
}

.ep-blog-search input{
  min-height: 2.9rem;
  border-radius: 14px;
  border-color: rgba(255,255,255,.1);
  background: rgba(255,255,255,.05);
}

.ep-mcard{
  box-shadow: 0 12px 28px rgba(0,0,0,.14);
}

.ep-mcard:hover{
  transform: translateY(-3px);
  border-color: rgba(1,209,188,.22);
}

.ep-mcard__text,
.ep-mcard__list{
  line-height:1.45;
}

.ep-cardlink.ep-card--accent{
  background:
    radial-gradient(580px 220px at 0% 0%, rgba(1,209,188,.12), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
}

@media (max-width: 980px){
  .ep-collection-hero__stats{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px){
  .ep-blog-controls,
  .ep-collection-hero__stat{
    border-radius: 16px;
  }

  .ep-breadcrumbs{
    gap:.35rem;
    font-size:.84rem;
  }

  .ep-breadcrumbs a{
    padding:.26rem .52rem;
  }
}



/* ===== Service pages polish v133 ===== */
.ep-material-hero__content{
  display:flex;
  flex-direction:column;
  gap:.2rem;
}
.ep-hero-sidecard{
  width:min(100%, 380px);
  padding: 1rem 1rem 1rem;
  border-radius: 20px;
  background:
    radial-gradient(520px 220px at 0% 0%, rgba(1,209,188,.10), transparent 60%),
    rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.12);
  box-shadow: 0 18px 40px rgba(0,0,0,.20);
}
.ep-hero-sidecard--wide{
  width:min(100%, 420px);
}
.ep-hero-sidecard__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.4rem .7rem;
  border-radius:999px;
  background: rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.74);
  font-size:.78rem;
  font-weight:600;
  letter-spacing:.01em;
}
.ep-hero-sidecard__title{
  margin:.8rem 0 .55rem;
  font-size:1.02rem;
  font-weight:700;
  line-height:1.25;
}
.ep-hero-sidecard__list{
  margin:0;
  padding-left: 1.1rem;
  color: rgba(255,255,255,.82);
  line-height:1.52;
}
.ep-hero-sidecard__list li + li{
  margin-top:.42rem;
}
.ep-hero-sidecard__note{
  margin-top:.8rem;
  color: rgba(255,255,255,.72);
  font-size:.92rem;
  line-height:1.45;
}
.ep-section-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:1rem 1.4rem;
  flex-wrap:wrap;
  margin-bottom:1rem;
}
.ep-section-head h2{
  margin:0;
}
.ep-section-head__text{
  max-width: 70ch;
}
.ep-section-head__lead{
  margin:.55rem 0 0;
  color: rgba(255,255,255,.78);
  line-height:1.52;
}
.ep-section-head__actions{
  display:flex;
  align-items:center;
  gap:.7rem;
  flex-wrap:wrap;
}
.ep-badges--section{
  margin-top:0;
}
.ep-badge--muted{
  background: rgba(255,255,255,.045);
}
.ep-checkgrid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap:12px;
  margin-top: .2rem;
}
.ep-checkgrid__item{
  padding: 13px 14px;
  border-radius: 16px;
  background: rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.10);
  color: rgba(255,255,255,.9);
  line-height:1.45;
}
.ep-checkgrid__item strong{
  display:block;
  margin-bottom:.22rem;
  font-size:.98rem;
}
.ep-inline-card{
  margin-top:1rem;
  padding: .95rem 1rem;
  border-radius: 18px;
  background: rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.10);
}
.ep-inline-card .ep-card__title{
  margin:0;
}
.ep-inline-card .ep-card__text{
  margin-top:.45rem;
}
.ep-prose .ep-kpi__hint{
  margin-top:.3rem;
  color: rgba(255,255,255,.68);
  line-height:1.42;
  font-size:.86rem;
}
.ep-post-hero .ep-inline-card{
  margin-top: 1rem;
  background: rgba(255,255,255,.05);
}
.ep-post-hero .ep-inline-card .ep-services__chips{
  margin-top:.7rem;
}
@media (max-width: 980px){
  .ep-checkgrid{
    grid-template-columns: 1fr;
  }
  .ep-hero-sidecard,
  .ep-hero-sidecard--wide{
    width:100%;
  }
}

/* ===== Geo pages polish v134 ===== */
.ep-page--geo .ep-material-hero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(760px 320px at 0% 0%, rgba(1,209,188,.12), transparent 60%),
    radial-gradient(560px 240px at 100% 0%, rgba(255,255,255,.06), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.025));
  border:1px solid rgba(255,255,255,.10);
  box-shadow: 0 24px 56px rgba(0,0,0,.20);
}
.ep-page--geo .ep-material-hero__inner{
  align-items:stretch;
  gap: 1.2rem 1.4rem;
}
.ep-page--geo .ep-material-hero__content,
.ep-page--geo .ep-material-hero__inner > div:first-child{
  display:flex;
  flex-direction:column;
  gap:.15rem;
}
.ep-page--geo .ep-material-hero__lead{
  max-width:68ch;
}
.ep-page--geo .ep-actions{
  gap:.72rem;
}
.ep-page--geo .ep-kpi{
  margin-top: 1rem;
}
.ep-page--geo .ep-prose > h2{
  margin-top: 2rem;
  margin-bottom: .8rem;
  font-size: clamp(1.42rem, 2.1vw, 1.9rem);
  line-height:1.15;
}
.ep-page--geo .ep-prose > h3{
  margin-top: 1.5rem;
  margin-bottom: .7rem;
}
.ep-page--geo .ep-prose > p,
.ep-page--geo .ep-prose > ul,
.ep-page--geo .ep-prose > ol{
  max-width: 76ch;
}
.ep-page--geo .ep-prose > ul,
.ep-page--geo .ep-prose > ol{
  padding-left: 1.2rem;
}
.ep-page--geo .ep-prose > ul li + li,
.ep-page--geo .ep-prose > ol li + li{
  margin-top: .52rem;
}
.ep-page--geo .ep-callout{
  background:
    radial-gradient(540px 220px at 0% 0%, rgba(1,209,188,.10), transparent 60%),
    rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.10);
  box-shadow: 0 16px 34px rgba(0,0,0,.16);
}
.ep-page--geo .ep-card,
.ep-page--geo .ep-cardlink{
  box-shadow: 0 14px 30px rgba(0,0,0,.14);
}
.ep-page--geo .ep-card__text,
.ep-page--geo .ep-faq__body,
.ep-page--geo .ep-muted{
  color: rgba(255,255,255,.78);
}
.ep-page--geo .ep-services__chips a,
.ep-page--geo .ep-services__chips span{
  background: rgba(255,255,255,.05);
  border-color: rgba(255,255,255,.10);
}
.ep-page--geo .ep-note,
.ep-page--geo .ep-toc{
  box-shadow: 0 14px 28px rgba(0,0,0,.12);
}
.ep-page--geo .ep-geo-groups .ep-cardlink{
  min-height: 100%;
}
.ep-page--geo .ep-faq{
  margin-top: .3rem;
}
@media (max-width: 980px){
  .ep-page--geo .ep-material-hero__inner{
    grid-template-columns: 1fr;
  }
}
@media (max-width: 760px){
  .ep-page--geo .ep-material-hero{
    border-radius: 22px;
    padding: 1.1rem;
  }
  .ep-page--geo .ep-actions{
    gap:.55rem;
  }
  .ep-page--geo .ep-actions .ep-btn{
    width:100%;
    justify-content:center;
  }
  .ep-page--geo .ep-kpi{
    gap:.65rem;
  }
  .ep-page--geo .ep-kpi__item{
    border-radius: 16px;
  }
  .ep-page--geo .ep-prose > h2{
    margin-top: 1.7rem;
    font-size: 1.34rem;
  }
}

/* ===== 20260324_07: niche/article/case consistency polish ===== */
.ep-hero-panel{
  width:min(100%, 340px);
  border-radius: 22px;
  padding: 1rem 1rem 1rem;
  background:
    radial-gradient(520px 220px at 10% 10%, rgba(32,214,190,.16), transparent 62%),
    radial-gradient(520px 220px at 90% 0%, rgba(65,160,255,.12), transparent 62%),
    rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 22px 44px rgba(0,0,0,.28);
}
.ep-hero-panel__title{
  margin: 0 0 .7rem;
  font-size: 1rem;
  font-weight: 700;
  color: rgba(255,255,255,.94);
}
.ep-hero-panel__list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: .6rem;
}
.ep-hero-panel__list li{
  position: relative;
  margin: 0;
  padding-left: 1rem;
  color: rgba(255,255,255,.86);
  line-height: 1.45;
}
.ep-hero-panel__list li::before{
  content: "";
  position: absolute;
  left: 0;
  top: .48rem;
  width: .42rem;
  height: .42rem;
  border-radius: 50%;
  background: linear-gradient(180deg, #7ef4e4, #36a8ff);
  box-shadow: 0 0 0 6px rgba(126,244,228,.09);
}
.ep-hero-panel__note{
  margin-top: .8rem;
  padding-top: .75rem;
  border-top: 1px solid rgba(255,255,255,.10);
  color: rgba(255,255,255,.68);
  font-size: .9rem;
  line-height: 1.45;
}

.ep-page--niche .ep-material-hero{
  background:
    radial-gradient(1200px 420px at 12% -18%, rgba(32,214,190,.18), transparent 58%),
    radial-gradient(900px 360px at 95% 0%, rgba(65,160,255,.13), transparent 58%),
    rgba(12,12,12,.8);
}
.ep-page--niche .ep-material-hero__inner{
  grid-template-columns: minmax(0,1.18fr) minmax(280px,.82fr);
  align-items: start;
  gap: 18px;
}
.ep-page--niche .ep-material-hero__side{
  display:flex;
  justify-content:flex-end;
  align-self: stretch;
}
.ep-page--niche .ep-trustbar{
  margin-top: 1rem;
}
.ep-page--niche .ep-kpi{
  margin-top: 1rem;
}
.ep-page--niche .ep-prose > h2,
.ep-page--niche .ep-section > h2{
  position: relative;
  padding-left: .95rem;
  margin-bottom: 1rem;
}
.ep-page--niche .ep-prose > h2::before,
.ep-page--niche .ep-section > h2::before{
  content:"";
  position:absolute;
  left:0;
  top:.28em;
  width:4px;
  height:1.1em;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(32,214,190,.96), rgba(65,160,255,.92));
  box-shadow: 0 0 0 8px rgba(32,214,190,.08);
}
.ep-page--niche .ep-card,
.ep-page--niche .ep-note,
.ep-page--niche .ep-callout{
  box-shadow: 0 18px 34px rgba(0,0,0,.16);
}
.ep-page--niche .ep-cardlink{
  min-height: 100%;
}
.ep-page--niche .ep-actions{
  margin-top: 1rem;
}

.ep-page--article .ep-material-hero,
.ep-page--case .ep-material-hero,
.ep-page--industry .ep-material-hero{
  background:
    radial-gradient(1000px 340px at 12% -15%, rgba(32,214,190,.15), transparent 58%),
    radial-gradient(860px 320px at 95% 0%, rgba(65,160,255,.11), transparent 58%),
    rgba(12,12,12,.76);
}
.ep-page--article .ep-breadcrumbs,
.ep-page--case .ep-breadcrumbs,
.ep-page--industry .ep-breadcrumbs{
  margin-bottom: .95rem;
}
.ep-page--article .ep-toc,
.ep-page--industry .ep-toc{
  padding: 1rem 1.1rem;
  border-radius: 20px;
  background:
    radial-gradient(700px 220px at 10% 0%, rgba(32,214,190,.10), transparent 62%),
    rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.10);
}
.ep-page--article .ep-toc ul,
.ep-page--industry .ep-toc ul{
  columns: 2;
  column-gap: 28px;
}
.ep-page--article .ep-toc li,
.ep-page--industry .ep-toc li{
  break-inside: avoid;
}
.ep-page--article .ep-note,
.ep-page--case .ep-note,
.ep-page--industry .ep-note{
  border-radius: 18px;
  background:
    radial-gradient(560px 220px at 10% 0%, rgba(32,214,190,.12), transparent 65%),
    rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.11);
  box-shadow: 0 18px 36px rgba(0,0,0,.16);
}
.ep-page--article .ep-bcards,
.ep-page--industry .ep-bcards,
.ep-page--case .ep-grid{
  align-items: stretch;
}
.ep-page--article .ep-bcard,
.ep-page--industry .ep-bcard,
.ep-page--case .ep-cardlink{
  box-shadow: 0 18px 34px rgba(0,0,0,.16);
}
.ep-page--case .ep-material-hero__title{
  max-width: 16ch;
}
.ep-page--case .ep-material-hero__lead{
  font-size: 1.02rem;
  line-height: 1.55;
  margin: .9rem 0 0;
}
.ep-page--case .ep-card--media{
  border-radius: 22px;
  background:
    radial-gradient(640px 220px at 10% 0%, rgba(32,214,190,.10), transparent 62%),
    rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.10);
}
.ep-page--case .ep-cardlink,
.ep-page--industry .ep-cardlink{
  min-height: 100%;
}
.ep-page--article .ep-btn-row,
.ep-page--case .ep-btn-row,
.ep-page--industry .ep-btn-row{
  margin-top: 1rem;
}
.ep-page--industry .ep-material-hero__icon{
  width: 120px;
  height: 120px;
  border-radius: 30px;
}
.ep-page--industry .ep-prose > h2,
.ep-page--article .ep-prose > h2,
.ep-page--case .ep-prose > h2{
  margin-top: 1.65rem;
}
@media (max-width: 900px){
  .ep-page--niche .ep-material-hero__inner,
  .ep-page--industry .ep-material-hero__inner{
    grid-template-columns: 1fr;
  }
  .ep-page--niche .ep-material-hero__side,
  .ep-page--industry .ep-material-hero__side{
    justify-content: flex-start;
  }
  .ep-page--article .ep-toc ul,
  .ep-page--industry .ep-toc ul{
    columns: 1;
  }
}
@media (max-width: 640px){
  .ep-hero-panel{
    width: 100%;
    padding: .95rem .95rem;
  }
  .ep-page--niche .ep-actions .ep-btn,
  .ep-page--article .ep-btn-row .ep-btn,
  .ep-page--case .ep-btn-row .ep-btn,
  .ep-page--industry .ep-btn-row .ep-btn{
    width: 100%;
    justify-content: center;
  }
}

/* =========================
   Everyprint final micro polish v136
   ========================= */

/* Старые .btn приводим к новой системе, чтобы внутренние страницы не выпадали по стилю */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  min-height:48px;
  padding:.9rem 1.25rem;
  border-radius:999px;
  border:1px solid transparent;
  font-weight:700;
  font-size:1.02rem;
  line-height:1.05;
  text-decoration:none !important;
  color:#00110f;
  background: linear-gradient(90deg, #00ffcc, #00ccff);
  box-shadow: 0 14px 34px rgba(0,0,0,.3);
  transition: transform .18s ease, filter .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
}
.btn:hover{ transform: translateY(-1px); filter: brightness(1.03); text-decoration:none !important; }
.btn:active{ transform: translateY(0); filter: brightness(.985); }
.btn:focus-visible{ outline:none; box-shadow: 0 0 0 3px rgba(0,255,204,.28), 0 14px 34px rgba(0,0,0,.35); }
.btn--ghost{
  color: rgba(255,255,255,.94);
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.16);
  box-shadow: 0 14px 34px rgba(0,0,0,.24);
}
.btn--ghost:hover{ background: rgba(255,255,255,.1); border-color: rgba(142,255,244,.42); }
.btn--primary{ color:#00110f; }

.ep-breadcrumbs{
  display:flex;
  flex-wrap:wrap;
  gap:.38rem .52rem;
  align-items:center;
  padding:.55rem .85rem;
  border:1px solid rgba(255,255,255,.1);
  background: rgba(255,255,255,.035);
  border-radius: 999px;
  width: fit-content;
  max-width: 100%;
  box-shadow: 0 10px 26px rgba(0,0,0,.12);
}
.ep-breadcrumbs a{
  color: rgba(255,255,255,.9);
  text-decoration: none;
}
.ep-breadcrumbs a:hover{ color:#8efff4; }

.ep-note,
.ep-card,
.ep-cardlike,
.ep-kpi__item,
.ep-spec,
.ep-toc,
.ep-faq__item,
.ep-bcard,
.ep-hero-panel{
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.ep-card,
.ep-cardlink,
.ep-bcard,
.ep-cardlike{
  box-shadow: 0 16px 34px rgba(0,0,0,.16);
}
.ep-card:hover,
.ep-cardlink:hover,
.ep-bcard:hover,
.ep-cardlike:hover{
  box-shadow: 0 22px 42px rgba(0,0,0,.2);
}

.ep-prose ul,
.ep-prose ol{
  padding-left: 0;
  margin-left: 0;
}
.ep-prose ul li,
.ep-prose ol li{
  list-style:none;
  position:relative;
  padding-left: 1.2rem;
  margin:.52rem 0;
}
.ep-prose ul li::before{
  content:"";
  position:absolute;
  left:0;
  top:.7em;
  width:.42rem;
  height:.42rem;
  border-radius:999px;
  background: linear-gradient(180deg, #8efff4, #20d6be);
  box-shadow: 0 0 0 4px rgba(142,255,244,.12);
}
.ep-prose ol{ counter-reset: ep-ol; }
.ep-prose ol li::before{
  counter-increment: ep-ol;
  content: counter(ep-ol);
  position:absolute;
  left:0;
  top:.1rem;
  width:1.05rem;
  height:1.05rem;
  border-radius:999px;
  display:grid;
  place-items:center;
  font-size:.7rem;
  font-weight:700;
  color:#00110f;
  background: linear-gradient(180deg, #8efff4, #20d6be);
  box-shadow: 0 0 0 4px rgba(142,255,244,.12);
}
.ep-prose .ep-table td ul li::before,
.ep-prose .ep-table td ol li::before,
.ep-prose .ep-toc ul li::before,
.ep-prose .ep-bcards ul li::before,
.ep-prose .ep-faq ul li::before{ box-shadow:none; }

.ep-toc{
  border-color: rgba(142,255,244,.14);
  background:
    radial-gradient(540px 180px at 0% 0%, rgba(32,214,190,.08), transparent 60%),
    rgba(255,255,255,.045);
}
.ep-toc__title{
  display:flex;
  align-items:center;
  gap:.55rem;
}
.ep-toc__title::before{
  content:"";
  width:.55rem;
  height:.55rem;
  border-radius:999px;
  background: linear-gradient(180deg, #8efff4, #20d6be);
  box-shadow: 0 0 0 5px rgba(142,255,244,.12);
}
.ep-toc ul{ margin-top:.7rem; }
.ep-toc li + li{ margin-top:.42rem; }
.ep-toc a{
  display:inline-block;
  color: rgba(255,255,255,.92);
  border-bottom-color: rgba(142,255,244,.25);
}
.ep-toc a:hover{ color:#8efff4; border-bottom-color: rgba(142,255,244,.55); }

.ep-faq{
  display:grid;
  gap:.8rem;
}
.ep-faq__item,
.ep-faq details{
  position:relative;
  border:1px solid rgba(255,255,255,.11);
  background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.035));
  border-radius: 18px;
  overflow:hidden;
  transition: border-color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease;
}
.ep-faq__item:hover,
.ep-faq details:hover{
  border-color: rgba(142,255,244,.24);
  box-shadow: 0 16px 32px rgba(0,0,0,.16);
}
.ep-faq__item[open],
.ep-faq details[open]{
  border-color: rgba(142,255,244,.28);
  background: linear-gradient(180deg, rgba(255,255,255,.065), rgba(255,255,255,.04));
}
.ep-faq__item summary,
.ep-faq summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding: 1rem 1.15rem;
  list-style:none;
}
.ep-faq__item summary::after,
.ep-faq summary::after{
  content:"+";
  flex:0 0 auto;
  width:1.7rem;
  height:1.7rem;
  border-radius:999px;
  display:grid;
  place-items:center;
  font-size:1rem;
  font-weight:700;
  color: rgba(255,255,255,.92);
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.05);
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
}
.ep-faq__item[open] summary::after,
.ep-faq details[open] summary::after{
  content:"\2212";
  transform: rotate(180deg);
  background: rgba(142,255,244,.12);
  border-color: rgba(142,255,244,.24);
}
.ep-faq__body,
.ep-faq details > p,
.ep-faq details > div{
  padding: 0 1.15rem 1rem;
  color: rgba(255,255,255,.82);
}

.ep-table-wrap{
  border-radius: 1rem;
  border:1px solid rgba(255,255,255,.1);
  box-shadow: 0 16px 34px rgba(0,0,0,.12);
  background: rgba(255,255,255,.03);
}
.ep-prose .ep-table{ margin:0; border:0; border-radius: inherit; }
.ep-prose .ep-table th{
  background: rgba(255,255,255,.08);
  color: rgba(255,255,255,.94);
}

.ep-note{
  border-color: rgba(255,255,255,.12);
  background:
    radial-gradient(560px 180px at 0% 0%, rgba(32,214,190,.09), transparent 60%),
    rgba(255,255,255,.05);
  box-shadow: 0 18px 36px rgba(0,0,0,.14);
}
.ep-note > b:first-child,
.ep-note strong:first-child{
  display:block;
  margin-bottom:.2rem;
  font-size:1.02rem;
}

.ep-page--material .ep-material-hero{
  border-color: rgba(142,255,244,.16);
  box-shadow: 0 20px 44px rgba(0,0,0,.18);
}
.ep-page--material .ep-material-hero__icon{
  width: 118px;
  height: 118px;
  border-radius: 30px;
  background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04));
}
.ep-page--material .ep-meta{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding:.48rem .78rem;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.1);
  background: rgba(255,255,255,.035);
  color: rgba(255,255,255,.74);
  font-size:.85rem;
}
.ep-page--material .ep-meta::before{
  content:"";
  width:.45rem;
  height:.45rem;
  border-radius:999px;
  background: linear-gradient(180deg, #8efff4, #20d6be);
}
.ep-page--material .ep-spec{
  box-shadow: 0 18px 36px rgba(0,0,0,.15);
}
.ep-page--material .ep-cardlike{
  min-height: 100%;
  box-shadow: 0 16px 34px rgba(0,0,0,.14);
}
.ep-page--material .ep-note p:last-child{
  display:flex;
  flex-wrap:wrap;
  gap:.7rem;
  align-items:center;
}

.ep-blogpost-hero,
.ep-material-hero,
.ep-collection-hero,
.ep-page--case .ep-material-hero{
  box-shadow: 0 24px 46px rgba(0,0,0,.2);
}

@media (max-width: 760px){
  .ep-breadcrumbs{
    width: 100%;
    border-radius: 18px;
    padding:.7rem .85rem;
  }
  .btn,
  .ep-page--material .ep-note p:last-child .btn,
  .ep-page--material .ep-note p:last-child .ep-btn{
    width:100%;
  }
  .ep-faq__item summary,
  .ep-faq summary{
    padding:.92rem 1rem;
  }
  .ep-faq__body,
  .ep-faq details > p,
  .ep-faq details > div{
    padding: 0 1rem .95rem;
  }
}

/* === v20260324_09: final conversion pages + mobile polish === */
.ep-conversion-hero{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(18rem,.82fr);
  gap:1.1rem;
  align-items:stretch;
  padding:1.1rem;
  margin:0 0 1rem;
  border-radius:1.35rem;
  border:1px solid rgba(255,255,255,.12);
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03)),
    radial-gradient(circle at top right, rgba(0,255,212,.14), transparent 38%),
    rgba(9,13,22,.86);
  box-shadow:0 20px 54px rgba(0,0,0,.28);
}
.ep-conversion-hero__main{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
}
.ep-conversion-hero__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  width:max-content;
  max-width:100%;
  margin:0 0 .75rem;
  padding:.42rem .72rem;
  border-radius:999px;
  border:1px solid rgba(142,255,244,.24);
  background:rgba(255,255,255,.05);
  color:rgba(228,255,250,.92);
  font-size:.82rem;
  font-weight:600;
  letter-spacing:.03em;
}
.ep-conversion-hero__main h1{
  margin:0 0 .75rem;
  font-size:clamp(1.9rem,2.5vw,3rem);
  line-height:1.05;
}
.ep-conversion-hero__main .ep-lead{
  max-width:56rem;
  margin:0;
  color:rgba(255,255,255,.84);
}
.ep-conversion-hero__main .ep-actions{ margin-top:1rem; }
.ep-conversion-hero__side{
  min-width:0;
  display:flex;
}
.ep-conversion-hero__card{
  position:relative;
  width:100%;
  padding:1rem 1rem 1rem 1.05rem;
  border-radius:1.1rem;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  box-shadow:0 14px 32px rgba(0,0,0,.22);
}
.ep-conversion-hero__card::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  border-radius:inherit;
  background:linear-gradient(180deg, rgba(0,255,212,.78), rgba(142,255,244,.18));
}
.ep-conversion-hero__card-title{
  margin:0 0 .7rem;
  padding-left:.1rem;
  font-size:1rem;
  font-weight:700;
  color:#f6fffd;
}
.ep-conversion-hero__list{
  margin:0;
  padding-left:1.05rem;
  color:rgba(255,255,255,.8);
}
.ep-conversion-hero__list li + li{ margin-top:.45rem; }
.ep-conversion-hero__note{
  margin-top:.8rem;
  color:rgba(255,255,255,.72);
  font-size:.93rem;
  line-height:1.52;
}
.ep-conversion-hero__note a{ color:#8efff4; }

.ep-page--tool .ep-prose > .ep-kpi:first-of-type,
.ep-page--tool .ep-kpi{
  margin-top:0;
}
.ep-page--tool .ep-prose > .ep-kpi:first-of-type{
  margin-bottom:1rem;
}
.ep-page--tool .ep-prose > .ep-kpi:first-of-type .ep-kpi__item{
  min-height:100%;
}

.ep-page--service-core .ep-material-hero,
.ep-page--service-core .ep-post-hero,
.ep-page--service-core .ep-hero{
  box-shadow:0 22px 56px rgba(0,0,0,.25);
}
.ep-page--service-core .ep-material-hero__inner{
  align-items:stretch;
}
.ep-page--service-core .ep-trustbar{ margin-top:1rem; }
.ep-page--service-core .ep-mini-cases{ margin-top:1rem; }

.ep-page--utility h1{
  margin-bottom:.7rem;
}
.ep-page--utility .ep-prose > p:first-of-type{
  max-width:48rem;
  color:rgba(255,255,255,.8);
}

.ep-portfolio-card,
.ep-case-card,
.ep-cardlink,
.ep-bcard,
.ep-card{
  will-change:transform;
}
.ep-portfolio-card:focus-visible,
.ep-case-card:focus-visible,
.ep-cardlink:focus-visible,
.ep-bcard:focus-visible,
.ep-card:focus-visible{
  outline:none;
  box-shadow:0 0 0 3px rgba(0,255,204,.28), 0 18px 38px rgba(0,0,0,.3);
}

.ep-actions{
  row-gap:.7rem;
}
.ep-actions .ep-btn,
.ep-actions .btn,
.ep-btn-row .ep-btn,
.ep-btn-row .btn{
  min-height:2.9rem;
}

@media (max-width: 980px){
  .ep-conversion-hero{
    grid-template-columns:1fr;
    padding:1rem;
  }
  .ep-page--service-core .ep-material-hero__inner{
    grid-template-columns:1fr;
    gap:1rem;
  }
  .ep-page--service-core .ep-material-hero__side,
  .ep-page--service-core .ep-hero-sidecard,
  .ep-page--service-core .ep-hero-sidecard--wide{
    max-width:none;
  }
}

@media (max-width: 760px){
  .ep-conversion-hero{
    padding:.95rem;
    border-radius:1.1rem;
  }
  .ep-conversion-hero__main h1{
    font-size:clamp(1.6rem,8vw,2.15rem);
    line-height:1.06;
  }
  .ep-conversion-hero__card{
    padding:.95rem .9rem .95rem 1rem;
  }
  .ep-conversion-hero__main .ep-actions,
  .ep-page--tool .ep-actions,
  .ep-page--service-core .ep-actions,
  .ep-collection-hero__actions,
  .ep-post-hero__actions,
  .ep-hero__actions,
  .ep-btn-row{
    display:grid;
    grid-template-columns:1fr;
    align-items:stretch;
  }
  .ep-conversion-hero__main .ep-actions .ep-btn,
  .ep-page--tool .ep-actions .ep-btn,
  .ep-page--service-core .ep-actions .ep-btn,
  .ep-collection-hero__actions .ep-btn,
  .ep-post-hero__actions .ep-btn,
  .ep-hero__actions .ep-btn,
  .ep-btn-row .ep-btn,
  .ep-btn-row .btn{
    width:100%;
    text-align:center;
    justify-content:center;
  }
  .ep-page--tool .ep-kpi,
  .ep-page--service-core .ep-kpi,
  .ep-collection-hero__stats{
    grid-template-columns:1fr;
    gap:.75rem;
  }
  .ep-page--tool .ep-prose > .ep-section,
  .ep-page--service-core .ep-prose > .ep-section,
  .ep-page--utility .ep-prose > .ep-section{
    margin-top:1.25rem;
  }
  .ep-mini-cases,
  .ep-grid--routes,
  .ep-section--resources .ep-bcards,
  .ep-cases-grid,
  .ep-portfolio-grid{
    gap:.85rem;
  }
}

@media (max-width: 560px){
  .ep-conversion-hero__eyebrow{
    width:100%;
    justify-content:center;
    text-align:center;
  }
  .ep-breadcrumbs{
    font-size:.85rem;
    gap:.3rem;
  }
  .ep-portfolio-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .ep-portfolio-card,
  .ep-case-card,
  .ep-card,
  .ep-bcard{
    border-radius:1rem;
  }
  .ep-card__title,
  .ep-bcard__title,
  .ep-case-card__title{
    font-size:.98rem;
  }
  .ep-page--tool .ep-kpi__value,
  .ep-page--service-core .ep-kpi__value{
    font-size:1rem;
    line-height:1.35;
  }
}


/* ==========================================================
   Everyprint v138: mobile navigation + touch UX polish
   ========================================================== */
.ep-menu__backdrop,
.ep-menu__mobile-head,
.ep-menu__mobile-actions,
.ep-menu__mobile-close,
.ep-menu__mobile-brand,
.ep-menu__mobile-cta,
.ep-menu__mobile-aux{
  display:none;
}

@media (max-width: 768px){
  .ep-header__container{
    position: relative;
  }

  .ep-header__burger,
  .header__burger,
  .burger-menu{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    width: 46px;
    height: 46px;
    margin-left: auto !important;
    border-radius: 14px;
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.10);
    box-shadow: 0 12px 28px rgba(0,0,0,0.22);
    z-index: 10032;
  }

  .ep-menu__backdrop{
    display:block;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.58);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    opacity: 0;
    pointer-events: none;
    transition: opacity .24s ease;
    z-index: 10018;
  }

  .menu-open .ep-menu__backdrop{
    opacity: 1;
    pointer-events: auto;
  }

  .header__menu,
  nav.header__menu,
  .ep-menu,
  .menu{
    position: fixed !important;
    top: 0;
    right: 0;
    left: auto;
    width: min(92vw, 24.5rem) !important;
    height: 100dvh !important;
    padding: 0 !important;
    background:
      radial-gradient(720px 380px at 0% 0%, rgba(0,255,204,0.10), transparent 58%),
      linear-gradient(180deg, rgba(7,10,12,0.98), rgba(4,6,7,1));
    border-left: 1px solid rgba(255,255,255,0.10);
    box-shadow: -24px 0 54px rgba(0,0,0,0.44);
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    transform: translateX(108%);
    transition: transform .28s cubic-bezier(.22,.8,.24,1);
    z-index: 10020 !important;
  }

  .menu-open .header__menu,
  .menu-open nav.header__menu,
  .menu-open .ep-menu,
  .menu-open .menu{
    transform: translateX(0);
  }

  .ep-menu__mobile-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap: .75rem;
    padding: 1rem 1rem .75rem;
    position: sticky;
    top: 0;
    z-index: 2;
    background: linear-gradient(180deg, rgba(7,10,12,0.98), rgba(7,10,12,0.90));
    border-bottom: 1px solid rgba(255,255,255,0.08);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
  }

  .ep-menu__mobile-brand{
    display:flex;
    align-items:center;
    width:112px;
    color:#fff;
    order:1;
  }

  .ep-menu__mobile-brand img{
    display:block;
    width:100%;
    height:auto;
  }

  .ep-menu__mobile-close{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.10);
    position: relative;
    flex: 0 0 auto;
    order:2;
  }

  .ep-menu__mobile-close span{
    position:absolute;
    width: 18px;
    height: 2px;
    border-radius: 999px;
    background: rgba(255,255,255,0.92);
  }

  .ep-menu__mobile-close span:first-child{ transform: rotate(45deg); }
  .ep-menu__mobile-close span:last-child{ transform: rotate(-45deg); }

  .ep-menu__mobile-actions{
    display:grid;
    gap: .65rem;
    padding: .95rem 1rem 1rem;
    border-bottom: 1px solid rgba(255,255,255,0.08);
  }

  .ep-menu__mobile-cta,
  .ep-menu__mobile-aux{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height: 48px;
    padding: .82rem 1rem;
    border-radius: 14px;
    text-align: center;
    text-decoration: none;
    font-weight: 600;
    line-height: 1.2;
  }

  .ep-menu__mobile-cta--primary{
    background: linear-gradient(90deg, #00ffcc, #00ccff);
    color: #00110f;
    box-shadow: 0 14px 26px rgba(0,0,0,0.20);
  }

  .ep-menu__mobile-cta--ghost{
    background: rgba(255,255,255,0.08);
    color: rgba(255,255,255,0.96);
    border: 1px solid rgba(255,255,255,0.12);
  }

  .ep-menu__mobile-aux{
    min-height: 42px;
    justify-content:flex-start;
    padding: .65rem .15rem;
    border-radius: 0;
    color: rgba(255,255,255,0.82);
    font-weight: 600;
    border-bottom: 1px solid rgba(255,255,255,0.08);
  }

  .menu__list,
  .ep-menu__list{
    display:flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: .72rem !important;
    padding: 1rem !important;
    margin: 0 !important;
  }

  .menu__item,
  .ep-menu__item{
    width: 100%;
    display:flex !important;
    align-items:center !important;
    border: 1px solid rgba(255,255,255,0.08);
    background: linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.02));
    border-radius: 16px;
    overflow: clip;
  }

  .ep-menu__item--dropdown{
    flex-wrap: wrap;
  }

  .menu__link,
  .ep-menu__link{
    flex: 1 1 auto;
    display:flex !important;
    align-items:center;
    min-height: 54px;
    padding: .95rem 1rem !important;
    font-size: 1rem !important;
    color: #fff !important;
    white-space: normal !important;
    line-height: 1.25 !important;
  }

  .ep-menu__item.is-active > .ep-menu__link,
  .ep-menu__item--dropdown.is-open > .ep-menu__link{
    color: #fff;
    background: rgba(1,209,188,0.10);
  }

  .ep-menu__toggle{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    width: 46px;
    height: 46px;
    margin: .25rem .3rem .25rem 0;
    border-radius: 12px;
    background: rgba(255,255,255,0.07);
    border: 1px solid rgba(255,255,255,0.10);
    flex: 0 0 auto;
  }

  .ep-menu__toggle::before{
    width: 10px;
    height: 10px;
    transform: rotate(45deg) translateY(-1px);
  }

  .ep-menu__item--dropdown > .ep-menu__link::after{
    display:none !important;
  }

  .ep-menu__dropdown{
    display:block !important;
    position: static !important;
    min-width: 0 !important;
    width: calc(100% - 1.2rem);
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    padding: 0 0 0 .2rem !important;
    margin: 0 .6rem 0 .6rem !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-left: 1px solid rgba(255,255,255,0.08) !important;
    transition: max-height .28s ease, opacity .22s ease, margin .22s ease, padding .22s ease;
  }

  .ep-menu__dropdown::before{
    display:none !important;
  }

  .ep-menu__item--dropdown.is-open .ep-menu__dropdown{
    max-height: 1400px;
    opacity: 1;
    margin: 0 .6rem .7rem .6rem !important;
    padding: .1rem 0 0 .2rem !important;
    overflow: visible;
  }

  .ep-menu__dropdown-link{
    display:block;
    padding: .76rem .85rem !important;
    margin-top: .15rem;
    border-radius: 12px;
    font-size: .95rem !important;
    line-height: 1.28;
    white-space: normal !important;
    color: rgba(255,255,255,0.88) !important;
    background: transparent;
  }

  .ep-menu__dropdown-link--cta{
    margin-bottom: .35rem;
  }

  .ep-menu__dropdown-group{
    margin: .9rem .45rem .35rem !important;
    padding-top: .85rem !important;
    font-size: .75rem !important;
    letter-spacing: .09em;
  }

  .ep-hero__actions,
  .ep-hero__mini-actions,
  .ep-hero__actions--home,
  .ep-hero__cta-row,
  .contacts__actions,
  .ep-actions,
  .ep-page-head__actions{
    display:flex;
    flex-direction: column;
    align-items: stretch;
    gap: .72rem;
  }

  .ep-btn,
  .link,
  .ep-header__cta,
  .ep-page-head__actions .ep-btn,
  .contacts__actions .link{
    width: 100%;
    justify-content: center;
  }

  .ep-card,
  .ep-bcard,
  .ep-note,
  .contacts__card,
  .ep-page-head,
  .ep-hero__media-card{
    border-radius: 18px;
  }
}

@media (max-width: 480px){
  .header__menu,
  nav.header__menu,
  .ep-menu,
  .menu{
    width: 100vw !important;
    border-left: 0;
  }

  .ep-menu__mobile-head,
  .ep-menu__mobile-actions,
  .menu__list,
  .ep-menu__list{
    padding-left: .9rem !important;
    padding-right: .9rem !important;
  }
}

/* ==========================================================
   Everyprint v139: final mobile + cases + utility pages polish
   ========================================================== */
.ep-cases-grid--featured{
  margin-top: 1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
.ep-cases-grid--featured .ep-case-card{
  position: relative;
  min-height: 100%;
  background:
    radial-gradient(120% 100% at 0% 0%, rgba(0,255,204,.08), transparent 55%),
    rgba(255,255,255,.045);
  box-shadow: 0 18px 46px rgba(0,0,0,.18);
}
.ep-cases-grid--featured .ep-case-card__media{
  aspect-ratio: 4 / 3;
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
}
.ep-cases-grid--featured .ep-case-card__body{
  display:flex;
  flex-direction:column;
  gap:.55rem;
  min-height: 12.2rem;
  padding: .95rem .95rem 1rem;
}
.ep-case-card__eyebrow{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  padding:.36rem .62rem;
  border-radius:999px;
  font-size:.75rem;
  font-weight:600;
  line-height:1;
  letter-spacing:.02em;
  color:#d8fffb;
  border:1px solid rgba(255,255,255,.13);
  background:rgba(255,255,255,.07);
}
.ep-cases-grid--featured .ep-case-card__title{
  font-size: 1rem;
  line-height: 1.28;
}
.ep-cases-grid--featured .ep-case-card__meta{
  font-size: .9rem;
  line-height: 1.5;
  color: rgba(255,255,255,.76);
  margin-top: 0;
}
.ep-case-card__cta{
  margin-top:auto;
  font-size:.86rem;
  font-weight:600;
  color:#8efff4;
}
.ep-cases .ep-grid > .ep-cardlink,
.ep-page--service-core .ep-grid > .ep-cardlink,
.ep-page--niche .ep-grid > .ep-cardlink{
  min-height: 100%;
  display:flex;
  flex-direction:column;
}
.ep-cases .ep-grid > .ep-cardlink .ep-card__meta,
.ep-page--service-core .ep-grid > .ep-cardlink .ep-card__meta,
.ep-page--niche .ep-grid > .ep-cardlink .ep-card__meta{
  margin-top:auto;
  padding-top:.6rem;
}

.legal{
  padding-top: .4rem;
}
.legal__container{
  max-width: 56rem;
  margin: 0 auto;
  padding: clamp(1rem, 2vw, 1.2rem);
  border-radius: 1.2rem;
  border: 1px solid rgba(255,255,255,.10);
  background:
    radial-gradient(1000px 360px at 0% 0%, rgba(0,255,204,.07), transparent 60%),
    rgba(255,255,255,.035);
  box-shadow: 0 22px 56px rgba(0,0,0,.22);
}
.legal__container h1{
  margin:0 0 .7rem;
}
.legal__container h2{
  margin-top: 1.55rem;
  margin-bottom: .7rem;
}
.legal__container p,
.legal__container li{
  color: rgba(255,255,255,.82);
  line-height: 1.66;
}
.legal__container ul,
.legal__container ol{
  padding-left: 1.2rem;
}
.legal__note{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding:.5rem .7rem;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
  color:rgba(255,255,255,.74);
}
.legal__box{
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.05);
  border-radius:1rem;
  padding:1rem 1rem 1.05rem;
}
.legal__box p:last-child{ margin-bottom:0; }
.ep-page--utility .ep-hero,
.ep-page--utility .ep-note,
.ep-page--utility .ep-card{
  box-shadow: 0 18px 42px rgba(0,0,0,.16);
}
.ep-page--utility .ep-grid > .ep-card{
  min-height:100%;
}
.ep-page--utility .ep-grid > .ep-card ul{
  margin: .55rem 0 0;
  padding-left: 1.05rem;
}
.ep-page--utility .ep-grid > .ep-card li + li{
  margin-top: .38rem;
}
.ep-page--utility .ep-grid > .ep-card a{
  word-break: break-word;
}

@media (max-width: 980px){
  .ep-cases-grid--featured{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 760px){
  .legal__container{
    padding: .95rem .9rem;
    border-radius: 1rem;
  }
}
@media (max-width: 560px){
  .ep-cases-grid--featured{
    grid-template-columns: 1fr;
  }
  .ep-cases-grid--featured .ep-case-card__media{
    aspect-ratio: 16 / 11;
  }
  .ep-cases-grid--featured .ep-case-card__body{
    min-height: 0;
    padding: .9rem .9rem .95rem;
  }
  .legal__note{
    display:flex;
    border-radius:.9rem;
    line-height:1.35;
  }
  .legal__container h1{
    font-size: clamp(1.55rem, 8vw, 2.1rem);
    line-height:1.08;
  }
}


/* ==========================================================
   Everyprint v141: mobile menu animation + scroll fix
   ========================================================== */
@media (max-width: 768px){
  html.menu-open,
  body.menu-open{
    overflow: hidden;
    overscroll-behavior-y: none;
  }

  body.menu-open{
    -ms-touch-action: auto;
    touch-action: auto;
  }

  .header__menu,
  nav.header__menu,
  .ep-menu,
  .menu{
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-y: contain;
    touch-action: pan-y;
  }

  .ep-menu__list,
  .ep-menu__item,
  .ep-menu__link,
  .ep-menu__toggle,
  .ep-menu__dropdown,
  .ep-menu__dropdown-link,
  .ep-menu__dropdown-group,
  .ep-menu__mobile-actions,
  .ep-menu__mobile-close{
    touch-action: pan-y;
  }

  .ep-header__burger,
  .header__burger,
  .burger-menu{
    position: relative;
    overflow: hidden;
    transition: background-color .22s ease, border-color .22s ease, box-shadow .22s ease, transform .18s ease, opacity .18s ease;
    -webkit-tap-highlight-color: transparent;
  }

  .ep-header__burger::before,
  .ep-header__burger::after,
  .ep-header__burger span,
  .header__burger::before,
  .header__burger::after,
  .header__burger span,
  .burger-menu::before,
  .burger-menu::after,
  .burger-menu span{
    position: absolute;
    left: 50% !important;
    width: 20px !important;
    height: 2px !important;
    margin-left: -10px;
    border-radius: 999px;
    background: linear-gradient(90deg, #01d1bc 0%, #ffffff 100%) !important;
    transition: top .24s ease, transform .24s ease, opacity .18s ease, background .2s ease;
  }

  .ep-header__burger::before,
  .header__burger::before,
  .burger-menu::before{
    content: "";
    top: 15px !important;
  }

  .ep-header__burger::after,
  .header__burger::after,
  .burger-menu::after{
    content: "";
    top: 29px !important;
    bottom: auto !important;
  }

  .ep-header__burger span:first-child,
  .header__burger span:first-child,
  .burger-menu span:first-child{
    top: 22px !important;
    transform: none !important;
    opacity: 1;
  }

  .ep-header__burger span:last-child,
  .header__burger span:last-child,
  .burger-menu span:last-child{
    display: none !important;
  }

  .menu-open .ep-header__burger,
  .menu-open .header__burger,
  .menu-open .burger-menu{
    background: rgba(255,255,255,0.09);
    border-color: rgba(255,255,255,0.16);
    box-shadow: 0 14px 34px rgba(0,0,0,0.28);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }

  .menu-open .ep-header__burger::before,
  .menu-open .header__burger::before,
  .menu-open .burger-menu::before{
    top: 22px !important;
    transform: rotate(45deg) !important;
  }

  .menu-open .ep-header__burger::after,
  .menu-open .header__burger::after,
  .menu-open .burger-menu::after{
    top: 22px !important;
    transform: rotate(-45deg) !important;
  }

  .menu-open .ep-header__burger span:first-child,
  .menu-open .header__burger span:first-child,
  .menu-open .burger-menu span:first-child{
    opacity: 0 !important;
    transform: scaleX(.45) !important;
  }
}


/* =========================
   Everyprint v143 utilities + card polish
   ========================= */

.ep-fw-600{font-weight:600;}
.ep-mt-0{margin-top:0 !important;}
.ep-mt-10{margin-top:10px !important;}
.ep-mt-12{margin-top:12px !important;}
.ep-mt-14{margin-top:14px !important;}
.ep-mt-16{margin-top:16px !important;}
.ep-mt-18{margin-top:18px !important;}
.ep-gap-16{gap:16px !important;}
.ep-mb-05{margin-bottom:.5rem !important;}
.ep-intro-lead{max-width:56rem; opacity:.92; margin-bottom:1rem;}
.ep-soft-text{color:rgba(255,255,255,.72) !important;}
.ep-btn-row{display:flex; flex-wrap:wrap; gap:10px; align-items:center;}
.ep-link-reset{color:inherit;text-decoration:none !important;}
.ep-list-check{margin:0;padding-left:18px;display:grid;gap:8px;}
.ep-list-check li{margin:0;}

.ep-card,
.ep-cardlink,
.ep-cardlike{
  display:flex;
  flex-direction:column;
}
.ep-card__text + .ep-card__meta,
.ep-card p + .ep-card__meta{
  padding-top:.55rem;
}
.ep-card__meta,
.ep-cardlink .ep-card__meta{
  margin-top:auto;
}
.ep-cardlike > p:last-child,
.ep-card > p:last-child,
.ep-cardlink > p:last-child{
  margin-bottom:0;
}

.ep-bcard{
  display:flex;
  flex-direction:column;
  min-height:100%;
}
.ep-bcard__meta{
  margin-top:auto;
  padding-top:.8rem;
}

.ep-mcard{
  height:100%;
}
.ep-mcard__inner{
  height:100%;
  display:flex;
  flex-direction:column;
}
.ep-mcard__cta{
  margin-top:auto;
}

.ep-case-card{
  display:flex;
  flex-direction:column;
  height:100%;
}
.ep-case-card__body{
  display:flex;
  flex-direction:column;
  flex:1;
}
.ep-case-card__meta{
  margin-top:auto;
  padding-top:.5rem;
}

.ep-note--action,
.ep-callout{
  box-shadow:0 16px 36px rgba(0,0,0,.14);
}

.ep-page--utility .ep-prose > h2,
.ep-page--utility .ep-prose > h3{
  scroll-margin-top:calc(var(--epHeaderH, 96px) + 14px);
}

@media (max-width: 760px){
  .ep-btn-row,
  .ep-actions,
  .ep-grid.ep-gap-16{
    gap:.85rem !important;
  }
  .ep-btn-row .ep-btn,
  .ep-btn-row .btn{
    width:100%;
    justify-content:center;
  }
}

@media (max-width: 560px){
  .ep-callout,
  .ep-note--action,
  .ep-card,
  .ep-cardlink,
  .ep-cardlike,
  .ep-bcard,
  .ep-mcard,
  .ep-case-card{
    border-radius:1rem;
  }
  .ep-intro-lead{
    font-size:.98rem;
    line-height:1.55;
  }
}

/* === v20260325_04: listings polish + route sections === */
.ep-route-cards .ep-route-card{
  min-height: 100%;
  position: relative;
  overflow: hidden;
}
.ep-route-cards .ep-route-card::before{
  content:"";
  position:absolute;
  inset:0;
  background: radial-gradient(520px 180px at 100% 0%, rgba(32,214,190,.08), transparent 60%);
  pointer-events:none;
}
.ep-route-cards .ep-route-card > *{ position:relative; }
.ep-route-cards .ep-route-card .ep-card__title{
  font-size: 1.02rem;
  line-height: 1.22;
}
.ep-route-cards .ep-route-card .ep-card__meta{
  color: rgba(142,255,244,.82);
  font-weight: 700;
}

.ep-bcard--violet{ --bc1: rgba(170,120,255,.14); }
.ep-bcard--teal{ --bc1: rgba(32,214,190,.18); }
.ep-bcard--blue{ --bc1: rgba(65,160,255,.16); }
.ep-bcard--orange{ --bc1: rgba(255,140,90,.15); }
.ep-bcard--red{ --bc1: rgba(255,120,120,.14); }
.ep-bcard--gold{ --bc1: rgba(255,210,90,.16); }
.ep-bcard--sky{ --bc1: rgba(120,190,255,.18); }

.ep-mcard--mint{ --mc1: rgba(62,255,177,.20); --mc2: rgba(32,214,190,.18); }
.ep-mcard--blue{ --mc1: rgba(65,160,255,.20); --mc2: rgba(32,214,190,.15); }
.ep-mcard--warm{ --mc1: rgba(255,140,90,.18); --mc2: rgba(65,160,255,.14); }
.ep-mcard--neutral{ --mc1: rgba(255,255,255,.12); --mc2: rgba(32,214,190,.14); }
.ep-mcard--teal{ --mc1: rgba(32,214,190,.18); --mc2: rgba(255,255,255,.10); }
.ep-mcard--sla{ --mc1: rgba(65,160,255,.22); --mc2: rgba(255,255,255,.10); }
.ep-mcard--market{ --mc1: rgba(65,160,255,.22); --mc2: rgba(32,214,190,.14); }
.ep-mcard--decor{ --mc1: rgba(255,180,80,.18); --mc2: rgba(32,214,190,.12); }
.ep-mcard--architecture{ --mc1: rgba(180,220,255,.18); --mc2: rgba(32,214,190,.10); }
.ep-mcard--auto{ --mc1: rgba(255,90,140,.18); --mc2: rgba(65,160,255,.14); }
.ep-mcard--tabletop{ --mc1: rgba(160,120,255,.18); --mc2: rgba(32,214,190,.14); }
.ep-mcard--cosplay{ --mc1: rgba(80,220,255,.16); --mc2: rgba(255,180,80,.12); }
.ep-mcard--kitchen{ --mc1: rgba(62,255,177,.18); --mc2: rgba(255,255,255,.08); }

.ep-page .ep-mcatalog .ep-mcard,
.ep-page .ep-bcards .ep-bcard{
  min-height: 100%;
}
.ep-page .ep-mcatalog .ep-mcard__inner,
.ep-page .ep-bcards .ep-bcard{
  display:flex;
  flex-direction:column;
}
.ep-page .ep-mcatalog .ep-mcard__cta,
.ep-page .ep-bcards .ep-bcard__meta{
  margin-top:auto;
}

@media (max-width: 760px){
  .ep-route-cards{
    gap: 12px;
  }
  .ep-route-cards .ep-route-card .ep-card__title{
    font-size: .98rem;
  }
}

/* === v20260325_05: final cleanup + utility extraction === */
.ep-hp{
  position:absolute;
  left:-9999px;
  top:auto;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}
.ep-map-embed{
  border:0;
  overflow:hidden;
}
.ep-map-embed--md{ border-radius:14px; }
.ep-map-embed--lg{ border-radius:18px; }
.ep-mt-32{ margin-top:2rem !important; }
.ep-mb-10{ margin-bottom:10px !important; }
.ep-badge--ml{ margin-left:8px; }
.ep-btn-row--tight{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}
.ep-actions-inline{
  flex:0 0 auto;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.ep-card--split{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.ep-callout--mb18{ margin-bottom:18px; }
.ep-card--booster{
  background:linear-gradient(180deg, rgba(18,24,38,.96), rgba(11,15,25,.98));
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 18px 44px rgba(0,0,0,.18);
}
.ep-note--booster{
  max-width:900px;
  margin-bottom:16px;
}
.ep-grid--booster{
  gap:16px;
  align-items:stretch;
}
.ep-card--booster-subtle{
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.06);
}
.ep-footer__cta-actions--booster{
  margin-top:16px;
  gap:10px;
  flex-wrap:wrap;
}
.ep-muted--kit{
  max-width:900px;
  margin-top:8px;
}
.ep-section--pb0{ padding-bottom:0; }

@media (max-width: 760px){
  .ep-card--split{
    flex-direction:column;
    align-items:flex-start;
  }
  .ep-actions-inline{
    width:100%;
  }
}


/* === v20260325_06: final mobile/readability polish === */
.calc-subtle{ opacity:.85; }
.ep-hidden[hidden]{ display:none; }

.ep-prose > p,
.ep-prose > ul,
.ep-prose > ol,
.ep-prose > .ep-note,
.ep-prose > .ep-callout,
.ep-prose > .ep-table-wrap{
  max-width: 72ch;
}
.ep-prose > p,
.ep-prose li{
  overflow-wrap:anywhere;
}
.ep-prose > p + p{
  margin-top:.95rem;
}

.ep-portfolio-grid{
  align-items:stretch;
}
.ep-portfolio-card{
  isolation:isolate;
  min-height:0;
  aspect-ratio:1 / 1;
}
.ep-portfolio-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition: transform .28s ease;
}
@media (hover:hover){
  .ep-portfolio-card:hover img,
  .ep-case-card:hover .ep-case-card__media img{
    transform: scale(1.035);
  }
}

.ep-section__head,
.ep-section-head,
.ep-portfolio-gridhead{
  scroll-margin-top: calc(var(--epHeaderH, 96px) + 16px);
}

@media (max-width: 760px){
  .ep-section,
  .ep-page .ep-prose > .ep-section{
    padding-top:1.2rem;
    padding-bottom:1.2rem;
  }

  .ep-section__head,
  .ep-section-head,
  .ep-portfolio-gridhead{
    gap:.65rem;
    margin-bottom:.9rem;
  }

  .ep-section__head--listing,
  .ep-portfolio-gridhead{
    align-items:flex-start;
  }

  .ep-section__head-link,
  .ep-portfolio-gridhead__meta{
    width:100%;
    justify-content:center;
    text-align:center;
  }

  .ep-case-card__body,
  .ep-card,
  .ep-cardlink,
  .ep-bcard,
  .ep-mcard,
  .ep-note,
  .ep-callout{
    padding-left:1rem;
    padding-right:1rem;
  }

  .ep-collection-hero__stats{
    gap:.7rem;
  }
}

@media (max-width: 560px){
  .ep-footer__cta{
    padding:1rem;
    border-radius:1.1rem;
  }

  .ep-footer__steps{
    gap:.8rem;
  }

  .ep-footer__step{
    grid-template-columns:30px 1fr;
    gap:.65rem;
  }

  .ep-footer__step-n{
    width:30px;
    height:30px;
    border-radius:10px;
    font-size:.82rem;
  }

  .ep-footer__cta-actions,
  .ep-footer__mini-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:.6rem;
  }

  .ep-footer__mini{
    padding:.9rem;
  }

  .ep-footer__callback .ep-input,
  .ep-footer__callback .ep-btn{
    min-height:2.9rem;
  }

  .ep-footer__bottom{
    gap:.75rem;
  }

  .ep-footer__legal{
    flex-wrap:wrap;
    white-space:normal;
    gap:.35rem;
    font-size:.7rem;
    line-height:1.25;
  }

  .ep-footer__legal a{
    padding:.26rem .5rem;
    background:rgba(255,255,255,.045);
    border:1px solid rgba(255,255,255,.08);
  }

  .ep-footer__copy{
    white-space:normal;
    color:rgba(255,255,255,.7);
  }

  .ep-portfolio-grid{
    gap:.7rem;
  }

  .ep-portfolio-card::after{
    right:.6rem;
    bottom:.6rem;
    padding:.34rem .58rem;
    font-size:.73rem;
  }

  .ep-cases-grid--featured .ep-case-card__media{
    aspect-ratio: 16 / 10;
  }

  .ep-case-card__eyebrow{
    font-size:.75rem;
  }
}

@media (prefers-reduced-motion: reduce){
  .ep-footer__art,
  .ep-portfolio-card img,
  .ep-case-card__media img,
  .ep-card,
  .ep-cardlink,
  .ep-bcard,
  .ep-mcard,
  .ep-case-card,
  .ep-btn,
  .link,
  .ep-footer__social-link,
  .ep-footer__links a{
    animation:none !important;
    transition:none !important;
    transform:none !important;
  }
}


/* EP final accessibility + navigation polish */
.ep-menu__link[aria-current="page"],
.menu__item.is-active > .ep-menu__link,
.menu__item.is-active > .menu__link{
  color: var(--accent);
  box-shadow: inset 0 -2px 0 rgba(0,255,204,.9);
}

.ep-menu__item--dropdown > .ep-menu__link[aria-current="page"],
.menu__item.ep-menu__item--dropdown.is-active > .ep-menu__link,
.menu__item.ep-menu__item--dropdown.is-active > .menu__link{
  box-shadow: none;
}

.ep-menu__toggle:focus-visible,
.ep-menu__mobile-close:focus-visible,
.ep-menu__mobile-cta:focus-visible,
.ep-menu__mobile-aux:focus-visible,
.ep-skip:focus-visible{
  outline: none;
  box-shadow: 0 0 0 3px rgba(0,255,204,.24), 0 14px 34px rgba(0,0,0,.28);
}

.ep-skip:focus-visible{
  left: .75rem;
  top: .75rem;
}

@media (max-width: 768px){
  .ep-menu__link[aria-current="page"],
  .menu__item.is-active > .ep-menu__link,
  .menu__item.is-active > .menu__link{
    box-shadow: none;
  }
}

main[id="main"]{
  scroll-margin-top: calc(var(--epHeaderH, 88px) + 12px);
}

.ep-prose > *{ min-width: 0; }

.ep-prose img{ border-radius: 22px; }

@media (max-width: 767.98px){
  main[id="main"]{
    scroll-margin-top: calc(var(--epHeaderH, 76px) + 10px);
  }

  .ep-prose img{ border-radius: 18px; }
}


.ep-footer-seo{
  margin-top: clamp(2rem, 4vw, 3rem);
}
.ep-footer-seo > :first-child{
  margin-top: 0;
}
.ep-footer-seo .ep-section[aria-label]{
  margin-top: 0;
}

/* ==========================================================
   Everyprint — compact home/ footer refresh v130
   ========================================================== */
.ep-footer__pre{
  margin-bottom: 1rem;
}

.ep-footer__cta{
  grid-template-columns: minmax(0, 1.18fr) minmax(20rem, 0.82fr);
  gap: 0.9rem;
  padding: 0.95rem 1rem;
  border-radius: 20px;
}

.ep-footer__cta-title{
  font-size: 1.12rem;
  margin-bottom: 0.5rem;
}

.ep-footer__cta-lead{
  max-width: 60ch;
  margin: 0 0 0.8rem;
  font-size: 0.92rem;
  line-height: 1.5;
  color: rgba(255,255,255,0.8);
}

.ep-footer__steps--compact{
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem 0.7rem;
  margin-bottom: 0.85rem;
}

.ep-footer__steps--compact .ep-footer__step{
  gap: 0.65rem;
}

.ep-footer__steps--compact .ep-footer__step:last-child{
  grid-column: 1 / -1;
}

.ep-footer__step-n{
  width: 30px;
  height: 30px;
  border-radius: 10px;
  font-size: 0.9rem;
}

.ep-footer__step-t{
  font-size: 0.88rem;
  line-height: 1.38;
}

.ep-footer__cta-actions{
  gap: 0.45rem;
  margin-top: 0.1rem;
}

.ep-footer__mini{
  padding: 0.9rem;
  border-radius: 16px;
}

.ep-footer__mini-text{
  margin-bottom: 0.65rem;
}

.ep-footer__mini-actions{
  margin-bottom: 0.65rem;
}

.ep-footer__callback-row .ep-btn{
  min-width: 10.4rem;
}

.ep-footer__consent{
  margin-top: 0.5rem;
}

.ep-footer__art{
  width: 118px;
  height: 118px;
  opacity: 0.12;
  inset: -4px -4px auto auto;
}

.ep-footer__grid{
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.92fr) minmax(0, 0.92fr);
  gap: 1.15rem;
  margin-top: 0.85rem;
  padding: 1.1rem 1.2rem 1rem;
  border-radius: 20px;
}

.ep-footer__brand-stack{
  display: grid;
  gap: 0.7rem;
}

.ep-footer__brandname{
  margin-bottom: 0.2rem;
}

.ep-footer__tagline{
  margin-bottom: 0.7rem;
}

.ep-footer__title{
  margin-bottom: 0.35rem;
}

.ep-footer__text{
  font-size: 0.84rem;
  line-height: 1.42;
}

.ep-footer__links{
  gap: 0.48rem;
}

.ep-footer__links a{
  line-height: 1.34;
}

.ep-footer__social{
  gap: 0.55rem;
  margin-top: 0.1rem;
}

.ep-footer__social-link{
  width: 2rem;
  height: 2rem;
  border-radius: 0.7rem;
}

.ep-footer__social-link svg{
  width: 1.18rem;
  height: 1.18rem;
}

.ep-footer__bottom{
  margin-top: 0.95rem;
  padding-top: 0.85rem;
}

@media (max-width: 980px){
  .ep-footer__cta{
    grid-template-columns: 1fr;
  }

  .ep-footer__grid{
    grid-template-columns: 1fr 1fr;
  }

  .ep-footer__brand{
    grid-column: 1 / -1;
  }
}

@media (max-width: 640px){
  .ep-footer__cta{
    padding: 0.9rem;
  }

  .ep-footer__steps--compact{
    grid-template-columns: 1fr;
  }

  .ep-footer__steps--compact .ep-footer__step:last-child{
    grid-column: auto;
  }

  .ep-footer__grid{
    grid-template-columns: 1fr;
    padding: 1rem 0.95rem 0.95rem;
  }

  .ep-footer__brand{
    grid-column: auto;
  }
}


/* ==========================================================
   Everyprint — footer compact cleanup v131
   ========================================================== */
.ep-footer{
  padding: 2.35rem 0 1rem;
}

.ep-footer__pre{
  margin-bottom: 0.8rem;
}

.ep-footer__cta{
  grid-template-columns: minmax(0, 1fr) minmax(19rem, 0.8fr);
  gap: 0.8rem;
  padding: 0.9rem;
  border-radius: 18px;
  scroll-margin-top: calc(var(--epHeaderH, 96px) + 14px);
}

.ep-footer__cta-main--compact{
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.ep-footer__cta-title{
  margin-bottom: 0.38rem;
}

.ep-footer__cta-lead{
  max-width: 56ch;
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.45;
}

.ep-footer__quicklist{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.45rem;
  margin: 0.75rem 0 1.05rem;
}

.ep-footer__quickitem{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: .18rem;
  min-height: 4.25rem;
  padding: 0.6rem 0.7rem;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.1);
  background: rgba(255,255,255,0.04);
  color: rgba(255,255,255,0.84);
  font-size: 0.82rem;
  line-height: 1.2;
  text-decoration: none;
}

.ep-footer__quickitem strong{
  color: #fff;
  font-size: .82rem;
}

.ep-footer__quickitem span{
  color: rgba(255,255,255,.64);
  font-size: .75rem;
  line-height: 1.28;
}

.ep-footer__quickitem:hover,
.ep-footer__quickitem:focus-visible{
  border-color: rgba(42,182,255,.62);
  background: rgba(42,182,255,.1);
}

.ep-footer__action-note,
.ep-footer__timing-note,
.ep-footer__production-note{
  max-width: 78ch;
  margin: .62rem 0 0;
  color: rgba(255,255,255,.68);
  font-size: .76rem;
  line-height: 1.48;
}

.ep-footer__action-note strong,
.ep-footer__production-note strong{
  color: rgba(255,255,255,.9);
}

.ep-footer__cta-actions{
  gap: 0.45rem;
  margin-top: 0.1rem;
}

.ep-footer__cta-actions .ep-btn{
  min-height: 2.75rem;
}

.ep-footer__mini{
  padding: 0.85rem;
}

.ep-footer__mini-title{
  margin-bottom: 0.28rem;
}

.ep-footer__mini-text{
  margin-bottom: 0.6rem;
  font-size: 0.84rem;
}

.ep-footer__mini-actions{
  margin-bottom: 0.6rem;
}

.ep-footer__callback-row .ep-btn{
  min-width: 9.25rem;
}

.ep-footer__grid{
  grid-template-columns: minmax(0, 1.18fr) minmax(0, 0.9fr) minmax(0, 0.9fr);
  gap: 1rem;
  margin-top: 0.75rem;
  padding: 1rem 1.05rem 0.95rem;
  border-radius: 18px;
}

.ep-footer__brandname{
  font-size: 1.1rem;
}

.ep-footer__tagline{
  margin-bottom: 0.55rem;
  font-size: 0.88rem;
}

.ep-footer__contact-list{
  display: grid;
  gap: 0.42rem;
}

.ep-footer__contact-item{
  font-size: 0.84rem;
  line-height: 1.42;
  color: rgba(255,255,255,0.84);
}

.ep-footer__contact-item a{
  color: rgba(255,255,255,0.9);
}

.ep-footer__contact-item--muted{
  color: rgba(255,255,255,0.68);
}

.ep-footer__label{
  color: rgba(255,255,255,0.58);
}

.ep-footer__title{
  margin-bottom: 0.4rem;
  font-size: 0.92rem;
}

.ep-footer__links{
  gap: 0.42rem;
}

.ep-footer__links a{
  font-size: 0.88rem;
  line-height: 1.34;
}

.ep-footer__social{
  margin-top: 0.65rem;
}

.ep-footer__bottom{
  margin-top: 0.8rem;
  padding-top: 0.75rem;
}

@media (max-width: 980px){
  .ep-footer__cta{
    grid-template-columns: 1fr;
  }

  .ep-footer__grid{
    grid-template-columns: 1fr 1fr;
  }

  .ep-footer__brand{
    grid-column: 1 / -1;
  }

  .ep-footer__quicklist{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px){
  .ep-footer{
    padding: 2rem 0 0.9rem;
  }

  .ep-footer__cta{
    padding: 0.85rem;
  }

  .ep-footer__quicklist{
    margin: 0.65rem 0 0.95rem;
  }

  .ep-footer__quickitem{
    width: 100%;
    align-items: flex-start;
  }

  .ep-footer__quicklist{
    grid-template-columns: 1fr;
  }

  .ep-footer__cta-actions,
  .ep-footer__mini-actions{
    display: grid;
    grid-template-columns: 1fr;
  }

  .ep-footer__grid{
    grid-template-columns: 1fr;
    padding: 0.95rem 0.9rem;
  }

  .ep-footer__bottom{
    gap: 0.65rem;
  }
}

/* ==========================================================
   Everyprint wave112: header working hours and live status
   ========================================================== */
.ep-header__worktime,
.ep-menu__mobile-worktime{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:.18rem;
  border:1px solid rgba(255,255,255,.12);
  background:
    radial-gradient(120% 140% at 0% 0%, rgba(0,255,204,.12), transparent 55%),
    rgba(255,255,255,.055);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 12px 26px rgba(0,0,0,.16);
}

.ep-header__worktime{
  min-height:44px;
  min-width:12.4rem;
  padding:.48rem .72rem .5rem;
  border-radius:16px;
  white-space:nowrap;
}

.ep-worktime__status{
  display:inline-flex;
  align-items:center;
  gap:.42rem;
  color:#dffcf8;
  font-size:.78rem;
  font-weight:700;
  line-height:1.1;
  letter-spacing:.01em;
}

.ep-worktime__dot{
  width:.52rem;
  height:.52rem;
  border-radius:999px;
  background:#28f5bc;
  box-shadow:0 0 0 .22rem rgba(40,245,188,.14), 0 0 16px rgba(40,245,188,.55);
  flex:0 0 auto;
}

.ep-worktime__status[data-state="closed"]{
  color:rgba(255,255,255,.82);
}

.ep-worktime__status[data-state="closed"] .ep-worktime__dot{
  background:#ffb45a;
  box-shadow:0 0 0 .22rem rgba(255,180,90,.13), 0 0 16px rgba(255,180,90,.35);
}

.ep-worktime__status[data-state="pending"]{
  color:rgba(255,255,255,.72);
}

.ep-worktime__status[data-state="pending"] .ep-worktime__dot{
  background:rgba(255,255,255,.52);
  box-shadow:0 0 0 .22rem rgba(255,255,255,.08);
}

.ep-worktime__schedule{
  color:rgba(255,255,255,.62);
  font-size:.68rem;
  font-weight:600;
  line-height:1.18;
}

.ep-menu__mobile-worktime{
  margin-top:.12rem;
  padding:.82rem .9rem .86rem;
  border-radius:16px;
  align-items:center;
  text-align:center;
}

.ep-menu__mobile-worktime .ep-worktime__status{
  font-size:.9rem;
  justify-content:center;
}

.ep-menu__mobile-worktime .ep-worktime__schedule{
  margin-top:.12rem;
  font-size:.78rem;
  line-height:1.35;
  color:rgba(255,255,255,.72);
}

@media (max-width: 1560px){
  .ep-header__worktime{
    min-width:0;
    padding-inline:.64rem;
  }
  .ep-header__worktime .ep-worktime__schedule{
    display:none;
  }
}

@media (max-width: 1380px){
  .ep-header__worktime{
    display:none !important;
  }
}

/* ==========================================================
   Everyprint wave113: header worktime compact layout fix
   ========================================================== */
@media (min-width: 769px){
  .ep-header__container{
    max-width: min(1840px, calc(100vw - 28px)) !important;
    gap: clamp(.75rem, .85vw, 1.15rem) !important;
  }

  .header__menu,
  .ep-menu{
    flex: 1 1 auto !important;
    min-width: 0 !important;
    margin-left: clamp(.35rem, .7vw, .8rem) !important;
  }

  .menu__list,
  .ep-menu__list{
    gap: clamp(.72rem, .72vw, .95rem) !important;
  }

  .menu__item,
  .ep-menu__item{
    flex: 0 0 auto !important;
    min-width: max-content;
  }

  .ep-menu__item--dropdown{
    margin-right: .16rem;
  }

  .ep-menu__item--dropdown > .ep-menu__link{
    padding-right: 1.05rem !important;
  }

  .ep-menu__item--dropdown > .ep-menu__link::after{
    right: .04rem !important;
    width: .38rem !important;
    height: .38rem !important;
    border-width: 2px !important;
  }

  .ep-header__actions{
    gap: clamp(.42rem, .62vw, .68rem) !important;
  }

  .ep-header__worktime{
    flex: 0 0 auto;
    min-width: 0 !important;
    width: clamp(10.7rem, 9.4vw, 12.2rem);
    padding: .43rem .66rem .46rem !important;
    border-radius: 15px;
  }

  .ep-header__worktime .ep-worktime__status{
    max-width: 100%;
    font-size: .74rem;
  }

  .ep-header__worktime [data-ep-work-status-text]{
    display: block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .ep-header__worktime .ep-worktime__schedule{
    font-size: .63rem;
    letter-spacing: -.01em;
  }
}

@media (min-width: 769px) and (max-width: 1760px){
  .ep-header__social{
    display: none !important;
  }

  .menu__list,
  .ep-menu__list{
    gap: clamp(.64rem, .64vw, .82rem) !important;
  }
}

@media (min-width: 769px) and (max-width: 1560px){
  .ep-header__worktime .ep-worktime__schedule{
    display: none !important;
  }

  .ep-header__worktime{
    width: 9.75rem;
  }
}

/* ==========================================================
   EVERYPRINT BRAND SYSTEM / 2026
   Digital manufacturing: graphite, mist and cyan trajectory
   ========================================================== */
:root{
  /* Semantic colour roles. Components consume these roles instead of choosing a
     foreground independently from the surface behind it. */
  --ep-text-primary:#111a23;
  --ep-text-body:#43515e;
  --ep-text-secondary:#5f6e7a;
  --ep-text-on-dark:#f4f7f8;
  --ep-text-secondary-on-dark:#b9c3cb;
  --ep-surface-light:#fff;
  --ep-surface-subtle:#f4f7f8;
  --ep-surface-dark:#080d12;
  --ep-surface-dark-raised:#111a23;
  --ep-border-light:rgba(17,26,35,.16);
  --ep-border-dark:rgba(255,255,255,.18);
  --ep-accent:#19d3d1;
  --ep-accent-text:#087b7a;
  --ep-accent-text-hover:#056563;
  --ep-error:#a83232;
  --ep-error-on-dark:#ffb4b4;
  --ep-success:#176f55;
  --ep-success-on-dark:#8ee0c0;
  --ep-deep:#080d12;
  --ep-graphite:#111a23;
  --ep-cyan:#19d3d1;
  --ep-steel:#4a5969;
  --ep-mist:#f4f7f8;
  --ep-white:#fff;
  --ep-ink:#111a23;
  --ep-muted:var(--ep-text-secondary);
  --ep-line-dark:var(--ep-border-dark);
  --ep-line-light:var(--ep-border-light);
  --ep-shadow:0 24px 70px rgba(8,13,18,.12);
  --ep-container:1240px;
  --ep-space-xs:.5rem;
  --ep-space-sm:.75rem;
  --ep-space-md:1rem;
  --ep-space-lg:2rem;
  --ep-space-xl:clamp(4.5rem,8vw,8rem);
  /* Typography uses only font files shipped with the project. */
  --ep-font-display:"Ruberoid","Montserrat",system-ui,-apple-system,"Segoe UI",sans-serif;
  --ep-font-body:"Montserrat",system-ui,-apple-system,"Segoe UI",sans-serif;
  --ep-type-h1:clamp(2.625rem,4vw,3.5rem);
  --ep-type-h2:clamp(1.75rem,2.8vw,2.5rem);
  --ep-type-h3:clamp(1.25rem,1.6vw,1.5rem);
  --ep-type-h4:1.0625rem;
  --ep-type-lead:1.0625rem;
  --ep-type-body:1rem;
  --ep-type-ui:.9375rem;
  --ep-type-label:.875rem;
  --ep-type-caption:.75rem;
  --ep-leading-heading:1.08;
  --ep-leading-body:1.68;
  --ep-radius-sm:4px;
  --ep-radius:8px;
  --ep-radius-lg:12px;
  --ep-ease:cubic-bezier(.22,1,.36,1);
}

html{scroll-behavior:smooth;background:var(--ep-surface-dark)}
body{
  background:var(--ep-surface-dark)!important;
  color:var(--ep-text-on-dark);
  font-family:var(--ep-font-body);
  font-size:var(--ep-type-body);
  line-height:var(--ep-leading-body);
  font-synthesis:none;
  text-rendering:optimizeLegibility;
}
body,button,input,textarea,select{font-family:var(--ep-font-body);font-synthesis:none}
h1,h2,h3,h4,h5,h6,.title,[class*="__title"]{font-family:var(--ep-font-display);font-weight:700}
strong,b{font-weight:600}
::selection{background:var(--ep-accent);color:var(--ep-surface-dark)}
img{max-width:100%}
.ep-visually-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}

.ep-skip{
  position:fixed!important;z-index:10000;top:.75rem;left:.75rem;
  transform:translateY(-160%);padding:.75rem 1rem;border-radius:var(--ep-radius-sm);
  background:var(--ep-cyan)!important;color:var(--ep-deep)!important;font-weight:600;
}
.ep-skip:focus{transform:none}

.ep-btn,
.ep-header__cta,
.popup__submit{
  min-height:48px;
  border:1px solid transparent;
  border-radius:var(--ep-radius-sm)!important;
  box-shadow:none!important;
  font-family:var(--ep-font-body)!important;
  font-size:var(--ep-type-ui)!important;
  font-weight:600!important;
  line-height:1.25!important;
  letter-spacing:-.01em;
  transition:transform .22s var(--ep-ease),background-color .22s ease,color .22s ease,border-color .22s ease!important;
}
.ep-btn:hover,.ep-header__cta:hover,.popup__submit:hover{transform:translateY(-2px)}
.ep-btn--primary,.ep-header__cta:not(.ep-header__cta--ghost),.popup__submit{
  background:var(--ep-accent)!important;color:var(--ep-surface-dark)!important;border-color:var(--ep-accent)!important;
}
.ep-btn--primary:hover,.ep-header__cta:not(.ep-header__cta--ghost):hover,.popup__submit:hover{
  background:#67e9e7!important;border-color:#67e9e7!important;
}
.ep-btn--ghost{
  background:transparent;color:var(--ep-text-on-dark);border-color:var(--ep-border-dark);
}
.ep-btn--ghost:hover{background:rgba(25,211,209,.1);border-color:var(--ep-accent);color:var(--ep-accent)}

input:not([type="checkbox"]):not([type="radio"]),textarea,select,.ep-input,.popup__input{
  border:1px solid rgba(74,89,105,.42)!important;
  border-radius:var(--ep-radius-sm)!important;
  background:var(--ep-surface-light)!important;
  color:var(--ep-text-primary)!important;
  font-size:1rem!important;
  line-height:1.4!important;
  box-shadow:none!important;
  transition:border-color .2s ease,box-shadow .2s ease!important;
}
input:not([type="checkbox"]):not([type="radio"]):focus,textarea:focus,select:focus,.ep-input:focus,.popup__input:focus{
  border-color:var(--ep-cyan)!important;
  box-shadow:0 0 0 3px rgba(25,211,209,.18)!important;
}
input::placeholder,textarea::placeholder{color:#7b8792!important;opacity:1}

/* Minimal shared header */
.ep-header{
  position:fixed!important;inset:0 0 auto!important;z-index:1000;
  border-bottom:1px solid transparent!important;
  background:linear-gradient(180deg,rgba(8,13,18,.92),rgba(8,13,18,.72) 74%,transparent)!important;
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease!important;
}
.ep-header.ep-header--scrolled,.ep-header._header-scroll{
  border-color:var(--ep-line-dark)!important;
  background:rgba(8,13,18,.94)!important;
  box-shadow:0 14px 36px rgba(0,0,0,.22)!important;
}
.ep-header__container{width:min(1440px,calc(100% - 48px))!important;max-width:none!important;margin-inline:auto!important}
.ep-header__logo img{display:block;object-fit:contain;object-position:left center;filter:none}
.ep-menu__list{align-items:center!important}
.ep-menu__item{position:relative}
.ep-menu__item:first-child{order:1}
.ep-menu__item:nth-child(2){order:3}
.ep-menu__item:nth-child(4){order:2}
.ep-menu__item--about{order:4}
.ep-menu__item:last-child{order:5}
.ep-menu__item--secondary{display:none!important}
.ep-menu__link{
  color:rgba(255,255,255,.78)!important;
  font-family:var(--ep-font-body)!important;font-size:var(--ep-type-label)!important;font-weight:600!important;
  letter-spacing:.01em!important;text-transform:none!important;
  transition:color .2s ease!important;
}
.ep-menu__link:hover,.ep-menu__item.is-active>.ep-menu__link,.ep-menu__link[aria-current="page"]{color:var(--ep-white)!important}
.ep-menu__item.is-active>.ep-menu__link::before{background:var(--ep-cyan)!important}
.ep-menu__dropdown{
  width:min(320px,calc(100vw - 32px))!important;max-height:min(72vh,640px);overflow:auto;
  padding:.65rem!important;border:1px solid var(--ep-line-dark)!important;border-radius:var(--ep-radius)!important;
  background:rgba(17,26,35,.98)!important;box-shadow:0 24px 70px rgba(0,0,0,.36)!important;
}
.ep-menu__dropdown-link{border-radius:var(--ep-radius-sm)!important;color:rgba(255,255,255,.78)!important}
.ep-menu__dropdown-link:hover{background:rgba(25,211,209,.09)!important;color:var(--ep-cyan)!important}
.ep-menu__dropdown-group{color:var(--ep-text-secondary-on-dark)!important;letter-spacing:.12em!important;text-transform:uppercase}
.ep-header__social,.ep-header__worktime,.ep-header__phone,.ep-header__cta--ghost{display:none!important}
.ep-header__actions{margin-left:auto!important}
.ep-header__cta{padding:.68rem 1rem!important;font-size:.82rem!important}
.ep-header__cta svg{display:none}

/* Shared surfaces: restrained geometry and cyan only as signal */
.ep-breadcrumbs{border-color:var(--ep-line-dark)!important;border-radius:var(--ep-radius-sm)!important;background:rgba(255,255,255,.035)!important}
.ep-breadcrumbs a{color:var(--ep-cyan)!important}
main :is(.ep-card,.ep-proof,.ep-step,.ep-service-card,.ep-materials-card,.ep-materials-choice__card,.ep-materials-group,.ep-materials-step,.ep-case-card){
  border-radius:var(--ep-radius)!important;
  border-color:var(--ep-line-dark)!important;
  box-shadow:none!important;
}
main.ep-page :is(.ep-kicker,.ep-eyebrow,[class$="__kicker"],[class$="__eyebrow"]){color:var(--ep-accent)!important}
details{border-radius:var(--ep-radius)!important}

/* Footer: large dark information field */
.ep-footer{
  position:relative;overflow:hidden;
  padding:clamp(72px,8vw,124px) 0 24px!important;
  border-top:1px solid var(--ep-line-dark)!important;
  background:var(--ep-deep)!important;color:var(--ep-white)!important;
}
.ep-footer::before{
  content:"";position:absolute;top:0;right:5%;width:min(34vw,480px);height:1px;background:var(--ep-cyan);
  box-shadow:-72px 42px 0 -0.2px var(--ep-cyan),-18px 42px 0 -0.2px var(--ep-cyan);
  transform:skewY(-24deg);transform-origin:right top;opacity:.55;pointer-events:none;
}
.ep-footer__container{width:min(1240px,calc(100% - 48px))!important;max-width:none!important;margin-inline:auto!important}
.ep-footer__cta{
  padding:clamp(24px,4vw,52px)!important;border:1px solid var(--ep-line-dark)!important;border-radius:var(--ep-radius-lg)!important;
  background:var(--ep-graphite)!important;box-shadow:none!important;
}
.ep-footer__kicker{color:var(--ep-cyan)!important;font-size:.75rem!important;letter-spacing:.16em!important;text-transform:uppercase}
.ep-footer__cta-title{max-width:15ch;font-family:var(--ep-font-display)!important;font-size:clamp(2rem,4vw,4.4rem)!important;line-height:.98!important;letter-spacing:-.045em!important}
.ep-footer__cta-lead{max-width:56ch!important;color:rgba(255,255,255,.66)!important;font-size:var(--ep-type-ui)!important;line-height:1.6!important}
.ep-footer__quickitem,.ep-pill{border-radius:var(--ep-radius-sm)!important;border-color:var(--ep-line-dark)!important;background:transparent!important;font-size:.8125rem!important;line-height:1.4!important}
.ep-footer__mini{border-radius:var(--ep-radius)!important;border-color:var(--ep-line-dark)!important;background:rgba(8,13,18,.42)!important}
.ep-footer__mini-text{font-size:.8125rem!important;line-height:1.5!important}
.ep-footer__grid{margin-top:clamp(32px,5vw,64px)!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.ep-footer__brandname{font-family:var(--ep-font-display)!important;font-size:clamp(1.6rem,2.4vw,2.5rem)!important;letter-spacing:-.035em}
.ep-footer__tagline{color:var(--ep-cyan)!important;font-size:var(--ep-type-label)!important;line-height:1.45!important}
.ep-footer__title{color:var(--ep-white)!important;font-family:var(--ep-font-display)!important;font-size:var(--ep-type-ui)!important;line-height:1.3!important}
.ep-footer__links a,.ep-footer__contact-item{font-size:var(--ep-type-label)!important;line-height:1.5!important}
.ep-footer__links a,.ep-footer__contact-item a,.ep-footer__legal a{color:rgba(255,255,255,.65)!important;text-decoration:none}
.ep-footer :is(p,li,a,small,span){font-weight:400}
.ep-footer :is(strong,b){font-weight:600}
.ep-footer :is(.ep-footer__title,.ep-footer__brandname){font-weight:700}
.ep-footer__legal{font-size:var(--ep-type-caption)!important;line-height:1.45!important}
.ep-footer__links a:hover,.ep-footer__contact-item a:hover,.ep-footer__legal a:hover{color:var(--ep-cyan)!important}
.ep-footer__social-link{border-radius:var(--ep-radius-sm)!important;background:transparent!important;border:1px solid var(--ep-line-dark)!important}
.ep-footer__bottom{border-color:var(--ep-line-dark)!important;color:rgba(255,255,255,.5)!important}
.popup__content{border:1px solid var(--ep-line-dark)!important;border-radius:var(--ep-radius-lg)!important;background:var(--ep-graphite)!important;color:var(--ep-white)!important}
.popup__title{font-family:var(--ep-font-display)!important;font-size:clamp(1.625rem,3vw,2rem)!important;font-weight:700!important;line-height:1.08!important}
.popup__text{color:rgba(255,255,255,.68)!important;font-size:.9375rem!important;line-height:1.6!important}
.popup__label-text{color:rgba(255,255,255,.68)!important;font-size:.75rem!important;line-height:1.45!important}
.popup__info{font-size:.75rem!important;line-height:1.45!important}
.popup :is(.ep-btn,button){font-weight:600!important}
@media (max-width:48rem){
  .popup{padding:calc(var(--epHeaderH,72px) + .75rem) .625rem 1rem}
  .popup__wrapper{justify-content:flex-start}
}

@media (max-width:1100px){
  .ep-header__container{width:min(100% - 32px,1440px)!important}
  .ep-header__cta{display:none!important}
}
@media (max-width:768px){
  .ep-header{background:rgba(8,13,18,.92)!important}
  .ep-header__container{width:calc(100% - 28px)!important}
  .ep-menu{background:var(--ep-deep)!important}
  .ep-menu__list{align-items:stretch!important}
  .ep-menu__item{order:initial!important}
  .ep-menu__link{font-family:var(--ep-font-display)!important;font-size:1.35rem!important;font-weight:700!important;color:var(--ep-white)!important}
  .ep-menu__dropdown{width:100%!important;max-height:none!important;background:var(--ep-graphite)!important;box-shadow:none!important}
  .ep-menu__mobile-cta,.ep-menu__mobile-aux,.ep-menu__mobile-worktime{border-radius:var(--ep-radius-sm)!important}
  .ep-footer__container{width:calc(100% - 28px)!important}
}
/* Internal page surfaces and components are owned by pages.css. */
/* Routed brief follows the same engineering form language */
.ep-brief-v2,.ep-brief-main{background:var(--ep-mist)!important;color:var(--ep-ink)!important}
.ep-brief-intro h1{color:var(--ep-ink)!important;letter-spacing:-.045em!important}
.ep-brief-intro p,.ep-brief-panel p,.ep-brief-price-note{color:var(--ep-muted)!important}
.ep-brief-crumbs{border-radius:var(--ep-radius-sm)!important;background:var(--ep-white)!important;border-color:var(--ep-line-light)!important;color:var(--ep-muted)!important}
.ep-brief-crumbs a,.ep-brief-kicker,.ep-brief-panel__head>span{color:var(--ep-accent-text)!important}
.ep-brief-scenarios,.ep-brief-panel,.ep-brief-contact,.ep-brief-submit{
  border:1px solid var(--ep-line-light)!important;
  border-radius:var(--ep-radius)!important;
  background:var(--ep-white)!important;
  box-shadow:none!important;
  color:var(--ep-ink)!important;
}
.ep-brief-panel h2,.ep-brief-contact h2,.ep-brief-field>span,.ep-brief-field legend{color:var(--ep-ink)!important}
.ep-brief-scenario-grid label{border-radius:var(--ep-radius-sm)!important;border-color:var(--ep-line-light)!important;background:var(--ep-mist)!important;color:var(--ep-ink)!important}
.ep-brief-scenario-grid label:has(input:checked){border-color:var(--ep-cyan)!important;background:rgba(25,211,209,.1)!important}

@media (max-width:768px){
  main.ep-page{padding-top:7.2rem!important}
  main.ep-page :is(.ep-material-hero,.ep-post-hero,.ep-hero,.ep-portfolio-hero){border-radius:var(--ep-radius)!important}
}

/* Explicit component states */
a{transition:color .2s ease,text-decoration-color .2s ease}
.ep-btn:active,.ep-header__cta:active,.popup__submit:active{transform:translateY(0) scale(.985)!important}
.ep-btn:disabled,.ep-btn[aria-disabled="true"],.ep-header__cta[aria-disabled="true"],.popup__submit:disabled{
  cursor:not-allowed!important;transform:none!important;opacity:.46!important;filter:grayscale(.28)
}
input[aria-invalid="true"],textarea[aria-invalid="true"],select[aria-invalid="true"],
input.is-error,textarea.is-error,select.is-error{
  border-color:var(--ep-error)!important;box-shadow:0 0 0 3px rgba(168,50,50,.14)!important;
}
input.is-success,textarea.is-success,select.is-success,
input:user-valid:not(:placeholder-shown){border-color:var(--ep-success)!important}
.ep-card,.ep-cardlink,.ep-faq__item,.ep-materials-card,.ep-materials-choice__card{
  transition:transform .24s var(--ep-ease),border-color .24s ease,background-color .24s ease!important;
}
.ep-card:hover,.ep-cardlink:hover,.ep-materials-card:hover,.ep-materials-choice__card:hover{
  transform:translateY(-3px);border-color:rgba(25,211,209,.5)!important;
}

/* Brand layout correction: compact header, cookie notice and callback */
@media (min-width:769px){
  .ep-header__container{width:min(1180px,calc(100% - 48px))!important}
}
.button{
  right:18px!important;bottom:18px!important;width:50px!important;height:50px!important;
  background:var(--ep-cyan) url("../img/call.svg") center/21px no-repeat!important;
  border:0!important;border-radius:50%!important;box-shadow:0 10px 28px rgba(8,13,18,.3)!important;
}
.button::before{display:none!important}
.button::after{border-radius:4px!important;background:var(--ep-graphite)!important}
body:has(#ep-cookie-banner) .button{bottom:92px!important}
.ep-cookie{left:auto!important;right:10px!important;bottom:10px!important;width:min(760px,calc(100% - 20px))!important;transform:none!important}
.ep-cookie__inner{
  gap:10px!important;padding:8px 10px!important;border-color:rgba(255,255,255,.14)!important;
  border-radius:8px!important;background:rgba(8,13,18,.95)!important;box-shadow:0 12px 34px rgba(0,0,0,.32)!important;
  color:var(--ep-text-on-dark);
}
.ep-cookie__text{max-width:430px!important;color:var(--ep-text-on-dark);font-size:.75rem!important;line-height:1.45!important}
.ep-cookie__actions{flex-wrap:wrap!important;gap:6px!important}
.ep-cookie .ep-btn{width:auto!important;min-height:38px!important;padding:7px 10px!important;border-radius:4px!important;font-size:.75rem!important;white-space:normal!important}
.ep-cookie .ep-btn--ghost{border-color:rgba(255,255,255,.52);background:transparent;color:var(--ep-text-on-dark)}
.ep-cookie .ep-btn--ghost:hover{border-color:var(--ep-accent);background:rgba(25,211,209,.1);color:var(--ep-accent)}
.ep-cookie .ep-btn--ghost:active{border-color:var(--ep-text-on-dark);background:rgba(255,255,255,.12);color:var(--ep-text-on-dark)}
.ep-cookie .ep-btn:focus-visible{outline-color:var(--ep-accent);box-shadow:0 0 0 3px rgba(25,211,209,.22)}
.ep-cookie .ep-btn:disabled{cursor:not-allowed;opacity:.55;transform:none}

@media (max-width:640px){
  body:has(#ep-cookie-banner) .button{bottom:116px!important}
  .button{right:12px!important;width:44px!important;height:44px!important;background-size:19px!important}
  .ep-cookie{left:6px!important;right:6px!important;bottom:6px!important;width:auto!important}
  .ep-cookie__inner{gap:6px!important;padding:7px!important}
  .ep-cookie__text{font-size:.75rem!important;line-height:1.4!important}
  .ep-cookie__actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:4px!important}
  .ep-cookie .ep-btn{width:100%!important;min-height:36px!important;padding:6px 4px!important;font-size:.75rem!important;line-height:1.2!important;white-space:normal!important}
}

.ep-cookie__text,
.ep-cookie .ep-btn,
.ep-cookie-modal__dialog,
.ep-cookie-opt span,
.ep-form__message,
.ep-footer__form-msg,
[data-ep-file-status]{
  overflow-wrap:anywhere;
  word-break:break-word;
}

.ep-cookie-modal__dialog{
  max-height:calc(100dvh - 2rem);
  margin:min(4rem,4vh) auto 0;
  overflow-y:auto;
  overscroll-behavior:contain;
}

@media (max-width:480px){
  .ep-cookie__actions{grid-template-columns:1fr!important}
  .ep-cookie-modal__footer{display:grid;grid-template-columns:1fr}
  .ep-cookie-modal__footer .ep-btn{width:100%}
}

/* Main-site header: clean brand rhythm and a single primary route */
.ep-header{
  background:rgba(8,13,18,.96)!important;
  border-bottom-color:rgba(255,255,255,.1)!important;
}
.ep-brief-intro h1{max-width:18ch!important;font-size:clamp(42px,5vw,64px)!important;line-height:.98!important}

@media (min-width:769px){
  .ep-header__container{
    min-height:88px!important;padding:8px 0!important;gap:32px!important;
  }
  .header__menu,.ep-menu{margin-left:0!important}
  .menu__list,.ep-menu__list{gap:clamp(18px,2vw,32px)!important}
  .menu__item,.ep-menu__item{order:initial!important}
  .menu__link,.ep-menu__link{
    min-height:40px!important;padding:0!important;color:rgba(255,255,255,.72)!important;
    font-size:14px!important;font-weight:600!important;letter-spacing:0!important;
  }
  .ep-menu__item--dropdown>.ep-menu__link{padding-right:0!important}
  .ep-menu__item--dropdown>.ep-menu__link::after{display:none!important}
  .ep-header__cta{min-height:46px!important;padding:10px 16px!important;font-size:13px!important}
  .ep-header__cta-text{display:inline!important}
}

@media (min-width:769px) and (max-width:1120px){
  .ep-menu__item--about,.ep-menu__item:last-child{display:none!important}
  .ep-header__container{gap:20px!important}
  .menu__list,.ep-menu__list{gap:18px!important}
}

@media (max-width:768px){
  .ep-header__container{min-height:72px!important;padding-top:10px!important;padding-bottom:10px!important}
}

/* Everyprint traced logo: one source of truth for normal, compact and mobile states. */
.ep-header__logo{
  display:flex;
  align-items:center;
  flex:0 0 auto;
  width:128px;
  overflow:visible;
  transition:width .2s ease;
}
.ep-header__logo img{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  aspect-ratio:1080 / 670;
}
.ep-footer__brand-logo{
  display:block;
  width:clamp(164px,15vw,196px);
  margin:0 0 12px;
}
.ep-footer__brand-logo img{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
}

.ep-header.ep-header--scrolled .ep-header__logo,
.ep-header._header-scroll .ep-header__logo{width:108px}

.ep-header.ep-header--scrolled .ep-header__container,
.ep-header._header-scroll .ep-header__container{min-height:74px!important;padding-top:7px!important;padding-bottom:7px!important}

@media (max-width:768px){
  .ep-header__logo{width:90px}
  .ep-header.ep-header--scrolled .ep-header__logo,
  .ep-header._header-scroll .ep-header__logo{width:84px}
  .ep-header.ep-header--scrolled .ep-header__container,
  .ep-header._header-scroll .ep-header__container{min-height:66px!important;padding-top:7px!important;padding-bottom:7px!important}
  .ep-footer__brand-logo{width:154px}
}

/* Mobile dropdown state must win over the later shared desktop surface rule. */
@media (max-width:768px){
  nav.ep-menu .ep-menu__dropdown{
    max-height:0!important;
    opacity:0;
    overflow:hidden;
    padding:0 .2rem!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  nav.ep-menu .ep-menu__item--dropdown.is-open .ep-menu__dropdown{
    max-height:min(1400px,72vh)!important;
    opacity:1;
    overflow:auto;
    padding:.1rem .2rem!important;
    border-left:1px solid var(--ep-line-dark)!important;
  }
}

/* Accessibility safeguards must remain last: later component rules must not
   remove keyboard focus or restore optional motion. */
body:not(#ep-a11y-specificity) :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
  outline:3px solid var(--ep-accent-text)!important;
  outline-offset:3px!important;
  box-shadow:0 0 0 3px #fff!important;
}

@media (forced-colors:active){
  body:not(#ep-a11y-specificity) :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
    outline:2px solid CanvasText!important;
  }
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  body:not(#ep-a11y-specificity) *,
  body:not(#ep-a11y-specificity) *::before,
  body:not(#ep-a11y-specificity) *::after{
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important;
  }
}

/* Form feedback and explicit retry actions. */
.ep-field-error{display:block;color:var(--ep-error,#a52323);font-size:13px;line-height:1.5;font-weight:400;overflow-wrap:anywhere}
.ep-field-error[hidden],.ep-attempt-actions[hidden],.ep-file-remove[hidden],form label[hidden]{display:none}
.ep-attempt-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.ep-attempt-actions button,.ep-file-remove{min-height:44px;padding:10px 14px;border:1px solid currentColor;border-radius:6px;background:var(--ep-white,#fff);color:var(--ep-ink,#17212b);font:inherit;line-height:1.4;cursor:pointer}
.ep-contact-method{display:grid;gap:6px;margin:8px 0;font-weight:600}
.ep-contact-method select{width:100%;min-height:46px;padding:10px 12px;background:var(--ep-white,#fff);color:var(--ep-ink,#17212b);font:inherit;border:1px solid #697887;border-radius:6px}
.ep-file-remove{justify-self:start}

.ep-lightbox__caption{position:absolute;bottom:18px;left:70px;right:70px;margin:0;color:#fff;text-align:center;font:inherit;font-size:14px;line-height:1.4;overflow-wrap:anywhere}
@media(max-width:44rem){.ep-lightbox__img{max-height:calc(100dvh - 160px);max-width:calc(100vw - 36px)}}
