/* Luther – zwei eigenständige, umschaltbare Galeriekonzepte.
   A: Atelier-Lauf wie die vom Nutzer gezeigte Corto-Kollektion.
   B: Freiraum aus horizontalem Zoom, räumlicher Bühne und alternativem Raster. */
.projekte #bereiche,.projekte #sprung{display:none!important}
.projekte>.innen{background:none!important}
.projekte .unter{max-width:720px}
#galerie-v9{position:relative;z-index:2;color:#2d271f}
.gal-modusleiste{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin:27px 0 37px;padding:17px 0;border-top:1px solid #e4cda59c;border-bottom:1px solid #e4cda59c}
.gal-modusleiste .gal-modusbezeichner{font-size:12px;letter-spacing:.16em;color:#e1c7aa;text-transform:uppercase}
.gal-moduswahl{display:flex;flex-wrap:wrap;gap:8px}
.gal-moduswahl button,.gal-raumwahl button{padding:12px 18px;border:1px solid #9b887c;background:transparent;color:#e9dac9;font:650 12px/1.3 'Space Grotesk',sans-serif;letter-spacing:.06em;cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.gal-moduswahl button[aria-pressed=true],.gal-raumwahl button[aria-pressed=true]{background:#e8d5b9;border-color:#e8d5b9;color:#211914}
.gal-moduswahl button:hover,.gal-raumwahl button:hover{border-color:#fff4e3}
.gal-moduserklaerung{color:#ddc9ae;font-size:14px;line-height:1.55;margin:0 0 23px;max-width:750px}
.gal-rahmen{display:none;position:relative;width:100%;margin:0}
#galerie-v9[data-modus=atelier] #gal-atelier,
#galerie-v9[data-modus=raum] #gal-raum{display:block}
.gal-atelierspur{position:relative;will-change:transform;display:flex;align-items:center;gap:clamp(80px,9vw,180px);width:max-content;min-height:100%;padding:0 13vw;transform:translate3d(0,0,0)}
.gal-atelierstelle{position:relative;flex:0 0 clamp(290px,35vw,620px);min-width:0;padding:0;border:0;background:transparent;color:#24221f;text-align:left;cursor:pointer;transform:translate3d(0,var(--versatz,0px),0)}
.gal-atelierstelle:nth-child(4n+1){--versatz:-31px;flex-basis:clamp(260px,28vw,460px)}
.gal-atelierstelle:nth-child(4n+2){--versatz:57px;flex-basis:clamp(330px,33vw,570px)}
.gal-atelierstelle:nth-child(4n+3){--versatz:-17px;flex-basis:clamp(290px,38vw,650px)}
.gal-atelierstelle:nth-child(4n+4){--versatz:39px;flex-basis:clamp(300px,29vw,490px)}
.gal-atelierstelle figure{margin:0}
.gal-atelierstelle img{display:block;width:100%;height:clamp(290px,52vh,580px);object-fit:cover;box-shadow:0 26px 36px #34211626;transition:transform .65s cubic-bezier(.19,.9,.22,1),filter .5s;filter:contrast(1.035)}
.gal-atelierstelle:nth-child(3n) img{height:clamp(250px,41vh,470px)}
.gal-atelierstelle:nth-child(3n+2) img{height:clamp(330px,56vh,620px)}
.gal-atelierstelle:hover img,.gal-atelierstelle:focus-visible img{transform:scale(1.036)}
.gal-atelierstelle figcaption{display:flex;align-items:baseline;justify-content:space-between;gap:15px;padding-top:15px;color:#282720;font-size:clamp(13px,1.08vw,18px);font-weight:700;letter-spacing:-.025em}
.gal-atelierstelle figcaption span{color:#766651;font-size:10px;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}
.gal-atelierszene,.gal-raumszene{position:sticky;top:var(--gal-top,0px);width:100vw;margin-left:calc(50% - 50vw);height:calc(100svh - var(--gal-top,0px));min-height:580px;overflow:hidden;isolation:isolate}
.gal-atelierszene{background:radial-gradient(ellipse at 57% 39%,#faf7f1 6%,transparent 59%),radial-gradient(ellipse at 8% 83%,#d6c3a966,transparent 45%),linear-gradient(107deg,#eae4da,#f6f1e8 45%,#e4ddd1)}
.gal-atelierszene::before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.17;background:repeating-linear-gradient(93deg,transparent 0 105px,#b89e76 106px,transparent 107px 267px)}
.gal-szenenkopf{position:absolute;z-index:3;left:4.5vw;right:4.5vw;top:30px;display:flex;align-items:flex-start;justify-content:space-between;pointer-events:none}
.gal-szenenkopf .gal-eyebrow{font-weight:700;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#89775d}
.gal-szenenkopf strong{display:block;font-size:clamp(20px,2.5vw,42px);line-height:1.1;letter-spacing:-.055em;font-weight:650;color:#28241e}
.gal-szenenkopf .gal-stand{font:600 13px/1.3 'Space Grotesk',sans-serif;color:#574a3b}
.gal-szenenfuss{position:absolute;z-index:3;left:4.5vw;right:4.5vw;bottom:25px;display:flex;align-items:center;justify-content:space-between;gap:25px;color:#7b6b59;font-size:12px;letter-spacing:.08em;pointer-events:none}
.gal-fortschritt{flex:1;max-width:340px;height:1px;background:#7d6b5d65}
.gal-fortschritt i{display:block;height:2px;width:0;background:#63442a;transform-origin:left}
.gal-raumszene{background:radial-gradient(ellipse at 50% 48%,#35403d 0,#1c2221 30%,#0c1010 77%),linear-gradient(#111919,#090b0a)}
.gal-raumszene::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 78px,#b5bdb30b 79px,transparent 80px),repeating-linear-gradient(90deg,transparent 0 105px,#c0c6b70b 106px,transparent 107px);opacity:.45;pointer-events:none}
.gal-raumszene .gal-szenenkopf strong{color:#f1ede2}
.gal-raumszene .gal-eyebrow,.gal-raumszene .gal-stand{color:#c3baa8}
.gal-raumszene .gal-szenenfuss{color:#c4bdac}
.gal-raumszene .gal-fortschritt{background:#e6dcc331}
.gal-raumszene .gal-fortschritt i{background:#e6c89c}
.gal-freiraumobjekt{position:absolute;left:50%;top:50%;width:min(36vw,570px);padding:0;border:0;background:transparent;color:#f8f6ec;text-align:left;transform-origin:center center;will-change:transform,opacity;cursor:pointer;backface-visibility:hidden}
.gal-freiraumobjekt figure{margin:0}
.gal-freiraumobjekt img{width:100%;height:min(53vh,550px);object-fit:cover;display:block;box-shadow:0 24px 50px #000a;transition:filter .3s}
.gal-freiraumobjekt:hover img{filter:brightness(1.14)}
.gal-freiraumobjekt figcaption{font-size:clamp(14px,1.65vw,25px);font-weight:700;margin-top:13px;text-align:center;letter-spacing:-.04em;text-shadow:0 1px 12px #000}
.gal-raumwahl{position:absolute;top:26px;left:50%;transform:translateX(-50%);z-index:6;display:flex;gap:6px}
.gal-raumwahl button{color:#d5cabe;border-color:#d5cabe8c;padding:10px 13px}
.gal-raum-raster{display:none;background:#1b211e;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,32px);padding:50px 5vw}
#galerie-v9[data-raumansicht=raster] .gal-raumpassage{display:none}
#galerie-v9[data-raumansicht=raster] .gal-raum-raster{display:grid}
.gal-rasterstelle{border:0;padding:0;background:none;color:#eee;text-align:left;cursor:pointer}
.gal-rasterstelle img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.gal-rasterstelle strong{display:block;font-weight:650;font-size:16px;margin-top:13px}
.gal-rasterstelle small{display:block;color:#b9ad9a;text-transform:uppercase;letter-spacing:.12em;margin-top:5px}
.gal-rasterstelle:hover img{filter:brightness(1.12)}
.gal-uebergang{position:relative;pointer-events:none;text-align:center;color:#dfcfb4;padding:30px 12px 46px;font-size:12px;letter-spacing:.16em;text-transform:uppercase}
.gal-dialog{position:fixed;inset:0;z-index:1000;display:none;color:#f4f0e8;background:#111312;isolation:isolate;overflow-y:auto;overscroll-behavior:contain}
.gal-dialog.offen{display:block;animation:gal-dunkel-ein .4s ease both}
.gal-dialog.schliessen{animation:gal-dunkel-aus .25s ease both}
@keyframes gal-dunkel-ein{from{opacity:0}to{opacity:1}}
@keyframes gal-dunkel-aus{from{opacity:1}to{opacity:0}}
.gal-dialog::before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.68;background:radial-gradient(ellipse at 85% 10%,#383b365c,transparent 39%),radial-gradient(ellipse at 5% 80%,#584b3b48,transparent 44%),repeating-linear-gradient(27deg,#33352d1c 0 2px,transparent 2px 18px),repeating-linear-gradient(-33deg,#5e58402b 0 1px,transparent 1px 31px)}
.gal-dialog-head{height:76px;padding:15px clamp(20px,4vw,80px);display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid #ffffff2c}
.gal-dialog-head span{font:700 12px/1.3 'Space Grotesk',sans-serif;letter-spacing:.18em}
.gal-dialog button{cursor:pointer;font:600 12px/1.2 'Space Grotesk',sans-serif;letter-spacing:.06em}
.gal-dialog-zu,.gal-dialog-weiter,.gal-dialog-zurueck{border:1px solid #ffffff60;padding:12px 19px;background:#191a18;color:#fff}
.gal-dialog-zu:hover,.gal-dialog-weiter:hover,.gal-dialog-zurueck:hover{background:#f5e8d0;color:#1c1d1a}
.gal-dialog-inhalt{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(0,1.15fr);gap:clamp(30px,5vw,110px);align-items:start;max-width:1700px;margin:0 auto;padding:clamp(35px,5vw,100px) clamp(25px,5vw,100px)}
.gal-dialog-text{position:sticky;top:110px;min-width:0}
.gal-dialog-kicker{color:#d9b98b;font-size:11px;letter-spacing:.19em;text-transform:uppercase}
.gal-dialog-text h2{margin:18px 0 28px;font:650 clamp(44px,6.6vw,116px)/.92 'Space Grotesk',sans-serif;letter-spacing:-.075em;overflow-wrap:anywhere}
.gal-dialog-text p{font-size:clamp(15px,1.5vw,20px);line-height:1.65;color:#d3cdc1;max-width:47ch}
.gal-dialog-nav{display:flex;gap:12px;flex-wrap:wrap;margin-top:40px}
.gal-dialog-fotos{min-width:0;display:grid;gap:clamp(26px,5vw,80px)}
.gal-dialog-fotos figure{margin:0;overflow:hidden;position:relative}
.gal-dialog-fotos img{display:block;width:100%;height:auto;max-height:75vh;min-height:210px;object-fit:cover;box-shadow:0 20px 40px #0007}
.gal-dialog-fotos figure:nth-child(3n+2){width:84%;justify-self:end}
.gal-dialog-fotos figure:nth-child(3n){width:75%}
.gal-dialog-fotos figcaption{color:#b7ac9b;font-size:11px;letter-spacing:.14em;margin-top:12px;text-align:right}
.gal-dialog.offen .gal-dialog-text>*{animation:gal-texte-ein .54s cubic-bezier(.16,.7,.18,1) both;animation-delay:var(--delay,0ms)}
.gal-dialog-text h2{--delay:85ms}
.gal-dialog-text p{--delay:150ms}
.gal-dialog-nav{--delay:200ms}
@keyframes gal-texte-ein{from{opacity:0;transform:translateY(28px);clip-path:inset(0 0 100% 0)}to{opacity:1;transform:translateY(0);clip-path:inset(0)}}
.gal-projektgeist{position:fixed;z-index:1100;pointer-events:none;object-fit:cover;box-shadow:0 18px 60px #0008}
body.gal-dialog-aktiv{overflow:hidden!important}
@media(max-width:780px){
  .gal-modusleiste{display:block}
  .gal-moduswahl{margin-top:13px}
  .gal-atelierszene,.gal-raumszene{position:relative;top:auto;width:100vw;height:auto;min-height:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity}
  .gal-atelierspur{gap:23px;padding:93px 24px 60px;transform:none!important;align-items:start}
  .gal-atelierstelle,.gal-atelierstelle:nth-child(n){flex:0 0 80vw;transform:none}
  .gal-atelierstelle img,.gal-atelierstelle:nth-child(n) img{height:53vh;min-height:280px}
  .gal-atelierszene .gal-szenenkopf,.gal-atelierszene .gal-szenenfuss{display:none}
  .gal-atelierstelle{scroll-snap-align:center}
  .gal-raumpassage{display:none!important}
  .gal-raum-raster{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));padding:20px 8px;gap:16px}
  .gal-raumwahl{display:none}
  .gal-dialog-inhalt{grid-template-columns:1fr}
  .gal-dialog-text{position:relative;top:0}
  .gal-dialog-text h2{font-size:clamp(45px,10vw,70px)}
  .gal-dialog-fotos figure:nth-child(n){width:100%}
}
@media(max-width:520px){
  .gal-raum-raster{grid-template-columns:1fr}
  .gal-moduswahl button{flex:1}
  .gal-dialog-head{height:66px}
  .gal-dialog-zu{padding:10px}
}
@media(prefers-reduced-motion:reduce){
  .gal-atelierspur,.gal-freiraumobjekt{will-change:auto}
  .gal-dialog.offen,.gal-dialog.schliessen,.gal-dialog.offen .gal-dialog-text>*{animation:none!important}
}

/* V10 – drei vertikale Bildbahnen statt einer horizontalen Laufspur. */
.projekte{overflow:clip!important}
.projekte>.innen{overflow:visible!important}
header{contain:none!important;isolation:isolate;backface-visibility:hidden;transform:translateZ(0);-webkit-transform:translateZ(0)}
.gal-atelierbahnen{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(22px,4.2vw,86px);padding:0 clamp(28px,5.6vw,110px);overflow:hidden}
.gal-atelierbahn{position:relative;min-width:0;overflow:visible}
.gal-atelierspur{display:flex;flex-direction:column;align-items:center;width:100%;min-height:0;gap:clamp(62px,10vh,135px);padding:17vh 0;will-change:transform;transform:translate3d(0,0,0)}
.gal-bahn-1 .gal-atelierspur{gap:clamp(55px,6.5vh,95px)}
.gal-bahn-2 .gal-atelierspur{gap:clamp(80px,12vh,165px)}
.gal-bahn-3 .gal-atelierspur{gap:clamp(70px,9vh,130px)}
.gal-atelierstelle,.gal-atelierstelle:nth-child(n){--versatz:0px;display:block;flex:none;width:100%;max-width:550px;transform:none!important;padding:0}
.gal-atelierstelle:nth-child(3n+1){width:88%;align-self:flex-start}
.gal-atelierstelle:nth-child(3n+2){width:97%;align-self:flex-end}
.gal-atelierstelle:nth-child(3n){width:80%;align-self:center}
.gal-atelierstelle img,.gal-atelierstelle:nth-child(n) img{height:auto;max-height:none;width:100%;aspect-ratio:4/3;object-fit:cover;box-shadow:0 18px 42px #1c201f2d;filter:none}
.gal-atelierstelle:nth-child(3n+1) img{aspect-ratio:5/4}
.gal-atelierstelle:nth-child(3n+2) img{aspect-ratio:4/5}
.gal-atelierstelle:nth-child(3n) img{aspect-ratio:1}
.gal-bahn-1 .gal-atelierstelle:nth-child(n) img{aspect-ratio:5/4}
.gal-bahn-2 .gal-atelierstelle:nth-child(n) img{aspect-ratio:4/5}
.gal-bahn-3 .gal-atelierstelle:nth-child(n) img{aspect-ratio:1}
.gal-atelierstelle figcaption{font-size:clamp(13px,1.13vw,18px);color:#262a26;padding-top:10px}
.gal-atelierstelle figcaption span{white-space:normal;text-align:right}
.gal-atelierszene{background:#deded6}
.gal-atelierszene::before{background:url('textures/plaster.jpg') center/1200px auto repeat;opacity:.32;mix-blend-mode:multiply}
.gal-atelierszene::after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at 54% 45%,transparent 35%,#e5e5dd85 95%),linear-gradient(180deg,#e5e5dfdd,transparent 20%,transparent 78%,#deded7cc)}
.gal-atelierszene .gal-szenenkopf,.gal-atelierszene .gal-szenenfuss{z-index:4}
.gal-atelierszene .gal-szenenkopf strong{font-size:clamp(20px,2vw,34px)}

/* Das Schreinerei-Originalfoto bleibt im Materialfeld sichtbar.
   Echte hochauflösende Maserungen belegen ausschließlich die Profilränder. */
.materialien .muster{--holzprofil:url('textures/walnut.jpg');border:7px solid transparent!important;background-image:var(--holzprofil)!important;background-size:640px auto!important;background-origin:border-box!important;background-clip:border-box!important;box-shadow:inset 0 0 0 1px #eddcba9c,0 5px 18px #21160d40}
.materialien .muster:nth-child(3n+1){--holzprofil:url('textures/oak.jpg')}
.materialien .muster:nth-child(3n+2){--holzprofil:url('textures/mahogany.jpg')}
.materialien .muster:nth-child(3n){--holzprofil:url('textures/walnut.jpg')}
.materialien .muster.an{border-width:14px!important;outline:1px solid #5d3920!important;box-shadow:0 0 0 2px #110c08bb,0 0 0 4px #eddbb599,0 19px 44px #130f0b66!important}
.materialien .muster img{inset:0!important;position:absolute;display:block;opacity:1!important;width:100%!important;height:100%!important;object-fit:cover!important;filter:none!important;mix-blend-mode:normal!important}
.materialien .muster::before{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;border:1px solid #fff7e58c;box-shadow:inset 0 0 0 2px #100b076b,inset 0 0 13px #0005}
.materialien .muster::after{z-index:1}

/* Werkstück-Detail: Reliefoberfläche statt einer weiteren braunen Holzfläche.
   Die Fotos bekommen einen echten Vorder-/Hintergrund-Fokus auf Mausradbewegung. */
.gal-dialog{scroll-snap-type:y proximity;scroll-padding-top:8vh;background:#101413}
.gal-dialog::before{opacity:.45;background:linear-gradient(100deg,#091112dc,#172223d5),url('https://luther-vorschau.pages.dev/bilder/m/06.jpg') center/880px auto repeat;filter:none}
.gal-dialog-head{position:sticky;top:0;z-index:15;background:#131917ef;backdrop-filter:none}
.gal-dialog-fotos{gap:clamp(80px,13vh,175px);padding:7vh 0 18vh}
.gal-dialog-fotos figure{scroll-snap-align:center;min-height:55vh;display:flex;flex-direction:column;justify-content:center;filter:blur(var(--gal-blur,0px));opacity:var(--gal-opacity,1);transform:translate3d(0,0,0) scale(var(--gal-scale,1));transition:filter .18s linear,opacity .18s linear,transform .18s linear;backface-visibility:hidden}
.gal-dialog-fotos img{max-height:63vh;object-fit:contain;box-shadow:0 23px 50px #0009}
.gal-dialog-fotos figure:nth-child(3n+2){width:84%;align-self:flex-end}
.gal-dialog-fotos figure:nth-child(3n){width:77%;align-self:flex-start}
@media(max-width:780px){
  .gal-atelierpassage{height:auto!important}
  .gal-atelierszene{width:100%!important;margin:0!important;height:auto!important;min-height:0!important;overflow:visible!important}
  .gal-atelierbahnen{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 12px;padding:38px 10px;overflow:visible}
  .gal-atelierbahn,.gal-atelierspur{display:contents}
  .gal-atelierstelle,.gal-atelierstelle:nth-child(n){width:100%;max-width:none;align-self:auto}
  .gal-atelierstelle img,.gal-atelierstelle:nth-child(n) img{aspect-ratio:4/5;height:auto!important;min-height:0!important}
  .gal-atelierstelle figcaption{display:block;font-size:13px}
  .gal-atelierstelle figcaption span{display:block;text-align:left;margin-top:4px}
  .gal-atelierszene .gal-szenenkopf,.gal-atelierszene .gal-szenenfuss{display:none}
  .materialien .muster{border-width:4px!important}
  .materialien .muster.an{border-width:8px!important}
  .gal-dialog{scroll-snap-type:none}
  .gal-dialog-fotos figure,.gal-dialog-fotos figure:nth-child(n){width:100%;min-height:0;filter:none!important;transform:none!important;opacity:1!important}
}
@media(max-width:480px){.gal-atelierbahnen{grid-template-columns:1fr}.gal-atelierstelle img,.gal-atelierstelle:nth-child(n) img{aspect-ratio:5/4}}
@media(prefers-reduced-motion:reduce){.gal-atelierspur{will-change:auto}.gal-dialog-fotos figure{filter:none!important;transform:none!important;opacity:1!important;transition:none!important}}

/* V11 – verbindliche Designrichtung A, Bilder klar und ohne Nebelschleier. */
#galerie-v9 .gal-modusleiste,#galerie-v9 .gal-moduserklaerung{display:none!important}
.gal-rahmen{padding:0!important}
.gal-atelierszene::after{display:none!important}
.gal-atelierstelle img,.gal-atelierstelle:nth-child(n) img{filter:none!important;opacity:1!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}

/* RANGO steht still auf einem realistisch fotografierten Graphit-Podest.
   Nur Hover und Tastaturfokus lösen den leichten Schwebeeffekt aus. */
.preis-band{background:#11191b!important;background-image:radial-gradient(ellipse at 30% 20%,#344146 0,transparent 56%),linear-gradient(120deg,#101a1d,#090d11 70%)!important;color:#f7efe1}
.preis-band h2{color:#f3ead9!important;text-shadow:none!important;letter-spacing:-.052em}
.preis-band .kicker{color:#dec39a}
.preis-band p{color:#d3d5d3}
.rango-szene{height:clamp(360px,41vw,590px);background:#141b20 url('assets/rango-stage-contours-v11.png') center/cover no-repeat;overflow:hidden;border:1px solid #f0e4ca1f;box-shadow:0 25px 75px #03080990;perspective:none;isolation:isolate}
.rango-szene::before{display:none}
.rango-szene::after{content:'';position:absolute;z-index:1;left:17%;right:18%;height:5%;bottom:20%;border-radius:50%;background:#0105079c;filter:blur(10px);transform:scale(1);transition:transform .75s cubic-bezier(.2,.75,.2,1),opacity .75s ease;opacity:.65;pointer-events:none}
.rango-podest{display:none!important}
.rango-produkt{position:absolute!important;z-index:2;left:2%;top:30%;width:96%;max-width:none;animation:none!important;transform:translate3d(0,0,0)!important;filter:drop-shadow(0 7px 7px #050506a6);transition:transform .8s cubic-bezier(.16,.8,.21,1),filter .8s ease;transform-origin:50% 85%;will-change:auto}
.rango-szene:hover .rango-produkt,.rango-szene:focus-visible .rango-produkt{transform:translate3d(0,-19px,0) scale(1.025)!important;filter:drop-shadow(0 20px 17px #03060bc2)}
.rango-szene:hover::after,.rango-szene:focus-visible::after{opacity:.35;transform:scale(.86)}
.rango-szene:focus-visible{outline:2px solid #f2d6aa;outline-offset:3px}

/* Die historische Bilderbahn ist eine unabhängige feste Ebene.
   Schriftwechsel beeinflussen weder ihre Höhe noch den Rahmenmittelpunkt. */
.geschichte .gs-pin{display:block!important;padding:0!important;position:sticky;overflow:hidden}
.geschichte .gs-kopf{position:absolute;z-index:5;top:clamp(100px,12vh,142px);left:0;right:0;display:grid;grid-template-columns:minmax(0,39%) minmax(0,1fr);align-items:start;gap:0 25px;min-height:230px}
.geschichte .gs-jahr{font-size:clamp(55px,6.7vw,102px);width:100%;max-width:100%;min-width:0;white-space:nowrap;letter-spacing:-.08em;line-height:1.06}
.geschichte .gs-text{min-height:190px;max-width:660px}
.geschichte .gs-text h3{font-size:clamp(22px,2.35vw,32px);min-height:2.5em;line-height:1.13;max-width:23ch;margin:2px 0 6px}
.geschichte .gs-text p{min-height:4.6em;line-height:1.5;margin:0;max-width:38ch}
.geschichte .gs-aufnahme{height:46px;min-height:46px;margin-top:10px}
.geschichte .gs-spur{position:absolute;inset:0;top:0;width:100%;height:100%;min-height:0;overflow:hidden}
.geschichte .gs-foto{top:57%;will-change:transform,opacity}
.geschichte .gs-pin>.innen:last-child{position:absolute;z-index:6;left:0;right:0;bottom:23px}
@media(max-width:780px){
  .preis-band .innen{grid-template-columns:1fr!important}
  .rango-szene{height:clamp(320px,74vw,500px)}
  .rango-produkt{top:30%;width:96%}
  .geschichte .gs-kopf{grid-template-columns:1fr;top:90px;gap:6px;min-height:205px}
  .geschichte .gs-jahr{font-size:clamp(46px,8vw,66px);line-height:1.05}
  .geschichte .gs-text{min-height:0}
  .geschichte .gs-text h3{min-height:0;font-size:clamp(19px,4.1vw,26px);margin:0 0 3px}
  .geschichte .gs-text p{min-height:3.6em;font-size:13px}
  .geschichte .gs-aufnahme{height:32px;min-height:32px;margin-top:5px}
  .geschichte .gs-foto{top:65%}
}
@media(prefers-reduced-motion:reduce){.rango-produkt,.rango-szene::after{animation:none!important;transition:none!important}.rango-szene:hover .rango-produkt,.rango-szene:focus-visible .rango-produkt{transform:none!important}}

/* V12: Geist Sans gilt auch für die dynamisch erzeugte Galerie und Projektansicht. */
#galerie-v9 .gal-stand,
#galerie-v9 .gal-moduswahl button,
#galerie-v9 .gal-raumwahl button,
.gal-dialog .gal-dialog-head span,
.gal-dialog button,
.gal-dialog .gal-dialog-text h2,
.projekte .karte b{font-family:"Geist",system-ui,sans-serif}

/* V13 – vier echte RANGO-Aufnahmen, ruhig neben der Auszeichnung inszeniert. */
.preis-band .innen{grid-template-columns:minmax(0,1.23fr) minmax(0,.96fr);align-items:center;gap:clamp(28px,4vw,76px)}
.preis-band{background-color:#111a1e!important;background-image:radial-gradient(ellipse at 0% 30%,#3a4650aa,transparent 60%),linear-gradient(118deg,#1a252a,#070e13)!important}
.rango-vierer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:9px;aspect-ratio:1.065;min-width:0;isolation:isolate;filter:drop-shadow(0 18px 33px #03070a77)}
.rango-vierer .rango-bild{position:relative;min-width:0;min-height:0;display:block;overflow:hidden;margin:0;padding:0;border:1px solid #e7e5d936;cursor:zoom-in;background:#29343a;box-shadow:inset 0 0 0 1px #fff2}
.preis-band .rango-vierer .rango-bild img{display:block;width:100%;height:100%;padding:0;margin:0;max-width:none;max-height:none;object-fit:cover;object-position:50% 50%;box-shadow:none;background:none;filter:none;transition:transform .52s cubic-bezier(.2,.8,.25,1)}
.rango-vierer .rango-bild:nth-child(2) img{object-position:36% 50%}
.rango-vierer .rango-bild:nth-child(3) img{object-position:43% 50%}
.rango-vierer .rango-bild:nth-child(4) img{object-position:50% 55%}
.rango-vierer .rango-bild:hover img,.rango-vierer .rango-bild:focus-visible img{transform:scale(1.045)}
.rango-vierer .rango-bild:focus-visible{outline:2px solid #e8c28a;outline-offset:2px;z-index:3}
.preis-band .rango-preis{width:150px;max-width:100%;height:auto;margin-top:18px}

/* Kein zweites Transition-Easing auf JS-gesteuerten Rahmen: jede einzelne
   Mausradrastung bewegt dieselbe Bahn ohne kurzes Nachspringen. */
.geschichte:not(.frei) .gs-foto{top:71%!important;transition:none!important;backface-visibility:hidden}
.geschichte .gs-text p{max-width:38ch}
.geschichte .gs-kopf{z-index:7}

/* Das vorherige proximity-Snapping im geoeffneten Werkstueck-Dialog
   zog bereits bei kleinsten Radrasten das ganze Foto in die Mitte.
   Nativer, freier Scrollweg: Tiefenschaerfe bleibt als Fokus-Effekt. */
.gal-dialog{scroll-snap-type:none!important;scroll-padding-top:0!important}
.gal-dialog-fotos figure{scroll-snap-align:none!important}

/* Projektansicht ohne blickdichte, bildueberlagernde Querleiste.
   Nur eine kleine freistehende Schliessen-Taste bleibt erreichbar. */
.gal-dialog .gal-dialog-head{
  position:fixed!important;top:clamp(14px,2vw,26px);right:clamp(14px,2vw,30px);left:auto;
  z-index:45;width:auto;height:auto;padding:0!important;margin:0;
  display:block;border:0!important;box-shadow:none!important;
  background:none!important;backdrop-filter:none!important;pointer-events:none;
}
.gal-dialog .gal-dialog-head span{
  position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;
  overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0;
}
.gal-dialog .gal-dialog-zu{
  pointer-events:auto;display:block;min-height:44px;padding:12px 19px;
  border:1px solid #fbf4e995;border-radius:100px;
  background:#0b1413df;color:#f9f4ea;box-shadow:0 5px 22px #0006;
}
.gal-dialog .gal-dialog-zu:focus-visible{outline:2px solid #e8ba79;outline-offset:4px}
.gal-dialog .gal-dialog-inhalt{padding-top:clamp(85px,8vw,120px)}

/* Acht handwerklich unterschiedliche Profilmaterialien. Die Bilder innen
   bleiben die scharfen Originalfotos, nur die physische Rahmeneinfassung
   erhält einen dem jeweiligen Werkstoff entsprechenden Schliff. */
.materialien .muster{
  --materialprofil:url('textures/oak.jpg');--profil-kante:#765030;--profil-licht:#d5b489;
  background-image:var(--materialprofil)!important;background-size:var(--profil-format,650px auto)!important;
  background-position:center!important;background-repeat:repeat!important;
  border-width:8px!important;border-style:solid!important;border-color:transparent!important;
  border-radius:2px!important;background-origin:border-box!important;background-clip:border-box!important;
  box-shadow:inset 0 0 0 1px #fff9,0 2px 4px #08080666,0 14px 28px #12110f3b!important;
}
.materialien .muster:nth-child(1){--materialprofil:url('textures/oak.jpg');--profil-kante:#a77844;--profil-licht:#e9c69b}
.materialien .muster:nth-child(2){--materialprofil:url('textures/walnut.jpg');--profil-kante:#584234;--profil-licht:#a98d78}
.materialien .muster:nth-child(3){--materialprofil:url('textures/mahogany.jpg');--profil-kante:#6d381b;--profil-licht:#ce9565}
.materialien .muster:nth-child(4){--materialprofil:linear-gradient(115deg,#6c959f,#eafaff 17%,#668b95 28%,#d7eff4 52%,#8daeb4 75%,#f0ffff 89%,#7295a0);--profil-format:cover;--profil-kante:#6b9da9;--profil-licht:#e4faff}
.materialien .muster:nth-child(5){--materialprofil:linear-gradient(130deg,#18232d55,#818e9b55),url('textures/plaster.jpg');--profil-format:cover,600px auto;--profil-kante:#4b545d;--profil-licht:#b1c0c8}
.materialien .muster:nth-child(6){--materialprofil:linear-gradient(118deg,#442e25,#b15a34 25%,#65361e 42%,#324c25 67%,#a3b234 89%,#e3aa53);--profil-format:cover;--profil-kante:#6b412e;--profil-licht:#d0a06c}
.materialien .muster:nth-child(7){--materialprofil:repeating-linear-gradient(91deg,#ffffff25 0 1px,#14242d55 2px 3px,transparent 4px 6px),linear-gradient(130deg,#151b20,#bdc4c9 18%,#4b545b 31%,#0c131a 69%,#cad0d1 90%,#313a41);--profil-format:auto,cover;--profil-kante:#3a464d;--profil-licht:#e3e9ee}
.materialien .muster:nth-child(8){--materialprofil:linear-gradient(106deg,#ecede3,#cad4b2 13%,#e5ebd8 35%,#d3da86 55%,#f6e4a1 72%,#d7dad0);--profil-format:cover;--profil-kante:#aaa78c;--profil-licht:#fcf1cd}
.materialien .muster::before{border:1px solid #fff5!important;box-shadow:inset 0 0 0 2px #151c1c79,inset 0 0 10px #0007!important}
.materialien .muster.an{border-width:13px!important;outline:1px solid var(--profil-kante)!important;box-shadow:0 0 0 2px #131718c2,0 0 0 4px var(--profil-licht),0 21px 45px #11151a5a!important}
@media(max-width:780px){
  .preis-band .innen{grid-template-columns:1fr!important}
  .rango-vierer{aspect-ratio:1.12;gap:6px}
  .geschichte:not(.frei) .gs-foto{top:79%!important}
  .materialien .muster{border-width:5px!important}
  .materialien .muster.an{border-width:9px!important}
}
@media(prefers-reduced-motion:reduce){.rango-vierer .rango-bild img{transition:none!important}}
