/* Accepted keep world, shared across every local portfolio screen. */
:root{--keep-blue:#2458a6;--keep-red:#d9532f;--keep-link:var(--keep-blue)}
body.page-sun,body.page-labos{--keep-link:var(--w-accent)}
.wall .fr.hidden{display:none}
.keep-art{display:block;position:relative;width:200px;height:190px;flex:none;color:inherit;border:0!important;background:transparent!important}
.keep-art img{position:absolute!important;object-fit:contain!important;image-rendering:pixelated;max-width:none!important;margin:0!important}
.keep-art .keep-building{width:158px!important;height:180px!important;right:0;bottom:0}
.keep-art .keep-person{width:86px!important;height:132px!important;left:0;bottom:0}
.keep-art .keep-color{opacity:0;transition:opacity 180ms steps(4,end);pointer-events:none}
.keep-art:focus-visible{outline:2px solid var(--keep-link);outline-offset:5px}
.keep-art:focus-visible .keep-color{opacity:1}
.keep-heading{display:grid;grid-template-columns:180px minmax(0,1fr);gap:28px;align-items:end}
.keep-heading>.keep-art{width:180px}
.keep-heading-copy{min-width:0}
.keep-heading-copy .kicker{flex-wrap:wrap;line-height:1.8}
.keep-heading-copy h1{font-size:clamp(42px,5.8vw,84px)!important}
.p-top.keep-top{grid-template-columns:minmax(0,1.7fr) minmax(230px,1fr);gap:28px}
.keep-top .side{font-size:14px}
.keep-top .lede{font-size:17px}
.keep-back{font:11px/1.5 var(--meta);text-transform:uppercase;letter-spacing:.06em;display:inline-flex;align-items:center;gap:8px;margin-top:16px;color:var(--keep-link);text-underline-offset:4px}
.work-head .sign{display:block!important;align-self:end}
.work-head .sign .keep-art{height:210px;width:230px}
.work-head .sign .keep-building{width:218px!important;height:205px!important}
.work-head .sign .keep-person{display:none}
.work-head .keeper img{width:150px!important;height:220px!important;object-fit:contain}
.work-head .keeper{gap:26px}
.work-head #keeper{flex:0 0 150px}
.work-head{padding-top:22px}
.keep-mini{height:108px;width:125px;margin-bottom:18px}
.keep-mini .keep-building{height:108px!important;width:105px!important}
.keep-mini .keep-person{height:78px!important;width:52px!important}
.keep-photo{position:relative;display:block;width:100%;line-height:0}
.keep-photo:not(.keep-crop)>img:first-child{display:block;width:100%;height:auto}
.keep-photo:not(.keep-crop)>.keep-dither{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:inherit;pointer-events:none;opacity:1;image-rendering:pixelated;transition:opacity 180ms steps(4,end)}
.keep-photo:focus-visible{outline:2px solid var(--keep-link);outline-offset:4px}
.keep-photo:focus-visible>.keep-dither,.keep-photo.clear>.keep-dither,a:focus-visible .keep-dither,button:focus-visible .keep-dither,[role=button]:focus-visible .keep-dither{opacity:0}
.keep-sticker-dither{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;image-rendering:pixelated;z-index:3;transition:opacity 180ms steps(4,end)}
.tile:focus-visible .keep-sticker-dither{opacity:0}
.pv img.colour,.row-preview img.colour{transition:opacity 180ms steps(4,end)}
.pv:focus-visible{outline:2px solid var(--keep-link);outline-offset:4px}
.keep-project-thumb img{object-fit:contain!important;padding:8px;background:var(--paper)}
.keep-project-thumb{background:var(--paper)}

.page-sun .keep-heading{grid-template-columns:140px minmax(0,1fr);gap:24px}
.page-sun .keep-heading>.keep-art{width:140px}
.page-sun .keep-heading-copy h1{font-size:clamp(32px,3.3vw,48px)!important;overflow-wrap:anywhere}
.about .ach .knight img{object-fit:contain;width:155px;height:250px;image-rendering:pixelated}
.about .ach .knight.r img{transform:scaleX(-1)}
.keep-room-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--w-line,var(--ink));padding:18px 0;margin-top:28px}
.keep-room-footer .keep-art{width:122px;height:100px}
.keep-room-footer .keep-building{width:100px!important;height:100px!important}
.keep-room-footer .keep-person{width:55px!important;height:78px!important}
.keep-room-footer p{margin:0;font:14px/1.5 var(--body)}
.keep-room-footer a:not(.keep-art){color:var(--keep-link);text-underline-offset:4px}
@media(hover:hover) and (pointer:fine){.keep-art:hover .keep-color{opacity:1}.keep-photo:hover>.keep-dither,a:hover .keep-dither,button:hover .keep-dither,.tile:hover .keep-sticker-dither{opacity:0}}
@media(max-width:1100px){.p-top.keep-top{grid-template-columns:1fr}.keep-top>.side{display:grid;grid-template-columns:1fr;max-width:700px}.keep-heading{grid-template-columns:155px minmax(0,1fr)}.keep-heading>.keep-art{width:155px}}
@media(max-width:760px){.keep-heading{grid-template-columns:100px minmax(0,1fr);gap:14px}.keep-heading>.keep-art{width:100px;height:140px}.keep-heading .keep-building{width:90px!important;height:130px!important}.keep-heading .keep-person{width:56px!important;height:88px!important;left:-8px}.keep-heading-copy h1{font-size:clamp(38px,9vw,58px)!important}.keep-top .lede{font-size:15px}.keep-heading-copy .kicker{font-size:9px}.keep-back{margin-top:12px;font-size:10px}.work-head .wrap{grid-template-columns:minmax(0,1fr) 88px!important;gap:8px}.work-head .keeper{gap:10px}.work-head .keeper img{width:65px!important;height:112px!important}.work-head .sign .keep-art{width:88px;height:125px}.work-head .sign .keep-building{width:88px!important;height:120px!important}.work-head .keeper h1{font-size:44px}.work-head .keeper .lede{font-size:14px}.work-head .roomline{font-size:9px}.keep-room-footer{margin-top:18px}.about .ach .knight img{width:80px;height:156px}}
@media(prefers-reduced-motion:reduce){.keep-color,.keep-dither,.keep-sticker-dither,.pv img.colour,.row-preview img.colour{transition:none!important}}
@media(max-width:760px){
 .keep-heading,.page-sun .keep-heading{display:block}
 .keep-heading>.keep-art,.page-sun .keep-heading>.keep-art{float:right;width:108px;height:124px;margin:0 0 12px 14px}
 .keep-heading-copy{display:contents}
 .keep-heading .lede{clear:both;padding-top:10px}
 .keep-heading-copy h1{font-size:38px!important}
 .keep-heading-copy .kicker{font-size:9px;min-height:30px}
 .work-head #keeper{flex:0 0 65px}
 .page-sun .keep-heading-copy h1{font-size:31px!important}
}

/* Native crop hosts keep both layers in the exact same coordinate space. */
.keep-crop>.keep-dither{pointer-events:none;opacity:1;image-rendering:pixelated;transition:opacity 180ms steps(4,end)}
.page-tipper .details figure{margin:0}
.page-tipper .board .big .keep-photo{width:fit-content;max-width:100%}
.page-tipper .compare .ph .keep-photo{width:fit-content;max-width:100%}
.page-tipper .compare .ph .keep-dither{object-fit:contain}
.page-dystopian .wallgrid .pic>.keep-photo,.page-dystopian .strip button>.keep-photo{height:100%}
.keep-photo:not(.keep-crop)>.keep-dither{max-height:none!important}

.page-tipper .details .zoom img{width:190%}
.page-tipper .details .zoom img.photo{width:160%}

/* Project spec sheets must not inherit the gallery contact-sheet grid. */
body.page-sun .sheet,body.page-tipper .sheet{display:block;padding-top:0}
body.page-mega{--keep-link:var(--w-ink)}

body.world .plates figcaption .no{line-height:1.7}

.tier-head{line-height:1.6}
