::view-transition-old(root),::view-transition-new(root){mix-blend-mode:normal}::view-transition-new(root){z-index:1}@keyframes portfolio-wipe-in-from-right{0%{mask-position:0% 0%;-webkit-mask-position:0% 0%;transform:translate(20px);opacity:.4}70%{opacity:1}to{mask-position:100% 0%;-webkit-mask-position:100% 0%;transform:translate(0);opacity:1}}@keyframes portfolio-wipe-in-from-left{0%{mask-position:100% 0%;-webkit-mask-position:100% 0%;transform:translate(-20px);opacity:.4}70%{opacity:1}to{mask-position:0% 0%;-webkit-mask-position:0% 0%;transform:translate(0);opacity:1}}@keyframes portfolio-wipe-under-to-left{to{transform:translate(-40px);opacity:.3}}@keyframes portfolio-wipe-under-to-right{to{transform:translate(40px);opacity:.3}}html:active-view-transition-type(portfolio-forward)::view-transition-old(root){animation:portfolio-wipe-under-to-left .35s cubic-bezier(.4,0,.2,1) both}html:active-view-transition-type(portfolio-forward)::view-transition-new(root){mask-image:linear-gradient(calc(90deg + var(--portfolio-wipe-tilt, 0deg)),transparent 0 42%,#000 46% 100%);-webkit-mask-image:linear-gradient(calc(90deg + var(--portfolio-wipe-tilt, 0deg)),transparent 0 42%,#000 46% 100%);mask-size:300% 100%;-webkit-mask-size:300% 100%;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;animation:portfolio-wipe-in-from-right .35s cubic-bezier(.4,0,.2,1) both}html:active-view-transition-type(portfolio-back)::view-transition-old(root){animation:portfolio-wipe-under-to-right .35s cubic-bezier(.4,0,.2,1) both}html:active-view-transition-type(portfolio-back)::view-transition-new(root){mask-image:linear-gradient(calc(270deg + var(--portfolio-wipe-tilt, 0deg)),transparent 0 42%,#000 46% 100%);-webkit-mask-image:linear-gradient(calc(270deg + var(--portfolio-wipe-tilt, 0deg)),transparent 0 42%,#000 46% 100%);mask-size:300% 100%;-webkit-mask-size:300% 100%;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;animation:portfolio-wipe-in-from-left .35s cubic-bezier(.4,0,.2,1) both}@media(prefers-reduced-motion:reduce){html:active-view-transition-type(portfolio-forward)::view-transition-old(root),html:active-view-transition-type(portfolio-forward)::view-transition-new(root),html:active-view-transition-type(portfolio-back)::view-transition-old(root),html:active-view-transition-type(portfolio-back)::view-transition-new(root){mask-image:none;-webkit-mask-image:none;animation:none}}:root{--portfolio-accent: #16704a;--portfolio-accent-dark: #10583c;--portfolio-horizon: #f7faf8;--portfolio-hero-accent: #d8f1e3}body:has(.project-index),body:has(.index-about){--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;--font-serif: var(--font-sans);--portfolio-canvas: #f8f8f5;--portfolio-ink: #111318;--portfolio-muted: #6d737d;font-feature-settings:normal;font-kerning:auto;-webkit-font-smoothing:auto;letter-spacing:normal;background-color:var(--portfolio-canvas);background-image:none}body:has(.project-index):before,body:has(.project-index):after,body:has(.index-about):before,body:has(.index-about):after{display:none}.project-index{--index-enter-easing: cubic-bezier(.16, 1, .3, 1);--index-copy-enter-duration: .56s;--index-work-enter-duration: .68s;--index-scroll-enter-duration: 1.1s;position:relative;display:flex;flex-direction:column;min-height:100svh;overflow:clip;color:var(--portfolio-ink)}.index-intro{position:relative;z-index:1;min-height:0;overflow:hidden;padding:100px 100px 136px;background:linear-gradient(in oklab to bottom,#557866 0%,#557866 10%,#587b69 18%,#608270 28%,#6f907e 38%,#82a18e 48%,#95b19f 57%,#a9c3b2 66%,#bcd2c4 74%,#cde0d5 81%,#dce9e1 87%,#e8f1eb 92%,#f1f6f3 96%,var(--portfolio-horizon) 100%)}.index-intro__calligraphy{position:absolute;z-index:0;top:52%;left:50%;display:block;width:90%;max-width:none;height:auto;opacity:.095;pointer-events:none;-webkit-user-select:none;user-select:none;transform:translate(-50%,-50%);mix-blend-mode:soft-light;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 76%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 76%,transparent 100%)}.index-intro__shell{position:relative;z-index:1;width:min(420px,100%);margin-inline:auto}.index-intro__top{display:flex;align-items:flex-start;justify-content:space-between;gap:32px}.index-intro__identity{margin:0;color:#fffffff0;font-size:16px;font-weight:400;letter-spacing:0;line-height:22px}.index-intro__name,.index-intro__role{display:block;font:inherit}.index-intro__name{color:var(--portfolio-hero-accent);font-weight:500;animation:index-copy-enter var(--index-copy-enter-duration) var(--index-enter-easing) 0ms both}.index-intro__role{animation:index-copy-enter var(--index-copy-enter-duration) var(--index-enter-easing) 50ms both}.index-intro__bio{display:grid;gap:16px;margin-top:56px}.index-intro__bio p{margin:0;color:#fffffff0;font-size:16px;font-weight:400;line-height:1.625;letter-spacing:0;animation:index-copy-enter var(--index-copy-enter-duration) var(--index-enter-easing) .1s both}.index-intro__bio p:nth-child(2){animation-delay:.14s}.index-intro__bio p:nth-child(3){animation-delay:.18s}.index-intro__bio-link{display:inline;color:#d8f1e3;text-decoration:none;white-space:nowrap;transition:color .4s cubic-bezier(.2,0,0,1)}.index-intro__bio-link:hover{color:#fff}.index-intro__mawrid-logo{background-color:currentColor;-webkit-mask:url(/assets/mawrid-logo-DYLMqGYi.webp) center / contain no-repeat;mask:url(/assets/mawrid-logo-DYLMqGYi.webp) center / contain no-repeat}.index-intro__links{display:grid;gap:0;margin-top:56px;animation:index-copy-enter var(--index-copy-enter-duration) var(--index-enter-easing) .22s both}.index-intro__link{display:flex;min-height:26px;align-items:center;gap:9px;padding:0;border:0;background:transparent;color:var(--portfolio-accent);font-size:16px;font-weight:400;line-height:26px;text-align:left;cursor:pointer;transition:color .4s cubic-bezier(.2,0,0,1),transform .4s cubic-bezier(.2,0,0,1.4)}.index-intro__link:hover{color:var(--portfolio-ink);transform:translate(4px)}.index-back:hover{color:var(--portfolio-accent)}.index-intro__icon{position:relative;display:inline-flex;width:14px;height:14px;flex:0 0 14px;align-items:center;justify-content:center}.index-intro__icon-default,.index-intro__icon-arrow{position:absolute;inset:0;width:14px;height:14px;will-change:transform,opacity,filter;transition:transform .19s cubic-bezier(.34,1.56,.64,1),opacity .13s ease,filter .13s ease}.index-intro__icon-default{opacity:1;transform:translate(0) scale(1)}.index-intro__linkedin-icon{inset:-1px;width:16px;height:16px}.index-intro__about-wave{display:grid;place-items:center}.index-intro__about-wave svg{transform:translateY(.5px) rotate(-24deg) scale(.96);transform-origin:50% 72%}.index-intro__mawrid-icon{width:20px;height:20px;margin-right:4px;vertical-align:-3px}.index-intro__mawrid-icon .index-intro__mawrid-logo{inset:-2px;width:24px;height:24px}.index-intro__mawrid-icon .index-intro__icon-arrow{inset:3px}.index-intro__icon-arrow{opacity:0;filter:blur(0);transform:translate(-1.5px,1.5px) scale(.74)}@media(hover:hover)and (pointer:fine){.index-intro__link:hover .index-intro__icon-default,.index-intro__bio-link:hover .index-intro__icon-default{opacity:0;animation:index-intro-icon-swap-blur .19s cubic-bezier(.2,0,0,1);transform:translate(1.5px,1.5px) scale(.74)}.index-intro__link:hover .index-intro__icon-arrow,.index-intro__bio-link:hover .index-intro__icon-arrow{opacity:1;animation:index-intro-icon-swap-blur .19s cubic-bezier(.2,0,0,1);transform:translateY(-.5px) scale(1)}}@keyframes index-intro-icon-swap-blur{45%{filter:blur(.65px)}}@keyframes index-copy-enter{0%{opacity:0}to{opacity:1}}@keyframes index-intro-cascade{0%{opacity:0;transform:translate3d(0,14px,0) scale(.985)}to{opacity:1;transform:translateZ(0) scale(1)}}.index-skip{position:absolute;left:24px;top:-80px;z-index:90;padding:12px;background:#fff}.index-skip:focus{top:24px}.project-index a:focus-visible,.project-index button:focus-visible,.index-about a:focus-visible,.index-about button:focus-visible{outline:2px solid var(--portfolio-accent, #16704a);outline-offset:4px;border-radius:5px}.portfolio-avatar{width:128px}.portfolio-avatar img{display:block;width:100%;height:auto;object-fit:contain}.index-work{position:relative;flex:1 0 auto;z-index:2;padding:108px 60px 56px;background:linear-gradient(180deg,var(--portfolio-horizon) 0,rgb(247 250 248 / 92%) 64px,rgb(247 250 248 / 0%) 220px),radial-gradient(circle at 1px 1px,rgb(22 112 74 / 8%) 1px,transparent 1px) 0 0 / 22px 22px,var(--portfolio-horizon)}.index-work:after{content:none}.index-gallery{columns:2;column-gap:clamp(20px,2vw,28px);width:min(1160px,100%);margin:0 auto;padding:0;list-style:none}.index-gallery__item{display:inline-block;min-width:0;width:100%;margin:0 0 clamp(20px,2vw,28px);break-inside:avoid}.index-gallery--loading{visibility:hidden;pointer-events:none}.index-loading-status{position:absolute;width:1px;height:1px;overflow:hidden;padding:0;border:0;margin:-1px;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.index-gallery--motion-ready .index-gallery__item:not(.is-entering):not(.is-entered):not(.is-entrance){opacity:0}.index-gallery--motion-ready .index-gallery__item.is-entrance{animation:index-intro-cascade var(--index-work-enter-duration) var(--index-enter-easing) var(--entry-delay, 0ms) both}.index-gallery--motion-ready .index-gallery__item.is-entering{--seed: .5;animation:index-card-rise-left var(--index-scroll-enter-duration) var(--index-enter-easing) 0ms both,index-card-blur-decay var(--index-scroll-enter-duration) var(--index-enter-easing) 0ms both}.index-gallery--motion-ready .index-gallery__item:nth-child(2n).is-entering{animation-name:index-card-rise-right,index-card-blur-decay}.index-gallery--motion-ready .index-gallery__item:nth-child(1){--entry-delay: 40ms;--seed: .28}.index-gallery--motion-ready .index-gallery__item:nth-child(2){--entry-delay: .1s;--seed: .62}.index-gallery--motion-ready .index-gallery__item:nth-child(3){--entry-delay: .16s;--seed: .42}.index-gallery--motion-ready .index-gallery__item:nth-child(4){--entry-delay: .22s;--seed: .75}.index-gallery--motion-ready .index-gallery__item:nth-child(5){--entry-delay: .28s;--seed: .54}@keyframes index-card-rise-left{0%{opacity:0;transform:translate(calc(-22px - var(--seed, .5) * 18px),calc(68px + var(--seed, .5) * 20px)) scale(1.065) rotate(calc(-.8deg - var(--seed, .5) * .6deg))}to{opacity:1;transform:none}}@keyframes index-card-rise-right{0%{opacity:0;transform:translate(calc(22px + var(--seed, .5) * 18px),calc(68px + var(--seed, .5) * 20px)) scale(1.065) rotate(calc(.8deg + var(--seed, .5) * .6deg))}to{opacity:1;transform:none}}@keyframes index-card-rise-mid{0%{opacity:0;transform:translateY(76px) scale(1.06)}to{opacity:1;transform:none}}@keyframes index-card-blur-decay{0%{filter:blur(6px)}to{filter:blur(0)}}.index-gallery__item:first-child .index-card{aspect-ratio:3 / 4}.index-gallery__item:nth-child(2) .index-card{aspect-ratio:3 / 2}.index-gallery__item:nth-child(3) .index-card{aspect-ratio:6 / 5}.index-gallery__item:nth-child(4) .index-card{aspect-ratio:1}.index-gallery__item:nth-child(5) .index-card{aspect-ratio:4 / 3}.index-empty{width:min(1160px,100%);margin:0 auto;padding:48px 18px;font-size:13px;color:#6d8277}.index-card{position:relative;display:block;width:100%;height:auto;overflow:hidden;padding:0;border:1px solid rgb(22 112 74 / 18%);outline:0 solid var(--portfolio-accent);outline-offset:-1px;border-radius:24px;background:#e9e6df;cursor:pointer;box-shadow:0 1px #ffffffc7 inset,0 18px 54px #23372e12;transition:border-color .15s ease,box-shadow .3s ease,outline-color .15s ease,outline-width .25s cubic-bezier(.2,0,0,1.4),transform .35s cubic-bezier(.2,0,0,1.4)}.index-gallery__item.is-entered .index-card:hover,.index-gallery__item.is-entered .index-card:focus-visible{border-color:transparent;outline-width:3px;box-shadow:0 1px #ffffffb3 inset,0 24px 60px #23372e24;transform:translateY(-4px)}.index-card__media-frame{position:relative;display:block;width:100%;height:100%;overflow:hidden;border-radius:23px;background:#e9e6df}.index-card[data-presentation=mockup],.index-card[data-presentation=mockup] .index-card__media-frame{background:#f0efe4}.index-card__media{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.9) brightness(.97);transition:filter .3s ease,transform .25s ease-out}.index-card[data-presentation=mockup] .index-card__media{object-fit:contain;filter:none}.index-gallery__item:first-child .index-card__media{object-position:center}.index-gallery__item.is-entered .index-card:hover .index-card__media,.index-gallery__item.is-entered .index-card:focus-visible .index-card__media{filter:saturate(1.1) brightness(1.02);transform:scale(1.02)}.index-gallery__item.is-entered .index-card[data-presentation=mockup]:hover .index-card__media,.index-gallery__item.is-entered .index-card[data-presentation=mockup]:focus-visible .index-card__media{filter:none}.index-card__footer{position:absolute;z-index:2;right:10px;bottom:10px;left:10px;display:inline-flex;min-height:58px;align-items:center;justify-content:space-between;gap:24px;padding:11px 16px;border:1px solid rgb(255 255 255 / 24%);border-radius:15px;background:#4a7d62e5;-webkit-backdrop-filter:blur(14px) saturate(110%);backdrop-filter:blur(14px) saturate(110%);color:#fff;font-size:13px;font-weight:500;line-height:20px;pointer-events:none;opacity:0;filter:blur(6px);transform:translateY(10px) scale(.98);transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease,opacity .25s ease,filter .35s ease,transform .4s cubic-bezier(.2,0,0,1)}.index-card__title{display:grid;min-width:0;gap:0;text-align:left;opacity:0;filter:blur(3px);transform:translateY(6px);transition:opacity .18s ease,filter .26s ease,transform .26s cubic-bezier(.2,0,0,1.35)}.index-card__title strong{overflow:hidden;font:inherit;text-overflow:ellipsis;white-space:nowrap}.index-card__action{display:inline-flex;flex:0 0 auto;align-items:center;gap:8px;opacity:0;filter:blur(5px);transform:translate(-3px,3px) scale(.5);transform-origin:bottom right;transition:opacity .18s ease,filter .3s ease,transform .3s cubic-bezier(.2,0,0,1.35)}.index-card__action svg{transition:transform .22s cubic-bezier(.22,1,.36,1)}.index-gallery__item.is-entered .index-card:hover .index-card__footer,.index-gallery__item.is-entered .index-card:focus-visible .index-card__footer{background:#3a6f52f0;opacity:1;filter:blur(0);transform:translateY(0) scale(1);transition-duration:.18s,.18s,.18s,.18s,.15s,.3s,.4s}.index-gallery__item.is-entered .index-card:hover .index-card__title,.index-gallery__item.is-entered .index-card:focus-visible .index-card__title{opacity:1;filter:blur(0);transform:none;transition-delay:30ms}.index-gallery__item.is-entered .index-card:hover .index-card__action,.index-gallery__item.is-entered .index-card:focus-visible .index-card__action{opacity:1;filter:blur(0);transform:none;transition-delay:85ms}.index-gallery__item.is-entered .index-card:hover .index-card__action svg,.index-gallery__item.is-entered .index-card:focus-visible .index-card__action svg{transform:translate(2px,-2px)}.index-gallery__item.is-entered .index-card:active{transform:translateY(1px) scale(.99);transition-duration:90ms}.index-footer{--footer-page-bg: var(--portfolio-horizon);--footer-accent: #557866;padding:32px 60px 0;background:var(--footer-page-bg);color:#304568}.index-footer__frame{width:min(1160px,100%);margin-inline:auto}.index-footer__card{position:relative;height:300px;overflow:hidden;isolation:isolate;border-radius:32px 32px 0 0;background:var(--footer-accent);container-type:inline-size}.index-footer__card:after{position:absolute;inset:0;z-index:-1;background-image:radial-gradient(rgb(255 255 255 / 36%) .55px,transparent .55px);background-size:5px 5px;content:"";-webkit-mask-image:linear-gradient(to top,transparent 5%,#000 28%,#000 100%);mask-image:linear-gradient(to top,transparent 5%,#000 28%,#000 100%);opacity:.36;pointer-events:none}.index-footer__content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:32px;padding-top:84px}.index-footer__links{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 48px;margin:0;padding:0;list-style:none;color:var(--footer-page-bg);font-size:15px;line-height:21px}.index-footer__links a,.index-footer__links button{display:inline-flex;min-height:28px;align-items:center;gap:7px;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-decoration:none;cursor:pointer;transition:color .18s ease,transform .22s cubic-bezier(.2,.7,.2,1)}.index-footer__links a:hover,.index-footer__links button:hover{color:#fff;transform:translateY(-3px)}.index-footer__links a>svg:last-child,.index-footer__links button>svg:last-child{width:.88em;height:.88em;opacity:.78}.index-footer__back{gap:6px!important}.index-about{display:flex;flex-direction:column;min-height:100svh;padding:72px 60px 120px;background:linear-gradient(180deg,var(--portfolio-horizon) 0,rgb(247 250 248 / 92%) 64px,rgb(247 250 248 / 0%) 220px),radial-gradient(circle at 1px 1px,rgb(22 112 74 / 8%) 1px,transparent 1px) 0 0 / 22px 22px,var(--portfolio-horizon);color:var(--portfolio-ink)}.index-about__shell{display:flex;flex-direction:column;width:min(1160px,100%);margin-inline:auto}.index-about__navigation{width:min(620px,100%);margin-inline:auto;display:flex;align-items:center;margin-bottom:72px}.index-about__identity{width:min(620px,100%);margin-inline:auto;display:grid;grid-template-columns:112px minmax(0,1fr) auto;align-items:center;gap:24px;align-self:start}.index-back{display:inline-flex;min-height:44px;align-items:center;gap:9px;font-size:13px;color:#62605a;transition:color .16s ease}.index-back svg{flex-shrink:0}.index-about__identity h1{margin:0;font-size:30px;font-weight:600;line-height:38px;letter-spacing:-.5px}.index-about__role{margin:4px 0 0;font-size:16px;font-weight:400;line-height:26px}.index-about__role span{color:var(--portfolio-accent);white-space:nowrap}.index-about__portrait .portfolio-avatar{width:100%}.index-about__portrait img{-webkit-mask-image:linear-gradient(#000 84%,transparent 100%);mask-image:linear-gradient(#000 84%,transparent 100%)}.avatar-study{position:relative;display:block;width:112px;aspect-ratio:1;padding:0;isolation:isolate;border:0;background:transparent}.avatar-study__backplate,.avatar-study__surface{position:absolute;inset:0;border-radius:27%}.avatar-study__backplate{border:1px solid #e8e6e1;background:#f2f1ed;transform:translate(3px,3px) rotate(7deg)}.avatar-study__surface{display:flex;align-items:flex-end;overflow:hidden;border:1px solid #fff;background:linear-gradient(145deg,#fff 20%,#f1f0ec);box-shadow:0 2px 3px #24211a0a,0 9px 20px #24211a14,inset 0 -1px 2px #24211a0d;transform:rotate(-4deg)}.avatar-study__surface .portfolio-avatar{transform:translateY(6%)}.index-about__story{width:min(620px,100%);margin-inline:auto;margin-top:32px}.index-about__story h2{margin:0;font-size:22px;font-weight:600;line-height:30px;letter-spacing:-.25px}.index-about__copy{display:grid;gap:24px}.index-about__story>h2+.index-about__copy{margin-top:18px}.index-about__copy p{position:static;margin:0;padding-left:0;font-size:16px;line-height:28px;color:#33322d;text-wrap:pretty}.index-about__copy>p{width:100%;margin-inline:0;padding:0!important}.index-about__copy p:before{display:none!important;content:none!important}.index-about__figure{margin:8px 0 4px}.index-about__figure-frame{position:relative;overflow:hidden;aspect-ratio:4 / 3;border:1px solid rgb(22 112 74 / 14%);border-radius:24px;background:#e9e6df;box-shadow:0 1px #ffffffc7 inset,0 18px 54px #23372e12}.index-about__figure img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.92) brightness(.98)}.index-about__contact{width:auto;min-width:0;justify-self:end;margin:0;padding:0;border-top:0}.index-about__contact-links{display:flex;justify-self:end;flex-wrap:wrap;align-items:center;gap:8px 24px;margin:0}.index-about__contact-links a{display:inline-flex;align-items:center;min-height:44px;max-width:100%;overflow-wrap:anywhere;color:#62605a;font-size:14px;line-height:24px;text-underline-offset:4px;transition:color .16s ease}.index-about__contact-trigger{min-height:44px;margin:0;padding:0 19px;border:0;border-radius:999px;background:var(--portfolio-accent);color:#fff;font-size:14px;font-weight:500;cursor:pointer}.index-about__contact-trigger:hover{background:var(--portfolio-accent-dark)}.index-about__contact-links a:hover{color:var(--portfolio-accent-dark);text-decoration:underline}@media(max-width:1023px)and (min-width:900px){.index-intro{padding:40px 40px 136px}}@media(max-width:899px){.index-intro{min-height:0;padding:40px 40px 152px}.index-intro__shell{min-height:0}.index-work{padding:72px 24px 48px}.portfolio-avatar{width:92px}.index-footer{padding:28px 24px 0}.index-footer__card{height:280px;border-radius:24px 24px 0 0}.index-footer__content{gap:24px;padding-top:80px}.index-footer__links{width:420px;max-width:100%;flex-direction:column;align-items:flex-start;gap:10px;font-size:15px}.index-about{padding:40px 24px 72px}.index-about__shell{display:flex;flex-direction:column;width:min(1160px,100%)}.index-about__navigation{margin-bottom:40px}.index-about__story{margin-top:44px}.index-about__contact{grid-column:1 / -1;width:100%;justify-self:stretch;margin-top:20px;padding-top:20px;border-top:1px solid #e5e3dd}}@media(max-width:639px){.index-intro{min-height:0;padding:64px 24px 108px}.index-intro__shell{min-height:0}.index-intro__bio{gap:16px;margin-top:56px}.index-intro__bio p,.index-intro__link{font-size:16px}.index-intro__links{margin-top:56px}.index-work{padding:64px 18px 44px}.index-gallery{columns:auto;display:grid;grid-template-columns:1fr;gap:22px}.index-gallery__item{display:block;margin-bottom:0}.index-gallery--motion-ready .index-gallery__item.is-entering,.index-gallery--motion-ready .index-gallery__item:nth-child(2n).is-entering{animation-name:index-card-rise-mid,index-card-blur-decay}.index-gallery__item:first-child .index-card,.index-gallery__item:not(:first-child) .index-card{aspect-ratio:3 / 4}.index-card{border-radius:20px}.index-card__media-frame{border-radius:19px}.index-card__footer{right:8px;bottom:8px;left:8px;opacity:1;filter:none;transform:none}.index-card__title,.index-card__action{opacity:1;filter:none;transform:none}.index-card__action span{display:none}.index-footer{padding:24px 18px 0}.index-footer__card{height:280px}.index-footer__content{padding-top:70px}.index-footer__links{width:274px;gap:10px}.index-footer__links a{min-height:28px;font-size:11px}.index-about__navigation{margin-bottom:28px}.index-about__identity{grid-template-columns:72px minmax(0,1fr);gap:20px}.index-about__identity h1{font-size:24px;line-height:32px;letter-spacing:-.4px}.avatar-study{width:72px}.index-about__role{font-size:15px;line-height:24px}.index-about__story{margin-top:40px}.index-about__copy{gap:20px}.index-about__copy p{font-size:15px;line-height:27px}.index-about__contact{margin-top:32px;padding-top:24px}}@media(max-width:479px){.index-about__contact{margin-top:28px}}@media(max-width:359px){.index-about__identity{grid-template-columns:64px minmax(0,1fr);gap:16px}.avatar-study{width:64px}.index-about__identity h1{font-size:23px}}body[data-project-dialog-open=true],body[data-project-dialog-open=true][data-scroll-locked]{position:fixed!important;top:var(--project-dialog-page-offset, 0)!important;right:0;left:0;width:100%;overflow:hidden!important}.project-dialog-overlay{background:#23221e30;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.project-dialog{display:flex;flex-direction:column;width:min(1120px,calc(100vw - 96px));max-width:none;height:calc(100dvh - 64px);max-height:1180px;gap:0;padding:0;overflow:hidden;border:1px solid rgb(255 255 255 / 80%);border-radius:20px;background:#eef5f0;color:#20241f;box-shadow:0 8px 24px #1e1c160f,0 32px 100px #1e1c1624}.project-dialog[data-state=open],.project-lightbox[data-state=open]{animation:project-dialog-in .2s ease both}.project-dialog[data-state=closed],.project-lightbox[data-state=closed]{animation:project-dialog-out .15s ease both}.project-dialog__progress{position:absolute;z-index:2;top:0;right:0;left:0;height:2px;overflow:hidden;pointer-events:none}.project-dialog__progress>span{display:block;width:100%;height:100%;background:var(--portfolio-accent);transform:scaleX(var(--project-read-progress, 0));transform-origin:left center}.project-dialog__scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c4cec7 transparent}.project-dialog__content{display:flex;width:min(720px,calc(100% - 96px));min-width:0;margin:0 auto;padding:52px 0 80px;flex-direction:column;gap:52px}.project-dialog__bar{display:flex;align-items:center;justify-content:space-between;min-height:44px}.project-dialog__back,.project-dialog__share{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:0;border:0;background:transparent;color:#59635c;font-size:14px;font-weight:400;line-height:22px;cursor:pointer;transition:color .16s ease,transform .2s cubic-bezier(.2,0,0,1)}.project-dialog__share{padding-inline:4px}.project-dialog__back:hover,.project-dialog__share:hover{color:var(--portfolio-accent);transform:scale(1.04)}.project-dialog__back svg{transition:transform .2s cubic-bezier(.2,0,0,1)}.project-dialog__back:hover svg{transform:translate(-2px)}.project-dialog__intro{display:flex;width:100%;min-width:0;flex-direction:column}.project-dialog__title{margin:0;font-size:16px;font-weight:600;line-height:22px;letter-spacing:-.1px;color:var(--portfolio-accent)}.project-dialog__title:focus{outline:none}.project-dialog__title a{display:inline-flex;align-items:center;gap:4px;color:inherit;transition:transform .2s cubic-bezier(.2,0,0,1)}.project-dialog__title a:hover{transform:translate(4px)}.project-dialog__tools{margin:0;color:#68736b;font-size:16px;font-weight:400;line-height:22px}.project-dialog__sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.project-dialog__hero,.project-dialog__visual{margin:0}.project-dialog__hero{width:100%}.project-dialog__visual{margin-block:56px}.project-dialog__image-button{position:relative;display:block;width:100%;overflow:hidden;padding:0;border:0;border-radius:32px;corner-shape:squircle;outline:0 solid var(--portfolio-accent);outline-offset:0;background:#e3ebe6;cursor:zoom-in;transition:outline-width .24s cubic-bezier(.2,0,0,1)}.project-dialog__media{display:block;width:100%;height:auto;object-fit:contain}.project-dialog__hero .project-dialog__image-button{aspect-ratio:3 / 4}.project-dialog__hero--landscape .project-dialog__image-button,.project-dialog__visual--wide .project-dialog__image-button{aspect-ratio:4 / 3}.project-dialog__visual--tall .project-dialog__image-button{aspect-ratio:3 / 4}.project-dialog__hero .project-dialog__media,.project-dialog__visual .project-dialog__media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .24s cubic-bezier(.2,0,0,1),filter .2s ease}@supports not (corner-shape: squircle){.project-dialog__image-button{border-radius:20px}}@media(hover:hover){.project-dialog__image-button:hover{outline-width:3px}.project-dialog__image-button:hover .project-dialog__media{filter:saturate(1.08) brightness(1.02);transform:scale(1.02)}}.project-dialog__story{min-width:0}.project-dialog__section{width:100%;margin:64px 0 0}.project-dialog__story>.project-dialog__section:first-child{margin-top:0}.project-dialog__section h2{margin:0 0 20px;color:#20241f;font-size:16px;font-weight:600;line-height:22px;letter-spacing:-.1px}.project-dialog__section p{margin:0 0 28px;color:#68736b;font-size:16px;font-weight:400;line-height:1.7;white-space:pre-line}.project-dialog__section p:last-child{margin-bottom:0}.project-dialog__case-study{width:100%;margin:64px 0 0;padding:30px 28px 28px;border-radius:32px;corner-shape:squircle;background:#16704a12}@supports not (corner-shape: squircle){.project-dialog__case-study{border-radius:20px}}.project-dialog__case-study>header{display:flex;flex-direction:column;gap:3px;margin-bottom:28px}.project-dialog__case-study>header span{color:#60766a;font-size:11px;font-weight:500;line-height:16px;letter-spacing:.05em;text-transform:uppercase}.project-dialog__case-study>header h2{margin:0;color:#20241f;font-size:18px;font-weight:600;line-height:25px;letter-spacing:-.2px}.project-dialog__case-study>section{margin-top:24px}.project-dialog__case-study>section:first-of-type{margin-top:0}.project-dialog__case-study>section h3{margin:0 0 10px;color:#20241f;font-size:16px;font-weight:600;line-height:22px;letter-spacing:-.1px}.project-dialog__case-study>section p{margin:0;color:#68736b;font-size:16px;font-weight:400;line-height:1.7;white-space:pre-line}.project-dialog__back-to-top{display:flex;justify-content:center;margin-top:48px}.project-dialog__back-to-top button{min-height:38px;padding:0 8px;border:0;background:transparent;color:#68736b;font-size:13px;font-weight:500;line-height:20px;cursor:pointer;transition:color .16s ease}.project-dialog__back-to-top button:hover{color:var(--portfolio-accent)}.project-share-menu{z-index:80;min-width:200px;padding:6px;border:1px solid rgb(0 0 0 / 9%);border-radius:8px;background:#faf9f6;color:#41413b;box-shadow:0 8px 32px #1e1c161f}.project-share-menu [role=menuitem]{min-height:40px;gap:10px;padding:8px 10px;border-radius:4px;font-size:13px;line-height:20px;cursor:pointer}.project-share-menu [role=menuitem]:focus{background:#eeede8;color:#20201e}.project-lightbox-overlay{z-index:60;background:#0f1011f7;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.project-lightbox{z-index:70;display:flex;width:calc(100vw - 8px);max-width:none;height:calc(100dvh - 12px);max-height:none;padding:42px 48px;border:1px solid rgb(255 255 255 / 11%);border-radius:4px;background:#18191a;box-shadow:none;color:#e7e8e8}.project-lightbox__title{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.project-lightbox__stage{display:flex;flex:1 1 auto;align-items:center;justify-content:center;min-height:0;overflow:hidden}.project-lightbox__image-canvas{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:0}.project-lightbox__stage .project-dialog__media{width:auto;height:auto;max-width:100%;max-height:100%;border-radius:12px}.project-lightbox__stage:focus{outline:none}.project-lightbox__close{position:absolute;z-index:2;top:15px;right:15px;display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:4px;background:transparent;color:#aeb1b2;cursor:pointer;transition:background-color .16s ease,color .16s ease}.project-lightbox__close:hover{background:#ffffff0f;color:#fff}.project-dialog :is(button,a):focus-visible,.project-lightbox :is(button,a):focus-visible{outline:2px solid var(--portfolio-accent);outline-offset:4px}@keyframes project-dialog-in{0%{opacity:0;scale:.99}to{opacity:1;scale:1}}@keyframes project-dialog-out{0%{opacity:1}to{opacity:0}}@media(max-width:899px){.project-dialog{width:calc(100vw - 32px);height:calc(100dvh - 32px);max-height:calc(100dvh - 32px)}.project-dialog__content{width:min(720px,calc(100% - 32px))}}@media(max-width:639px){.project-dialog{width:100%;height:100dvh;max-height:none;border:0;border-radius:0}.project-dialog__content{width:calc(100% - 52px);padding:64px 0 max(80px,env(safe-area-inset-bottom));gap:40px}.project-lightbox{width:calc(100vw - 8px);height:calc(100dvh - 8px);padding:48px 12px 12px}}@media(hover:none){.index-card__footer,.index-card__title,.index-card__action{opacity:1;filter:none;transform:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.index-intro__link,.index-intro__accent i{transition:none}.index-intro__link:hover{transform:none}.index-intro__icon-default,.index-intro__icon-arrow,.index-intro__link:hover .index-intro__icon-default,.index-intro__link:hover .index-intro__icon-arrow{animation:none;transition:none}.index-intro__calligraphy,.index-intro__top,.index-intro__name,.index-intro__role,.index-intro__bio,.index-intro__bio p,.index-intro__links,.index-gallery--motion-ready .index-gallery__item,.index-gallery--motion-ready .index-gallery__item.is-entering{animation:none!important;opacity:1!important;filter:none!important;transform:none!important}.index-intro__calligraphy{opacity:.095!important;transform:translate(-50%,-50%)!important}.index-card,.index-card__media,.index-card__footer,.index-card__title,.index-card__action,.index-card__action svg{transition:none!important}.index-intro__link:hover .index-intro__icon-default{opacity:1;filter:none;transform:none}.index-intro__link:hover .index-intro__icon-arrow{opacity:0}.project-dialog,.project-dialog-overlay,.project-dialog__back,.project-dialog__share,.project-dialog__title a,.project-dialog__image-button,.project-dialog__image-button .project-dialog__media,.project-lightbox,.project-lightbox-overlay,.project-share-menu{animation:none!important}}.contact-dialog-overlay{z-index:90;background:#23221e38;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.contact-dialog{z-index:91;display:block;width:min(540px,calc(100vw - 48px));max-width:none;max-height:calc(100dvh - 48px);padding:32px;overflow-y:auto;overscroll-behavior:contain;border:1px solid rgb(255 255 255 / 80%);border-radius:20px;background:#faf9f6;color:#33322d;box-shadow:0 24px 80px #1e1c162e;scrollbar-width:thin;scrollbar-color:#d6d3cb transparent}.contact-dialog[data-state=open]{animation:contact-dialog-in .16s ease both}.contact-dialog[data-state=closed]{animation:contact-dialog-in .1s ease reverse both}@keyframes contact-dialog-in{0%{opacity:0}to{opacity:1}}.contact-dialog h2{margin:0;font-size:24px;font-weight:600;line-height:32px;letter-spacing:-.4px;color:#20201e}.contact-dialog h2:focus{outline:none}.contact-dialog__header{padding-right:28px}.contact-dialog__header p,.contact-dialog__success>p{margin:10px 0 0;color:#62605a;font-size:14px;line-height:24px}.contact-dialog__close{position:absolute;top:16px;right:16px;display:grid;width:44px;height:44px;padding:0;place-items:center;border:0;border-radius:50%;background:transparent;color:#73716b;cursor:pointer}.contact-dialog__close:hover{background:#eeede8;color:#20201e}.contact-dialog :is(button,a):focus-visible{outline:2px solid var(--portfolio-accent);outline-offset:3px}.contact-dialog__form{display:grid;gap:20px;margin-top:28px}.contact-dialog__fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.contact-dialog__field{display:flex;flex-direction:column;gap:8px;min-width:0}.contact-dialog__field label{font-size:13px;font-weight:500;line-height:20px}.contact-dialog__field input,.contact-dialog__field textarea{width:100%;min-width:0;min-height:48px;margin:0;padding:11px 12px;border:1px solid #dcd9d0;border-radius:8px;background:#fff;color:#33322d;font:inherit;font-size:16px;line-height:24px;box-shadow:0 1px 2px #1e1c1608}.contact-dialog__field textarea{min-height:142px;resize:vertical}.contact-dialog__field input:focus,.contact-dialog__field textarea:focus{outline:none;border-color:var(--portfolio-accent);box-shadow:0 0 0 3px #16704a1a}.contact-dialog__field [aria-invalid=true]{border-color:#b42318}.contact-dialog__field :disabled{background:#f5f4ef}.contact-dialog__field textarea::placeholder{color:#8a877e}.contact-dialog__field-error,.contact-dialog__notice{margin:0;font-size:13px;line-height:21px}.contact-dialog__field-error{color:#b42318}.contact-dialog__notice{color:#62605a}.contact-dialog__notice button{padding:0;border:0;background:transparent;color:var(--portfolio-accent);text-decoration:underline;cursor:pointer}.contact-dialog__honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.contact-dialog__verification:empty{display:none}.contact-dialog__send-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px}.contact-dialog__submit{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:8px;padding:0 20px;border:0;border-radius:999px;background:var(--portfolio-accent);color:#fff;font-size:14px;font-weight:500;line-height:22px;cursor:pointer}.contact-dialog__submit:hover:not(:disabled){background:var(--portfolio-accent-dark)}.contact-dialog__submit:disabled{opacity:.5;cursor:not-allowed}.contact-dialog__spinner{animation:contact-spin .9s linear infinite}@keyframes contact-spin{to{transform:rotate(360deg)}}.contact-dialog__privacy{margin:-6px 0 0;color:#73716b;font-size:11px;line-height:18px}.contact-dialog__privacy a{text-decoration:underline;text-underline-offset:2px}.contact-dialog__success{padding-block:16px 8px}.contact-dialog__success-icon{display:grid;width:48px;height:48px;margin-bottom:20px;place-items:center;border-radius:50%;background:#edf7f1;color:var(--portfolio-accent)}.contact-dialog__success .contact-dialog__submit{margin-top:24px}@media(max-width:479px){.contact-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:24px 20px;border-radius:16px}.contact-dialog__close{top:12px;right:8px}.contact-dialog__fields{grid-template-columns:minmax(0,1fr);gap:20px}.contact-dialog__header p{max-width:28ch}}@media(prefers-reduced-motion:reduce){.contact-dialog,.contact-dialog-overlay,.contact-dialog__spinner{animation:none!important}}
