.sp{min-width:0;container-type:inline-size}.sp__vis{aspect-ratio:4/3;background:#f2efe80d;border-radius:4px;position:relative;overflow:hidden}.sp__num{margin-top:var(--s-2);font-family:var(--f-display);font-size:min(var(--t-h1), 15.5cqi);letter-spacing:-.035em;font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:500;line-height:1}.sp__label{margin-top:var(--s-2);color:var(--fg-2);font-size:var(--t-small);line-height:1.5}.sp__rule{margin-top:var(--s-4);background:var(--bronze)}.sp__tile{width:30%;position:absolute;box-shadow:0 12px 30px #0c232059}.sp__line{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.sp__line path{fill:none;stroke:var(--bronze-light);stroke-width:2px;vector-effect:non-scaling-stroke}.sp__ticks i{background:var(--bronze-light);width:1px;height:10px;position:absolute;top:calc(50% - 5px)}.sp__photo{position:absolute;inset:0}.sp__grid{grid-template-rows:repeat(5,1fr);grid-template-columns:repeat(5,1fr);display:grid;position:absolute;inset:0}.sp__sq{position:relative}.sp--near .sp__sq,html:not(.js) .sp__sq{background:url(/gfx/mosaic-grey.avif) calc(var(--c) * 25%) calc(var(--r) * 25%) / 500% 500%}.sp__sq i{opacity:0;transition:opacity .4s linear;position:absolute;inset:0}.sp--near .sp__sq i,html:not(.js) .sp__sq i{background:url(/gfx/mosaic.avif) calc(var(--c) * 25%) calc(var(--r) * 25%) / 500% 500%}.sp__sq.is-lit i,html.reduced .sp__sq i,html:not(.js) .sp__sq i{opacity:1}@media (hover:hover) and (pointer:fine){.sp__sq:hover i{opacity:1}}@media (width>=768px){.sp-row{gap:var(--col-gap);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.sp-row--two{grid-template-columns:repeat(2,minmax(0,1fr))}.sp-row--five{grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr))}}@media (width>=1025px){.sp-row{gap:var(--s-6)}.sp-row--five{gap:var(--col-gap)}}@media (width>=1200px){.sp-row--five{grid-template-columns:repeat(7,minmax(0,1fr))}}a.sp{color:inherit;text-decoration:none;display:block}.sp--link .sp__vis{outline-offset:3px;transition:outline-color .35s var(--ease);outline:1px solid #0000}.sp--link .sp__label{transition:color .35s var(--ease)}@media (hover:hover) and (pointer:fine){.sp--link:hover .sp__vis{outline-color:var(--accent)}.sp--link:hover .sp__label{color:var(--fg)}.sp--link:hover .sp__t img{scale:1.05}}[data-bg^=paper] .sp__vis{background:#141a190d}[data-bg^=paper] .sp__line path{stroke:var(--bronze)}[data-bg^=paper] .sp__ticks i{background:var(--bronze)}.sp__clients{grid-template-rows:repeat(4,minmax(0,1fr));grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid;position:absolute;inset:0}.sp__client{min-width:0;min-height:0;padding:2px var(--s-2);box-shadow:0 0 0 1px var(--rule);color:var(--fg);font-family:var(--f-display);text-align:center;opacity:.25;justify-content:center;align-items:center;font-size:clamp(.8125rem,6cqi,1.0625rem);font-weight:500;line-height:1.15;transition:opacity .4s linear;display:flex}.sp__client img{object-fit:contain;width:auto;max-width:78%;height:auto;max-height:62%;display:block}.sp__client.is-lit,html.reduced .sp__client,html:not(.js) .sp__client{opacity:1}.sp__tiles{grid-template-columns:repeat(var(--cols), minmax(0, 1fr));grid-template-rows:repeat(var(--rows), minmax(0, 1fr));gap:3px;display:grid;position:absolute;inset:0}.sp__t{background:var(--paper-2);filter:grayscale(.85);opacity:.5;min-width:0;min-height:0;transition:filter .5s var(--ease), opacity .5s var(--ease);display:block;position:relative;overflow:hidden}.sp__t img{transition:scale 1.2s var(--ease)}.sp__t--crop .frame img{left:var(--cx);top:var(--cy);width:var(--cw);height:var(--ch);object-fit:cover;max-width:none;position:absolute}.sp__t--word{padding:var(--s-1);background:var(--patina-deep);color:var(--on-dark);font-family:var(--f-display);text-align:center;justify-content:center;align-items:center;font-size:.8125rem;font-weight:500;line-height:1.2;display:flex}.sp__t.is-lit,html.reduced .sp__t,html:not(.js) .sp__t{filter:none;opacity:1}.sp__years{width:100%;height:100%;position:absolute;inset:0}.sp__ybase{fill:#f2efe814;stroke:var(--bronze-light);stroke-opacity:.55}[data-bg^=paper] .sp__ybase{fill:#12302c0f;stroke:var(--bronze)}.sp__cells{grid-template-columns:repeat(var(--cols), minmax(0, 1fr));grid-template-rows:repeat(var(--rows), minmax(0, 1fr));gap:1px;display:grid;position:absolute;inset:0}.sp__cell{background:var(--patina-deep);opacity:.9;transition:opacity .4s linear;display:block}.sp__cell.is-lit,html.reduced .sp__cell:not(.sp__cell--shut),html:not(.js) .sp__cell:not(.sp__cell--shut){opacity:0}
