:root{
  --bg:#0a0a0a;
  --fg:#f5f5f5;
  --muted:rgba(245,245,245,.62);
  --hair:rgba(245,245,245,.14);
  --max:1100px;
}

*{ box-sizing:border-box; }
html,body{ height:100%; }

body{
  margin:0;
  background:var(--bg);
  color:var(--fg);
  font-family:'Inter', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  line-height:1.7;
  letter-spacing:-0.01em;
}

.container{
  max-width:var(--max);
  margin:80px auto;
  padding:0 40px;
}

nav{
  display:flex;
  gap:22px;
  align-items:center;
  margin-bottom:70px;
  font-size:14px;
  letter-spacing:0.02em;
  text-transform:uppercase;
}

nav a{
  color:var(--fg);
  text-decoration:none;
  opacity:.65;
  transition:opacity .2s ease;
}

nav a:hover{ opacity:1; }

h1{
  font-size:54px;
  font-weight:450;
  margin:0 0 14px 0;
}

h2{
  font-size:18px;
  font-weight:500;
  margin:60px 0 18px 0;
  color:var(--fg);
}

p{ margin:0 0 14px 0; color:var(--muted); }

a{ color:var(--fg); }

.rule{
  height:1px;
  background:var(--hair);
  margin:36px 0;
}

.film{ margin:34px 0; }

.gallery{
  margin:70px auto 0 auto;
  max-width:1000px;
  display:grid;
  grid-template-columns:1fr;
  gap:28px;
}

@media (min-width: 900px){
  .gallery{ grid-template-columns:1fr 1fr; gap:34px; }
}

.gallery img{
  width:100%;
  height:auto;
  display:block;
  border-radius:8px;
}

.gallery img.featured{
  grid-column:1 / -1;
}
.video {
  grid-column: 1 / -1;
  margin: 50px auto 0 auto;
  max-width: 1000px;
}

.video iframe {
  width: 100%;
  aspect-ratio: 16 / 9;
  border: 0;
  border-radius: 8px;
}
.project h2{
  margin-top: 0;
}

.featured-block{
  margin: 40px auto 0 auto;
  max-width: 1000px;
}

.footer{
  margin-top:110px;
  padding-top:40px;
  border-top:1px solid rgba(245,245,245,0.2);
  color:rgba(245,245,245,0.7);
  font-size:13px;
  letter-spacing:0.03em;
}
