.cp-photo-projects{margin:0 0 64px;padding:34px 0 42px;border-block:1px solid var(--cp-line)}
.cp-photo-projects,#cp-photographs{scroll-margin-top:28px}
.cp-projects-heading{display:grid;grid-template-columns:1fr minmax(240px,420px);gap:28px;align-items:end;margin-bottom:28px}
.company-portfolios .cp-projects-heading h3,.company-portfolios .cp-project-works h2{font-size:clamp(34px,4vw,68px);line-height:1.03;margin-top:8px}
.cp-projects-heading p,.cp-project-summary,.cp-project-narrative p,.cp-project-credits p{font-size:clamp(14px,1.3vw,17px);line-height:1.7;color:var(--cp-muted)}
.cp-projects-heading a,.cp-project-back,.cp-project-return a{display:inline-block;font-size:13px;line-height:1.5;color:var(--cp-accent);padding-block:9px}
.cp-projects-heading a:hover,.cp-project-back:hover,.cp-project-return a:hover{text-decoration:underline;text-underline-offset:.3em}
.cp-project-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;list-style:none;padding:0;margin:0}
.cp-project-card{min-width:0}
.cp-project-card>a{display:flex;flex-direction:column;min-height:100%;background:#101114;border:1px solid var(--cp-line)}
.cp-project-cover{aspect-ratio:4 / 3;overflow:hidden;background:#161719}
.cp-project-cover img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.cp-project-card a:is(:hover,:focus-visible) img{transform:scale(1.035)}
.cp-project-card-copy{position:relative;padding:17px 38px 22px 17px}
.company-portfolios .cp-project-card-copy h4{font-size:clamp(16px,1.8vw,28px);letter-spacing:-.04em;line-height:1.15;margin-top:6px;overflow-wrap:anywhere}
.cp-project-card-arrow{position:absolute;right:15px;top:18px;color:var(--cp-accent);font-size:18px}
.cp-project-page{padding:clamp(22px,4vw,72px) max(4vw,calc((100% - 1420px)/2));min-height:65vh}
.cp-project-masthead{padding-bottom:clamp(25px,5vw,70px)}
.cp-project-masthead .cp-eyebrow{margin-top:clamp(24px,5vw,65px);display:block}
.company-portfolios .cp-project-masthead h1{font-size:clamp(36px,6.5vw,100px);line-height:1.02;max-width:22ch;margin:12px 0 20px;overflow-wrap:anywhere}
.cp-project-summary{max-width:67ch}
.cp-project-hero .creative-image-button,.cp-project-frame .creative-image-button{position:relative;display:block;width:100%;padding:0;border:1px solid var(--cp-line);background:#101114}
.cp-project-hero img,.cp-project-frame img{display:block;width:100%;height:auto;max-height:82svh;object-fit:contain}
.cp-project-narrative{display:grid;gap:26px;margin:clamp(26px,5vw,68px) 0;max-width:78ch}
.company-portfolios .cp-project-narrative h2{font-size:clamp(24px,3vw,42px);line-height:1.1;margin-bottom:8px}
.cp-project-narrative p+p,.cp-project-credits p+p{margin-top:9px}
.cp-project-works{margin-top:clamp(32px,6vw,90px)}
.cp-project-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px;align-items:start}
.cp-project-videos figure{margin-top:22px}
.cp-project-videos :is(video,iframe){width:100%;max-height:75svh;aspect-ratio:16 / 9;border:0;background:#101114}
.cp-project-videos figcaption{color:var(--cp-muted);font-size:13px;margin-top:6px}
.cp-project-recording{margin-top:16px;background:#101114;border:1px solid var(--cp-line)}
.cp-project-recording summary{display:block;position:relative;cursor:pointer;list-style:none}
.cp-project-recording summary::-webkit-details-marker{display:none}
.cp-project-recording summary img{display:block;width:100%;aspect-ratio:var(--recording-ratio);max-height:66svh;object-fit:contain}
.cp-project-recording summary>span{display:flex;gap:12px;align-items:center;padding:14px 17px;font-size:13px;color:var(--cp-paper)}
.cp-project-recording summary>span span{color:var(--cp-accent)}
.cp-project-recording[open] summary img{display:none}
.cp-project-recording iframe{display:block;aspect-ratio:var(--recording-ratio)}
.cp-project-credits,.cp-project-return{border-top:1px solid var(--cp-line);margin-top:34px;padding-top:17px}
.cp-project-return{display:flex;flex-wrap:wrap;gap:8px 26px}
@media(max-width:850px){.cp-project-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.cp-projects-heading{grid-template-columns:1fr;gap:12px}}
@media(max-width:520px){.cp-project-cards,.cp-project-gallery{grid-template-columns:1fr}.cp-photo-projects{margin-bottom:40px;padding-block:24px}.cp-project-card-copy{padding-block:13px 17px}}
@media(prefers-reduced-motion:reduce){.cp-project-cover img{transition:none}.cp-project-card a:is(:hover,:focus-visible) img{transform:none}}
