
:root {
  --bg:#050505; --bg2:#0b0b0b; --panel:#101010; --panel2:#151515;
  --line:#252525; --text:#f5f5f5; --muted:#9b9b9b;
  --red:#e3131b; --red2:#ff2933; --max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.5}
a{color:inherit;text-decoration:none}
img{display:block;width:100%;height:100%;object-fit:cover}
.container{width:min(calc(100% - 40px),var(--max));margin:auto}
.header{position:sticky;top:0;z-index:100;background:rgba(5,5,5,.88);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.07)}
.nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.logo{display:flex;align-items:center;gap:10px;font-weight:900;font-size:27px;letter-spacing:2px;color:#fff}
.logo-mark{width:13px;height:29px;border:3px solid var(--red);border-right:0;display:inline-block}
.domain{font-size:11px;color:#777;letter-spacing:.12em;margin-left:10px}
.menu{display:flex;gap:28px;align-items:center}
.menu a{font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:#bbb}
.menu a:hover,.menu a.active{color:var(--red2)}
.menu-toggle{display:none;border:0;background:none;color:white;font-size:28px}
.btn{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:0 25px;border:1px solid #4b4b4b;background:transparent;color:#fff;text-transform:uppercase;font-size:12px;letter-spacing:.07em;cursor:pointer;transition:.2s}
.btn:hover{border-color:#fff;transform:translateY(-1px)}
.btn-red{background:var(--red);border-color:var(--red)} .btn-red:hover{background:var(--red2);border-color:var(--red2)}

.hero{min-height:740px;display:flex;align-items:center;position:relative;overflow:hidden;background:
linear-gradient(90deg,rgba(0,0,0,.98) 0%,rgba(0,0,0,.78) 37%,rgba(0,0,0,.28) 74%,rgba(0,0,0,.55) 100%),
linear-gradient(0deg,rgba(0,0,0,.65),transparent 35%),
url('https://images.unsplash.com/photo-1766650552326-28d1027b7119?auto=format&fit=crop&fm=jpg&ixlib=rb-4.1.0&q=60&w=3000') center 42%/cover no-repeat}
.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 67% 45%,rgba(255,0,0,.22),transparent 31%);pointer-events:none}
.hero-content{position:relative;z-index:2;max-width:650px}
.eyebrow{color:var(--red2);font-size:12px;letter-spacing:.15em;text-transform:uppercase;font-weight:bold;margin-bottom:13px}
h1,h2,h3,h4{margin:0 0 16px;line-height:1.02}
h1{font-size:clamp(68px,10vw,128px);letter-spacing:-.055em}
h2{font-size:clamp(38px,5vw,66px);letter-spacing:-.045em}
h3{font-size:24px} h4{font-size:16px}
.lead{font-size:19px;max-width:570px;color:#ddd}
.actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:30px}
.hero-meta{display:flex;gap:28px;flex-wrap:wrap;margin-top:45px;color:#9e9e9e;font-size:12px;text-transform:uppercase;letter-spacing:.09em}
.hero-meta b{color:#fff;font-weight:500}

.section{padding:92px 0;border-top:1px solid var(--line)}
.section-dark{background:#080808}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:34px}
.section-head p{max-width:480px;color:var(--muted);margin:0}
.grid-2{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.photo-frame{min-height:500px;position:relative;overflow:hidden;border:1px solid var(--line);background:#111}
.photo-frame img{transition:transform .6s ease}
.photo-frame:hover img{transform:scale(1.025)}
.photo-badge{position:absolute;left:20px;bottom:20px;background:rgba(0,0,0,.76);border:1px solid #333;padding:12px 14px;font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.muted{color:var(--muted)}

.poster-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.poster{min-height:520px;position:relative;overflow:hidden;border:1px solid #292929;background:#111;display:flex;align-items:flex-end}
.poster-bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:.45s}
.poster:hover .poster-bg{transform:scale(1.045)}
.poster:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.04) 20%,rgba(0,0,0,.4) 54%,rgba(0,0,0,.96) 100%)}
.poster-content{position:relative;z-index:2;padding:24px;width:100%}
.poster-date{font-size:12px;letter-spacing:.16em;color:var(--red2);text-transform:uppercase;margin-bottom:10px}
.poster-title{font-size:38px;line-height:.95;font-weight:900;letter-spacing:-.04em;text-transform:uppercase;margin-bottom:14px}
.poster-line{height:2px;background:var(--red);width:44px;margin:14px 0}
.poster-meta{color:#bbb;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.poster-tag{display:inline-block;margin-top:16px;border:1px solid rgba(255,255,255,.35);padding:8px 10px;font-size:10px;text-transform:uppercase;letter-spacing:.09em}

.features{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.feature{background:#090909;padding:30px 25px}
.feature-number{font-size:40px;color:var(--red2);font-weight:900;margin-bottom:6px}
.feature-title{font-size:12px;text-transform:uppercase;letter-spacing:.1em}

.gallery-grid{display:grid;grid-template-columns:1.45fr 1fr 1fr;grid-auto-rows:260px;gap:12px}
.gallery-item{overflow:hidden;position:relative;background:#111;border:1px solid #222}
.gallery-item.tall{grid-row:span 2}
.gallery-item.wide{grid-column:span 2}
.gallery-item img{transition:transform .5s,filter .5s}
.gallery-item:hover img{transform:scale(1.04);filter:saturate(1.1)}
.gallery-item:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 100px rgba(0,0,0,.18);pointer-events:none}

.page-hero{padding:115px 0 72px;background:
radial-gradient(circle at 80% 10%,rgba(227,19,27,.14),transparent 30%),
linear-gradient(180deg,#0a0a0a,#050505);border-bottom:1px solid var(--line)}
.page-hero h1{font-size:clamp(54px,8vw,100px)}
.breadcrumb{font-size:11px;color:#777;text-transform:uppercase;letter-spacing:.1em;margin-bottom:18px}

.event-list{display:grid;gap:16px}
.event{display:grid;grid-template-columns:180px 180px 1fr auto;gap:24px;align-items:center;padding:18px;border:1px solid var(--line);background:#0b0b0b}
.event-thumb{height:120px;overflow:hidden}
.event-date-big{font-size:34px;font-weight:900;letter-spacing:-.04em}
.event-date-big span{display:block;font-size:11px;color:var(--red2);letter-spacing:.12em;text-transform:uppercase}
.event p{margin:6px 0 0;color:var(--muted)}

.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:50px}
.info-card{border-top:1px solid var(--line);padding:17px 0}
.info-card span{display:block;color:#777;font-size:11px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:4px}
.panel{padding:32px;background:#0c0c0c;border:1px solid var(--line)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
input,textarea,select{width:100%;background:#080808;border:1px solid #303030;color:white;padding:15px 16px;font:inherit;outline:none}
input:focus,textarea:focus,select:focus{border-color:var(--red)}
textarea{min-height:125px;resize:vertical} .full{grid-column:1/-1}
.form-note{font-size:11px;color:#666;margin-top:12px}

.footer{border-top:1px solid var(--line);padding:40px 0;background:#050505}
.footer-row{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center}
.footer .small{font-size:11px;color:#666}
.socials{display:flex;gap:18px;font-size:12px;text-transform:uppercase;letter-spacing:.08em}

.marquee{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#090909}
.marquee-track{white-space:nowrap;padding:15px 0;color:#777;text-transform:uppercase;font-size:11px;letter-spacing:.15em}
.marquee-track b{color:var(--red2);margin:0 20px}

@media(max-width:900px){
  .menu{display:none;position:absolute;left:0;right:0;top:76px;padding:22px;background:#080808;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start}
  .menu.open{display:flex} .menu-toggle{display:block} .domain{display:none}
  .grid-2,.contact-grid{grid-template-columns:1fr}
  .poster-grid{grid-template-columns:1fr 1fr}
  .features{grid-template-columns:1fr 1fr}
  .gallery-grid{grid-template-columns:1fr 1fr}
  .event{grid-template-columns:120px 1fr auto}
  .event-thumb{display:none}
}
@media(max-width:640px){
  .container{width:min(calc(100% - 28px),var(--max))}
  .hero{min-height:650px;background-position:60% center}
  .section{padding:66px 0}
  .poster-grid,.features,.gallery-grid,.form-grid{grid-template-columns:1fr}
  .gallery-item.wide,.gallery-item.tall{grid-column:auto;grid-row:auto}
  .gallery-grid{grid-auto-rows:300px}
  .event{grid-template-columns:1fr;gap:10px}
  .event .btn{width:100%}
  .footer-row{grid-template-columns:1fr}
}
