/* Small usability improvements; the original layout and typography stay intact. */
:root{--focus-ring:#006e37;--body-scroll-width:0px}
html{scroll-behavior:smooth;scroll-padding-top:24px;overflow-x:hidden}
body{overflow-x:hidden}
button,input,textarea{font:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid var(--focus-ring)!important;outline-offset:5px}
.skip-link{position:fixed;top:12px;left:12px;transform:translateY(-180%);background:#fff;color:#006e37;padding:12px 20px;z-index:2147483647}
.skip-link:focus{transform:none}
[data-original-effect]{opacity:1!important;visibility:visible!important}
.deeper:focus-within>.mod-menu__sub{display:block!important}
.ba-item-logo img{height:auto}
.ba-item-image img{height:auto}
.ba-item-carousel .slideshow-content{height:482px;position:relative;overflow:hidden}
.ba-item-carousel .slideshow-content>li.item{position:absolute!important;inset:0;display:none!important;opacity:1!important;transform:none!important;margin:0!important}
.ba-item-carousel .slideshow-content>li.item.is-active,.ba-item-carousel .slideshow-content>li.item.is-leaving{display:block!important;animation:none!important}
.ba-item-carousel .slideset-inner{width:100%;height:100%;position:relative}
.ba-item-carousel .ba-slideshow-img{position:relative!important;inset:auto!important;background-repeat:no-repeat;background-position:center;height:400px}
.ba-item-carousel .ba-slideshow-caption{position:relative!important;opacity:1!important;transform:none!important;inset:auto!important;padding:0!important;min-height:82px}
.ba-item-carousel .ba-slideshow-title{opacity:1!important;transform:none!important}
.ba-item-carousel .slideshow-button{position:absolute;inset:-400px 0 0!important;width:100%;height:auto!important;z-index:2}
.ba-item-carousel .slideshow-button a{position:absolute;inset:0}
.carousel-controls{display:flex;justify-content:center;gap:6px;position:absolute;bottom:-15px;left:50%;transform:translateX(-50%);z-index:3;opacity:.55;transition:opacity .2s}
.ba-item-carousel:hover .carousel-controls,.carousel-controls:focus-within{opacity:1}
.carousel-controls button{width:30px;height:28px;border:0;border-radius:4px;background:#f3f3f3;color:#006e37;font:18px/1 Arial,sans-serif}
.ba-item-carousel{position:relative}
.ba-gridbox-gallery-image{cursor:zoom-in;transition:filter .2s}
.ba-gridbox-gallery-image:hover{filter:brightness(1.07)}
.replica-dialog{box-sizing:border-box;border:0;max-height:calc(100dvh - 32px);overflow:auto;color:#616161;padding:0;width:min(480px,calc(100vw - 32px));border-radius:3px;box-shadow:0 16px 64px #0003;background:#fff}
.replica-dialog::backdrop{background:#0008}
.replica-dialog .dialog-close{position:absolute;right:12px;top:10px;width:38px;height:38px;background:transparent;border:0;color:#616161;font:30px/1 Arial;z-index:2}
.contact-dialog{width:min(640px,calc(100vw - 32px));background:linear-gradient(360deg,#b3b3b3,#dedede);padding:36px 20px 20px}
.contact-dialog .ba-section{width:100%!important;margin:0!important;min-height:0!important;background:transparent!important;padding:0!important}
.contact-dialog .ba-row-wrapper,.contact-dialog .ba-row,.contact-dialog .ba-grid-column-wrapper,.contact-dialog .ba-grid-column{width:100%!important;margin:0!important;padding:0!important;max-width:100%!important}
.contact-dialog .close-overlay-section,.contact-dialog .ba-overlay{display:none!important}
.contact-dialog [data-heading-style="h3"]{text-align:center;margin:12px 0 26px;font-size:30px}
.contact-dialog form{width:100%;box-sizing:border-box}
.contact-dialog .ba-form-row,.contact-dialog .ba-form-column-wrapper,.contact-dialog .ba-form-column,.contact-dialog .ba-field-container{width:100%!important;box-sizing:border-box}
.contact-dialog .ba-input-label-wrapper{font-size:16px;font-weight:700;color:#087d43}
.contact-dialog input:not([type=checkbox]),.contact-dialog textarea{box-sizing:border-box;width:100%;border:1px solid #999;border-radius:2px;background:#fff;color:#333;font:18px/1.5 Dosis,sans-serif;padding:12px;margin:8px 0 16px;min-height:48px}
.contact-dialog textarea{min-height:160px;resize:vertical}
.contact-dialog .ba-form-acceptance-field{margin:14px 0}
.contact-dialog [name=website],.contact-dialog [data-hidden=true],.contact-dialog .ba-honeypot{display:none!important}
.contact-dialog .ba-form-acceptance-html{font-size:16px;line-height:1.5}
.contact-dialog .text-content-wrapper{font-size:15px;line-height:1.5}
.contact-dialog .ba-form-submit-btn{border:0;background:#009047;color:#fff;padding:16px 36px;border-radius:3px;min-height:48px;display:inline-flex;align-items:center;gap:10px;font-weight:700}
.contact-dialog .ba-form-submit-btn:hover{background:#00783b}
.form-status{font-size:16px;line-height:1.5;margin:12px 0 0;color:#333}
.form-status:empty{display:none}
/* Header navigation: no dotted separators or underlines, including the mobile menu. */
#item-179497138805 .main-menu :is(a,.separator){--border-top:0!important;--border-right:0!important;--border-bottom:0!important;--border-left:0!important;--border-width:0px!important;border:0!important;text-decoration:none!important}
.contact-confirmation{width:min(520px,calc(100vw - 32px));padding:44px 32px 32px;text-align:center}
.contact-confirmation::backdrop{background:rgba(0,0,0,.42);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.contact-confirmation .contact-success-icon{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:64px;height:64px;margin:0 auto 24px;border:2px solid #009047;border-radius:50%;color:#009047;font:36px/1 Dosis,sans-serif}
.contact-confirmation #contact-success-title{margin:0 0 16px;color:#087d43;font:400 clamp(28px,5vw,36px)/1.2 Dosis,sans-serif;text-transform:none;letter-spacing:normal}
.contact-confirmation #contact-success-description{margin:0 0 28px;font:400 19px/1.6 Dosis,sans-serif;color:#444}
.contact-confirmation .contact-success-close{min-height:48px;padding:12px 32px;border:0;border-radius:3px;background:#009047;color:#fff;font:700 18px/1.5 Dosis,sans-serif;cursor:pointer}
.contact-confirmation .contact-success-close:hover{background:#00783b}
.contact-confirmation .contact-success-close:focus-visible{outline:3px solid #087d43;outline-offset:4px}
.contact-direct{font-size:16px;margin-top:12px;display:inline-block;text-decoration:underline}
.gallery-dialog{background:transparent;width:calc(100vw - 48px);max-width:1280px;color:#fff;overflow:hidden;box-shadow:none;border-radius:0}
.gallery-dialog::backdrop{background:rgba(0,0,0,.28);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.gallery-dialog .dialog-close{color:#fff;background:#0008;border-radius:50%;top:12px;right:12px}
.gallery-dialog figure{margin:0;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:30px 60px;min-height:220px}
.gallery-dialog img{max-width:100%;height:auto;max-height:calc(100dvh - 180px);object-fit:contain;filter:drop-shadow(0 12px 24px rgba(0,0,0,.24))}
.gallery-dialog figcaption{font:16px/1.5 Dosis,sans-serif;padding-top:14px;text-align:center;text-shadow:0 1px 4px rgba(0,0,0,.85)}
.gallery-arrow{position:absolute;top:45%;width:44px;height:54px;border:0;background:#0006;color:#fff;font:36px/1 Arial}
.gallery-arrow.prev{left:8px}.gallery-arrow.next{right:8px}
.mobile-menu-shade{display:none}
#item-15582626780 .ba-image-item-caption{padding:12px}
#item-15582626780 .ba-image-item-title{font-size:22px;line-height:28px;overflow-wrap:break-word}
#item-15582626780 .ba-image-item-description{font-size:14px;line-height:21px;overflow-wrap:break-word}
@media(max-width:768px){
 body:not(.mobile-nav-open) .ba-hamburger-menu>.main-menu{display:none!important}
 .ba-hamburger-menu>.main-menu{position:fixed!important;left:auto!important;right:0!important;top:0!important;width:min(360px,calc(100vw - 24px))!important;height:100dvh!important;overflow-y:auto;transform:translateX(105%)!important;transition:transform .3s ease!important;z-index:10002!important;visibility:hidden}
 body.mobile-nav-open .ba-hamburger-menu>.main-menu{display:block!important;transform:translateX(0)!important;visibility:visible;animation:menu-slide-in .3s ease both}
 .ba-hamburger-menu .open-menu{display:block;cursor:pointer}
 .ba-hamburger-menu .close-menu{display:block!important;cursor:pointer}
 body.mobile-nav-open{overflow:hidden}
 body.mobile-nav-open .header{z-index:10002!important}
 body.mobile-nav-open .mobile-menu-shade{display:block;position:fixed;inset:0;background:#0004;border:0;z-index:10001}
 .ba-hamburger-menu .mod-menu__sub{display:block!important;position:static!important;width:100%!important;animation:none!important}
 .ba-hamburger-menu .ba-menu-backdrop{display:none!important}
 .ba-hamburger-menu>.main-menu a{min-height:40px;box-sizing:border-box}
 .carousel-controls{bottom:-18px}
 .gallery-dialog{width:calc(100vw - 20px)}
 .gallery-dialog figure{padding:50px 40px 24px}
}
@keyframes menu-slide-in{from{transform:translateX(105%)}to{transform:translateX(0)}}
.legal-content :is([data-heading-style="h1"],[data-heading-style="h2"],[data-heading-style="h3"],[data-heading-style="h4"],p,a){overflow-wrap:anywhere;white-space:normal}
.legal-content [data-heading-style="h1"]{hyphens:auto}
/* Legal pages: retain the original palette and fonts, with a clearer reading rhythm. */
#main-content .ba-item-text .legal-content{max-width:960px;margin-inline:auto;text-align:left}
#main-content .ba-item-text .legal-content p{margin:0 0 20px;line-height:1.75;text-align:left}
#main-content .ba-item-text .legal-content h1{margin:0 0 36px;line-height:1.2;text-align:left}
#main-content .ba-item-text .legal-content h2{margin:48px 0 20px;font-size:clamp(28px,3.6vw,42px);line-height:1.3;text-align:left}
#main-content .ba-item-text .legal-content h3{margin:32px 0 14px;line-height:1.4;text-align:left}
#main-content .ba-item-text .legal-content h4{margin:24px 0 12px;line-height:1.5;text-align:left}
#main-content .ba-item-text .legal-content h1+h2{margin-top:0}
#main-content .ba-item-text .legal-content :is(h2,h3,h4)+p{margin-top:0}
#main-content .ba-item-text .legal-content>:last-child{margin-bottom:0}
@media(max-width:768px){
 #main-content .ba-item-text .legal-content{padding-bottom:16px}
 #main-content .ba-item-text .legal-content p{margin-bottom:18px}
 #main-content .ba-item-text .legal-content h1{margin-bottom:28px;font-size:clamp(34px,8vw,56px)}
 #main-content .ba-item-text .legal-content h2{margin-top:36px;margin-bottom:16px}
 #main-content .ba-item-text .legal-content h3{margin-top:28px;margin-bottom:12px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
