/*
 * Shared visual scale for the existing WordPress site. Functional controls,
 * compact labels, brand marks and the homepage video retain their own shapes.
 */
@layer ulm-site-standard {
  body.page {
    /* Shared values follow the existing site, rather than resizing special UI. */
    --ulm-space-2: 8px;
    --ulm-space-3: 12px;
    --ulm-space-4: 16px;
    --ulm-space-5: 20px;
    --ulm-space-6: 24px;
    --ulm-space-8: 32px;
    --ulm-space-10: 40px;
    --ulm-space-12: 48px;
    --ulm-space-16: 64px;
    --ulm-space-20: 80px;
    --ulm-space-24: 96px;
    --ulm-content-width: 1140px;
    --ulm-content-gutter: var(--ulm-space-8);
    --ulm-content-narrow: 80%;
    --ulm-section-space: var(--ulm-space-12);
    --ulm-tech-section-space: var(--ulm-space-16);
    --ulm-card-radius: var(--ulm-space-6);
    --ulm-card-gap: var(--ulm-space-6);
    --ulm-card-padding: var(--ulm-space-6);
    --ulm-heading-size: 52px;
    --ulm-card-heading-size: 26px;
    --ulm-cta-height: 45px;
    --ulm-cta-padding: 8px 18px;
    --ulm-cta-font-size: 18px;
    --ulm-primary-color: #0068ff;
  }

  /* Full-bleed backgrounds remain on the section; only its content is boxed. */
  body.page #Content .elementor > .elementor-top-section:not(:is(.elementor-element-4bde77e,.elementor-element-0d994f7)) {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  body.page #Content .elementor > .elementor-top-section:not(:is(.elementor-element-4bde77e,.elementor-element-0d994f7,.fit-comparison)) {
    padding-top: var(--ulm-section-space) !important;
    padding-bottom: var(--ulm-section-space) !important;
  }
  body.page #Content .elementor > .elementor-top-section:not(:is(.elementor-element-4bde77e,.elementor-element-0d994f7)) > .elementor-container {
    width: calc(100% - var(--ulm-content-gutter) - var(--ulm-content-gutter)) !important;
    max-width: var(--ulm-content-width) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  /* These two legacy heroes have an extra pair of Elementor column paddings. */
  body.page #Content .elementor-element-295e630 > .elementor-container > .elementor-column > .elementor-widget-wrap,
  body.page #Content .elementor-element-295e630 .elementor-inner-section > .elementor-container > .elementor-column > .elementor-widget-wrap {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  /* Content variants share the existing Elementor grid; headings stay outside
     the narrower body. Apply these classes to new section bodies. */
  body.page #Content .ulm-content-body--full { width: 100%; max-width: 100%; }
  body.page #Content .ulm-content-body--narrow {
    width: var(--ulm-content-narrow);
    max-width: 100%;
    margin-inline: auto;
  }
  /* Existing Elementor widgets have saved inline/theme widths. Target only
     those legacy widgets when connecting them to the shared layout values. */
  body.page-id-589 #Content :is(.elementor-element-8f3a913,.elementor-element-a0f3e04) > .elementor-widget-wrap,
  body.page-id-589 #Content .fit-comparison__section {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  body.page-id-589 #Content .elementor-element-8f3a912 .elementor-tabs-content-wrapper,
  body.page-id-589 #Content #opinie .native-reviews {
    width: 100% !important;
  }
  body.page-id-589 #Content #opinie .native-reviews {
    max-width: 100% !important;
    flex-basis: 100% !important;
  }
  body.page #Content .ulm-tech-section > .ulm-tech-section-title { width: 100% !important; }
  body.page #Content :is(#proces .process-stage, #opinie .native-reviews .offer_li .desc_wrapper,
    .case-editorial .case-process-grid, .case-editorial .case-review-inner,
    .case-editorial .case-body, .skills-more) {
    width: var(--ulm-content-narrow) !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  body.page #Content .case-editorial .case-related-grid {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* The existing carousel script follows the hero video width and position. */
  body.page-id-589.ulm-home-panel-ready #Content .elementor-element-4315ef5 {
    width: var(--ulm-home-panel-width) !important;
    flex: 0 0 var(--ulm-home-panel-width) !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  body.page-id-589 #Content #wspolpraca .fit-comparison__pair {
    width: var(--ulm-content-narrow) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  @media (min-width: 768px) {
    body.page-id-589 #Content #wspolpraca .fit-comparison__pair > .elementor-container {
      position: relative;
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    body.page-id-589 #Content #wspolpraca .fit-comparison__pair-index {
      position: absolute !important;
      width: 44.8px !important;
      left: -57.6px !important;
      top: 0;
      bottom: 0;
    }
  }
  @media (max-width: 767px) {
    body.page-id-589 #Content #wspolpraca .fit-comparison__pair > .elementor-container {
      grid-template-columns: minmax(0, 1fr) !important;
    }
    body.page-id-589 #Content #wspolpraca .fit-comparison__pair-index { grid-row: auto !important; }
    body.page-id-589 #Content #wspolpraca .fit-comparison__pair-index > .elementor-widget-wrap {
      padding-top: 0 !important;
    }
    body.page-id-589 #Content #wspolpraca .fit-comparison__pair-index::after { display: none !important; }
  }

  /* Home About: keep the photo and its action together as the section opens. */
  body.page-id-589 #Content #o-nas .about-seo-visual > .elementor-widget-wrap {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
  }
  body.page-id-589 #Content #o-nas .about-seo-subheading h2 {
    font-size: clamp(24px, 2.2vw, 32px) !important;
    line-height: 1.2 !important;
    letter-spacing: -.025em !important;
  }
  body.page-id-589 #Content #o-nas .about-seo-visual .about-seo-cta {
    width: 100%;
    margin: 16px 0 0 !important;
    text-align: left !important;
  }
  body.page-id-589 #Content #o-nas .about-seo-visual .about-seo-cta .elementor-button {
    box-sizing: border-box;
    max-width: 100%;
  }
  @media (min-width: 1025px) {
    body.page-id-589 #Content #o-nas .about-seo-visual > .elementor-widget-wrap {
      align-self: flex-start !important;
      position: sticky !important;
      top: 104px;
      height: auto !important;
      width: 100%;
      transition: width 450ms cubic-bezier(.22, 1, .36, 1);
    }
    body.page-id-589 #Content #o-nas.ulm-about-trail-open .about-seo-visual > .elementor-widget-wrap {
      width: calc(100% - 56px) !important;
    }
    body.page-id-589 #Content #o-nas .about-seo-visual .about-seo-photo {
      position: relative !important;
      inset: auto !important;
      top: 0 !important;
      width: 100% !important;
      height: auto !important;
    }
    body.page-id-589 #Content #o-nas .about-seo-visual .about-seo-photo img {
      width: 100% !important;
      height: auto !important;
      aspect-ratio: 1.16 !important;
      object-fit: cover !important;
    }
  }
  @media (max-width: 1024px) {
    body.page-id-589 #Content #o-nas .about-seo-visual .about-seo-photo {
      display: none !important;
    }
    body.page-id-589 #Content #o-nas .about-seo-visual > .elementor-widget-wrap {
      align-items: flex-start !important;
    }
    body.page-id-589 #Content #o-nas .about-seo-visual .about-seo-cta {
      max-width: none;
      width: 100%;
      margin: 0 !important;
      text-align: left !important;
    }
  }
  @media (prefers-reduced-motion: reduce) {
    body.page-id-589 #Content #o-nas .about-seo-visual > .elementor-widget-wrap {
      transition: none !important;
    }
  }

  /* Heading levels are consistent by role, not by incidental widget styles. */
  body.page #Content h1,
  body.page #Content h2:not(:where(.ulm-contact-card h2,.case-section-title h2)) {
    font-family: Manrope, sans-serif !important;
    font-weight: 500 !important;
    font-size: var(--ulm-heading-size) !important;
    line-height: 1.08 !important;
    letter-spacing: -.035em !important;
  }
  body.page #Content h2:where(.ulm-contact-card h2,.case-section-title h2),
  body.page #Content h3:not(:where(.skills-num h3,.trust-name h3,.fit-comparison h3)) {
    font-family: Manrope, sans-serif !important;
    font-weight: 500 !important;
    font-size: var(--ulm-card-heading-size) !important;
    line-height: 1.2 !important;
    letter-spacing: -.025em !important;
  }
  body.page #Content .process-stage .process-stage-title { font-weight: 700 !important; }
  /* The theme's 350px off-canvas menu must fit even a 320px viewport. */
  body.page #mfn-header-template .mfn-header-tmpl-menu-sidebar { max-width: 100vw; }
  /* Increase the burger's hit area without changing its visible geometry. */
  body.page #mfn-header-template .mfn-header-menu-burger {
    position: relative;
    /* BeTheme clips icon-box descendants by default, including the hit area. */
    overflow: visible !important;
  }
  body.page #mfn-header-template .mfn-header-menu-burger::after {
    content: "";
    position: absolute;
    inset: -10px;
  }
  /* Keep standard sections, cards and their internal spacing consistent. */
  body.page #Content :is(.offer-card,.ulm-contact-card,.portfolio-card,.ulm-tech-empty,.ulm-tech-final,.about-work-card,.about-figure-card,.skills-card,.trust-card,.fit-comparison__statement,.native-reviews .desc_wrapper),
  body.page #Content :is(.skills-card,.trust-card) > .elementor-widget-wrap {
    border-radius: var(--ulm-card-radius) !important;
  }
  body.page #Content :is(.offer-cards,.ulm-tech-grid,.ulm-contact-grid) {
    gap: var(--ulm-card-gap) !important;
  }
  body.page #Content :is(.offer-card,.ulm-contact-card,.about-work-card,.about-figure-card,.fit-comparison__statement) {
    padding: var(--ulm-card-padding) !important;
  }
  /* Match the technology logo badges used in dark mode on the homepage. */
  html:not([data-ulm-theme="dark"]) body.page-id-589 #oferta .offer-card:not(.offer-contact) .elementor-widget-image:not(.offer-illustration) {
    background-color: #e8eaf0 !important;
    border-radius: 25.6px !important;
  }
  @media (max-width: 767px) {
    html:not([data-ulm-theme="dark"]) body.page-id-589 #oferta .offer-card:not(.offer-contact) .elementor-widget-image:not(.offer-illustration) {
      border-radius: 32px !important;
    }
  }
  body.page #Content .native-reviews .desc_wrapper { padding: var(--ulm-space-12) !important; }
  body.page #Content .portfolio-card img {
    border-radius: var(--ulm-card-radius) var(--ulm-card-radius) 0 0 !important;
  }
  /* Homepage project tiles step down from four to one column. */
  @media (min-width: 1025px) {
    html body.page-id-589 #Content .portfolio-section .portfolio-grid .portfolio-card {
      flex: 0 0 calc((100% - 57.6px) / 4) !important;
      width: calc((100% - 57.6px) / 4) !important;
      max-width: calc((100% - 57.6px) / 4) !important;
      min-width: 0 !important;
    }
  }
  @media (min-width: 768px) and (max-width: 1024px) {
    html body.page-id-589 #Content .portfolio-section .portfolio-grid .portfolio-card {
      flex: 0 0 calc((100% - 38.4px) / 3) !important;
      width: calc((100% - 38.4px) / 3) !important;
      max-width: calc((100% - 38.4px) / 3) !important;
      min-width: 0 !important;
    }
  }
  @media (min-width: 600px) and (max-width: 767px) {
    html body.page-id-589 #Content .portfolio-section .portfolio-grid .portfolio-card {
      flex: 0 0 calc((100% - 24px) / 2) !important;
      width: calc((100% - 24px) / 2) !important;
      max-width: calc((100% - 24px) / 2) !important;
      min-width: 0 !important;
    }
  }
  /* Reserve the actual thumbnail proportions before lazy images arrive. */
  body.page #Content .case-studies .portfolio-card .elementor-widget-image img {
    aspect-ratio: 808 / 632;
    object-fit: cover;
  }
  body.page #Content .ulm-tech-detail .ulm-tech-hero { margin-bottom: 0 !important; }
  body.page #Content .ulm-tech-detail .ulm-tech-section { margin-top: var(--ulm-tech-section-space) !important; }
  /* On tablet and mobile, place the technology mark above the hero copy. */
  @media (max-width: 1025px) {
    body.page #Content .ulm-tech-detail .ulm-tech-hero {
      grid-template-columns: minmax(0,1fr) !important;
    }
    body.page #Content .ulm-tech-detail .ulm-tech-hero > .ulm-tech-logo {
      grid-column: 1 !important;
      grid-row: 1 !important;
      order: -1 !important;
      justify-self: center !important;
      width: min(284px,100%) !important;
      margin: 0 0 24px !important;
    }
  }
  /* Match the centered tablet heading without changing the mobile or desktop alignment. */
  @media (min-width: 768px) and (max-width: 1024px) {
    body.page #Content .ulm-tech-detail .ulm-tech-hero > .ulm-tech-intro,
    body.page #Content .ulm-tech-detail .ulm-tech-hero > .ulm-tech-intro p {
      text-align: center !important;
    }
    body.page #Content .ulm-tech-detail .ulm-tech-hero > .elementor-widget-button {
      justify-self: center !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
    }
  }

  /* Primary actions share the existing homepage button's proportions. */
  body.page :is(#Content,#mfn-header-template,#mfn-footer-template,#ulm-ceo-dialog,#mfn-gdpr) .ulm-standard-cta,
  body.page .mfn-gdpr-button.ulm-standard-cta {
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: var(--ulm-cta-height) !important;
    height: auto !important;
    max-width: 100% !important;
    padding: var(--ulm-cta-padding) !important;
    border-width: 2px !important;
    border-style: solid !important;
    border-radius: 999px !important;
    font-family: Jost, sans-serif !important;
    font-size: var(--ulm-cta-font-size) !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    letter-spacing: normal !important;
    text-align: center !important;
    transition: background-color .2s ease, border-color .2s ease, color .2s ease !important;
  }
  body.page .ulm-standard-cta .elementor-button-content-wrapper {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
  }
  body.page .ulm-standard-cta .elementor-button-text {
    font-size: inherit !important;
    line-height: inherit !important;
    white-space: normal !important;
  }
  body.page #mfn-header-template .ulm-mega-sidebar-cta .ulm-standard-cta {
    width: 100% !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
  body.page .ulm-standard-cta.ulm-blue-cta {
    background-color: var(--ulm-primary-color) !important;
    border-color: var(--ulm-primary-color) !important;
    color: #fff !important;
  }
  body.page .ulm-standard-cta.ulm-blue-cta:is(:hover,:focus-visible) {
    background-color: #fff !important;
    border-color: var(--ulm-primary-color) !important;
    color: var(--ulm-primary-color) !important;
  }
  body.page .ulm-standard-cta.ulm-blue-cta:focus-visible {
    outline: 3px solid var(--ulm-primary-color) !important;
    outline-offset: 3px !important;
  }
  @media (max-width: 767px) {
    body.page #Content .ulm-tech-detail .ulm-tech-hero > .ulm-tech-logo {
      width: min(260px,100%) !important;
    }
    body.page {
      --ulm-content-gutter: var(--ulm-space-4);
      --ulm-content-narrow: 100%;
      --ulm-section-space: var(--ulm-space-10);
      --ulm-tech-section-space: var(--ulm-space-12);
      --ulm-card-radius: var(--ulm-space-5);
      --ulm-card-gap: var(--ulm-space-4);
      --ulm-heading-size: 37px;
      --ulm-card-heading-size: 22px;
      --ulm-cta-height: 40px;
      --ulm-cta-padding: 7px 16px;
      --ulm-cta-font-size: 14px;
    }
    /* Project thumbnails remain compact enough for the requested two columns. */
    body.page #Content .case-studies .portfolio-card h3 { font-size: 18px !important; }
    body.page #Content .native-reviews .desc_wrapper { padding: var(--ulm-space-6) !important; }
    /* Let long service labels use their natural width instead of wrapping
       inside a forced half-width chip on phones. */
    body.page #Content #proces .process-services .button {
      flex: 0 1 auto !important;
      width: auto !important;
      max-width: 100% !important;
    }
  }
  @media (prefers-reduced-motion: reduce) {
    body.page .ulm-standard-cta { transition: none !important; }
  }
}

