/* INSide landing page (/insidemovie). Loaded after style.css. */
.film{background:#050607;color:var(--ink)}
.film ::selection{background:var(--red);color:#fff}

/* grain over everything, very subtle */
.film::after{content:"";position:fixed;inset:-50%;pointer-events:none;z-index:40;opacity:.07;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  animation:grain 1.2s steps(4) infinite}
@keyframes grain{0%{transform:translate(0,0)}25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-3%)}75%{transform:translate(-2%,-1%)}100%{transform:translate(0,0)}}

/* hero */
.ins-hero{position:relative;min-height:100vh;min-height:100svh;display:grid;place-items:end center;overflow:hidden;text-align:center;padding:0 var(--gutter) clamp(56px,10vh,110px)}
.ins-hero .bg{position:absolute;inset:0;z-index:0}
.ins-hero .bg img{width:100%;height:100%;object-fit:cover;object-position:52% 40%;filter:saturate(.75) brightness(.8);animation:creep 28s ease-out forwards;transform-origin:52% 40%}
@keyframes creep{from{transform:scale(1.02)}to{transform:scale(1.14)}}
.ins-hero::before{content:"";position:absolute;inset:0;z-index:1;
  background:radial-gradient(ellipse 75% 65% at 50% 42%,transparent 0,rgba(5,6,7,.55) 70%,#050607 100%),linear-gradient(180deg,rgba(5,6,7,.5) 0,transparent 30%,rgba(5,6,7,.85) 80%,#050607 100%)}
.ins-hero .inner{position:relative;z-index:2;max-width:900px}
.ins-kicker{font:600 .72rem/1 var(--body);letter-spacing:.42em;text-transform:uppercase;color:var(--ink-2);margin:0 0 22px}
.ins-kicker b{color:var(--red-2);font-weight:600}
.ins-title{font-family:var(--display);font-weight:500;font-size:clamp(3.4rem,13vw,9.5rem);letter-spacing:.32em;margin:0 -.32em 0 0;line-height:1;color:#e9e4dc;text-shadow:0 0 40px rgba(0,0,0,.6)}
.ins-line{font-family:var(--display);font-weight:500;font-size:clamp(1.15rem,2.6vw,1.75rem);letter-spacing:.06em;margin:28px auto 0;max-width:30ch;color:var(--ink)}
.ins-line span{display:inline-block;opacity:0;animation:fadein 1.6s ease forwards}
.ins-line span:nth-child(2){animation-delay:1.6s;color:#f2ede6}
@keyframes fadein{to{opacity:1}}
.ins-cue{display:inline-flex;flex-direction:column;align-items:center;gap:12px;margin-top:44px;text-decoration:none;font:600 .72rem/1 var(--body);letter-spacing:.3em;text-transform:uppercase;color:var(--ink-2);opacity:0;animation:fadein 1.2s ease 3s forwards}
.ins-cue::after{content:"";width:1px;height:46px;background:linear-gradient(var(--ink-2),transparent);animation:drip 2.4s ease-in-out infinite}
@keyframes drip{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}}
.ins-cue:hover{color:var(--ink)}

/* film */
.ins-film{padding:clamp(40px,8vw,100px) 0 clamp(48px,8vw,90px)}
.ins-screen{max-width:1240px;margin:0 auto;padding:0 var(--gutter)}
.ins-player{position:relative;aspect-ratio:16/9;background:#000;box-shadow:0 0 0 1px #16181a,0 40px 120px -20px rgba(0,0,0,.9),0 0 160px -40px rgba(70,95,120,.35)}
.ins-player iframe,.ins-player #ins-yt{position:absolute;inset:0;width:100%;height:100%;border:0}
.ins-credits{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 26px;margin:22px 0 0;font:500 .74rem/1.6 var(--body);letter-spacing:.24em;text-transform:uppercase;color:var(--ink-3)}
.ins-credits b{color:var(--ink-2);font-weight:500}

/* stills strip */
.ins-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:#000}
.ins-strip figure{margin:0;overflow:hidden;aspect-ratio:2048/858}
.ins-strip img{width:100%;height:100%;object-fit:cover;filter:grayscale(.55) brightness(.62);transition:filter .8s,transform 1.4s}
.ins-strip figure:hover img{filter:grayscale(0) brightness(.9);transform:scale(1.04)}
@media (max-width:640px){.ins-strip{grid-template-columns:1fr 1fr}.ins-strip figure:last-child{display:none}}

/* call to action */
.ins-cta{position:relative;overflow:hidden;padding:clamp(80px,14vw,170px) var(--gutter);text-align:center;isolation:isolate}
.ins-cta .bg{position:absolute;inset:0;z-index:-1}
.ins-cta .bg img{width:100%;height:100%;object-fit:cover;object-position:70% 35%;filter:saturate(.6) brightness(.38)}
.ins-cta::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#050607 0,rgba(5,6,7,.35) 30%,rgba(5,6,7,.55) 70%,#050607 100%)}
.ins-cta .inner{max-width:640px;margin:0 auto}
.ins-cta h2{font-weight:500;font-size:clamp(1.9rem,5vw,3.4rem);letter-spacing:.05em;margin:0 0 .4em}
.ins-ask{font-family:var(--display);font-size:clamp(1.15rem,2.4vw,1.6rem);letter-spacing:.06em;color:#f2ede6;margin:0 0 1.6em}
.ins-cta p.sub{color:var(--ink-2);max-width:46ch;margin:0 auto 2em}
.ins-cta.lit h2{animation:glow 2.4s ease}
@keyframes glow{0%{text-shadow:0 0 0 transparent}40%{text-shadow:0 0 28px rgba(212,35,44,.55)}100%{text-shadow:0 0 0 transparent}}

.ins-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;text-align:left;max-width:560px;margin:0 auto}
.ins-form .full{grid-column:1/-1}
.ins-form label.lab{display:block;font:600 .68rem/1 var(--body);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);margin:0 0 8px}
.ins-form input[type=email],.ins-form input[type=text]{width:100%;background:rgba(5,6,7,.7);border:1px solid #2c2f33;color:var(--ink);font:400 1rem/1.4 var(--body);padding:15px 16px;border-radius:0;-webkit-appearance:none}
.ins-form input:focus{border-color:var(--ink-2);outline:none}
.ins-form .consent{display:flex;gap:12px;align-items:flex-start;font-size:.86rem;line-height:1.55;color:var(--ink-2)}
.ins-form .consent input{margin-top:4px;accent-color:var(--red);width:18px;height:18px;flex:none}
.ins-form .consent a{color:var(--ink)}
.ins-form button{width:100%;justify-content:center;padding:19px 26px}
.ins-form .msg{grid-column:1/-1;min-height:1.6em;margin:4px 0 0;text-align:center;color:var(--ink)}
.ins-form.done{display:block;text-align:center}
.ins-form.done > :not(.msg){display:none}
.ins-form.done .msg{font-family:var(--display);font-size:1.35rem;letter-spacing:.05em}
@media (max-width:560px){.ins-form{grid-template-columns:1fr}}

/* share */
.ins-share{padding:clamp(56px,9vw,100px) var(--gutter) clamp(40px,6vw,70px);text-align:center;border-top:1px solid #15171a}
.ins-share h3{font-weight:500;letter-spacing:.08em;margin:0 0 .4em}
.ins-share p{color:var(--ink-3);margin:0 0 28px}
.ins-share .row{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.ins-share a,.ins-share button{display:inline-flex;align-items:center;gap:10px;background:none;border:1px solid #2c2f33;color:var(--ink-2);font:600 .72rem/1 var(--body);letter-spacing:.18em;text-transform:uppercase;padding:14px 18px;text-decoration:none;cursor:pointer;transition:border-color .2s,color .2s}
.ins-share a:hover,.ins-share button:hover{border-color:var(--ink);color:var(--ink)}
.ins-share svg{width:16px;height:16px;fill:currentColor}
.ins-share [data-native]{display:none}
.can-share .ins-share [data-native]{display:inline-flex}

/* footer */
.ins-foot{padding:40px var(--gutter) 46px;text-align:center}
.ins-foot img{width:112px;height:auto;margin:0 auto 20px;opacity:.9}
.ins-foot p{font-size:.78rem;color:var(--ink-3);letter-spacing:.06em;margin:0}
.ins-foot p a{color:var(--ink-3)}

@media (prefers-reduced-motion:reduce){
  .film::after,.ins-hero .bg img,.ins-cue::after{animation:none}
  .ins-line span,.ins-cue{animation:none;opacity:1}
}
@media (max-width:520px){.ins-kicker{letter-spacing:.26em;font-size:.66rem}.ins-title{letter-spacing:.22em;margin-right:-.22em}.ins-credits{gap:4px 16px;font-size:.66rem}}

/* v6: lighter hero, film title artwork */
.ins-hero .bg img{filter:saturate(.9) brightness(1.18) contrast(1.05)}
.ins-hero::before{background:radial-gradient(ellipse 80% 70% at 50% 40%,transparent 0,rgba(5,6,7,.25) 65%,rgba(5,6,7,.75) 100%),linear-gradient(180deg,rgba(5,6,7,.35) 0,transparent 30%,transparent 50%,rgba(5,6,7,.8) 85%,#050607 100%)}
.ins-title{margin:0 auto;letter-spacing:0;font-size:0;line-height:0;text-shadow:none}
.ins-title img{width:min(760px,86vw);height:auto;margin:0 auto;filter:drop-shadow(0 2px 18px rgba(0,0,0,.55))}
.ins-line span{animation-duration:2.2s}
@media (max-width:520px){.ins-title{margin:0 auto}}

.ins-form p.consent{display:block;font-size:.8rem;color:var(--ink-3);text-align:center;margin:2px 0 0}
