:root { color-scheme:light; --paper:#f9f8f5; --ink:#292a27; --muted:#767771; --blue:#2233b5; --rule:#dfdfd8; }
* { box-sizing:border-box; }
html { background:var(--paper); -webkit-text-size-adjust:100%; }
::selection { background:#dce0ff; color:#182681; }
a { color:inherit; text-decoration-color:#b9b9b0; text-underline-offset:4px; text-decoration-thickness:1px; }
a:hover { color:var(--blue); }
a:focus-visible,summary:focus-visible { outline:2px solid var(--blue); outline-offset:5px; border-radius:2px; }
img { display:block; max-width:100%; height:auto; }
.shell { width:min(100% - 48px,900px); margin:0 auto; }
.site-header { padding-top:42px; display:flex; justify-content:space-between; gap:20px; align-items:baseline; }
.site-header a { font-size:var(--text-small); }
.site-home { text-decoration:none; }
.site-nav { display:flex; gap:22px; }
main { padding:64px 0 0; }
p + p { margin-top:18px; }
.eyebrow { font-size:var(--text-small); color:var(--muted); letter-spacing:0; margin-bottom:15px; }
.lead { max-width:590px; margin-top:22px; font-size:var(--text-lead); line-height:1.6; letter-spacing:0; }
.muted { color:var(--muted); }
.links { display:flex; flex-wrap:wrap; gap:10px 24px; margin-top:26px; }
.section { margin-top:55px; }
.section > h2 { margin-bottom:22px; }
.nous-intro { max-width:650px; }
.nous-wordmark { width:210px; height:auto; }
.audience { margin-top:36px; }
.steps { list-style:none; padding:0; margin:0; }
.steps li { display:grid; grid-template-columns:45px minmax(0,1fr); padding:19px 0; border-top:1px solid var(--rule); }
.step-number { color:var(--muted); font-size:var(--text-small); padding-top:2px; font-variant-numeric:tabular-nums; }
.step-copy p { max-width:580px; margin-top:4px; color:var(--muted); }
.reach-out { max-width:650px; }
.social { margin-top:24px; font-size:var(--text-small); }
.film-intro { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1fr); gap:48px; align-items:start; }
.film-poster { width:100%; }
.film-copy { padding-top:9px; }
.film-copy .byline { color:var(--muted); margin-top:10px; font-size:var(--text-small); }
.film-copy .synopsis { margin-top:25px; }
.award { margin-top:25px; font-size:var(--text-small); line-height:1.7; }
.watch { display:inline-block; margin-top:25px; }
.film-copy .links { font-size:var(--text-small); margin-top:15px; }
.festival-list { list-style:none; padding:0; margin:0; }
.festival-list li { display:grid; grid-template-columns:50px minmax(0,1fr); gap:10px; padding:10px 0; border-top:1px solid var(--rule); }
.festival-list time { color:var(--muted); font-size:var(--text-small); }
.festival-list small { display:block; color:var(--muted); font-size:var(--text-small); }
.press { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.press blockquote { font-size:var(--text-lead); line-height:1.55; letter-spacing:0; }
.press cite { display:block; font-style:normal; color:var(--muted); font-size:var(--text-small); margin-top:14px; }
.stills { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.stills img { width:100%; aspect-ratio:16/9; object-fit:cover; }
.credits { border-top:1px solid var(--rule); padding-top:19px; }
.credits summary { cursor:pointer; font-size:var(--text-body); }
.credits-content { padding-top:24px; }
.credits-intro { color:var(--muted); max-width:650px; font-size:var(--text-small); }
.credits dl { display:grid; grid-template-columns:165px minmax(0,1fr); gap:10px 22px; margin:24px 0 0; font-size:var(--text-small); }
.credits dt { color:var(--muted); }
.credits dd { margin:0; }
.cast { margin-top:24px; max-width:700px; font-size:var(--text-small); }
.cast span { color:var(--muted); }
.site-footer { margin-top:60px; padding:22px 0 35px; border-top:1px solid var(--rule); display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px 24px; color:var(--muted); font-size:var(--text-small); }
@media(min-width:1500px) { .site-header { padding-top:60px; } main { padding-top:78px; } }
@media(max-width:650px) { .site-header { padding-top:28px; } .site-nav { gap:16px; } main { padding-top:42px; } .nous-wordmark { width:170px; } .section { margin-top:40px; } .film-intro { grid-template-columns:1fr; gap:28px; } .film-poster { max-width:360px; margin:0 auto; } .film-copy { padding:0; } .press { grid-template-columns:1fr; gap:28px; } .stills { grid-template-columns:1fr; } .credits dl { grid-template-columns:125px minmax(0,1fr); gap:12px 16px; } .site-footer { margin-top:42px; } }
@media(prefers-reduced-motion:reduce) { * { scroll-behavior:auto!important; } }
