/* Layout: one long scroll built like the poster itself — a black hillside under a red sky, cream paper pasted on top.
   Single committed theme (the poster's world), chosen deliberately. */
:root{
  --black:#141112;      /* poster ground */
  --black-2:#1d1819;    /* raised black */
  --red:#d11f15;        /* poster sky */
  --red-deep:#8a0d0a;   /* dried blood */
  --cream:#f1e4c1;      /* poster border paper */
  --cream-2:#e6d6ae;    /* paper shadow */
  --ink:#2a1c17;        /* text on paper */
  --ink-soft:#6a4f45;
  --bone:#efe6d2;       /* text on black */
  --bone-soft:#b8ab92;
  --display:'Permanent Marker', 'Comic Sans MS', cursive;
  --mono:'Special Elite', 'Courier New', monospace;
  --body:'Archivo', 'Helvetica Neue', Arial, sans-serif;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--black);color:var(--bone);font-family:var(--body);font-size:17px;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:inherit}
img{max-width:100%;display:block}
h1,h2,h3{text-wrap:balance;margin:0}
:focus-visible{outline:3px solid var(--red);outline-offset:3px}

/* film grain over everything */
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:60;opacity:.16;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}

/* ---------- menu: one floating button, one full-screen overlay (desktop and phone alike) ---------- */
.menu-fab{position:fixed;top:calc(16px + env(safe-area-inset-top,0px));right:16px;z-index:70;display:inline-flex;align-items:center;gap:10px;
  font-family:var(--mono);font-size:.8rem;letter-spacing:.22em;text-transform:uppercase;color:var(--cream);background:rgba(20,17,18,.72);
  border:2px solid var(--cream);padding:10px 16px;cursor:pointer;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:background .2s,border-color .2s,transform .15s}
.menu-fab:hover{background:var(--red);border-color:var(--red);transform:translateY(-1px)}
.menu-fab .bars{display:inline-block;width:18px;height:12px;position:relative}
.menu-fab .bars::before,.menu-fab .bars::after,.menu-fab .bars i{content:"";position:absolute;left:0;right:0;height:2px;background:currentColor}
.menu-fab .bars::before{top:0}.menu-fab .bars i{top:5px}.menu-fab .bars::after{bottom:0}
.brand-fab{position:fixed;top:calc(18px + env(safe-area-inset-top,0px));left:18px;z-index:70;font-family:var(--display);font-size:1.15rem;color:var(--cream);text-decoration:none;text-shadow:0 2px 10px rgba(0,0,0,.8);line-height:1}
.brand-fab span{color:var(--red)}
.overlay{position:fixed;inset:0;z-index:80;background:rgba(20,17,18,.96) url(img/ground.jpg) center / 1200px auto;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:calc(24px + env(safe-area-inset-top,0px)) 20px calc(24px + env(safe-area-inset-bottom,0px));opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}
.overlay.open{opacity:1;visibility:visible}
.overlay::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 20%,rgba(209,31,21,.28),transparent 65%);pointer-events:none}
.overlay .close{position:absolute;top:calc(16px + env(safe-area-inset-top,0px));right:16px;font-family:var(--mono);font-size:.8rem;letter-spacing:.22em;text-transform:uppercase;color:var(--cream);background:transparent;border:2px solid var(--cream);padding:10px 16px;cursor:pointer}
.overlay .close:hover{background:var(--red);border-color:var(--red)}
.overlay ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;align-items:center;gap:clamp(6px,1.5vh,14px);position:relative}
.overlay li a{font-family:var(--display);font-size:clamp(1.9rem,6vh,3.6rem);line-height:1;color:var(--cream);text-decoration:none;letter-spacing:.01em;display:inline-block;padding:4px 14px;transition:color .15s,transform .15s}
.overlay li a:hover{color:var(--red);transform:translateX(6px) rotate(-1deg)}
.overlay li a[aria-current]{color:var(--red)}
.overlay li a.cta{border:2px solid var(--red);margin-top:10px;padding:10px 26px;font-size:clamp(1.5rem,4.5vh,2.4rem)}
.overlay li a.cta:hover{background:var(--red);color:var(--cream);transform:none}
.overlay .note{position:relative;margin-top:28px;font-family:var(--mono);font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--bone-soft)}
body.menu-open{overflow:hidden}

