@media (max-width: 991px) {
  .nav-menu-panel { display: none; }
  .nav-menu-panel.is-open { display: block; }

  header .navigation-mob .mobile-nav.nav-menu-panel {
    display: block !important;
    visibility: hidden !important;
  }

  header .navigation-mob .mobile-nav.nav-menu-panel.is-open,
  header .navigation-mob .mobile-nav.nav-menu-panel.is-open {
    visibility: visible !important;
  }
}

@media (max-width: 991px) {
  .dropdown-list,
  .rate-menu,
  .rate-dropdown-menu {
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    transform: translateY(0);
  }

  .dropdown:not(.is-open):not(:hover) > .dropdown-list,
  .rate-dropdown:not(.is-open):not(:hover) .rate-menu,
  .rate-dropdown-container:not(.is-open):not(:hover) .rate-dropdown-menu {
    max-height: 0;
    overflow: hidden;
  }
}

@media (max-width: 991px) {
  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }

  header .navigation-mob.site-nav {
    align-items: center !important;
    background-color: #991f23 !important;
    display: flex !important;
    flex-direction: row !important;
    justify-content: center !important;
    min-height: 112px !important;
    padding: 24px 28px !important;
    width: 100% !important;
  }

  header .navigation-mob .navigation-container-mob {
    align-items: center !important;
    display: flex !important;
    justify-content: space-between !important;
    margin: 0 auto !important;
    max-width: 820px !important;
    width: 100% !important;
  }

  header .navigation-mob .brand {
    align-items: center !important;
    display: flex !important;
  }

  header .navigation-mob .brand img {
    display: block !important;
    height: auto !important;
    max-width: 210px !important;
    width: min(210px, 48vw) !important;
  }

  header .navigation-mob .nav-right {
    align-items: center !important;
    display: flex !important;
    justify-content: flex-end !important;
    margin-left: 24px !important;
  }

  header .navigation-2 {
    display: block !important;
    position: relative;
  }

  header .navigation-2 .navigation-full,
  header .navigation-2 .navigation-container {
    width: 100% !important;
    max-width: 100vw !important;
  }

  header .navigation-2 .navigation-left {
    display: block !important;
  }

  header .navigation-2 .navigation-right {
    display: flex !important;
    justify-content: flex-end !important;
  }

  header .nav-menu-button {
    align-items: center !important;
    background-color: #991f23 !important;
    border: 1px solid rgba(255, 255, 255, .35) !important;
    border-radius: 999px !important;
    color: #fff !important;
    display: flex !important;
    height: 44px !important;
    justify-content: center !important;
    width: 44px !important;
  }

  header .navigation-mob .menu-mob-3.nav-menu-button {
    flex: 0 0 44px !important;
    margin-right: 0 !important;
  }

  header .nav-menu-button .hamburger-icon,
  header .nav-menu-button .hamburger-icon::before,
  header .nav-menu-button .hamburger-icon::after {
    background: #ffffff !important;
    content: "" !important;
    display: block !important;
    height: 2px !important;
    position: relative !important;
    width: 20px !important;
  }

  header .nav-menu-button .hamburger-icon::before {
    position: absolute !important;
    top: -6px !important;
  }

  header .nav-menu-button .hamburger-icon::after {
    position: absolute !important;
    top: 6px !important;
  }

  /* Mobile reference hamburger icon styling */
  header .nav-menu-button .hamburger-icon,
  header .nav-menu-button .hamburger-icon::before,
  header .nav-menu-button .hamburger-icon::after {
    background-color: #ffffff !important;
    background: #ffffff !important;
  }

  header .navigation-2 .nav-menu-3.nav-menu-panel {
    align-items: stretch !important;
    background: #991f23 !important;
    box-shadow: 0 18px 32px rgba(0, 0, 0, .18) !important;
    display: none !important;
    flex-direction: column !important;
    gap: 0 !important;
    left: 0 !important;
    max-height: calc(100vh - 76px) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    padding: 12px 18px 18px !important;
    position: absolute !important;
    right: 0 !important;
    top: 100% !important;
    width: 100vw !important;
    z-index: 10001 !important;
  }

  header .navbar .nav-menu.nav-menu-panel.is-open,
  header .navigation-2 .nav-menu-3.nav-menu-panel.is-open,
  header .navigation-4 .nav-menu-5.nav-menu-panel.is-open,
  header .navigation-mob .mobile-nav.nav-menu-panel.is-open,
  header .nav-menu-panel.is-open {
    display: flex !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: none !important;
    visibility: visible !important;
  }

  header .navbar .nav-menu.nav-menu-panel > *,
  header .navigation-2 .nav-menu-3.nav-menu-panel > *,
  header .navigation-4 .nav-menu-5.nav-menu-panel > *,
  header .navigation-mob .mobile-nav.nav-menu-panel > * {
    width: 100% !important;
  }

  header .navigation-mob .mobile-nav,
  header .navigation-2 .nav-menu-3.nav-menu-panel,
  header .navigation-4 .nav-menu-5.nav-menu-panel,
  header .navbar .nav-menu.nav-menu-panel {
    color: #fff !important;
  }

  header .navigation-mob .mobile-nav > .bko-wrap-111-2,
  header .navigation-2 .nav-menu-3.nav-menu-panel > .bko-wrap-111-2,
  header .navigation-4 .nav-menu-5.nav-menu-panel > .bko-wrap-111-2 {
    border-bottom: 1px solid rgba(255, 255, 255, .16) !important;
    margin: 0 !important;
    padding: 8px 0 !important;
  }

  header .navigation-mob .bko-dropdown-list,
  header .navigation-2 .bko-dropdown-list,
  header .navigation-4 .bko-dropdown-list {
    background: #fff !important;
    border-radius: 6px !important;
    margin-top: 10px !important;
    padding: 14px !important;
    width: 100% !important;
  }

  header .navigation-mob .bko-grid-1-3-1,
  header .navigation-2 .bko-grid-1-3-1,
  header .navigation-4 .bko-grid-1-3-1 {
    display: grid !important;
    gap: 14px !important;
    grid-template-columns: 1fr !important;
  }

  header .navigation-mob [class*="bko-text-12"],
  header .navigation-2 [class*="bko-text-12"],
  header .navigation-4 [class*="bko-text-12"],
  header .navigation-mob .category-menu-link,
  header .navigation-2 .category-menu-link,
  header .navigation-4 .category-menu-link {
    display: block !important;
    margin: 0 0 4px !important;
    padding: 4px 0 !important;
    position: static !important;
    transform: none !important;
    line-height: 1.4 !important;
    font-size: 14px !important;
  }

  .swiper-component,
  .slider-wrapper,
  .slide-bg,
  .product-item-8,
  .div-container-6,
  .div-1-2,
  .div-2,
  .div-3-2 {
    max-width: 100% !important;
  }

  .slider-wrapper,
  .swiper-component {
    overflow: hidden !important;
  }
}

@media (max-width: 479px) {
  .team5_list {
    grid-template-areas: none !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  .team5_item,
  .team5_image-wrapper,
  .team5_image {
    max-width: 100% !important;
  }

  .footer-wrapper,
  .footer-content,
  .footer-block,
  .div98777790 {
    grid-template-columns: 1fr !important;
    max-width: 100% !important;
    width: 100% !important;
  }
}

/* Mobile reference alignment: keep desktop untouched while matching the live site's phone/tablet rhythm. */
@media (max-width: 991px) {
  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }

  header .navigation-mob.site-nav {
    align-items: center !important;
    height: 111px !important;
    min-height: 111px !important;
    padding: 25px 10px 25px 28px !important;
  }

  header .navigation-mob .navigation-container-mob {
    align-items: center !important;
    max-width: none !important;
    min-height: 61px !important;
    width: 100% !important;
  }

  header .navigation-mob .brand {
    flex: 0 1 auto !important;
    max-width: calc(100vw - 124px) !important;
  }

  header .navigation-mob .brand img {
    height: auto !important;
    max-height: 61px !important;
    max-width: calc(100vw - 124px) !important;
    object-fit: contain !important;
    width: 170px !important;
  }

  header .navigation-mob .nav-right {
    flex: 0 0 auto !important;
    margin-left: auto !important;
  }

  header .navigation-mob .menu-mob-3.nav-menu-button {
    border-radius: 100px !important;
    flex: 0 0 58px !important;
    height: 58px !important;
    width: 58px !important;
  }

  header .nav-menu-button .hamburger-icon,
  header .nav-menu-button .hamburger-icon::before,
  header .nav-menu-button .hamburger-icon::after {
    width: 22px !important;
  }

  header .nav-menu-button .hamburger-icon::before {
    top: -7px !important;
  }

  header .nav-menu-button .hamburger-icon::after {
    top: 7px !important;
  }

  header .navigation-mob .mobile-nav.nav-menu-panel {
    top: 111px !important;
  }

  .banner-2 {
    border-radius: 15px !important;
    height: 500px !important;
    margin: 20px auto 0 !important;
    min-height: 500px !important;
    overflow: hidden !important;
    padding: 0 !important;
    width: calc(100vw - 20px) !important;
  }

  .banner-2 img,
  .banner-2 picture,
  .banner-2 .background-video,
  .banner-2 [class*="image"] {
    object-fit: cover !important;
  }

  .banner-2 .button-link,
  .banner-2 .primary-btn,
  .banner-2 .button {
    min-height: 47px !important;
    padding: 10px 24px !important;
  }

  .footer-2 {
    padding-top: 45px !important;
  }

  .footer-wrapper,
  .footer-content {
    gap: 26px !important;
  }
}

@media (min-width: 480px) and (max-width: 991px) {
  .team5_list {
    grid-column-gap: 0 !important;
    grid-row-gap: 0 !important;
    grid-template-areas: none !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    width: 100% !important;
  }

  .team5_item {
    max-width: 100% !important;
    width: 100% !important;
  }

}

@media (max-width: 768px) {
}

@media (max-width: 479px) {
  header .navigation-mob.site-nav {
    padding-left: 28px !important;
    padding-right: 10px !important;
  }

  header .navigation-mob .brand img {
    width: 170px !important;
  }

  .team5_list {
    grid-column-gap: 0 !important;
    grid-row-gap: 0 !important;
    grid-template-areas: none !important;
    grid-template-columns: repeat(3, 150px) !important;
    margin-left: 50% !important;
    max-width: 450px !important;
    transform: translateX(-50%) !important;
    width: 450px !important;
  }

  .team5_item {
    max-width: 150px !important;
    min-width: 150px !important;
    width: 150px !important;
  }

  .team5_image-wrapper {
    height: 188px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 132px !important;
    width: 132px !important;
  }

  .team5_image {
    height: 132px !important;
    max-width: 132px !important;
    object-fit: cover !important;
    width: 132px !important;
  }

  .heading-center {
    font-size: 50px !important;
    line-height: 64px !important;
  }
}

@media (max-width: 360px) {
  header .navigation-mob.site-nav {
    padding-left: 20px !important;
  }

  header .navigation-mob .brand img {
    width: 158px !important;
  }
}

/* Final phone category strip correction after legacy layout's nested container offsets. */
@media (max-width: 479px) {
  .team5_list {
    margin-left: calc((100vw - 450px) / 2 - 25px) !important;
    transform: none !important;
  }

  .team5_image-wrapper {
    height: auto !important;
  }
}

/* Keep the mobile drawer anchored to the viewport instead of the menu button container. */
@media (max-width: 991px) {
  header .navigation-mob .mobile-nav.nav-menu-panel,
  header .navigation-mob .mobile-nav {
    background: #991f23 !important;
    box-shadow: 0 18px 32px rgba(0, 0, 0, .18) !important;
    left: 0 !important;
    max-height: calc(100vh - 111px) !important;
    max-width: 100vw !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    padding: 12px 18px 18px !important;
    position: fixed !important;
    right: 0 !important;
    top: 111px !important;
    transform: none !important;
    width: 100vw !important;
    z-index: 10001 !important;
  }
}

/* Live-style mobile rate strip and default compact mobile nav restore. */
.kj-mobile-rate-strip {
  display: none;
}

@media (min-width: 992px) {
  .kj-mobile-rate-strip {
    display: none !important;
  }
}

@media (max-width: 991px) {
  header.site-header .page-wrapper-6,
  header.site-header .container-755,
  header.site-header .wrapper,
  header.site-header .logos-marquee {
    height: auto !important;
    min-height: 0 !important;
  }

  .kj-mobile-rate-strip {
    align-items: center !important;
    background: #90030a !important;
    color: #fff !important;
    display: flex !important;
    height: 60px !important;
    overflow: hidden !important;
    position: relative !important;
    width: 100% !important;
  }

  .kj-mobile-rate-strip__track {
    align-items: center !important;
    animation: slide 35s infinite linear !important;
    display: flex !important;
    flex: 0 0 auto !important;
    gap: 0 !important;
    min-width: max-content !important;
    white-space: nowrap !important;
  }

  .kj-mobile-rate-strip__track span {
    border-right: 2px solid rgba(255, 255, 255, .9) !important;
    color: #fff !important;
    display: block !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 28px !important;
    padding: 0 10px !important;
    white-space: nowrap !important;
  }

  header .navigation-mob.site-nav {
    position: relative !important;
  }

  header .navigation-mob .mobile-nav.nav-menu-panel,
  header .navigation-mob .mobile-nav {
    background: #fff !important;
    box-shadow: 0 18px 32px rgba(0, 0, 0, .14) !important;
    color: #231f20 !important;
    left: 0 !important;
    max-height: calc(100vh - 171px) !important;
    max-width: 100vw !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    padding: 15px 18px 18px !important;
    position: absolute !important;
    right: 0 !important;
    top: 100% !important;
    transform: none !important;
    width: 100vw !important;
    z-index: 10001 !important;
  }

  header .navigation-mob .mobile-nav > .rate-dropdown,
  header .navigation-mob .mobile-nav .rate-dropdown {
    display: none !important;
  }

  header .navigation-mob .mobile-nav > .bko-wrap-111-2,
  header .navigation-mob .mobile-nav > .bko-wrap-111-2 *,
  header .navigation-mob .mobile-nav > .bko-wrap-111-2 > a,
  header .navigation-mob .mobile-nav > a,
  header .navigation-mob .mobile-nav > a * {
    color: #231f20 !important;
  }

  header .navigation-mob .mobile-nav > .bko-wrap-111-2 {
    border-bottom: 1px solid rgba(153, 31, 35, .14) !important;
    padding: 10px 0 !important;
  }

  header .navigation-mob .mobile-nav .bko-dropdown-list,
  header .navigation-mob .mobile-nav .dropdown-list {
    background: #fff !important;
    box-shadow: none !important;
    margin-top: 8px !important;
  }
}

