/* A cutting desk beyond the two realities. */
.header-links>a{position:relative;white-space:nowrap;display:inline-block;min-width:5.2em;text-align:center}
.header-links>a:hover,.header-links>a:focus-visible,.standalone-nav .site-nav a:hover{font-family:Italianno,cursive;font-style:italic;font-size:1.35em;letter-spacing:0;text-transform:capitalize}
.header-links>a{height:30px;align-content:center}.header-links{gap:12px!important}.header-links #cursor-toggle{position:fixed;bottom:22px;left:24px;z-index:30;background:var(--bg,#f7f8f4)}
.playground{background-color:#31564d!important;background-image:linear-gradient(#d2db9c18 1px,transparent 1px),linear-gradient(90deg,#d2db9c18 1px,transparent 1px),linear-gradient(#d2db9c30 1px,transparent 1px),linear-gradient(90deg,#d2db9c30 1px,transparent 1px)!important;background-size:24px 24px,24px 24px,120px 120px,120px 120px!important;color:#fff7db!important;isolation:isolate;overflow:hidden;padding-bottom:40px!important}
.playground:before{content:'✂';position:absolute;right:10%;top:310px;font-size:120px;color:#f5cc72;transform:rotate(-25deg);opacity:.7;pointer-events:none}.playground:after{content:'✶';position:absolute;left:3%;bottom:40px;font-size:140px;color:#ed8c65;pointer-events:none}
.playground-heading h2{font-size:clamp(56px,8vw,120px)!important;letter-spacing:-.065em;max-width:800px;line-height:.95}.playground-heading .period{display:inline-block;color:#f8bf58;animation:desk-star 8s ease-in-out infinite}.playground-heading>p{color:#f2e5bf!important}.play-sticker{background:#e6bc58!important;color:#233e36!important;transform:rotate(12deg)!important;border-radius:48% 52% 40% 55%!important}.play-pals{opacity:.8}.play-doodle{color:#e6b2a5!important}
.playground-filters button,.play-tools button{background:#efe7cf!important;color:#214c43!important;border:0!important;border-radius:0!important;padding:9px 14px;transform:rotate(-2deg)}.playground-filters button[aria-pressed=true]{background:#edac91!important}.play-tools{display:flex;align-items:center;justify-content:space-between;margin:30px 0 0;font:11px 'IBM Plex Mono',monospace;gap:15px}.play-tools button{cursor:pointer;transform:rotate(3deg)}
#playground-projects{position:relative!important;display:block!important;margin-top:30px;min-height:400px}
#playground-projects .project{position:absolute!important;left:var(--px)!important;top:var(--py)!important;width:var(--pw)!important;margin:0!important;padding:16px 13px 22px!important;background:var(--paper)!important;color:#213b36!important;box-shadow:3px 12px 18px #071f3655!important;transform:rotate(var(--tilt))!important;transition:transform .3s,box-shadow .3s;touch-action:pan-y;user-select:none;isolation:isolate;border:0!important;overflow:visible!important}
#playground-projects .project:before{content:'';position:absolute;width:70px;height:23px;top:-11px;left:37%;background:#dce2c9a8;transform:rotate(-8deg);box-shadow:0 1px 1px #233b3422;z-index:3}
#playground-projects .project[data-cut="1"]{border-radius:45% 45% 8px 8px}#playground-projects .project[data-cut="2"]{clip-path:polygon(2% 0,97% 2%,100% 24%,98% 52%,100% 98%,69% 100%,32% 98%,0 100%,2% 68%,0 30%)}
#playground-projects .project[data-cut="3"] .project-image{border-radius:50% 50% 45% 45%}
#playground-projects .project-image{height:auto!important;aspect-ratio:1/.95!important;width:100%!important;transform:none!important}#playground-projects .project-image img{width:100%;height:100%;object-fit:cover}#playground-projects .project:nth-child(3n) .project-image{aspect-ratio:1/.75!important}
#playground-projects .project-meta{background:none!important;padding:14px 0 0!important}#playground-projects h3{font-size:clamp(15px,1.6vw,22px)!important;line-height:1.12}#playground-projects .project-meta p{color:#3b6359!important;font-size:10px}#playground-projects .project:hover,#playground-projects .project:focus-visible{transform:rotate(0deg) scale(1.04)!important;z-index:6;box-shadow:5px 18px 25px #071f3677!important}#playground-projects .dragging{z-index:10;cursor:grabbing;transition:none!important}#playground-projects .project[hidden]{display:none!important}
.talking{padding:110px 4vw;background:#eeeae1;color:#222b29;scroll-margin-top:96px}.talking>h2{font-size:clamp(72px,12vw,180px);line-height:1;letter-spacing:-.075em;margin:32px 0}.talking>h2 span{font-family:Italianno,cursive;font-weight:400;letter-spacing:-.02em;color:#315fbc}.talk-intro{font-size:clamp(18px,2.5vw,30px);max-width:650px}#talk-filters{display:flex;flex-wrap:wrap;gap:8px;margin:35px 0}#talk-filters button{font:11px 'IBM Plex Mono',monospace;border:1px solid #88928a;background:transparent;padding:10px 15px;cursor:pointer}#talk-filters button[aria-pressed=true]{background:#283f37;color:#fff}
#talking-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:50px 28px}.talk-card{min-width:0;border-top:1px solid #9da39b;padding-top:15px}.talk-card[hidden]{display:none}.talk-image{position:relative;display:block;overflow:hidden;aspect-ratio:1.5;background:#d4d9d0}.talk-image img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;transition:transform .5s}.talk-image:hover img{transform:scale(1.04)}.talk-image span{position:absolute;bottom:9px;right:9px;padding:6px 9px;background:#f6f3e9;color:#263a35;font:10px 'IBM Plex Mono',monospace}.talk-meta,.talk-publisher{font:11px 'IBM Plex Mono',monospace!important;line-height:1.6!important}.talk-meta{color:#315fbc!important;margin-top:18px}.talk-card h3{font-size:clamp(22px,2.2vw,32px);line-height:1.08;letter-spacing:-.03em;margin:15px 0}.talk-card a{color:inherit}.talk-card>p{font-size:15px;line-height:1.7}.talk-projects{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.talk-projects a{font:10px 'IBM Plex Mono',monospace;border-bottom:1px solid #7f9085;padding-bottom:4px}.talk-projects a:hover{color:#315fbc}.project-mentions{padding:35px 0;grid-column:1/-1}.project-mentions>h2{font-size:clamp(32px,4vw,64px);margin:20px 0}.related-talk{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 22px}.project-mentions .talk-image{max-height:260px}.project-mentions .talk-card h3{font-size:24px}.project-mentions:empty{display:none}
.site-nav{display:flex;gap:14px;flex-wrap:wrap;justify-content:flex-end;font:10px 'IBM Plex Mono',monospace}.site-nav a{min-width:60px;height:22px;text-align:center}.standalone-nav{gap:8px}.standalone-nav>.reality-links{justify-content:flex-end}.standalone-nav .header-contact{display:none}#playground{scroll-margin-top:96px}
@keyframes desk-star{0%,100%{transform:rotate(-15deg)}50%{transform:rotate(20deg)}}
@media(min-width:1000px){#talking-items .talk-card:nth-child(5n+1){grid-column:span 2}#talking-items .talk-card:nth-child(5n+1) .talk-image{aspect-ratio:2.1}}
@media(max-width:900px){.header-links{gap:6px!important;font-size:9px!important}#change{font-size:10px!important}.site-nav{gap:5px}.case-back{font-size:9px}#talking-items{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){header{height:114px!important;min-height:114px;flex-wrap:wrap!important;align-content:center;gap:5px!important}header .wordmark{margin-right:auto}.header-links{width:100%;justify-content:space-between!important;gap:3px!important}.header-links>a{min-width:0;height:25px}.header-links #reopen-universe{font-size:9px}.case-main{height:calc(100svh - 114px)!important}.standalone-nav{width:100%;flex-direction:row;justify-content:space-between}.site-nav{gap:8px}.site-nav a{min-width:0}.standalone-nav>.reality-links{font-size:8px}.talking{padding:70px 5vw;scroll-margin-top:114px}#talking-items{grid-template-columns:1fr}.play-tools{font-size:9px}.play-tools>span:last-child{display:none}.playground-heading h2{font-size:62px!important}.playground:before{font-size:60px}.related-talk{grid-template-columns:1fr}#playground{scroll-margin-top:114px}}
@media(prefers-reduced-motion:reduce){.playground-heading .period{animation:none}}

body:not([data-view])>header{position:sticky;top:0;z-index:35}html[data-world="beyond"][data-boot="reality"] body{background:#10151b}html[data-world="built"][data-boot="reality"] body{background:#f8f9f5}
body:not([data-view])>header{background:var(--bg)}
@media(min-width:1000px){.header-links{font-size:10px}}

/* An overlay keeps navigation metrics stable when lettering changes. */
.header-links>a:hover,.header-links>a:focus-visible,.standalone-nav .site-nav a:hover{font-family:inherit;font-style:normal;font-size:inherit;letter-spacing:inherit;text-transform:inherit}
[data-nav-label]{position:relative}
[data-nav-label]:is(:hover,:focus-visible){color:transparent!important}
[data-nav-label]:is(:hover,:focus-visible):after{content:attr(data-nav-label);position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:24px Italianno,cursive;font-style:italic;text-transform:capitalize;letter-spacing:0;color:var(--fg);white-space:nowrap;pointer-events:none}
@media(max-width:1000px){header #change{flex-shrink:0}header .wordmark{margin-right:auto}.header-links{flex-shrink:0}}
@media(max-width:650px){header #change{margin:0!important}header .header-links #reopen-universe{display:block!important;font-size:8px!important;padding:0;border:0;background:none}.header-links>a{font-size:8px}.header-links{flex-basis:100%;height:28px}.standalone-nav .site-nav{font-size:9px}.standalone-nav{align-items:center}.standalone-nav>.reality-links{gap:5px}}
/* Compact object collection: the work carries the color, the page gives it air. */
#playground.playground{padding:55px 4vw 35px!important;background-color:var(--bg)!important;background-image:linear-gradient(90deg,transparent calc(25% - 1px),#89978c12 25%,transparent calc(25% + 1px)),linear-gradient(#89978c0c 1px,transparent 1px)!important;background-size:25% 100%,100% 235px!important;color:var(--fg)!important}
#playground .play-sticker,#playground .play-pals,#playground .play-doodle,#playground:before,#playground:after{display:none!important}
#playground .playground-heading{align-items:end;gap:20px}#playground .playground-heading h2{font-size:clamp(42px,5.4vw,78px)!important;line-height:1;margin:16px 0 0;letter-spacing:-.06em}#playground .playground-heading>p{color:var(--muted)!important;font:11px/1.6 var(--mono);margin:0}#playground .playground-heading .period{font-size:.5em;vertical-align:middle;color:#6a89be}
#playground .playground-filters{margin:22px 0 0;gap:14px}#playground .playground-filters button{padding:5px 0!important;transform:none!important;background:none!important;color:var(--muted)!important;font:10px var(--mono);border-bottom:1px solid transparent!important}#playground .playground-filters button[aria-pressed=true]{color:var(--fg)!important;border-bottom-color:var(--fg)!important}
#playground .play-tools{margin:16px 0 0;font-size:9px;color:var(--muted)}#playground .play-tools button{background:none!important;color:var(--fg)!important;transform:none;padding:5px 0;font:9px var(--mono)}#playground .play-tools>span:first-child{display:none}#playground-projects{margin-top:10px!important;min-height:0!important}
#playground-projects .project{background:transparent!important;box-shadow:none!important;padding:0!important;border-radius:0!important;clip-path:none!important;transition:transform .3s;overflow:visible!important}
#playground-projects .project:before{content:attr(data-object-number)!important;position:absolute!important;background:none!important;box-shadow:none!important;top:8px!important;left:auto!important;right:-23px!important;width:auto!important;height:auto!important;transform:none!important;font:11px var(--mono);color:var(--fg)}
#playground-projects .project .project-image{height:155px!important;aspect-ratio:auto!important;border-radius:0!important;background:none!important;overflow:visible!important}#playground-projects .project .project-image img{height:100%!important;width:100%!important;object-fit:contain!important;mix-blend-mode:multiply;filter:drop-shadow(3px 8px 5px #142b3419);transition:transform .3s}
html[data-world=beyond] #playground-projects .project .project-image img{mix-blend-mode:normal}
#playground-projects .project .project-meta{padding:10px 0 0!important;color:var(--fg)!important;gap:8px}#playground-projects .project h3{font:11px/1.35 var(--mono)!important;letter-spacing:0;max-width:200px}#playground-projects .project .project-date{font-size:8px;color:var(--muted);display:inline}#playground-projects .project-meta p{display:none}#playground-projects .project-meta>span{font-size:14px}#playground-projects .project:hover,#playground-projects .project:focus-visible{box-shadow:none!important;transform:rotate(0) translateY(-5px) scale(1.03)!important}#playground-projects .project:hover img{transform:rotate(3deg)}
/* The homepage is an index of coverage; complete excerpts live in the readers. */
#talking{padding:45px 4vw 55px;background:var(--bg);color:var(--fg);border-top:1px solid var(--line)}#talking>h2{font-size:clamp(40px,5vw,68px);margin:20px 0 10px;letter-spacing:-.055em}#talking .talk-intro{font:12px/1.6 var(--mono);color:var(--muted);margin:10px 0 20px}#talk-filters{margin:20px 0 22px;gap:15px}#talk-filters button{padding:5px 0;border:0;border-bottom:1px solid transparent;font-size:9px;color:var(--muted)}#talk-filters button[aria-pressed=true]{background:none;color:var(--fg);border-bottom-color:var(--fg)}
#talking-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:6vw;row-gap:0}#talking-items .talk-card:nth-child(n){grid-column:auto;display:grid;grid-template-columns:90px minmax(0,1fr);grid-template-rows:auto auto;gap:5px 18px;padding:16px 0;border-top:1px solid var(--line);align-content:center;min-height:105px}#talking-items .talk-card[hidden]{display:none!important}#talking-items .talk-image{grid-row:1/3;aspect-ratio:1.4;align-self:center}#talking-items .talk-image span{display:none}#talking-items .talk-card h3{grid-column:2;grid-row:1;font:500 14px/1.35 var(--mono);letter-spacing:-.02em;margin:0}#talking-items .talk-meta{grid-column:2;grid-row:2;font:9px/1.4 var(--mono)!important;margin:0;color:var(--muted)!important}#talking-items .talk-card>p:not(.talk-meta),#talking-items .talk-projects{display:none}#talking-items .talk-card h3 a:hover{color:#6580bd}
.contact-identity{display:block;width:min(310px,100%);margin-top:55px;font-size:clamp(35px,3.2vw,52px);color:var(--fg);padding:12px 0}.contact-identity .identity-name{justify-content:flex-start}.contact-identity .identity-surname{font-size:.13em;margin-top:1.8em;letter-spacing:.7em}.contact-identity:hover{color:#6580bd}
@media(max-width:650px){#playground.playground{padding:38px 18px 22px!important}#playground .playground-heading{display:block}#playground .playground-heading h2{font-size:48px!important}#playground .playground-heading>p{font-size:9px;margin-top:12px}#playground-projects .project .project-image{height:130px!important}#playground-projects .project h3{font-size:10px!important}#playground-projects .project:before{right:-12px!important;font-size:9px}#playground .play-tools>span:last-child{display:block;font-size:8px}#talking{padding:35px 18px}#talking-items{grid-template-columns:1fr}#talking-items .talk-card:nth-child(n){grid-template-columns:70px minmax(0,1fr);min-height:92px;gap:5px 13px;padding:13px 0}#talking-items .talk-card h3{font-size:12px}#talking .eyebrow{font-size:8px;line-height:1.6}#talk-filters{gap:10px}#talk-filters button{font-size:8px}.contact-identity{font-size:44px;width:280px;margin:32px 0 15px}}
/* The identity star marks each change of world or constellation. */
#change .switch-dot{display:block;flex-shrink:0;width:15px;height:15px;border:0;border-radius:0;background:none}#change .switch-dot svg,.constellation-star svg,.frame-star svg{display:block;width:100%;height:100%}
.hero .hero-reshuffle{display:flex;align-items:center;justify-content:center;gap:10px;overflow:visible;border:1px solid var(--line)}.constellation-star{display:block;width:13px;height:13px;flex-shrink:0;color:var(--accent)}
.button-orbit{position:absolute;inset:-5px;border:1px solid currentColor;pointer-events:none;color:var(--accent);opacity:.7}.frame-star{position:absolute;left:0;top:0;width:6px;height:6px;transform:translate(-50%,-50%);animation:frame-orbit 16s linear infinite}.frame-star svg{animation:frame-star-turn 11s linear infinite}#change .button-orbit{color:var(--fg);opacity:.55}#change .frame-star{animation-duration:19s;animation-delay:-6s}.hero-reshuffle:hover .constellation-star svg{transform:rotate(30deg);transition:transform .3s}
@keyframes frame-orbit{0%,100%{left:0;top:0}36%{left:100%;top:0}50%{left:100%;top:100%}86%{left:0;top:100%}}
@keyframes frame-star-turn{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.frame-star,.frame-star svg{animation:none!important}}
/* Center the reality switch on the viewport, independent of navigation width. */
header #change{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin:0}
@media(max-width:1000px) and (min-width:651px){body:not([data-view])>header{height:114px;flex-wrap:wrap;align-content:center;gap:5px}body:not([data-view])>header .header-links{flex-basis:100%;justify-content:flex-end}header #change{top:30px}}
@media(max-width:650px){header #change{top:30px}}