/* ---------- poster at the top, ground continues below ---------- */
:root{--navh:54px}
body{background:var(--black) url(img/ground.jpg) repeat center top / 1200px auto}
.poster{position:relative;width:100%;aspect-ratio:4494/2373;max-width:100%;overflow:hidden;background:var(--black);margin-top:0}
.poster .bd{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}
.poster canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.poster .ttl{position:absolute;left:27.99%;top:49.98%;width:45.99%;height:auto;filter:drop-shadow(0 2px 6px rgba(0,0,0,.6));pointer-events:none}
.poster .bd.m{display:none}
.poster-fade{position:absolute;left:0;right:0;bottom:-2px;height:20%;background:linear-gradient(to bottom,rgba(20,17,18,0),rgba(22,16,16,.55) 60%,rgba(24,17,17,.9))}
.home::before{content:"";position:absolute;left:0;right:0;top:0;height:120px;background:linear-gradient(to bottom,rgba(24,17,17,.9),rgba(24,17,17,0));z-index:-1}
@media (max-width:700px){
  .poster{aspect-ratio:1776/1203}
  .poster .bd.d{display:none}.poster .bd.m{display:block}
  .poster .ttl{left:20.26%;top:52.64%;width:62.15%}
  .poster-fade{height:12%}
}

/* ---------- home: just the essentials under the poster ---------- */
.home{position:relative;z-index:1;margin-top:-3vw;padding:0 20px 60px;display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center}
.premiere{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;font-size:.8rem;color:var(--bone-soft);display:flex;flex-wrap:wrap;justify-content:center;gap:6px 14px;align-items:center;margin:0}
.premiere b{color:var(--red);font-weight:400}
.premiere .dot{width:5px;height:5px;background:var(--red);border-radius:50%;display:inline-block}
.home .big{font-family:var(--display);font-size:clamp(2rem,5vw,3.2rem);color:var(--cream);line-height:1;margin:0;font-weight:400}
.countdown{display:flex;gap:8px;flex-wrap:nowrap;justify-content:center;width:100%;max-width:460px}
.countdown div{min-width:70px;flex:1 1 70px;max-width:110px;padding:12px 8px;border:1px solid rgba(241,228,193,.22);background:rgba(20,17,18,.6)}
.countdown b{display:block;font-family:var(--display);font-size:2.2rem;line-height:1;color:var(--cream);font-variant-numeric:tabular-nums;font-weight:400}
.countdown span{font-family:var(--mono);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--bone-soft)}
.btns{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;font-size:.82rem;text-decoration:none;padding:14px 24px;border:2px solid var(--red);color:var(--cream);background:var(--red);transition:transform .15s,background .2s,color .2s}
.btn:hover{transform:translateY(-2px);background:#e52a1f}
.btn.ghost{background:rgba(20,17,18,.6);color:var(--cream)}
.btn.ghost:hover{background:rgba(209,31,21,.3)}
.btn svg{width:14px;height:14px;fill:currentColor}
.home .logline{font-size:1.1rem;max-width:52ch;color:var(--bone);margin:0}
.home .logline b{color:var(--cream)}
.scroll-hint{font-family:var(--mono);font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;color:var(--bone-soft);opacity:.8;margin:0}

/* ---------- sub-page banner ---------- */
.banner{position:relative;margin-top:0;height:clamp(200px,30vw,340px);overflow:hidden;border-bottom:3px solid var(--red)}
.banner img{width:100%;height:100%;object-fit:cover;object-position:center 60%}
.banner::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(20,17,18,.1),rgba(20,17,18,.75))}
.banner .wrap{position:absolute;left:0;right:0;bottom:26px;z-index:1}
.banner .eyebrow{margin-bottom:6px}
.banner h1{font-family:var(--display);font-weight:400;font-size:clamp(2.4rem,6vw,4.6rem);line-height:.95;color:var(--cream);text-shadow:0 3px 18px rgba(0,0,0,.8)}

/* ---------- section scaffolding: panels pasted onto the poster ---------- */
.content{position:relative;z-index:1;padding-top:10px}
.wrap{max-width:1180px;margin:0 auto;padding-inline:20px}
section{position:relative;padding-block:36px}
section > .wrap{background:rgba(20,17,18,.84);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(241,228,193,.12);border-top:3px solid var(--red);padding:56px clamp(20px,5vw,64px) 64px}
.eyebrow{font-family:var(--mono);font-size:.78rem;letter-spacing:.28em;text-transform:uppercase;color:var(--red);margin:0 0 10px}
h2.title{font-family:var(--display);font-weight:400;font-size:clamp(2.2rem,5.5vw,4rem);line-height:.95;letter-spacing:.01em;color:var(--cream);margin-bottom:28px}
.paper h2.title{color:var(--red)}
.lede{font-size:1.15rem;max-width:62ch;color:var(--bone)}
.paper{--bone:var(--ink);--bone-soft:var(--ink-soft)}
.paper > .wrap{background:rgba(241,228,193,.95);color:var(--ink);border-color:rgba(42,28,23,.2);border-top-color:var(--red);box-shadow:0 30px 80px rgba(0,0,0,.5)}
.paper .lede{color:var(--ink)}
.torn{display:none}

