.elementor-kit-5{--e-global-color-primary:#7A1348;--e-global-color-secondary:#211D1B;--e-global-color-text:#4A453F;--e-global-color-accent:#3F6E52;--e-global-color-099273b:#16DB66;--e-global-color-a1aac50:#FFFFFF;--e-global-color-c6b4c4d:#E1E210;--e-global-color-a98837b:#10FFEF;--e-global-typography-primary-font-family:"Space Grotesk";--e-global-typography-primary-font-weight:600;--e-global-typography-primary-line-height:1.1em;--e-global-typography-secondary-font-family:"Space Grotesk";--e-global-typography-secondary-font-weight:500;--e-global-typography-secondary-line-height:1.15em;--e-global-typography-text-font-family:"IBM Plex Sans";--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.6em;--e-global-typography-accent-font-family:"IBM Plex Sans";--e-global-typography-accent-font-weight:500;--e-global-typography-accent-letter-spacing:0.02em;}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* Hide theme-native page titles site-wide; Elementor content supplies its own headings. Single product pages keep their title since WooCommerce has no other heading there. */
body:not(.single-product) .entry-title, body:not(.single-product) .page-title, .ast-page-title-bar, .woocommerce-products-header__title, header.woocommerce-products-header { display: none !important; }

/* Footer bottom-bar legal links hover */
.elementor-element-2ae5d62 a:hover { color: #FFFFFF !important; }

/* Single Product template: flex-basis widths for split columns (element ids from post 458 as of last rebuild) */
.single-product .elementor-element-177e0e0 { flex: 0 0 50% !important; max-width: 50% !important; min-width: 0 !important; }
.single-product .elementor-element-b9a74c4 { flex: 0 0 58% !important; max-width: 58% !important; min-width: 0 !important; }
.single-product .elementor-element-b3c0610 { flex: 0 0 46% !important; max-width: 46% !important; min-width: 0 !important; }
.single-product .elementor-element-33a2bec { flex: 0 0 34% !important; max-width: 34% !important; min-width: 0 !important; }
.single-product .elementor-element-add34e7, .single-product .elementor-element-062597b, .single-product .elementor-element-ba96393, .single-product .elementor-element-fac311d, .single-product .elementor-element-e6d4cfe, .single-product .elementor-element-4d0cb90, .single-product .elementor-element-3090e93 { flex: 0 0 13% !important; max-width: 13% !important; min-width: 0 !important; }

/* Sitewide polish: sharper cards, shadows/depth, button style, tighter grids */
body:not(.elementor-editor-active) .elementor-widget-icon-box, body:not(.elementor-editor-active) .woocommerce ul.products li.product, body:not(.elementor-editor-active) .e-loop-item, body:not(.elementor-editor-active) .elementor-widget-woocommerce-product-images .woocommerce-product-gallery__wrapper { border-radius: 14px; box-shadow: 0 2px 10px rgba(33,29,27,0.07); transition: box-shadow .25s ease, transform .25s ease; }
body:not(.elementor-editor-active) .elementor-widget-icon-box:hover, body:not(.elementor-editor-active) .woocommerce ul.products li.product:hover, body:not(.elementor-editor-active) .e-loop-item:hover { box-shadow: 0 14px 30px rgba(33,29,27,0.14); transform: translateY(-4px); }
.woocommerce ul.products li.product { padding: 16px !important; background: #FFFFFF; }
body:not(.elementor-editor-active) .elementor-button, body:not(.elementor-editor-active) .ywctm-toggle-button { border-radius: 10px !important; box-shadow: 0 4px 16px rgba(122,19,72,0.20) !important; transition: transform .22s ease, box-shadow .22s ease !important; }
body:not(.elementor-editor-active) .elementor-button:hover, body:not(.elementor-editor-active) .ywctm-toggle-button:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(122,19,72,0.30) !important; }
.woocommerce ul.products, .elementor-loop-container.swiper-wrapper { gap: 22px; }
.elementor-icon-box-wrapper { gap: 4px; }

/* Our Services page: 2-column photo card grid */
.page-id-161 .elementor-element-1ae43aa, .page-id-161 .elementor-element-a1fdcbf, .page-id-161 .elementor-element-4ad26bb, .page-id-161 .elementor-element-9ee8a32, .page-id-161 .elementor-element-42dbc40, .page-id-161 .elementor-element-c0125fd { flex: 0 0 47% !important; max-width: 47% !important; min-width: 320px !important; }
.page-id-161 .elementor-widget-image img { width: 100%; height: 240px; object-fit: cover; display: block; }
.page-id-161 .elementor-element-1ae43aa:hover, .page-id-161 .elementor-element-a1fdcbf:hover, .page-id-161 .elementor-element-4ad26bb:hover, .page-id-161 .elementor-element-9ee8a32:hover, .page-id-161 .elementor-element-42dbc40:hover, .page-id-161 .elementor-element-c0125fd:hover { box-shadow: 0 14px 32px rgba(33,29,27,0.16) !important; transform: translateY(-4px); }
.page-id-161 .elementor-element-1ae43aa, .page-id-161 .elementor-element-a1fdcbf, .page-id-161 .elementor-element-4ad26bb, .page-id-161 .elementor-element-9ee8a32, .page-id-161 .elementor-element-42dbc40, .page-id-161 .elementor-element-c0125fd { transition: box-shadow .25s ease, transform .25s ease; text-decoration: none; }

/* Service detail pages: prominent full-width photo below intro */
.page-id-162 .elementor-element-bd59e83 img { width: 100%; height: 420px; object-fit: cover; display: block; }
.page-id-163 .elementor-element-afa148a img { width: 100%; height: 420px; object-fit: cover; display: block; }
.page-id-164 .elementor-element-fd38566 img { width: 100%; height: 420px; object-fit: cover; display: block; }
.page-id-165 .elementor-element-c77b4af img { width: 100%; height: 420px; object-fit: cover; display: block; }
.page-id-166 .elementor-element-7682b30 img { width: 100%; height: 420px; object-fit: cover; display: block; }
.page-id-167 .elementor-element-1838880 img { width: 100%; height: 420px; object-fit: cover; display: block; }

/* Homepage hero: subtle Ken Burns zoom on the photo panel */
@keyframes roygbiveHeroKenBurns { 0% { background-size: 104% auto; } 100% { background-size: 118% auto; } }
.page-id-157 .elementor-element-4ac562a { animation: roygbiveHeroKenBurns 18s ease-in-out infinite alternate !important; background-position: center center !important; }

/* Homepage photo band: 3-col cards */
.page-id-157 .elementor-element-01990cd, .page-id-157 .elementor-element-669f874, .page-id-157 .elementor-element-6d1aa03 { flex: 0 0 31% !important; max-width: 31% !important; min-width: 280px !important; transition: box-shadow .25s ease, transform .25s ease; }
.page-id-157 .elementor-element-01990cd, .page-id-157 .elementor-element-669f874, .page-id-157 .elementor-element-6d1aa03:hover { box-shadow: 0 14px 32px rgba(33,29,27,0.16) !important; transform: translateY(-4px); }
.page-id-157 .elementor-element-01990cd img, .page-id-157 .elementor-element-669f874 img, .page-id-157 .elementor-element-6d1aa03 img { width:100%; height:200px; object-fit:cover; display:block; }/* End custom CSS */