.content-page{z-index:1;min-height:100svh;padding:clamp(1.5rem, 4vw, 2.5rem) var(--grid-margin) clamp(5rem, 10vw, 8rem);color:var(--color-text);background:0 0;position:relative}#caustics-bg{z-index:0;pointer-events:none;will-change:transform;width:100%;height:100vh;margin-bottom:-100vh;position:sticky;top:0;left:0;overflow:hidden}#caustics-bg canvas{width:100%;height:100%;display:block}.content-topbar{--content-topbar-h:3.5rem;z-index:3;min-height:var(--content-topbar-h);background:var(--color-bg);box-shadow:0 0 0 100vmax var(--color-bg);clip-path:inset(0 -100vmax);grid-column:1/-1;justify-content:space-between;align-items:center;margin-top:calc(-1*clamp(1.5rem,4vw,2.5rem));margin-bottom:clamp(2.5rem,6vw,4rem);display:flex;position:sticky;top:0}.content-topbar .content-back{margin:0 auto 0 0}.content-topbar .content-contact{color:var(--color-text);background-image:linear-gradient(var(--color-text), var(--color-text));transition:background-size var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out);background-position:0 100%;background-repeat:no-repeat;background-size:100% 0;margin-right:1.5rem;padding:.2rem .4rem;font-size:.875rem;text-decoration:none}.content-topbar .content-contact:hover,.content-topbar .content-contact:focus-visible{color:var(--color-bg);background-size:100% 100%;outline:none}.content-topbar .lang-toggle{cursor:pointer;color:var(--color-text);font-family:var(--font-display);letter-spacing:.04em;background:0 0;border:none;align-items:center;gap:.4rem;padding:0;font-size:.875rem;display:inline-flex}.content-topbar .lang-opt.active{text-underline-offset:.25em;text-decoration:underline}.content-article{grid-template-columns:repeat(var(--cols), minmax(0, 1fr));column-gap:var(--grid-gap);font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;width:100%;margin:0;display:grid}.content-article>*{grid-column:1/9;min-width:0}.content-article.has-media{grid-auto-flow:dense;align-items:start}.content-article.has-media>*{grid-column:8/13}.content-article.has-media>.content-topbar{grid-column:1/-1}.content-article.has-media>.content-media-stack{top:calc(3.5rem + var(--rhythm-2));max-height:calc(100vh - 3.5rem - var(--rhythm-4));max-height:calc(100svh - 3.5rem - var(--rhythm-4));overscroll-behavior:contain;scrollbar-width:none;grid-area:2/1/span 30/7;margin:0;position:sticky;overflow-y:auto}.content-article.has-media>.content-media-stack::-webkit-scrollbar{display:none}.content-page:has(>.content-article.has-media){padding-bottom:0}.content-article.has-media:after{content:"";grid-column:8/13;height:clamp(5rem,10vw,8rem)}@media (width<=1024px){.content-article>*,.content-article.has-media>*,.content-article.has-media:after{grid-column:1/-1}.content-article.has-media>.content-media-stack{max-height:none;margin:0 0 var(--rhythm-4);grid-row:auto;position:static;overflow:visible}}.content-back{letter-spacing:0;margin:0 0 clamp(2.5rem,6vw,4rem);font-size:.875rem}.content-header{margin-bottom:var(--rhythm-4);flex-direction:column;align-items:flex-start;gap:0;padding-bottom:0;display:flex}.content-tags,.content-date,.content-tools,.content-venue{font-size:.875rem;font-weight:400;line-height:var(--lh-ui);letter-spacing:0;margin:0}.content-tags{margin-bottom:.25rem}.content-date{margin-bottom:var(--rhythm-2);font-variant-numeric:tabular-nums}.content-title{margin:0 0 var(--rhythm-2) 0;font-variation-settings:"wght" 400;max-width:22em;font-size:clamp(2rem,3.5vw,3rem);font-weight:400;line-height:var(--lh-head);letter-spacing:-.015em;order:-1}.content-tools,.content-venue{margin-bottom:var(--rhythm-2)}.content-meta{margin:0 0 var(--rhythm-2);font-size:.875rem;line-height:var(--lh-ui);letter-spacing:0;flex-direction:column;align-items:flex-start;gap:.25rem;padding:0;list-style:none;display:flex}.content-meta a{color:inherit}.content-lead{margin:var(--rhythm) 0 0;font-size:var(--fs-lead);line-height:var(--lh-body);letter-spacing:.01em;font-family:var(--font-body-ja);font-variation-settings:"wght" 400;max-width:var(--measure-lead);font-weight:400}.content-gallery{gap:var(--rhythm-2);margin:0 0 var(--rhythm-4);flex-direction:column;display:flex}.content-media{margin:0}.content-media img{width:auto;max-width:100%;height:auto;max-height:calc(100vh - 3.5rem - var(--rhythm-4));max-height:calc(100svh - 3.5rem - var(--rhythm-4));display:block}.content-video{margin:0 0 var(--rhythm-2);aspect-ratio:16/9;background:#ffffff08;position:relative;overflow:hidden}.content-video.is-portrait{aspect-ratio:9/16;width:min(100%,22rem)}.content-video iframe{border:0;width:100%;height:100%;display:block}.content-media-stack{margin:0 0 var(--rhythm-4)}.content-media-stack .content-video{margin-bottom:var(--rhythm-2)}.content-media-stack .content-gallery{margin-bottom:0}.content-section{margin-top:var(--rhythm-4)}.content-section-title{margin:0 0 var(--rhythm-2);font-size:var(--fs-l);font-weight:500;line-height:var(--lh-head);letter-spacing:-.01em;text-transform:none}.content-body{max-width:var(--measure-prose);font-size:var(--fs-m);line-height:var(--lh-body);letter-spacing:.01em;font-family:var(--font-body-ja);font-variation-settings:"wght" 400;font-weight:400}.content-body>:first-child{margin-top:0}.content-body>:last-child{margin-bottom:0}.content-body p,.content-body ul,.content-body ol,.content-body blockquote{margin:0 0 var(--para-gap)}.content-body h2,.content-body h3,.content-body h4{font-weight:500;line-height:var(--lh-head);letter-spacing:.01em;margin:3em 0 1em}.content-body h2{font-size:1.0625em}.content-body h3,.content-body h4{margin-top:2.25em;font-size:1em}.content-body li+li{margin-top:.5em}.content-body hr{border:0;border-top:1px solid var(--color-text);margin:3em 0}.content-body blockquote{border-left:1px solid var(--color-text);padding-left:1.25em}.content-body img{margin:2em 0}.content-body a{overflow-wrap:anywhere}.content-link-list{align-items:baseline;gap:var(--rhythm) var(--gutter-editorial);letter-spacing:.03em;font-size:.875rem;line-height:var(--lh-ui);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.content-link-list-header{margin:0 0 var(--rhythm-2)}.content-link-list a{text-underline-offset:2px;text-decoration:underline 1px}.content-landing{margin-top:var(--rhythm-4)}.content-landing-inline{margin-top:0;margin-bottom:var(--rhythm-2)}.content-landing-link{font-size:var(--fs-lead);letter-spacing:.01em;line-height:var(--lh-ui)}@media (width<=768px){.content-page{padding-top:1.5rem}.content-title{font-size:clamp(1.75rem,8vw,2.25rem)}.content-lead,.content-body{max-width:none}.content-lead{font-size:1.0625rem;line-height:var(--lh-body)}.content-body{font-size:1rem;line-height:var(--lh-body)}}
