/* ===================================================================================

Theme Name: Bexon Child
Theme URI: https://bexon.themejunction.net/
Author: Theme Junction
Author URI: https://themeforest.net/user/theme-junction/portfolio
Description: Bexon is a Corporate Business  WordPress Theme.
Version: 1.0.0
Template: bexon
License: GNU General Public License version 3.0
License URI: http://www.gnu.org/licenses/gpl-3.0.html
Tags: one-column, two-columns, right-sidebar, flexible-header, accessibility-ready, custom-colors, custom-header, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, post-formats, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready

We encourage you to create Child theme for any modifications you will want to do.

Why use Child theme?

Because of future updates we may provide for this theme that will overwrite your
modifications and all your custom work.

If you are not familiar with Child Themes, you can read about it here:
http://codex.wordpress.org/Child_Themes
http://wp.tutsplus.com/tutorials/theme-development/child-themes-basics-and-creating-child-themes-in-wordpress/

====================================================================================== */

/* Native document scrolling and the brand palette for the viewport scrollbar. */
html {
  scroll-behavior: auto !important;
  scrollbar-color: #C99942 #FFFFFF;
}

/* Use WebKit styling where supported so the thumb can change on hover. */
@supports selector(::-webkit-scrollbar) {
  html {
    scrollbar-color: auto;
    scrollbar-width: auto;
  }
}

html::-webkit-scrollbar {
  width: 6px;
  height: 4px;
}

html::-webkit-scrollbar-track {
  background-color: #FFFFFF;
}

html::-webkit-scrollbar-thumb {
  background-color: #C99942;
}

html::-webkit-scrollbar-thumb:hover {
  background-color: #000000;
}
.tj-primary-btn:not(.btn-dark):not(.transparent-btn) .btn-text {
  color: #000000;
}

/* Reserve the measured header height before enabling its fixed position. */
.h11-header .header-area.kw-header-fixed:not(.header-duplicate) {
  position: fixed;
}

/* Offset only the fixed header; the spacer never includes the admin-bar height. */
.admin-bar .h11-header .header-area.kw-header-fixed:not(.header-duplicate) {
  top: var(--wp-admin--admin-bar--height, 32px);
}

@media (max-width: 782px) {
  .admin-bar .h11-header .header-area.kw-header-fixed:not(.header-duplicate) {
    top: var(--wp-admin--admin-bar--height, 46px);
  }
}

/* Keep WordPress's small-screen admin bar aligned with the fixed site header. */
@media (max-width: 600px) {
  .admin-bar #wpadminbar {
    position: fixed;
  }
}

.h11-header .kw-header-spacer {
  display: block;
  flex: 0 0 auto;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  pointer-events: none;
}
/* Full-width mobile menu below Bexon's lg breakpoint (1025px). */
@media (max-width: 1024px) {
  /* Keep the original mobile header visible without swapping sticky duplicates. */
  .h11-header .header-area:not(.header-duplicate) {
    position: relative;
    top: 0;
    inset-inline: 0;
    width: 100%;
    margin: 0;
    border-radius: 0;
    background-color: #FFFFFF;
    z-index: 999;
    visibility: visible;
    transform: none;
    transition: none;
  }

  .h11-header .header-area.header-duplicate {
    display: none;
  }

  .h11-header .header-area > .container-fluid {
    --bs-gutter-x: 1.5rem;
  }

  .h11-header .header-area .header-wrapper {
    padding-inline: 0;
  }

  .h11-header .mobile_menu_bar {
    background-color: #C99942;
  }

  .h11-header .mobile_menu_bar > span {
    background-color: #000000;
  }

  .h11-header .mobile_menu_bar:hover,
  .h11-header .mobile_menu_bar:focus {
    background-color: #000000;
  }

  .h11-header .mobile_menu_bar:hover > span,
  .h11-header .mobile_menu_bar:focus > span {
    background-color: #FFFFFF;
  }

  .hamburger-area .hamburger-socials {
    display: none;
  }

  .hamburger-area {
    top: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    border-radius: 0;
    background-color: #FFFFFF;
    /* Keep the closed panel and its shadow outside the viewport. */
    inset-inline-end: calc(-100% - 40px);
  }

  .hamburger-area.opened {
    inset-inline-end: 0;
  }

  .hamburger-area .hamburger_bg {
    border-radius: 0;
    background-color: #FFFFFF;
  }

  .hamburger-area .hamburger_wrapper::before {
    display: none;
  }

  .hamburger-area .hamburger_menu .mean-nav ul li a,
  .hamburger-area .hamburger_menu .mean-nav ul li > a.nav-links {
    color: #000000 !important;
    border-color: #DEDEDE;
  }

  .hamburger-area .hamburger_menu .mean-nav ul li a:hover,
  .hamburger-area .hamburger_menu .mean-nav ul li a:focus,
  .hamburger-area .hamburger_menu .mean-nav ul li a:active,
  .hamburger-area .hamburger_menu .mean-nav ul li > a.nav-links:hover,
  .hamburger-area .hamburger_menu .mean-nav ul li > a.nav-links:focus,
  .hamburger-area .hamburger_menu .mean-nav ul li > a.nav-links:active,
  .hamburger-area .hamburger_menu .mean-nav ul li:hover > a.nav-links,
  .hamburger-area .hamburger_menu .mean-nav ul li.current-menu-item > a.nav-links,
  .hamburger-area .hamburger_menu .mean-nav ul li.current-menu-ancestor > a.nav-links,
  .hamburger-area .hamburger_menu .mean-nav ul li.current-menu-parent > a.nav-links,
  .hamburger-area .hamburger_menu .mean-nav ul li.current_page_item > a.nav-links,
  .hamburger-area .hamburger_menu .mean-nav ul li > a.nav-links[aria-current="page"],
  .hamburger-area .hamburger_menu .mean-nav ul li a.mean-expand:hover,
  .hamburger-area .hamburger_menu .mean-nav ul li a.mean-expand:focus,
  .hamburger-area .hamburger_menu .mean-nav ul li a.mean-clicked,
  .hamburger-area .hamburger_menu .mean-nav ul li.dropdown-opened > a,
  .hamburger-area .hamburger_menu .mean-nav ul li.current-menu-item > a,
  .hamburger-area .hamburger_menu .mean-nav ul li.current-menu-ancestor > a {
    color: #C99942 !important;
  }

  .hamburger-area .hamburger-title,
  .hamburger-area .contact-info .contact-item .contact-link {
    color: #000000;
  }

  .hamburger-area .contact-info .contact-item .subtitle,
  .hamburger-area .offcanvas-text p {
    color: #666666;
  }

  .hamburger-area .contact-info .contact-item a.contact-link:hover,
  .hamburger-area .contact-info .contact-item a.contact-link:focus {
    color: #C99942;
  }

  .hamburger-area .hamburger_close_btn,
  .hamburger-area .hamburger_close_btn:hover,
  .hamburger-area .hamburger_close_btn:focus {
    color: #000000;
  }

  .hamburger-area .hamburger_close_btn svg {
    fill: currentColor;
  }
}

/* Desktop header and phone CTA; preserve the icon's natural orientation. */
@media (min-width: 1025px) {
  .header-area .menu-area .mainmenu > ul > li > a.nav-links {
    color: #000000 !important;
  }

  .header-area .menu-area .mainmenu > ul > li > a.nav-links:hover,
  .header-area .menu-area .mainmenu > ul > li > a.nav-links:focus,
  .header-area .menu-area .mainmenu > ul > li > a.nav-links:active,
  .header-area .menu-area .mainmenu > ul > li.current-menu-item > a.nav-links,
  .header-area .menu-area .mainmenu > ul > li.current-menu-ancestor > a.nav-links,
  .header-area .menu-area .mainmenu > ul > li.current-menu-parent > a.nav-links,
  .header-area .menu-area .mainmenu > ul > li.current_page_item > a.nav-links,
  .header-area .menu-area .mainmenu > ul > li > a.nav-links[aria-current="page"] {
    color: #C99942 !important;
  }

  /* Use the original header throughout scrolling instead of swapping duplicates. */
  .h11-header .header-area:not(.header-duplicate) {
    position: relative;
    top: 0;
    inset-inline: 0;
    width: 100%;
    margin: 0;
    border-radius: 0;
    background-color: #FFFFFF;
    z-index: 999;
    visibility: visible;
    transform: none;
    transition: none;
  }

  .h11-header .header-area.header-duplicate {
    display: none;
  }

  /* Match the desktop .container widths and gutters in Bexon's Bootstrap. */
  .h11-header .header-area > .container-fluid {
    max-width: 960px;
    --bs-gutter-x: 1.5rem;
  }

  .h11-header .header-area .header-wrapper {
    padding-inline: 0;
  }

  .header-right-item.d-lg-inline-flex .tj-primary-btn[href^="tel:"] {
    border-radius: 14px;
    background-color: #C99942;
  }

  .header-right-item.d-lg-inline-flex .tj-primary-btn[href^="tel:"] .btn-text {
    color: #000000;
  }

  .header-right-item.d-lg-inline-flex .tj-primary-btn[href^="tel:"] .btn-icon {
    background-color: #000000;
  }

  .header-right-item.d-lg-inline-flex .tj-primary-btn[href^="tel:"]:hover .btn-icon,
  .header-right-item.d-lg-inline-flex .tj-primary-btn[href^="tel:"]:focus .btn-icon {
    background-color: #C99942;
  }

  .header-right-item.d-lg-inline-flex .tj-primary-btn[href^="tel:"] .btn-icon > i {
    color: #FFFFFF;
  }

  .header-right-item.d-lg-inline-flex .tj-primary-btn[href^="tel:"]:hover,
  .header-right-item.d-lg-inline-flex .tj-primary-btn[href^="tel:"]:focus {
    background-color: #000000;
  }

  .header-right-item.d-lg-inline-flex .tj-primary-btn[href^="tel:"]:hover .btn-text,
  .header-right-item.d-lg-inline-flex .tj-primary-btn[href^="tel:"]:focus .btn-text {
    color: #FFFFFF;
  }

  .header-right-item.d-lg-inline-flex .tj-primary-btn[href^="tel:"] .btn-icon > i,
  .header-right-item.d-lg-inline-flex .tj-primary-btn[href^="tel:"]:hover .btn-icon > i,
  .header-right-item.d-lg-inline-flex .tj-primary-btn[href^="tel:"]:focus .btn-icon > i {
    transform: rotate(0deg);
  }
}

/* Remaining desktop breakpoints from Bexon's standard .container. */
@media (min-width: 1200px) {
  .h11-header .header-area > .container-fluid {
    max-width: 1140px;
  }
}

@media (min-width: 1400px) {
  .h11-header .header-area > .container-fluid {
    max-width: 1320px;
  }
}

/* ==========================================================================
   404
   ========================================================================== */

.kw-404-page {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

.kw-404-page .kw-404,
.kw-404-page .kw-404 * {
    box-sizing: border-box;
}

.kw-404-page .kw-404 {
    display: flex;
    align-items: center;
    min-height: 65vh;
    padding: 100px 24px;
    background: #F6F6F4;
    color: #000000;
}

.kw-404-page .kw-404__container {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    align-items: center;
    gap: 64px;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}

.kw-404-page .kw-404__eyebrow {
    margin: 0 0 20px;
    color: #C99942;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.kw-404-page .kw-404__title {
    margin: 0 0 24px;
    color: #000000;
    font-family: inherit;
    font-size: clamp(34px, 4vw, 54px);
    font-weight: 600;
    line-height: 1.15;
    letter-spacing: -0.035em;
    overflow-wrap: break-word;
}

.kw-404-page .kw-404__description {
    max-width: 550px;
    margin: 0 0 32px;
    color: #555555;
    font-size: 17px;
    line-height: 1.75;
}

.kw-404-page .kw-404__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.kw-404-page .kw-404__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 52px;
    max-width: 100%;
    padding: 14px 22px;
    border: 1px solid #000000;
    border-radius: 14px;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.4;
    text-align: center;
    text-decoration: none;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.kw-404-page .kw-404__button--primary {
    border-color: #C99942;
    background: #C99942;
    color: #000000;
}

.kw-404-page .kw-404__button--primary:hover,
.kw-404-page .kw-404__button--primary:focus {
    border-color: #000000;
    background: #000000;
    color: #FFFFFF;
}

.kw-404-page .kw-404__button--secondary {
    background: transparent;
    color: #000000;
}

.kw-404-page .kw-404__button--secondary:hover,
.kw-404-page .kw-404__button--secondary:focus {
    background: #000000;
    color: #FFFFFF;
}

.kw-404-page .kw-404__button svg {
    flex-shrink: 0;
}

.kw-404-page .kw-404__contact {
    margin: 28px 0 0;
    color: #555555;
    font-size: 14px;
    line-height: 1.8;
}

.kw-404-page .kw-404__contact a {
    color: #C99942;
    text-decoration: underline;
    text-underline-offset: 3px;
    overflow-wrap: anywhere;
}

.kw-404-page .kw-404__contact a:hover,
.kw-404-page .kw-404__contact a:focus {
    color: #000000;
}

.kw-404-page a:focus-visible {
    outline: 3px solid #C99942;
    outline-offset: 5px;
}

.kw-404-page .kw-404__visual {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 0;
    padding: 30px 0;
    text-align: center;
}

.kw-404-page .kw-404__number {
    display: block;
    color: #C99942;
    font-size: clamp(120px, 19vw, 260px);
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.07em;
}

.kw-404-page .kw-404__label {
    display: block;
    margin-top: 22px;
    padding: 10px 18px;
    border: 1px solid #DEDEDE;
    border-radius: 999px;
    color: #000000;
    font-size: 13px;
    line-height: 1.5;
}

@media (max-width: 900px) {
    .kw-404-page .kw-404__container {
        gap: 32px;
    }
}

@media (max-width: 767px) {
    .kw-404-page .kw-404 {
        min-height: 0;
        padding: 56px 20px 64px;
    }

    .kw-404-page .kw-404__container {
        grid-template-columns: minmax(0, 1fr);
        gap: 32px;
    }

    .kw-404-page .kw-404__content {
        text-align: center;
    }

    .kw-404-page .kw-404__visual {
        grid-row: 1;
        padding: 0;
    }

    .kw-404-page .kw-404__number {
        font-size: clamp(120px, 35vw, 180px);
    }

    .kw-404-page .kw-404__title {
        font-size: clamp(30px, 8vw, 40px);
    }

    .kw-404-page .kw-404__description {
        margin-right: auto;
        margin-left: auto;
        font-size: 16px;
    }

    .kw-404-page .kw-404__actions {
        justify-content: center;
    }
}

@media (max-width: 420px) {
    .kw-404-page .kw-404__button {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .kw-404-page .kw-404__button {
        transition: none;
    }
}

.error404 .tj-page-header {
    display: none;
}

/* Dynamic footer copyright; scoped independently of Elementor-generated IDs. */
.kw-footer-copyright p {
  margin: 0;
  color: #B3B3B3 !important;
}

.kw-footer-copyright a {
  color: #FFFFFF !important;
}

.kw-footer-copyright a:hover,
.kw-footer-copyright a:focus {
  color: #C99942 !important;
}

/* Override the inline progress gradient supplied by Bexon's back-to-top JS. */
#tj-back-to-top {
  background: #C99942 !important;
}

#tj-back-to-top-percentage {
  background-color: #C99942;
  color: #000000;
}

