/* Portable interaction layer. Reference presentation CSS remains authoritative. */
.elementor-menu-toggle { cursor: pointer; }
.elementor-nav-menu--dropdown.elementor-nav-menu__container:not(.is-open) { display: none; }
.elementor-nav-menu--dropdown.elementor-nav-menu__container.is-open { display: block; max-height: none; transform: none; }
.elementor-gallery__container { position: relative; }
.elementor-gallery__container > a { position: absolute; display: block; }
.elementor-gallery__container .e-gallery-image { width: 100%; height: 100%; background-size: cover; background-position: center; }
.elementor-gallery-item:focus-visible { outline: 3px solid #c80002; outline-offset: 3px; }
.cool-lightbox { width: 100vw; max-width: none; height: 100dvh; max-height: none; margin: 0; padding: 4rem 3rem; border: 0; background: rgba(0,0,0,.94); color: #fff; }
.cool-lightbox::backdrop { background: #000; }
.cool-lightbox[open] { display: grid; place-items: center; }
.cool-lightbox figure { margin: 0; min-width: 0; max-width: 100%; text-align: center; }
.cool-lightbox img { max-height: 78dvh; max-width: 100%; object-fit: contain; }
.cool-lightbox figcaption { margin-top: 1rem; color: #bdbdbd; overflow-wrap: anywhere; font: 1rem Arial, sans-serif; }
.cool-lightbox button { position: absolute; min-width: 44px; min-height: 44px; border: 0; color: #fff; background: transparent; font-size: 2rem; }
.cool-lightbox .close { top: .5rem; right: .5rem; }
.cool-lightbox .previous { left: 0; top: 45%; background: #000; }
.cool-lightbox .next { right: 0; top: 45%; background: #000; }
.cool-lightbox .gallery-tools { position: absolute; top: .5rem; left: 1rem; right: 3.5rem; display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; font: .85rem Arial,sans-serif; }
.cool-lightbox .gallery-tools button { position: static; font-size: .85rem; }
.cool-lightbox .gallery-tools a { color: #fff; }
.cool-lightbox .gallery-tools button:disabled { opacity: .4; cursor: not-allowed; }
.cool-lightbox.is-zoomed figure { overflow: auto; max-width: 90vw; max-height: 80dvh; }
.cool-lightbox.is-zoomed img { max-width: none; max-height: none; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }

/* Final one-page accessibility refinements; preserve reference layout and type. */
.contact-email { color: #8a96aa; text-align: center; }
.contact-email a { color: #e05282; text-decoration: underline; text-underline-offset: .2em; }
.contact-email a:hover, .contact-email a:focus { color: #f080a4; }
.elementor-82 .elementor-element.elementor-element-55210526 .elementor-heading-title { color: #aaa; }
body a:focus-visible, body button:focus-visible, body [role="button"]:focus-visible {
  outline: 3px solid #fff; outline-offset: 3px; box-shadow: 0 0 0 3px #000;
}
.cool-lightbox .gallery-tools button, .cool-lightbox .gallery-tools a { padding: .5rem; }
.cool-lightbox .gallery-tools a { min-height: 44px; display: inline-flex; align-items: center; }
.cool-lightbox button:hover, .cool-lightbox button:focus-visible { background: #333; }
