:root{--bg:#111110;--surface:#1a1a18;--text:#e8e4dd;--muted:#807a6f;--accent:#e09f3e;--accent-dim:#e09f3e1f;--border:#ffffff14;--grid-line:#ffffff08;--font-body:"Barlow", sans-serif}[data-theme=light]{--bg:#f7f3ec;--surface:#eee9e0;--text:#1c1917;--muted:#6b6259;--accent:#b8741a;--accent-dim:#b8741a1a;--border:#00000014;--grid-line:#0000000a}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{background-color:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;transition:background-color .3s,color .3s}body{font-family:var(--font-body);background-color:var(--bg);color:var(--text);min-height:100dvh;transition:background-color .3s,color .3s;overflow-x:hidden}.bg-grid{pointer-events:none;z-index:0;background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);background-size:40px 40px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(#000 40%,#0000 100%);mask-image:radial-gradient(#000 40%,#0000 100%)}.page{z-index:1;flex-direction:column;align-items:center;min-height:100dvh;padding:3rem 2rem;display:flex;position:relative}.main-wrapper{flex:1;align-items:center;padding:2rem 0;display:flex}main{flex-direction:column;align-items:center;gap:3rem;width:100%;max-width:420px;animation:.8s ease-out both fadeUp;display:flex}.portrait{animation:.6s ease-out both fadeUp;position:relative}.portrait-frame{background:var(--accent);clip-path:url(#squircle);width:154px;height:154px;padding:2px;transition:transform .4s cubic-bezier(.34,1.56,.64,1);transform:rotate(-3deg)}.portrait-frame:hover{transform:rotate(0)scale(1.04)}.portrait-frame img{object-fit:cover;clip-path:url(#squircle);filter:grayscale(20%)contrast(1.05);width:150px;height:150px;transition:filter .4s}.portrait-frame:hover img{filter:grayscale(0%)contrast()}.intro{text-align:center;flex-direction:column;align-items:stretch;gap:2.25rem;width:100%;animation:.8s ease-out .15s both fadeUp;display:flex}h1{font-family:var(--font-body);letter-spacing:-.02em;text-transform:uppercase;width:100%;line-height:.78}h1 .line{white-space:nowrap;display:block}h1 .line-1{opacity:.6;font-size:6.7rem;font-weight:700}h1 .line-2{color:var(--accent);font-size:4.9rem;font-weight:700}.bio{color:var(--text);text-align:left;border-left:2px solid var(--accent);background:var(--surface);border-radius:0 8px 8px 0;width:100%;padding:1.25rem 1.5rem;font-size:.95rem;line-height:1.7}.links{flex-wrap:wrap;justify-content:center;gap:1rem;animation:.8s ease-out .3s both fadeUp;display:flex}.link-pill{font-family:var(--font-body);letter-spacing:.02em;color:var(--text);border:1px solid var(--border);background:var(--surface);border-radius:12px;align-items:center;gap:.5rem;padding:10px 24px;font-size:.85rem;font-weight:600;text-decoration:none;transition:all .3s;display:flex}.link-pill:hover{border-color:var(--accent);background:var(--accent-dim);color:var(--accent);transform:translateY(-2px)}.link-dot{background:var(--accent);opacity:.6;border-radius:50%;width:6px;height:6px;transition:opacity .3s}.link-pill:hover .link-dot{opacity:1}.experience{width:100%;animation:.8s ease-out .35s both fadeUp}.section-heading{font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:1.5rem;font-size:.7rem;font-weight:700}.timeline{background:var(--surface);border:1px solid #80808014;border-radius:12px;padding:1.25rem;position:relative}.timeline-group{border-bottom:1px solid #80808014;padding-bottom:1.25rem;animation:.5s ease-out both fadeUp}.timeline-group+.timeline-group{padding-top:1.25rem}.timeline-group:last-child{border-bottom:none;padding-bottom:0}.timeline-entry{align-items:flex-start;gap:.75rem;display:flex;position:relative}.timeline-logo{background:var(--logo-bg,#8080801a);object-fit:contain;border-radius:6px;flex-shrink:0;width:32px;height:32px;margin-top:.15rem;padding:4px}.timeline-marker{display:none}.timeline-consulting{border-left:1px solid #e09f3e26;margin-top:.75rem;margin-left:.25rem;padding-left:1rem}.consulting-label{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);opacity:.5;margin-bottom:.6rem;font-size:.6rem;font-weight:700;display:block}.timeline-entry--nested{padding-bottom:.75rem;animation:.5s ease-out both fadeUp}.timeline-entry--nested:last-child{padding-bottom:0}.timeline-marker--nested{display:none}.timeline-content{flex-direction:row;flex:1;justify-content:space-between;align-items:flex-start;gap:1rem;min-width:0;display:flex}.timeline-left{flex-direction:column;gap:.15rem;display:flex}.timeline-period{letter-spacing:.04em;color:var(--muted);text-align:right;white-space:nowrap;flex-shrink:0;font-size:.7rem;font-weight:600}.timeline-role{font-family:var(--font-body);color:var(--text);font-size:.9rem;font-weight:700;line-height:1.3}.timeline-company{color:var(--muted);font-size:.8rem;font-weight:400}footer{font-family:var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);gap:.5rem;margin-top:auto;padding-top:4rem;font-size:.75rem;animation:.8s ease-out .45s both fadeUp;display:flex}.separator{opacity:.3}.theme-toggle{z-index:100;border:1px solid var(--border);background:var(--surface);width:38px;height:38px;color:var(--muted);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;transition:border-color .2s,color .2s,background .2s,transform .2s;display:flex;position:fixed;top:1.25rem;right:1.25rem}.theme-toggle:hover{border-color:var(--accent);color:var(--accent);transform:scale(1.08)}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:480px){.page{padding:2rem 1.5rem}h1 .line-1{font-size:5rem}h1 .line-2{font-size:3.9rem}.bio{padding:1rem 1.25rem}.links{width:100%}.link-pill{flex:1;justify-content:center}}@media (max-width:360px){.page{padding:1.5rem 1rem}h1 .line-1{font-size:4rem}h1 .line-2{font-size:3.1rem}.bio{padding:.75rem 1rem;font-size:.85rem}.link-pill{padding:8px 16px;font-size:.8rem}}
