.nav{position:fixed;inset:0 0 auto;z-index:10;background:var(--color-white)}.nav__inner{position:relative;display:flex;align-items:center;gap:24px;height:60px}.nav__inner:after{content:"";position:absolute;left:var(--gutter);right:var(--gutter);bottom:0;border-top:1px dashed var(--color-grey-2)}.nav__link.nav__logo{font-weight:700;color:var(--color-black)}.nav__dot{color:var(--color-accent)}.nav__list{list-style:none;margin:0;padding:0;display:flex;gap:24px}.nav__link{position:relative;z-index:1;display:flex;align-items:center;height:60px;font-weight:var(--weight-medium);text-decoration:none;color:var(--color-grey-1)}.nav__link:hover,.nav__link--active{color:var(--color-black)}.nav__link--active{box-shadow:inset 0 -2px 0 var(--color-grey-1)}.nav__theme{position:relative;z-index:1;display:grid;place-items:center;flex:none;width:32px;height:32px;margin:0 -6px 0 auto;padding:0;border:0;border-radius:50%;background:none;color:var(--color-grey-1);cursor:pointer;transition:color .2s ease,background-color .2s ease}.nav__theme:hover{color:var(--color-black);background:var(--color-grey-3)}.nav__theme svg{transition:transform .4s cubic-bezier(.2,.7,.2,1)}.nav__theme:hover svg{transform:rotate(20deg)}@media(max-width:480px){.nav__inner,.nav__list{gap:14px}.nav__theme{width:28px;height:28px;margin-right:-4px}}@media(max-width:400px){.nav__inner,.nav__list{gap:12px}}@media(max-width:374px){.nav__inner,.nav__list{gap:9px}}.ruler{display:flex;align-items:flex-start;-webkit-user-select:none;user-select:none}.ruler__major{display:flex;flex-direction:column;align-items:center;width:1px;flex:none}.ruler__major:first-child{align-items:flex-start}.ruler__major:last-child{align-items:flex-end}.ruler__label{font-size:12px;line-height:var(--leading);color:var(--color-grey-2);white-space:nowrap}.ruler__tick{display:block;width:1px;height:16px;background:var(--color-tick)}.ruler__segment .ruler__tick:first-child,.ruler__segment .ruler__tick:last-child{visibility:hidden}.ruler__tick--tall{height:22px;background:var(--color-grey-2)}.ruler__segment{flex:1;display:flex;justify-content:space-between}@media(max-width:640px){.ruler__major--odd .ruler__label{visibility:hidden}}.icon{display:inline-block;flex:none;width:20px;height:20px;background:currentColor;-webkit-mask:var(--icon) center / contain no-repeat;mask:var(--icon) center / contain no-repeat}.contact{display:flex;flex-direction:column;gap:60px}.contact__grid{display:grid;grid-template-columns:repeat(3,1fr) 34px;align-items:center;gap:60px}.contact__easter-egg{margin:0;font-size:4px;font-weight:var(--weight-medium);line-height:normal;letter-spacing:.01em;text-align:right;color:var(--color-black);-webkit-text-size-adjust:none;text-size-adjust:none}.contact__address{font-style:normal}.contact__clock p{white-space:nowrap}.contact__links{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.contact__mail{display:flex;flex-wrap:wrap;gap:8px}.contact__mail a,.contact__socials a{text-decoration:none}.contact__mail a:hover,.contact__socials a:hover{text-decoration:underline}.contact__socials{list-style:none;margin:0;padding:0;display:flex;gap:42px}.contact__socials a{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.contact__socials .icon{transition:transform .2s ease}.contact__socials a:hover .icon{transform:translate(2px,-2px)}@media(max-width:860px){.contact__links{flex-direction:column}.contact__socials{flex-wrap:wrap;gap:12px 32px}}@media(max-width:640px){.contact{gap:40px}.contact__grid{grid-template-columns:1fr 1fr;align-items:start;gap:24px}.contact__clock p{white-space:normal}.contact__title{grid-column:1 / -1;grid-row:1}.contact__easter-egg{grid-column:2;grid-row:1;justify-self:start;align-self:center;width:34px;text-align:left}.contact__socials{display:grid;grid-template-columns:1fr 1fr}}.footer{overflow:hidden;background:radial-gradient(ellipse 400px 259px at 50% 0%,var(--color-grey-3),var(--color-white))}.footer__stack{display:flex;flex-direction:column;gap:60px}.footer__wordmark{--wordmark-size: min(180px, 12.5vw);display:flex;justify-content:center;height:calc(var(--wordmark-size) * 149 / 180);margin-top:calc(var(--wordmark-size) * -3 / 180);overflow:hidden;font-size:var(--wordmark-size)}.footer__wordmark span{font-weight:700;line-height:calc(220 / 180);letter-spacing:.01em;white-space:nowrap;background:linear-gradient(to bottom,var(--color-wordmark),var(--color-white));-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-user-select:none;user-select:none}@media(max-width:640px){.footer__stack{gap:40px}.footer__wordmark{margin-top:16px}}.zoomable{display:block;width:100%;padding:0;border:0;background:none;font:inherit;color:inherit;text-align:inherit;cursor:zoom-in}.zoomable:focus-visible{outline-offset:4px}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:56px 76px 24px;background:#121212eb;cursor:zoom-out;animation:lightbox-in .2s ease-out}.lightbox__figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:12px;max-width:min(1400px,100%);max-height:100%}.lightbox__figure img,.lightbox__figure video{display:block;max-width:100%;max-height:calc(100vh - 140px);max-height:calc(100dvh - 140px);width:auto;height:auto;border-radius:var(--radius-md);cursor:default;animation:lightbox-zoom .24s ease-out}.lightbox__tile{display:grid;place-items:center;width:min(1000px,calc(100vw - 152px),calc((100dvh - 140px) * var(--ratio)));overflow:hidden;border-radius:var(--radius-md);background:var(--cs-tile);cursor:default;animation:lightbox-zoom .24s ease-out}.lightbox__tile--end{align-items:end}.lightbox__figure .lightbox__tile img{width:var(--inset);max-width:none;max-height:none;border-radius:0;animation:none}.lightbox__figure figcaption{max-width:640px;color:#d8d8d8;font-size:var(--text-small);text-align:center;cursor:default}.lightbox__close{position:absolute;top:12px;right:16px;width:40px;height:40px;border:0;border-radius:50%;background:#ffffff1f;color:#fff;font-size:28px;line-height:1;cursor:pointer}.lightbox__close:hover{background:#ffffff38}.lightbox__close:focus-visible,.lightbox__step:focus-visible{outline-color:#fff}.lightbox__step{position:absolute;top:50%;z-index:1;display:grid;place-items:center;width:44px;height:44px;margin-top:-22px;border:0;border-radius:50%;background:#ffffff1f;color:#fff;cursor:pointer}.lightbox__step:hover{background:#ffffff38}.lightbox__step--prev{left:16px}.lightbox__step--next{right:16px}.lightbox__count{display:block;margin-top:4px;color:#9a9a9a;font-variant-numeric:tabular-nums}@media(max-width:640px){.lightbox{padding:56px 16px 84px}.lightbox__tile{width:min(1000px,calc(100vw - 32px),calc((100dvh - 200px) * var(--ratio)))}.lightbox__figure img,.lightbox__figure video{max-height:calc(100dvh - 200px)}.lightbox__step{top:auto;bottom:20px;margin-top:0}}@keyframes lightbox-in{0%{opacity:0}}@keyframes lightbox-zoom{0%{transform:scale(.96)}}@font-face{font-family:Caveat;font-weight:400;font-display:swap;src:url(/assets/caveat-latin-400-normal-C_QVhfDC.woff2) format("woff2")}@font-face{font-family:Caveat;font-weight:700;font-display:swap;src:url(/assets/caveat-latin-700-normal-CQZB3o8M.woff2) format("woff2")}@font-face{font-family:Patrick Hand;font-weight:400;font-display:swap;src:url(/assets/patrick-hand-latin-400-normal-C0o9_-Bw.woff2) format("woff2")}.sb-page{--ink: #3a352d;--hand: "Caveat", "Bradley Hand", cursive;--note: "Patrick Hand", "Comic Sans MS", cursive;--spring: cubic-bezier(.34, 1.56, .64, 1);position:relative;height:100%;border-radius:inherit;color:var(--ink);font-family:var(--note);line-height:1.3;background:radial-gradient(circle,rgba(120,100,70,.18) 1px,transparent 1.3px) 0 0 / 18px 18px,#fbf7ef}.sb-page>*{position:absolute;margin:0;rotate:var(--r, 0deg)}@keyframes sb-drop{0%{opacity:0;translate:0 -18px;scale:1.08}}@keyframes sb-draw{0%{stroke-dashoffset:600}}.is-shown .sb-in{animation:sb-drop .62s var(--spring) backwards;animation-delay:calc(.45s + var(--d, 0) * .11s)}.sb-draw path{stroke-dasharray:600;stroke-dashoffset:0}.is-shown .sb-draw path{animation:sb-draw 1.1s ease-out backwards;animation-delay:calc(.65s + var(--d, 0) * .11s)}.sb-text{font-size:15px;line-height:1.38}.sb-text--hand{font-family:var(--hand);font-weight:700;line-height:1}.sb-label{padding:2px 12px 3px;background:#f2a54159;font-family:var(--hand);font-size:22px;font-weight:700;line-height:1.2}.sb-folio{left:0;right:0;bottom:10px;font-family:var(--hand);font-size:20px;text-align:center;color:#3a352d8c}.sb-snap{padding:8px 8px 0;background:#fff;box-shadow:0 1px 2px #281e0a1f,0 6px 16px #281e0a1f;transition:rotate .45s var(--spring),scale .45s var(--spring),translate .45s var(--spring),box-shadow .3s ease}.sb-snap img{display:block;width:100%;object-fit:cover}.sb-snap figcaption{padding:6px 2px 8px;font-family:var(--hand);font-size:20px;font-weight:700;line-height:1;text-align:center}.sb-snap--plain{padding:5px}.sb-tape{position:absolute;top:-11px;left:50%;z-index:1;width:74px;height:22px;margin-left:-37px;rotate:-4deg;opacity:.85;background:var(--tape);mask:linear-gradient(90deg,transparent 0 2px,#000 2px calc(100% - 2px),transparent 0)}.sb-tape--yellow{--tape: repeating-linear-gradient(45deg, #f6d66b 0 6px, #f9e08d 6px 12px)}.sb-tape--pink{--tape: repeating-linear-gradient(45deg, #f4a7b9 0 6px, #f8bfcd 6px 12px)}.sb-tape--mint{--tape: repeating-linear-gradient(45deg, #9fdcc4 0 6px, #b9e8d5 6px 12px)}.sb-tape--blue{--tape: repeating-linear-gradient(45deg, #a9c4f5 0 6px, #c2d6f8 6px 12px)}.sb-note{padding:12px 12px 14px;background:#fbe78a;box-shadow:0 1px 1px #281e0a1a,3px 8px 14px #281e0a1f;font-size:13.5px;line-height:1.25}.sb-note--pink{background:#f9c6d3}.sb-note--mint{background:#c4ead9}.sb-note b{display:block;margin-bottom:2px;font-family:var(--hand);font-size:30px;line-height:1}.sb-note__title{margin:0 0 6px;font-family:var(--hand);font-size:26px;font-weight:700}.sb-checklist{margin:0;padding:0;list-style:none;font-size:15px}.sb-checklist li{padding:3px 0 3px 22px;background:no-repeat 0 6px / 14px 14px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 9 L6 13 L14 3' fill='none' stroke='%233a352d' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.sb-year{height:86px}.sb-year svg{position:absolute;top:-6px;right:-8px;bottom:-6px;left:-8px;width:calc(100% + 16px);height:calc(100% + 12px);fill:none;stroke:#f2a541;stroke-width:3;stroke-linecap:round}.sb-year span{position:relative;display:block;font-family:var(--hand);font-size:72px;font-weight:700;line-height:86px;text-align:center}.sb-doodle{height:auto;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;overflow:visible;transition:scale .3s var(--spring)}.sb-doodle--star,.sb-doodle--heart{fill:currentColor;fill-opacity:.25}.sb-doodle--heart:hover,.sb-doodle--star:hover{scale:1.3}@keyframes sb-spin{to{rotate:360deg}}.sb-doodle--sun{animation:sb-spin 18s linear infinite}.sb-lined{padding:26px 24px 22px 40px;background:linear-gradient(90deg,transparent 28px,rgba(232,87,111,.45) 28px 29.5px,transparent 29.5px),repeating-linear-gradient(180deg,transparent 0 25px,rgba(76,125,255,.22) 25px 26px),#fffdf8;background-position:0 0,0 18px,0 0;box-shadow:0 1px 2px #281e0a1a,0 8px 20px #281e0a1a;font-size:15px;line-height:26px}.sb-lined p{margin:0 0 4px}.sb-lined__hi,.sb-lined__sign,.sb-lined__name{font-family:var(--hand);font-weight:700}.sb-lined__hi{font-size:28px}.sb-lined__sign{margin-top:10px!important;font-size:22px}.sb-lined__name{font-size:36px;line-height:1!important}.sb-stamp{height:96px;padding:7px;background:radial-gradient(circle at 50% 50%,transparent 3px,#ffffff 3.5px) -5px -5px / 10px 10px,#fff;object-fit:cover;filter:drop-shadow(0 3px 6px rgba(40,30,10,.2));outline:2px dashed rgba(58,53,45,.18);outline-offset:-4px;transition:rotate .45s var(--spring)}.sb-ticket{display:flex;flex-direction:column;gap:2px;padding:10px 14px;border:1.5px dashed rgba(58,53,45,.45);border-radius:6px;background:#fff3d6;font-size:12px;text-transform:uppercase;letter-spacing:.06em;transition:translate .3s var(--spring)}.sb-ticket b{font-family:var(--hand);font-size:26px;letter-spacing:0}.sb-list{padding:0;list-style:none;font-size:15px;line-height:1.5}.sb-list li:before{content:"✶ ";color:#f2a541}.sb-badge{aspect-ratio:1;display:grid;place-items:center;background:#4c7dff;color:#fff;text-align:center;clip-path:polygon(50% 0%,61% 12%,75% 6%,79% 21%,94% 25%,88% 39%,100% 50%,88% 61%,94% 75%,79% 79%,75% 94%,61% 88%,50% 100%,39% 88%,25% 94%,21% 79%,6% 75%,12% 61%,0% 50%,12% 39%,6% 25%,21% 21%,25% 6%,39% 12%);transition:rotate .7s var(--spring)}.sb-badge span{font-family:var(--hand);font-size:34px;font-weight:700;line-height:.9}.sb-badge small{display:block;font-size:17px}.sb-note,.sb-ticket,.sb-badge,.sb-stamp{transition:rotate .45s var(--spring),scale .45s var(--spring),translate .45s var(--spring),box-shadow .3s ease}.sb-page>.sb-snap:hover,.sb-page>.sb-note:hover,.sb-page>.sb-ticket:hover,.sb-page>.sb-stamp:hover,.sb-page>.is-grown:not(.sb-badge){z-index:40!important;rotate:calc(var(--r) * .25);scale:var(--hs);translate:0 -4px;box-shadow:0 4px 8px #281e0a1f,0 24px 48px #281e0a42}.sb-page>.sb-badge:hover,.sb-page>.sb-badge.is-grown{z-index:40!important;rotate:calc(var(--r) + 360deg);scale:var(--hs)}@media(prefers-reduced-motion:reduce){.is-shown .sb-in,.is-shown .sb-draw path,.sb-doodle--sun{animation:none}}.pbook-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;padding:40px;background:#0000;transition:background .35s ease}.pbook-modal.is-open{background:#00000073;transition-delay:.85s}.pbook-modal__panel{position:relative;display:grid;place-items:center;border-radius:12px}.pbook-modal__panel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:var(--color-surface);opacity:0;transform:scale(.985);transition:opacity .35s ease,transform .45s cubic-bezier(.2,.7,.2,1)}.pbook-modal.is-open .pbook-modal__panel:before{opacity:1;transform:none;transition-delay:.85s}.pbook-modal__close{opacity:0;transition:opacity .3s ease;position:absolute;top:16px;right:16px;z-index:2;width:40px;height:40px;border:0;border-radius:50%;background:color-mix(in srgb,var(--color-black) 8%,transparent);color:var(--color-black);font-size:26px;line-height:1;cursor:pointer}.pbook-modal.is-open .pbook-modal__close{opacity:1;transition-delay:.95s}.pbook-modal__close:hover{background:color-mix(in srgb,var(--color-black) 14%,transparent)}.pbook-stage{width:calc(var(--book-w) * var(--scale));height:calc(654px * var(--scale));perspective:2200px;transform:translate(var(--from-x),var(--from-y)) scale(var(--from-s));transition:transform 1s cubic-bezier(.65,0,.35,1) .3s}.pbook-modal.is-open .pbook-stage{transform:none;transition-delay:0ms}.pbook{position:relative;width:var(--book-w);height:654px;transform-style:preserve-3d;transform-origin:0 0;transform:scale(var(--scale)) translate(-230px);transition:transform 1s cubic-bezier(.65,0,.35,1) .3s}.pbook-modal.is-open .pbook{transform:scale(var(--scale));transition-delay:.15s}.pbook__block{position:absolute;top:0;width:460px;height:654px;background:#fbf7ef}.pbook__block--right{left:460px;border-radius:0 28px 28px 0;box-shadow:1.5px 1px #ececea,3px 2px #f6f6f4,4.5px 3px #e8e8e6,6px 4px #f3f3f1,7.5px 5px #e2e2e0,24px 30px 60px #00000024}.pbook__block--left{left:0;border-radius:28px 0 0 28px;box-shadow:-1.5px 1px #ececea,-3px 2px #f6f6f4,-4.5px 3px #e8e8e6,-6px 4px #f3f3f1,-7.5px 5px #e2e2e0,-24px 30px 60px #00000024;opacity:0;transition:opacity .4s ease .3s}.pbook-modal.is-open .pbook__block--left{opacity:1;transition-delay:.35s}.pbook__leaf{position:absolute;top:0;left:460px;width:460px;height:654px;transform-style:preserve-3d;transform-origin:left center;transition:transform .9s cubic-bezier(.645,.045,.355,1) .3s}.pbook-modal.is-open .pbook__leaf{transition-delay:0ms}.pbook__leaf.is-turned{transform:rotateY(-180deg)}.pbook__leaf--cover{transition-duration:1s}.pbook-modal.is-open .pbook__leaf--cover{transition-delay:.15s}.pbook__face{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;background:#fbf7ef;cursor:pointer}.pbook__leaf:has(.sb-page>:hover){z-index:60!important}.pbook__leaf:not(.pbook__leaf--cover)>.pbook__face--front:before{content:"";position:absolute;right:0;bottom:0;z-index:30;width:0;height:0;border-top-left-radius:6px;background:linear-gradient(135deg,#efe7d6 0%,#fffaf0 48%,rgba(0,0,0,.18) 50%,transparent 56%);box-shadow:-3px -3px 8px #281e0a1f;transition:width .35s cubic-bezier(.34,1.56,.64,1),height .35s cubic-bezier(.34,1.56,.64,1);pointer-events:none}.pbook__leaf:not(.pbook__leaf--cover)>.pbook__face--front:hover:before{width:46px;height:46px}.pbook__face--front{border-radius:0 28px 28px 0}.pbook__face--back{border-radius:28px 0 0 28px;transform:rotateY(180deg)}.pbook__face:after{content:"";position:absolute;top:0;bottom:0;width:42px;pointer-events:none}.pbook__face--front:after{left:0;background:linear-gradient(90deg,#0000001a,#0000)}.pbook__face--back:after{right:0;background:linear-gradient(270deg,#0000001a,#0000)}.pbook__leaf--cover>.pbook__face--front{border-radius:calc(3px / var(--from-s)) calc(12px / var(--from-s)) calc(12px / var(--from-s)) calc(3px / var(--from-s));background:#fbfbfc;box-shadow:24px 30px 60px #00000029;cursor:default;transition:border-radius 1s cubic-bezier(.65,0,.35,1) .3s}.pbook-modal.is-open .pbook__leaf--cover>.pbook__face--front{border-radius:10px 40px 40px 10px;transition-delay:.15s}.pbook__leaf--cover>.pbook__face--front:after{left:34px;width:10px;background:linear-gradient(90deg,#0000001a,#00000005)}.pbook__cover-face{display:grid;place-items:center;height:100%}.pbook__cover-face img{width:230px;height:257px;border-radius:50%;object-fit:cover}.pbook__name{position:absolute;bottom:112px;font-family:Caveat,cursive;font-size:40px;font-weight:700;color:#3a352d}.pbook-nav{position:absolute;left:50%;bottom:22px;display:flex;align-items:center;gap:18px;transform:translate(-50%);opacity:0;transition:opacity .3s ease}.pbook-modal.is-open .pbook-nav{opacity:1;transition-delay:.95s}.pbook-nav>button{display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;background:color-mix(in srgb,var(--color-black) 8%,transparent);color:var(--color-black);cursor:pointer}.pbook-nav>button:hover:not(:disabled){background:color-mix(in srgb,var(--color-black) 14%,transparent)}.pbook-nav>button:disabled{opacity:.35;cursor:default}.pbook-nav ol{display:flex;gap:14px;margin:0;padding:0;list-style:none;font-size:12px;color:var(--color-grey-1)}.pbook-nav li button{padding:4px 2px;border:0;background:none;font:inherit;color:inherit;cursor:pointer;transition:color .2s ease}.pbook-nav li button:hover,.pbook-nav li button[aria-current=page]{color:var(--color-black)}.is-single .pbook,.is-single.is-open .pbook{transform:scale(var(--scale))}.is-single .pbook-stage{perspective:3600px}.is-single .pbook__leaf,.is-single .pbook__block--right{left:0}.is-single .pbook__block--left{display:none}.is-single .pbook__leaf{opacity:1;transition:transform .8s cubic-bezier(.645,.045,.355,1),opacity .15s ease}.is-single .pbook__leaf.is-turned{transform:rotateY(-100deg);opacity:0;transition:transform .7s cubic-bezier(.645,.045,.355,1),opacity .3s ease .33s}.is-single .pbook__leaf--cover{transition-duration:1s,.15s}.is-single .pbook__leaf--cover.is-turned{transition:transform 1s cubic-bezier(.65,0,.35,1) .15s,opacity .35s ease .55s}.is-single .pbook__face--front,.is-single .pbook__block--right{border-radius:8px 28px 28px 8px}.pbook-nav__count{margin:0;min-width:96px;font-size:13px;text-align:center;color:var(--color-grey-1);font-variant-numeric:tabular-nums}.pbook-nav__count b{margin-right:6px;font-weight:500;color:var(--color-black)}@media(max-width:640px){.pbook-modal{padding:12px}}@media(prefers-reduced-motion:reduce){.pbook__leaf,.pbook__block--left,.pbook-stage,.pbook,.pbook-nav,.pbook-modal,.pbook-modal__close,.pbook-modal__panel:before{transition-duration:1ms!important;transition-delay:0ms!important}}@font-face{font-family:Caveat;font-weight:700;font-display:swap;src:url(/assets/caveat-latin-700-normal-CQZB3o8M.woff2) format("woff2")}.home-loader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:grid;place-items:center;overflow:hidden;background:var(--color-white)}.home-loader>*{grid-area:1 / 1}.home-loader__book{position:relative;z-index:2;width:68px;height:97px;perspective:600px}.home-loader__book .book__cover{animation:none}.home-loader__note{z-index:2;margin:0;transform:translateY(calc(97px * var(--big) / 2 + 30px));font-family:Caveat,cursive;font-size:26px;font-weight:700;color:var(--color-grey-1);opacity:0}.home-loader__photo{z-index:1;width:clamp(84px,11vw,168px);opacity:0}.home-loader__print{display:block;overflow:hidden;border-radius:8px;box-shadow:0 2px 6px #00000014,0 18px 40px #00000029}.home-loader__photo:nth-child(3n+1) .home-loader__print{aspect-ratio:4 / 3}.home-loader__photo:nth-child(3n+2) .home-loader__print{aspect-ratio:4 / 5}.home-loader__photo:nth-child(3n) .home-loader__print{aspect-ratio:1}.home-loader__print img{display:block;width:100%;height:100%;object-fit:cover}.intro{position:relative;display:flex;flex-direction:column;gap:20px}.intro__book{position:relative;display:block;width:100%;height:100%;padding:0;border:0;background:none;perspective:600px;cursor:pointer}.book__page,.book__cover{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:3px 12px 12px 3px;background:#fbfbfc;transition:transform .6s cubic-bezier(.2,.7,.2,1)}.book__page{inset:3px calc(var(--i) * -1.2px) 3px 5px;border-radius:3px 11px 11px 3px;background:hsl(220 14% calc(99% - var(--i) * 2%));box-shadow:.5px 0 #0000000f;transform-origin:left center}.book__page:first-child{box-shadow:.5px 0 #0000000f,0 2px 8px #00000014}.book__cover{display:grid;place-items:center;transform-origin:left center;transform:rotateY(-8deg);box-shadow:0 1px 2px #00000014,0 6px 18px #0000001a}.book__cover:before{content:"";position:absolute;top:0;bottom:0;left:5px;width:1.5px;background:linear-gradient(90deg,#0000001a,#00000005)}.book__cover img{width:34px;height:38px;border-radius:50%;object-fit:cover;box-shadow:inset 0 0 0 1px #0000000f}.intro__avatar:hover .book__cover{transform:rotateY(-34deg)}.intro__avatar:hover .book__page{transform:rotateY(-6deg) translate(3px)}.intro__avatar{position:relative;isolation:isolate;align-self:flex-start;width:68px;height:97px}.book__peek{position:absolute;width:26px;padding:2px 2px 5px;background:#fff;box-shadow:0 1px 3px #0000002e;rotate:var(--r);translate:var(--in);animation:book-peek 7.5s cubic-bezier(.34,1.4,.64,1) var(--d) infinite backwards}.book__peek img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.book__peek--top{--r: -9deg;--in: 0 16px;top:-14px;left:30px}.book__peek--right{--r: 11deg;--in: -20px 0;top:14px;right:-17px}.book__peek--low{--r: -6deg;--in: -20px 0;bottom:14px;right:-15px;width:22px}@keyframes book-peek{0%,33%,to{translate:var(--in)}7%,24%{translate:0 0}}.intro__avatar:hover .book__peek{animation:none}.book__cover{animation:book-flap 2.5s ease-in-out infinite}@keyframes book-flap{0%,99%,to{transform:rotateY(-8deg)}21%,72%{transform:rotateY(-22deg)}}.intro__avatar:hover .book__cover{animation:none}@media(prefers-reduced-motion:reduce){.book__peek,.book__cover{animation:none}}.intro__avatar:before{content:"";position:absolute;top:-30px;right:-30px;bottom:-30px;left:-30px;z-index:-1;border-radius:50%;background:conic-gradient(from 200deg,#ff8a9e,#ff9cf5,#6fb2ff,#74f4ff,#a8ff9c,#fff58f,#ff8a9e);filter:blur(26px);opacity:0;transition:opacity .5s ease;animation:intro-glow-spin 9s linear infinite,intro-glow-breathe 4.5s ease-in-out infinite alternate}.intro__avatar.is-lit:before{opacity:var(--glow, .62);animation:intro-glow-spin 9s linear infinite,intro-glow-breathe 4.5s ease-in-out infinite alternate,intro-glow-light 1.8s cubic-bezier(.2,.7,.2,1)}:root[data-theme=dark] .intro__avatar{--glow: .44}:root[data-theme=dark] .intro__avatar:before{top:-22px;right:-22px;bottom:-22px;left:-22px}@keyframes intro-glow-light{0%{opacity:0;filter:blur(12px)}40%{opacity:1}}@keyframes intro-glow-spin{to{rotate:360deg}}@keyframes intro-glow-breathe{0%{scale:.92}to{scale:1.1}}.intro__avatar.is-lit:hover:before{opacity:calc(var(--glow, .62) + .13)}@media(prefers-reduced-motion:reduce){.book__page,.book__cover{transition:none}.intro__avatar:before{animation:none}}.section-header__title{display:flex;align-items:center;gap:4px}.project-card{display:flex;flex-direction:column;gap:20px;color:inherit;text-decoration:none}.project-card:focus-visible{outline-offset:8px;border-radius:var(--radius-md)}.project-card__cover{display:block;aspect-ratio:2 / 1;border-radius:var(--radius-md);overflow:hidden;transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s ease}.project-card:hover .project-card__cover,.project-card:focus-visible .project-card__cover{transform:scale(1.025);box-shadow:var(--shadow-lift)}.project-card__cover img,.project-card__cover video{display:block;width:100%;height:100%;object-fit:cover}.project-card__meta{display:flex;gap:20px}.project-card__heading{flex:0 0 240px}.project-card:hover .project-card__title,.project-card:focus-visible .project-card__title{text-decoration:underline}.project-card__summary{flex:1;min-width:0;white-space:pre-wrap}.project-card__cover video{width:calc(100% + 2px);height:calc(100% + 2px);margin:-1px;max-width:none}@media(max-width:640px){.project-card__meta{flex-direction:column;gap:8px}.project-card__heading{flex-basis:auto}}.side-card__cover{background:#0a1225}.side-card__meta{display:flex;flex-direction:column;gap:20px}@media(max-width:640px){.side-card__meta{gap:8px}}.side-card__meta .project-card__heading{flex:none}.experience{display:flex;flex-direction:column;gap:40px;margin:0;padding:0;list-style:none}.experience__item{display:grid;grid-template-columns:56px 1fr auto;align-items:center;gap:24px}.experience__logo{display:grid;place-items:center;width:56px;height:56px;border-radius:var(--radius-sm);background:var(--color-grey-3)}.experience__logo img{width:auto;max-width:44px;height:40px;object-fit:contain}.experience__meta{display:flex;flex-direction:column;margin:0;text-align:right}@media(max-width:640px){.experience{gap:28px}.experience__item{grid-template-columns:56px 1fr;align-items:start;column-gap:16px;row-gap:0}.experience__meta{grid-column:2;flex-direction:row;flex-wrap:wrap;column-gap:6px;text-align:left}.experience__meta span+span:before{content:"·";margin-right:6px}}.testimonial{margin:0;display:flex;flex-direction:column;gap:24px;padding:16px;border-radius:var(--radius-md);background:var(--color-surface)}.testimonial__person{display:flex;gap:12px;align-items:flex-start}.testimonial__photo{flex:none;width:56px;height:56px;border-radius:50%}.testimonial__who{flex:1;min-width:0}.testimonial__name-row{display:flex;align-items:center;gap:8px}.testimonial__name-row a{white-space:nowrap}.testimonial__quote{margin:0}.carousel{display:flex;gap:20px;overflow-x:auto;scrollbar-width:none;margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter);cursor:grab;user-select:none;-webkit-user-select:none}.carousel::-webkit-scrollbar{display:none}.carousel.is-dragging{cursor:grabbing}.carousel.is-dragging a{pointer-events:none}.carousel__item{flex:0 0 min(370px,85%)}.carousel__item img{-webkit-user-drag:none}.home__work-list{gap:80px}.side-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:60px}@media(max-width:640px){.home__work-list{gap:56px}.side-grid{grid-template-columns:1fr;gap:40px}}.photo{position:relative;margin:0;overflow:hidden;border-radius:var(--radius-md);background:#121212}.photo img{width:100%;height:100%;object-fit:cover}.photo__caption{position:absolute;right:6px;bottom:6px;max-width:calc(100% - 12px);padding:1px 8px;border-radius:6px;background:#0808084d;-webkit-backdrop-filter:blur(60px);backdrop-filter:blur(60px);color:#fefffc;font-size:11px;line-height:22px;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cs-box{padding:16px;border-radius:var(--radius-md);background:var(--color-grey-3)}.cs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:0}.cs-list{margin:0;padding-left:20px}.cs-stats .cs-box{display:flex;flex-direction:column-reverse;justify-content:flex-end}.cs-stats dd{margin:0}.cs-inline-link{color:var(--color-link);text-decoration:underline;text-decoration-thickness:.5px;text-underline-offset:3px}.cs-bullets{margin-block:12px}.cs-bullets:last-child{margin-bottom:0}.cs-label{color:inherit}.cs-highlight{color:var(--color-black)}.cs-text--spaced p+p{margin-top:12px}.cs-strong{color:var(--color-grey-1)}.cs-media{position:relative;overflow:hidden;border-radius:var(--radius-md);background:var(--color-media)}.cs-media img,.cs-media video,.cs-media iframe{display:block;width:100%;height:100%;object-fit:cover}.cs-media--image{background:none}.cs-media--embed{aspect-ratio:16 / 9;background:#121212}.cs-media--embed iframe{width:calc(100% + 4px);height:calc(100% + 4px);margin:-2px;max-width:none;border:0}.cs-links{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin:0;padding:0;list-style:none}.cs-link{display:flex;align-items:center;justify-content:space-between;gap:12px;height:100%;color:var(--color-black);text-decoration:none}.cs-link .icon{flex:none;transition:transform .2s ease}.cs-link__label{display:flex;align-items:center;gap:10px}.cs-link__logo{flex:none;width:20px;height:20px;object-fit:contain}a.cs-link:hover .cs-link__text{text-decoration:underline}a.cs-link:hover>.icon{transform:translate(2px,-2px)}.cs-media-row{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.cs-media-row .cs-media{background:#121212}.cs-media-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:16px}.cs-media-grid>:first-child{grid-row:span 2}.cs-media-grid--reverse>:first-child{grid-column:2;grid-row:1 / span 2}.cs-media-grid>:not(:first-child){aspect-ratio:auto!important}.cs-media-grid .cs-media:not(.cs-media--empty,.cs-media--inset){background:#111}:root{--cs-tile: #fafafa}:root[data-theme=dark]{--cs-tile: #111}.cs-media.cs-media--inset{display:grid;place-items:center;background:var(--cs-tile)}.cs-media.cs-media--inset-end{align-items:end}.cs-media.cs-media--inset img{width:var(--inset);height:auto;object-fit:contain}.cs-media-switch__mobile{display:none;flex-direction:column;gap:12px}.cs-media--empty{display:grid;place-items:center;border:1px dashed var(--color-grey-2);background:var(--color-surface)}.cs-media video{width:calc(100% + 2px);height:calc(100% + 2px);margin:-1px;max-width:none}@media(max-width:640px){.cs-media-switch__desktop{display:none}.cs-media-switch__mobile{display:flex}.cs-media-grid{grid-template-columns:1fr;grid-template-rows:none;gap:12px}.cs-media-grid>:first-child{grid-column:auto;grid-row:auto}.cs-media-grid>:not(:first-child){aspect-ratio:var(--ratio)!important}.cs-grid,.cs-links,.cs-media-row{grid-template-columns:1fr;gap:12px}}@font-face{font-family:Caveat;font-weight:700;font-display:swap;src:url(/assets/caveat-latin-700-normal-CQZB3o8M.woff2) format("woff2")}.nf{display:flex;flex-direction:column;gap:28px;overflow:hidden}.nf-flags{position:relative;display:flex;justify-content:space-between;height:46px;margin:-8px -8px 0;padding-top:6px}.nf-flags:before{content:"";position:absolute;inset:0 0 auto;height:22px;border-bottom:1.5px solid var(--color-grey-2);border-radius:0 0 50% 50%/0 0 100% 100%}.nf-flags span{--c: #2f6fd6;width:26px;height:30px;margin-top:calc(10px*sin(var(--i) / 14 * 3.1416));background:var(--c);opacity:.85;transform-origin:top center;animation:nf-flutter 2.4s ease-in-out infinite alternate;animation-delay:calc(var(--i) * -.17s);clip-path:polygon(0 0,100% 0,100% 100%,50% 88%,0 100%)}.nf-flags span:nth-child(5n+2){--c: #f4f2ea;outline:1px solid var(--color-grey-2)}.nf-flags span:nth-child(5n+3){--c: #d93a2b}.nf-flags span:nth-child(5n+4){--c: #2e9e5a}.nf-flags span:nth-child(5n+5){--c: #f3c623}@keyframes nf-flutter{0%{rotate:-7deg;scale:1 1}to{rotate:6deg;scale:.92 1.04}}.nf-scene{position:relative;display:grid;justify-items:center;padding-top:8px}.nf-topo{position:absolute;top:-40px;right:-200px;bottom:-40px;left:-200px;width:calc(100% + 400px);height:calc(100% + 80px);z-index:-1;fill:none;stroke:var(--color-grey-2);stroke-width:1;opacity:.7;animation:nf-drift 18s ease-in-out infinite alternate}@keyframes nf-drift{to{translate:-60px 12px}}.nf-maps{justify-self:start;display:inline-flex;align-items:center;gap:10px;min-height:40px;margin-bottom:18px;padding:8px 16px 8px 12px;border-radius:999px;background:var(--color-white);box-shadow:0 1px 2px #00000014,0 6px 18px #0000001a;font-size:var(--text-small)}.nf-maps__dot{position:relative;width:12px;height:12px;flex:none;border:2px solid #ffffff;border-radius:50%;background:#1a73e8;box-shadow:0 0 #1a73e873;animation:nf-ping 1.6s ease-out infinite}@keyframes nf-ping{to{box-shadow:0 0 0 14px #1a73e800}}.nf-maps__text{animation:nf-type .4s ease-out}@keyframes nf-type{0%{opacity:0;translate:0 6px}}.nf-milestone{position:relative;z-index:1;display:grid;justify-items:center;gap:4px;width:min(300px,80vw);padding:74px 18px 22px;border:0;border-radius:6px 6px 2px 2px;background:linear-gradient(90deg,#0000000f,#0000 18%,#ffffff26 60%,#00000014),#f3c623;color:#2b1d00;font:inherit;cursor:pointer;box-shadow:0 2px #c99d10,0 20px 40px #503c002e;animation:nf-plant .7s cubic-bezier(.34,1.56,.64,1)}@keyframes nf-plant{0%{rotate:0deg}25%{rotate:-4deg}55%{rotate:3deg}80%{rotate:-1.5deg}}.nf-milestone__cap{position:absolute;top:-46px;left:50%;width:120px;height:92px;margin-left:-60px;background:linear-gradient(170deg,transparent 52%,#ffffff 52% 66%,#c8312a 66%) no-repeat,#f3c623;clip-path:polygon(50% 0,100% 100%,0 100%);filter:drop-shadow(0 -1px 0 #1d4fa3)}.nf-milestone__cap:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#1d4fa3 0 10px,transparent 10px);clip-path:polygon(50% 0,62% 24%,38% 24%)}.nf-milestone__flag{width:76px;height:30px;margin-bottom:8px;background:radial-gradient(circle,#1d3f8a 4px,transparent 4.5px),linear-gradient(#ff8f1f 0,#ff8f1f 33.3%,#fff 33.3%,#fff 66.6%,#138a3c 66.6%);box-shadow:0 1px 2px #0003}.nf-milestone__small{font-size:13px;font-weight:var(--weight-medium);letter-spacing:.02em}.nf-milestone__big{font-size:46px;font-weight:700;line-height:1;letter-spacing:.02em;color:#b3261e}.nf-milestone__tiny{margin-top:6px;font-size:11px;color:#2b1d00b3}.nf-road{width:100%;max-width:800px;margin-top:-6px;overflow:visible}.nf-road__edge,.nf-road__lane{fill:none;stroke-linecap:round}.nf-road__edge{stroke:var(--nf-asphalt, #3a3a3a);stroke-width:26;opacity:.85}.nf-road__lane{stroke:#f3c623;stroke-width:2.5;stroke-dasharray:14 12;animation:nf-lane 1s linear infinite}@keyframes nf-lane{to{stroke-dashoffset:-26}}.nf-bike{cursor:pointer}.nf-bike__body{transition:rotate .5s cubic-bezier(.34,1.56,.64,1)}.nf-bike.is-wheelie .nf-bike__body{rotate:-24deg}.nf-bike__wheel{fill:none;stroke:var(--color-black);stroke-width:4;stroke-dasharray:6 3;animation:nf-spin .5s linear infinite;transform-box:fill-box;transform-origin:center}@keyframes nf-spin{to{rotate:360deg}}.nf-bike__frame,.nf-bike__rider,.nf-bike__pole{fill:none;stroke:var(--color-black);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.nf-bike__tank{fill:#ff8d28}.nf-bike__helmet{fill:var(--color-black)}.nf-bike__flag{fill:#138a3c;animation:nf-flutter .6s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:left center}.nf-copy{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.nf-title{margin:0;font-family:Caveat,cursive;font-size:clamp(40px,7vw,60px);font-weight:700;line-height:1}.nf-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.nf-btn{padding:10px 16px;border:1px solid var(--color-grey-2);border-radius:999px;background:none;color:var(--color-black);font:inherit;font-size:var(--text-small);text-decoration:none;cursor:pointer;transition:translate .25s cubic-bezier(.34,1.56,.64,1),background .2s ease}.nf-btn:hover{translate:0 -2px;background:var(--color-surface)}.nf-btn--primary{border-color:var(--color-black);background:var(--color-black);color:var(--color-white)}.nf-btn--primary:hover{background:var(--color-black)}.nf-hint{margin:4px 0 0;font-family:Caveat,cursive;font-size:22px;font-weight:700;color:var(--color-grey-1);rotate:-2deg}:root[data-theme=dark] .nf{--nf-asphalt: #2b2d31}@media(max-width:640px){.nf-road{width:170%;max-width:none;margin-top:-2px;justify-self:center}.nf-maps{margin-bottom:30px}}@media(prefers-reduced-motion:reduce){.nf-flags span,.nf-topo,.nf-maps__dot,.nf-road__lane,.nf-bike__wheel,.nf-bike__flag,.nf-milestone{animation:none}}.case-study__back,.case-study__next{text-decoration:none}.case-study__back,.case-study__next-title{display:inline-flex;align-items:center;gap:4px}.case-study__back{align-self:flex-start}.case-study__back .icon,.case-study__next-title .icon{transition:transform .2s ease}.case-study__back:hover span,.case-study__next:hover .case-study__next-title span{text-decoration:underline}.case-study__back:hover .icon{transform:translate(-3px)}.case-study__next:hover .case-study__next-title .icon{transform:translate(3px)}.case-study__summary{margin-top:12px;max-width:540px;white-space:pre-wrap}.case-study__cover{width:100%;border-radius:var(--radius-md)}.case-study__cover--video{aspect-ratio:2 / 1;overflow:hidden}.case-study__cover--video video{display:block;width:100%;height:100%;object-fit:cover}.case-study__body{display:flex;flex-direction:column;gap:32px;color:var(--color-grey-1)}.case-study__body h2{margin-bottom:8px;font-size:var(--text-body);color:var(--color-black)}.case-study__next{display:flex;flex-direction:column}.case-study__cover--video video{width:calc(100% + 2px);height:calc(100% + 2px);margin:-1px;max-width:none}@media(min-width:1100px){.case-study--wide-media>.case-study__hero,.case-study--wide-media>.cs-media,.case-study--wide-media>.cs-media-switch,.case-study--wide-media>.cs-media-row,.case-study--wide-media>.cs-media-grid{width:1000px;max-width:none;margin-inline:-100px}}.play-item{display:flex;flex-direction:column;gap:20px}.play-item__media{overflow:hidden;border-radius:var(--radius-md);background:#111}.play-item__media img,.play-item__media video{display:block;width:100%;height:100%;object-fit:cover}.play-item__heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px 24px}.play-item__links{display:flex;flex-wrap:wrap;gap:12px}.play-item__link{display:inline-flex;text-decoration:none;align-items:center;gap:4px;white-space:nowrap}.play-item__link span{text-decoration:underline;text-decoration-thickness:.5px;text-underline-offset:3px}.play-item__link .icon{transition:transform .2s ease}.play-item__link:hover .icon{transform:translate(2px,-2px)}.play-item__media video{width:calc(100% + 2px);height:calc(100% + 2px);margin:-1px;max-width:none}@media(max-width:640px){.play-item__heading{flex-direction:column}}.layered-hero{position:relative;display:block;overflow:hidden;border-radius:var(--radius-md);background:#6cb2ff}.layered-hero img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.37,0,.63,1);will-change:transform}.layered-hero:hover .layered-hero__back,.layered-hero:hover .layered-hero__front,.layered-hero:focus-visible .layered-hero__back,.layered-hero:focus-visible .layered-hero__front{transform:scale(1.15)}.layered-hero:hover .layered-hero__text,.layered-hero:focus-visible .layered-hero__text{transform:translateY(45%) scale(1.15)}.about__intro{display:flex;flex-direction:column;gap:20px}.about__hero{aspect-ratio:800 / 300}.about__highlight{font-weight:var(--weight-regular);color:var(--color-black)}.story{display:flex;flex-direction:column;gap:20px}.story__collage{display:grid;grid-template-columns:500fr 288fr;gap:12px;aspect-ratio:800 / 400}.story__side{display:flex;flex-direction:column;gap:12px;min-height:0}.story__side .photo{flex-basis:0;min-height:0}.about__photos{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.about__photos .photo{aspect-ratio:394 / 400}.about__more{margin-top:var(--leading)}.about__instagram{font-size:var(--text-body);color:var(--color-black);text-decoration:none}.about__instagram:hover{text-decoration:underline}@media(max-width:640px){.story__collage{grid-template-columns:1fr 1fr;aspect-ratio:auto}.story__main{grid-column:1 / -1;aspect-ratio:5 / 4}.story__side{display:contents}.story__side .photo{aspect-ratio:1 / 1}.about__photos{gap:8px}}.notes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:20px}.notes__item{display:flex;justify-content:space-between;align-items:baseline;gap:24px}.notes__title{min-width:0;text-decoration:none}a.notes__title:hover{text-decoration:underline}.notes__meta{flex:none;white-space:nowrap}@media(max-width:640px){.notes__item{flex-direction:column;gap:0}}.resume-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.resume-download{display:inline-flex;flex:none;align-items:center;gap:6px;height:40px;padding:0 14px 0 12px;border:1px solid var(--color-grey-2);border-radius:8px;color:var(--color-black);text-decoration:none;transition:background-color .2s ease,border-color .2s ease}.resume-download:hover{border-color:var(--color-grey-1);background:var(--color-grey-3)}.resume-download .icon{transition:transform .2s ease}.resume-download:hover .icon{transform:translateY(2px)}@media(max-width:480px){.resume-download__extra{display:none}}.resume-section{display:flex;flex-direction:column;gap:20px}.resume-row{display:grid;grid-template-columns:230px 1fr;gap:20px}.resume-row__points{margin:0;padding-left:16px}.resume-row__points li::marker{font-size:12px}.resume-row__gallery{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}.resume-thumb{width:184px;aspect-ratio:16 / 9;overflow:hidden;border-radius:8px;background:var(--color-media);box-shadow:0 1px 2px #0000000d,0 2px 8px #0000000a}.resume-thumb img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.resume-thumb:hover img{transform:scale(1.03)}@media(max-width:640px){.resume-row__gallery{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.resume-thumb{width:auto}}.resume-row__dated{position:relative;padding-right:56px}.resume-row__dated>span:last-child{position:absolute;top:0;right:0;font-variant-numeric:tabular-nums}.resume-link{color:var(--color-black);text-decoration:underline;text-decoration-thickness:.5px;text-underline-offset:3px}.resume-link__end{white-space:nowrap}.resume-link .icon{width:16px;height:16px;margin-left:2px;vertical-align:-2px;transition:transform .2s ease}.resume-link:hover .icon{transform:translate(2px,-2px)}@media(max-width:640px){.resume-row{grid-template-columns:1fr;gap:4px}}:root{--color-white: #ffffff;--color-black: #2d2d2d;--color-grey-1: #6f7883;--color-grey-2: #d8d8d8;--color-grey-3: #f5f5f5;--color-accent: #ff8d28;--color-surface: #fcfcfc;--color-link: #0a6cf5;--color-tick: #eeeeee;--color-wordmark: #e7e7e7;--color-media: #f3f7fd;--shadow-lift: 0 16px 40px rgba(45, 45, 45, .12);--font-sans: "Helvetica Neue", Helvetica, Arial, sans-serif;--weight-regular: 400;--weight-medium: 500;--text-body: 16px;--text-small: 15px;--leading: 28px;--radius-sm: 4px;--radius-md: 12px;--content-width: 800px;--gutter: 16px;--section-gap: 60px;color-scheme:light}:root[data-theme=dark]{--color-white: #0b0b0b;--color-black: #ececec;--color-grey-1: #9aa2ac;--color-grey-2: #3a3d42;--color-grey-3: #1d1e21;--color-surface: #17181a;--color-link: #5aa2ff;--color-tick: #26282b;--color-wordmark: #26282b;--color-media: #1a1d22;--shadow-lift: 0 16px 40px rgba(0, 0, 0, .55);color-scheme:dark}:root[data-theme=red]{--color-white: #ffedea;--color-black: #2c1512;--color-grey-1: #73514d;--color-grey-2: #e9bab3;--color-grey-3: #ffd9d3;--color-surface: #ffe3de;--color-accent: #b3261e;--color-link: #b3261e;--color-tick: #f5d2cc;--color-wordmark: #fbdcd7;--color-media: #ffe0db;--shadow-lift: 0 16px 40px rgba(110, 20, 15, .14);color-scheme:light}:root[data-theme=blue]{--color-white: #eef2ff;--color-black: #161b2c;--color-grey-1: #4a5470;--color-grey-2: #bfc8e4;--color-grey-3: #d9e2ff;--color-surface: #e3e9ff;--color-accent: #005ac1;--color-link: #005ac1;--color-tick: #d5ddf5;--color-wordmark: #dbe3fb;--color-media: #dde5ff;--shadow-lift: 0 16px 40px rgba(0, 35, 100, .14);color-scheme:light}:root[data-theme=green]{--color-white: #eaf6ec;--color-black: #112019;--color-grey-1: #45594d;--color-grey-2: #b5cfbe;--color-grey-3: #cfe8d6;--color-surface: #dcefe1;--color-accent: #006d43;--color-link: #006d43;--color-tick: #cde3d4;--color-wordmark: #d6eadc;--color-media: #d6ecdc;--shadow-lift: 0 16px 40px rgba(0, 60, 35, .13);color-scheme:light}:root[data-theme=yellow]{--color-white: #fff5d6;--color-black: #221d08;--color-grey-1: #5e5420;--color-grey-2: #ddcd8c;--color-grey-3: #f7e6a8;--color-surface: #fbedbb;--color-accent: #9a5b00;--color-link: #7a5f00;--color-tick: #ecdfa8;--color-wordmark: #f3e6b4;--color-media: #faecb8;--shadow-lift: 0 16px 40px rgba(90, 70, 0, .14);color-scheme:light}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}.theme-contract::view-transition-old(root){z-index:2}.theme-contract::view-transition-new(root){z-index:1}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:80px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}body{margin:0;background:var(--color-white);color:var(--color-black);font-family:var(--font-sans);font-size:var(--text-body);line-height:var(--leading);letter-spacing:.01em;-webkit-font-smoothing:antialiased}#root{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}#root>main{flex:1 0 auto}img{display:block;max-width:100%;height:auto}a{color:inherit}p,h1,h2,h3{margin:0;font-size:inherit;font-weight:inherit}.container{width:100%;max-width:calc(var(--content-width) + var(--gutter) * 2);margin-inline:auto;padding-inline:var(--gutter)}.text-medium{font-weight:var(--weight-medium)}.text-muted{color:var(--color-grey-1)}.text-small{font-size:var(--text-small)}.divider{height:0;border:0;border-top:1px dashed var(--color-grey-2);margin:0}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}:focus-visible{outline:2px solid var(--color-black);outline-offset:3px;border-radius:2px}.page{display:flex;flex-direction:column;gap:var(--section-gap);padding-block:120px 60px}.stack{display:flex;flex-direction:column;gap:var(--section-gap)}@media(max-width:640px){.page{padding-block:100px 40px;gap:48px}.stack{gap:40px}}
