/* Individual project pages share the existing atmosphere and navigation. */
.project-page{position:relative;z-index:1;max-width:1600px;margin:0 auto;padding:155px 7% 60px;color:#f5f4f1;min-height:100svh}
.project-back{display:inline-flex;align-items:center;gap:14px;font-size:12px;letter-spacing:.07em;color:#aaa6b0;min-height:44px;margin-bottom:32px}
.project-back:hover{color:#fff}
.project-topline{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #ffffff26;padding-top:18px;margin-bottom:44px;color:#88858e;font-size:12px;letter-spacing:.07em}
.project-head{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.65fr);align-items:end;gap:clamp(30px,6vw,100px);margin-bottom:48px}
.project-heading{font-family:var(--landing-font,'Manrope',Arial,sans-serif);font-size:clamp(62px,8.4vw,138px);line-height:.94;font-weight:500;letter-spacing:-.065em;margin:0;overflow-wrap:normal;outline:none}
.project-heading span{display:block}
.project-heading:focus-visible{outline:1px solid #ffffff70;outline-offset:12px}
.project-role{margin:0 0 24px}
.project-role>span{display:block;color:#8f8997;font-size:12px;letter-spacing:.08em;margin-bottom:10px}
.project-role>p{font:500 clamp(18px,1.6vw,24px)/1.3 var(--landing-font,'Manrope',Arial,sans-serif);letter-spacing:-.025em;color:#fff;margin:0}
.project-role>p.project-role-scope{font-size:13px;line-height:1.6;letter-spacing:-.01em;color:#a8a2ae;margin-top:12px}
.project-summary{font-family:var(--landing-font,'Manrope',Arial,sans-serif);font-size:clamp(15px,1.3vw,19px);line-height:1.55;letter-spacing:-.02em;margin:0 0 28px;color:#c6c3cb}
.project-facts{display:grid;grid-template-columns:1fr 1fr;gap:20px 26px;margin:0}
.project-facts>div{min-width:0}
.project-facts dt{font-family:'Roboto Mono','Courier New',monospace;text-transform:uppercase;font-size:12px;letter-spacing:.07em;color:#78747f;margin-bottom:7px}
.project-facts dd{font-size:12px;line-height:1.5;overflow-wrap:break-word;margin:0;color:#c9c6ce}
.project-figure{margin:0}
.project-figure img{display:block;width:100%;height:auto;border-radius:16px;background:#111115}
.project-hero img{aspect-ratio:16/9;object-fit:cover;object-position:var(--project-position,50% 50%)}
.project-figure figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 18px;font-family:'Roboto Mono','Courier New',monospace;font-size:12px;line-height:1.6;letter-spacing:.01em;color:#85818b;margin-top:13px}
.project-figure figcaption>span{min-width:0;max-width:100%;overflow-wrap:anywhere}
.project-credit{flex:0 1 auto}
.project-story{display:grid;grid-template-columns:1fr 2fr;gap:clamp(30px,7vw,110px);padding:85px 0 70px}
.project-story h2{font-family:var(--landing-font,'Manrope',Arial,sans-serif);font-size:clamp(29px,3vw,45px);font-weight:500;line-height:1.1;letter-spacing:-.045em;margin:0}
.project-story p{font-family:var(--landing-font,'Manrope',Arial,sans-serif);font-size:clamp(17px,1.6vw,23px);line-height:1.5;letter-spacing:-.025em;margin:0 0 25px;color:#c1bdc6;max-width:800px}
.project-story p:last-child{margin:0}
.project-contribution{padding-top:0;border-bottom:1px solid #ffffff20;margin-bottom:65px}
.project-contribution ul{margin:0;padding-left:1.1em;color:#d5cfdc;font:400 clamp(17px,1.5vw,22px)/1.55 var(--landing-font,'Manrope',Arial,sans-serif);letter-spacing:-.02em;max-width:800px}
.project-contribution li{padding-left:.3em;margin-bottom:16px}
.project-contribution li:last-child{margin-bottom:0}
.project-impact{margin-top:32px}
.project-impact h3{margin:0 0 12px;font-size:12px;letter-spacing:.09em;font-weight:400;color:#c4aed0}
.project-story .project-impact p{font-size:clamp(16px,1.3vw,19px);color:#a9a1b2;line-height:1.6}
.project-chapters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin:0 0 70px}
.project-chapters h2{font:500 24px/1.15 var(--landing-font,'Manrope',Arial,sans-serif);letter-spacing:-.03em;margin:0 0 18px}
.project-chapters p{font-size:14px;line-height:1.65;color:#a9a2b0;margin:0 0 16px}
.project-chapters a{display:inline-flex;align-items:center;min-height:44px;font-size:12px;border-bottom:1px solid #ffffff40;color:#c6bdcf;line-height:1.5}
.project-heading.project-heading-compact{font-size:clamp(42px,5.9vw,96px)}
.project-media-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-bottom:65px}
.project-media-grid .project-figure img{aspect-ratio:16/11;object-fit:cover}
.project-media-grid .project-figure:last-child:nth-child(odd){grid-column:1/-1}
.project-media-grid .project-figure:last-child:nth-child(odd) img{aspect-ratio:16/9}
/* Media controls remain separate from their always-available source links. */
.project-film{margin:0 0 65px}
.project-video{position:relative;display:block;aspect-ratio:16/9;margin:0;border:1px solid #ffffff25;border-radius:16px;overflow:hidden;background:#101014}
.project-video::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 100%,#ffffff0d,transparent 70%)}
.project-video-button,.project-external-play{position:absolute;inset:0;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:23px;font-family:'Roboto Mono','Courier New',monospace;font-size:12px;letter-spacing:.07em;color:#fff;text-align:center}
.project-video-button[hidden],.project-video-close[hidden],.project-local-video[hidden]{display:none!important}
.project-play{display:grid;place-items:center;width:76px;height:76px;border:1px solid #ffffff70;border-radius:50%;font-size:20px;padding-left:4px;transition:transform .35s,border-color .35s}
.project-video-button:hover,.project-film-link:hover{color:#fff}.project-video-button:hover .project-play,.project-film-link:hover .project-play{transform:scale(1.1);border-color:#fff}
.project-video iframe,.project-local-video{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000;z-index:1;object-fit:contain}
.project-video-close{position:absolute;top:12px;right:12px;z-index:4;min-width:78px;min-height:44px;padding:10px 14px;border:1px solid #ffffff55;border-radius:30px;background:#09090dd9;color:#fff;font-size:12px;letter-spacing:.06em}
.project-video-status{position:absolute;left:18px;right:18px;bottom:12px;z-index:3;margin:0;padding:10px 14px;border-radius:8px;background:#08080be6;color:#e2dce7;font-size:12px;line-height:1.5;pointer-events:none}
.project-video-status:empty{display:none}
.project-film-meta{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px 24px;margin-top:13px}
.project-video-fallback{display:inline-flex;align-items:center;min-height:44px;border-bottom:1px solid #ffffff50;padding:7px 0;font-size:12px;letter-spacing:.04em;color:#c9c4ce}
.project-video-fallback:hover{color:#fff}
.project-film-caption{max-width:52em;margin:0;font-size:12px;line-height:1.6;color:#8f8997}
.project-film-location{font-size:12px;color:#c9c2ce;letter-spacing:.01em}
.project-source{display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px;align-items:center;padding:0 0 42px;font-size:12px;color:#85818d;line-height:1.6}
.project-source>div{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:12px 24px}
.project-source a{display:inline-flex;align-items:center;min-height:44px;max-width:100%;overflow-wrap:anywhere;color:#c7c2cf;border-bottom:1px solid #ffffff40;padding-block:10px}
.project-source a:hover{color:#fff}
.project-next{display:block;border-top:1px solid #ffffff2a;padding:45px 0 20px;color:#f5f4f1}
.project-next:hover{color:#fff}
.project-next>span:first-child{display:block;font-size:12px;letter-spacing:.1em;color:#8d8795;margin-bottom:24px}
.project-next-title{display:flex;justify-content:space-between;align-items:center;gap:30px;font:500 clamp(38px,6.8vw,100px)/1.05 var(--landing-font,'Manrope',Arial,sans-serif);letter-spacing:-.055em}
.project-next-arrow{font-size:.65em;transition:transform .4s}.project-next:hover .project-next-arrow{transform:translate(6px,-6px)}
.project-page.page-arriving .project-case:not([hidden]){animation:project-arrive .55s cubic-bezier(.16,1,.3,1) both}
@keyframes project-arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media(max-width:1000px){.project-head{grid-template-columns:minmax(0,1.1fr) minmax(240px,.8fr);gap:35px}.project-heading{font-size:clamp(54px,8vw,100px)}}
@media(max-width:760px){
.project-page{padding:110px 6% 40px}.project-back{margin-bottom:22px}.project-topline{margin-bottom:32px;font-size:12px}
.project-head{grid-template-columns:1fr;gap:30px;margin-bottom:32px}.project-heading{font-size:clamp(52px,12vw,90px);line-height:.98}
.project-summary{font-size:17px;max-width:36em;margin-bottom:25px}.project-facts{grid-template-columns:1fr 1fr;gap:22px}.project-facts dd{font-size:12px}
.project-hero{margin-inline:-6vw}.project-hero img{border-radius:0;aspect-ratio:4/3}.project-hero figcaption{padding-inline:6vw}
.project-story{grid-template-columns:1fr;gap:24px;padding:52px 0 40px}.project-contribution{padding-top:0;margin-bottom:42px}.project-chapters{grid-template-columns:1fr;gap:30px;margin-bottom:45px}.project-heading.project-heading-compact{font-size:clamp(34px,9vw,65px)}.project-story h2{font-size:32px}.project-story p{font-size:19px;line-height:1.5}
.project-media-grid{grid-template-columns:1fr;gap:30px;margin-bottom:42px}.project-media-grid .project-figure img{aspect-ratio:auto;border-radius:10px}
.project-film{margin-bottom:42px}.project-video{margin:0 -6vw;border-radius:0;border-inline:0}.project-play{width:55px;height:55px;font-size:16px}.project-video-button,.project-external-play{gap:14px}.project-video-fallback{font-size:12px}.project-film-meta{gap:8px 16px}.project-video-close{top:8px;right:8px}.project-video-status{font-size:12px;left:12px;right:12px;bottom:10px}
.project-source>div{justify-content:flex-start}.project-source{display:block;font-size:12px;padding-bottom:35px}.project-source>span{display:block;margin-bottom:10px}
.project-next{padding-top:30px}.project-next-title{font-size:clamp(35px,9vw,65px);gap:15px}.project-figure figcaption{font-size:12px}.project-credit{flex:initial}
}
@media(prefers-reduced-motion:reduce){.project-page.page-arriving .project-case:not([hidden]){animation:none}.project-play,.project-next-arrow{transition:none}.project-next:hover .project-next-arrow{transform:none}}

.project-video-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.25;pointer-events:none}
.project-case[data-project-slug="commonwealth-games"] .project-heading{font-size:clamp(43px,6vw,100px)}
