/* Scoped presentation improvements; original content and branding remain intact. */
.ux-enhanced{--ux-line:color-mix(in srgb,currentColor 18%,transparent);--ux-radius:18px}
.ux-enhanced h1{line-height:1.12;text-wrap:balance;overflow-wrap:break-word}
.ux-enhanced h2,.ux-enhanced h3{line-height:1.25;text-wrap:balance;scroll-margin-top:100px}
.ux-enhanced p{max-width:72ch;text-wrap:pretty}
.ux-enhanced :is(button,input,select,textarea){min-height:44px}
.ux-enhanced :is(a,button,input,select,textarea):focus-visible{outline:3px solid #d29637;outline-offset:4px}
.ux-media{width:min(100% - 40px,1120px);margin:32px auto 48px;clear:both;box-sizing:border-box;color:inherit}
.ux-media *{box-sizing:border-box}
.ux-media figure{margin:0;min-width:0;overflow:hidden;border:1px solid var(--ux-line,#ddd);border-radius:var(--ux-radius,18px);background:color-mix(in srgb,currentColor 3%,transparent)}
.ux-media img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.ux-media figcaption{padding:14px 18px;font:inherit;font-size:14px;line-height:1.6;max-width:72ch;opacity:.85}
.ux-media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:20px}
.ux-media-label{font-size:12px!important;font-weight:600;letter-spacing:.12em;text-transform:uppercase;margin:0 0 16px!important;max-width:none!important}
.ux-media-cta{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:20px 0 0}
.ux-media-cta a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;border-radius:8px;background:#174c3c;color:#fff!important;text-decoration:none!important;font-weight:600;font-size:15px;line-height:1.4}
.ux-media-cta a:hover{background:#0f362b}
.ux-mobile-contact{display:none}
html[dir=rtl] .ux-media{direction:rtl}
body.ux-site-health .ux-media-cta a{background:#1c4967}
body.ux-site-training .ux-media-cta a{background:#1d4ed8}
body.ux-site-automation .ux-media-cta a{background:#163b32}
@media(max-width:639px){.ux-media{width:calc(100% - 32px);margin:24px auto 36px}.ux-media-grid{grid-template-columns:1fr;gap:16px}.ux-media figcaption{padding:12px 14px}.ux-media-cta a{width:100%}.ux-enhanced h1{font-size:clamp(2rem,8.6vw,3rem)!important}.ux-mobile-contact{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:9998;padding:10px 16px max(10px,env(safe-area-inset-bottom));gap:10px;background:#fff;border-top:1px solid #ddd;box-shadow:0 -3px 18px #0001}.ux-mobile-contact a{display:flex;flex:1;min-height:44px;align-items:center;justify-content:center;background:#174c3c;color:#fff;text-decoration:none;font:600 15px/1.4 system-ui;border-radius:7px}body.ux-has-contact{padding-bottom:80px!important}}
@media(prefers-reduced-motion:reduce){.ux-enhanced *, .ux-media *{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Contain off-screen WordPress mega-menu panels without changing page content. */
body.ux-site-garden:has(.elementskit-megamenu-panel){overflow-x:clip}
/* Feature imagery, supporting grids and a touch/keyboard carousel. */
.ux-image-note{font-size:12px!important;line-height:1.6!important;opacity:.75;margin:14px 0!important}
.ux-feature-gallery>figure{box-shadow:0 14px 38px #0000000c}
.ux-media figure{transition:box-shadow .2s ease,border-color .2s ease}
.ux-media figure:hover{box-shadow:0 12px 32px #00000012}
.ux-media figcaption span{display:block;font-size:12px;opacity:.8;margin-top:4px}
.ux-carousel{padding:24px;border:1px solid var(--ux-line,#deded5);border-radius:22px;background:linear-gradient(135deg,#f4f7f2,#ffffff);color:#15362b;box-shadow:0 14px 40px #00000008}
.ux-carousel-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}
.ux-gallery-title{margin:0!important;font:600 22px/1.3 system-ui!important;letter-spacing:-.03em;max-width:none!important}
.ux-gallery-title span{display:block;margin-top:6px;font:500 12px/1.5 system-ui;letter-spacing:.04em;color:#59675e}
.ux-carousel-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ux-carousel-controls button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:10px 14px;border:1px solid #c4d1c7;border-radius:999px;background:white;color:#15362b;font:600 14px/1.3 system-ui;cursor:pointer}
.ux-carousel-controls button[hidden]{display:none}.ux-carousel-controls button:disabled{opacity:.38;cursor:default}
.ux-carousel-controls button:hover:not(:disabled){background:#153e30;color:#fff}
.ux-carousel :is(button,.ux-carousel-rail):focus-visible{outline:3px solid #c99530;outline-offset:3px}
.ux-carousel-rail{display:flex;gap:18px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding:0;overscroll-behavior-x:contain;scrollbar-width:thin;padding:0 0 12px;align-items:stretch}
.ux-carousel-rail>figure{flex:0 0 calc(50% - 9px);scroll-snap-align:start;background:#fff;border-color:#dae2dc}
.ux-carousel-rail img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}
.ux-carousel-status{margin:10px 0 0!important;font:500 12px/1.5 system-ui!important;color:#59675e}
.ux-gallery-mode .ux-carousel-rail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;scroll-snap-type:none}
body.ux-site-health .ux-carousel{background:linear-gradient(135deg,#eef6fc,#fff);color:#1c4967}
body.ux-site-training .ux-carousel{background:linear-gradient(135deg,#eef3ff,#fff)}
body.ux-site-tool .ux-carousel{background:linear-gradient(135deg,#f2f2fb,#fff)}
html.ux-wordpress-store{overflow-x:clip}
@media(max-width:639px){.ux-carousel{padding:18px}.ux-carousel-header{align-items:flex-start;gap:12px}.ux-gallery-title{font-size:20px!important}.ux-carousel-rail>figure{flex-basis:100%}.ux-gallery-mode .ux-carousel-rail{grid-template-columns:1fr}.ux-carousel-controls button{padding:10px 12px}.ux-carousel figcaption{font-size:13px}}
@media(prefers-reduced-motion:reduce){.ux-carousel-rail{scroll-behavior:auto!important}.ux-media figure{transition:none}}
/* Keep commerce forms comfortable to tap, using their existing product imagery. */
body:is(.woocommerce-checkout,.woocommerce-cart,.woocommerce-account) :is(input:not([type=checkbox]):not([type=radio]),select,button,.button){min-height:44px}
body:is(.woocommerce-checkout,.woocommerce-cart,.woocommerce-account) :is(input,select,button,a):focus-visible{outline:3px solid #c99530;outline-offset:3px}
.ux-carousel{scroll-margin-top:120px}
/* Full-opacity captions keep small disclosure text above AA contrast. */
.ux-media figure{background:#fff;color:#35463c}
.ux-media figcaption,.ux-media figcaption span,.ux-image-note{opacity:1}
.ux-enhanced :is(a,button,input,select,textarea):focus-visible,.ux-carousel :is(button,.ux-carousel-rail):focus-visible{outline-color:#986a1b;box-shadow:0 0 0 2px #fff}

/* Let wide service comparison tables scroll inside their own mobile viewport. */
@media(max-width:639px){.ux-enhanced table.prose-table{display:block;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.ux-enhanced table.prose-table :is(th,td){min-width:110px}}

/* Expanded, explicitly labelled project-concept galleries. */
.ux-project-disclosure{font-size:13px!important;line-height:1.65!important;color:#35463c;background:#fff;border:1px solid #dbe2dc;border-radius:10px;padding:12px 16px;margin:0 0 20px!important;max-width:none!important}.ux-gallery-title{margin:0!important}.ux-gallery-mode .ux-carousel-rail{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:900px){.ux-gallery-mode .ux-carousel-rail{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:639px){.ux-gallery-mode .ux-carousel-rail{grid-template-columns:1fr}}