/* All blue primary CTAs use the actual homepage arrow and the same metrics. */
@layer ulm-site-standard {
  html body.page .ulm-standard-cta.ulm-blue-cta .elementor-button-content-wrapper {
    color:inherit!important;
  }
  html body.page .ulm-standard-cta.ulm-blue-cta :is(.elementor-button-icon,.ulm-mega-sidebar-cta-icon) {
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 1em!important;
    width:1em!important;
    height:1em!important;
    margin:0!important;
    font-size:inherit!important;
    line-height:1!important;
    color:inherit!important;
  }
  html body.page .ulm-standard-cta.ulm-blue-cta .elementor-button-text {
    color:inherit!important;
  }
  html body.page .ulm-standard-cta.ulm-blue-cta :is(.elementor-button-icon,.ulm-mega-sidebar-cta-icon) :is(svg,i) {
    display:none!important;
  }
  html body.page .ulm-standard-cta.ulm-blue-cta :is(.elementor-button-icon,.ulm-mega-sidebar-cta-icon)::before,
  html body.page #mfn-footer-template a.ulm-standard-cta.ulm-blue-cta::after {
    content:""!important;
    display:block!important;
    flex:0 0 1em!important;
    width:1em!important;
    height:1em!important;
    background-color:currentColor!important;
    --ulm-primary-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12h16m-6-6 6 6-6 6' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    -webkit-mask:var(--ulm-primary-arrow) center / contain no-repeat!important;
    mask:var(--ulm-primary-arrow) center / contain no-repeat!important;
  }
  html body.page #mfn-footer-template a.ulm-standard-cta.ulm-blue-cta,
  html body.page #mfn-header-template .ulm-mega-sidebar-cta a.ulm-standard-cta.ulm-blue-cta {
    gap:10px!important;
  }
}

