.panel-body--gallery{background:var(--background);overflow-y:auto}.gallery-panel{ --gallery-gap:2px;display:flex;flex-direction:column;gap:var(--gallery-gap);padding:1px}.gallery-row{display:flex;align-items:stretch;gap:var(--gallery-gap)}.gallery-item{flex:1 1 0;min-width:0;overflow:hidden}@keyframes gallery-image-reveal{from{opacity:0;transform:translateY(30%) scale(1.04)}to{opacity:1;transform:none}}@keyframes gallery-text-reveal{from{opacity:0}to{opacity:1}}.gallery-image{display:block;width:100%;height:auto;opacity:0}.gallery-item.is-revealed .gallery-image{animation:gallery-image-reveal 850ms cubic-bezier(0.16,1,0.3,1) 80ms both}.gallery-item--text{background:var(--background)}.gallery-text{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;padding:clamp(20px,2.4vw,48px) clamp(14px,1.2vw,24px);overflow:hidden}.gallery-text-content{flex:0 0 auto;width:100%;transform-origin:center center;opacity:0}.gallery-item.is-revealed .gallery-text-content{animation:gallery-text-reveal 480ms cubic-bezier(0.16,1,0.3,1) both}.gallery-text-title{margin-bottom:clamp(14px,1.6vw,24px);color:var(--text);font-family:var(--font-logo);font-size:clamp(20px,1.6vw,28px);font-weight:800;line-height:1.1;letter-spacing: -0.03em;overflow-wrap:anywhere}.gallery-text-description{color:#9c9c9c;font-family:var(--font-text);font-size:clamp(12px,0.95vw,14px);line-height:1.6;overflow-wrap:anywhere}.gallery-text-description p{white-space:pre-line}.gallery-text-description p + p{margin-top:10px}.gallery-text-actions{display:flex;flex-wrap:wrap;gap:8px;min-width:0;margin-top:clamp(20px,2.2vw,36px)}.gallery-text-button{display:inline-flex;align-items:center;justify-content:center;max-width:100%;min-height:36px;overflow-wrap:anywhere;white-space:normal;padding:0 14px;background:var(--border);color:var(--text);font-family:var(--font-text);font-size:12px;font-weight:500;text-decoration:none;transition:background-color 0.2s ease,color 0.2s ease}.gallery-text-button:focus-visible{outline:2px solid #33d6ad;outline-offset:2px}@media (max-width:1200px){.panel-body--gallery{overflow-y:visible}.gallery-panel{padding:60px 1px 1px}}@media (hover:hover){.gallery-text-button:hover{background:#33d6ad;color:#1b1a1a}}@media (prefers-reduced-motion:reduce){.gallery-image,.gallery-item.is-revealed .gallery-image,.gallery-text-content,.gallery-item.is-revealed .gallery-text-content{opacity:1;animation:none}}