/* 1.6: an editorial atlas, real image exploration and a searchable team. */
.avr-site-navigator { transform: none !important; width: auto; height: auto; }
.avr-site-navigator.is-footer-clear { opacity: 1; visibility: visible; }
.avr-site-navigator-toggle { width: auto; min-width: 9.5rem; height: 3.5rem; padding: 0 1.35rem 0 3.2rem; border: 1px solid var(--mint); border-radius: 2rem; background: var(--ink); font: 750 .95rem/1 sans-serif; color: var(--paper); }
.avr-site-navigator-toggle::before { content: '+'; position: absolute; left: 1.1rem; font: 300 1.8rem/1 sans-serif; color: var(--mint); }
.avr-site-navigator-panel { transform: none; grid-template-columns: minmax(0,1.4fr) minmax(0,.8fr); grid-template-rows: auto auto 1fr auto; gap: 1.5rem 5vw; padding: 3rem 5vw 2rem; clip-path: none !important; transition: opacity .2s,visibility .2s; }
.avr-atlas-intro { grid-column: 1/-1; padding-right: 4rem; }
.avr-atlas-title { font-size: clamp(1.8rem,3.5vw,3.4rem); font-weight: 800; letter-spacing: -.05em; margin: 0 0 1rem; }
.avr-atlas-search-label { display: block; max-width: 40rem; font-size: .8rem; color: #ddd; }
.avr-atlas-search { display: block; width: 100%; margin-top: .5rem; padding: .85rem 0; border: 0; border-bottom: 1px solid #777; border-radius: 0; background: transparent; color: white; font: inherit; font-size: 1rem; }
.avr-atlas-search::placeholder { color: #aaa; }
.avr-atlas-status { min-height: 1.2em; margin: .3rem 0 0; color: var(--mint); font-size: .8rem; }
.avr-site-navigator-progress { width: 100%; }
.avr-site-navigator-pages { gap: .8rem 1.7rem; }
.avr-site-navigator-pages::before,.avr-site-navigator-sections::before { content: attr(data-heading); display: block; grid-column: 1/-1; color: var(--blue); font-size: .8rem; font-weight: 700; letter-spacing: .08em; margin-bottom: .5rem; }
.avr-site-navigator-pages a { font-size: clamp(1.5rem,2.9vw,3rem); line-height: 1.05; padding-block: .4rem; }
.avr-site-navigator-pages a[aria-current=page] { color: var(--mint); }
.avr-site-navigator-sections { max-height: 48vh; overflow: auto; }
.avr-site-navigator-sections a { font-size: 1rem; }
.avr-site-navigator-contact { grid-column: 1/-1; }
.avr-atlas-search:focus-visible,.avr-team-finder :focus-visible { outline: 2px solid var(--blue); outline-offset: 5px; }
.avr-site-navigator [hidden],.avr-person-card[hidden],.avr-team-section[hidden] { display: none !important; }
.inner-hero-grid { position: relative; }
.inner-hero-grid.has-preview { grid-template-columns: minmax(0,1fr); }
.avr-page-shortcuts { grid-column: 1/-1; align-self: start; align-items: start; }
.avr-page-shortcuts { display: flex; flex-wrap: wrap; gap: .55rem; position: relative; z-index: 2; max-width: 60rem; margin-top: 2rem; }
.avr-page-shortcuts a { border: 1px solid #666; border-radius: 2rem; padding: .65rem 1rem; color: white; font-size: .8rem; line-height: 1.25; text-decoration: none; transition: background .2s,color .2s; }
.avr-page-shortcuts a:hover,.avr-page-shortcuts a:focus-visible { color: var(--ink); background: var(--mint); border-color: var(--mint); }
.inner-hero-grid.has-preview { padding-right: 37%; }
.avr-hero-preview { position: absolute; right: 2%; top: 16%; width: 27%; height: 65%; margin: 0; transform: rotate(5deg); border: .6rem solid var(--paper); box-shadow: 1rem 1rem 0 var(--blue); overflow: hidden; }
.avr-hero-preview img { width: 100%; height: 100%; object-fit: cover; content-visibility: visible !important; contain: none !important; }
.avr-page--magazines .avr-hero-preview img { object-fit: contain; background: var(--paper); }
.avr-page--references .avr-hero-preview img { object-fit: contain; background: var(--ink); }
.avr-team-finder { display: grid; grid-template-columns: 1.5fr 1fr auto; gap: 1rem 2rem; padding: clamp(1.5rem,4vw,4rem); background: var(--mint); color: var(--ink); border-bottom: .5rem solid var(--ink); }
.avr-team-finder label { display: grid; gap: .75rem; font-size: .9rem; font-weight: 750; }
.avr-team-finder input,.avr-team-finder select { width: 100%; min-width: 0; border: 0; border-bottom: 2px solid var(--ink); border-radius: 0; padding: .9rem .6rem; background: #fff; color: #222; font: 500 1rem/1.4 sans-serif; }
.avr-filter-reset { align-self: end; border: 1px solid #222; background: transparent; color: #222; padding: 1rem; font: 650 .85rem/1.4 sans-serif; cursor: pointer; }
.avr-filter-reset:disabled { opacity: .5; cursor: default; }
.avr-filter-status { grid-column: 1/-1; margin: 0; font-size: .9rem; }
.avr-gallery-open { display: block; position: relative; width: 100%; height: 100%; padding: 0; border: 0; background: transparent; cursor: zoom-in; }
.avr-gallery-open::after { content: '+'; position: absolute; right: 1rem; top: 1rem; width: 2.5rem; height: 2.5rem; display: grid; place-items: center; border-radius: 50%; background: var(--mint); color: var(--ink); font-size: 1.6rem; }
.avr-gallery-open:focus-visible { outline: 4px solid var(--mint); outline-offset: -4px; }
.avr-lightbox { width: min(94vw,85rem); max-width: 94vw; height: 90dvh; max-height: 90dvh; padding: 4.5rem 1.5rem 1rem; border: 1px solid #777; background: #202020; color: white; }
.avr-lightbox::backdrop { background: rgba(0,0,0,.88); }
.avr-lightbox > img { display: block; width: 100%; height: calc(100% - 4rem); object-fit: contain; }
.avr-lightbox button { padding: .75rem 1rem; border: 1px solid #aaa; background: #202020; color: white; font: 600 .85rem/1.2 sans-serif; cursor: pointer; }
.avr-lightbox button:hover,.avr-lightbox button:focus-visible { background: var(--mint); color: #222; }
.avr-lightbox-close { position: absolute; top: 1rem; right: 1.5rem; }
.avr-lightbox-controls { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: .75rem; }
.avr-lightbox-caption { font-size: .85rem; margin: 0; text-align: center; }
.legacy-agentur > .wp-block-group,.legacy-downloads > .wp-block-group { border-top: .3rem solid var(--mint); }
.avr-onward { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem 4vw; padding: clamp(2rem,5vw,5rem); background: var(--blue); color: var(--ink); }
.avr-onward p { grid-column: 1/-1; margin: 0 0 1rem; font-size: 1rem; font-weight: 700; }
.avr-onward a { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1rem 0; border-top: 1px solid #202020; color: #202020; text-decoration: none; font-size: clamp(1.5rem,3vw,3rem); line-height: 1.1; font-weight: 800; letter-spacing: -.04em; }
.avr-onward a:hover,.avr-onward a:focus-visible { color: white; }
.avr-magazine-index { display: flex; gap: 1.5rem; overflow-x: auto; scroll-snap-type: x proximity; padding: 2.5rem max(1rem,3vw); background: var(--ink); scrollbar-color: var(--mint) var(--ink); }
.avr-magazine-index a { display: grid; grid-template-rows: 11rem auto; align-content: start; flex: 0 0 8rem; gap: .75rem; scroll-snap-align: start; color: white; text-decoration: none; font-size: .8rem; line-height: 1.3; }
.avr-magazine-index img { display: block; width: 100% !important; height: 11rem !important; object-fit: contain; content-visibility: visible !important; transition: transform .2s; }
.avr-magazine-index a:hover img,.avr-magazine-index a:focus-visible img { transform: translateY(-.3rem); }
@media(max-width:760px) {
 .avr-onward { grid-template-columns: 1fr; }
 .avr-site-navigator-panel { padding: 5rem 1.25rem 1.5rem; display: flex; flex-direction: column; gap: 1.25rem; }
 .avr-atlas-intro { padding: 0; }
 .avr-atlas-title { font-size: 1.9rem; }
 .avr-site-navigator-pages { flex: 0 0 auto; grid-template-columns: repeat(2,minmax(0,1fr)); }
 .avr-site-navigator-pages a { font-size: 1.6rem; grid-template-columns: 1.25rem minmax(0,1fr); gap: .3rem; }
 .avr-site-navigator-sections { flex: 0 0 auto; max-height: none; }
 .avr-site-navigator-toggle { height: 3rem; min-width: 8.5rem; }
 .inner-hero-grid.has-preview { padding-right: 0; }
 .avr-hero-preview { display: none; }
 .avr-page-shortcuts { margin-top: 1.5rem; gap: .5rem; }
 .avr-page-shortcuts a { font-size: .75rem; }
 .avr-team-finder { grid-template-columns: 1fr; }
 .avr-filter-reset { justify-self: start; }
 .avr-lightbox { padding-inline: .6rem; }
 .avr-lightbox-caption { max-width: 50%; }
}
@media(prefers-reduced-motion:reduce) {
 .avr-magazine-index img { transition: none; }
 .avr-page-shortcuts a,.avr-site-navigator-panel { transition: none; }
}

/* 1.6.1: front-end scroll QA. Preserve the design, remove competing reveals. */
:root { --avr-toolbar-offset: 0px; }
body.admin-bar { --avr-toolbar-offset: 32px; }
.nav, .nav.is-sticky {
 position: fixed; top: var(--avr-toolbar-offset); min-height: 6.5rem;
 padding-block: .85rem; animation: none;
 transform: translateX(-50%);
}
.nav.is-sticky::before { background: var(--ink); }
.inner-header { top: var(--avr-toolbar-offset); background: var(--ink); }
.intro-inner, .intro.is-active .intro-inner {
 opacity: 1; clip-path: none; transform: none; transition: none; will-change: auto;
}
.service, .service.reveal, .service.reveal.is-visible {
 opacity: 1; transform: scale(var(--stack-scale)); transition: none;
}
.service-media, .service.is-visible .service-media,
.service-body, .service.is-visible .service-body {
 opacity: 1; transform: none; transition: none; transition-delay: 0s;
}
.service-media img, .service.is-visible .service-media img { transform: none; }
.service-body { background: var(--ink); }
.service .service-detail-set { animation-play-state: paused; }
.service.is-in-view.is-frontmost .service-detail-set { animation-play-state: running; }
.service:hover .service-detail-set, .service:focus-within .service-detail-set { animation-play-state: paused; }
.avr-site-navigator-toggle:hover, .avr-site-navigator-toggle:focus-visible { transform: none; }
@media(min-width:761px) {
 .avr-site-navigator.is-footer-clear:not(.is-open) .avr-site-navigator-toggle { opacity: 0; visibility: hidden; pointer-events: none; }
}
.legacy-content :where(h2,h3) { overflow-wrap: normal; word-break: normal; hyphens: auto; }
.legacy-referenzen .wp-block-group > .wp-block-columns h2 {
 font-size: clamp(2rem,3.4vw,3.75rem); max-width: none; line-height: 1.04;
}
.legacy-downloads > .is-layout-grid > .wp-block-group > p:first-child,
.legacy-downloads > .is-layout-grid :is(h2,h3,h4) {
 font-size: clamp(1.1rem,1.8vw,1.55rem) !important; line-height: 1.2; overflow-wrap: normal; hyphens: auto;
}
@media (hover:hover) and (pointer:fine) and (min-width:761px) {
 .industry-front { isolation: isolate; z-index: 0; }
 .industry:hover .industry-back { --iris-radius: 150vw; }
}
/* Theme typography must not wrap the WordPress toolbar onto the site menu. */
#wpadminbar #wp-toolbar { display: flex; justify-content: space-between; }
#wpadminbar #wp-admin-bar-root-default { min-width: 0; flex: 1; overflow: hidden; white-space: nowrap; }
#wpadminbar #wp-admin-bar-top-secondary { flex: 0 0 auto; }
@media(max-width:782px) { body.admin-bar { --avr-toolbar-offset: 46px; } }
@media(max-width:760px) {
 .nav, .nav.is-sticky { min-height: 5.5rem; }
 .industry-mobile-toggle { position: relative; z-index: 5; background: #f4f4f3; }
 .service, .service.reveal, .service.reveal.is-visible { transform: none; }
 .legacy-referenzen .wp-block-group > .wp-block-columns h2 { font-size: clamp(1.7rem,7.4vw,2.5rem); }
}
