:root{--bg:#000;--ink:#000;--text:#ebe6de;--text-dim:#9b9288;--text-bright:#fffaf3;--accent:#f7931a;--line:#fff5e81c;--field:#fff5e80a;--font-display:"Fraunces", Georgia, serif;--font-body:"Instrument Sans", system-ui, sans-serif;--font-mono:"Spline Sans Mono", ui-monospace, monospace;--vh:1vh;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@supports (height:1svh){:root{--vh:1svh}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0}::selection{background:var(--accent);color:var(--ink)}.page{--pad-x:clamp(20px, 5vw, 72px);--pad-y:14px;--gap-y:14px;--main-gap:16px;--msg:clamp(84px, calc(14 * var(--vh)), 132px);isolation:isolate;row-gap:var(--gap-y);min-height:calc(100 * var(--vh));max-width:1360px;padding:var(--pad-y) var(--pad-x);grid-template-rows:auto 1fr auto;margin:0 auto;display:grid;position:relative}.page:before,.page:after{content:"";z-index:-1;pointer-events:none;position:fixed;inset:0}.page:before{background:radial-gradient(ellipse 62% 58% at 20% 46%, color-mix(in srgb, var(--accent) 11%, transparent), transparent 70%), radial-gradient(ellipse 46% 40% at 94% 108%, color-mix(in srgb, var(--accent) 6%, transparent), transparent 70%)}.page:after{opacity:.5;background-image:radial-gradient(#fff5e80f 1px,#0000 1px);background-size:28px 28px;-webkit-mask-image:radial-gradient(90% 80% at 40% 40%,#000,#0000 85%);mask-image:radial-gradient(90% 80% at 40% 40%,#000,#0000 85%)}.header{align-items:center;display:flex}.brand{font:600 19px/1 var(--font-display);letter-spacing:-.01em;color:var(--text-bright);align-items:center;gap:12px;margin:0;display:inline-flex}.brand__mark{background:var(--accent);width:32px;height:32px;color:var(--ink);font:italic 600 15px/1 var(--font-display);letter-spacing:0;border-radius:8px;place-items:center;display:grid}.main{align-content:center;row-gap:var(--main-gap);display:grid}.eyebrow{font:500 11px/1 var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin:0 0 10px}.footer{font:500 12px/1.2 var(--font-mono);color:var(--text-dim);justify-content:space-between;align-items:center;gap:16px;display:flex}.footer__links{gap:20px;display:flex}.footer a{color:inherit;text-decoration:none;transition:color .2s}.footer a:hover{color:var(--accent)}.apps-col{min-width:0;container-type:inline-size}.apps{--chrome:266px;--row:clamp(40px, calc((100 * var(--vh) - var(--msg) - 2 * var(--pad-y) - 2 * var(--gap-y) - var(--main-gap) - var(--chrome)) / var(--rows)), 56px);grid-template-columns:repeat(2,minmax(0,auto));grid-auto-flow:column;grid-template-rows:repeat(var(--rows), auto);border-top:1px solid var(--line);margin:0;padding:0;list-style:none;display:grid}.app{animation:.6s cubic-bezier(.16,1,.3,1) both rise;animation-delay:calc(var(--i) * 40ms + 40ms)}.app__link{height:var(--row);border-bottom:1px solid var(--line);color:var(--text-bright);align-items:center;gap:10px;padding:0 8px 0 2px;text-decoration:none;transition:opacity .25s,background-color .25s;display:flex}.app__icon{aspect-ratio:1;border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);background:color-mix(in srgb, var(--accent) 12%, transparent);width:28px;color:var(--accent);border-radius:24%;flex:none;place-items:center;font-size:15px;line-height:1;display:grid;overflow:hidden}.app__icon:has(img){background:0 0;border:0}.app__icon img{width:100%;height:100%;display:block}.app__name{min-width:0;font:600 16px/1.3 var(--font-display);font-size:min(21px, calc((100cqi - 96px) / (.53 * var(--longest-pair))));letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;transition:color .2s,transform .35s cubic-bezier(.16,1,.3,1);overflow:hidden}.app__arrow{fill:none;stroke:var(--accent);stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;opacity:0;flex:none;margin-left:auto;transition:opacity .25s,transform .35s cubic-bezier(.16,1,.3,1);display:none;transform:translate(-8px,8px)}.app__link:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.app__link:focus-visible .app__name{color:var(--accent)}@media (hover:hover){.app__link:hover{background-color:color-mix(in srgb, var(--accent) 9%, transparent)}.app__link:hover .app__name{color:var(--accent)}.apps:has(.app__link:hover) .app__link:not(:hover){opacity:.45}}.apps:has(.app__link:focus-visible) .app__link:not(:focus-visible){opacity:.45}.contact-col{min-width:0;animation:.7s cubic-bezier(.16,1,.3,1) .2s both rise}.contact-body{display:grid}.contact-body>*{grid-area:1/1;min-width:0}.form{gap:8px;display:grid}.form[inert]{visibility:hidden}.field{border:1px solid var(--line);background:var(--field);cursor:text;border-radius:10px;gap:4px;padding:7px 12px 8px;transition:border-color .2s,box-shadow .2s,background-color .2s;display:grid}.field:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent);background:#fff5e80f}.field__label{font:500 10px/1 var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--text-dim)}.field__input{width:100%;color:var(--text-bright);font:400 16px/22px var(--font-body);resize:none;background:0 0;border:0;outline:0;margin:0;padding:0;display:block}.field__input:-webkit-autofill{-webkit-text-fill-color:var(--text-bright);caret-color:var(--text-bright);transition:background-color 9999s ease-out}.field--message{height:var(--msg);grid-template-rows:auto 1fr}.field--message .field__input{height:100%}.honeypot{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.button{background:var(--accent);height:46px;color:var(--ink);font:600 13px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border:0;border-radius:10px;justify-content:center;align-items:center;padding:0 22px;transition:transform .2s,box-shadow .2s,opacity .2s;display:inline-flex}.button:hover{box-shadow:0 0 32px color-mix(in srgb, var(--accent) 38%, transparent);transform:translateY(-1px)}.button:disabled{opacity:.6;cursor:progress;box-shadow:none;transform:none}.button:focus-visible,.sent__again:focus-visible,.footer a:focus-visible,.form__error a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.form__error{font:400 14px/1.45 var(--font-body);color:var(--text);overflow-wrap:anywhere;margin:2px 0 0}.form__error a{color:var(--accent);text-decoration:none}.form__error a:hover{text-decoration:underline}.sent{border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);background:color-mix(in srgb, var(--accent) 7%, transparent);border-radius:10px;outline:0;align-content:center;justify-items:start;gap:8px;padding:22px;animation:.5s cubic-bezier(.16,1,.3,1) both rise;display:grid}.sent__title{font:italic 500 28px/1.1 var(--font-display);letter-spacing:-.015em;color:var(--text-bright);margin:0}.sent__body{font:400 16px/1.5 var(--font-body);color:var(--text-dim);margin:0}.sent__again{color:var(--accent);font:600 12px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;margin-top:8px;padding:0}.sent__again:hover{text-underline-offset:4px;text-decoration:underline}@media (width>=600px){.page{--pad-y:clamp(14px, calc(3.2 * var(--vh)), 36px);--gap-y:clamp(14px, calc(3 * var(--vh)), 32px);--main-gap:clamp(16px, calc(2.6 * var(--vh)), 28px);--msg:clamp(110px, calc(22 * var(--vh)), 280px)}.apps{--chrome:222px;--row:clamp(40px, calc((100 * var(--vh) - var(--msg) - 2 * var(--pad-y) - 2 * var(--gap-y) - var(--main-gap) - var(--chrome)) / var(--rows)), 88px)}.app__link{gap:16px;padding:0 12px 0 4px}.app__icon{width:min(44px, calc(var(--row) * .7));font-size:min(23px, calc(var(--row) * .37))}.app__name{font-size:min(36px, calc(var(--row) * .55), calc((100cqi - 156px) / (.53 * var(--longest-pair))))}.form{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.field--message,.button,.form__error{grid-column:1/-1}.field{gap:6px;padding:10px 14px 11px}.field__label{font-size:10.5px}.button{height:48px}}@media (width>=860px){.main{grid-template-columns:minmax(0,1.25fr) minmax(280px,.8fr);column-gap:clamp(40px,7vw,120px)}.apps{--row:min(clamp(36px, calc((100 * var(--vh) - 2 * var(--pad-y) - 2 * var(--gap-y) - 72px) / var(--n)), 96px), calc(100cqi / (2 + .34 * var(--longest))));display:block}.app__link{gap:calc(var(--row) * .3);padding:0 calc(var(--row) * .18)}.app__icon{width:calc(var(--row) * .68);font-size:calc(var(--row) * .37)}.app__name{font-size:calc(var(--row) * .64)}.app__arrow{width:calc(var(--row) * .34);height:calc(var(--row) * .34);display:block}.app__link:focus-visible .app__name{transform:translateX(calc(var(--row) * .1))}.app__link:focus-visible .app__arrow{opacity:1;transform:none}@media (hover:hover){.app__link:hover .app__name{transform:translateX(calc(var(--row) * .1))}.app__link:hover .app__arrow{opacity:1;transform:none}}.contact-col{flex-direction:column;justify-self:end;width:100%;max-width:420px;display:flex}.contact-body{flex:1}.form{grid-template-rows:auto auto minmax(110px,1fr) auto;grid-template-columns:minmax(0,1fr)}.field--message{height:auto}.sent{padding:32px}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
