/* Standalone behavior after removing Divi/WordPress JavaScript. */
/* Divi targets anchors below the compact 54px desktop header, with a 1px overlap. */
html{scroll-behavior:smooth;scroll-padding-top:53px}
/* The hero arrow uses the full header height; menu anchors subtract one desktop pixel. */
#introduction{scroll-margin-top:1px}
.z-static .et_animated,.z-static .et-waypoint{opacity:1!important;transform:none!important;animation:none!important}
.z-static .et_pb_section_video_bg{visibility:visible;display:block!important;inset:0;width:100%;height:100%;overflow:hidden}
.z-static .et_pb_section_video_bg video{min-width:100%;min-height:100%;width:100%;height:100%;object-fit:cover}
.z-static .et_pb_fullwidth_header{position:relative}
/* Keep the theme's z-index:3 so header text stays above its z-index:2 overlay. */
/* Divi's transparent-header offset: initial desktop height, mobile height minus 1px. */
.z-static{--z-header-offset:114px}
.z-static.home #Main-Header .et_pb_fullwidth_header_0{padding-top:var(--z-header-offset)}
.z-static:is(.page-id-414,.page-id-448,.page-id-478,.page-id-586,.page-id-610) #main-content .et_pb_section_0{padding-top:calc(53px + var(--z-header-offset))}
.z-static.page-id-513 #main-content .et_pb_section_0{padding-top:calc(20px + var(--z-header-offset))}
/* Divi truncates the computed 5% padding before adding the header; retain a legacy fallback. */
.z-static.page-id-293 #main-content .et_pb_section_0{padding-top:calc(5% + var(--z-header-offset));padding-top:calc(round(down,5%,1px) + var(--z-header-offset))}
/* Archive SEO headings precede the visible container; archives may also carry the builder class. */
.z-static.archive #main-content > .container,.z-static:not(.et_pb_pagebuilder_layout) #main-content > .container:first-child,.z-static.postid-1998 #main-content > .container:first-child{padding-top:calc(58px + var(--z-header-offset))}
.z-static #logo{height:auto}
.z-skip,.z-screen-reader{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.z-skip:focus{position:fixed;left:10px;top:10px;z-index:100000;width:auto;height:auto;padding:15px;background:white;color:#014da2;clip-path:none}
.z-mobile-menu summary{cursor:pointer;list-style:none}
.z-mobile-menu summary::-webkit-details-marker{display:none}
.z-mobile-menu[open] .et_mobile_menu{display:block}
.z-mobile-menu .et_mobile_menu{left:0;width:100%;max-height:75vh;overflow:auto}
.z-static .et_pb_gallery_fullwidth{position:relative}
.z-static .et_pb_gallery_fullwidth .et_pb_gallery_items{display:flex;align-items:flex-start;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none}
.z-static .et_pb_gallery_fullwidth .et_pb_gallery_items::-webkit-scrollbar{display:none}
.z-static .et_pb_gallery_fullwidth .et_pb_gallery_item{display:block!important;float:none;width:100%;min-width:100%;max-width:100%;flex:0 0 100%;margin:0!important;scroll-snap-align:start;position:relative;opacity:1!important}
.z-static .et_pb_gallery_fullwidth .et_pb_gallery_image{height:auto}.z-static .et_pb_gallery_fullwidth .et_pb_gallery_image a{display:block;height:auto}
/* Preserve the source image ratio, including Design's tall portrait slides. */
.z-static .et_pb_gallery_fullwidth img{height:auto;max-height:none;object-fit:contain;width:100%}
.z-static .et_pb_gallery_grid .et_pb_gallery_item{display:block!important}
/* Match the original Divi arrows and seven-pixel selectors without adding a row. */
.z-gallery-arrow{border:0;background:transparent;padding:0;cursor:pointer;width:48px;height:48px;line-height:1}
/* Native buttons need the original link color above Divi's light-layout rules. */
.z-static .et_pb_gallery button.z-gallery-arrow{color:#1468ba}
.z-static .et_pb_gallery:focus-within .z-gallery-arrow{opacity:1}
.z-static .et_pb_gallery:focus-within .et-pb-arrow-prev{left:22px}
.z-static .et_pb_gallery:focus-within .et-pb-arrow-next{right:22px}
@media(max-width:767px){.z-static .et_pb_gallery:focus-within .et-pb-arrow-prev{left:0}.z-static .et_pb_gallery:focus-within .et-pb-arrow-next{right:0}}
.z-gallery-dots{position:absolute;bottom:20px;left:0;width:100%;height:25.5px;display:flex;justify-content:center;gap:10px;z-index:10}
.z-gallery-dot{position:relative;display:block;width:7px;height:7px;flex:0 0 7px;border:0;border-radius:50%;padding:0;background:rgba(0,0,0,.3);opacity:.5;cursor:pointer}
.z-gallery-dot::after{content:'';position:absolute;inset:-9px}
.z-gallery-dot[aria-current=true]{background:#333;opacity:1}
/* Match Divi's mobile override exactly, including fractional viewport widths. */
@media(max-width:767px){.z-gallery-dots{bottom:5%;height:14px}}
@media(hover:none){.z-static .et_pb_gallery .z-gallery-arrow{opacity:1}.z-static .et_pb_gallery .et-pb-arrow-prev{left:0}.z-static .et_pb_gallery .et-pb-arrow-next{right:0}}
/* The retained theme resets :focus. A two-color ring works on blue, white and photos. */
.z-static :is(a,button,input,textarea,select,summary):focus-visible{outline:2px solid #fff;outline-offset:3px;box-shadow:0 0 0 5px #014da2}
.z-static button.et_pb_scroll_top{border:0;cursor:pointer;display:block}
.z-gallery-controls{display:flex;justify-content:center;gap:20px;margin:15px}
.z-gallery-controls button,.z-video-consent button,.z-footer-tools button{font:inherit;border:1px solid currentColor;border-radius:2px;padding:8px 15px;cursor:pointer;background:transparent;color:inherit}
.z-video-consent{aspect-ratio:var(--z-video-ratio,16/9);background:#09264c;color:white;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:12px;gap:8px;font-size:14px;line-height:20px}
.z-video-consent p{padding:0;font-size:14px}.z-video-consent a{color:#c6e0ff;text-decoration:underline}
.z-video-consent iframe{display:block;width:100%;height:100%;border:0}.z-video-consent:has(iframe){padding:0;display:block;min-height:0}
/* Native top-layer shell; allow long captions to scroll in short viewports. */
.z-lightbox.mfp-wrap{position:fixed;inset:0;min-width:0;min-height:0;max-width:none;max-height:none;width:100%;height:100%;margin:0;padding:0;border:0;overflow:auto;background:transparent;color:inherit;font-family:inherit;font-size:15px;font-weight:500;line-height:1.7em}
.z-lightbox::backdrop{background:rgb(11 11 11 / .8)}
.z-lightbox img.mfp-img{cursor:pointer;touch-action:pan-y}
/* Pointer opening focuses the native close control; preserve its public idle opacity. */
.z-lightbox .mfp-close:focus:not(:focus-visible):not(:hover){opacity:.2}
/* Match the public popup wrapper; the original section/row styles stay inside. */
.z-video-dialog{position:fixed;inset:0;margin:auto;border:0;background:transparent;color:#1468ba;padding:10px;min-width:320px;width:90%;height:fit-content;max-width:100vw;max-height:100vh;overflow:auto}
.z-video-dialog::backdrop{background:rgba(0,0,0,.55);backdrop-filter:saturate(180%) blur(5px);-webkit-backdrop-filter:saturate(180%) blur(5px)}
.z-video-dialog video{width:100%;max-height:none}
.z-dialog-close{position:absolute;right:10px;top:8px;cursor:pointer;background:transparent;color:white;border:1px solid white;padding:5px 10px}
.z-popup-close-wrap{position:absolute;inset:10px;z-index:10;pointer-events:none}
/* Native dialogs enter the top layer: do not depend on the old #et-boc ancestor. */
.z-video-dialog .da-close{box-sizing:content-box;right:0;top:50px;z-index:10;width:30px;height:30px;padding:0;border:0;border-radius:0;font-family:Courier New,monospace;font-size:40px;font-weight:700;line-height:30px;text-align:center;text-decoration:none;background:transparent;color:#eee;text-shadow:none;box-shadow:none;opacity:.7;pointer-events:auto}
.z-video-dialog .da-close:is(:hover,:focus-visible){opacity:1;transform:scale(1.1);background:transparent;color:#fff;box-shadow:none}
.z-footer-tools{display:flex;justify-content:center;align-items:center;gap:25px;padding:20px;color:#c8d8eb}.z-footer-tools a{color:inherit}
.z-static .z-contact label{display:block;color:inherit;font-size:14px;margin-bottom:4px}.z-static .z-contact .z-consent{display:flex;align-items:flex-start;gap:8px}
.z-static .z-contact input[type=checkbox]{appearance:auto!important;display:inline-block!important;width:18px;height:18px;flex-shrink:0;margin-top:3px}
.z-static .z-contact button[type=submit]{cursor:pointer}.z-static .z-contact [aria-invalid=true]{outline:2px solid #b83b30}
.z-static .z-contact .z-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.z-form-status{clear:both;padding-top:20px!important;white-space:pre-line}
.z-form-status:empty{display:none}
.z-missing-image{display:block;border:1px solid #bbb;padding:20px;color:#555;font-style:italic}
[hidden]{display:none!important}
.z-utility{padding:160px 25px 80px!important;min-height:70vh;max-width:1100px;margin:auto}.z-utility h1{font-size:38px;margin-bottom:30px}.z-utility form{display:flex;flex-wrap:wrap;gap:12px;margin:25px 0}.z-utility label{width:100%}.z-utility input{padding:12px;border:1px solid #aaa;min-width:240px;color:#333;background:#fff}.z-utility button{background:#014da2;color:white;border:0;padding:12px 25px;cursor:pointer}.z-utility li{padding:15px 0;border-bottom:1px solid #ddd}.z-utility ul{list-style:none;padding:0}
/* Utility pages inherit the blue canvas without a builder section supplying text colors. */
.z-static .z-utility,.z-static .z-utility :is(h1,a){color:#fff}
.z-utility a{text-decoration:underline}
@media(min-width:1350px){.z-static.page-id-293 #main-content .et_pb_section_0{padding-top:calc(67px + var(--z-header-offset))}}
@media(max-width:980px){
 html{scroll-padding-top:0}
 #introduction{scroll-margin-top:80px}
  .z-video-dialog{width:100%}
  .z-static{--z-header-offset:79px}
  /* Missing tablet custom padding fell back to the saved phone value in Divi. */
  .z-static:is(.page-id-414,.page-id-448,.page-id-478,.page-id-586,.page-id-610) #main-content .et_pb_section_0{padding-top:calc(25px + var(--z-header-offset))}
  .z-static.page-id-293 #main-content .et_pb_section_0{padding-top:calc(50px + var(--z-header-offset))}
  .z-static.postid-1998 #main-content > .container:first-child{padding-top:var(--z-header-offset)}
  .z-static #main-header .logo_container{height:100%}
  .z-static #logo{max-height:54%;max-width:50%}
  .z-static #et-top-navigation{padding-top:24px!important}
}
/* The original post-builder branch adds 40px strictly below 980px. */
@media(width < 980px){.z-static.postid-1998 #main-content > .container:first-child{padding-top:calc(40px + var(--z-header-offset))}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
