/* Write Selfishly — site styles. Palette and type from the key art / press kit. */
@font-face{font-family:"Anton";src:url("../fonts/Anton-Regular.ttf") format("truetype");font-weight:400;font-display:swap}

:root{
  --blue:#0A83DD; --blue-deep:#074A90; --blue-title:#2B8FB3;
  --gold:#DB8A07; --gold-rule:#EAB03C; --yellow:#FFDB60;
  --cream:#E6DFC5; --cream-2:#F1ECDA;
  --ink:#1A1C20; --ink-2:#3C4049; --ink-3:#6B707C;
  --body:"halyard-text","Halyard Text","Figtree",system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
  --display:"Anton",Impact,"Arial Narrow",sans-serif;
  --caps:"balboa","Balboa","Barlow Condensed","Arial Narrow",sans-serif;
  --measure:40rem; --wide:68rem;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--cream-2);color:var(--ink);font-family:var(--body);font-weight:400;font-size:1.0625rem;line-height:1.55}
img{display:block;max-width:100%;height:auto}
a{color:var(--blue-title)}
p{margin:0 0 1em}
.sr{position:absolute;left:-9999px}

/* type */
h1,h2,h3{font-family:var(--display);font-weight:400;letter-spacing:.02em;text-transform:uppercase;line-height:1;margin:0}
h2{font-size:clamp(1.75rem,3.4vw,2.5rem);color:var(--ink)}
.kicker{font-family:var(--body);font-weight:500;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:0 0 .6rem}
.caps{font-family:var(--caps);font-weight:500;letter-spacing:.16em;text-transform:uppercase;font-size:.8rem}
.lede{font-size:1.25rem;line-height:1.45}
.rule{height:1px;background:var(--gold-rule);opacity:.6;border:0;margin:0}

/* layout */
.wrap{width:min(100% - 2.5rem,var(--wide));margin-inline:auto}
.narrow{width:min(100% - 2.5rem,var(--measure));margin-inline:auto}
section{padding:4.5rem 0}
@media (max-width:640px){section{padding:3.25rem 0}}