/* ---------- trailer ---------- */
.trailer-box{position:relative;aspect-ratio:16/9;max-width:100%;background:var(--black-2);border:1px solid rgba(241,228,193,.15);overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.trailer-box img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.8) brightness(.55);transition:transform 6s ease,filter .4s}
.trailer-box:hover img{transform:scale(1.04);filter:saturate(1) brightness(.7)}
.trailer-box a.play{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-decoration:none;color:var(--cream)}
.play-ring{width:96px;height:96px;border-radius:50%;border:2px solid var(--cream);display:grid;place-items:center;background:rgba(209,31,21,.85);transition:transform .2s,background .2s;box-shadow:0 0 0 0 rgba(209,31,21,.6);animation:pulse 2.4s infinite}
.trailer-box:hover .play-ring{transform:scale(1.08);background:var(--red)}
.play-ring svg{width:34px;height:34px;fill:var(--cream);margin-left:6px}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(209,31,21,.6)}70%{box-shadow:0 0 0 26px rgba(209,31,21,0)}100%{box-shadow:0 0 0 0 rgba(209,31,21,0)}}
@media (prefers-reduced-motion:reduce){.play-ring{animation:none}.trailer-box img{transition:none}}
.play-label{font-family:var(--mono);letter-spacing:.3em;text-transform:uppercase;font-size:.8rem}
.trailer-meta{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:18px;font-family:var(--mono);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--bone-soft)}
.trailer-meta b{color:var(--cream);font-weight:400}

/* ---------- synopsis ---------- */
.syn{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:start}
.syn .text p{margin:0 0 1em;max-width:62ch}
.syn .text p.big{font-size:1.3rem;line-height:1.45;color:var(--ink)}
.syn .text b{color:var(--red)}
.facts{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:2px solid var(--ink);margin-top:28px;max-width:560px}
.facts div{padding:12px 14px 12px 0;border-bottom:1px solid rgba(42,28,23,.25)}
.facts dt{font-family:var(--mono);font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--red)}
.facts dd{margin:2px 0 0;font-weight:500;color:var(--ink)}
.polaroid{background:#fbf5e6;padding:14px 14px 40px;box-shadow:0 20px 50px rgba(42,28,23,.35);transform:rotate(2deg);position:relative}
.polaroid img{width:100%;aspect-ratio:4/5;object-fit:cover}
.polaroid figcaption{font-family:var(--mono);font-size:.8rem;color:var(--ink-soft);margin-top:12px;letter-spacing:.06em}
.polaroid .tape{position:absolute;top:-12px;left:50%;width:120px;height:28px;background:rgba(209,31,21,.55);transform:translateX(-50%) rotate(-3deg)}
.quote-wall{display:flex;gap:28px;flex-wrap:wrap;margin-top:56px;padding-top:36px;border-top:2px solid var(--ink)}
.quote-wall blockquote{margin:0;flex:1 1 280px;min-width:0}
.quote-wall p{font-family:var(--display);font-size:1.25rem;line-height:1.3;color:var(--ink);margin:0 0 8px}
.quote-wall cite{font-family:var(--mono);font-style:normal;font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--red)}
@media (max-width:820px){.syn{grid-template-columns:1fr}.polaroid{max-width:420px;transform:rotate(-1.5deg)}}

/* ---------- stills strip ---------- */
.stills{padding-block:10px}
.strip{display:flex;gap:6px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 20px;max-width:1180px;margin:0 auto;scrollbar-width:thin;scrollbar-color:var(--red) var(--black)}
.strip figure{margin:0;flex:0 0 auto;scroll-snap-align:start;position:relative;height:min(52vw,360px)}
.strip img{height:100%;width:auto;filter:saturate(.85) contrast(1.05);transition:filter .3s}
.strip figure:hover img{filter:saturate(1.1) contrast(1.1)}
.strip figcaption{position:absolute;left:0;bottom:0;padding:8px 12px;font-family:var(--mono);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);width:100%;color:var(--cream)}

