/* Retain original Squarespace design; replace hosted runtime layout behavior. */
html { scroll-behavior: smooth; }
img { max-width:100%; }
.sqs-block, [data-animation-role] { opacity:1; }
.summary-item-list { display:grid!important; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:60px; height:auto!important; }
.summary-item-list .summary-item { position:relative!important; left:auto!important; top:auto!important; width:100%!important; margin:0!important; opacity:1!important; }
.summary-thumbnail { position:relative; aspect-ratio:1.5; }
.summary-thumbnail img { width:100%;height:100%;object-fit:cover;display:block; }
.blog-basic-grid .image-wrapper img { width:100%;height:100%;object-fit:cover; }
.sqs-gallery-block-grid .sqs-gallery { display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;height:auto!important; }
.sqs-gallery-block-grid .slide { position:relative!important;width:auto!important;height:auto!important;opacity:1!important;display:block!important; }
.sqs-gallery-block-grid .slide img { width:100%;aspect-ratio:1;object-fit:cover;display:block; }
.sqs-gallery-block-slideshow > .sqs-gallery { position:relative!important;height:auto!important;aspect-ratio:3/2; }
.sqs-gallery-block-slideshow .sqs-gallery > .slide { position:absolute!important;inset:0!important;width:100%!important;height:100%!important;opacity:1!important;display:block!important; }
.sqs-gallery-block-slideshow .sqs-gallery > .slide[hidden] { display:none!important; }
.sqs-gallery-block-slideshow .slide img { display:block;width:100%;height:100%;object-fit:contain; }
.gallery-controls { display:flex;align-items:center;justify-content:center;gap:24px;margin-top:16px; }
.gallery-controls button { border:0;background:transparent;color:inherit;font-size:32px;cursor:pointer;min-width:44px;min-height:44px; }
.gallery-thumbnails { display:flex;gap:10px;overflow-x:auto;padding:12px 2px; }
.gallery-thumbnails button { flex:0 0 80px;height:80px;padding:0;border:2px solid transparent;background:none;cursor:pointer; }
.gallery-thumbnails button[aria-current=true] { border-color:currentColor; }
.gallery-thumbnails img { width:100%;height:100%;object-fit:cover; }
.sqs-gallery-block-slideshow:not(:has(.gallery-controls)) .slide:not(:first-child) { display:none!important; }
.header--menu-open { overflow:hidden; }
.header--menu-open .header-menu { opacity:1!important;visibility:visible!important;pointer-events:auto!important; }
.header--menu-open .header-menu-bg { background:var(--siteBackgroundColor,#fff); }
button:focus-visible,a:focus-visible { outline:2px solid currentColor;outline-offset:5px; }
@media(max-width:767px) {
  .summary-item-list { grid-template-columns:repeat(2,minmax(0,1fr));gap:24px; }
  .sqs-gallery-block-grid .sqs-gallery { grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }
  .header-title-text a { overflow-wrap:normal; }
  .sqs-block-html p a[href^="mailto:"] { overflow-wrap:anywhere; }
}
@media(max-width:480px) { .summary-item-list { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important;animation:none!important; } }
/* Squarespace CSS hides these until its (removed) runtime adds .loaded/.is-loaded. */
.blog-basic-grid .blog-basic-grid--container { opacity:1!important; transform:none!important; }
.summary-thumbnail-container img, .img-wrapper img, img.thumb-image { opacity:1!important; }
.blog-basic-grid .image-wrapper { display:block; width:100%!important; height:auto!important; padding:0!important; aspect-ratio:3/2; overflow:hidden; }
.blog-basic-grid .image-wrapper img { display:block; }
.blog-item-author-profile-wrapper { display:none!important; }
.sqs-gallery-block-grid .sqs-gallery .margin-wrapper, .sqs-gallery-block-grid .image-slide-anchor { position:static!important; display:block; }
.blog-basic-grid .image-wrapper img { position:static!important; width:100%!important; height:100%!important; object-fit:cover; }
.bt-project-cover { margin:0; }
.bt-project-cover img { display:block; width:100%; max-height:85vh; object-fit:contain; }
