/* Adapt the approved layout to native WordPress block wrappers. */
@font-face {font-family:Geist;src:url('fonts/geist-latin.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
:root {--font-geist-sans:Geist}
figure, ul.avb-menu {margin:0}
:where(.wp-block-group, .wp-block-image, .wp-block-buttons, .wp-block-heading) {margin-block-start:0;margin-block-end:0}
.avb-menu {list-style:none;padding:0}
.desktop-nav .avb-menu, .footer-bottom .avb-menu {display:flex;gap:inherit;align-items:center}
.desktop-nav .avb-menu {gap:30px}
.footer-bottom .avb-menu {gap:25px}
.site-footer .avb-menu a {font-size:14px;color:#526276;display:block;padding-block:4px}
.footer-bottom .avb-menu a {font-size:12px}
.avb-menu a:hover {text-decoration:underline}
.menu-trigger {font-size:25px}
.nav-sheet {inset:0 0 0 auto;width:min(100%,520px);height:100dvh;max-height:none;max-width:100%;margin:0;padding:36px;border:0;background:var(--background);color:var(--foreground);overflow-y:auto;overscroll-behavior:contain}
.nav-sheet:not([open]) {display:none}
.nav-sheet[open] {display:flex;flex-direction:column;gap:16px}
.nav-sheet h2 {font-size:1.65rem}
dialog::backdrop {background:rgb(12 27 47 / .55)}
html.avb-modal-open {overflow:hidden}
.icon-button {font-size:26px}
.sheet-nav .avb-menu {display:grid}
.sheet-nav a::after {content:'↗';margin-left:20px}
.site-footer:target {scroll-margin-top:100px}
.hero-photo figure,.hero-photo img {height:100%;width:100%}
.hero-photo {margin:0}
.wp-block-button {padding:0;border:0;background:transparent}
.wp-block-button .wp-block-button__link {padding:17px 24px;border-radius:7px;font-size:15px;font-weight:550;line-height:1.3;min-height:56px;display:inline-flex;align-items:center;gap:24px;text-decoration:none}
.wp-block-button.button-white .wp-block-button__link {background:white;color:var(--navy)}
.wp-block-button.button-navy .wp-block-button__link {background:var(--navy);color:white}
.wp-block-button__link:hover {filter:brightness(.93)}
.wp-block-buttons {gap:14px}
.service-card > figure {position:absolute;inset:0;z-index:-2;width:100%;height:100%}
.service-card > figure img {position:static}
.service-card-content a {color:inherit}
.service-card-content {position:static}
.service-card-content h3 a::after {content:'';position:absolute;inset:0}
.service-card:focus-within {outline:3px solid #547fba;outline-offset:4px}
.service-card-content .card-action {margin-top:25px}
.assurances p {font-size:inherit;color:inherit}
.service-group li::before {content:'✓';flex-shrink:0;color:var(--navy)}
.service-group .wp-block-list {margin:0;padding:0}
.sub-hero-grid > .wp-block-image img {height:460px;width:100%;object-fit:cover;border-radius:14px}
.sub-hero-grid.about-hero > .wp-block-image img {height:530px;object-position:var(--media-position,center 47%)}
.care-image figure {height:100%}
.contact-methods > p {padding:22px 0;border-bottom:1px solid var(--border);font-size:18px}
.contact-methods > p:last-child {border:0;font-size:16px}
.contact-methods small {display:block}
.contact-methods .contact-method {display:block}
.contact-methods .contact-method p {font-size:18px;color:var(--foreground)}
.contact-methods .contact-method:last-child p {font-size:16px}
.gallery-grid > figure {aspect-ratio:4/4.3;overflow:hidden;border-radius:9px;background:var(--surface)}
.gallery-grid > figure a {display:block;width:100%;height:100%}
.gallery-grid > figure img {height:100%;width:100%;object-fit:var(--media-fit,cover);object-position:var(--media-position,center);transition:transform .5s}
.gallery-grid > figure a:hover img {transform:scale(1.035)}
.avb-gallery-videos {margin-top:0}
.avb-media-gallery .video-grid .wp-block-video video {object-fit:contain}
[hidden] {display:none!important}
.avb-lightbox {width:calc(100% - 32px);max-width:1030px;max-height:95dvh;border:0;border-radius:12px;padding:20px;color:var(--foreground)}
.avb-lightbox .sheet-top {margin-bottom:12px}
.avb-lightbox h2 {font-size:1.2rem}
.avb-lightbox .lightbox-image {height:66dvh;object-fit:contain}
.avb-lightbox .lightbox-controls button {min-width:44px;min-height:44px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--foreground)}
.company-facts .wp-block-heading {font-size:13px;letter-spacing:0;color:var(--muted-foreground);margin-bottom:6px}
.company-facts p {font-size:17px;color:var(--foreground)}
.company-facts .fact-label {font-size:13px;color:var(--muted-foreground);margin-bottom:6px}
.legal-section p a {text-decoration:underline}
.admin-bar .site-header {top:32px}
@media(min-width:1101px){.desktop-nav .avb-menu {gap:30px}}
@media(max-width:1100px){.desktop-nav .avb-menu {gap:17px}}
@media(max-width:950px){.sub-hero-grid > .wp-block-image img {height:410px}}
@media(max-width:782px){.admin-bar .site-header {top:46px}}
@media(max-width:640px){.nav-sheet{padding:26px}.sub-hero-grid > .wp-block-image img{height:300px}.sub-hero-grid.about-hero > .wp-block-image img{height:410px}.gallery-grid > figure{aspect-ratio:3/4}.avb-lightbox{padding:14px}.avb-lightbox .lightbox-image{height:63dvh}.footer-bottom .avb-menu{gap:22px}}
@media(prefers-reduced-motion:no-preference){.nav-sheet[open]{animation:avb-menu-enter .25s ease-out}@keyframes avb-menu-enter{from{transform:translateX(40px);opacity:.5}to{transform:translateX(0);opacity:1}}}

/* Native editable block wrappers share the photo-led website's layout. */
.hero-poster img,.hero-film video {width:100%;height:100%;object-fit:cover;object-position:var(--media-position,center)}
.film-hero.has-film .hero-film {opacity:1;transition:none}
.film-hero .film-discover,.film-hero .film-discover a {color:#fff}
.wp-block-group.photo-section-heading {margin-bottom:42px}
.photo-services .service-card > figure {position:relative;inset:auto;z-index:0;height:auto}
.photo-services .service-card-image > figure {margin:0}
dialog.ai-explanation {margin:auto}
dialog.ai-explanation::backdrop {background:#172d4faa}
.photo-services .service-card-content {position:static}
.photo-services .service-card-content h3 a::after {z-index:2}
.photo-services .service-icon {height:30px;width:30px;position:relative;flex-shrink:0}
.photo-services .service-icon::before {content:'';position:absolute;inset:0;background:#fff;mask:var(--avb-icon) center/contain no-repeat}
.photo-services .tile-arrow {font-size:25px;margin:0;color:#fff}
.service-detail-cover img {height:100%;width:100%;object-fit:cover;border-radius:inherit}
.service-includes .wp-block-list {list-style:none;padding:0;margin:0}
.service-includes li::before {content:'✓';color:var(--navy);flex-shrink:0}
.work-preview-item {position:relative}
.work-preview-item .work-preview-photo {width:100%}
.work-preview-item figure a {display:block;width:100%;height:100%}
.work-preview-item .work-preview-photo a::after {content:'⤢';position:absolute;right:16px;bottom:16px;display:grid;place-items:center;width:42px;height:42px;background:#fff;color:var(--navy);border-radius:50%;font-size:23px}
.film-copy .wp-block-button__link {font-size:14px}
.editor-styles-wrapper .hero-media {z-index:0}
.editor-styles-wrapper .film-copy {z-index:3}
.editor-styles-wrapper .hero-film {opacity:1}
@media(max-width:640px){.wp-block-group.photo-section-heading{margin-bottom:28px}.hero-poster img,.hero-film video{object-position:center}.film-copy .wp-block-button__link{font-size:13px;padding:16px 18px;text-align:left}.contact-band .wp-block-button__link{font-size:13px;text-align:left}.service-icon{width:26px;height:26px}.service-detail-cover img{height:385px}.work-preview-item .work-preview-photo a::after{right:12px;bottom:12px}}

.work-caption {font-size:14px;line-height:1.6;color:var(--muted-foreground);margin-top:16px;max-width:36ch}
.work-preview-photo a {position:absolute;inset:0;display:block;width:100%;height:100%;cursor:zoom-in}
.service-detail-cover img {object-position:var(--media-position,center)}
.service-detail-cover.media-glas-cover-ohne-ek-v1 img {height:100%;object-fit:contain}
.hero-stage .hero-poster,.hero-stage .hero-film {margin:0}
.film-copy .wp-block-buttons,.film-copy .wp-block-button {max-width:100%}
.film-copy .wp-block-button__link {font-size:15px;text-align:left}
@media(max-width:849px){.film-copy .wp-block-button__link{font-size:14px;padding:16px 18px}.hero-poster img,.hero-film video{object-position:center}}
@media(max-width:640px){.work-caption{margin-top:12px}}
