/* Internal photo series: the original site's type, colour and rhythm. */
.portfolio-page .project-intro{padding-block:32px 44px}
.project-breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;font-size:14px;line-height:1.5;color:var(--muted)}
.project-breadcrumbs a{min-height:44px;display:inline-flex;align-items:center;color:var(--blue)}
.project-title-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,270px);gap:30px 60px;align-items:end;margin-top:28px}
.portfolio-page h1{font-size:clamp(42px,6vw,80px);line-height:1.05;letter-spacing:-.065em;margin:12px 0 0;overflow-wrap:break-word}
.project-kind{font-size:14px;color:var(--blue)}
.project-description{font-size:16px;line-height:1.6;max-width:48ch;margin-top:18px;color:var(--muted)}
.project-meta{display:grid;grid-template-columns:auto 1fr;gap:12px 24px;margin:0;font-size:14px;border-top:1px solid var(--line);padding-top:16px}
.project-meta dt{color:var(--muted)}
.project-meta dd{margin:0;text-align:right}
.project-viewing-note{margin:26px 0 0;font-size:13px;color:var(--muted)}
.project-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 36px;align-items:start;padding-bottom:70px}
.project-gallery figure{min-width:0;margin:0}
.project-gallery img{display:block;width:100%;height:auto;object-fit:contain;background:transparent}
.project-gallery .photo-open{width:100%}
.project-gallery figcaption{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:14px;padding-top:12px;font-size:13px;line-height:1.5;color:var(--muted)}
.project-gallery figcaption span:last-child{flex-shrink:0;color:var(--blue)}
.project-gallery--single{display:block;max-width:760px;margin-inline:auto}
.project-gallery--odd figure:last-child{grid-column:1/-1;width:calc((100% - 36px)/2);margin-inline:auto}
.project-credits{border-top:1px solid var(--line);padding-block:22px 48px;display:grid;grid-template-columns:1fr 2fr;gap:24px;font-size:14px;line-height:1.6}
.project-credits h2{font-size:14px;color:var(--muted)}
.project-credits p+p{margin-top:10px}
.project-credits a{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--blue);text-decoration:underline;text-underline-offset:4px}
.project-next{display:grid;grid-template-columns:1fr 1fr;gap:28px;border-top:1px solid var(--ink);padding-block:30px 55px}
.project-next a{display:flex;flex-direction:column;justify-content:space-between;gap:16px;min-height:100px;padding-block:8px}
.project-next a:last-child{text-align:right;align-items:flex-end}
.project-next span{font-size:13px;color:var(--muted)}
.project-next strong{font-size:clamp(22px,2.8vw,34px);line-height:1.2;font-weight:500;letter-spacing:-.035em;color:var(--blue)}
.project-footer{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;border-top:1px solid var(--line);padding-block:22px 38px;font-size:13px;color:var(--muted)}
.project-footer a{min-height:44px;display:inline-flex;align-items:center;color:var(--ink)}
.campaign-player{aspect-ratio:16/9;background:var(--blue);color:white;position:relative;display:grid;place-items:center;margin-bottom:22px}
.campaign-player iframe{width:100%;height:100%;border:0;position:absolute;inset:0}
.campaign-launch{text-align:center;max-width:34rem;padding:32px}
.campaign-launch p{font-size:clamp(28px,4vw,54px);line-height:1.15;letter-spacing:-.04em;margin-bottom:24px}
.campaign-play{display:inline-flex;align-items:center;gap:14px;background:white;border:0;padding:14px 22px;min-height:48px;color:var(--blue);font:inherit;cursor:pointer}
.campaign-play svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6}
.campaign-play:focus-visible{outline-color:white}
.campaign-launch small{display:block;font-size:13px;line-height:1.5;max-width:36ch;margin:20px auto 0;color:#edf0ff}
.campaign-direct{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:var(--blue);text-decoration:underline;text-underline-offset:4px;margin-bottom:32px}
@media(min-width:1800px){.project-gallery{gap:56px 48px}.project-gallery--odd figure:last-child{width:calc((100% - 48px)/2)}}
@media(max-width:800px){.project-title-row{grid-template-columns:1fr;gap:28px;margin-top:20px}.project-meta{max-width:440px}.project-intro{padding-top:20px}.project-gallery{gap:34px 24px}.project-gallery--odd figure:last-child{width:calc((100% - 24px)/2)}.project-credits{grid-template-columns:1fr;gap:12px}.project-next{padding-bottom:32px}}
@media(max-width:600px){.portfolio-page .project-intro{padding-bottom:28px}.project-gallery{grid-template-columns:1fr;gap:30px;padding-bottom:42px}.project-gallery--odd figure:last-child{grid-column:auto;width:100%}.project-gallery figcaption{font-size:13px}.project-next{gap:22px;grid-template-columns:1fr}.project-next a{min-height:80px}.project-next a:last-child{text-align:left;align-items:flex-start;border-top:1px solid var(--line);padding-top:24px}.campaign-player{aspect-ratio:auto;min-height:280px}.campaign-player.is-playing{aspect-ratio:16/9;min-height:0}.campaign-launch{padding:26px}.project-footer{gap:8px 24px}}

.project-gallery figure.project-spread{grid-column:1/-1;width:100%}
.portfolio-page .project-breadcrumbs a,.portfolio-page .project-next a{display:inline-flex}
