:root{--ground:#fff;--surface:#f0f0ef;--ink:#121212;--muted:#6e6e6a;--accent:#ff7e00;--accent-ink:#121212;--footage:#121212;--footage-ink:#fff;--accent-deep:#b85700;--rule:#c9c9c4;--faint:#a5a5a0;--good:#2d7a46;--bad:#c4283c;--font:"Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;--font-drawing:"JetBrains Mono", ui-monospace, Menlo, monospace;--step-small:.8125rem;--step-body:clamp(1rem, .95rem + .15vw, 1.0625rem);--step-lead:clamp(1.125rem, 1rem + .45vw, 1.375rem);--step-statement:clamp(1.375rem, 1rem + 1.2vw, 2rem);--step-display:clamp(3.5rem, 8.8vw, 9rem);--margin:16px;--pad:clamp(24px, 4vw, 64px);--section-gap:clamp(96px, 12vw, 176px);--ease-out:cubic-bezier(.22, 1, .36, 1)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--ground);color:var(--ink);font-family:var(--font);font-size:var(--step-body);-webkit-font-smoothing:antialiased;margin:0;font-weight:400;line-height:1.55}h1,h2,p,ul,figure{margin:0}ul{padding:0;list-style:none}img,video,canvas{max-width:100%;height:auto;display:block}a{color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}::selection{background:var(--accent);color:var(--accent-ink)}p{text-wrap:pretty}h1,h2{text-wrap:balance}.skip{left:var(--margin);background:var(--ink);color:var(--ground);z-index:10;padding:10px 16px;position:absolute;top:-100px}.skip:focus{top:var(--margin)}.stage{gap:var(--margin);padding:var(--margin);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}.sheet{background:var(--ground);padding:0 var(--pad) var(--section-gap);min-height:calc(100svh - 2 * var(--margin))}.portrait{top:var(--margin);height:calc(100svh - 2 * var(--margin));background:var(--ground);flex-direction:column;display:flex;position:sticky}.portrait-frame{flex:1;min-height:0;position:relative;overflow:hidden}.portrait-frame img{object-fit:cover;object-position:50% 30%;width:100%;height:100%}.portrait-frame canvas{touch-action:pan-y;width:100%;height:100%;position:absolute;inset:0}html.ascii-live .portrait-frame canvas{cursor:none}.nav{min-height:72px;font-size:var(--step-small);justify-content:space-between;align-items:center;display:flex}.nav ul{gap:28px;display:flex}.nav a{transition:color .16s var(--ease-out);padding:8px 0;text-decoration:none}.nav a:hover{color:var(--accent)}.intro{padding-top:clamp(40px,9svh,112px)}.wordmark{font-size:var(--step-display);letter-spacing:-.06em;white-space:nowrap;margin-left:-.04em;font-weight:300;line-height:.9}.lede{max-width:30ch;font-size:var(--step-lead);letter-spacing:-.01em;margin-top:36px;line-height:1.3}.button{background:var(--accent);min-height:52px;color:var(--accent-ink);transition:transform .18s var(--ease-out), background-color .18s var(--ease-out);align-items:center;margin-top:32px;padding:0 28px;font-weight:500;text-decoration:none;display:inline-flex}.button:hover{background:var(--ink)}.button:active{transform:scale(.97)}.writing{margin-top:clamp(72px,12svh,128px)}.writing h2,.about h2{font-size:var(--step-lead);letter-spacing:-.015em;margin-bottom:28px;font-weight:500;line-height:1.2}.year+.year{margin-top:40px}.year-label{font-size:var(--step-small);color:var(--muted);font-variant-numeric:tabular-nums;margin-bottom:6px}.post{justify-content:space-between;align-items:baseline;gap:1ch;padding:9px 0;text-decoration:none;display:flex}.leader{white-space:nowrap;min-width:3ch;color:var(--muted);opacity:.6;flex:1;overflow:hidden}.leader:before{content:"................................................................................"}.post-status{color:var(--muted)}.post-title{transition:transform .22s var(--ease-out), color .16s var(--ease-out)}.post time{font-size:var(--step-small);color:var(--muted);font-variant-numeric:tabular-nums;transition:color .16s var(--ease-out);flex:none}.post:hover .post-title,.post:focus-visible .post-title{color:var(--accent);transform:translate(8px)}.post:hover time{color:var(--ink)}.about{margin-top:var(--section-gap)}.letter{max-width:34em}.letter p+p{margin-top:1.1em}.signoff{font-size:var(--step-lead);letter-spacing:-.015em;flex-direction:column;margin-top:48px;font-weight:500;line-height:1.25;display:flex}.signoff .role{font-size:var(--step-small);letter-spacing:0;color:var(--muted);margin-top:6px;font-weight:400}.contact{column-gap:var(--margin);margin:0 var(--margin);padding:clamp(96px, 11vw, 160px) var(--pad) clamp(88px, 9vw, 120px);background:var(--accent);color:var(--accent-ink);grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;display:grid}.contact-statement{font-size:var(--step-statement);letter-spacing:-.02em;grid-column:1/6;font-weight:300;line-height:1.15}.contact-photo{aspect-ratio:1;object-fit:cover;grid-column:8/10;width:100%;max-width:180px}.contact-links{grid-column:10/13}.contact-links h2{font-size:var(--step-body);font-weight:500;line-height:1.3}.contact-links ul{gap:6px;margin-top:20px;display:grid}.contact-links a{text-underline-offset:4px;overflow-wrap:anywhere;transition:text-underline-offset .18s var(--ease-out);text-decoration-thickness:1px}.contact-links a:hover{text-underline-offset:7px}.contact .note{font-size:var(--step-small);opacity:.85;margin-top:20px}.footer{height:calc(100svh - 2 * var(--margin));min-height:560px;margin:var(--margin);background:var(--footage);color:var(--footage-ink);position:relative;overflow:hidden}.footer-video,.footer canvas{width:100%;height:100%;position:absolute;inset:0}.footer-video{object-fit:cover;object-position:50% 60%;filter:brightness(.62)}.footer canvas{touch-action:pan-y}.footer-top,.footer-bottom{left:var(--pad);right:var(--pad);z-index:1;pointer-events:none;position:absolute}.footer-top a,.footer-bottom a{pointer-events:auto}.footer-top{justify-content:space-between;gap:24px;display:flex;top:32px}.footer-top ul{gap:4px;display:grid}.footer-top ul:last-child{text-align:right}.footer-top a{transition:opacity .16s var(--ease-out);text-decoration:none}.footer-top a:hover{opacity:.7}.footer-bottom{bottom:28px}.footer-mark{letter-spacing:-.06em;white-space:nowrap;margin-left:-.04em;font-size:20vw;font-weight:300;line-height:.8}.legal{max-width:80ch;font-size:var(--step-small);opacity:.85;margin-top:24px}@media (prefers-reduced-motion:no-preference){html.js [data-reveal]{opacity:0;transition:opacity .7s var(--ease-out), transform .9s var(--ease-out);transition-delay:calc(var(--i,0) * 70ms);animation:0s 2.5s forwards reveal-fallback;transform:translateY(24px)}html.js [data-reveal].is-in{opacity:1;animation:none;transform:none}}@keyframes reveal-fallback{to{opacity:1;transform:none}}html.js .portrait-frame img{animation:0s 2.5s forwards reveal-fallback}html.js:not(.ascii-live) .portrait-frame img{opacity:0}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.post-title,.button{transition:color .16s linear}.post:hover .post-title{transform:none}}@media (width>=761px) and (width<=1080px){.stage{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr)}:root{--step-display:11.2vw}}@media (width<=1080px){.contact-statement{grid-column:1/7}.contact-photo{grid-column:8/10}.contact-links{grid-column:10/13}}@media (width<=900px){.contact{grid-template-columns:120px minmax(0,1fr);gap:40px 20px}.contact-statement{grid-column:1/-1;max-width:22em}.contact-photo{grid-column:1;max-width:120px}.contact-links{grid-column:2}}@media (width<=760px){:root{--margin:12px;--pad:24px;--step-display:18vw}.stage{grid-template-columns:minmax(0,1fr);gap:0}.portrait{top:var(--margin);z-index:0;order:-1;height:58svh}.sheet{z-index:1;margin-top:var(--margin);min-height:0;position:relative}.nav{min-height:60px}.nav ul{gap:20px}.intro{padding-top:28px}.lede{margin-top:24px}.button{justify-content:center;display:flex}.writing{margin-top:72px}.post{flex-direction:column;gap:2px;padding:10px 0}.leader{display:none}.contact{grid-template-columns:96px minmax(0,1fr);padding-top:72px;padding-bottom:72px}.contact-photo{max-width:96px}.footer{height:88svh}.footer-video{object-position:62% 50%}.footer-top{flex-direction:column}.footer-top ul:last-child{text-align:left}.footer-mark{font-size:18vw}}
