/* Small migration/accessibility repairs; the original portfolio design is retained. */
html { scroll-padding-top: 7rem; }
a:focus-visible, button:focus-visible, [role="button"]:focus-visible {
  outline: 3px solid #ff007a;
  outline-offset: 5px;
}
.body-2 { max-height: none; }
img { max-width: 100%; }
/* Consistent brand-color feedback across the main navigation. */
.header .menu-item-text:is(:hover, :focus-visible, :active),
.header .nav-menu-2 .menu-item-text:is(:hover, :focus-visible, :active) {
  color: var(--hot-pink, #f36ba9) !important;
  mix-blend-mode: normal;
}
/* Join the expanded menu and header into one white surface. */
.mobile-menu-block { display: contents; }
@media (max-width: 991px) {
  .header:has(.menu-button.w--open),
  .header:has([data-nav-menu-open]) {
    background-color: #fff;
  }
  .header:has(.menu-button.w--open) .menu-button {
    background-color: transparent;
    color: #111;
    text-shadow: none;
  }
  .header .has-block-menu .w-nav-menu {
    background: transparent;
    min-height: 0;
    max-height: calc(100dvh - 60px);
    overflow-y: auto;
    transform: none !important;
  }
  .has-block-menu .mobile-menu-block {
    display: block;
    width: 100%;
    overflow: hidden;
  }
  .header .has-block-menu .mobile-menu-block > .w-nav-link {
    display: block;
    width: 100%;
    max-width: none;
    margin: 0;
    background: #fff;
    transform: translateY(var(--menu-block-offset, -100%));
  }
}
/* One spacing scale for the project pages added to this portfolio. */
.legacy-container, .photography-container {
  --project-gap: 2rem;
  --project-section-gap: 4rem;
  --project-copy-gap: 1.25rem;
  --project-caption-gap: .75rem;
  padding-left: var(--project-gap);
  padding-right: var(--project-gap);
}
@media (max-width: 991px) {
  .legacy-container, .photography-container {
    --project-gap: 1.5rem;
    --project-section-gap: 3rem;
  }
}
@media (max-width: 600px) {
  .legacy-container, .photography-container {
    --project-gap: 1.25rem;
    --project-section-gap: 2.5rem;
  }
}
/* Let Hypermiler's square UI screens determine their own height. */
.body-8 .div-block-11 {
  height: auto;
  min-width: 0;
  max-width: 100%;
  gap: 1rem;
}
.body-8 .div-block-11 > img {
  height: auto;
  flex-shrink: 0;
  object-fit: contain;
}
.slider-pause {
  position: absolute; z-index: 5; right: max(20px, calc((100vw - 1326px) / 2));
  bottom: 1.15rem; padding: .4rem .75rem; border: 1px solid currentColor;
  border-radius: 3px; background: #ffffffec; color: #111;
  font: 500 14px/1.4 Montserrat, sans-serif; cursor: pointer;
}
@media (max-width: 479px) {
  .project-title.description { line-height: 1.45; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