/* Technology service cards use the same actions as the homepage offer cards. */
@layer ulm-site-standard {
  html:not([data-ulm-theme="dark"]) body.page #Content .ulm-tech-service-tabs .ulm-tech-card-action .elementor-button.ulm-standard-cta,
  html:not([data-ulm-theme="dark"]) body.page #Content .ulm-tech-service-tabs .ulm-tech-card-action .elementor-button.ulm-standard-cta:is(:hover,:focus,:focus-visible,:active) {
    background-color: #fff !important;
    border-color: #f4f4f4 !important;
    color: #0068ff !important;
  }
  html[data-ulm-theme="dark"] body.page #Content .ulm-tech-service-tabs .ulm-tech-card-action .elementor-button.ulm-standard-cta:is(:hover,:focus,:focus-visible,:active) {
    background-color: #fbfcff !important;
    border-color: #0068ff !important;
    color: #0068ff !important;
  }
  html body.page #Content .ulm-tech-service-tabs .ulm-tech-card-action .elementor-button .elementor-button-icon {
    transition: transform 160ms ease !important;
  }
  html body.page #Content .ulm-tech-service-tabs .ulm-tech-card-action .elementor-button:is(:hover,:focus-visible) .elementor-button-icon {
    transform: translateX(3.2px) !important;
  }
  @media (prefers-reduced-motion: reduce) {
    html body.page #Content .ulm-tech-service-tabs .ulm-tech-card-action .elementor-button .elementor-button-icon {
      transition: none !important;
      transform: none !important;
    }
  }
}

