:root{--bg:#101312;--paper:#e8eae3;--muted:#a6ada7;--accent:#cad990;--line:#343b36}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--bg);color:var(--paper);font-family:Arial,Helvetica,sans-serif;font-size:17px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit}header{display:flex;align-items:center;gap:32px;padding:25px 5vw;border-bottom:1px solid var(--line);background:var(--bg);position:sticky;top:0;z-index:10}.brand{font-size:21px;font-weight:700;letter-spacing:.06em;line-height:1.3}.brand span{display:block;font-size:12px;letter-spacing:.13em;font-weight:400;margin-top:6px}nav{display:flex;gap:28px;margin-left:auto;font-size:14px}nav a:hover,.text-link:hover,footer a:hover{color:var(--accent)}button{border:1px solid var(--line);background:transparent;color:var(--paper);padding:8px 12px;cursor:pointer;font-size:14px}.eyebrow{font-size:12px;letter-spacing:.16em;font-weight:600;color:var(--accent)}.hero{padding:9vh 8vw 5vh;min-height:calc(100svh - 100px);position:relative;display:flex;flex-direction:column;justify-content:center;overflow:hidden}.hero h1{font-size:clamp(68px,9.4vw,150px);line-height:.98;letter-spacing:-.065em;font-weight:500;margin:35px 0 18px}.hero-line{font-family:Georgia,serif;font-style:italic;font-size:clamp(25px,3vw,45px);color:var(--accent);margin:0 0 55px}.hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:35px;max-width:1050px}.hero-bottom p{max-width:470px;color:var(--muted)}.button{display:inline-block;border:1px solid var(--paper);padding:15px 24px;font-size:14px;white-space:nowrap}.button:hover{background:var(--paper);color:var(--bg)}.hero-index{font-size:12px;letter-spacing:.15em;color:var(--muted);margin-top:35px}.section{padding:100px 8vw;border-top:1px solid var(--line)}h2{font-size:clamp(35px,4.4vw,66px);line-height:1.08;letter-spacing:-.04em;font-weight:400;margin:22px 0 32px}h3{line-height:1.2;font-weight:400}p{max-width:640px}.section-head{display:grid;grid-template-columns:1fr 1fr;gap:0 70px;align-items:end}.section-head .eyebrow{grid-column:1/-1}.section-head>p{color:var(--muted);margin-bottom:32px}.films{margin-top:35px}.films article:last-child{border-bottom:1px solid var(--line)}.films span{font-size:12px;color:var(--accent)}.films h3{font-family:Georgia,serif;font-size:clamp(25px,3vw,42px);margin:0}.sound{background:#191e1a}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:35px}.services h3{font-size:27px;margin:18px 0}.services h4{font-size:16px;font-weight:400;color:var(--accent)}.services p{color:var(--muted);font-size:16px}.network{border-top:1px solid var(--line);margin-top:55px;padding-top:22px}.network p:first-child{font-size:13px;color:var(--muted)}.network p:last-child{max-width:none;font-size:19px}.approach{display:grid;grid-template-columns:1fr 1fr;gap:0 70px}.approach>.eyebrow{grid-column:1/-1}.approach h2{font-size:clamp(50px,6vw,90px)}.approach>div{align-self:center;color:var(--muted)}.quote{font-family:Georgia,serif;font-size:30px;line-height:1.3;color:var(--paper);margin-top:40px}.about,.equipment{display:grid;grid-template-columns:1fr 1fr;gap:70px}.about>div:last-child{color:var(--muted)}.text-link{display:inline-block;border-bottom:1px solid var(--accent);padding-bottom:5px;color:var(--paper);font-size:15px;margin-top:20px}.director{background:var(--paper);color:var(--bg)}.director>.eyebrow{color:#475333}.director-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.director h2{font-size:100px}.director em{display:block;font-family:Georgia,serif;font-size:30px;letter-spacing:-.01em;font-weight:400;margin-top:15px}.small{font-size:14px;color:#4e574e}.equipment p{color:var(--muted)}dl{margin:0}dl div{border-bottom:1px solid var(--line);padding:18px 0}dt{font-size:12px;letter-spacing:.07em;color:var(--accent);margin-bottom:8px}dd{margin:0;font-size:16px}.contact h2{font-size:clamp(55px,7vw,105px)}.contact p{color:var(--muted)}.contact .eyebrow{color:var(--accent)}.contact-note{font-size:14px}#contact-links{display:flex;flex-wrap:wrap;gap:15px;margin-top:28px}footer{border-top:1px solid var(--line);padding:30px 5vw;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:12px}.skip{position:absolute;left:15px;top:-100px;z-index:20;background:var(--paper);color:var(--bg);padding:12px}.skip:focus{top:15px}:focus-visible{outline:2px solid var(--accent);outline-offset:5px}@media(max-width:760px){header{padding:18px 5vw;gap:15px;flex-wrap:wrap}.brand{font-size:18px}.brand span{font-size:10px}header button{margin-left:auto}nav{order:3;width:100%;margin:5px 0 0;justify-content:space-between;gap:12px}.hero{padding:55px 6vw;min-height:650px}.hero h1{font-size:clamp(60px,13.5vw,100px)}.hero-bottom{display:block}.hero-line{margin-bottom:25px}.hero-bottom .button{margin-top:15px}.section{padding:65px 6vw}.section-head,.approach,.about,.equipment,.director-grid{grid-template-columns:1fr;gap:15px}.services{grid-template-columns:1fr;gap:25px}.services article{border-top:1px solid var(--line);padding-top:25px}.director h2{font-size:80px}.director em{font-size:25px}footer{flex-direction:column}.approach h2{margin-bottom:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Full photographs: no forced heights or cropped gallery frames. */
.hero{background:none;isolation:isolate}
.hero-photo{position:absolute;top:0;bottom:0;left:12%;width:88%;height:100%;object-fit:contain;transform:scaleX(-1);z-index:-2}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,14,13,.90),rgba(8,14,13,.30));z-index:-1}
.hero h1{font-size:clamp(58px,6.7vw,108px);max-width:56%;line-height:1.04}
.hero-line{max-width:55%;font-size:clamp(25px,2.8vw,42px)}
.hero .hero-bottom p,.hero-index{color:#e0e6e0}
.hero-bottom{display:block;max-width:52%}
.hero-bottom .button{margin-top:10px}
.about-photo{display:block;width:100%;height:auto;max-width:100%;margin-top:35px}
.photo-grid{columns:2;column-gap:24px}
.photo-grid img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain;break-inside:avoid;margin:0 0 24px}

