/* Original theme, type scale, section grids and image dimensions live in the
   versioned reference stylesheets. Only local behavior/accessibility is added. */
.reference-header { display: contents; }
#page section[data-section-id]:first-child { padding-top: var(--header-height); }
.reference-skip-link { position: fixed; top: -100px; left: 16px; z-index: 9999; padding: 12px 18px; color: white; background: #0b0d63; }
.reference-skip-link:focus { top: 16px; }
:focus-visible { outline: 2px solid #203d76; outline-offset: 4px; }
.reference-contact-form .form-error { color: #b00020; }
.reference-contact-form .form-status { padding: 16px; border: 1px solid #99abac; margin-top: 16px; }
/* Squarespace's gallery loader normally applies these cover rules in JS. */
.sqs-gallery-design-grid .image-slide-anchor { display: block; position: relative; overflow: hidden; }
.sqs-gallery-design-grid .image-slide-anchor img { position: absolute; max-width: none; opacity: 1; }
.lightbox { padding: 0; border: 0; width: 100vw; height: 100dvh; max-width: 100vw; max-height: 100dvh; margin: 0; background: rgb(7 16 24 / 96%); color: white; }
.lightbox::backdrop { background: rgb(7 16 24 / 96%); }
.lightbox-content { display: flex; align-items: center; justify-content: center; height: 100%; padding: 70px 24px 36px; gap: 24px; pointer-events: none; box-sizing: border-box; }
.lightbox-content > *, .lightbox-close { pointer-events: auto; }
.lightbox figure { margin: 0; max-width: 85vw; text-align: center; }
.lightbox img { display: block; width: auto; max-width: 100%; height: auto; max-height: 76dvh; object-fit: contain; margin-inline: auto; }
.lightbox figcaption { margin-top: 18px; font: 13px Arial, sans-serif; color: white; }
.lightbox button { background: transparent; border: 0; color: white; padding: 8px; min-width: 44px; min-height: 44px; font-size: 38px; cursor: pointer; }
.lightbox-close { position: absolute; top: 12px; right: 20px; }
.not-found { padding: 80px 6vw; min-height: 40vh; }
@media(max-width: 799px) { .lightbox-content { gap: 0; padding-inline: 5px; } .lightbox figure { max-width: calc(100vw - 98px); } }
@media(prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; animation: none !important; } }
