*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--fg);font-family:var(--font-text);font-size:var(--text-sm);line-height:var(--leading-text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;text-align:inherit;background:0 0;border:0;padding:0}a,button{transition:color var(--dur-fast) ease}a:hover,button:hover{color:var(--link-hover)}ul,ol{margin:0;padding:0;list-style:none}[hidden]{display:none!important}::selection{background:var(--lagoon-400);color:var(--ink-900)}html{caret-color:var(--sunset);scrollbar-color:var(--fg-muted) transparent;scrollbar-width:thin}:focus-visible{outline:1.5px solid var(--focus);outline-offset:4px;border-radius:4px}.skip{z-index:100;border-radius:var(--radius-pill);background:var(--inverse-bg);color:var(--inverse-fg);padding:8px 14px;position:fixed;top:8px;left:8px;transform:translateY(-200%)}.skip:focus{transform:none}.display{font-family:var(--font-display);font-weight:var(--weight-display);line-height:var(--leading-display);letter-spacing:var(--tracking-display);font-kerning:normal;font-feature-settings:"kern", "liga";margin:0}.display em{font-style:italic;font-weight:500}.display .line-mask,.display .char-mask{margin:-.06em -.12em -.22em;padding:.06em .12em .22em}.display:has(>.line-mask){flex-direction:column;display:flex}.accent{font-family:var(--font-accent);color:var(--accent-text);font-style:italic;font-weight:500}.label,.muted{color:var(--fg-muted)}.link{text-decoration:underline;-webkit-text-decoration-color:var(--underline);text-decoration-color:var(--underline);text-underline-offset:3px;text-decoration-thickness:1px}.link:hover{text-decoration-color:currentColor}.icon{vertical-align:-.05em;stroke:currentColor;fill:none;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:.85em;height:.85em}.icon-link{align-items:center;gap:6px;display:inline-flex}.stage{grid-template-columns:var(--side) minmax(0, 1fr);background:var(--bg);color:var(--fg);display:grid;position:fixed;inset:0;overflow:hidden}.grain{pointer-events:none;z-index:5;opacity:var(--grain-opacity);mix-blend-mode:var(--grain-blend);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.5 0 0 0 0 0.45 0 0 0 0 0.4 0 0 0 0.18 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.bar{justify-content:space-between;align-items:center;gap:20px;font-weight:500;display:flex}.project:focus{outline:none}.bar__nav{align-items:center;gap:20px;display:inline-flex}@media (width>=768px) and (width<=1119px){.side .bar [data-link=cv]{display:none}}.logo{width:var(--logo-w);color:var(--fg);display:inline-flex}.logo svg{width:100%;height:auto;display:block}.logo .logo-palm{fill:var(--palm)}.logo:hover{color:var(--fg)}.side{z-index:2;gap:var(--space-6);height:100%;padding:var(--edge-top) var(--gutter);grid-template-rows:auto auto 1fr auto;display:grid;position:relative;overflow:hidden}.palm{z-index:0;pointer-events:none;bottom:-2vh;left:calc(var(--side) - 69vh);aspect-ratio:1.5;height:92vh;color:var(--lagoon-400);opacity:var(--palm-opacity);position:absolute}.palm canvas{opacity:0;width:100%;height:100%;transition:opacity 1.6s;display:block}.palm.is-ready canvas{opacity:1}.hero{padding-top:var(--space-4);position:relative}.hero__title{font-size:min(var(--display-hero), calc((var(--side) - var(--gutter) * 2) / 4.1));margin-left:calc(var(--text-lede) * .078 - .074em)}.hero__lede{max-width:34ch;font-size:var(--text-lede);letter-spacing:-.005em;text-wrap:pretty;margin:16px 0 0;line-height:1.42}.index{align-self:end;gap:2px;display:grid;position:relative}.index .label{margin-bottom:var(--space-2)}.roll{vertical-align:middle;height:1.5em;display:inline-block;overflow:visible clip}.roll__track{transition:transform .55s var(--ease-surf);display:block;position:relative}.roll__track>span{white-space:nowrap;line-height:1.5em;display:block}.roll__track>span+span{color:var(--link-hover);position:absolute;top:100%;right:0}.roll:hover .roll__track,.roll:focus-visible .roll__track{transform:translateY(-100%)}.roll:hover{color:inherit}.theme-icon{width:32px;height:32px;color:var(--fg);transition:color var(--dur-fast) ease, background-color var(--dur-fast) ease;border-radius:50%;place-items:center;margin:-6px -6px -6px 0;display:inline-grid}.theme-icon:hover{color:var(--link-hover);background:var(--rule)}.theme-icon svg{width:20px;height:20px;overflow:visible}.theme-icon__core{fill:currentColor;transform-box:fill-box;transform-origin:50%;transition:transform .7s var(--ease-surf);transform:scale(.55)}.theme-icon__bite{transform-box:view-box;transition:transform .7s var(--ease-surf);transform:translate(9px,-9px)}.theme-icon__rays{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;transform-box:view-box;transform-origin:12px 12px;transition:transform .7s var(--ease-surf), opacity .35s ease}.theme-icon:hover .theme-icon__rays{transform:rotate(22deg)}.theme-icon[aria-pressed=true] .theme-icon__core{transform:scale(1)}.theme-icon[aria-pressed=true] .theme-icon__bite{transform:none}.theme-icon[aria-pressed=true] .theme-icon__rays{opacity:0;transform:rotate(-90deg)scale(.4)}.theme-icon[aria-pressed=true]:hover .theme-icon__core{transform:scale(1)rotate(-12deg)}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}.index__list{display:grid}.index__item>*{border-top:1px solid var(--rule);width:100%;transition:color var(--dur-fast) ease, padding var(--dur-base) var(--ease-surf);justify-content:space-between;align-items:baseline;gap:16px;padding:6px 0;display:flex}.index__item:last-child>*{border-bottom:1px solid var(--rule)}.index__title{letter-spacing:-.01em;font-size:clamp(14px,1.9vh,17px);font-weight:500}.index__meta{color:var(--fg-muted);font-size:var(--text-xs)}.index__item button:hover,.index__item button:focus-visible,.index__item.is-active button{color:var(--link-hover);padding-left:10px}.foot{align-items:flex-end;gap:clamp(28px,6vw,90px);display:flex;position:relative}.foot__end{margin-left:auto}.work{overscroll-behavior:contain;scrollbar-width:none;height:100%;position:relative;overflow-y:auto}.work::-webkit-scrollbar{display:none}.flow-view{height:100%;-webkit-mask-image:linear-gradient(180deg, transparent, #000 var(--space-8), #000 calc(100% - var(--space-8)), transparent);-webkit-mask-image:linear-gradient(180deg, transparent, #000 var(--space-8), #000 calc(100% - var(--space-8)), transparent);mask-image:linear-gradient(180deg, transparent, #000 var(--space-8), #000 calc(100% - var(--space-8)), transparent);position:sticky;top:0;overflow:hidden}.flow{gap:var(--flow-gap);width:min(var(--flow-width), 100%);padding:14vh calc(var(--gutter) + 28px) 34vh var(--space-6);z-index:2;will-change:transform;justify-items:center;margin:0 auto;display:grid;position:relative}.flow .card{width:100%}.squish{pointer-events:none;z-index:1;width:100%;height:100%;position:absolute;inset:0}.has-squish .card__media{visibility:hidden}.has-squish .card__frame{background:0 0}.card__cap{z-index:2;transform-origin:50%;will-change:transform;position:relative}.card{gap:var(--space-3);display:grid;position:relative}.card__frame{aspect-ratio:4/3;border-radius:var(--radius-media);background:var(--bg-raised);isolation:isolate;cursor:none;position:relative;overflow:hidden}.card__hit{z-index:3;border-radius:inherit;width:100%;cursor:inherit;position:absolute;inset:0}.card__hit:focus-visible{outline-offset:-2px}.card__media{will-change:transform;position:absolute;inset:-10% 0}.card .media{filter:grayscale();transition:filter .6s ease, transform 1s var(--ease-surf);transform:scale(1.02)}.card.is-lit .media{filter:grayscale(0);transform:scale(1.07)}.card__cap{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.card__title{font-family:var(--font-display);font-weight:var(--weight-display);letter-spacing:-.03em;transition:color var(--dur-fast) ease;font-size:clamp(20px,1.7vw,28px);line-height:1}.card__meta{font-size:var(--text-xs);color:var(--fg-muted);white-space:nowrap}.card.is-lit .card__title{color:var(--link-hover)}.flow-foot{top:var(--space-12);bottom:var(--edge-top);right:var(--gutter);align-items:center;gap:var(--space-3);pointer-events:none;flex-direction:column;display:flex;position:absolute}.flow-foot__line{background:var(--rule);flex:1;width:1px;position:relative;overflow:hidden}.flow-foot__fill{background:var(--fg);transform-origin:50% 0;position:absolute;inset:0;transform:scaleY(0)}.flow-foot__hint{color:var(--fg-muted);font-size:var(--text-xs);writing-mode:vertical-rl;flex-direction:column;align-items:center;gap:4px;display:inline-flex}.flow-foot__hint .icon{writing-mode:horizontal-tb}.flow-spacer{width:1px}.media{background:var(--tint,var(--ink-900));position:absolute;inset:0;overflow:hidden}.media img,.media video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.media--placeholder{color:#f4f0eae6}.media:after{content:"";box-shadow:inset 0 0 0 1px var(--rule);pointer-events:none;border-radius:inherit;position:absolute;inset:0}.media--placeholder:before{content:"";background:radial-gradient(120% 90% at 85% 110%,#2fb5ad59,#0000 60%),radial-gradient(80% 60% at 0 0,#ffffff14,#0000 60%);position:absolute;inset:0}.media__word{font-family:var(--font-display);letter-spacing:-.03em;font-size:clamp(30px,3.4vw,56px);line-height:.95;position:absolute;bottom:8%;left:6%;right:6%}.media__tag{font-size:var(--text-xs);opacity:.7;position:absolute;top:8%;right:6%}.media__palm{aspect-ratio:328/504;color:#f4f0ea14;height:90%;position:absolute;bottom:-12%;right:-8%}.media__palm svg{width:100%;height:100%}.cursor{z-index:80;pointer-events:none;background:var(--inverse-bg);width:76px;height:76px;color:var(--inverse-fg);border-radius:50%;place-items:center;display:grid;position:fixed;top:0;left:0}.cursor__label{white-space:nowrap;font-size:12px;font-weight:500}@media (hover:none){.cursor{display:none}.card{cursor:pointer}}.project{z-index:40;background:var(--bg);color:var(--fg);overscroll-behavior:contain;padding:0 var(--gutter);--back:clamp(40px, 3.2vw, 52px);position:fixed;inset:0;overflow:hidden auto}.project.is-moving{will-change:transform}.project__fold{grid-template-rows:auto auto minmax(320px,1fr) auto auto;height:100dvh;min-height:560px;display:grid}.project__bar{padding:var(--edge-top) 0 clamp(14px, 2vh, 20px);border-bottom:1px solid var(--rule)}.project__head{justify-content:space-between;align-items:center;gap:var(--space-6);font-size:var(--display-project);padding:clamp(18px,3.4vh,40px) 0 clamp(16px,2.6vh,28px);display:flex}.project__head.is-long{font-size:var(--display-project-long)}.project__head.is-xlong{font-size:var(--display-project-xlong)}.project__heading{flex:0 auto;align-items:center;gap:clamp(14px,1.4vw,22px);min-width:0;display:flex}.project__heading .back{flex:none;margin-bottom:.08em}.project__title{text-wrap:balance;clip-path:inset(-50% -10vw 0);flex:0 auto;min-width:0;margin-bottom:-.2em;padding-bottom:.2em;font-size:1em}.project__title .char{will-change:transform}.project__count{font-size:var(--text-sm);color:var(--fg-muted);font-variant-numeric:tabular-nums;letter-spacing:.02em;white-space:nowrap;align-self:flex-start;margin-top:.45em}.project__facts{font-size:var(--text-md);flex:none;line-height:1.3;display:flex}.project__facts>div{border-left:1px solid var(--rule);flex-direction:column;gap:4px;padding:2px clamp(18px,2.4vw,40px);display:flex}.project__facts>div:first-child{border-left:0}.project__facts>div:last-child{padding-right:0}.project__fact{font-weight:500}.project__facts .label{font-size:var(--text-xs)}.project__gallery{touch-action:pan-y;min-height:0;position:relative;overflow:hidden}.project__gallery.is-looping{cursor:grab}.project__gallery.is-dragging{cursor:grabbing}.project__page{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:minmax(0,2.05fr) minmax(0,1fr);gap:10px;display:grid;position:absolute;inset:0}.is-looping .project__page{will-change:transform}.project__page.is-1{grid-template-rows:1fr;grid-template-columns:1fr}.project__page.is-2{grid-template-rows:1fr;grid-template-columns:1fr 1fr}.project__frame{border-radius:var(--radius-frame);margin:0;position:relative;overflow:hidden}.project__page.is-3 .is-hero{grid-row:span 2}.project__frame img{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.project__page.is-browser{grid-template-rows:1fr;grid-template-columns:1fr;place-items:center;display:grid;container-type:size}.is-strip .project__page.is-browser{place-items:center start;right:auto}.project__gallery.is-strip{--show:2.25;height:auto;aspect-ratio:calc(var(--win) * var(--show));align-self:center}.project__gallery.is-strip.is-phone{--show:4.6;aspect-ratio:auto;align-self:stretch;height:auto}.browser--phone{border-radius:var(--radius-frame)}.photo{width:min(100cqw, 100cqh * var(--win));aspect-ratio:var(--win);border-radius:var(--radius-frame);margin:0;position:relative;overflow:hidden}.photo .media{inset:0}.photo__sound{--back:40px;z-index:1;color:#f4f0ea;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#07191b73;position:absolute;bottom:12px;right:12px;box-shadow:inset 0 0 0 1px #f4f0ea47}.photo__sound svg{width:46%;height:46%}.photo__sound[aria-pressed=false] .photo__waves,.photo__sound[aria-pressed=true] .photo__mute{display:none}.photo img{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.browser{width:min(100cqw, 100cqh * var(--win));aspect-ratio:var(--win);border-radius:var(--radius-frame);box-shadow:0 0 0 1px var(--rule), 0 18px 50px -18px #07191b73;flex-direction:column;margin:0;display:flex;position:relative;overflow:hidden;container-type:inline-size}.browser img{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.browser__bar{height:calc(var(--bar) * 100cqw);letter-spacing:.01em;flex:none;justify-content:center;align-items:center;padding:0 2cqw;font-size:max(9px,1.05cqw);display:flex;position:relative}.browser__dots{gap:.55cqw;display:flex;position:absolute;top:50%;left:1.6cqw;translate:0 -50%}.browser__dots i{opacity:.32;background:currentColor;border-radius:50%;width:.8cqw;min-width:6px;height:.8cqw;min-height:6px}.browser__url{border-radius:var(--radius-pill);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:.5em;max-width:50%;height:62%;padding:0 1.2em;display:inline-flex;overflow:hidden}.browser__url svg{fill:none;stroke:currentColor;stroke-width:1.2px;opacity:.7;flex:none;width:1em;height:1em}.browser__screen{flex:1;min-height:0;position:relative}.browser__screen .media{inset:0}.browser__screen .media img,.browser__screen .media video{object-fit:cover;object-position:top}.browser--dark{color:#f4f0eab8;background:#2a2a2d}.browser--dark .browser__url{background:#ffffff12}.browser--light{color:#16292bb3;background:#ecebe8}.browser--light .browser__url{background:#16292b0f}.project__frame .media{will-change:transform, translate;inset:0 -12%}.project__frame .media__word{left:14.5%;right:14.5%}.project__frame .media__tag{right:14.5%}.project__frame:not(.is-hero) .media__word{display:none}.project__num{z-index:1;font-size:var(--text-xs);color:#f4f0ead9;font-variant-numeric:tabular-nums;position:absolute;top:14px;left:16px}.project__pager{align-items:center;gap:var(--space-4);grid-template-columns:1fr auto 1fr;padding-top:clamp(12px,1.8vh,18px);display:grid}.project__pager[hidden]{display:none}.project__pcount{font-size:var(--text-sm);color:var(--fg-muted);font-variant-numeric:tabular-nums;letter-spacing:.02em}.project__dots{align-items:center;gap:6px;display:flex}.project__dot{background:var(--rule);width:6px;height:6px;transition:width .6s var(--ease-surf), background-color .4s ease;border-radius:3px;position:relative}.project__dot:after{content:"";position:absolute;inset:-9px -4px}.project__dot:hover{background:var(--fg-muted)}.project__dot[aria-current=true]{background:var(--lagoon-400);width:26px}.project__arrows{justify-content:flex-end;gap:8px;display:flex}.round--sm{--back:34px}.round--sm[data-action=gallery-next]:hover svg{transform:translate(3px)}.round--sm[data-action=gallery-prev]:hover svg{transform:translate(-3px)}.project__foot{justify-content:space-between;align-items:center;gap:var(--space-6);border-top:1px solid var(--rule);margin-top:clamp(14px,2vh,22px);padding:clamp(14px,2vh,20px) 0 clamp(16px,2.4vh,24px);display:flex}.project__summary{text-wrap:pretty;max-width:60ch;margin:0;line-height:1.45}.project__next{text-align:right;flex:none;align-items:center;gap:12px;display:flex}.project__next .label{font-size:var(--text-xs);display:block}.project__next #p-next-title{font-weight:500}.project__next-thumb{border-radius:3px;width:72px;height:50px;position:relative;overflow:hidden}.project__next-thumb .media__word,.project__next-thumb .media__tag{display:none}.project__next:hover .project__next-thumb .media{transform:scale(1.08)}.project__next-thumb .media{transition:transform .6s var(--ease-surf)}.project__intro{align-items:center;gap:clamp(14px,1.6vw,24px);display:flex}.round--more{flex:none}.round--more:hover svg,.round--more:focus-visible svg{transform:rotate(90deg)}.writeup{z-index:45;position:fixed;inset:0}.writeup__backdrop{background:var(--backdrop);position:absolute;inset:0}.writeup__panel{--pad:clamp(20px, 4.5vw, 44px);overscroll-behavior:contain;background:var(--bg-raised);width:min(560px,100%);padding:0 var(--pad) calc(56px + env(safe-area-inset-bottom));touch-action:pan-y;grid-template-columns:minmax(0,1fr);align-content:start;gap:28px;display:grid;position:absolute;top:0;bottom:0;left:0;overflow-y:auto;container-type:inline-size}.writeup__panel:focus{outline:none}.writeup__bar{z-index:2;margin-inline:calc(var(--pad) * -1);padding:var(--edge-top) var(--pad) 12px;background:var(--bg-raised);justify-content:space-between;align-items:center;font-weight:500;display:flex;position:sticky;top:0}.writeup__bar:after{content:"";pointer-events:none;background:linear-gradient(var(--bg-raised), transparent);height:24px;position:absolute;top:100%;left:0;right:0}.writeup__title{text-wrap:balance;overflow-wrap:break-word;margin:0 0 4px;font-size:clamp(38px,13cqi,76px)}.writeup__section{border-top:1px solid var(--rule);gap:8px;padding:20px 0;display:grid}.writeup__heading{font-size:var(--text-sm);margin:0;font-weight:500}.writeup__body{font-size:var(--text-lg);text-wrap:pretty;line-height:1.55}.writeup__body p{margin:0}.writeup__body p+p{margin-top:.8em}.writeup__aside{border-top:1px solid var(--rule);justify-items:start;gap:10px;padding-top:20px;display:grid}.writeup__credits,.writeup__stack{margin:0}.round{width:var(--back,44px);height:var(--back,44px);box-shadow:inset 0 0 0 1px var(--rule);color:var(--fg);font-size:var(--text-sm);transition:background-color var(--dur-base) var(--ease-surf), color var(--dur-base) ease, box-shadow var(--dur-base) ease;border-radius:50%;place-items:center;display:grid}.round svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:40%;height:40%;transition:transform .5s var(--ease-surf)}.round:hover,.round:focus-visible{background:var(--inverse-bg);color:var(--inverse-fg);box-shadow:inset 0 0 0 1px var(--inverse-bg)}.back:hover svg{transform:translate(-3px)}.round--close{--back:40px;margin:-8px -8px -8px 0}.round--close:hover svg{transform:rotate(90deg)}.info{z-index:45;position:fixed;inset:0}.info__backdrop{background:var(--backdrop);position:absolute;inset:0}.info__panel{overscroll-behavior:contain;background:var(--bg-raised);width:min(520px,100%);padding:var(--edge-top) 28px 40px;touch-action:pan-y;align-content:start;gap:32px;display:grid;position:absolute;top:0;bottom:0;right:0;overflow-y:auto}.info__panel:focus{outline:none}.info__bar{justify-content:space-between;align-items:center;font-weight:500;display:flex}.info__title{font-size:var(--display-panel)}.info__bio{font-size:var(--text-lg);text-wrap:pretty;margin:0;line-height:1.6}.info__roles .label{margin-bottom:8px}.info__roles li{border-top:1px solid var(--rule);font-size:var(--text-md);justify-content:space-between;gap:16px;padding:12px 0;display:flex}.info__roles li span:last-child{white-space:nowrap;color:var(--fg-muted);font-variant-numeric:tabular-nums;flex:none}.info__links{font-size:var(--text-md);justify-items:start;gap:10px;display:grid}.toast{z-index:90;pointer-events:none;background:var(--inverse-bg);color:var(--inverse-fg);border-radius:14px;align-items:center;gap:12px;padding:12px 18px 12px 12px;display:none;position:fixed;top:0;left:0;box-shadow:0 10px 30px -12px #07191b73,0 2px 6px -2px #07191b40}.toast.is-on{display:flex}.toast:before{content:"";left:var(--notch-x,50%);background:inherit;border-radius:2px;width:10px;height:10px;margin-left:-5px;position:absolute;top:-5px;transform:rotate(45deg)}.toast.is-above:before{top:auto;bottom:-5px}.toast__tick{fill:none;width:28px;height:28px;stroke:var(--lagoon-300);stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none}.toast__text{gap:1px;display:grid}.toast__title{font-weight:600;font-size:var(--text-sm)}.toast__sub{font-size:var(--text-xs);opacity:.72;white-space:nowrap}.loader{z-index:60;background:var(--bg);color:var(--fg);place-items:center;display:grid;position:fixed;inset:0}.loader__name{left:var(--gutter);top:var(--edge-top);font-weight:500;position:absolute}.loader__palm{width:auto;height:46vh;overflow:visible}.loader__palm path{stroke:var(--fg)}.loader__palm .loader__fill{fill:#16a0a7;stroke:none}.loader__count{right:var(--gutter);font-size:var(--display-count);font-variant-numeric:tabular-nums;position:absolute;bottom:12px}.loader__count .pct{color:var(--palm)}@media (width>=768px) and (height<=760px){.side{gap:var(--space-4)}.hero{padding-top:var(--space-2)}.hero__title{font-size:min(12vh, calc((var(--side) - var(--gutter) * 2) / 4.1))}.hero__lede{margin-top:12px}.index__item>*{padding:4px 0}.index .label{margin-bottom:var(--space-1)}}@media (width<=767px){html,body{height:auto;overflow:auto}.stage{display:block;position:relative;inset:auto;overflow:visible}.grain{position:fixed}.side{gap:var(--space-6);height:auto;min-height:0;padding-bottom:var(--space-8);grid-template-rows:auto auto}.stage{overflow-x:clip}.palm{height:64vh;inset:2vh -52vw auto auto}.hero__title{font-size:var(--display-hero)}.index,.side .foot{display:none}.work{height:auto;overflow:visible}.flow-view{height:auto;position:static;overflow:visible;-webkit-mask-image:none;mask-image:none}.flow{gap:var(--space-8);width:100%;padding:0 var(--gutter) var(--space-12)}.flow-foot,.flow-spacer,.squish{display:none}.has-squish .card__media{visibility:visible}.card__frame{cursor:pointer}.project__fold{height:auto;min-height:0;display:block}.project__head{align-items:flex-start;gap:var(--space-4);flex-direction:column}.project__facts>div:first-child{padding-left:0}.project__gallery{aspect-ratio:4/3}.project__gallery.is-browser{aspect-ratio:var(--win)}.project__gallery.is-strip{--show:1.12;aspect-ratio:calc(var(--win) * var(--show))}.project__gallery.is-strip.is-phone{--show:2.2;aspect-ratio:calc(var(--win) * var(--show))}.project__arrows{display:none}.project__pager{align-items:center;gap:var(--space-4);grid-template-columns:1fr auto 1fr;padding-top:clamp(12px,1.8vh,18px);display:grid}.project__pager[hidden]{display:none}.project__pcount{font-size:var(--text-sm);color:var(--fg-muted);font-variant-numeric:tabular-nums;letter-spacing:.02em}.project__dots{align-items:center;gap:6px;display:flex}.project__dot{background:var(--rule);width:6px;height:6px;transition:width .6s var(--ease-surf), background-color .4s ease;border-radius:3px;position:relative}.project__dot:after{content:"";position:absolute;inset:-9px -4px}.project__dot:hover{background:var(--fg-muted)}.project__dot[aria-current=true]{background:var(--lagoon-400);width:26px}.project__arrows{justify-content:flex-end;gap:8px;display:flex}.round--sm{--back:34px}.round--sm[data-action=gallery-next]:hover svg{transform:translate(3px)}.round--sm[data-action=gallery-prev]:hover svg{transform:translate(-3px)}.project__foot{flex-direction:column;align-items:stretch}.project__next{justify-content:space-between}}
