.projects-page{min-height:100vh;background:#fff}.projects-hero{background:#fff;color:#000;padding:80px 50px 60px;text-align:center}.projects-hero h1{font-size:3.5rem;margin-bottom:1rem;font-weight:700}.projects-hero p{font-size:1.3rem;opacity:.9}.phone-container{display:flex;justify-content:center;align-items:flex-start;padding:60px 20px;min-height:calc(100vh - 300px);width:100%}.phone-screen{background:#f2f2f7!important;border-radius:min(40px,3vw);padding:min(40px,3vw) min(30px,2.5vw) min(60px,4vw);box-shadow:0 20px 60px rgba(0,0,0,.5),0 0 0 8px #1a1a1a,0 0 0 12px #0a0a0a,inset 0 2px 8px hsla(0,0%,100%,.8),inset 0 -2px 8px rgba(0,0,0,.05);max-width:min(90vw,1200px);width:100%;position:relative}.screen-content{padding-top:min(30px,3vw)}.projects-loading{text-align:center;color:rgba(0,0,0,.7);padding:2rem}.screen-section-title{color:rgba(0,0,0,.9)!important;font-size:min(1.5rem,2.5vw);font-weight:600;margin-bottom:min(25px,3vw);text-align:center}.apps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:min(30px,3vw) min(20px,2vw);gap:min(30px,3vw) min(20px,2vw);padding-top:min(20px,2vw);justify-items:center;max-width:100%}.app-icon{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:#fff;transition:transform .2s ease;cursor:pointer;width:100%;max-width:min(150px,12vw);min-width:100px}.app-icon:hover{transform:scale(1.1)}.app-icon:active{transform:scale(.95)}.app-icon-wrapper{width:min(120px,10vw);height:min(120px,10vw);min-width:80px;min-height:80px;border-radius:min(18px,1.5vw);background:linear-gradient(135deg,hsla(0,0%,100%,.1),hsla(0,0%,100%,.05));display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.1);margin-bottom:min(8px,.8vw);overflow:hidden;position:relative}.app-icon-wrapper:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:min(18px,1.5vw);padding:2px;background:linear-gradient(135deg,hsla(0,0%,100%,.3),hsla(0,0%,100%,.1));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.app-icon-image{object-fit:cover}.app-icon-image,.app-icon-placeholder{width:100%;height:100%;border-radius:min(18px,1.5vw)}.app-icon-placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#23df59,#1fb2d3);color:#fff;font-size:min(2rem,4vw);font-weight:700}.app-icon-label{font-size:min(.9rem,1.2vw);color:rgba(0,0,0,.9)!important;text-align:center;margin:0;font-weight:500;line-height:1.2;word-wrap:break-word;white-space:pre-line;max-width:min(120px,12vw)}@media screen and (min-width:1400px){.apps-grid{grid-template-columns:repeat(5,1fr)}}@media screen and (min-width:1000px) and (max-width:1399px){.apps-grid{grid-template-columns:repeat(4,1fr)}}@media screen and (max-width:968px){.projects-hero{padding:60px 30px 40px}.projects-hero h1{font-size:2.5rem}.phone-container{padding:40px 20px}.phone-screen{padding:30px 20px 50px;border-radius:min(30px,4vw);max-width:95vw}.phone-screen:before{width:min(120px,15vw);height:min(20px,3vw)}.apps-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:min(25px,4vw) min(15px,2vw);padding-top:min(15px,2vw)}.app-icon{max-width:min(120px,15vw);min-width:90px}.app-icon-wrapper{width:min(90px,12vw);height:min(90px,12vw);min-width:70px;min-height:70px;border-radius:min(16px,2vw)}.app-icon-label{font-size:min(.8rem,1.5vw);max-width:min(100px,15vw)}}@media screen and (max-width:480px){.projects-hero h1{font-size:2rem}.phone-container{padding:30px 15px}.phone-screen{padding:25px 15px 40px;border-radius:min(25px,6vw);max-width:98vw}.apps-grid{grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:min(20px,5vw) min(12px,3vw)}.app-icon{max-width:min(90px,20vw);min-width:70px}.app-icon-wrapper{width:min(70px,16vw);height:min(70px,16vw);min-width:60px;min-height:60px;border-radius:min(14px,3vw)}.app-icon-placeholder{font-size:min(1.5rem,8vw)}.app-icon-label{font-size:min(.7rem,2vw);max-width:min(80px,20vw)}}