@layer theme,base;@layer components{.mosaic{--mosaic-gap:clamp(.4rem, .25rem + .5vw, .75rem);gap:var(--mosaic-gap);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.mosaic__item{aspect-ratio:1;min-width:0;position:relative}.mosaic__item:first-child,.mosaic[data-phone-last-wide]>.mosaic__item:last-child{aspect-ratio:3/2;grid-column:1/-1}.mosaic[data-shape=pair]{flex-wrap:wrap;display:flex}.mosaic[data-shape=pair]>.mosaic__item,.mosaic[data-shape=pair]>.mosaic__item:first-child,.mosaic[data-shape=pair][data-phone-last-wide]>.mosaic__item:last-child{width:calc((100% - (var(--row-n) - 1) * var(--mosaic-gap)) * var(--ratio) / var(--row-sum) - .05px);max-width:calc(var(--ratio) * 78svh);aspect-ratio:var(--ratio)}.mosaic__item[data-kind=map]{aspect-ratio:var(--ratio);grid-column:1/-1}.mosaic[data-shape=single]{display:block}.mosaic[data-shape=single]>.mosaic__item{width:100%;max-width:min(calc(var(--ratio) * 78svh), var(--file-w));aspect-ratio:var(--ratio)}@media (min-width:40rem){.mosaic{flex-wrap:wrap;display:flex}.mosaic__item,.mosaic__item:first-child,.mosaic[data-phone-last-wide]>.mosaic__item:last-child{width:calc((100% - (var(--row-n) - 1) * var(--mosaic-gap)) * var(--ratio) / var(--row-sum) - .05px);max-width:calc(var(--ratio) * 78svh);aspect-ratio:var(--ratio)}.mosaic[data-shape=stack]{grid-template-columns:minmax(0, 1fr) var(--stack-w);display:grid}.mosaic[data-shape=stack]>.mosaic__item{grid-column:2;width:auto;max-width:none}.mosaic[data-shape=stack]>.mosaic__item:first-child{aspect-ratio:auto;grid-area:1/1/span 2}}.accordion__panel:has(.mosaic){max-width:none;padding-inline-end:0}html:not([data-motion=off]):not([data-motion-paused]) .accordion__item[open][data-toggled] .mosaic__item{animation:gallery-tile-in .72s var(--ease) both;animation-delay:calc(var(--tile-i,0) * 60ms + 90ms)}.mosaic__tile{width:100%;height:100%;color:inherit;cursor:zoom-in;background:0 0;border:0;padding:0;display:block;position:relative}.mosaic__tile:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.mosaic__hint{z-index:3;border-radius:var(--radius);background:color-mix(in oklch, var(--paper) 90%, transparent);width:2.25rem;height:2.25rem;color:var(--ink);opacity:0;transition:opacity var(--dur-ui) var(--ease), transform var(--dur-ui) var(--ease);pointer-events:none;place-items:center;display:grid;position:absolute;inset-block-start:.6rem;inset-inline-end:.6rem;transform:scale(.85)}.mosaic__tile:hover>.mosaic__hint,.mosaic__tile:focus-visible>.mosaic__hint{opacity:1;transform:none}@media (hover:none){.mosaic__hint{opacity:.82;width:1.75rem;height:1.75rem;inset-block-start:.45rem;inset-inline-end:.45rem;transform:none}.mosaic__hint>svg{width:.95rem;height:.95rem}}.filmstrip{--strip-h:clamp(13rem, 9rem + 14vw, 24rem)}.filmstrip .scroll-row{--row-gap:clamp(.4rem, .25rem + .5vw, .75rem)}.scroll-row__item.filmstrip__item{width:auto}.filmstrip__frame{width:min(calc(var(--ratio) * var(--strip-h)), 86vw);height:var(--strip-h);position:relative}.slideshow{gap:1.1rem;display:grid}.slideshow__stage{background:var(--brand-tint);touch-action:pan-y pinch-zoom;-webkit-user-select:none;user-select:none;width:100%;max-height:76svh;position:relative;overflow:hidden}.slideshow__slide{opacity:0;transition:opacity .26s var(--ease);position:absolute;inset:0}.slideshow__slide[data-active]{opacity:1;z-index:1}html:not([data-motion=off]):not([data-motion-paused]) .slideshow__slide{transition-duration:1s}.slideshow[data-running] .slideshow__slide[data-active] .slideshow__img{animation:gallery-drift calc(var(--slide-interval) + 1s) linear both}.slideshow__panel{align-content:start;gap:1rem;display:grid}.slideshow__controls{align-items:center;gap:.5rem;display:flex}.slideshow__count{min-width:3.25rem;color:var(--fg-muted);margin-inline:.25rem auto}.slideshow__captions{display:grid}.slideshow__caption{grid-area:1/1;max-width:44rem}.slideshow__caption:not([data-active]){visibility:hidden}html:not([data-motion=off]):not([data-motion-paused]) .slideshow__caption{animation:gallery-caption-in .6s var(--ease) both}.slideshow__text{font-size:clamp(1.0625rem,.98rem + .3vw,1.2rem);line-height:1.5}.slideshow__caption>.arrow-link{margin-top:.35rem}.slideshow__thumbs{grid-template-columns:repeat(auto-fill,minmax(4.75rem,1fr));gap:.5rem;display:grid}.slideshow__thumb{aspect-ratio:4/3;background:var(--brand-tint);opacity:.62;cursor:pointer;min-height:2.75rem;transition:opacity var(--dur-ui) var(--ease);border:0;padding:0;position:relative;overflow:hidden}.slideshow__thumb:hover,.slideshow__thumb[aria-current=true]{opacity:1}.slideshow__thumb[aria-current=true]:after{content:"";z-index:3;border:2px solid var(--fg);pointer-events:none;position:absolute;inset:0}.slideshow__thumb:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.slideshow__timer{inset-inline:0;z-index:4;background:var(--accent);transform-origin:0;height:4px;position:absolute;bottom:0;transform:scaleX(0)}.slideshow[data-running] .slideshow__timer{animation:gallery-progress var(--slide-interval) linear both}@media (min-width:64rem){.slideshow[data-variant=wide]{grid-template-columns:minmax(0,2.1fr) minmax(0,1fr);align-items:stretch;gap:clamp(1.75rem,1rem + 2vw,3rem)}.slideshow[data-variant=wide] .slideshow__panel{grid-template-rows:auto 1fr auto;align-content:stretch;padding-block:.25rem}.slideshow[data-variant=wide] .slideshow__captions{border-top:var(--rule-w) solid var(--rule);margin-top:.5rem;padding-top:clamp(1rem,.5rem + 1.5vw,2.5rem)}.slideshow[data-variant=wide] .slideshow__text{font-size:clamp(1.15rem,.9rem + .6vw,1.45rem)}.slideshow[data-variant=wide] .slideshow__thumbs{grid-template-columns:repeat(4,minmax(0,1fr))}}.story{--story-gap:clamp(1.5rem, 1rem + 2.5vw, 3.5rem)}.story__media{display:none}.story__steps{gap:clamp(2.5rem,2rem + 3vw,4.5rem);display:grid}.story__inline{margin-bottom:1.1rem}.story__text>*+*{margin-top:1em}@media (min-width:64rem){.story{gap:var(--story-gap);grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);align-items:start;display:grid}.story__media{top:calc(var(--header-h) + 2rem);height:min(70svh,40rem);display:block;position:sticky}.story__frame{background:var(--brand-tint);height:100%;position:relative;overflow:hidden}.story__layer{clip-path:inset(100% 0 0);position:absolute;inset:0}.story__layer[data-shown]{clip-path:inset(0)}html:not([data-motion=off]):not([data-motion-paused]) .story__layer{transition:clip-path 1.1s var(--ease-in-out-soft)}.story__steps{border-inline-start:var(--rule-w) solid var(--rule-soft);view-timeline-name:--story;gap:0;padding-inline-start:clamp(1.25rem,.8rem + 1vw,2rem);position:relative}.story__steps:before{content:"";width:var(--rule-w);background:var(--fg);transform-origin:top;position:absolute;inset-block:0;inset-inline-start:calc(var(--rule-w) * -1);transform:scaleY(0)}.story__step{align-items:center;min-height:min(70svh,40rem);padding-block:3rem;display:flex}.story__step:first-child{align-items:flex-start;padding-top:0}.story__step:last-child{min-height:min(60svh,34rem)}.story__inline{display:none}.story__text{color:var(--fg-muted);transition:color var(--dur-reveal) var(--ease)}.story__step[data-active] .story__text{color:var(--fg)}.story__text>p{font-size:clamp(1.125rem,.92rem + .55vw,1.4rem);line-height:1.55}.lab-story .story{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.lab-story .story__media{height:min(74svh,46rem)}}.telop{--telop-h:clamp(13rem, 9rem + 12vw, 22rem);--telop-gap:clamp(.4rem, .25rem + .5vw, .75rem);margin-top:clamp(1.5rem,1rem + 2vw,3rem)}.telop__viewport{overscroll-behavior-x:contain;scrollbar-width:none;overflow-x:auto}.telop__viewport::-webkit-scrollbar{display:none}.telop__viewport:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}.telop__track{gap:var(--telop-gap);width:max-content;padding-inline:var(--gutter);display:flex}.telop__item{width:calc(var(--telop-h) * var(--ratio));height:var(--telop-h);flex:none;position:relative}.telop[data-moving] .telop__viewport{overflow:hidden}.telop[data-moving] .telop__track{padding-inline:0 var(--telop-gap);animation:telop-run var(--telop-duration) linear infinite;animation-play-state:paused}.telop[data-running] .telop__track{animation-play-state:running}.telop[data-running]:hover .telop__track,.telop[data-running]:focus-within .telop__track{animation-play-state:paused}.telop__controls{justify-content:flex-end;margin-top:.75rem;display:flex}@keyframes telop-run{to{transform:translate(-33.3333%)}}.band-slides{position:absolute;inset:0;overflow:hidden}.band-slides__slide{position:absolute;inset:0;transform:translate(100%)}.band-slides__slide[data-state=current]{transform:none}.band-slides__slide[data-state=leaving]{transform:translate(-100%)}.band-slides[data-running] .band-slides__slide:is([data-state=current],[data-state=leaving]){transition:transform 1.7s var(--ease-in-out-soft)}.band-slides[data-running] .band-slides__slide:is([data-state=current],[data-state=leaving]) .band-slides__img{animation:gallery-drift calc(var(--slide-interval) + 1.7s) linear both}html[data-viewer]{overflow:hidden}html[data-viewer] body{padding-inline-end:var(--viewer-scrollbar,0px)}.viewer{--viewer-bg:var(--sand);--viewer-fg:var(--ink);--bg:var(--viewer-bg);--fg:var(--viewer-fg);--fg-muted:color-mix(in oklch, var(--viewer-fg) 74%, var(--viewer-bg));--focus:var(--viewer-fg);overscroll-behavior:contain;width:100vw;max-width:none;height:100dvh;max-height:none;color:var(--viewer-fg);background:0 0;border:0;margin:0;padding:0;position:fixed;inset:0;overflow:hidden}html[data-theme=dark] .viewer{--viewer-bg:var(--paper)}.viewer::backdrop{background:0 0}.viewer__veil{background:var(--viewer-bg);opacity:calc(1 - var(--dismiss,0) * .75);position:absolute;inset:0}.viewer__chrome{opacity:calc(1 - var(--dismiss,0))}html:not([data-motion=off]):not([data-motion-paused]) .viewer:not([data-dragging]) :is(.viewer__veil,.viewer__chrome){transition:opacity .3s var(--ease)}.viewer__layout{height:100%;padding:max(.75rem, env(safe-area-inset-top)) max(var(--gutter), env(safe-area-inset-right)) max(.75rem, env(safe-area-inset-bottom)) max(var(--gutter), env(safe-area-inset-left));grid-template-rows:auto minmax(0,1fr) auto;display:grid;position:relative}.viewer__bar{justify-content:space-between;align-items:center;gap:1rem;min-height:3rem;display:flex}.viewer__count{color:var(--fg-muted);letter-spacing:.04em}.viewer__btn{border:1.5px solid color-mix(in oklch, var(--viewer-fg) 46%, transparent);border-radius:var(--radius);background:color-mix(in oklch, var(--viewer-bg) 70%, transparent);width:3rem;height:3rem;color:var(--viewer-fg);transition:background-color var(--dur-ui) var(--ease), color var(--dur-ui) var(--ease), scale var(--dur-micro) var(--ease);place-items:center;display:grid}@media (hover:hover){.viewer__btn:hover{background:var(--viewer-fg);color:var(--viewer-bg)}}.viewer__btn:active{scale:.95}.viewer__btn:focus-visible,.viewer__thumb:focus-visible{outline:3px solid var(--viewer-fg);outline-offset:2px}.viewer__stage{touch-action:pinch-zoom;-webkit-user-select:none;user-select:none;place-items:center;min-height:0;padding-block:.75rem;display:grid;position:relative;container-type:size}.viewer__frame{width:min(100cqw, 100cqh * var(--ratio), var(--natural-w));aspect-ratio:var(--ratio);cursor:grab;margin:0;position:relative}@media (min-width:48rem){.viewer__stage{padding-inline:4.25rem}}.viewer[data-dragging] .viewer__frame{cursor:grabbing}html:not([data-theme=dark]) .viewer__frame{box-shadow:var(--shadow-float)}html:not([data-motion=off]):not([data-motion-paused]) .viewer:not([data-dragging]) .viewer__frame{transition:transform .32s var(--ease), opacity .32s var(--ease)}.viewer__img{object-fit:contain;-webkit-user-drag:none}.viewer__nav{z-index:2;position:absolute;top:50%;translate:0 -50%}.viewer__nav--prev{inset-inline-start:0}.viewer__nav--next{inset-inline-end:0}.viewer__foot{gap:.75rem;padding-top:.25rem;display:grid}.viewer__caption{max-width:48rem;min-height:3rem}.viewer__credit{color:var(--fg-muted);margin-top:.2rem}.viewer__thumbs{overscroll-behavior-x:contain;scrollbar-width:none;gap:.4rem;margin-inline:-.25rem;padding:.25rem .25rem .35rem;display:flex;overflow-x:auto}.viewer__thumbs::-webkit-scrollbar{display:none}.viewer__thumb{background:color-mix(in oklch, var(--viewer-fg) 12%, transparent);opacity:.5;cursor:pointer;width:4.25rem;height:2.875rem;transition:opacity var(--dur-ui) var(--ease);border:0;flex:none;padding:0;position:relative;overflow:hidden}.viewer__thumb:hover,.viewer__thumb.is-current{opacity:1}.viewer__thumb.is-current:after{content:"";border:2px solid var(--viewer-fg);position:absolute;inset:0}.viewer__preload{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}@media (max-width:47.99rem){.viewer__stage{padding-bottom:4rem}.viewer__nav{top:auto;bottom:.25rem;translate:none}}html:not([data-motion=off]):not([data-motion-paused]) .viewer[open] .viewer__veil{animation:viewer-veil-in .38s var(--ease) backwards}html:not([data-motion=off]):not([data-motion-paused]) .viewer[open] .viewer__chrome{animation:viewer-chrome-in .42s var(--ease) .16s backwards}html:not([data-motion=off]):not([data-motion-paused]) .viewer[data-closing] :is(.viewer__veil,.viewer__chrome){animation:viewer-out .4s var(--ease-in-out-soft) forwards}html:not([data-motion=off]):not([data-motion-paused]) .viewer__frame[data-direction=next]{animation:viewer-in-next .44s var(--ease) both}html:not([data-motion=off]):not([data-motion-paused]) .viewer__frame[data-direction=prev]{animation:viewer-in-prev .44s var(--ease) both}@keyframes viewer-veil-in{0%{opacity:0}}@keyframes viewer-chrome-in{0%{opacity:0;translate:0 .4rem}}@keyframes viewer-out{to{opacity:0}}@keyframes viewer-in-next{0%{opacity:0;transform:translate(7%)}}@keyframes viewer-in-prev{0%{opacity:0;transform:translate(-7%)}}@keyframes gallery-drift{0%{transform:scale(1)}to{transform:scale(1.07)}}@keyframes gallery-progress{to{transform:scaleX(1)}}@keyframes gallery-rail{to{transform:scaleY(1)}}@keyframes gallery-caption-in{0%{opacity:0;transform:translateY(.5rem)}}@keyframes gallery-tile-in{0%{opacity:0;transform:translateY(1rem)scale(.985)}}@keyframes gallery-in-view{0%{transform:translateY(-4%)scale(1.1)}to{transform:translateY(4%)scale(1.1)}}}@layer utilities;@supports (animation-timeline:view()){@layer components{html:not([data-motion=off]):not([data-motion-paused]) .gallery-drift-in-view{animation:linear both gallery-in-view;animation-timeline:view();animation-range:cover}@media (min-width:64rem){html:not([data-motion=off]):not([data-motion-paused]) .story__steps:before{animation:linear both gallery-rail;animation-timeline:--story;animation-range:entry 40% exit 60%}html:not([data-motion=off]):not([data-motion-paused]) .story__img{animation:linear both gallery-drift;animation-timeline:--story;animation-range:entry exit}}}}@media (prefers-reduced-motion:reduce){.telop__track,.viewer__veil,.viewer__chrome,.viewer__frame,.mosaic__item,.gallery-drift-in-view,.slideshow__img,.slideshow__caption,.band-slides__img,.story__img,.story__steps:before,.slideshow__timer{animation:none!important}.slideshow__slide,.story__layer,.band-slides__slide,.viewer__veil,.viewer__chrome,.viewer__frame{transition:none!important}}
