@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700&display=swap");@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap");@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;700&display=swap");@import url("https://fonts.googleapis.com/css2?family=Lexend:wght@400;700&display=swap");@import url("https://fonts.googleapis.com/css2?family=Outfit:wght@400;700&display=swap");@import url("https://fonts.googleapis.com/css2?family=Raleway:wght@400;700&display=swap");@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap");@import url("https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@400;700&display=swap");@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap");@import url("https://fonts.googleapis.com/css2?family=Work+Sans:wght@400;700&display=swap");@import url("https://fonts.googleapis.com/css2?family=Public+Sans:wght@400;700&display=swap");@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;700&display=swap");@import url("https://fonts.googleapis.com/css2?family=Noto+Sans:wght@400;700&display=swap");@import url("https://fonts.googleapis.com/css2?family=Source+Code+Pro:wght@400;700&display=swap");@import url("https://cdn.jsdelivr.net/npm/@xz/fonts@1/serve/liberation-sans.min.css");@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;700&display=swap");body{font-family:"IBM Plex Mono",sans-serif;color:#333}h1{font-family:"Roboto Mono",sans-serif;color:#333}h5{font-family:"IBM Plex Mono",sans-serif;font-weight:300;color:blue}h3{font-family:"Roboto Mono",sans-serif;padding-top:2rem}h5{font-family:"IBM Plex Mono",sans-serif;color:blue}html,body{height:100%;margin:0;overflow:hidden}*{box-sizing:border-box}.home-split{display:flex;flex-wrap:wrap;height:auto;margin-top:0px;gap:2rem;overflow-y:auto}.home-left{width:100%;padding:40px;flex:0 0 100%;overflow:visible}.home-right{width:100%;padding:40px;overflow:visible;flex:0 0 100%;scrollbar-width:none;-ms-overflow-style:none}@media (orientation: portrait){.home-split{display:flex;flex-direction:column;height:auto;overflow-y:auto}.home-left{width:100%;flex:0 0 100%;overflow:visible}.home-right{width:100%;flex:0 0 100%;overflow:visible}}@media (orientation: landscape) and (min-width: 768px){.home-split{height:calc(100vh - 60px);flex-wrap:nowrap;overflow-y:visible}.home-left{width:30%;flex:0 0 30%;overflow-y:auto}.home-right{width:70%;flex:0 0 70%;overflow-y:auto}}@media (orientation: landscape) and (min-width: 1024px){.home-left{width:25%;flex:0 0 25%;margin-right:2rem;overflow-y:auto}.home-right{width:calc(75% - 2rem);flex:0 0 calc(75% - 2rem);overflow-y:auto}}.home-right::-webkit-scrollbar{display:none;}.home-right .project-title{font-size:2.5rem;max-width:450px}.home-right .body{font-size:.9rem;line-height:1.5;max-width:450px}.item{margin:0;padding:8px 0}.page-title{padding-top:1em;font-family:"Roboto Mono",sans-serif;font-size:2rem;font-weight:bold;text-transform:uppercase}.container{max-width:1800px;margin-top:auto;margin-left:auto;margin-right:auto;padding-left:2rem;padding-right:2rem}.section{padding:0rem 0;height:calc(100vh - 60px);overflow-y:auto}.topbar{text-decoration:none;font-family:"Roboto Mono",sans-serif;color:blue;border-bottom:2px solid #000;position:sticky;top:0;z-index:1000;background-color:#fff}.topbar a,.topbar a:visited{color:inherit;text-decoration:none}.topbar__inner{font-family:"Roboto Mono",sans-serif;display:flex;align-items:center;text-decoration-style:none;justify-content:space-between;height:48px;margin:auto;margin-top:1rem;padding-bottom:.6em}.topbar__nav{font-family:"Roboto Mono",sans-serif;display:flex;align-items:center;justify-content:space-between;height:48px;padding:.4rem .75rem;border:1px solid #333;text-transform:uppercase;line-height:1}.text-body-bold{font-weight:bold;font-size:1rem;padding-top:10px;align-items:center;padding:.4rem;line-height:1.8;font-family:"Roboto Mono",monospace;max-width:435px}.text-body{font-size:1rem;padding-top:10px;align-items:center;padding:.4rem;line-height:1.8;max-width:435px}.project-page{margin:auto;overflow:visible;max-width:1024px;padding:2rem 4rem;font-family:"Roboto Mono",monospace}.project-title{font-family:"Roboto Mono",sans-serif;font-weight:bold;font-size:3rem;padding:0rem;text-transform:uppercase;max-width:435px;overflow:auto}.project-subtitle{font-family:"Roboto Mono",sans-serif;font-size:2rem;font-weight:300;padding-left:0rem;margin-bottom:2rem;max-width:768 px;overflow:auto;color:var(--text-secondary)}.project-title-black{font-family:"Roboto Mono",monospace;font-weight:Bold;font-size:4rem;padding-left:0rem;text-transform:uppercase;max-width:435px;overflow:auto}.project-subtitle-black{font-family:"Roboto Mono",monospace;font-size:2rem;font-weight:300;padding-left:0rem;margin-bottom:2rem;max-width:435px;overflow:auto;color:var(--text-secondary)}.content h3{font-family:"Roboto Mono",sans-serif;# margin-top:rem}.content h4{font-family:"Roboto Mono",sans-serif;margin-top:2rem}.content h2{font-family:"Roboto Mono",sans-serif;margin-top:4rem;color:var(--text-primary)}.body{font-family:"Roboto Mono",monospace}.intro{display:flex;# justify-content:center;# align-self:left}.per_intro{font-family:"IBM Plex Mono",sans-serif;max-width:400px;margin-top:1.4rem;padding-right:6rem}.practice{font-family:"IBM Plex Mono",sans-serif;font-weight:bold;color:gray;max-width:600px;margin-top:1.4rem;padding-right:6rem}.interest{font-family:"IBM Plex Mono",sans-serif;max-width:400px;margin-top:1.4rem}.grid-row{display:grid;max-width:1080px;margin:0 auto;grid-template-columns:repeat(3, minmax(0, 1fr));gap:40px;padding:20px}.grid-column{display:column;max-width:1532px;overflow:hidden;grid-template-columns:1fr 1fr;gap:1px}.grid-item{overflow:hidden;display:flex;flex-direction:column;}.home-right .grid-row{grid-template-columns:3fr 7fr;gap:40px}.home-right .grid-item img{width:100%}.grid-item img{width:100%}.grid-item img{box-sizing:border-box;border:1px solid #000;width:100%;aspect-ratio:1/1;object-fit:cover;display:block}.social-link i{font-size:76px;color:#000;transition:.3s;}.text-column{border:none;padding:0;overflow:visible}.about-page{display:grid;grid-template-columns:2fr 1fr;gap:80px;max-width:1200px;margin:80px auto;padding:0 40px}.section-title{font-size:1.25 rem;letter-spacing:1px;text-transform:uppercase;margin-bottom:15px;display:inline-block;padding-bottom:5px}.bio-text{font-size:1.1rem;line-height:1.8;max-width:600px;font-family:"Roboto Mono",monospace}.contact-links{display:flex;flex-direction:column;gap:20px;}.about-page .about-column{border:none !important;padding:0}.social-link{text-decoration:none;color:var(--text-primary);font-size:1rem;display:flex;align-items:center;gap:12px;transition:opacity .3s ease}.social-link:hover{opacity:.6}.social-link i{font-size:1.2rem}@media (max-width: 768px){.about-page{grid-template-columns:1fr;gap:40px}}.image-gallery{display:grid;grid-template-columns:repeat(auto-fill, minmax(220px, 1fr));gap:2rem;margin:3rem 0;width:100%}.gallery-item{position:relative;overflow:hidden;border-radius:2px;border:1px solid var(--topbar-border);aspect-ratio:1;background:#f0f0f0;cursor:pointer;transition:opacity .3s ease}.gallery-item:hover{opacity:.85}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:opacity .3s ease;opacity:1}.gallery-item:hover img{opacity:.9}.image-modal{display:none;position:fixed;z-index:2000;left:0;top:0;width:100%;height:100%;background-color:rgba(0,0,0,.8);animation:fadeIn .3s ease}.image-modal.active{display:flex;align-items:center;justify-content:center}.modal-content{position:relative;max-width:90vw;max-height:90vh}.modal-image{max-width:100%;max-height:85vh;object-fit:contain}.modal-close{position:absolute;top:20px;right:30px;color:#fff;font-size:28px;font-weight:bold;cursor:pointer;z-index:2001}.modal-close:hover{color:#ccc}.modal-nav{position:absolute;top:50%;transform:translateY(-50%);color:#fff;font-size:28px;cursor:pointer;user-select:none;z-index:2001;padding:10px 15px}.modal-nav:hover{color:#ccc}.modal-prev{left:20px}.modal-next{right:20px}@keyframes fadeIn{from{opacity:0}to{opacity:1}}:root{--bg-color: #fcfbf9;--text-primary: #333333;--text-secondary: #767676;--accent: #7f0019;--topbar-bg: rgba(252, 251, 249, 0.95);--topbar-border: #eaeaea;--link-color: #7f0019;--font-sans: "Roboto", -apple-system, sans-serif;--font-head: "Roboto", -apple-system, sans-serif}[data-theme=dark]{--bg-color: #181817;--text-primary: #f2f0eb;--text-secondary: #a8a6a1;--accent: #b86b6b;--topbar-bg: rgba(24, 24, 23, 0.95);--topbar-border: #2e2d2c;--link-color: #b86b6b}a{color:var(--link-color);text-decoration:none;transition:color .4s ease}a:hover{text-decoration:underline}body{background-color:var(--bg-color) !important;color:var(--text-primary) !important;font-family:var(--font-sans) !important;transition:background-color .4s ease,color .4s ease}h1,h2,h3,h4,h5,h6,.project-title,.page-title{font-family:var(--font-head) !important;color:var(--text-primary) !important;letter-spacing:-.02em}.page-title{font-weight:800;font-size:3.5rem;margin-bottom:.5rem;margin-top:2rem;text-transform:uppercase}.project-subtitle{font-family:var(--font-sans) !important;font-size:1.5rem !important;color:var(--text-secondary) !important;font-weight:400 !important;margin-bottom:3rem !important}.content{color:var(--text-secondary) !important;font-family:var(--font-sans) !important;line-height:1.8 !important;font-size:1.1rem !important}.content>p,.content>h2,.content>h3,.content>ul,.content>ol{max-width:1024px}.content img{border-radius:2px;border:1px solid var(--topbar-border)}.body{color:var(--text-secondary)}.topbar{background-color:var(--topbar-bg) !important;border-bottom:1px solid var(--topbar-border) !important;transition:background-color .4s ease,border-color .4s ease}a.logo-link{color:var(--accent) !important;text-decoration:none !important;text-transform:uppercase}.nav{gap:2rem}.nav-link{color:var(--text-secondary) !important;transition:color .3s ease,transform .3s ease;position:relative;text-decoration:none !important;font-weight:500;text-transform:uppercase;letter-spacing:.05em;font-size:.9rem}.nav-link:hover{color:var(--accent) !important}.project-card{transition:opacity .3s ease;cursor:pointer;text-decoration:none}.project-card:hover{opacity:.85}.image-wrapper{overflow:hidden;border-radius:2px;border:1px solid var(--topbar-border);background-color:#f0f0f0;aspect-ratio:1/1}.image-wrapper img{border:none !important;transition:opacity .3s ease !important;width:100%;height:100%;object-fit:cover;opacity:1}.project-card:hover .image-wrapper img{opacity:.9}.project-info{padding:.5rem 0 .5rem 0;text-align:left}.card-title{font-size:.9rem;margin:0;color:var(--text-secondary);font-weight:normal;transition:color .3s ease;text-transform:none}.project-card:hover .card-title{color:var(--text-primary)}.grid-row{gap:3rem !important;padding:40px 20px !important}.grid-item{border:none !important}.grid-item img{border:none !important}