.gallery{position:relative;isolation:isolate;padding:110px clamp(24px,8vw,130px);overflow:hidden;background:#050505;color:#fff}
.gallery:before{content:'';position:absolute;z-index:-1;inset:0;background:radial-gradient(circle at 8% 10%,#fff2001c,transparent 25%),radial-gradient(circle at 90% 80%,#fff20012,transparent 28%),linear-gradient(120deg,#050505,#111)}
.gallery:after{content:'';position:absolute;z-index:-1;inset:0;background-image:linear-gradient(#fff20008 1px,transparent 1px),linear-gradient(90deg,#fff20008 1px,transparent 1px);background-size:48px 48px;animation:galleryGrid 18s linear infinite}
.gallery-head{display:grid;grid-template-columns:1.15fr .85fr;gap:50px;align-items:end;margin-bottom:45px}
.gallery-head h2{margin:8px 0 0;color:#fff200}
.gallery-head h2 span{color:#fff}
.gallery-head>p{margin:0;color:#aaa;max-width:520px}
.gallery-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:35px}
.gallery-filters button{appearance:none;border:1px solid #ffffff26;background:#111;color:#ddd;padding:10px 17px;font-size:10px;font-weight:900;letter-spacing:.12em;cursor:pointer;transition:.25s}
.gallery-filters button:hover,.gallery-filters button.active{background:#fff200;border-color:#fff200;color:#080808;box-shadow:0 0 25px #fff20045;transform:translateY(-2px)}
.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:150px;gap:14px}
.gallery-card{position:relative;grid-column:span 3;grid-row:span 2;border:0;padding:0;overflow:hidden;background:#151515;cursor:pointer;text-align:left;clip-path:polygon(0 0,94% 0,100% 6%,100% 100%,6% 100%,0 94%);animation:galleryIn .7s cubic-bezier(.2,.75,.2,1) both}
.gallery-card:nth-child(1),.gallery-card:nth-child(8),.gallery-card:nth-child(10){grid-column:span 6;grid-row:span 3}
.gallery-card:nth-child(7),.gallery-card:nth-child(9){grid-column:span 3;grid-row:span 3}
.gallery-card[hidden]{display:none}
.gallery-card img{width:100%;height:100%;object-fit:cover;object-position:center center;filter:saturate(.82) contrast(1.04);transition:transform .7s cubic-bezier(.2,.75,.2,1),filter .5s}
.gallery-card:before{content:'';position:absolute;z-index:2;inset:0;border:1px solid #fff20025;box-shadow:inset 0 0 0 0 #fff200;transition:.35s}
.gallery-card:after{content:'';position:absolute;z-index:2;inset:-80% -40%;background:linear-gradient(105deg,transparent 45%,#fff8 50%,transparent 55%);transform:translateX(-70%);transition:.8s}
.gallery-card:hover img,.gallery-card:focus-visible img{transform:scale(1.075);filter:saturate(1.05) contrast(1.06)}
.gallery-card:hover:before,.gallery-card:focus-visible:before{box-shadow:inset 0 0 0 4px #fff200}
.gallery-card:hover:after{transform:translateX(70%)}
.gallery-caption{position:absolute;z-index:3;left:0;right:0;bottom:0;padding:45px 18px 16px;background:linear-gradient(transparent,#000e);color:#fff}
.gallery-caption small,.gallery-caption b{display:block}
.gallery-caption small{color:#fff200;font-size:8px;letter-spacing:.18em;font-weight:900}
.gallery-caption b{font-size:17px;margin-top:3px}
.gallery-index{position:absolute;z-index:3;right:14px;top:10px;color:#fff200;font-size:11px;font-weight:950;letter-spacing:.15em}
.gallery-lightbox{width:min(880px,92vw);padding:0;border:1px solid #fff200;background:#070707;color:#fff;box-shadow:0 30px 100px #000}
.gallery-lightbox::backdrop{background:#000d;backdrop-filter:blur(9px)}
.gallery-lightbox img{display:block;width:100%;max-height:76vh;object-fit:contain;background:#fff}
.gallery-lightbox footer{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#080808;color:#fff}
.gallery-lightbox footer b{color:#fff200}
.gallery-close{position:absolute;right:12px;top:12px;z-index:2;width:42px;height:42px;border:1px solid #fff200;background:#080808;color:#fff200;font-size:24px;cursor:pointer}
.gallery-credit{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:28px;padding-top:20px;border-top:1px solid #ffffff1c;color:#888;font-size:10px;letter-spacing:.1em}
.gallery-credit b{color:#fff200}
@keyframes galleryGrid{to{background-position:48px 48px}
}
@keyframes galleryIn{from{opacity:0;transform:translateY(25px) scale(.96)}
to{opacity:1;transform:none}
}
@media(max-width:900px){.gallery-head{grid-template-columns:1fr}
.gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:230px}
.gallery-card,.gallery-card:nth-child(n){grid-column:span 1;grid-row:span 1}
.gallery-card:nth-child(1){grid-column:span 2;grid-row:span 2}
}
@media(max-width:540px){.gallery{padding-top:80px}
.gallery-grid{grid-template-columns:1fr;grid-auto-rows:350px}
.gallery-card,.gallery-card:nth-child(n){grid-column:span 1;grid-row:span 1}
.gallery-head h2{font-size:46px}
.gallery-credit{align-items:flex-start;flex-direction:column}
}
@media(prefers-reduced-motion:reduce){.gallery:after,.gallery-card{animation:none}
.gallery-card img,.gallery-card:after{transition:none}
}
.video-feature{position:relative;padding:105px clamp(24px,8vw,130px);overflow:hidden;background:#fff200;color:#050505}
.video-feature:before{content:'PLAY';position:absolute;right:-1vw;top:-3vw;color:#0000000c;font-size:clamp(120px,24vw,360px);font-weight:950;line-height:1;letter-spacing:-.08em;pointer-events:none}
.video-feature-head{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:end;margin-bottom:38px}
.video-feature-head h2{margin:8px 0 0;color:#050505}
.video-feature-head h2 span{display:block;color:#050505;-webkit-text-stroke:1px #050505;text-shadow:4px 4px 0 #fff}
.video-feature-head>p{max-width:540px;margin:0;font-weight:700}
.video-stage{position:relative;background:#050505;padding:12px;box-shadow:18px 18px 0 #05050555;clip-path:polygon(0 0,97% 0,100% 8%,100% 100%,3% 100%,0 92%)}
.video-frame{position:relative;aspect-ratio:16/9;overflow:hidden;background:#000;border:1px solid #fff20055}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-meta{display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;padding:18px 20px;color:#fff}
.video-meta span{color:#fff200;font-size:10px;font-weight:950;letter-spacing:.18em}
.video-meta b{font-size:14px;letter-spacing:.05em}
.video-meta a{color:#fff200;font-size:10px;font-weight:950;letter-spacing:.12em;text-decoration:none}
.video-meta a:hover{text-decoration:underline}
@media(max-width:800px){.video-feature-head{grid-template-columns:1fr}.video-meta{grid-template-columns:1fr;gap:7px}.video-stage{box-shadow:10px 10px 0 #05050555}}
@media(max-width:540px){.video-feature{padding:75px 20px}.video-stage{padding:7px}.video-feature-head h2{font-size:44px}}
.contact-line{display:block;padding:10px 0;border-bottom:1px solid #05050526;transition:transform .2s,opacity .2s}
.contact-line small,.contact-line span{display:block}
.contact-line small{font-size:8px;font-weight:950;letter-spacing:.16em;opacity:.58}
.contact-line span{font-weight:850;overflow-wrap:anywhere}
.contact-line:hover{transform:translateX(5px);opacity:.72}
.contact-address span{line-height:1.45}
