:root{--bg:#0e0f11;--panel:#17191c;--line:#2a2d32;--text:#e7e4de;--muted:#9a978f;--accent:#e0b04a}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:18px/1.65 "PT Serif",Georgia,serif}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto;display:block}

.top{position:sticky;top:0;z-index:10;background:rgba(14,15,17,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.bar{max-width:1180px;margin:0 auto;padding:0 20px;display:flex;align-items:center;justify-content:space-between;min-height:64px}
.logo{font:600 20px/1 Oswald,sans-serif;letter-spacing:.12em;color:var(--text)}
.logo:hover{text-decoration:none;color:var(--accent)}
nav ul{list-style:none;margin:0;padding:0;display:flex;gap:4px}
nav li{position:relative}
nav a{display:block;padding:20px 12px;font:400 14px/1 Oswald,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--text)}
nav a:hover,nav a.active{color:var(--accent);text-decoration:none}
nav .sub{display:none;position:absolute;left:0;top:100%;background:var(--panel);border:1px solid var(--line);min-width:240px;flex-direction:column;padding:6px 0}
nav .sub a{padding:10px 16px;text-transform:none;letter-spacing:.04em;font-size:15px}
nav .has-sub:hover .sub{display:flex}
.burger{display:none;background:none;border:0;padding:10px;cursor:pointer}
.burger span{display:block;width:24px;height:2px;background:var(--text);margin:5px 0}

.hero{height:42vh;min-height:240px;max-height:460px;background:center/cover no-repeat;position:relative}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(14,15,17,.1),var(--bg))}

main{max-width:900px;margin:0 auto;padding:40px 20px 60px}
.intro{text-align:center;padding:30px 0 10px}
.intro h1{font:600 clamp(36px,7vw,64px)/1.1 Oswald,sans-serif;letter-spacing:.08em;margin:0;text-transform:uppercase}
.roles{font:400 16px/1 Oswald,sans-serif;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);margin:16px 0 0}

.txt{margin:0 0 26px}
.txt p{margin:0 0 .7em}
.txt h1,.txt h2,.txt h3,.txt h4,.txt h5,.txt h6{font-family:Oswald,sans-serif;font-weight:600;letter-spacing:.05em;line-height:1.2;margin:1.4em 0 .5em}
.txt h1{font-size:40px}.txt h2{font-size:32px;text-transform:uppercase}.txt h3{font-size:24px}
.txt h6{font-size:15px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.txt ul{padding-left:1.2em}
.txt li p{margin:.2em 0}
.txt strong{color:#fff}

.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:22px;margin:10px 0 40px}
.card{background:var(--panel);border:1px solid var(--line);color:var(--text);display:flex;flex-direction:column;transition:transform .2s,border-color .2s}
a.card:hover{text-decoration:none;transform:translateY(-3px);border-color:var(--accent)}
.card img{width:100%;aspect-ratio:4/3;object-fit:cover}
.cb{padding:16px 18px 18px;font-size:16px;line-height:1.5}
.cb h3{font:600 22px/1.2 Oswald,sans-serif;letter-spacing:.04em;margin:0 0 8px;color:var(--accent)}
.cb p{margin:0 0 .3em;color:var(--muted)}

.single{margin:10px 0 26px}
.single img{margin:0 auto}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin:10px 0 26px}
.gallery img{width:100%;height:100%;object-fit:cover}
.video{position:relative;padding-top:56.25%;margin:10px 0 30px;background:#000}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

footer{border-top:1px solid var(--line);text-align:center;padding:30px 20px;color:var(--muted);font-size:14px}
.social{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 22px;margin-bottom:10px;font:400 14px/1.4 Oswald,sans-serif;letter-spacing:.1em;text-transform:uppercase}

@media (max-width:900px){
  .burger{display:block}
  nav{display:none;position:absolute;left:0;right:0;top:64px;background:var(--bg);border-bottom:1px solid var(--line);max-height:calc(100vh - 64px);overflow:auto}
  body.open nav{display:block}
  nav ul{flex-direction:column;padding:6px 0}
  nav a{padding:12px 20px}
  nav .sub{display:flex;position:static;border:0;background:none;padding:0 0 6px 14px;min-width:0}
  nav .sub a{padding:8px 20px;color:var(--muted)}
  body{font-size:17px}
  .txt h1{font-size:32px}.txt h2{font-size:26px}
}