#tj-back-to-top-percentage i {
  color: #000000;
}

#tj-back-to-top:hover,
#tj-back-to-top:focus {
  background: #FFFFFF !important;
}

#tj-back-to-top:hover #tj-back-to-top-percentage,
#tj-back-to-top:focus #tj-back-to-top-percentage {
  background-color: #FFFFFF;
}

/* Global Home 3 footer: retain Elementor's boxed content and column layout. */
.e-con.e-parent:has(> .footer-2),
.e-con.footer-2 {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  background: #0F0F0F !important;
}

.footer-2 p,
.footer-2 .footer-contact-info .contact-item span {
  color: #B3B3B3 !important;
}

.footer-2 h2,
.footer-2 h3,
.footer-2 h4,
.footer-2 h5,
.footer-2 h6,
.footer-2 .footer-widget .title {
  color: #FFFFFF !important;
}

.footer-2 a {
  color: #D9D9D9 !important;
}

.footer-2 a:hover,
.footer-2 a:focus {
  color: #C99942 !important;
}

.footer-2 .footer-contact-info .contact-item span i,
.footer-2 .tj-footer-menu a i,
.footer-2 .tj-footer-menu a svg {
  color: #C99942 !important;
  fill: #C99942 !important;
}

.footer-2 .tj_el_socials .social-links a {
  background-color: #2A2A2A !important;
  color: #FFFFFF !important;
}

.footer-2 .tj_el_socials .social-links a i,
.footer-2 .tj_el_socials .social-links a svg {
  color: #FFFFFF !important;
  fill: #FFFFFF !important;
}

.footer-2 .tj_el_socials .social-links a:hover,
.footer-2 .tj_el_socials .social-links a:focus {
  background-color: #C99942 !important;
  color: #000000 !important;
}

.footer-2 .tj_el_socials .social-links a:hover i,
.footer-2 .tj_el_socials .social-links a:focus i,
.footer-2 .tj_el_socials .social-links a:hover svg,
.footer-2 .tj_el_socials .social-links a:focus svg {
  color: #000000 !important;
  fill: #000000 !important;
}

/* Last direct boxed container is the copyright bar in the supplied markup. */
.footer-2 > .e-con-boxed:last-child {
  background: #000000 !important;
  border-top: 1px solid #2A2A2A !important;
  border-radius: 0 !important;
  margin: 0 !important;
  color: #B3B3B3;
}

.footer-2 > .e-con-boxed:last-child > .e-con-inner {
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

.footer-2 > .e-con-boxed:last-child > .e-con-inner > .e-con {
  width: auto;
  flex: 0 1 auto;
}

.footer-2 .editor_text a[href="https://devselite.pl/"],
.footer-2 .kw-footer-copyright a {
  color: #FFFFFF !important;
}

.footer-2 .editor_text a[href="https://devselite.pl/"]:hover,
.footer-2 .editor_text a[href="https://devselite.pl/"]:focus,
.footer-2 .kw-footer-copyright a:hover,
.footer-2 .kw-footer-copyright a:focus {
  color: #C99942 !important;
}

/* Light brand preloader; retain Bexon's bounce, weave and ball exit animations. */
.tj-preloader,
.tj-preloader .tj-preloader-overlay {
  background-color: #FFFFFF !important;
  color: #000000;
}

.tj-preloader .tj-preloader-inner::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: min(280px, calc(100vw - 64px));
  height: 80px;
  transform: translate(-50%, calc(-100% - 56px));
  background: url("https://devselite.cfolks.pl/wojciechowski/wp-content/uploads/2026/10/ksiegowosc-wojciechowski-logo.webp") center / contain no-repeat;
  pointer-events: none;
  transition: opacity 300ms ease;
}

.tj-preloader .tj-preloader-text {
  color: #666666 !important;
  font-size: 16px;
  font-weight: 500;
}

.tj-preloader .tj-preloader-ball-inner {
  background-color: #C99942 !important;
  box-shadow: 0 0 8px rgba(201, 153, 66, 0.25);
}

.tj-preloader .tj-preloader-ball {
  background-color: rgba(201, 153, 66, 0.15) !important;
  box-shadow: 0 0 12px rgba(201, 153, 66, 0.3);
}

.tj-preloader .tj-preloader-ball-shadow {
  background-color: #000000 !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}

.tj-preloader.is-loaded .tj-preloader-inner::before {
  opacity: 0;
}

/* Wait for the existing 700ms ball exit, then shorten only visual fade-out. */
.tj-preloader.is-loaded {
  animation: kw-preloader-exit 200ms ease 700ms forwards;
}

@keyframes kw-preloader-exit {
  from {
    opacity: 1;
    visibility: visible;
  }
  to {
    opacity: 0;
    visibility: hidden;
  }
}

/* Simple full-width page header; keep the existing 404 display rule intact. */
.tj-page-header {
  width: 100%;
  margin: 0;
  padding: 44px 0;
  min-height: 0;
  border-radius: 0;
  background-color: #F6F6F4;
}

.tj-page-header .tj-page-header-content {
  text-align: center;
}

.tj-page-header .tj-page-title {
  margin: 0;
  color: #000000;
  font-size: 52px;
  line-height: 1.1;
  overflow-wrap: anywhere;
}

.tj-page-header .tj-page-navs {
  margin-top: 14px;
  padding: 0;
  max-width: 100%;
  min-width: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  color: #B3B3B3;
  font-size: 15px;
  line-height: 1.5;
  flex-wrap: wrap;
  justify-content: center;
  overflow-wrap: anywhere;
}

.tj-page-header .tj-page-navs span {
  max-width: 100%;
  color: #666666;
  font-size: inherit;
  line-height: inherit;
}

.tj-page-header .tj-page-navs a {
  color: #666666;
}

.tj-page-header .tj-page-navs a:hover,
.tj-page-header .tj-page-navs a:focus {
  color: #C99942;
}

.tj-page-header .tj-page-navs a span {
  color: inherit;
}

.tj-page-header .tj-page-navs > span:last-child,
.tj-page-header .tj-page-navs .current-item,
.tj-page-header .tj-page-navs [aria-current="page"] {
  color: #000000;
}

.tj-page-header .tj-page-navs span:not(:first-child) i {
  color: #B3B3B3;
}

.tj-page-header .tj-page-navs .tji-home {
  color: #C99942;
}

@media (min-width: 768px) and (max-width: 1024px) {
  .tj-page-header {
    padding: 32px 0;
  }

  .tj-page-header .tj-page-title {
    font-size: 42px;
  }
}

@media (max-width: 767px) {
  .tj-page-header {
    padding: 28px 0;
  }

  .tj-page-header .tj-page-title {
    font-size: 32px;
  }

  .tj-page-header .tj-page-navs {
    margin-top: 12px;
    font-size: 14px;
  }
}

/* Shared page shell: match the header's content line without Bootstrap gutters. */
:is(.kw-pricing-intro, .kw-pricing-lead, .kw-pricing-tables, .kw-pricing-form, .kw-partner-hero, .kw-partner-for-who, .kw-partner-process, .kw-partner-reward, .kw-contact-content, .kw-contact-map) {
  --kw-page-shell-max-width: 100%;
  width: calc(100% - 40px) !important;
  max-width: var(--kw-page-shell-max-width) !important;
  margin-inline: auto !important;
  box-sizing: border-box;
}
:is(.kw-pricing-intro, .kw-pricing-lead, .kw-pricing-tables, .kw-pricing-form, .kw-partner-hero, .kw-partner-for-who, .kw-partner-process, .kw-partner-reward, .kw-contact-content, .kw-contact-map) > .e-con-inner {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0;
}
/* A map inside the contact card follows its padded content instead of nesting a shell. */
.kw-contact-content .kw-contact-map {
  width: 100% !important;
  max-width: 100% !important;
}
@media (min-width: 1025px) {
  :is(.kw-pricing-intro, .kw-pricing-lead, .kw-pricing-tables, .kw-pricing-form, .kw-partner-hero, .kw-partner-for-who, .kw-partner-process, .kw-partner-reward, .kw-contact-content, .kw-contact-map) {
    --kw-page-shell-max-width: 936px;
  }
}
@media (min-width: 1200px) {
  :is(.kw-pricing-intro, .kw-pricing-lead, .kw-pricing-tables, .kw-pricing-form, .kw-partner-hero, .kw-partner-for-who, .kw-partner-process, .kw-partner-reward, .kw-contact-content, .kw-contact-map) {
    --kw-page-shell-max-width: 1116px;
  }
}
@media (min-width: 1400px) {
  :is(.kw-pricing-intro, .kw-pricing-lead, .kw-pricing-tables, .kw-pricing-form, .kw-partner-hero, .kw-partner-for-who, .kw-partner-process, .kw-partner-reward, .kw-contact-content, .kw-contact-map) {
    --kw-page-shell-max-width: 1296px;
  }
}

/* Contact page: scoped layout, information, Forminator and map styling. */
.kw-contact-content {
  padding: 48px 44px !important;
  background-color: #F6F6F4 !important;
  border: 1px solid #E6E6E3 !important;
  border-radius: 22px !important;
  overflow: hidden;
  color: #000000;
  box-sizing: border-box;
}

.kw-contact-content,
.kw-contact-content > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 38fr) minmax(0, 62fr) !important;
  gap: 72px !important;
  align-items: start;
}

.kw-contact-content:has(> .e-con-inner) {
  display: block !important;
}