/* The shared paragraph layer already defines responsive size and leading.
   Labels and the explicitly emphasised process summary keep their weight. */
@layer ulm-paragraph-typography {
  body.page #Content p:not(:where(.process-step-number,.process-stage-summary,.skills-desc p)) {
    font-family: Inter, sans-serif !important;
    font-weight: 400 !important;
  }
}

/* Technology and service links on case studies share the same tag style. */
@layer ulm-site-standard {
  html body.page #Content .case-editorial .case-tech-tags .case-tag-group,
  html body.page #Content .case-editorial .case-service-list ul {
    display:flex!important;
    flex-wrap:wrap!important;
    gap:6px!important;
    margin:0!important;
    padding:0!important;
    list-style:none!important;
  }
  html body.page #Content .case-editorial .case-service-list li {
    display:block!important;
    margin:0!important;
    padding:0!important;
    list-style:none!important;
    max-width:100%!important;
  }
  html body.page #Content .case-editorial .case-tech-tags .case-tech-tag,
  html body.page #Content .case-editorial .case-service-list li a {
    box-sizing:border-box!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    max-width:100%!important;
    height:32px!important;
    min-height:32px!important;
    padding:0 9px!important;
    border:2px solid #f4f4f4!important;
    border-radius:999px!important;
    background:#fff!important;
    color:#0068ff!important;
    font:500 12px/1 Jost,sans-serif!important;
    letter-spacing:normal!important;
    text-decoration:none!important;
    white-space:nowrap!important;
    transition:color .2s ease-in-out,background-color .2s ease-in-out,border-color .2s ease-in-out!important;
  }
  html body.page #Content .case-editorial .case-tech-tags .case-tech-tag:hover,
  html body.page #Content .case-editorial .case-service-list li a:hover {
    border-color:#0068ff!important;
  }
  html body.page #Content .case-editorial .case-tech-tags .case-tech-tag:hover {
    transform:none!important;
    box-shadow:none!important;
  }
  html body.page #Content .case-editorial .case-tech-tags .case-tech-tag:focus-visible,
  html body.page #Content .case-editorial .case-service-list li a:focus-visible {
    outline:2px solid #0068ff!important;
    outline-offset:2px!important;
  }
  html[data-ulm-theme="dark"] body.page #Content .case-editorial .case-tech-tags .case-tech-tag,
  html[data-ulm-theme="dark"] body.page #Content .case-editorial .case-service-list li a {
    background:#101119!important;
    border-color:#535564!important;
    color:#fff!important;
  }
  html[data-ulm-theme="dark"] body.page #Content .case-editorial .case-tech-tags .case-tech-tag:hover,
  html[data-ulm-theme="dark"] body.page #Content .case-editorial .case-service-list li a:hover {
    color:#0068ff!important;
  }
  @media (prefers-reduced-motion:reduce) {
    html body.page #Content .case-editorial .case-tech-tags .case-tech-tag,
    html body.page #Content .case-editorial .case-service-list li a { transition:none!important; }
  }
}



/* BEGIN UNLIMITECH EDITORIAL TEXT STYLE */
/* Ordinary body-text colors, with no separators between editorial paragraphs. */
@layer ulm-site-standard {
  html body.page #Content #technologia .ulm-ted.ulm-ted--media.ulm-ted--linked .ulm-ted-text > p,
  html body.page #Content #technologia .ulm-ted.ulm-ted--media.ulm-ted--linked .ulm-ted-text > p:first-child {
    color: var(--e-global-color-text, #07012d) !important;
  }
  html[data-ulm-theme=dark] body.page #Content #technologia .ulm-ted.ulm-ted--media.ulm-ted--linked .ulm-ted-text > p,
  html[data-ulm-theme=dark] body.page #Content #technologia .ulm-ted.ulm-ted--media.ulm-ted--linked .ulm-ted-text > p:first-child {
    color: #f3f4f8 !important;
  }
  html body.page #Content #technologia .ulm-ted.ulm-ted--media.ulm-ted--linked .ulm-ted-text > p + p {
    border-top: 0 !important;
    padding-top: 0 !important;
    margin-top: 14px !important;
  }
}

/* END UNLIMITECH EDITORIAL TEXT STYLE */

/* BEGIN UNLIMITECH SECTION HEADING SPACING */
/* One heading-to-content rhythm. Component/card titles and hero remain unchanged.
 * In the existing shared layer, important declarations override legacy builder CSS.
 */
