.block.svelte-7hpc9t{padding:var(--pad-y-section) var(--pad-x);border-top:1px solid var(--line);position:relative}.block-inner.svelte-7hpc9t{max-width:var(--container-max);margin:0 auto}.section-head.svelte-7hpc9t{grid-template-columns:240px 1fr;align-items:end;gap:48px;margin-bottom:64px;display:grid}.section-head.svelte-7hpc9t .lbl:where(.svelte-7hpc9t){font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--fg-soft);align-items:center;gap:10px;font-size:11px;display:flex}.section-head.svelte-7hpc9t .lbl:where(.svelte-7hpc9t) .dot:where(.svelte-7hpc9t){background:var(--accent);width:6px;height:6px;box-shadow:0 0 12px var(--accent);border-radius:50%;display:inline-block}.section-head.svelte-7hpc9t h2:where(.svelte-7hpc9t) .italic{font-family:var(--font-serif);color:var(--fg-soft);font-style:italic;font-weight:400}.about-grid.svelte-7hpc9t{grid-template-columns:1.2fr 1fr;align-items:start;gap:64px;display:grid}.copy.svelte-7hpc9t{color:var(--fg);text-wrap:pretty;max-width:620px;font-size:20px;line-height:1.55}.copy.svelte-7hpc9t p:where(.svelte-7hpc9t){margin:0 0 22px}.about-stats.svelte-7hpc9t{background:var(--line);border:1px solid var(--line);grid-template-columns:1fr 1fr;gap:1px;display:grid}.stat.svelte-7hpc9t{background:var(--bg);padding:24px}.stat.svelte-7hpc9t .k:where(.svelte-7hpc9t){font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-size:10px}.stat.svelte-7hpc9t .v:where(.svelte-7hpc9t){font-family:var(--font-display);letter-spacing:-.02em;align-items:baseline;gap:6px;margin-top:6px;font-size:42px;font-weight:500;display:flex}.stat.svelte-7hpc9t .v:where(.svelte-7hpc9t) small:where(.svelte-7hpc9t){color:var(--fg-soft);font-size:14px;font-weight:400}@media (width<=980px){.section-head.svelte-7hpc9t{grid-template-columns:1fr;gap:18px;margin-bottom:42px}.about-grid.svelte-7hpc9t{grid-template-columns:1fr;gap:40px}}@media (width<=560px){.about-stats.svelte-7hpc9t{grid-template-columns:1fr}}.contact.svelte-wt4tt0{padding:160px var(--pad-x) 200px;border-top:1px solid var(--line);text-align:center;position:relative;overflow:hidden}.block-inner.svelte-wt4tt0{max-width:var(--container-max);margin:0 auto}.eyebrow.svelte-wt4tt0{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--fg-soft);align-items:center;gap:10px;margin-bottom:24px;font-size:11px;display:inline-flex}.eyebrow.svelte-wt4tt0 .dot:where(.svelte-wt4tt0){background:var(--accent);width:6px;height:6px;box-shadow:0 0 12px var(--accent);border-radius:50%;display:inline-block}h2.svelte-wt4tt0{font-family:var(--font-display);letter-spacing:-.04em;max-width:14ch;margin:0 auto;font-size:clamp(48px,10vw,160px);font-weight:500;line-height:.95}h2.svelte-wt4tt0 .italic:where(.svelte-wt4tt0){font-family:var(--font-serif);color:var(--fg-soft);font-style:italic;font-weight:400}.mailto.svelte-wt4tt0{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--fg);border-bottom:1px solid var(--line-strong);align-items:center;gap:14px;margin-top:36px;padding-bottom:6px;font-size:13px;transition:color .25s,border-color .25s;display:inline-flex}.mailto.svelte-wt4tt0:hover{color:var(--accent);border-color:var(--accent)}.links.svelte-wt4tt0{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:40px;display:flex}.foot.svelte-wt4tt0{padding:28px var(--pad-x);border-top:1px solid var(--line);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:80px;font-size:10px;display:flex}@media (width<=980px){.contact.svelte-wt4tt0{padding:120px var(--pad-x) 160px}}.block.svelte-1ar0d6w{padding:var(--pad-y-section) var(--pad-x);border-top:1px solid var(--line);position:relative}.block-inner.svelte-1ar0d6w{max-width:var(--container-max);margin:0 auto}.section-head.svelte-1ar0d6w{grid-template-columns:240px 1fr;align-items:end;gap:48px;margin-bottom:64px;display:grid}.section-head.svelte-1ar0d6w .lbl:where(.svelte-1ar0d6w){font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--fg-soft);align-items:center;gap:10px;font-size:11px;display:flex}.section-head.svelte-1ar0d6w .lbl:where(.svelte-1ar0d6w) .dot:where(.svelte-1ar0d6w){background:var(--accent);width:6px;height:6px;box-shadow:0 0 12px var(--accent);border-radius:50%;display:inline-block}.section-head.svelte-1ar0d6w h2:where(.svelte-1ar0d6w) .italic{font-family:var(--font-serif);color:var(--fg-soft);font-style:italic;font-weight:400}.timeline.svelte-1ar0d6w{border-left:1px solid var(--line);padding-left:32px;position:relative}.tl-item.svelte-1ar0d6w{padding:22px 0 28px 28px;position:relative}.tl-item.svelte-1ar0d6w:before{content:"";background:var(--bg);border:1px solid var(--accent);border-radius:50%;width:11px;height:11px;position:absolute;top:30px;left:-37px}.tl-item.svelte-1ar0d6w:after{content:"";background:var(--line);width:30px;height:1px;position:absolute;top:35px;left:-32px}.yr.svelte-1ar0d6w{letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-size:11px}h4.svelte-1ar0d6w{font-family:var(--font-display);letter-spacing:-.01em;margin:6px 0 4px;font-size:24px;font-weight:500}.role.svelte-1ar0d6w{color:var(--fg-soft);letter-spacing:.1em;text-transform:uppercase;font-size:11px}p.svelte-1ar0d6w{color:var(--fg-soft);max-width:600px;margin:10px 0 0;font-size:15px;line-height:1.55}@media (width<=980px){.section-head.svelte-1ar0d6w{grid-template-columns:1fr;gap:18px;margin-bottom:42px}}.hero.svelte-1q37ri0{min-height:100vh;padding:0 var(--pad-x);align-items:center;display:flex}.hero-inner.svelte-1q37ri0{max-width:var(--container-max);grid-template-columns:1fr;gap:36px;width:100%;margin:0 auto;padding-top:140px;padding-bottom:140px;display:grid}.meta.svelte-1q37ri0{color:var(--fg-soft);font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:18px;font-size:11px;display:flex}h1.svelte-1q37ri0 .accent-word:where(.svelte-1q37ri0){color:var(--accent)}h1.svelte-1q37ri0 .italic:where(.svelte-1q37ri0){font-family:var(--font-serif);font-style:italic;font-weight:400}h1.svelte-1q37ri0 .stroke:where(.svelte-1q37ri0){color:#0000;-webkit-text-stroke:1px var(--fg-soft)}.intro.svelte-1q37ri0{max-width:540px;color:var(--fg-soft);text-wrap:pretty;font-size:18px;line-height:1.55}.intro.svelte-1q37ri0 b{color:var(--fg);font-weight:500}.actions.svelte-1q37ri0{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.socials.svelte-1q37ri0{flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;display:flex}.marquee-row.svelte-1q37ri0{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);pointer-events:none;font-size:11px;position:absolute;bottom:80px;left:0;right:0;overflow:hidden}.marquee.svelte-1q37ri0{white-space:nowrap;gap:48px;animation:40s linear infinite marquee;display:flex}.marquee.svelte-1q37ri0 span:where(.svelte-1q37ri0){align-items:center;gap:14px;display:inline-flex}.marquee.svelte-1q37ri0 span:where(.svelte-1q37ri0):after{content:"◇";color:var(--accent);font-size:10px}@media (width<=560px){.marquee-row.svelte-1q37ri0{display:none}}.block.svelte-1cxunpt{padding:var(--pad-y-section) var(--pad-x);border-top:1px solid var(--line);position:relative}.block-inner.svelte-1cxunpt{max-width:var(--container-max);margin:0 auto}.section-head.svelte-1cxunpt{grid-template-columns:240px 1fr;align-items:end;gap:48px;margin-bottom:64px;display:grid}.section-head.svelte-1cxunpt .lbl:where(.svelte-1cxunpt){font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--fg-soft);align-items:center;gap:10px;font-size:11px;display:flex}.section-head.svelte-1cxunpt .lbl:where(.svelte-1cxunpt) .dot:where(.svelte-1cxunpt){background:var(--accent);width:6px;height:6px;box-shadow:0 0 12px var(--accent);border-radius:50%;display:inline-block}.section-head.svelte-1cxunpt h2:where(.svelte-1cxunpt) .italic{font-family:var(--font-serif);color:var(--fg-soft);font-style:italic;font-weight:400}.filter-bar.svelte-1cxunpt{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.filter-pill.svelte-1cxunpt{border:1px solid var(--line-strong);color:var(--fg-soft);letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:color .25s, background .25s, border-color .25s, transform .25s var(--ease-out);background:0 0;border-radius:999px;align-items:center;gap:8px;padding:8px 16px;font-size:10px;display:inline-flex}.filter-pill.svelte-1cxunpt:hover:not(:disabled):not(.active){color:var(--fg);border-color:var(--fg-soft)}.filter-pill.active.svelte-1cxunpt{background:var(--accent);color:var(--bg);border-color:var(--accent)}.filter-pill.svelte-1cxunpt:disabled{opacity:.35;cursor:not-allowed}.filter-count.svelte-1cxunpt{opacity:.7;border-left:1px solid;padding-left:4px;font-size:9px}.filter-pill.active.svelte-1cxunpt .filter-count:where(.svelte-1cxunpt){opacity:.85}.drag-cta.svelte-1cxunpt{letter-spacing:.18em;text-transform:uppercase;color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:24px;font-size:10px;display:flex}.filter-hint.svelte-1cxunpt{color:var(--fg-soft)}.project.no-drag.svelte-1cxunpt{cursor:default}.project.no-drag.svelte-1cxunpt .grip:where(.svelte-1cxunpt){display:none}.reset-btn.svelte-1cxunpt{letter-spacing:.18em;text-transform:uppercase;color:var(--fg-soft);font-size:10px;transition:color .2s}.reset-btn.svelte-1cxunpt:hover{color:var(--accent)}.projects.svelte-1cxunpt{flex-direction:column;display:flex}.see-more.svelte-1cxunpt{justify-content:center;margin-top:40px;display:flex}.see-more-btn.svelte-1cxunpt{border:1px solid var(--line-strong);color:var(--fg);letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:color .25s, border-color .25s, background .25s, transform .25s var(--ease-out);background:0 0;border-radius:999px;align-items:center;gap:12px;padding:14px 28px;font-size:11px;display:inline-flex}.see-more-btn.svelte-1cxunpt:hover{color:var(--bg);background:var(--accent);border-color:var(--accent);transform:translateY(-1px)}.see-more-arrow.svelte-1cxunpt{transition:transform .3s var(--ease-out);display:inline-block}.see-more-arrow.open.svelte-1cxunpt{transform:rotate(180deg)}.project.svelte-1cxunpt{border-top:1px solid var(--line);cursor:grab;transition:opacity .2s var(--ease-out);position:relative}.project.svelte-1cxunpt:last-child{border-bottom:1px solid var(--line)}.project.is-dragging.svelte-1cxunpt{opacity:.55;outline:2px dashed var(--accent);outline-offset:-2px;cursor:grabbing}.project.is-target.svelte-1cxunpt{outline:2px solid var(--accent);outline-offset:-2px}.row-link.svelte-1cxunpt{color:var(--fg);cursor:inherit;grid-template-columns:80px 1.4fr 1fr 80px;align-items:center;gap:32px;padding:32px 0;display:grid}.num.svelte-1cxunpt{font-family:var(--font-mono);letter-spacing:.18em;color:var(--muted);font-size:12px}.ttl.svelte-1cxunpt{font-family:var(--font-display);letter-spacing:-.02em;transition:color .3s var(--ease-out), transform .4s var(--ease-out);font-size:clamp(28px,3.6vw,52px);font-weight:500;line-height:1}.ttl.svelte-1cxunpt em:where(.svelte-1cxunpt){font-family:var(--font-serif);color:var(--fg-soft);font-style:italic;font-weight:400;transition:color .3s}.tags.svelte-1cxunpt{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.tag.svelte-1cxunpt{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:4px 8px;font-size:10px}.desc.svelte-1cxunpt{color:var(--fg-soft);max-width:380px;font-size:14px;line-height:1.5}.arrow.svelte-1cxunpt{border:1px solid var(--line-strong);width:42px;height:42px;color:var(--fg-soft);transition:all .3s var(--ease-out);border-radius:50%;justify-content:center;justify-self:end;align-items:center;display:flex}.project.svelte-1cxunpt:hover .arrow:where(.svelte-1cxunpt){background:var(--accent);color:var(--bg);border-color:var(--accent);transform:rotate(-45deg)scale(1.05)}.project.svelte-1cxunpt:hover .ttl:where(.svelte-1cxunpt){transform:translate(8px)}.project.svelte-1cxunpt:hover .ttl:where(.svelte-1cxunpt) em:where(.svelte-1cxunpt){color:var(--accent)}.preview.svelte-1cxunpt{pointer-events:none;background:var(--surface);border:1px solid var(--line-strong);opacity:0;width:360px;height:240px;transition:opacity .35s var(--ease-out), transform .5s var(--ease-out);z-index:5;border-radius:10px;position:absolute;top:0;left:50%;overflow:hidden;transform:translate(-50%,-30%)scale(.96)}.project.svelte-1cxunpt:hover .preview:where(.svelte-1cxunpt){opacity:1;transform:translate(-50%,-50%)scale(1)}.preview.svelte-1cxunpt .ph:where(.svelte-1cxunpt){background-image:repeating-linear-gradient(45deg, #ffffff0a 0 8px, transparent 8px 16px), linear-gradient(135deg, var(--surface), var(--surface-2));position:absolute;inset:0}.preview.svelte-1cxunpt .preview-img:where(.svelte-1cxunpt){object-fit:cover;object-position:top center;width:100%;height:100%;display:block;position:absolute;inset:0}.preview.svelte-1cxunpt .ph-label:where(.svelte-1cxunpt){font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--fg-soft);font-size:10px;position:absolute;bottom:12px;left:14px}.preview.svelte-1cxunpt .corners:where(.svelte-1cxunpt) i:where(.svelte-1cxunpt){border:1px solid var(--accent);width:10px;height:10px;position:absolute}.preview.svelte-1cxunpt .corners:where(.svelte-1cxunpt) i.a:where(.svelte-1cxunpt){border-bottom:none;border-right:none;top:8px;left:8px}.preview.svelte-1cxunpt .corners:where(.svelte-1cxunpt) i.b:where(.svelte-1cxunpt){border-bottom:none;border-left:none;top:8px;right:8px}.preview.svelte-1cxunpt .corners:where(.svelte-1cxunpt) i.c:where(.svelte-1cxunpt){border-top:none;border-right:none;bottom:8px;left:8px}.preview.svelte-1cxunpt .corners:where(.svelte-1cxunpt) i.d:where(.svelte-1cxunpt){border-top:none;border-left:none;bottom:8px;right:8px}.grip.svelte-1cxunpt{color:var(--muted);opacity:0;transition:opacity .3s,color .3s;position:absolute;top:50%;left:0;transform:translate(-28px,-50%)}.project.svelte-1cxunpt:hover .grip:where(.svelte-1cxunpt){opacity:.8;color:var(--accent)}@media (width<=980px){.section-head.svelte-1cxunpt{grid-template-columns:1fr;gap:18px;margin-bottom:42px}.row-link.svelte-1cxunpt{grid-template-columns:48px 1fr 48px;gap:18px}.desc.svelte-1cxunpt,.preview.svelte-1cxunpt,.grip.svelte-1cxunpt{display:none}}.block.svelte-1a80yqy{padding:var(--pad-y-section) var(--pad-x);border-top:1px solid var(--line);position:relative}.block-inner.svelte-1a80yqy{max-width:var(--container-max);margin:0 auto}.section-head.svelte-1a80yqy{grid-template-columns:240px 1fr;align-items:end;gap:48px;margin-bottom:64px;display:grid}.section-head.svelte-1a80yqy .lbl:where(.svelte-1a80yqy){font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--fg-soft);align-items:center;gap:10px;font-size:11px;display:flex}.section-head.svelte-1a80yqy .lbl:where(.svelte-1a80yqy) .dot:where(.svelte-1a80yqy){background:var(--accent);width:6px;height:6px;box-shadow:0 0 12px var(--accent);border-radius:50%;display:inline-block}.section-head.svelte-1a80yqy h2:where(.svelte-1a80yqy) .italic{font-family:var(--font-serif);color:var(--fg-soft);font-style:italic;font-weight:400}.skills-grid.svelte-1a80yqy{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:1px;display:grid}.skill.svelte-1a80yqy{background:var(--bg);padding:28px;transition:background .4s;position:relative;overflow:hidden}.skill.svelte-1a80yqy:hover{background:var(--bg-soft)}.skill.svelte-1a80yqy .h:where(.svelte-1a80yqy){align-items:center;gap:10px;margin-bottom:14px;display:flex}.skill.svelte-1a80yqy .ix:where(.svelte-1a80yqy){color:var(--muted);letter-spacing:.18em;font-size:10px}.skill.svelte-1a80yqy h3:where(.svelte-1a80yqy){font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:22px;font-weight:500}.skill.svelte-1a80yqy ul:where(.svelte-1a80yqy){flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.skill.svelte-1a80yqy li:where(.svelte-1a80yqy){font-family:var(--font-mono);letter-spacing:.06em;color:var(--fg-soft);border-bottom:1px dashed var(--line);justify-content:space-between;padding:6px 0;font-size:11px;display:flex}.skill.svelte-1a80yqy li:where(.svelte-1a80yqy) span:where(.svelte-1a80yqy):last-child{color:var(--accent)}@media (width<=980px){.section-head.svelte-1a80yqy{grid-template-columns:1fr;gap:18px;margin-bottom:42px}.skills-grid.svelte-1a80yqy{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.skills-grid.svelte-1a80yqy{grid-template-columns:1fr}}
