:root[data-theme=dark]{--bg:#0b0f14;--bg-elevated:#121a24;--text:#e8eef7;--text-muted:#9aa7bd;--border:#ffffff1a;--accent:#7c6cff;--accent-hover:#9b8cff;--shadow:0 8px 32px #00000059}:root[data-theme=light]{--bg:#f6f7fb;--bg-elevated:#fff;--text:#0f172a;--text-muted:#5b6475;--border:#0f172a1a;--accent:#4f46e5;--accent-hover:#4338ca;--shadow:0 8px 32px #0f172a14}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100vh;color:var(--text);background:var(--bg);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,sans-serif;font-size:1rem;line-height:1.6;transition:background .2s,color .2s}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{max-width:72rem;margin:0 auto;padding:0 1.25rem 4rem}.site-header{z-index:50;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);grid-template-columns:1fr auto;grid-template-areas:"brand tools""menu menu";align-items:center;gap:0 .75rem;margin-bottom:.25rem;padding:.875rem;display:grid;position:sticky;top:0}.site-header-panel{grid-area:menu}.header-toolbar{grid-area:tools;justify-self:end}.nav-backdrop{z-index:40;cursor:pointer;background:#0000006b;border:0;margin:0;padding:0;position:fixed;inset:0}:root[data-theme=light] .nav-backdrop{background:#0f172a47}@media (width<=1024px){.site-header-panel:not(.is-open){display:none}.site-header-panel.is-open{border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--bg) 96%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:52;border-radius:8px;flex-direction:column;align-items:stretch;gap:1rem;margin:1rem 0;padding:.5rem .8rem 1.5rem;display:flex;position:relative}.site-header-panel.is-open .nav-links{flex-flow:column;align-items:stretch;gap:0}.site-header-panel.is-open .nav-links li{border-bottom:1px solid var(--border)}.site-header-panel.is-open .nav-links li:last-child{border-bottom:0}.site-header-panel.is-open .nav-links a{padding:.75rem 0;display:block}.site-header-panel.is-open .nav-links a:hover{color:var(--accent)}.site-header-panel.is-open .header-actions{flex-direction:column;align-items:stretch}.site-header-panel.is-open .external-pill{justify-content:center}}.nav-toggle{border:1px solid var(--border);background:var(--bg-elevated);cursor:pointer;width:2.25rem;height:2.25rem;color:var(--text);border-radius:10px;justify-content:center;align-items:center;padding:0;display:inline-flex}.nav-toggle:hover{border-color:var(--accent)}.nav-toggle-bars{flex-direction:column;justify-content:space-between;width:1.125rem;height:.6875rem;display:flex}.nav-toggle-bars span{background:currentColor;border-radius:1px;height:2px;transition:transform .22s,opacity .18s;display:block}.nav-toggle[aria-expanded=true] .nav-toggle-bars span:first-child{transform:translateY(5px)rotate(45deg)}.nav-toggle[aria-expanded=true] .nav-toggle-bars span:nth-child(2){opacity:0}.nav-toggle[aria-expanded=true] .nav-toggle-bars span:nth-child(3){transform:translateY(-4px)rotate(-45deg)}.header-toolbar{align-items:center;gap:.5rem;display:inline-flex}@media (width>=1024px){.site-header{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"brand menu tools";column-gap:1rem}.site-header-panel{flex-wrap:wrap;justify-content:flex-end;justify-self:stretch;align-items:center;gap:.85rem 1.25rem;display:flex}.logo-link{margin-inline-end:.35rem}.header-toolbar{margin-inline-start:.35rem}.nav-toggle{display:none}}.logo-link{color:var(--text);grid-area:brand;align-items:center;gap:.5rem;font-size:1rem;font-weight:700;display:inline-flex}.logo-mark{object-fit:cover;border:1px solid var(--border);border-radius:10px;width:36px;height:36px}.nav-links{flex-wrap:wrap;align-items:center;gap:.35rem .85rem;margin:0;padding:0;list-style:none;display:flex}.nav-links a{color:var(--text-muted);font-size:.875rem;font-weight:500}.nav-links a:hover{color:var(--accent)}.header-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.external-pill{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);border-radius:999px;align-items:center;padding:.35rem .65rem;font-size:.8rem;font-weight:600;display:inline-flex}.external-pill:hover{border-color:var(--accent);color:var(--accent)}.theme-toggle{border:1px solid var(--border);background:var(--bg-elevated);cursor:pointer;width:2.25rem;height:2.25rem;color:var(--text);border-radius:10px;justify-content:center;align-items:center;padding:0;font-size:1rem;display:inline-flex}.theme-toggle:hover{border-color:var(--accent)}main{flex-direction:column;gap:4rem;display:flex}section{margin:4rem 0;scroll-margin-top:5rem}.section-heading{letter-spacing:-.02em;margin:0 0 .75rem;font-size:clamp(1.35rem,4vw,1.65rem);font-weight:700}.section-lede{color:var(--text-muted);max-width:42rem;margin:0 0 1.5rem;font-size:1rem}@keyframes heroFadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.hero{gap:2rem;padding:2.5rem 0 1rem;display:grid}.hero-copy{opacity:0;animation:1s ease-out forwards heroFadeUp}@media (width>=720px){.hero{grid-template-columns:1.1fr .9fr;align-items:center;padding:3rem 0 1rem}}.hero-copy h1{letter-spacing:-.03em;margin:0 0 1rem;font-size:clamp(2rem,5vw,2.75rem);line-height:1.15}.hero-tagline{color:var(--text-muted);max-width:36rem;margin:0 0 1.5rem;font-size:1.0625rem}.hero-visual{justify-content:center;display:flex}.hero-card{aspect-ratio:1;border:1px solid var(--border);background:var(--bg-elevated);width:min(100%,320px);box-shadow:var(--shadow);opacity:0;border-radius:20px;transition:transform .22s,box-shadow .28s;animation:.5s linear .5s forwards heroFadeUp;overflow:hidden}.hero-card img{object-fit:cover;width:100%;height:100%}.hero-cta-row{flex-wrap:wrap;gap:.75rem;display:flex}.btn-primary{cursor:pointer;background:var(--accent);color:#fff;border:none;border-radius:10px;justify-content:center;align-items:center;padding:.62rem 1.15rem;font-size:.9rem;font-weight:600;display:inline-flex}.btn-primary:hover{background:var(--accent-hover);color:#fff}.btn-ghost{border:1px solid var(--border);cursor:pointer;color:var(--text);background:0 0;border-radius:10px;justify-content:center;align-items:center;padding:.62rem 1.15rem;font-size:.9rem;font-weight:600;display:inline-flex}.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}.card-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;display:grid}.exp-card{border:1px solid var(--border);background:var(--bg-elevated);border-radius:14px;flex-direction:column;justify-content:space-between;gap:.75rem;padding:1.25rem;display:flex}.exp-card img{object-fit:contain;width:auto;max-width:140px;height:40px}.exp-role{margin:0;font-size:.95rem;font-weight:600}.tech-grid{flex-wrap:wrap;gap:.65rem;display:flex}.tech-chip{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);border-radius:999px;align-items:center;gap:.45rem;padding:.35rem .65rem .35rem .45rem;font-size:.8125rem;font-weight:500;display:inline-flex}.tech-chip img{width:22px;height:22px}.tech-group-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:1.25rem 0 .5rem;font-size:.75rem;font-weight:700;display:block}.tech-group-label:first-child{margin-top:0}.cert-row{flex-wrap:wrap;gap:.85rem;display:flex}.cert-badge{border:1px solid var(--border);background:var(--bg-elevated);border-radius:14px;justify-content:center;align-items:center;padding:.75rem 1rem;transition:border-color .15s;display:flex}.cert-badge:hover{border-color:var(--accent)}.cert-badge img{box-sizing:content-box;object-fit:contain;flex-shrink:0;width:clamp(72px,34vw,120px);height:auto;max-height:48px;display:block}.project-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem;display:grid}.project-card{border:1px solid var(--border);background:var(--bg-elevated);border-radius:16px;flex-direction:column;display:flex;overflow:hidden}.project-thumb{background:color-mix(in srgb, var(--text) 4%, transparent);height:240px;display:block}.project-thumb img{object-fit:cover;width:100%;height:100%}.project-body{flex-direction:column;flex:1;gap:.65rem;padding:1rem 1.1rem 1.15rem;display:flex}.project-title{margin:0;font-size:1.05rem;font-weight:700}.project-meta{color:var(--text-muted);flex:1;margin:0;font-size:.85rem}.project-links{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;display:flex}.project-links a{font-size:.85rem;font-weight:600}.project-note{color:var(--text-muted);margin:-.25rem 0 0;font-size:.78rem;font-style:italic}.disclaimer-box{border:1px solid var(--border);background:color-mix(in srgb, var(--accent) 8%, transparent);color:var(--text-muted);border-radius:12px;margin-top:1.5rem;padding:.85rem 1rem;font-size:.875rem}details.more-projects{border:1px solid var(--border);background:var(--bg-elevated);border-radius:14px;margin-top:1.75rem;overflow:hidden}details.more-projects summary{cursor:pointer;padding:1rem 1.15rem;font-weight:700;list-style:none}details.more-projects summary::-webkit-details-marker{display:none}details.more-projects summary:after{content:"+";float:right;color:var(--text-muted);font-weight:400}details.more-projects[open] summary:after{content:"−"}details.more-projects .project-grid{padding:0 1rem 1.25rem}.site-footer{border-top:1px solid var(--border);text-align:center;color:var(--text-muted);margin-top:4rem;padding-top:2rem;font-size:.9rem}.site-footer strong{color:var(--text)}.footer-social{flex-wrap:wrap;justify-content:center;gap:1rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.footer-social a{opacity:.85;display:inline-flex}.footer-social a:hover{opacity:1}.footer-social img{width:40px;height:40px}
