:root{
  --cinema-bg:#191919;
  --cinema-panel:#232326;
  --cinema-accent:#c5ab86;
  --text:#d4d4d4;
  --text-strong:#fafafa;
  --muted:#8a8a8a;
}
body{background:var(--cinema-bg);color:var(--text);font-family:"Inter",system-ui,sans-serif;-webkit-font-smoothing:antialiased;}
::selection{background:var(--cinema-accent);color:var(--cinema-bg);}
a{text-decoration:none;}

.brand-mark{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.25rem;color:var(--text-strong);}
.site-nav{background:transparent;mix-blend-mode:difference;z-index:50;}
.nav-links,.nav-links a{font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.2em;color:var(--muted);}
.nav-links a:hover,.btn-search:hover{color:var(--text-strong);}
.btn-search{background:none;border:0;padding:0;}

.hero{position:relative;min-height:100vh;overflow:hidden;}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.6;}
.hero-fade{position:absolute;inset:0;background:linear-gradient(to top,var(--cinema-bg),transparent 60%);}
.hero-content{position:relative;z-index:2;}
.eyebrow{font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.25em;color:var(--cinema-accent);}
.eyebrow .dot{width:4px;height:4px;border-radius:50%;background:rgba(197,171,134,.4);display:inline-block;}
.display-hero{font-family:"Cormorant Garamond",serif;font-size:clamp(2.8rem,8vw,6rem);line-height:1;color:#fafafa;max-width:15ch;}
.hero-copy{max-width:40ch;color:var(--muted);font-size:.95rem;line-height:1.7;}
.btn-watch{border-radius:3px;font-size:.875rem;font-weight:500;padding:.5rem 1rem;}
.btn-outline-cinema{border:1px solid #404040;color:var(--text);border-radius:3px;font-size:.875rem;font-weight:500;padding:.5rem 1.5rem;background:none;}
.btn-outline-cinema:hover{border-color:#a3a3a3;color:var(--text-strong);}
.fade-in{animation:fadeIn 1.2s cubic-bezier(.16,1,.3,1) both;}
@keyframes fadeIn{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}

.section-head{border-bottom:1px solid #2b2b2b;}
.section-title{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.6rem;color:var(--text-strong);}
.section-link{font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.15em;color:var(--muted);}
.section-link:hover{color:var(--cinema-accent);}

@media (min-width:992px){.col-lg-custom{flex:0 0 20%;max-width:20%;}}
.movie-card{cursor:pointer;}
.poster-wrap{overflow:hidden;border-radius:.5rem;aspect-ratio:2/3;margin-bottom:1rem;}
.poster-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease;}
.movie-card:hover .poster-wrap img{transform:scale(1.03);}
.movie-title{font-size:.9rem;font-weight:500;color:var(--text);margin:0;transition:color .2s;}
.movie-card:hover .movie-title{color:var(--cinema-accent);}
.movie-meta{font-size:.75rem;color:var(--muted);margin:.25rem 0 0;}

.spotlight{background:var(--cinema-panel);box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);padding-top:6rem!important;padding-bottom:6rem!important;}
.spotlight-img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:.5rem;}
.spotlight-title{font-family:"Cormorant Garamond",serif;font-size:2.25rem;color:var(--text-strong);line-height:1.15;}
.body-copy{color:var(--muted);font-size:.95rem;line-height:1.7;max-width:48ch;}
.btn-ghost{background:none;border:0;padding:0;font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.15em;color:var(--text-strong);}
.btn-ghost:hover{color:var(--cinema-accent);}

.journal-card{cursor:pointer;}
.journal-card img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:.5rem;margin-bottom:1.5rem;opacity:.8;transition:opacity .3s;}
.journal-card:hover img{opacity:1;}
.journal-card time{font-size:.65rem;font-weight:500;text-transform:uppercase;letter-spacing:.2em;color:var(--muted);}
.journal-card h4{font-family:"Cormorant Garamond",serif;font-size:1.25rem;color:var(--text);margin-top:.5rem;transition:color .2s;}
.journal-card:hover h4{color:var(--cinema-accent);}

.site-footer{border-top:1px solid #2b2b2b;}
.footer-note{font-size:.7rem;color:var(--muted);text-transform:uppercase;}
.footer-head{font-size:.62rem;font-weight:500;text-transform:uppercase;letter-spacing:.2em;color:var(--muted);}
.footer-list{list-style:none;padding:0;margin:.5rem 0 0;}
.footer-list a{font-size:.75rem;color:#d4d4d4;}
.footer-list a:hover{color:#fff;}
