.portfolio__list{display:flex;flex-direction:column;gap:24px;list-style:none}.portfolio__item{flex-direction:column;gap:4px}.portfolio__item,.portfolio__item-image{display:flex;width:100%;height:-moz-fit-content;height:fit-content;position:relative}.portfolio__item-image{cursor:pointer;transition:all .3s ease;background:none;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.portfolio__item-image img{width:100%;height:auto;object-fit:cover;object-position:top center;border-radius:12px}.portfolio__item-counter{font-weight:400;left:12px;cursor:default}.portfolio__item-counter,.portfolio__item-link{padding:6px 8px;background-color:var(--color-dark);color:var(--color-light);border-radius:6px;font-size:12px;font-family:DM Mono;width:-moz-fit-content;width:fit-content;height:-moz-fit-content;height:fit-content;position:absolute;bottom:12px}.portfolio__item-link{text-decoration:none;transition:all .3s ease;z-index:4;right:12px}.portfolio__item-link:hover{background-color:var(--color-light);color:var(--color-dark)}.portfolio__custom-cursor{position:absolute;top:0;left:0;width:32px;height:32px;border-radius:50%;background-color:var(--color-light);pointer-events:none;z-index:10;margin-left:-16px;margin-top:-16px;will-change:transform;transition:opacity .3s ease;box-shadow:0 2px 8px rgba(17,17,17,.12),0 4px 16px rgba(17,17,17,.08),0 1px 3px rgba(17,17,17,.16);display:flex;align-items:center;justify-content:center}.portfolio__custom-cursor svg{display:block}@media (hover:hover) and (pointer:fine){.portfolio__item-image[data-has-multiple-images=true]{cursor:none}.portfolio__item-image[data-has-multiple-images=false]{cursor:default}}@media (hover:none) and (pointer:coarse){.portfolio__custom-cursor{display:none!important}.portfolio__item-image{cursor:pointer}}.homepage{display:flex;flex-direction:row;position:relative}.sidebar{height:100dvh;width:40%;padding:12px;display:flex;flex-direction:column;justify-content:space-between;position:-webkit-sticky;position:sticky;top:0}.sidebar__header{display:flex;flex-direction:row;gap:12px;align-items:center}.sidebar__header-image{width:72px;height:96px;transform:rotate(-4deg);transition:all .3s ease;position:relative}.sidebar__header-image:hover{transform:scale(1.1) rotate(0deg)}.sidebar__header-image:after{position:absolute;content:"Hi! Yes that's me! 👀";font-size:10px;font-weight:400;font-family:DM Mono;width:100%;bottom:-4px;left:0;transform:translateY(100%);text-align:center;opacity:0;transition:all .5s ease}.sidebar__header-image:hover:after{bottom:-8px;opacity:1}.sidebar__header-image img{border-radius:4px;width:100%;height:100%;object-fit:cover;object-position:center}.sidebar__header-content{display:flex;flex-direction:column;gap:8px;width:100%}.sidebar__header-content>*{font-size:24px;line-height:24px;font-weight:400}.sidebar__header-description{color:var(--color-light-48)}.sidebar__header-content span{color:var(--color-light);position:relative;display:inline-block;z-index:2}.sidebar__header-description>span:first-child:after{content:"👨🏻‍🎨 👨🏻‍🎨 👨🏻‍🎨";font-size:24px;position:absolute;width:100%;text-align:center;bottom:-24px;left:0;opacity:0;transition:all .3s ease;z-index:3}.sidebar__header-description>span:first-child:hover:after{bottom:-12px;opacity:1}.sidebar__header-description>span:last-child:after{content:"👨🏻‍💻 👨🏻‍💻 👨🏻‍💻";font-size:24px;position:absolute;width:100%;text-align:center;bottom:-24px;left:0;opacity:0;transition:all .3s ease;z-index:3}.sidebar__header-description>span:last-child:hover:after{bottom:-12px;opacity:1}.sidebar__content{gap:48px}.sidebar__about,.sidebar__content{display:flex;flex-direction:column}.sidebar__about{gap:12px}.sidebar__about-title{font-size:16px;font-weight:400}.sidebar__about-description{font-family:DM Mono;font-size:14px;color:var(--color-light-48)}.sidebar__services{display:flex;flex-direction:column;gap:12px}.sidebar__services-title{font-size:16px;font-weight:400}.sidebar__services-list{display:grid;grid-gap:4px;gap:4px;grid-template-columns:1fr 1fr;list-style:none}.sidebar__services-item{font-family:DM Mono;font-size:14px;color:var(--color-light-48)}.sidebar__links{display:flex;gap:4px}.sidebar__links-item{padding:8px 12px;background-color:var(--color-light-04);color:var(--color-light);display:flex;justify-content:center;align-items:center;flex:1 1;border-radius:8px;border:none;box-shadow:none;transition:all .3s ease;text-decoration:none;cursor:pointer;position:relative;font-size:16px}.sidebar__links-item:hover{background-color:var(--color-light);color:var(--color-dark)}.sidebar__links-item:disabled{background-color:var(--color-light-12);color:var(--color-light);cursor:default}.sidebar__links>.sidebar__links-item:first-child:before{position:absolute;content:"✉️";font-size:24px;left:24px;top:-24px;transition:all .5s ease;opacity:0}.sidebar__links>.sidebar__links-item:first-child:after{position:absolute;content:"📬";font-size:24px;right:24px;top:-24px;transition:all .5s ease;opacity:0}.sidebar__links>.sidebar__links-item:first-child:hover:before{opacity:1;top:-32px;transform:rotate(-4deg)}.sidebar__links>.sidebar__links-item:first-child:hover:after{opacity:1;top:-32px;transform:rotate(4deg)}.sidebar__links>.sidebar__links-item:last-child:hover{background-color:#0a66c2;color:#fdfaf5}.sidebar__links>.sidebar__links-item:last-child:before{position:absolute;content:"📄";font-size:24px;left:24px;top:-24px;transition:all .5s ease;opacity:0}.sidebar__links>.sidebar__links-item:last-child:after{position:absolute;content:"👨🏻‍💻";font-size:24px;right:24px;top:-24px;transition:all .5s ease;opacity:0}.sidebar__links>.sidebar__links-item:last-child:hover:before{opacity:1;top:-32px;transform:rotate(-4deg)}.sidebar__links>.sidebar__links-item:last-child:hover:after{opacity:1;top:-32px;transform:rotate(4deg)}.page{width:60%;padding:0 12px 12px}.page,.page__main{display:flex;flex-direction:column;gap:48px}.page__nav{display:flex;align-items:center;justify-content:space-between;padding:12px 0;z-index:100;margin-bottom:-48px}.page__nav-description{font-size:14px;font-family:DM Mono;color:var(--color-light-48);display:flex;align-items:center;position:relative}.page__nav-description:before{filter:blur(2px)}.page__nav-description:after,.page__nav-description:before{content:"";border-radius:1000px;background:#2da53d;width:4px;height:4px;margin-right:8px;display:block}.page__nav-description:after{position:absolute;left:0;top:50%;transform:translateY(-50%)}.page__nav-links{display:flex;flex-direction:row;align-items:center}.page__nav-item{display:flex;align-items:center;justify-content:center}.page__nav-list{display:none;flex-direction:row;padding:4px;background-color:var(--color-light-04);border-radius:8px;list-style:none}.page__nav-link{padding:4px 8px;background-color:transparent;color:var(--color-light);text-decoration:none;transition:all .3s ease;font-family:DM Mono;font-size:16px;border-radius:4px}.page__nav-link:hover{background-color:var(--color-light);color:var(--color-darker)}.page__nav-button{padding:8px 12px;background-color:var(--color-light-16);color:var(--color-light);border-radius:8px;text-decoration:none;transition:all .3s ease;font-family:DM Mono;font-size:16px}.page__nav-button:hover{background-color:var(--color-light);color:var(--color-darker)}.process{gap:24px;padding:96px 0}.process,.process__header{display:flex;flex-direction:column}.process__header{text-align:center}.process__header-title{font-size:12px;font-family:DM Mono;color:var(--color-light-48);font-weight:400}.process__header-description{font-size:24px;font-weight:500}.process__list{display:flex;flex-direction:row;gap:72px;list-style:none}.process__item{display:flex;flex-direction:column;gap:12px;text-align:center;text-wrap:balance;flex:1 1;width:100%}.process__item-number{font-size:12px;font-family:DM Mono;color:var(--color-light-48);font-weight:400}.process__item-visuals{width:100%;aspect-ratio:16/9;background-color:var(--color-light-04);border-radius:12px;display:flex;justify-content:center;align-items:center;position:relative}.process__list>.process__item:nth-child(3) .process__item-visuals{overflow:hidden}.process__item-visuals-overlay{position:absolute;left:0;top:0;bottom:0;right:0;z-index:2;border-radius:12px;overflow:hidden}.process__item-visuals-arrow{position:absolute;right:-48.5px;top:50%;transform:translateY(-50%);width:25px;height:8px;object-fit:cover;object-position:center}.process__item-title{font-size:16px;font-weight:500}.process__item-description{font-size:14px;font-weight:400;color:var(--color-light-48);margin-top:-8px}.process__item-logo-images{display:flex;flex-direction:row;justify-content:center;align-items:center;position:absolute;left:0;top:0;bottom:0;right:0;overflow:hidden}.process__item-logo-images>.process__item-logo-image{width:64px;height:64px;transform:rotate(-4deg);z-index:2;box-shadow:0 0 12px 0 rgba(0,0,0,.32);border-radius:8px}.process__item-logo-images>.process__item-logo-image:nth-child(2){margin-left:-12px;transform:rotate(4deg);z-index:1}.process__item-logo-images:after,.process__item-logo-images:before{position:absolute;left:0;bottom:0;content:"✉️";font-size:24px;line-height:24px;transform:translate(-100%,100%) rotate(16deg);transition:all .3s ease}.process__item-logo-images:after{left:unset;right:0;bottom:unset;top:0;content:"💻";transform:translate(100%,-100%) rotate(16deg)}.process__list>.process__item:first-child:hover .process__item-logo-images:before{transform:translate(8px,-8px) rotate(16deg)}.process__list>.process__item:first-child:hover .process__item-logo-images:after{transform:translate(-8px,8px) rotate(16deg)}.process__item-signature{opacity:48%;transition:all .3s ease;height:100%;width:auto;padding:10% 0}.process__list>.process__item:nth-child(2):hover .process__item-signature{opacity:100%}.process__item-websites-images{display:flex;flex-direction:row;position:absolute;left:0;top:0;bottom:0;right:0;justify-content:center;align-items:center;gap:16px}.process__item-websites-image{border-radius:4px;transition:all .3s ease;width:128px;height:83px;max-height:80%}.process__list>.process__item:nth-child(3):hover .process__item-websites-image:nth-child(2){width:256px;height:166px}.testimonials{display:none;flex-direction:column;gap:24px}.testimonials__header{display:flex;flex-direction:column;text-align:center}.testimonials__header-title{font-size:12px;font-family:DM Mono;color:var(--color-light-48);font-weight:400}.testimonials__header-description{font-size:24px;font-weight:500}.testimonials__content{display:flex;gap:24px}.testimonials__column{width:100%;display:flex;flex-direction:column;gap:24px}.testimonials__column-item{display:flex;flex-direction:column;gap:12px;padding:24px;border-radius:12px;background-color:var(--color-light-04)}.testimonials__column-item-copy{font-family:DM Mono;font-size:16px;font-weight:400;color:var(--color-light)}.testimonials__column-item-header{display:flex;flex-direction:row-reverse;gap:12px;align-items:center}.testimonials__column-item-title{font-size:12px;font-family:DM Mono;color:var(--color-light-48);font-weight:500;width:100%}.testimonials__column-item-images{display:flex;flex-direction:row}.testimonials__column-item-image{width:48px;height:48px;border-radius:8px;transform:rotate(-4deg);z-index:2;background-color:var(--color-darker);transition:all .5s ease;position:relative}.testimonials__column-item-image>img{object-fit:cover;object-position:center;width:100%;height:100%;border-radius:8px}.testimonials__column-item-images>.testimonials__column-item-image:last-child{z-index:1;transform:rotate(4deg);margin-left:-24px;background-color:transparent}.testimonials__column-item-image:hover{z-index:3!important;cursor:pointer;transform:rotate(0deg) scale(1.1)!important}.testimonials__column-item-image:after{content:"";font-size:8px;width:-moz-fit-content;width:fit-content;height:-moz-fit-content;height:fit-content;font-family:DM Mono;font-weight:500;color:var(--color-light);position:absolute;text-align:center;bottom:-40px;left:50%;transform:translateX(-50%);opacity:0;transition:all .5s ease;display:flex;height:48px;width:48px;justify-content:flex-start}.testimonials__column-item-image:hover:after{opacity:1;bottom:-52px}.no-link:hover{cursor:default}.cusu:after{content:"Your Students' Union"}.william:after{content:"William Garnett"}.arden:after{content:"Arden Students’ Association"}.lewis:after{content:"Lewis Lay"}.page__footer{display:flex;flex-direction:column;gap:96px;padding:24px;background-color:var(--color-light);width:100%;border-radius:12px}.page__footer-content{display:flex;flex-direction:column;gap:12px}.page__footer-content>p{font-size:20px;font-weight:500;color:var(--color-darker)}.page__footer-content>p span{color:var(--color-darker-48)}.page__footer-content .page__footer-links{display:flex}.page__footer-content .page__footer-link{display:flex;justify-content:center;align-items:center;padding:8px 12px;background-color:var(--color-darker);color:var(--color-light);border-radius:8px;text-decoration:none;transition:all .3s ease;font-family:DM Mono;box-shadow:0 0 12px 0 rgba(0,0,0,0),0 2px 4px 0 rgba(0,0,0,0)}.page__footer-content .page__footer-link:hover{box-shadow:0 0 12px 0 rgba(0,0,0,.32),0 2px 4px 0 rgba(0,0,0,.16);background-color:#000}.page__footer-content .page__footer-links>.page__footer-link:last-child{background-color:var(--color-darker-12);color:var(--color-darker)}.page__footer-content .page__footer-links>.page__footer-link:last-child:hover{background-color:var(--color-darker-24);box-shadow:none}.page__footer-annotations{display:flex;justify-content:space-between}.page__footer-annotations>p{font-size:14px;font-family:DM Mono;color:var(--color-darker-48)}.page__footer-annotations .page__footer-socials{display:flex;gap:12px;list-style:none}.page__footer-annotations .page__footer-link{font-size:14px;font-family:DM Mono;text-decoration:none;color:var(--color-darker);position:relative}.page__footer-annotations .page__footer-socials>.page__footer-item:first-child .page__footer-link:before{position:absolute;content:"📄";font-size:24px;left:50%;top:-24px;transition:all .5s ease;opacity:0;transform:translate(-50%)}.page__footer-annotations .page__footer-socials>.page__footer-item:first-child .page__footer-link:hover:before{opacity:1;top:-32px;transform:rotate(-2deg) translate(-50%)}.page__footer-annotations .page__footer-socials>.page__footer-item:nth-child(2) .page__footer-link:before{position:absolute;content:"🤳🏻";font-size:24px;left:50%;top:-24px;transition:all .5s ease;opacity:0;transform:translate(-50%)}.page__footer-annotations .page__footer-socials>.page__footer-item:nth-child(2) .page__footer-link:hover:before{opacity:1;top:-32px;transform:rotate(2deg) translate(-50%)}.page__footer-annotations .page__footer-socials>.page__footer-item:nth-child(3) .page__footer-link:before{position:absolute;content:"👨🏻‍💻";font-size:24px;left:50%;top:-24px;transition:all .5s ease;opacity:0;transform:translate(-50%)}.page__footer-socials>.page__footer-item:nth-child(3) .page__footer-link:hover:before{opacity:1;top:-32px;transform:translate(-50%)}@media (min-width:1920px){.sidebar{width:25%!important}.page{width:75%!important}.portfolio__item-counter,.portfolio__item-link{font-size:16px}.process__item-logo-images{display:flex;flex-direction:row;justify-content:center;align-items:center;position:absolute;left:0;top:0;bottom:0;right:0;overflow:hidden}.process__item-logo-images>.process__item-logo-image{width:96px;height:96px;transform:rotate(-4deg);z-index:2;box-shadow:0 0 12px 0 rgba(0,0,0,.32);border-radius:8px}.process__item-logo-images:after,.process__item-logo-images:before{font-size:48px;line-height:48px}.process__item-websites-image{width:256px;height:166px}.process__list>.process__item:nth-child(3):hover .process__item-websites-image:nth-child(2){height:249px;width:384px}}@media (max-width:1200px){.homepage>*{width:50%!important}.process__list{gap:48px;flex-direction:column}.process__item-visuals-arrow{display:none}.testimonials__content{flex-direction:column}}@media (max-width:992px){.homepage{flex-direction:column}.homepage>*{width:100%!important}.sidebar{padding-top:97px;gap:48px;position:relative}.page{padding-top:12px}.page__nav{position:absolute;left:12px;top:12px;right:12px}.page__nav-description,.portfolio__item-counter,.portfolio__item-link{font-size:10px}.process__list{gap:48px;flex-direction:column}.process__item-visuals-arrow{display:none}.testimonials__content{flex-direction:column}}@media (min-width:769px) and (max-width:992px){.page__nav-description,.portfolio__item-counter,.portfolio__item-link{font-size:12px}}