/* Motion layer: intro doors, hero, rails, marquee, cursor, reveals (Onyx & Gold) */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}

/* film grain */
body::after{content:"";position:fixed;inset:-50%;z-index:90;pointer-events:none;opacity:.06;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grain 1.2s steps(6) infinite}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,3%)}80%{transform:translate(3%,1%)}100%{transform:translate(0,0)}}

/* intro doors */
#intro{position:fixed;inset:0;z-index:200;display:flex;pointer-events:auto;cursor:pointer}
#intro .door{flex:1;background:#000;position:relative;overflow:hidden}
#intro .door::before{content:"";position:absolute;inset:28px;border:1px solid rgba(197,160,89,.22)}
#intro .door::after{content:"";position:absolute;inset:44px;border:1px solid rgba(197,160,89,.10)}
#intro .door-l{border-right:1px solid rgba(197,160,89,.5)}
#intro .door-r{border-left:1px solid rgba(197,160,89,.5)}
#intro .handle{position:absolute;top:50%;width:3px;height:120px;margin-top:-60px;background:var(--gold-gradient);border-radius:2px}
#intro .door-l .handle{right:min(18vw,220px)}
#intro .door-r .handle{left:min(18vw,220px)}
#intro .seam{position:absolute;left:50%;top:0;bottom:0;width:2px;margin-left:-1px;background:linear-gradient(180deg,transparent,#e5c378 30%,#fff 50%,#e5c378 70%,transparent);transform:scaleY(0);box-shadow:0 0 40px 8px rgba(229,195,120,.45)}
#intro .mark{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:14px;pointer-events:none;z-index:2}
#intro .mono{font-family:var(--serif);font-size:clamp(64px,10vw,120px);line-height:1;background:var(--gold-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;opacity:0}
#intro .word{font-size:12px;letter-spacing:.42em;text-transform:uppercase;color:var(--ink-2);opacity:0}
#intro .skip{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-2);z-index:3;opacity:.7}
html.intro-on{overflow:hidden}