/* hero */
.hero{background:linear-gradient(180deg,var(--blue) 0%,#0A7CD2 55%,var(--blue-deep) 100%);color:#fff;padding:2.25rem 0 3.25rem;text-align:center}
.hero .tt{width:min(100%,12rem);margin:0 auto .9rem}
.hero .tag{font-family:var(--body);font-weight:500;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;color:var(--yellow);line-height:1.4;margin:0 auto 1.5rem;max-width:34rem}
.trailer{position:relative;width:min(100%,50rem);margin:0 auto;aspect-ratio:16/9;background:#000;box-shadow:0 0 0 1px rgba(241,236,218,.35),0 30px 60px -30px rgba(0,0,0,.6)}
.trailer iframe,.trailer img{position:absolute;inset:0;width:100%;height:100%;border:0}
.trailer img{object-fit:contain;background:#000}
.hero .log{color:var(--cream-2);font-size:1.15rem;line-height:1.45;max-width:44rem;margin:1.6rem auto 1.25rem}
.btn{display:inline-block;font-family:var(--body);font-weight:700;font-size:1rem;letter-spacing:.02em;text-decoration:none;padding:.95rem 1.6rem;border-radius:3px;background:var(--gold-rule);color:var(--ink);border:0;cursor:pointer;transition:transform .12s ease,background .12s ease}
.btn:hover{background:#F3BE4E;transform:translateY(-1px)}
.btn.ghost{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.7)}
.btn.ghost:hover{background:rgba(255,255,255,.08)}
.hero .small{color:rgba(241,236,218,.8);font-size:.85rem;margin:.9rem 0 0}
@media (max-width:640px){.hero{padding:1.5rem 0 2.5rem}.hero .tt{width:9.5rem;margin-bottom:.75rem}.hero .tag{font-size:.72rem;margin-bottom:1rem}.hero .log{font-size:1rem;margin:1.1rem auto 1rem}.hero .small{font-size:.78rem}}

/* sign-up */
.signup{background:var(--cream);text-align:center}
.signup h2{margin-bottom:.9rem}
.signup .body{max-width:34rem;margin:0 auto 1.6rem;color:var(--ink-2)}
.form{display:flex;gap:.6rem;max-width:30rem;margin:0 auto;flex-wrap:wrap;justify-content:center}
.form input[type=email]{flex:1 1 16rem;font:inherit;padding:.9rem 1rem;border:1.5px solid var(--ink-3);border-radius:3px;background:#fff;color:var(--ink);min-width:0}
.form input[type=email]:focus{outline:2px solid var(--blue);outline-offset:1px;border-color:var(--blue)}
.form .btn{flex:0 0 auto}
@media (max-width:560px){.form .btn{flex:1 1 100%}}
.form-ok{display:none;max-width:30rem;margin:0 auto;color:var(--ink-2)}
.form-wrap.done .form{display:none}.form-wrap.done .form-ok{display:block}
.fineprint{font-size:.8rem;color:var(--ink-3);margin:1rem 0 0}

/* content sections */
.about{background:var(--cream-2)}
.still{width:min(100%,60rem);margin:0 auto 2.25rem;box-shadow:0 20px 40px -28px rgba(0,0,0,.45)}
.still.portrait{width:min(100%,26rem)}
.specs{font-family:var(--caps);font-weight:500;letter-spacing:.14em;text-transform:uppercase;font-size:.85rem;color:var(--ink-3);text-align:center;margin:1.75rem 0 0}
.director{background:var(--cream)}
.director .sig{margin-top:1.75rem}
.director .sig .n{font-family:var(--display);font-size:1.25rem;letter-spacing:.03em;text-transform:uppercase;line-height:1.1}
.director .sig .r{font-family:var(--body);font-weight:500;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-top:.25rem}
.center{text-align:center}
.sect-head{text-align:center;margin-bottom:2.25rem}
.sect-head .intro{color:var(--ink-2);max-width:36rem;margin:.9rem auto 0}

/* voices grid */
.voices{background:var(--cream-2)}
/* 30 cards: column counts that divide 30, so no orphan row */
.vgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:2rem 1.25rem}
@media (max-width:1000px){.vgrid{grid-template-columns:repeat(3,1fr);gap:1.75rem 1.25rem}}
@media (max-width:560px){.vgrid{grid-template-columns:repeat(2,1fr);gap:1.4rem .9rem}.vc .vn{font-size:.9rem;min-height:2.3em}.vc .vr{font-size:.74rem}}
.vc{margin:0;text-align:center}
.vc img{width:100%;aspect-ratio:16/9;object-fit:fill;box-shadow:0 10px 20px -16px rgba(0,0,0,.5)}
.vc .vn{font-family:var(--display);font-size:1rem;letter-spacing:.03em;text-transform:uppercase;line-height:1.15;margin-top:.7rem}
.vc .vr{font-size:.78rem;line-height:1.35;color:var(--ink-2);margin-top:.3rem;min-height:4.05em}

/* footer */
footer{background:var(--blue-deep);color:var(--cream-2);text-align:center;padding:3.5rem 0 2.5rem;font-size:.95rem}
footer .tt{width:min(100%,11rem);margin:0 auto 1.5rem;opacity:.95}
footer .rel{max-width:40rem;margin:0 auto 1.6rem;line-height:1.5}
footer .rel a{color:#fff}
footer .bill{font-family:var(--caps);font-weight:500;letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;line-height:1.7;color:rgba(241,236,218,.85);max-width:46rem;margin:0 auto 1.5rem}
footer .legal{font-size:.78rem;color:rgba(241,236,218,.6)}
footer .legal a{color:inherit}

/* screener page */
.scr .hero{padding-bottom:3rem}
.scr .actions{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap;margin-top:2rem}
.dl{background:var(--cream)}
.dl .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1.25rem;max-width:52rem;margin:0 auto}
.dl .card{background:var(--cream-2);padding:1.5rem;border-top:3px solid var(--gold-rule);text-align:left;display:flex;flex-direction:column}
.dl .card .act{margin-top:auto}
.dl .card h3{font-size:1.1rem;margin-bottom:.4rem;line-height:1.1;min-height:2.2em}
.dl .card p{color:var(--ink-2);font-size:.95rem;margin-bottom:1.1rem}
.dl .card a.btn{font-size:.9rem;padding:.7rem 1.1rem}
.dl .meta{font-size:.78rem;color:var(--ink-3);margin:.8rem 0 0}
