:root{font-family:Courier,'Courier New',monospace;color:#171717;background:#dce0e5;font-synthesis:none;--header:76px}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden}a{color:inherit}header{height:var(--header);position:fixed;inset:0 0 auto;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:#dce0e5;border-bottom:1px solid #bcbcb8}.brand{font-size:18px;font-weight:bold;text-decoration:none}nav{display:flex;gap:36px}nav a{font-size:16px;text-decoration:none;padding:10px 0;border-bottom:1px solid transparent}nav a:hover,nav a[aria-current]{border-color:currentColor}a:focus-visible,main:focus-visible{outline:2px solid #171717;outline-offset:5px}main{position:fixed;top:var(--header);left:0;width:100%;height:calc(100dvh - var(--header));overflow-y:auto;overflow-x:hidden;scroll-snap-type:y mandatory;overscroll-behavior-y:contain;scroll-behavior:smooth;scrollbar-width:none}main::-webkit-scrollbar{display:none}.page{position:relative;height:100%;min-height:100%;scroll-snap-align:start;scroll-snap-stop:always;isolation:isolate;overflow:hidden;background:#dce0e5}.page-label{position:absolute;top:30px;left:5vw;right:5vw;display:flex;justify-content:space-between;border-bottom:1px solid #bcbcb8;padding-bottom:17px}.page-label h2{font-size:16px;font-weight:normal;margin:0}.page-label span{font-size:14px;color:#666}.cover-copy{position:absolute;left:7vw;top:32%;z-index:2;width:40%}.eyebrow{font-size:14px;margin:0 0 25px;color:#666}.cover-copy h1{font-size:clamp(38px,5.2vw,84px);letter-spacing:-.075em;line-height:1.05;font-weight:normal;margin:0 0 28px}.cover-copy h1 span{display:block}.role{font-size:clamp(16px,1.35vw,21px);line-height:1.55;margin:0}.cutout{position:absolute;height:94%;width:auto;max-width:65%;object-fit:contain;object-position:bottom;left:67%;bottom:0;transform:translateX(-50%);z-index:1}.cover-foot{position:absolute;bottom:25px;left:7vw;font-size:13px;z-index:3;color:#656560}.contact-body{position:absolute;left:7vw;right:7vw;top:45%;transform:translateY(-50%)}.contact-body p{font-size:16px;margin-bottom:25px}.email{font-size:clamp(20px,3.3vw,54px);letter-spacing:-.055em;line-height:1.6;text-decoration-thickness:1px;text-underline-offset:10px;overflow-wrap:anywhere}.copyright{position:absolute;bottom:28px;left:5vw;font-size:13px;color:#666}@media(max-width:700px){:root{--header:66px}header{padding:0 6vw}.brand{font-size:16px}nav{gap:20px}nav a{font-size:14px}.cover-copy{top:7%;left:7vw;width:86%}.cover-copy h1{font-size:clamp(32px,8vw,52px);margin-bottom:14px}.cover-copy h1 span{display:inline}.eyebrow{margin-bottom:16px;font-size:13px}.role{font-size:16px}.cutout{height:64%;max-width:98%;left:67%}.cover-foot{bottom:18px;font-size:12px;max-width:25%;line-height:1.5}.page-label{top:24px;left:6vw;right:6vw}.email{font-size:clamp(18px,4.4vw,30px)}}@media(max-height:500px) and (min-width:701px){.cover-copy{top:15%}.cover-copy h1{font-size:38px;margin-bottom:15px}.eyebrow{margin-bottom:12px}.role{font-size:16px}}@media(prefers-reduced-motion:reduce){main{scroll-behavior:auto}}

.about-body{position:absolute;inset:105px 10vw 45px;display:flex;align-items:center;overflow:auto;overscroll-behavior:auto}.about-body p{max-width:1050px;margin:auto;font-size:clamp(16px,1.7vw,25px);line-height:1.75;letter-spacing:-.025em}@media(max-width:700px){.about-body{inset:85px 7vw 24px;display:block}.about-body p{font-size:16px;line-height:1.6}}

.cutout{max-width:none;width:auto;height:94%;left:67%;transform:translateX(-32.5225%);pointer-events:none}@media(max-width:700px){.cutout{height:64%;max-width:none;left:67%}}

.ascii-ripple{position:absolute;inset:0;z-index:0;overflow:hidden;touch-action:none;user-select:none}.ascii-ripple canvas{display:block;width:100%;height:100%}.ripple-hint{position:absolute;right:5vw;bottom:25px;z-index:3;font-size:11px;letter-spacing:.08em;color:#81817b;pointer-events:none}@media(max-width:700px){.ripple-hint{right:6vw;bottom:18px;font-size:9px;max-width:34%;text-align:right}}
.cover-copy{top:22%!important}.ascii-ripple{z-index:0}header{height:38px!important}main{top:38px;height:calc(100dvh - 38px)}@media(max-width:700px){header{height:33px!important}main{top:33px;height:calc(100dvh - 33px)}.cover-copy{top:4%!important}}
.variable-proximity{font-family:Courier,'Courier New',monospace}.variable-word{display:inline-block;white-space:nowrap;text-indent:0}.variable-letter{display:inline-block;width:.6em;transform-origin:50% 70%;will-change:transform;font-family:inherit;transition:transform 90ms ease-out,color 90ms ease-out}.variable-space{display:inline-block;width:.6em;text-indent:0}@media(prefers-reduced-motion:reduce){.variable-letter{transition:none!important;transform:none!important}}
.cover-copy .eyebrow,.cover-copy h1,.cover-copy .role,.cover-foot{text-shadow:0 0 1px #fff,0 0 2px #fff,0 0 3px #fff,0 0 5px rgba(255,255,255,.99),0 0 8px rgba(255,255,255,.98),0 0 14px rgba(255,255,255,.94),0 0 24px rgba(255,255,255,.84),0 0 36px rgba(255,255,255,.68)}
.cover-copy{top:45%!important;left:12vw;transform:translateY(-50%)}.cover-copy .role{white-space:nowrap}.email:hover,nav a:hover{font-weight:bold}@media(max-width:700px){.cover-copy{top:45%!important;left:12vw;width:81%;transform:translateY(-50%)}.cover-copy .role{white-space:nowrap;font-size:clamp(13px,3.7vw,16px)}}
.works-mode,.works-mode header{background:#000;color:#fff}.works-mode header{border-color:#666;transition:background-color 467ms ease,color 467ms ease,border-color 467ms ease}.works-mode .page{background:#000;color:#fff;transition:background-color 467ms ease,color 467ms ease}.works-mode .page-label{border-color:#666}.works-mode .page-label span{color:#aaa}.works-mode .ascii-ripple canvas{filter:invert(1);transition:filter 467ms ease}.works-mode a:focus-visible,.works-mode main:focus-visible{outline-color:#fff}
.page,header,.ascii-ripple canvas{transition:background-color 467ms ease,color 467ms ease,border-color 467ms ease,filter 467ms ease}
.cover-variable-letter,.cover-copy h1 .cover-variable-letter{display:inline-block;transform-origin:50% 70%;will-change:transform;font:inherit;font-weight:inherit;letter-spacing:inherit;word-spacing:inherit;transition:transform 90ms ease-out,color 90ms ease-out}@media(prefers-reduced-motion:reduce){.cover-variable-letter{transition:none!important;transform:none!important}}
.page>:not(.ascii-ripple):not(.cutout){opacity:0;transition:opacity 1000ms ease}.page.is-visible>:not(.ascii-ripple):not(.cutout){opacity:1}.page>:not(.ascii-ripple):not(.cutout):nth-child(2){transition-delay:70ms}.page>:not(.ascii-ripple):not(.cutout):nth-child(3){transition-delay:140ms}.page>:not(.ascii-ripple):not(.cutout):nth-child(4){transition-delay:210ms}@media(prefers-reduced-motion:reduce){.page>:not(.ascii-ripple):not(.cutout){opacity:1!important;transition:none!important}}
.about-content{max-width:1050px;margin:auto;width:100%;padding:10px 0}.diary-entry{display:grid;gap:10px;margin-top:30px;padding:20px 0 4px;border-top:1px solid currentColor;text-decoration:none;max-width:440px}.diary-entry>span{font-size:10px;letter-spacing:.12em;opacity:.6}.diary-entry strong{font-size:18px;font-weight:normal}.diary-entry strong span{display:inline-block;transition:transform 200ms}.diary-entry small{font-size:11px;line-height:1.6;opacity:.7}.diary-entry:hover strong span{transform:translate(3px,-3px)}.diary-entry:hover strong{font-weight:bold}
.about-body .diary-entry{display:block;width:max-content;max-width:none;margin:28px auto 0;padding:3px 0;border-top:0;border-bottom:1px solid currentColor;font-size:18px}.about-body .diary-entry:hover{font-weight:bold}

.cover-copy .eyebrow,.cover-copy h1,.cover-copy .role,.cover-foot{text-shadow:none!important}

.cover-copy h1{position:relative;height:2.1em;font-size:clamp(38px,5.2vw,84px);line-height:1.05;letter-spacing:-.075em;margin-bottom:28px}
.cover-copy h1 .name-primary{display:block;white-space:nowrap}
.cover-copy h1 .name-signature{position:absolute;left:0;top:.35em;display:block;width:7.2em;line-height:0;margin:0;pointer-events:none}
.name-signature img{display:block;width:100%;height:auto}
@media(max-width:700px){.cover-copy h1{font-size:clamp(32px,8vw,52px);margin-bottom:14px}}
@media(max-height:500px) and (min-width:701px){.cover-copy h1{font-size:38px;margin-bottom:15px}}
