:root{color-scheme:light;--brand:#084dc2;--logo-ink:#1e2124;--desk-base:#f1f0ec;--desk-mix:20%;--sheet-base:#fff;--sheet-mix:0%;--paper:#fff;--ink:#1e2124;--muted:#565a60;--line:#1e21242e;--tomato:#ee5636;--panel:#1e2124;--marigold:#f2ad22;--jade:#0f9a78;--grape:#5a35c8;--tomato-text:#c43a1e;--brand-text:#084dc2;--marigold-text:#855c00;--jade-text:#0a6f57;--plate:#1e2124;--plate-accent:#ffc94d;--pop:#ffc94d;--sheet-shadow:0 1px 1px #1e212424, 0 1.4rem 2.8rem -1.4rem #1e212473;--sans:"Archivo Variable", Arial, Helvetica, sans-serif;--gutter:clamp(10px, 3vw, 2.6rem);--pad:clamp(16px, 3.4vw, 2.4rem);--ear-h:2.7rem;--step:.36rem;--strip:.7rem;--rail-h:calc(var(--ear-h) + 5 * var(--step) + var(--strip) + .4rem);--chamfer:1.6rem;--u:min(1vw, 1.6vh)}:root[data-theme=dark]{color-scheme:dark;--logo-ink:#f2f2ef;--desk-base:#14161a;--desk-mix:18%;--sheet-base:#1e2126;--sheet-mix:0%;--paper:#262a30;--ink:#f2f2ef;--muted:#b4b8bd;--line:#f2f2ef2b;--panel:#2b3037;--tomato-text:#ff9c84;--brand-text:#9dbcf5;--marigold-text:#f5c25e;--jade-text:#63d3b5;--plate:#121417;--sheet-shadow:0 1px 1px #0000004d, 0 1.5rem 2.8rem -1.4rem #000000b3}:root{--tint:var(--brand);--desk:color-mix(in oklab, var(--tint) var(--desk-mix), var(--desk-base))}:root[data-folder=projects]{--tint:var(--tomato)}:root[data-folder=services]{--tint:var(--marigold)}:root[data-folder=about]{--tint:var(--jade)}:root[data-folder=contact]{--tint:var(--grape)}.tone-home{--f:var(--brand);--on-f:#fff;--on-f-soft:#e4ecfc;--accent:var(--pop);--sheet-accent:var(--brand-text)}.tone-projects{--f:var(--tomato);--on-f:#1e2124;--on-f-soft:#1e2124;--accent:#fff;--sheet-accent:var(--tomato-text)}.tone-experience{--f:var(--panel);--on-f:#fff;--on-f-soft:#fff;--accent:var(--pop);--sheet-accent:var(--brand-text)}.tone-services{--f:var(--marigold);--on-f:#1e2124;--on-f-soft:#1e2124;--accent:#1e2124;--sheet-accent:var(--marigold-text)}.tone-about{--f:var(--jade);--on-f:#1e2124;--on-f-soft:#1e2124;--accent:#fff;--sheet-accent:var(--jade-text)}.tone-contact{--f:var(--grape);--on-f:#fff;--on-f-soft:#fff;--accent:var(--pop);--sheet-accent:var(--brand-text)}*,:before,:after{box-sizing:border-box}html{background:var(--desk);-webkit-text-size-adjust:100%;overflow-x:clip}body{background:var(--desk);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:1.0625rem;line-height:1.5;transition:background-color .6s;overflow-x:clip}h1,h2,h3,h4,p,ul,ol,dl,dd,figure{margin:0;padding:0}ul,ol{list-style:none}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}em{letter-spacing:-.025em;color:var(--accent);font-weight:760;font-stretch:112%}::selection{background:var(--pop);color:#171716}:focus-visible{outline-offset:3px;outline:3px solid}[tabindex="-1"]:focus{outline:none}.fine{font-weight:500}.label,.eyebrow{font-size:.72rem;font-weight:500;line-height:1.4;display:block}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--ink);color:var(--desk-base);padding:10px 14px;position:absolute;top:-60px;left:12px}.skip-link:focus{top:12px}.topbar{padding:0 calc(var(--gutter) + .2rem) .15rem;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.topbar__id{align-items:center;gap:1rem;padding-top:.55rem;display:flex}.brand__heading{font-size:inherit;font-weight:inherit}.hangers{gap:.3rem;display:flex}.hanger{isolation:isolate;color:var(--ink);white-space:nowrap;align-items:baseline;gap:.3rem;padding:.95rem .95rem .6rem;font-size:.86rem;font-weight:650;line-height:1.2;transition:translate .25s cubic-bezier(.3,1.5,.5,1);display:inline-flex;position:relative}.hanger:before{content:"";z-index:-1;background:var(--paper);box-shadow:inset 0 0 0 1px var(--line);clip-path:polygon(0 0,100% 0,100% calc(100% - .6rem),calc(100% - .6rem) 100%,.6rem 100%,0 calc(100% - .6rem));position:absolute;inset:0}.hanger:hover,.hanger:focus-visible{translate:0 3px}.hanger:focus-visible{outline-offset:-4px}.hanger strong{color:var(--brand-text);font-weight:800}.hanger--ink{color:#fff}.hanger--ink:before{background:var(--panel);box-shadow:none}.hanger__short,html:not(.js) .hanger[role=switch]{display:none}.cabinet{padding-inline:var(--gutter)}.rail{z-index:40;height:var(--rail-h);background:var(--desk);transition:background-color .6s;position:sticky;top:0}.layer{--lift:0;inset-inline:0;height:calc(var(--ear-h) + var(--strip));pointer-events:none;color:var(--on-f);transform:translateY(calc((var(--d) * var(--step) * -1) + (var(--lift) * 1px)));position:absolute;bottom:0}.layer__strip{inset-inline:0;height:var(--strip);background-color:var(--f);position:absolute;bottom:0;box-shadow:0 -1px #17171626}.ear{top:0;left:calc(var(--i) * (100% / var(--n)));width:calc(100% / var(--n) + 1.7rem);height:calc(var(--ear-h) + .4rem);pointer-events:auto;filter:drop-shadow(0 -1px #17171626);align-items:flex-start;gap:.65rem;padding:.8rem 1.8rem 0 1.1rem;font-size:.98rem;font-weight:600;line-height:1.2;transition:translate .28s cubic-bezier(.3,1.5,.5,1);display:flex;position:absolute}.layer:last-child .ear{width:calc(100% / var(--n))}.ear:hover,.ear:focus-visible{translate:0 -5px}.ear:focus-visible{outline-offset:-5px}.ear__shape{z-index:-1;background-color:var(--f);clip-path:polygon(0 100%,0 .65rem,.65rem 0,calc(100% - 1.7rem) 0,100% 100%);position:absolute;inset:0}.ear__label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ear[aria-current=true] .ear__label{font-weight:800}.stack{perspective-origin:50% 0;grid-template-columns:minmax(0,1fr);display:grid;overflow:clip}.folder{background-color:var(--f);min-width:0;color:var(--on-f);padding:clamp(20px, 2.6vw, 1.9rem) var(--pad) clamp(20px, 2.4vw, 1.7rem);scroll-margin-top:var(--rail-h);backface-visibility:hidden;clip-path:polygon(0 0, 100% 0, 100% calc(100% - var(--chamfer)), calc(100% - var(--chamfer)) 100%, var(--chamfer) 100%, 0 calc(100% - var(--chamfer)));grid-area:1/1}html.js .folder{display:none}html.js[data-folder=home] #home,html.js[data-folder=projects] #projects,html.js[data-folder=experience] #experience,html.js[data-folder=services] #services,html.js[data-folder=about] #about,html.js[data-folder=contact] #contact{z-index:2;display:block;position:relative}html:not(.js) .stack{display:block}html:not(.js) .folder{margin-bottom:18px}html:not(.js) .papers{gap:18px;display:grid}html:not(.js) [data-motion-toggle],html:not(.js) [data-theme-toggle],html:not(.js) [data-copy],html:not(.js) [data-pipe-run],html:not(.js) .files,html:not(.js) .demo,html:not(.js) .desk__hint,html.js .paper:not(.is-current){display:none}html.js:not(.ready) .cabinet{visibility:hidden;animation:0s linear 2s forwards reveal-failsafe}@keyframes reveal-failsafe{to{visibility:visible}}.folder__layout{gap:1.4rem;display:grid}.folder__side{flex-direction:column;min-width:0;display:flex}.folder__title{letter-spacing:-.04em;margin-top:.8rem;font-size:clamp(2.4rem,9vw,3.3rem);font-weight:500;line-height:1}.folder__title--long{font-size:clamp(2.2rem,8.4vw,2.9rem)}.folder__intro{margin-top:1rem;font-size:1rem;line-height:1.42}.split-line-mask{margin:-.14em -.08em -.18em 0;padding:.14em .08em .18em 0}.files{gap:.35rem;margin-top:1.4rem;display:grid}.file-tab{border:1px solid color-mix(in srgb, var(--on-f) 35%, transparent);text-align:left;border-radius:.4rem;flex-direction:column;gap:.1rem;width:100%;padding:.6rem .9rem .65rem;transition:background-color .2s,color .2s,translate .25s;display:flex}.file-tab:hover{translate:.25rem}.file-tab[aria-current=true]{background:var(--sheet-base);color:var(--ink);box-shadow:var(--sheet-shadow);border-color:#0000}.file-tab__title{letter-spacing:-.015em;font-size:1.1rem;font-weight:600;line-height:1.2}.file-tab__meta{font-size:.7rem}.pending{border:1.5px dashed color-mix(in srgb, var(--on-f) 55%, transparent);border-radius:.4rem;margin-top:1.1rem;padding:.75rem .9rem .85rem}.pending h3{font-size:1.2rem;font-weight:760;font-stretch:112%;line-height:1.15}.pending p{margin-top:.25rem;font-size:.86rem;line-height:1.35}.papers{min-width:0;min-height:0;position:relative}.papers:before{content:"";background:color-mix(in oklab, var(--on-f) 8%, var(--sheet-base));border-radius:3px;position:absolute;inset:.5rem -.3rem -.4rem .4rem;rotate:.5deg;box-shadow:0 1px 1px #201c141f}.paper{--accent:var(--sheet-accent);background-color:color-mix(in oklab, var(--f) var(--sheet-mix), var(--sheet-base));min-width:0;color:var(--ink);box-shadow:var(--sheet-shadow);border-radius:3px;padding:clamp(18px,2.6vw,1.9rem) clamp(18px,3vw,2.2rem);position:relative}.paper:after{content:"";background:linear-gradient(to bottom left, var(--f) 50%, #17171633 50%, #1717161a 62%, var(--sheet-base));width:1.5rem;height:1.5rem;position:absolute;top:0;right:0}.sheet__meta{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:2px 1rem;padding:0 1.6rem .6rem 0;font-size:.7rem;display:flex}.ticks{gap:.55rem;display:grid}.ticks li{padding-left:1.3rem;line-height:1.38;position:relative}.ticks li:before{content:"";background:var(--sheet-accent);width:.55rem;height:2px;position:absolute;top:.62em;left:2px}.chips{flex-wrap:wrap;gap:.35rem;display:flex}.chips li{border:1px solid var(--line);border-radius:99px;padding:.22rem .62rem;font-size:.8rem;line-height:1.3}.arrow-link{background:linear-gradient(currentColor,currentColor) 0 100%/100% 1.5px no-repeat;align-items:baseline;gap:.4rem;padding-bottom:2px;font-weight:700;transition:background-size .3s;display:inline-flex}.arrow-link:hover{background-size:45% 1.5px}.cover{grid-template-columns:minmax(0,1fr);gap:1.6rem;display:grid}.cover__title{letter-spacing:-.04em;margin-top:1.2rem;font-size:min(10.8vw,6rem);font-weight:500;line-height:.98}.cover__title em{font-weight:820;font-stretch:calc(var(--fit,100) * 1%);letter-spacing:-.012em}html.js .cover__title em{white-space:nowrap;transition-property:none}.cover__copy{gap:1rem;margin-top:1.4rem;display:grid}.cover__lead{letter-spacing:-.01em;font-size:1.14rem;line-height:1.4}.cover__sub{color:var(--on-f-soft);font-size:.98rem;line-height:1.45}.desk-wrap{min-width:0;position:relative}.desk{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;display:grid}.card{background-color:var(--f);color:var(--on-f);user-select:none;flex-direction:column-reverse;justify-content:flex-end;gap:.4rem;padding:.85rem .95rem 1rem;display:flex;box-shadow:0 2px 3px #201c1426,0 1.2rem 2rem -.9rem #201c1459}.card.tone-home{--f:#fff;--on-f:#1e2124}.card:nth-child(odd){rotate:-1deg}.card:nth-child(2n){rotate:1.2deg}.card__value{letter-spacing:-.045em;font-variant-numeric:tabular-nums;font-size:clamp(2.2rem,9vw,3.3rem);font-weight:500;line-height:.98}.card__label{font-size:.84rem;line-height:1.28}.desk__hint{color:var(--on-f-soft);font-size:.68rem;display:none}.project__head{padding-block:.8rem .6rem;position:relative}.project__title{letter-spacing:-.05em;font-size:clamp(2.8rem,12vw,4.4rem);font-weight:500;line-height:.95}.stamp{border:2.5px solid var(--sheet-accent);outline:1px solid var(--sheet-accent);outline-offset:2px;color:var(--sheet-accent);white-space:nowrap;border-radius:4px;padding:.35rem .75rem .3rem;font-size:.82rem;font-weight:700;position:absolute;top:1rem;right:1.2rem;rotate:-8deg}.project__body{gap:1.2rem;display:grid}.project__summary{letter-spacing:-.02em;font-size:1.22rem;line-height:1.26}.project__impact{border-top:1px solid var(--line);margin-top:.8rem;padding-top:.7rem}.project__impact strong{letter-spacing:-.02em;color:var(--sheet-accent);margin-top:.4rem;font-size:1.55rem;font-weight:760;font-stretch:112%;line-height:1.14;display:block}.project__story{border-top:1px solid var(--line);margin-top:.8rem;padding-top:.7rem;font-size:.98rem;line-height:1.42}.project__foot{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.7rem 1.4rem;margin-top:1rem;padding-top:.8rem;display:flex}.project__links{flex-wrap:wrap;gap:.5rem 1.3rem;font-size:.98rem;display:flex}.demo,.pipe{background:var(--plate);color:#f1ede4;border-radius:.6rem;padding:1rem 1.15rem 1.05rem}.demo{flex-direction:column;min-width:0;display:flex}.plate{background:var(--plate);color:#f1ede4;border-radius:.6rem;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;margin-top:1rem;padding:1.15rem 1.25rem 1.2rem;display:grid}.plate strong{color:var(--plate-accent);letter-spacing:-.04em;font-size:clamp(1.9rem,7vw,2.9rem);font-weight:500;line-height:1;display:block}.plate span{margin-top:.4rem;font-size:.9rem;line-height:1.3;display:block}.demo__head,.pipe__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.3rem .8rem;display:flex}.demo__flag{color:#f1ede4b8;font-size:.66rem}.demo__chips{flex-wrap:wrap;gap:.35rem;margin-top:.8rem;display:flex}.demo__chip{border:1px solid #f1ede455;border-radius:99px;padding:.3rem .7rem;font-size:.86rem;line-height:1.3;transition:background-color .15s,color .15s}.demo__chip .fine{opacity:.85;font-size:.7rem}.demo__chip:hover{border-color:#f1ede4}.demo__chip[aria-pressed=true]{background:var(--plate-accent);border-color:var(--plate-accent);color:#171716}.slots{grid-template-rows:3.6rem;grid-template-columns:repeat(18,minmax(0,1fr));gap:2px;margin-top:.9rem;display:grid}.slot{transform-origin:50% 100%;background:#f1ede41f;border-radius:2px}.slot.is-booked{background:repeating-linear-gradient(135deg,#f1ede44d 0 3px,#0000 3px 7px)}.slot.is-valid{background:var(--plate-accent)}.slots__axis{color:#f1ede4b8;justify-content:space-between;margin-top:.3rem;font-size:.66rem;display:flex}.demo__readout{margin-top:.7rem;font-size:.92rem;line-height:1.36}.demo__legend{color:#f1ede4b8;flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.5rem;font-size:.66rem;display:flex}.key{border-radius:2px;width:.7rem;height:.7rem;display:inline-block}.key--valid{background:var(--plate-accent)}.key--booked{background:repeating-linear-gradient(135deg,#f1ede480 0 2px,#0000 2px 4px);margin-left:.7rem}.zones__controls{gap:.6rem;margin-top:.8rem;display:grid}.zones__range{gap:.35rem;font-size:.74rem;display:grid}.zones__range output{color:var(--plate-accent);font-weight:700}.zones__range input{width:100%;accent-color:var(--plate-accent);margin:0}.zones__controls .demo__chips{margin-top:0}.zones{border-top:1px solid #f1ede426;flex-direction:column;flex:auto;margin-top:.7rem;display:flex}.zones__row{border-bottom:1px solid #f1ede426;flex:auto;justify-content:space-between;align-items:center;gap:.8rem;padding:.42rem 0;display:flex}.zones__city{align-items:baseline;gap:.55rem;font-size:.98rem;font-weight:600;display:flex}.zones__city .fine{color:#f1ede4b8;font-size:.68rem;font-weight:400}.zones__time{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.3rem;font-weight:500}.job__body{gap:1rem;padding-top:.9rem;display:grid}.job__role{letter-spacing:-.04em;font-size:clamp(1.8rem,7vw,2.4rem);font-weight:500;line-height:1.02}.nowrap{white-space:nowrap}.job__company{color:var(--sheet-accent);margin-top:.55rem;font-size:1.5rem;font-weight:760;font-stretch:112%;line-height:1.1}.job__context{color:var(--muted);margin-top:.35rem;font-size:.92rem;line-height:1.34}.job__points{font-size:.96rem}.creds{align-content:start;gap:1.5rem;display:grid}.creds__item{border-bottom:1px solid var(--line);padding-bottom:1.3rem}.creds__item:last-child{border-bottom:0;padding-bottom:0}.creds__item strong{letter-spacing:-.025em;margin-top:.6rem;font-size:1.5rem;font-weight:500;line-height:1.16;display:block}.creds__item p{color:var(--muted);margin-top:.4rem;font-size:1rem;line-height:1.4}.pipe{margin-top:1rem}.pipe__head{margin-bottom:.8rem}.pipe__run{border:1px solid #f1ede455;border-radius:99px;flex:none;padding:.25rem .7rem;font-size:.7rem;transition:background-color .2s,color .2s}.pipe__run:hover{background:var(--plate-accent);color:#171716}.pipe__track{position:relative}.pipe__line{background:#f1ede426;height:2px;position:absolute;top:.8rem;left:8.33333%;right:8.33333%}.pipe__fill{--p:1;background:var(--plate-accent);width:100%;height:100%;transform:scaleX(var(--p));transform-origin:0;display:block}.pipe__steps{grid-template-columns:repeat(6,minmax(0,1fr));display:grid;position:relative}.pipe__node{color:#f1ede4c4;text-align:center;flex-direction:column;align-items:center;gap:.45rem;width:100%;padding:0 3px 2px;font-size:.82rem;line-height:1.2;transition:color .2s;display:flex}.pipe__node:hover,.pipe__node[aria-pressed=true]{color:#f1ede4}.pipe__node[aria-pressed=true] .pipe__name{font-weight:700}.pipe__light{background:#171716;border:2px solid #f1ede440;border-radius:50%;width:1.7rem;height:1.7rem;transition:background-color .2s,border-color .2s;display:block;position:relative}.pipe__node.is-done .pipe__light{background:var(--plate-accent);border-color:var(--plate-accent)}.pipe__node.is-done .pipe__light:after{content:"";border-bottom:2px solid #171716;border-left:2px solid #171716;width:.56rem;height:.32rem;position:absolute;top:.36rem;left:.42rem;rotate:-45deg}.pipe__note{border-top:1px solid #f1ede426;min-height:2.75em;margin-top:.65rem;padding-top:.55rem;font-size:.9rem;line-height:1.36}.services__list{display:grid}.service{border-bottom:1px solid var(--line);padding-block:1rem}.service:first-child{padding-top:0}.service .label{color:var(--muted)}.service h3{letter-spacing:-.035em;margin:.45rem 0 .35rem;font-size:clamp(1.8rem,7vw,2.5rem);font-weight:500;line-height:1.05}.service p{max-width:44rem;color:var(--muted);font-size:1rem;line-height:1.42}.services__cta{background:var(--f);color:var(--on-f);letter-spacing:-.02em;border-radius:.5rem;justify-content:space-between;align-items:baseline;gap:1rem;margin-top:1rem;padding:.85rem 1.1rem;font-size:clamp(1.1rem,4.4vw,1.5rem);font-weight:600;line-height:1.2;display:flex}.services__cta span{transition:translate .25s}.services__cta:hover span{translate:.4rem}.bio{gap:1.5rem;display:grid}.bio__copy{align-content:start;justify-items:start;gap:.75rem;font-size:.98rem;line-height:1.44;display:grid}.bio__lead{letter-spacing:-.03em;font-size:1.55rem;line-height:1.16}.tools{align-content:start;gap:.85rem;min-width:0;display:grid}.tools__title{letter-spacing:-.035em;font-size:clamp(1.8rem,7vw,2.2rem);font-weight:500;line-height:1.04}.tools__group .label{color:var(--muted);margin-bottom:.4rem}.contact{flex-direction:column;display:flex}.contact__title{letter-spacing:-.045em;margin-top:1rem;font-size:min(10vw,6rem);font-weight:500;line-height:.98}.contact__email{border-block:1px solid color-mix(in srgb, currentColor 30%, transparent);flex-wrap:wrap;align-items:center;gap:.7rem 1.2rem;margin-top:2.4rem;padding-block:1.1rem;display:flex}.contact__address{letter-spacing:-.015em;overflow-wrap:anywhere;font-size:clamp(1.25rem,5.8vw,2.7rem);font-weight:500;line-height:1.15}.contact__address:hover{text-underline-offset:6px;text-decoration:underline 2px}.contact__copy{border:1px solid;border-radius:99px;margin-left:auto;padding:.5rem 1rem;font-size:.78rem;transition:background-color .2s,color .2s}.contact__copy:hover,.contact__copy.is-copied{background:var(--on-f);color:var(--f)}.contact__links{flex-wrap:wrap;gap:.8rem 2.2rem;margin-top:1.4rem;font-size:1.3rem;display:flex}.chip{align-items:center;gap:.35rem;display:inline-flex}.chip__icon{flex:none;width:.95em;height:.95em}.job__head .chips{margin-top:.8rem}.link-icon{align-self:center;width:1em;height:1em}.service{align-items:flex-start;gap:1.1rem;display:flex}.service__icon{width:2.6rem;height:2.6rem;color:var(--sheet-accent);flex:none;margin-top:.15rem}.services__actions{justify-items:start;gap:.75rem;margin-top:1rem;display:grid}.services__actions .services__cta{width:100%;margin-top:0}.tool-grid{grid-template-columns:repeat(auto-fill,minmax(4.4rem,1fr));gap:.3rem;display:grid}.tool{border:1px solid var(--line);text-align:center;border-radius:.4rem;flex-direction:column;justify-content:center;align-items:center;gap:.28rem;min-height:3.35rem;padding:.35rem .15rem;display:flex}.tool__icon,.tool__initials{flex:none;width:1.3rem;height:1.3rem}.tool__initials{border:1px solid;border-radius:.2rem;place-items:center;font-size:.56rem;font-weight:700;display:grid}.tool__name{font-size:.7rem;line-height:1.08}.preview{flex-direction:column;min-width:0;min-height:0;display:flex}.preview__bar{color:#f1ede4c4;background:#171716;border-radius:.6rem .6rem 0 0;align-items:center;gap:.35rem;padding:.5rem .75rem;display:flex}.preview__bar i{background:#f1ede44d;border-radius:50%;width:.55rem;height:.55rem}.preview__bar .fine{text-overflow:ellipsis;white-space:nowrap;margin-left:.5rem;font-size:.68rem;overflow:hidden}.preview__view{aspect-ratio:4/3;background:#0b1a45;border:1px solid #171716;border-top:0;border-radius:0 0 .6rem .6rem;position:relative;overflow:hidden}.preview__view img{user-select:none;width:100%;max-width:none;height:auto;display:block;position:absolute;top:0;left:0}.preview__caption{color:var(--muted);margin-top:.45rem;font-size:.68rem}body{font-stretch:97%}.brand{align-items:center;display:inline-flex}.logo-mark{display:block}.brand__logo{width:auto;height:2.5rem}.brand__logo .logo-mark__c{fill:var(--logo-ink)}.brand__logo .logo-mark__bar{fill:var(--brand)}:root[data-theme=dark] .brand__logo .logo-mark__bar{fill:#4f8bf0}.cover__intro{z-index:1;position:relative}.desk__mark{width:auto;height:100%;display:none;position:absolute;top:0;right:-9rem}.desk__mark .logo-mark__c,.desk__mark .logo-mark__bar{fill:color-mix(in srgb, #fff 13%, var(--f))}.desk{z-index:1}.cover__title,.folder__title,.project__title,.job__role,.contact__title,.tools__title,.service h3,.creds__item strong,.bio__lead,.card__value,.plate strong,.zones__time{letter-spacing:-.012em;font-weight:640;font-stretch:84%}.label,.eyebrow{font-size:.86rem;font-weight:650;line-height:1.3}.sheet__meta{font-size:.8rem;font-weight:550}.cover__who{font-size:1.1rem;line-height:1.3}.cover__who strong{margin-right:.35rem;font-weight:800}.cover__links{flex-wrap:wrap;gap:.5rem 1.5rem;margin-top:1.2rem;display:flex}.biz{--f:#fff;--on-f:#1e2124;--line:#1e21242e;color:#1e2124;background:#fff;border-radius:.5rem;padding:1.8rem 2rem 1.5rem;position:relative;rotate:-2deg;box-shadow:0 1.6rem 3rem -1.2rem #00000080}.biz__logo{width:100%;height:auto;display:block}.biz__name{margin-top:1.1rem;font-size:1rem;line-height:1.3}.biz__name strong{margin-right:.3rem;font-weight:800}.biz .contact__email{gap:.5rem .8rem;margin-top:1rem;padding-block:.8rem}.biz .contact__address{letter-spacing:0;overflow-wrap:normal;font-size:clamp(1.1rem,4.8vw,1.5rem);font-weight:620}.biz .contact__links{gap:.4rem 1.2rem;margin-top:.9rem;font-size:1rem}.biz__foot{font-variant-numeric:tabular-nums;color:#565a60;margin-top:.9rem;font-size:.82rem}.ear{gap:0}.preview__bar .fine,.preview__caption,.demo__flag,.slots__axis,.demo__legend{font-size:.74rem}@media (width<=720px){:root{--ear-h:2.5rem;--step:.28rem;--strip:.55rem;--chamfer:1.1rem}.ear{width:calc(100% / var(--n) + .8rem);justify-content:center;padding:.75rem .72rem 0 .25rem;font-size:.69rem}.ear__shape{clip-path:polygon(0 100%,0 .4rem,.4rem 0,calc(100% - .8rem) 0,100% 100%)}.ear[aria-current=true] .ear__label{font-weight:700}.hanger{padding:.85rem .65rem .5rem;font-size:.8rem}.hanger__long{display:none}.hanger__short{display:inline}.pipe__line{width:2px;height:auto;inset:.8rem auto .8rem .8rem}.pipe__fill{transform:scaleY(var(--p));transform-origin:50% 0}.pipe__steps{grid-template-columns:1fr;gap:.5rem}.pipe__node{text-align:left;flex-direction:row;gap:.8rem;padding:0;font-size:.96rem}.pipe__note{min-height:5.6em}.stamp{font-size:.68rem;top:.75rem;right:.1rem}}@media (width<=379px){.ear{padding-inline:.1rem .5rem;font-size:.62rem}}@media (width>=721px) and (width<=999px){.ear{padding-inline:.8rem 1.2rem;font-size:.92rem}}@media (width>=721px){.folder__title{font-size:3.3rem}.folder__title--long{font-size:2.9rem}.cover__copy{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.job__body,.project__body,.bio{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.8rem}.job__body{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr)}}@media (width>=1000px) and (height>=540px){html{font-size:clamp(12px, calc(var(--u) * 1.111), 40px)}html.js,html.js body{height:100%;overflow:hidden}html.js body{grid-template-rows:auto minmax(0,1fr);height:100svh;display:grid}.topbar,.cabinet{width:100%;max-width:calc(var(--u) * 150);margin-inline:auto}html.js .cabinet{grid-template-rows:var(--rail-h) minmax(0, 1fr);min-height:0;padding-bottom:.8rem;display:grid}html.js .stack{height:100%;min-height:0}html.js .folder{height:100%;min-height:0;padding:1.7rem 2.4rem 1.5rem}html.js .folder__layout{grid-template-columns:21rem minmax(0,1fr);gap:2.4rem;height:100%;min-height:0}.folder__side{min-height:0}.files{margin-top:auto;padding-top:1rem}.file-tab[aria-current=true]{width:calc(100% + 2.4rem);box-shadow:none;border-radius:.4rem 0 0 .4rem}html.js .papers{height:100%}html.js .paper{scrollbar-width:thin;height:100%;padding:1.5rem 2rem;overflow-y:auto}html.js .project,html.js .job{flex-direction:column;display:flex}html.js .project__body{flex:1;grid-template-rows:minmax(0,1fr);align-items:start;min-height:0}html.js .preview{align-self:stretch;height:100%}html.js .preview__view{aspect-ratio:auto;flex:auto;min-height:0}html.js .bio{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)}.project__summary{font-size:1.42rem}.project__impact strong{font-size:1.85rem}.project__story{font-size:1.04rem}.project__impact,.project__story{margin-top:1rem;padding-top:.9rem}.demo__chips{margin-top:1rem}.demo__readout{margin-top:.9rem;font-size:.98rem}html.js .project__foot{margin-top:auto}html.js .project__body{margin-bottom:1rem}html.js .pipe,html.js .plate{margin-top:auto}html.js .job__body{margin-bottom:1rem}.job__role{font-size:2.7rem}.job__points{gap:.75rem;font-size:1.04rem}.bio__copy{gap:.95rem;font-size:1.04rem}.tools{gap:1.05rem}.chips li{font-size:.86rem}.zones__time{font-size:1.55rem}html.js .cover{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) 27rem;gap:1.2rem 2rem;height:100%}.cover__intro{align-self:center}html.js .desk-wrap{height:100%;min-height:0}html.js .desk{height:100%;display:block;position:relative}html.js .card{width:13.2rem;position:absolute}html.js .card:first-child{top:3%;left:0;rotate:-4deg}html.js .card:nth-child(2){top:13%;right:1rem;rotate:3.5deg}html.js .card:nth-child(3){top:48%;left:1.4rem;rotate:2.5deg}html.js .card:nth-child(4){top:58%;right:0;rotate:-3deg}.card__value{font-size:3.3rem}.desk__hint{display:block;position:absolute;bottom:0;right:0}html.js .contact{grid-template-columns:minmax(0,1fr) 31rem;align-items:center;gap:3rem;height:100%;display:grid}.contact__title{text-wrap:balance;font-size:4.5rem}.bio__lead{font-size:1.55rem}.tools__title{font-size:2.1rem}.tool{min-height:3.05rem}.cover__title{font-size:5.7rem}.desk__mark{display:block}.contact__address{font-size:2.7rem}html.js .services{flex-direction:column;display:flex}html.js .services__list{flex:1;grid-auto-rows:1fr;align-items:center}html.js .service{align-self:stretch;align-items:center;padding-block:.5rem}.service h3{margin-block:.25rem .2rem;font-size:2rem}.service__icon{width:3rem;height:3rem}html.js .services__actions{align-items:center;gap:1.6rem;margin-top:.8rem;display:flex}html.js .services__actions .services__cta{flex:1;width:auto;padding-block:.65rem;font-size:1.25rem}.project__title{font-size:4.4rem}}@media (width>=1000px) and (width<=1120px) and (height>=540px){.bio__lead{font-size:1.5rem}.bio__copy{gap:.7rem}.tools__title{font-size:2rem}.tool{min-height:3rem}}@media (hover:none),(pointer:coarse){.desk__hint{display:none!important}}html[data-motion=reduced] *,html[data-motion=reduced] :before,html[data-motion=reduced] :after{transition-duration:.01ms!important;animation-duration:.01ms!important}@media (prefers-reduced-motion:reduce){html:not([data-motion=full]) *,html:not([data-motion=full]) :before,html:not([data-motion=full]) :after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.sheet__meta{font-size:max(12px,.8rem)}.file-tab__meta,.tool__name,.pipe__run,.demo__chip .fine,.zones__city .fine{font-size:max(12px,.72rem)}.stamp{font-size:max(12px,.82rem)}.label,.eyebrow,.chips li{font-size:max(12px,.86rem)}.demo__flag,.slots__axis,.demo__legend,.preview__caption,.preview__bar .fine,.desk__hint{font-size:max(12px,.74rem)}.card__label{font-size:max(12px,.84rem)}.biz__foot{font-size:max(12px,.82rem)}.contact__copy{font-size:max(12px,.78rem)}.pipe__node{font-size:max(12px,.82rem)}.creds__date{font-size:max(12px,.76rem)!important}.hanger{font-size:max(12px,.86rem)}@media (width<=720px){.pipe__node{font-size:max(12px,.96rem)}.hanger{font-size:max(12px,.8rem)}.ear{padding-inline:.15rem .6rem;font-size:12px;font-weight:650;font-stretch:74%}}@media (width<=379px){.ear{padding-inline:.05rem .45rem;font-stretch:66%}}.zones__range{font-size:max(12px,.74rem)}.pending p{font-size:max(12px,.86rem)}.pipe__note,.plate span{font-size:max(12px,.9rem)}.demo__chip{font-size:max(12px,.86rem)}@media (width>=1000px) and (height>=540px) and (height<=640px){.pending p{display:none}.folder__intro{margin-top:.7rem}.bio__copy{gap:.7rem}.tool{min-height:2.8rem}.bio__lead{font-size:1.4rem}.tools{gap:.6rem}.tools__title{font-size:1.8rem}.tools__group .label{margin-bottom:.25rem}}@media (width>=1000px) and (width<=1120px) and (height>=540px){.tool-grid{grid-template-columns:repeat(auto-fill,minmax(4.1rem,1fr));gap:.25rem}.tool{min-height:2.75rem;padding-block:.25rem}.tools{gap:.75rem}.bio__lead{font-size:1.35rem}.bio__copy{font-size:.98rem}}@media (width<=720px){.cover__title,.folder__title,.project__title,.job__role,.contact__title,.tools__title,.service h3,.creds__item strong,.bio__lead,.card__value,.plate strong,.zones__time{letter-spacing:-.02em;font-stretch:98%}.folder{padding:1.15rem 1rem 1.5rem}.cover{gap:1.1rem}.cover__who{font-size:.95rem}.cover__title{margin-top:.55rem;font-size:min(9.6vw,3.2rem);line-height:1.02}.cover__copy{gap:.6rem;margin-top:.9rem}.cover__lead{font-size:1.02rem;line-height:1.4}.cover__sub{font-size:.93rem}.cover__links{margin-top:.8rem}html.js .desk{scroll-snap-type:x mandatory;scrollbar-width:none;gap:.65rem;margin-inline:-1rem;padding:.5rem 1rem .9rem;scroll-padding-inline:1rem;display:flex;overflow-x:auto}html.js .desk::-webkit-scrollbar{display:none}html.js .card{scroll-snap-align:start;flex:0 0 64%;padding:.8rem .9rem .9rem}.card__value{font-size:2.4rem}.folder__layout{gap:1rem}.folder__title{margin-top:.5rem;font-size:2.05rem;line-height:1.04}.folder__title--long{font-size:1.85rem}.folder__intro{margin-top:.6rem;font-size:.95rem}html.js .files{scrollbar-width:none;gap:.4rem;margin:.9rem -1rem 0;padding:0 1rem .2rem;display:flex;overflow-x:auto}html.js .files::-webkit-scrollbar{display:none}html.js .files>li{flex:none}.file-tab{padding:.5rem .8rem .55rem}.file-tab__title{font-size:1rem}.pending{margin-top:.6rem;padding:.55rem .75rem .6rem}.pending h3{font-size:1rem}.paper{padding:1rem .95rem 1.1rem}.project__head{padding-block:.6rem .4rem}.project__title{font-size:2.35rem}.project__summary{font-size:1.05rem}.project__impact strong{font-size:1.3rem}.project__impact,.project__story{margin-top:.7rem;padding-top:.6rem}.project__story{font-size:.95rem}.project__body{gap:.9rem}.demo,.pipe{padding:.85rem .9rem .9rem}.job__body{gap:.8rem;padding-top:.7rem}.job__role{font-size:1.65rem}.job__company{font-size:1.2rem}.job__points{gap:.45rem;font-size:.95rem}.plate{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;padding:.85rem .8rem}.plate strong{font-size:1.55rem}.creds{gap:1rem}.creds__item{padding-bottom:.9rem}.creds__item strong{font-size:1.2rem}.services__list .service{gap:.8rem;padding-block:.75rem}.service__icon{width:2.1rem;height:2.1rem}.service h3{font-size:1.4rem}.bio{gap:1.1rem}.bio__lead{font-size:1.25rem}.bio__copy{gap:.6rem;font-size:.95rem}.tools{gap:.7rem}.tools__title{font-size:1.55rem}.tool-grid{grid-template-columns:repeat(auto-fill,minmax(4.1rem,1fr));gap:.25rem}.tool{min-height:2.9rem}.contact__title{font-size:min(9.4vw,3rem)}.biz{padding:1.2rem 1.15rem 1.1rem}}
