/* Original site styles are vendored locally. These rules replace runtime-only behavior. */
html{scroll-behavior:smooth}
/* Reserve the logo/header space before media and font downloads finish. */
:root{--header-height:calc(65px + 2.2vw)}
@media(max-width:767px){:root{--header-height:calc(53px + 12vw)}}
/* Both logo variants must scale their intrinsic width with the capped height. */
.maestro-standalone .header-title-logo img,.maestro-standalone .header-mobile-logo img{width:auto;max-width:100%;object-fit:contain}
/* Fit unstretched circular photos inside their grid cells, as Squarespace's
   image runtime did. CSS sizes them before first paint and on every resize. */
.maestro-standalone .fluid-image-component-root[data-is-image-stretched="false"][data-shape-mask="circle"]>.fluid-image-animation-wrapper{container-type:size}
.maestro-standalone .fluid-image-component-root[data-is-image-stretched="false"][data-shape-mask="circle"] .fluid-image-container{--image-component-container-width:min(100cqw,100cqh);--image-component-container-height:min(100cqw,100cqh);--image-component-native-aspect-ratio:1}
/* Fade the complete page together; the video never appears on its own. */
@keyframes maestro-page-enter{from{opacity:0}to{opacity:1}}
.maestro-standalone #siteWrapper{animation:maestro-page-enter .6s ease-out backwards}
.maestro-standalone .preFade,.maestro-standalone .preSlide{opacity:1!important;transform:none!important}
.maestro-standalone .background-image-fx{visibility:visible}
.maestro-standalone .portfolio-hover{visibility:visible}
.maestro-standalone .portfolio-hover-bg img{display:block!important;opacity:1!important}
.maestro-standalone .portfolio-hover-bg{opacity:0!important}
.maestro-standalone .portfolio-hover-bg.maestro-active{opacity:1!important}
.maestro-standalone .gallery-masonry-wrapper{display:block!important;columns:2;column-gap:100px;height:auto!important}
.maestro-standalone .gallery-masonry-item{break-inside:avoid;position:relative!important;top:auto!important;left:auto!important;transform:none!important;width:100%!important;margin:0 0 100px;opacity:1!important}
.maestro-standalone .gallery-masonry-item img{width:100%;height:auto!important;display:block;opacity:1!important}
@media(max-width:767px){.maestro-standalone .gallery-masonry-wrapper{columns:1}.maestro-standalone .gallery-masonry-item{margin-bottom:24px}}
.maestro-standalone .sqs-shape-block-container[data-stretched-to-fill]>.sqs-shape{width:100%;height:100%}
.maestro-standalone .sqsrte-scaled-text-container:not(.loaded)>.sqsrte-scaled-text{position:relative;left:auto;font-size:clamp(32px,7vw,110px)}
.maestro-standalone .sqsrte-scaled-text,.maestro-standalone .sqsrte-scaled-text *{transition:none!important}
.maestro-background-video{width:100%;height:100%;object-fit:cover;display:block}
.sqs-video-background{overflow:hidden}
.sqs-video-background-native,.sqs-video-background-native__video-player{width:100%;height:100%;position:absolute;inset:0}
.maestro-standalone .maestro-contact-form .field-list .form-item{margin:0 0 20px;display:flex;flex-direction:column;gap:6px;min-width:0}
.maestro-contact-form .title{font-size:1rem;font-weight:500}
/* Squarespace makes inputs transparent and draws their borders in a runtime
   effects layer. Our native forms have no such layer. Override those important
   declarations here, with enough specificity for both legacy form stylesheets. */
:root .maestro-standalone .maestro-contact-form .field-list .form-item.field .field-element{box-sizing:border-box;display:block;width:100%;max-width:100%;min-width:0;margin:0;padding:8px 15px;border:1px solid rgba(0,0,0,.55)!important;border-radius:.4rem;background:rgba(255,255,255,.8)!important;color:#111;font:inherit;min-height:48px;height:auto;box-shadow:none}
:root .maestro-standalone .maestro-contact-form .field-list .form-item.field textarea.field-element{resize:vertical;min-height:100px;height:100px}
:root .maestro-standalone .maestro-contact-form .field-list .form-item.field :is(.field-element,.maestro-choice input):focus-visible{outline:2px solid #432083!important;outline-offset:2px}
.maestro-contact-form .required-marker{font-size:.875rem;font-weight:400}
.maestro-contact-form .maestro-choice{display:flex;align-items:center;gap:10px}
.maestro-contact-form .form-button-wrapper{text-align:center;margin-top:24px}
.maestro-contact-form .maestro-choice input{width:20px;height:20px;accent-color:#432083}
.maestro-contact-form small{font-size:.875rem}
.maestro-youtube-background{position:absolute;inset:-15%;width:130%;height:130%;border:0;pointer-events:none}
.maestro-standalone .header-nav-item--folder:focus-within .header-nav-folder-content,.maestro-standalone .header-nav-item--folder.maestro-open .header-nav-folder-content{opacity:1;pointer-events:auto;visibility:visible}
.maestro-image-dialog{padding:0;border:0;background:transparent;max-width:94vw;max-height:94vh;overflow:visible}
.maestro-image-dialog::backdrop{background:#000c}
.maestro-image-dialog img{max-width:90vw;max-height:86vh;object-fit:contain;display:block}
.maestro-image-dialog button{position:absolute;right:0;top:-42px;border:0;background:white;color:black;border-radius:50%;width:36px;height:36px;font-size:24px;cursor:pointer}
.maestro-standalone .user-items-list-banner-slideshow .slide{visibility:hidden;opacity:0}
.maestro-standalone .user-items-list-banner-slideshow .slides{opacity:1}
.maestro-standalone .user-items-list-banner-slideshow .slide.maestro-active{visibility:visible!important;opacity:1!important;transform:none!important;z-index:1}
.maestro-standalone .accordion-item__dropdown{height:auto;max-height:none;display:none}
.maestro-standalone .accordion-item.is-open .accordion-item__dropdown{display:block}
.maestro-standalone .accordion-item.is-open .plus__vertical-line{transform:rotate(90deg)}
.maestro-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.maestro-form-status{font-size:1rem;min-height:1.5em}
.maestro-form-status:empty{display:none}
.maestro-standalone .newsletter-form-spinner{display:none}
.maestro-standalone [hidden]{display:none!important}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid currentColor;outline-offset:4px}
.maestro-standalone .header-menu{visibility:hidden}
.maestro-standalone.header--menu-open .header-menu{visibility:visible;opacity:1}
.maestro-standalone .header-menu-nav-folder{display:none!important;transform:none!important}
.maestro-standalone .header-menu-nav-folder.maestro-active-folder{display:flex!important;opacity:1!important;visibility:inherit}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media(prefers-reduced-motion:reduce){.maestro-standalone #siteWrapper{animation:none}}
