@font-face{font-family:Covered By Your Grace;src:url(/assets/covered-by-your-grace-latin.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:InterVariable;src:url(/assets/intervariable-e1df5d8.woff2)format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:InterVariable;src:url(/assets/intervariable-italic-dba1e79.woff2)format("woff2");font-weight:100 900;font-style:italic;font-display:swap}@font-face{font-family:Patrick Hand;src:url(/assets/patrick-hand-47318a7.woff2)format("woff2");font-weight:400;font-display:swap}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#fcfcfc;--card:#fff;--surface:#f6f6f6;--fg:#202020;--body:#424242;--muted:gray;--border:#0000001a;--border-subtle:#0000000d;--border-card:#00000014;--hover:#0000000a;--pill:#ededed;--ease:cubic-bezier(.16, 1, .3, 1);--ease-expand:cubic-bezier(.22, 1, .36, 1);--duration-expand:.56s;--duration-expand-fade:.42s;--card-media-inset:12px;--card-copy-padding:20px;--card-copy-padding-bottom:24px;--projects-filter-trigger-size:32px;--projects-filter-menu-offset:40px;--projects-filter-menu-gap:8px;--projects-filter-menu-inset:12px;--projects-filter-menu-radius:8px;--projects-filter-chip-radius:6px;color:var(--fg);background:var(--bg);font-synthesis:none;-webkit-font-smoothing:antialiased;font-family:InterVariable,Inter,system-ui,sans-serif;font-size:16px;line-height:1.6}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-theme=light]){--bg:#101010;--card:#191919;--surface:#191919;--fg:#e3e3e3;--body:#e3e3e3;--border:#ffffff1a;--border-subtle:#ffffff0d;--border-card:#ffffff14;--hover:#ffffff0a;--pill:#292928}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#101010;--card:#191919;--surface:#191919;--fg:#e3e3e3;--body:#e3e3e3;--border:#ffffff1a;--border-subtle:#ffffff0d;--border-card:#ffffff14;--hover:#ffffff0a;--pill:#292928}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{margin:0}html,body,#root{width:100%;height:100%;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--fg);outline-offset:4px}h1,h2,h3,p{margin:0}h1,h2{letter-spacing:normal;font-size:24px;font-weight:600;line-height:32px}h3{font-size:16px;font-weight:400;line-height:24px}img,video{-o-object-fit:cover;object-fit:cover;max-width:100%;display:block}::selection{background:var(--fg);color:var(--bg)}.site-shell{height:100dvh;display:flex;overflow:hidden}.profile-sidebar{border-right:1px solid var(--border-subtle);z-index:5;background:var(--bg);flex:none;width:320px;padding:32px;position:relative}.profile-sidebar h1{margin-bottom:24px}.bio{color:var(--body)}.bio>p:first-child{padding-bottom:20px}.bio a{text-decoration:underline;-webkit-text-decoration-color:var(--muted);text-decoration-color:var(--muted);text-underline-offset:3px}.bio a:hover{-webkit-text-decoration-color:var(--fg);text-decoration-color:var(--fg)}.bio-contact{flex-direction:column;align-items:flex-start;margin-top:24px;display:flex}.bio-contact a{text-decoration:none}.bio-contact a:hover,.bio-contact a:focus-visible{opacity:.8}.profile-footer{position:absolute;bottom:32px;left:32px}.theme-switch{gap:4px;margin:0 0 12px -8px;display:flex}.theme-switch button{width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;transition:opacity .15s,background-color .15s;display:grid}.theme-switch button[aria-pressed=true]{color:var(--fg);background:var(--hover)}.theme-switch button:hover{opacity:.65}.theme-switch button:focus-visible{outline:2px solid var(--fg);outline-offset:2px}.clock{color:var(--muted);opacity:.6;font-size:12px}.profile-sidebar nav{flex-direction:column;align-items:flex-start;gap:4px;margin-top:24px;margin-left:-12px;display:flex}nav button{isolation:isolate;color:var(--muted);text-align:left;white-space:nowrap;padding:3px 12px;line-height:26px;position:relative}nav button[aria-current],nav button:hover{color:var(--fg)}nav button>span:not(.nav-pill){z-index:1;position:relative}.nav-pill{background:var(--pill);z-index:0;border-radius:99px;position:absolute;inset:0}.mobile-nav,.about-panel{display:none}.rail{scrollbar-width:none;overscroll-behavior-x:contain;flex:1;min-width:0;height:100%;display:flex;position:relative;overflow:auto hidden}.rail::-webkit-scrollbar{display:none}.panel-scroll::-webkit-scrollbar{display:none}.panel{width:calc(var(--column-width) * 1px);scroll-snap-align:start;flex:none;height:100%;position:relative;overflow:visible}.panel-scroll{scrollbar-width:none;overscroll-behavior-y:contain;height:100%;padding:32px;overflow:hidden auto}.panel-header{border-bottom:1px solid var(--border-subtle);margin-bottom:24px;padding-bottom:24px}.panel-heading{justify-content:space-between;align-items:center;gap:12px;min-height:32px;display:flex}.section-title{align-items:center;gap:4px;display:flex}.section-title svg{color:var(--muted);transition:transform .2s var(--ease), color .2s}.section-title:hover svg{color:var(--fg);transform:translate(2px)}.panel-header p{color:var(--body);margin-top:24px;line-height:25.6px}.panel-content{flex-direction:column;gap:32px;padding-bottom:32px;display:flex}.rail-end{width:max(0px, calc(100% - var(--column-width) * 1px));pointer-events:none;flex:none}.content-card{corner-shape:superellipse(2);isolation:isolate;border-radius:32px;display:block;position:relative;overflow:hidden}.content-card:after{content:"";opacity:0;pointer-events:none;background:#fff;transition:opacity .2s;position:absolute;inset:0}.content-card:hover:after{opacity:.08}.content-card:active:after{opacity:.16;transition-duration:.1s}.soft-media{overflow:hidden}.soft-media img,.soft-media video{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.project-card{corner-shape:round;border-radius:24px}.project-media{margin:0 var(--card-media-inset);border-radius:16px}.project-media+.project-media{margin-top:var(--card-media-inset)}.project-card--expandable .project-media-reveal{opacity:0;transition:grid-template-rows var(--duration-expand) var(--ease-expand), opacity var(--duration-expand-fade) var(--ease-expand);grid-template-rows:0fr;display:grid}.project-card--expandable .project-media-reveal-inner{min-height:0;overflow:hidden}.project-card--expandable .project-media-reveal .project-media{margin-top:var(--card-media-inset)}@media (hover:hover) and (pointer:fine){.project-card--expandable:hover .project-media-reveal{opacity:1;grid-template-rows:1fr}}.project-card--expandable:focus-within .project-media-reveal{opacity:1;grid-template-rows:1fr}.card-copy{padding:20px}.project-card h3{margin-bottom:0;line-height:25.6px}.project-card p{color:var(--body);-webkit-line-clamp:3;-webkit-box-orient:vertical;line-height:24px;display:-webkit-box;overflow:hidden}.workbench-card{background:var(--card);box-shadow:0 0 0 1px var(--border-card), 0 1px 3px #00000012;padding-bottom:var(--card-media-inset)}.workbench-card .card-copy,.detail-workbench-header{padding:var(--card-copy-padding) var(--card-copy-padding) var(--card-copy-padding-bottom)}.workbench-card time,.project-company{color:var(--muted);margin-bottom:8px;font-size:12px;line-height:16px;display:block}.workbench-media{margin:0 var(--card-media-inset);border-radius:16px;-webkit-mask-image:none;mask-image:none}.photo-card{background:var(--card);box-shadow:0 0 0 1px var(--border-card), 0 4px 8px #00000016;transform:perspective(1200px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .4s var(--ease);transform-style:preserve-3d;border-radius:24px;padding:12px;display:block;position:relative}.photo-print{border-radius:12px;position:relative;overflow:hidden}.photo-print img{width:100%;height:auto}.photo-caption{text-align:center;padding:14px 8px 8px;font-family:Patrick Hand,cursive;font-size:18px;line-height:23px}.photo-caption small{color:var(--muted);margin-top:2px;font-size:14px;line-height:20px;display:block}.photo-gloss{pointer-events:none;opacity:0;background:radial-gradient(ellipse at var(--gx,50%) var(--gy,50%), #ffffff38, transparent 65%);mix-blend-mode:screen;transition:opacity .4s linear;position:absolute;inset:0}.photo-card:hover .photo-gloss{opacity:1}.filter{z-index:10;position:relative}.icon-button{width:var(--projects-filter-trigger-size);height:var(--projects-filter-trigger-size);border:1px solid var(--border);color:var(--muted);border-radius:10px;place-items:center;transition:background .12s;display:grid;position:relative}.icon-button:hover,.icon-button[aria-expanded=true]{background:var(--hover);color:var(--fg)}.has-filter:after{content:"";background:var(--fg);border-radius:50%;width:4px;height:4px;position:absolute;top:5px;right:5px}.filter-menu{right:0;top:var(--projects-filter-menu-offset);justify-content:flex-end;gap:var(--projects-filter-menu-gap);width:max-content;max-width:min(360px,100vw - 32px);padding:var(--projects-filter-menu-inset);background:var(--bg);border:1px solid var(--border);border-radius:var(--projects-filter-menu-radius);transform-origin:100% 0;flex-wrap:wrap;display:flex;position:absolute;box-shadow:0 12px 32px #0003}.filter-menu button{color:var(--muted);border:1px solid var(--border);border-radius:var(--projects-filter-chip-radius);flex:none;padding:4px 12px;font-size:14px;line-height:22px}.filter-menu button[aria-checked=true]{color:var(--bg);background:var(--fg);border-color:var(--fg)}.filter-menu button:hover{color:var(--fg);background:var(--hover)}.filter-menu button:focus-visible{outline:2px solid var(--fg);outline-offset:2px}.empty-state{color:var(--muted);padding:24px 0}.resize-handle{z-index:15;cursor:col-resize;touch-action:none;flex:none;width:0;position:relative;outline-offset:-2px!important}.resize-handle:before{content:"";width:10px;position:absolute;top:0;bottom:0;left:-5px}.resize-handle:after{content:"";background:var(--border-subtle);width:1px;transition:background .15s;position:absolute;inset:0}.resize-handle:hover:after,.resize-handle:focus-visible:after{background:var(--muted)}.resize-handle span{background:var(--muted);opacity:0;border-radius:99px;width:4px;height:40px;transition:opacity .15s;position:absolute;top:calc(50% - 20px);left:-2px}.resize-handle:hover span,.resize-handle:focus-visible span{opacity:.6}.resize-guide{z-index:50;border:1px solid var(--border);background:var(--card);font-variant-numeric:tabular-nums;border-radius:20px;padding:6px 12px;font-size:12px;position:fixed;bottom:24px;left:calc(50% + 160px);translate:-50%;box-shadow:0 4px 16px #0003}.panel-content>*{transition:opacity .4s}.is-resizing .panel-content>*{color:#0000;background:var(--card);transition:background .15s}.is-resizing .panel-content .soft-media,.is-resizing .panel-content .card-copy,.is-resizing .panel-content .photo-print,.is-resizing .panel-content .photo-caption{opacity:0;transition:opacity .15s}.is-resizing .panel-content .photo-card{transform:none}.is-resizing .panel-content{pointer-events:none}.bottom-blur{z-index:4;pointer-events:none;height:88px;position:absolute;bottom:0;left:0;right:0}.bottom-blur span{position:absolute;inset:0}.back-to-top{z-index:20;background:var(--card);border:1px solid var(--border);white-space:nowrap;border-radius:99px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;line-height:18px;display:flex;position:absolute;top:20px;left:50%;translate:-50%;box-shadow:0 2px 8px #0002}.resume-section{margin-bottom:40px;font-size:14px}.resume-section:last-child{margin-bottom:0}.resume-section-title{color:var(--muted);text-transform:capitalize;margin-bottom:8px;font-size:14px;font-weight:500;line-height:20px}.resume-list{margin:0;padding:0;list-style:none}.resume-item{color:var(--body);padding:8px 0;line-height:20px;display:block}.resume-item a{opacity:1;text-decoration:none;transition:opacity .18s}.resume-item a:hover,.resume-item a:focus-visible{opacity:.78}.resume-item:not(:last-child){border-bottom:1px solid var(--border-subtle)}.resume-link{text-decoration:none}.resume-meta{color:var(--muted)}.resume-meta-sep{color:var(--muted);margin:0 4px 0 5px}.panel-header p,.project-card h3,.project-card p{text-wrap:pretty}.project-card h3+.project-company{margin-top:8px;margin-bottom:0}.project-card .card-copy{padding-bottom:20px}.project-card{padding-bottom:var(--card-media-inset)}.resize-handle{width:10px;margin-left:-5px;margin-right:-5px}.resize-handle:before{left:0}.resize-handle:after{left:5px}.resize-handle span{left:3px}.panel-content .soft-media,.panel-content .card-copy,.panel-content .photo-print,.panel-content .photo-caption{transition:opacity .4s}@media (max-width:767px){.site-shell{padding-top:57px;display:block}.profile-sidebar{display:none}.mobile-nav{border-bottom:1px solid var(--border-subtle);z-index:30;background:var(--bg);scrollbar-width:none;height:57px;display:block;position:absolute;top:0;left:0;right:0;overflow:auto}.mobile-nav nav{gap:2px;padding:12px 16px;display:flex}.mobile-nav nav button{padding:3px 12px;font-size:14px;line-height:25px}.rail{scroll-snap-type:x mandatory;width:100%;height:calc(100dvh - 57px)}.panel{width:100vw}.panel-scroll{padding:32px}.about-panel{display:block}.about-panel h1{margin-bottom:24px}.about-panel .clock{margin-top:24px;font-size:12px;position:relative;bottom:auto;left:0}.about-panel .desktop-break,.resize-handle,.resize-guide,.rail-end{display:none}.bottom-blur{height:64px}.photo-caption{font-size:16px}.photo-caption small{font-size:12px}}.photo-card{padding:10px}.photo-caption,.detail-photo figcaption{font-family:Covered By Your Grace,cursive;font-size:18px}.photo-caption small,.detail-photo figcaption span{font-size:16px}@media (max-width:767px){.mobile-nav nav{padding-inline:20px}.mobile-nav nav button{font-size:16px;line-height:26px}.about-panel .panel-scroll{padding-top:24px}.about-panel h1,.mobile-nav button:first-child .nav-pill{display:none}.photo-caption{font-size:18px}.photo-caption small{font-size:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.photo-card{transform:none!important}.photo-gloss{display:none}}.card-kicker{text-transform:uppercase;letter-spacing:.05em;color:#ffffffb3;margin-bottom:8px;font-size:12px;line-height:16px;display:block}.bottom-blur{height:128px;transition:opacity .15s ease-out}.top-blur{top:0;bottom:auto}@media (max-width:767px){.bottom-blur{height:40px}}.index-grid{--index-grid-columns:2;position:relative;-moz-columns:unset!important;columns:unset!important}.index-grid>a{position:absolute;margin:0!important}.back-to-top{border-radius:12px;padding:3px 12px;font-size:16px;line-height:24px;top:26px;left:23px;translate:none}.resume-list{margin:0}.resume-item{padding:8px 0}.section-index{height:100dvh;display:flex;overflow:hidden}.index-sidebar{border-right:1px solid var(--border-subtle);flex:none;width:320px;padding:32px}.index-back{color:var(--muted)}.index-sidebar nav{flex-direction:column;gap:12px;margin:20px 12px;display:flex}.index-sidebar nav a{color:var(--muted)}.index-sidebar nav a[aria-current]{color:var(--fg)}.index-main{flex:1;min-width:0;padding:32px;overflow:auto}.index-main header{border-bottom:1px solid var(--border-subtle);margin-bottom:48px;padding-bottom:24px}.index-main h1{font-size:32px;line-height:40px}.index-main header p{margin-top:24px}.index-grid{-moz-columns:var(--index-grid-columns);columns:var(--index-grid-columns);-moz-column-gap:24px;column-gap:24px}.index-grid>a{-moz-column-break-inside:avoid;break-inside:avoid;margin-bottom:24px}.index-grid .project-card .card-copy{min-height:0}.index-grid .photo-card{transform:none}@media (max-width:767px){.index-sidebar{background:var(--bg);z-index:20;border-bottom:1px solid var(--border-subtle);width:100%;padding:16px 24px;position:absolute;top:0;left:0;right:0}.index-sidebar nav{display:none}.index-main{padding:88px 32px 32px}.index-grid{--index-grid-columns:1;-moz-columns:var(--index-grid-columns);columns:var(--index-grid-columns)}.about-panel .profile-footer{margin-top:24px;position:relative;bottom:auto;left:auto}}.project-logo{width:var(--logo-width,63px);height:var(--logo-height,18px);background-color:var(--fg);-webkit-mask-image:var(--company-logo);-webkit-mask-image:var(--company-logo);mask-image:var(--company-logo);margin-bottom:20px;display:block;-webkit-mask-position:0;mask-position:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.workbench-card>.workbench-media:first-child{margin-top:20px}
.detail-dialog{width:100vw;max-width:none;height:100dvh;max-height:none;color:var(--fg);font:inherit;background:0 0;border:0;margin:0;padding:0;position:fixed;inset:0;overflow:hidden}.detail-dialog::backdrop{background:0 0}.detail-dialog *{box-sizing:border-box}.detail-backdrop{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#00000080;animation:.3s cubic-bezier(.16,1,.3,1) detail-fade-in;position:absolute;inset:0}.detail-toolbar{z-index:4;gap:6px;display:flex;position:absolute;top:16px;right:16px}.detail-toolbar button,.detail-info button,.detail-gallery-prev,.detail-gallery-next,.detail-image-fullscreen>button{border:1px solid var(--border);width:34px;height:34px;color:var(--fg);background:color-mix(in srgb, var(--bg) 75%, transparent);cursor:pointer;border-radius:7px;place-items:center;padding:0;transition:background .15s;display:grid}.detail-toolbar button:hover,.detail-info button:hover,.detail-gallery-prev:hover,.detail-gallery-next:hover{background:var(--card)}.detail-dialog button:focus-visible{outline:2px solid var(--fg);outline-offset:3px}.detail-article{border:1px solid var(--border);background:var(--bg);scrollbar-width:none;border-radius:16px;width:min(870px,100vw - 96px);height:calc(100dvh - 56px);margin:28px auto;padding:28px 19.5px;position:relative;overflow:auto}.detail-article::-webkit-scrollbar{display:none}.detail-gallery{width:100%;position:relative}.detail-media-button{width:100%;color:inherit;cursor:zoom-in;background:0 0;border:0;padding:0;display:block}.detail-media-button img,.detail-media-button video{-o-object-fit:contain;object-fit:contain;-webkit-mask-composite:source-in, xor;width:100%;height:auto;display:block;-webkit-mask-image:linear-gradient(90deg,#0000,#000 3% 97%,#0000),linear-gradient(#0000,#000 3% 97%,#0000);mask-image:linear-gradient(90deg,#0000,#000 3% 97%,#0000),linear-gradient(#0000,#000 3% 97%,#0000);-webkit-mask-composite:source-in;mask-composite:intersect}.detail-gallery-viewport{touch-action:pan-y pinch-zoom;-webkit-user-select:none;user-select:none;width:100%;display:flex;overflow:hidden}.detail-gallery-slide{flex:0 0 100%;min-width:0}.detail-gallery-viewport.is-dragging,.detail-gallery-viewport.is-dragging .detail-media-button{cursor:grabbing}.detail-gallery .detail-media-button{aspect-ratio:var(--media-ratio)}.detail-gallery .detail-media-button img,.detail-gallery .detail-media-button video{height:100%}.detail-gallery-prev,.detail-gallery-next{z-index:1;position:absolute;top:50%;transform:translateY(-50%)}.detail-gallery-prev{left:10px}.detail-gallery-next{right:10px}.detail-gallery-prev:disabled,.detail-gallery-next:disabled{opacity:.25;cursor:default}.detail-dots{justify-content:center;gap:8px;display:flex;position:absolute;bottom:-26px;left:0;right:0}.detail-dots button{background:var(--fg);opacity:.25;cursor:pointer;border:0;border-radius:50%;width:8px;height:8px;padding:0}.detail-dots button[aria-current=true]{opacity:.7}#detail-overview{--detail-title-summary-gap:12px}.detail-project-copy{padding:48px 0 8px}.detail-project-copy h1{letter-spacing:-.8px;margin:0;font-size:32px;font-weight:600;line-height:1.3}.detail-summary{margin-top:var(--detail-title-summary-gap,12px)}.detail-project-copy .detail-summary{margin-bottom:32px;font-size:24px;font-weight:500;line-height:1.4}.detail-project-copy figure{margin:48px 0}.detail-project-copy figcaption{color:var(--muted);text-align:center;margin-top:8px;font-size:12px}.detail-project-meta{gap:48px;margin-bottom:40px;display:flex}.detail-project-meta dt{color:var(--muted);font-size:12px}.detail-project-meta dd{margin:8px 0 0}.detail-workbench-header time{color:var(--muted);margin-bottom:8px;font-size:12px;line-height:16px;display:block}.detail-workbench-header h1{margin:28px 0 18px;font-size:16px;font-weight:400;line-height:1.6}.detail-workbench-header p{font-size:16px;line-height:1.6}.detail-photo-stage{pointer-events:none;justify-content:center;align-items:center;transition:padding-left .3s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;inset:64px 24px 40px}.detail-photo-stage.detail-with-info{padding-left:384px}.detail-photo{pointer-events:auto;width:min(calc((100dvh - 264px) * var(--photo-ratio) + 20px), calc(100vw - 64px));perspective:1000px;max-width:780px;margin:0}.detail-photo-inner{border:1px solid var(--border);background:var(--card);transform:rotateX(var(--photo-y)) rotateY(var(--photo-x));border-radius:22px;padding:10px 10px 0;transition:transform .18s ease-out;position:relative;overflow:hidden;box-shadow:0 20px 60px #0003}.detail-photo img{border-radius:10px;width:100%;height:auto;display:block}.detail-photo figcaption{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:76px;padding:15px 4px 12px;font-family:Patrick Hand,cursive;font-size:16px;line-height:1.25;display:flex}.detail-photo figcaption span{color:var(--muted);font-size:14px}.detail-gloss{pointer-events:none;background:radial-gradient(ellipse at var(--gloss-x) var(--gloss-y), #ffffff1c, transparent 65%);opacity:0;transition:opacity .4s linear;position:absolute;inset:0}.detail-photo:hover .detail-gloss{opacity:1}.detail-info{z-index:3;background:var(--card);border:1px solid var(--border);border-radius:24px;width:360px;padding:20px;position:absolute;top:72px;left:24px}.detail-info-heading{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.detail-info h2{margin:0;font-size:14px;font-weight:500}.detail-info dl{margin:0}.detail-info dl>div{border-bottom:1px solid var(--border);justify-content:space-between;gap:20px;padding:10px 0;font-size:12px;line-height:1.4;display:flex}.detail-info dl>div:last-child{border:0}.detail-info dt{color:var(--muted);white-space:nowrap}.detail-info dd{text-align:right;margin:0}.detail-expanded .detail-article{border-top:0;border-bottom:0;border-radius:0;width:min(1060px,100vw);height:100dvh;margin:0 auto}.detail-expanded .detail-photo{width:min(calc((100dvh - 144px) * var(--photo-ratio) + 20px), calc(100vw - 64px))}.detail-image-fullscreen{z-index:6;background:var(--bg);width:100vw;max-width:none;height:100dvh;max-height:none;color:var(--fg);border:0;margin:0;padding:40px;position:fixed;inset:0}.detail-image-fullscreen::backdrop{background:var(--bg)}.detail-fullscreen-content{place-items:center;width:100%;height:100%;display:grid}.detail-fullscreen-content>button{z-index:2;border:1px solid var(--border);width:34px;height:34px;color:var(--fg);background:var(--card);cursor:pointer;border-radius:7px;place-items:center;padding:0;display:grid;position:absolute;top:16px;right:16px}.detail-image-fullscreen img,.detail-image-fullscreen video{-o-object-fit:contain;object-fit:contain;max-width:100%;max-height:calc(100dvh - 80px);display:block}.detail-closing{animation:.15s ease-in forwards detail-fade-out}@keyframes detail-fade-in{0%{opacity:0}to{opacity:1}}@keyframes detail-fade-out{0%{opacity:1}to{opacity:0}}@media (max-width:700px){.detail-article{border-radius:16px;width:calc(100vw - 24px);height:calc(100dvh - 76px);margin:64px auto 12px;padding:16px}.detail-project-copy{padding-top:48px}.detail-project-copy h1{font-size:26px}.detail-project-copy .detail-summary{font-size:20px}.detail-photo-stage{inset:64px 12px 24px}.detail-photo{width:min(calc((100dvh - 204px) * var(--photo-ratio) + 20px), calc(100vw - 48px))}.detail-photo-stage.detail-with-info{padding-left:0}.detail-info{width:auto;max-height:50dvh;inset:auto 12px 12px;overflow:auto;box-shadow:0 0 50px #0006}.detail-with-info .detail-photo{opacity:.5}.detail-image-fullscreen{padding:12px}.detail-project-meta{flex-wrap:wrap;gap:24px}.detail-expanded .detail-article{padding-top:64px}}@media (prefers-reduced-motion:reduce){.detail-dialog,.detail-dialog *{transition-duration:0s!important;animation-duration:0s!important}}.detail-standalone{z-index:40;background:var(--bg);padding-left:320px;overflow-y:auto}.detail-page-sidebar{border-right:1px solid var(--border);background:var(--bg);z-index:2;width:320px;height:100dvh;padding:32px;position:fixed;top:0;left:0}.detail-page-sidebar .detail-index{color:var(--muted);align-items:center;gap:3px;font-size:16px;line-height:24px;text-decoration:none;display:flex}.detail-page-sidebar a:hover{color:var(--fg)}.detail-page-sidebar nav{flex-direction:column;gap:16px;padding:64px 0 0;display:flex}.detail-page-sidebar nav a{color:var(--muted);font-size:16px;text-decoration:none}.detail-page-clock{color:var(--muted);font-size:12px;position:absolute;bottom:32px;left:32px}.detail-standalone .detail-article{border:0;border-radius:0;width:min(853px,100%);height:auto;min-height:100dvh;margin:0 auto;padding:12px;overflow:visible}.detail-standalone .detail-project-copy{padding:70px 12px 32px}.detail-standalone .detail-project-copy h1{letter-spacing:-.5px;margin-bottom:0;font-size:28px;line-height:1.3}.detail-standalone .detail-summary{color:var(--muted);margin-top:var(--detail-title-summary-gap,12px);font-size:20px;font-weight:600;line-height:1.4}.detail-standalone .detail-dots{bottom:-8px}.detail-standalone .detail-workbench{padding:24px}.detail-standalone .detail-photo-stage{min-height:100dvh;padding:24px 24px 0;position:relative;inset:auto}.detail-standalone .detail-photo{width:min(calc((100dvh - 120px) * var(--photo-ratio)),calc(100vw - 368px));max-width:none}.detail-standalone .detail-photo-inner{border-radius:32px;padding:3%}.detail-standalone .detail-photo img{border-radius:16px}.detail-standalone .detail-photo figcaption{height:68px;padding:16px 0 0}.detail-standalone .detail-info{z-index:3;width:256px;padding:16px;position:fixed;top:72px;left:32px}@media (max-width:767px){.detail-standalone{padding-top:57px;padding-left:0}.detail-page-sidebar{border-right:0;border-bottom:1px solid var(--border);width:100%;height:57px;padding:16px 24px}.detail-page-sidebar nav,.detail-page-clock{display:none}.detail-standalone .detail-article{width:100%;min-height:calc(100dvh - 57px);padding:12px}.detail-standalone .detail-workbench{padding:24px}.detail-standalone .detail-project-copy{padding:56px 12px 24px}.detail-standalone .detail-photo-stage{min-height:auto;padding:24px}.detail-standalone .detail-photo{width:min(calc((100dvh - 180px) * var(--photo-ratio)),calc(100vw - 48px))}.detail-standalone.detail-kind-photo{flex-direction:column;display:flex}.detail-standalone .detail-info{width:calc(100% - 48px);max-height:none;box-shadow:none;order:2;margin:0 24px 24px;position:relative;inset:auto}}.detail-project-copy>p:not(.detail-summary),.detail-project-copy li{color:var(--body);font-size:16px;line-height:1.6}.detail-project-copy>p:not(.detail-summary){margin:20px 0}.detail-project-copy h2{letter-spacing:-.45px;margin:64px 0 24px;scroll-margin-top:28px;font-size:24px;font-weight:600;line-height:1.3}.detail-project-copy ul{margin:24px 0;padding-left:24px}.detail-project-copy li+li{margin-top:12px}.detail-article-embed{aspect-ratio:16/9;border:0;width:100%;margin:32px 0}.detail-direct-info{border:1px solid var(--border);width:34px;height:34px;color:var(--fg);background:var(--card);cursor:pointer;border-radius:7px;place-items:center;padding:0;display:grid;position:absolute;top:24px;right:24px}.detail-info{padding:16px;top:64px}@media (max-width:767px){.detail-direct-info{top:11px}.detail-standalone .detail-photo-stage{flex:1;min-height:calc(100dvh - 57px);padding:24px}.detail-standalone .detail-info{width:auto;max-height:50dvh;margin:0;position:fixed;inset:auto 12px 12px;box-shadow:0 0 50px #0006}.detail-info{top:auto}}.detail-article-masonry{-moz-columns:3;columns:3;-moz-column-gap:16px;column-gap:16px;margin:48px 0}.detail-page-sidebar nav a[aria-current=location]{color:var(--fg)}.detail-article-masonry .detail-media-button{-moz-column-break-inside:avoid;break-inside:avoid;margin-bottom:16px}@media (max-width:767px){.detail-article-masonry{-moz-columns:2;columns:2}.detail-standalone.detail-kind-photo{padding-top:48px}.detail-kind-photo .detail-page-sidebar{border-bottom:0;height:48px;padding-left:32px}.detail-kind-photo .detail-direct-info{background:0 0;border-color:#0000;top:7px;right:24px}.detail-standalone.detail-kind-photo .detail-photo-stage{min-height:calc(100dvh - 48px);padding:48px 24px 24px}.detail-standalone.detail-kind-photo .detail-photo{width:min(calc((100dvh - 180px) * var(--photo-ratio)), calc(100vw - 64px))}.detail-standalone.detail-kind-photo .detail-photo-inner{border-radius:20px}.detail-standalone.detail-kind-photo .detail-photo img{border-radius:10px}}.detail-dialog .detail-article.detail-project{padding:0}.detail-project>.detail-gallery img,.detail-project>.detail-gallery video{-webkit-mask-image:none;mask-image:none}.detail-article.detail-workbench{--detail-workbench-card-height:auto;--detail-workbench-chrome:calc(var(--card-copy-padding) + 16px + 8px + var(--card-copy-padding-bottom) + var(--card-media-inset) + 56px);--detail-workbench-gallery-max-height:calc(100dvh - var(--detail-workbench-chrome));--detail-workbench-gallery-max-width:min(870px, calc(100vw - 96px));width:max-content;max-width:100%;height:var(--detail-workbench-card-height);min-height:0;padding:0}.detail-workbench .detail-gallery{margin:0 var(--card-media-inset) var(--card-media-inset);width:min(var(--detail-workbench-gallery-max-width), calc(var(--detail-workbench-gallery-max-height) * var(--media-ratio)))}.detail-workbench .detail-gallery .detail-media-button{border-radius:16px;overflow:hidden;-webkit-mask-image:none;mask-image:none}.detail-workbench .detail-gallery .detail-media-button img,.detail-workbench .detail-gallery .detail-media-button video{-webkit-mask-image:none;mask-image:none;mask-composite:initial;-webkit-mask-composite:source-over;border-radius:16px}.detail-project>.detail-project-copy{padding-inline:20px}@media (max-width:700px){.detail-project>.detail-project-copy{padding-inline:16px}}.detail-project-embed{aspect-ratio:16/9;border:0;width:100%;display:block}.detail-dialog.detail-kind-workbench,.detail-standalone.detail-kind-workbench{flex-direction:column;justify-content:safe center;align-items:center;display:flex}.detail-standalone .detail-article.detail-workbench{--detail-workbench-chrome:calc(var(--card-copy-padding) + 16px + 8px + var(--card-copy-padding-bottom) + var(--card-media-inset));--detail-workbench-gallery-max-width:calc(100vw - 320px - 2 * var(--card-media-inset));width:max-content;max-width:min(100%, calc(var(--detail-workbench-gallery-max-width) + 2 * var(--card-media-inset)));height:var(--detail-workbench-card-height);min-height:0;margin-block:auto;padding:0}.detail-expanded .detail-article.detail-workbench{height:var(--detail-workbench-card-height);width:max-content;min-height:0;max-width:min(100vw, calc(var(--detail-workbench-gallery-max-height) * var(--media-ratio) + 2 * var(--card-media-inset)))}@media (max-width:700px){.detail-article.detail-workbench{--detail-workbench-chrome:calc(var(--card-copy-padding) + 16px + 8px + var(--card-copy-padding-bottom) + var(--card-media-inset) + 76px);--detail-workbench-gallery-max-width:calc(100vw - 24px)}}@media (max-width:767px){.detail-standalone .detail-article.detail-workbench{--detail-workbench-chrome:calc(57px + var(--card-copy-padding) + 16px + 8px + var(--card-copy-padding-bottom) + var(--card-media-inset));--detail-workbench-gallery-max-width:calc(100vw - 2 * var(--card-copy-padding));min-height:0;padding:0}}.detail-standalone .detail-article.detail-project{width:100%;max-width:none}.detail-standalone .detail-project-copy{max-width:853px;margin-inline:auto}.detail-page-sidebar .detail-project-nav{align-items:flex-start;gap:4px;margin-left:-12px;padding-top:24px}.detail-project-nav a{border-radius:999px;padding:3px 12px;line-height:26px;transition:color .15s,background-color .15s}.detail-project-nav a[aria-current=page]{color:var(--fg);background:var(--pill)}.detail-project-nav a:hover{color:var(--fg)}.detail-project-nav a:focus-visible{outline:2px solid var(--fg);outline-offset:2px}.detail-presentation{position:relative}.detail-presentation-poster{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.detail-presentation .detail-project-embed{opacity:0;position:relative}.detail-presentation .detail-project-embed.is-loaded{opacity:1}.detail-presentation-link{color:var(--muted);margin-bottom:20px;font-size:12px;text-decoration:none;display:inline-block}.detail-presentation-link:hover{opacity:.7}
#root{width:100%;height:100%}.static-content{max-width:900px;height:100dvh;margin:0 auto;padding:32px;overflow:auto}.static-content h1,.static-content p,.static-content nav,.static-content article{margin-bottom:24px}.static-content img{width:100%;height:auto}.case-story{margin-top:48px}.case-story-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.case-story-facts dt{color:var(--muted);font-size:12px}.case-story-facts dd{margin:8px 0 0}.case-story-body section{margin-top:40px}.case-story-body h2{margin:0 0 16px;font-size:24px}.case-story-body h3{font-weight:600}.case-story-body p{color:var(--body);margin:16px 0}.case-story-decisions{padding-left:24px}.case-story-decisions li{margin-top:24px}@media (max-width:600px){.case-story-facts{grid-template-columns:1fr}}
