:root{--bg: #f8f9fa;--bg-sidebar: rgba(13, 148, 136, .04);--bg-card-hover: rgba(13, 148, 136, .03);--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--teal: #0d9488;--teal-light: #14b8a6;--teal-dim: rgba(13, 148, 136, .08);--teal-glow: rgba(13, 148, 136, .05);--border-card: transparent;--border-card-hover: transparent;--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{font-family:var(--font);background-color:var(--bg);color:var(--text-secondary);line-height:1.7;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}body:before{content:"";position:fixed;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#0d9488,#14b8a6,#2dd4bf,#14b8a6,#0d9488);z-index:100}.cursor-glow{position:fixed;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,var(--teal-glow) 0%,transparent 70%);pointer-events:none;z-index:0;transform:translate(-50%,-50%);transition:opacity .3s ease;opacity:0}::selection{background-color:#0d948826;color:var(--teal)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background-color:#cbd5e1;border-radius:3px}::-webkit-scrollbar-thumb:hover{background-color:var(--text-muted)}.layout{max-width:1280px;margin:0 auto;display:flex;gap:1rem;padding:0 1.5rem;position:relative}.sidebar{position:sticky;top:0;width:48%;max-width:480px;height:100vh;padding:6rem 2.5rem 6rem 0;flex-shrink:0}.sidebar-content{display:flex;flex-direction:column;justify-content:space-between;height:100%;background-color:var(--bg-sidebar);border-radius:1rem;padding:2.5rem}.name{font-size:3rem;font-weight:700;color:var(--text-primary);letter-spacing:-.03em;line-height:1.1}.title{font-size:1.15rem;font-weight:500;color:var(--teal);margin-top:.5rem;letter-spacing:-.01em}.tagline{margin-top:1rem;font-size:.95rem;color:var(--text-muted);line-height:1.6;max-width:320px}.nav{display:flex;flex-direction:column;gap:.25rem;margin-top:3.5rem}.nav-link{display:flex;align-items:center;gap:.85rem;padding:.5rem 0;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);transition:color .25s ease}.nav-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background-color:var(--text-muted);transition:background-color .25s ease,transform .25s ease,box-shadow .25s ease;flex-shrink:0}.nav-link:hover,.nav-link.active{color:var(--text-primary)}.nav-link:hover .nav-dot,.nav-link.active .nav-dot{background-color:var(--teal);transform:scale(1.4);box-shadow:0 0 8px #0d948866}.social-links{display:flex;gap:1.25rem}.social-link{color:var(--text-muted);transition:color .25s ease,transform .25s ease}.social-link svg{width:22px;height:22px}.social-link:hover{color:var(--teal);transform:translateY(-2px)}.content{flex:1;padding:6rem 0;min-width:0}.section{margin-bottom:6rem;opacity:0;transform:translateY(20px);animation:fadeUp .6s ease forwards}.section:nth-child(1){animation-delay:.1s}.section:nth-child(2){animation-delay:.2s}.section:nth-child(3){animation-delay:.3s}.section:nth-child(4){animation-delay:.4s}.section-heading-mobile{display:none}.about-text p{margin-bottom:1.25rem;font-size:.95rem}.about-text a{color:var(--teal);font-weight:500;transition:color .2s ease}.about-text a:hover{color:var(--teal-light)}.highlight{color:var(--text-primary);font-weight:500}.card{display:grid;grid-template-columns:140px 1fr;gap:1rem;padding:.75rem 1rem;border-radius:.5rem;border:1px solid transparent;border-left:3px solid transparent;margin-bottom:.25rem;transition:background-color .3s ease,border-color .3s ease;text-decoration:none;cursor:default}a.card{cursor:pointer}a.card:hover,.card:hover{background-color:var(--bg-card-hover);border-left-color:var(--teal)}.card-period{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);white-space:nowrap;width:140px;padding-top:.25rem}.card-body{flex:1;min-width:0}.card-title{font-size:.95rem;font-weight:600;color:var(--text-primary);line-height:1.4;display:flex;align-items:center;gap:.35rem;transition:color .25s ease}a.card:hover .card-title{color:var(--teal)}.card-arrow{width:16px;height:16px;flex-shrink:0;transition:transform .25s ease}a.card:hover .card-arrow{transform:translate(3px,-3px)}.card-description{font-size:.85rem;color:var(--text-secondary);margin-top:.25rem;line-height:1.6}.card-description strong{color:var(--text-primary);font-weight:500}.card-media{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.5rem;margin-top:.5rem}.card-media img,.card-media video{width:100%;border-radius:.5rem;border:1px solid rgba(13,148,136,.12);transition:transform .25s ease,box-shadow .25s ease;cursor:pointer;object-fit:cover}.card-media img:hover,.card-media video:hover{transform:scale(1.02);box-shadow:0 4px 20px #0d94881a}.card-media video{background-color:#000}.media-placeholder{grid-column:1 / -1;padding:1rem;border:2px dashed rgba(13,148,136,.2);border-radius:.5rem;color:var(--text-muted);font-size:.8rem;text-align:center;font-style:italic}.lightbox{position:fixed;inset:0;z-index:200;background-color:#000000d9;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s ease;cursor:zoom-out}.lightbox.active{opacity:1;pointer-events:auto}.lightbox img,.lightbox video{max-width:90vw;max-height:90vh;border-radius:.5rem;object-fit:contain}.card-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.5rem}.tag{font-size:.68rem;font-weight:600;color:var(--teal);background-color:transparent;border:1.5px solid var(--teal);padding:.15rem .55rem;border-radius:9999px;letter-spacing:.02em;transition:background-color .2s ease,color .2s ease}.tag:hover{background-color:var(--teal);color:#fff}a.tag{position:relative;z-index:1;text-decoration:none}.resume-link{display:inline-flex;align-items:center;gap:.35rem;font-size:.9rem;font-weight:600;color:var(--teal);margin-top:1rem;padding:.5rem 0;transition:color .25s ease}.resume-link:hover{color:var(--teal-light)}.resume-link:hover .card-arrow{transform:translate(3px,-3px)}.resume-link .card-arrow{transition:transform .25s ease}.footer{padding:2rem 0 4rem;font-size:.8rem;color:var(--text-muted);line-height:1.7}.footer a{color:var(--text-secondary);font-weight:500;transition:color .25s ease}.footer a:hover{color:var(--teal)}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}@media(max-width:900px){.layout{flex-direction:column;padding:0 1.25rem}.sidebar{position:relative;width:100%;max-width:100%;height:auto;padding:3rem 0 1rem}.sidebar-content{gap:1.5rem;padding:2rem}.nav{display:none}.name{font-size:2.25rem}.content{padding:2rem 0}.section{margin-bottom:4rem}.section-heading-mobile{display:block;position:sticky;top:3px;z-index:10;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-primary);padding:1rem 0;margin-bottom:1.5rem;background-color:#f8f9fae6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.card{grid-template-columns:1fr;gap:.25rem;padding:.75rem}.card-period{min-width:0;padding-top:0;margin-bottom:.25rem}.cursor-glow{display:none}}@media(max-width:480px){.name{font-size:1.85rem}.title{font-size:1rem}.sidebar{padding:2rem 0 1rem}.content{padding:1rem 0}}.project-page{max-width:800px;margin:0 auto;padding:4rem 1.5rem}.project-back{display:inline-flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:600;color:var(--teal);margin-bottom:2rem;transition:color .2s ease}.project-back:hover{color:var(--teal-light)}.project-back svg{width:16px;height:16px}.project-header{margin-bottom:3rem}.project-header h1{font-size:2.25rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em;line-height:1.2}.project-header .project-subtitle{font-size:1rem;color:var(--text-muted);margin-top:.5rem}.project-header .card-tags{margin-top:1rem}.story-section{margin-bottom:3rem}.story-section h2{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid var(--teal-dim)}.story-section p{font-size:.95rem;color:var(--text-secondary);margin-bottom:1rem;line-height:1.8}.story-section ul,.story-section ol{margin-bottom:1rem;padding-left:1.5rem}.story-section li{font-size:.95rem;color:var(--text-secondary);margin-bottom:.5rem;line-height:1.6}.story-media{margin:1.5rem 0;border-radius:.75rem;overflow:hidden;border:1px solid rgba(13,148,136,.1)}.story-media img,.story-media video{width:100%;display:block}.story-media video{background-color:#000}.story-caption{padding:.75rem 1rem;font-size:.8rem;color:var(--text-muted);background-color:var(--bg-sidebar);font-style:italic}.story-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin:1.5rem 0}.story-grid .story-media{margin:0}.story-callout{padding:1.25rem 1.5rem;border-left:3px solid var(--teal);background-color:var(--bg-sidebar);border-radius:0 .5rem .5rem 0;margin:1.5rem 0;font-size:.9rem;color:var(--text-secondary)}.story-callout strong{color:var(--text-primary)}.story-section code{font-size:.85rem;background-color:var(--teal-dim);color:var(--teal);padding:.15rem .4rem;border-radius:.25rem}.story-section pre{background-color:#0f172a;color:#e2e8f0;padding:1.25rem;border-radius:.5rem;overflow-x:auto;margin:1rem 0;font-size:.85rem;line-height:1.6}.story-section pre code{background:none;color:inherit;padding:0}@media(max-width:600px){.project-page{padding:3rem 1.25rem}.project-header h1{font-size:1.75rem}.story-grid{grid-template-columns:1fr}}