@layer ulm-site-standard {
  html body.page #Content {
    --ulm-section-heading-gap: 48px;
    --ulm-section-description-gap: 16px;
  }
  @media (max-width: 1024px) {
    html body.page #Content { --ulm-section-heading-gap: 32px; }
  }
  @media (max-width: 767px) {
    html body.page #Content {
      --ulm-section-heading-gap: 24px;
      --ulm-section-description-gap: 12px;
    }
  }

  /* The margin belongs to the heading widget, never also to its h2 or follower. */
  html body.page #Content .elementor-widget-heading:has(h2):not(:where(.ulm-contact-card *, .offer-card *, .atom-card *, .ulm-tech-card *)),
  html body.page #Content #technologia .ulm-tech-section > .ulm-tech-section-title,
  html body.page #Content .ulm-faq > .ulm-faq-heading {
    margin-bottom: var(--ulm-section-heading-gap) !important;
    padding-bottom: 0 !important;
  }
  html body.page #Content .elementor-widget-heading:not(:where(.ulm-contact-card *, .offer-card *, .atom-card *, .ulm-tech-card *)) h2 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  html body.page #Content .elementor-widget-heading:has(h2):not(:where(.ulm-contact-card *, .offer-card *, .atom-card *, .ulm-tech-card *)) + .elementor-element,
  html body.page #Content #technologia .ulm-tech-section-title + .elementor-element,
  html body.page #Content .ulm-faq > .ulm-faq-heading + * {
    margin-top: 0 !important;
  }

  /* Heading + controls form one row; both use the same bottom gutter. */
  html body.page #Content #oferta .e-n-tabs-heading {
    margin-bottom: var(--ulm-section-heading-gap) !important;
  }
  @media (min-width: 768px) {
    html body.page #Content #proces .elementor-element-8f3a912 .elementor-tabs-wrapper {
      bottom: calc(100% + var(--ulm-section-heading-gap)) !important;
    }
  }

  /* Composite heading rows get the gutter once, outside the row. */
  html body.page #Content .fit-comparison__intro,
  html body.page #Content .elementor-inner-section:has(> .elementor-container > .atom-intro-title) {
    margin-bottom: var(--ulm-section-heading-gap) !important;
    padding-bottom: 0 !important;
  }
  html body.page #Content .fit-comparison__intro .fit-title,
  html body.page #Content .atom-intro-title .elementor-widget-heading:has(h2),
  html body.page #Content .about-seo-title-column .about-seo-title {
    margin-bottom: 0 !important;
  }
  html body.page #Content .fit-comparison__intro + .elementor-element,
  html body.page #Content .elementor-inner-section:has(> .elementor-container > .atom-intro-title) + .elementor-element {
    margin-top: 0 !important;
  }
  html body.page #Content .about-seo > .elementor-container { row-gap: 0 !important; }
  html body.page #Content .about-seo-title-column {
    margin-bottom: var(--ulm-section-heading-gap) !important;
    padding-bottom: 0 !important;
  }
  html body.page #Content .about-seo-title-column > .elementor-widget-wrap {
    padding-bottom: 0 !important;
  }

  /*
   * Composite headers: a short description belongs with its heading.
   * Keep the main gutter AFTER the description, not between heading and description.
   * Editorial .ulm-ted widgets are the section's actual content, not short intros.
   */
  html body.page #Content #technologia .elementor-widget-heading:has(h2):has(+ :is(.ulm-tech-section-intro, .atom-fit-lead)):not(:has(+ .ulm-tech-section-intro :is(.ulm-ted, .ulm-usecase-timeline))),
  html body.page #Content .elementor-widget-heading:has(h2):has(+ :is(.section-intro, .section-description)),
  html body.page #Content .ulm-faq > .ulm-faq-heading:has(+ .ulm-faq-intro) {
    margin-bottom: var(--ulm-section-description-gap) !important;
  }
  html body.page #Content #technologia .elementor-widget-heading:has(h2) + :is(.ulm-tech-section-intro, .atom-fit-lead):not(:has(.ulm-ted, .ulm-usecase-timeline)),
  html body.page #Content .elementor-widget-heading:has(h2) + :is(.section-intro, .section-description),
  html body.page #Content .ulm-faq > .ulm-faq-heading + .ulm-faq-intro {
    margin-top: 0 !important;
    margin-bottom: var(--ulm-section-heading-gap) !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  html body.page #Content #technologia .elementor-widget-heading:has(h2) + :is(.ulm-tech-section-intro, .atom-fit-lead):not(:has(.ulm-ted, .ulm-usecase-timeline)) p,
  html body.page #Content .elementor-widget-heading:has(h2) + :is(.section-intro, .section-description) p {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  html body.page #Content #technologia .elementor-widget-heading:has(h2) + :is(.ulm-tech-section-intro, .atom-fit-lead):not(:has(.ulm-ted, .ulm-usecase-timeline)) + .elementor-element,
  html body.page #Content .elementor-widget-heading:has(h2) + :is(.section-intro, .section-description) + .elementor-element,
  html body.page #Content .ulm-faq > .ulm-faq-intro + .ulm-faq-list {
    margin-top: 0 !important;
  }

  /* The process uses display:contents and a grid rather than sibling widgets. */
  html body.page #Content #technologia .ulm-tp-home-layout > .ulm-tech-section-title {
    margin-bottom: var(--ulm-section-description-gap) !important;
  }
  html body.page #Content #technologia .ulm-tp-home-layout .ulm-tp-intro {
    margin: 0 !important;
    padding: 0 !important;
  }
  html body.page #Content #technologia .ulm-tp-home-layout .ulm-tp-panels {
    margin-top: var(--ulm-section-heading-gap) !important;
  }
  @media (max-width: 1024px) {
    html body.page #Content #technologia .ulm-tp-home-layout .ulm-tp-nav {
      margin-top: var(--ulm-section-heading-gap) !important;
    }
  }

  /* The privacy page uses text sections rather than heading widgets. */
  html body.page-id-654 #Content h2 {
    margin-bottom: var(--ulm-section-heading-gap) !important;
  }
  html body.page-id-654 #Content h2 + * { margin-top: 0 !important; }
}

/* END UNLIMITECH SECTION HEADING SPACING */

/* BEGIN ULM RELATED AI LOGO SCALE */
/* Adjust only these two wordmarks, not their badges or other technology logos. */
html body.page #Content #seo-powiazania .ulm-related-card .elementor-widget-image img:is([src*="/openai-official-"],[src*="/claude-official-"]) {
  height: 20px !important;
  max-width: 64% !important;
  transform: none !important;
}
/* END ULM RELATED AI LOGO SCALE */

/* BEGIN ULM BETTER TRAFFIC HERO LOGO CONTRAST */
/* The official asset is white; render the same monochrome mark dark on the light badge. */
html body.page-id-695 #technologia .ulm-tech-logo img[src$="/product-editorial/better-traffic/logo.png"] {
  filter: brightness(0) !important;
}
/* END ULM BETTER TRAFFIC HERO LOGO CONTRAST */

/* BEGIN ULM PRODUCT PAGE OFFER ARROWS */
/* Match the thin, round-ended arrow on technology offer and related cards. */
html body.page #Content .ulm-tech-detail :is(#uslugi .offer-card,#seo-powiazania .ulm-related-card) .elementor-button-icon :is(svg,i) {
  display: none !important;
}
html body.page #Content .ulm-tech-detail :is(#uslugi .offer-card,#seo-powiazania .ulm-related-card) .elementor-button-icon::before {
  content: "";
  display: block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  --cta-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12h16m-6-6 6 6-6 6' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  -webkit-mask: var(--cta-arrow) center / contain no-repeat;
  mask: var(--cta-arrow) center / contain no-repeat;
}
/* END ULM PRODUCT PAGE OFFER ARROWS */

