:root{--color-bg: #000000;--color-black: #000000;--color-white: #ffffff;--color-grey-light: #1a1a1a;--color-grey: #333333;--color-grey-dark: #cccccc;--color-text: #ffffff;--color-text-light: #999999;--color-accent: #0080ff;--shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.3);--shadow-md: 0 4px 8px rgba(0, 0, 0, 0.5);--shadow-lg: 0 8px 16px rgba(0, 0, 0, 0.7);--radius: 0;--transition: all 0.2s ease}@font-face{font-family:"Coolvetica";src:url("../assets/fonts/Coolvetica Rg.otf") format("opentype");font-weight:400;font-style:normal}@font-face{font-family:"Coolvetica";src:url("../assets/fonts/Coolvetica Rg It.otf") format("opentype");font-weight:400;font-style:italic}@font-face{font-family:"Coolvetica";src:url("../assets/fonts/Coolvetica Hv Comp.otf") format("opentype");font-weight:900;font-style:normal}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:"Coolvetica",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;background:var(--color-bg);color:var(--color-text);line-height:1.5;overflow-x:hidden;position:relative;font-size:16px;font-weight:400}h1,h2,h3,h4,h5,h6{font-weight:900;line-height:1.1;letter-spacing:.025em;margin:0}h1{font-size:clamp(3rem,8vw,6rem)}h2{font-size:clamp(2rem,5vw,3.5rem)}h3{font-size:clamp(1.5rem,3vw,2rem)}.fullscreen-section{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;background:var(--color-bg);transform:translateY(100px);transition:transform .8s cubic-bezier(0.4, 0, 0.2, 1)}.fullscreen-section.is-active{transform:translateY(0)}.container{max-width:1200px;width:100%;margin:0 auto;padding:0 2rem;display:flex;flex-direction:column}nav{display:flex;justify-content:space-between;align-items:center;height:80px;padding:0 2rem;position:fixed;top:0;left:0;right:0;z-index:100;background:var(--color-black);border-bottom:2px solid var(--color-white)}.logo{display:flex;align-items:center;cursor:pointer;height:100%}.logo-svg{height:70%;width:auto;transition:var(--transition)}.logo:hover .logo-svg{transform:scale(1.1) rotate(2deg)}.nav-links{display:flex;gap:3rem;list-style:none}.nav-links a{color:var(--color-text);text-decoration:none;font-size:.95rem;font-weight:500;transition:var(--transition);position:relative;text-transform:uppercase;letter-spacing:.05em}.nav-links a::after{content:"";position:absolute;bottom:-5px;left:0;width:0;height:2px;background:var(--color-white);transition:width .15s ease}.nav-links a:hover::after{width:100%}@media(max-width: 768px){.nav-links{gap:1.5rem}}.hero{min-height:100vh;height:100vh;padding:2rem;overflow:hidden;transform:translateY(0);background:rgba(0,0,0,0);display:flex;flex-direction:column;justify-content:center}@media(max-width: 768px){.hero{padding-top:80px}}.hero-content{z-index:10;position:relative;width:100%;max-width:1400px;margin:0 auto;display:flex;gap:4rem;align-items:flex-end;padding:2rem}@media(max-width: 768px){.hero-content{flex-direction:column;gap:3rem;padding:1rem;align-items:center}}.hero-left{flex:0 0 55%;margin-top:1.5rem}.hero-left h1{font-size:clamp(4rem,12vw,10rem);font-weight:900;line-height:.85;letter-spacing:.025em;text-transform:uppercase;color:var(--color-white);margin-bottom:0}@media(max-width: 768px){.hero-left{flex:1 1 100%;margin-top:0;padding-left:50%}.hero-left h1{font-size:clamp(6rem,15vw,8rem)}}.hero-tagline{font-size:clamp(1rem,2vw,1.5rem);color:var(--color-text-light);font-weight:400;letter-spacing:.01em;transform:translateX(2rem)}.hero-right{flex:0 0 40%}@media(max-width: 768px){.hero-right{flex:1 1 100%;display:flex;justify-content:center;align-items:center}}.scroll-indicator{position:absolute;bottom:3rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;opacity:1;transition:opacity .3s ease;z-index:20}.scroll-indicator.hidden{opacity:0;pointer-events:none}.scroll-text{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.15em;color:var(--color-text-light)}.scroll-line{width:1px;height:40px;background:var(--color-accent);position:relative;overflow:hidden}.scroll-line::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:var(--color-white);animation:scrollLineMove 2s ease-in-out infinite}.hero-symbol{width:100%;height:auto}.hero-symbol .symbol-yo{fill:var(--color-white)}.hero-symbol .symbol-sostick{fill:var(--color-accent)}.hero-symbol .symbol-sohat{fill:var(--color-white)}@media(max-width: 768px){.hero-symbol{width:60vw;max-width:300px}}footer{text-align:center;padding:3rem 2rem;color:var(--color-text-light);font-size:.9rem;display:flex;flex-direction:column;gap:1rem;align-items:center}.footer-links{display:flex;gap:1.5rem;align-items:center}.footer-link{color:var(--color-text);text-decoration:none;font-size:1.5rem;transition:var(--transition);display:inline-flex;align-items:center;justify-content:center}.footer-link img{width:24px;height:24px}.footer-link:hover{color:var(--color-primary);transform:translateY(-3px) scale(1.1)}.btn{padding:1rem 2.5rem;border-radius:var(--radius);text-decoration:none;font-weight:700;transition:var(--transition);display:inline-block;text-transform:uppercase;letter-spacing:.05em;font-size:.9rem}.btn-primary{background:var(--color-white);color:var(--color-black);border:2px solid var(--color-white)}.btn-primary:hover{background:var(--color-black);color:var(--color-white);transform:translateX(3px)}.btn-secondary{background:var(--color-black);color:var(--color-white);border:2px solid var(--color-white)}.btn-secondary:hover{background:var(--color-white);color:var(--color-black);transform:translateX(3px)}.form-group{position:relative;display:flex;flex-direction:column}.form-group:last-of-type{flex:1}.form-group label{display:block;font-size:clamp(.85rem,2vw,1rem);font-weight:700;margin-bottom:.75rem;color:var(--color-white);text-transform:uppercase;letter-spacing:.05em}.form-group input,.form-group textarea{width:100%;padding:.75rem 1rem;border:2px solid var(--color-grey);border-radius:var(--radius);font-family:"Coolvetica",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;font-size:clamp(.9rem,2vw,1rem);color:var(--color-white);background:var(--color-grey-light);transition:all .2s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-white);background:var(--color-grey);transform:translateX(2px)}.form-group textarea{resize:vertical;flex:1;min-height:100px;line-height:1.6}.project-card{flex:1 1 0;min-width:280px;max-width:30vw;min-height:400px;max-height:65vh;background:var(--color-grey-light);border-radius:var(--radius);overflow:hidden;cursor:pointer;border:2px solid var(--color-grey);opacity:0;transform:translateX(100px);transition:opacity .25s linear,transform .25s cubic-bezier(0, 0, 0.3, 1);display:flex;flex-direction:column}.project-card.is-visible{opacity:1;transform:translateX(0)}.project-card.is-visible:hover{transform:translateX(5px);border-color:var(--color-white);transition:all .15s cubic-bezier(0.4, 0, 0.2, 1)}.project-card:hover .project-placeholder{opacity:1}.project-card-1{transition:opacity .25s linear 0s,transform .25s cubic-bezier(0, 0, 0.3, 1) 0s}.project-card-2{transition:opacity .25s linear .15s,transform .25s cubic-bezier(0, 0, 0.3, 1) .15s}.project-card-3{transition:opacity .25s linear .3s,transform .25s cubic-bezier(0, 0, 0.3, 1) .3s}.project-image{width:100%;flex:2 1 0;min-height:0;overflow:hidden;position:relative}.project-placeholder{width:100%;height:100%;background:var(--color-accent);opacity:.8;transition:var(--transition)}.project-preview{width:100%;height:100%;object-fit:cover}.project-info{padding:2rem;flex:1 1 0;min-height:0;display:flex;flex-direction:column;justify-content:flex-start;overflow-y:auto;gap:.5rem}.project-info h3{font-size:1.5rem;margin-bottom:.5rem;color:var(--color-white);text-transform:uppercase;letter-spacing:.025em}.project-info p{color:var(--color-grey-dark);margin-bottom:1.5rem}.project-tags{display:flex;gap:.8rem;flex-wrap:wrap}.project-tags span{padding:.4rem 1rem;background:var(--color-grey);border-radius:20px;font-size:.85rem;color:var(--color-text);font-weight:500}.yoso-section{position:relative;height:400vh;background:var(--color-bg);padding-top:20vh}@media(max-width: 768px){.yoso-section{height:auto;min-height:100vh;padding-top:4rem;padding-bottom:4rem}}.yoso-sticky-container{position:sticky;top:0;height:100vh;display:flex;justify-content:center;align-items:center;padding:2rem}@media(max-width: 768px){.yoso-sticky-container{position:relative;height:auto;min-height:80vh}}.yoso-hero-card{position:relative;width:90vw;max-width:90vw;height:80vh;background:var(--color-black);border:2px solid var(--color-white);border-radius:var(--radius);display:flex;opacity:1;transform:translateY(-100px);transition:transform .6s ease;overflow:hidden}.yoso-hero-card.is-visible{opacity:1;transform:translateY(0)}@media(max-width: 768px){.yoso-hero-card{flex-direction:column;max-height:none;height:auto;min-height:80vh}}.yoso-content-wrapper{display:flex;flex:1;width:100%;transform:translateX(25%);transition:transform .8s cubic-bezier(0.4, 0, 0.2, 1)}.yoso-content-wrapper.centered{transform:translateX(0)}@media(max-width: 768px){.yoso-content-wrapper{flex-direction:column;transform:translateX(0);transition:all .8s cubic-bezier(0.4, 0, 0.2, 1)}.yoso-content-wrapper.centered{transform:translateX(0)}}.yoso-grid{position:absolute;inset:0;pointer-events:none;z-index:1}.yoso-grid-line{position:absolute;background-color:var(--color-accent);opacity:.2}.yoso-grid-line.vertical{width:1px;height:100%;top:0}.yoso-grid-line.horizontal{height:1px;width:100%;left:0}.yoso-left-side{flex:.5;display:flex;justify-content:center;align-items:center;position:relative;padding:clamp(2rem,5vw,4rem)}@media(max-width: 768px){.yoso-left-side{flex:0 0 100%;padding:2rem;display:flex;justify-content:center;align-items:center;transition:all .8s cubic-bezier(0.4, 0, 0.2, 1)}.yoso-content-wrapper.centered .yoso-left-side{flex:0 0 50%}}.yoso-gradient-logo{height:100%;width:auto;opacity:1;transition:all .8s cubic-bezier(0.4, 0, 0.2, 1);z-index:10}.yoso-gradient-logo svg{height:100%;width:auto}.yoso-gradient-logo svg .logo-letter{fill:none;stroke:var(--color-white);stroke-width:.4;stroke-opacity:1;stroke-dasharray:1000;stroke-dashoffset:1000;stroke-linejoin:round;stroke-linecap:round}.yoso-gradient-logo svg .logo-shape{fill:none;stroke:var(--color-white);stroke-width:.4;stroke-opacity:1;stroke-dasharray:1000;stroke-dashoffset:1000;stroke-linejoin:round;stroke-linecap:round}.yoso-gradient-logo svg .logo-shape.sostick{stroke:var(--color-accent)}@media(max-width: 768px){.yoso-gradient-logo{width:100%;height:100%;display:flex;justify-content:center;align-items:center}.yoso-gradient-logo svg{width:100%;height:100%;object-fit:contain}}.yoso-right-side{flex:.5;display:flex;flex-direction:column;justify-content:center;padding:clamp(2rem,5vw,4rem);opacity:0;visibility:hidden;transition:opacity .8s cubic-bezier(0.4, 0, 0.2, 1),visibility 0s .8s;overflow:hidden}.yoso-right-side.visible{opacity:1;visibility:visible;transition:opacity .8s cubic-bezier(0.4, 0, 0.2, 1),visibility 0s 0s}@media(max-width: 768px){.yoso-right-side{flex:0 0 0%;padding:0 2rem;opacity:0;visibility:hidden;transition:all .8s cubic-bezier(0.4, 0, 0.2, 1);overflow:hidden}.yoso-content-wrapper.centered .yoso-right-side{flex:0 0 50%;padding:2rem}.yoso-right-side.visible{opacity:1;visibility:visible}}.yoso-title{font-size:clamp(2.5rem,5vw,4rem);font-weight:900;margin-bottom:clamp(1.5rem,3vh,2.5rem);text-transform:uppercase;letter-spacing:.025em;color:var(--color-white);opacity:0;transform:translateX(30px);transition:opacity .6s cubic-bezier(0.4, 0, 0.2, 1),transform .6s cubic-bezier(0.4, 0, 0.2, 1)}.yoso-title.is-visible{opacity:1;transform:translateX(0)}@media(max-width: 768px){.yoso-title{font-size:clamp(5rem,10vw,8rem);margin-left:2rem;opacity:1;transform:translateY(0)}}.yoso-body{font-size:clamp(1rem,2vw,1.15rem);color:var(--color-grey-dark);line-height:1.6;opacity:0;transform:translateX(30px);transition:opacity .6s ease,transform .6s ease}.yoso-body.is-active{opacity:1;transform:translateX(0)}@media(max-width: 768px){.yoso-body{margin-left:2rem;opacity:1;transform:translateY(0)}}.yoso-steps{position:absolute;top:0;left:0;width:100%;pointer-events:none}@media(max-width: 768px){.yoso-steps{position:absolute;pointer-events:none}}.yoso-step{height:100vh;width:100%}@media(max-width: 768px){.yoso-step{height:20vh}}.yoso-step-draw{height:50vh}@media(max-width: 768px){.yoso-step-draw{height:20vh}}.yoso-step[data-step="2"]{height:50vh}@media(max-width: 768px){.yoso-step[data-step="2"]{height:20vh}}@media(max-width: 768px){.yoso-step[data-step="3"]{height:20vh}}.yoso-step[data-step="4"],.yoso-step[data-step="5"]{height:150vh}@media(max-width: 768px){.yoso-step[data-step="4"],.yoso-step[data-step="5"]{height:10vh}}@media(max-width: 768px){.yoso-step[data-step="6"]{height:10vh}}.work-section{position:relative;height:300vh;background:rgba(0,0,0,0)}@media(max-width: 768px){.work-section{height:auto;min-height:100vh}}.work-sticky-container{position:sticky;top:0;height:100vh;display:flex;justify-content:center;align-items:center;padding:2rem}@media(max-width: 768px){.work-sticky-container{position:relative;height:auto;min-height:80vh}}.work-card{width:90vw;max-width:90vw;height:80vh;background:var(--color-black);border:2px solid var(--color-white);border-radius:var(--radius);padding:clamp(2rem,5vw,4rem);overflow:visible;display:flex;flex-direction:column}@media(max-width: 768px){.work-card{height:auto;min-height:60vh}}.projects-row{display:flex;flex-wrap:nowrap;gap:2rem;overflow:visible;flex:1}.work-steps{position:absolute;top:0;left:0;width:100%;pointer-events:none}.work-step{height:100vh;width:100%}section{padding:8rem 2rem}@media(max-width: 768px){section{padding:5rem 1.5rem}}.section-title{font-size:clamp(2.5rem,6vw,4rem);text-align:center;margin-bottom:3rem;font-weight:900;letter-spacing:.025em;text-transform:uppercase;color:var(--color-white)}.about-content{display:flex;flex-direction:row;gap:4rem;align-items:center;flex-wrap:wrap}@media(max-width: 768px){.about-content{flex-direction:column}}.about-text,.about-visual{flex:1 1 400px}@media(max-width: 768px){.about-text,.about-visual{flex:1 1 100%}}.about-text{max-width:600px}.about-text p{margin-bottom:1.5rem;color:var(--color-text-light)}.intro{font-size:1.5rem;font-weight:500;color:var(--color-text);margin-bottom:1.5rem}.skills{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}.skill-tag{padding:.6rem 1.5rem;background:var(--color-grey);border-radius:50px;font-size:.9rem;font-weight:500;color:var(--color-text);box-shadow:var(--shadow-sm);transition:var(--transition);border:2px solid rgba(0,0,0,0)}.skill-tag:hover{transform:translateY(-5px) scale(1.05);box-shadow:var(--shadow-md);background:var(--color-gradient-1);color:var(--color-white);border-color:var(--color-primary)}.about-visual{position:relative;height:400px}@media(max-width: 768px){.about-visual{height:300px}}.floating-shape{position:absolute;border-radius:var(--radius);animation:floatShape 6s ease-in-out infinite}.shape-1{width:200px;height:200px;background:var(--color-gradient-1);opacity:.5;top:0;right:0}.shape-2{width:150px;height:150px;background:var(--color-gradient-3);opacity:.5;bottom:50px;left:50px;animation-delay:2s}.shape-3{width:100px;height:100px;background:var(--color-gradient-fun);opacity:.5;top:100px;left:0;animation-delay:4s}.contact-section{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:4rem 2rem;background:rgba(0,0,0,0)}.contact-card{width:100%;max-width:min(70rem,90vw);margin:0 auto;background:var(--color-black);border:2px solid var(--color-white);padding:clamp(2rem,6vw,4rem);border-radius:var(--radius);position:relative;display:flex;flex-direction:column}.contact-card .section-title{margin-bottom:1rem;display:flex;flex-wrap:wrap;justify-content:center;gap:.5em}.contact-card form{text-align:left;flex:1;display:flex;flex-direction:column;gap:1rem}.contact-card button{align-self:center;font-size:clamp(.95rem,2vw,1.1rem);padding:.75rem 2rem}.contact-intro{font-size:clamp(1rem,3vw,1.2rem);color:var(--color-text-light);margin-bottom:1.5rem;text-align:center}@keyframes slideInFromLeft{from{transform:translateX(-150px);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes slideInFromRight{from{transform:translateX(150px);opacity:0}to{transform:translateX(2rem);opacity:1}}@keyframes slideOutToLeft{from{transform:translateX(0);opacity:1}to{transform:translateX(-50px);opacity:0}}@keyframes slideOutToRight{from{transform:translateX(0);opacity:1}to{transform:translateX(50px);opacity:0}}@keyframes scrollLineMove{0%{transform:translateY(-100%);opacity:0}50%{opacity:1}100%{transform:translateY(100%);opacity:0}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes slideInDown{from{transform:translateY(-50px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInLeft{from{transform:translateX(50px);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes slideInUp{from{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInUpMobile{from{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInDiagonalTopLeft{from{transform:translate(-50px, -50px);opacity:0}to{transform:translate(0, 0);opacity:1}}@keyframes slideInTopRight{from{transform:translate(50px, -50px);opacity:0}to{transform:translate(0, 0);opacity:1}}@keyframes slideInBottomRight{from{transform:translate(50px, 50px);opacity:0}to{transform:translate(0, 0);opacity:1}}@keyframes slideInBottomRightShort{from{transform:translate(25px, 25px);opacity:0}to{transform:translate(0, 0);opacity:1}}@keyframes slideOutDiagonalTopLeft{from{transform:translate(0, 0);opacity:1}to{transform:translate(-50px, -50px);opacity:0}}@keyframes slideOutTopRight{from{transform:translate(0, 0);opacity:1}to{transform:translate(50px, -50px);opacity:0}}@keyframes slideOutBottomRightShort{from{transform:translate(0, 0);opacity:1}to{transform:translate(25px, 25px);opacity:0}}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes floatShape{0%,100%{transform:translate(0, 0) rotate(0deg)}50%{transform:translate(20px, -20px) rotate(10deg)}}.hero-left h1{animation:slideInFromLeft .8s cubic-bezier(0.4, 0, 0.2, 1) 0s backwards}.hero-left h1.reverse-out{animation:slideOutToLeft .4s cubic-bezier(0.4, 0, 0.2, 1) 0s forwards}.hero-tagline{animation:slideInFromRight .8s cubic-bezier(0.4, 0, 0.2, 1) .2s backwards}.hero-tagline.reverse-out{animation:slideOutToRight .4s cubic-bezier(0.4, 0, 0.2, 1) 0s forwards}.hero-symbol .symbol-yo{animation:slideInDiagonalTopLeft .8s cubic-bezier(0.4, 0, 0.2, 1) 0s backwards}.hero-symbol .symbol-yo.reverse-out{animation:slideOutDiagonalTopLeft .4s cubic-bezier(0.4, 0, 0.2, 1) 0s forwards}.hero-symbol .symbol-sostick{animation:slideInTopRight .55s cubic-bezier(0.4, 0, 0.1, 1) .4s backwards}.hero-symbol .symbol-sostick.reverse-out{animation:slideOutTopRight .275s cubic-bezier(0.4, 0, 0.1, 1) 0s forwards}.hero-symbol .symbol-sohat{animation:slideInBottomRightShort .8s cubic-bezier(0.4, 0, 0.2, 1) .65s backwards}.hero-symbol .symbol-sohat.reverse-out{animation:slideOutBottomRightShort .4s cubic-bezier(0.4, 0, 0.2, 1) 0s forwards}
