.project-gallery[data-astro-cid-dwjvjof4]{min-width:0;margin-block:48px 64px}.project-gallery[data-astro-cid-dwjvjof4] header[data-astro-cid-dwjvjof4]{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.gallery-controls[data-astro-cid-dwjvjof4]{align-items:center;gap:10px;display:flex}.gallery-counter[data-astro-cid-dwjvjof4]{font-family:var(--font-mono);color:var(--color-muted);margin-right:8px;font-size:11px}.gallery-controls[data-astro-cid-dwjvjof4] button[data-astro-cid-dwjvjof4]{border:1px solid var(--color-line);border-radius:var(--radius-cta);background:var(--color-surface);cursor:pointer;place-items:center;width:44px;height:44px;display:grid}.gallery-controls[data-astro-cid-dwjvjof4] button[data-astro-cid-dwjvjof4]:disabled{opacity:.35;cursor:default}.gallery-track[data-astro-cid-dwjvjof4]{scroll-snap-type:x mandatory;border:1px solid var(--color-line);border-radius:var(--radius-card);background:var(--color-night);display:flex;position:relative;overflow-x:auto}.gallery-slide[data-astro-cid-dwjvjof4]{aspect-ratio:16/10;scroll-snap-align:start;flex:0 0 100%;place-items:center;min-width:0;padding:clamp(10px,2vw,24px);display:grid}.gallery-slide[data-astro-cid-dwjvjof4] img[data-astro-cid-dwjvjof4]{object-fit:contain;width:100%;height:100%;min-height:0}.gallery-error[data-astro-cid-dwjvjof4]{color:var(--color-muted);font-size:13px}.gallery-thumbnails[data-astro-cid-dwjvjof4]{gap:12px;margin-top:16px;padding:2px;display:flex;overflow-x:auto}.gallery-thumbnails[data-astro-cid-dwjvjof4] button[data-astro-cid-dwjvjof4]{border:1px solid var(--color-line);border-radius:var(--radius-card);background:var(--color-surface);cursor:pointer;flex-shrink:0;align-items:center;gap:12px;padding:6px 12px 6px 6px;display:flex}.gallery-thumbnails[data-astro-cid-dwjvjof4] button[data-astro-cid-dwjvjof4][aria-pressed=true]{border-color:var(--color-foreground);background:var(--color-night)}.gallery-thumbnails[data-astro-cid-dwjvjof4] img[data-astro-cid-dwjvjof4]{object-fit:contain;width:80px;height:50px}.gallery-thumbnails[data-astro-cid-dwjvjof4] span[data-astro-cid-dwjvjof4]{font-family:var(--font-mono);font-size:11px}.gallery-note[data-astro-cid-dwjvjof4]{color:var(--color-faint);font-family:var(--font-mono);margin-top:16px;font-size:11px;line-height:1.8}.gallery-note[data-astro-cid-dwjvjof4] a[data-astro-cid-dwjvjof4]{text-underline-offset:3px;margin-left:10px;text-decoration:underline;display:inline-block}[data-astro-cid-dwjvjof4][hidden]{display:none}button[data-astro-cid-dwjvjof4]:focus-visible,.gallery-track[data-astro-cid-dwjvjof4]:focus-visible{outline:2px solid var(--color-foreground);outline-offset:3px}@media (width<=760px){.project-gallery[data-astro-cid-dwjvjof4]{margin-block:32px 40px}.gallery-slide[data-astro-cid-dwjvjof4]{aspect-ratio:4/3}.gallery-thumbnails[data-astro-cid-dwjvjof4] img[data-astro-cid-dwjvjof4]{width:64px;height:40px}}@media print{.gallery-controls[data-astro-cid-dwjvjof4],.gallery-thumbnails[data-astro-cid-dwjvjof4]{display:none}.gallery-track[data-astro-cid-dwjvjof4]{display:block;overflow:visible}}.project-stack[data-astro-cid-sdrkgpsq]{flex-wrap:wrap;gap:8px;padding:0;list-style:none;display:flex}.project-stack[data-astro-cid-sdrkgpsq] li[data-astro-cid-sdrkgpsq]{border:1px solid var(--color-line);border-radius:var(--radius-cta);background:var(--color-surface);color:var(--color-foreground);align-items:center;gap:9px;padding:8px 11px;font-size:12px;display:inline-flex}.tool-logo[data-astro-cid-sdrkgpsq]{flex-shrink:0;place-items:center;width:24px;height:24px;display:grid}.tool-logo[data-astro-cid-sdrkgpsq]>[data-astro-cid-sdrkgpsq]{grid-area:1/1}.tool-logo[data-astro-cid-sdrkgpsq]>span[data-astro-cid-sdrkgpsq]{font-family:var(--font-mono);font-size:10px}.tool-logo[data-astro-cid-sdrkgpsq] img[data-astro-cid-sdrkgpsq]{object-fit:contain;background:var(--color-surface);width:24px;height:24px}.tool-logo[data-astro-cid-sdrkgpsq][data-logo-error] img[data-astro-cid-sdrkgpsq]{display:none}.workflow-section[data-astro-cid-b4j6bdlz]{border-bottom:1px solid var(--color-line);padding-block:64px;scroll-margin-top:104px}.workflow-heading[data-astro-cid-b4j6bdlz]{max-width:660px}.workflow-heading[data-astro-cid-b4j6bdlz] h2[data-astro-cid-b4j6bdlz]{font-family:var(--font-display);margin-top:14px;font-size:clamp(32px,4vw,48px);line-height:1.1}.workflow-heading[data-astro-cid-b4j6bdlz]>p[data-astro-cid-b4j6bdlz]:last-child{color:var(--color-muted);margin-top:18px;font-size:15px;line-height:1.8}.workflow-figure[data-astro-cid-b4j6bdlz]{margin-top:32px}.workflow-map[data-astro-cid-b4j6bdlz]{border:1px solid var(--color-line);border-radius:var(--radius-card);background:var(--color-surface);grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,3vw,40px);min-height:310px;padding:32px 28px;display:grid;position:relative}.beam-lines[data-astro-cid-b4j6bdlz]{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.workflow-track[data-astro-cid-b4j6bdlz],.workflow-flow[data-astro-cid-b4j6bdlz],.workflow-signal[data-astro-cid-b4j6bdlz]{fill:none;stroke-width:1.5px}.workflow-track[data-astro-cid-b4j6bdlz]{stroke:var(--color-line)}.workflow-flow[data-astro-cid-b4j6bdlz]{stroke:var(--color-primary);stroke-dasharray:100;stroke-dashoffset:calc(100 - var(--workflow-progress,1) * 100)}.workflow-signal[data-astro-cid-b4j6bdlz]{stroke:var(--color-foreground);stroke-width:2px;stroke-linecap:round;stroke-dasharray:8 92;stroke-dashoffset:calc(var(--workflow-progress,1) * -100);filter:drop-shadow(0 0 5px var(--color-glow))}.workflow-column[data-astro-cid-b4j6bdlz]{flex-direction:column;justify-content:center;gap:20px;min-width:0;display:flex}.workflow-node[data-astro-cid-b4j6bdlz]{z-index:1;border:1px solid var(--color-line);border-radius:var(--radius-card);background:var(--color-night);padding:20px 16px;position:relative}.workflow-number[data-astro-cid-b4j6bdlz]{font-family:var(--font-mono);color:var(--color-faint);font-size:11px}.workflow-node[data-astro-cid-b4j6bdlz] h3[data-astro-cid-b4j6bdlz]{margin-top:12px;font-size:15px;font-weight:500;line-height:1.4}.workflow-node[data-astro-cid-b4j6bdlz] p[data-astro-cid-b4j6bdlz]{color:var(--color-muted);margin-top:10px;font-size:12px;line-height:1.7}.workflow-node--gate[data-astro-cid-b4j6bdlz]{border-color:color-mix(in oklab, var(--color-primary) 60%, var(--color-line))}.workflow-node--review[data-astro-cid-b4j6bdlz] h3[data-astro-cid-b4j6bdlz]{color:var(--color-accent-text)}.workflow-node[data-astro-cid-b4j6bdlz] ul[data-astro-cid-b4j6bdlz]{border-top:1px solid var(--color-line-soft);gap:8px;margin-top:18px;padding-top:14px;display:grid}.workflow-node[data-astro-cid-b4j6bdlz] li[data-astro-cid-b4j6bdlz]{color:var(--color-muted);font-size:12px}.workflow-node[data-astro-cid-b4j6bdlz] li[data-astro-cid-b4j6bdlz]:before{content:"";background:var(--color-muted);vertical-align:middle;border-radius:50%;width:4px;height:4px;margin-right:10px;display:inline-block}figcaption[data-astro-cid-b4j6bdlz]{color:var(--color-faint);font-family:var(--font-mono);margin-top:14px;font-size:11px;line-height:1.7}.workflow-note[data-astro-cid-b4j6bdlz]{max-width:800px;color:var(--color-muted);align-items:baseline;gap:14px;margin-top:28px;font-size:14px;line-height:1.8;display:flex}.workflow-note[data-astro-cid-b4j6bdlz]>span[data-astro-cid-b4j6bdlz]{background:var(--color-primary);border-radius:50%;flex:0 0 6px;height:6px}@media (width<=1000px) and (width>=761px){.workflow-map[data-astro-cid-b4j6bdlz]{gap:18px;padding:24px 16px}.workflow-node[data-astro-cid-b4j6bdlz]{padding-inline:12px}.workflow-node[data-astro-cid-b4j6bdlz] h3[data-astro-cid-b4j6bdlz]{font-size:13px}}@media (width<=760px){.workflow-section[data-astro-cid-b4j6bdlz]{padding-block:40px}.workflow-map[data-astro-cid-b4j6bdlz]{grid-template-columns:1fr;gap:40px;padding:24px}.workflow-node[data-astro-cid-b4j6bdlz]{padding:18px 20px}.workflow-node[data-astro-cid-b4j6bdlz] h3[data-astro-cid-b4j6bdlz]{margin-top:8px}.workflow-node[data-astro-cid-b4j6bdlz] ul[data-astro-cid-b4j6bdlz]{grid-template-columns:repeat(2,minmax(0,1fr))}.workflow-outputs--split[data-astro-cid-b4j6bdlz]{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.workflow-outputs--split[data-astro-cid-b4j6bdlz] .workflow-node[data-astro-cid-b4j6bdlz]{padding-inline:14px}.workflow-outputs--split[data-astro-cid-b4j6bdlz] h3[data-astro-cid-b4j6bdlz]{font-size:13px}}@media (prefers-reduced-motion:reduce){.workflow-flow[data-astro-cid-b4j6bdlz]{stroke-dasharray:none;stroke-dashoffset:0}.workflow-signal[data-astro-cid-b4j6bdlz]{display:none}}.project-detail[data-astro-cid-jkpq2j7k]{padding-top:clamp(110px,14vh,160px)}.project-detail[data-astro-cid-jkpq2j7k] .breadcrumb[data-astro-cid-jkpq2j7k]{flex-wrap:wrap;font-size:12px;line-height:1.7}.project-hero[data-astro-cid-jkpq2j7k]{grid-template-columns:1.8fr 1fr;align-items:end;gap:clamp(40px,6vw,80px);padding-block:48px;display:grid}.project-eyebrow[data-astro-cid-jkpq2j7k]{flex-wrap:wrap;gap:12px 24px;margin-bottom:24px;display:flex}.project-eyebrow[data-astro-cid-jkpq2j7k]>span[data-astro-cid-jkpq2j7k]:first-child{color:var(--color-foreground)}.project-hero[data-astro-cid-jkpq2j7k] h1[data-astro-cid-jkpq2j7k]{font-family:var(--font-display);letter-spacing:-.025em;font-size:clamp(42px,5.2vw,72px);font-weight:400;line-height:1.02}.project-intro[data-astro-cid-jkpq2j7k]{padding-bottom:4px}.project-intro[data-astro-cid-jkpq2j7k]>p[data-astro-cid-jkpq2j7k]+p[data-astro-cid-jkpq2j7k]{color:var(--color-muted);margin-top:16px;font-size:16px;line-height:1.8}.project-quick-link[data-astro-cid-jkpq2j7k]{align-items:center;gap:18px;min-height:44px;margin-top:18px;font-size:13px;display:inline-flex}.project-quick-link[data-astro-cid-jkpq2j7k]:hover{text-underline-offset:5px;text-decoration:underline}.project-cover[data-astro-cid-jkpq2j7k]{view-timeline-name:--project-cover;view-timeline-axis:block}.project-cover-window[data-astro-cid-jkpq2j7k]{border-radius:var(--radius-card);background:var(--color-night);height:clamp(280px,42vw,540px);position:relative;overflow:clip}.project-cover-art[data-astro-cid-jkpq2j7k]{position:absolute;inset:-40px 0}.project-cover-art[data-astro-cid-jkpq2j7k] img{object-fit:cover;object-position:center;width:100%;height:100%}.project-cover[data-astro-cid-jkpq2j7k] figcaption[data-astro-cid-jkpq2j7k]{font-family:var(--font-mono);color:var(--color-faint);margin-top:14px;font-size:11px;line-height:1.7}.project-facts[data-astro-cid-jkpq2j7k]{border-block:1px solid var(--color-line);grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin-top:32px;padding-block:32px;display:grid}.project-facts[data-astro-cid-jkpq2j7k] dd[data-astro-cid-jkpq2j7k]{margin-top:10px;font-size:14px;line-height:1.65}.project-story[data-astro-cid-jkpq2j7k]{grid-template-columns:minmax(0,260px) minmax(0,1fr);align-items:start;gap:clamp(48px,7vw,96px);padding-block:64px;display:grid}.project-aside[data-astro-cid-jkpq2j7k]{position:sticky;top:104px}.project-toc[data-astro-cid-jkpq2j7k]{padding-bottom:28px}.project-toc[data-astro-cid-jkpq2j7k]>p[data-astro-cid-jkpq2j7k]{margin-bottom:16px}.project-toc[data-astro-cid-jkpq2j7k] a[data-astro-cid-jkpq2j7k]{min-height:44px;color:var(--color-muted);transition:color var(--duration-base) var(--ease-standard);align-items:baseline;gap:14px;padding-block:10px;font-size:13px;line-height:1.5;display:flex}.project-toc[data-astro-cid-jkpq2j7k] a[data-astro-cid-jkpq2j7k]>span[data-astro-cid-jkpq2j7k]{font-family:var(--font-mono);color:var(--color-faint);font-size:11px}.project-toc[data-astro-cid-jkpq2j7k] a[data-astro-cid-jkpq2j7k]:hover,.project-toc[data-astro-cid-jkpq2j7k] a[data-astro-cid-jkpq2j7k][aria-current=location]{color:var(--color-foreground)}.project-toc[data-astro-cid-jkpq2j7k] a[data-astro-cid-jkpq2j7k][aria-current=location]>span[data-astro-cid-jkpq2j7k]{color:var(--color-accent-text)}.project-specs[data-astro-cid-jkpq2j7k]{border-top:1px solid var(--color-line);padding-top:24px}.project-specs[data-astro-cid-jkpq2j7k] dl[data-astro-cid-jkpq2j7k]{gap:20px;margin-top:24px;display:grid}.project-specs[data-astro-cid-jkpq2j7k] dd[data-astro-cid-jkpq2j7k]{color:var(--color-muted);margin-top:8px;font-size:13px;line-height:1.7}.project-narrative[data-astro-cid-jkpq2j7k]{counter-reset:project-chapter;min-width:0;max-width:720px;font-size:16px;line-height:1.85}.project-narrative[data-astro-cid-jkpq2j7k] h2{counter-increment:project-chapter;margin-top:48px;scroll-margin-top:112px;font-size:clamp(30px,3.4vw,42px);line-height:1.15}.project-narrative[data-astro-cid-jkpq2j7k] h2:before{content:"(" counter(project-chapter, decimal-leading-zero) ")";font-family:var(--font-mono);color:var(--color-faint);margin-bottom:12px;font-size:11px;line-height:1.5;display:block}.project-narrative[data-astro-cid-jkpq2j7k] blockquote{border:1px solid var(--color-line);border-radius:var(--radius-card);background:var(--color-surface);margin:0 0 40px;padding:20px 24px;font-size:13px;font-style:normal;line-height:1.8}.project-narrative[data-astro-cid-jkpq2j7k] li+li{margin-top:16px}.project-related[data-astro-cid-jkpq2j7k]{margin-bottom:64px}.project-related-head[data-astro-cid-jkpq2j7k]{align-items:center;gap:24px;margin-bottom:24px;display:flex}.project-related-rule[data-astro-cid-jkpq2j7k]{background:var(--color-line);flex:1;height:1px}.project-related-grid[data-astro-cid-jkpq2j7k]{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.project-related-card[data-astro-cid-jkpq2j7k]{border:1px solid var(--color-line);border-radius:var(--radius-card);background:var(--color-surface);display:block;overflow:clip}.project-related-card[data-astro-cid-jkpq2j7k] img[data-astro-cid-jkpq2j7k]{aspect-ratio:3/2;object-fit:cover;width:100%}.project-related-card[data-astro-cid-jkpq2j7k] .meta[data-astro-cid-jkpq2j7k],.project-related-card[data-astro-cid-jkpq2j7k] h3[data-astro-cid-jkpq2j7k]{padding-inline:20px}.project-related-card[data-astro-cid-jkpq2j7k] .meta[data-astro-cid-jkpq2j7k]{margin-top:16px}.project-related-card[data-astro-cid-jkpq2j7k] h3[data-astro-cid-jkpq2j7k]{font-family:var(--font-display);margin-block:8px 20px;font-size:20px;font-weight:400;line-height:1.3}.project-related-card[data-astro-cid-jkpq2j7k]:hover h3[data-astro-cid-jkpq2j7k]{text-underline-offset:4px;text-decoration:underline}.project-related-card[data-astro-cid-jkpq2j7k]:focus-visible{outline:2px solid var(--color-foreground);outline-offset:3px}.project-contact[data-astro-cid-jkpq2j7k]{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-card);grid-template-columns:1.6fr 1fr;align-items:center;gap:40px;padding:40px;display:grid}.project-contact[data-astro-cid-jkpq2j7k] h2[data-astro-cid-jkpq2j7k]{font-family:var(--font-display);margin-top:16px;font-size:clamp(30px,3.3vw,44px);line-height:1.1}.project-contact[data-astro-cid-jkpq2j7k] h2[data-astro-cid-jkpq2j7k]+p[data-astro-cid-jkpq2j7k]{color:var(--color-muted);max-width:550px;margin-top:18px;font-size:14px;line-height:1.8}.project-contact-actions[data-astro-cid-jkpq2j7k]{flex-direction:column;align-items:end;gap:12px;display:flex}.project-contact-actions[data-astro-cid-jkpq2j7k] .btn[data-astro-cid-jkpq2j7k]{gap:18px}.project-contact-actions[data-astro-cid-jkpq2j7k] .project-quick-link[data-astro-cid-jkpq2j7k]{margin-top:0}.project-next[data-astro-cid-jkpq2j7k]{border-block:1px solid var(--color-line);justify-content:space-between;align-items:center;gap:40px;margin-top:40px;padding-block:40px;display:flex}.project-next[data-astro-cid-jkpq2j7k] h2[data-astro-cid-jkpq2j7k]{font-family:var(--font-display);max-width:700px;margin-top:14px;font-size:clamp(28px,3.6vw,44px);line-height:1.1}.project-next[data-astro-cid-jkpq2j7k]:hover h2[data-astro-cid-jkpq2j7k]{text-underline-offset:6px;text-decoration:underline}@media (prefers-reduced-motion:no-preference){.project-motion-ready[data-astro-cid-jkpq2j7k] .project-arrival{opacity:0;transition:opacity var(--duration-reveal) var(--ease-standard), transform var(--duration-reveal) var(--ease-out-quart);transform:translateY(22px)}.project-motion-ready[data-astro-cid-jkpq2j7k] .project-arrival.is-above{transform:translateY(-22px)}.project-motion-ready[data-astro-cid-jkpq2j7k] .project-arrival.is-visible,.project-motion-ready[data-astro-cid-jkpq2j7k] .project-arrival:focus-within{opacity:1;transform:none}.project-motion-ready[data-astro-cid-jkpq2j7k] .project-arrival:focus-within{transition:none}@supports (animation-timeline:view()){.project-cover-art[data-astro-cid-jkpq2j7k]{animation-name:project-cover-drift;animation-duration:auto;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--project-cover;animation-range:cover}}}@keyframes project-cover-drift{0%{transform:translateY(32px)}to{transform:translateY(-32px)}}@media (width<=1000px){.project-hero[data-astro-cid-jkpq2j7k]{grid-template-columns:1.6fr 1fr}.project-story[data-astro-cid-jkpq2j7k]{grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:40px}}@media (width<=760px){.project-hero[data-astro-cid-jkpq2j7k]{grid-template-columns:1fr;gap:24px;padding-block:32px}.project-eyebrow[data-astro-cid-jkpq2j7k]{gap:10px 18px;margin-bottom:18px}.project-hero[data-astro-cid-jkpq2j7k] h1[data-astro-cid-jkpq2j7k]{font-size:clamp(38px,8vw,58px)}.project-intro[data-astro-cid-jkpq2j7k]>p[data-astro-cid-jkpq2j7k]+p[data-astro-cid-jkpq2j7k]{font-size:15px}.project-cover-window[data-astro-cid-jkpq2j7k]{height:clamp(240px,66vw,460px)}.project-facts[data-astro-cid-jkpq2j7k]{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 20px;margin-top:24px;padding-block:28px}.project-story[data-astro-cid-jkpq2j7k]{grid-template-columns:1fr;gap:36px;padding-block:40px}.project-aside[data-astro-cid-jkpq2j7k]{position:static}.project-toc[data-astro-cid-jkpq2j7k]{display:none}.project-specs[data-astro-cid-jkpq2j7k]{border:1px solid var(--color-line);border-radius:var(--radius-card);padding:24px}.project-specs[data-astro-cid-jkpq2j7k] dl[data-astro-cid-jkpq2j7k]{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.project-narrative[data-astro-cid-jkpq2j7k]{font-size:15px}.project-narrative[data-astro-cid-jkpq2j7k] blockquote{padding:18px 20px}.project-contact[data-astro-cid-jkpq2j7k]{grid-template-columns:1fr;gap:24px;padding:28px 24px}.project-related-grid[data-astro-cid-jkpq2j7k]{grid-template-columns:1fr}.project-contact-actions[data-astro-cid-jkpq2j7k]{align-items:start}.project-next[data-astro-cid-jkpq2j7k]{gap:24px;padding-block:28px}}@media print{.project-aside[data-astro-cid-jkpq2j7k]{position:static}.project-detail[data-astro-cid-jkpq2j7k] .project-arrival{opacity:1!important;transform:none!important}.project-cover-art[data-astro-cid-jkpq2j7k]{animation:none!important}}
