:root{--font-size:14px;--bg-color:#fff;--surface:#fff;--surface-soft:#f2f4fb;--section-alt:#fff;--text-color:#262936;--heading-color:#121521;--text-muted:#5f657a;--border-color:#dce1ef;--accent:#4f46e5;--accent-soft:#4f46e51a;--accent-border:#4f46e559;--soft-shadow:0 10px 30px #11182714;color:var(--text-color);background:var(--bg-color);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg-color:#0d101a;--surface:#151b28;--surface-soft:#1a2232;--section-alt:#0f1523;--text-color:#d3d9ed;--heading-color:#f5f8ff;--text-muted:#9aa5c2;--border-color:#28334a;--accent:#8b83ff;--accent-soft:#8b83ff29;--accent-border:#8b83ff66;--soft-shadow:0 14px 36px #00000059}}:root[data-theme=dark]{--bg-color:#0d101a;--surface:#1e2740;--surface-soft:#263050;--section-alt:#0f1523;--text-color:#d3d9ed;--heading-color:#f5f8ff;--text-muted:#9aa5c2;--border-color:#28334a;--accent:#8b83ff;--accent-soft:#8b83ff29;--accent-border:#8b83ff66;--soft-shadow:0 14px 36px #00000059}*,:before,:after{box-sizing:border-box}html{font-size:var(--font-size);scroll-behavior:smooth}body{background:var(--bg-color);margin:0;font-size:1rem;font-weight:400;line-height:1.5}.site-shell{color:var(--text-color)}.container{width:min(1120px,92%);margin:0 auto}.site-header{z-index:30;border-bottom:1px solid var(--border-color);background:color-mix(in srgb, var(--bg-color) 90%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:sticky;top:0}.nav-wrap{justify-content:space-between;align-items:center;gap:1rem;min-height:3.8rem;display:flex}.brand{color:var(--heading-color);font-size:.88rem;font-weight:500;line-height:1.5;text-decoration:none}.menu-toggle{display:none}.main-nav{align-items:center;gap:.6rem;display:flex}.main-nav a{color:var(--text-muted);border-radius:.5rem;padding:.32rem .5rem;font-size:.88rem;text-decoration:none;transition:all .2s}.main-nav a:hover{color:var(--heading-color);background:var(--surface-soft)}.nav-icon-btn{width:1.8rem;height:1.8rem;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:50%;font-size:.9rem}.hero-section{background:radial-gradient(circle at 80% 35%,#4f46e514,#0000 35%),radial-gradient(circle at 20% 20%,#4f46e50d,#0000 45%);padding:2.2rem 0 3.5rem}.hero-grid{grid-template-columns:1.05fr 1fr;align-items:center;gap:2.8rem;display:grid}.eyebrow{border:1px solid var(--border-color);background:var(--surface);color:var(--text-muted);border-radius:.5rem;align-items:center;gap:.45rem;margin-bottom:1.3rem;padding:.35rem .8rem;font-size:.82rem;font-weight:600;display:inline-flex}.hero-copy h1{letter-spacing:0;color:var(--heading-color);margin:0 0 .85rem;font-size:2.25rem;font-weight:500;line-height:1.5}@media (width>=640px){.hero-copy h1{font-size:3rem}}@media (width>=1024px){.hero-copy h1{font-size:3.75rem}}@media (width>=1280px){.hero-copy h1{font-size:4.5rem}}.hero-copy{max-width:36rem}.hero-lead{color:var(--text-muted);margin:0;font-size:1.25rem;font-weight:400;line-height:1.5}.hero-lead strong{color:var(--heading-color);font-weight:500}@media (width>=640px){.hero-lead{font-size:1.5rem}}.hero-text{max-width:38ch;color:var(--text-muted);margin:.55rem 0 1.45rem;font-size:1.125rem;line-height:1.5}.hero-actions{flex-wrap:nowrap;gap:.75rem;margin-top:1.1rem;display:flex}.btn{cursor:pointer;border:1px solid #0000;border-radius:.5rem;justify-content:center;align-items:center;padding:.62rem 1.15rem;font-size:1rem;font-weight:500;line-height:1.5;text-decoration:none;display:inline-flex}.btn-primary{color:#fff;background:#0f1115;border-color:#0f1115}.btn-primary:hover{filter:none;background:#1a1d24;border-color:#1a1d24}.btn-outline{border-color:var(--border-color);color:var(--heading-color);background:var(--bg-color)}.btn-outline:hover{background:var(--surface-soft)}.social-row{gap:.62rem;margin-top:1.25rem;display:flex}.social-btn{border:1px solid var(--border-color);background:var(--surface);width:2.2rem;height:2.2rem;color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;font-size:.76rem;font-weight:700;text-decoration:none;display:inline-flex}.social-btn svg{width:1rem;height:1rem;display:block}.hero-visual{justify-content:center;align-items:center;min-height:31rem;display:flex;position:relative}.hero-photo-ring{aspect-ratio:1;background:#d8dce5;border:4px solid #fff;border-radius:50%;width:min(29rem,95%);overflow:hidden;box-shadow:0 30px 50px #282f4633}.hero-photo-ring img{object-fit:cover;width:100%;height:100%}.availability-pill{background:var(--surface);border:1px solid var(--border-color);color:var(--text-color);box-shadow:var(--soft-shadow);border-radius:.8rem;align-items:center;gap:.45rem;padding:.6rem .95rem;font-size:.88rem;text-decoration:none;display:inline-flex;position:absolute;bottom:4rem;right:1.2rem}.status-dot{background:#35d07f;border-radius:50%;width:.5rem;height:.5rem;display:inline-block}.section{padding:4.5rem 0}.section-alt{background:var(--section-alt)}.section-title{text-align:center;margin-bottom:1.6rem}h2{color:var(--heading-color);margin:0 0 .45rem;font-size:1.875rem;font-weight:500;line-height:1.5}@media (width>=768px){h2{font-size:2.25rem}}.section-title p{color:var(--text-muted);margin:0;font-size:1rem;font-weight:400;line-height:1.5}.card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.card{border:1px solid var(--border-color);background:var(--surface);border-radius:1rem;padding:1rem}.card h3{color:var(--heading-color);margin:0 0 .6rem;font-size:1.125rem;font-weight:500;line-height:1.5}.card p{color:var(--text-muted);margin:0;font-size:1rem;font-weight:400;line-height:1.5}.skills-title{align-items:center;gap:.48rem;display:inline-flex}.skills-title-icon{width:1.5rem;height:1.5rem;color:var(--heading-color);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.skills-title-icon svg{width:100%;height:100%;display:block}.stack{gap:1rem;display:grid}.experience-stack{max-width:860px;margin:0 auto}.row-between{flex-wrap:wrap;justify-content:space-between;gap:1rem;display:flex}.experience-title{align-items:center;gap:.48rem;display:inline-flex}.experience-title-icon{width:1.5rem;height:1.5rem;color:var(--heading-color);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.experience-title-icon svg{width:100%;height:100%;display:block}.meta{color:var(--text-muted)}.company{margin-bottom:.55rem}.chip-row{flex-wrap:wrap;gap:.45rem;margin-top:.8rem;display:flex}.chip{border:1px solid var(--border-color);background:var(--surface-soft);border-radius:999px;padding:.18rem .44rem;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:.74rem;font-weight:500;line-height:1.5}.project-image-wrap{aspect-ratio:16/10;border:0;border-bottom:1px solid var(--border-color);background:var(--surface-soft);cursor:pointer;border-radius:1rem 1rem 0 0;width:calc(100% + 2rem);margin:-1rem -1rem 1.15rem;padding:0;display:block;overflow:hidden}.project-image-wrap img{object-fit:cover;width:100%;height:100%;display:block}.project-card{flex-direction:column;display:flex}.project-description{margin-top:.35rem;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:1rem;line-height:1.5}.project-actions{justify-content:flex-start;gap:.55rem;margin-top:auto;padding-top:1.2rem;display:flex}.project-action-btn{padding:.44rem .8rem;font-size:1rem;line-height:1.5}.github-btn{width:auto}.github-icon{justify-content:center;align-items:center;width:.95rem;height:.95rem;margin-right:.32rem;display:inline-flex}.github-icon svg{width:100%;height:100%;display:block}.preview-btn{color:#fff;background:#0f1115;border-color:#0f1115;width:auto}.preview-btn:hover{background:#1a1d24;border-color:#1a1d24}.lightbox-overlay{z-index:80;background:#080c16b8;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.lightbox-modal{background:var(--surface);border:1px solid var(--border-color);border-radius:1rem;width:min(980px,100%);padding:1rem;position:relative;box-shadow:0 24px 50px #00000059}.lightbox-close{border:1px solid var(--border-color);background:var(--surface);color:var(--heading-color);cursor:pointer;border-radius:.45rem;width:2rem;height:2rem;position:absolute;top:.6rem;right:.6rem}.lightbox-image-wrap{border:1px solid var(--border-color);background:var(--bg-color);border-radius:.75rem;justify-content:center;align-items:center;width:100%;height:min(78vh,680px);display:flex;overflow:hidden}.lightbox-image-wrap img{object-fit:contain;display:block}.lightbox-image-wrap img.lightbox-image-fullwidth{object-fit:cover;width:100%;height:100%}.lightbox-image-wrap img.lightbox-image-mobile{object-fit:contain;width:auto;max-width:100%;height:100%}.lightbox-controls{justify-content:space-between;align-items:center;gap:.6rem;margin-top:.8rem;display:flex}.lightbox-controls p{color:var(--text-muted);text-align:center;min-width:4.5rem;margin:0;font-size:1rem;line-height:1.5}.contact-grid{grid-template-columns:1fr 1fr;align-items:stretch;gap:1.2rem;max-width:860px;margin:0 auto;display:grid}.contact-heading .section-title{margin-bottom:1.4rem}.contact-info-cards{grid-template-rows:repeat(3,1fr);gap:.8rem;height:100%;display:grid}.contact-info-card{align-items:center;gap:.85rem;height:100%;display:flex}.contact-info-card h4{color:var(--heading-color);margin:0;font-size:1rem;font-weight:500;line-height:1.5}.info-icon{width:2.25rem;height:2.25rem;color:var(--heading-color);text-transform:uppercase;justify-content:center;align-items:center;font-size:.75rem;font-weight:500;display:inline-flex}.info-icon svg{width:1.5rem;height:1.5rem;display:block}.contact-form-card{border-radius:.9rem}.contact-form-title{color:var(--heading-color);margin:0;font-size:1.125rem;font-weight:500;line-height:1.5}.contact-line{margin-top:.25rem}.contact-link{color:var(--text-muted);text-decoration:none;display:inline-block}.contact-link:hover{text-decoration:underline}.form{gap:.8rem;display:grid}.form label{color:var(--heading-color);gap:.35rem;display:grid}.form input,.form textarea{box-sizing:border-box;border:1px solid var(--border-color);width:100%;color:var(--text-color);background:#f3f3f5;border-radius:.55rem;padding:.58rem .7rem;font-family:inherit;font-size:1rem}.form button{margin-top:.2rem}.form button:disabled{opacity:.7;cursor:not-allowed}.contact-submit-icon{justify-content:center;align-items:center;width:1.5rem;height:1.5rem;margin-right:.52rem;display:inline-flex}.contact-submit-icon svg{width:100%;height:100%;display:block}.contact-form-feedback{margin:.2rem 0 0;font-size:.95rem}.contact-form-feedback.success{color:#2e7d32}.contact-form-feedback.error{color:#b3261e}.site-footer{border-top:1px solid var(--border-color);color:var(--text-muted);text-align:center;padding:1.3rem 0}@media (width<=900px){.hero-grid,.contact-grid,.card-grid{grid-template-columns:1fr}#projects .card-grid{gap:1.9rem}.hero-grid{gap:1.6rem}.hero-section{padding-top:1.4rem}.hero-visual{order:-1}.hero-copy{text-align:center;align-items:center;margin:0 auto}.hero-actions{flex-wrap:wrap;justify-content:center}.social-row{justify-content:center}.hero-visual{min-height:auto}.hero-photo-ring{width:min(20rem,80%)}.availability-pill{bottom:2.2rem;right:.4rem}.menu-toggle{border:1px solid var(--border-color);background:var(--bg-color);color:var(--heading-color);border-radius:.55rem;padding:.45rem .7rem;display:inline-flex}.main-nav{border:1px solid var(--border-color);background:var(--surface);min-width:12rem;box-shadow:var(--soft-shadow);border-radius:.8rem;flex-direction:column;padding:.6rem;display:none;position:absolute;top:4.6rem;right:4%}.main-nav a{font-size:1rem}.main-nav-open{display:flex}.lightbox-modal{width:calc(100vw - 1.5rem);padding:.75rem}.lightbox-image-wrap{height:min(68vh,520px)}.lightbox-image-wrap img.lightbox-image-fullwidth{object-fit:contain;width:100%;height:100%}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .hero-section{background:radial-gradient(circle at 80% 35%,#8b83ff1f,#0000 35%),radial-gradient(circle at 20% 20%,#8b83ff14,#0000 45%)}:root:not([data-theme=light]) .hero-photo-ring{box-shadow:0 30px 60px #b4bedc33}:root:not([data-theme=light]) .github-btn{border-width:.5px;border-color:#dce1ef}:root:not([data-theme=light]) .btn-primary,:root:not([data-theme=light]) .preview-btn{color:#0f1115;background:#f5f8ff;border-color:#f5f8ff}:root:not([data-theme=light]) .btn-primary:hover,:root:not([data-theme=light]) .preview-btn:hover{background:#d3d9ed;border-color:#d3d9ed}}:root[data-theme=dark] .hero-section{background:radial-gradient(circle at 80% 35%,#8b83ff1f,#0000 35%),radial-gradient(circle at 20% 20%,#8b83ff14,#0000 45%)}:root[data-theme=dark] .hero-photo-ring{box-shadow:0 30px 60px #b4bedc33}:root[data-theme=dark] .github-btn{border-width:.5px;border-color:#dce1ef}:root[data-theme=dark] .btn-primary,:root[data-theme=dark] .preview-btn{color:#0f1115;background:#f5f8ff;border-color:#f5f8ff}:root[data-theme=dark] .btn-primary:hover,:root[data-theme=dark] .preview-btn:hover{background:#d3d9ed;border-color:#d3d9ed}
