@font-face{font-family:"New Edge 666 Light Rounded";src:url(/fonts/NewEdge666-LightRounded.woff2)format("woff2"),url(/fonts/NewEdge666-LightRounded.woff)format("woff");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:"New Edge 666 Regular Rounded";src:url(/fonts/NewEdge666-RegularRounded.woff2)format("woff2"),url(/fonts/NewEdge666-RegularRounded.woff)format("woff");font-style:normal;font-weight:400;font-display:swap}:root{--font-light:"New Edge 666 Light Rounded", Helvetica, Arial, sans-serif;--font-regular:"New Edge 666 Regular Rounded", Helvetica, Arial, sans-serif;--font-serif:var(--font-light);--font-mono:var(--font-regular);--font-sans:var(--font-regular);--color-blue:#00f;--color-blue-dark:#0b2e96;--color-blue-rgb:#00f;--color-ink:#141414;--color-paper:#eef0f4;--color-white:#fffefa;--color-black:#050505;--color-text:var(--color-ink);--color-text-accent:var(--color-blue-rgb);--color-text-tray:var(--color-blue-rgb);--color-text-inverse:var(--color-white);--color-background:var(--color-paper);--color-surface:var(--color-white);--color-surface-gallery:var(--color-black);--color-surface-image:#111;--color-border:#14141433;--color-lightbox:#000000f7;--color-lightbox-control:#0000009e;--color-lightbox-border:#ffffffb8;--color-flame-yellow:#fff36a;--color-flame-orange:#ff7a00;--color-flame-red:#e51b00;--color-flame-black:#130503;--color-cheetah-pink:#ff2f9d;--color-cheetah-light:#ffd6eb;--color-cheetah-dark:#2a071b;--text-2xs:9px;--text-xs:10px;--text-sm:12px;--text-md:13px;--text-body-sm:14px;--text-body:17px;--text-body-lg:18px;--text-site:20px;--text-statement:clamp(29px, 3.8vw, 58px);--text-list-title:clamp(21px, 2.4vw, 30px);--text-inline-title:clamp(30px, 4vw, 54px);--text-project-title:clamp(46px, 7vw, 104px);--text-project-description:clamp(20px, 2.15vw, 31px);--text-lightbox-counter:clamp(48px, 8vw, 108px);--icon-stroke:1.8;--blue:var(--color-blue-rgb);--blue-dark:var(--color-blue-dark);--rgb-blue:var(--color-blue-rgb);--ink:var(--color-text);--paper:var(--color-background);--white:var(--color-surface);--line:var(--color-border);--mono:var(--font-mono);--serif:var(--font-serif);--sans:var(--font-sans)}@media (max-width:760px){:root{--text-site:16px;--text-statement:clamp(25px, 7.8vw, 38px);--text-list-title:20px;--text-inline-title:34px;--text-project-title:clamp(44px, 14vw, 68px);--text-project-description:21px;--text-lightbox-counter:clamp(42px, 16vw, 68px)}}html[data-a11y-text=large]{--text-2xs:11px;--text-xs:12px;--text-sm:14px;--text-md:15px;--text-body-sm:16px;--text-body:19px;--text-body-lg:21px;--text-site:23px;--text-statement:clamp(33px, 4.4vw, 66px);--text-list-title:clamp(24px, 2.7vw, 34px);--text-inline-title:clamp(35px, 4.6vw, 61px);--text-project-title:clamp(52px, 8vw, 116px);--text-project-description:clamp(23px, 2.5vw, 36px)}html[data-a11y-text=extra-large]{--text-2xs:12px;--text-xs:13px;--text-sm:15px;--text-md:17px;--text-body-sm:18px;--text-body:21px;--text-body-lg:23px;--text-site:25px;--text-statement:clamp(37px, 4.9vw, 74px);--text-list-title:clamp(27px, 3vw, 38px);--text-inline-title:clamp(39px, 5.1vw, 68px);--text-project-title:clamp(58px, 8.8vw, 128px);--text-project-description:clamp(26px, 2.8vw, 40px)}html[data-a11y-contrast]{--color-blue:#00f;--color-blue-dark:#00009a;--color-ink:#000;--color-paper:#fff;--color-white:#fff;--color-border:#000}
*{box-sizing:border-box}html{background:var(--paper)}body{color:var(--color-text);background:var(--color-background);font-family:var(--font-serif);margin:0}a{color:inherit}.image-step{opacity:1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.image-step-contain{object-fit:contain}.image-step-cover{object-fit:cover}.image-layer{opacity:0;pointer-events:none;transition:opacity .3s;position:absolute;inset:0;overflow:hidden}.image-layer[data-loaded=true]{opacity:1}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;width:1px;height:1px;color:var(--white);background:var(--rgb-blue);clip-path:inset(50%);font-family:var(--font-mono);font-size:var(--text-body-sm);white-space:nowrap;padding:0;text-decoration:none;position:absolute;top:8px;left:8px;overflow:hidden}.skip-link:focus{clip-path:none;width:auto;height:auto;padding:10px 16px;overflow:visible}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}button,a{-webkit-tap-highlight-color:transparent}.portfolio-shell{width:100%;min-height:100svh;padding-top:var(--tray-top-space,0);padding-bottom:var(--tray-bottom-space,0);background:var(--paper);position:relative;overflow-x:clip}.topbar{z-index:40;background:var(--paper);justify-content:space-between;align-items:center;min-height:64px;padding:22px clamp(22px,7vw,104px) 18px;display:flex;position:sticky;top:0}html:has(.project-tray.is-expanded) .topbar{position:fixed;left:0;right:0}.site-name{font-family:var(--font-mono);font-size:var(--text-body-lg);white-space:nowrap;flex-shrink:0;line-height:1.2;text-decoration:none;transition:color .3s;position:relative}.site-name:after,.social-links a:after{background:var(--color-text);opacity:0;content:"";height:1px;transition:none;position:absolute;bottom:-.16em;left:0;right:0;transform:none}.topbar .site-name:is(:hover,:focus-visible){color:var(--rgb-blue);text-decoration:none}.site-name:after{display:none}.social-links{font-family:var(--font-mono);font-size:var(--text-body-lg);-webkit-user-select:none;user-select:none;flex-wrap:wrap;justify-content:flex-end;gap:6px 18px;line-height:1.2;display:flex}.social-links a{color:inherit;text-decoration:none;transition:color .18s;position:relative}.social-links a:after{opacity:1}.topbar a:is(:hover,:focus-visible){color:var(--rgb-blue)}.accessibility-controls{z-index:20;font-family:var(--font-mono);position:fixed;bottom:20px;right:242px}.accessibility-toggle,.accessibility-close{border:1px solid var(--blue);color:var(--blue);background:var(--white);cursor:pointer;place-items:center;padding:0;display:grid}.accessibility-toggle{border-radius:50%;width:46px;height:46px}.accessibility-toggle svg{stroke-width:1.6px;width:25px;height:25px}.accessibility-toggle:hover,.accessibility-toggle[aria-expanded=true]{color:var(--white);background:var(--blue)}.accessibility-toggle:focus-visible,.accessibility-panel button:focus-visible,.accessibility-panel select:focus-visible,.accessibility-panel input:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.accessibility-panel{border:1px solid var(--blue);width:min(330px,100vw - 24px);color:var(--ink);background:var(--white);padding:16px;font-size:13px;position:absolute;bottom:58px;right:0;box-shadow:0 12px 38px #0003}.accessibility-panel-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;display:flex}.accessibility-panel h2{font-family:var(--font-serif);margin:0;font-size:24px;font-weight:500}.accessibility-close{border-radius:50%;width:34px;height:34px}.accessibility-close svg{width:19px;height:19px}.accessibility-field{text-transform:uppercase;gap:7px;margin-bottom:16px;display:grid}.accessibility-field select{border:1px solid var(--blue);width:100%;height:42px;color:var(--ink);background:var(--white);font:inherit;border-radius:0;padding:0 10px}.accessibility-toggles{border-top:1px solid var(--line);display:grid}.accessibility-toggles label{border-bottom:1px solid var(--line);cursor:pointer;grid-template-columns:20px 1fr;align-items:center;gap:10px;min-height:43px;display:grid}.accessibility-toggles input{width:18px;height:18px;accent-color:var(--blue);margin:0}.accessibility-reset{color:var(--blue);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;margin-top:16px;padding:0;text-decoration:underline;display:inline-flex}.accessibility-reset svg{width:16px;height:16px}html[data-a11y-links] a:not(.action-button):not(.project-gallery-open){text-underline-offset:.14em;text-decoration:underline!important;text-decoration-thickness:2px!important}html[data-a11y-motion] *,html[data-a11y-motion] :before,html[data-a11y-motion] :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html[data-a11y-transparency] *{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}html[data-a11y-transparency] .accessibility-panel,html[data-a11y-transparency] .project-tray,html[data-a11y-transparency] .theme-liquid-glass .plus-button{background:var(--white)!important;box-shadow:none!important}html[data-a11y-contrast] .portfolio-shell,html[data-a11y-contrast] .project-page{background:var(--white)}.admin-link,.back-link{align-items:center;gap:7px;text-decoration:none;display:inline-flex}.statement{-webkit-user-select:none;user-select:none;max-width:1160px;padding:clamp(48px,8vh,96px) clamp(22px,7vw,104px) 300px;position:relative}.statement:after{z-index:14;background:linear-gradient(180deg, #eef0f400 0%, #eef0f4db 72%, var(--paper) 100%);content:"";pointer-events:none;width:min(1160px,100vw);height:clamp(90px,18vh,180px);position:fixed;bottom:0;left:0;right:auto}.statement p{font-size:var(--text-statement);letter-spacing:0;text-wrap:pretty;margin:0;line-height:1.13}.statement .contact-line{margin-top:.9em}.contact-trigger{color:var(--rgb-blue);text-decoration:none}.contact-button{vertical-align:-.08em;width:.86em;height:.86em;color:var(--rgb-blue);background:var(--white);box-shadow:none;border:0;border-radius:50%;place-items:center;margin-left:-.04em;transition:color .16s,background .16s;display:inline-grid;position:relative}.contact-button svg{stroke-width:1.4px;width:58%;height:58%}.statement p+p{margin-top:.85em}.statement-mobile-break{display:none}.category-trigger{color:var(--color-text);font:inherit;line-height:inherit;text-align:inherit;cursor:pointer;background:0 0;border:0;margin:0;padding:0;display:inline}.category-word{padding:0}.reflow-phrase{white-space:normal;display:inline}.reflow-word{white-space:nowrap;margin-right:-.035em;padding:0 .035em .025em;transition:background .18s,transform .22s cubic-bezier(.2,.8,.2,1);display:inline-block;position:relative}.reflow-keep-together{white-space:nowrap}.reflow-measurer{visibility:hidden;white-space:nowrap;pointer-events:none;position:absolute}.reflow-word:after{content:"";background:#00f;height:max(2px,.06em);transition:height .18s,transform .18s;position:absolute;bottom:.02em;left:0;right:-.02em}.reflow-phrase>span:last-child>.reflow-word{margin-right:0;padding-right:0}.reflow-phrase>span:last-child>.reflow-word:after{right:0}.contact-trigger .reflow-word:after{height:max(2px,.06em)}.category-trigger:hover .reflow-word:after,.contact-trigger:hover .reflow-word:after{height:max(2px,.075em)}.category-trigger:focus-visible .reflow-word,.contact-trigger:focus-visible .reflow-word{color:var(--white);background:var(--blue)}.plus-cluster{vertical-align:.01em;white-space:nowrap;align-items:center;margin-left:-.04em;display:inline-flex}.category-punctuation{color:var(--color-text);margin-left:.02em}.category-trigger:hover .category-word{color:var(--color-text)}.category-trigger[aria-expanded=true] .category-word{color:var(--blue)}.category-trigger[aria-expanded=true] .reflow-word{color:var(--blue);background:var(--white)}.category-trigger[aria-expanded=true] .reflow-word:after{display:none}.plus-button{vertical-align:.1em;width:.66em;height:.66em;color:var(--rgb-blue);background:var(--white);box-shadow:none;font:inherit;text-shadow:none;border:0;border-radius:50%;place-items:center;margin:0 .01em;padding:0;font-weight:400;line-height:1;display:inline-grid}.plus-symbol{width:100%;height:100%;font-family:var(--font-sans);place-items:center;font-size:.7em;font-weight:400;line-height:1;display:grid}.category-trigger:is(:hover,:focus-visible) .plus-button,.category-trigger[aria-expanded=true] .plus-button,.contact-trigger:is(:hover,:focus-visible) .contact-button{color:var(--white);background:var(--rgb-blue)}.category-trigger:focus-visible,.icon-button:focus-visible,a:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.project-tray{--tray-control-size:68px;--tray-nav-width:104px;--tray-row-column-gap:26px;--tray-row-padding-x:40px;--tray-row-year-width:74px;--tray-row-meta-width:220px;--tray-row-action-width:40px;--tray-scrollbar-width:12px;--tray-menu-width:calc(100% - var(--tray-nav-width) - var(--tray-control-size) * 2);--tray-text-column-width:calc(min(1380px, 100vw) - var(--tray-row-padding-x) - var(--tray-row-year-width) - var(--tray-row-meta-width) - var(--tray-row-action-width) - var(--tray-row-column-gap) * 3 - var(--tray-scrollbar-width));--tray-ink:var(--rgb-blue);z-index:50;width:min(1380px,100vw);color:var(--rgb-blue);background:var(--white);touch-action:pan-y;border-top:0;transition:transform .32s cubic-bezier(.22,.9,.3,1);position:fixed;bottom:0;left:50%;overflow:visible;transform:translate(-50%,calc(100% + 20px));box-shadow:0 -12px 38px #0003}.project-tray.is-open{transform:translate(-50%)}.project-tray.is-expanded{box-shadow:0 -12px 38px #0003}.project-tray:before,.project-tray:after{z-index:2;opacity:0;content:"";pointer-events:none;transition:opacity .18s;display:none;position:absolute;left:1px;right:1px}.project-tray[data-has-overflow=true][data-can-scroll-down=true]:after{opacity:0}.tray-header{z-index:3;grid-template-columns:var(--tray-control-size);width:var(--tray-control-size);height:var(--tray-control-size);background:0 0;border:0;min-height:0;padding:0;display:grid;position:absolute;top:0;right:0}.tray-pull-zone{top:0;right:var(--tray-control-size);left:calc(var(--tray-nav-width) + var(--tray-menu-width));z-index:3;height:var(--tray-control-size);color:var(--rgb-blue);background:var(--white);cursor:n-resize;font:inherit;text-align:left;touch-action:none;-webkit-user-select:none;user-select:none;border:0;align-items:center;padding:0 18px;display:flex;position:absolute}.tray-pull-zone:hover,.tray-pull-zone:focus-visible{color:var(--white);background:var(--rgb-blue);outline:0}.project-tray.is-expanded .tray-pull-zone{cursor:s-resize}.tray-pull-zone .corner-expand-icon{opacity:1;width:32px;height:32px;color:var(--rgb-blue);transition:opacity .18s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.tray-pull-zone:hover .corner-expand-icon,.tray-pull-zone:focus-visible .corner-expand-icon{color:var(--white);opacity:1}.corner-expand-icon{width:28px;height:28px;display:block;position:relative}.corner-expand-icon .corner-arrow{width:22px;height:22px;stroke-width:var(--icon-stroke);stroke-linecap:round;stroke-linejoin:round;position:absolute}.corner-arrow-start{top:-1px;left:-1px;transform:rotate(-45deg)}.corner-arrow-end{bottom:-1px;right:-1px;transform:rotate(-45deg)}.tray-index,.permalink,.eyebrow,figcaption,.text-plate span{font-family:var(--font-mono);font-size:var(--text-2xs);text-transform:uppercase}.icon-button,.action-button{border:1px solid var(--line);background:var(--paper);cursor:pointer;border-radius:50%;place-items:center;width:38px;height:38px;display:grid}.tray-category-menu{top:0;left:var(--tray-nav-width);z-index:4;width:var(--tray-menu-width);height:var(--tray-control-size);background:var(--white);align-items:center;padding:8px 18px;display:flex;position:absolute}.tray-category-trigger{border:0;border-bottom:1px solid var(--rgb-blue);width:100%;max-width:100%;height:auto;color:var(--rgb-blue);background:var(--white);font-family:var(--font-regular);font-size:calc(var(--text-xs) * 1.2);letter-spacing:0;text-align:left;cursor:pointer;grid-template-columns:minmax(0,1fr) 8px;align-items:center;gap:6px;padding:8px 10px 9px 0;font-weight:400;display:grid;overflow:hidden}.tray-category-nav{z-index:4;width:var(--tray-nav-width);height:var(--tray-control-size);background:var(--white);grid-template-columns:repeat(2,1fr);padding:8px 0 8px 8px;display:grid;position:absolute;top:0;left:0}.tray-category-nav button{min-width:0;color:var(--rgb-blue);background:var(--white);cursor:pointer;border:0;place-items:center;padding:0;display:grid}.tray-category-nav button:hover:not(:disabled),.tray-category-nav button:focus-visible{color:var(--white);background:var(--rgb-blue);outline:0}.tray-category-nav button:hover:not(:disabled) svg{transform:scale(1.18)}.tray-category-nav button:disabled{opacity:.25;cursor:default}.tray-category-nav svg{width:22px;height:22px;stroke-width:var(--icon-stroke);transition:transform .14s}.tray-category-trigger span,.tray-category-options span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tray-category-label{font-size:inherit;grid-area:1/1;display:block}.tray-category-label.is-forward{animation:.28s cubic-bezier(.22,.9,.3,1) both tray-category-wheel-up}.tray-category-label.is-backward{animation:.28s cubic-bezier(.22,.9,.3,1) both tray-category-wheel-down}@keyframes tray-category-wheel-up{0%{opacity:.15;transform:translateY(115%)}to{opacity:1;transform:translateY(0)}}@keyframes tray-category-wheel-down{0%{opacity:.15;transform:translateY(-115%)}to{opacity:1;transform:translateY(0)}}.menu-squares{flex-direction:column;grid-area:1/2;justify-self:end;align-items:center;gap:3px;display:flex}.menu-squares i{background:currentColor;width:4px;height:4px;display:block}.menu-square{background:currentColor;width:6px;height:6px;display:block}.tray-category-trigger[aria-expanded=true] .menu-squares{gap:1px}.tray-category-trigger:focus-visible{outline:2px solid var(--rgb-blue);outline-offset:-3px}.tray-category-options{top:var(--tray-control-size);z-index:8;width:min(var(--tray-text-column-width), calc(100vw - 36px));background:var(--white);border:0;border-radius:0;max-height:calc(100svh - 16px);display:grid;position:absolute;left:18px;overflow-y:auto;box-shadow:0 14px 34px #00000038}.tray-category-options button{min-height:38px;color:var(--rgb-blue);background:var(--white);font-family:var(--font-regular);font-size:calc(var(--text-xs) * 1.2);text-align:left;text-transform:lowercase;cursor:pointer;border:0;grid-template-columns:minmax(0,1fr);align-items:center;padding:6px 10px;font-weight:400;display:grid;position:relative}.tray-category-options button+button:before{background:var(--rgb-blue);content:"";pointer-events:none;height:1px;position:absolute;top:0;left:10px;right:10px}.tray-category-options button[aria-current=true]:before,.tray-category-options button[aria-current=true]+button:before{left:0;right:0}.tray-category-options .menu-square{display:none}.tray-category-options button:hover,.tray-category-options button:focus-visible,.tray-category-options button[aria-current=true]{color:var(--white);background:var(--rgb-blue);outline:0}.tray-close{width:100%;height:100%;color:var(--rgb-blue);background:var(--white);cursor:pointer;border:0;border-radius:0;margin:0;padding:0;position:relative}.tray-close-mark:before,.tray-close-mark:after{content:"";background:currentColor;border-radius:999px;width:36%;height:1.5px;position:absolute;top:50%;left:50%}.tray-close-mark:before{transform:translate(-50%,-50%)rotate(45deg)}.tray-close-mark:after{transform:translate(-50%,-50%)rotate(-45deg)}.tray-close:hover{color:var(--white);background:var(--rgb-blue)}.tray-close:focus-visible{color:var(--white);background:var(--rgb-blue);outline:0}.project-list{overscroll-behavior:contain;max-height:none;scroll-padding-top:var(--tray-control-size);scroll-snap-type:y proximity;contain:layout paint;will-change:height;overflow:auto}.project-list-content{padding:var(--tray-control-size) 0 clamp(24px, 4vh, 42px);animation:.32s cubic-bezier(.22,.9,.3,1) both drawer-content-in-forward;display:grid}.project-list-content.is-backward{animation-name:drawer-content-in-backward}@keyframes drawer-content-in-forward{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:translate(0)}}@keyframes drawer-content-in-backward{0%{opacity:0;transform:translate(-14px)}to{opacity:1;transform:translate(0)}}.project-row{--row-line-left:22px;--row-line-right:18px;min-height:92px;color:inherit;cursor:pointer;isolation:isolate;scroll-snap-align:start;border-top:0;grid-template-columns:74px minmax(0,1fr) minmax(140px,220px) 40px;align-items:baseline;column-gap:26px;padding:16px 18px 16px 22px;text-decoration:none;transition:color .16s,background-color .16s,opacity .16s;display:grid;position:relative}.project-row:before{top:0;right:var(--row-line-right);left:var(--row-line-left);background:var(--line);content:"";pointer-events:none;height:1px;position:absolute}.project-list-content>.project-row:first-child:before{display:none}.project-row.is-clicked{color:color-mix(in srgb, var(--tray-ink) 34%, var(--white));opacity:1}.portfolio-shell .project-tray .project-row:is(:hover,:focus-within){color:var(--white);background:var(--tray-ink);opacity:1;outline:0}.project-row-link{z-index:1;color:inherit;position:absolute;inset:0}.project-row-link:focus-visible{outline-offset:-3px;outline:2px solid}.project-row.has-list-image{grid-template-columns:74px clamp(76px,8vw,108px) minmax(0,1fr) minmax(140px,220px) 40px;min-height:136px}.project-row.has-list-image .project-copy{grid-area:1/3}.project-row.has-list-image .project-action-indicator{grid-area:1/5}.project-row.has-list-image .project-meta{grid-area:1/4}.project-list-image{aspect-ratio:4/5;background:var(--rgb-blue);--image-step-opacity:.82;border:0;grid-area:1/2;place-self:start;width:min(100%,108px);height:auto;min-height:0;margin:0;position:relative;overflow:hidden}.project-list-image img{object-fit:cover;filter:grayscale()contrast(1.12);mix-blend-mode:screen;opacity:.82;transition:filter .16s,mix-blend-mode .16s,opacity .16s}.project-row:hover .project-list-image img,.project-row:focus-visible .project-list-image img{filter:grayscale()contrast(1.18)invert();mix-blend-mode:multiply;opacity:.9}.project-year{min-width:0;font-family:var(--font-mono);font-size:var(--text-2xs);line-height:1;display:block}.project-copy{gap:5px;text-decoration:none;display:grid}.project-heading-line{flex-direction:column;gap:4px;display:flex}.project-heading-line .project-year{font-weight:400}.project-row>.project-year{font-size:calc(var(--text-md) * .84)}.project-title{overflow-wrap:anywhere;font-family:var(--font-regular);font-size:calc(var(--text-md) * 1.68);text-wrap:pretty;font-weight:400;line-height:1.2}.project-tagline{max-width:62ch;font-family:var(--font-regular);font-size:calc(var(--text-md) * 1.2);font-weight:400;line-height:1.3}.project-heading-line{margin-bottom:.86em}.project-capabilities{font-family:var(--font-mono);font-size:var(--text-2xs);text-transform:uppercase;line-height:1.2}.project-meta{font-family:var(--font-mono);font-size:calc(var(--text-md) * .84);text-transform:uppercase;align-self:center;align-items:start;gap:1px;line-height:1.35;display:grid}.project-credit-relation{opacity:.66;font-size:.82em;line-height:1;display:block}.project-row .project-credit-relation{color:inherit;font:inherit;opacity:1;text-transform:lowercase;display:block}.project-clients{gap:2px;display:grid}.project-row .project-clients{display:inline}.project-credit-party{white-space:nowrap;display:block}.project-credit-link{z-index:2;color:inherit;cursor:pointer;pointer-events:auto;text-decoration:none;position:relative}.project-credit-link:visited{color:color-mix(in srgb, currentColor 55%, transparent)}.project-credit-link:is(:hover,:focus-visible){color:inherit;text-underline-offset:.28em;text-decoration:underline}.portfolio-shell .project-tray .project-row:is(:hover,:focus-within) .project-credit-link{color:var(--white)}.project-row .project-credit-party{overflow-wrap:anywhere;white-space:normal;display:inline}.project-row .project-credit-party+.project-credit-party:before{content:" "}.project-rich-text>:first-child,.project-rich-text>:first-child>:first-child{margin-top:0}.project-rich-text>:last-child,.project-rich-text>:last-child>:last-child{margin-bottom:0}.project-rich-text p{margin:0}.project-rich-text a{color:inherit;text-decoration:none}.project-rich-text a:is(:hover,:focus-visible){text-underline-offset:.12em;text-decoration:underline}.not-found-message{font-size:var(--text-statement)}.not-found-message h1{font:inherit;margin:0;display:inline}.not-found-message a{color:var(--rgb-blue);text-underline-offset:.12em;text-decoration:underline}.project-row .project-meta{text-wrap:pretty;margin-left:12px;display:block}.project-action-indicator{grid-column:4;place-self:center end;place-items:center;min-width:40px;min-height:46px;display:grid}.project-action-indicator svg{stroke-width:1.25px;stroke-linecap:square;stroke-linejoin:miter;width:25px;height:25px}.project-action-external{width:auto;padding:0}.project-action-email svg{stroke-width:1.25px;width:20px;height:20px}.project-action-external svg{stroke-width:1.25px;width:23px;height:23px}.minimal-action-icon .external-arrow,.minimal-action-icon .mail-flap,.minimal-action-icon .mail-open-flap{transform-box:fill-box;transform-origin:50%;transition:opacity .16s,transform .18s cubic-bezier(.22,.9,.3,1)}.minimal-action-icon .mail-open-flap{opacity:0;transform:translateY(3px)}:is(.project-row,.project-action,.contact-trigger):is(:hover,:focus-visible) .minimal-external-icon .external-arrow{transform:translate(2px,-2px)}:is(.project-row,.project-action,.contact-trigger):is(:hover,:focus-visible) .minimal-mail-icon .mail-flap{opacity:.2}:is(.project-row,.project-action,.contact-trigger):is(:hover,:focus-visible) .minimal-mail-icon .mail-open-flap{opacity:1;transform:translateY(-1px)}.action-label{font-family:var(--font-mono);font-size:var(--text-2xs);text-transform:uppercase;line-height:1.2}.inline-project{border-top:1px solid var(--line);scroll-snap-align:start;grid-template-columns:minmax(260px,.72fr) minmax(320px,1.28fr);gap:24px;min-height:min(620px,72svh);padding:24px;display:grid}.inline-project-cake{border-top:0}.inline-project-heading{grid-template-columns:42px 1fr;align-content:start;gap:18px;display:grid}.inline-project-heading .project-year{min-width:0}.inline-project-heading.without-year{grid-template-columns:1fr}.inline-project-heading h2{font-size:var(--text-inline-title);margin:0 0 18px;font-weight:500;line-height:1}.inline-project-heading p{font-size:var(--text-body-lg);margin:0;line-height:1.35}.inline-project-meta{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;flex-wrap:wrap;gap:8px 10px;margin-top:18px;line-height:1.3;display:flex}.inline-project-meta>*+:before{content:"";background:currentColor;width:7px;height:7px;margin-right:10px;display:inline-block}.inline-project-image{background:#111;border:14px solid #111;min-height:420px;margin:0;position:relative}.inline-project-image img{object-fit:contain}.inline-project-cake .inline-project-image{width:min(100%, calc(100svh - var(--tray-control-size) - clamp(96px, 12vh, 124px)));aspect-ratio:1;background:var(--paper);border:0;place-self:start end;min-height:0}.inline-project-cake .inline-project-image img{padding:clamp(14px,2vw,28px)}.recipe-card{border-top:0;grid-column:1/-1;gap:22px;padding-top:24px;display:grid}.recipe-print-heading{display:none}.recipe-toolbar{justify-content:space-between;align-items:stretch;gap:20px;display:flex}.recipe-facts{border:1px solid var(--blue);flex:auto;grid-template-columns:repeat(4,minmax(100px,1fr));display:grid}.recipe-facts>span{min-height:62px;font-family:var(--font-mono);font-size:var(--text-xs);align-content:center;padding:10px 13px;line-height:1.25;display:grid}.recipe-facts>span+span{border-left:1px solid var(--blue)}.recipe-facts b{font-size:var(--text-2xs);text-transform:uppercase;font-weight:500}.print-recipe{border:1px solid var(--blue);min-width:180px;min-height:62px;color:var(--blue);background:var(--white);font-family:var(--font-mono);font-size:var(--text-xs);cursor:pointer;border-radius:0;flex:none;justify-content:center;align-items:center;gap:9px;padding:10px 16px;display:inline-flex}.print-recipe svg{stroke-width:1.5px;width:22px;height:22px}.print-recipe:hover{color:var(--white);background:var(--blue)}.print-recipe:disabled{cursor:wait;opacity:.6}.print-recipe:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.recipe-block{grid-template-columns:minmax(220px,.6fr) minmax(280px,1.4fr);gap:48px;display:grid}.recipe-block h3{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;margin:0 0 12px}.recipe-block ul{margin:0;padding:0;list-style:none}.recipe-block ol{margin:0;padding:0 0 0 1.35em}.recipe-block ol li{padding-left:.35em}.recipe-block ol li::marker{font-family:var(--font-mono);font-size:.82em}.recipe-block ol li+li{margin-top:.55em}.recipe-block li,.recipe-block p{font-size:var(--text-body);line-height:1.45}.ingredient-checklist li{margin:0}.ingredient-checklist label{cursor:pointer;grid-template-columns:25px 1fr;align-items:start;gap:9px;padding:5px 0;display:grid}.ingredient-checklist input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.recipe-checkbox{border:1px solid var(--blue);color:#0000;background:var(--white);place-items:center;width:21px;height:21px;margin-top:1px;transition:color .14s,background .14s,transform .14s;display:grid}.recipe-checkbox svg{stroke-width:2.5px;width:15px;height:15px}.ingredient-checklist label:hover .recipe-checkbox{transform:scale(1.08)}.ingredient-checklist input:focus-visible+.recipe-checkbox{outline:2px solid var(--blue);outline-offset:3px}.ingredient-checklist input:checked+.recipe-checkbox{color:var(--white);background:var(--blue)}.ingredient-checklist .is-checked>span:last-child{opacity:.48;text-decoration:line-through;text-decoration-thickness:1px}.recipe-note{border-left:5px solid var(--blue);background:#edf6ec;gap:3px;margin:24px 0 0;padding:14px 16px;display:grid}.recipe-note b{font-family:var(--font-mono);font-size:var(--text-2xs);text-transform:uppercase;font-weight:500}.recipe-card-export{color:var(--color-text);background:#fff;border-top:0;gap:22px;padding:24px;display:grid}.recipe-card-export .recipe-print-heading{border-bottom:1px solid var(--blue);gap:6px;padding-bottom:18px;display:grid}.recipe-card-export .recipe-print-heading span{font-family:var(--font-mono);font-size:var(--text-2xs);text-transform:uppercase}.recipe-card-export .recipe-print-heading h2{font-family:var(--font-regular);font-size:calc(var(--text-md) * 2.184);margin:0;font-weight:400;line-height:1.15}.recipe-print-meta{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;flex-wrap:wrap;justify-content:space-between;gap:8px 18px;line-height:1.3;display:flex}.recipe-card-export .recipe-toolbar{border-top:0;grid-template-columns:1fr;gap:10px;padding-top:0;display:grid}.recipe-card-export .recipe-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-card-export .recipe-facts>span:nth-child(3),.recipe-card-export .recipe-facts>span:nth-child(4){border-top:1px solid var(--blue)}.recipe-card-export .recipe-facts>span:nth-child(3){border-left:0}.recipe-card-export .recipe-block{border-top:0;grid-template-columns:minmax(220px,.72fr) minmax(320px,1.28fr);align-items:start;gap:clamp(32px,4vw,64px);padding-top:0;display:grid}.recipe-card-export .recipe-ingredients{font-family:var(--font-mono)}.recipe-card-export .recipe-ingredients li{font-size:var(--text-sm);line-height:1.25}.recipe-card-export .ingredient-checklist label{grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;padding:3px 0}.recipe-card-export .recipe-checkbox{width:17px;height:17px;margin-top:0}.recipe-card-export .recipe-checkbox svg{width:12px;height:12px}.recipe-card-export .recipe-method{border-top:0;padding-top:0}@media print{html,body,.portfolio-shell,.inline-project,.recipe-card,.recipe-toolbar,.recipe-block,.recipe-note{-webkit-print-color-adjust:exact;print-color-adjust:exact;color:#000!important;box-shadow:none!important;background:#fff!important}.recipe-print-heading{border-bottom:1px solid #000;gap:6px;padding-bottom:18px;display:grid}.recipe-print-heading span{font-family:var(--font-mono);font-size:var(--text-2xs);text-transform:uppercase}.recipe-print-heading h2{margin:0;font-size:30px;font-weight:400;line-height:1.15}.recipe-print-meta{display:flex}.print-recipe{display:none}}.theme-frutiger-aero .category-trigger .plus-button{color:#fff;background:radial-gradient(circle at 30% 20%,#fffffff2 0 7%,#0000 24%),linear-gradient(155deg,#7df 0%,#168cff 38%,#0752d8 68%,#002b83 100%);border:1px solid #003586;border-radius:50%;box-shadow:inset 0 2px 2px #ffffffc7,0 3px #00235f,0 7px 16px #002c8242}.theme-liquid-glass .category-trigger .plus-button{color:#073fb8;text-shadow:0 1px #fff;-webkit-backdrop-filter:blur(14px)saturate(1.7);backdrop-filter:blur(14px)saturate(1.7);background:linear-gradient(145deg,#ffffffd1,#85ccff38);border:1px solid #ffffffe6;box-shadow:inset 0 1px 1px #fff,inset 0 -5px 12px #3587dc29,0 4px 12px #1953aa38}.theme-skeuomorphism .category-trigger .plus-button{color:#123f9c;text-shadow:0 1px #fff;background:linear-gradient(#fff 0%,#ececea 44%,#c7c8c6 100%);border:1px solid #777b80;box-shadow:inset 0 2px 1px #fff,inset 0 -2px 3px #46494c4d,0 3px #777b80,0 5px 9px #1e20233d}.theme-windows-xp .category-trigger .plus-button{color:#fff;text-shadow:1px 1px #002a86;background:linear-gradient(145deg,#5f9dff 0%,#1767dc 45%,#0344b8 100%);border:2px solid #003caa;border-radius:5px;box-shadow:inset 2px 2px 1px #ffffffc7,inset -2px -2px 1px #002a86,0 2px #002a86}.portfolio-shell .project-tray,.portfolio-shell .project-tray a,.portfolio-shell .project-tray .action-button{color:var(--rgb-blue)}@keyframes flame-flicker{0%,to{filter:saturate(1.15);transform:translateY(0)scaleX(1)}50%{filter:saturate(1.5)brightness(1.12);transform:translateY(-3px)scaleX(.9)}}.theme-flames .category-trigger .plus-button{border:2px ridge var(--color-flame-orange);color:var(--color-flame-yellow);text-shadow:1px 1px 0 #000, 0 0 5px var(--color-flame-orange);background:linear-gradient(#101010 0 15%,#4d0900 16% 42%,#d92a00 58%,#260200 100%);border-radius:7px 7px 11px 11px;position:relative;overflow:visible;box-shadow:inset 2px 2px 1px #ffffff75,inset -3px -3px 2px #120000,0 3px #5b0c00,0 7px 16px #78140073}.theme-flames .category-trigger .plus-button:before{z-index:2;background:radial-gradient(ellipse at 20% 100%, var(--color-flame-yellow) 0 16%, var(--color-flame-orange) 18% 36%, transparent 38%), radial-gradient(ellipse at 50% 100%, #fff7a8 0 14%, var(--color-flame-orange) 17% 38%, var(--color-flame-red) 40% 57%, transparent 59%), radial-gradient(ellipse at 82% 100%, var(--color-flame-yellow) 0 13%, var(--color-flame-red) 19% 46%, transparent 48%);clip-path:polygon(0 100%,7% 40%,20% 67%,30% 3%,43% 58%,57% 12%,67% 66%,84% 23%,100% 100%);content:"";pointer-events:none;width:82%;height:64%;animation:.52s steps(3,end) infinite flame-flicker;position:absolute;top:-48%;left:9%}.theme-flames .category-trigger .plus-symbol{z-index:3}.theme-pink-cheetah .category-trigger .plus-button{border:2px solid var(--color-cheetah-pink);color:var(--color-cheetah-dark);background-color:var(--color-cheetah-light);background-image:radial-gradient(ellipse at center, var(--color-cheetah-dark) 0 14%, transparent 16%), radial-gradient(ellipse at center, var(--color-cheetah-pink) 0 20%, transparent 22%);text-shadow:0 1px #fffc;background-position:2px 1px,12px 9px;background-size:23px 17px,31px 23px;box-shadow:inset 2px 2px 1px #fffc,inset -2px -2px 2px #5a002d59,0 3px #9e165f,0 7px 16px #ff2f9d47}@media (prefers-reduced-motion:reduce){.theme-flames .category-trigger .plus-button:before,.is-mail-highlighted .project-title,.is-mail-highlighted .action-email{animation:none}}.project-page{height:100svh;min-height:100svh;color:var(--blue);background:var(--paper);flex-direction:column;display:flex;overflow:hidden}.project-page ::selection{color:var(--white);background:var(--rgb-blue)}.project-page>.topbar{color:var(--color-text);flex:none}:is(html:has(.project-page .project-gallery),body:has(.project-page .project-gallery)){height:100svh;overflow:hidden}.project-info{--detail-space:12px;flex:none;grid-template-columns:minmax(0,980px) minmax(160px,220px);align-items:start;gap:clamp(30px,5vw,76px);padding:clamp(28px,4vh,44px) clamp(22px,7vw,104px);display:grid}.project-info.without-gallery{grid-template-columns:minmax(0,980px)}.project-info .project-action{margin-top:var(--project-action-offset);align-self:start}.project-heading{grid-template-rows:auto auto minmax(0,1fr);grid-template-columns:0 minmax(0,1fr);min-height:0;display:grid;position:relative}.project-title-row{grid-area:2/2;display:block;position:relative}.project-heading-scroll{overscroll-behavior:contain;grid-area:3/2;min-height:0;max-height:254px;overflow-y:auto}.project-detail-year{color:var(--rgb-blue);font-family:var(--font-mono);font-size:calc(var(--text-md) * .84);grid-area:1/2;margin-bottom:6px;line-height:1;display:block}.project-byline{margin:var(--detail-space) 0 calc(var(--detail-space) * 3);color:var(--rgb-blue);font-family:var(--font-mono);font-size:calc(var(--text-md) * .84);text-transform:uppercase;line-height:1.35;display:block}.project-byline .project-credit-block{display:block}.project-byline .project-credit-relation{opacity:1;margin-bottom:0;display:block}.project-byline .project-clients{flex-wrap:wrap;gap:0 .55em;display:flex}.project-back{width:42px;height:42px;margin:calc(calc(var(--text-md) * 2.184) * .473 - 20.9px) 0 0 -52px;color:var(--rgb-blue);cursor:pointer;background:0 0;border:0;border-radius:50%;grid-area:2/1;justify-self:start;place-items:center;padding:0;display:grid;position:static;transform:none}.project-back svg{width:30px;height:30px;stroke-width:var(--icon-stroke)}.project-back:active,.project-back:hover{color:var(--white);background:var(--rgb-blue)}.project-back:focus-visible{color:var(--white);background:var(--rgb-blue);outline:0}.project-heading h1{max-width:980px;color:var(--color-text);font-family:var(--font-regular);font-size:calc(var(--text-md) * 2.184);text-wrap:pretty;margin:0;font-weight:400;line-height:1.2}.project-heading-scroll>#project-description{margin:0 0 2.6em;max-width:44ch;color:var(--color-black);font-family:var(--font-regular);font-size:calc(var(--text-md) * 1.2);margin-bottom:2lh;font-weight:400;line-height:1.3}.project-heading-scroll>#project-description p+p{margin-top:1lh}.project-heading-scroll>#project-description p{break-inside:avoid-column;orphans:3;widows:3}@media (min-width:1400px){.project-heading-scroll>#project-description{column-count:2;column-gap:40px;max-width:calc(88ch + 40px)}.project-info.can-expand[data-can-scroll-down=true] .project-description-fade{width:min(100%,910px);right:auto}}.project-heading-scroll>#project-description:first-child{margin-top:2lh}.project-info.can-expand .project-heading-scroll>#project-description{margin-bottom:.15lh}.project-description-fade{display:none}.project-info.can-expand .project-heading-scroll{margin-top:1lh}.project-info.can-expand[data-can-scroll-down=true] .project-description-fade{z-index:2;background:linear-gradient(to bottom, transparent 0, var(--paper) 92%);pointer-events:none;height:16px;display:block;position:absolute;bottom:0;left:0;right:0}.project-action{width:100%;max-width:220px;color:var(--blue);box-shadow:none;font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;background:0 0;border:1px solid;border-left:0;border-right:0;border-radius:0;justify-content:space-between;align-items:center;margin:0;padding:10px 0;text-decoration:none;display:flex}.project-action-coming-soon{width:auto;color:var(--rgb-blue);font-size:calc(var(--text-md) * .84);border:0;padding:0;line-height:1.35;display:block}.project-gallery{width:100%;min-height:42svh;max-height:56.25vw;color:var(--color-text-inverse);background:var(--color-black);flex:auto;margin:auto 0 0;padding:0;position:relative;overflow:hidden}.project-gallery-viewport{scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;cursor:grab;touch-action:pan-x;height:100%;overflow:auto hidden}.project-gallery-viewport::-webkit-scrollbar{display:none}.project-gallery-viewport:active{cursor:grabbing}.project-gallery-track{gap:0;height:100%;display:flex}.project-gallery-slide{scroll-snap-align:start;scroll-snap-stop:always;flex:0 0 100%;min-width:0;height:100%;margin:0;position:relative}.project-gallery-open{width:100%;height:100%;min-height:0;color:inherit;background:var(--color-black);cursor:pointer;border:0;padding:clamp(14px,2vw,28px) clamp(22px,3.4vw,56px);display:block;position:relative}.project-gallery-image{aspect-ratio:auto;width:100%;height:100%;display:block;position:relative;overflow:hidden}.project-gallery-image img{object-fit:contain}.project-gallery-coming-soon{width:min(72vw,680px);color:var(--rgb-blue);font-family:var(--font-sans);text-align:center;background:0 0;place-items:center;margin:0 auto;padding:0;font-size:clamp(24px,3.4vw,52px);font-weight:700;line-height:.95;display:grid}.project-gallery-nav{grid-template-columns:repeat(2,44px);display:grid;position:absolute;bottom:8px;right:14px}.project-gallery-nav button{width:44px;height:42px;color:var(--color-text-inverse);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;transition:color .18s;display:grid}.project-gallery-nav button:hover,.project-gallery-nav button:focus-visible{color:var(--rgb-blue)}.project-gallery-nav button:focus-visible{outline-offset:-4px;outline:1px solid}.project-gallery-nav svg{width:30px;height:30px;stroke-width:var(--icon-stroke)}.project-lightbox{--yarl__color_backdrop:var(--color-black);--yarl__portal_zindex:10000;--lightbox-inset:6px;--lightbox-control:52px;--lightbox-icon:38px;color:var(--color-text-inverse)}.project-lightbox .yarl__container,.project-lightbox.is-zoomed .yarl__container{cursor:default}.project-lightbox .yarl__slide{padding:0}.cursor-zoom-plane{cursor:default;touch-action:none;width:calc(100% - 5rem);height:calc(100% - 5rem);transition:width .18s,height .18s;position:relative;overflow:hidden}.project-lightbox.is-zoomed .cursor-zoom-plane{width:100%;height:100%}.cursor-zoom-frame{transform-origin:50%;position:absolute;top:50%;left:50%;overflow:hidden;translate:-50% -50%}.cursor-zoom-preview,.cursor-zoom-full{object-fit:cover;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0}.lightbox-coming-soon{width:min(78vw,760px);color:var(--rgb-blue);font-family:var(--font-sans);text-align:center;background:0 0;place-items:center;padding:0;font-size:clamp(28px,5vw,70px);font-weight:700;line-height:.95;display:grid}.lightbox-counter{top:calc(var(--lightbox-inset) + 4px);left:calc(var(--lightbox-inset) + 14px);z-index:2;height:var(--lightbox-control);color:var(--white);font-family:var(--font-serif);letter-spacing:0;align-items:center;padding-left:0;font-size:clamp(19.6px,2.24vw,32.2px);font-weight:400;line-height:1;display:grid;position:fixed}.lightbox-caption{z-index:2;color:#fff;max-width:min(62ch,100vw - 150px);font-family:var(--font-regular);font-size:calc(var(--text-md) * 1.2);font-weight:400;line-height:1.3;position:fixed;bottom:18px;left:18px}.lightbox-close{top:var(--lightbox-inset);right:var(--lightbox-inset);z-index:2;width:var(--lightbox-control);height:var(--lightbox-control);color:var(--color-text-inverse);opacity:.78;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:pointer;background:#0000006b;border:0;border-radius:0;place-items:center;padding:0;transition:background .18s,color .18s,opacity .18s;display:grid;position:fixed}.lightbox-close svg{width:var(--lightbox-icon);height:var(--lightbox-icon);stroke-width:1.5px}.lightbox-close:hover{color:var(--rgb-blue);opacity:1;background:#ffffffd1}.lightbox-close:focus-visible{outline-offset:-5px;outline:1px solid}.lightbox-zoom{z-index:2;position:fixed;bottom:18px;right:18px}.lightbox-zoom-trigger,.lightbox-zoom-options button{color:var(--color-text-inverse);font-family:var(--font-serif);cursor:pointer;background:0 0;border:0;padding:0;font-size:clamp(26px,3vw,42px);font-weight:700;line-height:1}.lightbox-zoom-trigger{text-align:right;min-width:76px}.lightbox-zoom-trigger:after{content:none}.lightbox-zoom-options{text-align:right;background:0 0;border:0;justify-items:end;gap:3px;padding:0;display:grid;position:absolute;bottom:calc(100% + 12px);right:0}.lightbox-zoom-options button{text-align:right;opacity:.6;width:100%;font-size:clamp(22px,2.4vw,34px);text-decoration:none}.lightbox-zoom-options button:hover,.lightbox-zoom-options button:focus-visible,.lightbox-zoom-options button[aria-selected=true]{opacity:1}.lightbox-zoom-options button:focus-visible{outline-offset:2px;outline:1px solid}@media (max-width:800px){html,body{background:var(--paper)}.topbar{align-items:flex-start;min-height:56px;padding:16px 14px 14px}.site-name{max-width:none;font-size:var(--text-body-sm);line-height:1.26}.social-links{max-width:190px;font-size:var(--text-body-sm);gap:5px 12px;line-height:1.26}.statement-mobile-break{display:initial}.accessibility-controls{bottom:12px;left:72px;right:auto}.accessibility-toggle{width:44px;height:44px}.accessibility-panel{left:-60px;right:auto}.statement{padding:34px 15px 260px}.statement p{font-size:var(--text-statement);line-height:1.16}.reflow-keep-together{white-space:normal}.project-tray{--tray-control-size:58px;--tray-nav-width:82px;--tray-row-column-gap:19px;--tray-row-padding-x:28px;--tray-row-year-width:63px;--tray-row-meta-width:0px;--tray-row-action-width:34px;--tray-scrollbar-width:0px;--tray-menu-width:calc(100% - var(--tray-nav-width) - var(--tray-control-size) * 2);--tray-text-column-width:calc(100vw - var(--tray-row-padding-x) - var(--tray-row-year-width) - var(--tray-row-action-width) - var(--tray-row-column-gap) * 2)}.tray-category-options{width:min(280px, calc(100vw - var(--tray-nav-width) - 24px))}.tray-category-trigger,.tray-category-options button{font-size:calc(var(--text-2xs) * 1.2)}.tray-category-nav svg{width:17px;height:17px}.tray-pull-zone{padding-left:13px;padding-right:10px}.project-row{--row-line-left:18px;--row-line-right:10px;grid-template-rows:auto auto;grid-template-columns:63px minmax(0,1fr) 34px;column-gap:19px;min-height:84px;padding:16px 10px 10px 18px}.project-row>.project-year{grid-area:1/1}.project-row>.project-copy{grid-area:1/2;padding-right:6px}.project-row>.project-meta{grid-area:2/2;margin-left:0;padding-right:6px}.project-row>.project-action-indicator{grid-area:1/3/-1}.project-heading-line .project-year{font-size:var(--text-2xs);margin-bottom:4px}.project-row.has-list-image{grid-template-rows:auto auto;grid-template-columns:63px 60px minmax(0,1fr) 34px;min-height:112px}.project-row.has-list-image .project-list-image{aspect-ratio:4/5;grid-area:1/2/-1;align-self:start;width:60px;height:auto;margin:0}.project-row.has-list-image .project-copy{grid-area:1/3}.project-row.has-list-image .project-action-indicator{grid-area:1/4/-1}.project-row.has-list-image .project-meta{grid-area:2/3}.project-copy{grid-area:1/1}.project-row>.project-year{font-size:calc(var(--text-sm) * .84)}.project-meta{font-size:calc(var(--text-sm) * .84);grid-area:2/1;margin-top:18px}.project-row .project-clients{display:inline}.project-row .project-credit-party{white-space:normal;max-width:100%;display:inline}.project-action-indicator{grid-area:1/2/span 2;min-width:34px;min-height:46px}.project-action-external{width:34px;min-height:46px;padding:0}.project-action-indicator svg{width:22px;height:22px}.inline-project{min-height:0;padding:16px 10px;display:block}.inline-project-heading{grid-template-columns:34px 1fr;gap:10px;margin-bottom:18px}.inline-project-heading h2{font-size:var(--text-inline-title)}.inline-project-heading p{font-size:var(--text-site)}.inline-project-image{border-width:10px;min-height:360px}.recipe-card{gap:30px;margin-top:28px;padding:26px 6px 12px}.recipe-toolbar{grid-template-columns:minmax(0,1fr) minmax(92px,.36fr);align-items:stretch;gap:8px;display:grid}.recipe-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-facts>span{min-height:62px;padding:9px 10px}.recipe-facts>span:nth-child(3){border-left:0;border-top:1px solid var(--blue)}.recipe-facts>span:nth-child(4){border-top:1px solid var(--blue)}.print-recipe{text-align:center;flex-direction:column;width:auto;min-width:0;min-height:100%;padding:10px 8px;line-height:1.2}.recipe-block{grid-template-columns:1fr;gap:36px}.recipe-block h3{font-size:var(--text-xs);margin-bottom:18px}.recipe-ingredients,.recipe-method{padding:0 8px}.ingredient-checklist label{gap:12px;padding:4px 0}.ingredient-checklist li{line-height:1.25}.recipe-method{border-top:0;padding-top:30px}.recipe-block ol{padding-left:1.55em}.recipe-block ol li{padding-left:.5em}.recipe-block ol li+li{margin-top:.9em}.recipe-block li,.recipe-block p{line-height:1.55}.recipe-note{margin-top:32px;padding:18px 18px 18px 20px}.project-title{font-size:calc(var(--text-sm) * 1.68);line-height:1.18}.project-tagline{font-size:calc(var(--text-sm) * 1.2);line-height:1.25}.project-page{flex-direction:column;height:100svh;min-height:100svh;display:flex;overflow:hidden}.project-info{grid-template-columns:minmax(0,1fr);align-items:start;gap:0;min-height:0;margin-bottom:0;padding:34px 14px 20px;display:grid;position:relative}.project-heading{grid-template-rows:auto auto minmax(0,1fr);grid-template-columns:36px minmax(0,1fr);column-gap:10px;display:grid}.project-detail-year{font-size:calc(var(--text-sm) * .84);margin-bottom:6px}.project-byline{margin:var(--detail-space) 0 calc(var(--detail-space) * 3);font-size:calc(var(--text-sm) * .84);display:block}.project-byline .project-credit-block{display:block}.project-byline .project-credit-relation{margin:0;display:block}.project-byline .project-clients{flex-wrap:wrap;gap:0 .55em;display:flex}.project-credit-party{white-space:normal;display:inline}.project-title-row{margin-left:0;display:block}.project-back{width:36px;height:34px;margin:calc(calc(var(--text-sm) * 2.184) * .463 - 17px) 0 0}.project-back svg{width:24px;height:24px;stroke-width:var(--icon-stroke)}.project-heading h1{font-size:calc(var(--text-sm) * 2.184);margin-bottom:0;line-height:1.18}.project-heading-scroll>p{font-size:calc(var(--text-sm) * 1.2);line-height:1.25}.project-info.can-expand[data-can-scroll-down=true] .project-description-fade{height:48px;left:46px}.project-info.has-action .project-heading-scroll>#project-description{margin-bottom:0}.project-action{width:100%;max-width:none;margin:calc(var(--text-sm) * 1.2 * 1.25) 0 0;grid-column:1;place-self:start stretch}.project-gallery{flex:auto;width:100%;min-height:50svh;max-height:none;margin:0;display:block}.project-gallery-open{min-height:0;padding:clamp(28px,5vh,48px) 20px}.project-gallery-nav{grid-template-columns:repeat(2,38px)}.project-gallery-nav button{width:38px;height:36px}.project-gallery-nav svg{width:24px;height:24px}.project-gallery-image{aspect-ratio:auto;height:100%}.project-lightbox{--lightbox-inset:4px;--lightbox-control:46px;--lightbox-icon:32px}.project-lightbox.yarl__portal{height:100dvh;bottom:auto}.cursor-zoom-plane{width:calc(100% - 1.5rem);height:calc(100% - 1.5rem)}.project-lightbox.is-zoomed .cursor-zoom-plane{width:100%;height:100%}.lightbox-counter{top:calc(var(--lightbox-inset) + 3px);left:calc(var(--lightbox-inset) + 8px)}.lightbox-caption{max-width:calc(100vw - 98px);font-size:calc(var(--text-sm) * 1.2);line-height:1.25;bottom:12px;left:12px}.lightbox-zoom{bottom:12px;right:12px}.lightbox-zoom-trigger{min-width:62px;font-size:28px}.lightbox-zoom-options{gap:3px;max-width:none;overflow:visible}.lightbox-zoom-options button{font-size:22px}}@media (min-width:761px){.project-row .project-meta{min-width:0}.inline-project-cake{border-top:0;grid-template-rows:auto auto auto auto;align-items:start;min-height:0}.inline-project-cake .inline-project-heading{grid-area:1/1;align-self:start}.inline-project-cake .inline-project-image{width:min(100%, calc(min(72svh, 620px) - var(--tray-control-size) - 49px));grid-area:1/2/span 2}.project-tray.is-expanded .inline-project-cake .inline-project-image{width:min(100%, calc(100svh - var(--tray-control-size) - 115px))}.inline-project-cake .recipe-card{display:contents}.inline-project-cake .recipe-block{border-top:0;grid-area:3/1/auto/-1;grid-template-columns:minmax(220px,.72fr) minmax(320px,1.28fr);align-items:start;gap:clamp(32px,4vw,64px);padding-top:24px;display:grid}.inline-project-cake .recipe-toolbar{border-top:0;grid-area:2/1;grid-template-columns:1fr;align-self:end;gap:10px;margin-bottom:clamp(14px,2vw,28px);padding-top:20px;display:grid}.inline-project-cake .recipe-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.inline-project-cake .recipe-facts>span:nth-child(3),.inline-project-cake .recipe-facts>span:nth-child(4){border-top:1px solid var(--blue)}.inline-project-cake .recipe-facts>span:nth-child(3){border-left:0}.inline-project-cake .print-recipe{width:100%}.inline-project-cake .recipe-ingredients{font-family:var(--font-mono);grid-area:1/1;align-self:start}.inline-project-cake .recipe-ingredients li{font-size:var(--text-sm);line-height:1.25}.inline-project-cake .ingredient-checklist label{grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;padding:3px 0}.inline-project-cake .recipe-checkbox{width:17px;height:17px;margin-top:0}.inline-project-cake .recipe-checkbox svg{width:12px;height:12px}.inline-project-cake .recipe-method{border-top:0;grid-area:1/2;padding-top:0}}@media (min-width:761px) and (max-width:1099px){.project-row .project-clients{display:inline}.project-row .project-credit-party{white-space:normal;max-width:100%;display:inline}}@media (min-width:1100px){.project-row{grid-template-columns:74px minmax(0, 1fr) minmax(220px, 300px) var(--tray-control-size);padding-right:0}.project-row.has-list-image{grid-template-columns:74px clamp(76px, 8vw, 108px) minmax(0, 1fr) minmax(220px, 300px) var(--tray-control-size)}.project-row .project-meta{display:block}.project-row .project-action-indicator{justify-self:center}.project-row .project-clients{display:inline}}@media (min-width:1500px){.project-tray{width:calc(100vw - 32px)}.project-row{grid-template-columns:74px minmax(420px, 1fr) minmax(300px, 360px) var(--tray-control-size);align-items:baseline}.project-row.has-list-image{grid-template-columns:74px clamp(96px, 7vw, 124px) minmax(420px, 1.35fr) minmax(300px, 360px) var(--tray-control-size)}.project-row.has-list-image .project-list-image{grid-column:2;width:min(100%,124px)}.project-row.has-list-image .project-copy{grid-column:3}.project-row.has-list-image .project-meta{grid-column:4}.project-row.has-list-image .project-action-indicator{grid-column:5}.project-meta{grid-column:3}.project-action-indicator{grid-column:4;place-self:center end}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
