.variable-proximity{display:inline}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.ascii-stripes{width:100%;overflow:hidden;position:relative;max-width:100%}.ascii-line{font-family:Courier New,Monaco,Menlo,Consolas,monospace;font-size:clamp(.8rem,1.5vw,1.2rem);color:#06f;margin:0;padding:0;white-space:pre;letter-spacing:.05em;line-height:1.2;text-align:left;animation:scroll 15s linear infinite;display:block;width:200%;will-change:transform;transform:translateZ(0)}@keyframes scroll{0%{transform:translate(0) translateZ(0)}to{transform:translate(-50%) translateZ(0)}}@media (max-width: 768px){.ascii-line{font-size:clamp(.6rem,2vw,1rem);letter-spacing:.03em}}@media (max-width: 480px){.ascii-line{font-size:clamp(.5rem,2.5vw,.9rem)}}body.dark-theme .ascii-line{color:#fff}.scroll-shapes-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10;overflow:hidden}.scroll-shape{position:fixed;right:0;width:clamp(400px,50vw,900px);height:clamp(550px,65vh,1200px);opacity:0;transform:translate(clamp(400px,50vw,900px)) translateY(-50%);pointer-events:none;z-index:100;will-change:transform,opacity}.shape-image{width:100%;height:100%;object-fit:contain;object-position:center;display:block}.shape-placeholder{width:100%;height:100%;background-color:#06f;border-radius:4px;box-shadow:0 4px 12px #0066ff4d;display:none;position:absolute;top:0;left:0}.shape-0,.shape-1,.shape-2,.shape-3{top:50vh}@media (max-width: 768px){.scroll-shape{width:clamp(250px,50vw,500px);height:clamp(350px,60vh,700px);transform:translate(clamp(250px,50vw,500px)) translateY(-50%)}}@media (max-width: 480px){.scroll-shape{width:clamp(200px,60vw,400px);height:clamp(280px,55vh,550px);transform:translate(clamp(200px,60vw,400px)) translateY(-50%)}}@media (max-width: 360px){.scroll-shape{width:clamp(180px,65vw,350px);height:clamp(250px,50vh,480px);transform:translate(clamp(180px,65vw,350px)) translateY(-50%)}}body.dark-theme .shape-placeholder{background-color:#1a1a1a}.projects-section{min-height:100vh;position:relative;display:flex;align-items:center;padding:4rem;background-color:#fff;overflow:visible}.projects-text{position:relative;z-index:2;opacity:0;transform:translate(-50px);transition:opacity .8s ease-out,transform .8s ease-out;text-align:left;width:100%}.projects-text.visible{opacity:1;transform:translate(0)}.projects-line-base{position:relative;text-align:left}.projects-line-overlay{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;transition:opacity .2s ease;pointer-events:none;text-align:left;mask-image:radial-gradient(circle 300px at var(--mouse-x, 50%) var(--mouse-y, 50%),black 0%,black 40%,transparent 70%,transparent 100%);-webkit-mask-image:radial-gradient(circle 300px at var(--mouse-x, 50%) var(--mouse-y, 50%),black 0%,black 40%,transparent 70%,transparent 100%)}.projects-line-overlay.active{opacity:1}.projects-line{font-family:Helvetica,Helvetica Neue,Arial,sans-serif;font-weight:700;font-size:clamp(3rem,8vw,8rem);line-height:1.1;margin-bottom:.2em;display:block;text-align:left}.projects-line-base .projects-line{color:#000}.projects-line-overlay .projects-line{color:#06f}.projects-sun{position:absolute;right:-35vw;bottom:-35vh;width:clamp(600px,70vw,1200px);height:clamp(600px,70vw,1200px);opacity:0;transform:translate(0) rotate(0);transition:opacity .3s ease-out,transform .3s ease-out;z-index:1;pointer-events:none;will-change:transform,opacity}.sun-image{width:100%;height:100%;object-fit:contain;display:block}.sun-placeholder{width:100%;height:100%;background:radial-gradient(circle,#06f,#04c);border-radius:50%;display:none;position:absolute;top:0;left:0}@media (max-width: 768px){.projects-section{padding:3rem 2rem;flex-direction:column;justify-content:center;min-height:80vh}.projects-text{margin-bottom:2rem;text-align:left}.projects-line-base{text-align:left}.projects-line{font-size:clamp(2.5rem,10vw,6rem)}.projects-line-overlay{mask-image:radial-gradient(circle 250px at var(--mouse-x, 50%) var(--mouse-y, 50%),black 0%,black 40%,transparent 70%,transparent 100%);-webkit-mask-image:radial-gradient(circle 250px at var(--mouse-x, 50%) var(--mouse-y, 50%),black 0%,black 40%,transparent 70%,transparent 100%)}.projects-sun{position:fixed;right:-25vw;top:50%;transform:translateY(-50%) rotate(0);width:clamp(400px,70vw,800px);height:clamp(400px,70vw,800px)}.projects-section{overflow-x:hidden}}@media (max-width: 480px){.projects-section{padding:2rem 1rem;min-height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow-x:hidden}.projects-text{text-align:center;margin-bottom:0;width:100%;max-width:100%}.projects-line-base{text-align:center}.projects-line-overlay{display:none}.projects-line{font-size:clamp(2rem,12vw,4.5rem);text-align:center;margin-bottom:.15em}.projects-sun{display:none}}@media (max-width: 360px){.projects-section{padding:1.5rem .8rem;min-height:60vh}.projects-line{font-size:clamp(1.5rem,14vw,3.5rem)}.projects-sun{width:clamp(250px,85vw,500px);height:clamp(250px,85vw,500px)}}body.dark-theme .projects-section{background-color:#000}body.dark-theme .projects-line-base .projects-line,body.dark-theme .projects-line-overlay .projects-line{color:#fff}body.dark-theme .sun-placeholder{background:radial-gradient(circle,#1a1a1a,#000)}.numbers-section{min-height:100vh;position:relative;display:flex;flex-direction:column;justify-content:center;padding:4rem 4rem 4rem 12rem;background-color:#fff;gap:4rem}.number-item{display:flex;align-items:center;gap:3rem;min-height:200px}.number-item-left{flex-direction:row;justify-content:flex-start}.number-item-right{flex-direction:row-reverse;justify-content:flex-end}.number-image-container{position:relative;flex-shrink:0;width:clamp(200px,25vw,400px);height:clamp(200px,25vw,400px)}.number-image-container-large{width:clamp(300px,35vw,600px);height:clamp(300px,35vw,600px)}.number-image{width:100%;height:100%;object-fit:contain;display:block}.number-placeholder{display:none;width:100%;height:100%;align-items:center;justify-content:center;font-family:Helvetica,Helvetica Neue,Arial,sans-serif;font-weight:700;font-size:clamp(4rem,10vw,10rem);color:#000;background-color:#f0f0f0;border-radius:8px}.number-text{font-family:Helvetica,Helvetica Neue,Arial,sans-serif;font-weight:400;font-size:clamp(1.5rem,3vw,2.5rem);color:#000;line-height:1.4;flex:1;max-width:600px}.number-item-left .number-text{text-align:left}.number-item-right .number-text{text-align:right}.number-item-01{flex-direction:row;justify-content:flex-start;align-items:flex-start}.number-item-02{flex-direction:row-reverse;justify-content:flex-end;align-items:flex-start}.number-text-content-right{padding-left:0;padding-right:3rem}.number-item-03{flex-direction:row;justify-content:flex-start;align-items:flex-start}.number-item-04{flex-direction:row-reverse;justify-content:flex-end;align-items:flex-start}.number-text-content{flex:1;max-width:600px;padding-left:3rem;padding-top:4rem}.number-title-italic{font-family:Cormorant Garamond,EB Garamond,Georgia,serif;font-style:italic;font-weight:700;font-size:clamp(2rem,4vw,3.5rem);color:#000;margin-bottom:1.5rem;line-height:1.2}.number-description{font-family:Helvetica,Helvetica Neue,Arial,sans-serif;font-weight:700;font-size:clamp(1rem,1.5vw,1.25rem);color:#000;line-height:1.6;margin-bottom:1.5rem}.number-description:last-child{margin-bottom:0}@media (max-width: 768px){.numbers-section{padding:3rem 2rem;gap:3rem}.number-item{flex-direction:column!important;align-items:center;gap:2rem;min-height:auto}.number-item-01,.number-item-02,.number-item-03,.number-item-04{flex-direction:column!important;align-items:center}.number-text-content-right{padding-right:0;padding-left:0}.number-text-content{padding-left:0;padding-right:0;padding-top:0;max-width:100%}.number-item-left .number-text,.number-item-right .number-text{text-align:center}.number-image-container{width:clamp(150px,30vw,300px);height:clamp(150px,30vw,300px)}.number-image-container-large{width:clamp(200px,40vw,400px);height:clamp(200px,40vw,400px)}.number-text{text-align:center!important;max-width:100%}.number-title-italic,.number-description{text-align:center}}@media (max-width: 480px){.numbers-section{padding:2rem 1rem;gap:2rem;min-height:auto}.number-item{gap:1.5rem}.number-image-container{width:clamp(120px,40vw,250px);height:clamp(120px,40vw,250px)}.number-image-container-large{width:clamp(150px,50vw,300px);height:clamp(150px,50vw,300px)}.number-text{font-size:clamp(1.2rem,5vw,1.8rem)}.number-text-content{padding-left:0;padding-right:0;padding-top:0}.number-title-italic{font-size:clamp(1.5rem,6vw,2.5rem);margin-bottom:1rem}.number-description{font-size:clamp(.9rem,4vw,1.1rem);margin-bottom:1rem}}body.dark-theme .numbers-section{background-color:#000}body.dark-theme .number-placeholder{color:#fff;background-color:#1a1a1a}body.dark-theme .number-text,body.dark-theme .number-title-italic,body.dark-theme .number-description{color:#fff}.pixelate-section{width:100%;min-height:50vh;display:flex;align-items:center;justify-content:center;padding:8rem 4rem;background-color:#fff;position:relative;overflow:hidden}.pixelate-container{display:flex;align-items:center;justify-content:center;gap:.1em;flex-wrap:wrap}.pixelate-letter{font-family:Helvetica,Helvetica Neue,Arial,sans-serif;font-weight:700;font-size:clamp(4rem,15vw,20rem);line-height:1;color:#06f;display:inline-block;transition:font-family .3s ease,font-size .3s ease;text-transform:uppercase;letter-spacing:.02em}.pixelate-letter.pixelated{font-family:"Press Start 2P",Courier New,Monaco,Menlo,Consolas,monospace;font-weight:400;font-size:clamp(3.2rem,12.5vw,16.5rem);image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges}@media (max-width: 768px){.pixelate-section{padding:4rem 2rem;min-height:35vh}.pixelate-letter{font-size:clamp(2.5rem,10vw,12rem)}.pixelate-letter.pixelated{font-size:clamp(2rem,8.5vw,10rem)}}@media (max-width: 480px){.pixelate-section{padding:3rem 1rem;min-height:30vh}.pixelate-letter{font-size:clamp(2rem,12vw,8rem)}.pixelate-letter.pixelated{font-size:clamp(1.6rem,10vw,6.5rem)}.pixelate-container{gap:.05em}}@media (max-width: 360px){.pixelate-section{padding:2.5rem .8rem;min-height:25vh}.pixelate-letter{font-size:clamp(1.5rem,14vw,6rem)}.pixelate-letter.pixelated{font-size:clamp(1.2rem,12vw,5rem)}}body.dark-theme .pixelate-section{background-color:#000}body.dark-theme .pixelate-letter{color:#fff}.footer{display:flex;align-items:center;padding:2rem 4rem;background-color:#06f;color:#fff;position:relative}.footer-content{max-width:100%;width:100%;display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:3rem}.footer-contacts-wrapper{display:flex;flex-direction:row;align-items:center;gap:3rem}.footer-contacts-title{font-family:Helvetica,Helvetica Neue,Arial,sans-serif;font-weight:700;font-size:clamp(.9rem,1.5vw,1.2rem);color:#fff;margin:0;white-space:nowrap}.footer-contact-item{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;white-space:nowrap}.footer-link{font-family:Helvetica,Helvetica Neue,Arial,sans-serif;font-weight:400;font-size:clamp(.9rem,1.8vw,1.3rem);color:#fff;text-decoration:none;transition:opacity .3s ease;display:inline-block}.footer-link:hover{opacity:.7}.footer-contact-value{font-family:Helvetica,Helvetica Neue,Arial,sans-serif;font-weight:400;font-size:clamp(.8rem,1.5vw,1.1rem);color:#fff;opacity:.9}.footer-contact-link{text-decoration:none;cursor:pointer;transition:opacity .3s ease}.footer-contact-link:hover{opacity:.7}.footer-logo{align-self:center;margin-left:auto}.footer-logo-image{height:clamp(2rem,5vw,4rem);width:auto;display:block}@media (max-width: 768px){.footer{padding:1.5rem 2rem}.footer-content{gap:2rem;flex-wrap:wrap;justify-content:space-between}.footer-contacts-wrapper{gap:2rem;flex-wrap:wrap}.footer-logo{margin-left:0}}@media (max-width: 480px){.footer{padding:1.5rem 1rem}.footer-content{gap:1.5rem;flex-wrap:wrap;flex-direction:column;align-items:flex-start}.footer-contacts-wrapper{gap:1.5rem;flex-direction:column;width:100%}.footer-contacts-title{font-size:clamp(.9rem,4vw,1.1rem);margin-bottom:.5rem}.footer-contact-item{width:100%}.footer-link{font-size:clamp(.9rem,4vw,1.1rem)}.footer-contact-value{font-size:clamp(.8rem,3.5vw,1rem)}.footer-logo{margin-left:0;align-self:flex-end;width:100%;display:flex;justify-content:flex-end;margin-top:1rem}.footer-logo-image{height:clamp(2.5rem,8vw,3.5rem)}}body.dark-theme .footer{background-color:#fff;color:#000}body.dark-theme .footer-contacts-title,body.dark-theme .footer-link,body.dark-theme .footer-contact-value{color:#000}.toggles-container{position:fixed;top:2rem;right:2rem;display:flex;align-items:center;gap:0;z-index:1000;border:1px solid #0066ff;border-radius:0}.language-toggle{font-family:"Press Start 2P",Courier New,Monaco,Menlo,Consolas,monospace;font-size:.6rem;background:transparent;border:none;color:#000;cursor:pointer;padding:.5rem .8rem;display:flex;align-items:center;gap:.3rem;transition:opacity .3s ease;position:relative}.language-toggle:hover{opacity:.7}.language-toggle .separator{opacity:.5}.language-toggle .active{opacity:1;font-weight:700}.language-toggle span:not(.active){opacity:.5}body.dark-theme .language-toggle{color:#fff}@media (max-width: 768px){.toggles-container{top:1.5rem;right:1.5rem}.language-toggle{font-size:.5rem;padding:.4rem .6rem}}@media (max-width: 480px){.toggles-container{top:1rem;right:1rem;left:auto}.language-toggle{font-size:.4rem;padding:.3rem .4rem;gap:.2rem}}@media (max-width: 360px){.toggles-container{top:.8rem;right:.8rem}.language-toggle{font-size:.35rem;padding:.25rem .35rem}}.theme-toggle{font-family:"Press Start 2P",Courier New,Monaco,Menlo,Consolas,monospace;font-size:.6rem;background:transparent;border:none;color:#000;cursor:pointer;padding:.5rem .8rem;display:flex;align-items:center;gap:.3rem;transition:opacity .3s ease;position:relative}.theme-toggle:hover{opacity:.7}.theme-toggle .separator{opacity:.5}.theme-toggle .active{opacity:1;font-weight:700}.theme-toggle span:not(.active){opacity:.5}body.dark-theme .theme-toggle{color:#fff}body.dark-theme .toggles-container{border-color:#fff}@media (max-width: 768px){.toggles-container{top:1.5rem;right:1.5rem}.theme-toggle{font-size:.5rem;padding:.4rem .6rem}}@media (max-width: 480px){.toggles-container{top:1rem;right:1rem;left:auto}.theme-toggle,.language-toggle{font-size:.4rem;padding:.3rem .4rem;gap:.2rem}}@media (max-width: 360px){.toggles-container{top:.8rem;right:.8rem}.theme-toggle,.language-toggle{font-size:.35rem;padding:.25rem .35rem}}.main-page{min-height:100vh;position:relative;padding:3rem 4rem;background-color:#fff;animation:fadeIn .8s ease-in-out;z-index:1;width:100%}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.text-block{font-family:Helvetica,Helvetica Neue,Arial,sans-serif;font-weight:700;color:#000;position:absolute;opacity:0;animation:fadeInUp .8s ease-out forwards}.logo-container{position:absolute;top:2rem;left:2rem;z-index:2;opacity:0;animation:fadeInUp .8s ease-out forwards;animation-delay:.1s}@media (max-width: 768px){.logo-container{top:1.5rem;left:1.5rem}.logo{height:clamp(3rem,10vw,8rem)}}@media (max-width: 480px){.logo-container{top:1rem;left:1rem}.logo{height:clamp(2.5rem,12vw,6rem)}}.logo-container.logo-bottom-right{top:auto;left:auto;bottom:2rem;right:2rem;animation-delay:1.1s}.logo{height:clamp(5rem,12vw,10rem);width:auto;display:block}.text-large{font-size:clamp(1.5rem,4vw,3rem);line-height:1.2}.text-medium{font-size:clamp(1rem,2.5vw,1.8rem);line-height:1.3}.text-center{top:30vh;left:50%;transform:translate(-50%);text-align:center;animation-delay:.3s}.text-left{top:50vh;left:3rem;text-align:left;animation-delay:.5s}.text-right{top:70vh;right:3rem;text-align:right;animation-delay:.7s}.text-bottom-left{bottom:8rem;left:3rem;text-align:left;animation-delay:.9s}.text-bottom-right{font-size:clamp(2.5rem,6vw,5rem);bottom:2rem;right:2rem;animation-delay:1.1s}.text-line{display:block;margin-bottom:.2em}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.main-page{padding:2rem}.text-title{top:1.5rem;left:1.5rem}.text-center{top:25vh}.text-left{top:45vh;left:2rem}.text-right{top:65vh;right:2rem}.text-bottom-left{bottom:6rem;left:2rem}.text-bottom-right{bottom:1.5rem;right:1.5rem}}@media (max-width: 480px){.main-page{padding:1.5rem 1rem;overflow-x:hidden;display:flex;flex-direction:column;gap:2rem}.text-title{top:1rem;left:1rem;font-size:clamp(2rem,10vw,4rem)}.text-block{position:relative!important;width:100%;max-width:100%;box-sizing:border-box;word-wrap:break-word;overflow-wrap:break-word;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;transform:none!important;margin:0;padding:0}.text-center{text-align:center;order:1;margin-top:6rem}.text-left{text-align:center;order:2}.text-right{text-align:center;order:3}.text-bottom-left{text-align:center;order:4}.text-bottom-right{font-size:clamp(1.8rem,8vw,3rem);text-align:center;order:5}.text-large{font-size:clamp(1.2rem,6vw,2rem);line-height:1.3}.text-medium{font-size:clamp(1rem,5vw,1.5rem);line-height:1.4}}@media (max-width: 360px){.main-page{padding:1rem}.text-title{font-size:clamp(1.5rem,12vw,3rem)}.text-large{font-size:clamp(1rem,5vw,1.5rem)}.text-medium{font-size:clamp(.85rem,4vw,1.2rem)}}body.dark-theme .main-page{background-color:#000}body.dark-theme .text-block{color:#fff}.projects-page{min-height:100vh;padding:2rem 4rem;display:flex;flex-direction:column;background-color:#fff;transition:background-color .3s ease;animation:fadeIn .5s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.projects-page-header{margin-bottom:3rem}.projects-back-button{font-family:Helvetica,Helvetica Neue,Arial,sans-serif;font-weight:700;font-size:1rem;background:transparent;border:none;color:#06f;cursor:pointer;padding:.5rem 1rem;transition:opacity .3s ease}.projects-back-button:hover{opacity:.7}.projects-carousel{display:flex;align-items:center;justify-content:center;gap:2rem;flex:1;position:relative;min-height:60vh}.carousel-button{font-family:"Press Start 2P",Courier New,Monaco,Menlo,Consolas,monospace;font-size:2rem;background:transparent;border:none;color:#000;cursor:pointer;padding:1rem;transition:opacity .3s ease,transform .3s ease;z-index:10;-webkit-user-select:none;user-select:none;line-height:1}.carousel-button:hover{opacity:.7;transform:scale(1.1)}.carousel-button:active{transform:scale(.95)}.carousel-wrapper{flex:1;display:flex;align-items:center;justify-content:center;gap:2rem;max-width:1400px;position:relative;overflow:hidden}.carousel-item{display:flex;flex-direction:column;align-items:center;gap:2rem;flex:0 0 33.333%;opacity:.4;transform:scale(.85);transition:opacity .3s ease,transform .3s ease;pointer-events:none;border:3px solid rgba(0,102,255,.3);border-radius:12px;padding:1.5rem;box-sizing:border-box}.carousel-item.active{opacity:1;transform:scale(1);pointer-events:auto;flex:0 0 40%;border:3px solid #0066ff}.carousel-image-container{width:100%;aspect-ratio:16 / 9;position:relative;background-color:#f0f0f0;border-radius:8px;overflow:hidden;transition:opacity .3s ease,transform .3s ease}.carousel-image-container:hover{opacity:.9;transform:scale(1.02)}.carousel-image{width:100%;height:100%;object-fit:contain;display:block;border-radius:5px}.carousel-image-placeholder{display:none;width:100%;height:100%;align-items:center;justify-content:center;font-family:Helvetica,Helvetica Neue,Arial,sans-serif;font-size:2rem;color:#666}.carousel-description{text-align:center;width:100%}.carousel-title{font-family:"Press Start 2P",Courier New,Monaco,Menlo,Consolas,monospace;font-weight:400;font-size:clamp(.8rem,1.5vw,1.2rem);color:#06f;margin-bottom:1.5rem;line-height:1.4;text-align:center;transition:opacity .3s ease}.carousel-title:hover{opacity:.7}.carousel-text{font-family:Helvetica,Helvetica Neue,Arial,sans-serif;font-weight:700;font-size:clamp(1rem,1.5vw,1.25rem);color:#000;line-height:1.6;text-align:center}.carousel-indicators{display:flex;justify-content:center;gap:.5rem;margin-top:3rem;padding-bottom:2rem}.carousel-indicator{width:12px;height:12px;border-radius:50%;border:2px solid #000000;background:transparent;cursor:pointer;transition:background-color .3s ease,transform .3s ease;padding:0}.carousel-indicator:hover{transform:scale(1.2)}.carousel-indicator.active{background-color:#000}.projects-page-empty{min-height:100vh;display:flex;align-items:center;justify-content:center;font-family:Helvetica,Helvetica Neue,Arial,sans-serif;font-size:1.5rem;color:#000}body.dark-theme .projects-page{background-color:#000}body.dark-theme .projects-back-button,body.dark-theme .carousel-title,body.dark-theme .carousel-button{color:#fff}body.dark-theme .carousel-image-container{background-color:#1a1a1a}body.dark-theme .carousel-item{border-color:#fff6}body.dark-theme .carousel-item.active{border-color:#fff}body.dark-theme .carousel-image-placeholder{color:#999}body.dark-theme .carousel-title,body.dark-theme .carousel-text{color:#fff}body.dark-theme .carousel-indicator{border-color:#fff}body.dark-theme .carousel-indicator.active{background-color:#fff}body.dark-theme .projects-page-empty{color:#fff}@media (max-width: 768px){.projects-page{padding:1.5rem 2rem}.projects-page-header{margin-bottom:2rem}.projects-back-button{font-size:.9rem;padding:.4rem .8rem}.projects-carousel{gap:1rem;min-height:50vh}.carousel-button{font-size:1.5rem;padding:.5rem}.carousel-wrapper{gap:1rem}.carousel-item{flex:0 0 28%;gap:1.5rem;padding:1rem}.carousel-item.active{flex:0 0 44%}.carousel-title{font-size:clamp(.7rem,2vw,1rem);margin-bottom:1rem}.carousel-text{font-size:clamp(.9rem,2vw,1.1rem)}.carousel-indicators{margin-top:2rem;padding-bottom:1.5rem}}@media (max-width: 480px){.projects-page{padding:1rem}.projects-page-header{margin-bottom:1.5rem}.projects-back-button{font-size:.85rem;padding:.3rem .6rem}.projects-carousel{gap:.5rem;min-height:45vh}.carousel-button{font-size:1.2rem;padding:.3rem}.carousel-wrapper{gap:.5rem}.carousel-item{flex:0 0 0%;gap:1rem;padding:1rem;border-width:2px}.carousel-item.active{flex:0 0 100%}.carousel-item:not(.active){display:none}.carousel-image-container{border-radius:4px}.carousel-title{font-size:clamp(.6rem,3vw,.9rem);margin-bottom:.8rem;line-height:1.3}.carousel-text{font-size:clamp(.85rem,3.5vw,1rem);line-height:1.5}.carousel-indicators{gap:.3rem;margin-top:1.5rem;padding-bottom:1rem}.carousel-indicator{width:10px;height:10px}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;background-color:#fff;background-image:radial-gradient(circle,rgba(0,0,0,.15) 1px,transparent 1px);background-size:20px 20px;color:#000;overflow-x:hidden;overflow-y:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .3s ease,color .3s ease}body.dark-theme{background-color:#000;background-image:radial-gradient(circle,rgba(255,255,255,.15) 1px,transparent 1px);background-size:20px 20px;color:#fff}html{background-color:#fff;transition:background-color .3s ease;overflow-x:hidden}@media (max-width: 768px){html{overflow-x:hidden;width:100%;max-width:100vw}body{overflow-x:hidden;position:relative;width:100%;max-width:100vw}#root{overflow-x:hidden;width:100%;max-width:100vw}}body.dark-theme html{background-color:#000}#root{width:100%;min-height:100vh}.hero{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;width:100%;padding:2rem;position:relative;transform:translateZ(0);will-change:contents;transition:opacity .8s ease,transform .8s ease}.hero.fade-out{opacity:0;transform:translateY(-30px) translateZ(0)}.hero-title{cursor:pointer}.ascii-stripes-top{margin-bottom:2rem}.ascii-stripes-bottom{margin-top:2rem}.hero-title{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;line-height:1.1;font-weight:900;letter-spacing:.02em;transform:translateZ(0);width:100%;cursor:pointer;transition:transform .3s ease}.hero-title:hover{transform:scale(1.02) translateZ(0)}.hero-title:active{transform:scale(.98) translateZ(0)}body.dark-theme .hero{background-color:#000}body.dark-theme .hero-title{color:#fff}@media (max-width: 768px){.hero{padding:1rem;min-height:100vh}.hero-title{font-size:clamp(2rem,15vw,6rem);letter-spacing:.01em}.ascii-stripes-top{margin-bottom:1.5rem}.ascii-stripes-bottom{margin-top:1.5rem}}@media (max-width: 480px){.hero{padding:.5rem;min-height:100vh}.hero-title{font-size:clamp(1.5rem,18vw,4rem)}.ascii-stripes-top{margin-bottom:1rem}.ascii-stripes-bottom{margin-top:1rem}}@media (max-width: 360px){.hero{padding:.5rem}.hero-title{font-size:clamp(1.2rem,20vw,3.5rem)}}.variable-proximity{font-feature-settings:"liga" on,"kern" on;text-rendering:optimizeLegibility}@media (prefers-reduced-motion: reduce){.variable-proximity *{transition:none!important}}
