.gantt[data-astro-cid-ppq5xtzq]{border:1px solid var(--ink);background:var(--paper);margin:0}.g-head[data-astro-cid-ppq5xtzq]{border-bottom:1px solid var(--ink);justify-content:space-between;gap:12px;padding:12px 16px;font-size:13px;display:flex}.ok[data-astro-cid-ppq5xtzq]{align-items:center;gap:8px;display:inline-flex}.g-body[data-astro-cid-ppq5xtzq]{--label:78px;--pad:16px;padding:6px var(--pad) var(--pad);position:relative;container-type:inline-size}.g-row[data-astro-cid-ppq5xtzq]{grid-template-columns:var(--label) 1fr;align-items:center;height:44px;display:grid}.g-weeks[data-astro-cid-ppq5xtzq]{height:30px;color:var(--muted);font-size:11px}.g-weeks[data-astro-cid-ppq5xtzq] .lane[data-astro-cid-ppq5xtzq]{grid-template-columns:repeat(8,1fr);display:grid}.g-weeks[data-astro-cid-ppq5xtzq] .lane[data-astro-cid-ppq5xtzq] span[data-astro-cid-ppq5xtzq]{border-left:1px solid var(--line);padding-left:4px}.g-label[data-astro-cid-ppq5xtzq]{color:var(--ink-2);font-size:12px}.lane[data-astro-cid-ppq5xtzq]{background-image:repeating-linear-gradient(to right, var(--line) 0 1px, transparent 1px calc(100% / 8));height:100%;position:relative}.g-bar[data-astro-cid-ppq5xtzq]{top:11px;bottom:11px;left:var(--l);width:var(--w);background:var(--ink);transform-origin:0;animation:grow .7s var(--ease) var(--d) forwards;align-items:center;padding:0 8px;display:flex;position:absolute;overflow:hidden;transform:scaleX(0)}.g-bar[data-astro-cid-ppq5xtzq].is-done{background:var(--accent);color:var(--accent-ink)}@keyframes grow{to{transform:scaleX(1)}}.today[data-astro-cid-ppq5xtzq]{top:30px;bottom:10px;left:calc(var(--pad) + var(--label));border-left:1.5px dashed var(--ink);--to:calc((100cqw - var(--label)) * .72);width:0;animation:sweep 2.4s var(--ease) 1.1s forwards;opacity:0;position:absolute}.today[data-astro-cid-ppq5xtzq] .mono[data-astro-cid-ppq5xtzq]{background:var(--ink);color:var(--paper);padding:1px 4px;font-size:10px;position:absolute;top:-2px;left:4px}@keyframes sweep{0%{opacity:1;transform:translate(0)}to{opacity:1;transform:translateX(var(--to))}}@media (prefers-reduced-motion:reduce){.g-bar[data-astro-cid-ppq5xtzq]{animation:none;transform:none}.today[data-astro-cid-ppq5xtzq]{opacity:1;transform:translateX(var(--to));animation:none}}@media (width<=420px){.g-body[data-astro-cid-ppq5xtzq]{--label:64px;--pad:12px}}.tl[data-astro-cid-3xih677i]{--info:330px;border-top:1px solid var(--ink)}.tl-legend[data-astro-cid-3xih677i]{color:var(--muted);flex-wrap:wrap;gap:8px 22px;padding:14px 0;font-size:14px;display:flex}.tl-legend[data-astro-cid-3xih677i] span[data-astro-cid-3xih677i]{align-items:center;gap:8px;display:inline-flex}.key[data-astro-cid-3xih677i]{width:22px;height:10px;display:inline-block}.key--pm[data-astro-cid-3xih677i]{background:var(--accent)}.key--marketing[data-astro-cid-3xih677i]{background:var(--ink)}.key--other[data-astro-cid-3xih677i]{border:1.5px solid var(--ink);background:repeating-linear-gradient(-45deg, var(--hatch) 0 2px, transparent 2px 5px)}.tl-axis[data-astro-cid-3xih677i],summary[data-astro-cid-3xih677i]{grid-template-columns:var(--info) 1fr 28px;align-items:center;gap:0 20px;display:grid}.tl-axis[data-astro-cid-3xih677i]{border-top:1px solid var(--line);border-bottom:1px solid var(--line);height:34px;color:var(--muted);font-size:12px}.tl-axis[data-astro-cid-3xih677i] .track[data-astro-cid-3xih677i] span[data-astro-cid-3xih677i]{border-left:1px solid var(--line);padding-left:6px;position:absolute;top:50%;transform:translateY(-50%)}.track[data-astro-cid-3xih677i]{height:100%;min-height:26px;position:relative}.row[data-astro-cid-3xih677i]{border-bottom:1px solid var(--line)}summary[data-astro-cid-3xih677i]{cursor:pointer;padding:18px 0;list-style:none;transition:background .2s}summary[data-astro-cid-3xih677i]::-webkit-details-marker{display:none}summary[data-astro-cid-3xih677i]:hover{background:var(--paper-2)}.info[data-astro-cid-3xih677i] h3[data-astro-cid-3xih677i]{letter-spacing:-.02em;font-size:22px}.co[data-astro-cid-3xih677i]{color:var(--muted);margin-top:4px;font-size:15px}.row[data-astro-cid-3xih677i] .track[data-astro-cid-3xih677i]{background-image:repeating-linear-gradient(to right, var(--line) 0 1px, transparent 1px calc(100% / var(--n)))}.bar[data-astro-cid-3xih677i]{background:var(--ink);height:18px;position:absolute;top:50%;transform:translateY(-50%)}.row--pm[data-astro-cid-3xih677i] .bar[data-astro-cid-3xih677i]{background:var(--accent)}.row--other[data-astro-cid-3xih677i] .bar[data-astro-cid-3xih677i]{background:repeating-linear-gradient(-45deg, var(--hatch) 0 2px, transparent 2px 5px);outline:1.5px solid var(--ink);outline-offset:-1.5px}.live[data-astro-cid-3xih677i]{background:var(--ink);width:10px;height:10px;animation:1.4s steps(2,jump-none) infinite blink;position:absolute;top:50%;right:-5px;transform:translateY(-50%)rotate(45deg)}.toggle[data-astro-cid-3xih677i]{color:var(--ink-2);place-items:center;display:grid}.toggle[data-astro-cid-3xih677i] .icon{transition:transform .3s var(--ease)}.row[data-astro-cid-3xih677i][open] .toggle[data-astro-cid-3xih677i] .icon{transform:rotate(45deg)}summary[data-astro-cid-3xih677i]:hover .toggle[data-astro-cid-3xih677i]{color:var(--accent)}.detail[data-astro-cid-3xih677i]{margin-left:calc(var(--info) + 20px);max-width:760px;padding:0 48px 24px 0}.meta[data-astro-cid-3xih677i]{color:var(--muted);font-size:15px}.sum[data-astro-cid-3xih677i]{color:var(--ink-2);margin-top:10px}.detail[data-astro-cid-3xih677i] ul[data-astro-cid-3xih677i]{gap:6px;margin:12px 0 0;padding:0;list-style:none;display:grid}.detail[data-astro-cid-3xih677i] li[data-astro-cid-3xih677i]{padding-left:20px;position:relative}.detail[data-astro-cid-3xih677i] li[data-astro-cid-3xih677i]:before{content:"";background:var(--ink);width:7px;height:7px;position:absolute;top:.62em;left:0}.row--pm[data-astro-cid-3xih677i] .detail[data-astro-cid-3xih677i] li[data-astro-cid-3xih677i]:before{background:var(--accent)}@media (width<=860px){.tl-axis[data-astro-cid-3xih677i]{grid-template-columns:1fr}.tl-axis[data-astro-cid-3xih677i]>span[data-astro-cid-3xih677i]:first-child{display:none}summary[data-astro-cid-3xih677i]{grid-template-columns:1fr 28px;gap:12px}summary[data-astro-cid-3xih677i] .track[data-astro-cid-3xih677i]{grid-area:2/1/auto/-1}.detail[data-astro-cid-3xih677i]{margin-left:0;padding-right:0}}.clip[data-astro-cid-nc4tnjkm]{shape-rendering:geometricprecision;width:100%;height:100%;display:block;overflow:visible}.clip[data-astro-cid-nc4tnjkm] *{transform-box:fill-box}.bob[data-astro-cid-nc4tnjkm]{animation:2.6s cubic-bezier(.45,0,.55,1) infinite alternate bob}.shadow[data-astro-cid-nc4tnjkm]{transform-origin:50%;animation:2.6s cubic-bezier(.45,0,.55,1) infinite alternate shadow}.eye[data-astro-cid-nc4tnjkm]{transform-origin:50%;animation:5s infinite blink}.wave[data-astro-cid-nc4tnjkm]{transform-box:view-box;transform-origin:178px 132px;animation:1.6s cubic-bezier(.45,0,.55,1) infinite alternate wave}.beacon[data-astro-cid-nc4tnjkm]{animation:1.8s step-end infinite beacon}.bar[data-astro-cid-nc4tnjkm]{transform-origin:0;animation:6s cubic-bezier(.16,1,.3,1) infinite plan}.b2[data-astro-cid-nc4tnjkm]{animation-delay:.2s}.b3[data-astro-cid-nc4tnjkm]{animation-delay:.4s}.b4[data-astro-cid-nc4tnjkm]{animation-delay:.6s}.spark[data-astro-cid-nc4tnjkm]{transform-origin:50%;animation:3s cubic-bezier(.16,1,.3,1) infinite twinkle}.s2[data-astro-cid-nc4tnjkm]{animation-delay:1.4s}@keyframes bob{to{transform:translateY(-5px)}}@keyframes shadow{to{opacity:.1;transform:scaleX(.88)}}@keyframes blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}@keyframes wave{0%{transform:rotate(-10deg)}to{transform:rotate(12deg)}}@keyframes beacon{0%,to{opacity:1}50%{opacity:.25}}@keyframes plan{0%{transform:scaleX(0)}22%,82%{transform:scaleX(1)}92%,to{transform:scaleX(0)}}@keyframes twinkle{0%,to{opacity:0;transform:scale(.4)}35%,60%{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.bob[data-astro-cid-nc4tnjkm],.shadow[data-astro-cid-nc4tnjkm],.eye[data-astro-cid-nc4tnjkm],.wave[data-astro-cid-nc4tnjkm],.beacon[data-astro-cid-nc4tnjkm],.bar[data-astro-cid-nc4tnjkm],.spark[data-astro-cid-nc4tnjkm]{animation:none}}.hero[data-astro-cid-lcdefpme]{padding:clamp(48px,8vw,112px) 0 clamp(48px,7vw,88px)}.hero-grid[data-astro-cid-lcdefpme]{align-items:center;gap:56px;display:grid}@media (width>=980px){.hero-grid[data-astro-cid-lcdefpme]{grid-template-columns:1.2fr 1fr;gap:72px}}h1[data-astro-cid-lcdefpme]{letter-spacing:-.04em;font-size:clamp(56px,9vw,96px);font-weight:700;line-height:.92}.lede[data-astro-cid-lcdefpme]{font-family:var(--font-display);letter-spacing:-.02em;max-width:20ch;margin-top:28px;font-size:clamp(24px,2.7vw,34px);line-height:1.2}.sub[data-astro-cid-lcdefpme]{color:var(--ink-2);max-width:46ch;margin-top:20px;font-size:17px}.cta[data-astro-cid-lcdefpme]{flex-wrap:wrap;gap:12px;margin-top:36px;display:flex}.open-to[data-astro-cid-lcdefpme]{align-items:baseline;gap:10px;max-width:46ch;margin-top:22px;font-weight:500;display:flex}.open-to[data-astro-cid-lcdefpme] .sq[data-astro-cid-lcdefpme]{transform:translateY(-1px)}.ledger[data-astro-cid-lcdefpme]{margin-bottom:clamp(32px,5vw,64px)}.ledger-title[data-astro-cid-lcdefpme]{font-family:var(--font-body);letter-spacing:0;color:var(--muted);border-bottom:1px solid var(--ink);padding-bottom:12px;font-size:15px;font-weight:500}.ledger[data-astro-cid-lcdefpme] table[data-astro-cid-lcdefpme]{border-collapse:collapse;width:100%}.ledger[data-astro-cid-lcdefpme] td[data-astro-cid-lcdefpme]{border-bottom:1px solid var(--line);vertical-align:baseline;padding:16px 0}.ledger[data-astro-cid-lcdefpme] .v[data-astro-cid-lcdefpme]{white-space:nowrap;width:1%;font-family:var(--font-display);letter-spacing:-.04em;font-variant-numeric:tabular-nums;padding-right:clamp(20px,4vw,56px);font-size:clamp(30px,3.6vw,44px);font-weight:700;line-height:1}.ledger[data-astro-cid-lcdefpme] .l[data-astro-cid-lcdefpme]{color:var(--ink-2);font-size:17px}.ledger[data-astro-cid-lcdefpme] .src[data-astro-cid-lcdefpme]{white-space:nowrap;text-align:right;width:1%;color:var(--muted);padding-left:24px;font-size:15px}@media (width<=640px){.ledger[data-astro-cid-lcdefpme] tr[data-astro-cid-lcdefpme]{border-bottom:1px solid var(--line);grid-template-columns:auto 1fr;gap:4px 16px;padding:16px 0;display:grid}.ledger[data-astro-cid-lcdefpme] td[data-astro-cid-lcdefpme]{border:0;padding:0}.ledger[data-astro-cid-lcdefpme] .v[data-astro-cid-lcdefpme]{grid-row:span 2;padding-right:0}.ledger[data-astro-cid-lcdefpme] .src[data-astro-cid-lcdefpme]{text-align:left;padding-left:0}}.work-grid[data-astro-cid-lcdefpme]{gap:24px;display:grid}@media (width>=760px){.work-grid[data-astro-cid-lcdefpme]{grid-template-columns:repeat(2,1fr)}}@media (width>=1100px){.work-grid[data-astro-cid-lcdefpme]{grid-template-columns:1.4fr 1fr}.work-grid[data-astro-cid-lcdefpme]>[data-astro-cid-lcdefpme]:first-child{grid-row:span 2}}.ghost[data-astro-cid-lcdefpme]{border:1px dashed var(--line);color:var(--muted);flex-direction:column;gap:14px;padding:22px;display:flex}.ghost[data-astro-cid-lcdefpme] h3[data-astro-cid-lcdefpme]{color:var(--ink-2);font-size:24px}.about-grid[data-astro-cid-lcdefpme]{gap:48px;display:grid}@media (width>=900px){.about-grid[data-astro-cid-lcdefpme]{grid-template-columns:360px 1fr;align-items:start;gap:72px}.portrait[data-astro-cid-lcdefpme]{position:sticky;top:96px}}.portrait-card[data-astro-cid-lcdefpme]{aspect-ratio:4/5;background-color:#ebe7dc;background-image:linear-gradient(90deg,#1414131a 1px,#0000 1px),linear-gradient(#1414131a 1px,#0000 1px);background-size:32px 32px;border:1px solid #14141333;max-width:360px;padding:clamp(28px,6vw,48px)}.about-copy[data-astro-cid-lcdefpme]>p[data-astro-cid-lcdefpme]{max-width:60ch;font-size:clamp(18px,1.6vw,21px);line-height:1.55}.about-copy[data-astro-cid-lcdefpme]>p[data-astro-cid-lcdefpme]+p[data-astro-cid-lcdefpme]{margin-top:18px}.mini[data-astro-cid-lcdefpme]{letter-spacing:-.02em;margin:48px 0 14px;font-size:22px}.edu[data-astro-cid-lcdefpme]{border-top:1px solid var(--line);display:grid}@media (width>=640px){.edu[data-astro-cid-lcdefpme]{grid-template-columns:1fr 1fr}}.edu-item[data-astro-cid-lcdefpme]{border-bottom:1px solid var(--line);padding:16px 18px 16px 0}.edu-deg[data-astro-cid-lcdefpme]{margin-bottom:2px;font-weight:600}.certs[data-astro-cid-lcdefpme]{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.certs[data-astro-cid-lcdefpme] li[data-astro-cid-lcdefpme]{border-bottom:1px solid var(--line);align-items:baseline;gap:14px;padding:12px 0;display:flex}.check[data-astro-cid-lcdefpme]{background:var(--accent);flex:none;width:8px;height:8px;transform:translateY(-2px)}.skills[data-astro-cid-lcdefpme]{display:grid}@media (width>=860px){.skills[data-astro-cid-lcdefpme]{grid-template-columns:repeat(3,1fr)}}.skill-col[data-astro-cid-lcdefpme]{border-top:1px solid var(--ink);padding:24px 24px 32px 0}@media (width>=860px){.skill-col[data-astro-cid-lcdefpme]+.skill-col[data-astro-cid-lcdefpme]{border-left:1px solid var(--line);padding-left:24px}}.skill-col[data-astro-cid-lcdefpme] h3[data-astro-cid-lcdefpme]{margin-bottom:18px;font-size:24px}.contact[data-astro-cid-lcdefpme]{background:var(--ink);color:var(--paper);padding:clamp(80px,12vw,150px) 0}.contact[data-astro-cid-lcdefpme] h2[data-astro-cid-lcdefpme]{max-width:16ch;font-size:clamp(36px,6vw,80px)}.c-row[data-astro-cid-lcdefpme]{flex-wrap:wrap;align-items:center;gap:20px 28px;margin-top:44px;display:flex}.c-mail[data-astro-cid-lcdefpme]{font-family:var(--font-display);letter-spacing:-.03em;border-bottom:3px solid var(--accent);overflow-wrap:anywhere;min-height:44px;padding:6px 0 4px;font-size:clamp(20px,3.4vw,40px);transition:color .2s}.c-mail[data-astro-cid-lcdefpme]:hover{color:var(--accent)}.contact[data-astro-cid-lcdefpme] .copy[data-astro-cid-lcdefpme]{color:var(--paper);border-color:color-mix(in srgb, var(--paper) 50%, transparent)}.contact[data-astro-cid-lcdefpme] .copy[data-astro-cid-lcdefpme]:hover{color:var(--accent-ink);border-color:var(--accent)}.contact[data-astro-cid-lcdefpme] .copy[data-astro-cid-lcdefpme]:hover .icon{transform:none}.c-links[data-astro-cid-lcdefpme]{color:color-mix(in srgb, var(--paper) 78%, transparent);flex-wrap:wrap;align-items:center;gap:4px 32px;margin-top:40px;padding:0;list-style:none;display:flex}.c-links[data-astro-cid-lcdefpme] a[data-astro-cid-lcdefpme]:hover{color:var(--paper)}
