:root{--stone:#e4e1da;--light:#f2f1ee;--ink:#1d1d1b;--night:#171614;--night2:#232120;--accent:#1f5a48;--accent-dark:#6fa08e;--muted:#6e6a63;--muted-dark:#a39e94;--sub:#3b3935;--line:#d3cfc6;--line-dark:#2b2926;--max:1440px;--pad:clamp(20px,4vw,32px);--label:300px}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--night);color:var(--ink);font-family:'Schibsted Grotesk','Helvetica Neue',Arial,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}
.mono{font-family:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace}
.label{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;letter-spacing:.12em;color:var(--muted);text-transform:uppercase}
.serif{font-family:'Instrument Serif',Georgia,serif;font-style:italic;letter-spacing:-.01em}
.site{max-width:var(--max);margin:0 auto;background:var(--stone)}
.btn{display:inline-block;font-family:'JetBrains Mono',monospace;font-size:13px;padding:14px 22px;border-radius:2px;background:var(--accent);color:var(--light)!important;letter-spacing:.02em}
.btn:hover{background:#174a3b}
/* header + hero */
.hero{position:relative;background:var(--night2);color:var(--light);min-height:min(92vh,960px);display:flex;flex-direction:column;overflow:hidden}
.hero img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%}
.hero .shade{position:absolute;inset:0;background:rgba(20,18,16,.38)}
.nav{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:22px var(--pad);gap:16px}
.brand{display:flex;align-items:center;gap:10px;background:rgba(0,0,0,.34);padding:9px 14px;border-radius:2px}
.brand .wm{font-size:16px;font-weight:800;letter-spacing:-.02em;color:var(--light)}
.brand svg{width:64px;height:12px;overflow:visible}
.nav ul{display:flex;gap:8px;list-style:none;margin:0;padding:0}
.nav li a{display:block;font-family:'JetBrains Mono',monospace;font-size:12px;padding:10px 16px;border-radius:2px;background:rgba(0,0,0,.34);color:#d9d4cb}
.nav li a:hover{color:var(--light)}
.nav li.cta a{background:var(--light);color:var(--ink)}
.hero .copy{position:relative;z-index:2;flex:1;display:flex;flex-direction:column;justify-content:flex-end;padding:56px var(--pad) 40px;max-width:980px}
.hero .eyebrow{color:var(--muted-dark);margin-bottom:22px}
h1{font-size:clamp(44px,7vw,100px);font-weight:400;line-height:.98;letter-spacing:-.04em;margin:0;text-wrap:balance}
.hero p{font-size:clamp(16px,1.4vw,19px);line-height:1.55;color:#cfcac1;margin:30px 0 0;max-width:54ch;background:rgba(0,0,0,.28);padding:18px 20px;border-radius:2px}
.hero .btn{margin-top:28px;align-self:flex-start}
/* two-column sections */
.section{display:grid;grid-template-columns:var(--label) 1fr;gap:60px;padding:clamp(56px,7vw,96px) var(--pad);border-bottom:1px solid var(--line)}
.section>.label{padding-top:8px}
.statement{font-size:clamp(28px,3.2vw,44px);font-weight:400;line-height:1.15;letter-spacing:-.03em;max-width:24ch;margin:0}
h2{font-size:clamp(30px,3.2vw,44px);font-weight:400;line-height:1.15;letter-spacing:-.03em;margin:0;text-wrap:balance}
.lede{font-size:16px;color:var(--sub);line-height:1.55;margin:16px 0 0;max-width:40ch}
/* references */
.refs{padding:40px var(--pad) 44px;border-bottom:1px solid var(--line)}
.refs .head{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:26px}
.refs .head span:last-child{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--muted)}
.logos{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:22px 40px}
.logos img{opacity:.72;width:auto}
/* film band */
.band{position:relative;min-height:clamp(420px,45vw,620px);background:var(--night2);color:var(--light);display:flex;align-items:flex-end;overflow:hidden}
.band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%}
.band .shade{position:absolute;inset:0;background:rgba(20,18,16,.42)}
.band .copy{position:relative;padding:48px var(--pad);max-width:820px}
.band .label{color:var(--muted-dark)}
.band h2{font-size:clamp(40px,5.5vw,80px);line-height:1.02;letter-spacing:-.035em;margin-top:18px}
.band p{font-size:clamp(16px,1.3vw,18px);color:#cfcac1;margin:22px 0 0;max-width:46ch}
/* methodology */
.matrix{display:grid;grid-template-columns:150px repeat(3,1fr);border-top:1px solid var(--line)}
.matrix>div{padding:18px 16px 18px 0;border-bottom:1px solid var(--line);font-size:15px;line-height:1.5}
.matrix .h{font-weight:500;font-size:17px}.matrix .h small{display:block;font-weight:400;font-size:13px;color:var(--muted);margin-top:2px}
.matrix .r{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.12em;color:var(--accent);text-transform:uppercase;padding-top:22px}
.matrix .m{display:none}
/* paper */
.paper{border-top:1px solid var(--line);padding:26px 0;display:grid;grid-template-columns:150px 1fr;gap:20px}
.paper h3{font-size:24px;font-weight:400;letter-spacing:-.02em;margin:0 0 10px;line-height:1.2}
.paper p{margin:0;color:var(--sub);max-width:60ch}
.paper .more{display:inline-block;margin-top:14px;font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--accent);border-bottom:1px solid var(--accent)}
/* team */
.people{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:640px;margin-top:36px}
.people figure{margin:0}.people .ph{aspect-ratio:3/4;overflow:hidden;background:var(--line-dark)}.people .ph img{width:100%;height:100%;object-fit:cover}
.people figcaption{margin-top:14px}.people .n{font-size:17px;font-weight:500;letter-spacing:-.01em}.people .r{font-size:13px;color:var(--muted);margin-top:2px}
.people figcaption{display:flex;flex-direction:column;align-items:flex-start}
.people .li{margin-top:8px;font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--accent);border-bottom:1px solid var(--accent)}
.people figcaption .sig{margin-top:14px}
footer a:hover{color:var(--light)}
.sig{position:relative;display:inline-block;margin-top:10px;font-family:'JetBrains Mono',monospace;font-size:12px}
.sig svg{position:absolute;left:-10px;top:-9px;width:calc(100% + 26px);height:34px;overflow:visible}
/* contact */
.contact{background:var(--night);color:var(--light);display:grid;grid-template-columns:var(--label) 1fr;gap:60px;padding:clamp(72px,9vw,110px) var(--pad)}
.contact .label{color:#8a857c}
.contact h2{font-size:clamp(40px,5vw,72px);line-height:1.02;letter-spacing:-.035em}
.contact p{font-size:18px;color:#b8b3aa;margin:26px 0 0;max-width:50ch}
.contact .btn{margin-top:34px}
footer{background:var(--night);color:#8a857c;font-family:'JetBrains Mono',monospace;font-size:10px;line-height:1.7;border-top:1px solid var(--line-dark);padding:22px var(--pad);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
footer b{font-weight:400;color:var(--light)}footer .s{color:var(--accent-dark)}
@media (max-width:900px){
  .section,.contact{grid-template-columns:1fr;gap:20px}
  .nav ul li:not(.cta){display:none}.nav li.cta a{white-space:nowrap;padding:9px 12px;font-size:11px}.brand svg{width:48px}
  .matrix{grid-template-columns:1fr}.matrix .h,.matrix .r{display:none}.matrix .m{display:block;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.12em;color:var(--accent);text-transform:uppercase;margin-bottom:4px}
  .matrix>div{padding-right:0}.matrix .ph{padding-top:26px;font-weight:500;font-size:17px;border-bottom:none}
  .paper{grid-template-columns:1fr;gap:8px}
  .people{grid-template-columns:1fr 1fr;gap:16px}
  .logos{justify-content:flex-start;gap:20px 32px}.logos img{transform:scale(.85);transform-origin:left center}
}
@media (max-width:520px){.people{grid-template-columns:1fr}.hero{min-height:auto}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
:focus-visible{outline:2px solid var(--accent-dark);outline-offset:2px}
