@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-cyrillic-ext-wght-normal.20g3-bbbhdq0_.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-cyrillic-wght-normal.2cxlyxah-fd35.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-greek-ext-wght-normal.0mkxydxl0e43d.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-greek-wght-normal.1rx9vjatjkdar.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-vietnamese-wght-normal.2kcj5i_8uff48.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-latin-ext-wght-normal.3gdi_th3seg1n.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-latin-wght-normal.0gsaq8ukbf34m.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(../media/jetbrains-mono-cyrillic-ext-wght-normal.1ladf10s224e1.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(../media/jetbrains-mono-cyrillic-wght-normal.0x7cg5h5x34js.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(../media/jetbrains-mono-greek-wght-normal.1k07jbkicvzf3.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(../media/jetbrains-mono-vietnamese-wght-normal.0a13tgqsi9z78.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(../media/jetbrains-mono-latin-ext-wght-normal.3rxtet6g9i1k3.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(../media/jetbrains-mono-latin-wght-normal.2rmhnsrc80fag.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#f4f0e8;--ink:#262721;--muted:#67675d;--line:#d4d0c6;--accent:#b73e27;--on-ink:#f4f0e8;--on-accent:#fff9f1;--panel:#e8e4da;--photo-line:#a6a295;--story-ink:#595b54;--resume-ink:#595b54;--quiet-ink:#67675d;--control-line:#8b877b;--art-paper:#dddace;--app-art-paper:#e8e4da;--caption-paper:#262721;--caption-ink:#f4f0e8;--timeline-dot:#b73e27;--selection-paper:#edc7b8;--serif:Georgia, "Times New Roman", serif;--mono:"JetBrains Mono Variable", monospace;--sans:"Inter Variable", Arial, sans-serif}@media screen and (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#131c2b;--ink:#f0ede4;--muted:#b4b9c3;--line:#354052;--accent:#ff8c6c;--on-ink:#131c2b;--on-accent:#202633;--panel:#1d293b;--photo-line:#667081;--story-ink:#c3c7cf;--resume-ink:#c3c7cf;--quiet-ink:#b4b9c3;--control-line:#758197;--art-paper:#253146;--app-art-paper:#253146;--caption-paper:#1d293b;--caption-ink:#f0ede4;--timeline-dot:#ff8c6c;--selection-paper:#633c37}}@media screen{:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#131c2b;--ink:#f0ede4;--muted:#b4b9c3;--line:#354052;--accent:#ff8c6c;--on-ink:#131c2b;--on-accent:#202633;--panel:#1d293b;--photo-line:#667081;--story-ink:#c3c7cf;--resume-ink:#c3c7cf;--quiet-ink:#b4b9c3;--control-line:#758197;--art-paper:#253146;--app-art-paper:#253146;--caption-paper:#1d293b;--caption-ink:#f0ede4;--timeline-dot:#ff8c6c;--selection-paper:#633c37}}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{background:var(--paper);color:var(--ink);font:15px/1.65 var(--sans);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:5px}::selection{background:var(--selection-paper);color:var(--ink)}.shell{width:min(1160px,100% - 104px);margin-inline:auto}.header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;height:98px;display:flex}.wordmark{font:italic 33px/1 var(--serif);letter-spacing:-2px}.wordmark span{color:var(--accent)}.header nav{align-items:center;gap:32px;margin-left:auto;font-size:13px;display:flex}.header nav a{align-items:center;min-height:44px;display:inline-flex}.theme-switcher{border:1px solid var(--line);color:var(--muted);border-radius:28px;flex-shrink:0;align-items:center;padding:2px;display:inline-flex}.theme-switcher button{width:44px;height:44px;color:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.theme-switcher svg{width:20px;height:20px}.theme-switcher button:hover,.theme-switcher button[aria-pressed=true]{color:var(--accent);background:var(--panel)}.header nav a:hover,.footer a:hover{color:var(--accent)}.nav-resume{border-bottom:1px solid var(--ink)}.skip-link{z-index:100;background:var(--ink);color:var(--on-ink);padding:12px;position:absolute;top:-100px;left:20px}.skip-link:focus{top:10px}.eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:500;display:block}.text-link{border-bottom:1px solid var(--line);align-items:center;gap:30px;min-height:44px;padding-bottom:5px;font-size:14px;font-weight:600;display:inline-flex}.text-link:hover{color:var(--accent);border-color:var(--accent)}.section-heading>.all-projects-link{border:1px solid var(--line);border-radius:3px;flex-shrink:0;gap:24px;min-height:48px;padding:12px 18px;font-size:15px}.section-heading>.all-projects-link:hover{border-color:var(--accent)}.button{background:var(--accent);color:var(--on-accent);border:1px solid var(--accent);cursor:pointer;justify-content:space-between;align-items:center;gap:28px;min-height:44px;padding:13px 20px;font-size:14px;font-weight:600;display:inline-flex}.button:hover{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}.hero{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:90px;padding-block:72px 84px;display:grid}.hero-eyebrow{color:var(--ink);align-items:center;gap:12px;font-size:11px;font-weight:600;display:flex}.hero-eyebrow:before{content:"";background:var(--accent);flex-shrink:0;width:23px;height:2px}.hero h1{font:normal clamp(88px, 9.5vw, 138px)/.91 var(--serif);letter-spacing:-.075em;margin:34px 0 28px}.hero h1 em{color:var(--accent);font-weight:400}.hero-intro{max-width:430px;color:var(--muted);margin:0;font-size:18px;line-height:1.7}.hero-current{color:var(--muted);margin:22px 0 0;font-size:13px}.hero-current strong{color:var(--ink);font-weight:600}.hero-actions{flex-wrap:wrap;align-items:center;gap:26px;margin-top:33px;font-size:14px;font-weight:600;display:flex}.round-arrow{border:1px solid var(--accent);width:34px;height:34px;color:var(--accent);border-radius:50%;place-items:center;margin-left:12px;font-size:18px;transition:transform .2s;display:inline-grid}.hero-actions a:hover .round-arrow{transform:translateY(3px)}.small-link{min-height:44px;color:var(--muted);border-bottom:1px solid var(--line);align-items:center;gap:8px;display:inline-flex}.small-link:hover{color:var(--accent)}.hero-portrait{border:1px solid var(--photo-line);background:var(--paper);margin:0;padding:13px;position:relative;transform:rotate(2deg)}.hero-portrait img{object-fit:cover;object-position:center 42%;width:100%;height:420px;display:block}.hero-portrait figcaption{color:var(--muted);letter-spacing:.035em;justify-content:space-between;gap:12px;padding-top:12px;font-size:13px;display:flex}.portrait-seal{background:var(--accent);width:86px;height:86px;color:var(--on-accent);font:46px/1 var(--serif);box-shadow:0 0 0 8px var(--paper);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:47px;right:-31px;transform:rotate(-2deg)}.work-section{padding-bottom:25px}.section-heading{justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px;display:flex}.work-section>.section-heading{border-top:1px solid var(--ink);padding-top:35px}.section-heading h2{font:normal 48px/1.1 var(--serif);letter-spacing:-2px;margin:15px 0 0}.featured-project{border-top:1px solid var(--line);grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;gap:68px;padding-block:42px;display:grid}.featured-copy{grid-template-columns:28px minmax(0,1fr);gap:20px;display:grid}.project-number{color:var(--accent);padding-top:5px;font-size:13px}.featured-copy h3{font:normal 36px/1.12 var(--serif);letter-spacing:-1.2px;margin:15px 0 18px}.featured-copy h3 a:hover{color:var(--accent)}.featured-copy p{color:var(--muted);max-width:350px;margin:0;font-size:16px;line-height:1.8}.featured-copy .text-link{margin-top:24px}.explore-section{border-top:1px solid var(--ink);grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:68px;padding-block:55px 65px;display:grid}.explore-section h2{font:italic 45px/1.15 var(--serif);letter-spacing:-1.7px;max-width:310px;margin:15px 0 0}.destinations{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;display:grid}.destination{border-top:1px solid var(--line);padding-top:19px}.destination>span{color:var(--accent);font-size:13px}.destination h3{font:normal 29px/1.2 var(--serif);margin:20px 0 13px}.destination p{color:var(--muted);margin:0;font-size:15px;line-height:1.8}.destination:hover h3{color:var(--accent)}.contact-section{background:var(--panel);justify-content:space-between;align-items:center;gap:25px;margin-bottom:40px;padding:48px 42px;display:flex}.contact-section .eyebrow{color:var(--ink)}.contact-section h2{font:normal 42px/1.15 var(--serif);letter-spacing:-1.5px;margin:8px 0 0}.contact-section .button{flex-shrink:0}.footer{color:var(--muted);border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding-block:22px 34px;font-size:13px;display:flex}.footer-links{flex-wrap:wrap;gap:24px;display:flex}.footer a,.breadcrumbs a,.resume-contact a{align-items:center;min-height:44px;display:inline-flex}.footer>span{line-height:2}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:46px 32px;display:grid}.project-card{border-bottom:1px solid var(--line);min-width:0;padding-bottom:24px}.project-art{aspect-ratio:1.65;background:var(--art-paper);display:block;position:relative;overflow:hidden}.project-art img{object-fit:contain;width:100%;height:100%;transition:transform .4s;display:block}.responsive-image{min-width:0;display:block}.project-art .responsive-image{height:100%}.project-art:hover img{transform:scale(.99)}.art-open{background:var(--paper);width:36px;height:36px;color:var(--ink);border-radius:50%;place-items:center;font-size:20px;display:grid;position:absolute;bottom:18px;right:18px}@media (prefers-reduced-motion:no-preference){.art-open{transition:transform .22s,color .22s,background-color .22s}.text-link>span,.button>span,.destination h3>span{transition:transform .22s;display:inline-block}.header nav a,.button,.text-link,.project-card,.destination,.category-filters button{transition:color .18s,background-color .18s,border-color .18s}.project-card:is(:hover,:focus-within) .art-open,.featured-project:is(:hover,:focus-within) .art-open{background:var(--accent);color:var(--on-accent);transform:translate(3px)rotate(45deg)}.project-card:is(:hover,:focus-within) .project-art img,.featured-project:is(:hover,:focus-within) .project-art img{transform:scale(.99)}.text-link:is(:hover,:focus-visible)>span,.button:is(:hover,:focus-visible)>span,.destination:is(:hover,:focus-visible) h3>span{transform:translate(4px)}}.type-art{flex-direction:column;justify-content:space-between;gap:15px;height:100%;padding:30px;display:flex}.type-art strong{font:normal clamp(27px, 3.1vw, 42px)/1.12 var(--serif);letter-spacing:-1px;overflow-wrap:anywhere}.type-art>span{font-size:13px}.art-graft,.art-llms,.art-quant,.art-emerald,.art-ollama{background:var(--art-paper);color:var(--ink)}.art-router{color:#dfd9f9;background:#29273c}.card-meta{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:19px;font-size:11px;display:flex}.project-card h3{font:normal 30px/1.18 var(--serif);letter-spacing:-.8px;margin:12px 0 10px}.project-card h3 a:hover{color:var(--accent)}.project-card p{color:var(--muted);margin:0;font-size:16px;line-height:1.75}.about-portrait{border:1px solid var(--photo-line);width:min(100%,280px);height:auto;margin-bottom:35px;padding:9px;display:block;transform:rotate(-1deg)}@media (min-width:1500px){.hero{padding-block:86px 98px}.hero-portrait img{height:448px}}@media (max-width:950px){.shell{width:calc(100% - 64px)}.hero{gap:45px;padding-block:56px 68px}.hero h1{font-size:clamp(82px,11vw,100px)}.hero-portrait img{height:370px}.portrait-seal{width:70px;height:70px;font-size:38px;right:-20px}.hero-intro{font-size:16px}.featured-project,.explore-section{gap:36px}.featured-copy{grid-template-columns:20px minmax(0,1fr);gap:12px}.featured-copy h3{font-size:31px}.contact-section h2{font-size:35px}.header nav{gap:22px}.project-grid{gap:36px 24px}.footer{flex-wrap:wrap}}@media (max-width:700px) and (min-width:621px){.hero{gap:30px}.hero h1{font-size:79px}.hero-portrait img{height:330px}.hero-actions{flex-wrap:wrap;gap:16px}}@media (max-width:620px){.shell{width:calc(100% - 40px)}.header{grid-template-columns:1fr auto;gap:4px 12px;height:auto;padding-block:12px 6px;display:grid}.header nav{flex-wrap:wrap;grid-area:2/1/auto/-1;justify-content:space-between;gap:0 12px;margin-left:0;font-size:13px}.theme-switcher{grid-area:1/2}.wordmark{font-size:29px}.hero{grid-template-columns:1fr;gap:40px;padding-block:37px 51px}.hero-eyebrow{letter-spacing:.08em;gap:9px;font-size:11px}.hero-eyebrow:before{width:17px}.hero h1{margin:28px 0 24px;font-size:min(118px,29vw - 11.6px)}.hero h1 br{display:none}.hero h1 em{margin-left:.6em;display:block}.hero-intro{max-width:370px;font-size:16px}.hero-current{margin-top:16px;font-size:13px}.hero-actions{grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:8px 16px;margin-top:24px;display:grid}.hero-actions>a:first-child{grid-column:1/-1;align-items:center;width:fit-content;min-height:48px;display:flex}.hero-actions .small-link{justify-content:space-between}.hero-portrait{width:76%;margin-left:auto;margin-right:15px;padding:10px}.hero-portrait img{height:clamp(180px,78vw,280px)}.hero-portrait figcaption{flex-wrap:wrap;gap:0 8px;padding-top:9px;font-size:13px}.portrait-seal{width:65px;height:65px;font-size:34px;bottom:35px;left:-29px;right:auto}.work-section{padding-bottom:8px}.work-section>.section-heading{padding-top:27px}.section-heading{flex-wrap:wrap;align-items:start;gap:18px;margin-bottom:25px}.section-heading h2{letter-spacing:-1.5px;font-size:36px}.section-heading>.all-projects-link{flex-shrink:0;gap:12px;margin-top:5px;padding:12px;font-size:14px}.featured-project{grid-template-columns:1fr;gap:26px;padding-block:30px 36px}.featured-project .project-art{grid-row:1}.featured-copy{grid-template-columns:20px minmax(0,1fr);gap:13px}.featured-copy h3{margin:10px 0 13px;font-size:32px}.featured-copy p{font-size:16px}.featured-copy .text-link{margin-top:18px}.explore-section{grid-template-columns:1fr;gap:30px;padding-block:33px 40px}.explore-section h2{max-width:none;font-size:37px}.destinations{grid-template-columns:1fr;gap:22px}.destination h3{margin-top:16px;font-size:26px}.destination p{font-size:15px}.contact-section{margin-bottom:28px;padding:29px 23px;display:block}.contact-section h2{font-size:33px}.contact-section .button{margin-top:25px}.footer{align-items:start;gap:8px 20px;padding-bottom:26px}.footer>span{width:100%}.footer-links{gap:20px}.footer>a{margin-left:0}.project-grid{grid-template-columns:1fr;gap:32px}.project-card h3{font-size:29px}.type-art{padding:26px}.type-art strong{font-size:clamp(29px,8vw,38px)}.project-card-text .project-art{aspect-ratio:auto;min-height:64px}.project-card-text .type-art{justify-content:center;min-height:64px;padding:16px 64px 16px 16px}.project-card-text .type-art>span{font-size:13px}.project-card-text .type-art strong,.project-card-text .type-art .art-index{display:none}.project-card-text .art-open{bottom:calc(50% - 18px);right:14px}.about-portrait{width:100px;margin:0;padding:4px}}@media (max-width:359px){.header{grid-template-columns:1fr auto;gap:0;height:auto;padding-block:10px 4px;display:grid}.header nav{grid-area:2/1/auto/-1;justify-content:space-between;margin-left:0}.theme-switcher{grid-area:1/2}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.project-art:hover img,.hero-actions a:hover .round-arrow{transform:none}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.page-main{min-height:65vh;padding-top:50px;padding-bottom:85px}.page-intro{padding-block:20px 42px}.page-intro h1{font-family:var(--serif);letter-spacing:-.045em;margin:24px 0;font-size:clamp(44px,6vw,76px);font-weight:400;line-height:1.08}.page-intro>p{color:var(--muted);margin:0;font-size:20px;line-height:1.55}.page-intro .button{margin-top:28px}.gallery-controls{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:23px 0;display:flex}.category-filters{flex-wrap:wrap;gap:8px;display:flex}.category-filters button{min-height:44px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:3px;padding:8px 12px;font-size:14px}.category-filters button[aria-pressed=true]{background:var(--ink);color:var(--on-ink)}.category-filters button:hover:not([aria-pressed=true]){border-color:var(--line);color:var(--ink)}.search-field{border-bottom:1px solid var(--control-line);align-items:center;width:290px;min-width:0;max-width:100%;min-height:48px;margin:0;display:flex}.search-field:focus-within{outline:2px solid var(--accent);outline-offset:4px;border-color:var(--accent)}.search-field input{color:var(--ink);background:0 0;border:0;width:100%;min-width:0;min-height:44px;padding:10px 3px;font-size:16px}.search-field input:focus{outline:none}.search-field input::-webkit-search-cancel-button{-webkit-appearance:none}.search-field input::placeholder{color:var(--muted);opacity:1}.search-icon,.search-clear{flex:0 0 44px;place-items:center;width:44px;height:44px;font-size:25px;display:grid}.search-clear{color:var(--ink);cursor:pointer;background:0 0;border:0}.results-count{font-family:var(--mono);color:var(--muted);margin:22px 0 30px;font-size:13px}.empty-state{min-height:350px;padding:70px 0}.empty-state h2{letter-spacing:-1px;font-weight:500}.empty-state p{color:var(--muted)}.empty-state button{cursor:pointer}.project-claude-graft img,.project-claude-ollama img{object-fit:contain;filter:drop-shadow(0 15px 17px #0002);padding:30px 48px}.project-worldquant img{object-fit:contain;background:#141625;padding:20px}.image-caption{color:#fff;background:#141625e8;max-width:75%;padding:3px 8px;font-size:13px;position:absolute;bottom:13px;left:15px}.routing-visual{flex-direction:column;justify-content:space-between;height:100%;padding:28px;display:flex}.routing-visual>.art-index{font:13px var(--mono);color:#e1dcf4}.routing-nodes{font:14px var(--mono);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;display:flex}.routing-nodes span{text-align:center;background:#ffffff06;border:1px solid #aaa0c870;border-radius:3px;min-width:200px;padding:8px 16px}.routing-nodes span:last-child{color:#262236;background:#ddd6fa}.routing-nodes i{font-style:normal;line-height:1}.breadcrumbs{font-family:var(--mono);color:var(--muted);margin-bottom:26px;font-size:13px}.breadcrumbs ol{flex-wrap:wrap;gap:8px 12px;margin:0;padding:0;list-style:none;display:flex}.breadcrumbs li{align-items:center;gap:12px;min-width:0;display:flex}.breadcrumb-separator{opacity:.5}.breadcrumbs a:hover{color:var(--accent)}.detail-header{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:40px;padding:43px 0 40px;display:grid}.detail-header h1{font-family:var(--serif);letter-spacing:-.045em;max-width:800px;margin:22px 0;font-size:clamp(40px,5.5vw,70px);font-weight:400;line-height:1.12}.detail-header p{color:var(--muted);max-width:720px;margin:0;font-size:21px;line-height:1.55}.detail-actions{flex-direction:column;align-items:start;gap:18px;display:flex}.detail-image{background:var(--art-paper);border-radius:4px;margin:0;overflow:hidden}.detail-image img{object-fit:contain;width:100%;height:auto;max-height:620px;display:block}.detail-image.project-claude-graft,.detail-image.project-claude-ollama{background:var(--app-art-paper)}.detail-image.project-claude-graft img,.detail-image.project-claude-ollama img{object-fit:contain;height:530px;padding:48px}.detail-image figcaption{background:var(--caption-paper);color:var(--caption-ink);padding:12px 20px;font-size:13px}.detail-image-caption{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 20px;display:flex}.full-image-link{text-underline-offset:4px;align-items:center;gap:16px;min-height:44px;text-decoration:underline;display:inline-flex}.detail-body{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:80px;padding:60px 0;display:grid}.project-facts>div{margin-bottom:30px}.project-facts ul{margin:13px 0;padding:0;font-size:15px;list-style:none}.project-facts li{margin-bottom:4px}.project-facts p{margin-top:10px;font-size:15px}.small-note{color:var(--muted);font-size:13px!important}.project-story section{margin-bottom:35px}.project-story h2,.about-story h2{font-family:var(--serif);letter-spacing:-.8px;margin:0 0 16px;font-size:32px;font-weight:400;line-height:1.3}.project-story p,.about-story p{color:var(--story-ink);margin:0 0 18px;font-size:17px;line-height:1.9}.related-section{border-top:1px solid var(--line);padding-top:45px}.about-layout{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:80px;padding-top:32px;display:grid}.about-aside{padding-top:3px}.about-aside dl{margin-bottom:33px}.about-aside dt{font-family:var(--mono);color:var(--muted);margin-top:23px;font-size:13px}.about-aside dd{margin:6px 0 0;font-size:15px}.about-story section{margin-bottom:48px}.timeline{margin-top:28px}.timeline-entry{border-left:1px solid var(--line);padding:0 0 27px 23px;position:relative}.timeline-entry:before{content:"";background:var(--timeline-dot);border-radius:50%;width:7px;height:7px;position:absolute;top:8px;left:-4px}.timeline-entry>span{font:13px var(--mono);color:var(--muted)}.timeline-entry h3{margin:10px 0 4px;font-size:19px;font-weight:550;line-height:1.3}.timeline-entry p{margin:0;font-size:15px}.about-story .quiet-detail{color:var(--quiet-ink);margin-top:22px;font-size:14px}.about-story .identity-note{color:var(--quiet-ink);font-size:14px}.about-links{flex-wrap:wrap;align-items:start;gap:22px 28px;display:flex}.resume-heading{justify-content:space-between;align-items:center;gap:30px;padding-top:17px;display:flex}.resume-heading h1{font-family:var(--serif);letter-spacing:-3px;margin:20px 0 12px;font-size:clamp(40px,5vw,65px);font-weight:550;line-height:1.1}.resume-heading p{color:var(--muted);margin:0}.resume-contact{flex-wrap:wrap;gap:28px;padding-block:28px 40px;font-size:14px;display:flex}.resume-contact span{color:var(--muted)}.resume-section{border-top:1px solid var(--line);grid-template-columns:1fr 3fr;gap:45px;padding:33px 0;display:grid}.resume-section h2{font:13px var(--mono);color:var(--muted);margin:5px 0}.resume-entry{justify-content:space-between;gap:25px;margin-bottom:24px;display:flex}.resume-entry:last-child{margin-bottom:0}.resume-entry h3,.resume-project h3{letter-spacing:-.4px;margin:0 0 8px;font-size:19px;font-weight:560;line-height:1.35}.resume-entry p,.resume-project p{color:var(--resume-ink);margin:4px 0;font-size:15px}.resume-entry>span{font:13px var(--mono);color:var(--muted);padding-top:5px}.resume-project{margin-bottom:28px}.resume-project>span{font:13px var(--mono);color:var(--muted)}.resume-project .resume-note{font-size:13px}.muted{color:var(--muted)}.resume-section p{margin-top:0}.resume-project h3 a:hover{color:var(--accent)}@media (max-width:900px){.detail-header{grid-template-columns:1fr}.detail-actions{flex-direction:row;align-items:center}.detail-body,.about-layout{gap:45px}.resume-section{grid-template-columns:1fr;gap:20px}.gallery-controls{align-items:start}.search-field{flex:240px}.project-claude-graft img,.project-claude-ollama img,.routing-visual{padding:20px}.routing-nodes{font-size:13px}.routing-nodes span{min-width:170px;padding:6px 10px}}@media (max-width:600px){.page-main{padding-top:28px;padding-bottom:50px}.page-intro{padding-block:15px 30px}.page-intro h1{font-size:clamp(39px,10.5vw,49px)}.page-intro>p{font-size:18px}.category-filters{gap:8px}.category-filters button{padding:7px 9px;font-size:13px}.search-field{width:100%}.results-count{font-size:13px}.detail-header{gap:25px;padding-top:28px}.detail-header p{font-size:18px}.detail-header h1{letter-spacing:-1.5px;font-size:clamp(36px,10vw,44px)}.detail-actions{flex-wrap:wrap}.detail-body{grid-template-columns:1fr;gap:25px;padding-top:32px}.project-facts{flex-wrap:wrap;gap:20px 50px;display:flex}.project-facts ul{flex-wrap:wrap;gap:8px 16px;display:flex}.project-facts>div{margin:0}.small-note{width:100%}.detail-image.project-claude-graft img,.detail-image.project-claude-ollama img{height:310px;padding:25px}.project-story p,.about-story p{font-size:16px}.related-section{padding-top:30px}.about-layout{grid-template-columns:1fr;gap:45px;padding-top:10px}.about-aside{grid-template-columns:100px 1fr;gap:20px;display:grid}.about-aside dl{margin:0}.about-aside dt:first-child{margin-top:0}.about-aside>.text-link{grid-column:2;justify-self:start}.about-story .quiet-detail{font-size:14px}.resume-heading{display:block}.resume-heading .button{margin-top:25px}.resume-contact{gap:16px 24px;padding-bottom:26px}.resume-entry{display:block}.resume-entry>span{margin-top:10px;display:block}.resume-section{padding-block:26px}.resume-heading h1{letter-spacing:-1.5px;font-size:clamp(36px,10vw,44px)}.image-caption{max-width:80%;font-size:13px;line-height:1.4;bottom:10px;left:10px}}@media screen and (max-width:620px){.project-art:has(.responsive-image){aspect-ratio:auto;padding:12px}.project-art .responsive-image img,.detail-image img,.detail-image.project-claude-graft img,.detail-image.project-claude-ollama img{object-fit:contain;filter:none;height:auto;max-height:none;padding:0;transform:none}.detail-image .responsive-image{padding:12px}.image-caption{max-width:none;margin-top:8px;padding:8px;font-size:13px;display:block;position:static}.project-art:has(.image-caption) .art-open{top:16px;bottom:auto}}@media screen and (max-width:300px){.about-aside{grid-template-columns:1fr}.about-aside>.text-link{grid-column:1}}@media screen{.wordmark,.project-card h3 a,.featured-copy h3 a,.resume-project h3 a,.hero-actions>a:first-child{align-items:center;min-height:44px;display:inline-flex}}@media print{.header,.footer,.skip-link,.resume-heading>.button{display:none}.shell{width:100%;max-width:none}.page-main{padding:0}.resume-section{gap:20px;padding:15px 0}.resume-heading h1{font-size:32px}.resume-entry,.resume-project{break-inside:avoid}.resume-contact{padding-block:12px 20px}.resume-contact a{min-height:0;display:inline}.resume-project{margin-bottom:15px}body{color:#262721;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#fff;font-size:11pt}.resume-section h2,.resume-entry p,.resume-project p{font-size:10pt}}
