.home-screen{height:100%;position:relative;overflow:hidden}.mesh-bg{z-index:1;background-image:url(/wallpaper.webp);background-position:50%;background-repeat:no-repeat;background-size:cover;width:100%;height:100%;position:absolute;top:0;left:0}.home-screen.landscape .mesh-bg{background-image:url(/wallpaper_landscape.webp)}.home-content{z-index:10;flex-direction:column;height:100%;padding:85px 24px 40px;display:flex;position:relative}.widget-clock{text-align:center;color:#fff;letter-spacing:-3px;text-shadow:0 2px 10px #00000080;margin-bottom:-5px;font-size:78px;font-weight:300}.widget-date{text-align:center;color:#fffc;letter-spacing:-.2px;text-shadow:0 1px 5px #00000080;margin-bottom:45px;font-size:15px;font-weight:600}.app-grid{flex-wrap:wrap;justify-content:center;gap:32px;padding:0 10px 20px;display:flex}.app-icon-wrapper{cursor:pointer;flex-direction:column;align-items:center;gap:12px;display:flex}.app-icon{color:#fff;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;transition:transform .4s cubic-bezier(.34,1.56,.64,1),box-shadow .4s;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 24px #0000001a,inset 0 2px #fff6,inset 0 -2px #0000001a}.app-icon:before{content:"";background:linear-gradient(135deg,#ffffff4d 0%,#fff0 100%);width:100%;height:100%;position:absolute;top:0;left:0}.bg-about{background:#a48166}.bg-projects{background:#d3c4b7;color:#5c4738!important}.bg-appstore{background:#e8dfd8;color:#5c4738!important}.bg-docs{background:#8b6d56}.bg-email{background:linear-gradient(135deg,#e8dfd8,#d3c4b7);color:#5c4738!important}.bg-linkedin{background:linear-gradient(135deg,#7a5f4a,#4a382a)}.bg-github{background:linear-gradient(135deg,#fff,#e8dfd8);color:#4a382a!important}.app-icon-wrapper:hover .app-icon{transform:scale(1.08)translateY(-4px);box-shadow:0 20px 30px #00000026,inset 0 2px #ffffff80,inset 0 -2px #0000001a}.app-icon-wrapper:active .app-icon{transform:scale(.95)}.app-label{color:#fff;text-shadow:0 1px 4px #000000b3;font-size:13px;font-weight:600}.home-content.locked{justify-content:flex-start;padding-top:60px}.lock-indicator{color:#fff;opacity:.9;cursor:pointer;text-shadow:0 1px 4px #00000080;flex-direction:column;align-items:center;width:100%;font-size:14px;font-weight:500;animation:2s infinite bounceLock;display:flex;position:absolute;bottom:30px;left:0}.lock-indicator svg{filter:drop-shadow(0 1px 2px #00000080);margin-bottom:6px}@keyframes bounceLock{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-8px)}60%{transform:translateY(-4px)}}.dock-container{justify-content:center;width:100%;margin-top:auto;padding-bottom:10px;display:flex}.dock{-webkit-backdrop-filter:blur(20px);background:#fff3;border-radius:30px;gap:20px;padding:12px 16px;display:flex;box-shadow:0 8px 32px #0003,inset 0 0 0 1px #fff3}.dock-item{width:48px;height:48px}
.projects-app{background-color:#fff;min-height:100%;padding:20px 24px 40px}.playstore-header{justify-content:space-between;align-items:center;padding-top:10px;padding-bottom:24px;display:flex}.playstore-header h1{color:#1d1d1f;letter-spacing:-.5px;margin:0;font-size:24px;font-weight:600}.playstore-section-title{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.playstore-section-title h2{color:#1d1d1f;margin:0;font-size:16px;font-weight:700}.playstore-see-all{color:#01875f;cursor:pointer;font-size:14px;font-weight:600}.store-app{padding:0 24px 180px}.proj-app-list{flex-direction:column;display:flex}.proj-list-item{cursor:pointer;border-bottom:1px solid #0000000f;align-items:flex-start;padding:16px 0;transition:opacity .2s;display:flex}.proj-list-item:last-child{border-bottom:none}.proj-list-item:active{opacity:.6}.playstore-rank{color:#86868b;text-align:center;width:12px;margin-right:16px;font-size:15px;font-weight:600}.proj-list-icon{border:1px solid #00000008;border-radius:10px;justify-content:center;align-items:center;width:50px;height:50px;margin-right:14px;display:flex;box-shadow:0 2px 8px #0000000f}.store-app{flex-direction:column;height:100%;display:flex}.proj-list-info{flex-direction:column;flex:1;align-items:flex-start;display:flex}.proj-list-info h3{color:#1d1d1f;margin-bottom:2px;font-size:15px;font-weight:600}.proj-list-info p{color:#86868b;margin:0;font-size:12.5px;font-weight:500}.playstore-rating{color:#5f6368;align-items:center;gap:4px;margin-top:4px;font-size:12px;font-weight:600;display:flex}.proj-get-btn-small{color:#fff;cursor:pointer;background:#01875f;border:none;border-radius:20px;margin-top:8px;padding:5px 16px;font-size:12px;font-weight:600;box-shadow:0 2px 6px #01875f33}.project-detail{background:#fff;min-height:100%;padding:60px 24px 100px}.proj-back-btn{color:#007aff;cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;margin-bottom:24px;padding:0;font-size:17px;font-weight:500;display:flex}.proj-detail-header{align-items:center;margin-bottom:32px;display:flex}.proj-detail-icon{border:1px solid #0000000a;border-radius:22px;flex-shrink:0;justify-content:center;align-items:center;width:96px;height:96px;margin-right:20px;display:flex;box-shadow:0 10px 24px #00000014,inset 0 2px 6px #fff6}.proj-detail-icon svg{width:44px;height:44px}.proj-detail-title-box{flex-direction:column;align-items:flex-start;display:flex}.proj-detail-title-box h2{color:#1d1d1f;letter-spacing:-.5px;margin-bottom:4px;font-size:22px;font-weight:700}.proj-detail-subtitle{color:#86868b;margin-bottom:12px;font-size:14px;font-weight:500}.proj-get-btn{color:#fff;cursor:pointer;background:#01875f;border:none;border-radius:24px;padding:8px 32px;font-size:14px;font-weight:600;box-shadow:0 4px 12px #01875f33}.proj-screenshots-wrapper{margin-bottom:32px;position:relative}.scroll-btn{cursor:pointer;z-index:10;color:#1d1d1f;background:#fffffff2;border:1px solid #00000014;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 4px 16px #00000026}.scroll-btn:hover{background:#fff;transform:translateY(-50%)scale(1.08);box-shadow:0 6px 20px #0003}.scroll-btn:active{transform:translateY(-50%)scale(.95)}.scroll-btn.left{left:-22px}.scroll-btn.right{right:-22px}.proj-screenshots-scroll{scroll-behavior:smooth;gap:16px;padding-bottom:16px;display:flex;overflow-x:auto}.proj-mock-screenshot{color:#86868b;background:#f5f5f7;border:1px dashed #0000001a;border-radius:20px;flex:none;justify-content:center;align-items:center;width:140px;height:280px;font-size:14px;font-weight:600;display:flex}.proj-screenshot-img{border:1px solid #0000000a;border-radius:16px;flex:none;width:auto;height:320px;box-shadow:0 6px 16px #0000000f}.proj-detail-description{margin-bottom:32px}.proj-detail-description h3{color:#1d1d1f;margin-bottom:12px;font-size:18px;font-weight:700}.description-content p,.description-content ul,.description-content li{color:#444446;font-size:15px;line-height:1.5}.proj-tech-tags{flex-wrap:wrap;gap:10px;display:flex}.proj-tech-tag{color:#1d1d1f;background:#f5f5f7;border:1px solid #0000000a;border-radius:10px;padding:8px 14px;font-size:13px;font-weight:600}.external-landscape{height:max-content;min-height:100%;padding:30px 40px 100px;position:relative}.external-landscape .proj-back-btn{display:none}.external-landscape .proj-detail-header{margin-bottom:20px}.external-landscape .proj-detail-icon{border-radius:20px;width:90px;height:90px}.external-landscape .proj-detail-icon svg{width:44px;height:44px}.external-landscape .proj-detail-title-box h2{font-size:26px}.external-landscape .proj-detail-subtitle{margin-bottom:8px;font-size:15px}.external-landscape .proj-get-btn{padding:8px 32px;font-size:14px}.external-landscape .proj-screenshots-scroll{gap:20px;padding-bottom:20px}.external-landscape .proj-screenshot-img{border-radius:16px;height:280px}.external-landscape .proj-detail-description h3{margin-bottom:8px;font-size:19px}.external-landscape .description-content p,.external-landscape .description-content ul,.external-landscape .description-content li,.external-landscape .description-content h4{font-size:15px}
.device-wrapper{perspective:1500px;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.android-frame{z-index:10;background-color:#000;border-radius:54px;width:360px;height:760px;padding:8px;transition:all .5s cubic-bezier(.175,.885,.32,1.275);position:relative;box-shadow:0 30px 60px -12px #00000040,0 18px 36px -18px #0000004d}.android-frame.landscape{border-radius:28px;width:900px;height:540px}.android-frame.landscape:before{border-radius:32px}.android-frame.landscape:after{border-radius:28px}.android-frame.landscape .dynamic-island,.android-frame.landscape .action-button,.android-frame.landscape .volume-up,.android-frame.landscape .volume-down,.android-frame.landscape .power-button{display:none}.android-frame.landscape .screen{border-radius:20px}.android-frame:before{content:"";z-index:-2;background:conic-gradient(from 180deg,#4a4a4a 0deg,#9ca3af 45deg,#f3f4f6 90deg,#9ca3af 135deg,#4a4a4a 180deg,#9ca3af 225deg,#f3f4f6 270deg,#9ca3af 315deg,#4a4a4a 360deg);border-radius:58px;position:absolute;inset:-4px;box-shadow:inset 0 0 0 1px #fff6,inset 0 0 8px #00000080,0 0 0 1px #0003}.android-frame:after{content:"";pointer-events:none;z-index:15;background:linear-gradient(105deg,#0000 20%,#ffffff08 25%,#ffffff26 50%,#0000 55%) 0 0/200% 200%;border-radius:54px;animation:8s linear infinite glassGlare;position:absolute;inset:0;box-shadow:inset 0 0 12px #000000e6,inset 0 0 0 2px #ffffff26}@keyframes glassGlare{0%{background-position:200% 0}to{background-position:-200% 0}}.android-frame:hover{transform:translateY(-8px)rotateX(2deg)rotateY(1deg);box-shadow:0 40px 80px -15px #0000004d,0 25px 45px -20px #0006}.dynamic-island{z-index:100;background:#000;border-radius:20px;justify-content:flex-end;align-items:center;width:120px;height:32px;padding:0 12px;display:flex;position:absolute;top:24px;left:50%;transform:translate(-50%);box-shadow:inset 0 0 0 1px #ffffff14}.dynamic-island .sensor{background:#111;border-radius:50%;width:14px;height:14px;position:absolute;left:12px;box-shadow:inset 0 0 2px #ffffff0d}.dynamic-island .lens{background:#0a0a14;border-radius:50%;width:14px;height:14px;position:relative;box-shadow:inset 0 0 2px #ffffff1a}.dynamic-island .lens:after{content:"";background:#191978cc;border-radius:50%;width:4px;height:4px;position:absolute;top:4px;right:4px;box-shadow:0 0 2px #ffffff4d}.action-button{z-index:-3;background:linear-gradient(#d4d5d9,#9ea1a6);border-radius:4px 0 0 4px;width:5px;height:28px;position:absolute;top:130px;left:-7px;box-shadow:-1px 2px 4px #0000004d,inset 1px 0 2px #fff9}.volume-up{z-index:-3;background:linear-gradient(#d4d5d9,#9ea1a6);border-radius:4px 0 0 4px;width:5px;height:55px;position:absolute;top:180px;left:-7px;box-shadow:-1px 2px 4px #0000004d,inset 1px 0 2px #fff9}.volume-down{z-index:-3;background:linear-gradient(#d4d5d9,#9ea1a6);border-radius:4px 0 0 4px;width:5px;height:55px;position:absolute;top:250px;left:-7px;box-shadow:-1px 2px 4px #0000004d,inset 1px 0 2px #fff9}.power-button{z-index:-3;background:linear-gradient(#d4d5d9,#9ea1a6);border-radius:0 4px 4px 0;width:5px;height:75px;position:absolute;top:200px;right:-7px;box-shadow:1px 2px 4px #0000004d,inset -1px 0 2px #fff9}.screen{background:var(--phone-bg);-webkit-user-select:none;user-select:none;background:radial-gradient(circle at 0 0,#fff 0%,#f7f9fc 50%,#eef1f6 100%);border-radius:42px;width:100%;height:100%;position:relative;overflow:hidden}.status-bar{color:#fff;z-index:50;letter-spacing:-.3px;justify-content:space-between;align-items:center;width:100%;padding:18px 26px;font-size:13px;font-weight:600;transition:color .4s;display:flex;position:absolute;top:0}.status-bar.app-open-status{color:#111}.time{margin-top:2px}.icons{align-items:center;gap:6px;display:flex}.status-icon{display:block}.launcher-view{width:100%;height:100%;transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .4s}.launcher-view.scale-down{opacity:.3;transform:scale(.9)}.app-view{z-index:40;background:#fff;border-radius:40px;flex-direction:column;width:100%;height:100%;transition:top .4s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;top:100%;left:0}.app-view.app-open{top:0}.app-header{-webkit-backdrop-filter:blur(20px)saturate(180%);z-index:45;background:#ffffffb3;border-bottom:1px solid #fff6;align-items:center;padding:45px 24px 20px;display:flex;box-shadow:0 8px 32px #0000000d}.back-btn{cursor:pointer;color:#111;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:background .2s,transform .2s;display:flex}.back-btn:hover{background:#0000000d;transform:translate(-2px)}.app-title{color:#111;letter-spacing:-.5px;margin-left:12px;font-size:18px;font-weight:700}.app-content{background:#fafafa;flex:1;position:relative;overflow-y:auto}.home-indicator-area{z-index:60;cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;width:100%;height:30px;display:flex;position:absolute;bottom:0}.home-indicator{background:#00000040;border-radius:10px;width:130px;height:5px;transition:background .2s,width .2s}.home-indicator-area:hover .home-indicator{background:#0009;width:140px}.gallery-modal{-webkit-backdrop-filter:blur(15px);z-index:200;background:#000000d9;border-radius:42px;justify-content:center;align-items:center;width:100%;height:100%;padding:24px;animation:.3s ease-out forwards modalFadeIn;display:flex;position:absolute;top:0;left:0}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.modal-close-btn{color:#fff;cursor:pointer;z-index:201;background:#ffffff26;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:background .2s,transform .2s;display:flex;position:absolute;top:24px;right:24px}.modal-close-btn:hover{background:#ffffff40;transform:scale(1.1)}.modal-close-btn:active{transform:scale(.95)}.modal-content{object-fit:contain;border-radius:12px;width:100%;height:auto;max-height:80%;animation:.4s cubic-bezier(.16,1,.3,1) forwards modalZoomIn;box-shadow:0 20px 40px #0000004d}@keyframes modalZoomIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@media (max-width:768px){.device-modal-container .android-frame{width:100vw;height:100vh;box-shadow:none;border:none;border-radius:0;padding:0}.device-modal-container .android-frame:hover{box-shadow:none;transform:none}.device-modal-container .screen,.device-modal-container .app-view{border-radius:0}.device-modal-container .android-frame:before,.device-modal-container .android-frame:after,.device-modal-container .dynamic-island,.device-modal-container .action-button,.device-modal-container .volume-up,.device-modal-container .volume-down,.device-modal-container .power-button{display:none}}
.hero-page{background-color:var(--ambient-bg);background-image:radial-gradient(circle at 50% 0,#fffc,#0000 70%);justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:relative;overflow:hidden}.hero-typography-bg{text-align:center;pointer-events:none;z-index:1;white-space:nowrap;flex-direction:column;width:100vw;line-height:.8;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hero-typography-bg span{color:var(--ambient-2);opacity:.2;text-transform:uppercase;letter-spacing:-.04em;font-size:clamp(80px,15vw,250px);font-weight:900}.hero-content-modern{z-index:10;justify-content:center;align-items:center;gap:24px;width:100%;max-width:1400px;height:100%;padding:80px 5vw 0;display:flex;position:relative}.hero-text-block{text-align:right;flex-direction:column;flex:0 auto;align-items:flex-end;max-width:450px;display:flex}.hero-status{color:var(--phone-text);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#00000008;border:1px solid #0000000d;border-radius:30px;align-items:center;gap:8px;margin-bottom:24px;padding:8px 16px;font-size:13px;font-weight:600;display:inline-flex}.status-indicator{background-color:#34c759;border-radius:50%;width:8px;height:8px;box-shadow:0 0 8px #34c759}.hero-main-title{color:var(--phone-text);letter-spacing:-.05em;margin-bottom:16px;font-size:clamp(80px,12vw,150px);font-weight:900;line-height:.9}.hero-main-title .gradient-text{-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#1a1b1e 0%,#868e96 100%);-webkit-background-clip:text;background-clip:text;display:inline-block}.hero-subtitle{color:#495057;letter-spacing:-.02em;max-width:320px;margin-bottom:40px;font-size:24px;font-weight:500;line-height:1.4}.hero-cta-group{align-items:center;gap:16px;display:flex}.btn-explore{background:var(--phone-text);color:#fff;cursor:pointer;border:none;border-radius:12px;align-items:center;gap:8px;padding:16px 32px;font-size:16px;font-weight:600;transition:transform .2s,background .2s,box-shadow .2s;display:flex;box-shadow:0 8px 24px #00000026}.btn-explore:hover{background:#000;transform:translateY(-2px);box-shadow:0 12px 32px #0003}.btn-resume{color:var(--phone-text);cursor:pointer;background:0 0;border:1px solid #0000001a;border-radius:12px;align-items:center;gap:8px;padding:16px 32px;font-size:16px;font-weight:600;transition:background .2s,border-color .2s;display:flex}.btn-resume:hover{background:#00000008;border-color:#0003}.hero-mockup-wrapper{perspective:2000px;z-index:20;transform-origin:0;justify-content:center;align-items:center;width:400px;height:800px;display:flex;position:relative}.mockup-interactive-layer{width:100%;height:100%;transform-style:preserve-3d;justify-content:center;align-items:center;transition:transform .1s ease-out;display:flex}.mockup-interactive-layer:after{content:"";filter:blur(40px);z-index:-1;background:#00000026;width:80%;height:90%;position:absolute;top:50%;left:50%;transform:translate(-50%,-40%)translateZ(-50px)}.mockup-interactive-layer .device-wrapper{pointer-events:auto;transform:scale(.95)}.device-modal-overlay{-webkit-backdrop-filter:blur(15px);z-index:1000;opacity:0;background:#ffffffb3;justify-content:center;align-items:center;width:100vw;height:100vh;animation:.3s forwards fadeIn;display:flex;position:fixed;top:0;left:0}@keyframes fadeIn{to{opacity:1}}.device-modal-wrapper{justify-content:center;align-items:center;gap:40px;display:flex;position:relative}.close-mockup-btn{cursor:pointer;background:#fff;border:1px solid #eee;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;transition:transform .2s;display:flex;position:absolute;top:-60px;right:0;box-shadow:0 4px 12px #0000001a}.close-mockup-btn:hover{transform:scale(1.1)}@media (max-width:1024px){.hero-page{height:auto;min-height:100vh;padding-bottom:60px;overflow:hidden visible}.hero-content-modern{flex-direction:column;justify-content:flex-start;padding-top:140px}.hero-text-block{text-align:center;z-index:10;align-items:center;margin-bottom:20px;padding-right:0}.hero-main-title{font-size:clamp(56px,12vw,80px)}.hero-subtitle{margin:0 auto 30px;font-size:18px}.hero-cta-group{justify-content:center}.hero-mockup-wrapper{width:320px;height:650px;margin:20px auto 0;position:relative;bottom:auto;left:auto;transform:none!important}.mockup-interactive-layer{transform:none!important}.mockup-interactive-layer .device-wrapper{transform:scale(.85)}}.expand-mockup-btn{cursor:pointer;color:#333;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100;background:#fffc;border:1px solid #0000001a;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;transition:all .3s cubic-bezier(.25,.8,.25,1);display:flex;position:absolute;top:16px;right:-60px;box-shadow:0 4px 15px #0000001a}.expand-mockup-btn:hover{color:#007aff;background:#fff;transform:scale(1.1);box-shadow:0 8px 25px #007aff33}@media (max-width:1024px){.expand-mockup-btn{top:16px;right:16px}}
.about-page{max-width:1200px;min-height:100vh;margin:0 auto;padding:120px 5vw 60px}.about-header-main{text-align:center;margin-bottom:60px}.about-title{color:var(--phone-text,#111);letter-spacing:-.04em;margin-bottom:16px;font-size:clamp(36px,5vw,64px);font-weight:800}.about-subtitle{color:#555;font-size:20px;font-weight:500}.about-grid{grid-template-columns:1fr 1.5fr;gap:40px;display:grid}.about-left,.about-right{flex-direction:column;display:flex}@media (min-width:901px){.about-right{height:0;min-height:100%}}.about-card{background:#fff9;border:1px solid #0000000d;border-radius:24px;flex-direction:column;flex:1;min-height:0;padding:40px;display:flex;box-shadow:0 12px 40px #00000008}.card-title{color:#111;align-items:center;gap:12px;margin-bottom:24px;font-size:24px;font-weight:700;display:flex}.about-text{color:#444;font-size:16px;line-height:1.8}.timeline-wrapper{flex:1;min-height:0;margin-left:-32px;padding-left:44px;padding-right:16px;overflow:hidden auto}.timeline-wrapper::-webkit-scrollbar{width:6px}.timeline-wrapper::-webkit-scrollbar-track{background:#00000008;border-radius:4px}.timeline-wrapper::-webkit-scrollbar-thumb{background:#00000026;border-radius:4px}.timeline-wrapper::-webkit-scrollbar-thumb:hover{background:#0000004d}.timeline-main{border-left:2px solid #0000001a;padding-left:32px;position:relative}.timeline-item-main{margin-bottom:40px;position:relative}.timeline-item-main:last-child{margin-bottom:0}.timeline-dot-main{background:#fff;border:4px solid #111;border-radius:50%;width:16px;height:16px;position:absolute;top:6px;left:-41px;box-shadow:0 0 0 4px #fffc}.timeline-title-main{color:#111;margin-bottom:4px;font-size:20px;font-weight:700}.timeline-company-main{color:#007aff;background:#007aff1a;border-radius:20px;margin-bottom:12px;padding:4px 12px;font-size:14px;font-weight:600;display:inline-block}.skills-grid-main{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.skill-tag-main{color:#333;background:#0000000a;border:1px solid #0000000d;border-radius:30px;padding:10px 18px;font-size:14px;font-weight:600}@media (max-width:900px){.about-grid{grid-template-columns:1fr}}.read-more-btn{color:#007aff;cursor:pointer;background:0 0;border:none;margin-top:8px;padding:8px 0;font-size:14px;font-weight:600;transition:opacity .2s;display:inline-block}.read-more-btn:active{opacity:.6}@media (max-width:768px){.mobile-collapsed{-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}}.card-title-icon-rounded{background:var(--phone-text);color:#fff;border-radius:50%;justify-content:center;align-items:center;margin-right:4px;padding:8px;display:inline-flex}
.techstack-page{max-width:1200px;margin:0 auto;padding:60px 5vw}.techstack-header{text-align:center;margin-bottom:40px}.techstack-title{color:var(--phone-text,#111);letter-spacing:-.04em;margin-bottom:12px;font-size:clamp(32px,4vw,48px);font-weight:800}.techstack-subtitle{color:#555;font-size:18px;font-weight:500}.techstack-marquee-container{width:100%;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000);mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000)}.techstack-marquee-track{gap:32px;width:max-content;padding:30px 0;animation:25s linear infinite tech-marquee-scroll;display:flex}.techstack-marquee-track:hover{animation-play-state:paused}@keyframes tech-marquee-scroll{0%{transform:translate(0)}to{transform:translate(calc(-50% - 16px))}}.tech-logo-card{cursor:default;background:#fff9;border:1px solid #0000000d;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-width:120px;padding:24px 32px;transition:all .3s cubic-bezier(.25,.8,.25,1);display:flex;box-shadow:0 4px 15px #00000008}.tech-logo-img{object-fit:contain;filter:grayscale()opacity(.7);width:56px;height:56px;transition:all .3s}.tech-logo-name{color:#666;font-size:15px;font-weight:600;transition:color .3s}.tech-logo-card:hover{background:#fff;border-color:#007aff33;transform:translateY(-8px)scale(1.05);box-shadow:0 12px 30px #007aff1a}.tech-logo-card:hover .tech-logo-img{filter:grayscale(0%)opacity()}.tech-logo-card:hover .tech-logo-name{color:#111}@media (max-width:768px){.techstack-page{padding:40px 5vw}.tech-logo-card{gap:12px;min-width:100px;padding:16px 20px}.tech-logo-img{width:44px;height:44px}.tech-logo-name{font-size:13px}}
.gallery-page{max-width:1400px;min-height:100vh;margin:0 auto;padding:120px 5vw 60px}.gallery-header-main{text-align:center;margin-bottom:60px}.gallery-title{color:var(--phone-text,#111);letter-spacing:-.04em;margin-bottom:16px;font-size:clamp(36px,5vw,64px);font-weight:800}.gallery-subtitle{color:#555;font-size:20px;font-weight:500}.gallery-masonry{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:24px;display:grid}.gallery-item-card{aspect-ratio:4/3;background:#fff9;border:1px solid #0000000d;border-radius:24px;transition:transform .3s,box-shadow .3s;position:relative;overflow:hidden;box-shadow:0 12px 40px #00000008}.gallery-item-card:hover{transform:translateY(-8px);box-shadow:0 24px 60px #00000014}.gallery-image{object-fit:cover;width:100%;height:100%;transition:transform .5s}.gallery-item-card:hover .gallery-image{transform:scale(1.05)}.gallery-overlay{color:#fff;opacity:0;background:linear-gradient(#0000 0%,#000c 100%);flex-direction:column;justify-content:flex-end;width:100%;padding:40px 24px 24px;transition:opacity .3s;display:flex;position:absolute;bottom:0;left:0}.gallery-item-card:hover .gallery-overlay{opacity:1}.g-project-title{margin-bottom:8px;font-size:20px;font-weight:700}.g-project-desc{opacity:.9;font-size:14px;line-height:1.5}@media (max-width:768px){.gallery-masonry{scroll-snap-type:x mandatory;-ms-overflow-style:none;scrollbar-width:none;gap:16px;padding-bottom:24px;display:flex;overflow-x:auto}.gallery-masonry::-webkit-scrollbar{display:none}.gallery-item-card{scroll-snap-align:center;flex:0 0 85vw}.gallery-overlay{opacity:1;background:linear-gradient(#0000 0%,#000000e6 100%)}}
