body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}html{scroll-behavior:smooth}#homepage,body,html{background:#0a192f;color:#fff;font-family:SF Mono,Fira Code,Fira Mono,Roboto Mono,monospace;height:100%;margin:0;min-height:100vh;overflow-x:hidden;padding:0;text-align:center;width:100%}#homepage{display:flex;flex-direction:column;min-height:100vh}.skip-to-content{background:#64ffda;border-radius:0 0 6px 6px;color:#0a192f;font-weight:600;left:50%;padding:.75rem 1.5rem;position:absolute;text-decoration:none;top:-100%;transform:translateX(-50%);transition:top .2s ease;z-index:9999}.skip-to-content:focus{top:0}#navbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#0a192fd9;border-bottom:1px solid #ffffff1a;box-shadow:0 4px 30px #0000001a;box-sizing:border-box;justify-content:space-between;min-height:70px;padding:1rem 2rem;position:-webkit-sticky;position:sticky;top:0;z-index:1000}#navbar,.nav-menu{align-items:center;display:flex}.nav-menu{gap:2rem}.nav-links{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center}.nav-right{align-items:center;display:flex;gap:1.25rem}.mobile-menu-toggle{background:#0a192fbf;border:1px solid #64ffda66;border-radius:8px;cursor:pointer;display:none;flex-direction:column;gap:5px;height:40px;justify-content:center;transition:border-color .2s ease,background .2s ease;width:40px}.mobile-menu-toggle span{background:#64ffda;display:block;height:2px;margin:0 auto;transition:transform .3s ease,opacity .3s ease;width:18px}.mobile-menu-toggle.open span:first-child{transform:translateY(7px) rotate(45deg)}.mobile-menu-toggle.open span:nth-child(2){opacity:0}.mobile-menu-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.navbar-links{color:#8892b0;font-size:1rem;position:relative;text-decoration:none;transition:color .3s ease}.navbar-links.active,.navbar-links:hover{color:#64ffda}.navbar-links.active:after{background-color:#64ffda;bottom:-5px;content:"";height:2px;left:0;position:absolute;width:100%}#logo{flex-shrink:0;height:40px;transition:transform .3s ease;width:40px}#logo:hover{transform:scale(1.05)}#social-links-div{align-items:center;display:flex;gap:1rem}.icons{height:24px;width:24px}.icons,.x-icon{transition:transform .3s ease,color .3s ease}.x-icon{color:#8892b0;height:20px;width:20px}.icons:hover,.x-icon:hover{color:#64ffda;transform:translateY(-3px)}.main-content{align-items:center;display:flex;flex:1 1;flex-direction:column;margin-left:auto;margin-right:auto;margin-top:2rem;max-width:1200px;min-height:calc(100vh - 80px);padding:2.5rem 2rem}.containers,.main-content{box-sizing:border-box;width:100%}.containers{margin:0 auto;padding:20px;position:relative;text-align:center}.components{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172a80;border:1px solid #ffffff1a;border-radius:15px;box-sizing:border-box;margin:3% auto;max-width:1200px;min-width:300px;padding:2rem;width:90%}.h1{font-size:120px;font-weight:600;text-shadow:0 0 20px #64ffda33}.h1,.h2{color:#fff;font-family:Calibre,San Francisco,SF Pro Text,-apple-system,system-ui,sans-serif;margin:0}.h2{font-size:60px;text-shadow:0 0 15px #64ffda1a}.h2-standard{font-size:25px}.h2-standard,.h3{color:#fff;letter-spacing:.5px;margin:0}.h3{font-size:20px}.h4,.h5{color:#fff;letter-spacing:.5px;margin:0}.p{color:#fff;font-family:prestige-elite-std,monospace;font-size:25px;line-height:1.6;margin-top:0}.buttons{background:#0000;border:1px solid #64ffda;border-radius:5px;box-sizing:border-box;color:#64ffda;font-family:SF Mono,Fira Code,Fira Mono,Roboto Mono,monospace;font-size:20px;font-weight:700;height:auto;min-width:120px;outline:none;overflow:hidden;overflow-wrap:break-word;padding:.75em 2em;position:relative;text-align:center;transition:all .3s ease;white-space:normal}.buttons:hover{background:#64ffda1a;box-shadow:0 5px 15px #64ffda33;cursor:pointer;transform:translateY(-2px)}.buttons:active{transform:translateY(0)}.one-second-animation{animation:fadeIn 1s ease}.three-second-animation{animation:fadeIn 3s ease}.five-second-animation{animation:fadeIn 5s ease}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (max-width:1024px){#navbar{padding:.75rem}.nav-links{gap:1rem}.navbar-links{font-size:.85rem}}@media (max-width:768px){#navbar{flex-wrap:wrap;padding:1rem 1.25rem}.mobile-menu-toggle{display:flex}.nav-menu{display:none;flex-direction:column;gap:1.25rem;margin-top:1rem;width:100%}.nav-menu.open{display:flex}.nav-links{gap:.75rem;text-align:center}.nav-links,.nav-right{flex-direction:column;width:100%}.nav-right{gap:1rem}#social-links-div{align-items:center;flex-direction:row;gap:.5rem;justify-content:center;margin-top:0;min-height:0;min-height:auto;width:auto}.icons,.x-icon{height:20px;width:20px}.main-content{margin-top:1.5rem;padding:1.5rem 1rem}}.tetris-container{gap:1rem;height:100%;max-width:100%;overflow:hidden;padding:1.5rem;position:relative}.mode-toggle,.tetris-container{align-items:center;display:flex;flex-direction:column}.mode-toggle{gap:.35rem;text-align:center}.mode-buttons{background:#0a192fb3;border:1px solid #64ffda80;border-radius:999px;display:inline-flex;overflow:hidden}.mode-button{background:#0000;border:none;color:#64ffda;cursor:pointer;font-weight:600;letter-spacing:.5px;min-width:150px;padding:.55rem 1.3rem;transition:all .3s ease}.mode-button:hover{background:#64ffda26}.mode-button.active{background:#64ffda40;color:#0a192f}.mode-status{color:#64ffda;font-size:.9rem;font-weight:600;letter-spacing:.05em;margin-top:.2rem}.mode-hint{color:#ccd6f6;font-size:.85rem;max-width:420px}.game-info{grid-gap:1rem;align-items:center;color:#fff;display:grid;gap:1rem;grid-template-columns:repeat(4,minmax(0,1fr));max-width:420px;width:100%}.stat{animation:statPulse 6s ease-in-out infinite;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#15263ab3;border:1px solid #64ffda33;border-radius:8px;display:flex;flex-direction:column;padding:.6rem .8rem}.label{color:#8892b0;font-size:.75rem;letter-spacing:1px;text-transform:uppercase}.value{color:#64ffda;font-size:1.4rem;font-weight:700}.pause-button{background:#0a192f66;border:1px solid #64ffda80;border-radius:999px;color:#64ffda;cursor:pointer;font-weight:600;justify-self:end;padding:.6rem 1rem;transition:all .3s ease}.pause-button.resume,.pause-button:hover{background:#64ffda26;transform:translateY(-1px)}.game-board{align-items:center;background:#0a142199;border:2px solid #64ffda66;border-radius:12px;box-shadow:0 20px 45px #0f172a73;display:flex;justify-content:center;overflow:hidden;position:relative;transition:border-color .3s ease,box-shadow .3s ease}.game-board:after{animation:boardGlow 8s ease-in-out infinite;border:1px solid #64ffda40;border-radius:12px;content:"";inset:0;pointer-events:none;position:absolute}.game-board canvas{display:block}.game-over{background:#061122f0;border:1px solid #64ffda40;border-radius:14px;box-shadow:0 30px 60px #061122cc;color:#fff;left:50%;min-width:260px;padding:2rem;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);z-index:20}.game-over h2{color:#64ffda;letter-spacing:1px;margin-bottom:1rem}.game-over button{background:#64ffda;border:none;border-radius:999px;color:#0a192f;cursor:pointer;font-weight:700;margin:.5rem;padding:.7rem 1.4rem;transition:all .3s ease}.game-over button:hover{background:#fff;transform:translateY(-2px)}.paused{background:#061122db;border-radius:10px;box-shadow:0 10px 30px #06112299;color:#64ffda;font-size:1.6rem;font-weight:700;left:50%;letter-spacing:2px;padding:1rem 2rem;pointer-events:none;position:absolute;text-transform:uppercase;top:50%;transform:translate(-50%,-50%);z-index:12}.strudel-wrapper{align-items:center;display:flex;flex-direction:column;gap:.75rem;max-width:960px;width:100%}.strudel-iframe{background:#0a1324;border:2px solid #64ffda66;border-radius:12px;box-shadow:0 20px 45px #0f172a73;min-height:520px;width:100%}.strudel-heading{color:#64ffda;font-size:1.2rem;letter-spacing:.05em;text-transform:uppercase}.strudel-note{color:#ccd6f6;font-size:.9rem;max-width:560px;text-align:center}.strudel-note code{background:#64ffda26;border-radius:4px;color:#64ffda;padding:.2rem .4rem}.strudel-playlist{background:#0a15268c;border:1px solid #64ffda26;border-radius:12px;box-shadow:0 14px 32px #0f172a59;margin-top:1rem;padding:1.5rem;width:100%}.strudel-playlist h4{color:#64ffda;font-size:1rem;letter-spacing:.05em;margin:0 0 1rem;text-transform:uppercase}.strudel-playlist ul{display:flex;flex-direction:column;gap:1rem;list-style:none;margin:0;padding:0}.strudel-playlist__source{color:#8892b0;font-size:.85rem;margin-top:1rem;text-align:right}.strudel-playlist__source a{color:#64ffda;text-decoration:underline}.strudel-playlist__source a:hover{color:#fff}.strudel-playlist li{align-items:flex-start;background:#060f1eb3;border:1px solid #64ffda1f;border-radius:10px;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:1rem}.strudel-playlist strong{color:#ccd6f6;display:block;margin-bottom:.4rem}.strudel-playlist p{color:#8892b0;margin:0 0 .5rem}.strudel-playlist code{background:#64ffda1f;border-radius:6px;color:#64ffda;display:inline-block;font-size:.85rem;padding:.3rem .5rem;word-break:break-word}.pattern-copy{background:#0a192fbf;border:1px solid #64ffda66;border-radius:999px;color:#64ffda;cursor:pointer;padding:.45rem 1rem;transition:background .3s ease,transform .3s ease}.pattern-copy:hover{background:#64ffda33;transform:translateY(-1px)}.strudel-community{background:#0a14248c;border:1px solid #64ffda1f;border-radius:12px;box-shadow:0 12px 28px #0f172a4d;display:flex;flex-direction:column;gap:1rem;margin-top:1.5rem;padding:1.75rem;width:100%}.strudel-community h4{color:#64ffda;letter-spacing:.06em;margin:0;text-transform:uppercase}.strudel-community__blurb{color:#8892b0;margin:0}.freestyle-placeholder{background:#060f1e99;border:1px dashed #64ffda40;border-radius:10px;color:#ccd6f6;display:flex;flex-direction:column;gap:.5rem;padding:1rem}.freestyle-button{align-self:flex-start;background:#0000;border:1px solid #64ffda66;border-radius:999px;color:#64ffda;cursor:not-allowed;opacity:.6;padding:.5rem 1.2rem}.strudel-comments{color:#ccd6f6;display:flex;flex-direction:column;gap:.5rem}.strudel-comments textarea{background:#060f1e99;border:1px solid #64ffda33;border-radius:10px;color:#ccd6f6;min-height:120px;padding:.75rem;resize:vertical}.comment-submit,.strudel-comments textarea:disabled{cursor:not-allowed;opacity:.7}.comment-submit{align-self:flex-start;background:#0a192fb3;border:1px solid #64ffda66;border-radius:999px;color:#64ffda;padding:.55rem 1.3rem}@keyframes statPulse{0%,to{box-shadow:0 0 0 #64ffda00;transform:translateY(0)}50%{box-shadow:0 14px 25px #64ffda1f;transform:translateY(-3px)}}@keyframes boardGlow{0%,to{box-shadow:inset 0 0 0 #64ffda00}50%{box-shadow:inset 0 0 25px #64ffda26}}@media (max-width:768px){.tetris-container{padding:1rem}.game-info{gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr));max-width:360px}.pause-button{grid-column:span 2;justify-self:center}.game-board{max-width:320px}.strudel-iframe{min-height:440px}.mode-hint{font-size:.8rem}.mode-button{min-width:0;padding:.5rem 1rem}.mode-buttons{max-width:320px;width:100%}.strudel-playlist li{align-items:stretch;flex-direction:column}.pattern-copy{text-align:center;width:100%}}.chill-container{background:linear-gradient(135deg,#1a1a1a,#2d2d2d);display:flex;flex-direction:column;min-height:calc(100vh - 120px);padding-bottom:3rem;position:relative}.chill-container h2{color:#fff;flex-shrink:0;font-size:1.5rem;margin:0;padding:.25rem 0;text-align:center}.chill-intro{color:#ccd6f6;font-size:1rem;line-height:1.4;margin:0 0 .75rem;padding:0 1.5rem;text-align:center}.game-wrapper{align-items:flex-start;display:flex;flex:1 1;gap:2rem;justify-content:center;min-height:0;overflow:visible;padding:0 1rem 2rem}.game-controls{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#2d2d2d4d;border:1px solid #ffffff1a;border-radius:10px;flex-shrink:0;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;min-width:250px;padding:1.5rem}.game-controls h3{color:#fff;font-size:1.2rem;margin-bottom:1rem}.game-controls ul{list-style:none;margin:0;padding:0}.game-controls li{color:#fff;margin-bottom:.5rem;padding-left:1.5rem;position:relative}.game-controls li:before{color:#64ffda;content:"•";left:0;position:absolute}.mobile-controls{border-top:1px solid #ffffff1a;color:#fff;font-style:italic;margin-top:1rem;opacity:.8;padding-top:1rem}.volunteer-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#2d2d2d4d;border:1px solid #ffffff1a;border-radius:10px;margin:2rem auto 0;padding:2rem;width:min(960px,92%)}@media (max-width:768px){.chill-container{top:120px}.game-wrapper{align-items:center;flex-direction:column;padding:0}}.resume-container{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;margin:0 auto;max-width:900px;padding:2rem}.resume-header{align-items:center;border-bottom:2px solid #64ffda33;display:flex;flex-direction:column;gap:.75rem;margin-bottom:3rem;padding-bottom:2rem}.resume-header h1{font-size:3rem;letter-spacing:1.5px;margin-bottom:.25rem}.resume-header .title{color:#8892b0;font-size:1.5rem;font-weight:500}.contact-info{color:#8892b0;display:flex;flex-wrap:wrap;font-size:1rem;gap:1.5rem;justify-content:center}.contact-item{align-items:center;border:1px solid #64ffda33;border-radius:999px;color:inherit;display:inline-flex;gap:.5rem;padding:.35rem .75rem;text-decoration:none;transition:color .3s ease,border-color .3s ease,transform .3s ease}.contact-item:hover{border-color:#64ffda80;color:#64ffda;transform:translateY(-2px)}.contact-links{display:flex;flex-wrap:wrap;font-size:1rem;gap:1rem;justify-content:center}.contact-links a{align-items:center;color:#64ffda;display:inline-flex;gap:.5rem;text-decoration:none;transition:color .3s ease,transform .3s ease}.contact-links a:hover{color:#fff;transform:translateY(-2px)}.resume-section{background:#0914268c;border:1px solid #64ffda1a;border-radius:14px;box-shadow:0 8px 24px #020c1b40;padding:1.75rem}.resume-section h3{border-bottom:1px solid #64ffda33;font-size:1.6rem;letter-spacing:1px;margin-bottom:1.5rem;padding-bottom:.6rem}.summary p{color:#8892b0;font-size:1.05rem;line-height:1.75;margin:0}.achievements-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.achievement-card{background:#0a172b8c;border:1px solid #64ffda24;border-radius:12px;box-shadow:0 12px 28px #020c1b33;padding:1.5rem}.achievement-card h4{color:#ccd6f6;margin-bottom:.75rem}.achievement-card p{color:#8892b0;line-height:1.6;margin:0}.resume-section li{color:#8892b0;line-height:1.6;margin-bottom:.8rem}.job{background:#060f1e99;border:1px solid #64ffda14;border-radius:10px;margin-bottom:1.75rem;padding:1.5rem}.job-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1rem}.job-header h4{color:#64ffda;font-size:1.3rem;margin:0}.job-meta{align-items:flex-end;display:flex;flex-direction:column;gap:.2rem;text-align:right}.company{color:#ccd6f6;font-weight:600}.location{color:#8892b0cc;font-size:.85rem}.period{color:#8892b0;font-size:.9rem}.job-intro{color:#8892b0;line-height:1.6;margin:0 0 1rem}.technologies{border-top:1px solid #ffffff14;color:#8892b0;font-size:.95rem;margin-top:1rem;padding-top:1rem}.education-item{background:#09142399;border:1px solid #64ffda14;border-radius:10px;margin-bottom:0;padding:1rem}.education-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.education-item h4{color:#64ffda;margin-bottom:.5rem}.education-item p{color:#8892b0;margin:0}.tech-stack-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.tech-category{background:#09132499;border:1px solid #64ffda1f;border-radius:10px;padding:1.25rem}.tech-category h4{color:#64ffda;font-size:1.1rem;margin-bottom:.4rem}.tech-category p{color:#8892b0;line-height:1.6;margin:0}.projects-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.project-card{background:#0915268c;border:1px solid #64ffda1f;border-radius:12px;box-shadow:0 10px 24px #020c1b38;display:flex;flex-direction:column;gap:1rem;padding:1.6rem}.project-card h4{color:#ccd6f6;margin-bottom:.4rem}.project-card p{color:#8892b0;line-height:1.6;margin:0}.project-impact,.project-tech{color:#8892b0;font-size:.95rem;line-height:1.6}.pill-list{display:flex;flex-wrap:wrap;gap:.75rem}.pill{background:#64ffda1f;border:1px solid #64ffda40;border-radius:999px;color:#64ffda;font-size:.95rem;padding:.45rem 1.1rem}.languages-list{color:#8892b0;display:flex;flex-direction:column;gap:.6rem}.languages-list li{align-items:center;background:#0a152673;border:1px solid #64ffda1f;border-radius:10px;display:flex;justify-content:space-between;padding:.6rem .75rem}.volunteering-list{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.volunteer-card{background:#0813228c;border:1px solid #64ffda1a;border-radius:12px;box-shadow:0 10px 22px #020c1b33;display:flex;flex-direction:column;gap:.75rem;padding:1.5rem}.volunteer-header{align-items:center;display:flex;gap:.5rem;justify-content:space-between}.volunteer-header h4{color:#ccd6f6;margin:0}.volunteer-organisation{color:#8892b0d9;font-size:.95rem}.volunteer-card ul{margin:0;padding:0}.volunteer-card li:before{color:#64ffdacc}.download-section{margin-top:3rem;text-align:center}.download-button{background:#0000;border:1px solid #64ffda;border-radius:4px;color:#64ffda;display:inline-block;font-size:1.1rem;padding:1rem 2rem;text-decoration:none;transition:background .3s ease,transform .3s ease,box-shadow .3s ease}.download-button:hover{background:#64ffda1a;box-shadow:0 4px 20px #64ffda33;transform:translateY(-2px)}@media (max-width:768px){.resume-container{padding:1.5rem 1rem}.resume-header h1{font-size:2.4rem}.resume-section{padding:1.5rem}.contact-info{gap:.75rem}.contact-item{width:100%}.contact-item,.contact-links{justify-content:center}.job-header{flex-direction:column}.job-header,.job-meta{align-items:flex-start}.job-meta{text-align:left}.projects-grid,.volunteering-list{grid-template-columns:1fr}.languages-list li{align-items:flex-start;flex-direction:column;gap:.3rem}}.resume-page{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#2d2d2d4d;border:1px solid #ffffff1a;border-radius:10px;margin:0 auto;max-width:1200px;min-height:100vh;padding:2rem}.resume-container{color:#fff}.resume-header{margin-bottom:2rem;text-align:center}.resume-header h1{color:#64ffda;font-size:2.5rem;margin-bottom:.5rem}.resume-header p{color:#8892b0;font-size:1.2rem}.resume-section{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;margin-bottom:2rem;padding:1.5rem}.resume-section h3{color:#64ffda;font-size:1.5rem;margin-bottom:1rem}.resume-section ul{list-style:none;padding:0}.resume-section li{margin-bottom:.5rem;padding-left:1.5rem;position:relative}.resume-section li:before{color:#64ffda;content:"•";left:0;position:absolute}.education-item,.job,.project-placeholder{background:#ffffff08;border-radius:6px;margin-bottom:1.5rem;padding:1rem}.education-item h4,.job h4,.project-placeholder h4{color:#8892b0;margin-bottom:.5rem}.contact-info-section{font-size:1.1rem;text-align:center}.contact-info-section p{color:#8892b0}@media (max-width:768px){.resume-page{padding:1rem}.resume-header h1{font-size:2rem}.resume-header p{font-size:1rem}.resume-section{padding:1rem}}.home-container{align-items:center;display:flex;justify-content:center;min-height:calc(100vh - 80px);padding:2rem}.home-content{max-width:900px;text-align:center;width:100%}.hero-section{align-items:center;display:flex;gap:3rem;justify-content:center;opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.hero-section.visible{opacity:1;transform:translateY(0)}.hero-text{flex:1 1;position:relative;text-align:left}.hero-image{flex-shrink:0}.hero-image img{border:3px solid #64ffda4d;border-radius:50%;box-shadow:0 20px 40px #020c1b80;height:220px;object-fit:cover;transition:transform .4s ease,border-color .4s ease;width:220px}.hero-image img:hover{border-color:#64ffda;transform:scale(1.03)}.open-source-symbols{height:80px;margin-bottom:1rem;position:relative;width:80px}.symbol{align-items:center;color:#8892b0;display:flex;height:100%;justify-content:center;left:0;opacity:0;position:absolute;top:0;transform:scale(.8);transition:opacity .6s ease,transform .6s ease;width:100%;will-change:opacity,transform}.symbol.active{color:#64ffda;opacity:1;transform:scale(1)}.symbol svg{height:60%;width:60%}.symbol.spin-icon.active svg{animation:spin 20s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.hero-text h1{color:#ccd6f6;font-size:3.2rem;line-height:1.1;margin:0 0 .5rem}.hero-text h2{color:#64ffda;font-size:2.2rem;margin:0 0 1rem}.hero-text p{color:#8892b0;font-size:1.25rem;margin:0 0 1.5rem}.cta-buttons{display:flex;gap:1rem}.cta-button{border-radius:4px;font-size:1rem;font-weight:500;padding:.85rem 1.75rem;text-decoration:none;transition:transform .3s ease,box-shadow .3s ease}.cta-button.primary{background-color:#64ffda;color:#0a192f}.cta-button.secondary{border:1px solid #64ffda;color:#64ffda}.cta-button:hover{box-shadow:0 5px 15px #64ffda4d;transform:translateY(-3px)}.home-highlights,.home-journey{background:#0f172a99;border:1px solid #64ffda1a;border-radius:16px;box-shadow:0 20px 45px #020c1b59;margin-top:4rem;opacity:0;padding:2.5rem 2rem;text-align:left;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}.home-highlights.visible,.home-journey.visible{opacity:1;transform:translateY(0)}.home-highlights h3,.home-journey h3{color:#ccd6f6;font-size:1.8rem;margin-bottom:2rem;text-align:center}.highlight-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.highlight-card{background:#0a192f80;border:1px solid #64ffda26;border-radius:14px;padding:1.75rem 1.5rem 1.5rem;position:relative;transition:transform .3s ease,box-shadow .3s ease}.highlight-card:hover{box-shadow:0 18px 35px #64ffda1f;transform:translateY(-6px)}.icon-wrapper{align-items:center;background:#64ffda1f;border-radius:12px;color:#64ffda;display:flex;height:52px;justify-content:center;margin-bottom:1.25rem;width:52px}.icon-wrapper svg{font-size:1.6rem}.highlight-card h4{color:#ccd6f6;margin-bottom:.75rem}.highlight-card p{color:#8892b0;line-height:1.6;margin:0}.journey-timeline{display:flex;flex-direction:column;gap:1.3rem}.timeline-item{grid-gap:1.5rem;align-items:start;background:#0a192f73;border-left:3px solid #64ffda59;border-radius:12px;display:grid;gap:1.5rem;grid-template-columns:150px 1fr;opacity:0;padding:1.5rem;transform:translateY(25px);transition:opacity .5s ease,transform .5s ease}.home-journey.visible .timeline-item{opacity:1;transform:translateY(0)}.timeline-period{color:#64ffdad9;font-size:.9rem;letter-spacing:1.5px;text-transform:uppercase}.timeline-content h4{color:#ccd6f6;margin:0 0 .5rem}.timeline-content p{color:#8892b0;line-height:1.6;margin:0}@media (prefers-reduced-motion:reduce){.cta-button,.hero-image img,.hero-section,.highlight-card,.home-highlights,.home-journey,.symbol,.timeline-item{animation:none;opacity:1;transform:none;transition:none}.symbol.spin-icon.active svg{animation:none}}@media (max-width:768px){.hero-section{flex-direction:column-reverse;gap:2rem}.hero-section,.hero-text{text-align:center}.hero-image img{height:160px;width:160px}.open-source-symbols{margin:0 auto 1rem}.cta-buttons{flex-direction:column;justify-content:center}.hero-text h1{font-size:2.5rem}.hero-text h2{font-size:1.8rem}.hero-text p{font-size:1.1rem}.home-highlights,.home-journey{padding:2rem 1.5rem}.timeline-item{gap:.75rem;grid-template-columns:1fr}}.contact-container{align-items:center;display:flex;margin:0 auto;max-width:800px;min-height:calc(100vh - 60px);padding:2rem}.contact-content{width:100%}.contact-header{margin-bottom:3rem;text-align:center}.contact-header h1{color:#ccd6f6;font-size:2.5rem;font-weight:600;margin-bottom:1rem}.contact-intro{color:#8892b0;font-size:1.1rem;line-height:1.6;margin:0 auto;max-width:600px}.contact-form{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#112240b3;border:1px solid #64ffda1a;border-radius:8px;box-shadow:0 4px 6px #0000001a;padding:2rem}.form-row{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr;margin-bottom:1.5rem}.form-group{margin-bottom:1.5rem;position:relative}.form-group label,.label-text{display:block;margin-bottom:.5rem}.label-text{color:#64ffda;font-size:.9rem;font-weight:500;transition:color .3s ease}.form-group input,.form-group textarea{background:#11224080;border:1px solid #64ffda33;border-radius:4px;color:#ccd6f6;font-size:1rem;padding:.8rem 1rem;transition:border-color .3s ease,box-shadow .3s ease;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#64ffda;box-shadow:0 0 0 2px #64ffda1a;outline:none}.form-group input::placeholder,.form-group textarea::placeholder{color:#8892b0;opacity:.7}.form-group input.has-value,.form-group textarea.has-value{border-color:#64ffda}.form-group textarea{min-height:120px;resize:vertical}.submit-button{align-items:center;background:#0000;border:1px solid #64ffda;border-radius:4px;color:#64ffda;cursor:pointer;display:flex;font-size:1rem;gap:.5rem;justify-content:center;overflow:hidden;padding:.8rem 2rem;position:relative;transition:background .3s ease,transform .3s ease;width:100%}.submit-button:hover{background:#64ffda1a;transform:translateY(-2px)}.submit-button:disabled{cursor:not-allowed;opacity:.7;transform:none}.submit-button.submitting{background:#64ffda1a}.button-text{position:relative;z-index:1}.button-icon{font-size:1.2rem;transition:transform .3s ease}.submit-button:hover .button-icon{transform:translateX(4px)}.status-message{animation:fadeIn .3s ease;border-radius:4px;font-size:.9rem;margin-top:1rem;padding:1rem;text-align:center}.status-message.success{background:#64ffda1a;border:1px solid #64ffda33;color:#64ffda}.status-message.error{background:#ff64641a;border:1px solid #ff646433;color:#ff6464}.direct-contact{border-top:1px solid #64ffda1a;margin-top:2rem;padding:1rem;text-align:center}.direct-contact p{color:#8892b0;font-size:1rem}.direct-contact a{color:#64ffda;position:relative;text-decoration:none;transition:color .3s ease}.direct-contact a:hover{color:#ccd6f6}.direct-contact a:after{background-color:#64ffda;bottom:-2px;content:"";height:1px;left:0;position:absolute;transform:scaleX(0);transform-origin:bottom right;transition:transform .3s ease;width:100%}.direct-contact a:hover:after{transform:scaleX(1);transform-origin:bottom left}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.contact-container{padding:1rem}.form-row{gap:1.5rem;grid-template-columns:1fr}.contact-header h1{font-size:2rem}.contact-intro{font-size:1rem}.contact-form{padding:1.5rem}}.not-found{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:80vh;padding:2rem;text-align:center}.not-found h1{color:#2c3e50;font-size:8rem;margin:0;text-shadow:2px 2px 4px #0000001a}.not-found h2{color:#34495e;font-size:2rem;margin:1rem 0}.not-found p{color:#7f8c8d;font-size:1.2rem;margin-bottom:2rem}.home-link{background-color:#3498db;border-radius:5px;color:#fff;display:inline-block;padding:1rem 2rem;text-decoration:none;transition:background-color .3s ease}.home-link:hover{background-color:#2980b9}.site-footer{background:#0a192f99;border-top:1px solid #64ffda1a;margin-top:auto;padding:2.5rem 2rem;text-align:center}.footer-content{align-items:center;display:flex;flex-direction:column;gap:.75rem;margin:0 auto;max-width:800px}.footer-social{display:flex;gap:1.5rem;margin-bottom:.5rem}.footer-social a{color:#8892b0;font-size:1.4rem;transition:all .3s ease}.footer-social a:hover{color:#64ffda;transform:translateY(-3px)}.footer-credit{color:#8892b0;font-size:.9rem;letter-spacing:.5px;margin:0}.footer-credit:hover{color:#64ffda}.footer-copyright{color:#8892b099;font-size:.8rem;margin:0}.language-switcher{align-items:center;display:flex;position:relative}.language-select{-webkit-appearance:none;appearance:none;background:#0a192fd9;border:1px solid #64ffda66;border-radius:999px;color:#64ffda;cursor:pointer;font-size:.85rem;letter-spacing:.08em;padding:.35rem 1.75rem .35rem .9rem;text-transform:uppercase;transition:border-color .2s ease,background .2s ease}.language-select:focus{border-color:#64ffdab3;box-shadow:0 0 0 2px #64ffda40;outline:none}.language-select:hover{background:#64ffda26}.language-select option{background:#0a192f;color:#64ffda}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}@media (max-width:768px){.language-switcher{justify-content:center;width:100%}.language-select{max-width:240px;width:100%}}
/*# sourceMappingURL=main.a3888ab0.css.map*/