h1,h2,h3,h4,h5,h6,p{margin:0}h1,h2,h3,h4,h5,h6{font-family:loos-wide,sans-serif}.h6{font-family:loos-wide,sans-serif;font-size:1.125rem;font-weight:700;color:#000}p{font-size:1.125rem;font-weight:400;color:#000;margin:0}.body-small{font-size:.875rem;font-weight:400;color:#000}a{color:#000;text-decoration:none;transition:.3s all ease-in-out}a:hover{text-decoration:underline}.flex{display:flex}.inline-flex{display:inline-flex}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.button-icon{cursor:pointer;padding:8px;border-radius:4px;transition:.2s all ease-in-out}.button-icon:hover{background:#dedede}.button-icon p{margin-left:.5rem}:root{font-family:loos-normal,Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}body{padding:0;margin:0;background-color:#e6e6e6}.notes-page{width:100vw;height:100vh;overflow:hidden;background-color:#e6e6e6;background-image:linear-gradient(#d2d2d2 .1em,transparent .1em),linear-gradient(90deg,#d2d2d2 .1em,transparent .1em);background-size:4em 4em;position:relative}.card{width:400px;box-shadow:0 1px 1px #00000013,0 2px 2px #00000013,0 4px 4px #00000013,0 8px 8px #00000013,0 16px 16px #00000013;border:1px solid #000;position:absolute;display:flex;flex-direction:column;transition:.3s outline ease-in-out;outline:4px solid transparent}.card:hover{outline-color:#1999e85c}.card-header{padding:4px 16px;border-bottom:1px solid #000;background:#fff;color:#000;cursor:move;display:flex;align-items:center;justify-content:space-between;min-height:50px}.card-header .title-wrap svg{margin:0 .5rem 0 0}.card-header .button-icon p{font-size:1rem}.card-body{padding:16px;color:#000;height:100%;overflow:auto}.note-page{min-height:100vh;padding:2rem;display:flex;flex-direction:column;align-items:center}.note-page h1{font-size:2.5rem;margin-bottom:2rem;text-transform:capitalize}.note-content{max-width:800px;width:100%;font-size:1.2rem;line-height:1.6}.projects-page{max-width:1720px;margin:0 auto;padding:1rem}.projects-page h2{font-size:2.5rem;margin-bottom:2rem}.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin:0 auto}.project-card{display:block;background:#fff;border:1px solid #000000;padding:1.5rem;color:inherit;transition:transform .2s,box-shadow .2s}.project-card:hover{transform:translateY(-4px);box-shadow:0 4px 12px #0000001a;text-decoration:none}.project-card:hover h2{text-decoration:underline}.project-card h2{margin:0 0 .5rem;font-size:1.125rem;color:#000}.project-card p{margin:0 0 1rem;color:#000}.project-card img{width:100%;border:1px solid #000000;margin:0 0 .5rem}.project-tag{padding:.125rem .5rem;border:1px solid #000000;background:#d0d0d0;display:inline-block}.project-tag.theme-green{background:#e7ffe6;border-color:#4dc349;color:#4dc349}.project-tag.theme-blue{background:#dceeff;border-color:#2d8de6;color:#2d8de6}.project-tag.theme-orange{background:#ffe6d3;border-color:#fb8c0d;color:#fb8c0d}.project-tag.theme-purple{background:#f3dfff;border-color:#a40dfb;color:#a40dfb}.project-tag.theme-yellow{background:#fff0d3;border-color:#d4a247;color:#d4a247}.mobile-project-header{display:none}.project-page{background:#fff}.project-page h1{font-size:1.5rem;margin:2rem 0 .5rem}.project-page h2{font-size:1.25rem;margin:2rem 0 .5rem}.project-page h3{font-size:1.1rem;margin:2rem 0 .5rem}.project-page .page-container{padding:2rem;max-width:800px;margin:0 auto}.project-title{margin:2rem 0}.project-title h1{margin:0}.project-content{padding:0 0 3rem;margin:0 0 3rem;border-bottom:1px solid #DEDEDE}.project-content p{margin:.5rem 0 1rem;color:#242424}.project-content p strong{font-weight:600;color:#000}.project-content a{color:#024ae5}.project-content li{font-size:1.125rem;font-weight:400;color:#3f3f3f;margin:.75rem 0}.project-content img{width:100%}.project-content hr{border:1px solid #f2f2f2;margin:3rem 0}.notion-content{line-height:1.6}.notion-column-list{display:flex;gap:2rem;margin:1rem 0}.notion-column{flex:1;min-width:0}.notion-table{width:100%;border-collapse:collapse;margin:1rem 0}.notion-table td{border:1px solid #e0e0e0;padding:.5rem;vertical-align:top}.notion-table tr:first-child td{background-color:#f8f9fa;font-weight:600}.notion-image{margin:0 0 1rem}.notion-image img{width:100%;border:1px solid #000000}.notion-image figcaption{color:#666}.notion-video video{object-fit:fill;border:1px solid #000000}.project-content pre{background-color:#f6f8fa;border:1px solid #e1e4e8;border-radius:6px;padding:1rem;overflow-x:auto;margin:1rem 0}.project-content code{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.9em}.project-content ul,.project-content ol{margin:1rem 0;padding-left:2rem}.resume-content{padding:24px 16px;min-width:395px}.resume-content .logo{width:45px;height:45px;border-radius:2.8125rem;border:1px solid #000000;margin-right:33px}.resume-content .role-block{margin:30px 0}.resume-content .role-block .ellipse-container{min-width:45px;height:45px;margin-right:33px}.resume-content .role-block .ellipse{width:10px;height:10px;background:#000;border-radius:100%;position:relative;top:9px;margin:0 auto}.resume-content .role-block:not(:last-of-type) .ellipse:after{content:"";position:absolute;top:calc(100% + 6px);left:4px;height:60px;width:1px;background:#000}.resume-content .role-content{width:100%}.card-about{max-height:400px}.about-content{flex-wrap:wrap}.about-content .image{width:calc(35% - 20px);min-width:152px;margin:0 1rem 0 0}.about-content .content{width:calc(65% - 20px)}.about-content img{width:100%}.about-content h2{margin-bottom:18px}.card-contact .card-body{display:flex;align-items:center}.card-contact .contact-content{width:100%;display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:1rem}.social-button{transition:transform .2s,box-shadow .2s}.social-button:hover{transform:translateY(-4px)}.social-button a{display:flex}.social-button img{width:100%}.site-logo{position:fixed;bottom:20px;left:20px;z-index:999999999}.site-logo svg{width:200px;height:auto}.breadcrumbs{color:#dedede}.breadcrumbs a{margin:0 1rem;font-size:1.125rem}.breadcrumbs a.logo{margin:0 1rem 0 0}.breadcrumbs p{margin:0 1rem}.breadcrumbs .logo{position:relative;top:3px;transition:.3s all ease-in-out}.breadcrumbs .logo:hover{opacity:.7}.breadcrumbs svg{width:125px;height:auto}.mobile-home-page .site-logo{display:none}.mobile-home-page .mobile-logo{padding:1.5rem}.mobile-home-page .mobile-logo svg{max-width:158px}.mobile-home-page>h1{padding:1.5rem;font-size:1.5rem}.mobile-home-page .projects-page{padding:1.5rem}.mobile-home-page .projects-page h2{font-size:1.25rem;margin:0 0 1rem}.mobile-home-page .projects-grid{grid-template-columns:1fr}.mobile-home-page .about-content{background:#ffd639;padding:2rem 1.5rem;align-items:center;border-top:1px solid #000000}.mobile-home-page .about-content h2{display:none}.mobile-home-page .contact-section{background:#f64740;padding:2rem 1.5rem;text-align:center;border-top:1px solid #000000}.mobile-home-page .contact-section .contact-content{display:flex;justify-content:space-between;max-width:300px;margin:2rem auto}.mobile-home-page .contact-section .social-button{width:calc(33.333% - 1rem)}@media only screen and (max-width: 727px){.mobile-home-page .about-content{flex-direction:column;align-items:flex-start}.mobile-home-page .about-content .image,.mobile-home-page .about-content .content{width:100%}.mobile-home-page .about-content .image{margin:0 0 1rem;max-width:150px}}@media only screen and (max-width: 991px){.breadcrumbs{display:none}.mobile-project-header{display:block}.mobile-project-header .logo{margin:0 0 1.5rem}.mobile-project-header .logo svg{max-width:158px}.project-title{flex-direction:column-reverse;align-items:flex-start}.project-tag{margin:0 0 .5rem}.project-page .page-container{padding:0 1rem}.project-page h1{font-size:1.25rem}.notion-column-list{flex-direction:column;gap:unset;margin:.5rem 0}}.password-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;background-color:#e6e6e6;display:flex;align-items:center;justify-content:center;z-index:9999;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);overflow:hidden;isolation:isolate}@media (max-width: 768px){.password-modal-overlay{padding:16px;align-items:flex-start;padding-top:10vh}}@media (max-width: 480px){.password-modal-overlay{padding:12px;padding-top:5vh}}body.modal-open{overflow:hidden;position:fixed;width:100%}.password-modal{background:#fff;border:1px solid #000000;max-width:450px;margin:0 auto;overflow:hidden;position:relative;z-index:10000}@media (max-width: 768px){.password-modal{max-width:100%;width:100%;max-height:80vh;border-radius:12px}}@media (max-width: 480px){.password-modal{max-height:85vh;border-radius:8px}}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.password-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid #000000}.password-modal-header h3{margin:0;font-size:1.25rem;font-weight:600;color:#111827}.password-modal-content{padding:30px 20px}.password-modal-content p{margin:0 0 16px;color:#6b7280}.password-modal-content p.project-title{font-weight:600;color:#111827;font-size:1.1rem;margin-bottom:16px}.password-form .password-input-group{margin-bottom:20px;display:flex;flex-direction:column}.password-form .password-input-group label{display:block;margin-bottom:8px;font-weight:500;color:#374151}.password-form .password-input-group .password-input{padding:12px 16px;border:2px solid #d1d5db;font-size:1rem;transition:border-color .2s ease;font-family:loos-normal,Inter,system-ui,Avenir,Helvetica,Arial,sans-serif}.password-form .password-input-group .password-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.password-form .password-input-group .password-input:disabled{background-color:#f9fafb;color:#9ca3af;cursor:not-allowed}.password-form .password-error{color:#dc2626;font-size:.875rem;margin-bottom:16px;text-align:center;padding:8px 12px;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px}.password-form .password-attempts-warning{margin-bottom:16px;text-align:center;padding:8px 12px;background-color:#fef3c7;border:1px solid #fde68a;border-radius:6px}.password-form .password-attempts-warning p{margin:0;color:#92400e;font-size:.875rem;font-weight:500}.password-form .password-lockout-info{margin-top:16px;text-align:center;padding:12px;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px}.password-form .password-lockout-info p{margin:0;color:#dc2626;font-size:.875rem;font-weight:500}.password-form .password-submit-btn{width:100%;padding:12px 24px;background-color:#000;color:#fff;border:none;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s ease;font-family:loos-normal,Inter,system-ui,Avenir,Helvetica,Arial,sans-serif}.password-form .password-submit-btn:hover:not(:disabled){background-color:#000}.password-form .password-submit-btn:disabled{background-color:#9ca3af;cursor:not-allowed}.password-modal-footer{margin-top:20px;text-align:center;padding-top:16px;border-top:1px solid #e5e7eb}.lightbox-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000e6;display:flex;justify-content:center;align-items:center;z-index:1000;cursor:pointer}.lightbox-content{position:relative;max-width:90%;max-height:90%;cursor:default}.lightbox-image{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;box-shadow:0 10px 30px #00000080}.lightbox-close{position:absolute;top:-40px;right:0;background:none;border:none;color:#fff;font-size:2rem;cursor:pointer;padding:8px;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.lightbox-close:hover{background-color:#ffffff1a}.notion-image img{cursor:pointer;transition:opacity .2s}.notion-image img:hover{opacity:.8}
