*{margin:0;padding:0;box-sizing:border-box}::selection{background:#eaeaea}body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fdfdfc}:root:after{content:"";position:fixed;inset:0;background:#fdfdfc;z-index:-1}.portfolio{background:#fdfdfc;display:flex;flex-direction:column;align-items:center;padding:0 48px;min-height:100vh;width:100%;transition:padding .2s cubic-bezier(0,0,.2,1);animation:fadeIn .2s ease}.scroll-gradient{position:fixed;top:0;left:0;right:0;height:96px;background:linear-gradient(180deg,#fdfdfc,#fdfdfccc,#fdfdfc8c,#fdfdfc59,#fdfdfc33,#fdfdfc1a,#fdfdfc08 90%,#fdfdfc00);pointer-events:none;opacity:0;transition:opacity .2s ease;z-index:100}.scroll-gradient.visible{opacity:1}.portfolio-content{display:flex;flex-direction:column;align-items:flex-end;max-width:540px;padding:96px 0 72px;width:100%;transition:padding .2s cubic-bezier(0,0,.2,1)}.profile-header{display:flex;flex-direction:column;align-items:flex-start;width:100%;overflow:hidden}.profile-header-top{display:flex;flex-direction:column;gap:1.5rem;align-items:flex-start;width:100%}.profile-photo{width:32px;height:32px;flex-shrink:0;cursor:pointer;transition:transform .15s ease}.profile-photo:active{transform:scale(.97)}.profile-photo img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover}.profile-info{display:flex;flex-direction:column;gap:3px;flex:1}.profile-name{font-size:.875rem;font-weight:500;line-height:1.25rem;color:#1b1b1b;margin:0}.profile-location{font-size:.875rem;font-weight:400;line-height:1.25rem;color:#5c5c5c;margin:0}.profile-about{display:flex;flex-direction:column;gap:.75rem;padding-top:1.5rem;width:100%;overflow:hidden}.profile-about h3{font-size:.875rem;font-weight:500;line-height:1.25rem;color:#1b1b1b;margin:0}.profile-about p{font-size:.875rem;font-weight:400;line-height:1.25rem;color:#5c5c5c;margin:0}.section{display:flex;flex-direction:column;align-items:flex-end;padding-top:2.5rem;width:100%}.section-title{font-size:.875rem;font-weight:500;line-height:1.25rem;color:#1b1b1b;width:100%;margin:0}.section-item{display:flex;flex-direction:column;padding-top:1.5rem;width:100%;overflow:hidden}.section-item:first-of-type{padding-top:1.5rem}.entry-header{display:flex;align-items:baseline;gap:.25rem;width:100%;line-height:1.25rem}.entry-date{font-size:.875rem;font-weight:300;line-height:1.25rem;color:#9b9b9b;margin:0}.entry-title{font-size:.875rem;font-weight:400;line-height:1.25rem;color:#1b1b1b;margin:0}.entry-title-wrapper{display:flex;align-items:center;position:relative;line-height:1.25rem}.broken-link-icon{position:absolute;left:0;display:flex;align-items:center;opacity:0;transition:opacity .2s ease}.entry-title-wrapper:hover .broken-link-icon{opacity:1}.broken-link-icon img{width:.875rem;height:.875rem}.entry-title-wrapper .entry-title{position:relative;margin-left:0;transition:margin-left .2s ease;background:#fdfdfc}.entry-title-wrapper .entry-title:before{content:"";position:absolute;right:100%;top:0;bottom:0;width:.375rem;background:linear-gradient(to right,transparent 0%,#FDFDFC 100%);pointer-events:none}.entry-title-wrapper:hover .entry-title{margin-left:1.25rem}.entry-title-link{text-decoration:none;color:inherit;cursor:pointer}.entry-logo{position:absolute;left:1px;display:flex;align-items:center;opacity:0;transition:opacity .2s ease}.entry-title-wrapper:hover .entry-logo{opacity:1}.entry-logo img{width:.875rem;height:.875rem;border-radius:.125rem;object-fit:contain;outline:1px solid rgba(27,27,27,.1)}.section-note{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid #F5F5F5}.note-text{font-size:.75rem;font-weight:400;line-height:1.25rem;color:#9b9b9b;margin:0;width:100%}.note-text+.note-text{margin-top:.75rem}.note-link{cursor:pointer;transition:color .2s ease;width:fit-content;align-self:flex-start}.note-link:hover{color:#1b1b1b}.note-icon{width:12px;height:12px;margin-left:.125rem;vertical-align:baseline;position:relative;top:2px;transition:filter .2s ease}.note-link:hover .note-icon{filter:brightness(0) saturate(100%) invert(8%) sepia(5%) saturate(10%) hue-rotate(0deg) brightness(100%) contrast(92%)}.section-location{display:flex;flex-direction:column;padding:0 0 8px;width:100%}.section-location p{font-size:.875rem;font-weight:400;line-height:1.25rem;color:#5c5c5c;margin:0}.section-description{display:flex;flex-direction:column;width:100%;gap:.75rem;padding-top:.75rem}.section-description p{font-size:.875rem;font-weight:300;line-height:1.25rem;color:#5c5c5c;margin:0}.inline-link{color:#2480ed;text-decoration:none;transition:all .2s ease}.inline-link:hover{color:#74b1fd}.attachments{display:flex;gap:.75rem;overflow-x:auto;margin-top:1rem;padding:4px 2px 10px;align-self:flex-start;max-width:100%}.attachments::-webkit-scrollbar{height:2px;margin-top:8px}.attachments::-webkit-scrollbar-track{background:#eaeaea;border-radius:2px;margin-top:8px}.attachments::-webkit-scrollbar-thumb{background:#c2c2c2;border-radius:2px;min-width:48px}.attachments::-webkit-scrollbar-thumb:hover{background:#9b9b9b}.attachment{max-width:160px;max-height:90px;border-radius:8px;flex-shrink:0;overflow:hidden;cursor:pointer;outline:2px solid rgba(27,27,27,.1);transition:transform .2s ease,box-shadow .2s ease}.attachment:hover{transform:translateY(-.125rem);box-shadow:0 1px 4px #1b1b1b1f}.attachment img,.attachment video{width:100%;height:100%;max-height:90px;object-fit:contain;border-radius:8px;display:block}.contact-item{display:flex;align-items:flex-start;padding:8px 0;width:100%;overflow:hidden;transition:flex-direction .2s cubic-bezier(0,0,.2,1)}.contact-item:first-of-type{padding-top:24px}.contact-platform{display:flex;align-items:flex-start;padding-right:36px;flex-shrink:0;transition:padding .2s cubic-bezier(0,0,.2,1)}.contact-platform p{font-size:.875rem;font-weight:400;line-height:1.25rem;color:#5c5c5c;width:88.5px;margin:0}.contact-link{display:inline;text-decoration:none;color:inherit;line-height:calc(1.6 * 14px);cursor:pointer;align-self:flex-start}.contact-link-text{display:inline;font-size:.875rem;font-weight:400;line-height:1.25rem;color:#1b1b1b;margin:0;text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:1.5px;text-underline-offset:2px;transition:text-decoration-color .2s cubic-bezier(0,0,.2,1)}.contact-link:hover .contact-link-text{text-decoration-color:#1b1b1b}.contact-link-icon{display:inline-block;width:12px;height:12px;vertical-align:baseline;margin-left:4px;pointer-events:none}.contact-link-icon img{display:block;width:100%;height:100%}@media (max-width: 480px){.portfolio{padding:0 24px}.portfolio-content{padding:24px 0}.contact-item{flex-direction:column;align-items:flex-start}.contact-platform{padding-right:0;padding-bottom:0;margin-bottom:0}.contact-platform p{width:auto}}.lightbox{position:fixed;inset:0;background:#1b1b1bc6;-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}.lightbox.closing{animation:fadeOut .3s ease forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes scaleIn{0%{transform:scale(.98)}to{transform:scale(1)}}@keyframes scaleOut{0%{transform:scale(1)}to{transform:scale(.98)}}.lightbox-close{position:fixed;top:12px;right:12px;width:24px;height:24px;background:#6c6c6c;border:none;border-radius:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:transform .2s ease,opacity .2s ease}.lightbox-close:hover{opacity:.777}.lightbox-close:active{transform:scale(.9)}.lightbox-close img{width:8px;height:8px;display:block}.lightbox-content{position:fixed;inset:48px 24px;display:flex;align-items:center;justify-content:center}.lightbox-attachment{display:flex;align-items:center;justify-content:center;max-width:100%;max-height:100%}.lightbox-attachment img,.lightbox-attachment video{max-width:calc(100vw - 48px);max-height:calc(100vh - 96px);width:auto;height:auto;object-fit:contain;display:block}.lightbox.initial-open .lightbox-attachment img,.lightbox.initial-open .lightbox-attachment video{animation:scaleIn .3s ease}.lightbox.closing .lightbox-attachment img,.lightbox.closing .lightbox-attachment video{animation:scaleOut .3s ease forwards}.carousel-dots{position:fixed;bottom:0;left:50%;transform:translate(-50%);height:48px;display:flex;align-items:center;justify-content:center;gap:6px}.carousel-dot{width:8px;height:8px;border-radius:50%;background:#eaeaea;border:none;padding:0;cursor:default;transition:background .2s cubic-bezier(0,0,.2,1)}.carousel-dot.active{background:#c2c2c2}
