:root{--maroon:#3e0c0d;--cream:#f3efe0;--text-dark:#2a0505;--text-light:#f3efe0;--bg-color:var(--cream);--text-color:var(--text-dark);--accent-bg:var(--maroon);--accent-text:var(--cream);--border-color:var(--maroon)}body.dark{--bg-color:#250604;--text-color:var(--cream);--accent-bg:var(--cream);--accent-text:var(--maroon);--border-color:var(--cream)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--bg-color);color:var(--text-color);font-family:Inter,sans-serif;line-height:1.6;transition:all .4s;overflow-x:hidden}h1,h2,h3{text-transform:uppercase;letter-spacing:1px;font-family:Playfair Display,serif;font-weight:400}a{color:inherit;text-decoration:none;transition:opacity .3s}nav{z-index:1000;background:var(--bg-color);border-bottom:3px solid var(--border-color);justify-content:space-between;align-items:center;width:100%;height:70px;padding:0 2rem;transition:all .4s;display:flex;position:fixed;top:0}.brand{letter-spacing:2px;font-family:Playfair Display,serif;font-size:1.2rem;font-weight:600}nav ul{gap:2rem;list-style:none;display:flex}nav ul li a{letter-spacing:1px;text-transform:uppercase;font-size:.8rem}nav ul li span{padding-bottom:3px;display:inline-block;position:relative}nav ul li span:before{content:"";transform-origin:100% 100%;background-color:#3e0c0d;height:2px;transition:transform .5s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}nav ul li span:hover:before{transform-origin:0 100%;transform:scaleX(1)}body.dark nav ul li span:before{background-color:#faf2e7}.dark-toggle{cursor:pointer;background:0 0;border:none;width:20px}.section-split{border-bottom:1px solid var(--border-color);height:calc(100vh - 70px);min-height:600px;display:flex}.col-left,.col-right{flex-direction:column;flex:1;justify-content:center;height:100%;padding:4rem;display:flex;position:relative}.hero-section{margin-top:70px}.hero-left{background-color:var(--accent-bg);color:var(--accent-text);align-items:flex-start;transition:all .4s}.hero-right{background-color:var(--bg-color);padding:0;transition:all .4s;overflow:hidden}.hero-title{margin-bottom:2rem;font-size:4rem;line-height:1.1}.hero-subtitle{text-transform:uppercase;letter-spacing:2px;opacity:.8;border-bottom:1px solid;margin-bottom:3rem;padding-bottom:5px;font-family:Inter,sans-serif;font-size:.9rem}.mini-bio{opacity:.9;max-width:400px;margin-bottom:2rem;font-size:.95rem}.hero-image{object-fit:cover;width:100%;height:100%;display:block}.btn-outline{text-transform:uppercase;letter-spacing:2px;color:inherit;cursor:pointer;background:0 0;border:1px solid;padding:1rem 2.5rem;font-size:.8rem;transition:all .3s;display:inline-block}.btn-outline:hover{letter-spacing:3px;background:#ffffff1a}body.dark .hero-left .btn-outline:hover{background:#0003}footer{text-align:center;background-color:var(--bg-color);border-top:1px solid var(--border-color);padding:4rem 2rem;transition:all .4s}#loader{z-index:9999;background:var(--bg-color);justify-content:center;align-items:center;width:100%;height:100%;display:none;position:fixed;top:0;left:0}svg{width:3.75em;animation:1.5s infinite spin}.ring{fill:none;stroke:var(--text-color);stroke-width:2px}.ball{fill:var(--maroon);stroke:none}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:768px){nav{padding:0 1rem}.brand{font-size:1rem}nav ul{gap:1rem}nav ul li a{font-size:.7rem}.section-split{flex-direction:column;height:auto}.hero-section{flex-direction:column-reverse;height:auto}.hero-right{height:300px}.col-left,.col-right{padding:3rem 1.5rem}.hero-title,.contact-title{font-size:2.5rem}}.about-images{flex-direction:column;justify-content:center;align-items:center;gap:2rem;display:flex}.about-img-small{aspect-ratio:3/4;object-fit:cover;border:none;width:70%}.game-container{flex-direction:column;flex:1;justify-content:center;width:90%;max-width:900px;min-height:calc(100vh - 140px);margin:0 auto;padding:40px 0;display:flex}.stats-wrapper{justify-content:center;gap:5rem;margin-bottom:4rem;display:flex}.stat-block{text-align:center}.stat-label{text-transform:uppercase;letter-spacing:2px;opacity:.6;margin-bottom:.5rem;font-size:.7rem}.stat-value{font-family:Playfair Display,serif;font-size:4rem;line-height:1}.text-window{background:#f3efe01a;border-radius:8px;height:150px;margin-bottom:2.5rem;padding:2.5rem;position:relative;overflow:hidden}#textDisplay{flex-wrap:wrap;justify-content:center;gap:15px 25px;font-size:1.6rem;transition:transform .4s cubic-bezier(.4,0,.2,1);display:flex}.word-span{opacity:.3;transition:all .2s}.word-span.current{opacity:1;color:var(--text-color);border-bottom:2px solid var(--text-color)}.word-span.correct{color:#8da98d;opacity:.8}.word-span.wrong{color:#a98d8d;opacity:.8;text-decoration:line-through}.input-wrapper{text-align:center;margin-bottom:3rem;position:relative}#textInput{border:none;border-bottom:1px solid var(--text-color);color:var(--text-color);text-align:center;background:0 0;outline:none;width:100%;max-width:450px;padding:10px;font-family:Playfair Display,serif;font-size:2.2rem;transition:border-color .3s}#textInput:focus{border-bottom-width:2px}.btn-restart{border:1px solid var(--text-color);color:var(--text-color);text-transform:uppercase;letter-spacing:2px;cursor:pointer;background:0 0;align-self:center;padding:.8rem 2rem;font-size:.8rem;transition:all .3s}.btn-restart:hover{background:var(--text-color);color:var(--bg-color)}.settings-box{text-transform:uppercase;letter-spacing:1px;justify-content:center;align-items:center;gap:20px;margin-bottom:2rem;font-size:.75rem;display:flex}.settings-box button{color:var(--text-color);opacity:.4;cursor:pointer;font-family:inherit;font-size:inherit;letter-spacing:inherit;background:0 0;border:none;padding:0}.settings-box button.active,.settings-box button:hover{opacity:1}.projects-container{background-color:var(--accent-bg);color:var(--accent-text);text-align:center;min-height:90vh;padding:5rem 2rem;transition:all .4s}.project-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;max-width:1200px;margin:4rem auto 0;display:grid}.project-card{border:1px solid var(--accent-text);cursor:pointer;padding:2rem;transition:transform .3s}.project-card:hover{background:#ffffff0d;transform:translateY(-5px)}.project-card h3{margin-bottom:1rem;font-size:1.5rem}.contact-left{background-color:var(--accent-bg);color:var(--accent-text);align-items:flex-start;transition:all .4s}.contact-right{background-color:var(--bg-color);color:var(--text-color);align-items:center;transition:all .4s}.contact-title{margin-bottom:2rem;font-size:3.5rem;line-height:1.1}.contact-subtitle{letter-spacing:2px;opacity:.8;text-transform:uppercase;margin-bottom:3rem;font-family:Inter,sans-serif;font-size:.9rem}.contact-links{flex-direction:column;gap:1.5rem;margin-top:2rem;display:flex}.contact-link-item{border-bottom:1px solid #0000;width:fit-content;font-family:Playfair Display,serif;font-size:1.5rem}.contact-link-item:hover{border-bottom:1px solid}form{width:100%;max-width:450px}.form-group{margin-bottom:2.5rem;position:relative}label{letter-spacing:2px;text-transform:uppercase;opacity:.6;font-size:.75rem;position:absolute;top:-20px;left:0}input,textarea{border:none;border-bottom:1px solid var(--text-color);width:100%;color:inherit;resize:none;background:0 0;outline:none;padding:10px 0;font-family:Inter,sans-serif;font-size:1rem}input:focus,textarea:focus{border-bottom-width:2px}.btn-submit{border:1px solid var(--text-color);color:var(--text-color);letter-spacing:2px;text-transform:uppercase;cursor:pointer;background:0 0;margin-top:1rem;padding:1rem 3rem;font-size:.9rem;transition:all .3s;display:block}.btn-submit:hover{background:var(--text-color);color:var(--bg-color)}#status-message{margin-top:1rem;font-size:.9rem;font-weight:700;display:none}.status-success{color:green}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-on-scroll{opacity:0;animation-duration:.8s;animation-timing-function:cubic-bezier(.2,.8,.2,1);animation-fill-mode:forwards}.animate-fade-up{animation-name:fadeInUp}.animate-scale{animation-name:fadeInScale}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.delay-500{animation-delay:.5s}.project-card-wrapper{transition:transform .3s}.project-card-wrapper:hover{transform:translateY(-10px)}
