.app-shell{min-height:100vh;display:flex;flex-direction:column;background:#050816;color:#e5e7eb;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.app-header{position:sticky;top:0;inset-inline:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;border-bottom:1px solid rgba(148,163,184,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172ae6}.brand{display:flex;align-items:center;gap:.5rem}.brand-logo{width:32px;height:32px;border-radius:9999px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;border:1px solid rgba(129,140,248,.8)}.brand-name{font-weight:600;letter-spacing:.04em}.main-nav{display:flex;align-items:center;gap:.75rem}.main-nav a{font-size:.9rem;text-decoration:none;color:#cbd5f5;padding:.35rem .7rem;border-radius:9999px;border:1px solid transparent;transition:all .15s ease}.main-nav a:hover{border-color:#818cf899;background:#4f46e51f}.main-nav a.active{background:#4f46e5;color:#f9fafb}.nav-toggle{display:none;margin-left:auto;width:2.25rem;height:2.25rem;border-radius:9999px;border:1px solid rgba(148,163,184,.6);background:#0f172ae6;position:relative;z-index:30;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:0;cursor:pointer}.nav-toggle span:not(.nav-toggle-arrow){display:block;width:1.2rem;height:2px;border-radius:9999px;background:#e5e7eb}.nav-toggle-arrow{display:flex;align-items:center;justify-content:center;width:auto;height:auto;background:transparent;font-size:1.1rem;line-height:1;color:#e5e7eb}.nav-backdrop{position:fixed;inset:0;background:#0f172abf;z-index:15}.app-main{flex:1;max-width:960px;width:100%;margin:0 auto;padding:1.5rem 1rem 2.5rem}.page h1{font-size:clamp(1.8rem,3vw,2.4rem);margin-bottom:.75rem}.page p{line-height:1.6;color:#e5e7eb;max-width:60ch}.social-list{list-style:none;padding:0}.social-list li+li{margin-top:.4rem}.social-list a{color:#a5b4fc;text-decoration:none}.social-list a:hover{text-decoration:underline}.app-footer{padding:.75rem 1.25rem;font-size:.8rem;color:#9ca3af;text-align:center;border-top:1px solid rgba(148,163,184,.3)}.app-footer p{margin-top:.5rem}@media(max-width:640px){.nav-toggle{display:inline-flex}.main-nav{position:fixed;top:0;right:-260px;width:240px;height:100vh;flex-direction:column;align-items:flex-start;padding:4rem 1.25rem 1.5rem;gap:.5rem;background:#020617;box-shadow:-12px 0 30px #0f172acc;transition:right .18s ease-out;z-index:20}.main-nav--open{right:0}}.portfolio-page{padding-block:2rem 3rem}.page-header{max-width:720px;margin-inline:auto;margin-bottom:2rem;text-align:left}.page-header h1{font-size:clamp(2.25rem,3vw,2.75rem);margin-bottom:.25rem}.page-subtitle{color:#9ca3af;line-height:1.5}.portfolio-grid{display:flex;flex-direction:column;gap:1.5rem}@media(min-width:900px){.portfolio-grid{padding-block:.5rem 1rem}.project-card{max-width:560px}.project-card.left{margin-right:auto}.project-card.right{margin-left:auto}}.project-card{background:#020617;border-radius:1rem;padding:1.25rem 1.5rem;border:1px solid rgba(148,163,184,.4);box-shadow:0 12px 30px #0f172ad9;display:flex;flex-direction:column;gap:.75rem;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,background .15s ease}.project-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px #0f172ae6;border-color:#4f46e5;background:#020617}.project-card__header{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.project-card__title{font-size:1.1rem;font-weight:600;margin:0}.project-card__role{margin:.15rem 0 0;font-size:.85rem;color:#a1a1aa}.project-card__status{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;padding:.15rem .55rem;border-radius:999px;border:1px solid rgba(55,65,81,.9);color:#9ca3af}.project-card__period{font-size:.8rem;text-transform:uppercase;letter-spacing:.09em;color:#9ca3af;margin:0}.project-card__summary{margin:0;font-size:.9rem;line-height:1.5}.project-card__highlights{padding-left:1.1rem;margin:.25rem 0 0;font-size:.85rem;display:flex;flex-direction:column;gap:.2rem}.project-card__highlights li::marker{color:#4f46e5}.project-card__meta{display:flex;flex-wrap:wrap;gap:.4rem .6rem}.project-card__chips{display:flex;flex-wrap:wrap;gap:.35rem}.chip{display:inline-flex;align-items:center;padding:.2rem .6rem;border-radius:999px;font-size:.75rem;border:1px solid rgba(55,65,81,.9);background:#0f172ae6}.chip--tech{font-weight:500}.chip--tag{opacity:.85}.project-card__footer{margin-top:.5rem;display:flex;flex-wrap:wrap;gap:.5rem}.project-card__link{font-size:.8rem;text-decoration:none;padding:.35rem .8rem;border-radius:999px;border:1px solid #4f46e5;background:#4f46e51f}.project-card__link--secondary{border-color:#94a3b866;background:transparent}.youtube-card{margin-top:2rem;padding:1.5rem 1.75rem;border-radius:1rem;background:#020617;border:1px solid rgba(148,163,184,.4);box-shadow:0 12px 30px #0f172ad9}.youtube-card h2{font-size:1.1rem;margin:0 0 .75rem}.youtube-highlight{display:flex;flex-direction:column;gap:1rem}.youtube-highlight-link{text-decoration:none;color:inherit;display:block}.youtube-highlight-thumbnail-wrapper{position:relative;border-radius:.75rem;overflow:hidden}.youtube-highlight-thumbnail{width:100%;display:block}.youtube-highlight-overlay-title{position:absolute;left:0;right:0;bottom:0;padding:.6rem .9rem;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);font-size:.95rem;font-weight:500}.youtube-highlight-meta{display:flex;flex-direction:column;justify-content:space-between;gap:.5rem;font-size:.85rem}.youtube-highlight-views{opacity:.7}@media(min-width:720px){.youtube-highlight{flex-direction:row;align-items:stretch}.youtube-highlight-thumbnail-wrapper{flex:1 1 auto}.youtube-highlight-meta{flex:0 0 220px}}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.4rem .9rem;border-radius:999px;font-size:.85rem;text-decoration:none;border:1px solid #4f46e5;background:#4f46e5;color:#f9fafb;cursor:pointer;transition:background .12s ease,box-shadow .12s ease,transform .12s ease}.btn:hover{background:#6366f1;box-shadow:0 8px 24px #4f46e599;transform:translateY(-1px)}.btn.watch-btn{margin-top:.5rem}.youtube-mini-list{margin-top:1.25rem}.youtube-mini-list h4{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;opacity:.7;margin:0 0 .5rem}.youtube-mini-list ul{display:flex;gap:.75rem;overflow-x:auto;padding:0;margin:0;list-style:none}.youtube-mini-list li{flex:0 0 190px}.youtube-mini-list a{display:block;text-decoration:none;color:#e5e7eb}.youtube-mini-list img{width:100%;border-radius:.6rem;display:block;margin-bottom:.3rem}.youtube-mini-meta{display:flex;flex-direction:column;gap:.1rem}.youtube-mini-title{font-size:.8rem}.youtube-mini-views{font-size:.75rem;opacity:.7}.contact-form{margin-top:1.5rem;max-width:640px;display:flex;flex-direction:column;gap:1rem}.form-row label{display:block;font-size:.85rem;margin-bottom:.3rem;color:#9ca3af}.form-row input,.form-row select,.form-row textarea{width:100%;border-radius:.6rem;border:1px solid rgba(148,163,184,.5);background:#020617;padding:.55rem .75rem;color:#e5e7eb;font:inherit;outline:none;transition:border-color .12s ease,box-shadow .12s ease,background .12s ease}.form-row input:focus,.form-row select:focus,.form-row textarea:focus{border-color:#6366f1;box-shadow:0 0 0 1px #6366f1b3;background:#020314}.form-row textarea{resize:vertical;min-height:140px}.contact-form .btn{align-self:flex-start;margin-top:.25rem}.form-status{margin-top:.75rem;font-size:.85rem}.form-status.success{color:#4ade80}.form-status.error{color:#f97373}.work-history-page .page-header{margin-bottom:2rem}.work-section .work-entry{margin-bottom:1.75rem}.work-entry h2{margin:0}.work-dates{font-size:.9rem;opacity:.7;margin-bottom:.5rem}.testimonial-section{margin-top:3rem}.testimonial-row{display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;gap:1rem;padding-bottom:1rem;-webkit-overflow-scrolling:touch}.testimonial-card{flex:0 0 auto;width:260px;background:#020617;border-radius:1rem;padding:1rem 1.25rem;border:1px solid rgba(148,163,184,.4);box-shadow:0 12px 30px #0f172ad9}.testimonial-photo{width:60px;height:60px;border-radius:50%;object-fit:cover;margin-bottom:.5rem}.home-two-col{display:flex;flex-direction:row;gap:2rem;align-items:flex-start;margin-top:1rem}.home-text{flex:2}.home-photo{flex:1;display:flex;justify-content:center}.profile-pic{width:300px;height:auto;display:block;border-radius:50%}@media(max-width:768px){.home-two-col{flex-direction:column}}:root{color-scheme:dark}*,*:before,*:after{box-sizing:border-box}body{margin:0;background-color:#020617}
