*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0d0715;--bg-panel:#150a22;--text:#f2eefb;--text-dim:#b9aecb;--accent:#34e8e0;--nav-width:220px}html,body{height:100%}body{background:var(--bg);color:var(--text);font-family:Inter,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3{font-family:"Baloo 2",sans-serif;font-weight:700}.site{min-height:100vh;display:flex}.sidebar{width:var(--nav-width);background:var(--bg);z-index:100;flex-direction:column;height:100vh;padding:40px 32px;display:flex;position:fixed;top:0;left:0}.sidebar-header{justify-content:space-between;align-items:center;width:100%;display:flex}.logo{margin-bottom:60px;font-family:"Baloo 2",sans-serif;font-size:1.6rem;font-weight:700;line-height:1.15}.nav-links{flex-direction:column;gap:14px;display:flex}.nav-links a{color:var(--text);cursor:pointer;width:fit-content;padding:4px 0;font-size:1.1rem;font-weight:600;transition:color .25s;position:relative}.nav-links a:after{content:"";background:var(--accent);width:0%;height:2px;transition:width .25s;position:absolute;bottom:-4px;left:0}.nav-links a:hover,.nav-links a.active{color:var(--accent)}.nav-links a:hover:after,.nav-links a.active:after{width:100%}.sidebar-divider{background:var(--text-dim);opacity:.4;width:24px;height:2px;margin-top:24px}.sidebar-social{align-items:center;gap:14px;margin-top:auto;display:flex}.sidebar-social a{opacity:.75;transition:opacity .25s,transform .25s}.sidebar-social a:hover{opacity:1;transform:translateY(-2px)}.sidebar-social svg{width:20px;height:20px}.main{margin-left:var(--nav-width);width:calc(100% - var(--nav-width));flex-direction:column;display:flex}.page{min-height:100vh}#portfolio{padding:8px;overflow:visible}.gallery{flex-direction:column;gap:8px;width:100%;min-height:100%;display:flex}.gallery-item{aspect-ratio:16/9;background:#1a0f28;border:1px solid #ffffff0f;border-radius:6px;justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.gallery-item img{object-fit:cover;width:100%;height:100%;display:block}#about{flex-direction:column;padding:90px 60px;display:flex}.section-title{color:var(--accent);margin-bottom:40px;font-size:1.9rem}.about-grid{grid-template-columns:1.4fr .6fr;align-items:stretch;gap:60px;margin-bottom:60px;display:grid}.about-text{flex-direction:column;justify-content:flex-start;display:flex}.about-text p{color:var(--text-dim);max-width:620px;margin-bottom:6px}.about-photo{align-items:stretch;height:100%;display:flex}.about-photo img{object-fit:cover;border:1px solid #ffffff14;border-radius:12px;width:100%;height:100%}.experience{width:100%}.job{border-top:1px solid #ffffff14;padding:22px 0}.job:last-child{border-bottom:1px solid #ffffff14}.job h2{font-size:1.15rem;font-weight:600;transition:color .25s}.job:hover h2{color:var(--accent)}.job .dates,.job .role{color:var(--text-dim);margin-top:4px;font-size:.92rem}.nav-toggle{display:none}@media (width<=900px){.about-grid{grid-template-columns:1fr;align-items:start}.about-photo{order:-1;max-width:100%;height:auto}.about-photo img{height:auto}}@media (width<=768px){:root{--nav-width:0px}.sidebar{backdrop-filter:blur(6px);z-index:200;background:#0d0715eb;border-bottom:1px solid #ffffff0f;flex-direction:row;justify-content:space-between;align-items:center;width:100%;height:auto;padding:16px 20px;position:fixed}.logo{margin-bottom:0;font-size:1.15rem}.nav-links{opacity:0;visibility:hidden;pointer-events:none;z-index:180;background:#0d0715f7;border-bottom:1px solid #ffffff0f;flex-direction:row;gap:18px;width:100%;padding:16px 20px;transition:transform .3s,opacity .3s,visibility .3s;position:absolute;top:100%;left:0;transform:translateY(-120%)}.nav-links.open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.sidebar-divider,.sidebar-social{display:none}.nav-toggle{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:6px;display:flex}.nav-toggle span{background:var(--text);width:22px;height:2px}.main{width:100%;margin-left:0;padding-top:58px}#about{padding:60px 24px 96px}.about-grid{gap:32px}}
