@font-face{font-family:Geist;src:url(/fonts/geist.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/geist-mono.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}:root{--bg:#0e0e0d;--line:#24231f;--line-strong:#34322d;--text:#ece8e1;--muted:#9b968d;--subtle:#807b72;--accent:#d6a45e;--sans:"Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"Geist Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--gutter:clamp(1rem, 4.5vw, 3rem);--max:76rem;--section-space:clamp(5rem, 13vw, 10rem);--ease:cubic-bezier(.2, .7, .2, 1);color-scheme:dark}*,:before,:after{box-sizing:border-box}*{margin:0}ol,ul{padding:0;list-style:none}img,svg{max-width:100%;display:block}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--sans);font-feature-settings:"ss01", "cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:1.0625rem;line-height:1.6}::selection{background:var(--accent);color:var(--bg)}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:2px}.mono{font-family:var(--mono);letter-spacing:0;font-size:.8125rem;line-height:1.5}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{left:var(--gutter);z-index:10;background:var(--text);color:var(--bg);padding:.5rem .75rem;font-size:.875rem;position:absolute;top:.75rem;transform:translateY(-200%)}.skip-link:focus{transform:none}.wrap{width:100%;max-width:calc(var(--max) + var(--gutter) * 2);padding-inline:var(--gutter);margin-inline:auto}.nav a,.site-footer a,.contact__links a,.scroll-cue{color:var(--muted);transition:color .2s var(--ease)}.nav a:hover,.site-footer a:hover,.contact__links a:hover,.scroll-cue:hover{color:var(--text)}.site-header{justify-content:space-between;align-items:center;gap:1rem;padding-block:1.5rem;display:flex}.coords{color:var(--subtle)}.nav{gap:clamp(1rem,3vw,2rem);display:flex}.nav a{padding-block:.5rem;display:inline-block}.hero{flex-direction:column;justify-content:flex-end;min-height:min(88svh - 5rem,60rem);padding-block:4rem clamp(2.5rem,6vw,4.5rem);display:flex;position:relative}.hero__title{font-weight:inherit}.wordmark{letter-spacing:-.07em;font-feature-settings:"ss01";margin-left:-.055em;font-size:clamp(7.5rem,33vw,22rem);font-weight:600;line-height:.8;display:block}.hero__tagline{letter-spacing:-.03em;max-width:22ch;margin-top:clamp(1.75rem,4vw,2.75rem);font-size:clamp(1.625rem,3.6vw,2.75rem);font-weight:450;line-height:1.12;display:block}.hero__foot{border-top:1px solid var(--line);gap:2rem;margin-top:clamp(2.5rem,7vw,5rem);padding-top:1.5rem;display:grid}.hero__lede{max-width:38ch;color:var(--muted)}.hero__meta{color:var(--subtle);flex-wrap:wrap;align-items:baseline;gap:.5rem 2rem;display:flex}.clock time{color:var(--muted);font-variant-numeric:tabular-nums}.scroll-cue span{transition:transform .3s var(--ease);display:inline-block}.scroll-cue:hover span{transform:translateY(3px)}@media (width>=48rem){.hero__foot{grid-template-columns:1fr auto;align-items:end}.hero__meta{justify-content:flex-end}}.eyes{top:26%;right:calc(var(--gutter) + 6%);opacity:.6;pointer-events:none;transition:translate .6s var(--ease);gap:9px;display:flex;position:absolute}.eyes.is-shut i{transition:transform .15s;animation:none;transform:scaleY(.08)}.eyes i{background:var(--accent);border-radius:50%;width:5px;height:5px;animation:11s infinite blink;box-shadow:0 0 10px 1px #d6a45e40}@keyframes blink{0%,46%,49.5%,93%,96%,to{transform:scaleY(1)}47.5%,94.5%{transform:scaleY(.08)}}@media (prefers-reduced-motion:no-preference){.wordmark,.hero__tagline,.hero__foot{animation:rise .9s var(--ease) both}.hero__tagline{animation-delay:80ms}.hero__foot{animation-delay:.16s}.eyes{animation:1.2s 1.4s both fade-in}}@keyframes rise{0%{opacity:0;transform:translateY(.75rem)}}@keyframes fade-in{0%{opacity:0}}.section{padding-block:var(--section-space) 0;gap:2rem;display:grid}.section__label{color:var(--muted);gap:.75rem;font-weight:400;display:flex}.section__label span{color:var(--subtle)}.section__body{min-width:0}@media (width>=56rem){.section{grid-template-columns:repeat(12,minmax(0,1fr));gap:0 2rem}.section__label{grid-column:1/4;align-self:start;padding-top:.35rem;position:sticky;top:2rem}.section__body{grid-column:4/-1}}.lead{letter-spacing:-.028em;max-width:24ch;font-size:clamp(1.5rem,3vw,2.25rem);font-weight:450;line-height:1.18}.products{border-top:1px solid var(--line)}.product{border-bottom:1px solid var(--line)}.product__row{grid-template-columns:2.25rem 1fr auto;grid-template-areas:"index name status"".desc desc";align-items:baseline;gap:.375rem 1rem;padding-block:clamp(1.5rem,3.5vw,2.25rem);display:grid}.product__index{color:var(--subtle);grid-area:index}.product__name{letter-spacing:-.025em;transition:transform .35s var(--ease);grid-area:name;font-size:clamp(1.375rem,2.6vw,1.875rem);font-weight:500;line-height:1.2}.product__desc{max-width:46ch;color:var(--muted);grid-area:desc}.product__status{color:var(--subtle);white-space:nowrap;grid-area:status;align-items:center;gap:.5rem;display:inline-flex}.product__status:before{content:"";border:1px solid;border-radius:50%;width:6px;height:6px}.product[data-status=live] .product__status{color:var(--text)}.product[data-status=live] .product__status:before{background:var(--accent);border-color:var(--accent)}.product[data-status=beta] .product__status:before{background:currentColor}.product__arrow{transition:transform .35s var(--ease);display:inline-block}a.product__row:hover .product__name,a.product__row:focus-visible .product__name{transform:translate(.375rem)}a.product__row:hover .product__arrow,a.product__row:focus-visible .product__arrow{transform:translate(.25rem)}a.product__row:focus-visible{outline-offset:-2px}@media (width>=56rem){.product__row{grid-template-columns:2.5rem minmax(0,15rem) minmax(0,1fr) auto;grid-template-areas:"index name desc status";gap:1.5rem}}.redacted{background:var(--line-strong);color:#0000;user-select:none;border-radius:2px;padding:.12em .1em .06em;line-height:1;display:inline-block}.prose{max-width:58ch;color:var(--muted);gap:1rem;margin-top:2rem;display:grid}.rules{counter-reset:rule;border-top:1px solid var(--line)}.rules li{counter-increment:rule;border-bottom:1px solid var(--line);grid-template-columns:2.25rem 1fr;gap:.25rem 1rem;padding-block:1.25rem;display:grid}.rules li:before{content:counter(rule, decimal-leading-zero);font-family:var(--mono);color:var(--subtle);grid-row:1;padding-top:.55em;font-size:.8125rem}.rules strong{letter-spacing:-.025em;font-size:clamp(1.375rem,2.6vw,1.875rem);font-weight:500;line-height:1.25}.rules span{color:var(--muted);grid-column:2}@media (width>=56rem){.rules li{grid-template-columns:2.5rem minmax(0,17rem) minmax(0,1fr);align-items:baseline;gap:1.5rem}.rules li:before{padding-top:0}.rules span{grid-column:3}}.contact__email{letter-spacing:-.03em;overflow-wrap:anywhere;margin-top:2rem;font-size:clamp(1.25rem,3.4vw,2.5rem);font-weight:450;line-height:1.2}.contact__email a{background-image:linear-gradient(var(--line-strong), var(--line-strong));transition:background-size .4s var(--ease), color .2s var(--ease);background-position:0 100%;background-repeat:no-repeat;background-size:100% 1px;padding-bottom:.1em}.contact__email a:hover{background-image:linear-gradient(var(--accent), var(--accent))}.contact__links{gap:1.5rem;margin-top:1.5rem;display:flex}.contact__links a{padding-block:.375rem;display:inline-block}.site-footer{margin-top:var(--section-space);background:linear-gradient(var(--line), var(--line)) no-repeat var(--gutter) 0 / calc(100% - var(--gutter) * 2) 1px;color:var(--muted);gap:2rem;padding-block:2.5rem 3rem;font-size:.9375rem;display:grid}.site-footer__brand{align-items:flex-start;gap:1rem;display:flex}.site-footer__name{color:var(--text);letter-spacing:-.04em;font-weight:600}.owl{color:var(--subtle);flex:none;margin-top:.15rem}.owl__eye{fill:var(--bg);transition:fill .6s var(--ease)}.site-footer__brand:hover .owl__eye{fill:var(--accent)}.site-footer__links{flex-wrap:wrap;gap:.5rem 1.5rem;display:flex}.site-footer__links a{padding-block:.25rem;display:inline-block}.site-footer__legal{color:var(--subtle)}@media (width>=56rem){.site-footer{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;gap:0 2rem}.site-footer__brand{grid-column:1/6}.site-footer__links{grid-column:6/11;padding-top:.1rem}.site-footer__legal{grid-column:11/-1;justify-self:end;padding-top:.35rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.prose a{color:var(--text);text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:.2em;transition:text-decoration-color .2s var(--ease);text-decoration-thickness:1px}.prose a:hover{text-decoration-color:var(--accent)}.more-link{margin-top:2rem}.more-link a{color:var(--muted);transition:color .2s var(--ease);padding-block:.375rem;display:inline-block}.more-link a span{transition:transform .3s var(--ease);display:inline-block}.more-link a:hover{color:var(--text)}.more-link a:hover span{transform:translate(3px)}.home-link{letter-spacing:-.04em;padding-block:.5rem;font-size:1.125rem;font-weight:600}.home-link span{color:var(--subtle);transition:transform .3s var(--ease);margin-right:.25rem;font-weight:400;display:inline-block}.home-link:hover span{transform:translate(-3px)}.print-button{color:var(--muted);cursor:pointer;transition:color .2s var(--ease);background:0 0;border:0;padding:.5rem 0}.print-button:hover{color:var(--text)}.cv-intro{padding-block:clamp(4rem,12vw,8rem) 0}.cv-intro h1{letter-spacing:-.045em;font-size:clamp(2.75rem,7vw,5rem);font-weight:500;line-height:1}.cv-intro__role{color:var(--muted);margin-top:1rem;font-size:clamp(1.125rem,2vw,1.375rem)}.cv-intro__contact{flex-wrap:wrap;gap:.25rem 1.5rem;margin-top:2rem;display:flex}.cv-intro__contact a{color:var(--muted);overflow-wrap:anywhere;transition:color .2s var(--ease);padding-block:.25rem;display:inline-block}.cv-intro__contact a:hover{color:var(--text)}.role{border-bottom:1px solid var(--line);padding-block:2rem}.role:first-of-type{border-top:1px solid var(--line)}.role__head{grid-template-columns:1fr auto;align-items:baseline;gap:.125rem 1.5rem;display:grid}.role__title{letter-spacing:-.02em;font-size:clamp(1.25rem,2.2vw,1.5rem);font-weight:500;line-height:1.25}.role__company{color:var(--muted);grid-column:1}.role__company a,.role__points a{text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:.2em;transition:text-decoration-color .2s var(--ease);text-decoration-thickness:1px}.role__company a:hover,.role__points a:hover{text-decoration-color:var(--accent)}.role__period{color:var(--subtle);white-space:nowrap;text-align:right;grid-area:1/2/span 2}.role__period span{display:block}.role__points{max-width:64ch;color:var(--muted);gap:.5rem;margin-top:1.25rem;display:grid}.role__points li{padding-left:1.25rem;position:relative}.role__points li:before{content:"–";color:var(--subtle);position:absolute;left:0}.role__tech{max-width:64ch;color:var(--subtle);margin-top:1.25rem}@media (width<=34rem){.role__head{grid-template-columns:1fr}.role__period{white-space:normal;text-align:left;grid-area:auto/1;margin-top:.25rem}}@media print{@page{margin:16mm 18mm}:root{--bg:#fff;--text:#111;--muted:#333;--subtle:#666;--line:#ddd;--line-strong:#ccc}body{font-size:10pt;line-height:1.45}.skip-link,.site-header,.site-footer,.eyes{display:none!important}.wrap{max-width:none;padding-inline:0}.cv-intro{padding-block:0}.cv-intro h1{font-size:24pt}.cv-intro__role{margin-top:4pt;font-size:12pt}.cv-intro__contact{margin-top:8pt}.cv-intro__contact a{color:var(--text)}.section{padding-top:18pt;display:block}.section__label{margin-bottom:8pt;position:static}.role{break-inside:avoid;padding-block:10pt}.role__title{font-size:12pt}.role__points{gap:2pt;margin-top:6pt}.role__tech{margin-top:6pt;font-size:8.5pt}.mono{font-size:8.5pt}a{text-decoration:none!important}}.site-footer a.site-footer__name{color:var(--text)}.not-found{flex-direction:column;justify-content:center;min-height:60vh;padding-block:4rem;display:flex;position:relative}.not-found__code{color:var(--subtle);margin-bottom:1rem}