/* Credits and awards stay directly below each film title. */
.films article{border-top:1px solid var(--line);display:grid;grid-template-columns:40px minmax(0,1fr);align-items:start;gap:18px 20px;padding:28px 0}
.film-number{padding-top:10px}
.film-heading{grid-column:2;min-width:0}
.films h3{margin:0 0 10px}
.films .film-credit,.films .film-award{font-size:13px;line-height:1.5;text-align:left;max-width:none;margin:0 0 5px;white-space:nowrap}
.films .film-credit{color:var(--muted)}
.films .film-award{color:var(--accent)}
.film-festival{display:inline-block;color:var(--accent);font-size:12px;line-height:1.5;text-decoration:underline;text-underline-offset:3px}
.trailer-player{grid-column:2;width:100%;max-width:880px;margin:0 0 12px}
.trailer-player iframe{display:block;width:100%;aspect-ratio:16/9;border:0;background:#000}
.project-status{display:inline-block;font-size:13px;font-weight:600;letter-spacing:.04em;padding:6px 12px;border:1px solid #879078;margin:0 0 10px;color:#34452d}
@media(max-width:760px){
 .photo-grid{columns:1}
 .photo-grid img{margin-bottom:18px}
 .films article{grid-template-columns:24px minmax(0,1fr);gap:16px 12px}
 .films .film-credit,.films .film-award{font-size:clamp(10px,2.5vw,13px)}
 .trailer-player{grid-column:1/-1}
 .hero{padding:0 6vw 48px;min-height:0;overflow:visible}
 .hero-photo{position:relative;top:auto;bottom:auto;left:auto;width:calc(100% + 12vw);max-width:none;height:auto;margin:0 -6vw 30px;order:-1;z-index:0}
 .hero::after{display:none}
 .hero h1{font-size:clamp(54px,11vw,80px);max-width:100%;margin-top:22px}
 .hero-bottom{max-width:100%}
 .hero-line{max-width:100%}
 .director-heading h2{margin-top:10px}
}

/* Only soften the hero photograph's lateral edges. */
.hero::before {
 content: "";
 position: absolute;
 inset: -72px;
 background-image: url("../images/mountain-438827e0c761.jpg");
 background-size: cover;
 background-position: center;
 filter: blur(60px);
 transform: scaleX(-1);
 opacity: .6;
 z-index: -3;
 pointer-events: none;
}
.hero-photo {
 -webkit-mask-image: linear-gradient(90deg, transparent 0%, transparent 6%, rgba(0,0,0,.07) 10%, rgba(0,0,0,.30) 14%, rgba(0,0,0,.70) 18%, #000 22%, #000 56%, rgba(0,0,0,.86) 64%, rgba(0,0,0,.52) 72%, rgba(0,0,0,.19) 80%, rgba(0,0,0,.035) 88%, transparent 94%, transparent 100%);
 mask-image: linear-gradient(90deg, transparent 0%, transparent 6%, rgba(0,0,0,.07) 10%, rgba(0,0,0,.30) 14%, rgba(0,0,0,.70) 18%, #000 22%, #000 56%, rgba(0,0,0,.86) 64%, rgba(0,0,0,.52) 72%, rgba(0,0,0,.19) 80%, rgba(0,0,0,.035) 88%, transparent 94%, transparent 100%);
}
@media (max-width: 760px) {
 .hero::before { display: none; }
}

/* About: heading above, biography centered beside the portrait. */
.about { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 36px 70px; align-items: center; }
.about-heading { grid-column: 1 / -1; }
.about-heading h2 { margin-bottom: 0; }
.about-portrait { grid-column: 1; align-self: center; }
.about-copy { grid-column: 2; align-self: center; }
.about-copy > :first-child { margin-top: 0; }
.about-copy > :last-child { margin-bottom: 0; }
.about-photo { margin-top: 0; -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.05) 1%, rgba(0,0,0,.22) 3%, rgba(0,0,0,.75) 7%, #000 12%, #000 88%, rgba(0,0,0,.75) 93%, rgba(0,0,0,.22) 97%, rgba(0,0,0,.05) 99%, transparent 100%); mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.05) 1%, rgba(0,0,0,.22) 3%, rgba(0,0,0,.75) 7%, #000 12%, #000 88%, rgba(0,0,0,.75) 93%, rgba(0,0,0,.22) 97%, rgba(0,0,0,.05) 99%, transparent 100%); }
@media (max-width: 760px) {
 .about { grid-template-columns: minmax(0,1fr); gap: 28px; }
 .about-heading, .about-portrait, .about-copy { grid-column: 1; }
}