/* ---------- cast ---------- */
.cast-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px 18px}
.card{position:relative}
.card .ph{aspect-ratio:4/5;overflow:hidden;background:var(--black-2);border:1px solid rgba(241,228,193,.12)}
.card img{width:100%;height:100%;object-fit:cover;filter:grayscale(.85) contrast(1.05);transition:filter .35s,transform .6s}
.card:hover img{filter:grayscale(0);transform:scale(1.03)}
.card h3{font-family:var(--body);font-weight:700;font-size:1.02rem;letter-spacing:.02em;text-transform:uppercase;margin-top:12px;color:var(--cream)}
.card .as{font-family:var(--display);color:var(--red);font-size:1.05rem;line-height:1.2}
.card .credits{font-size:.82rem;color:var(--bone-soft);line-height:1.45;margin-top:6px}
.card .tag{position:absolute;top:10px;left:10px;font-family:var(--mono);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;background:var(--red);color:var(--cream);padding:3px 7px}
.crew{margin-top:56px;padding-top:36px;border-top:1px solid rgba(241,228,193,.15);display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.crew h3{font-family:var(--mono);font-size:.75rem;letter-spacing:.26em;text-transform:uppercase;color:var(--red);margin-bottom:8px}
.crew p{margin:0;font-size:.95rem;color:var(--bone-soft)}
.crew p b{color:var(--cream);font-weight:500}
@media (max-width:900px){.cast-grid{grid-template-columns:repeat(2,1fr)}.crew{grid-template-columns:1fr}}

/* ---------- director ---------- */
.director{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:center}
.director img{border:12px solid #fbf5e6;box-shadow:0 20px 50px rgba(42,28,23,.35);transform:rotate(-2deg)}
.director blockquote{margin:0;font-size:1.12rem;line-height:1.65}
.director blockquote p{margin:0 0 1em}
.director .big{font-family:var(--display);font-size:1.6rem;line-height:1.25;color:var(--red)}
.director .sig{font-family:var(--display);font-size:1.6rem;color:var(--ink);margin-top:10px;transform:rotate(-2deg);display:inline-block}
.director .sig small{display:block;font-family:var(--mono);font-size:.7rem;letter-spacing:.26em;text-transform:uppercase;color:var(--red);transform:none}
@media (max-width:820px){.director{grid-template-columns:1fr}.director img{max-width:420px}}

/* ---------- where to watch ---------- */
.platforms{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.plat{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:22px 22px;border:1px solid rgba(241,228,193,.18);background:var(--black-2);text-decoration:none;color:var(--cream);transition:border-color .2s,transform .2s,background .2s;position:relative;overflow:hidden}
.plat:hover{border-color:var(--red);transform:translateY(-3px);background:#231c1d}
.plat .name{font-weight:700;font-size:1.15rem;letter-spacing:.01em}
.plat .sub{font-family:var(--mono);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--bone-soft);margin-top:3px}
.plat .go{font-family:var(--mono);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--red);white-space:nowrap}
.plat.soon .go{color:var(--bone-soft)}
.plat .logo{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;border:1px solid rgba(241,228,193,.2);font-family:var(--display);font-size:1.2rem;color:var(--cream);background:var(--black)}
.plat .left{display:flex;align-items:center;gap:16px;min-width:0}
.watch-note{margin-top:22px;font-family:var(--mono);font-size:.8rem;letter-spacing:.1em;color:var(--bone-soft);max-width:70ch}
.fest{margin-top:40px;display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;padding:26px;border:2px solid var(--red);background:rgba(209,31,21,.08)}
.fest h3{font-family:var(--display);font-weight:400;font-size:1.7rem;color:var(--cream);line-height:1.1}
.fest p{margin:6px 0 0;color:var(--bone-soft)}
@media (max-width:900px){.platforms{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.platforms{grid-template-columns:1fr}.fest{grid-template-columns:1fr}}

/* ---------- news ---------- */
.news-list{display:grid;gap:0;border-top:2px solid var(--ink)}
.news-item{display:grid;grid-template-columns:150px 1fr auto;gap:22px;align-items:baseline;padding:22px 0;border-bottom:1px solid rgba(42,28,23,.25);text-decoration:none;color:var(--ink);transition:background .2s}
.news-item:hover{background:rgba(209,31,21,.06)}
.news-item .src{font-family:var(--mono);font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;color:var(--red)}
.news-item .src small{display:block;letter-spacing:.1em;color:var(--ink-soft);margin-top:4px;text-transform:none;font-size:.72rem}
.news-item h3{font-family:var(--body);font-weight:700;font-size:1.15rem;line-height:1.35;min-width:0}
.news-item .arrow{font-family:var(--mono);font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);white-space:nowrap}
.news-item:hover .arrow{color:var(--red)}
@media (max-width:700px){.news-item{grid-template-columns:1fr;gap:6px}.news-item .arrow{display:none}}

/* ---------- merch ---------- */
.merch-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.item{border:1px solid rgba(241,228,193,.15);background:var(--black-2);padding:18px;text-decoration:none;color:var(--cream);display:flex;flex-direction:column;gap:12px;transition:border-color .2s,transform .2s}
.item:hover{border-color:var(--red);transform:translateY(-3px)}
.item .art{aspect-ratio:1;background:var(--black);display:grid;place-items:center;overflow:hidden;border:1px solid rgba(241,228,193,.08);position:relative}
.item .art img{width:100%;height:100%;object-fit:cover}
.item .art .badge{position:absolute;top:10px;right:10px;font-family:var(--mono);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;background:var(--red);color:var(--cream);padding:3px 7px}
.item h3{font-family:var(--body);font-weight:700;font-size:1.05rem}
.item p{margin:0;font-size:.88rem;color:var(--bone-soft)}
.item .price{font-family:var(--mono);letter-spacing:.14em;color:var(--red);font-size:.8rem;text-transform:uppercase}
.tee{width:70%;height:70%}

#merch .lede a{color:var(--cream)}
.item .meta{color:var(--cream);opacity:.75}
.item .noimg{font-family:var(--display);font-size:1.5rem;line-height:1.1;color:var(--red);text-align:center;padding:20px;opacity:.85}
.item.skel{pointer-events:none;animation:skel 1.2s ease-in-out infinite}
.item.skel .art{aspect-ratio:1}
@keyframes skel{0%,100%{opacity:.45}50%{opacity:.9}}
.merch-cta{margin-top:40px;text-align:center}
.merch-cta .watch-note{margin-top:16px}
@media (max-width:820px){.merch-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.merch-grid{grid-template-columns:1fr}}

/* ---------- team / contact ---------- */
.team{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;align-items:start}
.team img{border:10px solid #fbf5e6;box-shadow:0 20px 50px rgba(42,28,23,.35);transform:rotate(1.5deg)}
.team p{max-width:62ch}
.team p b{color:var(--red)}
.contacts{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:44px;padding-top:36px;border-top:2px solid var(--ink)}
.contacts h3{font-family:var(--mono);font-size:.74rem;letter-spacing:.26em;text-transform:uppercase;color:var(--red);margin-bottom:10px}
.contacts p{margin:0;font-size:.92rem;line-height:1.55}
.contacts p b{font-weight:700}
.contacts a{color:var(--ink);text-decoration-color:var(--red)}
.copy-btn{font-family:var(--mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;border:1px solid var(--ink);background:transparent;color:var(--ink);padding:2px 7px;cursor:pointer;margin-left:6px;vertical-align:middle}
.copy-btn:hover{background:var(--ink);color:var(--cream)}
@media (max-width:820px){.team{grid-template-columns:1fr}.team img{max-width:360px}.contacts{grid-template-columns:1fr}}

/* ---------- footer ---------- */
footer{position:relative;z-index:1;margin-top:30px;padding:48px 20px calc(40px + env(safe-area-inset-bottom,0px));text-align:center;border-top:2px solid var(--red);background:rgba(20,17,18,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
footer .credits{font-family:var(--mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--bone-soft);line-height:2;max-width:80ch;margin:0 auto}
footer .credits b{color:var(--cream);font-weight:400}
footer .legal{margin-top:24px;font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;color:var(--bone-soft);text-transform:uppercase}
footer .social{display:flex;gap:14px;justify-content:center;margin:22px 0 0;flex-wrap:wrap}
footer .social a{font-family:var(--mono);font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--cream);text-decoration:none;border:1px solid rgba(241,228,193,.3);padding:8px 14px}
footer .social a:hover{border-color:var(--red);color:var(--red)}
footer .tag{font-family:var(--display);font-size:clamp(1.6rem,4vw,2.6rem);color:var(--red);margin-bottom:18px}

@media (max-width:700px){.home{margin-top:-3vw;padding-top:10px;gap:18px}.premiere{font-size:.72rem;gap:4px 10px}}
