@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&display=swap";:root{--blue: #1E3FA9;--dark: #161718;--cream: #FFFEF2;--accent: #161718}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Space Grotesk,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--cream);color:var(--dark);overflow-x:hidden;line-height:1.2}.ultra-black{font-weight:900;letter-spacing:-.04em;line-height:.9}.grid-overlay{position:absolute;inset:0;background-image:linear-gradient(var(--blue) 1px,transparent 1px),linear-gradient(90deg,var(--blue) 1px,transparent 1px);background-size:20px 20px;opacity:0;transition:opacity .4s ease;pointer-events:none;z-index:10}.scroll-container{scroll-snap-type:y mandatory;overflow-y:scroll;height:100vh}section{scroll-snap-align:start;min-height:100vh}::selection{background:var(--blue);color:var(--cream)}@keyframes slideIn{0%{transform:translate(-100px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes fadeInUp{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}.header{position:fixed;top:0;left:0;right:0;z-index:1000;background:var(--cream);border-bottom:4px solid var(--dark)}.header-content{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 3rem;max-width:100%}.logo{font-size:1.5rem;color:var(--dark);cursor:pointer;transition:color .3s ease}.logo:hover{color:var(--blue)}.nav{display:flex;gap:3rem}.nav-link{font-size:1rem;font-weight:700;color:var(--dark);text-decoration:none;position:relative;padding:.5rem 0;transition:color .3s ease}.nav-link:after{content:"";position:absolute;bottom:0;left:0;width:0;height:3px;background:var(--blue);transition:width .3s ease}.nav-link:hover{color:var(--blue)}.nav-link:hover:after{width:100%}.header-line{height:2px;background:var(--dark);width:100%}.hamburger{display:none;flex-direction:column;justify-content:space-between;width:30px;height:24px;background:transparent;border:none;cursor:pointer;padding:0;z-index:1001}.hamburger span{display:block;width:100%;height:3px;background:var(--dark);transition:all .3s ease}.hamburger.active span:nth-child(1){transform:translateY(10.5px) rotate(45deg)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:translateY(-10.5px) rotate(-45deg)}.mobile-nav{position:fixed;top:0;right:-100%;width:70%;max-width:300px;height:100vh;background:var(--cream);display:flex;flex-direction:column;padding:6rem 2rem 2rem;gap:2rem;transition:right .3s ease;z-index:1000;border-left:4px solid var(--dark);box-shadow:-5px 0 15px #0000001a}.mobile-nav.active{right:0}.mobile-nav-link{font-size:1.5rem;font-weight:900;color:var(--dark);text-decoration:none;padding:1rem 0;border-bottom:3px solid var(--dark);transition:all .3s ease;text-align:left;display:block;width:100%}.mobile-nav-link:hover{color:var(--blue);border-bottom-color:var(--blue);padding-left:1rem;padding-right:0}.menu-overlay{position:fixed;top:0;left:0;width:100%;height:100vh;background:#00000080;z-index:999;animation:fadeIn .3s ease}@media (max-width: 768px){.header-content{padding:1rem 1.5rem}.desktop-nav{display:none}.hamburger{display:flex}}@media (min-width: 769px){.mobile-nav{display:none}}.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:var(--cream);padding:8rem 3rem 4rem}.hero-container{width:100%;max-width:1800px;position:relative;z-index:2}.hero-text{margin-bottom:3rem;will-change:transform}.hero-title{font-size:clamp(4rem,15vw,16rem);line-height:.85;margin:0;color:var(--dark);text-transform:uppercase;font-weight:900;letter-spacing:-.05em;position:relative}.hero-title-offset{color:var(--blue);padding-left:8rem;animation:slideIn 1s ease-out .2s both}.hero-title:first-child{animation:slideIn 1s ease-out both}.hero-title:last-child{animation:slideIn 1s ease-out .4s both}.hero-subtitle{display:flex;justify-content:space-between;align-items:flex-end;margin-top:4rem;animation:fadeInUp 1s ease-out .6s both}.hero-description{font-size:clamp(1rem,2vw,1.5rem);font-weight:700;max-width:500px;letter-spacing:.05em;line-height:1.4}.hero-cta{display:flex;flex-direction:column;align-items:flex-end;gap:1rem}.hero-btn{background:var(--dark);color:var(--cream);padding:1.5rem 3rem;text-decoration:none;font-weight:700;font-size:1.2rem;border:4px solid var(--dark);letter-spacing:.1em;position:relative;overflow:hidden;transition:all .4s ease}.hero-btn-text{display:inline-block;position:relative}.hero-btn:hover .hero-btn-text{animation:textRotate .4s ease-in-out}@keyframes textRotate{0%{transform:translateY(0);opacity:1}50%{transform:translateY(100%);opacity:0}51%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.hero-btn:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:var(--blue);transition:left .4s ease;z-index:-1}.hero-btn:hover:after{left:0}.hero-btn:hover{border-color:var(--blue);color:var(--cream);transform:translate(4px,-4px);box-shadow:-4px 4px 0 var(--dark)}.hero-scroll{font-size:.9rem;font-weight:600;letter-spacing:.1em;animation:bounce 2s infinite}.hero-background-text{position:absolute;font-size:clamp(8rem,20vw,20rem);font-weight:900;color:transparent;-webkit-text-stroke:2px rgba(22,23,24,.1);top:50%;left:50%;transform:translate(-50%,-50%);z-index:1;pointer-events:none;white-space:nowrap}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@media (max-width: 1024px){.hero{padding:6rem 2rem 4rem}.hero-title-offset{padding-left:4rem}.hero-subtitle{flex-direction:column;align-items:flex-start;gap:2rem}.hero-cta{align-items:flex-start}}@media (max-width: 768px){.hero{padding:5rem 1.5rem 3rem}.hero-title-offset{padding-left:2rem}.hero-btn{padding:1.2rem 2.5rem;font-size:1rem}}.work-section{min-height:100vh;padding:8rem 3rem;background:var(--cream)}.work-header{margin-bottom:5rem}.work-title{font-size:clamp(3rem,8vw,8rem);color:var(--dark);margin-bottom:1rem;line-height:.9}.work-subtitle{font-size:clamp(1rem,2vw,1.5rem);font-weight:700;letter-spacing:.1em;color:var(--blue)}.work-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:4rem}.work-item{position:relative;cursor:pointer}.work-image-container{position:relative;aspect-ratio:4/3;overflow:hidden;border:4px solid var(--dark);background:var(--dark)}.work-image{width:100%;height:100%;object-fit:cover;transition:transform .6s ease,filter .4s ease}.work-item:hover .work-image{transform:scale(1.05);filter:grayscale(50%)}.grid-overlay{position:absolute;inset:0;background-image:repeating-linear-gradient(0deg,var(--blue) 0px,var(--blue) 2px,transparent 2px,transparent 20px),repeating-linear-gradient(90deg,var(--blue) 0px,var(--blue) 2px,transparent 2px,transparent 20px);opacity:0;transition:opacity .4s ease;pointer-events:none;z-index:2;mix-blend-mode:overlay}.grid-overlay.active{opacity:.9}.work-overlay{position:absolute;inset:0;background:#1e3fa9b3;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .4s ease;z-index:3}.work-overlay:before{content:"";position:absolute;inset:30px;border:3px solid var(--cream);z-index:5;pointer-events:none}.work-overlay:after{content:"";position:absolute;inset:15px;z-index:5;pointer-events:none;background:linear-gradient(90deg,var(--cream) 25px,transparent 25px) 0 0 / 100% 3px no-repeat,linear-gradient(0deg,var(--cream) 25px,transparent 25px) 0 0 / 3px 100% no-repeat,linear-gradient(90deg,transparent calc(100% - 25px),var(--cream) calc(100% - 25px)) 0 0 / 100% 3px no-repeat,linear-gradient(0deg,var(--cream) 25px,transparent 25px) 100% 0 / 3px 100% no-repeat,linear-gradient(90deg,var(--cream) 25px,transparent 25px) 0 100% / 100% 3px no-repeat,linear-gradient(0deg,transparent calc(100% - 25px),var(--cream) calc(100% - 25px)) 0 0 / 3px 100% no-repeat,linear-gradient(90deg,transparent calc(100% - 25px),var(--cream) calc(100% - 25px)) 0 100% / 100% 3px no-repeat,linear-gradient(0deg,transparent calc(100% - 25px),var(--cream) calc(100% - 25px)) 100% 0 / 3px 100% no-repeat}.work-item:hover .work-overlay{opacity:1}.work-view{color:var(--cream);font-size:1.5rem;font-weight:700;letter-spacing:.1em;transform:translateY(20px);transition:transform .4s ease}.work-item:hover .work-view{transform:translateY(0)}.work-info{display:flex;justify-content:space-between;align-items:flex-end;margin-top:1.5rem;padding:1rem 0;border-bottom:3px solid var(--dark)}.work-details{flex:1}.work-project-title{font-size:clamp(1.5rem,3vw,2.5rem);font-weight:900;margin-bottom:.5rem;color:var(--dark);letter-spacing:-.02em}.work-category{font-size:1rem;font-weight:600;color:var(--blue);letter-spacing:.05em}.work-year{font-size:2rem;font-weight:900;color:var(--dark)}@media (max-width: 968px){.work-grid{grid-template-columns:1fr;gap:3rem}}@media (max-width: 768px){.work-section{padding:6rem 1.5rem}.work-header{margin-bottom:3rem}.work-info{flex-direction:column;align-items:flex-start;gap:1rem}}.project-page-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000f2;z-index:9999;display:flex;justify-content:center;align-items:flex-start;overflow-y:auto;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.project-page-container{position:relative;width:100%;max-width:1400px;background:var(--dark);margin:2rem auto;padding:0;min-height:calc(100vh - 4rem)}.project-close{position:fixed;top:2rem;right:2rem;width:60px;height:60px;background:var(--blue);border:none;color:var(--cream);font-size:2rem;font-weight:900;cursor:pointer;z-index:10000;transition:all .3s ease;box-shadow:5px 5px #0000004d}.project-close:hover{background:var(--cream);color:var(--dark);transform:translate(-2px,-2px);box-shadow:7px 7px #0000004d}.project-page-content{padding:4rem 3rem}.project-header{margin-bottom:4rem;padding-bottom:2rem;border-bottom:5px solid var(--blue)}.project-page-title{font-size:clamp(3rem,8vw,6rem);color:var(--cream);line-height:.9;margin-bottom:1.5rem;letter-spacing:-.02em}.project-meta{display:flex;align-items:center;gap:1rem;font-size:1.2rem;font-weight:700;color:var(--cream);letter-spacing:.05em;margin-bottom:2rem}.project-description-header{font-size:1.3rem;line-height:1.8;color:var(--cream);font-weight:500;margin-top:1rem;text-transform:none}.project-footer{text-align:center;padding:4rem 0;margin-top:4rem;border-top:5px solid var(--blue)}.project-thankyou{font-size:clamp(3rem,8vw,6rem);color:var(--blue);line-height:1;letter-spacing:.05em}.project-images{display:flex;flex-direction:column;gap:0;margin-bottom:4rem}.project-images.with-spacing{gap:20px}.project-image-wrapper{width:100%;position:relative;overflow:hidden;background:var(--dark)}.project-full-image{width:100%;height:auto;display:block;object-fit:cover}.project-description{max-width:900px;margin:0 auto 4rem;padding:3rem;border:5px solid var(--blue);background:#0000004d;box-shadow:10px 10px #0088a933}.project-text{font-size:1.2rem;line-height:1.8;color:var(--cream);font-weight:500}.project-video-wrapper{width:100%;position:relative;padding-bottom:56.25%;height:0;overflow:hidden;background:var(--dark);border:5px solid var(--blue);margin:2rem 0}.project-video{position:absolute;top:0;left:0;width:100%;height:100%}video.project-video{object-fit:contain}@media (max-width: 968px){.project-page-content{padding:3rem 1.5rem}.project-close{width:50px;height:50px;top:1rem;right:1rem;font-size:1.5rem}.project-description{padding:2rem}}@media (max-width: 768px){.project-header{margin-bottom:2rem}.project-meta{flex-direction:column;align-items:flex-start;gap:.5rem}.project-meta-divider{display:none}}.about-section{min-height:100vh;padding:8rem 3rem;background:var(--dark);color:var(--cream);display:flex;align-items:center}.about-container{display:grid;grid-template-columns:1fr 1fr;gap:6rem;width:100%;max-width:1800px;margin:0 auto}.about-left{display:flex;flex-direction:column;gap:3rem;justify-content:center}.about-image{width:100%;max-width:350px;aspect-ratio:1;overflow:hidden;border:5px solid var(--blue);box-shadow:15px 15px 0 var(--blue)}.about-image img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(100%) contrast(1.1);transition:filter .3s ease}.about-image img:hover{filter:grayscale(0%) contrast(1)}.about-title{font-size:clamp(3rem,8vw,8rem);line-height:.9;color:var(--cream)}.about-title-accent{color:var(--blue);display:block}.about-right{display:flex;flex-direction:column;gap:2rem;justify-content:center}.about-text{font-size:clamp(1rem,1.5vw,1.3rem);line-height:1.6;font-weight:600;letter-spacing:.02em}.about-skills{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;margin-top:2rem;padding-top:2rem;border-top:3px solid var(--blue)}.skill-item{display:flex;flex-direction:column;gap:.5rem}.skill-number{font-size:2rem;font-weight:900;color:var(--blue);line-height:1}.skill-name{font-size:1.2rem;font-weight:700;letter-spacing:.05em}@media (max-width: 968px){.about-container{grid-template-columns:1fr;gap:4rem}.about-left{text-align:left}}@media (max-width: 768px){.about-section{padding:6rem 1.5rem}.about-skills{grid-template-columns:1fr;gap:1.5rem}}.stats-section{min-height:auto;padding:4rem 3rem;background:var(--cream);border-top:4px solid var(--dark);border-bottom:4px solid var(--dark)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4rem;max-width:1800px;margin:0 auto}.stat-item{text-align:center;padding:3rem 2rem;border:4px solid var(--dark);background:var(--cream);position:relative;transition:all .3s ease}.stat-item:before{content:"";position:absolute;inset:-4px;border:4px solid var(--blue);opacity:0;transition:opacity .3s ease}.stat-item:hover:before{opacity:1}.stat-item:hover{transform:translate(-8px,-8px);box-shadow:8px 8px 0 var(--dark)}.stat-number{font-size:clamp(3rem,6vw,6rem);color:var(--blue);margin-bottom:1rem;line-height:1}.stat-label{font-size:1rem;font-weight:700;letter-spacing:.1em;color:var(--dark);line-height:1.4}@media (max-width: 1200px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:3rem}}@media (max-width: 768px){.stats-section{padding:6rem 1.5rem}.stats-grid{grid-template-columns:1fr;gap:2rem}.stat-item{padding:2rem 1.5rem}}.services-section{min-height:100vh;background:var(--blue);color:var(--cream);padding:8rem 0;overflow:hidden}.services-header{padding:0 3rem;margin-bottom:4rem}.services-title{font-size:clamp(3rem,8vw,8rem);color:var(--cream);line-height:.9;margin-bottom:1rem}.services-subtitle{font-size:1.2rem;font-weight:700;letter-spacing:.1em;color:var(--dark)}.services-scroll{overflow-x:auto;overflow-y:hidden;cursor:grab;padding:2rem 0}.services-scroll:active{cursor:grabbing}.services-scroll::-webkit-scrollbar{height:8px}.services-scroll::-webkit-scrollbar-track{background:#1617184d}.services-scroll::-webkit-scrollbar-thumb{background:var(--dark);border-radius:4px}.services-container{display:flex;gap:3rem;padding:0 3rem;width:max-content}.service-card{width:500px;min-height:400px;background:var(--cream);color:var(--dark);padding:3rem;border:4px solid var(--dark);display:flex;flex-direction:column;justify-content:space-between;transition:all .3s ease;position:relative}.service-card:hover{transform:translateY(-12px);box-shadow:0 12px 0 var(--dark)}.service-number{font-size:6rem;color:var(--blue);line-height:1;opacity:.3;position:absolute;top:2rem;right:2rem}.service-title{font-size:2.5rem;font-weight:900;margin-bottom:1.5rem;letter-spacing:-.02em;line-height:1;position:relative;z-index:1}.service-description{font-size:1.1rem;line-height:1.6;font-weight:600;letter-spacing:.02em;margin-bottom:2rem}.service-arrow{font-size:3rem;font-weight:900;color:var(--blue);align-self:flex-end}@media (max-width: 768px){.services-section{padding:6rem 0}.services-header{padding:0 1.5rem;margin-bottom:3rem}.services-container{padding:0 1.5rem}.service-card{width:350px;min-height:350px;padding:2rem}.service-number{font-size:4rem}.service-title{font-size:2rem}}.contact-section{min-height:100vh;padding:8rem 3rem;background:var(--dark);color:var(--cream);display:flex;align-items:center}.contact-container{display:grid;grid-template-columns:1.5fr 1fr;gap:6rem;width:100%;max-width:1800px;margin:0 auto}.contact-content{display:flex;flex-direction:column;gap:2rem}.contact-title{font-size:clamp(3rem,8vw,8rem);line-height:.9;color:var(--cream);margin-bottom:1rem}.contact-accent{color:var(--blue);display:block}.contact-text{font-size:clamp(1rem,1.5vw,1.3rem);line-height:1.6;font-weight:600;letter-spacing:.02em;max-width:600px}.contact-btn{background:var(--blue);color:var(--cream);padding:2rem 4rem;text-decoration:none;font-weight:900;font-size:1.5rem;border:4px solid var(--blue);transition:all .3s ease;letter-spacing:.1em;width:fit-content;margin-top:2rem}.contact-btn:hover{background:transparent;color:var(--blue);transform:translate(-8px,-8px);box-shadow:8px 8px 0 var(--blue)}.contact-info{display:flex;flex-direction:column;gap:3rem;justify-content:center}.contact-detail{border-left:4px solid var(--blue);padding-left:2rem}.contact-label{font-size:.9rem;font-weight:700;letter-spacing:.1em;color:var(--blue);margin-bottom:1rem}.contact-link{font-size:1.5rem;font-weight:700;color:var(--cream);text-decoration:none;transition:color .3s ease;display:block}.contact-link:hover{color:var(--blue)}@media (max-width: 968px){.contact-container{grid-template-columns:1fr;gap:4rem}}@media (max-width: 768px){.contact-section{padding:6rem 1.5rem}.contact-btn{padding:1.5rem 3rem;font-size:1.2rem}.contact-detail{padding-left:1.5rem}.contact-link{font-size:1.2rem}}.footer{background:var(--dark);color:var(--cream);padding:4rem 0 2rem;border-top:4px solid var(--blue)}.footer-line{height:3px;background:var(--blue);width:100%;margin-bottom:3rem}.footer-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;padding:0 3rem;margin-bottom:4rem}.footer-left{display:flex;flex-direction:column;gap:.5rem}.footer-title{font-size:clamp(2rem,5vw,4rem);color:var(--cream);margin:0}.footer-right{display:flex;justify-content:flex-end}.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem}.footer-column{display:flex;flex-direction:column;gap:1rem}.footer-heading{font-size:.9rem;font-weight:700;color:var(--blue);margin-bottom:.5rem;letter-spacing:.1em}.footer-link{color:var(--cream);text-decoration:none;font-size:1rem;font-weight:500;transition:color .3s ease;width:fit-content}.footer-link:hover{color:var(--blue)}.footer-text{color:var(--cream);font-size:1rem;font-weight:500;line-height:1.6}.footer-bottom{display:flex;justify-content:space-between;padding:2rem 3rem 1rem;border-top:2px solid rgba(255,254,242,.2);font-size:.85rem;font-weight:600;letter-spacing:.05em}@media (max-width: 968px){.footer-content{grid-template-columns:1fr;gap:3rem}.footer-links{grid-template-columns:repeat(2,1fr)}.footer-right{justify-content:flex-start}}@media (max-width: 768px){.footer-content{padding:0 1.5rem}.footer-links{grid-template-columns:1fr;gap:2rem}.footer-bottom{flex-direction:column;gap:.5rem;padding:2rem 1.5rem 1rem}}.app{width:100%;min-height:100vh}#root{max-width:100%;margin:0;padding:0}main{width:100%}
