*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #eff2f7;--text: #111;--text-dim: #999;--gap: 48px;--padding: 96px;font-family:system-ui,-apple-system,sans-serif;font-size:13px;letter-spacing:.04em;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}body{background-color:#f3f5fa;color:var(--text);min-height:100vh}#root{display:flex;flex-direction:column;min-height:100vh}.uc{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.uc__name{font-size:clamp(24px,3vw,48px);font-weight:500;letter-spacing:-.02em;color:#1a1f3a}.uc__status{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--text-dim)}main{flex:1}.site-header{padding:var(--padding) var(--padding) 0}.site-title{font-size:clamp(36px,4vw,96px);font-weight:500;letter-spacing:-.03em;line-height:1;text-transform:uppercase;color:#1a1f3a}.grid{columns:320px;column-gap:var(--gap);padding:var(--padding)}.grid-item-wrapper{break-inside:avoid;margin-bottom:var(--gap);cursor:pointer}.grid-item{position:relative;width:100%;overflow:hidden;background:#f3f5fa}.grid-item-frame{--gap-art: 8px;padding:var(--gap-art)}.grid-item video,.grid-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}.grid-item-wrapper:hover .grid-item video,.grid-item-wrapper:hover .grid-item img{transform:scale(1.03)}.grid-item__label{margin-top:10px;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#999;transition:color .3s ease}.grid-item-wrapper:hover .grid-item__label{color:#6878b8}.lightbox{position:fixed;inset:0;z-index:100;background:#eff2f799;backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);display:flex;align-items:center;justify-content:center;padding:var(--gap);animation:fade-in .18s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.lightbox__close{position:fixed;top:24px;right:28px;background:none;border:none;color:var(--text-dim);font-size:18px;line-height:1;cursor:pointer;padding:4px;font-family:inherit;transition:color .2s}.lightbox__close:hover{color:var(--text)}.lightbox__inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:var(--gap);width:100%;max-width:1100px}.lightbox__media>div{width:100%}.lightbox__media video,.lightbox__media img{max-width:100%;max-height:calc(100vh - 96px);object-fit:contain;display:block}.lightbox__info{border-left:1px solid rgba(0,0,0,.08);padding-left:40px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:16px}.lightbox__title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--text)}.lightbox__description{font-size:13px;line-height:1.75;color:#666}.lightbox__link{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#6878b8;text-decoration:none;transition:color .2s}.lightbox__link:hover{color:#111}.lightbox__media-col{display:flex;flex-direction:column;align-items:center;gap:20px;align-self:stretch}.lightbox__media{position:relative;display:flex;align-items:center;justify-content:center;width:100%;flex:1}.carousel__btn{position:absolute;top:50%;transform:translateY(-50%);background:none;border:none;font-size:32px;line-height:1;color:var(--text-dim);cursor:pointer;padding:8px;z-index:1;transition:color .2s;font-family:inherit}.carousel__btn:hover{color:var(--text)}.carousel__btn--prev{left:-48px}.carousel__btn--next{right:-48px}.carousel__dots{display:flex;gap:6px;align-items:center;justify-content:center}.carousel__dot{width:5px;height:5px;border-radius:50%;border:none;background:#5a6ed240;cursor:pointer;padding:0;transition:background .2s,transform .2s}.carousel__dot--active{background:#5a6ed2cc;transform:scale(1.4)}@media(max-width:768px){:root{--gap: 32px;--padding: 48px}.grid{columns:1}.lightbox{padding:40px 32px;align-items:flex-start;overflow-y:auto}.lightbox__inner{grid-template-columns:1fr;padding-top:40px}.lightbox__info{border:none;border-top:1px solid rgba(0,0,0,.08);padding-left:0;padding-top:24px}.site-header{padding:40px 48px 0}.site-title{line-height:1.25}.carousel__btn--prev{left:4px}.carousel__btn--next{right:4px}}