.kw-contact-content .kw-contact-info,
.kw-contact-content .kw-contact-form {
  width: 100% !important;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.kw-contact-content .kw-contact-info {
  order: 0;
}

.kw-contact-content .kw-contact-form {
  order: 1;
}

.kw-contact-content .kw-contact-map {
  order: 2;
}

.kw-contact-content > *,
.kw-contact-content > .e-con-inner > *,
.kw-contact-info,
.kw-contact-form,
.kw-pricing-form {
  min-width: 0;
}

.kw-contact-info,
.kw-contact-info > .e-con-inner {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

.kw-contact-info {
  padding-inline-end: 16px;
  color: #000000;
  overflow-wrap: anywhere;
}

.kw-contact-info h2 {
  margin: 0 0 20px;
  color: #000000;
  font-size: 34px !important;
  line-height: 1.15;
}

.kw-contact-person {
  margin-bottom: 22px;
  color: #000000;
  font-size: 22px;
  font-weight: 600;
  line-height: 1.4;
}

.kw-contact-list p {
  margin: 0 0 14px;
  line-height: 1.65;
}

.kw-contact-label {
  color: #666666;
  font-size: 14px;
  font-weight: 600;
}

.kw-contact-info a {
  color: #000000;
  text-decoration: none;
}

.kw-contact-info a:hover,
.kw-contact-info a:focus {
  color: #C99942;
}

.kw-contact-note {
  max-width: 36ch;
  margin-top: 20px;
  color: #666666;
  line-height: 1.75;
}

.kw-contact-company {
  margin-top: 28px;
  padding-top: 28px;
  border-top: 1px solid #DEDEDE;
  color: #000000;
  font-weight: 400;
  line-height: 1.75;
}

.kw-contact-content > .kw-contact-form,
.kw-contact-content > .e-con-inner > .kw-contact-form,
.kw-pricing-form {
  padding: 32px !important;
  background: #FFFFFF !important;
  border: 1px solid #DEDEDE !important;
  border-radius: 18px !important;
  box-shadow: 0 12px 35px rgba(0, 0, 0, 0.06) !important;
  color: #000000;
}

.kw-contact-form,
.kw-contact-form *,
.kw-pricing-form,
.kw-pricing-form * {
  box-sizing: border-box;
}

.kw-contact-form h2,
.kw-contact-form .elementor-heading-title,
.kw-pricing-form h2,
.kw-pricing-form .elementor-heading-title {
  margin: 0 0 22px !important;
  color: #000000 !important;
  font-size: 34px !important;
  line-height: 1.15 !important;
  overflow-wrap: anywhere;
}

.kw-contact-form .forminator-ui.forminator-custom-form .forminator-label,
.kw-pricing-form .forminator-ui.forminator-custom-form .forminator-label {
  margin-bottom: 6px !important;
  color: #000000 !important;
  font-weight: 600 !important;
}

.kw-contact-form .forminator-ui.forminator-custom-form .forminator-required,
.kw-pricing-form .forminator-ui.forminator-custom-form .forminator-required {
  color: #C99942 !important;
}

.kw-contact-form .forminator-ui.forminator-custom-form .forminator-row,
.kw-pricing-form .forminator-ui.forminator-custom-form .forminator-row {
  margin-bottom: 16px !important;
}

.kw-contact-form .forminator-ui.forminator-custom-form .forminator-input,
.kw-contact-form .forminator-ui.forminator-custom-form .forminator-textarea,
.kw-pricing-form .forminator-ui.forminator-custom-form .forminator-input,
.kw-pricing-form .forminator-ui.forminator-custom-form .forminator-textarea,
.kw-pricing-form .select2-container .select2-selection {
  width: 100%;
  max-width: 100%;
  padding: 12px 16px !important;
  background: #F6F6F4 !important;
  border: 1px solid #DEDEDE !important;
  border-radius: 10px !important;
  color: #000000 !important;
  box-shadow: none !important;
  font-family: inherit;
  font-size: 16px;
  line-height: 1.5;
}

.kw-contact-form .forminator-ui.forminator-custom-form .forminator-input:focus,
.kw-contact-form .forminator-ui.forminator-custom-form .forminator-textarea:focus,
.kw-pricing-form .forminator-ui.forminator-custom-form .forminator-input:focus,
.kw-pricing-form .forminator-ui.forminator-custom-form .forminator-textarea:focus,
.kw-pricing-form .select2-container .select2-selection:focus,
.kw-pricing-form .select2-container--focus .select2-selection,
.kw-pricing-form .select2-container--open .select2-selection {
  border-color: #C99942 !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(201, 153, 66, 0.15) !important;
}

.kw-contact-form .forminator-ui.forminator-custom-form .forminator-textarea,
.kw-pricing-form .forminator-ui.forminator-custom-form .forminator-textarea {
  min-height: 120px !important;
  resize: vertical;
}

/* Keep the textarea label and its counter on one line without negative margins. */
.kw-contact-form .forminator-ui.forminator-custom-form :is(.forminator-field, .forminator-field-textarea):has(> .forminator-textarea),
.kw-pricing-form .forminator-ui.forminator-custom-form :is(.forminator-field, .forminator-field-textarea):has(> .forminator-textarea) {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  column-gap: 12px;
  row-gap: 6px;
  align-items: center;
}

.kw-contact-form .forminator-ui.forminator-custom-form :is(.forminator-field, .forminator-field-textarea):has(> .forminator-textarea) > .forminator-label,
.kw-pricing-form .forminator-ui.forminator-custom-form :is(.forminator-field, .forminator-field-textarea):has(> .forminator-textarea) > .forminator-label {
  grid-column: 1;
  grid-row: 1;
  margin-bottom: 0 !important;
}

.kw-contact-form .forminator-ui.forminator-custom-form :is(.forminator-field, .forminator-field-textarea):has(> .forminator-textarea) > :is(.forminator-counter, .forminator-description:has(.forminator-counter)),
.kw-pricing-form .forminator-ui.forminator-custom-form :is(.forminator-field, .forminator-field-textarea):has(> .forminator-textarea) > :is(.forminator-counter, .forminator-description:has(.forminator-counter)) {
  grid-column: 2;
  grid-row: 1;
  justify-self: end;
  margin: 0 !important;
  white-space: nowrap;
}

.kw-contact-form .forminator-ui.forminator-custom-form :is(.forminator-field, .forminator-field-textarea):has(> .forminator-textarea) .forminator-counter,
.kw-pricing-form .forminator-ui.forminator-custom-form :is(.forminator-field, .forminator-field-textarea):has(> .forminator-textarea) .forminator-counter {
  margin: 0 !important;
}

.kw-contact-form .forminator-ui.forminator-custom-form :is(.forminator-field, .forminator-field-textarea):has(> .forminator-textarea) > .forminator-textarea,
.kw-pricing-form .forminator-ui.forminator-custom-form :is(.forminator-field, .forminator-field-textarea):has(> .forminator-textarea) > .forminator-textarea {
  grid-column: 1 / -1;
  grid-row: 2;
  margin: 0 !important;
}

.kw-contact-form .forminator-ui.forminator-custom-form :is(.forminator-field, .forminator-field-textarea):has(> .forminator-textarea) > :is(.forminator-description:not(:has(.forminator-counter)), .forminator-error-message),
.kw-pricing-form .forminator-ui.forminator-custom-form :is(.forminator-field, .forminator-field-textarea):has(> .forminator-textarea) > :is(.forminator-description:not(:has(.forminator-counter)), .forminator-error-message) {
  grid-column: 1 / -1;
}

.kw-contact-form .forminator-ui.forminator-custom-form .forminator-row:has(.forminator-checkbox),
.kw-pricing-form .forminator-ui.forminator-custom-form .forminator-row:has(.forminator-checkbox) {
  margin-top: 0 !important;
  margin-bottom: 12px !important;
}

.kw-contact-form .forminator-ui.forminator-custom-form .forminator-checkbox,
.kw-pricing-form .forminator-ui.forminator-custom-form .forminator-checkbox {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.kw-contact-form .forminator-ui.forminator-custom-form .forminator-description,
.kw-contact-form .forminator-ui.forminator-custom-form .forminator-counter,
.kw-pricing-form .forminator-ui.forminator-custom-form .forminator-description,
.kw-pricing-form .forminator-ui.forminator-custom-form .forminator-counter {
  color: #666666 !important;
  font-size: 13px !important;
}

.kw-contact-form .forminator-ui.forminator-custom-form .forminator-checkbox-box,
.kw-pricing-form .forminator-ui.forminator-custom-form .forminator-checkbox-box {
  background: #FFFFFF !important;
  border: 1px solid #B3B3B3 !important;
  border-radius: 4px;
}

.kw-contact-form .forminator-ui.forminator-custom-form .forminator-checkbox input:checked + .forminator-checkbox-box,
.kw-pricing-form .forminator-ui.forminator-custom-form .forminator-checkbox input:checked + .forminator-checkbox-box {
  background: #C99942 !important;
  border-color: #C99942 !important;
}

.kw-contact-form .forminator-ui.forminator-custom-form .forminator-checkbox input:checked + .forminator-checkbox-box::before,
.kw-pricing-form .forminator-ui.forminator-custom-form .forminator-checkbox input:checked + .forminator-checkbox-box::before {
  color: #000000 !important;
}

.kw-contact-form .forminator-ui.forminator-custom-form .forminator-checkbox input:focus + .forminator-checkbox-box,
.kw-pricing-form .forminator-ui.forminator-custom-form .forminator-checkbox input:focus + .forminator-checkbox-box {
  border-color: #C99942 !important;
  box-shadow: 0 0 0 3px rgba(201, 153, 66, 0.15) !important;
}

.kw-contact-form .forminator-ui.forminator-custom-form .forminator-checkbox-label,
.kw-pricing-form .forminator-ui.forminator-custom-form .forminator-checkbox-label {
  color: #333333 !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  overflow-wrap: anywhere;
}

.kw-contact-form .forminator-ui.forminator-custom-form .forminator-checkbox-label a,
.kw-pricing-form .forminator-ui.forminator-custom-form .forminator-checkbox-label a {
  color: #000000 !important;
}

.kw-contact-form .forminator-ui.forminator-custom-form .forminator-checkbox-label a:hover,
.kw-contact-form .forminator-ui.forminator-custom-form .forminator-checkbox-label a:focus,
.kw-pricing-form .forminator-ui.forminator-custom-form .forminator-checkbox-label a:hover,
.kw-pricing-form .forminator-ui.forminator-custom-form .forminator-checkbox-label a:focus {
  color: #C99942 !important;
}

.kw-contact-form .forminator-button-submit,
.kw-pricing-form .forminator-button-submit {
  padding: 14px 26px !important;
  background: #C99942 !important;
  border: 0 !important;
  border-radius: 12px !important;
  color: #000000 !important;
  font-weight: 600 !important;
  line-height: 1.5;
}

.kw-contact-form .forminator-button-submit:hover,
.kw-contact-form .forminator-button-submit:focus,
.kw-pricing-form .forminator-button-submit:hover,
.kw-pricing-form .forminator-button-submit:focus {
  background: #000000 !important;
  color: #FFFFFF !important;
}

.kw-contact-map {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  margin-top: 28px !important;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: none;
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-inline: 0 !important;
}

.kw-contact-map iframe {
  display: block;
  width: 100%;
  max-width: 100%;
  height: 440px;
  border: 0;
  border-radius: 18px;
}

.kw-contact-content > .kw-contact-map,
.kw-contact-content > .e-con-inner > .kw-contact-map {
  grid-column: 1 / -1;
}

@media (max-width: 1024px) {
  .kw-contact-content {
    padding: 36px 30px !important;
  }

  .kw-contact-info {
    padding-inline-end: 0 !important;
  }

  .kw-contact-content .kw-contact-info,
  .kw-contact-content .kw-contact-form {
    flex-basis: auto !important;
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
  }

  .kw-contact-content,
  .kw-contact-content > .e-con-inner {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 40px !important;
  }

  .kw-contact-info h2 {
    font-size: 30px !important;
  }

  .kw-contact-content > .kw-contact-form,
  .kw-contact-content > .e-con-inner > .kw-contact-form,
  .kw-pricing-form {
    padding: 28px !important;
  }

  .kw-contact-map {
    margin-top: 24px !important;
  }

  .kw-contact-map iframe {
    height: 360px;
  }
}

@media (max-width: 767px) {
  .kw-contact-content {
    padding: 28px 20px !important;
    border-radius: 16px !important;
  }

  .kw-contact-content,
  .kw-contact-content > .e-con-inner {
    gap: 28px !important;
  }

  .kw-contact-info h2 {
    font-size: 28px !important;
    margin-bottom: 20px;
  }

  .kw-contact-form .forminator-ui.forminator-custom-form .forminator-textarea,
  .kw-pricing-form .forminator-ui.forminator-custom-form .forminator-textarea {
    min-height: 110px !important;
  }

  .kw-contact-form h2,
  .kw-contact-form .elementor-heading-title,
  .kw-pricing-form h2,
  .kw-pricing-form .elementor-heading-title {
    font-size: 30px !important;
    margin: 0 0 20px !important;
  }

  .kw-contact-content > .kw-contact-form,
  .kw-contact-content > .e-con-inner > .kw-contact-form,
  .kw-pricing-form {
    padding: 22px !important;
  }

  .kw-contact-map {
    margin-top: 20px !important;
    border-radius: 16px;
  }

  .kw-contact-map iframe {
    height: 300px;
    border-radius: 16px;
  }
}

/* Privacy policy: restrained document typography, scoped to this page only. */
.privacy-policy .tj-entry-content {
  width: 100%;
  max-width: 1080px;
  margin-inline: auto;
  padding-inline: 24px;
  box-sizing: border-box;
  color: #333333;
  font-size: 17px;
  line-height: 1.7;
  overflow-wrap: anywhere;
}

.privacy-policy #kw-polityka-tytul {
  margin: 0 0 16px;
  color: #000000;
  font-size: 46px;
  line-height: 1.1;
  font-weight: 600;
}

.privacy-policy .tj-entry-content p {
  margin: 0 0 16px;
  color: #333333;
  font-size: inherit;
  line-height: 1.7;
}

.privacy-policy .tj-entry-content #kw-polityka-tytul + p {
  margin-bottom: 28px;
  color: #666666;
  font-size: 15px;
}

.privacy-policy .tj-entry-content h3 {
  margin: 40px 0 16px;
  color: #000000;
  font-size: 30px;
  line-height: 1.2;
  font-weight: 600;
}

.privacy-policy .tj-entry-content ul,
.privacy-policy .tj-entry-content ol {
  margin: 0 0 20px;
  padding-inline-start: 24px;
  color: #333333;
  font-size: inherit;
  line-height: 1.7;
}

.privacy-policy .tj-entry-content ul {
  list-style-type: disc;
}

.privacy-policy .tj-entry-content ol {
  list-style-type: decimal;
}

.privacy-policy .tj-entry-content li {
  margin-bottom: 8px;
  color: #333333;
  font-size: inherit;
  line-height: 1.7;
}

.privacy-policy .tj-entry-content a {
  color: #000000;
  text-decoration: underline;
  text-decoration-style: solid;
  text-underline-offset: 3px;
}

.privacy-policy .tj-entry-content a:hover,
.privacy-policy .tj-entry-content a:focus {
  color: #C99942;
  text-decoration-style: solid;
}

.privacy-policy .tj-entry-content strong {
  color: #000000;
  font-weight: 600;
}

.privacy-policy .tj-entry-content a strong {
  color: inherit;
}

@media (min-width: 768px) and (max-width: 1024px) {
  .privacy-policy #kw-polityka-tytul {
    font-size: 40px;
  }

  .privacy-policy .tj-entry-content h3 {
    font-size: 28px;
  }
}

@media (max-width: 767px) {
  .privacy-policy .tj-entry-content {
    padding-inline: 20px;
    font-size: 16px;
  }

  .privacy-policy #kw-polityka-tytul {
    font-size: 34px;
  }

  .privacy-policy .tj-entry-content h3 {
    margin: 32px 0 14px;
    font-size: 26px;
  }

  .privacy-policy .tj-entry-content #kw-polityka-tytul + p {
    margin-bottom: 24px;
    font-size: 14px;
  }
}

/* Pricing page: local typography, Elementor tabs, tables and Forminator. */

/* Remove nested Elementor gutters only within the pricing intro and tables. */
:is(.kw-pricing-intro, .kw-pricing-lead, .kw-pricing-tables),
:is(.kw-pricing-intro, .kw-pricing-lead, .kw-pricing-tables) > .e-con-inner,
:is(.kw-pricing-intro, .kw-pricing-lead, .kw-pricing-tables) > .e-con-boxed,
:is(.kw-pricing-intro, .kw-pricing-lead, .kw-pricing-tables) > .e-con-boxed > .e-con-inner {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Nested boxed wrappers must follow the pricing section's existing page shell. */
.kw-pricing-intro > .e-con-boxed,
.kw-pricing-tables > .e-con-boxed {
  width: 100% !important;
  max-width: 100% !important;
}

.kw-pricing-intro > .e-con-boxed > .e-con-inner,
.kw-pricing-tables > .e-con-boxed > .e-con-inner {
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-inline: 0 !important;
}

.kw-pricing-intro {
  margin-block: 0 !important;
  padding-block: 40px 8px !important;
  text-align: center;
}

.kw-pricing-intro h2 {
  margin: 0 !important;
  color: #000000;
  font-size: 42px;
  font-weight: 600;
  line-height: 1.15;
}

.kw-pricing-lead {
  margin-top: 0 !important;
  margin-bottom: 42px !important;
  padding-block: 0 !important;
  box-sizing: border-box;
  color: #666666;
  text-align: center;
  line-height: 1.65;
}

.kw-pricing-lead p {
  margin-block: 0;
  color: inherit;
  line-height: inherit;
}

.kw-pricing-tables {
  margin-block: 0 !important;
  padding-block: 0 !important;
  box-sizing: border-box;
  min-width: 0;
}

.kw-pricing-tables h2 {
  margin: 0 0 28px;
  color: #000000;
  font-size: 32px;
  line-height: 1.2;
  text-align: center;
}

.kw-pricing-tables .e-n-tabs-content > [role="tabpanel"] {
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-inline: 0 !important;
}

.kw-pricing-tables .e-n-tabs-content > [role="tabpanel"].e-con-boxed {
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-inline: 0 !important;
}

.kw-pricing-tables .e-n-tabs-content > [role="tabpanel"].e-con-boxed > .e-con-inner {
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-inline: 0 !important;
}

.kw-pricing-tables .elementor-tabs-wrapper,
.kw-pricing-tables .e-n-tabs-heading {
  display: flex;
  flex-wrap: wrap !important;
  gap: 8px;
  max-width: 100%;
}

.kw-pricing-tables .elementor-tab-title,
.kw-pricing-tables .e-n-tab-title {
  padding: 12px 20px !important;
  max-width: 100%;
  background: #FFFFFF !important;
  border: 1px solid #DEDEDE !important;
  border-radius: 12px !important;
  color: #000000 !important;
  white-space: normal;
  overflow-wrap: anywhere;
}

.kw-pricing-tables .e-n-tab-title-text {
  color: inherit !important;
}

.kw-pricing-tables .elementor-tab-title:hover,
.kw-pricing-tables .elementor-tab-title:focus,
.kw-pricing-tables .e-n-tab-title:hover,
.kw-pricing-tables .e-n-tab-title:focus {
  border-color: #C99942 !important;
  color: #C99942 !important;
}

.kw-pricing-tables .elementor-tab-title:focus-visible,
.kw-pricing-tables .e-n-tab-title:focus-visible {
  outline: 2px solid #C99942;
  outline-offset: 3px;
}

.kw-pricing-tables .elementor-tab-title.elementor-active,
.kw-pricing-tables .e-n-tab-title[aria-selected="true"] {
  background: #C99942 !important;
  border-color: #C99942 !important;
  color: #000000 !important;
}

.kw-pricing-tables .elementor-tab-title::before,
.kw-pricing-tables .elementor-tab-title::after {
  border: 0 !important;
}

.kw-pricing-tables .kw-cennik {
  min-width: 0;
  max-width: 100%;
}

.kw-pricing-tables .kw-cennik__tabela {
  width: 100%;
  max-width: 100%;
  margin: 0;
  background: #FFFFFF;
  border: 1px solid #DEDEDE;
  border-radius: 14px;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
}

.kw-pricing-tables .kw-cennik__tabela table {
  width: 100%;
  margin: 0;
  border: 0;
  border-collapse: separate;
  border-spacing: 0;
}

.kw-pricing-tables .kw-cennik__tabela thead {
  background: #F6F6F4;
}

.kw-pricing-tables .kw-cennik__tabela th,
.kw-pricing-tables .kw-cennik__tabela td {
  padding: 15px 16px;
  border: 0;
  border-bottom: 1px solid #DEDEDE;
  color: #333333;
  line-height: 1.55;
  text-align: start;
}

.kw-pricing-tables .kw-cennik__tabela th {
  background: #F6F6F4;
  color: #000000;
  font-weight: 600;
}

.kw-pricing-tables .kw-cennik__tabela tbody tr:last-child td {
  border-bottom: 0;
}

.kw-pricing-tables .kw-cennik__tabela td:nth-child(2),
.kw-pricing-tables .kw-cennik__tabela td:nth-child(3) {
  color: #000000;
  font-weight: 600;
  white-space: nowrap;
}

.kw-pricing-tables .kw-cennik__uwaga {
  margin-top: 20px;
  color: #666666;
  font-size: 15px;
  line-height: 1.6;
}

.kw-pricing-form {
  margin-top: 52px !important;
  margin-bottom: 64px !important;
  min-width: 0;
}

.kw-pricing-form .select2-container {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0;
}

.kw-pricing-form .select2-container .select2-selection {
  height: auto !important;
  min-height: 50px;
}

.kw-pricing-form .select2-container .select2-selection__rendered {
  padding-inline-start: 0 !important;
  padding-inline-end: 20px !important;
  max-width: 100%;
  color: #000000 !important;
  line-height: 1.5 !important;
}

.kw-pricing-form .select2-container .select2-selection__arrow {
  height: 100% !important;
  top: 0;
}

.kw-pricing-form .select2-container .select2-search__field {
  max-width: 100% !important;
  box-sizing: border-box;
}

@media (max-width: 1024px) {
  .kw-pricing-form {
    margin-top: 42px !important;
    margin-bottom: 48px !important;
  }

  .kw-pricing-intro {
    padding-block: 32px 8px !important;
  }

  .kw-pricing-intro h2 {
    font-size: 36px;
  }

  .kw-pricing-lead {
    margin-bottom: 34px !important;
  }

}

@media (max-width: 767px) {
  .kw-pricing-intro h2,
  .kw-pricing-tables h2 {
    font-size: 28px;
  }

  .kw-pricing-lead {
    margin-bottom: 30px !important;
  }


  .kw-pricing-tables .kw-cennik,
  .kw-pricing-tables .kw-cennik__tabela {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: hidden;
  }

  .kw-pricing-tables .kw-cennik table,
  .kw-pricing-tables table.kw-cennik__tabela,
  .kw-pricing-tables .kw-cennik__tabela table {
    display: table;
    width: 100% !important;
    max-width: 100%;
    min-width: 0;
    table-layout: fixed;
  }

  .kw-pricing-tables .kw-cennik th,
  .kw-pricing-tables .kw-cennik td,
  .kw-pricing-tables .kw-cennik__tabela th,
  .kw-pricing-tables .kw-cennik__tabela td {
    padding: 12px 10px;
    font-size: 14px;
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: normal;
    hyphens: auto;
  }

  .kw-pricing-tables .kw-cennik tr:has(> :nth-child(2):last-child) > :first-child,
  .kw-pricing-tables .kw-cennik__tabela tr:has(> :nth-child(2):last-child) > :first-child {
    width: 40%;
  }

  .kw-pricing-tables .kw-cennik tr:has(> :nth-child(2):last-child) > :nth-child(2),
  .kw-pricing-tables .kw-cennik__tabela tr:has(> :nth-child(2):last-child) > :nth-child(2) {
    width: 60%;
  }

  .kw-pricing-form {
    margin-top: 34px !important;
    margin-bottom: 36px !important;
  }

  .kw-pricing-form .forminator-ui.forminator-custom-form .forminator-row {
    flex-wrap: wrap !important;
  }

  .kw-pricing-form .forminator-ui.forminator-custom-form .forminator-col-6 {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }
}

/* Pricing Select2: include a body portal only while this form's select is open. */
.kw-pricing-form .select2-selection--single:focus,
.kw-pricing-form .select2-container--focus .select2-selection--single,
.kw-pricing-form .select2-container--open .select2-selection--single {
  border-color: #C99942 !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(201, 153, 66, 0.14) !important;
}

:is(.kw-pricing-form, body:has(.kw-pricing-form .forminator-ui.forminator-custom-form .select2-container--open) > .select2-container--open) .select2-dropdown {
  background: #FFFFFF !important;
  border: 1px solid #DEDEDE !important;
  border-radius: 10px !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08) !important;
  overflow: hidden;
}

