:root { --ink:#141414; --muted:#6b6b6b; --line:#e7e7e7; --gold:#b8860b; --bg:#fafafa; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); font:17px/1.65 Georgia,"Times New Roman",serif; background:var(--bg); }
a { color:#7a5c00; }
.wrap { max-width:1040px; margin:0 auto; padding:0 24px; }

/* nav */
nav.top { background:#111; color:#fff; }
nav.top .inner { max-width:1040px; margin:0 auto; padding:14px 24px; display:flex; flex-wrap:wrap; gap:8px 22px; align-items:center; }
nav.top .brand { color:#f0d17a; font-weight:bold; letter-spacing:1px; margin-right:auto; text-decoration:none; }
nav.top a { color:#dcdcdc; text-decoration:none; font-size:.95rem; }
nav.top a:hover, nav.top a.active { color:#fff; border-bottom:2px solid var(--gold); }

/* hero */
header.hero { background:#111; color:#fff; }
.hero-inner { display:flex; flex-wrap:wrap; gap:40px; align-items:center; padding:52px 24px; max-width:1040px; margin:0 auto; }
.hero-photo { flex:0 0 300px; max-width:300px; }
.hero-photo img { width:100%; height:auto; border-radius:6px; display:block; box-shadow:0 8px 30px rgba(0,0,0,.5); }
.hero-text { flex:1; min-width:280px; }
.hero-text .brand { color:#f0d17a; letter-spacing:2px; text-transform:uppercase; font-size:.8rem; margin:0 0 10px; }
.hero-text h1 { font-size:2.6rem; margin:0 0 6px; }
.hero-text .role { color:#f0d17a; font-size:1.15rem; margin:0 0 18px; font-style:italic; }
.hero-text p { color:#dcdcdc; margin:0 0 10px; }

/* page header (non-home) */
.page-head { background:#111; color:#fff; padding:40px 24px; }
.page-head .inner { max-width:1040px; margin:0 auto; }
.page-head h1 { margin:0; font-size:2.1rem; }
.page-head p { color:#f0d17a; margin:8px 0 0; font-style:italic; }

section { padding:40px 0; border-bottom:1px solid var(--line); }
h2 { font-size:1.5rem; margin:0 0 18px; }
h2 .accent, .accent { color:var(--gold); }
.lede { font-size:1.15rem; }
.two-col { display:flex; flex-wrap:wrap; gap:36px; }
.two-col .col { flex:1; min-width:260px; }
ul.credits { list-style:none; padding:0; margin:0; }
ul.credits li { padding:8px 0; border-bottom:1px solid var(--line); }
ul.credits li span { color:var(--muted); font-size:.95rem; }
.film { display:flex; gap:24px; align-items:flex-start; flex-wrap:wrap; }
.film img { width:150px; height:auto; border-radius:4px; box-shadow:0 4px 16px rgba(0,0,0,.2); }
.companies { display:flex; gap:20px; flex-wrap:wrap; }
.company { flex:1; min-width:220px; background:#fff; border:1px solid var(--line); border-radius:6px; padding:20px 22px; }
.company h3 { margin:0 0 8px; }

/* gallery */
.grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:22px; }
figure.shot { margin:0; background:#fff; border:1px solid var(--line); border-radius:6px; overflow:hidden; }
figure.shot img { width:100%; height:auto; display:block; }
figure.shot figcaption { padding:12px 14px; font-size:.92rem; color:var(--muted); }

footer { padding:30px 0 56px; color:var(--muted); font-size:.92rem; text-align:center; }
.btnrow a { display:inline-block; margin:6px 10px 6px 0; padding:9px 16px; border:1px solid var(--gold); border-radius:4px; text-decoration:none; }
@media (max-width:640px){ .hero-text h1{font-size:2rem;} }
