.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}:root{--paper: #fbfbfa;--ink: #111111;--muted: #767676;--line: #cfcfcf;--accent: #7532ec;--orange: var(--accent);--blue: var(--accent);--green: #84bd4b;--red: #f26b4f;--violet: #8a49ff;--max: 980px;--side: 96px;--section-min: 55vh;--section-pad-top: 12vh;--section-pad-bottom: 14vh;--section-pad-bottom-loose: 17vh;--section-pad-mobile-top: 12vh;--section-pad-mobile-bottom: 14vh;--body-copy-size: 23px;--left-rail: 190px;--nav-left-rail: 190px;--right-rail: 190px;--brand-size: 60px;--brand-text-offset: 16px;--chapter-dot-size: 10px;--chapter-dot-active-size: 18px;font-family:Times New Roman,Times,serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper);overflow-x:clip}body{margin:0;min-width:320px;background:var(--paper);color:var(--ink);overflow-x:clip}img,video,iframe{max-width:100%}a{color:inherit;text-decoration:none}p,h1,h2,h3{margin:0;font-weight:400}.site-top{position:fixed;top:42px;left:calc(var(--left-rail) - (var(--brand-size) / 2));right:calc(var(--right-rail) - (var(--brand-size) / 2));z-index:20;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.brand,.brand-cluster,.language-switch{pointer-events:auto}.brand-cluster{display:inline-flex;align-items:center;gap:16px}.brand{display:inline-flex;align-items:center;gap:18px;font-family:Cascadia Mono,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:22px;line-height:1}.brand span{transform:translateY(var(--brand-text-offset))}.audio-control{position:relative;display:inline-flex;align-items:center;gap:4px;transform:translateY(var(--brand-text-offset))}.audio-toggle,.audio-volume-button{min-height:28px;border:1px solid rgba(117,50,236,.34);background:#fbfbfac7;color:var(--accent);cursor:pointer;backdrop-filter:blur(8px);transition:background .16s ease,color .16s ease,border-color .16s ease}.audio-toggle{display:inline-flex;align-items:center;gap:7px;padding:4px 8px;font-family:Cascadia Mono,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:11px;line-height:1}.audio-toggle:hover,.audio-toggle.is-playing,.audio-volume-button:hover,.audio-volume-button.is-open{border-color:var(--accent);background:var(--accent);color:#fff}.audio-toggle-dot{width:8px;height:8px;border-radius:50%;border:1px solid currentColor;background:transparent}.audio-toggle.is-playing .audio-toggle-dot{background:currentColor;box-shadow:0 0 8px currentColor}.audio-volume-button{position:relative;width:28px;padding:0}.audio-volume-button span,.audio-volume-button:before,.audio-volume-button:after{content:"";position:absolute;left:7px;width:12px;height:1px;background:currentColor}.audio-volume-button span{top:8px}.audio-volume-button:before{top:13px}.audio-volume-button:after{top:18px}.audio-volume{position:absolute;z-index:30;left:calc(100% + 7px);top:50%;opacity:0;visibility:hidden;pointer-events:none;display:inline-flex;align-items:center;gap:7px;min-height:28px;padding:4px 8px;border:1px solid rgba(117,50,236,.2);background:#fbfbfab8;color:var(--accent);font-family:Cascadia Mono,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:11px;line-height:1;transform:translateY(-50%) translate(-4px);backdrop-filter:blur(8px);transition:opacity .16s ease,visibility .16s ease,transform .16s ease}.audio-volume.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(-50%) translate(0)}.audio-volume input{--audio-volume-value: 100%;width:72px;height:2px;margin:0;border:0;border-radius:999px;appearance:none;background:linear-gradient(90deg,currentColor var(--audio-volume-value),rgba(117,50,236,.22) 0);cursor:pointer}.audio-volume input::-webkit-slider-thumb{width:10px;height:10px;border:1px solid currentColor;border-radius:50%;appearance:none;background:var(--paper)}.audio-volume input::-moz-range-thumb{width:10px;height:10px;border:1px solid currentColor;border-radius:50%;background:var(--paper)}.audio-hint{position:absolute;left:calc(100% + 14px);top:50%;display:flex;align-items:center;gap:9px;width:max-content;max-width:245px;opacity:0;visibility:hidden;pointer-events:none;color:var(--accent);font-family:Cascadia Mono,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:11px;line-height:1.25;transform:translateY(-50%) translate(-6px);transition:opacity .26s ease,visibility .26s ease,transform .26s ease}.audio-hint.is-visible{opacity:1;visibility:visible;transform:translateY(-50%) translate(0);animation:audio-hint-nudge 2.8s ease-in-out .42s infinite}.audio-hint-arrow{position:relative;display:inline-block;width:34px;height:18px;flex:0 0 34px}.audio-hint-arrow:before{content:"";position:absolute;left:2px;top:8px;width:26px;height:1px;background:currentColor;transform:rotate(180deg);transform-origin:center}.audio-hint-arrow:after{content:"";position:absolute;left:1px;top:4px;width:8px;height:8px;border-left:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg)}@keyframes audio-hint-nudge{0%,64%,to{transform:translateY(-50%) translate(0)}12%{transform:translateY(-50%) translate(-7px)}24%{transform:translateY(-50%) translate(0)}36%{transform:translateY(-50%) translate(-4px)}48%{transform:translateY(-50%) translate(0)}}.brand-house{display:block;width:var(--brand-size);height:var(--brand-size);object-fit:contain}.language-switch{display:flex;gap:4px;align-items:center;font-family:Arial,sans-serif;font-size:18px;font-weight:700;letter-spacing:0;transform:translateY(var(--brand-text-offset))}.language-switch a:not(.active){font-weight:400}.home-page{width:min(var(--max),calc(100% - 48px));margin:0 auto;padding:0 0 130px}.progress-nav{position:fixed;top:calc(42px + var(--brand-size) + 10px);left:calc(var(--nav-left-rail) - (var(--chapter-dot-active-size) / 2));z-index:15;font-family:Cascadia Mono,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:13px;line-height:1;color:#777}.progress-nav[hidden],.case-side-nav[hidden]{display:none!important}.progress-nav ol{list-style:none;padding:0;margin:0}.progress-nav li+li{margin-top:14px}.progress-nav a{position:relative;display:inline-flex;align-items:center;gap:12px;min-height:20px;padding:2px 0;transition:color .16s ease,transform .16s ease}.progress-nav a:before{content:"";position:absolute;left:calc((var(--chapter-dot-active-size) / 2) - .5px);top:-14px;width:1px;height:16px;background:#a7a7a7}.progress-nav li:first-child a:before{display:none}.chapter-dot{position:relative;width:var(--chapter-dot-active-size);height:var(--chapter-dot-active-size);flex:0 0 var(--chapter-dot-active-size)}.chapter-dot:before{content:"";position:absolute;top:50%;left:50%;width:var(--chapter-dot-size);height:var(--chapter-dot-size);border-radius:50%;background:#f7f7f7;border:1px solid #8b8b8b;box-shadow:inset 0 0 5px #000000d9,0 0 #e2a91800;transform:translate(-50%,-50%);transition:width .22s ease,height .22s ease,border-color .22s ease,background .22s ease,box-shadow .22s ease}.progress-nav a.active{color:var(--ink);transform:translate(3px)}.progress-nav a span:last-child{padding:3px 6px;background:transparent;transition:background .16s ease}.progress-nav .chapter-label{white-space:nowrap}.progress-nav a.active span:last-child{background:#6a6ccb1a;font-weight:900}.progress-nav a:hover{color:var(--accent)}.progress-nav a.active .chapter-dot:before{width:var(--chapter-dot-active-size);height:var(--chapter-dot-active-size);background:radial-gradient(circle at 38% 32%,rgba(255,255,255,.96) 0 18%,rgba(232,233,255,.62) 19% 35%,transparent 36%),radial-gradient(circle at 52% 55%,#f8f9ffeb 0 24%,#babcee8a 44%,#6a6ccb52 70%,#181940b8);border:1px solid rgba(106,108,203,.28);box-shadow:inset -3px -4px 8px #2a2c7052,inset 2px 2px 6px #ffffffd1,0 0 8px #6a6ccb29,0 0 20px #6a6ccb1a;animation:chapter-dot-glow 2.8s ease-in-out infinite}@keyframes chapter-dot-glow{0%,to{box-shadow:inset -3px -4px 8px #2a2c7052,inset 2px 2px 6px #ffffffd1,0 0 8px #6a6ccb24,0 0 18px #6a6ccb14}50%{box-shadow:inset -2px -3px 7px #2a2c7042,inset 2px 2px 8px #fffffff0,0 0 14px #6a6ccb38,0 0 32px #6a6ccb24}}.hero-section{position:relative;width:100vw;min-height:120vh;min-height:120svh;margin-left:calc(50% - 50vw);display:grid;align-content:center;justify-items:center;row-gap:5px;padding:76px 24px 92px}.model-stage{position:relative;width:100vw;height:96vh;height:96svh;min-height:620px;overflow:visible;background:transparent;display:grid;place-items:center;opacity:var(--model-scroll-opacity, 1);transition:opacity .12s linear;pointer-events:none;translate:0 -15vh;will-change:opacity}.avatar-model{width:100vw;height:100%;--poster-color: transparent;background:transparent;pointer-events:none}.model-fallback{color:#fff;font-family:Arial,sans-serif;font-size:14px}.model-loader{position:absolute;left:50%;bottom:16vh;z-index:5;width:min(340px,70vw);transform:translate(-50%);font-family:Arial,sans-serif;font-size:14px;font-weight:700;color:var(--ink);padding:14px 16px;background:#fbfbfad1;border:1px solid rgba(17,17,17,.18);backdrop-filter:blur(8px);transition:opacity .24s ease,visibility .24s ease}.model-loader.is-loaded{opacity:0;visibility:hidden;pointer-events:none}.model-loader.has-error .model-loader-label{color:var(--red)}.model-loader-label{display:block;margin-bottom:10px;text-align:center}.model-loader-track{display:block;height:6px;overflow:hidden;background:#11111124}.model-loader-bar{display:block;width:var(--model-load-progress, 0%);height:100%;background:var(--accent);box-shadow:0 0 18px #7532ec6b;transition:width .16s ease}.model-loader-track:after{content:"";display:block;width:42%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.82),transparent);animation:loader-shine 1.1s linear infinite}@keyframes loader-shine{0%{transform:translate(-110%)}to{transform:translate(260%)}}.model-filter-wipe{position:fixed;inset:0;z-index:20;pointer-events:none;background:linear-gradient(90deg,#000000b8,#ffffff3d 52%,#000000c2),#00000061;backdrop-filter:grayscale(1) contrast(1.25) brightness(.72);clip-path:inset(0 100% 0 0);mix-blend-mode:multiply;opacity:0;visibility:hidden}.model-filter-wipe.is-active{visibility:visible;animation:model-filter-wipe 1.1s cubic-bezier(.16,1,.3,1) forwards}.model-stage.is-filter-wiping .avatar-model{filter:grayscale(1) contrast(1.22) brightness(.82);transition:filter .22s ease}@keyframes model-filter-wipe{0%{clip-path:inset(0 100% 0 0);opacity:0}18%{opacity:1}72%{clip-path:inset(0 0 0 0);opacity:1}to{clip-path:inset(0 0 0 0);opacity:0}}.scroll-cue{position:absolute;right:calc(var(--right-rail) - (var(--brand-size) / 2));bottom:30vh;width:38px;height:54px;margin-top:0;display:grid;place-items:center;animation:scroll-cue-bounce 1.7s ease-in-out infinite;z-index:4}.scroll-cue:before{content:"";position:absolute;left:50%;top:5px;width:2px;height:32px;background:var(--accent);transform:translate(-50%)}.scroll-cue span{position:absolute;left:50%;bottom:12px;width:16px;height:16px;border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:translate(-50%) rotate(45deg)}@keyframes scroll-cue-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(10px)}}.intro-section{display:grid;grid-template-columns:1fr 1.08fr;column-gap:120px;min-height:var(--section-min);align-items:center;padding:var(--section-pad-top) 0 var(--section-pad-bottom);scroll-margin-top:calc((100vh - var(--section-min)) / 2)}.intro-heading h1{white-space:pre-line;font-family:Arial,sans-serif;font-size:clamp(31px,4vw,42px);line-height:1.04;letter-spacing:0}.intro-side{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:42px;align-items:start}.intro-copy{grid-column:1 / -1;max-width:530px;font-size:var(--body-copy-size);line-height:1.58;justify-self:start}.intro-copy p{white-space:pre-line}.intro-copy a{display:inline-flex;align-items:center;gap:9px;width:max-content;margin:24px auto 0;color:var(--accent);font-size:18px;text-decoration:none}.intro-forward-link span,.case-back span{position:relative;display:inline-block;width:26px;height:1px;background:currentColor}.intro-forward-link span:after,.case-back span:after{content:"";position:absolute;top:50%;width:8px;height:8px;border-top:1px solid currentColor;border-right:1px solid currentColor}.intro-forward-link span:after{right:0;transform:translateY(-50%) rotate(45deg)}.intro-forward-link:hover span{transform:translate(4px)}.intro-forward-link span,.case-back span{transition:transform .16s ease}.scribble-link{position:relative;grid-column:2;justify-self:end;width:170px;color:var(--accent);font-size:17px;line-height:.95;white-space:pre-line}.scribble-arrow{position:absolute;left:-74px;top:18px;width:64px;height:34px;border-left:2px solid var(--accent);border-top:2px solid var(--accent);border-radius:42px 0 0;transform:rotate(-18deg)}.scribble-arrow:after{content:"";position:absolute;left:-2px;bottom:-2px;width:10px;height:10px;border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(-28deg)}.projects-section{padding:calc(var(--section-pad-top) - 2vh) 0 var(--section-pad-bottom-loose)}.projects-heading-row{display:grid;grid-template-columns:220px 1fr 220px;align-items:end;margin-bottom:54px}.tiny-label{white-space:pre-line;font-size:18px;line-height:1.05;color:var(--ink)}.project-label{position:relative;justify-self:end;margin-bottom:18px;padding:10px 14px;background:var(--ink);color:#eef0c4}.project-label:after{content:"";position:absolute;right:-70px;top:18px;width:58px;height:36px;border-top:1px solid var(--accent);border-right:1px solid var(--accent);border-radius:0 36px 0 0}.projects-section h2{margin-bottom:0;text-align:center;font-family:Arial,sans-serif;font-style:italic;font-size:clamp(48px,7vw,76px);line-height:1}.project-filter{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:-22px 0 34px}.project-filter button{min-height:36px;padding:7px 12px;border:1px solid var(--line);background:transparent;color:var(--ink);font:700 13px/1 Cascadia Mono,SFMono-Regular,Consolas,Liberation Mono,monospace;cursor:pointer}.project-filter button[hidden]{display:none}.project-filter-toggle{color:var(--accent)}.project-filter button.active,.project-filter button:hover{border-color:var(--accent);background:var(--accent);color:#fff}.project-carousel{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 18px}.project-carousel-status{position:relative;width:58px;height:58px;display:grid;place-items:center;border:1px solid rgba(117,50,236,.5);border-radius:50%;background:radial-gradient(circle at 38% 32%,rgba(255,255,255,.95) 0 20%,rgba(232,233,255,.45) 21% 42%,transparent 43%),radial-gradient(circle at 50% 55%,#7532ec24,#7532ec08);color:var(--accent);font-family:Cascadia Mono,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:17px}.project-carousel-status span:first-child{transform:translate(-4px,-4px)}.project-carousel-status span:last-child{position:absolute;right:10px;bottom:9px;color:var(--muted);font-size:10px}.project-carousel-status span:last-child:before{content:"/";margin-right:2px}.project-carousel-controls{position:relative;z-index:6;display:flex;gap:10px}.project-carousel-button{width:46px;height:46px;display:grid;place-items:center;border:1px solid var(--accent);background:var(--paper);color:var(--accent);cursor:pointer;box-shadow:0 0 0 8px var(--paper);transition:background .16s ease,color .16s ease,transform .16s ease}.project-carousel-button[hidden]{display:none}.project-carousel-button span{width:14px;height:14px;border-right:2px solid currentColor;border-bottom:2px solid currentColor}.project-carousel-prev span{transform:rotate(135deg) translate(-1px,-1px)}.project-carousel-next span{transform:rotate(-45deg) translate(-1px,-1px)}.project-carousel-button:hover{background:var(--accent);color:#fff;transform:translateY(-2px)}.project-list{display:grid;position:relative;min-height:540px;overflow:hidden;isolation:isolate}.project-card.is-hidden{display:none}.project-card{grid-area:1 / 1;display:grid;grid-template-columns:36% 64%;min-height:540px;background:#f4f4f4;opacity:1;pointer-events:none;transform:translate(calc(100% * var(--project-direction, 1)));filter:none;transition:transform .62s cubic-bezier(.16,1,.3,1),opacity .26s ease}.project-card.is-active{z-index:3;opacity:1;pointer-events:auto;transform:translate(0)}.project-card.is-before{z-index:2;transform:translate(-100%)}.project-card.is-after{z-index:2;transform:translate(100%)}.project-card.is-active:hover{transform:translateY(-4px)}.project-info{position:relative;padding:56px 38px 34px;font-size:13px;line-height:1.25}.project-year{font-size:11px;color:#777;margin-bottom:28px}.project-info h3{font-family:Arial,sans-serif;font-size:20px;margin-bottom:11px}.project-info>p:not(.project-year){max-width:250px}.project-info dl{margin:58px 0 0;font-family:Arial,sans-serif}.project-info dl div{display:flex;justify-content:space-between;gap:16px;align-items:baseline;border-bottom:1px solid transparent;padding:10px 0}.project-info dt,.project-info dd{margin:0}.project-info dd{color:var(--accent);min-width:0;max-width:150px;text-align:right;line-height:1.25;overflow-wrap:anywhere}.blue-button{display:inline-flex;align-items:center;justify-content:center;min-width:98px;min-height:32px;padding:8px 12px;background:var(--accent);color:#fff;font-family:Arial,sans-serif;font-size:18px;line-height:1}.project-info .blue-button{position:absolute;left:38px;bottom:28px}.project-visual{position:relative;overflow:hidden;background:#171717;display:grid;place-items:center}.project-preview-media{width:100%;height:100%;object-fit:cover}.project-preview-embed{border:0;pointer-events:none}.case-visual-slide .project-preview-embed{pointer-events:auto}.flexd-mark{position:relative;font-family:Arial,sans-serif;color:#f4f4f4}.flexd-mark strong{font-size:clamp(70px,13vw,132px);line-height:1;font-weight:900;letter-spacing:0}.pill{position:absolute;z-index:2;border-radius:999px;padding:5px 8px;font-size:10px;color:#fff;font-weight:700;white-space:nowrap}.pill-one,.pill-1{left:5%;top:-8px;background:var(--violet);transform:rotate(-7deg)}.pill-two,.pill-2{left:26%;bottom:-2px;background:var(--red)}.pill-three,.pill-3{right:28%;top:2px;background:var(--red);transform:rotate(3deg)}.pill-four,.pill-4{right:0;bottom:2px;background:#d51eff}.flexd-mark:after{content:"";position:absolute;right:16%;top:-54px;width:28px;height:54px;background:#a5ed18;transform:rotate(-14deg)}.testimonial-section{min-height:var(--section-min);padding:var(--section-pad-top) 64px calc(var(--section-pad-bottom) + 2vh)}.testimonial-section>div{max-width:760px;margin:0 auto}.testimonial-section h2{white-space:pre-line;font-family:Arial,sans-serif;font-size:clamp(42px,7vw,70px);line-height:1.2;margin-bottom:28px;text-align:center}.testimonial-quote{display:grid;grid-template-columns:90px minmax(0,520px) 90px;gap:22px;align-items:start}.testimonial-section p{max-width:520px;font-size:var(--body-copy-size);line-height:1.35}.quote{color:var(--accent);font-family:Arial,sans-serif;font-size:98px;line-height:1}.quote-right{justify-self:end;margin-top:-8px}.experience-section{min-height:var(--section-min);padding:calc(var(--section-pad-top) + 1vh) 92px var(--section-pad-bottom-loose)}.experience-heading-row{display:grid;grid-template-columns:1fr 1.5fr;gap:36px;align-items:start;margin-bottom:54px}.experience-heading-row>.tiny-label{padding-top:18px}.experience-section h2{text-align:right;font-family:Arial,sans-serif;font-size:clamp(42px,6vw,70px);line-height:.9;margin-bottom:0}.experience-section h2:before{content:none}.experience-section h2:after{content:none}.experience-title-line{display:block}.experience-title-marked{position:relative;display:inline-block}.experience-title-curve{position:absolute;left:-88px;top:4px;width:58px;height:42px;border-left:4px solid rgba(106,108,203,.72);border-top:4px solid rgba(106,108,203,.72);border-radius:42px 0 0}.experience-list{border-top:1px solid #999}.experience-row{display:grid;grid-template-columns:2fr 1.35fr 1fr;gap:24px;align-items:baseline;border-bottom:1px solid #999;padding:28px 0}.experience-row h3{font-family:Arial,sans-serif;font-size:28px}.experience-row p,.experience-row time{font-size:18px}.experience-row p{color:var(--accent)}.experience-row time{text-align:right}.resume-button{margin:34px auto 0;display:flex;width:max-content}.contact-section{min-height:var(--section-min);display:grid;place-items:center;text-align:center}.contact-content{display:grid;justify-items:center;gap:18px}.contact-section h2{font-family:Arial,sans-serif;font-size:clamp(58px,11vw,118px);line-height:.9}.contact-section h2 em,.contact-section h2 i{font-style:italic}.still-here{position:relative;justify-self:end;margin-right:110px;padding:3px 11px;background:var(--ink);color:#fff;font-size:12px}.still-here:before{content:"";position:absolute;left:-36px;top:10px;width:28px;height:24px;border-top:2px solid var(--accent);border-left:2px solid var(--accent);border-radius:22px 0 0}.email-link{color:var(--accent);font-size:23px}.site-footer{width:min(var(--max),calc(100% - 48px));margin:0 auto;padding:34px 0 42px;border-top:1px solid var(--line);color:var(--muted);font-family:Cascadia Mono,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.45}.site-footer p{max-width:760px;margin:0 auto;text-align:center}.site-footer a{color:var(--accent);text-decoration:none}.site-footer a:hover{text-decoration:underline}.email-info{margin-top:12px;font-family:Cascadia Mono,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:13px;color:var(--muted)}.contact-form{width:min(620px,100%);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:14px 0 2px;text-align:left}.contact-form label{display:grid;gap:7px;font-family:Cascadia Mono,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:13px;color:var(--muted)}.contact-form-message,.contact-submit{grid-column:1 / -1}.contact-form input,.contact-form textarea{width:100%;border:1px solid var(--line);background:#ffffff61;color:var(--ink);font:18px/1.35 Arial,sans-serif;padding:12px 13px;border-radius:0;outline:none;resize:vertical;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px #7532ec1f}.contact-submit{justify-self:center;border:0;cursor:pointer}.simple-page{width:min(760px,calc(100% - 48px));min-height:100vh;margin:0 auto;padding:170px 0}.simple-page>a{display:inline-block;margin-bottom:90px;color:var(--accent)}.simple-page h1{font-family:Arial,sans-serif;font-size:clamp(58px,10vw,112px);line-height:.95;margin-bottom:36px}.simple-page p{max-width:620px;font-size:var(--body-copy-size);line-height:1.45}.simple-page p+p{margin-top:22px}.about-page{width:min(860px,calc(100% - 48px));min-height:100vh;margin:0 auto;padding:150px 0 120px}.about-back{margin-bottom:70px}.about-hero{display:grid;grid-template-columns:minmax(0,1fr);gap:58px}.about-hero h1{max-width:780px;font-size:clamp(70px,11vw,128px);line-height:.9;letter-spacing:0}.about-hero h1 em{color:var(--accent);font-style:italic}.about-story{max-width:650px;margin-left:auto;font-size:23px;line-height:1.28}.about-story-note{display:inline-block;margin-bottom:22px;padding:6px 10px;background:var(--ink);color:#fff;font-family:Cascadia Mono,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:13px;line-height:1.15}.about-story p+p{margin-top:22px}.about-random{position:relative;width:min(520px,100%);margin:74px 0 96px auto;padding:24px 28px 26px;border:1px solid var(--line);background:#f6f6f4}.about-random:before{content:"";position:absolute;left:-54px;top:-42px;width:48px;height:46px;border-left:2px solid var(--accent);border-top:2px solid var(--accent);border-radius:42px 0 0;transform:rotate(-6deg)}.about-random:after{content:"";position:absolute;left:-55px;top:0;width:10px;height:10px;border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(-34deg)}.about-random .case-kicker{margin-bottom:18px}.about-random p:not(.case-kicker){font-size:20px;line-height:1.35}.about-random p:not(.case-kicker)+p{margin-top:16px}.about-skills{display:grid;grid-template-columns:170px minmax(0,1fr);gap:58px;align-items:start;margin-top:40px;padding-top:44px;border-top:1px solid var(--line)}.about-skills h2{margin-bottom:30px;font-family:Arial,sans-serif;font-size:clamp(44px,7vw,74px);line-height:.95}.about-skills p:not(.case-kicker){max-width:650px;font-size:22px;line-height:1.34}.about-skills p+p{margin-top:22px}.about-play-link{display:inline-flex;align-items:center;gap:12px;margin:78px 0 0 170px;color:var(--accent);font-family:Cascadia Mono,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:16px}.about-play-link span{position:relative;width:26px;height:1px;background:currentColor;transition:transform .16s ease}.about-play-link span:after{content:"";position:absolute;right:0;top:50%;width:8px;height:8px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:translateY(-50%) rotate(45deg)}.about-play-link:hover span{transform:translate(4px)}.case-study-page{width:min(960px,calc(100% - 48px));margin:0 auto;padding:132px 0 140px;font-size:18px}.case-side-nav{position:fixed;top:154px;right:calc(var(--right-rail) - (var(--brand-size) / 2));z-index:14;width:260px;padding:18px;background:#fbfbfaeb;border:1px solid var(--line);backdrop-filter:blur(8px)}.case-side-nav p{margin-bottom:14px;font-family:Cascadia Mono,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:18px;color:var(--muted)}.case-side-toggle,.case-side-back-button{display:none}.case-side-filters,.case-side-projects{display:grid;gap:7px}.case-side-filters{gap:5px;margin-bottom:16px}.case-side-filters button{width:100%;min-height:34px;padding:7px 9px;border:1px solid transparent;background:transparent;color:var(--ink);font:700 15px/1 Cascadia Mono,SFMono-Regular,Consolas,Liberation Mono,monospace;text-align:left;cursor:pointer}.case-side-filters button.active,.case-side-filters button:hover{border-color:var(--accent);color:var(--accent)}.case-side-projects{margin-top:0;padding:13px 0 0 12px;border-top:1px solid var(--line)}.case-side-projects.is-hidden,.case-side-projects[hidden]{display:none}.case-side-projects a{position:relative;display:grid;grid-template-columns:9px minmax(0,1fr);gap:9px;align-items:baseline;font-family:Arial,sans-serif;font-size:15px;line-height:1.22;color:var(--muted);padding:4px 0}.case-side-projects a:before{content:"";position:static;width:7px;height:7px;border-radius:50%;background:#f7f7f7;border:1px solid rgba(106,108,203,.38);box-shadow:inset 0 0 4px #00000073,0 0 #6a6ccb00;transform:translateY(-1px)}.case-side-projects a.active,.case-side-projects a:hover{color:var(--accent)}.case-side-projects a.active:before,.case-side-projects a:hover:before{background:radial-gradient(circle at 38% 32%,rgba(255,255,255,.96) 0 24%,rgba(232,233,255,.58) 25% 45%,transparent 46%),radial-gradient(circle at 52% 55%,#f8f9ffe6 0 28%,#babcee85 54%,#6a6ccb5c);border-color:#6a6ccb94;box-shadow:inset -2px -2px 4px #2a2c7042,0 0 8px #6a6ccb29}.case-study-page p,.case-study-page li{font-size:19px}.case-back{display:inline-flex;align-items:center;gap:10px;margin-bottom:34px;color:var(--accent);font-size:18px;text-decoration:none}.case-back span:after{left:0;transform:translateY(-50%) rotate(-135deg)}.case-back:hover span{transform:translate(-4px)}.case-hero{margin-bottom:46px}.case-kicker{font-family:Cascadia Mono,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:18px;line-height:1.2;color:var(--muted);margin-bottom:16px}.case-hero h1{max-width:860px;font-size:clamp(42px,6.3vw,82px);line-height:.95;margin-bottom:16px;letter-spacing:0}.case-categories{display:flex;flex-wrap:wrap;gap:8px;max-width:720px;margin:0;padding:0;list-style:none}.case-categories li{display:inline-flex;align-items:center;min-height:32px;padding:5px 11px;border:1px solid rgba(117,50,236,.34);background:#7532ec0e;color:var(--accent);font-family:Cascadia Mono,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:15px;line-height:1.15}.case-visual-gallery{position:relative;margin:0 calc(50% - 50vw) 28px;padding:0 max(24px,calc((100vw - 960px)/2))}.case-visual-track{display:flex;gap:24px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:none}.case-visual-track::-webkit-scrollbar{display:none}.case-visual-slide{position:relative;flex:0 0 100%;margin:0;scroll-snap-align:start}.case-visual-slide .project-visual{min-height:620px;background:#f0eff4}.case-visual-slide .project-preview-media{object-fit:contain;padding:22px}.case-visual-slide figcaption{margin-top:14px;font-family:Cascadia Mono,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:18px;color:#9e9e9e;font-size:14px}.case-visual-placeholder strong{max-width:min(620px,80%);text-align:center;font-size:clamp(42px,7vw,82px);white-space:normal}.case-visual-button,.case-visual-next{position:absolute;top:310px;width:54px;height:54px;display:grid;place-items:center;border:1px solid var(--accent);background:var(--paper);cursor:pointer}.case-visual-prev{left:max(24px,calc((100vw - 960px)/2 - 72px))}.case-visual-next{right:max(24px,calc((100vw - 960px)/2 - 72px))}.case-visual-button span,.case-visual-next span{width:16px;height:16px;border-right:3px solid var(--accent);border-bottom:3px solid var(--accent);transform:rotate(-45deg) translate(-2px,-2px)}.case-visual-prev span{transform:rotate(135deg) translate(-2px,-2px)}.case-visual-button:hover,.case-visual-next:hover{background:var(--accent)}.case-visual-button:hover span,.case-visual-next:hover span{border-color:#fff}.case-introduction,.case-process,.case-challenges,.case-impact{margin-bottom:78px}.case-process{position:relative;padding-top:28px}.case-info-grid{display:grid;grid-template-columns:1fr 2.2fr;gap:20px 60px}.case-info-grid div{display:contents}.case-info-grid h2,.case-info-grid p{padding:12px 0;border-bottom:1px solid #dedede;font-size:16px;line-height:1.32}.case-info-grid h2{font-family:Arial,sans-serif;font-weight:700}.case-info-grid a{color:var(--accent);text-decoration:none}.case-links{display:flex;align-items:center;gap:10px;font-family:Cascadia Mono,SFMono-Regular,Consolas,Liberation Mono,monospace;color:var(--muted)}.case-links a{display:inline-grid;place-items:center;min-width:22px;color:var(--accent);font-weight:700}.case-info-grid a:hover,.case-impact-grid a:hover{text-decoration:underline}.case-impact-grid a{color:var(--accent);text-decoration:none}.case-tldr{position:relative;display:grid;grid-template-columns:1fr;gap:54px;margin:0 calc(50% - 50vw) 78px;padding:76px max(24px,calc((100vw - 960px)/2));background:#101010;color:#fff}.case-tldr-badge{position:absolute;right:max(24px,calc((100vw - 960px)/2 + 110px));top:-40px;width:118px;min-height:70px;display:grid;place-items:center;background:var(--accent);color:#fff;font-size:24px;line-height:.88;text-align:center}.case-tldr-badge:before{content:"";position:absolute;left:-74px;bottom:-18px;width:66px;height:32px;border-left:3px solid var(--accent);border-top:3px solid var(--accent);border-radius:42px 0 0}.case-tldr-row{display:grid;grid-template-columns:1fr 1.2fr;gap:54px;align-items:start}.case-tldr-row .case-kicker{grid-column:1 / -1;margin-bottom:-22px}.case-tldr h2{font-family:Arial,sans-serif;font-size:clamp(22px,2.6vw,32px);line-height:1.12;color:#fff}.case-tldr h2:first-line{color:#c8a8ff}.case-tldr p,.case-tldr ul{font-size:19px;line-height:1.45}.case-tldr ul{margin:0;padding-left:20px}.case-tldr li+li{margin-top:10px}.case-process-badge{position:absolute;left:0;top:-50px;width:156px;min-height:44px;display:grid;place-items:center;border:1px solid var(--accent);background:var(--accent);color:#fff;font-size:18px;line-height:.92;text-align:center}.case-process-badge:before{content:"";position:absolute;right:-54px;bottom:-14px;width:48px;height:24px;border-right:2px solid var(--accent);border-top:2px solid var(--accent);border-radius:0 34px 0 0}.case-process-list{display:grid;gap:0}.case-process-list article{display:grid;grid-template-columns:110px minmax(0,1fr);gap:34px;padding:28px 0;border-bottom:1px solid #dedede;align-items:start}.case-process-list span,.case-challenge-grid article>span{font-family:Cascadia Mono,SFMono-Regular,Consolas,Liberation Mono,monospace;color:var(--muted)}.case-process-list p{font-size:var(--body-copy-size);line-height:1.28;color:var(--ink)}.case-challenge-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.case-challenge-grid article{min-height:230px;display:flex;flex-direction:column;padding:24px;background:#101010;color:#fff}.case-challenge-grid h2{font-family:Arial,sans-serif;font-size:22px;line-height:1.15;margin-top:22px}.case-challenge-grid ul{margin:auto 0 0;padding-left:18px;font-size:18px;line-height:1.45}.case-challenge-grid li+li{margin-top:8px}.case-impact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:80px;text-align:center}.case-impact-grid article{border-top:1px solid #cfcfcf;padding-top:22px}.case-impact-grid h2{font-size:clamp(44px,7vw,76px);line-height:1;font-weight:400}.case-impact-grid p{max-width:260px;margin:12px auto 0;color:var(--muted);line-height:1.3}@media(max-width:1180px){.progress-nav{left:calc(var(--nav-left-rail) - (var(--chapter-dot-active-size) / 2))}.progress-nav span:last-child{display:none}}@media(max-width:820px){.site-top{top:24px;left:24px;right:24px}.home-page{width:min(100% - 28px,var(--max));padding-top:86px}.progress-nav{inset:auto 14px 14px;padding:10px 12px;background:#fbfbfaeb;border:1px solid var(--line)}.progress-nav ol{display:flex;justify-content:space-between}.progress-nav li+li{margin-top:0}.progress-nav a:before{display:none}.scroll-cue{right:24px;bottom:18vh}.hero-section{min-height:112vh;min-height:112svh;padding:86px 14px 96px}.model-stage{width:100vw;height:92vh;height:92svh;min-height:520px;translate:0 -3vh}.avatar-model{width:100vw;height:100%}.intro-section{grid-template-columns:1fr;min-height:var(--section-min);padding:var(--section-pad-mobile-top) 0 var(--section-pad-mobile-bottom)}.intro-side{grid-template-columns:minmax(0,1fr) 170px;margin-top:76px}.project-label{justify-self:start;margin:0 0 22px 64px}.projects-section h2{text-align:left;margin-bottom:30px}.projects-heading-row{display:block;margin-bottom:0}.projects-section{padding:calc(var(--section-pad-mobile-top) - 3vh) 0 calc(var(--section-pad-mobile-bottom) + 1vh)}.project-card{grid-template-columns:1fr}.project-visual{min-height:340px}.case-study-page{width:min(100% - 28px,960px);padding-top:118px}.case-tldr{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding-left:14px;padding-right:14px}.case-side-nav{display:none}.case-visual-slide .project-visual{min-height:420px}.case-info-grid,.case-tldr-row,.case-process-list article{grid-template-columns:1fr;gap:14px}.case-info-grid div{display:block}.case-info-grid h2,.case-info-grid p{border-bottom:0;padding:0}.case-info-grid div+div{margin-top:22px}.case-tldr-badge{right:28px}.case-tldr-row .case-kicker{margin-bottom:0}.case-challenge-grid,.case-impact-grid{grid-template-columns:1fr;gap:14px}.case-impact-grid{text-align:left}.testimonial-section{min-height:var(--section-min);padding:var(--section-pad-mobile-top) 0 calc(var(--section-pad-mobile-bottom) + 1vh)}.testimonial-section>div{max-width:100%}.testimonial-quote{grid-template-columns:48px minmax(0,1fr) 48px;gap:16px}.quote{font-size:66px}.experience-section{min-height:var(--section-min);padding:var(--section-pad-mobile-top) 0 calc(var(--section-pad-mobile-bottom) + 2vh)}.experience-heading-row{grid-template-columns:1fr;gap:28px;margin-bottom:44px}.experience-heading-row>.tiny-label{padding-top:0}.experience-section h2{text-align:right}.experience-row{grid-template-columns:1fr;gap:8px;padding:22px 0}.experience-row time{text-align:left}.still-here{margin-right:36px}}@media(max-width:560px){.brand{font-size:18px}.progress-nav{font-size:12px}:root{--chapter-dot-size: 8px;--chapter-dot-active-size: 14px}.intro-heading h1{font-size:32px}.scribble-link{display:block;margin:0 0 0 auto}.intro-copy{grid-column:1 / -1}.intro-side{display:block;margin-top:56px}.project-info{padding:36px 22px 84px}.project-info .blue-button{left:22px}.testimonial-section{padding-left:0;padding-right:0}.testimonial-quote{grid-template-columns:1fr;gap:8px}.quote-right{justify-self:end;margin-top:0}.experience-section h2{text-align:left}.experience-title-marked{margin-left:74px}.experience-title-curve{left:-74px;top:2px;width:52px;height:38px}.contact-section{min-height:var(--section-min)}.contact-form{grid-template-columns:1fr}.about-page{padding-top:128px}.about-back{margin-bottom:48px}.about-hero{gap:42px}.about-hero h1{font-size:64px}.about-story,.about-skills p:not(.case-kicker){font-size:20px}.about-random{margin:58px 0 72px}.about-random:before,.about-random:after{display:none}.about-skills{grid-template-columns:1fr;gap:22px}.about-play-link{margin-left:0}.case-hero h1{font-size:44px}.case-visual-slide .project-visual{min-height:340px}.case-tldr{padding-top:58px}.case-tldr-badge{top:-28px;right:14px;width:94px;min-height:56px;font-size:19px}.case-tldr-badge:before{left:-46px;width:40px;height:24px}.case-process-list article{padding:20px 0}.case-challenge-grid article{min-height:190px;padding:20px}.contact-section h2{font-size:64px}.still-here{margin-right:28px}}@media(max-width:1800px)and (min-width:821px){:root{--left-rail: 106px;--nav-left-rail: 72px;--right-rail: 106px;--body-copy-size: 21px}.site-top{top:8px;left:48px;right:48px;align-items:flex-start}.brand-cluster{display:flex;flex-direction:column;gap:0px;align-items:center}.brand{display:contents}.brand-house{grid-column:1;grid-row:1}.brand span{grid-column:2;grid-row:1;align-self:center}.audio-control{grid-column:1;grid-row:2;justify-self:center;transform:none;margin-top:20px}.home-page{width:min(920px,calc(100% - 96px));padding-bottom:170px}.simple-page{padding-bottom:190px}.progress-nav{inset:14px auto auto 50%;padding:7px 12px;width:min(980px,calc(100% - 96px));background:#fbfbfaeb;border:1px solid rgba(207,207,207,.86);box-shadow:0 12px 40px #1111111a;backdrop-filter:blur(8px);transform:translate(-50%)}.progress-nav ol{display:flex;align-items:center;justify-content:space-between;gap:12px}.progress-nav li+li{margin-top:0}.progress-nav a{min-width:150px;min-height:24px;padding:0;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:4px;text-align:left}.progress-nav a:before{display:none}.progress-nav a.active{transform:none}.progress-nav span:last-child:not(.chapter-label){display:none}.progress-nav .chapter-label{position:static;display:block;width:auto;max-width:126px;padding:0;border:0;background:transparent;color:var(--muted);font-size:11px;line-height:1;text-align:left;opacity:1;pointer-events:none;transform:none;transition:color .16s ease,font-weight .16s ease}.progress-nav a.active .chapter-label,.progress-nav a:hover .chapter-label,.progress-nav a:focus-visible .chapter-label{color:var(--accent);font-weight:900}.intro-section{grid-template-columns:minmax(260px,.82fr) minmax(0,1.18fr);column-gap:72px}.intro-heading h1{font-size:38px}.intro-copy{max-width:500px}.scribble-link{margin-bottom:42px}.scribble-arrow{display:none}.projects-heading-row{grid-template-columns:150px 1fr 150px}.projects-section h2{font-size:64px}.project-label:after{display:none}.about-page{width:min(820px,calc(100% - 128px));padding-top:170px;padding-bottom:180px}.about-back{margin-bottom:48px}.about-hero{gap:46px}.about-hero h1{max-width:720px;font-size:86px;line-height:.92}.about-story{max-width:620px;font-size:21px}.about-random{width:min(500px,100%);margin-top:64px;margin-bottom:78px}.about-random:before,.about-random:after{display:none}.about-skills{grid-template-columns:140px minmax(0,1fr);gap:42px}.about-skills h2{font-size:58px}.about-skills p:not(.case-kicker){font-size:21px}.about-play-link{margin-left:140px}.case-study-page{width:min(880px,calc(100% - 128px));padding-top:170px;padding-bottom:220px}.case-side-nav{display:none}.case-hero h1{max-width:820px;font-size:64px;line-height:.98}}@media(max-width:1180px){:root{--left-rail: 132px;--nav-left-rail: 132px;--right-rail: 132px;--body-copy-size: 21px}.case-side-nav{display:none}.experience-section,.testimonial-section{padding-left:40px;padding-right:40px}}@media(max-width:820px){:root{--left-rail: 28px;--nav-left-rail: 28px;--right-rail: 28px;--body-copy-size: 20px;--section-min: auto}.site-top{top:22px;left:22px;right:22px;align-items:flex-start;gap:12px}.brand-cluster{max-width:calc(100% - 72px);flex-wrap:wrap;gap:10px}.audio-control{order:2;flex-basis:100%;transform:none}.audio-volume{top:calc(100% + 8px);left:0;transform:translateY(-4px)}.audio-volume.is-open{transform:translateY(0)}.audio-hint{display:none}.language-switch{flex:0 0 auto;font-size:16px}.home-page{padding-bottom:160px}.about-page{padding-bottom:150px}.progress-nav{z-index:25;width:auto;overflow-x:auto;scrollbar-width:none}.progress-nav::-webkit-scrollbar{display:none}.progress-nav a{min-width:var(--chapter-dot-active-size)}.progress-nav span:last-child{display:none}.progress-nav a .chapter-label{display:block}.project-list,.project-card{min-height:0}.project-visual{min-height:340px}.project-info{padding:40px 28px 88px}.project-info>p:not(.project-year){max-width:none}.project-info dd{max-width:min(54%,220px)}.case-visual-gallery{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding-left:22px;padding-right:22px}.case-visual-track{gap:18px}.case-visual-button,.case-visual-next{top:auto;bottom:52px}.case-visual-prev{left:28px}.case-visual-next{right:28px}.contact-section{padding-left:0;padding-right:0}.contact-content{width:100%}.email-link{overflow-wrap:anywhere}.site-footer{padding-bottom:104px}}@media(max-width:560px){:root{--brand-size: 48px;--body-copy-size: 19px;--section-pad-mobile-top: 72px;--section-pad-mobile-bottom: 84px}.site-top{top:14px;left:14px;right:14px}.brand{gap:10px;font-size:16px}.audio-toggle{padding:4px 7px}.language-switch{font-size:14px}.home-page{width:min(100% - 24px,var(--max));padding-top:80px;padding-bottom:150px}.hero-section{min-height:92svh;padding-top:80px}.model-stage{min-height:420px;height:78svh}.scroll-cue{right:18px;bottom:14vh}.intro-heading h1{font-size:30px}.projects-section h2{font-size:44px}.project-filter{justify-content:flex-start}.project-carousel{align-items:flex-start;gap:12px}.project-carousel-status{width:48px;height:48px}.project-carousel-button{width:42px;height:42px}.project-info dl div{display:grid;grid-template-columns:1fr;gap:5px}.project-info dd{max-width:100%;text-align:left}.project-visual{min-height:260px}.flexd-mark strong{font-size:56px}.testimonial-section{padding-left:0;padding-right:0}.testimonial-section h2{font-size:38px}.testimonial-section p{font-size:20px}.experience-section{padding-left:0;padding-right:0}.experience-row h3{font-size:24px}.contact-section{padding:72px 0 96px}.contact-section h2{font-size:52px}.email-link{font-size:20px}.simple-page{width:min(100% - 28px,760px);padding:120px 0 150px}.simple-page h1,.about-hero h1{font-size:54px}.simple-page p{font-size:20px}.about-page{width:min(100% - 28px,860px)}.about-random{padding:20px}.about-skills h2{font-size:40px}.case-study-page{width:min(100% - 28px,960px);padding-top:104px}.case-hero h1{font-size:40px}.case-categories li{font-size:13px}.case-visual-gallery{padding-left:14px;padding-right:14px}.case-visual-track{gap:14px}.case-visual-slide{flex-basis:100%}.case-visual-slide .project-visual{min-height:280px}.case-visual-slide .project-preview-media{padding:12px}.case-visual-button,.case-visual-next{width:44px;height:44px;bottom:42px}.case-visual-prev{left:18px}.case-visual-next{right:18px}.case-tldr-badge,.case-process-badge{position:static;margin:0 0 20px auto}.case-tldr-badge:before,.case-process-badge:before{display:none}.site-footer{width:min(100% - 28px,var(--max));font-size:11px}}@media(max-width:380px){.brand span{display:none}.audio-toggle{gap:5px;padding:4px 6px}.audio-volume input{width:56px}.progress-nav{left:8px;right:8px;padding:8px 10px}.project-carousel{gap:10px}.contact-section h2,.about-hero h1,.simple-page h1{font-size:44px}.case-hero h1{font-size:34px}}@media(max-width:1800px){.case-study-page{padding-bottom:220px}.case-side-nav{position:fixed;inset:auto auto 18px 50%;z-index:35;display:grid;grid-template-columns:34px auto minmax(180px,360px) minmax(0,1fr);align-items:start;gap:12px;width:min(920px,calc(100% - 96px));max-height:38vh;padding:12px 14px;overflow:hidden;background:#fbfbfaf0;box-shadow:0 12px 40px #1111111f;transform:translate(-50%)}.case-side-toggle,.case-side-back-button{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--accent);background:var(--paper);color:var(--accent);cursor:pointer}.case-side-back-button{display:none}.case-side-toggle span,.case-side-back-button span{width:11px;height:11px;border-top:2px solid currentColor;border-right:2px solid currentColor;transition:transform .16s ease}.case-side-toggle span{transform:rotate(-45deg) translateY(2px)}.case-side-back-button span{transform:rotate(-135deg) translateY(-1px)}.case-side-nav.is-expanded .case-side-toggle span{transform:rotate(135deg) translateY(2px)}.case-side-nav p{display:block;margin:10px 4px 0 0;font-size:14px;line-height:1;white-space:nowrap}.case-side-nav:not(.is-expanded){grid-template-columns:34px auto;width:auto;max-width:calc(100% - 96px)}.case-side-nav:not(.is-expanded) .case-side-back-button,.case-side-nav:not(.is-expanded) .case-side-filters,.case-side-nav:not(.is-expanded) .case-side-projects{display:none}.case-side-nav.is-category-step,.case-side-nav.is-project-step{grid-template-columns:34px auto minmax(0,1fr)}.case-side-nav.is-project-step{max-height:52vh;align-items:stretch}.case-side-nav.is-category-step .case-side-toggle,.case-side-nav.is-project-step .case-side-toggle{display:none}.case-side-nav.is-category-step .case-side-back-button,.case-side-nav.is-project-step .case-side-back-button{display:grid}.case-side-filters{display:flex;gap:6px;margin:0;padding:0 12px 0 0;overflow-x:auto;scrollbar-width:none}.case-side-nav.is-category-step .case-side-filters{display:flex}.case-side-nav.is-project-step .case-side-projects:not(.is-hidden){display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:start;gap:10px 14px;max-height:28vh;padding:4px 2px 2px;overflow-x:hidden;overflow-y:auto}.case-side-nav.is-category-step .case-side-projects,.case-side-nav.is-project-step .case-side-filters{display:none}.case-side-filters::-webkit-scrollbar,.case-side-projects::-webkit-scrollbar{display:none}.case-side-filters button{flex:0 0 auto;width:auto;min-height:32px;white-space:nowrap}.case-side-projects{display:none;gap:14px;align-items:center;margin:0;padding:0;overflow-x:auto;border-top:0;scrollbar-width:none}.case-side-projects.is-hidden,.case-side-projects[hidden],.case-side-nav.is-project-step .case-side-projects.is-hidden{display:none}.case-side-projects a{display:inline-flex;flex:0 0 auto;grid-template-columns:none;gap:8px;max-width:none;overflow:hidden;white-space:normal}.case-side-projects a:before{flex:0 0 7px}}@media(max-width:820px){.case-study-page{padding-bottom:310px}.case-side-nav{left:14px;right:14px;bottom:76px;width:auto;max-height:42vh;grid-template-columns:34px auto;gap:10px;transform:none}.case-side-nav.is-expanded .case-side-filters,.case-side-nav.is-expanded .case-side-projects{grid-column:1 / -1}.case-side-nav:not(.is-expanded){right:auto;width:auto;max-width:calc(100% - 28px)}.case-side-filters{max-width:none;padding:0 0 8px;border-right:0;border-bottom:1px solid var(--line)}.case-side-projects a{max-width:240px}.case-side-nav.is-project-step .case-side-projects:not(.is-hidden){grid-template-columns:repeat(auto-fit,minmax(180px,1fr));max-height:30vh}.case-side-nav.is-project-step .case-side-projects a{max-width:none}}@media(max-width:560px){.case-study-page{padding-bottom:310px}.case-side-nav{left:10px;right:10px;bottom:68px;padding:10px}.case-side-nav:not(.is-expanded){max-width:calc(100% - 20px)}.case-side-filters button{min-height:30px;padding:6px 8px;font-size:13px}.case-side-projects{gap:12px}.case-side-projects a{max-width:220px;font-size:13px}.case-side-nav.is-project-step .case-side-projects:not(.is-hidden){grid-template-columns:1fr;max-height:34vh}.case-side-nav.is-project-step .case-side-projects a{max-width:none}}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media(prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}