:is(.kw-pricing-form, body:has(.kw-pricing-form .forminator-ui.forminator-custom-form .select2-container--open) > .select2-container--open) .select2-search__field {
  background: #F6F6F4 !important;
  border: 1px solid #DEDEDE !important;
  color: #000000 !important;
  outline: none !important;
  box-shadow: none !important;
}

:is(.kw-pricing-form, body:has(.kw-pricing-form .forminator-ui.forminator-custom-form .select2-container--open) > .select2-container--open) .select2-search__field:focus {
  border-color: #C99942 !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(201, 153, 66, 0.14) !important;
}

:is(.kw-pricing-form, body:has(.kw-pricing-form .forminator-ui.forminator-custom-form .select2-container--open) > .select2-container--open) .select2-results__option {
  background: #FFFFFF !important;
  color: #333333 !important;
}

:is(.kw-pricing-form, body:has(.kw-pricing-form .forminator-ui.forminator-custom-form .select2-container--open) > .select2-container--open) .select2-results__option:hover,
:is(.kw-pricing-form, body:has(.kw-pricing-form .forminator-ui.forminator-custom-form .select2-container--open) > .select2-container--open) .select2-results__option:focus,
:is(.kw-pricing-form, body:has(.kw-pricing-form .forminator-ui.forminator-custom-form .select2-container--open) > .select2-container--open) .select2-results__option--highlighted {
  background: #F4E8D2 !important;
  color: #000000 !important;
  outline: none !important;
  box-shadow: none !important;
}

:is(.kw-pricing-form, body:has(.kw-pricing-form .forminator-ui.forminator-custom-form .select2-container--open) > .select2-container--open) .select2-results__option[aria-selected="true"],
:is(.kw-pricing-form, body:has(.kw-pricing-form .forminator-ui.forminator-custom-form .select2-container--open) > .select2-container--open) .select2-results__option--selected {
  background: #C99942 !important;
  color: #000000 !important;
  font-weight: 600 !important;
}

.kw-pricing-form .select2-container--focus .select2-selection__arrow,
.kw-pricing-form .select2-container--open .select2-selection__arrow {
  color: #C99942 !important;
}

.kw-pricing-form .select2-container--focus .select2-selection__arrow b {
  border-top-color: #C99942 !important;
}

.kw-pricing-form .select2-container--open .select2-selection__arrow b {
  border-top-color: transparent !important;
  border-bottom-color: #C99942 !important;
}

.kw-pricing-form .select2-container--focus .select2-selection__arrow i,
.kw-pricing-form .select2-container--focus .select2-selection__arrow::before,
.kw-pricing-form .select2-container--open .select2-selection__arrow i,
.kw-pricing-form .select2-container--open .select2-selection__arrow::before {
  color: #C99942 !important;
}

/* Partner page: shared width, typography and existing component styling. */
:is(.kw-partner-hero, .kw-partner-for-who, .kw-partner-process, .kw-partner-reward) {
  box-sizing: border-box;
  min-width: 0;
  color: #333333;
}
:is(.kw-partner-for-who, .kw-partner-process),
:is(.kw-partner-hero, .kw-partner-for-who, .kw-partner-process) > .e-con-inner,
:is(.kw-partner-hero, .kw-partner-for-who, .kw-partner-process) > .e-con-boxed,
:is(.kw-partner-hero, .kw-partner-for-who, .kw-partner-process) > .e-con-boxed > .e-con-inner {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.kw-partner-hero {
  padding-block: 48px 64px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-block: 36px 0;
}
.kw-partner-hero-content {
  width: 100% !important;
  max-width: 520px;
  min-width: 0;
  color: #666666;
  font-size: 17px;
  line-height: 1.65;
}
.kw-partner-hero-content :is(h2, .elementor-heading-title) {
  margin: 0 0 16px !important;
  color: #000000 !important;
  font-size: 44px !important;
  line-height: 1.1 !important;
}
.kw-partner-hero-content p {
  color: #666666;
  line-height: 1.65;
}
.kw-partner-hero-content .tj-primary-btn {
  background: #C99942 !important;
  border-radius: 14px !important;
  color: #000000 !important;
}
.kw-partner-hero-content .tj-primary-btn .btn-text {
  color: #000000 !important;
}
.kw-partner-hero-content .tj-primary-btn .btn-icon {
  background: #000000 !important;
  color: #FFFFFF !important;
}
.kw-partner-hero-content .tj-primary-btn:is(:hover, :focus) {
  background: #000000 !important;
  color: #FFFFFF !important;
}
.kw-partner-hero-content .tj-primary-btn:is(:hover, :focus) .btn-text {
  color: #FFFFFF !important;
}
.kw-partner-hero-content .tj-primary-btn:is(:hover, :focus) .btn-icon {
  background: #C99942 !important;
  color: #FFFFFF !important;
}
.kw-partner-hero-media {
  width: 100% !important;
  min-width: 0;
}
.kw-partner-hero-media,
.kw-partner-hero-media .elementor-widget-image,
.kw-partner-hero-media .elementor-widget-container {
  border-radius: 16px !important;
  overflow: hidden !important;
}
.kw-partner-hero-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 16px !important;
}
:is(.kw-partner-for-who, .kw-partner-process) {
  padding-block: 64px !important;
}
:is(.kw-partner-for-who, .kw-partner-process) :is(h2, .elementor-heading-title) {
  margin: 0 0 36px !important;
  color: #000000 !important;
  font-size: 38px !important;
  line-height: 1.15 !important;
  text-align: center;
}
.kw-partner-for-who .choose-box,
.kw-partner-process .service-details-item {
  height: 100%;
  padding: 28px !important;
  box-sizing: border-box;
  background: #FFFFFF !important;
  border: 1px solid #DEDEDE !important;
  border-radius: 16px !important;
}
.kw-partner-process .service-details-item {
  background: #111111 !important;
  border-color: #2A2A2A !important;
}
.kw-partner-for-who .choose-box .choose-icon,
.kw-partner-for-who .choose-box .choose-icon i {
  color: #C99942 !important;
}
.kw-partner-for-who .choose-box .choose-icon svg {
  fill: #C99942 !important;
}
.kw-partner-for-who .choose-box .title,
.kw-partner-for-who .choose-box .title a {
  color: #000000 !important;
  font-size: 20px !important;
  font-weight: 600 !important;
}
.kw-partner-process .service-details-item .title {
  color: #FFFFFF !important;
  font-size: 20px !important;
  font-weight: 600 !important;
}
.kw-partner-for-who .choose-box .desc,
.kw-partner-for-who .choose-box .desc p {
  color: #666666 !important;
  font-size: 16px;
  line-height: 1.6;
}
.kw-partner-process .service-details-item .desc,
.kw-partner-process .service-details-item .desc p {
  color: #B3B3B3 !important;
  font-size: 16px;
  line-height: 1.6;
}
.kw-partner-process .service-details-item .number {
  background: #C99942 !important;
  color: #000000 !important;
  border-radius: 50%;
}
.kw-partner-reward {
  margin-bottom: 64px !important;
  background-color: #FFFFFF !important;
  border: 1px solid #DEDEDE !important;
  box-shadow: 0 12px 35px rgba(0, 0, 0, 0.05);
  border-radius: 20px !important;
  overflow: hidden;
}
.kw-partner-reward :is(h2, .elementor-heading-title) {
  color: #000000 !important;
  font-size: 38px !important;
  line-height: 1.15 !important;
}
@media (max-width: 1024px) {
  .kw-partner-hero {
    padding-block: 36px 48px !important;
  }
  :is(.kw-partner-for-who, .kw-partner-process) {
    padding-block: 48px !important;
  }
  .kw-partner-reward {
    margin-bottom: 48px !important;
  }
}
@media (max-width: 767px) {
  .kw-partner-hero {
    padding-block: 28px 36px !important;
  }
  :is(.kw-partner-for-who, .kw-partner-process) {
    padding-block: 36px !important;
  }
  .kw-partner-hero-content :is(h2, .elementor-heading-title),
  :is(.kw-partner-for-who, .kw-partner-process, .kw-partner-reward) :is(h2, .elementor-heading-title) {
    font-size: 30px !important;
  }
  .kw-partner-for-who .choose-box,
  .kw-partner-process .service-details-item {
    padding: 24px !important;
  }
  .kw-partner-reward {
    margin-bottom: 36px !important;
  }
}

