/* Project-page styles load only on dedicated film pages. */
/* Commercial reels: native proportions take over once video sources are added. */
.project-commercial .commercial-reels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;max-width:840px;margin-inline:auto;align-items:start}
.project-commercial .commercial-reel-frame{position:relative;background:var(--ocean);color:var(--paper)}
.project-commercial .commercial-reel-frame video{display:block;width:100%;height:auto;aspect-ratio:auto 9/16;object-fit:contain;background:var(--ocean)}
.project-commercial .commercial-reel-pending{position:absolute;top:50%;left:0;width:100%;text-align:center;transform:translateY(-50%);pointer-events:none;color:#acb9b9}
.project-commercial .commercial-reels figcaption{padding-top:18px;color:var(--muted)}
@media(max-width:600px){.project-commercial .commercial-reels{grid-template-columns:1fr;max-width:380px;gap:32px}}
.project-page{color:var(--ocean)}
.project-page .site-header{position:relative;background:var(--ocean)}
.project-navigation{font-size:12px}
.project-navigation a{display:inline-flex;align-items:center;gap:18px;padding:12px 0}
.project-navigation a:hover{opacity:.7}
.project-shell{width:84%;max-width:1300px;margin-inline:auto}
.project-intro{padding-top:100px;padding-bottom:54px}
.project-intro h1{font-family:var(--serif);font-weight:400;font-size:clamp(100px,15vw,220px);line-height:.95;letter-spacing:-.045em;margin:34px 0}
.project-deck{display:flex;justify-content:space-between;align-items:baseline;gap:24px}
.project-subtitle{font-family:var(--serif);font-size:clamp(28px,3vw,44px);line-height:1.2;margin:0}
.project-category{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin:0}
.film-placeholder{aspect-ratio:16/9;background:var(--ocean);color:var(--paper);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;border:1px solid var(--ocean)}
.film-placeholder p{font-family:var(--serif);font-size:clamp(30px,4vw,60px);line-height:1.1;margin:22px 0}
.film-placeholder .eyebrow,.placeholder-note{color:#acb9b9}
.placeholder-note{font-size:10px;letter-spacing:.08em}
.project-information{padding-top:35px;padding-bottom:100px}
.project-information dl{display:grid;grid-template-columns:1fr 1fr 1.4fr 1fr;gap:28px;border-bottom:1px solid var(--line);padding-bottom:35px;margin:0}
.project-information dt{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.project-information dd{font-size:13px;line-height:1.6;margin:0}
.stills-heading{display:flex;justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:42px}
.stills-heading h2{font-size:clamp(40px,4.5vw,68px)}
.stills-heading .eyebrow{color:var(--muted);flex-shrink:0}
.project-still img{aspect-ratio:16/9;object-fit:cover}
.project-still figcaption{font-size:9px;letter-spacing:.1em;color:var(--muted);padding-top:16px;text-transform:uppercase}
.additional-stills{display:grid;grid-template-columns:1.2fr 1fr;gap:32px;margin-top:60px;align-items:start}
.additional-stills figure:last-child{margin-top:80px}
.still-placeholder{aspect-ratio:4/3;border:1px solid var(--line);background:#e8e6dd;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px;text-align:center;color:var(--muted)}
.still-placeholder>span:last-child{font-family:var(--serif);font-size:26px}
.project-next{border-top:1px solid var(--line);margin-top:110px;padding-top:60px;padding-bottom:100px}
.project-next h2{margin-top:30px;font-size:clamp(48px,6vw,90px)}
.next-note{font-size:12px;color:var(--muted);margin:26px 0}
.project-next h2 a:hover{color:var(--muted)}
.project-next>.text-link{margin-top:30px}
/* Longer titles keep the same serif treatment at a readable editorial scale. */
.project-story .project-intro h1,.project-personal .project-intro h1,.project-commercial .project-intro h1{font-size:clamp(64px,10vw,150px);overflow-wrap:break-word}
.project-story .additional-stills{grid-template-columns:1fr 1.2fr}
.project-story .additional-stills figure:first-child{margin-top:65px}
.project-story .additional-stills figure:last-child{margin-top:0}
.project-personal .project-stills>.project-still{width:78%;margin-inline:auto}
.project-personal .project-stills>.project-still img{aspect-ratio:4/3;object-position:38% center}
.project-personal .additional-stills{grid-template-columns:1fr 1fr}
.project-personal .additional-stills figure:last-child{margin-top:0}
.project-commercial .additional-stills{grid-template-columns:1fr 1fr}
.project-commercial .additional-stills figure:last-child{margin-top:0}
.commercial-crop{position:relative;aspect-ratio:16/9;overflow:hidden}
.project-commercial .commercial-crop img{position:absolute;left:50%;top:50%;width:316%;height:100%;max-width:none;aspect-ratio:auto;object-fit:cover;object-position:center 36%;transform:translate(-50%,-50%)}
.project-commercial .commercial-detail .commercial-crop img{object-position:center 65%}
.project-commercial .commercial-environment img{aspect-ratio:16/9}
@media(max-width:600px){.project-story .project-intro h1,.project-personal .project-intro h1,.project-commercial .project-intro h1{font-size:clamp(56px,13vw,78px)}.project-story .additional-stills,.project-personal .additional-stills,.project-commercial .additional-stills{grid-template-columns:1fr}.project-story .additional-stills figure:first-child{margin-top:0}.project-personal .project-stills>.project-still{width:100%}}
@media(max-width:900px){.project-shell{width:88%}.project-intro{padding-top:70px}.project-information{padding-bottom:70px}.project-information dl{grid-template-columns:1fr 1fr;gap:30px}.additional-stills{gap:24px}.additional-stills figure:last-child{margin-top:50px}.project-next{margin-top:80px;padding-bottom:70px}}
@media(max-width:600px){.project-navigation{font-size:11px}.project-navigation a{gap:10px}.project-intro{padding-top:55px;padding-bottom:35px}.project-intro h1{margin:28px 0;font-size:110px}.project-deck{flex-direction:column;gap:15px}.film-placeholder .eyebrow{font-size:8px}.film-placeholder p{margin:15px 0}.placeholder-note{font-size:9px}.project-information{padding-top:28px;padding-bottom:60px}.project-information dl{gap:26px 16px;padding-bottom:28px}.project-information dd{font-size:12px}.stills-heading{flex-direction:column;gap:20px;margin-bottom:28px}.additional-stills{grid-template-columns:1fr;gap:24px;margin-top:32px}.additional-stills figure:last-child{margin-top:0}.project-next{margin-top:60px;padding-top:42px;padding-bottom:60px}.project-next h2{font-size:52px}}