/* BEGIN ULM BEHANCE TWO-COLUMN MOBILE GRID */
@layer ulm-site-standard {
  @media (min-width: 470px) and (max-width: 768px) {
    /* The live Behance widget appears on the homepage and portfolio page. */
    html body.page #Content .ulm-behance-grid.portfolio-grid > .elementor-container {
      --ulm-behance-mobile-gap: 24px;
    }
    html body.page #Content #portfolio .ulm-behance-grid.portfolio-grid > .elementor-container > .elementor-column.portfolio-card,
    html body.page #Content .ulm-behance-grid.portfolio-grid > .elementor-container > .elementor-column.portfolio-card {
      flex: 0 0 calc((100% - var(--ulm-behance-mobile-gap)) / 2) !important;
      width: calc((100% - var(--ulm-behance-mobile-gap)) / 2) !important;
      max-width: calc((100% - var(--ulm-behance-mobile-gap)) / 2) !important;
      min-width: 0 !important;
    }
    /* Technology pages use the same project artwork in a separate grid. */
    html body.page #Content .ulm-tech-detail :is(#technologia, .ulm-related-projects) .ulm-tech-grid.ulm-tech-home-cases {
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
  }
  @media (min-width: 768px) and (max-width: 768px) {
    html body.page #Content .ulm-behance-grid.portfolio-grid > .elementor-container {
      --ulm-behance-mobile-gap: 19.2px;
    }
  }
  @media (max-width: 469px) {
    html body.page #Content .ulm-behance-grid.portfolio-grid {
      width: calc(100vw - 32px) !important;
      max-width: none !important;
      position: relative !important;
      left: 50% !important;
      transform: translateX(-50%) !important;
    }
    html body.page #Content #portfolio .ulm-behance-grid.portfolio-grid > .elementor-container,
    html body.page #Content .ulm-behance-grid.portfolio-grid > .elementor-container {
      --ulm-behance-mobile-gap: 12px;
      gap: 12px !important;
    }
    html body.page #Content #portfolio .ulm-behance-grid.portfolio-grid > .elementor-container > .elementor-column.portfolio-card,
    html body.page #Content .ulm-behance-grid.portfolio-grid > .elementor-container > .elementor-column.portfolio-card {
      flex: 0 0 calc((100% - var(--ulm-behance-mobile-gap)) / 2) !important;
      width: calc((100% - var(--ulm-behance-mobile-gap)) / 2) !important;
      max-width: calc((100% - var(--ulm-behance-mobile-gap)) / 2) !important;
      min-width: 0 !important;
    }
    html body.page #Content .ulm-tech-detail :is(#technologia, .ulm-related-projects) .ulm-tech-grid.ulm-tech-home-cases {
      width: calc(100vw - 32px) !important;
      max-width: none !important;
      position: relative !important;
      left: 50% !important;
      transform: translateX(-50%) !important;
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
      gap: 12px !important;
    }
  }
  @media (max-width: 600px) {
    html body.page #Content #portfolio .ulm-behance-grid.portfolio-grid .portfolio-card .elementor-heading-title,
    html body.page #Content .ulm-tech-detail :is(#technologia, .ulm-related-projects) .ulm-tech-home-cases .ulm-tech-project-card h3 {
      --ulm-heading-size: clamp(15px, 4.2vw, 18px);
      font-size: clamp(15px, 4.2vw, 18px) !important;
      line-height: 1.25 !important;
      padding: 12px !important;
      overflow-wrap: anywhere;
    }
    html body.page #Content #portfolio .ulm-behance-grid.portfolio-grid .portfolio-card .elementor-widget-image {
      margin-bottom: 0 !important;
    }
  }
}
/* END ULM BEHANCE TWO-COLUMN MOBILE GRID */


/* BEGIN ULM CONTACT PROFILE MOBILE COLUMNS */
@layer ulm-site-standard {
  @media (max-width: 850px) {
    /* Keep the full-width form first, followed by the portrait and contact card. */
    html body.page-id-11 #Content .ulm-contact-grid {
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
      grid-template-rows: auto auto !important;
      align-items: start !important;
    }
    html body.page-id-11 #Content .ulm-contact-grid > .ulm-contact-form {
      grid-column: 1 / -1 !important;
      grid-row: 1 !important;
    }
    html body.page-id-11 #Content .ulm-contact-grid > .ulm-contact-portrait {
      grid-column: 1 !important;
      grid-row: 2 !important;
    }
    html body.page-id-11 #Content .ulm-contact-grid > .ulm-contact-card:not(.ulm-contact-form) {
      grid-column: 2 !important;
      grid-row: 2 !important;
      overflow-wrap: anywhere;
    }
    html body.page-id-11 #Content .ulm-contact-grid > .ulm-contact-card:not(.ulm-contact-form) .elementor-button {
      box-sizing: border-box;
      max-width: 100%;
      white-space: normal !important;
    }
    html body.page-id-11 #Content .ulm-contact-grid > .ulm-contact-card:not(.ulm-contact-form) .elementor-button-content-wrapper {
      min-width: 0;
    }
    html body.page-id-11 #Content .ulm-contact-grid > .ulm-contact-card:not(.ulm-contact-form) .elementor-button-text {
      white-space: normal !important;
      overflow-wrap: anywhere;
    }
  }
  @media (max-width: 500px) {
    html body.page-id-11 #Content .ulm-contact-grid {
      grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr) !important;
    }
    html body.page-id-11 #Content .ulm-contact-grid > .ulm-contact-card:not(.ulm-contact-form) h2 {
      font-size: clamp(19px, 5vw, 25px) !important;
    }
  }
  @media (max-width: 400px) {
    html body.page-id-11 #Content .ulm-contact-grid > .ulm-contact-card:not(.ulm-contact-form) {
      padding: 16px !important;
    }
  }
  @media (max-width: 360px) {
    html body.page-id-11 #Content .ulm-contact-grid {
      grid-template-columns: minmax(0, .65fr) minmax(0, 1.35fr) !important;
    }
  }
  @media (max-width: 625px) {
    /* Layer the existing portrait inside the full-width card beside the name. */
    html body.page-id-11 #Content .ulm-contact-grid {
      grid-template-columns: minmax(0, 1fr) !important;
    }
    html body.page-id-11 #Content .ulm-contact-grid > .ulm-contact-card:not(.ulm-contact-form) {
      grid-column: 1 !important;
      grid-row: 2 !important;
    }
    html body.page-id-11 #Content .ulm-contact-grid > .ulm-contact-portrait {
      grid-column: 1 !important;
      grid-row: 2 !important;
      justify-self: start !important;
      align-self: start !important;
      position: relative;
      z-index: 2;
      width: 64px !important;
      height: 64px !important;
      margin: 24px 0 0 24px !important;
    }
    html body.page-id-11 #Content .ulm-contact-grid > .ulm-contact-portrait img {
      width: 64px !important;
      height: 64px !important;
      object-fit: cover !important;
      border-radius: 50% !important;
    }
    html body.page-id-11 #Content .ulm-contact-grid > .ulm-contact-card:not(.ulm-contact-form) > .elementor-widget-heading {
      display: flex !important;
      align-items: center !important;
      box-sizing: border-box !important;
      min-height: 64px !important;
      padding-left: 80px !important;
    }
  }
  @media (max-width: 400px) {
    html body.page-id-11 #Content .ulm-contact-grid > .ulm-contact-portrait {
      margin: 16px 0 0 16px !important;
    }
  }
}
/* END ULM CONTACT PROFILE MOBILE COLUMNS */


