@font-face{font-family:Inter;src:url(/vendor/fonts/inter/inter-latin-300-normal.woff2)format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/vendor/fonts/inter/inter-latin-400-normal.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/vendor/fonts/inter/inter-latin-500-normal.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/vendor/fonts/inter/inter-latin-600-normal.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/vendor/fonts/inter/inter-latin-700-normal.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:"Press Start 2P";src:url(/vendor/fonts/press-start-2p/press-start-2p-latin-400-normal.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Playfair Display;src:url(/vendor/fonts/playfair-display/playfair-display-latin-700-normal.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Playfair Display;src:url(/vendor/fonts/playfair-display/playfair-display-latin-800-normal.woff2)format("woff2");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:Playfair Display;src:url(/vendor/fonts/playfair-display/playfair-display-latin-400-italic.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}:root{--red:#c51d34;--dark-gray:#2e2e30;--gray:gray;--gray-text:#5a5a5a;--light-gray:#f5f5f5;--cream-white:#fdfbf7}[data-theme=dark]{--red:#e63946;--dark-gray:#e8e8e8;--gray:#b0b0b0;--gray-text:#c8c8c8;--light-gray:#2a2a2c;--cream-white:#1a1a1c}body{transition:background-color .3s,color .3s}.navbar,section,.footer{transition:background-color .3s,border-color .3s}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:80px}body{background-color:var(--cream-white);color:var(--dark-gray);scroll-behavior:smooth;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:16px;line-height:1.6}@media (prefers-reduced-motion:no-preference){html,*{scroll-behavior:smooth}}::-webkit-scrollbar{width:12px}::-webkit-scrollbar-track{background:var(--cream-white)}::-webkit-scrollbar-thumb{background:var(--red);border:2px solid var(--cream-white);border-radius:6px}::-webkit-scrollbar-thumb:hover{background:#a01628}html{scrollbar-width:thin;scrollbar-color:var(--red) var(--cream-white)}[data-theme=dark] ::-webkit-scrollbar-track{background:var(--cream-white)}[data-theme=dark] ::-webkit-scrollbar-thumb{background:var(--red);border:2px solid var(--cream-white)}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:#ff4757}[data-theme=dark] html{scrollbar-color:var(--red) var(--cream-white)}.container{max-width:900px;margin:0 auto;padding:0 20px}@media (max-width:400px){.container{padding:0 12px}}@media (max-width:320px){.container{padding:0 8px}}.navbar{background:var(--cream-white);z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:2px solid #0000;width:100%;padding:1.25rem 0;transition:all .3s;position:fixed;top:0;box-shadow:0 2px 10px #0000000d}.navbar:after{content:"";background:linear-gradient(90deg, transparent, var(--red), transparent);opacity:0;width:100%;height:2px;transition:opacity .3s;position:absolute;bottom:0;left:0}.navbar:hover:after{opacity:.3}[data-theme=dark] .navbar{background:var(--cream-white);box-shadow:0 2px 10px #0003}[data-theme=dark] .navbar:after{background:linear-gradient(90deg, transparent, var(--red), transparent)}.nav-container{justify-content:space-between;align-items:center;max-width:900px;margin:0 auto;padding:0 20px;display:flex}.nav-controls{align-items:center;gap:1.5rem;display:flex}.theme-toggle{color:var(--dark-gray);cursor:pointer;will-change:transform;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;padding:.5rem;font-size:1.2rem;transition:color .2s;display:flex;position:relative;overflow:visible}.theme-toggle:before{content:"";background:var(--red);opacity:0;z-index:-1;will-change:transform, opacity;border-radius:50%;width:40px;height:40px;transition:transform .3s,opacity .3s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(0)}.theme-toggle:hover{color:var(--red)}.theme-toggle:hover:before{opacity:.1;transform:translate(-50%,-50%)scale(1)}.theme-toggle i{z-index:1;will-change:transform;transform-origin:50%;display:block;position:relative}.theme-toggle.animating i{animation:.4s cubic-bezier(.4,0,.2,1) theme-rotate}@keyframes theme-rotate{0%{transform:rotate(0)scale(1)}50%{transform:rotate(180deg)scale(1.1)}to{transform:rotate(360deg)scale(1)}}.theme-toggle:after{content:"";background:radial-gradient(circle, var(--red) 0%, transparent 70%);opacity:0;pointer-events:none;z-index:0;will-change:width, height, opacity;border-radius:50%;width:100%;height:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.theme-toggle.clicked:after{animation:.4s ease-out ripple}@keyframes ripple{0%{opacity:.5;width:0;height:0}to{opacity:0;width:50px;height:50px}}[data-theme=dark] .theme-toggle{color:var(--dark-gray);transition:color .2s}[data-theme=dark] .theme-toggle:hover{color:var(--red)}.logo-link{color:var(--dark-gray);letter-spacing:0;text-transform:none;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;cursor:pointer;font-family:"Press Start 2P",Courier New,monospace;font-size:.7rem;font-weight:400;line-height:1.8;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-block;position:relative}.logo{position:relative}.logo-link:before{content:"";background:var(--red);transform-origin:0;width:0;height:2px;transition:transform .3s cubic-bezier(.4,0,.2,1);position:absolute;bottom:-2px;left:0;transform:scaleX(0)}.logo-link:hover{color:var(--red);filter:drop-shadow(0 0 8px #c51d3499);transform:translateY(-1px)}.logo-link:hover:before{transform:scaleX(1)}[data-theme=dark] .logo-link{color:var(--dark-gray)}[data-theme=dark] .logo-link:hover{color:var(--red);filter:drop-shadow(0 0 10px #e63946b3);transform:translateY(-1px)}.nav-menu{color:var(--gray-text);align-items:center;gap:2.5rem;list-style:none;display:flex}.nav-image-container,.nav-close-container{display:none}.nav-link{color:var(--gray-text);text-transform:lowercase;letter-spacing:.5px;padding:.5rem 0;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}.nav-link:after{content:"";background:var(--red);width:100%;height:2px;transition:transform .3s cubic-bezier(.4,0,.2,1);position:absolute;bottom:0;left:50%;transform:translate(-50%)scaleX(0)}.nav-link:hover,.nav-link.active{color:var(--red)}.nav-link:hover:after,.nav-link.active:after{transform:translate(-50%)scaleX(1)}.nav-link.active{color:var(--red);font-weight:600}.hamburger{cursor:pointer;flex-direction:column;gap:6px;padding:.5rem;transition:transform .3s;display:none}.hamburger:hover{transform:scale(1.1)}.hamburger span{background:var(--dark-gray);border-radius:2px;width:28px;height:3px;transition:all .3s cubic-bezier(.4,0,.2,1)}.hamburger.active span:first-child{transform:rotate(45deg)translate(8px,8px)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:rotate(-45deg)translate(7px,-7px)}section{padding:60px 20px}@media (max-width:400px){section{padding:40px 12px}}@media (max-width:320px){section{padding:30px 8px}}.section-title{color:var(--dark-gray);text-transform:capitalize;text-align:left;margin-bottom:2.5rem;font-size:1.5rem;font-weight:700;overflow:visible}.text-animate-pending{opacity:0}.text-word{white-space:nowrap;display:inline-block}.text-char{white-space:pre;will-change:transform, opacity;display:inline-block}.hero-title.text-animate,.section-title.text-animate,.project-detail-title.text-animate,.privacy-title.text-animate,.text-animate .text-char{text-transform:none}.text-animate .text-char{opacity:0;animation:.35s cubic-bezier(.22,1.35,.36,1) forwards text-char-in;animation-delay:calc(var(--char-index,0) * 35ms);transform:translateY(30px)rotate(45deg)scale(.5)}@keyframes text-char-in{0%{opacity:0;transform:translateY(30px)rotate(45deg)scale(.5)}60%{opacity:1}to{opacity:1;transform:translateY(0)rotate(0)scale(1)}}@media (prefers-reduced-motion:reduce){.text-animate-pending{opacity:1}.text-animate .text-char{opacity:1;animation:none;transform:none}}.easter-egg{z-index:10001;opacity:0;pointer-events:none;transition:opacity .3s,transform .3s cubic-bezier(.68,-.55,.265,1.55);position:absolute;top:calc(100% + 15px);left:0;transform:translateY(-10px)scale(.9)}.easter-egg.show{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.easter-egg-content{background:linear-gradient(135deg, var(--cream-white) 0%, #faf8f3 100%);border:3px solid var(--red);text-align:center;border-radius:12px;width:auto;min-width:220px;max-width:500px;padding:1.25rem 1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-block;position:relative;overflow:visible;box-shadow:0 12px 32px #c51d3440,0 4px 12px #00000026,0 0 0 1px #c51d341a,inset 0 1px 2px #fffc}.easter-egg-content:before{content:"";background:linear-gradient(135deg, var(--red), #e63946, var(--red));opacity:0;z-index:-1;filter:blur(8px);border-radius:12px;transition:opacity .3s;position:absolute;inset:-3px}.easter-egg.show .easter-egg-content:before{opacity:.3;animation:2s ease-in-out infinite easter-egg-glow}@keyframes easter-egg-glow{0%,to{opacity:.3;filter:blur(8px)}50%{opacity:.5;filter:blur(12px)}}.easter-egg-image-container{margin-bottom:.75rem;display:inline-block;position:relative}.easter-egg-image-container:before{content:"";opacity:0;background:radial-gradient(circle,#c51d3433 0%,#0000 70%);border-radius:50%;width:140px;height:140px;animation:2s ease-in-out infinite easter-egg-pulse-ring;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.easter-egg.show .easter-egg-image-container:before{opacity:1}@keyframes easter-egg-pulse-ring{0%,to{opacity:.6;transform:translate(-50%,-50%)scale(.8)}50%{opacity:.3;transform:translate(-50%,-50%)scale(1.2)}}.easter-egg-image{width:120px;height:auto;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;filter:drop-shadow(0 4px 8px #0000004d);z-index:1;transition:transform .3s;position:relative}.easter-egg.show .easter-egg-image{animation:.6s cubic-bezier(.68,-.55,.265,1.55) easter-egg-image-bounce}@keyframes easter-egg-image-bounce{0%{opacity:0;transform:scale(0)rotate(-180deg)}60%{opacity:1;transform:scale(1.15)rotate(10deg)}80%{transform:scale(.95)rotate(-5deg)}to{opacity:1;transform:scale(1)rotate(0)}}.easter-egg-name{color:var(--red);letter-spacing:.5px;margin-bottom:.75rem;font-family:"Press Start 2P",Courier New,monospace;font-size:.5rem;animation:.4s ease-out .2s both easter-egg-fade-in}@keyframes easter-egg-fade-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.easter-egg-message{color:var(--dark-gray);word-wrap:break-word;white-space:normal;text-shadow:1px 1px #0000001a;letter-spacing:.5px;max-width:100%;min-height:2em;font-family:"Press Start 2P",Courier New,monospace;font-size:.6rem;font-weight:400;line-height:2;display:inline-block;overflow:hidden}[data-theme=dark] .easter-egg-message{color:var(--dark-gray);text-shadow:1px 1px #ffffff1a}.easter-egg-message.typing:after{content:"|";color:var(--red);animation:1s infinite blink}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}[data-theme=dark] .easter-egg-content{background:linear-gradient(135deg, var(--light-gray) 0%, #2d2d2f 100%);border-color:var(--red);box-shadow:0 12px 32px #e639464d,0 4px 12px #0000004d,0 0 0 1px #e6394633,inset 0 1px 2px #ffffff0d}[data-theme=dark] .easter-egg-content:before{background:linear-gradient(135deg, var(--red), #ff4757, var(--red))}[data-theme=dark] .easter-egg-name{color:var(--red)}[data-theme=dark] .easter-egg-message{color:var(--dark-gray)}.footer{background:var(--cream-white);border-top:1px solid var(--light-gray);text-align:center;padding:2rem 0}.footer p{color:var(--gray-text);font-size:.9rem}.footer-link{color:var(--gray-text);text-decoration:none;transition:color .2s}.footer-year{color:var(--gray-text)}.footer-link:hover{color:var(--red)}@media (max-width:768px){.hamburger{display:flex}.nav-menu{background:var(--cream-white);border-left:1px solid var(--light-gray);z-index:999;flex-direction:column;gap:0;width:100%;height:100vh;max-height:100vh;padding:0;transition:right .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;bottom:0;right:-100%;overflow:hidden;box-shadow:-4px 0 20px #0000001a}.nav-close-container{border-bottom:1px solid var(--light-gray);flex-shrink:0;justify-content:flex-end;padding:1rem 1.5rem;display:flex}.nav-close-btn{color:var(--dark-gray);cursor:pointer;background:0 0;border:none;padding:.5rem;font-size:1.5rem;transition:color .3s,transform .3s}.nav-close-btn:hover{color:var(--red);transform:rotate(90deg)}.nav-menu li:not(.nav-close-container):not(.nav-image-container){border-bottom:1px solid var(--light-gray);flex-shrink:0;min-height:0;padding:.9rem 1.5rem}.nav-link{padding:.5rem 0;font-size:1.1rem}.nav-controls{gap:1rem}.nav-menu.active{right:0}.nav-image-container{border-top:1px solid var(--light-gray);background:linear-gradient(#0000 0%,#c51d3405 100%);flex-shrink:0;min-height:0;margin-top:auto;padding:2rem 1.5rem;display:flex}.nav-image-wrapper{justify-content:space-between;align-items:center;gap:.8rem;width:100%;display:flex;position:relative}.nav-greeting-wrapper{flex:1;align-items:center;padding-right:.5rem;display:flex}.nav-greeting{color:var(--dark-gray);text-align:left;min-height:1.2em;font-family:"Press Start 2P",Courier New,monospace;font-size:.6rem;line-height:1.8}.nav-image-content{z-index:2;flex-direction:column;flex-shrink:0;align-items:center;gap:.5rem;display:flex;position:relative}.nav-image-glow{z-index:1;filter:blur(8px);background:radial-gradient(circle,#c51d3426 0%,#c51d3414 40%,#0000 70%);border-radius:50%;width:160px;height:160px;animation:2s ease-in-out infinite nav-glow-pulse;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes nav-glow-pulse{0%,to{opacity:.25;transform:translate(-50%,-50%)scale(1)}50%{opacity:.35;transform:translate(-50%,-50%)scale(1.15)}}.nav-leaning-image{object-fit:contain;z-index:2;filter:drop-shadow(0 4px 12px #c51d344d);width:150px;height:auto;transform-style:preserve-3d;transition:transform .3s;animation:4s ease-in-out infinite nav-image-rotate;position:relative}@keyframes nav-image-rotate{0%,to{transform:perspective(500px)rotateY(-5deg)}50%{transform:perspective(500px)rotateY(5deg)}}.nav-image-content:hover .nav-leaning-image{transform:perspective(500px)rotateY(0)scale(1.05)}.nav-name{color:var(--red);letter-spacing:.5px;text-shadow:0 2px 4px #c51d3433;margin-top:.2rem;font-family:"Press Start 2P",Courier New,monospace;font-size:.5rem}.nav-greeting.typing:after{content:"|";color:var(--red);animation:1s infinite blink}[data-theme=dark] .nav-menu{background:var(--cream-white);box-shadow:-4px 0 20px #0000004d}[data-theme=dark] .nav-image-container{background:linear-gradient(#0000 0%,#e6394608 100%)}[data-theme=dark] .nav-image-glow{background:radial-gradient(circle,#e639462e 0%,#e639461a 40%,#0000 70%)}[data-theme=dark] .nav-leaning-image{filter:drop-shadow(0 4px 12px #e6394666)}}.privacy-content{max-width:800px;margin:0 auto;padding:120px 20px 80px}.privacy-header{margin-bottom:3rem}.privacy-heading{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.75rem;display:flex}.privacy-title{color:var(--dark-gray);text-align:left;text-transform:capitalize;overflow-wrap:break-word;min-width:0;margin:0;font-size:clamp(1.75rem,6vw,2.5rem);font-weight:600;line-height:1.15;overflow:visible}.privacy-title.text-animate,.privacy-title.text-animate .text-char{text-transform:none}.privacy-last-updated{color:var(--gray);text-align:left;font-size:.9rem;font-style:italic}.privacy-section{margin-bottom:2.5rem}.privacy-section h2{color:var(--dark-gray);text-align:left;text-transform:capitalize;margin-top:2rem;margin-bottom:1rem;font-size:1.5rem;font-weight:600}.privacy-section h2:first-of-type{margin-top:0}.privacy-section p{color:var(--gray);margin-bottom:1.2rem;font-size:1rem;line-height:1.8}.privacy-section ul{margin-bottom:1.2rem;padding-left:0;list-style:none}.privacy-section li{color:var(--gray);margin-bottom:.8rem;padding-left:1.5rem;font-size:1rem;line-height:1.8;position:relative}.privacy-section li:before{content:"•";color:var(--red);font-weight:700;position:absolute;left:0}.privacy-section a{color:var(--red);text-decoration:none;transition:all .3s}.privacy-section a:hover{text-decoration:underline}.back-link{color:var(--gray);text-transform:lowercase;border:1px solid #0000;border-radius:6px;flex-shrink:0;align-items:center;gap:.5rem;width:fit-content;max-width:100%;margin:0;padding:8px 16px;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .3s;display:inline-flex}.back-link i{font-size:.8rem;transition:transform .3s}.back-link:hover{color:var(--red);background:var(--light-gray);border-color:var(--red);transform:translateY(-2px);box-shadow:0 2px 8px #c51d341a}.back-link:hover i.fa-chevron-left{transform:translate(-3px)}[data-theme=dark] .back-link:hover{background:var(--light-gray);border-color:var(--red)}[data-theme=dark] .privacy-title,[data-theme=dark] .privacy-section h2{color:var(--dark-gray)}@media (max-width:480px){.privacy-content{padding:100px 16px 60px}.privacy-title{font-size:1.75rem}.back-link{padding:8px 12px}}