:root{--bg-color:#fff;--text-color:#1d1d1d;--text-muted:#888;--accent-color:#1d1d1d;--sidebar-bg:#fff;--card-bg:#fafafa;--sidebar-width:260px;--grid-gap:50px;--transition:all .5s cubic-bezier(.16, 1, .3, 1);--font-sans:"Karla", sans-serif;--base-size:15px}@media (prefers-color-scheme:dark){:root{--bg-color:#000;--text-color:#f5f5f7;--text-muted:#86868b;--accent-color:#f5f5f7;--sidebar-bg:#000;--card-bg:#1c1c1e}}@keyframes pulse{0%{opacity:.6}50%{opacity:.8}to{opacity:.6}}.fade-in{animation:.8s ease-out forwards fadeIn}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-color);color:var(--text-color);font-size:var(--base-size);-webkit-font-smoothing:antialiased;font-weight:400;line-height:1.7}.app-container{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);z-index:100;background-color:var(--sidebar-bg);height:100vh;color:var(--text-color);flex-direction:column;padding:80px 50px 80px 60px;display:flex;position:fixed;top:0;left:0}.brand{margin-bottom:20px}.brand h1{text-transform:uppercase;cursor:pointer;color:var(--text-color);font-size:1.3rem;font-weight:600;line-height:1.1}.nav-links{flex-direction:column;gap:12px;list-style:none;display:flex}.nav-class{text-transform:uppercase;color:var(--text-color);margin-bottom:2px;font-size:.85rem;font-weight:600;display:block}.sub-nav{flex-direction:column;gap:3px;margin-top:5px;padding-left:0;list-style:none;display:flex}.nav-links a{color:var(--text-color);transition:var(--transition);font-size:.95rem;font-weight:400;text-decoration:none}.nav-links a:hover,.nav-links a.active{color:var(--text-muted)!important}.main-content{margin-left:var(--sidebar-width);min-height:100vh;width:calc(100% - var(--sidebar-width));padding:80px 100px}.main-content.text-page{flex-direction:column;align-items:center;display:flex}.main-content.text-page>*{width:100%;max-width:592px;transform:translate(-10%)}.main-content.text-page .section-title{text-align:left}.photo-grid{column-count:3;column-gap:var(--grid-gap);width:100%}.grid-item{cursor:pointer;width:100%;margin-bottom:var(--grid-gap);break-inside:avoid;background-color:#0000;border-radius:2px;display:block;position:relative;overflow:hidden}.grid-item:after{content:"";background-color:var(--card-bg);z-index:1;width:100%;height:100%;transition:opacity .5s;animation:1.5s ease-in-out infinite pulse;position:absolute;top:0;left:0}.grid-item.loaded:after{opacity:0;pointer-events:none}.grid-item img{opacity:0;z-index:2;width:100%;height:auto;transition:opacity .8s,transform .8s;display:block;position:relative;transform:translateY(10px)}.grid-item.loaded img{opacity:1;transform:translateY(0)}.grid-item:hover img{transform:scale(1.02)}.project-case-study,.cv-container{width:100%;max-width:592px}.about-content-wrapper{width:100%;max-width:700px;transform:translate(-8%)}.about-layout{align-items:flex-start;gap:40px;display:flex}.about-text{flex:1;font-size:.7rem;line-height:1.6}.about-lead{color:var(--text-color);margin-bottom:25px;font-size:.8rem;font-weight:500}.about-image{flex:0 0 280px}.about-image img{border-radius:2px;width:100%;height:auto}.cv-header{margin-bottom:50px}.cv-header h2{margin-bottom:10px;font-size:1.4rem;font-weight:600}.cv-section{margin-bottom:50px}.cv-section h3{text-transform:uppercase;color:var(--text-color);margin-bottom:15px;padding-bottom:10px;font-size:.9rem;font-weight:600}.cv-item{margin-bottom:30px}.cv-item h4{margin-bottom:5px;font-size:.9rem;font-weight:600}.cv-item .meta{color:var(--text-muted);margin-bottom:10px;font-size:.85rem}.cv-item ul{padding-left:0;list-style:none}.cv-item li{margin-bottom:8px;padding-left:15px;position:relative}.cv-item li:before{content:"•";color:var(--text-muted);position:absolute;left:0}.project-hero{margin-bottom:25px}.project-main-image{border-radius:4px;width:100%;height:auto;margin-bottom:30px}.project-header h3{margin-bottom:10px;font-size:1.4rem;font-weight:600}.project-subtitle{color:var(--text-muted);font-size:1rem}.project-content section{margin-bottom:20px}.project-content h4{text-transform:uppercase;color:var(--text-color);margin-bottom:10px;font-size:.9rem;font-weight:600}.project-content p{line-height:1.8}.section-title{text-transform:uppercase;margin-bottom:40px;font-size:.9rem;font-weight:600}.mobile-header{background-color:var(--bg-color);z-index:1000;justify-content:space-between;align-items:center;width:100%;height:70px;padding:0 30px;transition:transform .3s;display:none;position:fixed;top:0;left:0}.mobile-header.header-hidden{transform:translateY(-100%)}.mobile-brand{letter-spacing:.05em;text-transform:uppercase;font-size:1rem;font-weight:600}.menu-toggle{cursor:pointer;z-index:1001;background:0 0;border:none;flex-direction:column;gap:6px;padding:10px;display:flex}.menu-toggle span{background-color:var(--text-color);width:24px;height:2px;transition:var(--transition);display:block}.menu-toggle.active span:first-child{transform:translateY(8px)rotate(45deg)}.menu-toggle.active span:nth-child(2){opacity:0}.menu-toggle.active span:nth-child(3){transform:translateY(-8px)rotate(-45deg)}@media (width<=792px){.mobile-header{display:flex}.sidebar{background-color:var(--bg-color);width:300px;max-width:85%;height:100vh;transition:var(--transition);z-index:999;text-align:left;flex-direction:column;justify-content:flex-start;align-items:flex-start;padding:100px 40px;position:fixed;top:0;right:-100%;box-shadow:-5px 0 15px #0000001a;left:auto!important}.sidebar.active{left:auto;right:0}.sidebar .brand{display:none}.nav-links{align-items:flex-start;gap:20px}.nav-links a{font-size:1.2rem}.main-content{width:100%;margin-left:0;padding:100px 15px 40px}.main-content.text-page>*{max-width:100%;margin-left:0!important;margin-right:0!important;transform:none!important}.about-content-wrapper{max-width:100%!important;transform:none!important}.about-layout{flex-direction:column-reverse;gap:30px}.about-image{flex:none;width:100%;max-width:400px;margin:0 auto}.photo-grid{column-count:1;column-gap:0}.grid-item{break-inside:avoid;margin-bottom:30px}}@media (width>=793px) and (width<=1100px){.photo-grid{column-count:2}}
