.header{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;min-height:55vh;padding-bottom:4rem;position:relative;z-index:1001}.header__nav{position:fixed;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:1.2rem 2.5rem;z-index:1002}.header__name{font-size:.85rem;font-weight:500;color:var(--color-white);letter-spacing:.02em}.header__links{display:flex;gap:2rem}.header__link{display:flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--color-text);transition:color .25s ease;font-weight:400}.header__link:hover{color:var(--color-white)}.header__link svg{width:14px;height:14px}.header__title{font-family:var(--font);font-size:clamp(3.5rem,10vw,8rem);font-weight:500;letter-spacing:-.03em;color:var(--color-white);text-align:center;-webkit-user-select:none;user-select:none}.header__scroll-hint{margin-top:2.5rem;animation:bounce 2s ease-in-out infinite;opacity:.4;transition:opacity .8s ease}.header__scroll-hint.hidden{opacity:0;pointer-events:none}.header__scroll-hint svg{width:22px;height:22px;color:var(--color-white)}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}@media(max-width:600px){.header__nav{padding:1rem 1.5rem}.header__links{gap:1rem}}.presentation{max-width:700px;margin:0 auto;padding:4rem 2rem 8rem}.presentation__label{font-size:.75rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--color-text);margin-bottom:2.5rem;opacity:0;transition:opacity 1.5s ease-out}.presentation__label.revealed{opacity:1;position:relative;z-index:1001}.presentation__text{font-size:1.05rem;line-height:1.9;color:var(--color-text);font-weight:400;opacity:.05;transition:opacity 3s ease-out;margin-bottom:1.2rem}.presentation__text:last-child{margin-bottom:0}.presentation__text.revealed{opacity:1;position:relative;z-index:1001}.presentation__text strong{font-weight:600;color:var(--color-white)}.presentation__scroll-hint{display:flex;justify-content:center;margin-top:3rem;opacity:0;transition:opacity .8s ease;pointer-events:none}.presentation__scroll-hint.visible{opacity:1;position:relative;z-index:1001;animation:presentationBounce 2s ease-in-out infinite}.presentation__scroll-hint.hidden{opacity:0}.presentation__scroll-hint svg{width:22px;height:22px;color:var(--color-white)}@keyframes presentationBounce{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}.projects{max-width:900px;margin:0 auto;padding:2rem 2rem 8rem}.projects__label{font-size:.75rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--color-text);margin-bottom:3rem;opacity:0;transition:opacity 1.5s ease-out}.projects__label.revealed{opacity:1;position:relative;z-index:1001}.projects__list{display:flex;flex-direction:column}.project-item{display:flex;align-items:stretch;gap:3rem;padding:2.5rem 0;border-top:1px solid var(--color-rule);opacity:.05;transition:opacity 1.5s ease-out}.project-item:last-child{border-bottom:1px solid var(--color-rule)}.project-item.revealed{opacity:1;position:relative;z-index:1001}.project-item__content{flex:0 0 45%;min-width:0}.project-item__title{font-size:clamp(1.4rem,3vw,2rem);font-weight:500;letter-spacing:-.02em;color:var(--color-white);margin-bottom:.8rem;transition:color 5s ease}.project-item__description{font-size:.92rem;line-height:1.7;color:var(--color-text);margin-bottom:1rem;transition:color 5s ease}.project-item__meta{display:flex;align-items:baseline;gap:1.5rem;flex-wrap:wrap}.project-item__tags{font-size:.8rem;font-style:italic;color:var(--color-text);transition:color 5s ease}.project-item__link{font-size:.8rem;color:var(--color-text);border-bottom:1px solid var(--color-rule);padding-bottom:1px;transition:color 5s ease,border-color 5s ease}.project-item__images{flex:1;display:flex;gap:.6rem;align-items:center;position:relative;z-index:1001}.project-item__img{flex:1;aspect-ratio:3 / 4;background:transparent;border-radius:0;opacity:0;transform:translateY(8px);overflow:hidden;display:flex;align-items:center;justify-content:center}.project-item__img img{max-width:100%;max-height:100%;object-fit:contain;display:block}.project-item__img--1{transition:opacity 2s ease,transform 2s ease}.project-item__img--2{transition:opacity 3.5s ease,transform 3.5s ease}.project-item__img--3{transition:opacity 5s ease,transform 5s ease}.project-item:hover .project-item__title{color:#fff}.project-item:hover .project-item__description,.project-item:hover .project-item__tags{color:var(--color-text-light)}.project-item:hover .project-item__link{color:#fff;border-color:#ffffff4d}.project-item:hover .project-item__img,.project-item.touched .project-item__img{opacity:1;transform:translateY(0)}.project-item{position:relative}.project-item:before,.project-item:after{content:"";position:absolute;left:0;right:0;height:1px;background:#fff;opacity:0;transition:opacity 5s ease}.project-item:before{top:-1px}.project-item:after{bottom:-1px}.project-item:hover:before,.project-item:hover:after{opacity:1}@media(max-width:700px){.project-item{flex-direction:column;gap:1.5rem}.project-item__content{flex:none}.project-item__images{max-width:80%}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--color-bg: #0a0a0a;--color-text: #999;--color-text-light: #ccc;--color-white: #fff;--color-rule: rgba(255, 255, 255, .08);--font: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}html{scroll-behavior:smooth}body{font-family:var(--font);background-color:var(--color-bg);color:var(--color-text);min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.revealed{position:relative;z-index:1001}
