/* TOPGENIUS exhibition: native content, stable masonry positions, project-specific crops. */
.tg-page:has([data-tgp-catalog]){padding-top:112px}
.tg-page:has([data-tgp-catalog])>h1,.tgp-gallery-page>h1{max-width:none;margin:16px 0 24px;font-size:96px;line-height:1;letter-spacing:-.065em;font-weight:600;overflow:hidden}
.tgp-heading-letter{display:inline-block;transform-origin:50% 100%;opacity:0}
.tgp-heading--ready .tgp-heading-letter{animation:tgp-letter-in 1100ms cubic-bezier(.22,1,.36,1) both;animation-delay:var(--tgp-letter-delay,0ms)}
.tg-page:has([data-tgp-catalog])>.category_description{max-width:680px;font-size:18px;line-height:28px;color:var(--tg-muted)}
.tg-page:has([data-tgp-catalog])>.icms-content-subcats{display:none}
.tgp-catalog{position:relative}
.tgp-gallery-note{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;color:var(--tgp-muted);font-size:12px;line-height:16px;letter-spacing:.08em;text-transform:uppercase}
.tgp-gallery-note>span:first-child{display:inline-flex;align-items:center;gap:12px;color:var(--tgp-accent)}
.tgp-gallery-note i{display:block;width:8px;height:8px;border-radius:9999px;background:currentColor;animation:tgp-gallery-signal 3s var(--tgp-ease) infinite}
.tgp-disciplines{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.tgp-discipline{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:48px;padding:8px 16px;border:1px solid var(--tgp-line);border-radius:9999px;color:var(--tgp-text)!important;text-decoration:none!important;font-size:14px;line-height:20px;transition:background-color 300ms var(--tgp-ease),color 300ms var(--tgp-ease),transform 500ms var(--tgp-ease)}
.tgp-discipline>span{font-size:18px;line-height:28px;opacity:.4;transition:transform 500ms var(--tgp-ease),opacity 300ms var(--tgp-ease)}
.tgp-discipline>span svg{display:block;width:18px;height:18px}
.tgp-discipline.is-active{background:var(--tgp-accent);border-color:var(--tgp-accent);color:#131209!important}
.tgp-discipline:hover{transform:translateY(-4px);background:#272727}.tgp-discipline.is-active:hover{background:var(--tgp-accent)}
.tgp-discipline:hover>span{opacity:1;transform:translate(2px,-2px)}
.tgp-discipline:focus-visible{outline:2px solid var(--tgp-accent);outline-offset:4px}.tgp-discipline:active{transform:scale(.98)}
.tgp-catalog .tgp-catalog__bar{padding:24px 0 40px;gap:24px}
.tgp-gallery-count{display:flex;align-items:center;gap:16px}
.tgp-gallery-count strong{font-size:48px;line-height:1;font-weight:600;letter-spacing:-.06em;color:var(--tgp-text)}
.tgp-gallery-count>span{font-size:14px;line-height:20px}.tgp-gallery-count small{display:block;color:var(--tgp-muted);font-size:12px;line-height:16px;margin-top:4px}
.tgp-gallery-hint{display:flex;align-items:center;gap:24px;font-size:14px;line-height:20px}
.tgp-gallery-hint svg{color:var(--tgp-accent);animation:tgp-gallery-star 9.6s var(--tgp-ease) infinite}
.tgp-catalog .tgp-masonry{--tgp-columns:3;--tgp-gutter:24px;--tgp-row-gap:40px;position:relative;display:grid;grid-template-columns:repeat(var(--tgp-columns),minmax(0,1fr));gap:var(--tgp-row-gap) var(--tgp-gutter);isolation:isolate;overflow-anchor:none}
.tgp-catalog .tgp-masonry--ready{display:block}
.tgp-masonry--ready>.tgp-tile{position:absolute;left:0;top:0;margin:0;padding:0;contain:layout style}
.tgp-masonry .tgp-card{perspective:1000px}
.tgp-masonry .tgp-card__link{position:relative;transform:rotateX(var(--tgp-tilt-x,0deg)) rotateY(var(--tgp-tilt-y,0deg));transition:transform 700ms var(--tgp-ease);transform-style:preserve-3d}
.tgp-masonry .tgp-card--tracking .tgp-card__link{transition:transform 300ms var(--tgp-ease)}
.tgp-masonry .tgp-card__media{aspect-ratio:auto!important;border-radius:16px;transform:translateZ(0)}
.tgp-masonry .tgp-card__frames{aspect-ratio:var(--tgp-ratio,1.1);transform:translate3d(var(--tgp-pan-x,0px),var(--tgp-pan-y,0px),0) scale(1.025);transition:transform 900ms var(--tgp-ease)}
.tgp-masonry .tgp-card__frames picture{height:100%;aspect-ratio:var(--tgp-ratio,1.1)}
.tgp-masonry .tgp-card__frames img{height:100%;object-fit:cover}
.tgp-masonry .tgp-card__caption{position:relative;padding-top:16px}
.tgp-masonry .tgp-card__caption h2{font-size:24px!important;line-height:32px!important;max-width:100%!important;transition:color 300ms var(--tgp-ease)}
.tgp-masonry .tgp-card__caption h2::after{content:"";display:block;width:48px;height:2px;margin-top:8px;background:var(--tgp-accent);transform:scaleX(0);transform-origin:0 50%;transition:transform 700ms var(--tgp-ease)}
.tgp-masonry .tgp-card__caption p{margin-top:4px;font-size:12px;line-height:16px;letter-spacing:.015em}
.tgp-card__badge{position:absolute;left:16px;top:16px;display:inline-flex;align-items:center;max-width:calc(100% - 96px);min-height:32px;padding:8px 12px;border:1px solid rgba(255,255,255,.25);border-radius:9999px;background:rgba(0,0,0,.62);color:#fffce1;font-size:12px;line-height:16px;opacity:0;transform:translateY(-8px);transition:transform 700ms var(--tgp-ease),opacity 300ms var(--tgp-ease);pointer-events:none}
.tgp-masonry .tgp-card__arrow{width:48px;height:48px;top:12px;right:12px;background:var(--tgp-accent);opacity:0;transform:translate(-8px,8px) scale(.8)}
.tgp-masonry .tgp-card__description{left:16px;right:16px;bottom:16px;max-height:112px;padding:16px;border-radius:12px;font-size:14px;line-height:20px;overflow:hidden;background:rgba(0,0,0,.84);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical}
.tgp-card__shine{position:absolute;left:0;top:-40%;bottom:-40%;width:32%;background:rgba(255,255,255,.12);opacity:0;transform:translateX(-400%) skewX(-16deg);pointer-events:none}
.tgp-masonry [data-tgp-reveal].tgp-reveal-ready{transform:translateY(48px) scale(.97);transition:opacity 900ms var(--tgp-ease),transform 1100ms var(--tgp-ease)}
.tgp-masonry [data-tgp-reveal].tgp-is-visible{opacity:1;transform:none}
.tgp-masonry .tgp-card__link:focus-visible .tgp-card__badge{opacity:1;transform:none}
.tgp-masonry .tgp-card__link:focus-visible .tgp-card__arrow{opacity:1;transform:none}
.tgp-masonry .tgp-card__link:focus-visible h2::after{transform:scaleX(1)}
@media(hover:hover) and (pointer:fine){.tgp-masonry .tgp-card__link:hover .tgp-card__frames{transform:translate3d(var(--tgp-pan-x,0px),var(--tgp-pan-y,0px),0) scale(1.055)}.tgp-masonry .tgp-card__link:hover .tgp-card__badge{opacity:1;transform:none}.tgp-masonry .tgp-card__link:hover .tgp-card__arrow{opacity:1;transform:none}.tgp-masonry .tgp-card__link:hover .tgp-card__shine{animation:tgp-gallery-shine 1000ms var(--tgp-ease) both}.tgp-masonry .tgp-card__link:hover h2::after{transform:scaleX(1)}.tgp-masonry .tgp-card__link:hover .tgp-card__media img{transform:none}}
@media(max-width:1100px){.tgp-catalog .tgp-masonry{--tgp-columns:2}.tg-page:has([data-tgp-catalog])>h1{font-size:72px}}
@media(max-width:700px){.tg-page:has([data-tgp-catalog]){padding-top:112px}.tg-page:has([data-tgp-catalog])>h1{font-size:60px;letter-spacing:-.06em}.tg-page:has([data-tgp-catalog])>.category_description{font-size:16px;line-height:24px}.tgp-gallery-note{font-size:12px;line-height:16px;gap:16px;padding:16px 0}.tgp-gallery-note>span:last-child{display:none}.tgp-disciplines{gap:8px}.tgp-discipline{gap:16px;min-height:44px;padding:8px 12px;font-size:12px;line-height:16px}.tgp-gallery-hint{display:none}.tgp-catalog .tgp-masonry{--tgp-gutter:16px;--tgp-row-gap:32px}.tgp-masonry .tgp-card__caption h2{font-size:20px!important;line-height:28px!important}.tgp-masonry .tgp-card__badge{display:none}.tgp-catalog .tgp-catalog__bar{padding:16px 0 32px;gap:16px}.tgp-gallery-count strong{font-size:36px;line-height:40px}.tgp-motion-toggle{order:0}}
@media(max-width:460px){.tgp-catalog .tgp-masonry{--tgp-columns:1}.tg-page:has([data-tgp-catalog])>h1{font-size:48px}.tgp-masonry .tgp-card__caption h2{font-size:24px!important;line-height:32px!important}.tgp-catalog .tgp-catalog__bar{align-items:center}.tgp-motion-toggle{font-size:12px;padding:8px;max-width:160px}.tgp-gallery-count small{display:none}}
@media(hover:none){.tgp-masonry .tgp-card__description{position:static;max-height:none;margin:0;border-radius:0;display:block;opacity:1;transform:none;padding:12px 16px}.tgp-masonry .tgp-card__arrow{opacity:1;transform:none}.tgp-masonry .tgp-card__frames{transform:none}.tgp-masonry .tgp-card__caption h2::after{display:none}}
@keyframes tgp-letter-in{from{opacity:0;transform:translateY(110%) rotate(7deg)}to{opacity:1;transform:none}}
@keyframes tgp-gallery-star{0%,100%{transform:rotate(-15deg)}50%{transform:rotate(165deg)}}
@keyframes tgp-gallery-signal{0%,100%{opacity:.35;transform:scale(.7)}50%{opacity:1;transform:scale(1)}}
@keyframes tgp-gallery-shine{0%{opacity:0;transform:translateX(-400%) skewX(-16deg)}25%{opacity:1}100%{opacity:0;transform:translateX(450%) skewX(-16deg)}}
.tgp-finale__symbol{transform-origin:50% 50%;transform:translate3d(0,-16px,0) rotate(var(--tgp-arrow-angle,214deg));animation-name:tgp-arrow-point}
@keyframes tgp-arrow-point{0%,100%{transform:translate3d(0,-16px,0) rotate(var(--tgp-arrow-angle,214deg))}50%{transform:translate3d(var(--tgp-arrow-x,-8px),calc(-16px + var(--tgp-arrow-y,2px)),0) rotate(var(--tgp-arrow-angle,214deg))}}
@media(prefers-reduced-motion:reduce){.tgp-heading-letter,.tgp-gallery-note i,.tgp-gallery-hint svg,.tgp-card__shine{animation:none!important;transform:none!important;opacity:1}.tgp-masonry .tgp-card__link,.tgp-masonry .tgp-card__frames,.tgp-masonry [data-tgp-reveal].tgp-reveal-ready{transform:none!important;transition:none!important}.tgp-card__shine{display:none}}
