@font-face{font-family:iA Writer Quattro;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ia-writer-quattro-latin-400-normal.CS_Vpeb6.woff2) format("woff2"),url(/_astro/ia-writer-quattro-latin-400-normal.DJI1zyv3.woff) format("woff")}@font-face{font-family:iA Writer Quattro;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/ia-writer-quattro-latin-400-italic.DzF8or6q.woff2) format("woff2"),url(/_astro/ia-writer-quattro-latin-400-italic.cH1aRUOk.woff) format("woff")}@font-face{font-family:iA Writer Quattro;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/ia-writer-quattro-latin-700-normal.DzkVVaht.woff2) format("woff2"),url(/_astro/ia-writer-quattro-latin-700-normal.x0Cq0k16.woff) format("woff")}@font-face{font-family:iA Writer Duo;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ia-writer-duo-latin-400-normal.Cz4bgMvL.woff2) format("woff2"),url(/_astro/ia-writer-duo-latin-400-normal.WQrM_21q.woff) format("woff")}@font-face{font-family:iA Writer Duo;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/ia-writer-duo-latin-400-italic.CnlQ3CFw.woff2) format("woff2"),url(/_astro/ia-writer-duo-latin-400-italic.CSztZxWC.woff) format("woff")}@font-face{font-family:iA Writer Duo;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/ia-writer-duo-latin-700-normal.DGKp3k3G.woff2) format("woff2"),url(/_astro/ia-writer-duo-latin-700-normal.Cj5eiiop.woff) format("woff")}@font-face{font-family:"Instrument Serif";font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/instrument-serif-latin-400-normal.DnYpCC2O.woff2) format("woff2"),url(/_astro/instrument-serif-latin-400-normal.BVbkICAY.woff) format("woff")}*{margin:0;padding:0;box-sizing:border-box}:root{--bg: #F2F2F0;--fg: #111111;--accent: #D6202A;--hair: rgba(17, 17, 17, .16);--pad: clamp(24px, 4vw, 56px);--sidebar-bg: #111111;--sidebar-fg: #F2F2F0;--sidebar-hair: rgba(242, 242, 240, .18)}[data-theme=dark]{--bg: #131313;--fg: #EDEDEB;--accent: #F0453D;--hair: rgba(237, 237, 235, .16);--sidebar-bg: #F2F2F0;--sidebar-fg: #111111;--sidebar-hair: rgba(17, 17, 17, .16)}html{scroll-behavior:smooth;height:100%}body{background:var(--bg);color:var(--fg);font-family:iA Writer Quattro,ui-monospace,monospace;font-size:13px;line-height:1.5;height:100%;overflow:hidden;-webkit-font-smoothing:antialiased}.serif{font-family:iA Writer Duo,Georgia,serif}:root{--display: "Instrument Serif", "iA Writer Duo", Georgia, serif}.container{display:flex;height:100%;width:100%;transition:all .3s ease-in-out}.left-pane{width:38%;height:100%;overflow-y:auto;padding:var(--pad);display:flex;flex-direction:column;justify-content:space-between;background:var(--sidebar-bg);color:var(--sidebar-fg);--fg: var(--sidebar-fg);--hair: var(--sidebar-hair)}.right-pane{width:62%;height:100%;overflow-y:auto;padding:var(--pad);background:var(--bg);display:flex;flex-direction:column;justify-content:flex-start}.left-head{display:flex;justify-content:space-between;align-items:baseline;font-size:11px;margin-bottom:clamp(20px,4vh,40px)}.brand{font-weight:700;letter-spacing:.25em;text-transform:uppercase}.brand a:after{content:"";display:inline-block;width:5px;height:5px;background:var(--accent);margin-left:7px;vertical-align:.08em}.brand a{color:inherit;text-decoration:none;transition:color .15s}.brand a:hover{color:var(--accent)}.date{opacity:.5;letter-spacing:.05em;text-transform:uppercase;font-size:10px}.head-right{display:flex;align-items:center;gap:10px}.statement{font-family:var(--display);font-size:clamp(22px,2.6vw,31px);line-height:1.16;letter-spacing:-.005em;margin-bottom:20px;font-weight:400;text-wrap:pretty}.statement a.marker{color:inherit;text-decoration:none;border-bottom:2px solid var(--accent);padding-bottom:2px;cursor:pointer;transition:background .15s,border-color .15s}.statement a.marker:hover{background:#d6202a1a}.statement a.marker[aria-current=true]{background:#d6202a29;border-bottom-color:var(--fg)}.sections{display:flex;flex-direction:column;gap:16px;margin-top:clamp(28px,6vh,64px)}.section-link{display:block;width:100%;text-align:left;background:none;border:0;padding:0;color:inherit;font:inherit;cursor:pointer;text-decoration:none}.section-name{display:block;font-family:var(--display);font-size:clamp(21px,2vw,26px);font-weight:400;letter-spacing:.005em;line-height:1.2;transition:color .15s}.section-link:hover .section-name,.section-link:focus-visible .section-name,.section-link[aria-current=page] .section-name{color:var(--accent)}.section-desc{display:block;font-family:iA Writer Duo,Georgia,serif;font-style:italic;font-size:12.5px;line-height:1.45;opacity:0;max-height:0;overflow:hidden;transition:opacity .18s ease,max-height .18s ease,margin-top .18s ease}.section-link:hover .section-desc,.section-link:focus-visible .section-desc,.section-link[aria-current=page] .section-desc{opacity:.75;max-height:5em;margin-top:3px}.section-link:focus-visible{outline:2px solid var(--accent);outline-offset:3px}body.editing [data-copy]{outline:1px dashed var(--accent);outline-offset:4px;cursor:text}body.editing .section-desc{opacity:.75;max-height:5em;margin-top:6px}body.editing .section-link{cursor:text}#export-box{position:fixed;inset:auto 24px 24px;z-index:60;max-width:720px;margin:0 auto;background:var(--bg);border:1px solid var(--accent);padding:14px 16px 12px;display:flex;flex-direction:column;gap:8px;box-shadow:0 8px 40px #00000059}#export-box[hidden]{display:none}#export-box label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;opacity:.7}#export-text{width:100%;height:34vh;resize:vertical;font:13px/1.5 iA Writer Quattro,ui-monospace,monospace;color:inherit;background:transparent;border:1px solid rgba(128,128,128,.35);padding:10px}#export-close{align-self:flex-end}.footer-right{display:flex;align-items:center;gap:12px}.alt-toggle{background:none;border:1px solid var(--hair);color:var(--fg);font:inherit;font-size:10px;padding:2px 7px;cursor:pointer;opacity:.7}.alt-toggle:hover{opacity:1;border-color:var(--accent);color:var(--accent)}.footer{display:flex;flex-direction:column;align-items:stretch;gap:0;font-size:11px;border-top:1px solid var(--hair);padding-top:20px;margin-top:auto}.footer-base{display:flex;flex-wrap:wrap;gap:10px 14px;justify-content:space-between;align-items:center;border-top:1px solid var(--hair);padding-top:13px;margin-top:18px}.footer-legal{font-size:10px;letter-spacing:.02em;opacity:.7}.footer-right{opacity:.85}.footer-links{display:flex;gap:15px}.footer-links span{color:var(--accent);opacity:1}.footer-links a{color:var(--fg);text-decoration:none}.footer-links a:hover{color:var(--accent);text-decoration:underline}.theme-toggle{cursor:pointer;font-size:13px;line-height:1;padding:0;background:none;border:none;color:var(--fg);opacity:.7}.theme-toggle:hover{opacity:1;color:var(--accent)}.right-pane[data-view=section] #logo-view{display:none}.logo-view-container{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;gap:24px}.logo-area{perspective:900px}#logo-pre{line-height:1.05em;font-size:7.5px;white-space:pre;user-select:none;cursor:crosshair;transition:color .2s;transform-origin:50% 50%;color:var(--fg)}body:active #logo-pre{color:var(--accent)!important}.cv-view-container{display:block;width:100%;height:100%;overflow-y:auto;padding-top:20px}.cv-section h3{display:inline-block;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.18em;background:var(--fg);color:var(--bg);padding:4px 9px;margin-bottom:22px}.cv-list{list-style:none;display:flex;flex-direction:column;gap:14px}.cv-item{display:flex;align-items:flex-start}.cv-year{font-size:11px;opacity:.5;width:118px;padding-right:14px;line-height:1.5;flex-shrink:0}.cv-details{flex:1}.cv-title{font-weight:700}.cv-subtitle{font-size:12px;opacity:.7;margin-top:3px}.project-link{cursor:pointer;color:var(--fg);text-decoration:none;transition:color .15s;border-bottom:1px solid transparent}.project-link:after{content:" ↗";font-size:9px;color:var(--accent);opacity:.8}.project-link:hover{color:var(--accent);border-bottom-color:var(--accent)}.project-link[aria-current=true]{color:var(--accent);font-weight:700}.detail-view{display:flex;flex-direction:column;gap:25px;width:100%}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.back-btn{align-self:flex-start;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--fg);text-decoration:none;opacity:.6;transition:all .15s;display:flex;align-items:center;gap:6px;margin-bottom:5px}.back-btn:hover{opacity:1;color:var(--accent)}.detail-image-wrap{position:relative;width:100%;aspect-ratio:16 / 10;background:var(--bg);border:1px solid var(--hair);overflow:hidden;transition:transform .22s cubic-bezier(.22,1,.36,1)}.detail-image-wrap img{display:block;width:100%;height:100%;object-fit:cover}.detail-image-wrap canvas{position:absolute;inset:0;width:100%;height:100%;transition:opacity .6s cubic-bezier(.16,1,.3,1)}.detail-image-wrap:hover{transform:translateY(-3px)}.credit-block{display:flex;gap:10px;font-size:12px;margin-top:10px}.credit-block .credit-lines span{display:block;line-height:1.6}.credit-block .t{font-family:var(--display);font-weight:400;font-size:27px;line-height:1.15;letter-spacing:-.005em}.credit-block .s{opacity:.7}.credit-block .m{opacity:.5}.detail-body{font-size:15px;line-height:1.65;max-width:58ch;margin-top:15px}.detail-body p{margin-bottom:16px}.detail-body a{color:var(--fg);border-bottom:1px solid var(--fg);text-decoration:none}.detail-body a:hover{color:var(--accent);border-bottom-color:var(--accent)}.detail-btn{align-self:flex-start;font-family:inherit;font-size:11px;text-transform:uppercase;letter-spacing:.1em;background:none;border:1px solid var(--fg);color:var(--fg);padding:7px 16px;cursor:pointer;text-decoration:none;margin-top:15px;transition:all .2s}.detail-btn:hover{background:var(--fg);color:var(--bg)}.prose{font-size:15px;line-height:1.65;max-width:58ch;margin-bottom:28px}.prose p{margin-bottom:14px}.prose a{color:var(--fg);border-bottom:1px solid var(--fg);text-decoration:none;cursor:pointer}.prose a:hover{color:var(--accent);border-bottom-color:var(--accent)}.cv-section h3.sub{margin-top:36px}.cv-title em{font-weight:400;font-style:italic;opacity:.75}.footer-game{display:flex;flex-direction:column;gap:6px;max-width:44ch}.fg-fold{display:inline-flex;align-items:baseline;gap:8px;flex-wrap:wrap;align-self:flex-start;font:inherit;font-size:9px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;background:none;border:0;padding:0;color:var(--fg);text-align:left;cursor:pointer}.fg-fold-cta{border-bottom:2px solid var(--accent);padding-bottom:2px}.fg-fold:hover .fg-fold-cta{color:var(--accent)}.fg-fold-note{display:none}.fg-body{display:none;flex-direction:column;gap:7px}.footer-game.open .fg-body{display:flex;margin-top:4px}.fg-head{display:flex;align-items:baseline;gap:10px}.fg-label{font-size:9px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;opacity:.5}.fg-quote{margin:0;font-family:iA Writer Duo,Georgia,serif;font-style:italic;font-size:12px;line-height:1.45}.fg-options{display:flex;flex-wrap:wrap;gap:6px}.fg-options button,.fg-again{font:inherit;font-size:10px;background:none;color:var(--fg);border:1px solid var(--hair);padding:2px 7px;cursor:pointer}.fg-options button:hover:not([disabled]){border-color:var(--accent);color:var(--accent)}.fg-options button[data-state=right]{border-color:var(--accent);background:var(--accent);color:var(--sidebar-fg)}.fg-options button[data-state=wrong]{opacity:.45;text-decoration:line-through}.fg-options button[disabled]{cursor:default}.fg-again{border:0;border-bottom:1px solid var(--accent);padding:0 0 2px;color:var(--fg);font-size:10.5px}.fg-again:hover{border-bottom-width:2px}.fg-foot{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.fg-result{font-family:iA Writer Duo,Georgia,serif;font-style:italic;font-size:12.5px;line-height:1.45;opacity:1}.footer-privacy{font-size:10px;color:var(--fg);text-decoration:none;border-bottom:1px solid var(--hair)}.footer-privacy:hover{color:var(--accent);border-bottom-color:var(--accent)}.contact-form{display:flex;flex-direction:column;gap:22px;max-width:46ch;margin-top:8px}.contact-form .field{display:flex;flex-direction:column;gap:6px}.contact-form label{font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;display:flex;align-items:baseline;gap:8px}.contact-form .req{color:var(--accent);font-weight:400;letter-spacing:.1em}.contact-form .opt{opacity:.45;font-weight:400;letter-spacing:.1em}.contact-form input,.contact-form textarea{font:14px/1.5 iA Writer Quattro,ui-monospace,monospace;color:var(--fg);background:transparent;border:0;border-bottom:1px solid var(--fg);padding:7px 0;border-radius:0;width:100%}.contact-form textarea{resize:vertical;border:1px solid var(--fg);padding:10px}.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--accent)}.contact-form .err{font-size:11px;color:var(--accent)}.contact-form [aria-invalid=true]{border-color:var(--accent)}.form-foot{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.form-foot .sent{font-family:iA Writer Duo,Georgia,serif;font-style:italic;font-size:12.5px;opacity:.7}@media(hover:none){.section-desc{opacity:.75;max-height:5em;margin-top:6px}}@media(max-width:900px){body{overflow-y:auto;height:auto}.container{flex-direction:column;height:auto}.left-pane,.right-pane{width:100%!important;height:auto;overflow-y:visible}.left-pane{border-right:none;padding-bottom:0}.right-pane{min-height:auto;padding-top:28px}.logo-view-container{min-height:76vh}.statement{font-size:24px;margin-bottom:0}.sections{flex-direction:row;align-items:baseline;gap:14px;margin-top:22px;padding:0 var(--pad) 18px;margin-left:calc(var(--pad) * -1);margin-right:calc(var(--pad) * -1);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;background:var(--sidebar-bg)}.sections::-webkit-scrollbar{display:none}.section-link{width:auto;flex:none;white-space:nowrap;padding:0}.section-name{font-size:27px;padding:1px 6px}.section-link[aria-current=page] .section-name{background:var(--accent);color:var(--sidebar-fg);padding:1px 8px}.section-desc,body.editing .section-desc{display:none}.sections.pinned{position:fixed;top:0;left:0;right:0;z-index:40;margin-top:0;margin-left:0;margin-right:0;padding:11px var(--pad);border-bottom:1px solid var(--sidebar-hair);background:var(--sidebar-bg);color:var(--sidebar-fg)}.footer{font-size:10px}.fg-fold{font-size:10px;letter-spacing:.02em;text-transform:none;font-weight:400}.fg-fold-note{display:inline;opacity:.5}.footer-game.open .fg-body{margin-top:8px}.right-pane>.footer{background:var(--sidebar-bg);color:var(--sidebar-fg);--fg: var(--sidebar-fg);--hair: var(--sidebar-hair);border-top:0;margin:44px calc(var(--pad) * -1) calc(var(--pad) * -1);padding:26px var(--pad) 22px}.right-pane>.footer .footer-base{padding-top:15px;margin-top:20px}.right-pane>.footer .footer-legal{line-height:1.6}}.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}#logo-pre[data-astro-cid-moczxvb3]{will-change:transform}@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}}
