@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";:root{--paper:#f4f1e9;--ink:#20221f;--blue:#3155d9;--mono:"DM Mono",monospace;--sans:"DM Sans",Arial,sans-serif;--display:"Manrope","DM Sans",sans-serif;--line:rgba(32,34,31,.2);--soft:rgba(32,34,31,.62);--max:1200px}.experience-entry{padding:18px 0;border-top:1px solid var(--line)}.experience-heading{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:start}.experience-heading h2{font-size:19px;margin:0}.experience-heading time{font:10px var(--mono);color:var(--blue);white-space:nowrap;padding-top:5px}.experience-heading .role-title{margin:4px 0 0;color:var(--ink);font-size:12px}.experience-entry ul{padding-left:18px;margin:12px 0;color:var(--soft);font-size:12px}.experience-entry li{padding:3px 0 3px 3px}.experience-note{font:9px var(--mono);color:var(--soft);border-left:2px solid var(--blue);padding-left:9px;margin:13px 0 0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 var(--sans)}a{color:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--blue);outline-offset:4px}.shell{width:min(var(--max),calc(100% - 64px));margin-inline:auto}.site-header{height:76px;padding:0 max(32px,calc((100vw - var(--max))/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{font:800 28px/.9 var(--display);letter-spacing:-.09em;text-decoration:none}.wordmark span,.blue-dot{color:var(--blue)}.site-header nav{display:flex;gap:34px}.site-header nav a,.header-contact{font-size:12px;text-decoration:none}.site-header nav a{color:var(--soft)}.site-header nav a:hover,.site-header nav a.current{color:var(--ink)}.header-contact{padding:9px 13px;border:1px solid var(--ink);border-radius:2px}.hero{min-height:700px;padding:92px 0 38px;display:grid;grid-template-columns:1fr .9fr;gap:68px;align-items:center;position:relative}.eyebrow,.case-meta,.stack-line,.map-top,.map-bottom,.node-index,.art-label,.art-caption,.board-label,.board-foot,.resume-label,.side-mark,.site-footer{font:10px var(--mono);letter-spacing:.075em}.eyebrow{margin:0;color:var(--soft);text-transform:uppercase}.blue-dot{display:inline-block;width:7px;height:7px;background:var(--blue);border-radius:50%;margin:0 9px 1px 0}.hero h1{font:700 clamp(52px,7vw,91px)/.99 var(--display);letter-spacing:-.075em;margin:25px 0 24px}.hero h1 em,.throughline-grid h2 em{font-style:normal;color:var(--blue)}.intro{max-width:520px;color:var(--soft);font-size:16px;line-height:1.75}.hero-links{display:flex;align-items:center;gap:24px;margin-top:28px}.button{background:var(--blue);color:var(--paper);text-decoration:none;padding:12px 15px;font-size:12px;font-weight:600;display:inline-flex;gap:18px;align-items:center;border:0}.button:hover{filter:brightness(.88)}.text-link{font-size:12px;text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:3px}.text-link span,.project-link span{color:var(--blue);padding-left:4px}.system-map{border:1px solid var(--ink);padding:15px;transform:rotate(1deg);box-shadow:8px 8px 0 var(--blue)}.map-top,.map-bottom{display:flex;justify-content:space-between;color:var(--soft);padding:5px 2px}.map-grid{min-height:335px;display:grid;grid-template-columns:1fr 26px 1fr;grid-template-rows:1fr 24px .75fr;gap:10px;padding:18px 6px}.map-node{border:1px solid var(--ink);padding:14px;display:flex;flex-direction:column;justify-content:space-between;min-height:132px}.node-index{color:var(--soft)}.map-node strong,.map-output strong{font:600 19px/1.1 var(--display);letter-spacing:-.04em}.map-node small{font:9px var(--mono);color:var(--soft)}.node-process{background:var(--blue);color:var(--paper);border-color:var(--blue)}.node-process .node-index,.node-process small{color:var(--paper)}.map-arrow{font-size:24px;color:var(--blue);align-self:center;text-align:center}.map-stem{grid-column:2;grid-row:2;border-left:1px solid var(--blue);justify-self:center}.map-output{grid-column:1/3;grid-row:3;border:1px solid var(--blue);background:var(--blue);color:var(--paper);padding:14px;display:flex;align-items:center;justify-content:space-between;position:relative}.map-output .node-index{position:absolute;left:14px;top:12px;color:var(--paper)}.map-output strong{margin-top:18px}.output-mark{font-size:28px}.map-side{grid-column:3;grid-row:3;border-top:1px solid var(--ink);padding:13px 4px;display:flex;flex-direction:column;justify-content:space-between;font-size:11px}.map-side span{font:9px var(--mono);color:var(--soft)}.map-side b{font:600 15px/1.2 var(--display)}.scroll-note{position:absolute;bottom:0;left:0;display:flex;align-items:center;gap:10px;color:var(--soft);font:9px var(--mono);letter-spacing:.08em}.scroll-note span:first-child{color:var(--blue)}.scroll-line{height:1px;width:45px;background:var(--blue)}.work-section{padding:126px 0 110px;border-top:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:54px;gap:40px}.section-heading h2,.side-path h2{font:600 clamp(34px,4.5vw,58px)/1.02 var(--display);letter-spacing:-.065em;margin:16px 0 0}.section-aside{max-width:310px;color:var(--soft);font-size:13px;margin:0 0 4px}.case{display:grid;grid-template-columns:1.1fr .9fr;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:18px 0 26px;gap:44px}.case-art{min-height:350px;position:relative;overflow:hidden;border:1px solid var(--ink);background:var(--paper)}.research-art{background:var(--blue);color:var(--paper);display:flex;align-items:center;justify-content:center}.art-label{position:absolute;top:14px;left:15px}.art-caption{position:absolute;bottom:12px;left:15px}.art-window{width:80%;height:70%;border:1px solid var(--paper);background:var(--paper);color:var(--ink);box-shadow:8px 8px #20221f3d}.window-bar{height:25px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:5px;padding:0 8px}.window-bar i{width:5px;height:5px;border:1px solid var(--ink);border-radius:50%}.window-bar b{font:8px var(--mono);margin-left:auto}.window-body{height:calc(100% - 25px);display:grid;grid-template-columns:30% 70%}.mini-sidebar{background:var(--paper);border-right:1px solid var(--line);padding:18px 9px;display:flex;flex-direction:column;gap:13px;font:8px var(--mono)}.mini-sidebar span{padding:5px}.mini-sidebar .selected{background:var(--blue);color:var(--paper)}.mini-editor{padding:23px 18px;display:flex;flex-direction:column}.mini-kicker{font:8px var(--mono);color:var(--blue)}.mini-editor b{font:600 clamp(18px,2.5vw,28px)/1.05 var(--display);letter-spacing:-.05em;margin-top:14px}.mini-lines{display:flex;flex-direction:column;gap:8px;margin-top:20px}.mini-lines i{height:3px;background:var(--ink);opacity:.2;width:95%}.mini-lines i:nth-child(2){width:80%}.mini-lines i:nth-child(3){width:89%}.mini-lines i:nth-child(4){width:60%}.mini-chip{align-self:flex-start;font:8px var(--mono);border:1px solid var(--blue);color:var(--blue);padding:5px 7px;margin-top:auto}.case-copy{padding:10px 8px 0 0}.case-meta{display:flex;justify-content:space-between;color:var(--soft)}.case-copy h3,.strip-copy h3{font:600 40px/1.05 var(--display);letter-spacing:-.065em;margin:32px 0 13px}.case-copy>p,.strip-copy>p{max-width:460px;color:var(--soft);font-size:14px;line-height:1.7}.stack-line{display:block;color:var(--blue);margin:20px 0}.stack-line i{font-style:normal;color:var(--ink);opacity:.5}.case-note{margin:24px 0 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.case-note summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;padding:11px 0;font-size:12px;font-weight:600}.case-note summary::-webkit-details-marker{display:none}.case-note summary span{color:var(--blue)}.case-note[open] summary span{transform:rotate(45deg)}.case-note div{font-size:12px;color:var(--soft);padding:0 0 9px}.case-note div p{margin:6px 0 10px}.case-note .boundary{border-left:2px solid var(--blue);padding-left:9px;color:var(--ink)}.project-link{display:inline-block;margin-top:9px;font-size:12px;font-weight:600;text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:4px}.project-pair{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:75px}.case-compact{display:block;padding-top:18px}.case-compact .case-art{min-height:280px}.case-compact .case-copy{padding:22px 4px}.noto-art{display:flex;align-items:center;justify-content:center}.note-paper{width:68%;height:76%;border:1px solid var(--ink);padding:16px;display:flex;flex-direction:column;position:relative;box-shadow:7px 7px 0 var(--blue);transform:rotate(-2deg)}.note-paper>span{font:9px var(--mono);color:var(--blue)}.note-paper>b{font:600 30px/1 var(--display);letter-spacing:-.06em;margin-top:30px}.note-strokes{display:flex;flex-direction:column;gap:8px;margin-top:18px}.note-strokes i{height:2px;background:var(--ink);opacity:.28}.note-strokes i:nth-child(2){width:80%}.note-strokes i:nth-child(3){width:65%}.note-paper small{font:8px var(--mono);margin-top:auto;color:var(--blue)}.note-margin{position:absolute;right:9%;bottom:15%;font:9px/1.4 var(--mono);color:var(--blue);transform:rotate(5deg)}.quests-art{padding:40px 6% 28px;display:flex;flex-direction:column;justify-content:center}.board-label{color:var(--blue);margin:0 0 13px}.board-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.board-columns>div{border:1px solid var(--line);min-height:128px;padding:8px;display:flex;flex-direction:column;gap:8px}.board-columns b{font:8px var(--mono);color:var(--blue);margin-bottom:4px}.board-columns span{font-size:9px;border:1px solid var(--line);padding:7px 5px}.board-foot{margin-top:12px;color:var(--soft);text-align:right}.case-strip{grid-template-columns:130px 1fr auto;align-items:center;margin-top:72px;padding:20px 0}.strip-symbol{height:112px;border:1px solid var(--blue);display:flex;flex-direction:column;justify-content:space-between;padding:10px;color:var(--blue);font:10px var(--mono)}.strip-symbol span:nth-child(2){text-align:center}.strip-symbol span:last-child{text-align:right}.strip-copy h3{font-size:30px;margin:14px 0 7px}.strip-copy>p{font-size:12px;margin:0}.strip-copy .stack-line{margin:11px 0 0}.throughline-section{background:var(--ink);color:var(--paper);padding:100px 0}.throughline-grid{display:grid;grid-template-columns:.75fr 1fr;gap:85px}.throughline-section .eyebrow{color:var(--paper);opacity:.7}.throughline-grid h2{font:600 clamp(39px,5.2vw,68px)/1 var(--display);letter-spacing:-.07em;margin:20px 0}.large-copy{font:500 clamp(19px,2vw,26px)/1.45 var(--display);max-width:570px;margin:0}.three-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:42px}.three-steps>div{border-top:1px solid rgba(244,241,233,.4);padding-top:12px}.three-steps span{display:block;color:var(--blue);font:10px var(--mono)}.three-steps b{display:block;font:600 13px var(--display);margin-top:18px}.three-steps p{font-size:11px;opacity:.68;line-height:1.5}.side-path{padding:100px 0;display:grid;grid-template-columns:1fr 1fr;gap:40px;border-bottom:1px solid var(--line)}.side-diagram{align-self:center;border-block:1px solid var(--blue);display:flex;justify-content:space-between;align-items:center;padding:20px 4px;color:var(--blue);font:9px var(--mono)}.side-diagram b{font:20px var(--sans);font-weight:400}.side-path-copy{grid-column:2;color:var(--soft);font-size:13px;max-width:470px}.side-path-copy .stack-line{font-size:9px}.contact-section{padding:100px 0 90px}.contact-section h2{font:600 clamp(39px,6vw,76px)/.98 var(--display);letter-spacing:-.07em;margin:23px 0 30px}.contact-row{display:flex;justify-content:space-between;gap:40px;align-items:end;border-top:1px solid var(--line);padding-top:20px}.contact-row>p{max-width:440px;color:var(--soft);font-size:13px}.contact-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.site-footer{padding:20px 0 26px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;color:var(--soft);font-size:9px}.site-footer a{text-decoration:none}.resume-main{max-width:900px}.resume-intro{padding:90px 0 45px;border-bottom:1px solid var(--ink)}.resume-intro h1{font:650 clamp(48px,8vw,82px)/.98 var(--display);letter-spacing:-.07em;margin:22px 0}.resume-lede{max-width:650px;color:var(--soft);font-size:17px}.resume-links{display:flex;gap:12px 24px;flex-wrap:wrap;margin-top:25px;font-size:12px}.resume-links a,.resume-links button{color:var(--blue);background:none;border:0;padding:0;text-decoration:none;font:12px var(--sans);cursor:pointer}.resume-block{display:grid;grid-template-columns:190px 1fr;gap:35px;border-bottom:1px solid var(--line);padding:34px 0}.resume-label{color:var(--soft)}.resume-label span{color:var(--blue);margin-right:12px}.resume-detail h2{font:600 24px var(--display);letter-spacing:-.04em;margin:0 0 10px}.resume-detail p{max-width:640px;color:var(--soft);font-size:13px}.resume-detail h3{font:600 15px var(--display);margin:28px 0 0}.resume-projects{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}.resume-projects article{border-top:1px solid var(--line)}.resume-projects article a{display:flex;flex-direction:column;padding:14px 0;text-decoration:none}.resume-projects b{font:600 15px var(--display)}.resume-projects span{font-size:12px;color:var(--soft);margin-top:3px}.resume-projects i{font:9px var(--mono);font-style:normal;color:var(--blue);margin-top:8px}.resume-footnote{font:9px var(--mono);color:var(--soft);padding:25px 0 40px}.resume-page .site-header{margin-bottom:0}@media(max-width:900px){.hero{grid-template-columns:1fr;gap:54px;padding-top:70px}.hero-copy{max-width:700px}.system-map{max-width:600px;width:100%;justify-self:center}.hero{padding-bottom:65px}.scroll-note{bottom:15px}.case{gap:24px}.case-strip{grid-template-columns:90px 1fr auto}.throughline-grid{gap:45px}}@media(max-width:640px){.shell{width:calc(100% - 36px)}.site-header{height:64px;padding:0 18px}.site-header nav{gap:14px}.site-header nav a{font-size:10px}.header-contact{font-size:10px;padding:7px}.hero{padding-top:58px;min-height:0;gap:38px}.hero h1{font-size:clamp(49px,14vw,72px)}.intro{font-size:14px}.hero-links{gap:15px;flex-wrap:wrap}.system-map{padding:9px;box-shadow:5px 5px 0 var(--blue)}.map-grid{min-height:280px;padding:12px 3px;gap:7px}.map-node{padding:9px;min-height:112px}.map-node strong,.map-output strong{font-size:15px}.map-node small,.node-index,.map-side span{font-size:7px}.map-side b{font-size:12px}.map-output{padding:10px}.map-output .node-index{left:10px;top:9px}.map-bottom,.map-top{font-size:8px}.work-section{padding:76px 0}.section-heading{display:block;margin-bottom:36px}.section-heading h2{font-size:39px}.section-aside{margin-top:18px}.case{grid-template-columns:1fr;padding:12px 0 22px;gap:15px}.case-art{min-height:285px}.case-copy{padding:8px 3px}.case-copy h3{font-size:34px;margin:22px 0 10px}.case-meta{font-size:8px}.project-pair{grid-template-columns:1fr;gap:22px;margin-top:48px}.case-compact .case-art{min-height:265px}.case-strip{grid-template-columns:54px 1fr;gap:15px;margin-top:44px}.strip-symbol{height:90px;font-size:8px}.strip-copy h3{font-size:25px}.case-strip>.project-link{grid-column:2;margin-top:0}.throughline-section{padding:70px 0}.throughline-grid{grid-template-columns:1fr;gap:30px}.throughline-grid h2{font-size:48px}.large-copy{font-size:20px}.three-steps{grid-template-columns:1fr;gap:12px;margin-top:28px}.three-steps>div{display:grid;grid-template-columns:35px 1fr;align-items:start}.three-steps b{margin:0}.three-steps p{grid-column:2;margin:5px 0 7px}.side-path{padding:70px 0;grid-template-columns:1fr;gap:24px}.side-path h2{font-size:41px}.side-diagram{gap:6px;font-size:7px}.side-diagram b{font-size:14px}.side-path-copy{grid-column:1}.contact-section{padding:70px 0}.contact-section h2{font-size:44px}.contact-row{display:block}.contact-actions{gap:14px;margin-top:16px}.site-footer{font-size:8px;flex-wrap:wrap}.resume-intro{padding:66px 0 34px}.resume-intro h1{font-size:50px}.resume-lede{font-size:14px}.resume-block{grid-template-columns:1fr;gap:15px;padding:25px 0}.resume-projects,.experience-heading{grid-template-columns:1fr}.experience-heading time{grid-row:2;padding:0}.experience-entry ul{font-size:12px}}@media print{body{background:#fff;color:#111}.site-header,.resume-links button,.site-footer{display:none}.shell,.resume-main{width:100%;max-width:none}.resume-intro{padding:0 0 18px}.resume-intro h1{font-size:30pt}.resume-block{grid-template-columns:130px 1fr;gap:20px;padding:13px 0}.resume-footnote{padding:12px 0}}.hero h1{font-size:clamp(46px,6.2vw,70px);line-height:1.04;letter-spacing:-.06em;font-weight:600;max-width:650px}.section-heading h2,.side-path h2{font-size:clamp(32px,4vw,48px);font-weight:550;letter-spacing:-.05em}.contact-section h2{font-size:clamp(38px,5vw,60px);font-weight:550;letter-spacing:-.055em}.button{background:transparent;color:var(--ink);border:1px solid var(--ink);padding:10px 13px;font-weight:500}.button:hover{background:var(--blue);color:var(--paper);border-color:var(--blue);filter:none}.system-map{transform:none;box-shadow:none;padding:14px}.node-process{background:var(--paper);color:var(--ink);border-color:var(--blue)}.node-process .node-index,.node-process small{color:var(--soft)}.map-output{background:var(--paper);color:var(--ink);border-color:var(--line)}.map-output .node-index{color:var(--soft)}.map-side{border-top-color:var(--line)}.research-art{background:var(--paper);color:var(--ink)}.art-window{box-shadow:none}.mini-sidebar .selected{background:var(--paper);color:var(--blue);border-left:2px solid var(--blue)}.mini-chip{border-color:var(--line);color:var(--soft)}.note-paper{box-shadow:none;transform:none}.note-margin{color:var(--soft)}.throughline-section{background:var(--paper);color:var(--ink);border-block:1px solid var(--line);padding:82px 0}.throughline-section .eyebrow{color:var(--soft);opacity:1}.throughline-grid h2{font-size:clamp(36px,4.5vw,56px);font-weight:550;letter-spacing:-.055em}.large-copy{font-size:clamp(18px,1.7vw,22px);font-weight:500}.three-steps>div{border-top-color:var(--line)}.three-steps p{opacity:1;color:var(--soft)}.case-copy h3{font-size:36px;font-weight:550}.eyebrow,.case-meta,.stack-line,.map-top,.map-bottom,.node-index,.art-label,.art-caption,.board-label,.board-foot,.resume-label,.side-mark,.site-footer{letter-spacing:.04em}.work-section{padding-top:96px;padding-bottom:88px}.throughline-section .three-steps span{color:var(--blue)}.contact-section{padding-top:78px;padding-bottom:70px}.resume-intro h1{font-size:clamp(42px,6.5vw,68px);font-weight:550;letter-spacing:-.06em}.resume-lede{font-size:15px}@media(max-width:640px){.hero h1{font-size:clamp(43px,11vw,60px)}.section-heading h2{font-size:36px}.throughline-section{padding:62px 0}.contact-section h2{font-size:42px}.resume-intro h1{font-size:46px}}.scroll-note{left:auto;right:0;bottom:0;gap:8px;padding:7px 0;color:var(--soft);border-top:1px solid var(--line);width:100%;justify-content:flex-end}.scroll-note span:first-child{font-size:14px}.scroll-line{display:none}.work-section{border-top:1px solid var(--ink);padding-top:82px}.section-index{color:var(--blue);font-weight:500;margin-right:10px}.section-heading{align-items:center;margin-bottom:40px}.section-heading h2{margin-top:12px}.case-featured{border-top:2px solid var(--blue);padding-top:20px}.group-divider{display:flex;align-items:center;gap:13px;margin:58px 0 0;padding-top:13px;border-top:1px solid var(--ink);font-size:12px;font-weight:600}.group-divider>span:first-child{white-space:nowrap}.group-divider .group-line{height:1px;background:var(--line);flex:1}.group-divider small{font:9px var(--mono);color:var(--soft)}.project-pair{margin-top:22px}.case-compact{border-top:1px solid var(--line)}.throughline-section{background:var(--ink);color:var(--paper);border:0;padding:78px 0}.throughline-section .eyebrow{color:var(--paper);opacity:.72}.throughline-section .section-index{color:var(--blue);opacity:1}.throughline-grid h2,.throughline-content .large-copy{color:var(--paper)}.three-steps>div{border-top-color:#f4f1e959}.three-steps p{color:var(--paper);opacity:.72}.side-path{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding-top:76px;padding-bottom:76px}.contact-section{border-top:1px solid var(--ink)}@media(max-width:640px){.scroll-note{bottom:0;justify-content:flex-start}.work-section{padding-top:62px}.group-divider{margin-top:38px}.project-pair{margin-top:14px}.throughline-section{padding:60px 0}.side-path{padding-top:60px;padding-bottom:60px}}.scroll-note{width:auto;border:0;right:0;bottom:7px;padding:0;justify-content:flex-end}.scroll-note span:first-child{display:grid;place-items:center;width:22px;height:22px;border:1px solid var(--blue);font-size:12px}.work-section{border-top:1px solid var(--ink);padding-top:76px}.section-index{display:inline-grid;place-items:center;width:23px;height:23px;border:1px solid var(--blue);font-size:9px;line-height:1;vertical-align:middle;margin-right:9px}.section-heading{margin-bottom:34px}.case-featured{border-top:1px solid var(--blue);padding-top:20px}.case-featured .case-art{outline:1px solid var(--line);outline-offset:5px}.group-divider{margin-top:62px;padding-top:15px}.project-pair{gap:42px}.case-compact{padding-top:20px}.throughline-section{position:relative}.throughline-section:before{content:"";position:absolute;top:0;left:max(32px,calc((100vw - var(--max))/2));width:44px;height:3px;background:var(--blue)}.side-path{position:relative}.side-diagram{max-width:520px;justify-self:end;width:100%;padding-inline:12px}@media(max-width:640px){.scroll-note{right:18px;bottom:12px}.work-section{padding-top:58px}.section-index{width:21px;height:21px}.group-divider{margin-top:42px}.project-pair{gap:28px}.throughline-section:before{left:18px}.side-diagram{justify-self:stretch}}:root{color-scheme:light;--paper:#f4f1e9;--ink:#20221f;--blue:#3155d9;--line:rgba(32,34,31,.2);--soft:rgba(32,34,31,.66)}:root[data-theme=night]{color-scheme:dark;--paper:#191b20;--ink:#eeeae1;--blue:#91a5ff;--line:rgba(238,234,225,.2);--soft:rgba(238,234,225,.68)}html{scroll-padding-top:88px}body{background:radial-gradient(ellipse at 88% 13%,rgba(49,85,217,.075),transparent 28rem),var(--paper);transition:background-color .25s,color .25s}.site-header{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.header-actions{display:flex;align-items:center;gap:10px}.theme-toggle{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid var(--line);border-radius:2px;background:transparent;color:var(--ink);font:10px var(--mono);cursor:pointer;transition:border-color .2s,background-color .2s}.theme-toggle:hover{border-color:var(--blue);background:#3155d912}.theme-icon{font:15px/1 var(--sans);color:var(--blue)}.hero{isolation:isolate}.hero:after{content:"";position:absolute;z-index:-1;right:-28px;top:18%;width:118px;height:118px;border:1px solid rgba(49,85,217,.25);border-radius:50%;box-shadow:0 0 0 16px #3155d909,0 0 0 34px #3155d906;pointer-events:none}.system-map{background:color-mix(in srgb,var(--paper) 88%,transparent)}.case-art{background:color-mix(in srgb,var(--paper) 90%,var(--blue) 10%)}.research-art{background:color-mix(in srgb,var(--paper) 93%,var(--blue) 7%)}.noto-art,.quests-art{background:color-mix(in srgb,var(--paper) 91%,var(--blue) 9%)}.case-featured .case-art{outline-color:color-mix(in srgb,var(--blue) 28%,transparent)}.case-compact .case-art{transition:transform .25s,border-color .25s}.case-compact:hover .case-art{transform:translateY(-3px);border-color:var(--blue)}.three-steps>div{transition:padding .2s,border-color .2s}.three-steps>div:hover{padding-left:8px;border-color:var(--blue)}.site-footer{background:linear-gradient(90deg,rgba(49,85,217,.06),transparent 55%)}:root[data-theme=night] body{background:radial-gradient(ellipse at 88% 13%,rgba(145,165,255,.1),transparent 28rem),var(--paper)}:root[data-theme=night] .hero:after{border-color:#91a5ff4d;box-shadow:0 0 0 16px #91a5ff0d,0 0 0 34px #91a5ff08}:root[data-theme=night] .case-art,:root[data-theme=night] .research-art,:root[data-theme=night] .noto-art,:root[data-theme=night] .quests-art{background:color-mix(in srgb,var(--paper) 92%,var(--blue) 8%)}:root[data-theme=night] .art-window,:root[data-theme=night] .note-paper{background:var(--paper);color:var(--ink);border-color:var(--line)}:root[data-theme=night] .window-bar,:root[data-theme=night] .mini-sidebar{border-color:var(--line)}:root[data-theme=night] .mini-lines i,:root[data-theme=night] .note-strokes i{background:var(--ink)}:root[data-theme=night] .site-footer{background:linear-gradient(90deg,rgba(145,165,255,.08),transparent 55%)}@media(max-width:640px){.site-header{padding-inline:18px;gap:8px}.site-header nav{gap:11px}.site-header nav a{font-size:9px}.header-actions{gap:6px}.theme-toggle{padding:7px}.theme-word{display:none}.header-contact{font-size:9px;padding:7px}.hero:after{width:75px;height:75px;right:2px;top:38%;box-shadow:0 0 0 12px #3155d909,0 0 0 24px #3155d906}}@media print{.site-header{position:static;-webkit-backdrop-filter:none;backdrop-filter:none}.theme-toggle{display:none}body{background:#fff!important;color:#111!important}}.hero{padding-top:78px}.hero-copy{position:relative}.hero-copy:before{content:"";display:block;width:42px;height:4px;background:var(--blue);margin:0 0 22px}.hero .eyebrow .blue-dot{display:none}.system-map{border-color:color-mix(in srgb,var(--ink) 65%,var(--blue));background:linear-gradient(145deg,color-mix(in srgb,var(--paper) 95%,var(--blue) 5%),var(--paper));box-shadow:10px 10px color-mix(in srgb,var(--blue) 18%,transparent)}.node-source{background:color-mix(in srgb,var(--paper) 90%,var(--blue) 10%)}.node-process{background:color-mix(in srgb,var(--paper) 84%,var(--blue) 16%)}.map-output{background:var(--blue);color:var(--paper);border-color:var(--blue)}.map-output .node-index{color:var(--paper)}.map-output .output-mark{opacity:.8}.case-featured{background:linear-gradient(115deg,color-mix(in srgb,var(--paper) 94%,var(--blue) 6%),var(--paper) 72%);padding:20px;border-bottom:1px solid var(--line)}.case-featured .case-art{background:linear-gradient(135deg,color-mix(in srgb,var(--paper) 82%,var(--blue) 18%),color-mix(in srgb,var(--paper) 95%,var(--blue) 5%))}.case-compact .case-art{background:linear-gradient(145deg,color-mix(in srgb,var(--paper) 86%,var(--blue) 14%),var(--paper))}.note-paper{border-top:3px solid var(--blue)}.board-columns>div:nth-child(2){background:color-mix(in srgb,var(--paper) 90%,var(--blue) 10%)}.strip-symbol{background:linear-gradient(150deg,color-mix(in srgb,var(--paper) 82%,var(--blue) 18%),var(--paper));border-color:var(--blue)}.strip-symbol span:nth-child(2){color:var(--ink);background:var(--paper);padding:3px}.group-divider>span:first-child:before{content:"";display:inline-block;width:7px;height:7px;background:var(--blue);margin-right:9px;vertical-align:1px}.throughline-section{background:linear-gradient(115deg,var(--ink),color-mix(in srgb,var(--ink) 91%,var(--blue) 9%))}.side-path-title h2{position:relative;padding-left:17px}.side-path-title h2:before{content:"";position:absolute;left:0;top:5px;bottom:5px;width:3px;background:var(--blue)}.side-diagram{background:linear-gradient(90deg,color-mix(in srgb,var(--paper) 92%,var(--blue) 8%),transparent)}.contact-section h2{position:relative}.contact-section h2:after{content:"";display:block;width:72px;height:3px;background:var(--blue);margin-top:18px}.resume-intro{position:relative;background:linear-gradient(110deg,color-mix(in srgb,var(--paper) 90%,var(--blue) 10%),var(--paper) 75%);border-bottom:2px solid var(--blue)}.resume-intro:after{content:"";position:absolute;right:4%;top:22%;width:92px;height:92px;border:1px solid color-mix(in srgb,var(--blue) 45%,transparent);border-radius:50%;box-shadow:0 0 0 12px color-mix(in srgb,var(--blue) 6%,transparent),0 0 0 25px color-mix(in srgb,var(--blue) 4%,transparent);pointer-events:none}.resume-block{position:relative}.resume-block:before{content:"";position:absolute;left:0;top:35px;width:3px;height:24px;background:var(--blue)}.resume-projects article{padding:0 12px;background:linear-gradient(135deg,color-mix(in srgb,var(--paper) 94%,var(--blue) 6%),transparent 78%)}.experience-entry{border-left:2px solid color-mix(in srgb,var(--blue) 55%,var(--line));padding-left:16px}:root[data-theme=night] .system-map{background:linear-gradient(145deg,color-mix(in srgb,var(--paper) 94%,var(--blue) 6%),var(--paper));box-shadow:10px 10px color-mix(in srgb,var(--blue) 22%,transparent)}:root[data-theme=night] .node-source{background:color-mix(in srgb,var(--paper) 92%,var(--blue) 8%)}:root[data-theme=night] .node-process{background:color-mix(in srgb,var(--paper) 86%,var(--blue) 14%);color:var(--ink)}:root[data-theme=night] .node-process .node-index,:root[data-theme=night] .node-process small{color:var(--soft)}:root[data-theme=night] .case-featured{background:linear-gradient(115deg,color-mix(in srgb,var(--paper) 94%,var(--blue) 6%),var(--paper) 72%)}:root[data-theme=night] .resume-intro{background:linear-gradient(110deg,color-mix(in srgb,var(--paper) 93%,var(--blue) 7%),var(--paper) 75%)}:root[data-theme=night] .board-columns>div:nth-child(2){background:color-mix(in srgb,var(--paper) 92%,var(--blue) 8%)}@media(max-width:640px){.hero{padding-top:54px}.hero-copy:before{margin-bottom:17px}.case-featured{padding:13px}.case-featured .case-art{outline-offset:3px}.resume-intro:after{width:52px;height:52px;right:6%;top:9%;box-shadow:0 0 0 8px color-mix(in srgb,var(--blue) 6%,transparent),0 0 0 16px color-mix(in srgb,var(--blue) 4%,transparent)}.resume-block:before{top:28px;height:18px}.experience-entry{padding-left:11px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}.language-toggle{border:1px solid var(--line);background:transparent;color:var(--ink);padding:8px 10px;border-radius:2px;font:10px var(--mono);cursor:pointer;white-space:nowrap}.language-toggle span{color:var(--soft);padding:0 3px}.language-toggle b{color:var(--blue);font-weight:700}.language-toggle:hover{border-color:var(--blue)}.project-screenshot{display:flex;align-items:center;justify-content:center;background:#eef1f8;min-height:0!important;aspect-ratio:16/9}.case-featured .project-screenshot{align-self:start;height:auto}.project-screenshot img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;max-height:none}.searchbrief-shot{min-height:0!important;background:#e8edf3}.searchbrief-shot img{height:100%;max-height:none}.image-note{position:absolute;right:10px;bottom:10px;background:#121827d6;color:#fff;padding:5px 8px;font:9px var(--mono);letter-spacing:.02em}.project-screenshot .art-caption{background:#121827d6;color:#fff;padding:6px 9px}.case-compact .project-screenshot{height:auto}.case-strip .strip-symbol{background:linear-gradient(145deg,color-mix(in srgb,var(--paper) 86%,var(--blue) 14%),var(--paper))}@media(max-width:640px){.language-toggle{padding:7px 6px;font-size:9px}.project-screenshot{aspect-ratio:16/9}.searchbrief-shot{min-height:0!important}.searchbrief-shot img{max-height:none}.case-compact .project-screenshot{height:auto}}
