.nav-links a.active-link{color:var(--off);border-bottom:1px solid var(--red);padding-bottom:2px;}

/* ══ HERO ══ */
#fhero{
  position:relative;min-height:68svh;overflow:hidden;
  display:flex;flex-direction:column;justify-content:center;
  padding:7rem 2.5rem 4rem;
  border-bottom:1px solid var(--border);
}
/* Portrait source in a wide band, so the crop is pulled to the window itself */
.fhero-bg{position:absolute;inset:0;z-index:0;}
.fhero-bg img{
  width:100%;height:100%;object-fit:cover;object-position:center 46%;
  opacity:.3;filter:brightness(.9) contrast(1.02);
}
#fhero::after{
  content:'';position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    radial-gradient(100% 62% at 12% 108%,rgba(var(--red-glow),.26) 0%,transparent 60%),
    linear-gradient(to bottom,rgba(8,8,8,.5) 0%,transparent 26%,transparent 72%,rgba(8,8,8,.55) 100%),
    repeating-linear-gradient(to bottom,rgba(237,234,226,.022) 0px,rgba(237,234,226,.022) 1px,transparent 1px,transparent 4px);
}
.fhero-inner{position:relative;z-index:2;width:100%;}
.fhero-top{display:flex;align-items:baseline;justify-content:space-between;gap:2rem;flex-wrap:wrap;margin-bottom:1.2rem;}
.fhero-title{
  font-family:'Bebas Neue',sans-serif;
  font-size:clamp(4rem,16vw,14rem);line-height:.82;letter-spacing:.01em;
  color:var(--off);margin-bottom:1.6rem;
}
.fhero-lower{
  display:grid;grid-template-columns:1fr auto;gap:3rem;align-items:end;
  border-top:1px solid rgba(237,234,226,.12);padding-top:1.5rem;
}
.fhero-blurb{
  font-family:'JetBrains Mono',monospace;font-weight:400;
  font-size:clamp(.7rem,.88vw,.82rem);line-height:2;letter-spacing:.01em;
  color:rgba(237,234,226,.62);max-width:56ch;
}
.fhero-count{
  font-family:'JetBrains Mono',monospace;font-size:.5rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--muted);white-space:nowrap;
}
.fhero-count em{font-style:normal;color:var(--red);}

/* ══ FEATURED ══ */
#ffeature{padding:5rem 2.5rem 2rem;}
.ffeature-hdr{display:flex;align-items:baseline;justify-content:space-between;gap:2rem;flex-wrap:wrap;margin-bottom:1.8rem;}
.ffeature-meta{
  display:flex;gap:2rem;flex-wrap:wrap;margin-top:1.4rem;
  padding-top:1.2rem;border-top:1px solid var(--border);
}
.ffeature-meta div{display:flex;flex-direction:column;gap:.35rem;}
.ffeature-meta dt{
  font-family:'JetBrains Mono',monospace;font-size:.44rem;font-weight:700;
  letter-spacing:.2em;text-transform:uppercase;color:var(--muted);
}
.ffeature-meta dd{font-size:.8rem;color:rgba(237,234,226,.7);}
.ffeature-syn{
  margin-top:1.4rem;font-size:.84rem;line-height:1.9;
  color:rgba(237,234,226,.55);max-width:62ch;
}

/* ══ GRID ══ */
#ffilms{padding:4rem 2.5rem 7rem;border-top:1px solid var(--border);}
.ffilms-hdr{padding:2.5rem 0 2.2rem;}
.ffilm-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:3.5rem 2rem;}
.film-body{padding-top:1.2rem;}
.film-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.5rem;}
.film-num{
  font-family:'JetBrains Mono',monospace;font-size:.46rem;font-weight:700;
  letter-spacing:.2em;text-transform:uppercase;color:var(--muted);
}
.film-badge{
  font-family:'JetBrains Mono',monospace;font-size:.42rem;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;color:var(--off);
  background:rgba(237,234,226,.07);border:1px solid rgba(237,234,226,.14);
  padding:.24rem .42rem;border-radius:2px;white-space:nowrap;
}
.film-title{
  font-family:'Bebas Neue',sans-serif;font-size:clamp(1.5rem,2.6vw,2.2rem);
  letter-spacing:.04em;line-height:1;color:var(--off);margin-bottom:.5rem;
}
.film-line{
  font-family:'JetBrains Mono',monospace;font-size:.48rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--muted);margin-bottom:.85rem;
}
.film-line span{color:var(--red);margin:0 .45rem;}
.film-syn{font-size:.8rem;line-height:1.85;color:rgba(237,234,226,.5);max-width:52ch;}

@media(max-width:900px){
  .ffilm-grid{grid-template-columns:1fr;}
}
@media(max-width:768px){
  #fhero{padding:6rem 1.5rem 3rem;min-height:62svh;}
  .fhero-lower{grid-template-columns:1fr;gap:1.4rem;}
  #ffeature{padding:3.5rem 1.5rem 1.5rem;}
  #ffilms{padding:3rem 1.5rem 5rem;}
  .ffeature-meta{gap:1.4rem;}
  .film-play{width:52px;height:52px;font-size:.8rem;}
}

/* ── CONTACT CTA (shares the About page treatment) ── */
#ab-contact{
  padding:7rem 2.5rem 8rem;border-top:1px solid var(--border);
  text-align:center;position:relative;overflow:hidden;
}
#ab-contact .contact-hed{font-size:clamp(2.6rem,8vw,7rem);}
#ab-contact>.reveal{position:relative;z-index:1;}
@media(max-width:768px){#ab-contact{padding:5rem 1.5rem 6rem;}}
