:root{--orange:#f39200;--purple:#6259bd;--dark:#17172e}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Montserrat,Arial,sans-serif;color:#222}a{color:inherit;text-decoration:none}header{height:94px;background:var(--orange);display:flex;align-items:center;justify-content:space-between;padding:8px 4vw;position:relative;z-index:10}.logo{width:150px;height:76px;overflow:hidden}.logo img,.opening img,.contact-text>img{width:100%;height:100%;object-fit:cover}nav{display:flex;gap:34px;font-size:11px;font-weight:800}nav a:hover{text-decoration:underline}.menu-button{display:none;background:none;border:0}.menu-button span{display:block;width:28px;height:3px;margin:5px;background:var(--dark)}.opening{height:calc(100vh - 94px);min-height:620px;background:var(--orange);display:grid;place-items:center}.opening img{width:min(1000px,86vw);height:auto}.wrap{width:min(1180px,90vw);margin:auto}.festival{padding:85px 0}.festival.old{background:#f0eee8}.festival.current{background:var(--orange)}h1,.videos h2,.news>div>h2{font-size:clamp(36px,5vw,66px);line-height:1;margin:0 0 45px;font-weight:900;text-transform:uppercase}.poster-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px 18px}.poster-grid.archive{grid-template-columns:repeat(6,1fr)}.poster-grid img{width:100%;aspect-ratio:4/5;display:block;object-fit:cover}.poster-grid article{display:flex;flex-wrap:wrap;align-content:flex-start;gap:7px}.poster-grid article a{background:var(--purple);color:#fff;text-transform:uppercase;font-size:10px;font-weight:800;padding:9px 12px;margin-top:2px}.videos{padding:90px 0;background:#fff}.videos h2{margin-top:70px;text-align:center}.videos h2:first-child{margin-top:0}.video{height:620px;position:relative;background:#111;overflow:hidden}.video img{width:100%;height:100%;object-fit:cover}.video span{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:82px;height:82px;border-radius:50%;background:var(--orange);display:grid;place-items:center;color:white;font-size:28px;padding-left:5px}.second{height:500px}.news{padding:90px 0;background:#efeee9}.news>div>h2{text-align:center}.featured-news{background:var(--purple);color:#fff;padding:38px;margin-bottom:25px}.featured-news h3{font-size:30px;max-width:800px}.news-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.news-grid article{background:white;padding-bottom:22px}.news-grid img{width:100%;aspect-ratio:4/5;object-fit:cover}.news-grid time,.news-grid h3{display:block;margin:15px 18px 0}.news-grid time{font-size:11px;font-weight:700}.news-grid h3{font-size:17px}.sponsors{display:grid;grid-template-columns:repeat(4,1fr);align-items:center;gap:25px;padding:60px max(6vw,20px);background:#fff}.sponsors img{width:100%;max-height:150px;object-fit:contain}.contacts{padding:90px max(5vw,20px);background:var(--dark);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:6vw}.contact-text>img{width:260px;height:140px;margin-bottom:25px}.contact-text p{line-height:1.65}.contact-text a{color:var(--orange)}.contact-text h3{text-transform:uppercase;font-size:27px;margin-top:35px}.contacts iframe{width:100%;height:650px;border:0}footer{background:#0c0c19;color:#fff;text-align:center;padding:45px 20px;font-size:11px;line-height:1.7}footer div{display:flex;justify-content:center;gap:13px;margin-top:20px}@media(max-width:900px){.poster-grid.archive{grid-template-columns:repeat(3,1fr)}.poster-grid{grid-template-columns:repeat(3,1fr)}.news-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){header{height:76px}.logo{width:112px;height:58px}nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--dark);color:white;padding:25px;flex-direction:column;gap:22px}nav.open{display:flex}.menu-button{display:block}.opening{height:calc(80vh - 76px);min-height:460px}.festival,.videos,.news{padding:60px 0}.poster-grid,.poster-grid.archive{grid-template-columns:repeat(2,1fr);gap:14px 10px}.poster-grid article a{font-size:8px;padding:8px}.video,.second{height:300px}.news-grid{grid-template-columns:1fr}.sponsors{grid-template-columns:repeat(2,1fr)}.contacts{grid-template-columns:1fr}.contacts iframe{height:380px}}
