:root{--paper: #f5f1eb;--ink: #443736;--black: #000000;--link: #5a98b1;--link-strong: #2f7491;--rule: rgba(68, 55, 54, .25);--media-bg: #e9e4dc;--dot: rgba(68, 55, 54, .22);--dot-active: #443736;--quilt-filter: none;--quilt-blend: darken;--logo-filter: brightness(0);--font: "Poppins", "Helvetica Neue", Arial, sans-serif;--font-name: "Satoshi", "Poppins", Arial, sans-serif;--font-label: "IBM Plex Mono", "Courier New", monospace;--gutter: 30px;--content: 1220px;--ease-enter: cubic-bezier(.22, 1, .36, 1);--ease-exit: cubic-bezier(.4, 0, 1, 1);--clear-to-top: 104px;--hover-grow-scale-button: 1.12;--hover-grow-scale-card: 1.05;--hover-grow-duration: .32s;--hover-grow-easing: cubic-bezier(.22, 1, .36, 1)}:root[data-palette=graphite]{--paper: #161516;--ink: #e4ded6;--black: #f4f1ec;--link: #c4ae88;--link-strong: #ecd2a4;--rule: rgba(244, 241, 236, .14);--media-bg: #232123;--dot: rgba(244, 241, 236, .24);--dot-active: #f4f1ec;--quilt-filter: invert(1);--quilt-blend: lighten;--logo-filter: brightness(0) invert(1)}:root[data-palette=forest]{--paper: #2e3b35;--ink: #e2ddd1;--black: #f5f2ec;--link: #bccca6;--link-strong: #d9ecbf;--rule: rgba(245, 242, 236, .18);--media-bg: #3c4943;--dot: rgba(245, 242, 236, .26);--dot-active: #f5f2ec;--quilt-filter: invert(1);--quilt-blend: lighten;--logo-filter: brightness(0) invert(1)}:root[data-palette=clay]{--paper: #e8d7c7;--ink: #4d3a33;--black: #2b1f1a;--link: #8a4e30;--link-strong: #74381c;--rule: rgba(77, 58, 51, .22);--media-bg: #dcc8b7;--dot: rgba(77, 58, 51, .24);--dot-active: #4d3a33}:root{--page: var(--paper);--step: 0;--l-min: .8;--l-max: 1;--chip: #ffffff}:root[data-palette=graphite],:root[data-palette=forest]{--l-min: .14;--l-max: .42;--chip: color-mix(in srgb, var(--ink) 14%, var(--page))}:root[data-stage="1"]{--step: 1}:root[data-stage="2"]{--step: 2}:root[data-stage="3"]{--step: 3}@supports (color: oklch(from red l c h)){:root[data-shift=saturate]{--page: oklch( from var(--paper) clamp(var(--l-min), calc(l - .01 * var(--step)), var(--l-max)) calc(c + .016 * var(--step)) h )}:root[data-shift=drift]{--page: oklch(from var(--paper) l calc(c + .012 * var(--step)) calc(h + 18 * var(--step)))}:root[data-shift=dusk]{--page: oklch( from var(--paper) clamp(var(--l-min), calc(l - .035 * var(--step)), var(--l-max)) calc(c + .014 * var(--step)) calc(h - 12 * var(--step)) )}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;background:var(--page);transition:background-color .9s cubic-bezier(.65,0,.35,1)}body{margin:0;background:var(--page);color:var(--ink);font-family:var(--font);font-weight:400;font-size:18px;line-height:1.5;letter-spacing:.2px;-webkit-font-smoothing:antialiased;overflow-x:hidden;transition:background-color .9s cubic-bezier(.65,0,.35,1),color .9s cubic-bezier(.65,0,.35,1)}h1,h2,h3,p,ol,ul{margin:0;font-weight:400}ol,ul{padding:0;list-style:none}a{color:var(--link);text-decoration:none}img{display:block;max-width:100%}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}:focus-visible{outline:2px solid currentColor;outline-offset:3px;border-radius:4px}.wrap{width:100%;max-width:calc(var(--content) + var(--gutter) * 2);margin-inline:auto;padding-inline:var(--gutter)}.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter)}.hero{padding-top:180px}.hero__name{margin-bottom:28px;font-family:var(--font-name);font-weight:700;font-size:18px;line-height:1.2;letter-spacing:0;color:var(--black)}.hero__statement{font-size:clamp(40px,5.4vw,76px);line-height:1.06;letter-spacing:-.015em;text-wrap:balance}.section{padding-top:80px}.section__label{margin-bottom:20px;font-size:22px;line-height:30px}.section--ruled{margin-top:40px;padding-top:0}.section--ruled:before{content:"";display:block;height:1px;margin-bottom:40px;background:var(--rule)}.section--featured{padding-top:90px}.quilt{display:flex;flex-wrap:wrap;justify-content:center}.quilt__tile{flex:0 0 25%;aspect-ratio:480 / 217.67;transition:scale var(--hover-grow-duration) var(--hover-grow-easing)}.quilt__tile--slice{background-image:url(/img/logoquilt2024.png);background-size:400% 300%;background-repeat:no-repeat;filter:var(--quilt-filter);mix-blend-mode:var(--quilt-blend)}.quilt__tile--file{display:grid;place-items:center}.quilt__logo{width:48%;height:42%;position:relative;top:12%;object-fit:contain;filter:var(--logo-filter);-webkit-user-drag:none}@media (hover: hover) and (prefers-reduced-motion: no-preference){.quilt__tile:hover{scale:var(--hover-grow-scale-card)}}.quilt__tile{opacity:0;transform:translateY(24px)}.quilt.is-seen .quilt__tile{opacity:1;transform:none;transition:opacity .5s ease var(--d),transform .7s var(--ease-enter) var(--d),scale var(--hover-grow-duration) var(--hover-grow-easing)}.history{position:relative}.history__list{margin-top:-20px}.job{position:relative;isolation:isolate;align-items:start;padding:20px 0;transition:opacity .25s ease,color .2s ease}.job__when{grid-column:1 / span 6}.job__what{grid-column:7 / span 6}.job__dates{font-size:18px;line-height:27px}.job__where{margin-top:10px;font-size:14px;line-height:18px}.job__company{font-size:14px;line-height:20px}.job__role{margin-top:20px;font-size:25px;line-height:24px;transition:transform .32s var(--ease-enter),color .2s ease}.job__tenure{display:none}.job__link:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.job__link:focus-visible{outline:none}.job__link:focus-visible:after{outline:2px solid var(--ink);outline-offset:2px;border-radius:8px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.history:not(.history--logo) .job{opacity:0;transform:translateY(12px)}.history:not(.history--logo) .history__list.is-seen .job{opacity:1;transform:none;transition:opacity .5s ease calc(var(--i) * 50ms),transform .5s var(--ease-enter) calc(var(--i) * 50ms),color .2s ease}.history--fill .job:before{content:"";position:absolute;top:0;right:-20px;bottom:0;left:-20px;z-index:-1;border-radius:12px;background:var(--brand);transform:scaleY(0);transform-origin:50% 100%;transition:transform .22s var(--ease-exit)}.history--fill .job.is-active:before{transform:scaleY(1);transition:transform .3s var(--ease-enter)}.history--fill .job.is-active,.history--fill .job.is-active a{color:var(--brand-ink)}.follow-card{position:fixed;top:0;left:0;z-index:30;pointer-events:none}.follow-card__inner{display:flex;flex-direction:column;justify-content:space-between;width:240px;height:150px;padding:18px;border-radius:16px;box-shadow:0 20px 60px #00000038;opacity:0;scale:.92;transition:opacity .18s var(--ease-exit),scale .18s var(--ease-exit)}.follow-card.is-on .follow-card__inner{opacity:1;scale:1;transition:opacity .25s var(--ease-enter),scale .4s var(--ease-enter)}.follow-card__inner--logo{position:relative;width:240px;height:136px;padding:0;background:#fff;box-shadow:0 18px 50px #4437362e}.follow-card__logo{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:180px;height:76px;object-fit:contain;filter:brightness(0);opacity:0;transition:opacity .15s ease}.follow-card__logo.is-current{opacity:1}.follow-card__wordmark{display:grid;place-items:center;max-width:none;max-height:none;padding:0 16px;color:#000;font-weight:500;font-size:15px;letter-spacing:.06em;text-align:center}.follow-card__name{font-weight:500;font-size:18px;line-height:1.1}.follow-card__tenure{font-size:14px;opacity:.8}.history--focus .has-hover .job:not(.is-active){opacity:.3}.history--focus .job.is-active .job__role{transform:translate(12px)}.history--focus .job__tenure{display:flex;align-items:center;gap:12px;margin-top:14px;height:14px}.job__bar{display:block;height:4px;width:calc(var(--w) * 240px);border-radius:2px;background:var(--brand);transform:scaleX(0);transform-origin:0 50%;transition:transform .2s var(--ease-exit)}.job__tenure-text{font-size:13px;opacity:0;transition:opacity .15s ease}.history--focus .job.is-active .job__bar{transform:scaleX(1);transition:transform .5s var(--ease-enter)}.history--focus .job.is-active .job__tenure-text{opacity:.8;transition:opacity .3s ease .1s}.timeline{margin-bottom:24px;-webkit-user-select:none;user-select:none}.timeline__track{position:relative;height:54px}.timeline__span{position:absolute;bottom:0;height:10px;border-right:2px solid var(--page);border-radius:4px;background:var(--dot);transition:height .35s var(--ease-enter),background-color .25s ease,opacity .25s ease}.timeline__span.is-active{height:34px;background:var(--ink)}.timeline__label{position:absolute;left:0;bottom:calc(100% + 6px);font-size:12px;white-space:nowrap;opacity:0;transform:translateY(4px);transition:opacity .15s ease,transform .3s var(--ease-enter)}.timeline__span.is-active .timeline__label{opacity:1;transform:none}.timeline__ticks{position:relative;height:22px;margin-top:6px}.timeline__ticks span{position:absolute;top:6px;font-size:12px;opacity:.7;translate:-50% 0}.history--timeline .history__list.is-seen .job.is-active{opacity:.5}.featured{display:grid;gap:80px}.featured__row{align-items:start}.featured__name{font-weight:500}.featured__block{display:flex;flex-direction:column;align-items:flex-start;gap:24px;color:inherit}.featured__arrow{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--chip);color:var(--ink);transition:background-color .9s cubic-bezier(.65,0,.35,1)}.featured__arrow svg{transition:transform .32s var(--ease-enter)}@media (prefers-reduced-motion: no-preference){.featured__block:hover .featured__arrow svg,.featured__block:focus-visible .featured__arrow svg,.featured__row:has(.featured__media:hover) .featured__arrow svg{transform:translate(5px)}}.featured__block:focus-visible{outline:none}.featured__block:focus-visible .featured__arrow{outline:2px solid var(--ink);outline-offset:3px}.featured__text{grid-column:1 / span 5;padding-right:80px;font-size:18px;line-height:24px}.featured__side{grid-column:6 / span 7}.featured__media{position:relative;display:block;aspect-ratio:16 / 9;border-radius:28px;overflow:hidden;background:var(--media-bg);transition:background-color .4s ease}.featured__media>img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.carousel__stage{position:absolute;top:0;right:0;bottom:0;left:0;cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none}.carousel__stage[data-phase=dragging]{cursor:grabbing}.carousel__track{--slide-ms: .7s;--slide-easing: cubic-bezier(.65, 0, .35, 1);display:grid;width:100%;height:100%;will-change:transform}.carousel__stage[data-source=manual] .carousel__track{--slide-ms: .4s;--slide-easing: cubic-bezier(.32, .72, 0, 1)}.carousel__stage[data-phase=settling] .carousel__track{transition:transform var(--slide-ms) var(--slide-easing)}.carousel__slide{grid-area:1 / 1;width:100%;height:100%;min-width:0;object-fit:cover;transform:translate(calc(var(--slide, 0) * 100%));-webkit-user-drag:none}.carousel__dots{display:flex;justify-content:center;gap:4px;margin-top:12px}.carousel__dot{position:relative;width:20px;height:20px}.carousel__dot:after{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;border-radius:50%;background:var(--dot);transition:background-color .25s ease}.carousel__dot.is-active:after{background:var(--dot-active)}@media (hover: hover){.carousel__dot:not(.is-active):hover:after{background:var(--dot-active);opacity:.6}}@media (prefers-reduced-motion: reduce){.carousel__stage[data-phase=settling] .carousel__track{transition-duration:.12s}}.contact{padding-top:200px;display:flex;justify-content:center}.contact__text{max-width:907px;font-size:38px;line-height:51px}.contact__text a{color:var(--link-strong);padding-bottom:3px;background-image:linear-gradient(currentColor,currentColor),linear-gradient(color-mix(in srgb,currentColor 35%,transparent),color-mix(in srgb,currentColor 35%,transparent));background-repeat:no-repeat;background-position:100% 100%,0 100%;background-size:0% 2px,100% 1px;-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:background-size .45s var(--ease-enter),color .4s ease}.contact__text a:hover,.contact__text a:focus-visible{background-position:0 100%,0 100%;background-size:100% 2px,100% 1px}.site-footer{padding-top:180px;padding-bottom:var(--clear-to-top)}.site-footer__who{grid-column:1 / span 6}.site-footer__name{font-size:18px;line-height:14px}.site-footer__disciplines{display:grid;gap:27px;margin-top:27px;font-size:13px;line-height:14px}.site-footer__links{grid-column:7 / span 6;padding-left:60px;display:grid;align-content:start;font-size:14px;line-height:21px}.site-footer__bottom{margin-top:100px;align-items:end}.site-footer__meta{grid-column:1 / span 9;display:grid;gap:21px;font-size:12px;line-height:12px}.site-footer__meta a{color:inherit}.site-footer__signoff{grid-column:10 / span 3;font-size:16px;line-height:24px}.site-footer__ciao{font-size:70px;line-height:70px;margin-bottom:4px}.footer-muted{opacity:.65}.footer-signoff{padding-top:160px;padding-bottom:var(--clear-to-top)}.footer-signoff__cols{padding-top:24px;border-top:1px solid var(--rule);font-size:15px;line-height:24px}.footer-signoff__who{grid-column:1 / span 4}.footer-signoff__list{grid-column:span 4}.footer-signoff__ciao{margin:72px 0 0 -.04em;font-weight:500;font-size:clamp(120px,24vw,330px);line-height:.8;letter-spacing:-.06em;color:var(--black)}.footer-signoff__base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin-top:40px;font-size:13px}.footer-signoff__base a{color:inherit}.footer-index{padding-top:160px;padding-bottom:var(--clear-to-top)}.footer-index__col{grid-column:span 3;display:grid;align-content:start;gap:4px;padding-top:16px;border-top:1px solid var(--ink);font-size:15px;line-height:24px}.footer-index__name{font-size:22px;line-height:30px}.footer-index__label{margin-bottom:12px;font-size:13px;opacity:.65}.footer-index__bar{display:flex;justify-content:space-between;gap:24px;margin-top:96px;padding-top:16px;border-top:1px solid var(--rule);font-size:13px}.footer-card{padding-top:160px;padding-bottom:var(--clear-to-top)}.footer-card__panel{display:grid;gap:72px;padding:48px 56px 40px;border-radius:28px;background:var(--ink);color:var(--paper);transition:background-color .4s ease,color .4s ease}.footer-card__panel a{color:inherit}.footer-card__top{display:flex;justify-content:space-between;align-items:start;gap:32px}.footer-card__ciao{font-size:70px;line-height:.85;letter-spacing:-.03em}.footer-card__links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 24px;font-size:15px}.footer-card__label{margin-bottom:8px;font-size:13px;opacity:.65}.footer-card__email{font-size:clamp(26px,3.6vw,44px);line-height:1.1;letter-spacing:-.01em;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px;word-break:break-all}.footer-card__bottom{display:grid;grid-template-columns:1fr auto auto;gap:8px 40px;font-size:13px;opacity:.75}@media (max-width: 900px){.footer-signoff,.footer-index,.footer-card{padding-top:120px}.footer-signoff__who,.footer-signoff__list,.footer-index__col{grid-column:1}.footer-signoff__cols,.footer-index__cols{row-gap:28px}.footer-signoff__ciao{margin-top:48px}.footer-index__bar{margin-top:56px}.footer-card{padding-inline:16px}.footer-card__panel{gap:48px;padding:32px 24px 28px;border-radius:22px}.footer-card__top{flex-direction:column}.footer-card__links{justify-content:flex-start}.footer-card__bottom{grid-template-columns:1fr}}@media (max-width: 900px){.grid{grid-template-columns:minmax(0,1fr)}.hero{padding-top:112px}.hero__name{margin-bottom:20px;font-size:16px}.job__when,.job__what,.featured__text,.featured__side,.site-footer__who,.site-footer__links,.site-footer__meta,.site-footer__signoff{grid-column:1}.hero__statement{font-size:32px;line-height:1.12}.job{row-gap:12px}.job__role{margin-top:8px;font-size:22px;line-height:26px}.featured{gap:64px}.featured__row{row-gap:20px}.featured__text{padding-right:0}.featured__media{border-radius:20px}.contact{padding-top:140px}.contact__text{font-size:26px;line-height:36px}.site-footer{padding-top:120px}.site-footer__links{padding-left:0;margin-top:40px}.site-footer__bottom{row-gap:48px;margin-top:64px}}.to-top{position:fixed;right:24px;bottom:24px;z-index:50;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--chip);color:var(--ink);opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .18s var(--ease-exit),transform .18s var(--ease-exit),background-color .9s cubic-bezier(.65,0,.35,1),color .4s ease,scale var(--hover-grow-duration) var(--hover-grow-easing)}.to-top.is-shown{opacity:1;transform:none;pointer-events:auto;transition:opacity .24s var(--ease-enter),transform .32s var(--ease-enter),background-color .9s cubic-bezier(.65,0,.35,1),color .4s ease,scale var(--hover-grow-duration) var(--hover-grow-easing)}.to-top:hover{color:var(--black)}@media (hover: hover) and (prefers-reduced-motion: no-preference){.to-top:hover{scale:var(--hover-grow-scale-button)}}.to-top svg{transition:transform .3s var(--ease-enter)}@media (hover: hover) and (prefers-reduced-motion: no-preference){.to-top:hover svg{transform:translateY(-2px)}}.hero__name:focus{outline:none}@media (max-width: 900px){.to-top{right:16px;bottom:16px;width:44px;height:44px}}.lab{position:fixed;left:16px;bottom:16px;z-index:60;display:grid;justify-items:start;gap:8px;letter-spacing:0}@media (max-width: 900px){.lab{left:auto;right:16px;justify-items:end}}.lab__toggle{padding:10px 16px;border-radius:999px;background:#141414;color:var(--paper);font-family:var(--font-label);font-size:11px;letter-spacing:.12em;text-transform:uppercase;border:1px solid rgba(255,255,255,.18);box-shadow:0 8px 30px #0000002e}.lab__panel{display:grid;gap:12px;padding:16px;border-radius:16px;background:#141414eb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--paper);box-shadow:0 20px 60px #00000052;animation:lab-in .24s var(--ease-enter) both}@keyframes lab-in{0%{opacity:0;transform:translateY(12px)}}.lab__row{display:grid;gap:6px}.lab__title{font-family:var(--font-label);font-size:10px;letter-spacing:.14em;text-transform:uppercase;opacity:.6}.lab__seg{display:flex;gap:2px;padding:3px;border-radius:999px;background:#ffffff14}.lab__seg button{flex:1;padding:7px 14px;border-radius:999px;font-weight:500;font-size:13px;transition:background-color .2s ease,color .2s ease}.lab__seg button.is-on{background:var(--paper);color:#141414}.lab__replay{justify-self:start;font-size:13px;text-decoration:underline;text-underline-offset:3px;opacity:.8}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0ms!important;transition-duration:.12s!important;transition-delay:0ms!important}}
