:root{--primary:#4f46e5;--primary-dark:#4338ca;--primary-light:#818cf8;--bg:#f9fafb;--bg-alt:#ffffff;--text:#111827;--text-muted:#4b5563;--border:#e5e7eb;--card-shadow:rgba(15,23,42,.08);--radius:14px}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#0f1115;--bg-alt:#171a21;--text:#f3f4f6;--text-muted:#9ca3af;--border:#262b36;--card-shadow:rgba(0,0,0,.45)}}:root[data-theme="dark"]{--bg:#0f1115;--bg-alt:#171a21;--text:#f3f4f6;--text-muted:#9ca3af;--border:#262b36;--card-shadow:rgba(0,0,0,.45)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--text);line-height:1.6;transition:background-color .2s ease,color .2s ease}img,svg{max-width:100%;display:block}a{color:var(--primary)}.skip-link{position:absolute;left:-999px;top:0;background:var(--primary);color:#fff;padding:.75rem 1rem;border-radius:0 0 8px 0;z-index:100}.skip-link:focus{left:0}.wrap{max-width:1040px;margin:auto;padding:0 1.5rem}header.site{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.site-header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1.5rem;max-width:1040px;margin:auto}.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--text);font-weight:700;font-size:1.15rem}.brand img{width:32px;height:32px;border-radius:8px}nav.site-nav{display:flex;align-items:center;gap:1.4rem}nav.site-nav a{text-decoration:none;color:var(--text-muted);font-weight:600;font-size:.95rem}nav.site-nav a:hover,nav.site-nav a:focus-visible{color:var(--primary)}#theme-toggle{border:1px solid var(--border);background:var(--bg-alt);color:var(--text);width:38px;height:38px;border-radius:999px;display:grid;place-items:center;cursor:pointer}#theme-toggle svg{width:18px;height:18px}#theme-toggle .icon-moon{display:none}:root[data-theme="dark"] #theme-toggle .icon-sun{display:none}:root[data-theme="dark"] #theme-toggle .icon-moon{display:block}.hero{padding:4.5rem 1.5rem 3.5rem;max-width:1040px;margin:auto;display:grid;grid-template-columns:1.3fr .7fr;gap:2.5rem;align-items:center}.hero .eyebrow{display:inline-block;font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,transparent);padding:.3rem .7rem;border-radius:999px;margin-bottom:1rem}.hero h1{font-size:clamp(2rem,4vw,2.9rem);line-height:1.15;margin-bottom:1rem}.hero p.lead{color:var(--text-muted);font-size:1.1rem;max-width:46ch;margin-bottom:1.75rem}.hero-actions{display:flex;gap:.9rem;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.75rem 1.3rem;border-radius:10px;font-weight:600;text-decoration:none;font-size:.95rem;border:1px solid transparent;transition:transform .15s ease,box-shadow .15s ease}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 6px 16px rgba(79,70,229,.35)}.btn-primary:hover{background:var(--primary-dark)}.btn-ghost{background:transparent;color:var(--text);border-color:var(--border)}.hero-mark{justify-self:center;width:min(240px,60vw);filter:drop-shadow(0 18px 30px rgba(79,70,229,.25))}main{max-width:1040px;margin:auto;padding:1rem 1.5rem 4rem}section{padding-top:3.5rem;scroll-margin-top:5rem}section > .section-head{margin-bottom:1.75rem}section h2{font-size:1.8rem;margin-bottom:.4rem}section .section-sub{color:var(--text-muted)}.cards{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(270px,1fr))}.card{background:var(--bg-alt);border:1px solid var(--border);padding:1.5rem;border-radius:var(--radius);box-shadow:0 2px 8px var(--card-shadow);transition:transform .2s ease,box-shadow .2s ease;display:flex;flex-direction:column;gap:.75rem}.card:hover{transform:translateY(-4px);box-shadow:0 12px 24px var(--card-shadow)}.card-glyph{width:44px;height:44px;border-radius:10px;background:linear-gradient(135deg,var(--primary-light),var(--primary-dark));color:#fff;display:grid;place-items:center;font-weight:700;font-size:1.1rem}.card h3{font-size:1.15rem}.card p{color:var(--text-muted);font-size:.95rem;flex-grow:1}.tag-row{display:flex;flex-wrap:wrap;gap:.4rem}.tag{font-size:.75rem;font-weight:600;color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,transparent);padding:.2rem .55rem;border-radius:999px}.card-link{display:inline-flex;align-items:center;gap:.3rem;font-weight:600;text-decoration:none;font-size:.92rem}.card-link svg{width:14px;height:14px;transition:transform .15s ease}.card-link:hover svg{transform:translate(2px,-2px)}.card-soon{border-style:dashed;color:var(--text-muted);justify-content:center;align-items:center;text-align:center}.card-soon .card-glyph{background:var(--bg);border:1px dashed var(--border);color:var(--text-muted)}.about-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:2.5rem;align-items:start}.about-grid p{color:var(--text-muted)}.skills{display:flex;flex-wrap:wrap;gap:.5rem}.skill-chip{background:var(--bg-alt);border:1px solid var(--border);padding:.45rem .85rem;border-radius:999px;font-size:.85rem;font-weight:600}.contact-card{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;border-radius:var(--radius);padding:2.25rem;display:flex;flex-wrap:wrap;gap:1.5rem;align-items:center;justify-content:space-between}.contact-card h2{color:#fff}.contact-card p{color:rgba(255,255,255,.85)}.contact-card .btn-ghost{color:#fff;border-color:rgba(255,255,255,.5)}footer.site{text-align:center;padding:2rem 1.5rem;font-size:.85rem;color:var(--text-muted);border-top:1px solid var(--border);margin-top:3rem}footer.site .social-links{display:flex;justify-content:center;gap:1rem;margin-bottom:.75rem}footer.site .social-links a{color:var(--text-muted)}footer.site .social-links a:hover{color:var(--primary)}.js .reveal{opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease}.js .reveal.is-visible{opacity:1;transform:none}@media (max-width:760px){.hero{grid-template-columns:1fr;text-align:center;padding-top:3rem}.hero .eyebrow{margin-inline:auto}.hero p.lead{margin-inline:auto}.hero-actions{justify-content:center}.hero-mark{order:-1;width:150px}.about-grid{grid-template-columns:1fr}.contact-card{flex-direction:column;text-align:center;justify-content:center}}@media (max-width:600px){.site-header-inner{flex-wrap:wrap}nav.site-nav{gap:1rem;order:3;width:100%;justify-content:center;padding-top:.5rem}}