/* unlimitech: process responsive and service fit start */
/* Shared process controls and service comparison cards on smaller screens. */
@layer ulm-site-standard {
  @media (min-width: 768px) and (max-width: 1024px) {
    html body.page #Content #wspolpraca.fit-comparison .fit-comparison__statement-heading {
      font-size: 12.8px !important;
      line-height: 1.25 !important;
    }
  }

  @media (min-width: 1025px) and (max-width: 1510px) {
    html body.page #Content #proces .elementor-element-8f3a912 {
      --pt-size: 64px !important;
    }
    html body.page #Content .ulm-tech-detail .ulm-tp-home-layout .ulm-tp.is-enhanced .ulm-tp-tabs {
      --tp-size: 64px !important;
    }
    /* The client selector on desktop follows the same process-circle size. */
    html body.page-id-589 #Content #opinie .review-client-selector {
      --rc-size: 64px !important;
    }
  }

  @media (max-width: 767px) {
    html body.page #Content #proces .elementor-element-8f3a912 {
      --pt-size: clamp(44px, 12.3vw, 84px) !important;
    }
    html body.page #Content .ulm-tech-detail .ulm-tp-home-layout .ulm-tp.is-enhanced .ulm-tp-tabs {
      --tp-size: clamp(44px, 12.3vw, 84px) !important;
    }
    html body.page #Content #proces .elementor-element-8f3a912 .elementor-tab-desktop-title.elementor-tab-title,
    html body.page #Content .ulm-tech-detail .ulm-tp-home-layout .ulm-tp-tab {
      font-size: clamp(20px, 4.6vw, 35.2px) !important;
    }
  }

  @media (max-width: 340px) {
    html body.page #Content #proces .elementor-element-8f3a912 {
      --pt-overlap: 13px !important;
    }
    html body.page #Content .ulm-tech-detail .ulm-tp-home-layout .ulm-tp.is-enhanced .ulm-tp-tabs {
      --tp-overlap: 13px !important;
    }
  }
}

/* unlimitech: process responsive and service fit end */

/* unlimitech: consent category color start */
/* Match enabled consent-category switches to the individual consent switches. */
@layer ulm-site-standard {
  html body #mfn-consent-mode .cookie-type .mfn-switch input[type="checkbox"]:not(:disabled):checked + label {
    background-color: #0068ff !important;
  }
}

/* unlimitech: consent category color end */

/* unlimitech: privacy article typography start */
/* Match the privacy policy's reading column and typography to blog articles. */
@layer ulm-site-standard {
  html body.page-id-654 #Content .ulm-privacy-copy {
    width: min(100%, 760px) !important;
    max-width: 760px !important;
    margin-inline: auto !important;
  }

  html body.page-id-654 #Content .ulm-privacy-copy h2 {
    font-size: 28px !important;
    line-height: 1.33 !important;
    letter-spacing: -.025em !important;
    margin: 48px 0 8px !important;
  }

  html body.page-id-654 #Content .ulm-privacy-copy h3 {
    font-size: 20px !important;
    line-height: 1.4 !important;
    letter-spacing: -.02em !important;
    margin: 36px 0 8px !important;
  }

  html body.page-id-654 #Content .ulm-privacy-copy h4 {
    font-size: 18px !important;
    line-height: 1.4 !important;
    margin: 28px 0 8px !important;
  }

  html body.page-id-654 #Content .ulm-privacy-copy p,
  html body.page-id-654 #Content .ulm-privacy-copy h2 + p,
  html body.page-id-654 #Content .ulm-privacy-copy h3 + p,
  html body.page-id-654 #Content .ulm-privacy-copy h4 + p {
    margin: 8px 0 20px !important;
  }

  html body.page-id-654 #Content .ulm-privacy-copy :is(ul, ol) {
    font-size: 16px;
    line-height: 1.5;
    margin: 8px 0 24px;
    padding: 0 0 0 20px;
    color: inherit;
  }

  html body.page-id-654 #Content .ulm-privacy-copy li {
    font-size: 16px !important;
    line-height: 1.5 !important;
    margin: 0 0 12px;
    color: inherit;
  }

  html body.page-id-654 #Content .ulm-privacy-copy li:last-child {
    margin-bottom: 0;
  }

  @media (max-width: 767px) {
    html body.page-id-654 #Content .ulm-privacy-copy {
      width: calc(100% - 40px) !important;
    }
    html body.page-id-654 #Content .ulm-privacy-copy h2 {
      margin-top: 36px !important;
    }
  }
}

@layer ulm-paragraph-typography {
  html body.page-id-654 #Content .ulm-privacy-copy p {
    font-size: 16px !important;
    line-height: 1.5 !important;
  }
}

/* unlimitech: privacy article typography end */

