@font-face{font-family:DM Mono;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/dm-mono-300.woff2)format("woff2")}@font-face{font-family:DM Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/dm-mono-400.woff2)format("woff2")}@font-face{font-family:DM Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/dm-mono-500.woff2)format("woff2")}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#f2eee5;--paper-raised:#f8f4eb;--ink:#1b1915;--muted:#736d62;--faint:#aaa193;--line:#1b191524;--accent:#d9472f;--accent-muted:color-mix(in srgb, var(--accent) 35%, var(--muted) 65%);--accent-rgb:217, 71, 47;--shadow:#201b121f;--font-display:18px;--font-body:14px;--interest-dot-size:3.5px;font-family:DM Mono,ui-monospace,SFMono-Regular,Menlo,monospace}:root[data-mode=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#17140f;--paper-raised:#1e1a14;--ink:#e6dfd2;--muted:#9f9789;--accent-muted:color-mix(in srgb, var(--accent) 40%, var(--muted) 60%);--faint:#675f54;--line:#e6dfd221;--shadow:#0000004d}:root[data-accent=ember]{--accent:#ef6248;--accent-rgb:239, 98, 72}:root[data-accent=amber]{--accent:#d59620;--accent-rgb:213, 150, 32}:root[data-accent=moss]{--accent:#6d9d69;--accent-rgb:109, 157, 105}:root[data-accent=cobalt]{--accent:#557fc4;--accent-rgb:85, 127, 196}:root[data-accent=plum]{--accent:#9a6bb5;--accent-rgb:154, 107, 181}*{box-sizing:border-box}html{background:var(--paper)}body{background:var(--paper);min-width:320px;color:var(--ink);font-size:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;line-height:1.75}button,a{-webkit-tap-highlight-color:transparent}a{color:var(--ink);border-bottom:1px solid var(--line);text-decoration:none;transition:color .15s,border-color .15s}a:hover{color:var(--accent);border-bottom-color:var(--accent)}::selection{color:var(--paper);background:var(--accent)}.site-shell{min-height:100vh;position:relative}.noise{pointer-events:none;z-index:100;opacity:.026;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.65'/%3E%3C/svg%3E");position:fixed;inset:0}.utility{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;width:min(680px,100% - 40px);height:52px;margin:0 auto;display:flex}.monogram{color:var(--accent);font-size:var(--font-display);letter-spacing:.08em;font-weight:500}.utility-controls{align-items:center;gap:6px;display:flex}.swatch-button,.mode-button{border:1px solid var(--line);width:29px;height:29px;color:var(--muted);cursor:pointer;background:0 0;border-radius:2px;place-items:center;padding:7px;display:grid}.swatch-button:hover,.mode-button:hover{border-color:var(--accent);color:var(--accent)}.swatch-button span{background:var(--accent);border-radius:50%;width:10px;height:10px}.mode-button svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.palette{position:relative}.palette-menu{z-index:10;border:1px solid var(--line);background:var(--paper-raised);width:140px;box-shadow:4px 4px 0 var(--shadow);padding:5px;animation:.12s ease-out menu-in;position:absolute;top:36px;right:0}@keyframes menu-in{0%{opacity:0;transform:translateY(-3px)}}.palette-menu button{width:100%;color:var(--ink);font:inherit;font-size:var(--font-body);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:13px 1fr;align-items:center;gap:8px;padding:7px;display:grid}.palette-menu button:hover,.palette-menu button[aria-checked=true]{background:rgba(var(--accent-rgb), .1)}.palette-menu i{border-radius:50%;width:9px;height:9px}.page{width:min(640px,100% - 40px);margin:0 auto;padding:62px 0 100px}.intro{margin-bottom:54px}h1{font-size:var(--font-display);letter-spacing:.01em;margin:0 0 4px;font-weight:500;line-height:1.5}.tagline{color:var(--muted);margin:0 0 24px;font-weight:300}.bio{max-width:580px;font-size:var(--font-body);margin:0 0 13px;line-height:1.8}.meta{color:var(--muted);font-size:var(--font-body);margin:0}section{margin-bottom:44px}h2{color:var(--accent-muted);font-size:var(--font-body);letter-spacing:.14em;text-transform:uppercase;margin:0 0 14px;font-weight:500;line-height:1.5}.project-list{border-top:1px solid var(--line)}.project{padding:19px 0 20px}.project:last-child{border-bottom:1px solid var(--line)}.project-heading{justify-content:space-between;align-items:baseline;gap:20px;display:flex}.project h3,.note-list h3{font-size:var(--font-body);margin:0;font-weight:500;line-height:1.6}.project-heading>span{color:var(--faint);font-size:var(--font-body)}.project p{max-width:555px;color:var(--muted);margin:4px 0 7px;font-weight:300}.plain-list{margin:0;padding:0;list-style:none}.plain-list li{color:var(--muted);grid-template-columns:90px 1fr;gap:18px;padding:4px 0;font-weight:300;display:grid}.plain-list li span{color:var(--ink);font-size:var(--font-body);font-weight:500}.note-list article{grid-template-columns:68px 1fr;gap:18px;padding:7px 0;display:grid}.note-list article>span{color:var(--faint);font-size:var(--font-body)}.note-list p{color:var(--muted);font-size:var(--font-body);margin:1px 0 0;font-weight:300}.interests{color:var(--muted);flex-wrap:wrap;align-items:center;margin:0;font-weight:300;display:flex}.interest-item{align-items:center;display:inline-flex}.interest-separator{width:var(--interest-dot-size);height:var(--interest-dot-size);background:var(--accent);border-radius:50%;flex:none;margin:0 .65em}.other-things{color:var(--muted);margin:0;font-weight:300}.modal-backdrop{z-index:200;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#5a5a5a52;place-items:center;padding:24px;animation:.42s cubic-bezier(.22,1,.36,1) both modal-backdrop-in;display:grid;position:fixed;inset:0}:root[data-mode=dark] .modal-backdrop{background:#14141473}.rumi-modal{border:1px solid var(--line);background:var(--paper-raised);max-width:min(620px,100vw - 48px);max-height:calc(100vh - 48px);box-shadow:8px 8px 0 var(--shadow);transform-origin:50%;will-change:transform, opacity, filter;animation:.56s cubic-bezier(.16,1,.3,1) both rumi-modal-in;position:relative}.modal-backdrop.is-closing{animation:.34s cubic-bezier(.4,0,1,1) both modal-backdrop-out}.rumi-modal.is-closing{animation:.34s cubic-bezier(.4,0,.6,1) both rumi-modal-out}@keyframes modal-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes modal-backdrop-out{0%{opacity:1}to{opacity:0}}@keyframes rumi-modal-in{0%{opacity:0;filter:blur(7px);transform:translateY(24px)scale(.955)}to{opacity:1;filter:blur();transform:translate(0,0)scale(1)}}@keyframes rumi-modal-out{0%{opacity:1;filter:blur();transform:translate(0,0)scale(1)}to{opacity:0;filter:blur(3px);transform:translateY(18px)scale(.975)}}.rumi-modal img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:calc(100vh - 48px);display:block}.rumi-modal picture{display:contents}.modal-close{z-index:1;color:#fff;width:30px;height:30px;font:inherit;cursor:pointer;background:#0a0907b3;border:1px solid #ffffff73;border-radius:50%;font-size:20px;line-height:1;position:absolute;top:10px;right:10px}.modal-close:hover{background:var(--accent)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}hr{border:0;border-top:1px solid var(--line);margin:48px 0}.contact p{color:var(--muted);margin:0 0 12px}.links{flex-wrap:wrap;gap:18px;display:flex}.links a{font-size:var(--font-body)}footer{color:var(--faint);font-size:var(--font-body);text-transform:lowercase;justify-content:space-between;gap:20px;margin-top:70px;display:flex}:focus-visible{outline:1px solid var(--accent);outline-offset:3px}@media (width<=480px){.utility,.page{width:calc(100% - 36px)}.page{padding:46px 0 72px}.intro{margin-bottom:46px}section{margin-bottom:39px}.plain-list li{grid-template-columns:78px 1fr;gap:10px}.note-list article{min-width:0;padding:10px 0 11px;display:block}.note-list article>span{margin-bottom:2px;font-size:12px;line-height:1.5;display:block}.note-list article>div,.note-list h3,.note-list a{overflow-wrap:anywhere;min-width:0}footer{flex-direction:column;gap:4px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