/* Match the live mobile navbar: red runner, white header, black menu button, simple nav list. */
@media (max-width: 991px) {
  header.site-header,
  header.site-header .page-wrapper-6,
  header.site-header .container-755,
  header.site-header .wrapper,
  header.site-header .logos-marquee,
  header.site-header .navigation-wrap-4 {
    background: transparent !important;
    background-color: transparent !important;
  }

  .kj-mobile-rate-strip {
    background: #b00008 !important;
    height: 75px !important;
  }

  .kj-mobile-rate-strip__track span {
    border-right: 2px solid #fff !important;
    font-family: Mulish, Arial, sans-serif !important;
    font-size: 17px !important;
    font-style: italic !important;
    font-weight: 600 !important;
    line-height: 30px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  header .navigation-mob.site-nav {
    background: #fff !important;
    background-color: #fff !important;
    border-bottom: 0 !important;
    height: 180px !important;
    min-height: 180px !important;
    padding: 34px 16px 34px 16px !important;
  }

  header .navigation-mob .navigation-container-mob {
    align-items: flex-start !important;
    min-height: 112px !important;
  }

  header .navigation-mob .brand,
  header .navigation-mob .brand img {
    max-width: calc(100vw - 130px) !important;
  }

  header .navigation-mob .brand img {
    width: 210px !important;
    max-height: none !important;
  }

  header .navigation-mob .menu-mob-3.nav-menu-button {
    background: #000 !important;
    border: 0 !important;
    border-radius: 50% !important;
    box-shadow: none !important;
    color: #fff !important;
    flex: 0 0 72px !important;
    height: 72px !important;
    margin-top: 0 !important;
    width: 72px !important;
  }

  header .nav-menu-button .hamburger-icon,
  header .nav-menu-button .hamburger-icon::before,
  header .nav-menu-button .hamburger-icon::after {
    background: #fff !important;
    height: 3px !important;
    width: 22px !important;
  }

  header .nav-menu-button .hamburger-icon::before {
    top: -8px !important;
  }

  header .nav-menu-button .hamburger-icon::after {
    top: 8px !important;
  }

  header .navigation-mob .mobile-nav.nav-menu-panel,
  header .navigation-mob .mobile-nav {
    background: #fff !important;
    box-shadow: none !important;
    color: #000 !important;
    display: none !important;
    flex-direction: column !important;
    gap: 0 !important;
    left: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    padding: 0 38px 28px !important;
    position: absolute !important;
    right: 0 !important;
    top: 100% !important;
    width: 100vw !important;
    z-index: 10001 !important;
  }

  header .navigation-mob .mobile-nav.nav-menu-panel.is-open,
  header .navigation-mob .mobile-nav.is-open {
    display: flex !important;
  }

  header .navigation-mob .mobile-nav .rate-dropdown,
  header .navigation-mob .mobile-nav .bko-dropdown-list,
  header .navigation-mob .mobile-nav .dropdown-list,
  header .navigation-mob .mobile-nav .slider-2,
  header .navigation-mob .mobile-nav .slider-21,
  header .navigation-mob .mobile-nav [class*="slider-"] {
    display: none !important;
  }

  header .navigation-mob .mobile-nav > .bko-wrap-111-2 {
    border: 0 !important;
    display: block !important;
    margin: 0 !important;
    padding: 9px 0 !important;
    width: 100% !important;
  }

  header .navigation-mob .mobile-nav > .bko-wrap-111-2,
  header .navigation-mob .mobile-nav > .bko-wrap-111-2 *,
  header .navigation-mob .mobile-nav > .bko-wrap-111-2 a,
  header .navigation-mob .mobile-nav .bko-dropdown-toggle-3,
  header .navigation-mob .mobile-nav .bko-dropdown-toggle-3 * {
    color: #000 !important;
    font-family: Mulish, Arial, sans-serif !important;
    font-size: 25px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
  }

  header .navigation-mob .mobile-nav .bko-dropdown-0,
  header .navigation-mob .mobile-nav .bko-dropdown-toggle-3,
  header .navigation-mob .mobile-nav .div2,
  header .navigation-mob .mobile-nav a {
    display: block !important;
    padding: 0 !important;
  }

  header .navigation-mob .mobile-nav .bko-dropdown-toggle-3 {
    height: auto !important;
  }
}

@media (max-width: 360px) {
  header .navigation-mob.site-nav {
    height: 165px !important;
    min-height: 165px !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  header .navigation-mob .brand img {
    width: 185px !important;
  }

  header .navigation-mob .menu-mob-3.nav-menu-button {
    flex-basis: 64px !important;
    height: 64px !important;
    width: 64px !important;
  }

  header .navigation-mob .mobile-nav.nav-menu-panel,
  header .navigation-mob .mobile-nav {
    padding-left: 34px !important;
  }
}

/* Simple live-site mobile menu content. */
@media (max-width: 991px) {
  header .navigation-mob .mobile-nav .kj-mobile-menu-link {
    color: #000 !important;
    display: block !important;
    font-family: Mulish, Arial, sans-serif !important;
    font-size: 25px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    padding: 9px 0 !important;
    text-decoration: none !important;
  }

  header .navigation-mob .mobile-nav .kj-mobile-menu-image {
    border-radius: 0 0 14px 14px !important;
    display: block !important;
    height: 132px !important;
    margin-top: 26px !important;
    object-fit: cover !important;
    object-position: center !important;
    width: 100% !important;
  }
}

/* Final measured mobile/tablet header alignment against live reference. */
@media (max-width: 991px) {
  .kj-mobile-rate-strip {
    background: #90030a !important;
    height: 60px !important;
  }

  .kj-mobile-rate-strip__track span {
    font-size: 14px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 28px !important;
    padding-left: 5px !important;
    padding-right: 5px !important;
  }

  header .navigation-mob.site-nav {
    background: #fff !important;
    background-color: #fff !important;
    height: 111px !important;
    min-height: 111px !important;
    padding: 25px 3% !important;
  }

  header .navigation-mob .navigation-container-mob {
    align-items: center !important;
    min-height: 60px !important;
    width: 100% !important;
  }

  header .navigation-mob .brand,
  header .navigation-mob .brand img {
    max-width: 170px !important;
  }

  header .navigation-mob .brand img {
    height: 60px !important;
    max-height: 60px !important;
    object-fit: contain !important;
    width: 170px !important;
  }

  header .navigation-mob .menu-mob-3.nav-menu-button {
    background: #991f23 !important;
    border: 0 !important;
    border-radius: 100px !important;
    color: #fff !important;
    flex: 0 0 58px !important;
    height: 58px !important;
    padding: 18px !important;
    width: 58px !important;
  }

  header .navigation-mob .menu-mob-3.nav-menu-button.is-open {
    background: #000 !important;
  }

  header .navigation-mob .mobile-nav.nav-menu-panel,
  header .navigation-mob .mobile-nav {
    top: 100% !important;
    padding: 24px 38px 28px !important;
  }

  header .navigation-mob .mobile-nav .kj-mobile-menu-link {
    font-size: 25px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    padding: 9px 0 !important;
  }
}

@media (max-width: 360px) {
  header .navigation-mob.site-nav {
    height: 111px !important;
    min-height: 111px !important;
    padding: 25px 3% !important;
  }

  header .navigation-mob .brand img {
    height: 60px !important;
    max-height: 60px !important;
    width: 170px !important;
  }

  header .navigation-mob .menu-mob-3.nav-menu-button {
    flex-basis: 58px !important;
    height: 58px !important;
    width: 58px !important;
  }
}

/* Mobile footer address realignment. */
@media (max-width: 768px) {
  .section-9,
  .footer-2,
  .footer-2 .container-5,
  .footer-wrapper,
  .footer-content {
    max-width: 100% !important;
    overflow-x: hidden !important;
    width: 100% !important;
  }

  .footer-2 {
    padding-top: 42px !important;
  }

  .footer-2 .container-5 {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .footer-wrapper {
    display: block !important;
    margin: 0 auto !important;
  }

  .footer-content {
    display: grid !important;
    gap: 28px !important;
    grid-auto-flow: row !important;
    grid-template-areas: none !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto !important;
    margin-top: 0 !important;
  }

  .footer-content > * {
    grid-area: auto !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  .footer-content > .div-block-34 {
    order: 1;
  }

  .footer-content > .footer-block {
    background: rgba(255, 255, 255, .42) !important;
    border-radius: 8px !important;
    box-shadow: inset 0 0 0 1px rgba(153, 31, 35, .08) !important;
    display: grid !important;
    gap: 16px !important;
    grid-template-columns: 1fr !important;
    justify-items: stretch !important;
    order: 2;
    padding: 18px 16px !important;
    text-align: left !important;
  }

  .footer-block .title-small {
    font-size: 20px !important;
    line-height: 1.25 !important;
    margin-bottom: 0 !important;
    text-align: left !important;
  }

  .footer-block .div98777790 {
    display: grid !important;
    gap: 15px !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: none !important;
    height: auto !important;
    width: 100% !important;
  }

  .footer-block .blog33_author-wrapper121212121 {
    align-items: flex-start !important;
    display: grid !important;
    gap: 12px !important;
    grid-template-columns: 28px minmax(0, 1fr) !important;
    width: 100% !important;
  }

  .footer-block .blog33_author-image-wrapper,
  .footer-block .link-block-5 {
    height: 28px !important;
    width: 28px !important;
  }

  .footer-block .blog33_author-image-copy12121212,
  .footer-block .blog33_author-imageffffffffcopy12121212-copy,
  .footer-block .gtf {
    height: 24px !important;
    max-width: 24px !important;
    min-height: 24px !important;
    min-width: 24px !important;
    object-fit: contain !important;
    width: 24px !important;
  }

  .footer-block .blog33_author-text,
  .footer-block .text-size-small9999,
  .footer-block .footer-link-2 {
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
    text-align: left !important;
    white-space: normal !important;
    width: 100% !important;
    word-break: normal !important;
  }

  .footer-block .text-size-small9999,
  .footer-block .footer-link-2 {
    color: #636363 !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
  }

  .footer-content > .div-block-34 {
    align-items: center !important;
    display: grid !important;
    gap: 18px !important;
    justify-items: center !important;
    padding: 4px 0 8px !important;
  }

  .footer-block-copy {
    align-items: center !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px 16px !important;
    justify-content: center !important;
    text-align: center !important;
  }

  .footer-block-copy .footer-link-2 {
    margin-bottom: 0 !important;
    width: auto !important;
  }

  .footer-social-block {
    justify-content: center !important;
    margin-left: 0 !important;
    margin-top: 0 !important;
  }
}

/* Final compact spacing for mobile menu links. */
@media (max-width: 991px) {
  header .navigation-mob .mobile-nav .kj-mobile-menu-link {
    font-size: 24px !important;
    line-height: 1.18 !important;
    margin: 0 0 4px !important;
    padding: 8px 0 !important;
  }
}

/* Defensive responsive logo image styling */
.logo-image {
  max-width: 100% !important;
  height: auto !important;
}
/* Final mobile nav interaction and hamburger color guard. Loaded after navbar.css. */
@media (max-width: 991px) {
  html body header.site-header .navigation-mob .mobile-nav.nav-menu-panel,
  html body header.site-header .navigation-mob .mobile-nav {
    background: #fff !important;
    color: #222 !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    transition: max-height 360ms cubic-bezier(.22, 1, .36, 1), opacity 240ms ease, transform 300ms ease !important;
  }

  html body header.site-header .navigation-mob .mobile-nav .kj-mobile-menu-link,
  html body header.site-header .navigation-mob .mobile-nav a {
    color: #222 !important;
    transition: color 180ms ease, transform 180ms ease, padding-left 180ms ease !important;
    -webkit-tap-highlight-color: rgba(153, 31, 35, .12) !important;
  }

  html body header.site-header .navigation-mob .mobile-nav .kj-mobile-menu-link:hover,
  html body header.site-header .navigation-mob .mobile-nav .kj-mobile-menu-link:focus,
  html body header.site-header .navigation-mob .mobile-nav .kj-mobile-menu-link:active,
  html body header.site-header .navigation-mob .mobile-nav a:hover,
  html body header.site-header .navigation-mob .mobile-nav a:focus,
  html body header.site-header .navigation-mob .mobile-nav a:active {
    color: #991f23 !important;
    padding-left: 6px !important;
    transform: translateX(2px) !important;
  }

  html body header.site-header .nav-menu-button,
  html body header.site-header .nav-menu-button:hover,
  html body header.site-header .nav-menu-button:focus,
  html body header.site-header .nav-menu-button:active,
  html body header.site-header .nav-menu-button.is-open,
  html body header.site-header .nav-menu-button.is-open,
  html body header.site-header .nav-menu-button[aria-expanded="true"],
  html body header.site-header .menu-mob-3,
  html body header.site-header .menu-mob-3:hover,
  html body header.site-header .menu-mob-3:focus,
  html body header.site-header .menu-mob-3:active,
  html body header.site-header .menu-mob-3.is-open,
  html body header.site-header .menu-mob-3.is-open,
  html body header.site-header .menu-mob-3[aria-expanded="true"],
  html body header.site-header .menu-mob,
  html body header.site-header .menu-mob:hover,
  html body header.site-header .menu-mob:focus,
  html body header.site-header .menu-mob:active,
  html body header.site-header .menu-mob.is-open,
  html body header.site-header .menu-mob.is-open,
  html body header.site-header .menu-mob[aria-expanded="true"],
  html body header.site-header .menu-button-2,
  html body header.site-header .menu-button-2:hover,
  html body header.site-header .menu-button-2:focus,
  html body header.site-header .menu-button-2:active,
  html body header.site-header .menu-button-2.is-open,
  html body header.site-header .menu-button-2.is-open,
  html body header.site-header .menu-button-2[aria-expanded="true"] {
    background: transparent !important;
    background-color: transparent !important;
    color: #991f23 !important;
    border-color: rgba(153, 31, 35, .38) !important;
    box-shadow: none !important;
  }

  html body header.site-header .hamburger-icon,
  html body header.site-header .hamburger-icon::before,
  html body header.site-header .hamburger-icon::after,
  html body header.site-header .menu-line,
  html body header.site-header .menu-icon-2 .menu-line,
  html body header.site-header .nav-menu-button:hover .hamburger-icon,
  html body header.site-header .nav-menu-button:hover .hamburger-icon::before,
  html body header.site-header .nav-menu-button:hover .hamburger-icon::after,
  html body header.site-header .nav-menu-button:focus .hamburger-icon,
  html body header.site-header .nav-menu-button:focus .hamburger-icon::before,
  html body header.site-header .nav-menu-button:focus .hamburger-icon::after,
  html body header.site-header .nav-menu-button:active .hamburger-icon,
  html body header.site-header .nav-menu-button:active .hamburger-icon::before,
  html body header.site-header .nav-menu-button:active .hamburger-icon::after,
  html body header.site-header .nav-menu-button.is-open .hamburger-icon,
  html body header.site-header .nav-menu-button.is-open .hamburger-icon::before,
  html body header.site-header .nav-menu-button.is-open .hamburger-icon::after,
  html body header.site-header .nav-menu-button.is-open .hamburger-icon,
  html body header.site-header .nav-menu-button.is-open .hamburger-icon::before,
  html body header.site-header .nav-menu-button.is-open .hamburger-icon::after,
  html body header.site-header .nav-menu-button[aria-expanded="true"] .hamburger-icon,
  html body header.site-header .nav-menu-button[aria-expanded="true"] .hamburger-icon::before,
  html body header.site-header .nav-menu-button[aria-expanded="true"] .hamburger-icon::after,
  html body header.site-header .menu-button-2:hover .menu-line,
  html body header.site-header .menu-button-2:focus .menu-line,
  html body header.site-header .menu-button-2:active .menu-line,
  html body header.site-header .menu-button-2.is-open .menu-line,
  html body header.site-header .menu-button-2.is-open .menu-line,
  html body header.site-header .menu-button-2[aria-expanded="true"] .menu-line {
    background: #991f23 !important;
    background-color: #991f23 !important;
    color: #991f23 !important;
    border-color: #991f23 !important;
  }
}

/* Final responsive polish for review carousel, banner-2 slider, and feature-card contrast. */
@media (max-width: 991px) {
  .section-16,
  .section-16 .slider-wrapper,
  .section-16 .swiper-component,
  .section-16 .swiper-component .swiper,
  .section-16 .swiper-component .swiper-wrapper {
    height: 600px !important;
    min-height: 600px !important;
  }

  .section-16 .swiper-component .swiper {
    left: 50% !important;
    margin-left: -600px !important;
    min-width: 1200px !important;
    position: relative !important;
    width: 1200px !important;
  }

  .section-16 .swiper-component .swiper-slide {
    height: 600px !important;
    width: 240px !important;
  }

  .section-16 .area-prev,
  .section-16 .area-next {
    height: 600px !important;
    width: calc((100% - 240px) / 2) !important;
  }

  .banner-2 {
    overflow: hidden !important;
    position: relative !important;
    width: 100% !important;
  }

  .banner-2 .kj-banner2-track {
    display: flex !important;
    gap: 0 !important;
    grid-template-columns: none !important;
    transition: transform 680ms cubic-bezier(.22, 1, .36, 1) !important;
    width: 100% !important;
  }

  .banner-2 .kj-banner2-slide {
    box-sizing: border-box !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
    padding: 0 18px !important;
  }

  .div-block-4612 .hero-split-1 .heading-2-copy,
  .div-block-4612 .hero-split-1 .margin-bottom-24px,
  .div-block-4612 .hero-split-1 .button-3,
  .div-block-4612 .hero-split-3 .heading-2,
  .div-block-4612 .hero-split-3 .margin-bottom-24px,
  .div-block-4612 .hero-split-3 .button-3 {
    color: #fff8df !important;
    text-shadow: 0 2px 14px rgba(0, 0, 0, .52) !important;
  }

  .div-block-4612 .hero-split-4 .heading-2,
  .div-block-4612 .hero-split-4 .margin-bottom-24px,
  .div-block-4612 .hero-split-4 .button-3 {
    color: #241717 !important;
    text-shadow: 0 1px 8px rgba(255, 255, 255, .45) !important;
  }

  .div-block-4612 .hero-split-2 .heading-2,
  .div-block-4612 .hero-split-2 .margin-bottom-24px,
  .div-block-4612 .hero-split-2 .button-321 {
    color: #f8f1ff !important;
    text-shadow: 0 2px 14px rgba(20, 13, 58, .45) !important;
  }
}

@media (min-width: 769px) and (max-width: 1023px) {
  .banner-2 .kj-banner2-slide {
    flex-basis: 100% !important;
    max-width: 100% !important;
  }
}

@media (max-width: 991px) {
  html body .nav-menu-button,
  html body .nav-menu-button:hover,
  html body .nav-menu-button:focus,
  html body .nav-menu-button:active,
  html body .nav-menu-button.is-open,
  html body .nav-menu-button.is-open,
  html body .nav-menu-button[aria-expanded="true"],
  html body .menu-mob-3,
  html body .menu-mob-3:hover,
  html body .menu-mob-3:focus,
  html body .menu-mob-3:active,
  html body .menu-mob-3.is-open,
  html body .menu-mob-3.is-open,
  html body .menu-mob-3[aria-expanded="true"],
  html body .menu-mob,
  html body .menu-mob:hover,
  html body .menu-mob:focus,
  html body .menu-mob:active,
  html body .menu-mob.is-open,
  html body .menu-mob.is-open,
  html body .menu-mob[aria-expanded="true"],
  html body .menu-button-2,
  html body .menu-button-2:hover,
  html body .menu-button-2:focus,
  html body .menu-button-2:active,
  html body .menu-button-2.is-open,
  html body .menu-button-2.is-open,
  html body .menu-button-2[aria-expanded="true"] {
    background: transparent !important;
    background-color: transparent !important;
    color: #991f23 !important;
    border-color: rgba(153, 31, 35, .38) !important;
    box-shadow: none !important;
  }

  html body .hamburger-icon,
  html body .hamburger-icon::before,
  html body .hamburger-icon::after,
  html body .menu-line,
  html body .menu-icon-2 .menu-line,
  html body .nav-menu-button:hover .hamburger-icon,
  html body .nav-menu-button:hover .hamburger-icon::before,
  html body .nav-menu-button:hover .hamburger-icon::after,
  html body .nav-menu-button:focus .hamburger-icon,
  html body .nav-menu-button:focus .hamburger-icon::before,
  html body .nav-menu-button:focus .hamburger-icon::after,
  html body .nav-menu-button:active .hamburger-icon,
  html body .nav-menu-button:active .hamburger-icon::before,
  html body .nav-menu-button:active .hamburger-icon::after,
  html body .nav-menu-button.is-open .hamburger-icon,
  html body .nav-menu-button.is-open .hamburger-icon::before,
  html body .nav-menu-button.is-open .hamburger-icon::after,
  html body .nav-menu-button.is-open .hamburger-icon,
  html body .nav-menu-button.is-open .hamburger-icon::before,
  html body .nav-menu-button.is-open .hamburger-icon::after,
  html body .nav-menu-button[aria-expanded="true"] .hamburger-icon,
  html body .nav-menu-button[aria-expanded="true"] .hamburger-icon::before,
  html body .nav-menu-button[aria-expanded="true"] .hamburger-icon::after,
  html body .menu-button-2:hover .menu-line,
  html body .menu-button-2:focus .menu-line,
  html body .menu-button-2:active .menu-line,
  html body .menu-button-2.is-open .menu-line,
  html body .menu-button-2.is-open .menu-line,
  html body .menu-button-2[aria-expanded="true"] .menu-line {
    background: #991f23 !important;
    background-color: #991f23 !important;
    color: #991f23 !important;
    border-color: #991f23 !important;
  }
}

/* Final requested hamburger colors: maroon circle, white closed icon, gold open icon. */
@media (max-width: 991px) {
  html body header.site-header .navigation-mob .nav-menu-button,
  html body header.site-header .navigation-mob .nav-menu-button:hover,
  html body header.site-header .navigation-mob .nav-menu-button:focus,
  html body header.site-header .navigation-mob .nav-menu-button:active,
  html body header.site-header .navigation-mob .nav-menu-button.active,
  html body header.site-header .navigation-mob .nav-menu-button.open,
  html body header.site-header .navigation-mob .nav-menu-button.is-open,
  html body header.site-header .navigation-mob .nav-menu-button.is-open,
  html body header.site-header .navigation-mob .nav-menu-button[aria-expanded="true"],
  html body header.site-header .navigation-mob .nav-menu-button[aria-expanded="false"],
  html body header.site-header .navigation-mob .menu-mob,
  html body header.site-header .navigation-mob .menu-mob-3,
  html body header.site-header .navigation-mob .menu-button-2 {
    background: #991f23 !important;
    background-color: #991f23 !important;
    border-color: #991f23 !important;
    color: #ffffff !important;
    box-shadow: none !important;
  }

  html body header.site-header .navigation-mob .nav-menu-button .hamburger-icon,
  html body header.site-header .navigation-mob .nav-menu-button .hamburger-icon::before,
  html body header.site-header .navigation-mob .nav-menu-button .hamburger-icon::after,
  html body header.site-header .navigation-mob .nav-menu-button .menu-line,
  html body header.site-header .navigation-mob .nav-menu-button svg,
  html body header.site-header .navigation-mob .nav-menu-button i {
    background: #ffffff !important;
    background-color: #ffffff !important;
    border-color: #ffffff !important;
    color: #ffffff !important;
    fill: #ffffff !important;
    stroke: #ffffff !important;
  }

  html body header.site-header .navigation-mob .nav-menu-button.active .hamburger-icon,
  html body header.site-header .navigation-mob .nav-menu-button.active .hamburger-icon::before,
  html body header.site-header .navigation-mob .nav-menu-button.active .hamburger-icon::after,
  html body header.site-header .navigation-mob .nav-menu-button.active .menu-line,
  html body header.site-header .navigation-mob .nav-menu-button.open .hamburger-icon,
  html body header.site-header .navigation-mob .nav-menu-button.open .hamburger-icon::before,
  html body header.site-header .navigation-mob .nav-menu-button.open .hamburger-icon::after,
  html body header.site-header .navigation-mob .nav-menu-button.open .menu-line,
  html body header.site-header .navigation-mob .nav-menu-button.is-open .hamburger-icon,
  html body header.site-header .navigation-mob .nav-menu-button.is-open .hamburger-icon::before,
  html body header.site-header .navigation-mob .nav-menu-button.is-open .hamburger-icon::after,
  html body header.site-header .navigation-mob .nav-menu-button.is-open .menu-line,
  html body header.site-header .navigation-mob .nav-menu-button.is-open .hamburger-icon,
  html body header.site-header .navigation-mob .nav-menu-button.is-open .hamburger-icon::before,
  html body header.site-header .navigation-mob .nav-menu-button.is-open .hamburger-icon::after,
  html body header.site-header .navigation-mob .nav-menu-button.is-open .menu-line,
  html body header.site-header .navigation-mob .nav-menu-button[aria-expanded="true"] .hamburger-icon,
  html body header.site-header .navigation-mob .nav-menu-button[aria-expanded="true"] .hamburger-icon::before,
  html body header.site-header .navigation-mob .nav-menu-button[aria-expanded="true"] .hamburger-icon::after,
  html body header.site-header .navigation-mob .nav-menu-button[aria-expanded="true"] .menu-line,
  html body header.site-header .navigation-mob .nav-menu-button[aria-expanded="true"] svg,
  html body header.site-header .navigation-mob .nav-menu-button[aria-expanded="true"] i {
    background: #d4af37 !important;
    background-color: #d4af37 !important;
    border-color: #d4af37 !important;
    color: #d4af37 !important;
    fill: #d4af37 !important;
    stroke: #d4af37 !important;
  }

  html body header.site-header .navigation-mob .mobile-nav .kj-mobile-menu-link,
  html body header.site-header .navigation-mob .mobile-nav a {
    transition: color 180ms ease, padding-left 180ms ease, transform 180ms ease !important;
  }

  html body header.site-header .navigation-mob .mobile-nav .kj-mobile-menu-link:hover,
  html body header.site-header .navigation-mob .mobile-nav .kj-mobile-menu-link:focus,
  html body header.site-header .navigation-mob .mobile-nav .kj-mobile-menu-link:active,
  html body header.site-header .navigation-mob .mobile-nav a:hover,
  html body header.site-header .navigation-mob .mobile-nav a:focus,
  html body header.site-header .navigation-mob .mobile-nav a:active {
    color: #991f23 !important;
    padding-left: 6px !important;
    transform: translateX(2px) !important;
  }
}

/* Final phone-width carousel alignment fixes. Keep the live-style 1200px review
   stage for tablet/desktop, but center the active review inside small screens. */
@media (max-width: 768px) {
  .section-16 {
    overflow: hidden !important;
  }

  .section-16 .swiper-component .swiper {
    left: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
    position: relative !important;
    width: 100% !important;
  }

  .section-16 .swiper-component .swiper-wrapper {
    max-width: 100% !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  .section-16 .swiper-component .swiper-slide {
    width: min(240px, calc(100vw - 40px)) !important;
  }

  .section-16 .area-prev,
  .section-16 .area-next {
    width: max(34px, calc((100% - min(240px, calc(100vw - 40px))) / 2)) !important;
  }

  .section-16 .slider-arrow {
    margin-top: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 24 !important;
  }

  .section-16 .slider-arrow.cc-prev {
    left: 12px !important;
    right: auto !important;
  }

  .section-16 .slider-arrow.cc-next {
    left: auto !important;
    right: 12px !important;
  }

  .banner-2,
  .banner-2 .team5_list,
  .banner-2 .kj-banner2-track {
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }

  .banner-2 .kj-banner2-track {
    display: flex !important;
    transform: translate3d(0, 0, 0);
    will-change: transform;
  }

  .banner-2 .kj-banner2-slide {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
  }

  .banner-2 .kj-banner2-controls {
    box-sizing: border-box !important;
    left: 0 !important;
    max-width: 100% !important;
    right: 0 !important;
    width: 100% !important;
  }
}

/* Restored banner-2 mobile/tablet swipe gallery. Desktop keeps the original grid. */
@media (max-width: 991px) {
  .banner-2.kj-banner2-gallery {
    align-items: center !important;
    box-sizing: border-box !important;
    display: flex !important;
    height: clamp(430px, 78vh, 560px) !important;
    justify-content: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: min(100%, 760px) !important;
    overflow: hidden !important;
    padding: 24px 0 !important;
    position: relative !important;
    touch-action: pan-y !important;
    user-select: none !important;
  }

  .banner-2.kj-banner2-gallery .kj-banner2-track {
    display: block !important;
    gap: 0 !important;
    grid-template-columns: none !important;
    height: 100% !important;
    margin: 0 !important;
    min-height: 0 !important;
    overflow: visible !important;
    position: relative !important;
    transform: translate3d(var(--kj-banner2-drag, 0), 0, 0) !important;
    transition: transform 180ms ease !important;
    width: 100% !important;
    will-change: transform !important;
  }

  .banner-2.kj-banner2-gallery .kj-banner2-slide {
    align-items: center !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex: none !important;
    flex-direction: column !important;
    justify-content: center !important;
    left: 50% !important;
    max-width: min(78vw, 320px) !important;
    min-width: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
    position: absolute !important;
    padding: 0 !important;
    top: 50% !important;
    transform: translate(-50%, -50%) scale(.72) !important;
    transition: transform 520ms cubic-bezier(.22, 1, .36, 1), opacity 360ms ease !important;
    width: min(78vw, 320px) !important;
    z-index: 1 !important;
  }

  .banner-2.kj-banner2-gallery .kj-banner2-slide[data-kj-position="prev"] {
    opacity: .26 !important;
    transform: translate(calc(-50% - min(53vw, 230px)), -50%) scale(.66) !important;
    z-index: 2 !important;
  }

  .banner-2.kj-banner2-gallery .kj-banner2-slide[data-kj-position="next"] {
    opacity: .26 !important;
    transform: translate(calc(-50% + min(53vw, 230px)), -50%) scale(.66) !important;
    z-index: 2 !important;
  }

  .banner-2.kj-banner2-gallery .kj-banner2-slide.is-active {
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translate(-50%, -50%) scale(1) !important;
    z-index: 4 !important;
  }

  .banner-2.kj-banner2-gallery .team5_image-wrapper {
    aspect-ratio: 1 / 1 !important;
    border-radius: 999px !important;
    box-shadow: 0 18px 36px rgba(35, 15, 16, .16) !important;
    height: clamp(190px, 58vw, 285px) !important;
    max-height: 285px !important;
    max-width: 285px !important;
    overflow: hidden !important;
    width: clamp(190px, 58vw, 285px) !important;
  }

  .banner-2.kj-banner2-gallery .team5_image,
  .banner-2.kj-banner2-gallery img {
    height: 100% !important;
    object-fit: cover !important;
    width: 100% !important;
  }

  html body .banner-2.kj-banner2-gallery .team5_image-wrapper > img.team5_image {
    display: block !important;
    height: 100% !important;
    max-height: none !important;
    max-width: none !important;
    min-height: 100% !important;
    min-width: 100% !important;
    object-fit: cover !important;
    width: 100% !important;
  }

  .banner-2.kj-banner2-gallery .team5_title-wrapper {
    opacity: 0 !important;
    text-align: center !important;
    transform: translateY(10px) !important;
    transition: opacity 320ms ease, transform 420ms cubic-bezier(.22, 1, .36, 1) !important;
  }

  .banner-2.kj-banner2-gallery .kj-banner2-slide.is-active .team5_title-wrapper {
    opacity: 1 !important;
    transform: translateY(0) !important;
  }

  .banner-2.kj-banner2-gallery .kj-banner2-slide:not(.is-active) .team5_title-wrapper,
  .banner-2.kj-banner2-gallery .kj-banner2-slide:not(.is-active) .text-size-large,
  .banner-2.kj-banner2-gallery .kj-banner2-slide:not(.is-active) .paragraph {
    opacity: 0 !important;
    visibility: hidden !important;
  }

  .banner-2.kj-banner2-gallery .kj-banner2-slide.is-active .text-size-large {
    color: #991f23 !important;
    font-family: "Com 4 Dl", serif !important;
    font-size: clamp(32px, 7vw, 44px) !important;
    font-weight: 300 !important;
    line-height: 1.08 !important;
    margin-top: 18px !important;
    text-align: center !important;
  }

  .banner-2.kj-banner2-gallery .kj-banner2-slide.is-active .paragraph {
    color: #4b4142 !important;
    font-family: Mulish, sans-serif !important;
    font-size: clamp(18px, 4.8vw, 24px) !important;
    font-weight: 400 !important;
    line-height: 1.45 !important;
    margin: 8px auto 0 !important;
    max-width: min(78vw, 310px) !important;
    text-align: center !important;
  }

  .banner-2.kj-banner2-gallery .kj-banner2-controls,
  .banner-2.kj-banner2-gallery .slider-dots,
  .banner-2.kj-banner2-gallery .slider-arrow-left,
  .banner-2.kj-banner2-gallery .slider-arrow-right {
    display: none !important;
  }
}

/* Live-site mobile sizing for the four homepage category banners. */
@media (max-width: 991px) {
  .div-block-4612 {
    box-sizing: border-box !important;
    padding: 45px 30px !important;
  }

  .div-block-4612 .hero-wrapper {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
    width: 100% !important;
  }

  .div-block-4612 .hero-split-1,
  .div-block-4612 .hero-split-2,
  .div-block-4612 .hero-split-3,
  .div-block-4612 .hero-split-4 {
    align-items: flex-start !important;
    background-position: 100% 50% !important;
    background-size: cover !important;
    box-sizing: border-box !important;
    display: flex !important;
    justify-content: center !important;
    min-width: 0 !important;
    margin-bottom: 0 !important;
    overflow: hidden !important;
    padding: 24px !important;
    position: relative !important;
    width: 100% !important;
  }

  .div-block-4612 .hero-split-1 { height: 318px !important; order: 1 !important; }
  .div-block-4612 .hero-split-3 { height: 309px !important; order: 2 !important; }
  .div-block-4612 .hero-split-4 { height: 325px !important; order: 3 !important; }
  .div-block-4612 .hero-split-2 { height: 285px !important; order: 4 !important; }

  .div-block-4612 .div-block-1 {
    align-items: flex-start !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    max-width: 62% !important;
    min-height: 100% !important;
    width: 62% !important;
  }

  .div-block-4612 .heading-2,
  .div-block-4612 .heading-2-copy {
    font-family: "Com 4 Dl", serif !important;
    font-size: 65px !important;
    font-weight: 300 !important;
    letter-spacing: -2.6px !important;
    line-height: 62px !important;
    margin: 0 0 16px !important;
    padding-right: 0 !important;
    white-space: nowrap !important;
  }

  .div-block-4612 .hero-split-4 .heading-2 {
    font-weight: 600 !important;
  }

  .div-block-4612 .margin-bottom-24px {
    font-family: Mulish, sans-serif !important;
    font-size: 22px !important;
    font-weight: 300 !important;
    letter-spacing: -.88px !important;
    line-height: 24px !important;
    margin: 0 0 16px !important;
    width: 100% !important;
  }

  .div-block-4612 .button-3,
  .div-block-4612 .button-321 {
    align-items: center !important;
    display: inline-flex !important;
    background-color: #fff8d2 !important;
    border: 1px solid #ffffff !important;
    border-radius: 5px !important;
    font-family: "Com 4 Dl", serif !important;
    font-size: 27.556px !important;
    font-weight: 300 !important;
    justify-content: center !important;
    line-height: 29.7605px !important;
    min-height: 51.7656px !important;
    padding: 10px 20px !important;
    width: auto !important;
  }

  .div-block-4612 .hero-split-1 .heading-2-copy,
  .div-block-4612 .hero-split-1 .margin-bottom-24px,
  .div-block-4612 .hero-split-2 .heading-2,
  .div-block-4612 .hero-split-2 .margin-bottom-24px,
  .div-block-4612 .hero-split-3 .heading-2,
  .div-block-4612 .hero-split-3 .margin-bottom-24px {
    color: #fff8d2 !important;
  }

  .div-block-4612 .hero-split-4 .heading-2,
  .div-block-4612 .hero-split-4 .margin-bottom-24px {
    color: #770b21 !important;
  }

  .div-block-4612 .hero-split-1 .button-3 {
    color: #304e51 !important;
  }

  .div-block-4612 .hero-split-4 .button-3 {
    color: #770b21 !important;
  }

  .div-block-4612 .hero-split-3 .button-3 {
    color: #b00000 !important;
  }

  .div-block-4612 .hero-split-2 .button-321 {
    color: #1e2d5e !important;
  }
}

@media (max-width: 479px) {
  .div-block-4612 {
    padding: 25px 10px !important;
  }

  .div-block-4612 .hero-split-1 { height: 269px !important; }
  .div-block-4612 .hero-split-3 { height: 276px !important; }
  .div-block-4612 .hero-split-4 { height: 304px !important; }
  .div-block-4612 .hero-split-2 { height: 256px !important; }

  .div-block-4612 .hero-split-1,
  .div-block-4612 .hero-split-2,
  .div-block-4612 .hero-split-3,
  .div-block-4612 .hero-split-4 {
    padding: 20px !important;
  }

  .div-block-4612 .div-block-1 {
    max-width: 88% !important;
    width: 88% !important;
  }

  .div-block-4612 .heading-2,
  .div-block-4612 .heading-2-copy {
    font-size: 45px !important;
    line-height: 52px !important;
    margin-bottom: 14px !important;
    white-space: nowrap !important;
  }

  .div-block-4612 .margin-bottom-24px {
    font-size: 16px !important;
    line-height: 20px !important;
    margin-bottom: 16px !important;
  }

  .div-block-4612 .hero-split-4 .margin-bottom-24px {
    line-height: 24px !important;
  }

  .div-block-4612 .button-3,
  .div-block-4612 .button-321 {
    font-size: 18px !important;
    line-height: 19.44px !important;
    min-height: 41.4375px !important;
    padding: 10px 20px !important;
  }
}

/* Restored clean customer-review carousel treatment: hidden arrows, smooth cards. */
.section-16.kj-review-section,
.section-16 .kj-review-carousel-shell,
.section-16 .kj-review-carousel,
.section-16 .kj-review-carousel .swiper,
.section-16 .kj-review-carousel .swiper-wrapper {
  min-height: 560px !important;
}

.section-16 .slider-arrow {
  display: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
  visibility: hidden !important;
}

.section-16 .area-prev,
.section-16 .area-next {
  background: transparent !important;
  opacity: 0 !important;
}

.section-16 .kj-review-card {
  border-radius: 8px !important;
  box-shadow: 0 14px 34px rgba(35, 15, 16, .12) !important;
  height: 560px !important;
  transition: transform 820ms cubic-bezier(.22, 1, .36, 1), opacity 620ms ease !important;
  width: clamp(280px, 23vw, 330px) !important;
}

.section-16 .kj-review-card:not(.swiper-slide-active) > .slide-bg {
  opacity: .34 !important;
}

.section-16 .kj-review-card.swiper-slide-active > .slide-bg {
  opacity: 1 !important;
}

@media (max-width: 768px) {
  .section-16.kj-review-section,
  .section-16 .kj-review-carousel-shell,
  .section-16 .kj-review-carousel,
  .section-16 .kj-review-carousel .swiper,
  .section-16 .kj-review-carousel .swiper-wrapper {
    min-height: 520px !important;
  }

  .section-16 .kj-review-card {
    height: 520px !important;
    max-width: calc(100vw - 40px) !important;
    width: min(320px, calc(100vw - 40px)) !important;
  }

  .section-16 .kj-review-carousel .div-container-6 {
    padding: 26px 22px !important;
  }

  .section-16 .kj-review-carousel .div-text {
    font-size: 15px !important;
    line-height: 1.35 !important;
  }

  .section-16 .kj-review-carousel .div-text1 {
    font-size: 22px !important;
    line-height: 1.2 !important;
  }
}

@media (max-width: 360px) {
  .div-block-4612 .heading-2,
  .div-block-4612 .heading-2-copy {
    font-size: 40px !important;
    line-height: 46px !important;
  }
}

@media (min-width: 992px) {
  .div-block-4612 .hero-wrapper {
    display: grid !important;
    gap: 20px !important;
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: auto auto !important;
  }

  .div-block-4612 .hero-split-1,
  .div-block-4612 .hero-split-4 {
    height: 312px !important;
  }

  .div-block-4612 .hero-split-2,
  .div-block-4612 .hero-split-3 {
    height: 309px !important;
  }

  .div-block-4612 .hero-split-2 {
    grid-column: 2 / 3 !important;
    grid-row: 2 / 3 !important;
  }

  .div-block-4612 .hero-split-3 {
    grid-column: 1 / 2 !important;
    grid-row: 2 / 3 !important;
  }

  .div-block-4612 .heading-2,
  .div-block-4612 .heading-2-copy {
    font-family: "Com 4 Dl", serif !important;
    font-size: 65px !important;
    font-weight: 300 !important;
    letter-spacing: -2.6px !important;
    line-height: 62px !important;
    margin: 0 0 16px !important;
    padding-right: 0 !important;
  }

  .div-block-4612 .hero-split-1 .heading-2-copy {
    line-height: 65px !important;
  }

  .div-block-4612 .hero-split-4 .heading-2 {
    font-weight: 600 !important;
  }

  .div-block-4612 .margin-bottom-24px {
    font-family: Mulish, sans-serif !important;
    font-size: 22px !important;
    font-weight: 300 !important;
    letter-spacing: -.88px !important;
    line-height: 24px !important;
    margin: 0 0 16px !important;
    width: 357px !important;
  }

  .div-block-4612 .button-3,
  .div-block-4612 .button-321 {
    background-color: #fff8d2 !important;
    border: 1px solid #ffffff !important;
    border-radius: 5px !important;
    font-family: "Com 4 Dl", serif !important;
    font-size: 27.556px !important;
    font-weight: 300 !important;
    line-height: 29.7605px !important;
    min-height: 51.7656px !important;
    padding: 10px 20px !important;
    width: auto !important;
  }

  .div-block-4612 .hero-split-1 .heading-2-copy,
  .div-block-4612 .hero-split-1 .margin-bottom-24px,
  .div-block-4612 .hero-split-2 .heading-2,
  .div-block-4612 .hero-split-2 .margin-bottom-24px,
  .div-block-4612 .hero-split-3 .heading-2,
  .div-block-4612 .hero-split-3 .margin-bottom-24px {
    color: #fff8d2 !important;
  }

  .div-block-4612 .hero-split-4 .heading-2,
  .div-block-4612 .hero-split-4 .margin-bottom-24px {
    color: #770b21 !important;
  }

  .div-block-4612 .hero-split-1 .button-3 { color: #304e51 !important; }
  .div-block-4612 .hero-split-4 .button-3 { color: #770b21 !important; }
  .div-block-4612 .hero-split-3 .button-3 { color: #b00000 !important; }
  .div-block-4612 .hero-split-2 .button-321 { color: #1e2d5e !important; }
}

/* Final review/footer polish: compact review cards and readable mobile phone rows. */
.section-16.kj-review-section {
  margin-bottom: 48px !important;
  padding-bottom: 10px !important;
}

.section-16.kj-review-section,
.section-16 .kj-review-carousel-shell,
.section-16 .kj-review-carousel,
.section-16 .kj-review-carousel .swiper,
.section-16 .kj-review-carousel .swiper-wrapper,
.section-16 .kj-review-track {
  height: 530px !important;
  min-height: 530px !important;
}

.section-16 .kj-review-card,
.section-16 .swiper-component .kj-review-card,
.section-16 .swiper-component .swiper-slide.kj-review-card {
  height: 530px !important;
  width: clamp(260px, 21vw, 310px) !important;
}

.section-16 .kj-review-card .div-container-6,
.section-16 .swiper-component .kj-review-card .div-container-6 {
  padding: 32px 28px !important;
}

.section-16 .kj-review-card > .slide-bg,
.section-16 .swiper-component .kj-review-card > .slide-bg,
.section-16 .kj-review-card > .slide-gradient,
.section-16 .swiper-component .kj-review-card > .slide-gradient,
.section-16 .kj-review-card .product-item-8,
.section-16 .swiper-component .kj-review-card .product-item-8,
.section-16 .kj-review-card .div-container-6,
.section-16 .swiper-component .kj-review-card .div-container-6 {
  height: 100% !important;
  min-height: 0 !important;
}

.section-16 .kj-review-card > .slide-gradient,
.section-16 .swiper-component .kj-review-card > .slide-gradient {
  display: none !important;
}

.footer-block .footer-link-2.kj-phone-link,
.footer-block .blog33_author-text .kj-phone-link {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  line-height: 1.5 !important;
  overflow-wrap: normal !important;
  white-space: normal !important;
  word-break: normal !important;
}

.footer-block .kj-phone-number {
  display: block !important;
  font-variant-numeric: tabular-nums !important;
  letter-spacing: 0 !important;
  overflow-wrap: normal !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
}

@media (max-width: 768px) {
  .section-16.kj-review-section {
    margin-bottom: 106px !important;
    padding-bottom: 34px !important;
  }

  .section-16.kj-review-section,
  .section-16 .kj-review-carousel-shell,
  .section-16 .kj-review-carousel,
  .section-16 .kj-review-carousel .swiper,
  .section-16 .kj-review-carousel .swiper-wrapper,
  .section-16 .kj-review-track {
    height: 490px !important;
    min-height: 490px !important;
  }

  .section-16 .kj-review-card,
  .section-16 .swiper-component .kj-review-card,
  .section-16 .swiper-component .swiper-slide.kj-review-card {
    height: 460px !important;
    max-width: calc(100vw - 42px) !important;
    min-width: 0 !important;
    width: min(300px, calc(100vw - 42px)) !important;
  }

  .section-16 .kj-review-card .div-container-6,
  .section-16 .swiper-component .kj-review-card .div-container-6 {
    padding: 22px 18px 24px !important;
  }

  .section-16 .kj-review-card .div-text,
  .section-16 .swiper-component .kj-review-card .div-text {
    font-size: clamp(12px, 3.25vw, 13px) !important;
    line-height: 1.4 !important;
  }

  .section-16 .kj-review-card .div-text1,
  .section-16 .swiper-component .kj-review-card .div-text1 {
    font-size: clamp(16px, 4.3vw, 19px) !important;
    line-height: 1.25 !important;
    margin-top: 16px !important;
  }

  .footer-block .footer-link-2.kj-phone-link,
  .footer-block .blog33_author-text .kj-phone-link {
    align-items: flex-start !important;
    gap: 5px !important;
    line-height: 1.55 !important;
  }

  .footer-block .kj-phone-number {
    font-size: 15px !important;
    max-width: 100% !important;
  }
}

@media (max-width: 360px) {
  .section-16.kj-review-section,
  .section-16 .kj-review-carousel-shell,
  .section-16 .kj-review-carousel,
  .section-16 .kj-review-carousel .swiper,
  .section-16 .kj-review-carousel .swiper-wrapper,
  .section-16 .kj-review-track {
    height: 480px !important;
    min-height: 480px !important;
  }

  .section-16 .kj-review-card,
  .section-16 .swiper-component .kj-review-card,
  .section-16 .swiper-component .swiper-slide.kj-review-card {
    height: 450px !important;
    width: min(288px, calc(100vw - 36px)) !important;
  }

  .section-16 .kj-review-card .div-container-6,
  .section-16 .swiper-component .kj-review-card .div-container-6 {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}




/* --- RESTORED FINALIZED STYLES FOR PRODUCTS, FILTERS AND OTHER POLISH --- */
/* Product listing migration: clean collection toolbar and card selectors. */
.legacy-filter-hidden {
  display: none !important;
}

.collection-toolbar {
  align-items: stretch;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 252, 248, 0.96));
  border: 1px solid rgba(153, 31, 35, 0.12);
  border-radius: 10px;
  box-shadow: 0 8px 20px rgba(57, 26, 21, 0.06), 0 0 0 1px rgba(212, 175, 55, 0.08);
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: space-between;
  align-items: center;
  margin: 28px auto 32px;
  max-width: 1140px;
  padding: 18px 22px;
  position: relative;
  width: min(calc(100% - 40px), 1140px);
}

.collection-toolbar::before {
  background: linear-gradient(90deg, rgba(153, 31, 35, 0.06), rgba(212, 175, 55, 0.08), rgba(153, 31, 35, 0.06));
  content: "";
  height: 1px;
  left: 22px;
  position: absolute;
  right: 22px;
  top: 0;
  border-radius: 1px;
}

.collection-toolbar__field {
  color: #5a3c3e;
  display: flex;
  flex: 0 1 auto;
  min-width: 180px;
  flex-direction: column;
  font-family: Mulish, Arial, sans-serif;
  font-size: 11px;
  font-weight: 700;
  gap: 6px;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.collection-toolbar__select {
  appearance: none;
  background-color: #ffffff;
  background-image: linear-gradient(135deg, transparent 45%, #6b4a4c 50%, #6b4a4c 55%, transparent 60%), linear-gradient(-135deg, transparent 45%, #6b4a4c 50%, #6b4a4c 55%, transparent 60%);
  background-position: right 12px center;
  background-repeat: no-repeat;
  background-size: 8px 8px, 8px 8px;
  border: 1px solid rgba(107, 74, 76, 0.16);
  border-radius: 7px;
  color: #3d2e2f;
  cursor: pointer;
  font-family: Mulish, Arial, sans-serif;
  font-size: 14px;
  font-weight: 600;
  height: 44px;
  letter-spacing: 0.01em;
  padding: 0 38px 0 14px;
  transition: all 200ms ease;
}

.collection-toolbar__select:hover,
.collection-toolbar__select:focus {
  background-color: #fafaf9;
  border-color: rgba(153, 31, 35, 0.25);
  box-shadow: 0 4px 12px rgba(153, 31, 35, 0.08), inset 0 0 0 1px rgba(212, 175, 55, 0.12);
  outline: none;
  color: #2b1e1f;
}

.collection-toolbar__reset {
  align-self: center;
  background: linear-gradient(135deg, rgba(153, 31, 35, 0.95), rgba(137, 26, 30, 0.98));
  border: 1px solid rgba(153, 31, 35, 0.4);
  border-radius: 7px;
  color: #fff8df;
  cursor: pointer;
  font-family: Mulish, Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  height: 44px;
  letter-spacing: 0.02em;
  padding: 0 24px;
  text-transform: uppercase;
  transition: all 200ms ease;
  box-shadow: 0 4px 12px rgba(153, 31, 35, 0.12);
}

.collection-toolbar__reset:hover,
.collection-toolbar__reset:focus-visible {
  background: linear-gradient(135deg, rgba(126, 23, 27, 0.98), rgba(110, 18, 21, 0.99));
  border-color: rgba(153, 31, 35, 0.6);
  color: #ffffff;
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(153, 31, 35, 0.18);
}

.collection-empty-state {
  color: #991f23;
  font-family: Mulish, Arial, sans-serif;
  font-size: 18px;
  font-weight: 800;
  margin: 16px auto 58px;
  max-width: 920px;
  text-align: center;
}

.product-card.is-filter-hidden {
  display: none !important;
}

.product-grid {
  align-items: stretch;
  display: grid;
  gap: 26px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  justify-content: center;
  justify-items: stretch;
  margin-left: auto;
  margin-right: auto;
  max-width: 1120px;
  width: min(calc(100% - 48px), 1120px);
}

.product-card {
  background: #ffffff;
  border: 1px solid rgba(153, 31, 35, .14);
  border-radius: 8px;
  box-shadow: 0 10px 24px rgba(57, 26, 21, .06);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  padding: 15px 16px 17px;
  transition: border-color 180ms ease, box-shadow 220ms ease, transform 220ms ease;
}

.product-card:hover {
  border-color: rgba(153, 31, 35, .36);
  box-shadow: 0 16px 34px rgba(57, 26, 21, .1);
  transform: translateY(-3px);
}

.product-card-media {
  background: #fbf8f3;
  border-radius: 6px;
  overflow: hidden;
}

.product-card-image {
  aspect-ratio: 1 / 1;
  display: block;
  height: auto;
  object-fit: cover;
  width: 100%;
}

.product-card-info {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 14px;
}

.product-card-price {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}

.product-card-title,
.product-card-category {
  text-align: center;
}

.product-card-title {
  color: #2b1e1f !important;
  font-family: Mulish, Arial, sans-serif !important;
  font-size: clamp(15px, 1.05vw, 17px) !important;
  font-weight: 750 !important;
  letter-spacing: .015em !important;
  line-height: 1.32 !important;
  margin-bottom: 5px;
  text-transform: uppercase;
}

.product-card-category {
  color: #80635b !important;
  font-family: Mulish, Arial, sans-serif !important;
  font-size: clamp(12px, .85vw, 14px) !important;
  font-weight: 650 !important;
  letter-spacing: .08em !important;
  line-height: 1.35 !important;
  text-transform: uppercase;
}

.product-card:hover .product-card-title {
  color: #991f23 !important;
}

@media (max-width: 768px) {
  .collection-toolbar {
    flex-direction: column;
    gap: 12px;
    margin: 20px auto 26px;
    padding: 16px;
    width: min(calc(100% - 32px), 100%);
  }

  .collection-toolbar__field {
    width: 100%;
  }

  .collection-toolbar__select,
  .collection-toolbar__reset {
    width: 100%;
    height: 46px;
  }

  .product-grid {
    gap: 18px;
    grid-template-columns: 1fr;
    width: min(calc(100% - 24px), 460px);
  }

  .product-card {
    padding: 14px;
  }
}

@media (min-width: 769px) and (max-width: 1023px) {
  .product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Final contrast pass after all mobile overrides. */
.div-block-4612 .hero-split-1 .heading-2-copy,
.div-block-4612 .hero-split-1 .margin-bottom-24px,
.div-block-4612 .hero-split-1 .button-3,
.div-block-4612 .hero-split-3 .heading-2,
.div-block-4612 .hero-split-3 .margin-bottom-24px,
.div-block-4612 .hero-split-3 .button-3 {
  color: #ffffff !important;
  text-shadow: 0 2px 14px rgba(0, 0, 0, .62) !important;
}

.div-block-4612 .hero-split-2 .heading-2,
.div-block-4612 .hero-split-2 .margin-bottom-24px,
.div-block-4612 .hero-split-2 .button-321 {
  color: #fff8df !important;
  text-shadow: 0 2px 16px rgba(15, 8, 42, .68) !important;
}

.div-block-4612 .hero-split-4 .heading-2,
.div-block-4612 .hero-split-4 .margin-bottom-24px,
.div-block-4612 .hero-split-4 .button-3 {
  color: #222222 !important;
  text-shadow: 0 1px 10px rgba(255, 255, 255, .7) !important;
}

.div-block-4612 .hero-split-1 .button-3,
.div-block-4612 .hero-split-3 .button-3 {
  background: #fff8df !important;
  border-color: rgba(153, 31, 35, .42) !important;
  color: #991f23 !important;
  text-shadow: none !important;
}

.div-block-4612 .hero-split-2 .button-321 {
  background: #d4af37 !important;
  border-color: rgba(255, 248, 223, .9) !important;
  color: #251510 !important;
  text-shadow: none !important;
}

.div-block-4612 .hero-split-4 .button-3 {
  background: #991f23 !important;
  border-color: rgba(153, 31, 35, .72) !important;
  color: #fff8df !important;
  text-shadow: none !important;
}

@media (min-width: 1024px) {
  .section-16 .slider-arrow {
    display: flex !important;
    pointer-events: auto !important;
    z-index: 40 !important;
  }

  .section-16 .area-prev,
  .section-16 .area-next {
    pointer-events: auto !important;
    z-index: 20 !important;
  }
}

/* Mobile spacing audit: trim leftover blank areas without compressing content. */
@media (max-width: 991px) {
  header.site-header {
    margin-bottom: 0 !important;
  }

  .section-16 {
    margin-top: 24px !important;
    margin-bottom: 36px !important;
  }

  .section-16 .container-19 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .banner-2 {
    margin-top: 12px !important;
    margin-bottom: 28px !important;
  }

  .container-17,
  .container-18,
  .container-19,
  .container-20,
  .container-5,
  .content-container {
    max-width: 100% !important;
  }

  .footer-2,
  .section-9 {
    margin-top: 24px !important;
  }
}

@media (max-width: 768px) {
  .padding-section-large,
  .section-1,
  .section-2,
  .section-3,
  .section-4,
  .section-5 {
    padding-top: clamp(24px, 8vw, 44px) !important;
    padding-bottom: clamp(24px, 8vw, 44px) !important;
  }

  .banner,
  .banner-2,
  [class*="banner-"] {
    background-position: center !important;
  }

  .team5_list,
  .layout-grid,
  .footer-wrapper {
    row-gap: clamp(18px, 6vw, 32px) !important;
  }

  .w-dyn-empty:empty,
  .dynamic-empty:empty,
  .dynamic-list:empty,
  .dynamic-item:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}

/* Absolute final mobile-menu motion override. */
@media (max-width: 991px) {
  html body header.site-header .navigation-mob .mobile-nav.nav-menu-panel,
  html body header.site-header .navigation-mob .mobile-nav {
    display: block !important;
    translate: 0 -8px !important;
    transform: translateY(-8px) !important;
    transition: max-height 360ms cubic-bezier(.22, 1, .36, 1), opacity 240ms ease, transform 300ms ease, translate 300ms ease, visibility 0s linear 360ms !important;
    visibility: hidden !important;
  }

  html body header.site-header .navigation-mob .mobile-nav.nav-menu-panel.is-open,
  html body header.site-header .navigation-mob .mobile-nav.nav-menu-panel.is-open,
  html body header.site-header .navigation-mob .mobile-nav.is-open,
  html body header.site-header .navigation-mob .mobile-nav.is-open {
    translate: 0 0 !important;
    transform: translateY(0) !important;
    transition: max-height 360ms cubic-bezier(.22, 1, .36, 1), opacity 220ms ease, transform 300ms ease, translate 300ms ease, visibility 0s linear 0s !important;
    visibility: visible !important;
  }
}

/* Customer review carousel geometry. */
@media (min-width: 769px) {
  .section-16,
  .section-16 .slider-wrapper,
  .section-16 .swiper-component,
  .section-16 .swiper-component .swiper,
  .section-16 .swiper-component .swiper-wrapper {
    height: clamp(390px, 36vw, 470px) !important;
    min-height: clamp(390px, 36vw, 470px) !important;
  }

  .section-16 .swiper-component .swiper {
    left: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: min(1200px, calc(100vw - 48px)) !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  .section-16 .swiper-component .swiper-slide {
    height: clamp(330px, 30vw, 390px) !important;
    margin: 28px 0 0 !important;
    width: clamp(440px, 42vw, 560px) !important;
  }

  .section-16 .area-prev,
  .section-16 .area-next {
    display: block !important;
    height: clamp(390px, 36vw, 470px) !important;
    pointer-events: auto !important;
    top: 0 !important;
    width: calc((100% - min(560px, max(440px, 42vw))) / 2) !important;
  }

  .section-16 .slider-arrow {
    display: flex !important;
    pointer-events: auto !important;
    top: calc(clamp(390px, 36vw, 470px) / 2) !important;
    z-index: 50 !important;
  }
}

@media (max-width: 768px) {
  .section-16,
  .section-16 .slider-wrapper,
  .section-16 .swiper-component,
  .section-16 .swiper-component .swiper,
  .section-16 .swiper-component .swiper-wrapper {
    height: 440px !important;
    min-height: 440px !important;
  }

  .section-16 .swiper-component .swiper {
    left: auto !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: 0 !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    width: 100vw !important;
  }

  .section-16 .swiper-component .swiper-slide {
    height: 410px !important;
    margin-top: 16px !important;
    width: min(330px, calc(100vw - 36px)) !important;
  }

  .section-16 .area-prev,
  .section-16 .area-next,
  .section-16 .slider-arrow {
    display: none !important;
    pointer-events: none !important;
  }
}
/* Final clean product/filter and review overrides. Loaded after style.css. */
.legacy-filter-hidden,
.product-card.is-filter-hidden {
  display: none !important;
}

.collection-toolbar {
  align-items: center;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(255, 253, 250, 0.97));
  border: 1px solid rgba(153, 31, 35, 0.1);
  border-radius: 10px;
  box-shadow: 0 8px 18px rgba(57, 26, 21, 0.05);
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: space-between;
  margin: 26px auto 30px;
  max-width: 1140px;
  padding: 18px 22px;
  width: min(calc(100% - 40px), 1140px);
}

.collection-toolbar__field {
  color: #5a3c3e;
  display: flex;
  flex: 0 1 auto;
  min-width: 160px;
  flex-direction: column;
  font-family: Mulish, Arial, sans-serif;
  font-size: 11px;
  font-weight: 700;
  gap: 6px;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.collection-toolbar__select {
  appearance: none;
  background-color: #ffffff;
  background-image: linear-gradient(135deg, transparent 45%, #6b4a4c 50%, #6b4a4c 55%, transparent 60%), linear-gradient(-135deg, transparent 45%, #6b4a4c 50%, #6b4a4c 55%, transparent 60%);
  background-position: right 12px center;
  background-repeat: no-repeat;
  background-size: 7px 7px, 7px 7px;
  border: 1px solid rgba(107, 74, 76, 0.15);
  border-radius: 7px;
  color: #3d2e2f;
  font-family: Mulish, Arial, sans-serif;
  font-size: 14px;
  font-weight: 600;
  height: 44px;
  padding: 0 36px 0 14px;
  transition: all 180ms ease;
}

.collection-toolbar__select:hover,
.collection-toolbar__select:focus {
  background-color: #fafaf9;
  border-color: rgba(153, 31, 35, 0.2);
  box-shadow: 0 4px 10px rgba(153, 31, 35, 0.06);
  outline: none;
}

.collection-toolbar__reset {
  background: linear-gradient(135deg, rgba(153, 31, 35, 0.94), rgba(137, 26, 30, 0.97));
  border: 1px solid rgba(153, 31, 35, 0.3);
  border-radius: 7px;
  color: #fff8df;
  cursor: pointer;
  font-family: Mulish, Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  height: 44px;
  padding: 0 22px;
  text-transform: uppercase;
  transition: all 180ms ease;
  box-shadow: 0 4px 10px rgba(153, 31, 35, 0.1);
}

.collection-toolbar__reset:hover,
.collection-toolbar__reset:focus-visible {
  background: linear-gradient(135deg, rgba(126, 23, 27, 0.97), rgba(110, 18, 21, 0.98));
  border-color: rgba(153, 31, 35, 0.5);
  color: #ffffff;
  transform: translateY(-1px);
  box-shadow: 0 6px 14px rgba(153, 31, 35, 0.15);
}

.product-card-title {
  color: #2b1e1f !important;
  font-family: Mulish, Arial, sans-serif !important;
  font-size: clamp(15px, 1.08vw, 17px) !important;
  font-weight: 700 !important;
  line-height: 1.32 !important;
  text-align: center;
  text-transform: uppercase;
}

.product-card-category {
  color: #7d5f58 !important;
  font-family: Mulish, Arial, sans-serif !important;
  font-size: clamp(12px, .9vw, 14px) !important;
  font-weight: 600 !important;
  letter-spacing: .08em !important;
  text-align: center;
  text-transform: uppercase;
}

@media (max-width: 768px) {
  .collection-toolbar {
    align-items: stretch;
    gap: 12px;
    margin: 18px auto 22px;
    padding: 14px;
    width: min(calc(100% - 24px), 460px);
  }

  .collection-toolbar__field,
  .collection-toolbar__select,
  .collection-toolbar__reset {
    flex-basis: 100%;
    min-width: 0;
    width: 100%;
  }

  .section-16.kj-review-section,
  .section-16 .kj-review-carousel-shell,
  .section-16 .kj-review-carousel,
  .section-16 .kj-review-carousel .swiper,
  .section-16 .kj-review-track {
    box-sizing: border-box !important;
    height: 560px !important;
    min-height: 560px !important;
    max-width: 100vw !important;
    overflow: visible !important;
    width: 100% !important;
  }

  .section-16 .kj-review-carousel .swiper {
    left: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
    min-width: 0 !important;
    position: relative !important;
    transform: none !important;
  }

  .section-16 .kj-review-card,
  .section-16 .swiper-component .kj-review-card {
    height: 520px !important;
    max-width: calc(100vw - 30px) !important;
    min-width: 290px !important;
    width: min(350px, calc(100vw - 30px)) !important;
  }

  .section-16 .kj-review-card .div-container-6 {
    height: 100% !important;
    padding: 30px 22px 34px !important;
  }

  .section-16 .kj-review-card .div-text {
    font-size: clamp(12px, 3.45vw, 14px) !important;
    line-height: 1.45 !important;
    overflow: visible !important;
  }

  .section-16 .area-prev,
  .section-16 .area-next,
  .section-16 .slider-arrow {
    display: none !important;
    pointer-events: none !important;
  }
}
/* Premium Legal Page Typography System */
.richtext {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

.richtext p {
  color: #4a3334;
  font-family: 'Mulish', Arial, sans-serif;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.72;
  letter-spacing: 0.3px;
  margin-bottom: 1.8em;
  margin-top: 0;
  text-align: justify;
}

.richtext h6 {
  color: #991f23;
  font-family: 'Mulish', Arial, sans-serif;
  font-size: 18px;
  font-weight: 750;
  letter-spacing: 0.04em;
  line-height: 1.4;
  margin-bottom: 1.2em;
  margin-top: 2em;
  text-transform: capitalize;
}

.richtext h6:first-child {
  margin-top: 0;
}

.richtext ul,
.richtext ol {
  color: #4a3334;
  font-family: 'Mulish', Arial, sans-serif;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.3px;
  margin: 1.5em 0;
  padding-left: 28px;
}

.richtext ul li,
.richtext ol li {
  margin-bottom: 0.9em;
  padding-left: 8px;
}

.richtext ul li:last-child,
.richtext ol li:last-child {
  margin-bottom: 0;
}

.richtext strong {
  color: #7a4f52;
  font-weight: 650;
}

.richtext em,
.richtext i {
  color: #5a3c3e;
  font-style: italic;
  font-weight: 500;
}

.richtext a {
  color: #991f23;
  text-decoration: underline;
  text-decoration-color: rgba(153, 31, 35, 0.3);
  text-underline-offset: 3px;
  transition: all 200ms ease;
  font-weight: 600;
}

.richtext a:hover {
  color: #7e171b;
  text-decoration-color: rgba(153, 31, 35, 0.6);
}

@media (max-width: 768px) {
  .richtext {
    max-width: 100%;
    padding: 0 16px;
  }

  .richtext p {
    font-size: 14px;
    line-height: 1.68;
    margin-bottom: 1.5em;
  }

  .richtext h6 {
    font-size: 16px;
    margin-bottom: 1em;
    margin-top: 1.6em;
  }

  .richtext ul,
  .richtext ol {
    font-size: 14px;
    line-height: 1.65;
    padding-left: 24px;
  }

  .richtext ul li,
  .richtext ol li {
    margin-bottom: 0.8em;
  }
}

/* Final product toolbar and legal-page polish */
.collection-toolbar {
  align-items: flex-end;
  background:
    linear-gradient(135deg, rgba(255, 253, 247, 0.98), rgba(255, 249, 237, 0.96)),
    radial-gradient(circle at 12% 0%, rgba(212, 175, 55, 0.1), transparent 34%);
  border: 1px solid rgba(190, 151, 58, 0.24);
  border-radius: 9px;
  box-shadow: 0 14px 32px rgba(70, 39, 31, 0.055);
  display: flex;
  flex-wrap: wrap;
  gap: 14px 18px;
  justify-content: flex-start;
  margin: 24px auto 28px;
  max-width: 1120px;
  padding: 16px 18px;
  position: relative;
  width: min(calc(100% - 48px), 1120px);
}

.collection-toolbar::before {
  background: linear-gradient(90deg, transparent, rgba(185, 143, 53, 0.34), transparent);
  content: "";
  height: 1px;
  left: 18px;
  opacity: 0.72;
  position: absolute;
  right: 18px;
  top: 0;
}

.collection-toolbar__field {
  color: #7b6460;
  display: flex;
  flex: 0 1 230px;
  flex-direction: column;
  font-family: 'Mulish', Arial, sans-serif;
  font-size: 10.5px;
  font-weight: 650;
  gap: 7px;
  letter-spacing: 0.075em;
  line-height: 1.2;
  min-width: 190px;
  text-transform: uppercase;
}

.collection-toolbar__label {
  color: #846c67;
}

.collection-toolbar__select {
  appearance: none;
  background:
    linear-gradient(180deg, rgba(255, 255, 252, 0.98), rgba(255, 250, 241, 0.98)),
    url("data:image/svg+xml,%3Csvg width='14' height='9' viewBox='0 0 14 9' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.4 1.6 7 7.1l5.6-5.5' fill='none' stroke='%23991f23' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 16px center / 13px auto no-repeat;
  border: 1px solid rgba(174, 135, 48, 0.3);
  border-radius: 7px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
  color: #5e4a46;
  cursor: pointer;
  font-family: 'Mulish', Arial, sans-serif;
  font-size: 14px;
  font-weight: 520;
  height: 44px;
  line-height: 1.25;
  min-width: 100%;
  outline: none;
  padding: 0 42px 0 14px;
  transition: border-color 180ms ease, box-shadow 180ms ease, color 180ms ease, transform 180ms ease;
}

.collection-toolbar__select:hover,
.collection-toolbar__select:focus {
  border-color: rgba(153, 31, 35, 0.34);
  box-shadow: 0 8px 18px rgba(89, 50, 40, 0.07), 0 0 0 3px rgba(212, 175, 55, 0.13);
  color: #4f3e3b;
}

.collection-toolbar__reset {
  align-self: flex-end;
  background: linear-gradient(135deg, #991f23, #7f191d);
  border: 1px solid rgba(153, 31, 35, 0.16);
  border-radius: 999px;
  box-shadow: 0 9px 20px rgba(153, 31, 35, 0.16);
  color: #fffaf0;
  cursor: pointer;
  font-family: 'Mulish', Arial, sans-serif;
  font-size: 12px;
  font-weight: 650;
  height: 44px;
  letter-spacing: 0.055em;
  line-height: 1;
  margin-left: auto;
  min-width: 112px;
  padding: 0 24px;
  text-transform: uppercase;
  transition: background 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.collection-toolbar__reset:hover,
.collection-toolbar__reset:focus-visible {
  background: linear-gradient(135deg, #8d1c20, #701519);
  box-shadow: 0 12px 24px rgba(153, 31, 35, 0.22);
  transform: translateY(-1px);
}

.legal-page .richtext {
  background:
    linear-gradient(180deg, rgba(255, 253, 248, 0.96), rgba(255, 249, 240, 0.92)),
    radial-gradient(circle at 8% 0%, rgba(212, 175, 55, 0.09), transparent 30%);
  border: 1px solid rgba(190, 151, 58, 0.18);
  border-radius: 10px;
  box-shadow: 0 18px 42px rgba(70, 39, 31, 0.06);
  color: #594744;
  margin: clamp(28px, 5vw, 62px) auto;
  max-width: min(880px, calc(100% - 48px));
  padding: clamp(26px, 4vw, 54px);
}

.legal-page .richtext p,
.legal-page .richtext li {
  color: #5f4d49;
  font-family: 'Mulish', Arial, sans-serif;
  font-size: clamp(15px, 1.16vw, 16.5px);
  font-weight: 400;
  letter-spacing: 0.01em;
  line-height: 1.86;
  text-align: left;
}

.legal-page .richtext p {
  margin-bottom: 1.35em;
}

.legal-page .richtext h6 {
  border-top: 1px solid rgba(190, 151, 58, 0.2);
  color: #991f23;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(20px, 2vw, 28px);
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1.28;
  margin: 2.1em 0 0.75em;
  padding-top: 1.2em;
  text-transform: none;
}

.legal-page .richtext h6:first-child {
  border-top: 0;
  color: #8f1d22;
  font-size: clamp(26px, 3.1vw, 40px);
  margin-top: 0;
  padding-top: 0;
}

.legal-page .richtext h6 strong {
  color: inherit;
  font-weight: 600;
}

.legal-page .richtext ul,
.legal-page .richtext ol {
  color: #5f4d49;
  font-size: clamp(15px, 1.16vw, 16.5px);
  font-weight: 400;
  line-height: 1.78;
  margin: 1.25em 0 1.5em;
  padding-left: 1.3rem;
}

.legal-page .richtext li {
  margin-bottom: 0.72em;
  padding-left: 0.25rem;
}

.legal-page .richtext li::marker {
  color: #b58f35;
}

.legal-page .richtext strong {
  color: #7f3436;
  font-weight: 650;
}

.legal-page .richtext a {
  color: #8f1d22;
  font-weight: 600;
  text-decoration-color: rgba(185, 143, 53, 0.46);
}

.legal-page .richtext h6 {
  border-top: 0;
  color: #5f4d49;
  font-family: 'Mulish', Arial, sans-serif;
  font-size: clamp(15px, 1.16vw, 16.5px);
  font-weight: 400;
  letter-spacing: 0.01em;
  line-height: 1.82;
  margin: 0 0 1.35em;
  padding-top: 0;
}

.legal-page .richtext h6 > strong:only-child {
  border-top: 1px solid rgba(190, 151, 58, 0.2);
  color: #991f23 !important;
  display: block;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(20px, 2vw, 28px);
  font-weight: 600;
  line-height: 1.28;
  margin-top: 2.1em;
  padding-top: 1.2em;
}

.legal-page .richtext h6:first-child > strong:only-child {
  border-top: 0;
  color: #8f1d22 !important;
  font-size: clamp(26px, 3.1vw, 40px);
  margin-top: 0;
  padding-top: 0;
}

.legal-page .richtext [class^="bold-text"],
.legal-page .richtext [class*=" bold-text"] {
  color: inherit !important;
}

.collection-toolbar .collection-toolbar__select {
  display: block !important;
  height: 44px !important;
  min-height: 44px !important;
}

.collection-toolbar .collection-toolbar__reset {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  height: 44px !important;
  min-height: 44px !important;
}

.legal-page .richtext p,
.legal-page .richtext li,
.legal-page .richtext h6 {
  color: #5f4d49 !important;
}

.legal-page .richtext h6 > strong:only-child {
  color: #991f23 !important;
}

.legal-page .richtext h6:first-child > strong:only-child {
  color: #8f1d22 !important;
}

@media (max-width: 768px) {
  .collection-toolbar {
    align-items: stretch;
    border-radius: 8px;
    gap: 12px;
    margin: 18px auto 22px;
    padding: 14px;
    width: min(calc(100% - 28px), 640px);
  }

  .collection-toolbar__field,
  .collection-toolbar__select,
  .collection-toolbar__reset {
    flex: 1 1 100%;
    min-width: 0;
    width: 100%;
  }

  .collection-toolbar__select {
    height: 43px;
  }

  .collection-toolbar__reset {
    margin-left: 0;
  }

  .legal-page .richtext {
    border-radius: 8px;
    margin: 22px auto 36px;
    max-width: calc(100% - 28px);
    padding: 22px 18px;
  }

  .legal-page .richtext p,
  .legal-page .richtext li {
    font-size: 14.5px;
    line-height: 1.76;
  }

  .legal-page .richtext h6 {
    font-size: 19px;
    line-height: 1.32;
    margin-top: 1.8em;
  }

  .legal-page .richtext h6:first-child {
    font-size: 25px;
  }

  .legal-page .richtext h6 {
    font-size: 14.5px;
    line-height: 1.76;
    margin: 0 0 1.25em;
  }

  .legal-page .richtext h6 > strong:only-child {
    font-size: 19px;
    line-height: 1.32;
    margin-top: 1.8em;
  }

  .legal-page .richtext h6:first-child > strong:only-child {
    font-size: 25px;
  }
}

/* Modern active UI layer: replaces the legacy/legacy layout feel on live sections. */
:root {
  --kj-ivory: #fffaf0;
  --kj-ivory-soft: #fffdf7;
  --kj-maroon: #991f23;
  --kj-maroon-deep: #7f191d;
  --kj-gold: #d4af37;
  --kj-gold-muted: #b58f35;
  --kj-charcoal: #4f403d;
  --kj-charcoal-soft: #6e5a56;
  --kj-line: rgba(181, 143, 53, 0.22);
  --kj-shadow-soft: 0 12px 30px rgba(65, 35, 28, 0.06);
  --kj-shadow-lift: 0 18px 38px rgba(65, 35, 28, 0.1);
  --kj-ease: cubic-bezier(.22, 1, .36, 1);
}

html {
  scroll-behavior: smooth;
}

body {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  color: var(--kj-charcoal);
  text-rendering: optimizeLegibility;
}

.product-results {
  gap: clamp(18px, 2vw, 28px) !important;
}

.product-card {
  background:
    linear-gradient(180deg, rgba(255, 253, 248, 0.98), rgba(255, 249, 239, 0.94)) !important;
  border: 1px solid var(--kj-line) !important;
  border-radius: 10px !important;
  box-shadow: var(--kj-shadow-soft) !important;
  color: var(--kj-charcoal) !important;
  overflow: hidden;
  transform: translate3d(0, 0, 0);
  transition:
    border-color 240ms ease,
    box-shadow 280ms var(--kj-ease),
    opacity 220ms ease,
    transform 280ms var(--kj-ease) !important;
}

.product-card:hover,
.product-card:focus-within {
  border-color: rgba(153, 31, 35, 0.24) !important;
  box-shadow: var(--kj-shadow-lift) !important;
  transform: translateY(-4px) !important;
}

.product-card-media {
  background: #fff7eb !important;
  overflow: hidden;
}

.product-card-image {
  backface-visibility: hidden;
  transform: scale(1);
  transition: filter 260ms ease, opacity 260ms ease, transform 520ms var(--kj-ease) !important;
}

.product-card:hover .product-card-image {
  filter: saturate(1.03) contrast(1.02);
  transform: scale(1.025);
}

.product-card-info {
  background: rgba(255, 253, 248, 0.96) !important;
}

.product-card-title {
  color: var(--kj-charcoal) !important;
  font-family: Georgia, 'Times New Roman', serif !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em !important;
  line-height: 1.22 !important;
}

.product-card-category,
.product-card-price {
  color: var(--kj-charcoal-soft) !important;
  font-family: 'Mulish', Arial, sans-serif !important;
}

.product-card-price {
  color: var(--kj-maroon) !important;
  font-weight: 650 !important;
}

.collection-toolbar {
  background:
    linear-gradient(135deg, rgba(255, 253, 247, 0.99), rgba(255, 249, 237, 0.96)),
    radial-gradient(circle at 12% 0%, rgba(212, 175, 55, 0.1), transparent 34%) !important;
  border-color: var(--kj-line) !important;
  box-shadow: var(--kj-shadow-soft) !important;
}

.collection-toolbar__label {
  color: #876d67 !important;
  font-weight: 620 !important;
}

.collection-toolbar__select {
  color: #5e4a46 !important;
  font-weight: 500 !important;
}

.collection-toolbar__select:hover,
.collection-toolbar__select:focus {
  color: var(--kj-charcoal) !important;
  transform: translateY(-1px);
}

.collection-toolbar__reset {
  background: linear-gradient(135deg, var(--kj-maroon), var(--kj-maroon-deep)) !important;
}

.collection-empty-state {
  color: var(--kj-charcoal-soft) !important;
  font-family: 'Mulish', Arial, sans-serif;
  letter-spacing: 0.01em;
}

.kj-interactive-card {
  backface-visibility: hidden;
  transform: translate3d(0, 0, 0);
  transition:
    border-color 240ms ease,
    box-shadow 280ms var(--kj-ease),
    filter 260ms ease,
    opacity 220ms ease,
    transform 280ms var(--kj-ease);
}

.kj-interactive-card:hover {
  transform: translateY(-3px);
}

.legal-page .richtext {
  box-shadow: var(--kj-shadow-soft) !important;
}

.legal-page .richtext:hover {
  box-shadow: 0 18px 42px rgba(65, 35, 28, 0.08) !important;
}

.section-16 .kj-review-card {
  transition:
    opacity 420ms ease,
    transform 680ms var(--kj-ease),
    box-shadow 280ms ease !important;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

@media (max-width: 768px) {
  html {
    scroll-behavior: auto;
  }

  .product-card:hover,
  .product-card:focus-within,
  .kj-interactive-card:hover {
    transform: none !important;
  }

  .product-card-image,
  .product-card:hover .product-card-image {
    filter: none;
    transform: none;
  }
}

/* Production repair pass: enquiry flow, mobile overlap containment, contact/legal polish. */
.kj-phone-link {
  color: inherit;
  display: inline;
  overflow-wrap: anywhere;
  text-decoration-thickness: .06em;
  text-underline-offset: .18em;
}

.product-card-media {
  margin-bottom: 14px !important;
}

.product-card-title {
  margin-top: 8px !important;
}

.product-card-info {
  gap: 14px !important;
}

.product-header5_layout {
  align-items: stretch !important;
}

.sp-product-image-wrapper,
.zoom-wrapper {
  min-height: clamp(360px, 42vw, 610px) !important;
}

.sp-product-image {
  height: 100% !important;
  min-height: inherit !important;
  object-fit: contain !important;
}

.product-header4_product-details {
  align-self: stretch !important;
  background: linear-gradient(180deg, #fffdf8, #fff8ef) !important;
  border-color: rgba(153, 31, 35, .16) !important;
  box-shadow: 0 14px 36px rgba(65, 35, 28, .08) !important;
  overflow: auto !important;
}

.intro-content-20.kj-hero-image-safe {
  background-position: center center !important;
  background-size: cover !important;
}

.intro-content-20.cc-homepage-20 {
  background-position: 62% center !important;
}

.legal-page .richtext,
.terms-page-content,
.legal-content {
  color: #4a3334;
  font-family: Mulish, Arial, sans-serif;
}

.legal-page h1,
.legal-page h2,
.legal-page h3,
.legal-page .heading-jumbo,
.legal-page .heading,
.legal-page .heading-2 {
  color: #991f23 !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: 1.14 !important;
}

.legal-page h2,
.legal-page h3,
.legal-page .richtext h6 {
  border-bottom: 1px solid rgba(212, 175, 55, .28);
  color: #7f1a1e !important;
  font-family: Mulish, Arial, sans-serif !important;
  font-size: clamp(17px, 2vw, 22px) !important;
  font-weight: 650 !important;
  padding-bottom: 8px;
}

.contact-page .section-contact,
body:has(.contact-form) .section-contact,
body:has(.contact-form) .contact-section {
  background: #fffaf1;
}

body:has(.map-2) .product-item-12,
body:has(.map-3) .product-item-12 {
  background: #fffdf8 !important;
  border: 1px solid rgba(153, 31, 35, .14) !important;
  border-radius: 10px !important;
  box-shadow: 0 14px 30px rgba(65, 35, 28, .07) !important;
  overflow: hidden !important;
}

body:has(.map-2) iframe,
body:has(.map-3) iframe {
  display: block;
  max-width: 100%;
  width: 100% !important;
}

.enquiry-page {
  background: radial-gradient(circle at top left, rgba(212, 175, 55, .16), transparent 34%), #fffaf1;
  color: #3f3030;
  font-family: Mulish, Arial, sans-serif;
}

.enquiry-page-shell {
  margin: 0 auto;
  max-width: 1080px;
  padding: clamp(26px, 6vw, 70px) 18px;
}

.enquiry-logo {
  display: inline-flex;
  margin-bottom: clamp(28px, 5vw, 52px);
}

.enquiry-logo img {
  height: auto;
  max-width: 190px;
}

.enquiry-hero {
  margin-bottom: 28px;
  max-width: 760px;
}

.enquiry-eyebrow {
  color: #991f23;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.enquiry-hero h1 {
  color: #991f23;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(38px, 7vw, 74px);
  font-weight: 400;
  line-height: 1.02;
  margin: 8px 0 18px;
}

.enquiry-hero p,
.enquiry-footnote {
  color: #6d5752;
  font-size: clamp(16px, 2vw, 19px);
  line-height: 1.65;
}

.enquiry-card {
  background: rgba(255, 255, 255, .9);
  border: 1px solid rgba(153, 31, 35, .14);
  border-radius: 10px;
  box-shadow: 0 24px 60px rgba(65, 35, 28, .1);
  padding: clamp(20px, 4vw, 42px);
}

.enquiry-form {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.enquiry-form label {
  display: grid;
  gap: 8px;
}

.enquiry-form span {
  color: #715b55;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.enquiry-form input,
.enquiry-form select,
.enquiry-form textarea {
  background: #fffaf1;
  border: 1px solid rgba(153, 31, 35, .18);
  border-radius: 6px;
  color: #302424;
  font: 500 16px/1.4 Mulish, Arial, sans-serif;
  min-height: 48px;
  padding: 12px 14px;
}

.enquiry-form input:focus,
.enquiry-form select:focus,
.enquiry-form textarea:focus {
  border-color: #991f23;
  box-shadow: 0 0 0 3px rgba(153, 31, 35, .1);
  outline: none;
}

.enquiry-form__wide,
.enquiry-actions,
.enquiry-form__success {
  grid-column: 1 / -1;
}

.enquiry-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.enquiry-submit,
.enquiry-whatsapp {
  border: 1px solid #991f23;
  border-radius: 6px;
  cursor: pointer;
  font: 700 14px/1 Mulish, Arial, sans-serif;
  letter-spacing: .08em;
  min-height: 48px;
  padding: 0 22px;
  text-transform: uppercase;
  transition: transform 180ms ease, box-shadow 200ms ease, background 200ms ease;
}

.enquiry-submit {
  background: #991f23;
  color: #fffaf1;
}

.enquiry-whatsapp {
  background: #fffaf1;
  color: #991f23;
}

.enquiry-submit:hover,
.enquiry-whatsapp:hover {
  box-shadow: 0 12px 24px rgba(65, 35, 28, .12);
  transform: translateY(-1px);
}

.enquiry-form__success {
  background: rgba(212, 175, 55, .14);
  border-radius: 6px;
  color: #5d4718;
  margin: 0;
  padding: 12px 14px;
}

@media (max-width: 1023px) {
  .banner-2.kj-banner2-review-style .kj-banner2-slide:not(.is-active) .team5_image-wrapper {
    opacity: 0 !important;
    visibility: hidden !important;
  }

  .banner-2.kj-banner2-review-style .kj-banner2-slide:not(.is-active) {
    pointer-events: none !important;
    visibility: hidden !important;
  }

  .banner-2.kj-banner2-review-style .kj-banner2-slide.is-active {
    visibility: visible !important;
  }
}

@media (max-width: 767px) {
  html,
  body {
    max-width: 100% !important;
    overflow-x: clip !important;
  }

  .kj-mobile-rate-strip {
    contain: paint !important;
    height: 36px !important;
    max-width: 100vw !important;
    overflow: hidden !important;
    position: relative !important;
  }

  .kj-mobile-rate-strip__track {
    left: 0 !important;
    position: absolute !important;
    top: 0 !important;
  }

  .sp-product-image-wrapper,
  .zoom-wrapper {
    min-height: auto !important;
  }

  .product-header4_product-details {
    position: relative !important;
  }

  .enquiry-form {
    grid-template-columns: 1fr;
  }

  .enquiry-actions {
    flex-direction: column;
  }

  .enquiry-submit,
  .enquiry-whatsapp {
    width: 100%;
  }

  .footer-link-2,
  .text-size-small9999 {
    overflow-wrap: anywhere;
  }
}

@media (min-width: 768px) {
  .product-header4_product-details {
    scrollbar-width: thin;
  }
}

/* Final production polish: banner alignment, legal pages, platinum image, and rate menu. */
@media (min-width: 1024px) {
  .banner-2 .team5_list {
    align-items: stretch !important;
    display: grid !important;
    gap: clamp(30px, 4vw, 64px) !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .banner-2 .team5_item {
    align-items: center !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    justify-content: flex-start !important;
    text-align: center !important;
  }

  .banner-2 .team5_item .margin-bottom,
  .banner-2 .team5_item .margin-bottom.margin-small {
    margin-bottom: 18px !important;
  }

  .banner-2 .team5_image-wrapper {
    aspect-ratio: 1 / 1 !important;
    border-radius: 50% !important;
    height: clamp(210px, 18vw, 250px) !important;
    margin: 0 auto !important;
    overflow: hidden !important;
    width: clamp(210px, 18vw, 250px) !important;
  }

  .banner-2 .team5_image {
    border-radius: 50% !important;
    height: 100% !important;
    object-fit: cover !important;
    width: 100% !important;
  }

  .banner-2 .text-size-large {
    color: #991f23 !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: clamp(34px, 3vw, 44px) !important;
    font-weight: 400 !important;
    line-height: 1.08 !important;
    margin: 0 0 12px !important;
  }

  .banner-2 .paragraph {
    color: #6d5d5b !important;
    font-family: Mulish, Arial, sans-serif !important;
    font-size: clamp(18px, 1.45vw, 22px) !important;
    line-height: 1.46 !important;
    margin: 0 auto !important;
    max-width: 320px !important;
    min-height: 64px !important;
    text-align: center !important;
  }
}

header.site-header .rate-dropdown {
  align-items: center !important;
  display: inline-flex !important;
  font-family: Mulish, Arial, sans-serif !important;
  min-height: 100% !important;
}

header.site-header .rate-toggle,
header.site-header .rate-row {
  align-items: center !important;
  color: inherit !important;
  display: inline-flex !important;
  font-family: Mulish, Arial, sans-serif !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  gap: 10px !important;
  letter-spacing: 0 !important;
  line-height: 1.2 !important;
  transition: color 180ms ease, transform 180ms ease, background-color 180ms ease !important;
}

header.site-header .navigation-2 .rate-toggle {
  color: #ffffff !important;
  font-size: clamp(17px, 1.18vw, 20px) !important;
  font-weight: 700 !important;
  min-height: 50px !important;
  padding: 0 8px !important;
  white-space: nowrap !important;
}

header.site-header .navigation-2 .rate-toggle:hover,
header.site-header .navigation-2 .rate-dropdown.is-open .rate-toggle {
  color: #fff4cc !important;
  transform: translateY(-1px);
}

header.site-header .rate-toggle .rate-coin {
  flex: 0 0 28px !important;
  height: 28px !important;
  object-fit: contain !important;
  width: 28px !important;
}

header.site-header .rate-row .rate-coin {
  flex: 0 0 24px !important;
  height: 24px !important;
  object-fit: contain !important;
  width: 24px !important;
}

header.site-header .rate-chevron {
  border-color: currentColor !important;
  height: 8px !important;
  margin-left: 2px !important;
  width: 8px !important;
}

header.site-header .rate-menu {
  border: 1px solid rgba(153, 31, 35, 0.12) !important;
  border-radius: 0 0 8px 8px !important;
  box-shadow: 0 14px 30px rgba(48, 20, 12, 0.14) !important;
  min-width: 275px !important;
  padding: 8px !important;
}

header.site-header .rate-menu .rate-row {
  color: #2d2524 !important;
  font-size: 15.5px !important;
  font-weight: 650 !important;
  justify-content: flex-start !important;
  padding: 10px 12px !important;
  width: 100% !important;
}

header.site-header .rate-menu .rate-row:hover,
header.site-header .rate-menu .rate-row:focus-visible {
  background: rgba(153, 31, 35, 0.07) !important;
  color: #991f23 !important;
  outline: 0 !important;
}

@media (max-width: 991px) {
  header.site-header .rate-toggle .rate-coin,
  header.site-header .rate-row .rate-coin {
    flex-basis: 24px !important;
    height: 24px !important;
    width: 24px !important;
  }

  header.site-header .rate-toggle {
    font-size: 15px !important;
    max-width: calc(100vw - 42px) !important;
  }
}

.kj-platinum-coming-soon-page .banner-18 {
  align-items: center !important;
  display: flex !important;
  justify-content: center !important;
  padding: clamp(26px, 5vw, 64px) clamp(16px, 4vw, 44px) !important;
}

.kj-coming-soon--image-only {
  background: transparent !important;
  box-shadow: none !important;
  margin: 0 auto !important;
  max-width: 1180px !important;
  padding: 0 !important;
  width: 100% !important;
}

.kj-coming-soon--image-only img {
  border-radius: clamp(10px, 1.4vw, 18px) !important;
  box-shadow: 0 20px 46px rgba(48, 20, 12, 0.14) !important;
  display: block !important;
  height: auto !important;
  max-width: 100% !important;
  object-fit: contain !important;
  width: 100% !important;
}

body.legal-page {
  background: #fffaf1 !important;
}

.legal-page .richtext {
  background: #fffdf8 !important;
  border: 1px solid rgba(190, 151, 58, 0.2) !important;
  border-radius: 10px !important;
  box-shadow: 0 16px 38px rgba(65, 35, 28, 0.055) !important;
  color: #4b403e !important;
  max-width: min(920px, calc(100% - 32px)) !important;
}

.legal-page .richtext h6,
.legal-page .richtext p,
.legal-page .richtext li {
  color: #4f4543 !important;
  font-family: Mulish, Arial, sans-serif !important;
  font-size: clamp(15px, 1.1vw, 16.5px) !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: 1.82 !important;
}

.legal-page .richtext h6 {
  border: 0 !important;
  margin: 0 0 1.25em !important;
  padding: 0 !important;
}

.legal-page .richtext strong:not(:only-child) {
  color: #69433f !important;
  font-weight: 650 !important;
}

@media (max-width: 767px) {
  .legal-page .richtext {
    border-radius: 8px !important;
    margin: 20px auto 34px !important;
    padding: 22px 18px !important;
  }

  .legal-page .richtext h6,
  .legal-page .richtext p,
  .legal-page .richtext li {
    font-size: 14.5px !important;
    line-height: 1.74 !important;
  }
  .legal-page .richtext h6 > strong:only-child {
    font-size: 19px !important;
  }

  .legal-page .richtext h6:first-child > strong:only-child {
    font-size: 26px !important;
  }
}

/* --- KERALA JEWELLERS CUSTOM LAYOUT FIXES (v19) --- */

/* 1. Hero Banner Sliders - Explore button safe margin from bottom */
.banner-slider1,
.banner-slider2,
.banner-slider3,
.banner-slider4 {
  padding-bottom: 50px !important;
  box-sizing: border-box !important;
}

@media (max-width: 991px) {
  .banner-slider1,
  .banner-slider2,
  .banner-slider3,
  .banner-slider4 {
    padding-bottom: 35px !important;
  }
}

.banner-slider1 .intro-content-2,
.banner-slider2 .intro-content-2,
.banner-slider3 .intro-content-2,
.banner-slider4 .intro-content-2 {
  margin-bottom: 0 !important;
  padding-bottom: 10px !important;
}

/* 2. Product detail box scroll option removal */
.product-header4_product-details {
  overflow: visible !important;
  height: auto !important;
}

/* 3. Reset button center alignment and right position on desktop */
@media (min-width: 992px) {
  .collection-toolbar__reset {
    margin-left: auto !important;
    align-self: center !important;
  }
}

/* 4. Product listing tagline overrides in maroon color */
.paragraph-12,
.paragraph-14,
.paragraph-16,
.paragraph-17,
.paragraph-center,
.paragraph-center-copy,
.paragraph-center-14 {
  color: #991f23 !important;
}

/* 5. Show custom dropdown list when parent .dropdown is hovered or open on desktop */
@media (min-width: 992px) {
  .dropdown:hover > .dropdown-list,
  .dropdown.is-open > .dropdown-list {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }
}

/* 6. Legal Pages Typography & Bold Weight Fix */
.legal-page h1,
.legal-page h2,
.legal-page h3,
.legal-page h4,
.legal-page h5,
.legal-page h6,
.legal-page .heading-jumbo,
.legal-page .heading,
.legal-page .heading-2,
.legal-page .heading-15,
.legal-page .heading-16 {
  color: #991f23 !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  line-height: 1.14 !important;
}

.legal-page .richtext h6 {
  border-top: 1px solid rgba(212, 175, 55, 0.25) !important;
  color: #991f23 !important;
  display: block !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(20px, 2vw, 27px) !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  margin: 2em 0 0.65em !important;
  padding-top: 1.05em !important;
}

.legal-page .richtext h6:first-child {
  border-top: 0 !important;
  padding-top: 0 !important;
  margin-top: 0 !important;
}

.legal-page .richtext h6 strong {
  color: inherit !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
}



.legal-page .richtext strong,
.legal-page .richtext b,
.legal-page .richtext .bold-text,
.legal-page .richtext .bold-text-7 {
  color: #3b2826 !important;
  font-weight: 700 !important;
}

/* 7. Banner 2 (Weddings, Authenticity, Heritage) Dimensions & Alignment */
.banner-2 {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: clamp(30px, 4vw, 50px) 20px !important;
}

.banner-2 .team5_list {
  align-items: stretch !important;
  display: grid !important;
  gap: clamp(20px, 3vw, 40px) !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  width: 100% !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
}

.banner-2 .team5_item {
  align-items: center !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  justify-content: flex-start !important;
  text-align: center !important;
}

.banner-2 .team5_image-wrapper {
  aspect-ratio: 1 / 1 !important;
  border-radius: 50% !important;
  height: clamp(170px, 15vw, 210px) !important;
  margin: 0 auto !important;
  overflow: hidden !important;
  width: clamp(170px, 15vw, 210px) !important;
}

.banner-2 .text-size-large {
  color: #991f23 !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(26px, 2.5vw, 32px) !important;
  font-weight: 400 !important;
  line-height: 1.08 !important;
  margin: 0 0 8px !important;
}

.banner-2 .paragraph {
  color: #6d5d5b !important;
  font-size: clamp(15px, 1.1vw, 17px) !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}

/* 8. Product Details Labels Maroon Color */
.word1,
.word3,
.word5,
.word7 {
  color: #991f23 !important;
  font-weight: 700 !important;
}

/* 9. Global Font Overrides */
body, 
p, 
h1, 
h2, 
h3, 
h4, 
h5, 
h6, 
a, 
button, 
input, 
textarea, 
.text-block, 
.paragraph, 
.heading {
  font-family: 'Mulish', sans-serif !important;
}

/* 10. Heading Jumbo 2 Fix (Keep it inside the banner and make it responsive) */
.heading-jumbo-2-copy-copy {
  margin-top: 0 !important;
  word-break: break-word !important;
  max-width: 100% !important;
  font-size: clamp(28px, 4.5vw, 55px) !important;
  line-height: 1.2 !important;
}
/* 11. Redesign h6: highlight but not maroon, reduced size */
.legal-page .richtext h6 {
    color: #4f403d !important; /* Charcoal highlight */
    border-top: none !important;
    border-bottom: 1px solid rgba(212, 175, 55, 0.4) !important;
    font-family: 'Mulish', sans-serif !important;
    font-size: clamp(16px, 1.5vw, 20px) !important;
    font-weight: 700 !important;
    padding-bottom: 0.5em !important;
    margin: 1.5em 0 0.75em !important;
}

.legal-page .richtext h6:first-child {
    border-top: none !important;
    margin-top: 0 !important;
}



/* 13. Legal Pages Minimalist Redesign */
.legal-clean-layout {
    max-width: 1000px;
    margin: 60px auto 100px;
    padding: 0 20px;
}

.legal-clean-title {
    text-align: center;
    color: #3b2826 !important;
    font-family: 'Mulish', sans-serif !important;
    font-size: clamp(32px, 5vw, 42px);
    font-weight: 700;
    margin: 0 0 20px 0;
}

.legal-title-divider {
    width: 60px;
    height: 3px;
    background-color: #d4af37;
    margin: 0 auto 50px;
}

.legal-clean-layout .richtext p, .legal-clean-layout .richtext li {
    color: #4f4543 !important;
    line-height: 1.8 !important;
    font-size: 16px !important;
    margin-bottom: 1.5em !important;
    font-family: 'Mulish', sans-serif !important;
}


/* 14. Typography and Product Details Adjustments */

/* text-size-large should use Montserrat as the elegant related font */
.text-size-large {
    font-family: "Com 4 Dl", sans-serif !important;
}

/* Product Detail Labels */
.product-header4_product-details .word1, .product-header4_product-details .word3, .product-header4_product-details .word5, .product-header4_product-details .word7, .product-header5_product-details .word1, .product-header5_product-details .word3, .product-header5_product-details .word5, .product-header5_product-details .word7, .text-block-78 {
    color: #991f23 !important;
    font-weight: 700 !important;
}

/* Enquiry Page Specific overrides to ensure theme styles are respected */
.enquiry-page, .enquiry-page * {
    font-family: 'Mulish', sans-serif !important;
}
.enquiry-page h1, .enquiry-page h2, .enquiry-page h3, #enquiry-title {
    color: #991f23 !important;
    font-family: "Com 4 Dl", sans-serif !important;
}
