/* RUSDRAM — HOME. "The curtain rises": cinematic velvet hero → editorial. */

/* ---------- HERO ---------- */
.hero {
  position: relative; min-height: 100svh;
  display: flex; align-items: center;
  padding: var(--header-h) 0 4rem;
  overflow: hidden; isolation: isolate;
  background: radial-gradient(120% 90% at 50% 0%, #2a0c12 0%, #160709 45%, var(--black) 100%);
}
/* exterior photo, dimmed, behind everything */
.hero-bg {
  position: absolute; inset: 0; z-index: -3;
  background: center/cover no-repeat;
  opacity: .26; filter: saturate(.85) contrast(1.05);
}
.hero::before { /* spotlight from above */
  content: ""; position: absolute; inset: 0; z-index: -2; pointer-events: none;
  background: radial-gradient(70% 55% at 50% -6%, rgba(231,205,132,.22), transparent 60%);
}
/* velvet curtain drapes left & right */
.hero::after {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background:
    linear-gradient(90deg, rgba(71,12,20,.92) 0%, rgba(71,12,20,.5) 7%, transparent 17%),
    linear-gradient(270deg, rgba(71,12,20,.92) 0%, rgba(71,12,20,.5) 7%, transparent 17%),
    repeating-linear-gradient(90deg, rgba(0,0,0,.28) 0 14px, transparent 14px 42px) left/14% 100% no-repeat,
    repeating-linear-gradient(90deg, rgba(0,0,0,.28) 0 14px, transparent 14px 42px) right/14% 100% no-repeat;
}
.hero-inner { width: min(100% - 2.4rem, 1000px); margin-inline: auto; text-align: center; }
.hero .kicker { justify-content: center; color: var(--brass-br); margin-bottom: 1.4rem; }
.hero h1 {
  font-family: var(--f-display); font-weight: 800;
  font-size: clamp(2.6rem, 1.4rem + 6.4vw, 6rem); line-height: 1.02;
  color: var(--paper); letter-spacing: -.01em;
  text-shadow: 0 14px 60px rgba(0,0,0,.6);
}
.hero h1 br { display: block; }
.hero-sub {
  max-width: 62ch; margin: 1.6rem auto 2.4rem;
  font-size: clamp(1.05rem, .98rem + .5vw, 1.3rem); color: var(--smoke);
  font-family: var(--f-serif); font-style: italic;
}
.hero-cta { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }
.hero-scroll {
  position: absolute; inset-block-end: 1.6rem; inset-inline: 0; z-index: 1;
  text-align: center; color: var(--smoke-dim);
  font-size: .66rem; letter-spacing: .3em; text-transform: uppercase;
}
.hero-scroll span { display: block; width: 1px; height: 34px; margin: .7rem auto 0;
  background: linear-gradient(var(--brass), transparent); animation: drop 1.8s var(--ease) infinite; }
@keyframes drop { 0%{transform:scaleY(0);transform-origin:top} 50%{transform:scaleY(1);transform-origin:top} 51%{transform-origin:bottom} 100%{transform:scaleY(0);transform-origin:bottom} }

/* ---------- INTRO ---------- */
.intro { padding: clamp(4rem, 9vw, 8rem) 0; background: var(--black); }
.intro-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.intro-copy h2 { font-family: var(--f-display); font-size: clamp(1.8rem,1.3rem+2.2vw,3rem); color: var(--paper); margin: 1rem 0 1.4rem; }
.intro-copy p { color: var(--smoke); margin-bottom: 1.1rem; }
.intro-copy p:last-child { color: var(--smoke-dim); }
.stats { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--line); border: 1px solid var(--line); }
.stat { background: var(--black-2); padding: 1.8rem 1.4rem; }
.stat-v { font-family: var(--f-display); font-size: clamp(2rem,1.5rem+1.8vw,3rem); color: var(--brass); line-height: 1; }
.stat-l { font-size: .72rem; letter-spacing: .18em; text-transform: uppercase; color: var(--smoke-dim); margin-top: .6rem; }
@media (max-width: 820px){ .intro-grid{ grid-template-columns: 1fr; } }

