/* Independent behavior around the preserved presentation. */
html { scroll-behavior: smooth; }
body { --scrollbar-width: 0px; --browser-zoom: 1; }
wow-image { display: block; }
[id$="__more__"] { display: none !important; }
[hidden] { display: none !important; }
[data-old-success][hidden] { display: block !important; visibility: hidden; }
.lead-trap { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.lead-status { font: 14px/1.5 system-ui,sans-serif; padding: 10px 0; color: inherit; }
.lead-status:empty { display: none; }
.turnstile-container:empty { display: none; }
button:disabled { cursor: wait; opacity: .65; }
dialog.site-gallery { border: 0; padding: 0; max-width: 94vw; max-height: 94vh; background: #111; color: white; }
dialog.site-gallery::backdrop { background: #000d; }
.site-gallery img { max-width: 90vw; max-height: 85vh; display: block; object-fit: contain; }
.site-gallery button { position: absolute; top: 12px; right: 12px; width: 40px; height: 40px; border: 0; border-radius: 50%; background: white; color: black; font: 26px system-ui; cursor: pointer; }
.replica-gallery { width: 100%; }
.replica-gallery-card { display: block; position: relative; width: 100%; padding: 0; border: 0; background: none; color: inherit; cursor: pointer; overflow: hidden; }
.replica-gallery-image { display: block; width: 100%; height: auto; }
.replica-gallery--collection { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 40px; }
.replica-gallery--collection img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.replica-gallery--collection span { display: flex; align-items: center; justify-content: center; position: absolute; inset: 0; padding: 16px; background: #0006; color: white; opacity: 0; transition: opacity .2s; font: 24px/1.4 georgia,serif; text-align: center; }
.replica-gallery--collection a:hover span,.replica-gallery--collection a:focus-visible span { opacity: 1; }
.replica-gallery--cover img { width: 100%; aspect-ratio: 5/3; object-fit: cover; }
.replica-gallery--project { columns: 2; column-gap: 40px; }
.replica-gallery--project .replica-gallery-card { margin-bottom: 40px; break-inside: avoid; }
.replica-gallery--project.is-positioned { columns: auto; position: relative; }
.replica-gallery--project.is-positioned .replica-gallery-card { position: absolute; margin: 0; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
