/* Standalone layout repairs, matched to the original Squarespace design. */
body[data-portable-copy] .sqsrte-scaled-text-container {
  width: 100%; height: auto; min-width: 0;
}
body[data-portable-copy] .sqsrte-scaled-text-container > .sqsrte-scaled-text {
  position: relative !important; left: auto !important; display: inline-block !important;
  opacity: 1 !important; visibility: visible !important; transform: none !important;
  word-break: normal !important; font-size: clamp(14px, 4.4vw, 100px);
}
body[data-portable-copy] .sqsrte-scaled-text-container .sqsrte-scaled-text > * {
  white-space: nowrap !important; font-size: inherit !important; line-height: 1 !important;
  margin: 0 !important; padding: 0 !important;
}
body[data-portable-copy] .portable-divider {
  padding-bottom: var(--divider-height, 6vw) !important;
  z-index: var(--portable-section-z, 1) !important;
}
body[data-portable-copy] .portable-divider .section-border {
  clip-path: var(--portable-divider-shape) !important;
}
body[data-portable-copy] .portable-divider .section-divider-svg-clip { display: none !important; }
body[data-portable-copy] .portable-divider[data-portable-divider-type="rounded"] .section-divider-svg-clip { display: block !important; }
body[data-portable-copy] .portable-divider[data-portable-divider-type="none"] .section-border {
  clip-path: none !important;
}
body[data-portable-copy] [data-portable-theme-corrected] .section-background {
  background-color: var(--portable-background) !important;
}
.portable-carousel-controls [hidden], .portable-lightbox [hidden] { display: none !important; }
body[data-portable-copy] .portfolio-hover-display {
  position: relative; isolation: isolate; overflow: visible !important;
}
body[data-portable-copy] .portfolio-hover-base { overflow: visible !important; }
body[data-portable-copy] .portfolio-hover-base-sticky {
  position: fixed !important; inset: 0 !important; width: 100% !important;
  height: 100vh !important; max-height: none !important; z-index: 0;
  visibility: hidden; transition: none !important; pointer-events: none;
}
body[data-portable-copy] .portfolio-hover-base-sticky.portable-cover-visible { visibility: visible; }
body[data-portable-copy] .portfolio-hover-items { position: relative; z-index: 1; }
body[data-portable-copy] .portfolio-hover-item-title {
  font-size: clamp(18px, 3.35vw, 58px) !important;
  line-height: 1.15 !important; white-space: nowrap !important; word-break: normal !important;
  margin: 0 !important; max-width: 100%;
}
body[data-portable-copy] .portfolio-hover-item-content { white-space: nowrap !important; }
body[data-portable-copy] .portfolio-hover-item { max-width: 100%; }
body[data-portable-copy] .portfolio-hover-items-list > li { max-width: 100%; }
body[data-portable-copy] .portfolio-hover-bg-img img { height: 100%; width: 100%; object-fit: cover; }
/* Controls stay outside the scrolling track. */
body[data-portable-copy] .portable-carousel { position: relative; }
body[data-portable-copy] .user-items-list-carousel__gutter,
body[data-portable-copy] .gallery-reel-list {
  overflow-x: auto !important; overflow-y: hidden !important;
  scroll-snap-type: none !important; scroll-behavior: auto;
  scrollbar-width: none; cursor: grab; touch-action: pan-x pan-y pinch-zoom;
}
body[data-portable-copy] .user-items-list-carousel__gutter::-webkit-scrollbar,
body[data-portable-copy] .gallery-reel-list::-webkit-scrollbar { display: none; }
body[data-portable-copy] .user-items-list-carousel__slideshow-holder,
body[data-portable-copy] .user-items-list-carousel__slides-revealer {
  width: 100% !important; max-width: none !important; margin: 0 !important;
  overflow: visible !important; transform: none !important;
}
body[data-portable-copy] .user-items-list-carousel__slides {
  display: flex !important; width: 100% !important; padding: 0 !important;
  margin: 0 !important; grid-template-columns: none !important;
  gap: var(--portable-gap, 20px) !important; transform: none !important;
}
body[data-portable-copy] .user-items-list-carousel__slide {
  flex: 0 0 calc((100% - (var(--portable-columns, 3) - 1) * var(--portable-gap, 20px)) / var(--portable-columns, 3)) !important;
  width: auto !important; margin: 0 !important; scroll-snap-align: none !important;
}
body[data-portable-copy] .user-items-list-carousel__media-inner,
body[data-portable-copy] .gallery-reel-item { cursor: zoom-in; }
body[data-portable-copy] .portable-carousel img { user-select: none; -webkit-user-drag: none; }
body[data-portable-copy] .portable-dragging,
body[data-portable-copy] .portable-dragging * { cursor: grabbing !important; }
.portable-carousel-controls {
  position: absolute; inset: 0; z-index: 10; pointer-events: none;
}
.portable-carousel-controls button {
  position: absolute; top: 50%; transform: translateY(-50%); border: 0;
  width: 60px; height: 60px; padding: 14px; border-radius: 50%;
  color: #fff; background: rgba(0, 0, 0, .65); cursor: pointer;
  pointer-events: auto; display: flex; align-items: center; justify-content: center;
}
.portable-carousel-controls button:hover { background: rgba(0, 0, 0, .85); }
.portable-carousel-controls button:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.portable-carousel-controls .portable-carousel-prev { left: 3vw; }
.portable-carousel-controls .portable-carousel-next { right: 3vw; }
.portable-carousel-controls svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 2; }
.portable-carousel-controls .portable-gallery-toggle {
  top: auto; bottom: 12px; right: 3vw; transform: none;
  width: 34px; height: 34px; padding: 7px; font: 16px/1 sans-serif;
}
.portable-lightbox img { height: 100% !important; }
.portable-lightbox p { display: none !important; }
body[data-portable-copy] .sqs-block-video .embed-block-wrapper { position: relative !important; }
body[data-portable-copy] .sqs-block-video .sqs-video-wrapper {
  position: absolute !important; inset: 0 !important; height: 100% !important;
  width: 100% !important; padding: 0 !important; opacity: 1 !important; visibility: visible !important;
}
body[data-portable-copy] .sqs-video-wrapper .portable-video {
  position: absolute !important; inset: 0 !important; width: 100% !important;
  height: 100% !important; border: 0; display: block !important;
}
.portable-youtube-link { display: block; margin: 10px 0 0; font-size: .75rem; text-align: right; }
@media (max-width: 767px) {
  .portable-carousel-controls button { width: 44px; height: 44px; padding: 10px; }
  .portable-carousel-controls .portable-gallery-toggle { width: 30px; height: 30px; }
}
@media (prefers-reduced-motion: reduce) {
  body[data-portable-copy] .portfolio-hover-bg-img { transition: none !important; }
}