/* ---------- NOW PLAYING ---------- */
.now { padding: clamp(4rem, 9vw, 8rem) 0; background: linear-gradient(180deg, var(--black) 0%, var(--black-2) 100%); }
.now-head { display:flex; justify-content: space-between; align-items:flex-end; gap:1.5rem; margin-bottom: 2.6rem; flex-wrap:wrap; }
.now-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.5rem; }
.show-card {
  position: relative; border: 1px solid var(--line); background: var(--black-3);
  overflow: hidden; transition: transform .4s var(--ease), border-color .4s, box-shadow .4s;
  display:flex; flex-direction: column;
}
.show-card:hover { transform: translateY(-6px); border-color: var(--brass); box-shadow: 0 26px 50px -28px #000; }
.show-poster {
  aspect-ratio: 3/4; position: relative; overflow: hidden;
  background: linear-gradient(150deg, var(--velvet-dp), #1a0608);
  display:flex; align-items:center; justify-content:center;
}
.show-poster::after { content:""; position:absolute; inset:0;
  background: radial-gradient(80% 60% at 50% 20%, rgba(231,205,132,.16), transparent 60%); }
.show-poster .mask { width: 46%; opacity:.5; }
.show-poster .poster-img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition: transform .6s var(--ease); }
.show-card:hover .show-poster .poster-img { transform: scale(1.05); }
.show-tag { position:absolute; inset-block-start:.8rem; inset-inline-start:.8rem; z-index:2;
  background: var(--brass); color:#2a1d05; font-size:.6rem; font-weight:800; letter-spacing:.14em;
  text-transform:uppercase; padding:.35em .7em; border-radius:2px; }
.show-body { padding: 1.3rem 1.3rem 1.5rem; flex:1; display:flex; flex-direction:column; }
.show-title { font-family: var(--f-display); font-size: 1.45rem; color: var(--paper); line-height:1.08; }
.show-author { font-family: var(--f-serif); font-style: italic; color: var(--brass); margin-top:.3rem; font-size:1rem; }
.show-desc { color: var(--smoke-dim); font-size:.92rem; margin-top:.8rem; flex:1; }
.show-link { margin-top:1.1rem; font-size:.74rem; letter-spacing:.14em; text-transform:uppercase; color: var(--brass); display:inline-flex; gap:.4em; }
.show-link::after{ content:"→"; transition: transform .3s; }
.show-card:hover .show-link::after{ transform: translateX(4px); }
[dir="rtl"] .show-link::after{ content:"←"; }
@media (max-width: 900px){ .now-grid{ grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px){ .now-grid{ grid-template-columns: 1fr; } }

/* ---------- PILLARS ---------- */
.pillars { padding: clamp(4rem,9vw,8rem) 0; background: var(--black-2); }
.pillars-grid { display:grid; grid-template-columns: repeat(3,1fr); gap:1.5rem; margin-top:2.6rem; }
.pillar { border:1px solid var(--line); padding: 2.2rem 1.8rem; background: var(--black); position:relative; transition: border-color .4s, transform .4s var(--ease); }
.pillar:hover{ border-color: var(--brass); transform: translateY(-4px); }
.pillar-n { font-family: var(--f-display); font-size: 2.4rem; color: var(--velvet-br); line-height:1; }
.pillar h3 { font-family: var(--f-display); font-size:1.5rem; color: var(--paper); margin:.8rem 0 .7rem; }
.pillar p { color: var(--smoke-dim); font-size:.95rem; }
@media (max-width: 820px){ .pillars-grid{ grid-template-columns: 1fr; } }

/* ---------- DIRECTOR ---------- */
.director { padding: clamp(4rem,9vw,8rem) 0; background: radial-gradient(120% 100% at 80% 0%, #1d0a0e, var(--black)); }
.director-grid { display:grid; grid-template-columns: .9fr 1.3fr; gap: clamp(2rem,5vw,4.5rem); align-items:center; }
.director-card { border:1px solid var(--line); background: var(--black-3); padding: 2rem; }
.director-card .role { color: var(--brass); font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; }
.director-card .name { font-family: var(--f-display); font-size: clamp(1.8rem,1.3rem+1.6vw,2.6rem); color: var(--paper); margin:.5rem 0 .4rem; }
.director-quote { font-family: var(--f-serif); font-style: italic; font-size: clamp(1.4rem,1.1rem+1.4vw,2.2rem); color: var(--paper); line-height:1.35; }
.director-quote::before { content:"“"; color: var(--brass); font-size:1.4em; line-height:0; vertical-align:-.3em; margin-inline-end:.1em; }
@media (max-width: 820px){ .director-grid{ grid-template-columns: 1fr; } }

/* ---------- VISIT TEASER ---------- */
.visit { padding: 0; }
.visit-inner { position: relative; overflow:hidden; padding: clamp(4rem,8vw,7rem) 0; background: var(--velvet-dp); isolation:isolate; }
.visit-inner::before { content:""; position:absolute; inset:0; z-index:-1; background: center/cover; opacity:.2; }
.visit-box { max-width: 60ch; }
.visit-box h2 { font-family: var(--f-display); font-size: clamp(1.8rem,1.3rem+2vw,3rem); color: var(--paper); margin:1rem 0 1rem; }
.visit-box p { color: var(--paper); opacity:.85; margin-bottom: 1.8rem; }
