/* Original page grids and type styles are in layout/. Media is intentionally empty. */
html { scroll-behavior: smooth; }

.media-space { background: transparent !important; }
.media-space-link { display: block; width: 100%; height: 100%; }
.media-space.has-video { position: relative; overflow: hidden; }
.media-space > video { display: block; width: 100%; height: 100%; object-fit: contain; background: #000; }
.video-error { position: absolute; bottom: 48px; left: 0; right: 0; padding: 10px; text-align: center; color: #fff; background: #2a2a2a; font: 14px/1.5 Arial, sans-serif; }
.video-error a { color: inherit; text-decoration: underline; }
.wixui-rich-text { opacity: 1 !important; transform: none !important; }
.portfolio-gallery { position: relative; }
.portfolio-tile { display: block; position: absolute; background: #eee; color: #f6f6f6; overflow: hidden; text-decoration: none; box-sizing: border-box; }
.portfolio-tile[href] { cursor: pointer; }
.portfolio-caption { display: flex; align-items: center; justify-content: center; text-align: center; position: absolute; inset: 0; padding: 20px; background: rgba(42,42,42,.45); font: 22px/1.4 avenir-lt-w01_85-heavy1475544, sans-serif; opacity: 0; transition: opacity .2s; }
.portfolio-tile:hover .portfolio-caption, .portfolio-tile:focus-visible .portfolio-caption { opacity: 1; }
a:focus-visible, button:focus-visible { outline: 2px solid #0158b5; outline-offset: 3px; }
.slide-stage { position: relative; width: 100%; }
.slide { inset: 0; width: 100%; height: 100%; }
.slide[hidden] { display: none; }
.gallery-prev,.gallery-next { position: absolute; top: calc(var(--stage-height) / 2 - 24px); z-index: 2; width: 40px; height: 48px; border: 0; background: transparent; color: #2a2a2a; font: 40px/1 Arial,sans-serif; cursor: pointer; }
.gallery-prev { left: 10px; }.gallery-next { right: 10px; }
.slide-thumbnails { display: flex; gap: 0; overflow-x: auto; scrollbar-width: thin; padding-top: 0; height: var(--thumb-height, 90px); box-sizing: border-box; }
.slide-thumbnail { flex: 0 0 var(--thumb-width, 80px); border: 0; background: #eee; cursor: pointer; }
.slide-thumbnail.is-active { box-shadow: inset 0 0 0 1px #5d5d5d; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; animation: none !important; } }

.gallery-strip { position: relative; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; scroll-snap-type: x mandatory; }
.gallery-strip::-webkit-scrollbar { display: none; }
.gallery-strip .portfolio-tile { scroll-snap-align: start; }

/* Remove the platform promotion and its reserved desktop/mobile space. */
:root, body { --wix-ads-height: 0px !important; --wix-ads-top-height: 0px !important; --wix-ads-bottom-height: 0px !important; }

/* Keep the document within the viewport; galleries scroll inside their own tracks. */
html, body { overflow-x: clip; }
#SITE_CONTAINER, #site-root { max-width: 100%; }

/* The original menu's fixed left offset pushed Say Hi beyond laptop screens. */
body:not(.device-mobile-optimized) #comp-iyhr4tpo {
  position: absolute !important;
  top: 97px;
  left: auto !important;
  right: max(24px, calc((100% - 1548px) / 2));
  width: min(979px, calc(100% - 48px)) !important;
  margin: 0 !important;
}
body:not(.device-mobile-optimized) #comp-iyhr4tponavContainer,
body:not(.device-mobile-optimized) #comp-iyhr4tpoitemsContainer { width: 100% !important; }
body:not(.device-mobile-optimized) #comp-iyhr4tpoitemsContainer {
  display: flex !important;
  justify-content: flex-end;
}
body:not(.device-mobile-optimized) #comp-iyhr4tpoitemsContainer > li {
  flex: 0 1 153px;
  min-width: 0;
}
body:not(.device-mobile-optimized) #comp-iyhr4tpoitemsContainer > li > div,
body:not(.device-mobile-optimized) #comp-iyhr4tpoitemsContainer a { max-width: 100%; }
body:not(.device-mobile-optimized) #comp-iyhr4tpoitemsContainer p {
  font-size: clamp(16px, 2.0833vw, 30px);
}
body:not(.device-mobile-optimized) #comp-iyhr4tpo__more__ { display: none !important; }
