/* Klub junger Generalisten · eigenständige Galerie zwischen zwei Papierbögen.
   Aktuelle Gestaltung: klassisch, Creme/Marineblau, dezente Zeichen statt CTA-Flächen.
   Kein Briefpapier hinter der Galerie, keine weißen Weiter-Kacheln. */
.generalists{position:relative;width:100%;margin:clamp(64px,9vw,104px) 0;padding:0;color:#f4eedf}
.generalists-frame{position:relative;width:100%;height:82svh;min-height:420px;max-height:960px;container-type:inline-size;background:#14100c}
.generalists-track{display:flex;width:100%;height:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;cursor:grab;user-select:none;-webkit-user-select:none}
.generalists-track::-webkit-scrollbar{display:none}
.generalists-track.is-dragging,.generalists-track.is-gliding{cursor:grabbing;scroll-snap-type:none}
.generalists-track:focus-visible{outline:1px solid #f4eedf;outline-offset:-6px}
.field{position:relative;flex:0 0 100%;height:100%;scroll-snap-align:start;scroll-snap-stop:always;overflow:hidden;margin:0}
.field-images,.field-images img{position:absolute;inset:0;width:100%;height:100%}
.field-images img{max-width:none;object-fit:cover;opacity:0;transition:opacity 2.8s cubic-bezier(.45,0,.2,1);pointer-events:none;-webkit-user-drag:none}
/* Erste Motive bilden stets die sichtbare Basis; kein schwarzer Bildeinstieg. */
.field-images img:first-child,.field-images img.is-shown{opacity:1}
.field::after{content:"";position:absolute;inset:0 0 auto;height:42%;z-index:1;pointer-events:none;background:linear-gradient(180deg,#000000b3 0%,#00000066 45%,#00000000 100%)}
.generalists-mark{position:absolute;z-index:3;left:50%;top:clamp(26px,4vw,48px);width:clamp(40px,5vw,70px);transform:translateX(-50%);pointer-events:none}
.field-mark{position:absolute;z-index:2;left:50%;top:clamp(92px,12vw,148px);width:calc(100% - 40px);transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;text-align:center;color:#f4eedf;pointer-events:none}
.field-caps{font:600 clamp(10px,1.2vw,16px)/1.2 'Jost','Helvetica Neue',Arial,sans-serif;letter-spacing:.22em;text-transform:uppercase;text-shadow:0 1px 8px #0009}
.field-script{margin-top:12px;font:italic 400 clamp(38px,5.6vw,78px)/1.02 'Cormorant Garamond',Garamond,Georgia,serif;letter-spacing:-.01em;text-shadow:0 1px 12px #0009}
/* Subtil sichtbarer Pfeil, mit ausreichend großer unsichtbarer Tippfläche. */
.generalists-next{position:absolute;z-index:4;right:clamp(16px,3vw,42px);bottom:20px;display:grid;place-items:center;width:52px;height:48px;margin:0;padding:0;border:0;background:transparent;color:#f4eedf;cursor:pointer;opacity:.72;transition:opacity 180ms cubic-bezier(.23,1,.32,1)}
.generalists-next svg{display:block;width:38px;height:12px;filter:drop-shadow(0 1px 4px #0008)}
.generalists-next:focus-visible{outline:1px solid currentColor;outline-offset:2px;opacity:1}
.generalists:not(.is-enhanced) .generalists-next{display:none}
@media(hover:hover) and (pointer:fine){.generalists-next:hover{opacity:1}}
.gallery-hint{position:absolute;z-index:3;bottom:36px;left:clamp(18px,3vw,42px);margin:0;font:10px/1.5 var(--sans);letter-spacing:.08em;color:#f4eedf;white-space:nowrap;text-shadow:0 1px 8px #000}
.generalists::after{content:'';position:absolute;inset:auto 0 0;height:110px;background:linear-gradient(transparent,#0007);pointer-events:none}
.gallery-hint::before{content:'';display:inline-block;vertical-align:middle;width:30px;height:1px;background:#fff7;margin-right:12px}
.gallery-hint::after{content:'';position:absolute;left:0;top:50%;width:5px;height:5px;border-radius:50%;background:#f4eedf;opacity:.6;transform:translateY(-50%)}
.generalists.swipe-hint .gallery-hint::after{animation:gallery-swipe-hint 1500ms cubic-bezier(.77,0,.175,1) 2}
@keyframes gallery-swipe-hint{0%,100%{transform:translate(0,-50%);opacity:.4}50%{transform:translate(25px,-50%);opacity:1}}
@media(max-width:700px){.generalists-frame{height:78svh;min-height:420px}.gallery-hint{left:18px;font-size:9px}.gallery-hint::before{width:22px;margin-right:8px}.gallery-hint::after{width:4px;height:4px}.field-script{font-size:38px}}
@media(prefers-reduced-motion:reduce){.field-images img{transition:opacity .3s}.generalists.swipe-hint .gallery-hint::after{animation:none}.generalists-next{transition:none}}
