@font-face{font-family:Powell Antique;src:url(../assets/fonts/powell-antique.woff2?v=2) format("woff2");font-weight:400;font-style:normal;font-display:block}@font-face{font-family:Fournier;src:url(../assets/fonts/fournier.woff2?v=2) format("woff2");font-weight:400;font-style:normal;font-display:block}@font-face{font-family:Chivo;src:url(../assets/fonts/chivo.woff2?v=2) format("woff2");font-weight:400;font-style:normal;font-display:block}:root{--color-bg: #f4f4f3;--color-ink: #000;--color-accent: #1a3cff;--color-selection: #ffe600;--font-display: "Powell Antique", Georgia, serif;--font-swap: "Fournier", Georgia, serif;--font-body: "Chivo", system-ui, -apple-system, "Segoe UI", sans-serif;--gutter: clamp(18px, 3vw, 32px);--name-copy-gap: clamp(4px, 1vh, 9px)}*,*:before,*:after{box-sizing:border-box}html{overflow-x:hidden;overscroll-behavior:none}body{margin:0;background:var(--color-bg);color:var(--color-ink);font-family:var(--font-body);-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}::selection{background:var(--color-selection);color:var(--color-ink)}a{color:var(--color-ink);text-decoration:underline;text-underline-offset:3px}a:hover{color:var(--color-accent)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.stage{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:0;transition:opacity .7s ease}.stage.is-ready{opacity:1}@media (prefers-reduced-motion: reduce){.stage{transition-duration:.01ms}}.stage canvas{display:block}body.is-pressing,body.is-pressing *{user-select:none;-webkit-user-select:none}.page{position:relative;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:flex-start;padding:calc(var(--gutter) + env(safe-area-inset-top)) calc(var(--gutter) + env(safe-area-inset-right)) calc(var(--gutter) + env(safe-area-inset-bottom)) calc(var(--gutter) + env(safe-area-inset-left))}.name{position:relative;margin:0 0 0 -.04em;padding-bottom:.42em;font-family:var(--font-display);font-weight:400;font-size:clamp(26px,5.5vw,32px);line-height:1;letter-spacing:.02em;font-kerning:normal;cursor:default;user-select:none;-webkit-user-select:none;touch-action:manipulation;contain:layout style}.name__layer{display:block}.name__layer--accent{position:absolute;inset:0;color:var(--color-accent);pointer-events:none;opacity:0;transition:opacity .25s ease;clip-path:circle(0 at -100px -100px);will-change:clip-path,opacity;contain:layout style}.letter{position:relative;display:inline-block}.letter__slot{visibility:hidden}.letter__glyph{position:absolute;left:0;bottom:0;transform-origin:left bottom}.copy{display:flex;flex-direction:column;gap:2px;margin-top:var(--name-copy-gap);max-width:38em;font-size:clamp(12px,2.6vw,12.5px);font-weight:400;line-height:1.45;letter-spacing:.01em;font-kerning:normal}.copy p{margin:0}.contact{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.contact__link{position:relative;z-index:2;display:inline-flex;align-items:center;gap:.45em;padding:6px;margin:-6px -2px;text-decoration:none;border-radius:2px}.contact__link svg{display:block;width:1.05em;height:1.05em;flex:none}.contact__label{max-width:0;overflow:hidden;white-space:nowrap;opacity:0;background-color:transparent;transition:max-width .32s ease,opacity .2s ease,background-color .2s ease}@media (hover: hover) and (pointer: fine){.contact__link:hover .contact__label,.contact__link:focus-visible .contact__label{max-width:22ch;opacity:1;background-color:var(--color-selection)}}.contact__link.is-open .contact__label{max-width:22ch;opacity:1}.contact__link.is-copied .contact__label{max-width:22ch;opacity:1;color:var(--color-accent)}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.year{margin:auto 0 0;font-family:var(--font-display);font-size:10px;line-height:1;letter-spacing:.06em}.hint{position:absolute;right:calc(var(--gutter) + env(safe-area-inset-right));bottom:calc(var(--gutter) + env(safe-area-inset-bottom));margin:0;font-family:var(--font-display);font-size:10px;line-height:1;letter-spacing:.06em;color:var(--color-ink);opacity:0;transition:opacity .8s ease;pointer-events:none;user-select:none}.hint[hidden]{display:none}.hint.is-visible{opacity:.55}@media (prefers-reduced-motion: reduce){.hint{transition:none}}@media (prefers-reduced-motion: reduce){.name__layer--accent{transition:none}}
