:root{font-family:var(--body-font),system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:var(--primary-text-colour);background-color:var(--background-colour);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{background-color:var(--manhattan-red);color:var(--primary-text-colour)}body{color:var(--primary-text-colour);margin:0;display:flex;place-items:center;min-width:320px;min-height:100svh;overflow-x:hidden}body:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;min-height:100vh;pointer-events:none;z-index:99999;opacity:.15;mix-blend-mode:multiply}h1{font-family:P22 Morris Troy,sans-serif;font-size:3.2em;line-height:1.1}.title-font{font-family:var(--title-font);color:var(--manhattan-red)}.body-font{font-family:var(--body-font)}.other-font{font-family:var(--heading-font)}.main-container{display:flex;width:100vw;height:100vh;height:100svh;overflow:hidden;position:relative}.content-container{flex:1;height:100vh;height:100svh;overflow-y:auto;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;display:flex;flex-direction:column;align-items:center;overflow-x:hidden;scroll-snap-type:y mandatory}.content-container::-webkit-scrollbar{display:none}.section{height:100vh;height:100svh;min-height:100svh;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;scroll-snap-align:start;scroll-snap-stop:always;position:relative}.title-wrapper{-webkit-user-select:none;user-select:none;position:relative;display:flex;flex-direction:column;align-items:center}.home-logo{width:26vw;height:18vw;position:absolute;top:-6vw;left:62%;scale:1.7;transform:translate(-50%);z-index:1;opacity:0;animation:fade-in-logo 1s cubic-bezier(.25,1,.5,1) forwards;animation-delay:.1s}.animated-title{display:inline-block;color:var(--title-colour);font-size:20vw;white-space:nowrap;margin:0;position:relative;z-index:2;transition:opacity .3s ease}.animated-title.dimmed{opacity:.3}.title-letter{display:inline-block;opacity:0;margin-left:-1vw;transform:translateY(20px);animation:fade-in-letter .8s cubic-bezier(.25,1,.5,1) forwards;animation-delay:calc(var(--letter-index) * 25ms)}.title-letter.a,.title-letter.W{margin-left:-3px}.title-letter.O{margin-left:0}.title-letter.X{margin-left:-5px}.home-tagline{font-size:2vw;margin-top:-2vw;font-family:var(--heading-font);color:var(--manhattan-red);opacity:0;filter:blur(10px);animation:fade-blur-in 1s cubic-bezier(.25,1,.5,1) forwards;animation-delay:.2s}.floating-contact-wrapper{position:fixed;bottom:30px;left:50%;transform:translate(-50%);z-index:9999;transition:all .5s cubic-bezier(.25,1,.5,1);pointer-events:auto;display:flex;align-items:center;justify-content:center;opacity:1}.floating-contact-wrapper.minimized{left:auto;right:30px;bottom:30px;transform:translate(0)}.floating-contact-wrapper.hidden{opacity:0;pointer-events:none;transform:translate(-50%) translateY(20px)}.floating-contact-wrapper.minimized.hidden{transform:translate(0) translateY(20px)}.contact-button{background-color:transparent;color:var(--title-colour);border:2px solid var(--title-colour);border-radius:50px;padding:12px 30px;font-family:var(--heading-font);font-size:1rem;cursor:pointer;text-transform:uppercase;letter-spacing:.05em;transition:all .3s ease;display:flex;align-items:center;justify-content:center;overflow:hidden;white-space:nowrap;height:50px;min-width:150px;position:relative;z-index:10000;opacity:1}.contact-button:hover{background-color:var(--perfect-pour);color:var(--secondary-title-colour)}.contact-button.icon-only{min-width:50px;width:50px;padding:0;border-radius:50%;background-color:none;color:var(--title-colour);border-color:var(--title-colour)}.contact-button.icon-only:hover{transform:scale(1.1);background-color:var(--perfect-pour);color:var(--primary-text-colour)}.button-text{opacity:1;transition:opacity .2s ease,width .2s ease;display:inline-block;width:auto}.button-icon{opacity:0;width:0;transition:opacity .2s ease,width .2s ease;display:flex;align-items:center;justify-content:center;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.contact-button.icon-only .button-text{opacity:0;width:0;pointer-events:none}.contact-button.icon-only .button-icon{opacity:1;width:auto}@keyframes fade-in-letter{to{opacity:1;transform:translateY(0)}}@keyframes fade-blur-in{to{opacity:1;filter:blur(0)}}@keyframes fade-in-logo{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media(max-width:1024px)and (min-width:768px){.home-tagline{font-size:3vw;margin-right:28px}}@media(max-width:768px){.section{justify-content:center;scroll-snap-stop:always}.home-tagline{font-size:3.5vw;margin-right:28px}.floating-contact-wrapper.minimized{right:20px;bottom:20px}.content-container{height:100vh;height:100dvh;min-height:100dvh;overflow-y:scroll;-webkit-overflow-scrolling:touch}.section{height:100vh;height:100dvh;min-height:100dvh}html,body{height:100%;overflow:hidden}.main-container{height:100dvh}}.nav-dimmer{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#000000b3;opacity:0;pointer-events:none;z-index:99;transition:opacity .3s ease}.nav-dimmer.active{opacity:1}.side-nav{position:fixed;right:0;top:50%;font-family:var(--heading-font);transform:translateY(-50%) translate(100px);z-index:100;transition:transform .8s cubic-bezier(.25,1,.5,1),opacity .8s ease-out;-webkit-tap-highlight-color:transparent;opacity:0;padding:60px 20px 60px 80px;pointer-events:none}.side-nav.visible{transform:translateY(-50%) translate(0);opacity:1;pointer-events:auto}.side-nav ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;align-items:flex-end;transition:gap .3s ease}.side-nav.expanded ul{gap:40px}.side-nav li{cursor:pointer;display:flex;align-items:center;justify-content:flex-end;gap:10px;transition:all .3s ease;position:relative;-webkit-tap-highlight-color:transparent}.nav-text{color:var(--tertiary-text-colour);font-weight:500;opacity:0;transform:translate(20px) scale(.8);transition:opacity .3s ease,transform .3s ease;pointer-events:none;position:absolute;right:30px;white-space:nowrap;-webkit-user-select:none;user-select:none}.nav-line{width:20px;height:3px;background-color:var(--tertiary-text-colour);transition:all .3s ease;border-radius:2px}.side-nav.expanded .nav-text{opacity:1;transform:translate(0) scale(1);pointer-events:auto}.side-nav.expanded .nav-line{width:0;opacity:0}.side-nav li.active .nav-line{background-color:var(--primary-text-colour);width:30px}.side-nav.expanded li.active .nav-text{font-weight:700;text-decoration:none;color:var(--primary-text-colour);transform:translate(0) scale(1.1)}.side-nav.expanded li:not(.active):hover .nav-text{color:var(--secondary-text-colour);transform:translate(0) scale(1.05)}@media(max-width:1024px){.side-nav{right:0;padding:20px}.side-nav ul{gap:6px}.side-nav.expanded ul{gap:20px}.side-nav li{padding:2px}.nav-line{width:15px;height:2px}.side-nav li.active .nav-line{width:20px}.side-nav.expanded li{pointer-events:auto;padding:10px}.side-nav.expanded .nav-text{right:10px}}.animated-logo-container{width:100%;height:100%;position:relative;overflow:hidden;cursor:grab;display:block}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;height:100svh;background-color:#000c;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);opacity:0;animation:fade-in-overlay .3s ease-out forwards}.modal-overlay.closing{animation:fade-out-overlay .3s ease-out forwards}.modal-content{background-color:var(--secondary-background-colour);border:2px solid var(--tertiary-background-colour);border-radius:20px;padding:40px;max-width:500px;width:90%;text-align:center;box-sizing:border-box;position:relative;margin:auto;opacity:0;transform:translateY(100vh) rotate(-10deg);animation:slide-up-contact-card .5s cubic-bezier(.22,1,.36,1) forwards;max-height:90vh;overflow-y:auto}.modal-content.closing{animation:slide-down-contact-card .5s cubic-bezier(.22,1,.36,1) forwards}@keyframes slide-up-contact-card{to{opacity:1;transform:translateY(0) rotate(-2deg)}}@keyframes slide-down-contact-card{0%{opacity:1;transform:translateY(0) rotate(-2deg)}to{opacity:0;transform:translateY(100vh) rotate(10deg)}}.modal-title{font-family:var(--title-font);font-size:2.5rem;color:var(--primary-text-colour);margin-top:0;margin-bottom:20px;line-height:1.1}.modal-content p{font-size:1.2rem;margin-bottom:30px;line-height:1.5;color:var(--primary-text-colour)}.modal-buttons{font-family:var(--heading-font);display:flex;flex-direction:row;gap:20px;justify-content:center;align-items:center}.modal-button{padding:12px 30px;border-radius:50px;font-size:1rem;cursor:pointer;transition:all .3s ease;flex:1;text-transform:uppercase;letter-spacing:.05em;font-family:var(--heading-font);white-space:nowrap;border:2px solid transparent}.modal-button.primary{background-color:var(--primary-text-colour);color:var(--manhattan-red);border-color:var(--primary-text-colour);font-weight:700}.modal-button.primary:hover{background-color:var(--secondary-text-colour);border-color:var(--secondary-text-colour)}.modal-button.secondary{background-color:transparent;color:var(--primary-text-colour);border-color:#ffffff80}.modal-button.secondary:hover{border-color:var(--primary-text-colour);background-color:#ffffff1a}.contact-form{display:flex;flex-direction:column;gap:15px;text-align:left;width:100%;margin-top:10px}.contact-form input,.contact-form textarea{width:100%;padding:12px 15px;border-radius:10px;border:2px solid var(--quaternary-text-colour);background-color:#0003;color:var(--primary-text-colour);font-family:var(--body-font);font-size:1rem;box-sizing:border-box;transition:border-color .3s ease}.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--primary-text-colour)}.contact-form textarea{min-height:100px;resize:vertical}.contact-form ::placeholder{color:var(--tertiary-text-colour)}.success-message{color:var(--primary-text-colour);font-family:var(--heading-font);font-size:1.2rem;margin-top:20px;padding:20px;background-color:#ffffff1a;border-radius:10px}.error-message{color:var(--primary-text-colour);background-color:#f003;padding:10px;border-radius:10px;margin-bottom:15px;font-size:.9rem}@media(max-width:768px){.modal-content{padding:30px 20px;width:85%;top:auto;left:auto}.modal-title{font-size:2rem}.modal-content p{font-size:1rem;margin-bottom:25px}.modal-buttons{flex-direction:column;width:100%}.modal-button{width:100%;max-width:none}@keyframes slide-up-contact-card{to{opacity:1;transform:translateY(0) rotate(0)}}@keyframes slide-down-contact-card{0%{opacity:1;transform:translateY(0) rotate(0)}to{opacity:0;transform:translateY(100vh) rotate(10deg)}}}.brand-content-wrapper{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;height:100%;width:100%;padding-top:0;padding-left:40px;box-sizing:border-box;position:relative}.brand-package-container{display:flex;flex-direction:column;align-items:center;width:100%;gap:60px;padding-top:20px;padding-bottom:60px;position:relative}.footer{width:100%;text-align:center;color:var(--tertiary-text-colour);font-size:.9rem;align-self:center;padding:20px;z-index:10;position:relative}@media(max-width:768px){.brand-content-wrapper{padding-left:20px}.brand-package-container{gap:60px}}.section-scroll-container{width:100%;height:100%;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none;display:flex;flex-direction:column}.section-scroll-container::-webkit-scrollbar{display:none}.section-content-wrapper{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;min-height:100%;width:100%;padding-left:40px;box-sizing:border-box;position:relative}.section-content{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;width:100%;padding-right:40px;box-sizing:border-box}.section-title-wrapper{margin-top:40px;color:var(--primary-text-colour);flex-shrink:0}.section-title{font-family:var(--heading-font);opacity:0;transform:translateY(20px);transition:opacity .8s ease-out,transform .8s ease-out;white-space:nowrap;margin:0}.section-title-wrapper.visible .section-title{opacity:1;transform:translateY(0)}.brand-section{display:flex;flex-direction:column;align-items:center;width:100%;max-width:900px;position:relative}.brand-divider{width:100%;height:1px;background-color:var(--quaternary-text-colour);margin-top:40px;margin-bottom:10px;transform:scaleX(0);transform-origin:center;transition:transform .8s ease-out}.brand-section.visible .grow-line{transform:scaleX(1);transition-delay:.5s}.brand-label{font-family:var(--heading-font);font-size:.9rem;text-transform:uppercase;letter-spacing:.1em;color:var(--tertiary-text-colour);align-self:center;opacity:0;transform:translateY(10px);transition:opacity .5s ease-out,transform .5s ease-out}.brand-section.visible .fade-in-label{opacity:1;transform:translateY(0);transition-delay:.8s}.fade-in-up{opacity:0;transform:translateY(20px);transition:opacity .5s ease-out,transform .5s ease-out}.brand-section.visible .fade-in-up{opacity:1;transform:translateY(0)}@media(max-width:768px){.section-content-wrapper{padding-left:20px}.section-content{padding-right:20px}.section-title-wrapper{margin-top:20px}}.brand-values{list-style:none;padding:0;margin:0;display:flex;flex-direction:row;justify-content:space-between;align-items:flex-start;gap:40px;width:100%}.brand-values li{display:flex;flex-direction:column;align-items:center;text-align:center;flex:1}.brand-section.visible .fade-in-value:nth-child(1){transition-delay:.1s}.brand-section.visible .fade-in-value:nth-child(2){transition-delay:.3s}.brand-section.visible .fade-in-value:nth-child(3){transition-delay:.5s}.value-number{width:40px;height:40px;border-radius:50%;border:2px solid var(--primary-text-colour);color:var(--primary-text-colour);display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:700;margin-bottom:15px}.value-title{font-family:var(--heading-font);color:var(--primary-text-colour);font-size:1.5rem;font-weight:500;margin-bottom:5px}.value-description{color:var(--secondary-text-colour);font-size:.9rem;line-height:1.4;margin:0}@media(max-width:768px){.brand-values{flex-direction:column;gap:30px}.brand-values li{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:15px;row-gap:5px;align-items:baseline;text-align:left}.value-number{grid-row:1 / span 2;margin-bottom:0;width:30px;height:30px;font-size:1rem}.value-title{margin-bottom:0;align-self:center;font-size:1.2rem}.value-description{grid-column:2;font-size:.85rem}}.brand-dimmer{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#000000b3;opacity:0;pointer-events:none;z-index:100;transition:opacity .3s ease}.brand-dimmer.active{opacity:1}.brand-colors{display:flex;gap:60px;justify-content:center;align-items:flex-start;width:100%;padding-top:0}.color-container{display:flex;flex-direction:column;align-items:center;cursor:pointer;position:relative;z-index:2;-webkit-tap-highlight-color:transparent}.color-container.hovered,.color-container.active{z-index:101}.color-circle{width:120px;height:120px;border-radius:50%;border:3px solid white;margin-bottom:20px;transition:transform .3s ease;transform:scale(0);position:relative;z-index:102}.brand-section.visible .grow-in-color .color-circle{transform:scale(1);transition:transform .5s cubic-bezier(.34,1.56,.64,1)}.color-container:hover .color-circle{transform:scale(1.05)!important}.color-details{display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;z-index:102}.colour-name{font-family:var(--heading-font)}.brand-section.visible .color-container:nth-child(1) .fade-in-details{transition-delay:.3s}.brand-section.visible .color-container:nth-child(2) .fade-in-details{transition-delay:.5s}.brand-section.visible .color-container:nth-child(3) .fade-in-details{transition-delay:.7s}.brand-section.visible .color-container:nth-child(4) .fade-in-details{transition-delay:.7s}.color-details span:first-child{font-size:1.1rem;font-weight:500;color:var(--primary-text-colour);margin-bottom:4px}.color-details span:last-child{font-size:.8rem;font-family:monospace;color:var(--secondary-text-colour)}.perfect-pour{background-color:var(--perfect-pour)}.manhattan-red{background-color:var(--manhattan-red)}.like-clockwork{background-color:var(--like-clockwork)}.banchina-pearl{background-color:var(--banchina-pearl)}@media(max-width:768px){.brand-colors{gap:20px;flex-wrap:wrap;justify-content:center}.color-container{width:40%;display:flex;flex-direction:column;align-items:center}.color-circle{width:80px;height:80px}.color-details span:first-child{font-size:.9rem}.color-details span:last-child{font-size:.7rem}}.typography-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:60px;width:100%;justify-items:center;align-items:start}.font-showcase{color:var(--primary-text-colour);display:flex;flex-direction:column;align-items:flex-start}.font-name{color:var(--tertiary-text-colour);font-size:1rem;margin-bottom:10px;text-transform:uppercase;letter-spacing:.05em}.body-font-name{color:var(--tertiary-text-colour)}.font-sample-aa{font-family:inherit;font-size:8rem;line-height:1}.font-sample-text{font-family:inherit;font-size:3rem;line-height:1.2;margin-bottom:10px;color:var(--primary-text-colour);overflow:hidden;border-right:.15em solid var(--manhattan-red);white-space:nowrap;width:0}.brand-section.visible .typing-effect{animation:typing 1s steps(20,end) forwards,blink-caret .75s step-end 3;animation-delay:.5s}@keyframes typing{0%{width:0}to{width:100%;border-right-color:transparent}}@keyframes blink-caret{0%,to{border-color:transparent}50%{border-color:var(--manhattan-red)}}.font-sample-lorem{color:var(--secondary-text-colour);font-family:inherit;font-size:1rem;line-height:1.5;margin:0}.brand-section.visible .fade-in-type:nth-child(1){transition-delay:.1s}.brand-section.visible .fade-in-type:nth-child(2){transition-delay:.3s}@media(max-width:768px){.typography-grid{grid-template-columns:1fr;gap:40px}.font-sample-aa{font-size:6rem}.font-showcase{align-items:center}.font-sample-text{font-size:1.5rem;white-space:nowrap;width:0}.brand-section.visible .font-sample-text.typing-effect{animation:typing 1s steps(20,end) forwards,blink-caret .75s step-end 3;animation-delay:.5s;opacity:1}}.identity-row{display:flex;flex-direction:row;justify-content:space-between;width:100%;gap:40px}.identity-item{display:flex;flex-direction:column;align-items:center;flex:1}.logotype{font-family:var(--title-font);color:var(--manhattan-red);font-size:2.5vw;white-space:nowrap;width:100%;text-align:center;container-type:inline-size}.identity-title{font-family:var(--heading-font);font-size:1rem;color:var(--tertiary-text-colour);margin-bottom:15px;text-transform:uppercase;letter-spacing:.05em}.identity-box{display:flex;justify-content:center;align-items:center;width:100%;height:150px;background-color:var(--transparent-text-colour);border:1px solid var(--quinary-text-colour);border-radius:4px;transition:border-color .3s ease;overflow:hidden;padding:0 10px;box-sizing:border-box;container-type:inline-size;container-name:identity-box}.brandmark-img{height:80%;width:auto;object-fit:contain}@container identity-box (min-width: 0px){.logotype{font-size:15cqw}}.identity-box:hover{border-color:var(--quaternary-text-colour)}.brand-section.visible .identity-item:nth-child(1){transition-delay:.1s}.brand-section.visible .identity-item:nth-child(2){transition-delay:.3s}@media(max-width:768px){.identity-row{flex-direction:column;gap:30px}}.projects-content-wrapper{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;height:100%;width:100%;padding:0;box-sizing:border-box;overflow:hidden;position:relative}.projects-grid-container{width:100%;height:100%;cursor:grab;position:relative;background-color:var(--background-colour);overflow:hidden;touch-action:none;background-image:linear-gradient(rgba(255,255,255,.05) 4px,transparent 4px),linear-gradient(90deg,rgba(255,255,255,.05) 4px,transparent 4px);background-size:50px 50px}.projects-grid-container:active{cursor:grabbing}.projects-world{position:absolute;top:0;left:0;will-change:transform}.grid-tile{position:absolute}.project-icon-wrapper{position:absolute;width:100px;height:100px;display:flex;justify-content:center;align-items:center;cursor:pointer;transition:transform .3s ease;-webkit-tap-highlight-color:transparent}.project-icon-wrapper:hover{transform:scale(1.1)!important;z-index:10}.project-icon{width:100%;height:100%;object-fit:contain;pointer-events:none;border-radius:10px}.project-indicator{position:absolute;width:10px;height:10px;background-color:var(--primary-text-colour);border-radius:50%;opacity:.6;pointer-events:none;transition:opacity .3s ease;background-size:cover;background-position:center}.projects-hint{position:absolute;bottom:20px;left:50%;transform:translate(-50%);background-color:#00000080;color:#fff;padding:8px 16px;border-radius:20px;font-family:var(--heading-font);font-size:.9rem;pointer-events:none;opacity:.7}.project-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100svh;background-color:#000c;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);opacity:0;animation:fade-in-overlay .3s ease-out forwards}.project-modal-overlay.closing{animation:fade-out-overlay .3s ease-out forwards}.project-card{background-color:var(--secondary-background-colour);border:2px solid var(--tertiary-background-colour);border-radius:20px;width:90%;max-width:500px;overflow:hidden;position:relative;box-sizing:border-box;opacity:0;transform:translateY(100vh);animation:slide-up-card .5s cubic-bezier(.22,1,.36,1) forwards}.project-card:has(.project-card-image.expanded){max-width:90vw;width:auto}.project-card.closing{animation:slide-down-card .5s cubic-bezier(.22,1,.36,1) forwards}.close-card-btn{position:absolute;top:15px;right:15px;background:#00000080;color:#fff;border:none;width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:1.2rem;line-height:1;z-index:10;display:flex;align-items:center;justify-content:center}.project-card-image{width:100%;height:300px;object-fit:cover;border-bottom:2px solid var(--tertiary-background-colour);cursor:zoom-in}.project-card-image.expanded{object-fit:contain;height:auto;max-height:80vh;cursor:zoom-out}.project-card-content{padding:30px;text-align:center}.project-card-content h3{margin-top:0;font-family:var(--title-font);color:var(--primary-text-colour);font-size:2.5rem;margin-bottom:15px;line-height:1.1}.project-card-content p{font-family:var(--body-font);color:var(--primary-text-colour);font-size:1.1rem;line-height:1.5;margin-bottom:0}@keyframes fade-in-overlay{to{opacity:1}}@keyframes fade-out-overlay{0%{opacity:1}to{opacity:0}}@keyframes slide-up-card{to{opacity:1;transform:translateY(0) var(--card-rotation, rotate(0deg))}}@keyframes slide-down-card{0%{opacity:1;transform:translateY(0) var(--card-rotation, rotate(0deg))}to{opacity:0;transform:translateY(100vh) rotate(10deg)}}@media(max-width:768px){.project-icon-wrapper{width:80px;height:80px}.project-card{width:85%}.project-card:has(.project-card-image.expanded){width:95%;max-width:95vw}.project-card-content h3{font-size:2rem}.project-card-content p{font-size:1rem}}.pricing-content-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;width:100%;margin-top:-40px;box-sizing:border-box;flex:1}.packages-intro{font-family:var(--body-font);font-size:1.3rem;color:var(--secondary-text-colour);text-align:center;max-width:600px;margin-top:15px;margin-bottom:0;line-height:1.6;padding:0 20px;opacity:0;transform:translateY(20px);transition:opacity .3s ease-out,transform .3s ease-out}.packages-list{display:flex;flex-direction:column;width:100%;padding-top:0;max-width:600px;margin-top:0;margin-bottom:0;align-self:center}.package-item{font-family:var(--heading-font);font-size:2.5rem;font-weight:500;color:var(--primary-text-colour);padding:20px 0;text-align:center;opacity:0;transform:translateY(20px);transition:opacity .3s ease-out,transform .3s ease-out}.package-divider{width:100%;height:1px;background-color:var(--quaternary-text-colour);opacity:0;transform:scaleX(0);transition:opacity .3s ease-out,transform .3s ease-out}.packages-list.visible .fade-in-package{opacity:1;transform:translateY(0)}.packages-list.visible .package-divider.fade-in-package{transform:scaleX(1)}.packages-list.visible .fade-in-package:nth-child(1){transition-delay:.05s}.packages-list.visible .fade-in-package:nth-child(2){transition-delay:.1s}.packages-list.visible .fade-in-package:nth-child(3){transition-delay:.15s}.packages-list.visible .fade-in-package:nth-child(4){transition-delay:.2s}.packages-list.visible .fade-in-package:nth-child(5){transition-delay:.25s}.packages-list.visible .fade-in-package:nth-child(6){transition-delay:.3s}.packages-list.visible .fade-in-package:nth-child(7){transition-delay:.35s}.packages-list.visible .fade-in-package:nth-child(8){transition-delay:.4s}.packages-list.visible .fade-in-package:nth-child(9){transition-delay:.45s}.packages-list.visible .fade-in-package:nth-child(10){transition-delay:.5s}.packages-list.visible .fade-in-package:nth-child(11){transition-delay:.55s}.button-wrapper{width:100%;display:flex;justify-content:center;margin-top:60px;margin-bottom:40px}.button-wrapper.visible .fade-in-button{opacity:1;transform:translateY(0);transition:opacity .6s ease-out,transform .6s cubic-bezier(.22,1,.36,1)}@media(max-width:768px){.pricing-content-wrapper{padding-left:0;margin-top:-20px}.package-item{font-size:1.8rem;padding:15px 0}.contact-button{margin-top:40px;font-size:1rem;padding:12px 30px}.packages-intro{font-size:1rem}}.about-inner-content{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;padding:20px;box-sizing:border-box}.team-grid{display:flex;justify-content:center;gap:60px;margin-bottom:20px;width:100%;max-width:1000px}.team-member{display:flex;flex-direction:column;align-items:center;position:relative;cursor:pointer;-webkit-tap-highlight-color:transparent}.pop-wrapper{margin-bottom:15px;opacity:0}.image-wrapper{width:250px;height:250px;overflow:hidden;position:relative;transition:transform .5s cubic-bezier(.25,1,.5,1);border:5px solid var(--secondary-background-colour)}.image-wrapper img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.25,1,.5,1)}.team-member:hover .image-wrapper{transform:scale(1.05)}.team-member:hover .image-wrapper img{transform:scale(1.1)}.team-member.ollie .image-wrapper{border-radius:30% 70% 70% 30%/30% 30% 70% 70%;background-color:var(--manhattan-red)}.team-member.ollie .image-wrapper img{transform:translate(-3px,-25px) scale(1.5)}.team-member.bron .image-wrapper{border-radius:60% 40% 30% 70%/60% 30% 70% 40%;background-color:var(--manhattan-red)}.team-member.bron .image-wrapper img{transform:translate(-6px,-35px) scale(1.5)}.member-name{font-family:var(--title-font);font-size:2.5rem;color:var(--primary-text-colour);margin:0;line-height:1;opacity:0;transform:translateY(20px)}.member-role{font-family:var(--heading-font);font-size:1rem;color:var(--secondary-text-colour);text-transform:uppercase;letter-spacing:.1em;margin-top:5px;opacity:0;transform:translateY(20px)}.about-description{max-width:600px;text-align:center;font-family:var(--body-font);color:var(--secondary-text-colour);font-size:1.3rem;line-height:1.6;opacity:0;transform:translateY(30px)}.about-inner-content.visible .pop-in{animation:pop-in-elastic .8s cubic-bezier(.175,.885,.32,1.1) forwards}.about-inner-content.visible .fade-up{animation:fade-up .6s ease-out forwards}.about-inner-content.visible .delay-1{animation-delay:.1s}.about-inner-content.visible .delay-2{animation-delay:.3s}.about-inner-content.visible .delay-3{animation-delay:.5s}.about-inner-content.visible .delay-4{animation-delay:.7s}.about-inner-content.visible .delay-5{animation-delay:.9s}@keyframes pop-in-elastic{0%{opacity:0;transform:scale(.5)}70%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@keyframes fade-up{to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.team-grid{flex-direction:row;gap:30px;flex-wrap:wrap}.image-wrapper{width:140px;height:140px;border-width:4px}.team-member.ollie .image-wrapper img{transform:translateY(-15px) scale(1.5)}.team-member.bron .image-wrapper img{transform:translate(-8px,-15px) scale(1.7)}.bron .pop-wrapper{margin-bottom:12px}.member-name{font-size:1.8rem}.member-role{font-size:.8rem}.about-description{font-size:1rem}}.admin-login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;min-height:100svh;background-color:var(--background-colour);color:var(--primary-text-colour);padding:20px;box-sizing:border-box;overflow:hidden;width:100vw}.login-box{background-color:var(--secondary-background-colour);padding:40px;border-radius:20px;width:100%;max-width:400px;box-shadow:0 10px 30px #0003;border:1px solid var(--quaternary-text-colour);max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;box-sizing:border-box}.login-box h2{margin-top:0;text-align:center;font-family:var(--heading-font);color:var(--primary-text-colour);font-size:2rem;margin-bottom:30px}.form-group{margin-bottom:25px}.form-group label{display:block;margin-bottom:10px;font-size:1rem;font-family:var(--heading-font);color:var(--tertiary-text-colour)}.form-group input{width:100%;padding:15px;border-radius:10px;border:2px solid var(--quaternary-text-colour);background-color:#0003;color:var(--primary-text-colour);font-size:1rem;box-sizing:border-box;font-family:var(--body-font);transition:border-color .3s ease}.form-group input:focus{outline:none;border-color:var(--primary-text-colour)}.login-btn{width:100%;padding:15px;background-color:transparent;color:var(--primary-text-colour);border:2px solid var(--primary-text-colour);border-radius:50px;font-size:1.1rem;cursor:pointer;font-family:var(--heading-font);transition:all .3s ease;text-transform:uppercase;letter-spacing:.05em;margin-top:10px}.login-btn:hover{background-color:var(--primary-text-colour);color:var(--secondary-background-colour)}.error-message{background-color:#ff00001a;border:1px solid var(--manhattan-red);color:var(--primary-text-colour);padding:15px;border-radius:8px;margin-bottom:25px;font-size:.9rem;text-align:center}.admin-dashboard{min-height:100vh;background-color:var(--background-colour);color:var(--primary-text-colour);display:flex;flex-direction:column;width:100vw;overflow-x:hidden}.dashboard-header{display:flex;justify-content:space-between;align-items:center;padding:15px 5%;background-color:var(--secondary-background-colour);border-bottom:1px solid var(--quaternary-text-colour);height:60px}.dashboard-header h1{margin:0;font-size:1.5rem;font-family:var(--title-font);color:var(--primary-text-colour)}.header-actions{display:flex;align-items:center;gap:15px}.settings-btn{background:transparent;border:none;color:var(--primary-text-colour);font-size:1.5rem;cursor:pointer;padding:5px;border-radius:50%;transition:background-color .2s;display:flex;align-items:center;justify-content:center}.settings-btn:hover{background-color:#ffffff1a}.settings-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.settings-modal{background-color:var(--secondary-background-colour);padding:30px;border-radius:20px;border:1px solid var(--quaternary-text-colour);width:90%;max-width:400px;box-shadow:0 10px 30px #0000004d;display:flex;flex-direction:column;gap:20px}.settings-modal h2{margin:0;font-family:var(--heading-font);color:var(--primary-text-colour);text-align:center}.user-email-display{text-align:center;color:var(--tertiary-text-colour);font-family:var(--body-font);padding:10px;background-color:#0003;border-radius:10px}.modal-actions{display:flex;flex-direction:column;gap:10px}.logout-btn{background:transparent;border:1px solid var(--manhattan-red);color:var(--manhattan-red);padding:12px;border-radius:50px;cursor:pointer;font-family:var(--heading-font);transition:all .3s ease;width:100%;text-transform:uppercase}.logout-btn:hover{background-color:var(--manhattan-red);color:#fff}.close-modal-btn{background:transparent;border:1px solid var(--tertiary-text-colour);color:var(--tertiary-text-colour);padding:12px;border-radius:50px;cursor:pointer;font-family:var(--heading-font);transition:all .3s ease;width:100%;text-transform:uppercase}.close-modal-btn:hover{border-color:var(--primary-text-colour);color:var(--primary-text-colour)}.dashboard-content{padding:40px 5%;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:40px;max-width:1400px;margin:0 auto;width:100%;box-sizing:border-box}.dashboard-card{background-color:var(--secondary-background-colour);padding:40px;border-radius:20px;border:1px solid var(--quaternary-text-colour);display:flex;flex-direction:column;align-items:flex-start;transition:transform .3s ease,box-shadow .3s ease}.dashboard-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px #0000001a;border-color:var(--tertiary-text-colour)}.dashboard-card.disabled{opacity:.5;pointer-events:none;filter:grayscale(.5)}.dashboard-card h3{margin-top:0;font-family:var(--heading-font);color:var(--primary-text-colour);font-size:1.5rem;margin-bottom:15px}.dashboard-card p{color:var(--secondary-text-colour);flex-grow:1;line-height:1.6;margin-bottom:30px}.action-btn{padding:12px 30px;background-color:transparent;color:var(--primary-text-colour);border:2px solid var(--primary-text-colour);border-radius:50px;cursor:pointer;font-family:var(--heading-font);transition:all .3s ease;text-transform:uppercase;letter-spacing:.05em;font-size:.9rem;align-self:flex-start}.action-btn:hover{background-color:var(--primary-text-colour);color:var(--secondary-background-colour)}.action-btn.secondary{border-color:var(--tertiary-text-colour);color:var(--tertiary-text-colour)}.action-btn.secondary:hover{background-color:var(--tertiary-text-colour);color:var(--secondary-background-colour)}.invoice-form-container{background-color:var(--secondary-background-colour);padding:40px;border-radius:20px;border:1px solid var(--quaternary-text-colour);max-width:800px;margin:0 auto}.invoice-form-container h2{font-family:var(--heading-font);color:var(--primary-text-colour);margin-top:0;margin-bottom:30px;text-align:center}.invoice-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.full-width{grid-column:span 2}.invoice-items-section{margin-top:30px;border-top:1px solid var(--quaternary-text-colour);padding-top:20px}.invoice-item-row{display:grid;grid-template-columns:3fr 1fr 1fr auto;gap:10px;margin-bottom:10px;align-items:center}.invoice-item-row input{width:100%;padding:10px;border-radius:10px;border:2px solid var(--quaternary-text-colour);background-color:#0003;color:var(--primary-text-colour);font-size:.9rem;box-sizing:border-box;font-family:var(--body-font);transition:border-color .3s ease}.invoice-item-row input:focus{outline:none;border-color:var(--primary-text-colour)}.remove-item-btn{background:transparent;border:none;color:var(--manhattan-red);cursor:pointer;font-size:1.2rem}.add-item-btn{background:transparent;border:1px dashed var(--tertiary-text-colour);color:var(--tertiary-text-colour);width:100%;padding:10px;border-radius:8px;cursor:pointer;margin-top:10px;font-family:var(--heading-font)}.add-item-btn:hover{border-color:var(--primary-text-colour);color:var(--primary-text-colour)}.invoice-actions{display:flex;justify-content:flex-end;gap:20px;margin-top:40px}.cancel-btn{background:transparent;border:1px solid var(--manhattan-red);color:var(--manhattan-red);padding:12px 30px;border-radius:50px;cursor:pointer;font-family:var(--heading-font);text-transform:uppercase}.date-presets{display:flex;gap:5px;margin-top:8px;flex-wrap:wrap}.date-presets button{background:transparent;border:1px solid var(--tertiary-text-colour);color:var(--tertiary-text-colour);border-radius:20px;padding:4px 10px;font-size:.8rem;cursor:pointer;font-family:var(--heading-font);transition:all .2s ease}.date-presets button:hover{border-color:var(--primary-text-colour);color:var(--primary-text-colour);background-color:#ffffff0d}.notes-dropdown{width:100%;padding:15px;border-radius:10px;border:2px solid var(--quaternary-text-colour);background-color:#0003;color:var(--primary-text-colour);font-family:var(--body-font);font-size:1rem;margin-bottom:15px;cursor:pointer;box-sizing:border-box}.notes-dropdown:focus{outline:none;border-color:var(--primary-text-colour)}.notes-textarea{width:100%;padding:15px;border-radius:10px;border:2px solid var(--quaternary-text-colour);background-color:#0003;color:var(--primary-text-colour);font-size:1rem;box-sizing:border-box;font-family:var(--body-font);transition:border-color .3s ease;resize:vertical;min-height:100px}.notes-textarea:focus{outline:none;border-color:var(--primary-text-colour)}.invoice-list-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;max-width:1200px;margin-left:auto;margin-right:auto;width:100%}.toggle-archived label{display:flex;align-items:center;gap:10px;cursor:pointer;font-family:var(--heading-font);color:var(--tertiary-text-colour)}.invoice-list-container{max-width:1200px;margin:0 auto;width:100%}.invoice-table{background-color:var(--secondary-background-colour);border-radius:20px;border:1px solid var(--quaternary-text-colour);overflow:hidden;display:block}.invoice-header-row{display:grid;grid-template-columns:1.5fr 2fr 1.5fr 1fr 1fr 1.5fr;padding:20px;background-color:#0003;font-family:var(--heading-font);color:var(--tertiary-text-colour);font-size:.9rem;text-transform:uppercase;letter-spacing:.05em}.invoice-row{display:grid;grid-template-columns:1.5fr 2fr 1.5fr 1fr 1fr 1.5fr;padding:20px;border-bottom:1px solid var(--quaternary-text-colour);align-items:center;transition:background-color .2s}.invoice-row:last-child{border-bottom:none}.invoice-row:hover{background-color:#ffffff05}.invoice-row.archived{opacity:.6;background-color:#0000001a}.invoice-cell{font-family:var(--body-font);font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:10px}.invoice-cell.actions{display:flex;gap:10px;justify-content:flex-end;overflow:visible}.icon-btn{background:transparent;border:none;cursor:pointer;font-size:1.2rem;padding:5px;border-radius:50%;transition:background-color .2s}.icon-btn:hover{background-color:#ffffff1a}.no-invoices{text-align:center;color:var(--tertiary-text-colour);font-family:var(--heading-font);margin-top:50px}@media(min-width:768px){.user-info span{display:inline;font-family:var(--body-font);color:var(--tertiary-text-colour)}}@media(max-width:768px){.dashboard-header{flex-direction:row;justify-content:space-between;gap:0;text-align:left;padding:15px 20px}.dashboard-content{padding:30px 20px;gap:20px;grid-template-columns:1fr}.dashboard-card{padding:30px}.invoice-grid{grid-template-columns:1fr}.full-width{grid-column:span 1}.invoice-item-header{display:none!important}.invoice-item-row{grid-template-columns:1fr;gap:10px;background-color:#ffffff0d;padding:15px;border-radius:10px;position:relative;margin-bottom:15px}.remove-item-btn{position:absolute;top:5px;right:5px;color:var(--manhattan-red);background:#0003;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center}.invoice-header-row{display:none}.invoice-row{grid-template-columns:1fr;gap:10px;padding:20px;position:relative;height:auto}.invoice-cell{padding-right:0;white-space:normal;display:flex;justify-content:space-between}.invoice-cell.number:before{content:"Invoice: ";color:var(--tertiary-text-colour)}.invoice-cell.client:before{content:"Client: ";color:var(--tertiary-text-colour)}.invoice-cell.date:before{content:"Date: ";color:var(--tertiary-text-colour)}.invoice-cell.total:before{content:"Total: ";color:var(--tertiary-text-colour)}.invoice-cell.status:before{content:"Status: ";color:var(--tertiary-text-colour)}.invoice-cell.number{font-weight:700;font-size:1.1rem;color:var(--primary-text-colour)}.invoice-cell.client{color:var(--primary-text-colour);font-size:1rem}.invoice-cell.actions{justify-content:flex-start;margin-top:10px;border-top:1px solid var(--quaternary-text-colour);padding-top:10px;width:100%}}@media(max-width:480px){.admin-login-container{padding:0;align-items:flex-start;overflow:hidden}.login-box{padding:30px 20px;max-width:100vw;width:100vw;height:100vh;max-height:100vh;border-radius:0;border:none;justify-content:center;margin:0}.login-box h2{font-size:1.8rem}.invoice-form-container{padding:20px}}.toast-container{position:fixed;bottom:30px;left:50%;transform:translate(-50%);background-color:var(--secondary-background-colour);color:var(--primary-text-colour);padding:12px 30px;border-radius:50px;border:1px solid var(--quaternary-text-colour);box-shadow:0 5px 20px #0006;display:flex;align-items:center;gap:15px;z-index:10000;animation:slide-up-toast .4s cubic-bezier(.175,.885,.32,1.275) forwards;font-family:var(--heading-font);min-width:200px;justify-content:center}.toast-container.success{border-color:#4caf50}.toast-container.error{border-color:var(--manhattan-red)}.toast-content{font-size:1rem;text-align:center;white-space:nowrap}.toast-close{background:transparent;border:none;color:var(--tertiary-text-colour);cursor:pointer;font-size:1.2rem;padding:0;line-height:1;display:flex;align-items:center}.toast-close:hover{color:var(--primary-text-colour)}@keyframes slide-up-toast{0%{transform:translate(-50%,100%);opacity:0}to{transform:translate(-50%);opacity:1}}@media(max-width:480px){.toast-container{width:90%;min-width:auto;bottom:20px;white-space:normal}.toast-content{white-space:normal}}:root{--perfect-pour: #4D0F07;--perfect-pour-rgb: 77, 15, 7;--manhattan-red: #9A1B02;--manhattan-red-rgb: 154, 27, 2;--like-clockwork: #FF4400;--like-clockwork-rgb: 255, 68, 0;--banchina-pearl: #FDD9CF;--banchina-pearl-rgb: 253, 217, 207;--primary-colour: var(--banchina-pearl-rgb);--primary-text-colour: rgb(var(--primary-colour));--secondary-text-colour: rgba(var(--primary-colour), .8);--tertiary-text-colour: rgba(var(--primary-colour), .6);--quaternary-text-colour: rgba(var(--primary-colour), .3);--quinary-text-colour: rgba(var(--primary-colour), .1);--transparent-text-colour: rgba(var(--primary-colour), .05);--title-colour: var(--manhattan-red);--primary-title-colour: rgb(var(--title-colour));--secondary-title-colour: rgba(var(--title-colour), .8);--tertiary-title-colour: rgba(var(--title-colour), .6);--background-colour: var(--like-clockwork);--secondary-background-colour: var(--manhattan-red);--tertiary-background-colour: var(--perfect-pour);--title-font: "P22 Morris Troy", serif;--heading-font: "Calder Dark", sans-serif;--body-font: "Source Serif Pro", serif}root,body{font-family:var(--body-font);color:var(--primary-text-colour);background-color:var(--background-colour);height:100%;margin:0;overflow:hidden}.loading-screen{position:fixed;top:0;left:0;width:100vw;height:100vh;height:100dvh;background-color:var(--background-colour);z-index:100000;display:flex;justify-content:center;align-items:center}.loading-screen.exiting{pointer-events:none}.loading-border-svg{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.loading-rect{fill:none;stroke:var(--manhattan-red);stroke-width:8px;stroke-linecap:square;transition:stroke-dashoffset .5s linear,stroke-width .5s ease-in-out}.loading-screen.exiting .loading-rect{stroke-width:0px}.click-spark-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999;overflow:hidden}.spark-burst{position:absolute;width:0;height:0}.spark-line{position:absolute;top:0;left:0;width:20px;height:2px;background-color:var(--primary-text-colour);border-radius:2px;transform-origin:left center;animation:spark-fly .5s ease-out forwards;opacity:0}.spark-line:nth-child(1){transform:rotate(0) translate(10px)}.spark-line:nth-child(2){transform:rotate(45deg) translate(10px)}.spark-line:nth-child(3){transform:rotate(90deg) translate(10px)}.spark-line:nth-child(4){transform:rotate(135deg) translate(10px)}.spark-line:nth-child(5){transform:rotate(180deg) translate(10px)}.spark-line:nth-child(6){transform:rotate(225deg) translate(10px)}.spark-line:nth-child(7){transform:rotate(270deg) translate(10px)}.spark-line:nth-child(8){transform:rotate(315deg) translate(10px)}@keyframes spark-fly{0%{opacity:1;width:5px}to{opacity:0;width:0;transform:rotate(calc(var(--i) * 45deg)) translate(40px)}}@font-face{font-family:P22 Morris Troy;src:url(/assets/P22%20Morris%20Troy-BwUu--Ut.ttf) format("truetype")}@font-face{font-family:Calder Dark;src:url(/assets/Calder%20Dark-Czo4JWNn.ttf) format("truetype")}@font-face{font-family:"Source Serif Pro";src:url(/assets/Source%20Serif%20Pro%20Regular-BuXg40WP.ttf) format("truetype")}
