/* Desktop compact CTAs share a steady button and looping arrow. */
@media (min-width:721px) {
 body.home-page :is(.pakrus-home-v2-native .hero-banner .hero-banner-cta, .pakrus-split-hero .pakrus-split-cta, .home-video-cta-button, .production-banner-cta),
 body.home-page :is(.pakrus-home-v2-native .hero-banner .hero-banner-cta, .pakrus-split-hero .pakrus-split-cta, .home-video-cta-button, .production-banner-cta):is(:hover,:focus-visible) {
  position:relative; display:inline-flex; align-items:center; justify-content:flex-start;
  width:fit-content; height:56px; min-height:56px; flex:0 0 56px;
  padding:0 60px 0 24px; border:0; border-radius:28px;
  background:#fff; color:#0c0c0c; transform:none; transition:none;
 }
 body.home-page :is(.pakrus-home-v2-native .hero-banner .hero-banner-cta, .pakrus-split-hero .pakrus-split-cta, .home-video-cta-button, .production-banner-cta)::after {
  content:""; position:absolute; top:11px; right:11px;
  width:34px; height:34px; border-radius:50%; pointer-events:none;
  background:#1ab37d url('../icons/home/hero-cta-arrow-white.svg') repeat-x 0 0 / 34px 34px;
 }
 @media (prefers-reduced-motion:no-preference) {
  body.home-page :is(.pakrus-home-v2-native .hero-banner .hero-banner-cta, .pakrus-split-hero .pakrus-split-cta, .home-video-cta-button, .production-banner-cta):is(:hover,:focus-visible)::after {
   animation:hero-cta-arrow-slide 420ms cubic-bezier(.22,1,.36,1);
  }
 }
}
@keyframes hero-cta-arrow-slide {
 from { background-position:0 0; }
 to { background-position:34px 0; }
}
/* Mobile menu uses the same request CTA as the mobile hero on every page. */
.home-mobile-menu .home-mobile-menu-cta {
 position:relative; width:100%; height:56px; min-height:56px; flex:0 0 56px;
 align-items:center; justify-content:flex-start; text-align:left;
 padding:0 60px 0 24px; border:0; border-radius:28px;
 background:#1ab37d; color:#fff; touch-action:manipulation;
}
.home-mobile-menu .home-mobile-menu-cta::after {
 content:""; position:absolute; right:11px; top:50%; transform:translateY(-50%);
 width:34px; height:34px; pointer-events:none;
 background:url('../icons/home/hero-button-arrow.svg') center / contain no-repeat;
}
:root {
 --page-breadcrumb-top:84px;
 --page-heading-gap:60px;
 --page-container-gutter: max(40px, calc((100vw - 1520px) / 2));
 --shared-container-gutter: max(40px, calc((100% - 1520px) / 2));
}
/* Article covers keep the original image proportions at every viewport width. */
.pakrus-post-cover { width:100%; height:auto; aspect-ratio:auto; object-fit:contain; }
/* A dismissed cookie notice stays in the DOM: opacity alone still intercepts taps. */
.cookie-notice { visibility:hidden; pointer-events:none; }
.cookie-notice.is-visible { visibility:visible; pointer-events:auto; }
.cookie-notice[hidden] { display:none; }
/* Hidden overlays must not cover controls; open dialogs sit above fixed navigation. */
body.home-page .home-form-modal { z-index:1100; visibility:hidden; }
body.home-page .home-form-modal.is-open { visibility:visible; }
body.home-page .home-header:not(.is-menu-open) .home-mobile-menu { visibility:hidden; pointer-events:none; }
body.home-page .home-header.is-menu-open .home-mobile-menu { visibility:visible; }
/* One document-flow position below the fixed header, including wrapped trails. */
body.home-page :is(.pakrus-blog-page, .pakrus-single-post-page, .technical-page, .solutions-page) {
 padding-top:var(--page-breadcrumb-top);
}
body.home-page .technical-page {
 padding-left:var(--shared-container-gutter); padding-right:var(--shared-container-gutter);
}
body.home-page :is(.pakrus-blog-head, .solutions-hero) { margin-top:var(--page-heading-gap); }
body.home-page .product-detail-page > .product-detail-breadcrumbs {
 padding:var(--page-breadcrumb-top) var(--shared-container-gutter) 20px;
 margin:0;
}
@media (max-width:720px) {
 :root { --page-heading-gap:40px; }
}
/* Full-bleed media keeps its background; its content uses the home grid. */
body.home-page :is(.contacts-page, .solutions-page,
 .production-page-intro, .production-page-process, .production-page-quality,
 .production-page-materials, .production-page-media, .production-page-director,
 .production-page-products, .production-page-cta-section,
 .business-page-products, .business-page-benefits, .business-page-cta-section,
 .about-page-director, .about-page-benefits, .about-page-team,
 .about-page-audience, .about-page-cta-section,
 .product-detail-cta-section, .product-detail-story, .product-detail-other) {
 padding-left: var(--shared-container-gutter);
 padding-right: var(--shared-container-gutter);
}
body.home-page :is(.pakrus-blog-page, .pakrus-single-post-page) { padding-left:0; padding-right:0; }
body.home-page main:not(.pakrus-home-v2-native) > :is(.home-certificates, .home-production, .home-link-cards, .home-partners, .home-impact) {
 padding-left:var(--shared-container-gutter);
 padding-right:var(--shared-container-gutter);
}
body.home-page :is(.pakrus-blog-inner, .pakrus-single-post-inner) {
 width:min(1520px, calc(100% - 80px));
 max-width:1520px;
 margin-left:auto; margin-right:auto;
}
body.home-page:not(:has([data-home-v2-native])) .home-hero-content {
 max-width:calc(100% - var(--page-container-gutter) - var(--page-container-gutter));
 margin-left:var(--page-container-gutter);
}
body.home-page .home-header {
 color:#0c0c0c; background:#fff;
 padding-left:var(--shared-container-gutter); padding-right:var(--shared-container-gutter);
}
body.home-page .home-header-logo { height:32px; }
body.home-page .home-header-logo img { filter:brightness(0); }
@media (min-width:721px) {
 .product-detail-thumbs, .production-process-title { left:var(--page-container-gutter); }
 .product-detail-info, .production-process-slide-shell { right:var(--page-container-gutter); }
 .production-process-title { max-width:calc((100vw - var(--page-container-gutter) * 2 - 10px) / 2); }
 .production-process-slide-shell { width:calc((100vw - var(--page-container-gutter) * 2 - 10px) / 2); }
}
@media (max-width:720px) {
 :root { --page-container-gutter:12px; --shared-container-gutter:12px; }
 body.home-page :is(.pakrus-blog-inner, .pakrus-single-post-inner) { width:calc(100% - 24px); }
 body.home-page .home-header { position:fixed !important; top:0; right:0; left:0; z-index:1000; }
}
      .home-header {
        padding-right: var(--page-container-gutter);
        padding-left: var(--page-container-gutter);
      }

      .home-header-logo {
        height: 32px;
      }

      .home-header {
        color: #0c0c0c;
        background: #fff;
      }

      .home-header-logo img,
      .home-header.has-solid-bg .home-header-logo img {
        filter: brightness(0);
      }

      .home-footer-content {
        width: min(1520px, calc(100% - 80px));
        margin-right: auto;
        margin-left: auto;
        padding-right: 0;
        padding-left: 0;
      }

      .home-footer-bottom {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        width: 100%;
      }

      .home-footer-bottom .home-footer-meta {
        justify-content: flex-start;
        width: 100%;
        margin-top: 60px;
      }

      .home-footer-meta-links {
        display: flex;
        gap: 20px;
        margin-left: auto;
      }

      .home-footer-contacts {
        overflow: hidden;
        border-radius: 32px;
      }

      @media (min-width: 1181px) {
        .home-footer-contacts {
          box-sizing: border-box;
          border: 1px solid rgba(255, 255, 255, 0.2);
        }

        .home-footer-contact {
          border: 0;
        }

        .home-footer-contact:nth-child(2),
        .home-footer-contact:nth-child(3),
        .home-footer-contact:nth-child(4),
        .home-footer-contact:nth-child(6) {
          border-left: 1px solid rgba(255, 255, 255, 0.2);
        }

        .home-footer-contact:nth-child(5),
        .home-footer-contact:nth-child(6) {
          border-top: 1px solid rgba(255, 255, 255, 0.2);
        }

        .home-footer {
          height: 1050px;
          min-height: 1050px;
        }

        .home-footer-content {
          box-sizing: border-box;
          min-height: 100%;
          height: 100%;
        }

        .home-header {
          padding-right: var(--page-container-gutter);
          padding-left: var(--page-container-gutter);
        }

        .home-footer-content {
          padding-right: 0;
          padding-left: 0;
        }
      }

      @media (max-width: 720px) {

        .home-header {
          padding-right: 12px;
          padding-left: 12px;
        }

        .home-footer-content {
          box-sizing: border-box;
          width: 100%;
          margin-right: auto;
          margin-left: auto;
          padding-right: 12px;
          padding-left: 12px;
        }

        /* У карточек остаются прозрачные внешние поля 12 px. Сам скролл
           расширен на эти поля, поэтому следующий элемент не режется
           внутренней границей секции справа. */
      }
    
