/* Static replacements for the original runtime's image and navigation setup. */
html { scroll-behavior: smooth; }
[hidden] { display: none !important; }
.visually-hidden { position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important; }
img { max-width: 100%; }
.sqs-image-content { opacity: 1 !important; }
/* Fluid image sizing was previously supplied by the Squarespace image runtime. */
.sqs-block-image .sqs-block-content,
.fluid-image-component-root,
.fluid-image-animation-wrapper,
.fluid-image-container,
.fluid-image-container .js-content-mode-element-wrapper,
.fluid-image-container .js-content-mode-element { width:100%; height:100%; }
.fluid-image-container { position:relative; }
.fluid-image-container img { inset:0; width:100%; height:100%; }
.sqs-block-html .sqs-html-content .static-scaled-heading { font-size:clamp(1.75rem,3.7vw,3.5rem); overflow-wrap:anywhere; }
.gallery-strips-item-wrapper { opacity: 1 !important; }
.gallery-strips-item img { width: 100%; height: 100%; object-fit: cover; }
.gallery-strips-item-wrapper, .gallery-strips-lightbox-link { height: 100%; }
.photo-viewer-open { overflow: hidden; }
.photo-viewer { position: fixed; inset: 0; width: 100vw; max-width: 100vw; height: 100dvh; max-height: 100dvh; border: 0; padding: 0; margin: 0; color: white; background: rgba(0,0,0,.95); }
.photo-viewer::backdrop { background: rgba(0,0,0,.95); }
.photo-viewer[open] { display: flex; align-items: center; justify-content: center; }
.photo-viewer figure { margin: 40px 70px; text-align: center; }
.photo-viewer img { display: block; width: auto; height: auto; max-width: calc(100vw - 140px); max-height: calc(100dvh - 110px); object-fit: contain; margin: auto; }
.photo-viewer figcaption { padding-top: 16px; font: 14px/1.5 aktiv-grotesk,sans-serif; }
.photo-viewer button { position: absolute; z-index: 1; background: transparent; border: 0; color: white; cursor: pointer; font: 44px/1 Arial,sans-serif; padding: 16px; }
.viewer-close { top: 8px; right: 12px; }
.viewer-prev { left: 4px; top: 45%; }
.viewer-next { right: 4px; top: 45%; }
.photo-viewer button:focus-visible, a:focus-visible, button:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
.analytics-preferences { scroll-margin-top:32px; }
.analytics-preferences div { display:flex;justify-content:center;align-items:center;gap:24px;flex-wrap:wrap;margin-top:24px; }
.analytics-preferences button { min-height:44px;background:#fff;color:#111;border:1px solid #111;padding:8px 16px;font:inherit;cursor:pointer; }
.header--menu-open .burger-inner .top-bun { transform:rotate(45deg); }
.header--menu-open .burger-inner .bottom-bun { transform:rotate(-45deg); }
.header--menu-open .burger-inner .patty { opacity:0; }
.privacy-page { max-width:850px;margin:0 auto;padding:calc(var(--header-height,100px) + var(--section-space)) 24px calc(var(--section-space) - var(--footer-space))!important; }
.privacy-page h1 { font-size:clamp(2rem,4vw,3.2rem); }
.privacy-page h2 { font-size:1.55rem; }
.privacy-page a { text-decoration:underline; }
.video-facade { position:absolute;inset:0;width:100%;height:100%;background:#171717;color:#fff;border:0;font:18px/1.5 aktiv-grotesk,sans-serif;cursor:pointer; }
/* Shared action sizing and spacing on every screen. */
main .button-layout { grid-template-rows:auto auto;row-gap:24px;overflow:visible; }
main .button-layout > .fe-block { grid-row:1;height:auto; }
main .button-layout .sqs-block,
main .button-layout .sqs-block-content { height:auto; }
main .button-layout .sqs-block { padding:0; }
main .button-layout .sqs-html-content > :last-child { margin-bottom:0; }
main .button-actions {
 grid-area:2/2/3/-2;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:24px;
}
main .button-actions > .button-item { width:240px;max-width:100%;flex:0 1 240px;height:auto; }
main .button-item .sqs-block-button-container,
main .button-item .lightbox-handle-wrapper {
 display:flex;justify-content:center;align-items:center;width:100%;height:auto;
}
#siteWrapper.site-wrapper main .sqs-block-button-element,
#siteWrapper.site-wrapper main .lightbox-handle,
#siteWrapper.site-wrapper main .analytics-preferences button {
 box-sizing:border-box;display:flex;align-items:center;justify-content:center;
 width:240px;max-width:100%;min-height:56px;margin:0;padding:14px 24px;
 border-width:2px;font:500 16px/24px aktiv-grotesk,sans-serif;text-align:center;
}
.photo-viewer button {
 box-sizing:border-box;display:flex;align-items:center;justify-content:center;
 width:48px;height:48px;min-width:48px;min-height:48px;padding:8px;font-size:32px;
}
.video-facade { padding:24px;font-size:16px;line-height:24px; }
/* Section boundaries use fixed spacing rather than viewport-dependent gaps. */
#siteWrapper { --section-space:64px;--section-banner-height:360px;--footer-space:32px; }
#siteWrapper main .page-section > .content-wrapper { padding-block:var(--section-space); }
#siteWrapper main .spacing-content,
#siteWrapper main .spacing-gallery { min-height:0; }
#siteWrapper main .spacing-continuation > .content-wrapper { padding-top:0; }
#siteWrapper main .spacing-last-content > .content-wrapper { padding-bottom:calc(var(--section-space) - var(--footer-space)); }
#siteWrapper main .spacing-banner { min-height:var(--section-banner-height); }
main .spacing-flow { grid-template-rows:auto;grid-auto-rows:auto;row-gap:24px; }
main .spacing-flow > .fe-block { grid-row:auto;height:auto; }
main .spacing-flow .sqs-block,
main .spacing-flow .sqs-block-content { height:auto; }
main .spacing-flow .sqs-block { padding:0; }
#siteWrapper main .sqs-html-content > :first-child { margin-top:0; }
#siteWrapper main .sqs-html-content > :last-child { margin-bottom:0; }
#siteWrapper main .sqs-html-content > :is(ul,ol):last-child > li:last-child > :last-child { margin-bottom:0; }
.privacy-page article > h1 { margin-top:0; }
.privacy-page h2 { margin-top:var(--section-space); }
#siteWrapper footer .page-section { min-height:0; }
#siteWrapper footer .page-section > .content-wrapper { padding-block:var(--footer-space); }
#siteWrapper footer .fluid-engine { grid-template-rows:auto; }
#siteWrapper footer .fe-block,
#siteWrapper footer .sqs-block,
#siteWrapper footer .sqs-block-content { height:auto; }
#siteWrapper footer .sqs-svg-icon--wrapper { width:48px;height:48px; }
#siteWrapper footer .sqs-svg-icon--wrapper > div { transform:none;width:48px;height:48px; }
#siteWrapper footer .sqs-svg-icon--social { width:48px;height:48px; }
#siteWrapper footer .sqs-use--icon { fill:#111; }
@media (min-width:768px) {
 main .profile-layout { grid-template-rows:repeat(17,minmax(calc(var(--container-width) * var(--row-height-scaling-factor)),auto)); }
}
@media (max-width: 767px) {
 #siteWrapper { --section-space:40px;--section-banner-height:280px;--footer-space:24px; }
 main .button-layout {
  display:flex;flex-direction:column;align-items:center;gap:24px;
  box-sizing:border-box;width:100%;padding-inline:6vw;overflow:visible;
 }
 main .button-layout > .fe-block { width:100%; }
 main .button-actions { width:100%;flex-direction:column;flex-wrap:nowrap; }
 main .button-actions > .button-item { flex-basis:auto; }
 main .analytics-preferences div { flex-direction:column; }
 .header-burger-btn {
  box-sizing:border-box;display:flex;align-items:center;justify-content:center;
  width:48px;height:48px;min-width:48px;min-height:48px;padding:8px;
 }
}
@media (prefers-reduced-motion: reduce) { html {scroll-behavior:auto;} *,*::before,*::after {animation:none!important;transition:none!important;} }
@media (max-width: 600px) {
 .photo-viewer figure { margin: 45px 40px; }
 .photo-viewer img { max-width: calc(100vw - 80px); }
}