/* Partner layouts: target the supplied Elementor wrappers, not generated IDs. */
:is(.kw-partner-hero, .kw-partner-for-who, .kw-partner-process) > .e-con-inner,
:is(.kw-partner-hero, .kw-partner-for-who, .kw-partner-process) > .e-con-boxed > .e-con-inner {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0;
}
.kw-partner-hero,
.kw-partner-hero > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 48fr) minmax(0, 52fr) !important;
  gap: 52px !important;
  align-items: center;
}
.kw-partner-hero:has(> .e-con-inner) {
  display: block !important;
}
.kw-partner-hero-content {
  padding-left: 0 !important;
  padding-right: 0 !important;
  order: 0;
}
.kw-partner-hero-media {
  order: 1;
}
:is(.kw-partner-for-who, .kw-partner-process) > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}
:is(.kw-partner-for-who, .kw-partner-process) > .e-con-inner > .e-con-full,
:is(.kw-partner-for-who, .kw-partner-process) .e-grid.rightSwipeWrap {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
:is(.kw-partner-for-who, .kw-partner-process) .e-grid.rightSwipeWrap {
  display: grid !important;
  gap: 24px !important;
  align-items: stretch;
}
.kw-partner-for-who .e-grid.rightSwipeWrap {
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
}
.kw-partner-process .e-grid.rightSwipeWrap {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
:is(.kw-partner-for-who, .kw-partner-process) .rightSwipeWrap > .right-swipe {
  width: 100% !important;
  min-width: 0;
  height: 100%;
}
:is(.kw-partner-for-who, .kw-partner-process) .rightSwipeWrap > .right-swipe > .elementor-widget-container {
  height: 100%;
}
.kw-partner-reward,
.kw-partner-reward > .e-con-full,
.kw-partner-reward > .e-con-full > .e-con-boxed {
  padding: 0 !important;
}
.kw-partner-reward > .e-con-full,
.kw-partner-reward > .e-con-full > .e-con-boxed {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0;
  background-color: transparent !important;
}
.kw-partner-reward .elementor-widget-image:has(img:is([src*="bx-pattern.png"], [src*="bx-pattern-2.png"])) {
  display: none !important;
}
.kw-partner-reward > .e-con-full > .e-con-boxed > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 45fr) minmax(0, 55fr) !important;
  gap: 44px !important;
  align-items: center;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0;
  padding: 48px !important;
  box-sizing: border-box;
}
.kw-partner-reward > .e-con-full > .e-con-boxed > .e-con-inner > .e-con-full {
  width: 100% !important;
  min-width: 0;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.kw-partner-reward > .e-con-full > .e-con-boxed > .e-con-inner > .e-con-full:first-child {
  min-height: 290px;
  border-radius: 16px !important;
  overflow: hidden;
  background-size: cover;
  background-position: center;
  order: 0;
}
.kw-partner-reward > .e-con-full > .e-con-boxed > .e-con-inner > .e-con-full:last-child {
  order: 1;
  color: #000000;
}
.kw-partner-reward .sec-heading {
  margin-bottom: 24px;
}
.kw-partner-reward .sec-heading .sec-title {
  color: #000000 !important;
}
.kw-partner-reward > .e-con-full > .e-con-boxed > .e-con-inner > .e-con-full:last-child > .e-grid {
  width: 100% !important;
  min-width: 0;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 16px !important;
  padding: 0 !important;
}
.kw-partner-reward > .e-con-full > .e-con-boxed > .e-con-inner > .e-con-full:last-child > .e-grid > .e-con-full {
  padding: 24px !important;
  background: #F6F6F4 !important;
  border: 1px solid #DEDEDE;
  border-radius: 14px;
  box-shadow: none !important;
  min-width: 0;
  color: #000000;
}
.kw-partner-reward .tj_heading .title,
.kw-partner-reward .tj_heading .title a {
  margin: 0;
  color: #000000 !important;
  font-size: 20px !important;
  font-weight: 500;
  line-height: 1.55 !important;
}
@media (max-width: 1024px) {
  .kw-partner-hero,
  .kw-partner-hero > .e-con-inner {
    gap: 32px !important;
  }
  .kw-partner-hero-content {
    max-width: 100%;
  }
  .kw-partner-for-who .e-grid.rightSwipeWrap {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .kw-partner-reward > .e-con-full > .e-con-boxed > .e-con-inner {
    padding: 32px !important;
    gap: 32px !important;
  }
}
@media (max-width: 767px) {
  .kw-partner-for-who .e-grid.rightSwipeWrap,
  .kw-partner-process .e-grid.rightSwipeWrap,
  .kw-partner-reward > .e-con-full > .e-con-boxed > .e-con-inner {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .kw-partner-reward > .e-con-full > .e-con-boxed > .e-con-inner {
    padding: 24px !important;
    gap: 28px !important;
  }
  .kw-partner-reward > .e-con-full > .e-con-boxed > .e-con-inner > .e-con-full:first-child {
    min-height: 280px;
  }
  .kw-partner-hero-content,
  .kw-partner-for-who .choose-box,
  .kw-partner-process .service-details-item,
  .kw-partner-reward .tj_heading .title {
    overflow-wrap: anywhere;
  }
}

/* Partner refinements: natural row heights and centered incomplete rows. */
.kw-partner-hero-content .elementor-widget:has(.tj-primary-btn),
.kw-partner-hero-content .elementor-widget:has(.tj-primary-btn) > .elementor-widget-container,
.kw-partner-hero-content :has(> .tj-primary-btn) {
  text-align: left !important;
  justify-content: flex-start !important;
  align-items: flex-start !important;
}
.kw-partner-hero-content .tj-primary-btn {
  margin-inline: 0 !important;
  align-self: flex-start;
}
.kw-partner-for-who .choose-box .choose-icon {
  font-size: 72px !important;
  max-width: 72px !important;
  margin-bottom: 20px !important;
}
.kw-partner-for-who .choose-box .choose-icon svg {
  width: 72px !important;
}
:is(.kw-partner-for-who, .kw-partner-process) .e-grid.rightSwipeWrap {
  grid-template-rows: none !important;
  grid-auto-rows: auto !important;
  min-height: 0 !important;
}
:is(.kw-partner-for-who, .kw-partner-process) .rightSwipeWrap > .right-swipe {
  height: auto !important;
  min-height: 0 !important;
  align-self: stretch;
}
.kw-partner-for-who .choose-box,
.kw-partner-process .service-details-item {
  min-height: 0 !important;
}
.kw-partner-for-who .rightSwipeWrap > .right-swipe {
  grid-column: span 2 !important;
}
.kw-partner-for-who .rightSwipeWrap > .right-swipe:nth-child(4) {
  grid-column: 2 / span 2 !important;
}
.kw-partner-for-who .rightSwipeWrap > .right-swipe:nth-child(5) {
  grid-column: 4 / span 2 !important;
}
.kw-partner-reward > .e-con-full > .e-con-boxed > .e-con-inner > .e-con-full:first-child img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 16px;
  object-fit: cover;
}
@media (min-width: 768px) and (max-width: 1024px) {
  .kw-partner-for-who .rightSwipeWrap > .right-swipe:nth-child(n) {
    grid-column: auto !important;
  }
  .kw-partner-for-who .rightSwipeWrap > .right-swipe:nth-child(5):last-child {
    grid-column: 1 / -1 !important;
    width: calc((100% - 24px) / 2) !important;
    justify-self: center;
  }
}
@media (max-width: 1024px) {
  .kw-partner-for-who .choose-box .choose-icon {
    font-size: 54px !important;
    max-width: 54px !important;
  }
  .kw-partner-for-who .choose-box .choose-icon svg {
    width: 54px !important;
  }
}
@media (max-width: 767px) {
  .kw-partner-for-who .rightSwipeWrap > .right-swipe:nth-child(n) {
    grid-column: auto !important;
    width: 100% !important;
    justify-self: stretch;
  }
}

/* Keep partner-card icons static; preserve right-swipe/WOW/GSAP card entry. */
.kw-partner-for-who .choose-box :is(.choose-icon, .choose-icon i, .choose-icon svg),
.kw-partner-for-who .choose-box :is(.choose-icon, .choose-icon i, .choose-icon svg)::before,
.kw-partner-for-who .choose-box :is(.choose-icon, .choose-icon i, .choose-icon svg)::after,
.kw-partner-for-who .choose-box:is(:hover, :focus, :focus-within) :is(.choose-icon, .choose-icon i, .choose-icon svg),
.kw-partner-for-who .choose-box:is(:hover, :focus, :focus-within) :is(.choose-icon, .choose-icon i, .choose-icon svg)::before,
.kw-partner-for-who .choose-box:is(:hover, :focus, :focus-within) :is(.choose-icon, .choose-icon i, .choose-icon svg)::after {
  transform: none !important;
  translate: none !important;
  rotate: none !important;
  scale: none !important;
  animation: none !important;
  transition-property: color, background-color, border-color !important;
}

/* Stack only the partner hero at 768px and below. */
@media (max-width: 768px) {
  .kw-partner-hero,
  .kw-partner-hero > .e-con-inner {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 28px !important;
  }
  .kw-partner-hero-media {
    width: 100% !important;
    max-width: 420px !important;
    height: 220px !important;
    margin-inline: auto !important;
  }
  .kw-partner-hero-media .elementor-widget-image,
  .kw-partner-hero-media .elementor-widget-container {
    width: 100%;
    height: 100% !important;
  }
  .kw-partner-hero-media img {
    object-position: center;
  }
}

/* About page: local page shells and light alternating media/content sections. */
.kw-about-intro {
  --kw-page-shell-max-width: 100%;
  width: calc(100% - 40px) !important;
  max-width: var(--kw-page-shell-max-width) !important;
  margin-inline: auto !important;
  box-sizing: border-box;
  min-width: 0;
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-inline: 0 !important;
  background: transparent !important;
  color: #333333;
}
.kw-about-intro > .e-con-inner,
.kw-about-intro > .e-con-boxed,
.kw-about-intro > .e-con-boxed > .e-con-inner {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0;
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-inline: 0 !important;
}
@media (min-width: 1025px) {
  .kw-about-intro { --kw-page-shell-max-width: 936px; }
}
@media (min-width: 1200px) {
  .kw-about-intro { --kw-page-shell-max-width: 1116px; }
}
@media (min-width: 1400px) {
  .kw-about-intro { --kw-page-shell-max-width: 1296px; }
}
.kw-about-intro {
  padding-block: 56px 64px !important;
  text-align: left;
}
.kw-about-intro :is(h2, .sec-title, .elementor-heading-title) {
  margin: 0 0 24px !important;
  color: #000000 !important;
  font-size: 44px !important;
  line-height: 1.1 !important;
  text-align: left !important;
}
.kw-about-intro :is(.elementor-widget-text-editor, .editor_text, .tj-el-desc) {
  max-width: 1020px;
  color: #333333 !important;
  font-size: 17px;
  line-height: 1.7;
}
.kw-about-intro p {
  margin: 0 0 16px;
  color: #333333 !important;
  font-size: 17px;
  line-height: 1.7;
}
.kw-about-intro .countup-item {
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  margin-top: 28px !important;
  padding: 20px 24px !important;
  background: #FFFFFF !important;
  border: 1px solid #DEDEDE !important;
  border-left: 4px solid #C99942 !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  color: #333333 !important;
  font-size: 17px;
  line-height: 1.7;
  font-style: italic;
  margin-inline: 0 !important;
  box-sizing: border-box;
  list-style: none !important;
  background-image: none !important;
}
.kw-about-intro .countup-item :is(p, .count-text, .tj-el-desc) {
  margin: 0;
  color: #333333 !important;
  font-size: 17px !important;
  line-height: 1.7 !important;
}

:is(.kw-about-mission, .kw-about-vision, .kw-about-values) {
  background: #F6F6F4 !important;
  color: #333333;
}

:is(.kw-about-mission-media, .kw-about-vision-media, .kw-about-values-media) {
  background-color: transparent !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}
/* Preserve each image; remove demo tint layers on its own container. */
:is(.kw-about-mission-media, .kw-about-vision-media, .kw-about-values-media)::before,
:is(.kw-about-mission-media, .kw-about-vision-media, .kw-about-values-media) > .elementor-background-overlay {
  background: transparent !important;
}
:is(.kw-about-mission-content, .kw-about-vision-content, .kw-about-values-content) {
  background: transparent !important;
  color: #333333;
}
:is(.kw-about-mission-content, .kw-about-vision-content, .kw-about-values-content) :is(.sec-title, h2.elementor-heading-title) {
  margin: 0 0 30px !important;
  color: #000000 !important;
  font-size: 40px !important;
  line-height: 1.1 !important;
}
:is(.kw-about-mission, .kw-about-vision, .kw-about-values) .choose-box {
  padding: 22px 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid #B8C5C5 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
:is(.kw-about-mission, .kw-about-vision, .kw-about-values) .elementor-widget-tj-icon-box:last-child .choose-box,
:is(.kw-about-mission, .kw-about-vision, .kw-about-values) :is(.e-con, .e-con-inner):has(> .choose-box + .choose-box) > .choose-box:last-child {
  border-bottom: 0 !important;
}

:is(.kw-about-mission, .kw-about-vision, .kw-about-values) .choose-icon {
  width: 46px !important;
  max-width: 46px !important;
  min-width: 46px !important;
  height: 46px !important;
  flex: 0 0 46px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 50% !important;
  background: #000000 !important;
  border: 0 !important;
  color: #FFFFFF !important;
  line-height: 1 !important;
}
:is(.kw-about-mission, .kw-about-vision, .kw-about-values) .choose-icon i {
  display: block !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  font-size: 20px !important;
  text-align: center;
  color: #FFFFFF !important;
  transform: none !important;
  translate: none !important;
  rotate: none !important;
  scale: none !important;
}
:is(.kw-about-mission, .kw-about-vision, .kw-about-values) .choose-icon svg {
  width: 20px !important;
  height: 20px !important;
  fill: #FFFFFF !important;
}
:is(.kw-about-mission, .kw-about-vision, .kw-about-values) .choose-content .tj-el-title,
:is(.kw-about-mission, .kw-about-vision, .kw-about-values) .choose-content .tj-el-title a {
  margin: 0 !important;
  color: #000000 !important;
  font-size: 21px !important;
  font-weight: 600 !important;
  line-height: 1.3;
}
:is(.kw-about-mission, .kw-about-vision, .kw-about-values) .choose-content .tj-el-desc {
  margin: 0 !important;
  color: #666666 !important;
  font-size: 16px;
  line-height: 1.6;
  overflow-wrap: anywhere;
}
:is(.kw-about-mission, .kw-about-vision, .kw-about-values) .choose-box :is(.choose-icon, .choose-icon i, .choose-icon svg),
:is(.kw-about-mission, .kw-about-vision, .kw-about-values) .choose-box :is(.choose-icon, .choose-icon i, .choose-icon svg)::before,
:is(.kw-about-mission, .kw-about-vision, .kw-about-values) .choose-box :is(.choose-icon, .choose-icon i, .choose-icon svg)::after {
  transform: none !important;
  translate: none !important;
  rotate: none !important;
  scale: none !important;
  animation: none !important;
  transition-property: color, background-color, border-color !important;
}
@media (max-width: 767px) {
  .kw-about-intro {
    padding-block: 40px 48px !important;
  }
  .kw-about-intro :is(h2, .sec-title, .elementor-heading-title),
  :is(.kw-about-mission-content, .kw-about-vision-content, .kw-about-values-content) :is(.sec-title, h2.elementor-heading-title) {
    font-size: 32px !important;
  }

  :is(.kw-about-mission, .kw-about-vision, .kw-about-values) .choose-box {
    padding-block: 18px !important;
  }

  :is(.kw-about-mission, .kw-about-vision, .kw-about-values) .choose-icon svg {
    width: 20px !important;
    height: 20px !important;
  }
}

.kw-about-intro .elementor-widget:has(.countup-item),
.kw-about-intro .elementor-widget:has(.countup-item) > .elementor-widget-container {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
  padding-inline: 0 !important;
  box-sizing: border-box;
  list-style: none !important;
  background-image: none !important;
}
.kw-about-intro .countup-item :is(.count-inner, .counter-desc, .count-text) {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
  padding: 0 !important;
  box-sizing: border-box;
  list-style: none !important;
  background-image: none !important;
}
.kw-about-intro .countup-item .counter-desc {
  border: 0 !important;
}
.kw-about-intro :is(.countup-item, .counter-desc, .count-text, .count-inner)::before,
.kw-about-intro :is(.countup-item, .counter-desc, .count-text, .count-inner)::after,
.kw-about-intro .elementor-widget:has(.countup-item)::before,
.kw-about-intro .elementor-widget:has(.countup-item)::after,
.kw-about-intro .elementor-widget:has(.countup-item) > .elementor-widget-container::before,
.kw-about-intro .elementor-widget:has(.countup-item) > .elementor-widget-container::after {
  content: none !important;
  display: none !important;
}
.kw-about-intro .countup-item .count-separator {
  display: none !important;
}

/* About visual cleanup: preserve native Elementor sizing, flow and order. */
:is(.kw-about-mission, .kw-about-vision, .kw-about-values),
:is(.kw-about-mission, .kw-about-vision, .kw-about-values) > .e-con,
:is(.kw-about-mission, .kw-about-vision, .kw-about-values) > .e-con-inner,
:is(.kw-about-mission, .kw-about-vision, .kw-about-values) > .e-con-boxed > .e-con-inner,
:is(.kw-about-mission-media, .kw-about-vision-media, .kw-about-values-media, .kw-about-mission-content, .kw-about-vision-content, .kw-about-values-content),
:is(.kw-about-mission-media, .kw-about-vision-media, .kw-about-values-media, .kw-about-mission-content, .kw-about-vision-content, .kw-about-values-content) > .e-con-inner {
  border-radius: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-inline: 0 !important;
}
:is(.kw-about-mission, .kw-about-vision, .kw-about-values) {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
:is(.kw-about-mission, .kw-about-vision, .kw-about-values) .choose-box,
:is(.kw-about-mission, .kw-about-vision, .kw-about-values) .choose-content,
:is(.kw-about-mission, .kw-about-vision, .kw-about-values) .elementor-widget-tj-icon-box,
:is(.kw-about-mission, .kw-about-vision, .kw-about-values) .elementor-widget-container:has(> .choose-box),
:is(.kw-about-mission, .kw-about-vision, .kw-about-values) .h8-choose-box-wrapper {
  background-image: none !important;
  box-shadow: none !important;
}
:is(.kw-about-mission, .kw-about-vision, .kw-about-values) .choose-content,
:is(.kw-about-mission, .kw-about-vision, .kw-about-values) .elementor-widget-tj-icon-box,
:is(.kw-about-mission, .kw-about-vision, .kw-about-values) .elementor-widget-container:has(> .choose-box),
:is(.kw-about-mission, .kw-about-vision, .kw-about-values) .h8-choose-box-wrapper {
  border: 0 !important;
}
:is(.kw-about-mission, .kw-about-vision, .kw-about-values) .choose-box::before,
:is(.kw-about-mission, .kw-about-vision, .kw-about-values) .choose-box::after,
:is(.kw-about-mission, .kw-about-vision, .kw-about-values) .choose-content::before,
:is(.kw-about-mission, .kw-about-vision, .kw-about-values) .choose-content::after,
:is(.kw-about-mission, .kw-about-vision, .kw-about-values) .elementor-widget-tj-icon-box::before,
:is(.kw-about-mission, .kw-about-vision, .kw-about-values) .elementor-widget-tj-icon-box::after,
:is(.kw-about-mission, .kw-about-vision, .kw-about-values) .elementor-widget-container:has(> .choose-box)::before,
:is(.kw-about-mission, .kw-about-vision, .kw-about-values) .elementor-widget-container:has(> .choose-box)::after,
:is(.kw-about-mission, .kw-about-vision, .kw-about-values) .h8-choose-box-wrapper::before,
:is(.kw-about-mission, .kw-about-vision, .kw-about-values) .h8-choose-box-wrapper::after {
  content: none !important;
  display: none !important;
}
.kw-about-intro .countup-item,
.kw-about-intro .countup-item :is(p, .counter-desc, .count-text) {
  text-align: center !important;
}

/* Vision: use DOM order only on its direct shared column wrapper below lg. */
@media (max-width: 1024px) {
  .kw-about-vision:has(> .kw-about-vision-content):has(> .kw-about-vision-media),
  .kw-about-vision :is(.e-con, .e-con-inner):has(> .kw-about-vision-content):has(> .kw-about-vision-media) {
    --flex-direction: column !important;
    flex-direction: column !important;
  }
}

/* About content inset: preserve Elementor columns and the vision mobile direction. */
@media (min-width: 1025px) {
  .kw-about-mission .kw-about-mission-content,
  .kw-about-vision .kw-about-vision-content,
  .kw-about-values .kw-about-values-content {
    padding-left: 48px !important;
    padding-right: 48px !important;
    padding-inline: 48px !important;
  }
}
@media (max-width: 1024px) {
  .kw-about-mission .kw-about-mission-content,
  .kw-about-vision .kw-about-vision-content,
  .kw-about-values .kw-about-values-content {
    padding: 32px 24px !important;
    padding-inline: 24px !important;
  }
}
@media (max-width: 767px) {
  .kw-about-mission .kw-about-mission-content,
  .kw-about-vision .kw-about-vision-content,
  .kw-about-values .kw-about-values-content {
    padding: 28px 20px !important;
    padding-inline: 20px !important;
  }
}
:is(.kw-about-mission, .kw-about-vision, .kw-about-values) .choose-icon i::before {
  line-height: 1 !important;
  position: static !important;
  margin: 0 !important;
}

/* About lists: override Elementor's list width, leaving column widths native. */
:is(.kw-about-mission-content, .kw-about-vision-content, .kw-about-values-content) :is(.e-con, .e-con-inner):has(> .elementor-widget-tj-icon-box),
:is(.kw-about-mission-content, .kw-about-vision-content, .kw-about-values-content) :is(.e-con, .e-con-inner):has(> .choose-box),
:is(.kw-about-mission-content, .kw-about-vision-content, .kw-about-values-content) .e-con:has(> .e-con-inner > .elementor-widget-tj-icon-box) {
  --width: 100% !important;
  width: 100% !important;
  max-width: 100% !important;
}
/* The band owns the tint; keep media background images intact. */
:is(.kw-about-mission, .kw-about-vision, .kw-about-values) > .e-con-inner,
:is(.kw-about-mission, .kw-about-vision, .kw-about-values) > .e-con:not(:is(.kw-about-mission-media, .kw-about-vision-media, .kw-about-values-media)),
:is(.kw-about-mission, .kw-about-vision, .kw-about-values) > .e-con:not(:is(.kw-about-mission-media, .kw-about-vision-media, .kw-about-values-media)) > .e-con-inner {
  background: transparent !important;
}
:is(.kw-about-mission-content, .kw-about-vision-content, .kw-about-values-content) .sec-heading {
  margin-bottom: 0 !important;
}
:is(.kw-about-mission-content, .kw-about-vision-content, .kw-about-values-content) .sec-heading .sec-title {
  margin-bottom: 0 !important;
}
:is(.kw-about-mission-content, .kw-about-vision-content, .kw-about-values-content) .sec-heading::after {
  content: "" !important;
  display: block !important;
  position: static !important;
  width: 32px;
  height: 3px;
  margin: 12px 0 20px;
  background: #C99942 !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: none;
}

/* Vision desktop: place the unused 5% on the left, preserving native 45/50 columns. */
@media (min-width: 1025px) {
  .kw-about-vision:has(> .kw-about-vision-content):has(> .kw-about-vision-media),
  .kw-about-vision :is(.e-con, .e-con-inner):has(> .kw-about-vision-content):has(> .kw-about-vision-media) {
    justify-content: flex-end !important;
  }
}

/* Services: scoped visual foundation; preserve native Elementor section columns. */
.kw-services-intro-wrapper {
  padding-block: 56px 64px !important;
}
.kw-services-intro-content {
  color: #333333;
  font-size: 16px;
  line-height: 1.65;
  text-align: center;
}
.kw-services-intro-content :is(.sec-title, h2.elementor-heading-title) {
  margin: 0 0 20px !important;
  color: #000000 !important;
  font-size: 42px !important;
  line-height: 1.1 !important;
  text-align: center !important;
}
.kw-services-intro-content :is(.editor_text, .tj-el-desc, .elementor-widget-text-editor) {
  max-width: 1000px;
  margin-inline: auto;
  color: #333333 !important;
  font-size: 16px;
  line-height: 1.65;
}
.kw-services-intro-content p {
  color: #333333 !important;
  line-height: 1.65;
}
.kw-services-cards .choose-box {
  height: 100%;
  box-sizing: border-box;
  padding: 28px 24px !important;
  background: #FFFFFF !important;
  border: 1px solid #DEDEDE !important;
  border-radius: 16px !important;
  box-shadow: none !important;
  text-align: center;
}
.kw-services-cards .choose-content {
  display: flex !important;
  flex-direction: column !important;
  align-items: center;
  height: 100%;
  text-align: center;
}
.kw-services-cards .choose-box .choose-icon {
  display: inline-flex !important;
  justify-content: center;
  align-items: center;
  flex: 0 0 64px;
  width: 64px !important;
  max-width: 64px !important;
  height: 64px !important;
  padding: 0 !important;
  margin: 0 0 20px !important;
  background: #F6F6F4 !important;
  border: 0 !important;
  border-radius: 50% !important;
  color: #C99942 !important;
  font-size: 30px !important;
  line-height: 1;
}
.kw-services-cards .choose-box .choose-icon i {
  width: auto !important;
  margin: 0 !important;
  color: #C99942 !important;
  font-size: inherit;
  line-height: 1;
}
.kw-services-cards .choose-box .choose-icon svg {
  width: 30px !important;
  height: 30px;
  fill: #C99942 !important;
}
.kw-services-cards .choose-box :is(.choose-icon, .choose-icon i, .choose-icon svg),
.kw-services-cards .choose-box :is(.choose-icon, .choose-icon i, .choose-icon svg)::before,
.kw-services-cards .choose-box :is(.choose-icon, .choose-icon i, .choose-icon svg)::after {
  transform: none !important;
  translate: none !important;
  rotate: none !important;
  scale: none !important;
  animation: none !important;
  transition-property: color, background-color, border-color !important;
}
.kw-services-cards .choose-box .title,
.kw-services-cards .choose-box .title a {
  margin-bottom: 14px;
  color: #000000 !important;
  font-size: 21px !important;
  font-weight: 600 !important;
}
.kw-services-cards .choose-box .desc {
  margin-bottom: 0;
  color: #666666 !important;
  font-size: 15px !important;
  font-weight: 400;
  line-height: 1.6;
}
.kw-services-cards .choose-box .text-btn {
  margin-top: auto;
  padding-top: 24px;
  color: #000000 !important;
  font-weight: 600;
}
.kw-services-cards .choose-box .text-btn .btn-text {
  color: #000000 !important;
}
.kw-services-cards .choose-box .text-btn .btn-icon {
  background: #000000 !important;
  color: #FFFFFF !important;
}
.kw-services-cards .choose-box .text-btn .btn-icon i {
  color: #FFFFFF !important;
}
.kw-services-cards .choose-box .text-btn .btn-icon svg {
  fill: #FFFFFF !important;
}
.kw-services-cards .choose-box .text-btn:is(:hover, :focus) .btn-text {
  color: #C99942 !important;
}
.kw-services-cards .choose-box .text-btn:is(:hover, :focus) .btn-icon {
  background: #C99942 !important;
}
.kw-service-section {
  margin: 0 !important;
  padding: 0 !important;
  background: #F6F6F4 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.kw-service-section > .e-con-inner,
.kw-service-section > .e-con:not(.kw-service-media),
.kw-service-section > .e-con:not(.kw-service-media) > .e-con-inner {
  background: transparent !important;
}
.kw-service-media {
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  align-self: stretch;
}
.kw-service-section .kw-service-content {
  padding: 48px !important;
  box-sizing: border-box;
  background: transparent !important;
  color: #333333;
}
.kw-service-content .sec-title {
  margin: 0 !important;
  color: #000000 !important;
  font-size: 40px !important;
  line-height: 1.1 !important;
}
.kw-service-content .sec-heading {
  margin-bottom: 0 !important;
}
.kw-service-content .sec-heading::after {
  content: "" !important;
  display: block !important;
  position: static !important;
  width: 32px;
  height: 3px;
  margin: 12px 0 20px;
  background: #C99942 !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: none;
}
.kw-service-content :is(.elementor-widget-tj-editor, .elementor-widget-text-editor) {
  --width: 100% !important;
  width: 100% !important;
  max-width: none !important;
}
.kw-service-content :is(.editor_text, .elementor-widget-text-editor) p {
  margin: 0 0 12px;
  color: #333333 !important;
  font-size: 16px;
  line-height: 1.65;
}
.kw-service-content :is(.tj_el_button, .about-btn-area),
.kw-service-content .tj_el_button > .elementor-widget-container {
  display: flex !important;
  justify-content: center !important;
  width: 100%;
  text-align: center !important;
}
.kw-service-content .tj-primary-btn {
  width: auto !important;
  min-width: min(210px, 100%);
  max-width: 100%;
  flex: 0 1 auto !important;
  display: inline-flex !important;
  justify-content: center;
  padding-left: 28px !important;
  padding-right: 28px !important;
  box-sizing: border-box;
  background: #C99942 !important;
  border-radius: 14px !important;
  color: #000000 !important;
}
.kw-service-content .tj-primary-btn .btn-text {
  color: #000000 !important;
}
.kw-service-content .tj-primary-btn .btn-icon {
  background: #000000 !important;
  color: #FFFFFF !important;
}
.kw-service-content .tj-primary-btn .btn-icon i {
  color: #FFFFFF !important;
}
.kw-service-content .tj-primary-btn .btn-icon svg {
  fill: #FFFFFF !important;
}
.kw-service-content .tj-primary-btn:is(:hover, :focus) {
  background: #000000 !important;
  color: #FFFFFF !important;
}
.kw-service-content .tj-primary-btn:is(:hover, :focus) .btn-text {
  color: #FFFFFF !important;
}
.kw-service-content .tj-primary-btn:is(:hover, :focus) .btn-icon {
  background: #C99942 !important;
}
@media (max-width: 1024px) {
  .kw-services-intro-wrapper {
    padding-block: 44px 52px !important;
  }
  .kw-service-section .kw-service-content {
    padding: 32px 24px !important;
  }
}
@media (max-width: 767px) {
  .kw-services-intro-wrapper {
    padding-block: 36px 44px !important;
  }
  .kw-services-intro-content :is(.sec-title, h2.elementor-heading-title),
  .kw-service-content .sec-title {
    font-size: 32px !important;
  }
  .kw-service-section .kw-service-content {
    padding: 28px 20px !important;
  }
}

/* Services layouts: target the supplied card grids, preserving 45/50 columns. */
.kw-services-cards > .e-grid.rightSwipeWrap {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 24px !important;
  align-items: stretch;
}
.kw-services-cards > .e-grid.rightSwipeWrap > .right-swipe,
.kw-services-cards > .e-grid.rightSwipeWrap > .right-swipe > .elementor-widget-container {
  height: 100%;
  min-width: 0;
}
.kw-service-section > .e-con:has(> .kw-service-content):has(> .kw-service-media) {
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
  align-items: stretch;
}
.kw-service-content > .e-con:has(> .e-grid),
.kw-service-content > .e-con > .e-grid {
  --width: 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0;
  padding-inline: 0 !important;
  background: transparent !important;
}
.kw-service-content > .e-con > .e-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
  align-items: stretch;
}
.kw-service-content > .e-con > .e-grid > .e-con {
  width: 100% !important;
  min-width: 0;
  height: 100%;
  padding: 22px !important;
  box-sizing: border-box;
  background: #FFFFFF !important;
  border: 1px solid #DEDEDE !important;
  border-radius: 14px !important;
  box-shadow: none !important;
}
.kw-service-content > .e-con > .e-grid > .e-con :is(.tj_heading .title, .elementor-heading-title) {
  margin: 0 0 12px;
  color: #000000 !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  line-height: 1.25;
}
.kw-service-content > .e-con > .e-grid > .e-con :is(.editor_text, .editor_text p) {
  margin: 0 0 10px;
  color: #333333 !important;
  font-size: 15px !important;
  line-height: 1.55;
}
.kw-service-content > .e-con > .e-grid > .e-con .elementor-icon-list-item {
  padding-block: 3px;
  color: #333333 !important;
  font-size: 14px;
  line-height: 1.5;
}
.kw-service-content > .e-con > .e-grid > .e-con .elementor-icon-list-text {
  color: #333333 !important;
  font-size: 14px !important;
  line-height: 1.5;
}
.kw-service-content > .e-con > .e-grid > .e-con .elementor-icon-list-icon,
.kw-service-content > .e-con > .e-grid > .e-con .elementor-icon-list-icon i {
  color: #C99942 !important;
}
.kw-service-content > .e-con > .e-grid > .e-con .elementor-icon-list-icon svg {
  fill: #C99942 !important;
}
.kw-service-content > .e-con > .e-grid > .e-con::before,
.kw-service-content > .e-con > .e-grid > .e-con::after {
  content: none !important;
  display: none !important;
}
@media (min-width: 1025px) {
  .kw-service-section--reverse > .e-con:has(> .kw-service-content):has(> .kw-service-media) {
    justify-content: flex-end !important;
  }
}
@media (max-width: 1024px) {
  .kw-services-cards > .e-grid.rightSwipeWrap {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .kw-service-section > .e-con:has(> .kw-service-content):has(> .kw-service-media) {
    --flex-direction: column !important;
    flex-direction: column !important;
  }
  .kw-service-section .kw-service-content,
  .kw-service-section .kw-service-media {
    --width: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0;
  }
  .kw-service-section .kw-service-content {
    order: 0 !important;
  }
  .kw-service-section .kw-service-media {
    order: 1 !important;
    height: 360px !important;
    min-height: 360px !important;
  }
}
@media (max-width: 767px) {
  .kw-services-cards > .e-grid.rightSwipeWrap,
  .kw-service-content > .e-con > .e-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .kw-service-section .kw-service-media {
    height: 280px !important;
    min-height: 280px !important;
  }
}

/* Services: external spacing only around the card group and CTA widget. */
.kw-service-content > .e-con-full:has(> .e-grid) > .e-grid {
  margin-bottom: 28px !important;
}
.kw-service-content > :is(.tj_el_button, .about-btn-area) {
  margin-top: 24px !important;
}
.kw-service-content .tj-primary-btn .btn-text {
  min-width: 0;
  white-space: normal;
}
@media (max-width: 1024px) {
  .kw-service-content > .e-con-full:has(> .e-grid) > .e-grid {
    margin-bottom: 24px !important;
  }
  .kw-service-content > :is(.tj_el_button, .about-btn-area) {
    margin-top: 20px !important;
  }
}
@media (max-width: 767px) {
  .kw-service-content > .e-con-full:has(> .e-grid) > .e-grid {
    margin-bottom: 22px !important;
  }
  .kw-service-content > :is(.tj_el_button, .about-btn-area) {
    margin-top: 18px !important;
  }
}
.kw-service-content > .e-con-full:has(> .e-grid) + .elementor-widget-text-editor {
  margin-top: 0 !important;
}
@media (min-width: 1025px) {
  .kw-service-content {
    justify-content: center !important;
    --justify-content: center;
  }
}
@media (max-width: 1024px) {
  .kw-service-content {
    justify-content: flex-start !important;
    --justify-content: flex-start;
  }
}

/* Home: sections below the hero only. */
:is(.kw-home-services, .kw-home-reach, .kw-home-testimonials, .kw-home-faq) {
  --tj-color-theme-primary: #C99942;
  --tj-color-heading-primary: #000000;
  --tj-color-text-body: #333333;
  --tj-color-border-1: #DEDEDE;
  box-sizing: border-box;
  min-width: 0;
}
:is(.kw-home-services, .kw-home-testimonials, .kw-home-faq) {
  background: #F6F6F4 !important;
}
:is(.kw-home-services, .kw-home-faq) {
  padding-block: 80px !important;
}
:is(.kw-home-services, .kw-home-testimonials, .kw-home-faq) :is(.sec-title, .elementor-heading-title),
:is(.kw-home-services, .kw-home-testimonials, .kw-home-faq) :is(.sec-title, .elementor-heading-title) span {
  color: #000000 !important;
}
:is(.kw-home-services, .kw-home-testimonials, .kw-home-faq) .sub-title {
  color: #666666 !important;
  background: transparent !important;
  border-color: #DEDEDE !important;
}

/* Services: equal-height cards; entry animations remain on the widgets. */
.kw-home-services .kw-home-services-grid .e-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  align-items: stretch;
  min-width: 0;
}
.kw-home-services .kw-home-services-grid .e-grid > .elementor-widget-tj-icon-box,
.kw-home-services .kw-home-services-grid .e-grid > .elementor-widget-tj-icon-box > .elementor-widget-container {
  height: 100%;
  min-width: 0;
}
.kw-home-services .choose-box {
  height: 100%;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  padding: 28px !important;
  background: #FFFFFF !important;
  border: 1px solid #DEDEDE !important;
  border-radius: 16px !important;
  box-shadow: none !important;
}
.kw-home-services .choose-content {
  display: flex !important;
  flex-direction: column !important;
  flex: 1;
  height: 100%;
  min-width: 0;
}
.kw-home-services .choose-box .choose-icon {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  flex: 0 0 64px;
  width: 64px !important;
  max-width: 64px !important;
  height: 64px !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: #F6F6F4 !important;
  color: #C99942 !important;
  font-size: 30px !important;
  line-height: 1;
}
.kw-home-services .choose-box .choose-icon i {
  width: auto !important;
  margin: 0 !important;
  color: #C99942 !important;
  font-size: inherit;
  line-height: 1;
}
.kw-home-services .choose-box .choose-icon svg {
  width: 30px !important;
  height: 30px;
  fill: #C99942 !important;
}
.kw-home-services .choose-box :is(.choose-icon, .choose-icon i, .choose-icon svg),
.kw-home-services .choose-box :is(.choose-icon, .choose-icon i, .choose-icon svg)::before,
.kw-home-services .choose-box :is(.choose-icon, .choose-icon i, .choose-icon svg)::after {
  transform: none !important;
  translate: none !important;
  rotate: none !important;
  scale: none !important;
  animation: none !important;
  transition-property: color, background-color, border-color !important;
}
.kw-home-services .choose-icon::before,
.kw-home-services .choose-icon::after {
  content: none !important;
  display: none !important;
}
.kw-home-services .choose-box .title,
.kw-home-services .choose-box .title a {
  color: #000000 !important;
  font-size: 21px !important;
  font-weight: 600 !important;
  margin-bottom: 14px;
}
.kw-home-services .choose-box .desc {
  color: #666666 !important;
  font-size: 16px !important;
  font-weight: 400;
  line-height: 1.6;
  margin-bottom: 0;
}
.kw-home-services .choose-box .text-btn {
  margin-top: auto;
  padding-top: 24px;
  color: #000000 !important;
  font-weight: 600;
}
.kw-home-services .choose-box .text-btn .btn-text {
  color: #000000 !important;
}
.kw-home-services .choose-box .text-btn .btn-icon {
  background: #000000 !important;
  color: #FFFFFF !important;
}
.kw-home-services .choose-box .text-btn .btn-icon i {
  color: #FFFFFF !important;
}
.kw-home-services .choose-box .text-btn .btn-icon svg {
  fill: #FFFFFF !important;
}
.kw-home-services .choose-box .text-btn:is(:hover, :focus) .btn-text {
  color: #B48732 !important;
}
.kw-home-services .choose-box .text-btn:is(:hover, :focus) .btn-icon {
  background: #C99942 !important;
}

/* Reach and testimonials: full-width bands, with native boxed content inside. */
:is(.kw-home-reach, .kw-home-testimonials) {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.kw-home-reach {
  background: #0F0F0F !important;
}
.kw-home-testimonials .kw-home-testimonials-inner {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding-block: 80px !important;
  padding-inline: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
:is(.kw-home-reach, .kw-home-testimonials) > :is(.e-con, .e-con-inner),
.kw-home-reach .kw-home-reach-inner > :is(.e-con, .e-con-inner),
.kw-home-testimonials .kw-home-testimonials-inner > :is(.e-con, .e-con-inner) {
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.kw-home-reach :is(.sec-title, .elementor-heading-title),
.kw-home-reach :is(.sec-title, .elementor-heading-title) span {
  color: #FFFFFF !important;
}
.kw-home-reach :is(.tj-el-desc, .editor_text, .elementor-widget-text-editor) {
  color: #D5D5D5 !important;
  text-align: center;
  line-height: 1.65;
}
.kw-home-reach :is(.tj-el-desc, .editor_text, .elementor-widget-text-editor) p {
  color: #D5D5D5 !important;
}
.kw-home-reach .kw-home-reach-inner :is(.bg-shape-1, .bg-shape-2, .bg-shape-3),
.kw-home-testimonials :is(.bg-shape-1, .bg-shape-2, .bg-shape-3),
.kw-home-reach .kw-home-reach-inner .elementor-widget-image:has(img[src*="pattern"]),
.kw-home-testimonials .elementor-widget-image:has(img[src*="pattern"]) {
  display: none !important;
}

/* Testimonials: stretch the slides without altering Swiper widths or transforms. */
.kw-home-testimonials .kw-home-testimonials-slider .swiper-wrapper {
  align-items: stretch !important;
  height: auto !important;
}
.kw-home-testimonials .kw-home-testimonials-slider .swiper-slide {
  display: flex !important;
  height: auto !important;
}
.kw-home-testimonials .testimonial-item {
  display: flex !important;
  flex-direction: column !important;
  flex: 1;
  width: 100%;
  height: 100%;
  min-width: 0;
  box-sizing: border-box;
  padding: 28px !important;
  background: #FFFFFF !important;
  border: 1px solid #DEDEDE !important;
  border-radius: 14px !important;
  box-shadow: none !important;
}
.kw-home-testimonials .testimonial-item .desc,
.kw-home-testimonials .testimonial-item .desc p {
  color: #333333 !important;
  font-size: 16px !important;
  line-height: 1.6;
}
.kw-home-testimonials .testimonial-author .title {
  color: #000000 !important;
  font-weight: 600 !important;
}
.kw-home-testimonials .testimonial-author .designation,
.kw-home-testimonials .rating-text {
  color: #666666 !important;
}
.kw-home-testimonials .testimonial-author {
  border-color: #DEDEDE !important;
}
.kw-home-testimonials .star-ratings {
  -webkit-text-stroke-color: #C99942 !important;
}
.kw-home-testimonials .fill-ratings,
.kw-home-testimonials .quote-icon,
.kw-home-testimonials .quote-icon i {
  color: #C99942 !important;
}
.kw-home-testimonials .quote-icon svg {
  fill: #C99942 !important;
}
.kw-home-testimonials .swiper-pagination-bullet {
  background: #B3B3B3 !important;
  opacity: 1;
}
.kw-home-testimonials .swiper-pagination-bullet-active {
  background: #C99942 !important;
}
.kw-home-testimonials :is(.slider-prev, .slider-next) {
  background: #FFFFFF !important;
  border-color: #DEDEDE !important;
  color: #000000 !important;
}
.kw-home-testimonials :is(.slider-prev, .slider-next):is(:hover, :focus) {
  background: #C99942 !important;
  border-color: #C99942 !important;
}
.kw-home-testimonials :is(.slider-prev, .slider-next) i {
  color: #000000 !important;
}

/* FAQ: visual states only; collapse structure and transitions are unchanged. */
.kw-home-faq .accordion-item {
  background: #FFFFFF !important;
  border: 1px solid #DEDEDE !important;
  border-radius: 12px !important;
  margin-bottom: 16px !important;
  box-shadow: none !important;
}
.kw-home-faq .accordion-item:last-child {
  margin-bottom: 0 !important;
}
.kw-home-faq .accordion-item:is(:hover, :focus-within, .active) {
  border-color: #C99942 !important;
}
.kw-home-faq .accordion-item .faq-title {
  color: #000000 !important;
  background: transparent !important;
  font-weight: 600 !important;
  box-shadow: none !important;
}
.kw-home-faq .accordion-item.active .faq-title {
  border-bottom: 1px solid #DEDEDE !important;
}
.kw-home-faq .accordion-item .faq-title::after {
  color: #C99942 !important;
  border-color: #C99942 !important;
  background: transparent !important;
}
.kw-home-faq .accordion-item .faq-title:focus-visible {
  outline: 2px solid #C99942 !important;
  outline-offset: 2px;
  box-shadow: 0 0 0 3px rgba(201, 153, 66, .14) !important;
}
.kw-home-faq .faq-text,
.kw-home-faq .accordion-body,
.kw-home-faq .accordion-body p {
  color: #333333 !important;
  line-height: 1.65;
}

@media (max-width: 1024px) {
  :is(.kw-home-services, .kw-home-faq) {
    padding-block: 60px !important;
  }
  .kw-home-testimonials .kw-home-testimonials-inner {
    padding-block: 60px !important;
  }
  .kw-home-services .kw-home-services-grid .e-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 767px) {
  :is(.kw-home-services, .kw-home-faq) {
    padding-block: 48px !important;
  }
  .kw-home-testimonials .kw-home-testimonials-inner {
    padding-block: 48px !important;
  }
  .kw-home-services .kw-home-services-grid .e-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .kw-home-services .choose-box,
  .kw-home-testimonials .testimonial-item {
    padding: 24px !important;
  }
  .kw-home-testimonials .testimonial-wrapper {
    margin-inline-end: 0 !important;
  }
}

/* Reach: restrained gold accents behind the content. */
.kw-home-reach .kw-home-reach-inner {
  background: #0F0F0F !important;
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
.kw-home-reach .kw-home-reach-inner .elementor-absolute.elementor-widget-image,
.kw-home-reach .kw-home-reach-inner .elementor-widget-image:has(img[src*="shape"]) {
  display: none !important;
}
.kw-home-reach .kw-home-reach-inner::before,
.kw-home-reach .kw-home-reach-inner::after {
  content: "" !important;
  display: block;
  position: absolute;
  z-index: 0;
  pointer-events: none;
  border-radius: 50%;
  transform: none !important;
  animation: none !important;
  transition: none !important;
}
.kw-home-reach .kw-home-reach-inner::before {
  width: 520px;
  height: 520px;
  top: -200px;
  right: -120px;
  bottom: auto;
  left: auto;
  background: radial-gradient(circle, rgba(201, 153, 66, .24) 0%, rgba(201, 153, 66, .08) 45%, transparent 75%);
  border: 0;
  box-shadow: none;
  filter: blur(28px);
  opacity: 1;
}
.kw-home-reach .kw-home-reach-inner::after {
  width: 600px;
  height: 600px;
  top: auto;
  right: auto;
  bottom: -380px;
  left: -300px;
  background: transparent;
  border: 1px solid rgba(201, 153, 66, .17);
  box-shadow: none;
  filter: none;
  opacity: 1;
}
.kw-home-reach .kw-home-reach-inner > .e-con-inner {
  position: relative;
  z-index: 2;
}
@media (max-width: 1024px) {
  .kw-home-reach .kw-home-reach-inner::before {
    width: 400px;
    height: 400px;
    top: -160px;
    right: -100px;
    opacity: .8;
  }
}
@media (max-width: 767px) {
  .kw-home-reach .kw-home-reach-inner::before {
    width: 300px;
    height: 300px;
    top: -120px;
    right: -90px;
    opacity: .65;
  }
  .kw-home-reach .kw-home-reach-inner::after {
    display: none;
  }
}

/* Home services: center the third card at the two-column breakpoint. */
@media (min-width: 768px) and (max-width: 1024px) {
  .kw-home-services-grid .e-grid > .elementor-widget-tj-icon-box:nth-child(3) {
    grid-column: 1 / -1;
    justify-self: center;
    width: calc((100% - 24px) / 2) !important;
    max-width: none !important;
  }
}

/* Reach: content-driven height and one source of heading-to-copy spacing. */
.kw-home-reach,
.kw-home-reach .kw-home-reach-inner,
.kw-home-reach .kw-home-reach-inner > .e-con-inner {
  --min-height: 0px !important;
  min-height: 0 !important;
}
.kw-home-reach .kw-home-reach-inner {
  padding-block: 64px !important;
}
.kw-home-reach .kw-home-reach-inner > .e-con-inner {
  padding-block: 0 !important;
  row-gap: 0 !important;
  --row-gap: 0px !important;
}
.kw-home-reach .kw-home-reach-inner .e-con:has(> :is(.elementor-widget-tj-title, .elementor-widget-heading)):has(> :is(.elementor-widget-tj-editor, .elementor-widget-text-editor)) {
  row-gap: 0 !important;
  --row-gap: 0px !important;
}
.kw-home-reach .kw-home-reach-inner :is(.sec-heading, .elementor-widget-heading) {
  margin-bottom: 32px !important;
}
.kw-home-reach .kw-home-reach-inner :is(.elementor-widget-tj-title, .sec-title, .elementor-heading-title) {
  margin-bottom: 0 !important;
}
.kw-home-reach .kw-home-reach-inner :is(.tj-el-desc, .editor_text, .elementor-widget-text-editor, .elementor-widget-tj-editor) {
  width: 100% !important;
  max-width: 1080px !important;
  margin-inline: auto !important;
  margin-top: 0 !important;
  text-align: center;
  text-wrap: balance;
}
@media (max-width: 1024px) {
  .kw-home-reach .kw-home-reach-inner {
    padding-block: 56px !important;
  }
  .kw-home-reach .kw-home-reach-inner :is(.sec-heading, .elementor-widget-heading) {
    margin-bottom: 28px !important;
  }
  .kw-home-reach .kw-home-reach-inner :is(.tj-el-desc, .editor_text, .elementor-widget-text-editor, .elementor-widget-tj-editor) {
    max-width: 100% !important;
    text-wrap: wrap;
  }
}
@media (max-width: 767px) {
  .kw-home-reach .kw-home-reach-inner {
    padding-block: 48px !important;
  }
  .kw-home-reach .kw-home-reach-inner :is(.sec-heading, .elementor-widget-heading) {
    margin-bottom: 24px !important;
  }
}

/* Home hero: compact desktop spacing, native image mask and responsive layout. */
.kw-home-hero,
.kw-home-hero .h11-banner-section {
  background-color: #F6F6F4 !important;
}
.kw-home-hero .banner-content-2 .sub-title,
.kw-home-hero .banner-content-2 .sub-title i {
  color: #C99942 !important;
}
.kw-home-hero .banner-content-2 .banner-title,
.kw-home-hero .banner-content-2 .banner-title span {
  color: #000000 !important;
}
.kw-home-hero .banner-content-2 .desc,
.kw-home-hero .banner-content-2 .desc p {
  color: #333333 !important;
}
.kw-home-hero .banner-content-2 .desc {
  border-top: 0 !important;
}
.kw-home-hero .h11-banner-img img {
  display: block;
  width: 100% !important;
  object-fit: cover !important;
  object-position: center center;
}
/* Match the parent mask's viewBox, cover scaling and top-right anchor. */
@media (min-width: 1025px) {
  .kw-home-hero .h11-banner-img::before {
    content: "";
    display: block;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    transform: none;
    background-color: transparent;
    background-image: url("assets/images/shape/kw-hero-gold-stripe.svg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top right;
    pointer-events: none;
    z-index: 1;
  }
}
.kw-home-hero .btn-area .tj-primary-btn {
  background-color: #C99942 !important;
  color: #000000 !important;
}
.kw-home-hero .btn-area .tj-primary-btn .btn-text {
  color: #000000 !important;
}
.kw-home-hero .btn-area .tj-primary-btn .btn-icon {
  background-color: #000000 !important;
  color: #FFFFFF !important;
}
.kw-home-hero .btn-area .tj-primary-btn .btn-icon i {
  color: #FFFFFF !important;
}
.kw-home-hero .btn-area .tj-primary-btn .btn-icon svg {
  fill: #FFFFFF !important;
}
.kw-home-hero .btn-area .tj-primary-btn:is(:hover, :focus) {
  background-color: #000000 !important;
  color: #FFFFFF !important;
}
.kw-home-hero .btn-area .tj-primary-btn:is(:hover, :focus) .btn-text {
  color: #FFFFFF !important;
}
.kw-home-hero .btn-area .tj-primary-btn:is(:hover, :focus) .btn-icon {
  background-color: #C99942 !important;
}
@media (min-width: 1025px) {
  .kw-home-hero {
    --min-height: 0px !important;
    min-height: 0 !important;
  }
  .kw-home-hero .h11-banner-section {
    display: flex;
    align-items: center;
    box-sizing: border-box;
    min-height: 620px !important;
    padding-top: 64px !important;
    padding-bottom: 60px !important;
  }
  .kw-home-hero .banner-content-2 {
    padding-block: 0 !important;
    translate: 0 -24px;
  }
  .kw-home-hero .h11-banner-img {
    height: 100% !important;
    top: 0;
    bottom: 0;
  }
  .kw-home-hero .h11-banner-img img {
    height: 100% !important;
  }
}

/* Hero subtitle: spacing between the existing icon and text. */
.kw-home-hero .sub-title {
  gap: 8px;
}

/* Hero desktop: derive the image edge from the page shell and text width. */
@media (min-width: 1025px) {
  .kw-home-hero .h11-banner-section {
    --kw-hero-shell-width: 936px;
    --kw-hero-copy-width: 400px;
    --kw-hero-safe-gap: 45px;
    --kw-hero-image-left: calc((100% - var(--kw-hero-shell-width)) / 2 + var(--kw-hero-copy-width) + var(--kw-hero-safe-gap));
    overflow-x: clip;
  }
  .kw-home-hero .h11-banner-section > .container {
    max-width: calc(var(--kw-hero-shell-width) + 24px);
  }
  .kw-home-hero .banner-content-2 {
    max-width: var(--kw-hero-copy-width) !important;
  }
  .kw-home-hero .h11-banner-img {
    position: absolute;
    left: auto !important;
    inset-inline-start: auto !important;
    inset-inline-end: 0 !important;
    right: 0 !important;
    width: calc(100% - var(--kw-hero-image-left)) !important;
    min-width: 0;
    max-width: none;
  }
  .kw-home-hero .h11-banner-img img {
    object-position: center center;
  }
}
@media (min-width: 1200px) {
  .kw-home-hero .h11-banner-section {
    --kw-hero-shell-width: 1116px;
    --kw-hero-copy-width: 600px;
    --kw-hero-safe-gap: 28px;
  }
}
@media (min-width: 1400px) {
  .kw-home-hero .h11-banner-section {
    --kw-hero-shell-width: 1296px;
    --kw-hero-copy-width: 640px;
    --kw-hero-safe-gap: 45px;
  }
}
@media (max-width: 1024px) {
  .kw-home-hero,
  .kw-home-hero .h11-banner-section {
    --min-height: 0px !important;
    min-height: 0 !important;
    height: auto !important;
  }
  .kw-home-hero .h11-banner-section {
    padding-top: 44px !important;
    padding-bottom: 0 !important;
  }
  .kw-home-hero .banner-content-2 {
    padding-block: 0 !important;
  }
  .kw-home-hero .h11-banner-img {
    position: relative !important;
    margin-top: 32px;
    width: 100% !important;
    max-width: 100%;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    top: auto;
    bottom: auto;
    inset-inline-end: auto;
  }
  .kw-home-hero .h11-banner-img img {
    display: block;
    width: 100% !important;
    height: auto !important;
    min-height: 0;
    object-position: center center;
  }
}

/* Match the header CTA geometry without changing hero colors or hover states. */
.kw-home-hero .tj-primary-btn {
  border-radius: 14px !important;
  padding: 5px 5px 5px 25px;
}
.kw-home-hero .tj-primary-btn .btn-icon {
  width: 42px;
  height: 42px;
  border-radius: 50%;
}
@media (max-width: 767px) {
  .kw-home-reach .editor_text h5,
  .kw-home-reach .editor_text h5 span {
    font-size: 16px !important;
    line-height: 1.6;
  }
}
@media (max-width: 575px) {
  /* The native author-header is a block; gap alone would have no effect. */
  .kw-home-testimonials .author-header .star-ratings-wrap {
    margin-top: 8px;
  }
}

@media (max-width: 575px) {
  .kw-home-hero .h11-banner-img {
    margin-top: 28px;
  }
}

/* Hero stacked layout: release Bootstrap's content column before 1025px. */
@media (max-width: 1024px) {
  .kw-home-hero .h11-banner-section {
    display: block;
  }
  .kw-home-hero .h11-banner-section > .container > .row > :has(> .banner-content-2) {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }
  .kw-home-hero .banner-content-2 {
    width: 100% !important;
    max-width: none !important;
    min-width: 0;
    translate: none;
  }
  .kw-home-hero .banner-content-2 .desc {
    width: 100%;
    max-width: 100%;
  }
  .kw-home-hero .h11-banner-img {
    display: block;
    min-width: 0;
    left: auto;
    right: auto;
    inset-inline-start: auto;
  }
}

/* Preserve the SVG proportions and grow rightward from the safe content boundary. */
@media (min-width: 1025px) and (max-width: 1399px) {
  .kw-home-hero .h11-banner-img {
    left: var(--kw-hero-image-left) !important;
    inset-inline-start: var(--kw-hero-image-left) !important;
    right: auto !important;
    inset-inline-end: auto !important;
    width: auto !important;
    aspect-ratio: 928 / 893;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
  }
}

/* Mirror the existing mask-size override without changing the image wrapper. */
@media (min-width: 1025px) and (max-width: 1399px) {
  .kw-home-hero .h11-banner-img::before {
    background-size: 100% 100%;
  }
}


/* Animated section H2: preserve descenders with a slightly taller line box.
   Important overrides the child theme's local 1.1 heading rules. */
.sec-heading h2.sec-title.title-anim {
  line-height: 1.16 !important;
}
/* SplitText line, word and character wrappers share the heading's line-height. */
.sec-heading h2.sec-title.title-anim div {
  line-height: inherit;
}


/* Hero H1: enlarge only the SplitText line clipping area, preserving line spacing. */
.kw-home-hero .banner-title.title-anim > div {
  height: auto;
  padding-bottom: 0.08em;
  margin-bottom: -0.08em;
}


/* Hero: the responsive description padding alone controls the H1-to-copy gap. */
.kw-home-hero .banner-content-2 h1.banner-title {
  margin-bottom: 0;
}

@media (max-width: 479px) {
  .kw-footer-separator {
    display: none;
  }

  .kw-footer-credit {
    display: block;
    margin-top: 4px;
  }
}

/* Complianz: brand styling only; retain the plugin's layout and consent states. */
.cmplz-cookiebanner {
  background: #FFFFFF !important;
  color: #333333 !important;
  border: 1px solid #DEDEDE !important;
  border-radius: 16px !important;
  box-shadow: 0 6px 24px rgba(0, 0, 0, .08) !important;
}

.cmplz-cookiebanner .cmplz-title {
  color: #000000 !important;
  font-weight: 600 !important;
}

.cmplz-cookiebanner .cmplz-message {
  color: #666666 !important;
}

.cmplz-cookiebanner .cmplz-close {
  color: #000000 !important;
}

.cmplz-cookiebanner .cmplz-close:is(:hover, :focus-visible) {
  color: #C99942 !important;
}

.cmplz-cookiebanner .cmplz-category,
.cmplz-cookiebanner .cmplz-category-header {
  background-color: #F6F6F4 !important;
  color: #000000 !important;
  border-radius: 8px !important;
}

.cmplz-cookiebanner .cmplz-category-title {
  color: #000000 !important;
  font-weight: 600 !important;
}

.cmplz-cookiebanner .cmplz-always-active {
  color: #B48732 !important;
}

.cmplz-cookiebanner .cmplz-category-toggle,
.cmplz-cookiebanner .cmplz-icon {
  color: #000000 !important;
}

.cmplz-cookiebanner .cmplz-category-header:is(:hover, :focus-within) .cmplz-category-toggle,
.cmplz-cookiebanner .cmplz-category-header:is(:hover, :focus-within) .cmplz-icon {
  color: #C99942 !important;
}

.cmplz-cookiebanner .cmplz-close svg,
.cmplz-cookiebanner .cmplz-icon svg {
  fill: currentColor !important;
}

/* Use Complianz's slider variables; keep input/label geometry and movement. */
.cmplz-cookiebanner .cmplz-banner-checkbox {
  --cmplz_slider_inactive_color: #999999;
  --cmplz_slider_active_color: #C99942;
  --cmplz_slider_bullet_color: #FFFFFF;
}

.cmplz-cookiebanner .cmplz-btn {
  border-radius: 14px !important;
}

.cmplz-cookiebanner .cmplz-btn.cmplz-accept {
  background: #C99942 !important;
  color: #000000 !important;
  border: 1px solid #C99942 !important;
  font-weight: 600 !important;
}

.cmplz-cookiebanner .cmplz-btn.cmplz-accept:is(:hover, :focus-visible) {
  background: #000000 !important;
  color: #FFFFFF !important;
  border-color: #000000 !important;
}

.cmplz-cookiebanner .cmplz-btn.cmplz-deny,
.cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences,
.cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences {
  background: #FFFFFF !important;
  color: #000000 !important;
  border: 1px solid #DEDEDE !important;
}

.cmplz-cookiebanner .cmplz-btn.cmplz-deny:is(:hover, :focus-visible),
.cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences:is(:hover, :focus-visible),
.cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences:is(:hover, :focus-visible) {
  background: #F6F6F4 !important;
  color: #000000 !important;
  border-color: #C99942 !important;
}

.cmplz-cookiebanner .cmplz-link {
  color: #C99942 !important;
  text-decoration: underline;
}

.cmplz-cookiebanner .cmplz-link:is(:hover, :focus-visible) {
  color: #B48732 !important;
}

.cmplz-cookiebanner :focus-visible:not(.cmplz-consent-checkbox) {
  outline: 2px solid #C99942 !important;
  outline-offset: 3px;
}

/* The checkbox is transparent; show its keyboard focus on the visible track. */
.cmplz-cookiebanner .cmplz-banner-checkbox .cmplz-consent-checkbox:focus + .cmplz-label::before {
  box-shadow: 0 0 0 2px #C99942 !important;
}

.cmplz-cookiebanner .cmplz-banner-checkbox .cmplz-consent-checkbox:focus-visible + .cmplz-label::before,
.cmplz-cookiebanner .cmplz-banner-checkbox .cmplz-label:focus-visible::before {
  outline: 2px solid #C99942 !important;
  outline-offset: 3px;
}

/* Hide only the duplicate document link inside the cookie banner. */
.cmplz-cookiebanner .cmplz-documents .cookie-statement {
  display: none !important;
}

/* Compact consent launcher; preserve Complianz's position and visibility states. */
button.cmplz-btn.cmplz-manage-consent {
  box-sizing: border-box;
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  min-height: 48px !important;
  padding: 0 !important;
  align-items: center;
  justify-content: center;
  border: none !important;
  border-radius: 50% !important;
  background: #C99942 !important;
  color: #000000 !important;
  font-size: 0 !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, .12);
}

button.cmplz-btn.cmplz-manage-consent:not(.cmplz-hidden):not(.cmplz-dismissed) {
  display: flex !important;
}

/* Bexon's existing Font Awesome Pro 6.4.2 solid cookie-bite glyph.
   Empty alternative text keeps the decorative glyph out of the accessible name. */
button.cmplz-btn.cmplz-manage-consent::before {
  content: "\f564" / "";
  font-family: "Font Awesome 6 Pro";
  font-weight: 900;
  font-style: normal;
  font-size: 20px;
  line-height: 1;
}

button.cmplz-btn.cmplz-manage-consent:is(:hover, :focus-visible) {
  background: #000000 !important;
  color: #FFFFFF !important;
}

button.cmplz-btn.cmplz-manage-consent:focus-visible {
  outline: 2px solid #C99942 !important;
  outline-offset: 3px;
}
