.animated-text-section{background:#201d1d;flex-direction:column;justify-content:center;align-items:center;height:auto;min-height:auto;padding:3rem 2rem;display:flex;position:relative;overflow:hidden}.text-container{width:100%;max-width:1400px;margin:0 auto;position:relative}.word-list{white-space:nowrap;flex-flow:row;justify-content:center;align-items:center;gap:.1em;margin:0;padding:0;list-style:none;display:flex}.word-item{letter-spacing:-.02em;color:#fff;text-align:center;margin-bottom:.1em;margin-right:.15em;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:clamp(40px,12vw,200px);font-weight:700;line-height:.85;display:inline-flex;overflow:hidden}.letter{will-change:transform;display:inline-block;position:relative;transform:translateY(100%)}.letter span:first-child{display:block}.letter span:last-child{position:absolute;bottom:100%;left:0}.tech-stack-description{font-family:var(--font-secondary);color:#fff;text-align:center;letter-spacing:.01em;margin-top:1.5rem;font-size:clamp(.95rem,1.8vw,1.15rem);font-weight:400;line-height:1.6}.description{text-align:center;opacity:0;margin-top:2rem;animation:1s ease-out 1s forwards fadeIn}.description p{font-size:clamp(1rem,2vw,1.5rem);font-family:var(--font-secondary),-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;color:#6a6a6a;letter-spacing:.02em;max-width:600px;margin:0 auto;font-weight:400;line-height:1.6}@keyframes fadeIn{to{opacity:1}}@media screen and (max-width:768px){.animated-text-section{justify-content:center;min-height:70vh;padding:clamp(3rem,8vw,4rem) clamp(1rem,4vw,2rem)}.text-container{width:100%;max-width:100%;padding:0 1rem}.word-list{gap:.05em}.word-item{letter-spacing:-.01em;margin-bottom:.05em;font-size:clamp(2.5rem,10vw,4.5rem);line-height:.9}.tech-stack-description{margin-top:1.25rem;padding:0 1rem;font-size:clamp(.9rem,1.8vw,1.05rem)}.description{opacity:1;margin-top:1.5rem;animation:.8s ease-out .5s forwards fadeIn}.description p{max-width:90%;padding:0 1rem;font-size:clamp(.9rem,3.5vw,1.1rem);line-height:1.5}.letter{will-change:transform;transform:translateZ(0)}.letter span{backface-visibility:hidden;-webkit-font-smoothing:antialiased}}@media screen and (max-width:480px){.animated-text-section{min-height:60vh;padding:clamp(2rem,6vw,3rem) clamp(.75rem,3vw,1.5rem)}.word-item{letter-spacing:0;font-size:clamp(2rem,8vw,3.5rem);line-height:.95}.tech-stack-description{margin-top:1rem;padding:0 .5rem;font-size:clamp(.85rem,1.5vw,.95rem)}.description{margin-top:1rem}.description p{max-width:95%;padding:0 .5rem;font-size:clamp(.85rem,3vw,1rem);line-height:1.4}.text-container{padding:0 .5rem}.word-list{gap:0}.word-item{margin-bottom:0}}@media screen and (max-width:320px){.animated-text-section{min-height:50vh;padding:2rem .75rem}.word-item{font-size:clamp(1.75rem,7vw,2.5rem)}.description p{font-size:.8rem;line-height:1.3}}@media screen and (max-width:768px){.word-item{text-rendering:optimizeLegibility;-webkit-text-stroke:.01em transparent}.description p{text-rendering:optimizeLegibility}.animated-text-section{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.letter{transform:translateY(100%)}@media (prefers-reduced-motion:reduce){.letter{animation:none;transform:translate(0,0)}.description{opacity:1;animation:none}}}
.tech-stack-section{background-color:#201d1d;padding:4rem 2rem;position:relative;overflow:hidden}.tech-stack-container{width:100%;max-width:1400px;margin:0 auto}.tech-stack-content{text-align:center;width:100%}.tech-stack-grid{grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(4,1fr);gap:2rem;width:100%;padding:2rem;display:grid}.tech-stack-icon-item{justify-content:center;align-items:center;padding:1rem;display:flex}.tech-icon{object-fit:contain;opacity:.8;width:100px;height:100px;transition:opacity .3s,transform .3s}.tech-stack-icon-item:hover .tech-icon{opacity:1;transform:scale(1.1)}@media screen and (max-width:768px){.tech-stack-section{padding:3rem 1.5rem}.tech-stack-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:100%;padding:1.5rem}.tech-icon{width:75px;height:75px}}@media screen and (max-width:480px){.tech-stack-section{padding:2.5rem 1rem}.tech-stack-grid{grid-template-columns:repeat(2,1fr);gap:1rem;max-width:100%;padding:1rem}.tech-stack-icon-item{padding:.5rem}.tech-icon{width:65px;height:65px}}
.popup-backdrop{-webkit-backdrop-filter:blur(8px);z-index:9998;cursor:pointer;background-color:#000000b3;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.loader-popup-wrapper{z-index:9999;pointer-events:none;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.loader-popup-wrapper .loader-popup{pointer-events:auto}.loader-popup{z-index:9999;clip-path:polygon(20px 0%,calc(100% - 20px) 0%,100% 20px,100% calc(100% - 20px),calc(100% - 20px) 100%,20px 100%,0% calc(100% - 20px),0% 20px);background:linear-gradient(135deg,#1a1a1a 0%,#2d2d2d 100%);width:90vw;min-width:700px;max-width:1200px;max-height:80vh;position:relative;overflow-y:auto;box-shadow:0 25px 50px -12px #00000080,0 0 0 1px #ffffff1a}.popup-content{text-align:center;flex-direction:column;align-items:center;gap:2rem;padding:4rem 4rem 3.5rem;display:flex}.popup-title{color:#f4f4f4;letter-spacing:-.02em;margin:0;font-family:PP Neue Montreal,Arial,sans-serif;font-size:2.25rem;font-weight:500;line-height:1.2}.popup-message{color:#f4f4f4cc;max-width:600px;margin:0;font-family:PP Neue Montreal,Arial,sans-serif;font-size:1.125rem;font-weight:400;line-height:1.6}.construction-notice{clip-path:polygon(6px 0%,calc(100% - 6px) 0%,100% 6px,100% calc(100% - 6px),calc(100% - 6px) 100%,6px 100%,0% calc(100% - 6px),0% 6px);background:#ffffff08;border:1px solid #ffffff14;border-radius:8px;align-items:center;gap:1rem;margin:.75rem 0;padding:1.25rem 1.5rem;display:flex}.notice-icon{flex-shrink:0;width:10px;height:10px;position:relative}.pulsing-dot{background:gold;border-radius:50%;width:100%;height:100%;box-shadow:0 0 12px #ffd70099,0 0 20px #ffd7004d}.notice-text{color:#f4f4f4b3;align-items:center;gap:.5rem;margin:0;font-family:PP Neue Montreal,Arial,sans-serif;font-size:.9375rem;font-weight:400;line-height:1.4;display:flex}.notice-emoji{opacity:.9;font-size:.875rem}.notice-highlight{color:gold;background:linear-gradient(135deg,gold 0%,#ffed4a 100%);-webkit-text-fill-color:transparent;opacity:.95;-webkit-background-clip:text;background-clip:text;font-weight:500}.construction-notice.error-state{background:#ff00000d;border-color:#f003}.pulsing-dot.error-dot{background:#f44;box-shadow:0 0 12px #f449,0 0 20px #ff44444d}.notice-highlight.error-text{color:#f44;background:linear-gradient(135deg,#f44 0%,#ff6b6b 100%);-webkit-text-fill-color:transparent;opacity:1;-webkit-background-clip:text;background-clip:text}.popup-button{color:#1a1a1a;cursor:pointer;text-transform:uppercase;letter-spacing:.05em;clip-path:polygon(8px 0%,calc(100% - 8px) 0%,100% 8px,100% calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,0% calc(100% - 8px),0% 8px);background-color:#f4f4f4;border:none;justify-content:center;align-items:center;gap:.5rem;margin-top:1rem;padding:1rem 2.5rem;font-family:PP Neue Montreal,Arial,sans-serif;font-size:1rem;font-weight:500;transition:all .3s;display:flex}.button-content{align-items:center;gap:.5rem;display:flex}.button-arrow{transition:transform .3s;display:inline-block}.popup-button:hover{background-color:#fff;transform:translateY(-2px);box-shadow:0 10px 20px -5px #ffffff4d}.popup-button:active{transform:translateY(0)}@media screen and (max-width:767px){.loader-popup{clip-path:polygon(12px 0%,calc(100% - 12px) 0%,100% 12px,100% calc(100% - 12px),calc(100% - 12px) 100%,12px 100%,0% calc(100% - 12px),0% 12px);width:92vw;min-width:320px;max-width:95vw;max-height:80vh}.popup-content{gap:1.75rem;padding:2.5rem 2rem 2rem}.popup-title{font-size:1.75rem}.popup-message{max-width:100%;font-size:1rem}.popup-button{clip-path:polygon(6px 0%,calc(100% - 6px) 0%,100% 6px,100% calc(100% - 6px),calc(100% - 6px) 100%,6px 100%,0% calc(100% - 6px),0% 6px);padding:.875rem 2rem;font-size:.9375rem}.construction-notice{gap:.75rem;padding:1rem 1.25rem}.notice-icon{width:8px;height:8px}.notice-text{font-size:.875rem}.notice-emoji{font-size:.8125rem}}@media screen and (max-width:480px){.loader-popup{width:95vw;min-width:280px;max-width:98vw}.popup-content{padding:2rem 1.75rem 1.75rem}.popup-title{font-size:1.5rem}.popup-message{font-size:.9375rem}.popup-button{padding:.8125rem 1.75rem;font-size:.875rem}}