/* hero (home) */
.hero-x{position:relative;min-height:100svh;display:flex;align-items:flex-end;padding:150px 0 9vh;overflow:hidden;margin-top:-72px}
.hero-x .bg{position:absolute;inset:0;z-index:0}
.hero-x .bg video,.hero-x .bg .mosaic{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-x .mosaic{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:1fr;gap:6px;opacity:.55;transform:scale(1.15) rotate(-4deg)}
.hero-x .mosaic span{background:#121214 center/cover no-repeat;border-radius:4px;filter:grayscale(.35) contrast(1.05)}
.hero-x .beam{position:absolute;width:60vw;height:60vw;border-radius:50%;filter:blur(80px);opacity:.35;background:radial-gradient(circle,rgba(197,160,89,.55),transparent 65%)}
.hero-x .beam.b1{top:-20vw;right:-15vw}
.hero-x .beam.b2{bottom:-30vw;left:-20vw;opacity:.18}
.hero-x .shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,.25) 40%,rgba(0,0,0,.92) 88%,#000 100%)}
.hero-x .wrap{position:relative;z-index:2;width:100%}
.hero-x h1{font-size:clamp(42px,8.4vw,128px);line-height:.98;letter-spacing:.01em;margin:18px 0 26px;max-width:1200px}
.hero-x h1 .ln{display:block;overflow:hidden;padding-bottom:.06em}
.hero-x h1 .ln>span{display:inline-block}
.hero-x .rot{display:inline-grid;vertical-align:bottom;justify-items:start}
.hero-x .rot b{grid-area:1/1;font-weight:inherit;background:var(--gold-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;opacity:0}
.hero-x .rot b.on{opacity:1}
.hero-x .meta{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap}
.hero-x .meta p{max-width:520px;color:var(--ink-2);font-size:18px}
.scroll-cue{display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-2)}
.scroll-cue i{width:1px;height:46px;background:linear-gradient(var(--gold),transparent);animation:cue 2s ease-in-out infinite;transform-origin:top}
@keyframes cue{0%{transform:scaleY(0)}50%{transform:scaleY(1)}100%{transform:scaleY(0);transform-origin:bottom}}

.hero-x .hero-vid{opacity:0;transition:opacity 1.2s ease;filter:saturate(1.05) contrast(1.05)}
.hero-x .hero-vid.on{opacity:.62}
.hero-x .hero-vid.on~.shade{background:linear-gradient(180deg,rgba(0,0,0,.6) 0%,rgba(0,0,0,.2) 40%,rgba(0,0,0,.92) 88%,#000 100%)}
.play-trailer span{color:var(--gold);margin-right:6px}
.trailer-modal{position:fixed;inset:0;z-index:250;background:rgba(0,0,0,.92);display:grid;place-items:center;padding:24px}
.trailer-modal .box{width:min(1100px,100%);aspect-ratio:16/9;border:1px solid var(--gold);border-radius:8px;overflow:hidden;background:#000}
.trailer-modal iframe{width:100%;height:100%;border:0}
.trailer-modal .x{position:absolute;top:18px;right:22px;background:none;border:1px solid var(--line);color:var(--ink);border-radius:4px;padding:8px 14px;font:inherit;font-size:13px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}

/* cinematic page headers */
.page-hero.ph-media{position:relative;min-height:min(86svh,820px);display:flex;align-items:flex-end;margin-top:-72px;padding:170px 0 72px;overflow:hidden}
.ph-bg{position:absolute;inset:0;z-index:0}
.ph-bg img,.ph-bg video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ph-bg img{animation:kb 22s ease-in-out infinite alternate}
.ph-bg video{opacity:0;transition:opacity 1.2s ease}
.ph-bg video.on{opacity:1}
.ph-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.55) 45%,rgba(0,0,0,.2) 100%),linear-gradient(180deg,rgba(0,0,0,.55) 0%,transparent 35%,transparent 60%,#000 100%)}
.page-hero.ph-media.ph-short{min-height:min(60svh,560px)}
.page-hero.ph-media .wrap{position:relative;z-index:2;width:100%}
.page-hero.ph-media h1{text-shadow:0 2px 30px rgba(0,0,0,.6)}
@keyframes kb{from{transform:scale(1.04)}to{transform:scale(1.14) translate(-1.5%,-1%)}}
/* photo filmstrip */
.filmstrip{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:0 6px;margin:6px 0}
.filmstrip figure{margin:0;aspect-ratio:4/5;overflow:hidden;border-radius:4px;position:relative;background:#121214}
.filmstrip img{width:100%;height:118%;object-fit:cover;filter:saturate(1.05) contrast(1.05);transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.filmstrip figure:hover img{transform:scale(1.06)}
.filmstrip figure::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(197,160,89,.18);border-radius:4px;pointer-events:none}
@media (max-width:760px){.filmstrip{grid-template-columns:repeat(2,1fr)}.page-hero.ph-media{min-height:78svh;padding-top:140px}}

/* marquee */
.marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;padding:26px 0;white-space:nowrap}
.marquee .track{display:inline-flex;gap:64px;animation:mq 38s linear infinite;padding-left:64px}
.marquee span{font-family:var(--serif);font-size:clamp(20px,2.4vw,30px);color:var(--ink-2);display:inline-flex;align-items:center;gap:64px}
.marquee span::after{content:"\2726";color:var(--gold);font-size:14px}
@keyframes mq{to{transform:translateX(-50%)}}

/* pillars list */
.pillars{border-top:1px solid var(--line)}
.pillar{display:grid;grid-template-columns:90px 1fr 1.1fr 40px;gap:28px;align-items:center;padding:34px 0;border-bottom:1px solid var(--line);text-decoration:none;position:relative;transition:padding .4s}
.pillar .n{font-family:var(--serif);color:var(--gold);font-size:18px}
.pillar h3{font-size:clamp(28px,3.6vw,52px);transition:color .3s}
.pillar p{color:var(--ink-2);font-size:16px}
.pillar .go{color:var(--gold);font-size:26px;transition:transform .3s}
.pillar:hover h3{color:var(--gold-2)}
.pillar:hover .go{transform:translateX(8px)}
.pillar:hover{padding-left:12px}

/* originals rail (pinned horizontal) */
.rail-sec{padding:96px 0 0;overflow:hidden}
.rail{display:flex;gap:28px;padding:0 24px 96px;width:max-content}
.rail .show{width:min(78vw,520px);flex:none;text-decoration:none}
.rail .poster{aspect-ratio:16/10;border:1px solid var(--line);border-radius:8px;overflow:hidden;position:relative;background:linear-gradient(135deg,#1a1814,#000)}
.rail .poster img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.rail .show:hover img{transform:scale(1.06)}
.rail .poster .lbl{position:absolute;left:18px;top:18px}
.rail .poster .ttl{position:absolute;inset:auto 0 0 0;padding:60px 22px 20px;background:linear-gradient(transparent,rgba(0,0,0,.9))}
.rail .poster .ttl b{font-family:var(--serif);font-size:clamp(22px,2.4vw,32px);font-weight:600;display:block;line-height:1.1}
.rail .show p{color:var(--ink-2);font-size:15px;margin-top:14px}
.rail .count{font-family:var(--serif);color:var(--gold);font-size:13px;letter-spacing:.2em;margin-top:6px;display:block}

/* celebrity interviews row */
.celeb-sec{padding-bottom:72px}
.celeb{--pad:max(24px,calc((100vw - 1200px)/2));display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--pad);padding:0 var(--pad) 12px;scrollbar-width:none}
.celeb::-webkit-scrollbar{display:none}
.celeb a{flex:none;width:min(72vw,340px);scroll-snap-align:start;text-decoration:none}
.celeb .th{aspect-ratio:16/9;border-radius:8px;overflow:hidden;border:1px solid var(--line);position:relative;background:#121214}
.celeb .th img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.celeb a:hover img{transform:scale(1.06)}
.celeb .th::after{content:"\25B6";position:absolute;right:12px;bottom:10px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:12px;color:#000;background:var(--gold-gradient)}
.celeb b{display:block;margin-top:12px;font-size:15px;font-weight:600;line-height:1.35;color:var(--ink)}

/* numbers */
.nums{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.nums div{padding:44px 28px;border-right:1px solid var(--line)}
.nums div:last-child{border-right:0}
.nums b{font-family:var(--serif);font-size:clamp(40px,5vw,72px);line-height:1;display:block;background:var(--gold-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}
.nums span{color:var(--ink-2);font-size:14px;letter-spacing:.06em;text-transform:uppercase;margin-top:12px;display:block}

/* big work tiles */
.work-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:24px}
.work-grid .wt{position:relative;border-radius:8px;overflow:hidden;border:1px solid var(--line);min-height:420px;display:flex;align-items:flex-end;text-decoration:none;background:#0a0a0b}
.work-grid .wt:first-child{grid-row:span 2;min-height:864px}
.work-grid .wt .img{position:absolute;inset:-8% 0;background:#121214 center/cover no-repeat;will-change:transform}
.work-grid .wt::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 40%,rgba(0,0,0,.92))}
.work-grid .wt .cap{position:relative;z-index:1;padding:28px}
.work-grid .wt .cap b{font-family:var(--serif);font-size:clamp(22px,2.4vw,34px);display:block;font-weight:600}
.work-grid .wt .cap small{color:var(--ink-2)}

/* inner circle */
.circle{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.circle form{display:flex;gap:12px;flex-wrap:wrap}
.circle input{flex:1;min-width:220px}

/* cursor */
.cur{position:fixed;left:0;top:0;width:36px;height:36px;margin:-18px 0 0 -18px;border:1px solid var(--gold);border-radius:50%;pointer-events:none;z-index:300;transition:width .25s,height .25s,margin .25s,background .25s;mix-blend-mode:difference}
.cur.big{width:72px;height:72px;margin:-36px 0 0 -36px;background:rgba(197,160,89,.18)}
@media (pointer:coarse){.cur{display:none}}

/* reveal defaults (set by JS so no-JS still shows content) */
.js-motion [data-reveal]{opacity:0;transform:translateY(40px)}

@media (max-width:960px){
  .pillar{grid-template-columns:50px 1fr 30px}
  .pillar p{grid-column:2/3}
  .nums{grid-template-columns:1fr 1fr}
  .nums div:nth-child(2){border-right:0}
  .nums div:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .work-grid{grid-template-columns:1fr}
  .work-grid .wt:first-child{grid-row:auto;min-height:480px}
  .circle{grid-template-columns:1fr}
}
@media (max-width:760px){
  .hero-x{padding-bottom:7vh}
  .hero-x .mosaic{grid-template-columns:repeat(3,1fr)}
  .rail .show{width:82vw}
}
@media (prefers-reduced-motion:reduce){
  body::after,.marquee .track,.scroll-cue i{animation:none}
  .hero-x .hero-vid{display:none}
  .ph-bg img{animation:none}.ph-bg video{display:none}
  .js-motion [data-reveal]{opacity:1;transform:none}
}