/* BEGIN UNLIMITECH CARD COUNT GRID */
/* Two and four cards fill two columns, without changing smaller screens. */
@layer ulm-site-standard {
  @media (min-width: 1025px) {
    html body.page #Content .ulm-tech-detail :is(#uslugi .ulm-tech-grid, .ulm-tech-grid):has(> .ulm-tech-card:nth-child(2):last-child),
    html body.page #Content .ulm-tech-detail :is(#uslugi .ulm-tech-grid, .ulm-tech-grid):has(> .ulm-tech-card:nth-child(4):last-child) {
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    html body.page #Content .offer-cards:has(> .offer-card:nth-child(2):last-child) > .offer-card,
    html body.page #Content .offer-cards:has(> .offer-card:nth-child(4):last-child) > .offer-card {
      --width: calc((100% - var(--ulm-card-gap, 24px)) / 2) !important;
      flex: 0 0 var(--width) !important;
      width: var(--width) !important;
      max-width: var(--width) !important;
    }
  }
  /* At tablet widths, a third card occupies the full final row. */
  @media (min-width: 768px) and (max-width: 1024px) {
    html body.page #Content .ulm-tech-detail .ulm-tech-grid:not(.e-n-tabs-content > .ulm-tech-grid):has(> .ulm-tech-card:nth-child(3):last-child) > .ulm-tech-card:last-child:not(.ulm-tech-project-card) {
      grid-column: 1 / -1 !important;
    }
    html body.page #Content .offer-cards:has(> .offer-card:nth-child(3):last-child) > .offer-card:last-child {
      --width: 100% !important;
      flex: 0 0 100% !important;
      width: 100% !important;
      max-width: 100% !important;
    }
  }
}

/* END UNLIMITECH CARD COUNT GRID */

/* BEGIN UNLIMITECH BLUE PANEL BUTTONS */
/* Blue contact/process panels share the homepage technology-card CTA. */
@layer ulm-site-standard {
  html body.page #Content :is(.offer-card.offer-contact, .about-process-cta, .trust-card.trust-contact) .elementor-button {
    background: #fff !important;
    border-color: #fff !important;
    color: #0068ff !important;
    box-shadow: none !important;
    transform: translateY(0) !important;
    transition: transform .22s cubic-bezier(.2,.7,.3,1), box-shadow .22s ease !important;
  }
  html body.page #Content :is(.offer-card.offer-contact, .about-process-cta, .trust-card.trust-contact) .elementor-button-content-wrapper {
    flex-direction: row-reverse !important;
    color: inherit !important;
  }
  html body.page #Content :is(.offer-card.offer-contact, .about-process-cta, .trust-card.trust-contact) .elementor-button-text {
    color: inherit !important;
  }
  html body.page #Content :is(.offer-card.offer-contact, .about-process-cta, .trust-card.trust-contact) .elementor-button-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 1em !important;
    width: 1em !important;
    height: 1em !important;
    margin: 0 !important;
    font-size: inherit !important;
    line-height: 1 !important;
    color: inherit !important;
    transition: transform .22s cubic-bezier(.2,.7,.3,1) !important;
  }
  html body.page #Content :is(.offer-card.offer-contact, .about-process-cta, .trust-card.trust-contact) .elementor-button-icon :is(svg, i) {
    display: none !important;
  }
  html body.page #Content :is(.offer-card.offer-contact, .about-process-cta, .trust-card.trust-contact) .elementor-button-icon::before {
    content: "" !important;
    display: block !important;
    flex: 0 0 1em !important;
    width: 1em !important;
    height: 1em !important;
    background-color: currentColor !important;
    --ulm-panel-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12h16m-6-6 6 6-6 6' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    -webkit-mask: var(--ulm-panel-arrow) center / contain no-repeat !important;
    mask: var(--ulm-panel-arrow) center / contain no-repeat !important;
  }
  html body.page #Content :is(.offer-card.offer-contact, .about-process-cta, .trust-card.trust-contact) .elementor-button:is(:hover, :focus-visible) {
    transform: translateY(-2px) !important;
    box-shadow: 0 7px 16px rgba(0,0,0,.16) !important;
  }
  html body.page #Content :is(.offer-card.offer-contact, .about-process-cta, .trust-card.trust-contact) .elementor-button:is(:hover, :focus-visible) .elementor-button-icon {
    transform: translateX(3px) !important;
  }
  html body.page #Content :is(.offer-card.offer-contact, .about-process-cta, .trust-card.trust-contact) .elementor-button:focus-visible {
    outline: 3px solid #07012d !important;
    outline-offset: 3px !important;
  }
  html body.page #Content :is(.offer-card.offer-contact, .about-process-cta, .trust-card.trust-contact) .elementor-button:active {
    transform: translateY(0) !important;
    box-shadow: 0 2px 6px rgba(0,0,0,.12) !important;
  }
  @media (prefers-reduced-motion: reduce) {
    html body.page #Content :is(.offer-card.offer-contact, .about-process-cta, .trust-card.trust-contact) .elementor-button,
    html body.page #Content :is(.offer-card.offer-contact, .about-process-cta, .trust-card.trust-contact) .elementor-button-icon {
      transition: none !important;
    }
    html body.page #Content :is(.offer-card.offer-contact, .about-process-cta, .trust-card.trust-contact) .elementor-button:is(:hover, :focus-visible, :active),
    html body.page #Content :is(.offer-card.offer-contact, .about-process-cta, .trust-card.trust-contact) .elementor-button:is(:hover, :focus-visible, :active) .elementor-button-icon {
      transform: none !important;
      box-shadow: none !important;
    }
  }
}

/* END UNLIMITECH BLUE PANEL BUTTONS */

/* BEGIN UNLIMITECH API SERVICE TABLET GRID */
/* Match the existing cards' illustration alignment. */
body.page-id-779 #zakres :is(.elementor-element-cc77902, .elementor-element-cc77906) {
  text-align: start !important;
}

/* Nine API-service cards: keep the last tablet row filled without changing other grids. */
@media (min-width: 768px) and (max-width: 1024px) {
  body.page-id-779 #zakres .ulm-tech-grid > .elementor-element-cc77905 {
    grid-column: 1 / -1 !important;
  }
}
/* END UNLIMITECH API SERVICE TABLET GRID */

/* BEGIN UNLIMITECH MHS RELATED MCP TABLET GRID */
/* Keep all three related technology cards in complete tablet rows. */
@media (min-width: 768px) and (max-width: 1024px) {
  body.page-id-673 #seo-powiazania .ulm-related-grid > .ulm-mhs-related-mcp {
    grid-column: 1 / -1;
  }
}
/* END UNLIMITECH MHS RELATED MCP TABLET GRID */
