
:root{--bg:#080808;--fg:#f4f4ef;--muted:#aaa;--line:#2a2a2a;--acid:#d9ff36;--pad:clamp(22px,4vw,64px);--max:1540px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.55;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit}
.nav{position:fixed;z-index:60;inset:0 0 auto;display:flex;align-items:center;gap:34px;padding:20px var(--pad);transition:.35s;background:linear-gradient(#000b,transparent)}.nav.scrolled{padding-top:12px;padding-bottom:12px;background:#080808e8;backdrop-filter:blur(18px);border-bottom:1px solid #ffffff12}.nav-mark{width:54px;height:54px;transition:.35s}.nav.scrolled .nav-mark{width:44px;height:44px}.navlinks{margin-left:auto;display:flex;gap:38px;font:700 15px/1 monospace;letter-spacing:.06em}.navlinks a{padding:11px 0;position:relative}.navlinks a:after{content:"";position:absolute;left:0;right:100%;bottom:3px;height:2px;background:var(--acid);transition:.3s}.navlinks a:hover{color:var(--acid)}.navlinks a:hover:after{right:0}.lang{display:flex;border:1px solid #ffffff40;border-radius:30px;padding:3px}.lang button{border:0;background:none;color:#aaa;padding:7px 10px;border-radius:20px;font:12px monospace;cursor:pointer}.lang button.on{background:var(--acid);color:#080808}.menu-btn{display:none;background:none;border:1px solid #ffffff45;color:#fff;padding:9px 11px;font:11px monospace}.mobile-menu{display:none;position:fixed;z-index:59;inset:0;background:#080808;padding:110px 24px 40px;flex-direction:column}.mobile-menu.on{display:flex}.mobile-menu a{font-size:clamp(40px,12vw,64px);font-weight:900;letter-spacing:-.06em;border-bottom:1px solid var(--line);padding:10px 0}
.hero{height:100svh;min-height:620px;position:relative;overflow:hidden}.hero-photo{position:absolute;inset:-3%;background:url('../images/hero.webp') center/cover no-repeat;animation:heroIn 8s ease-out both}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(#0006,#0000 48%,#080808 100%)}.hero-logo-wrap{position:absolute;z-index:3;inset:0;display:grid;place-items:center}.hero-logo{width:min(58vw,700px);filter:drop-shadow(0 6px 30px #000b);animation:logoIn 1.1s .25s cubic-bezier(.2,.75,.2,1) both}.scroll{position:absolute;z-index:4;bottom:28px;left:50%;transform:translateX(-50%);font:11px monospace;letter-spacing:.15em;color:#ddd}@keyframes heroIn{from{transform:scale(1.08)}to{transform:scale(1)}}@keyframes logoIn{from{opacity:0;filter:blur(12px);transform:scale(.88)}to{opacity:1;filter:none;transform:none}}
.ticker-wrap{position:relative;height:68px;margin-top:-18px;z-index:8;overflow:visible}.ticker{position:absolute;left:-2%;width:104%;background:var(--acid);color:#080808;padding:14px 0;transform:rotate(-1.25deg);overflow:hidden;box-shadow:0 8px 28px #0006}.track{display:flex;width:max-content;animation:tick 20s linear infinite}.track span{white-space:nowrap;font:900 15px/1 monospace;letter-spacing:.08em}@keyframes tick{to{transform:translateX(-50%)}}
.section{padding:clamp(84px,9vw,138px) var(--pad)}.inner,.section>*{max-width:var(--max);margin-left:auto;margin-right:auto}.head{margin-bottom:42px}.head h2{font-size:clamp(48px,5.8vw,82px);line-height:.85;letter-spacing:-.065em;margin:0}.ey{font:11px monospace;letter-spacing:.14em;color:#888}
.artists{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.artist{height:55vh;min-height:400px;max-height:650px;position:relative;overflow:hidden;background:#111;display:flex;align-items:flex-end;padding:18px;transition:.55s cubic-bezier(.2,.8,.2,1)}.artist:nth-child(even){margin-top:28px}.artist img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.75) brightness(.78);transition:.65s}.artist:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 42%,#050505dc)}.artist:hover{transform:translateY(-12px)}.artist:hover img{filter:grayscale(0) brightness(.95);transform:scale(1.045)}.artist .idx{position:absolute;z-index:3;top:15px;left:15px;font:11px monospace;color:var(--acid)}.artist h3{position:relative;z-index:3;font-size:clamp(22px,2vw,32px);line-height:.9;letter-spacing:-.045em;margin:0;transition:.35s}.artist:hover h3{color:var(--acid);transform:translateY(-5px)}
.services{background:#0c0c0c}.service-list{border-top:1px solid var(--line)}.service{display:grid;grid-template-columns:64px minmax(270px,.82fr) minmax(360px,1.18fr);gap:3vw;padding:44px 0;border-bottom:1px solid var(--line);position:relative}.service:after{content:"";position:absolute;bottom:-1px;left:0;width:0;height:2px;background:var(--acid);transition:.6s}.service:hover:after{width:100%}.service .num{font:11px monospace;color:var(--acid)}.service h3{font-size:clamp(42px,4.8vw,68px);line-height:.85;letter-spacing:-.06em;margin:0;transition:.35s}.service:hover h3{color:var(--acid);transform:translateX(6px)}.service p{font-size:clamp(16px,1.05vw,18px);line-height:1.72;color:#bbb;margin:0;max-width:720px}
.about{background:#090909}.about-layout{max-width:var(--max);margin:auto;display:grid;grid-template-columns:54% 46%;gap:clamp(32px,4vw,64px);align-items:center}.about-visual{height:470px;overflow:hidden;position:relative}.about-visual img{width:100%;height:100%;object-fit:cover;object-position:center 42%;filter:grayscale(.25);transition:.8s}.about-visual:hover img{filter:grayscale(0);transform:scale(1.02)}.about-copy h2{font-size:clamp(48px,5.5vw,80px);line-height:.8;letter-spacing:-.07em;margin:18px 0 24px}.about-copy p{font-size:17px;line-height:1.72;color:#bbb;max-width:590px}.about-facts{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:30px;padding-top:18px;border-top:1px solid var(--line);font:11px monospace;color:#888}.about-facts span:hover{color:var(--acid)}
.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:85px;gap:12px}.gallery-item{position:relative;overflow:hidden;background:#111;cursor:zoom-in}.gallery-item img{width:100%;height:100%;object-fit:cover;filter:grayscale(.4) brightness(.9);transition:.7s}.gallery-item:hover img{filter:grayscale(0) brightness(1);transform:scale(1.035)}.gallery-item:after{content:attr(data-n);position:absolute;bottom:10px;left:10px;background:#080808b8;padding:4px 7px;font:10px monospace;color:var(--acid)}.g1{grid-column:span 7;grid-row:span 5}.g2{grid-column:span 5;grid-row:span 7}.g3{grid-column:span 5;grid-row:span 4}.g4{grid-column:span 7;grid-row:span 5}.g5{grid-column:span 4;grid-row:span 4}.g6{grid-column:span 4;grid-row:span 6}.g7{grid-column:span 4;grid-row:span 5}.g8{grid-column:span 7;grid-row:span 5}.g9{grid-column:span 5;grid-row:span 5}.g10{grid-column:span 4;grid-row:span 6}.g11{grid-column:span 8;grid-row:span 5}.g12{grid-column:span 4;grid-row:span 5}.g13{grid-column:span 8;grid-row:span 5}.g14{grid-column:span 4;grid-row:span 5}
.contact{padding:clamp(100px,12vw,180px) var(--pad) 42px}.contact-inner{max-width:var(--max);margin:auto}.contact-title{font-size:clamp(66px,9.8vw,145px);line-height:.74;letter-spacing:-.08em;margin:0}.contact-title .accent{color:var(--acid)}.contact-details{margin:65px 0 0 auto;width:max-content;max-width:100%;text-align:right}.mail{font-size:clamp(25px,3.2vw,46px);border-bottom:2px solid var(--acid);padding-bottom:5px;display:inline-block}.phone{display:block;margin-top:13px;font:15px monospace;color:#bbb}.claim{margin-top:100px;padding-top:22px;border-top:1px solid var(--line);font:700 14px/1.5 monospace;letter-spacing:.08em}.claim strong{color:var(--acid)}.footer{max-width:var(--max);margin:42px auto 0;display:flex;justify-content:space-between;gap:20px;font:11px monospace;color:#888}.footer-links{display:flex;gap:18px}.footer a:hover{color:var(--acid)}
.reveal{opacity:0;transform:translateY(32px);transition:.85s cubic-bezier(.2,.75,.2,1)}.reveal.on{opacity:1;transform:none}.lightbox{position:fixed;z-index:100;inset:0;background:#000f;display:none;place-items:center;padding:5vw}.lightbox.on{display:grid}.lightbox img{max-width:92vw;max-height:88vh;object-fit:contain}.lightbox button{position:absolute;right:24px;top:24px;background:var(--acid);color:#080808;border:0;padding:10px 14px;font:700 11px monospace;cursor:pointer}
a:focus-visible,button:focus-visible{outline:2px solid var(--acid);outline-offset:4px}
@media(max-width:1050px){.artists{grid-template-columns:repeat(3,1fr)}.artist:nth-child(even){margin-top:0}.service{grid-template-columns:45px .9fr 1.1fr}.gallery-grid{grid-auto-rows:72px}}
@media(max-width:850px){.navlinks{display:none}.menu-btn{display:block}.lang{margin-left:auto}.nav-mark{width:46px;height:46px}.hero-logo{width:78vw}.ticker-wrap{height:60px}.artists{grid-template-columns:1fr 1fr}.artist{height:50vh}.service{grid-template-columns:32px 1fr;padding:35px 0}.service p{grid-column:2}.about-layout{grid-template-columns:1fr}.about-visual{height:480px}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:auto}.gallery-item[class*="g"]{grid-column:auto;grid-row:auto;height:52vw;min-height:260px}.gallery-item:nth-child(3n){height:70vw}.contact-title{font-size:16vw}.footer{flex-direction:column}}
@media(max-width:560px){.nav{padding:14px 18px}.nav-mark{width:42px;height:42px}.hero{min-height:570px}.hero-logo{width:82vw}.ticker{padding:12px 0}.track span{font-size:13px}.section{padding:68px 20px}.head h2{font-size:13vw}.artists{grid-template-columns:1fr}.artist{height:66svh;min-height:490px}.service h3{font-size:12vw}.about-visual{height:400px}.about-copy h2{font-size:14vw}.gallery-grid{grid-template-columns:1fr}.gallery-item[class*="g"],.gallery-item:nth-child(3n){height:68svh;max-height:560px}.contact{padding-left:20px;padding-right:20px}.contact-title{font-size:18vw}.contact-details{margin-top:48px}.mail{font-size:5.7vw}.claim{margin-top:75px}.footer{font-size:10px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}

/* V10 */
.hero-video{position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(.86);animation:videoIn 1.1s ease-out both}.hero-fallback{z-index:-1}@keyframes videoIn{from{opacity:0;transform:scale(1.025)}to{opacity:1;transform:none}}
.artist-mehnersmoos img{object-fit:contain!important;object-position:center!important;background:#090909;filter:grayscale(.5) brightness(.92)!important}.artist-mehnersmoos:hover img{transform:scale(1.012)!important;filter:grayscale(0) brightness(1)!important}
.gallery-grid{display:grid!important;grid-template-columns:repeat(12,1fr)!important;grid-auto-rows:auto!important;gap:14px!important;align-items:start}.gallery-item{grid-row:auto!important;height:auto!important;min-height:0!important}.gallery-item img{display:block;width:100%;height:100%;object-fit:cover}.gallery-item.wide{grid-column:span 7!important;aspect-ratio:3/2}.gallery-item.portrait{grid-column:span 5!important;aspect-ratio:2/3}.gallery-item.third{grid-column:span 4!important;aspect-ratio:4/5}
.flow-1{grid-column:1/span 7!important}.flow-2{grid-column:8/span 5!important}.flow-3{grid-column:1/span 5!important}.flow-4{grid-column:6/span 7!important}.flow-5{grid-column:1/span 7!important}.flow-6{grid-column:8/span 5!important}.flow-7{grid-column:1/span 5!important}.flow-8{grid-column:6/span 7!important}.flow-9{grid-column:1/span 4!important}.flow-10{grid-column:5/span 4!important}.flow-11{grid-column:9/span 4!important}.flow-12{grid-column:1/span 7!important}.flow-13{grid-column:8/span 5!important}.flow-14{grid-column:3/span 8!important;aspect-ratio:3/2!important;margin-top:8px}
@media(max-width:850px){.gallery-grid{grid-template-columns:repeat(2,1fr)!important}.gallery-item[class*="flow-"]{grid-column:auto!important;aspect-ratio:4/5!important}.gallery-item.wide{aspect-ratio:3/2!important}.flow-1,.flow-4,.flow-5,.flow-8,.flow-12,.flow-14{grid-column:span 2!important}}
@media(max-width:560px){.gallery-grid{grid-template-columns:1fr!important}.gallery-item[class*="flow-"]{grid-column:1!important;aspect-ratio:auto!important;margin-top:0!important}.gallery-item img{height:auto!important;object-fit:contain!important;background:#090909}}
@media(prefers-reduced-motion:reduce){.hero-video{display:none}.hero-fallback{z-index:0}}

/* V11 requested refinements */
.hero-video{filter:grayscale(1) brightness(.72) contrast(1.08)!important}
.artist-mehnersmoos img{object-fit:cover!important;object-position:center center!important;background:#090909;filter:grayscale(.55) brightness(.88)!important}
.artist-mehnersmoos:hover img{filter:grayscale(0) brightness(1)!important;transform:scale(1.035)!important}
.contact-details .phone{
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:clamp(25px,3.2vw,46px)!important;
  line-height:1.2;
  letter-spacing:-.025em;
  margin-top:16px;
}

/* V12 — smooth video + seamless gallery */

/* Avoid JS-driven video transforms: browser can composite the video continuously. */
.hero-video{
  transform:translateZ(0)!important;
  will-change:auto!important;
  backface-visibility:hidden;
}

/* Zero-gap mosaic. Images interlock edge-to-edge. */
.gallery-grid{
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  grid-auto-rows:78px!important;
  grid-auto-flow:dense!important;
  gap:0!important;
  overflow:hidden;
}
.gallery-item{
  margin:0!important;
  height:auto!important;
  min-height:0!important;
  grid-column:auto!important;
  grid-row:auto!important;
  aspect-ratio:auto!important;
}
.gallery-item img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
/* Alternating blocks designed to close every row without empty space. */
.mosaic-1{grid-column:span 8!important;grid-row:span 6!important}
.mosaic-2{grid-column:span 4!important;grid-row:span 6!important}
.mosaic-3{grid-column:span 4!important;grid-row:span 7!important}
.mosaic-4{grid-column:span 8!important;grid-row:span 7!important}
.mosaic-5{grid-column:span 6!important;grid-row:span 5!important}
.mosaic-6{grid-column:span 6!important;grid-row:span 5!important}
.mosaic-7{grid-column:span 5!important;grid-row:span 7!important}
.mosaic-8{grid-column:span 7!important;grid-row:span 4!important}
.mosaic-9{grid-column:span 7!important;grid-row:span 3!important}
.mosaic-10{grid-column:span 5!important;grid-row:span 7!important}
.mosaic-11{grid-column:span 4!important;grid-row:span 5!important}
.mosaic-12{grid-column:span 4!important;grid-row:span 5!important}
.mosaic-13{grid-column:span 4!important;grid-row:span 5!important}
.mosaic-14{grid-column:span 12!important;grid-row:span 6!important}

.gallery-item:after{border-radius:0}
.gallery-item:hover img{transform:scale(1.025)}

@media(max-width:850px){
 .gallery-grid{grid-template-columns:repeat(6,1fr)!important;grid-auto-rows:72px!important}
 .mosaic-1,.mosaic-4,.mosaic-14{grid-column:span 6!important}
 .mosaic-2,.mosaic-3,.mosaic-7,.mosaic-10{grid-column:span 3!important}
 .mosaic-5,.mosaic-6,.mosaic-8,.mosaic-9{grid-column:span 3!important}
 .mosaic-11,.mosaic-12,.mosaic-13{grid-column:span 2!important}
}
@media(max-width:560px){
 .gallery-grid{display:grid!important;grid-template-columns:1fr 1fr!important;grid-auto-rows:180px!important}
 .gallery-item[class*="mosaic-"]{grid-column:span 1!important;grid-row:span 2!important}
 .mosaic-1,.mosaic-4,.mosaic-14{grid-column:span 2!important;grid-row:span 2!important}
 .gallery-item img{height:100%!important;object-fit:cover!important}
}

/* V13 — visually reviewed, seamless gallery.
   Each row uses the photographs' real aspect ratios, so images touch with no gaps
   while avoiding arbitrary crop boxes. */
.gallery-flow{width:100%;max-width:none!important;margin:0!important;overflow:hidden}
.gallery-row{display:flex;width:100%;aspect-ratio:var(--sum);gap:0}
.gallery-tile{position:relative;overflow:hidden;flex:var(--ratio) 1 0;min-width:0;background:#090909;cursor:zoom-in}
.gallery-tile img{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(.28) brightness(.94);transition:filter .6s,transform .7s cubic-bezier(.2,.75,.2,1)}
.gallery-tile:hover img{filter:grayscale(0) brightness(1);transform:scale(1.025)}
.gallery-tile:after{content:attr(data-n);position:absolute;left:10px;bottom:9px;background:#080808a8;color:var(--acid);padding:4px 6px;font:10px monospace}
@media(max-width:850px){.gallery-row{aspect-ratio:auto}.gallery-tile{height:52vw}.gallery-tile img{object-fit:cover}}
@media(max-width:560px){.gallery-row{display:block}.gallery-tile{height:auto}.gallery-tile img{height:auto;object-fit:contain}.gallery-tile:after{bottom:7px}}

/* V14 — new hero video + refined gallery edges */
.hero-video{
  filter:grayscale(1) brightness(.64) contrast(1.12)!important;
  object-position:center center!important;
  transform:translateZ(0)!important;
  backface-visibility:hidden;
}
/* Local contrast field behind the centered logo, subtle enough to keep the video visible. */
.hero-logo-wrap:before{
  content:"";
  position:absolute;
  width:min(86vw,1000px);
  height:min(52vw,520px);
  left:50%;top:50%;
  transform:translate(-50%,-50%);
  background:radial-gradient(ellipse at center,rgba(0,0,0,.38) 0%,rgba(0,0,0,.16) 45%,rgba(0,0,0,0) 72%);
  pointer-events:none;
}
.hero-logo{position:relative;z-index:2;filter:drop-shadow(0 5px 26px rgba(0,0,0,.72))!important}

/* Gallery: almost seamless, but enough separation for subtle rounding. */
.gallery-flow{padding:0 4px 4px}
.gallery-row{gap:4px;margin-bottom:4px}
.gallery-tile{border-radius:5px}
.gallery-tile img{border-radius:5px}
@media(max-width:560px){
 .gallery-flow{padding:0 3px 3px}
 .gallery-row{margin-bottom:3px}
 .gallery-tile{margin-bottom:3px;border-radius:5px}
 .gallery-tile img{border-radius:5px}
}

/* V15 — aligned artists, About 02 statement, contact parity, V2 cursor */

/* Artists: exactly one even row on wide desktop */
.artists{grid-template-columns:repeat(5,minmax(0,1fr))!important;align-items:stretch}
.artist,.artist:nth-child(even){margin-top:0!important;height:55vh;min-height:410px;max-height:650px}
.artist-cta{position:absolute!important;z-index:4!important;top:15px!important;right:15px!important;left:auto!important;color:var(--acid);font:10px monospace!important;opacity:0;transform:translateY(6px);transition:.35s}
.artist:hover .artist-cta{opacity:1;transform:none}
@media(max-width:1050px){.artists{grid-template-columns:repeat(3,1fr)!important}}
@media(max-width:850px){.artists{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:560px){.artists{grid-template-columns:1fr!important}}

/* About: variant 02, statement only */
.about-v15{max-width:var(--max);margin:auto;display:grid;grid-template-columns:42% 58%;gap:5vw;align-items:center;min-height:620px}
.about-v15-photo{height:570px;margin-left:3vw;overflow:hidden}
.about-v15-photo img{width:100%;height:100%;object-fit:cover;object-position:center 42%;filter:grayscale(.2);transition:.8s}
.about-v15-photo:hover img{filter:grayscale(0);transform:scale(1.018)}
.about-v15-claim{font-size:clamp(48px,6vw,90px);font-weight:900;line-height:.88;letter-spacing:-.065em;transform:translateX(-7%)}
.about-v15-claim em{font-style:normal;color:var(--acid)}
@media(max-width:850px){.about-v15{grid-template-columns:1fr;gap:34px;min-height:0}.about-v15-photo{height:500px;margin:0}.about-v15-claim{transform:none;font-size:clamp(46px,12vw,76px)}}
@media(max-width:560px){.about-v15-photo{height:420px}}

/* Contact: email and phone are identical visual links */
.contact-details .mail{display:block;width:max-content;max-width:100%;margin-left:auto;font-family:Arial,Helvetica,sans-serif!important;font-size:clamp(25px,3.2vw,46px)!important;line-height:1.2;letter-spacing:-.025em;border-bottom:2px solid var(--acid)!important;padding-bottom:5px;margin-top:0}
.contact-details .phone{margin-top:18px!important}
.contact-details .mail:hover{color:var(--acid)}

/* Custom cursor inspired by V2 */
@media(pointer:fine){
 body,a,button,.gallery-tile{cursor:none!important}
 .cursor-dot,.cursor-ring{position:fixed;left:0;top:0;pointer-events:none;z-index:9999;border-radius:50%;transform:translate(-50%,-50%)}
 .cursor-dot{width:7px;height:7px;background:var(--acid)}
 .cursor-ring{width:28px;height:28px;border:1px solid rgba(217,255,54,.65);transition:width .22s,height .22s,background .22s,border-color .22s}
 body.cursor-hover .cursor-ring{width:48px;height:48px;background:rgba(217,255,54,.12);border-color:var(--acid)}
 body.cursor-hover .cursor-dot{background:#fff}
}
@media(pointer:coarse){.cursor-dot,.cursor-ring{display:none}}

/* V16 — final requested About / V2 gallery / V2 cursor */

/* About: new photo, one continuous sentence */
.about-v16{max-width:var(--max);margin:auto;display:grid;grid-template-columns:44fr 56fr;gap:4.5vw;align-items:center;min-height:610px}
.about-v16-photo{height:540px;overflow:hidden}
.about-v16-photo img{width:100%;height:100%;object-fit:cover;object-position:center 42%;filter:grayscale(.15);transition:.8s}
.about-v16-photo:hover img{filter:grayscale(0);transform:scale(1.018)}
.about-v16-claim{font-size:clamp(46px,5.8vw,88px);font-weight:900;line-height:.88;letter-spacing:-.065em}
.about-v16-claim em{font-style:normal;color:var(--acid)}
@media(max-width:850px){.about-v16{grid-template-columns:1fr;gap:34px;min-height:0}.about-v16-photo{height:500px}.about-v16-claim{font-size:clamp(46px,12vw,76px)}}
@media(max-width:560px){.about-v16-photo{height:430px}}

/* V2-inspired compact road photo dump: no fullscreen mosaic, staggered editorial rhythm */
.road-gallery{max-width:1320px!important;margin:0 auto!important;display:grid;grid-template-columns:repeat(12,1fr);grid-auto-flow:dense;gap:10px;align-items:start}
.road-shot{position:relative;overflow:hidden;border-radius:5px;background:#111}
.road-shot img{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(.35) brightness(.92);transition:.65s cubic-bezier(.2,.75,.2,1)}
.road-shot:hover img{filter:grayscale(0) brightness(1);transform:scale(1.035)}
.road-shot span{position:absolute;left:10px;bottom:9px;font:10px monospace;color:var(--acid);background:#080808a8;padding:4px 6px}
.road-1{grid-column:1/span 7;height:420px}.road-2{grid-column:8/span 5;height:510px;margin-top:55px}
.road-3{grid-column:2/span 4;height:390px;margin-top:-35px}.road-4{grid-column:6/span 7;height:430px}
.road-5{grid-column:1/span 6;height:400px;margin-top:30px}.road-6{grid-column:7/span 4;height:470px}.road-7{grid-column:11/span 2;height:310px;margin-top:80px}
.road-8{grid-column:2/span 5;height:440px}.road-9{grid-column:7/span 6;height:390px;margin-top:45px}
.road-10{grid-column:1/span 4;height:470px}.road-11{grid-column:5/span 4;height:350px;margin-top:70px}.road-12{grid-column:9/span 4;height:470px}
.road-13{grid-column:2/span 7;height:420px;margin-top:15px}.road-14{grid-column:9/span 3;height:350px;margin-top:80px}
@media(max-width:850px){.road-gallery{grid-template-columns:repeat(2,1fr);gap:8px}.road-shot[class*="road-"]{grid-column:auto!important;height:48vw!important;margin-top:0!important}.road-shot:nth-child(3n){grid-column:span 2!important;height:55vw!important}}
@media(max-width:560px){.road-gallery{grid-template-columns:1fr;gap:6px}.road-shot[class*="road-"],.road-shot:nth-child(3n){grid-column:1!important;height:auto!important}.road-shot img{height:auto;object-fit:contain}}

/* V2 cursor: single small dot that grows and inverts on interactive targets */
@media(pointer:fine){
 body,a,button,.road-shot{cursor:none!important}
 .cursor-dot,.cursor-ring{display:none!important}
 .v2-cursor{position:fixed;z-index:9999;left:0;top:0;width:12px;height:12px;border-radius:50%;background:var(--acid);pointer-events:none;transform:translate(-50%,-50%);transition:width .22s,height .22s,background .22s,mix-blend-mode .22s}
 body.v2-hover .v2-cursor{width:44px;height:44px;background:#fff;mix-blend-mode:difference}
}
@media(pointer:coarse){.v2-cursor{display:none}}

/* V18 — ONLY About original + grouped gallery */

/* Exact original About image: natural aspect ratio, no crop/filter/transform. */
.about-v16-photo{height:auto!important;overflow:visible!important;background:transparent!important}
.about-v16-photo img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:initial!important;
  filter:none!important;
  transform:none!important;
}
.about-v16-photo:hover img{filter:none!important;transform:none!important}

/* Grouped gallery: V2 controlled chaos + cluster logic */
.cluster-gallery{max-width:1320px!important;margin:0 auto!important;display:flex;flex-direction:column;gap:clamp(45px,6vw,85px)}
.photo-cluster{position:relative;min-height:430px;padding:18px 10px 10px;transition:.45s}
.cluster-stack{position:relative;height:410px;max-width:900px;margin:auto}
.cluster-badge{position:absolute;z-index:20;top:0;left:50%;transform:translate(-50%,-50%);background:#f1f1ed;color:#080808;padding:9px 13px;font:700 11px monospace;letter-spacing:.08em;transition:.35s;white-space:nowrap}
.cluster-photo{position:absolute;overflow:hidden;border:6px solid #eee;background:#111;box-shadow:0 18px 40px #0008;transition:transform .5s cubic-bezier(.2,.8,.2,1),filter .4s;cursor:zoom-in}
.cluster-photo img{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(.35) brightness(.93);transition:.6s}
.cluster-photo span{position:absolute;left:8px;bottom:7px;background:#080808c9;color:var(--acid);padding:3px 5px;font:9px monospace}
.cp-1{width:46%;height:330px;left:7%;top:34px;transform:rotate(-3deg)}
.cp-2{width:42%;height:355px;right:7%;top:8px;transform:rotate(3deg);z-index:2}
.cp-3{width:35%;height:270px;left:34%;top:125px;transform:rotate(-1deg);z-index:3}
.photo-cluster:hover .cluster-badge{background:var(--acid)}
.photo-cluster:hover .cp-1{transform:translate(-10px,-5px) rotate(-4deg)}
.photo-cluster:hover .cp-2{transform:translate(12px,-7px) rotate(4deg)}
.photo-cluster:hover .cp-3{transform:translateY(8px) rotate(0)}
.photo-cluster:hover .cluster-photo img{filter:grayscale(0) brightness(1)}
/* Alternate cluster direction for visual flow */
.cluster-2 .cluster-stack,.cluster-4 .cluster-stack{transform:scaleX(-1)}
.cluster-2 .cluster-photo img,.cluster-2 .cluster-photo span,.cluster-4 .cluster-photo img,.cluster-4 .cluster-photo span{transform:scaleX(-1)}
/* Two-photo finale */
.cluster-5 .cluster-stack{height:380px}
.cluster-5 .cp-1{width:52%;height:350px;left:10%;top:15px}
.cluster-5 .cp-2{width:46%;height:320px;right:8%;top:50px}
.cluster-5 .cp-3{display:none}
@media(max-width:850px){
 .cluster-gallery{gap:38px}.photo-cluster{min-height:390px}.cluster-stack{height:370px}
 .cp-1{width:52%;height:300px;left:2%}.cp-2{width:50%;height:315px;right:2%}.cp-3{width:42%;height:235px;left:29%;top:120px}
}
@media(max-width:560px){
 .cluster-gallery{gap:28px}.photo-cluster{min-height:0;padding:28px 0 0}.cluster-stack{height:auto;display:grid;grid-template-columns:1fr 1fr;gap:5px}
 .cluster-photo,.cp-1,.cp-2,.cp-3,.cluster-5 .cp-1,.cluster-5 .cp-2{position:relative!important;inset:auto!important;width:auto!important;height:auto!important;transform:none!important;border-width:3px}
 .cluster-photo img{height:auto;aspect-ratio:auto;object-fit:contain}
 .cp-3{grid-column:span 2}.cluster-5 .cluster-stack{height:auto}.cluster-badge{top:12px}
 .cluster-2 .cluster-stack,.cluster-4 .cluster-stack{transform:none}.cluster-2 .cluster-photo img,.cluster-2 .cluster-photo span,.cluster-4 .cluster-photo img,.cluster-4 .cluster-photo span{transform:none}
}

/* V19 requested refinements */

/* Hero video only */
.hero{background:#000}
.hero-fallback,.hero-photo{display:none!important}
.hero-video{background:#000}

/* Slightly larger menu + footer */
.navlinks{font-size:16px!important;gap:40px!important}
.nav .nav-mark{width:57px!important;height:57px!important}
.lang button{font-size:13px!important}
.footer{font-size:12px!important}
.footer-links{gap:22px!important}

/* Gallery: exactly four alternating 3-image clusters */
.cluster-gallery{gap:clamp(52px,7vw,92px)!important}
.photo-cluster{min-height:440px!important}
.cluster-stack{width:min(900px,82vw)!important;margin:0!important}
.cluster-1 .cluster-stack,.cluster-3 .cluster-stack{margin-left:2%!important;margin-right:auto!important}
.cluster-2 .cluster-stack,.cluster-4 .cluster-stack{margin-left:auto!important;margin-right:2%!important}
.cluster-1 .cluster-badge,.cluster-3 .cluster-badge{left:18%!important}
.cluster-2 .cluster-badge,.cluster-4 .cluster-badge{left:auto!important;right:12%!important;transform:translateY(-50%)!important}
.cluster-photo{border-radius:6px!important;border:6px solid #eee!important}
.cluster-photo img{border-radius:2px!important}
.cluster-photo:hover{z-index:40!important;transform:rotate(0deg) scale(1.075)!important}
.cluster-photo:hover img{filter:grayscale(0) brightness(1)!important}
.photo-cluster:hover .cp-1,.photo-cluster:hover .cp-2,.photo-cluster:hover .cp-3{}

/* About: after gallery, framed and slightly tilted left. Original image itself remains untouched. */
.about-v16{grid-template-columns:44fr 56fr!important}
.about-v16-photo{
  height:auto!important;
  border:7px solid #eee;
  border-radius:6px;
  transform:rotate(-2.2deg);
  box-shadow:0 18px 42px #0008;
  overflow:hidden!important;
  transition:transform .5s cubic-bezier(.2,.8,.2,1);
}
.about-v16-photo:hover{transform:rotate(-1deg) scale(1.018)}
.about-v16-photo img{display:block!important;width:100%!important;height:auto!important;border-radius:2px!important;filter:none!important;transform:none!important}

/* Rounded imagery globally */
.artist,.artist img,.gallery-tile,.gallery-tile img,.road-shot,.road-shot img{border-radius:6px}

/* Lightbox arrows */
.lightbox-prev,.lightbox-next{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:52px;height:52px;border-radius:50%;border:1px solid #ffffff55;background:#080808cc;color:var(--acid);font-size:25px;cursor:pointer}
.lightbox-prev{left:24px}.lightbox-next{right:24px}
.lightbox-prev:hover,.lightbox-next:hover{background:var(--acid);color:#080808}
@media(max-width:850px){
 .navlinks{font-size:15px!important}
 .cluster-stack{width:94%!important}
 .cluster-1 .cluster-stack,.cluster-2 .cluster-stack,.cluster-3 .cluster-stack,.cluster-4 .cluster-stack{margin-inline:auto!important}
 .about-v16-photo{transform:rotate(-1.3deg)}
}
@media(max-width:560px){
 .nav .nav-mark{width:45px!important;height:45px!important}
 .footer{font-size:11px!important}
 .lightbox-prev{left:8px}.lightbox-next{right:8px}
}

/* V20 gallery + responsive QA */
.ticker .track{display:flex;width:max-content;animation:v20tick 28s linear infinite;will-change:transform}
.ticker .track span{display:block;flex:none;white-space:nowrap}
@keyframes v20tick{to{transform:translateX(-50%)}}

.v20-gallery{max-width:1320px!important;margin:0 auto!important;display:flex;flex-direction:column;gap:clamp(60px,8vw,105px)}
.v20-group{position:relative;padding-top:22px}
.v20-group .cluster-badge{top:0;left:50%;right:auto;transform:translate(-50%,-50%);max-width:92%;text-align:center;white-space:normal;line-height:1.35}
.v20-stack{position:relative;width:min(900px,82vw);height:410px;margin-top:20px}
.group-1 .v20-stack,.group-3 .v20-stack{margin-left:2%;margin-right:auto}
.group-2 .v20-stack,.group-4 .v20-stack:nth-of-type(even){margin-left:auto;margin-right:2%}
.group-4 .v20-stack:nth-of-type(odd){margin-left:2%;margin-right:auto}
.v20-photo{position:absolute;overflow:hidden;border:6px solid #eee;border-radius:6px;background:#111;box-shadow:0 18px 42px #0009;padding:0;transition:transform .48s cubic-bezier(.2,.8,.2,1),z-index 0s;cursor:none}
.v20-photo img{display:block;width:100%;height:100%;object-fit:cover;border-radius:2px;filter:grayscale(.32) brightness(.94);transition:.6s}
.v20-photo span{position:absolute;left:8px;bottom:7px;background:#080808c9;color:var(--acid);padding:3px 5px;font:9px monospace}
.v20-photo.pos-1{width:46%;height:330px;left:5%;top:42px;transform:rotate(-3deg);z-index:1}
.v20-photo.pos-2{width:43%;height:350px;right:5%;top:18px;transform:rotate(3deg);z-index:2}
.v20-photo.pos-3{width:36%;height:275px;left:32%;top:125px;transform:rotate(-1deg);z-index:3}
.v20-photo:hover{z-index:30;transform:rotate(0deg) scale(1.08)!important}
.v20-photo:hover img{filter:grayscale(0) brightness(1)}
.v20-group:hover>.cluster-badge{background:var(--acid);color:#080808}
.group-4 .v20-stack{margin-bottom:18px}

/* Global fine-detail consistency */
.artist,.artist img,.about-v16-photo,.about-v16-photo img,.v20-photo,.v20-photo img{border-radius:6px}
.footer{font-size:12px}
.navlinks{font-size:16px}
@media(max-width:1050px){.navlinks{gap:28px!important;font-size:14px!important}.artists{grid-template-columns:repeat(3,1fr)!important}}
@media(max-width:850px){
 .v20-gallery{gap:48px}.v20-stack{width:94%;height:370px;margin-inline:auto!important}
 .v20-photo.pos-1{width:51%;height:290px;left:0}.v20-photo.pos-2{width:49%;height:305px;right:0}.v20-photo.pos-3{width:42%;height:235px;left:29%;top:118px}
 .artists{grid-template-columns:repeat(2,1fr)!important}
 .service{grid-template-columns:32px 1fr!important}.service p{grid-column:2}
 .contact-title{font-size:15vw}
}
@media(max-width:560px){
 .section{padding-left:18px!important;padding-right:18px!important}
 .v20-gallery{gap:35px}.v20-group{padding-top:30px}.v20-stack{height:auto;display:grid;grid-template-columns:1fr 1fr;gap:5px;width:100%;margin-bottom:5px!important}
 .v20-photo,.v20-photo.pos-1,.v20-photo.pos-2,.v20-photo.pos-3{position:relative;inset:auto;width:auto;height:auto;transform:none;border-width:3px}
 .v20-photo.pos-3{grid-column:span 2}.v20-photo img{height:auto;object-fit:contain}
 .artists{grid-template-columns:1fr!important}.artist{height:62svh!important;min-height:470px}
 .about-v16{grid-template-columns:1fr!important}.about-v16-claim{font-size:12vw!important}
 .contact-title{font-size:17vw}.contact-details{width:100%;text-align:left}.contact-details .mail{margin-left:0!important;font-size:5.6vw!important}
 .footer{font-size:11px!important;line-height:1.6}
}

/* V21 gallery corrections */

/* 01 left, 03 right, 02 centered and clearly larger */
.v20-photo.pos-1{width:43%!important;height:320px!important;left:5%!important;top:52px!important;transform:rotate(-3deg)!important;z-index:1!important}
.v20-photo.pos-2{width:43%!important;height:320px!important;right:5%!important;left:auto!important;top:45px!important;transform:rotate(3deg)!important;z-index:2!important}
.v20-photo.pos-3{width:42%!important;height:330px!important;left:29%!important;top:88px!important;transform:rotate(-1deg)!important;z-index:5!important}
.v20-photo.pos-1:hover,.v20-photo.pos-2:hover,.v20-photo.pos-3:hover{z-index:40!important;transform:rotate(0deg) scale(1.075)!important}

/* AND MANY MORE is one single 12-photo stack */
.group-4 .many-stack{height:610px!important;width:min(980px,88vw)!important;margin-inline:auto!important}
.many-stack .v20-photo{width:31%!important;height:265px!important}
.many-stack .many-left{left:5%!important;right:auto!important;transform:rotate(-4deg)}
.many-stack .many-right{right:5%!important;left:auto!important;transform:rotate(4deg)}
.many-stack .many-center{left:34.5%!important;right:auto!important;width:34%!important;height:285px!important;transform:rotate(-1deg)}
.many-1,.many-2,.many-3{top:25px!important}.many-4,.many-5,.many-6{top:155px!important}.many-7,.many-8,.many-9{top:285px!important}.many-10,.many-11,.many-12{top:415px!important}
.many-1,.many-4,.many-7,.many-10{z-index:1}.many-2,.many-5,.many-8,.many-11{z-index:2}.many-3,.many-6,.many-9,.many-12{z-index:4}
.many-stack .v20-photo:hover{z-index:50!important;transform:rotate(0deg) scale(1.08)!important}

/* Viewer arrows truly vertically centered */
.lightbox-prev,.lightbox-next{
  position:fixed!important;
  top:50%!important;
  bottom:auto!important;
  transform:translateY(-50%)!important;
  margin:0!important;
}
.lightbox-prev{left:clamp(10px,3vw,40px)!important}
.lightbox-next{right:clamp(10px,3vw,40px)!important}

@media(max-width:850px){
 .v20-photo.pos-1,.v20-photo.pos-2{width:48%!important;height:285px!important}
 .v20-photo.pos-3{width:45%!important;height:295px!important;left:27.5%!important}
 .group-4 .many-stack{height:560px!important}
 .many-stack .v20-photo{width:34%!important;height:235px!important}
 .many-stack .many-center{width:38%!important;height:250px!important;left:31%!important}
}
@media(max-width:560px){
 .v20-photo.pos-1,.v20-photo.pos-2,.v20-photo.pos-3{position:relative!important;inset:auto!important;width:auto!important;height:auto!important;transform:none!important}
 .v20-photo.pos-3{grid-column:span 2!important}
 .group-4 .many-stack{height:auto!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:5px!important;width:100%!important}
 .many-stack .v20-photo{position:relative!important;inset:auto!important;width:auto!important;height:auto!important;transform:none!important}
 .many-stack .many-center{grid-column:span 2!important}
}

/* V22 requested language/color refinements */
.contact-details .mail,
.contact-details .phone{color:var(--fg)!important}
.contact-details .mail:hover,
.contact-details .phone:hover{color:var(--acid)!important}
.v20-group .cluster-badge{background:var(--acid)!important;color:#080808!important}

/* V23 — final client polish */

/* Global rhythm / legibility */
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.section{scroll-margin-top:82px}
.head{margin-bottom:46px}
.head h2{max-width:100%;text-wrap:balance}
.service p,.about-v16-claim,.contact-title{text-wrap:balance}

/* Navigation: keep strong, avoid crowding at intermediate widths */
.nav{min-height:70px}
.navlinks a{transition:color .25s}
.lang{flex-shrink:0}

/* Hero */
.hero-logo{max-width:72vw}
.scroll{opacity:.85}
@media(max-height:700px) and (min-width:851px){.hero{min-height:560px}.hero-logo{width:min(52vw,620px)}}

/* Artists: consistent visual baseline */
.artists{align-items:stretch}
.artist{border-radius:6px;isolation:isolate}
.artist img{border-radius:6px}
.artist h3{text-shadow:0 2px 18px rgba(0,0,0,.65)}
.artist-cta{background:rgba(8,8,8,.7);padding:5px 7px;border-radius:3px}

/* Services: clearer reading column */
.service p{max-width:660px}
.service h3{align-self:start}

/* Gallery: improve stack spacing and badge readability */
.v20-group .cluster-badge{
  box-shadow:0 8px 22px rgba(0,0,0,.28);
  font-size:11px!important;
  letter-spacing:.055em!important;
  padding:10px 14px!important;
}
.v20-stack{isolation:isolate}
.v20-photo{outline:1px solid rgba(255,255,255,.05)}
.v20-photo img{transition:filter .45s,transform .55s cubic-bezier(.2,.75,.2,1)}
.group-4{padding-bottom:10px}

/* About: preserve exact original image content, refine only frame/layout */
.about-v16{gap:clamp(32px,5vw,72px)!important}
.about-v16-photo{transform:rotate(-1.8deg)!important;transform-origin:center}
.about-v16-photo:hover{transform:rotate(-.8deg) scale(1.012)!important}
.about-v16-claim{max-width:760px}

/* Contact / footer */
.contact-details{display:flex;flex-direction:column;align-items:flex-end;gap:18px}
.contact-details .mail{margin-top:0!important}
.footer{align-items:center;padding-top:4px}
.footer a{transition:color .25s}

/* Tablet */
@media(max-width:1100px) and (min-width:851px){
 .navlinks{gap:22px!important;font-size:13px!important}
 .nav .nav-mark{width:48px!important;height:48px!important}
 .lang button{font-size:11px!important}
 .artists{grid-template-columns:repeat(3,1fr)!important}
 .artist{height:48vh;min-height:390px}
 .service{grid-template-columns:44px minmax(230px,.85fr) minmax(320px,1.15fr)!important}
 .about-v16{grid-template-columns:46fr 54fr!important}
 .about-v16-claim{font-size:clamp(44px,5.5vw,68px)!important}
}

/* Mobile/tablet navigation and composition */
@media(max-width:850px){
 .nav{padding:13px 18px!important;min-height:64px}
 .nav .nav-mark{width:44px!important;height:44px!important}
 .menu-btn{display:block;font-size:11px}
 .mobile-menu{padding-top:95px}
 .mobile-menu a{font-size:clamp(38px,10vw,58px);line-height:.95}
 .ticker-wrap{height:56px}
 .ticker{padding:11px 0}
 .track span{font-size:12px}
 .section{scroll-margin-top:64px}
 .head{margin-bottom:32px}
 .service p{font-size:16px!important}
 .v20-group .cluster-badge{font-size:10px!important;max-width:88%}
 .contact-details{align-items:flex-end;width:100%}
}

/* Phone: deliberately composed, not desktop squeezed down */
@media(max-width:560px){
 .hero{height:92svh;min-height:540px}
 .hero-logo{width:80vw!important;max-width:80vw}
 .scroll{font-size:9px;bottom:20px}
 .ticker-wrap{margin-top:-12px}
 .section{padding-top:62px!important;padding-bottom:62px!important}
 .head h2{font-size:12vw!important}
 .artist{height:66svh!important;min-height:460px!important;max-height:620px}
 .artist h3{font-size:8vw!important}
 .artist-cta{opacity:1!important;transform:none!important;font-size:9px!important}
 .service{padding:30px 0!important}
 .service h3{font-size:11.5vw!important}
 .service p{font-size:16px!important;line-height:1.65}
 .v20-gallery{gap:42px!important}
 .v20-group{padding-top:36px!important}
 .v20-group .cluster-badge{top:15px!important;max-width:94%;width:max-content}
 .v20-stack{gap:6px!important}
 .v20-photo{border-radius:5px!important}
 .about{padding-top:70px!important}
 .about-v16{gap:38px!important}
 .about-v16-photo{transform:rotate(-1deg)!important;border-width:5px!important}
 .about-v16-claim{font-size:11.5vw!important;line-height:.92!important}
 .contact{padding-top:78px!important;padding-bottom:34px!important}
 .contact-title{font-size:16vw!important;line-height:.78}
 .contact-details{margin-top:42px!important;align-items:flex-start!important;text-align:left!important;gap:14px}
 .contact-details .mail{margin-left:0!important;font-size:5.5vw!important}
 .footer{margin-top:48px!important;gap:16px;align-items:flex-start}
}

/* Very small phones */
@media(max-width:380px){
 .lang button{padding:6px 7px!important}
 .menu-btn{padding:8px!important}
 .hero-logo{width:84vw!important}
 .contact-details .mail{font-size:5.25vw!important}
}

/* Accessibility */
@media(prefers-reduced-motion:reduce){
 .ticker .track{animation:none!important}
 .hero-video{animation:none!important}
}

/* V24 — gallery badge centering + compact responsive "And Many More" */

/* Badge is always centered relative to the full group, independent of stack alignment. */
.v20-group{position:relative!important}
.v20-group .cluster-badge{
  left:50%!important;
  right:auto!important;
  top:0!important;
  transform:translate(-50%,-50%)!important;
  text-align:center!important;
}

/* Responsive: AND MANY MORE remains one visual stack instead of expanding to a long grid. */
@media(max-width:850px){
  .group-4 .many-stack{
    position:relative!important;
    display:block!important;
    width:min(94%,720px)!important;
    height:520px!important;
    margin:20px auto 0!important;
  }
  .group-4 .many-stack .v20-photo{
    position:absolute!important;
    width:34%!important;
    height:235px!important;
    border-width:4px!important;
  }
  .group-4 .many-stack .many-left{left:6%!important;right:auto!important}
  .group-4 .many-stack .many-right{right:6%!important;left:auto!important}
  .group-4 .many-stack .many-center{left:33%!important;right:auto!important;width:36%!important;height:250px!important}
  .group-4 .many-stack .many-1,.group-4 .many-stack .many-2,.group-4 .many-stack .many-3{top:20px!important}
  .group-4 .many-stack .many-4,.group-4 .many-stack .many-5,.group-4 .many-stack .many-6{top:105px!important}
  .group-4 .many-stack .many-7,.group-4 .many-stack .many-8,.group-4 .many-stack .many-9{top:190px!important}
  .group-4 .many-stack .many-10,.group-4 .many-stack .many-11,.group-4 .many-stack .many-12{top:275px!important}
}
@media(max-width:560px){
  .v20-group .cluster-badge{
    top:12px!important;
    transform:translate(-50%,-50%)!important;
  }
  .group-4{padding-bottom:0!important}
  .group-4 .many-stack{
    display:block!important;
    position:relative!important;
    width:100%!important;
    height:400px!important;
    margin:22px auto 0!important;
  }
  .group-4 .many-stack .v20-photo{
    position:absolute!important;
    width:38%!important;
    height:185px!important;
    border-width:3px!important;
  }
  .group-4 .many-stack .many-left{left:3%!important}
  .group-4 .many-stack .many-right{right:3%!important}
  .group-4 .many-stack .many-center{left:31%!important;width:40%!important;height:198px!important}
  .group-4 .many-stack .many-1,.group-4 .many-stack .many-2,.group-4 .many-stack .many-3{top:10px!important}
  .group-4 .many-stack .many-4,.group-4 .many-stack .many-5,.group-4 .many-stack .many-6{top:72px!important}
  .group-4 .many-stack .many-7,.group-4 .many-stack .many-8,.group-4 .many-stack .many-9{top:134px!important}
  .group-4 .many-stack .many-10,.group-4 .many-stack .many-11,.group-4 .many-stack .many-12{top:196px!important}
}

/* V25 FINAL — group badges aligned to the visual center / 02 layer */

/* The badge belongs to the visual center of each stack:
   centered horizontally and positioned at the vertical level of the 02 (middle/front) image. */
.v20-group .cluster-badge{
  left:50%!important;
  right:auto!important;
  top:110px!important;
  transform:translate(-50%,-50%)!important;
  z-index:60!important;
  pointer-events:none;
}

/* For AND MANY MORE, align badge with the upper center layer of the single stack. */
.group-4 .cluster-badge{top:118px!important}

@media(max-width:850px){
  .v20-group .cluster-badge{top:105px!important}
  .group-4 .cluster-badge{top:108px!important}
}
@media(max-width:560px){
  .v20-group .cluster-badge{top:92px!important}
  .group-4 .cluster-badge{top:92px!important}
}

/* V26 FINAL — badge centered to the PHOTO STACK itself */
.v20-stack{position:relative!important}
.v20-stack>.cluster-badge{
  position:absolute!important;
  left:50%!important;
  right:auto!important;
  top:50%!important;
  bottom:auto!important;
  transform:translate(-50%,-50%)!important;
  z-index:70!important;
  margin:0!important;
  text-align:center!important;
  white-space:normal!important;
  width:max-content!important;
  max-width:82%!important;
  pointer-events:none!important;
}
/* Override all older group-specific badge offsets. */
.v20-group>.cluster-badge{display:none!important}
.group-4 .many-stack>.cluster-badge{top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important}

@media(max-width:850px){
 .v20-stack>.cluster-badge,.group-4 .many-stack>.cluster-badge{
   left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;
 }
}
@media(max-width:560px){
 .v20-stack>.cluster-badge,.group-4 .many-stack>.cluster-badge{
   left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;
   max-width:90%!important;
 }
}

/* V27 FINAL — badge ABOVE each stack, centered to that stack */

/* Group becomes the positioning wrapper. */
.v20-group{
  position:relative!important;
  padding-top:0!important;
}

/* Badge is a normal block ABOVE the stack, never over the images. */
.v20-group>.cluster-badge{
  display:block!important;
  position:relative!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  transform:none!important;
  width:max-content!important;
  max-width:90%!important;
  margin:0 auto 24px!important;
  text-align:center!important;
  z-index:20!important;
  pointer-events:none!important;
}

/* Stack starts only after the badge + spacing. */
.v20-group>.v20-stack{
  margin-top:0!important;
}

/* Preserve left/right alternation while badge itself stays centered. */
.group-1>.v20-stack,
.group-3>.v20-stack{
  margin-left:2%!important;
  margin-right:auto!important;
}
.group-2>.v20-stack{
  margin-left:auto!important;
  margin-right:2%!important;
}
.group-4>.many-stack{
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Kill every older rule that positioned a badge inside a stack. */
.v20-stack>.cluster-badge{display:none!important}

@media(max-width:850px){
  .v20-group>.cluster-badge{
    margin:0 auto 20px!important;
    max-width:92%!important;
  }
  .group-1>.v20-stack,.group-2>.v20-stack,.group-3>.v20-stack,.group-4>.many-stack{
    margin-left:auto!important;
    margin-right:auto!important;
  }
}
@media(max-width:560px){
  .v20-group>.cluster-badge{
    margin:0 auto 16px!important;
    max-width:94%!important;
  }
}

/* V28 FINAL — every badge shares the exact horizontal axis of image 02 */

/* Desktop 3-photo stacks:
   image 02 = .pos-3, left 29%, width 42% => center = 50%.
   Badge is anchored to the SAME stack coordinate system at 50%. */
.v20-group{position:relative!important}
.v20-group>.cluster-badge{
  position:absolute!important;
  top:-24px!important;
  left:50%!important;
  right:auto!important;
  transform:translateX(-50%)!important;
  margin:0!important;
  z-index:70!important;
  width:max-content!important;
  max-width:90%!important;
  text-align:center!important;
  pointer-events:none!important;
}

/* Crucial: badge positioning wrapper must have exactly the same width and horizontal
   placement as its following stack. */
.v20-group{
  width:min(900px,82vw)!important;
}
.group-1,.group-3{
  margin-left:2%!important;
  margin-right:auto!important;
}
.group-2{
  margin-left:auto!important;
  margin-right:2%!important;
}
.group-4{
  width:min(980px,88vw)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* The stack fills the group wrapper, so group center == image-02 center. */
.v20-group>.v20-stack{
  width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* AND MANY MORE: center badge on the stack's central axis as well. */
.group-4>.cluster-badge{left:50%!important;transform:translateX(-50%)!important}

@media(max-width:850px){
 .v20-group,.group-4{width:94%!important;margin-left:auto!important;margin-right:auto!important}
 .v20-group>.cluster-badge{left:50%!important;transform:translateX(-50%)!important;top:-20px!important}
 .v20-group>.v20-stack{width:100%!important}
}
@media(max-width:560px){
 .v20-group,.group-4{width:100%!important}
 .v20-group>.cluster-badge{left:50%!important;transform:translateX(-50%)!important;top:-16px!important;max-width:94%!important}
}

/* V29 REBUILT — requested feedback only */

/* About responsive word handling */
.about-v16-claim .checkmate-word{
  display:inline-block;
  overflow-wrap:anywhere;
}
@media(max-width:850px){
  .about-v16-claim .checkmate-word{display:block;margin-top:.08em}
}

/* Seamless banner */
.ticker{overflow:hidden!important}
.ticker .track{
  display:flex!important;
  width:max-content!important;
  gap:0!important;
  will-change:transform;
  animation:v29SeamlessTicker 22s linear infinite!important;
}
.ticker .track span{
  display:block!important;
  flex:0 0 auto!important;
  margin:0!important;
  padding:0!important;
}
@keyframes v29SeamlessTicker{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-50%,0,0)}
}

/* Contact headline: ~20% smaller */
.contact-title{font-size:clamp(54px,7.85vw,116px)!important}

/* Tighter page rhythm after Artists */
.services,.about,#road,.contact{
  padding-top:clamp(62px,7vw,105px)!important;
  padding-bottom:clamp(62px,7vw,105px)!important;
}

/* About image: ~30% smaller, never cropped */
.about-v16{
  grid-template-columns:32% 68%!important;
  gap:clamp(34px,5vw,72px)!important;
}
.about-v16-photo{
  width:100%!important;
  max-width:430px!important;
  justify-self:center!important;
}
.about-v16-photo img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
}

/* Cursor hover enlargement reduced ~40% */
@media(pointer:fine){
  body.v2-hover .v2-cursor{width:26px!important;height:26px!important}
}

/* Longer service copy */
.service p{max-width:720px!important}

/* Responsive fine-tuning */
@media(max-width:850px){
  .contact-title{font-size:12vw!important}
  .about-v16{grid-template-columns:38fr 62fr!important}
  .about-v16-photo{max-width:360px!important}
}
@media(max-width:560px){
  .services,.about,#road,.contact{
    padding-top:54px!important;
    padding-bottom:54px!important;
  }
  .about-v16{grid-template-columns:1fr!important}
  .about-v16-photo{
    width:70%!important;
    max-width:300px!important;
    justify-self:start!important;
  }
  .about-v16-claim{
    font-size:10.4vw!important;
    line-height:.95!important;
  }
  .about-v16-claim .checkmate-word{display:block}
  .contact-title{font-size:13.5vw!important}
}

/* CLIENT FINAL — micro polish only */
.service p{line-height:1.68!important}
.service p br+br{display:block;content:"";margin-top:.15em}
.contact-title{text-wrap:balance}
.about-v16-claim{text-wrap:balance}
@media(max-width:560px){
  .service p{line-height:1.62!important}
  .service p br+br{margin-top:.05em}
  .contact-title{max-width:95%}
  .about-v16-claim{max-width:100%}
}

/* Claim: zwischen 561 und 850 px bleibt das About-Raster zweispaltig (38%/62%),
   die Schriftgroesse darueber war aber fuer die volle Breite bemessen — 76px Text
   in einer 434px-Spalte brach "CHECKMATE." mitten im Wort. Schrift an die Spalte
   binden, und der Markenname bricht grundsaetzlich nicht mehr um. */
.about-v16-claim .checkmate-word{white-space:nowrap;overflow-wrap:normal;word-break:keep-all}
@media(max-width:850px) and (min-width:561px){
  .about-v16-claim{font-size:clamp(34px,6.4vw,54px)!important;line-height:.95!important}
}

/* Das Lauftext-Band ist absichtlich breiter als der Bildschirm; auf dem Handy
   entstanden daraus 8px seitlicher Scroll. `clip` statt `hidden`, damit die
   fixierte Navigation nicht ihren Bezug verliert. */
html{overflow-x:clip}

/* H1 traegt das Hero-Logo — reine Auszeichnung, keine eigene Optik. */
.hero-h1{margin:0;font-size:inherit;line-height:0;font-weight:inherit}

/* Kontakt: E-Mail und Telefon bleiben auch auf schmalen Bildschirmen rechtsbuendig
   (Wunsch des Betreibers). Eine fruehere Regel stellte sie dort links. */
@media(max-width:850px){
  .contact-details{text-align:right!important}
  .contact-details .mail{margin-left:auto!important}
}

/* Kontakt-Überschrift: 0,74 Zeilenhöhe traegt die englische Fassung, die deutsche
   nicht — „HALLO“ und ENTFERNT stiessen ineinander (Anführungszeichen + Umlaute
   ragen ueber die Versalhöhe). Auf schmalen Bildschirmen etwas Luft geben. */
@media(max-width:850px){
  .contact-title{line-height:1!important}
}

/* Claim auf schmalen Bildschirmen rechtsbuendig — sonst klebt unter dem Foto
   alles an der linken Kante (Wunsch des Betreibers, wie der Kontaktblock). */
@media(max-width:850px){
  .about-v16-claim{text-align:right!important;margin-left:auto!important}
}

/* iOS Safari: Elemente mit eigener Compositing-Ebene (transform/translateZ an
   den Tour-Badges, gemeldet 19.09.2026: "LAURENZ NIKOLAUS | SUPPORT ..." lag
   ueber dem offenen Menue) schiebt WebKit teils vor fixierte Ebenen, egal welcher
   z-index. Deshalb bekommen Menue und Leiste selbst eine eigene Ebene, ganz oben. */
.mobile-menu{z-index:1000!important;transform:translateZ(0);isolation:isolate}
.nav{z-index:1001!important}
body.menu-offen{overflow:hidden}

/* iOS zeigt im Stromsparmodus statt Autoplay einen Play-Knopf mitten im Hero.
   Das Video ist Kulisse, kein Inhalt: Knopf weg, das Standbild (poster) bleibt. */
.hero-video::-webkit-media-controls,
.hero-video::-webkit-media-controls-panel,
.hero-video::-webkit-media-controls-overlay-play-button,
.hero-video::-webkit-media-controls-start-playback-button{display:none!important;-webkit-appearance:none;opacity:0}

/* Deutsch: "KUENSTLER*INNEN" hat doppelt so viele Zeichen wie "ARTISTS" und lief
   bei 12vw auf jeder Handybreite ~22px ueber den Rand (gemeldet 19.09.2026, das N
   war angeschnitten). Nur diese Ueberschrift, nur auf Deutsch, nur am Handy. */
@media(max-width:850px){
  html[lang="de"] .head h2[data-t="artistsTitle"]{font-size:10.6vw!important}
}
/* dasselbe Wort im Handy-Menue: nur auf sehr schmalen Geraeten (320px, iPhone SE)
   zu breit; darueber bleibt es gleich gross wie die anderen Menuepunkte. */
@media(max-width:374px){
  html[lang="de"] .mobile-menu a[data-t="navArtists"]{font-size:10.4vw}
}

/* Hero-Logo ohne dunklen Hof (Wunsch Sven 19.09.2026: "Kontrast ist eh gegeben"):
   Kontrastfeld hinter dem Logo und Schlagschatten weg, das Logo steht frei auf dem Video. */
.hero-logo-wrap:before{display:none!important}
.hero-logo{filter:none!important}
