.camera-portfolio .build-log{--build-bg:#11171e;--build-panel:#17212b;--build-line:#33414d;--build-text:#e6edf3;--build-muted:#9aaabb;--build-accent:#98bded;--build-mono:"JetBrains Mono", "SFMono-Regular", Consolas, monospace;--build-sans:"Manrope", var(--sans);color:var(--build-text);background:var(--build-bg);color-scheme:dark;font:400 1rem/1.8 var(--build-sans)}.build-log ::selection{color:var(--build-bg);background:var(--build-accent)}.build-log .build-container{width:min(1184px,88%);margin-inline:auto}.build-log h2,.build-log h3,.build-log p,.build-log figure{margin:0}.build-log .build-opening{padding:40px 0 32px}.build-log .build-path{color:var(--build-muted);font:400 .8125rem/1.8 var(--build-mono)}.build-log .build-path strong{color:var(--build-accent);font-weight:500}.build-log .build-path span{margin-inline:5px}.build-log .build-opening h2{margin-top:17px;font:500 clamp(1.6rem,3.25vw,3rem)/1.35 var(--build-mono);letter-spacing:-.055em}.build-log .build-cursor{display:inline-block;width:.45em;height:.9em;vertical-align:-.05em;margin-left:10px;background:var(--build-accent)}.build-log .build-intro{margin-top:14px;color:var(--build-muted);font:400 .9375rem/1.85 var(--build-mono)}.build-log .build-stealth-name{white-space:nowrap}.build-log .build-redaction{display:inline-block;width:3.6em;height:.78em;border:1px solid currentColor;border-radius:2px;background:currentColor;vertical-align:-.02em}.build-log .build-intro .build-stealth-name,.build-log a{color:var(--build-accent)}.camera-portfolio .build-log a:hover{color:var(--build-text)}.build-log a:hover{text-decoration:underline;text-underline-offset:4px}.build-log .build-sectionline{display:flex;justify-content:space-between;align-items:center;gap:16px;border-block:1px solid var(--build-line);padding:12px 0;font:500 .8125rem/1.6 var(--build-mono)}.build-log .build-sectionline>:last-child{color:var(--build-muted);font-weight:400}.build-log .build-index{margin-bottom:28px}.build-log .build-index-head,.build-log .build-index-row{display:grid;grid-template-columns:32px 1fr 1.6fr 205px 20px;gap:18px;align-items:center}.build-log .build-index-head{border-bottom:1px solid var(--build-line);padding:11px 14px;color:var(--build-muted);font:400 .75rem/1.7 var(--build-mono)}.build-log .build-index-row{width:100%;padding:16px 14px;min-height:56px;background:transparent;color:var(--build-text);border:0;border-bottom:1px solid var(--build-line);text-align:left;font:400 .875rem/1.6 var(--build-mono)}.build-log .build-index-row:hover{background:var(--build-panel)}.build-log .build-index-row[aria-pressed=true]{background:var(--build-panel);box-shadow:inset 2px 0 var(--build-accent)}.build-log .build-index-row[aria-pressed=true] .build-company,.build-log .build-index-symbol{color:var(--build-accent)}.build-log .build-index-role,.build-log .build-index-number{color:var(--build-muted)}.build-log .build-index-date{color:var(--build-muted);font-size:.75rem;text-align:right}.build-log .build-role{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(240px,.85fr);gap:48px;min-height:370px;scroll-margin-top:110px}.build-log .build-role[hidden]{display:none}.build-log .build-role h3{margin:9px 0 13px;font:600 clamp(1.3rem,1.8vw,1.65rem)/1.45 var(--build-sans);letter-spacing:-.035em}.build-log .build-description{max-width:64ch}.build-log .build-achievements{list-style:none;padding:0;margin:18px 0 0}.build-log .build-achievements li{position:relative;padding-left:21px;margin:9px 0;font-size:1rem;color:var(--build-muted);line-height:1.8}.build-log .build-achievements li:before{content:"+";position:absolute;left:0;color:var(--build-accent);font-family:var(--build-mono)}.build-log .build-details{margin-top:14px}.build-log summary{cursor:pointer;list-style:none;min-height:48px;display:flex;gap:11px;align-items:center;color:var(--build-accent);font:400 .875rem/1.65 var(--build-mono)}.build-log summary::-webkit-details-marker{display:none}.build-log details[open]>summary svg{transform:rotate(45deg)}.build-log .build-details .build-achievements{margin-top:0}.build-log .build-stack{border-left:1px solid var(--build-line);padding-left:28px}.build-log .build-stack h4{margin:0 0 15px;color:var(--build-muted);font:500 .75rem/1.8 var(--build-mono)}.build-log dl{margin:0}.build-log .build-stack dl>div{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid var(--build-line);font:400 .8125rem/1.7 var(--build-mono)}.build-log dt{color:var(--build-muted)}.build-log dd{margin:0}.build-log .build-stack dd{text-align:right;color:var(--build-accent)}.build-log .build-proof{margin-top:24px;border-left:2px solid var(--build-accent);padding-left:14px;color:var(--build-muted);font:400 .8125rem/1.9 var(--build-mono)}.build-log .build-company-link{display:inline-flex;align-items:center;gap:8px;margin-top:16px;min-height:44px;font:400 .8125rem/1.6 var(--build-mono)}.build-log .build-section-end{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:28px;padding-top:17px;border-top:1px solid var(--build-line);font:400 .75rem/1.8 var(--build-mono);color:var(--build-muted)}.build-log .build-section-end>:first-child{color:var(--build-accent)}.build-log .build-about{padding-top:86px;scroll-margin-top:42px}.build-log .build-about-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:80px;align-items:center;padding:44px 0 40px}.build-log .build-about h2,.build-log .build-contact h2{margin:14px 0 24px;font:500 clamp(1.75rem,3.2vw,2.75rem)/1.35 var(--build-mono);letter-spacing:-.055em}.build-log .build-about-grid p:not(.build-path){color:var(--build-muted);margin-top:17px;max-width:62ch}.build-log .build-about figure{max-width:340px;justify-self:end}.build-log .build-about img{width:100%;height:auto;aspect-ratio:1023 / 1091;object-fit:contain;border:1px solid var(--build-line);border-radius:6px}.build-log figcaption{margin-top:13px;color:var(--build-muted);font:400 .75rem/1.7 var(--build-mono)}.build-log .build-social{display:flex;flex-wrap:wrap;gap:25px;margin-top:21px}.build-log .build-social a{display:inline-flex;align-items:center;gap:9px;min-height:44px;font:400 .875rem/1.6 var(--build-mono)}.build-log .build-expertise{border-block:1px solid var(--build-line);padding:5px 0}.build-log .build-expertise dl{padding:8px 0 22px}.build-log .build-expertise dl>div{display:grid;grid-template-columns:185px 1fr;gap:30px;padding:11px 0}.build-log .build-expertise dt{font:400 .8125rem/1.8 var(--build-mono)}.build-log .build-expertise dd{color:var(--build-text);font-size:1rem}.build-log .build-contact{padding:86px 0 28px;scroll-margin-top:115px}.build-log .build-email{display:inline-flex;gap:16px;align-items:center;max-width:100%;padding:6px 0 13px;border-bottom:1px solid var(--build-accent);font:400 clamp(1.1rem,2vw,1.65rem)/1.6 var(--build-mono);overflow-wrap:anywhere}.build-log .build-contact-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding-top:62px;font:400 .8125rem/1.6 var(--build-mono)}.build-log .build-contact-bottom a,.build-log .build-contact-bottom button{display:inline-flex;gap:9px;align-items:center;min-height:44px}.build-log .build-contact-bottom button{border:0;padding:0;background:none;color:var(--build-muted)}.build-log .build-print-role{display:none}.camera-portfolio .build-log :focus-visible{outline:2px solid var(--build-accent);outline-offset:4px}.build-log .build-role:focus,.build-log .build-about:focus,.build-log .build-contact:focus{outline:none}@media (max-width:1000px){.build-log .build-role{grid-template-columns:minmax(0,1.5fr) minmax(220px,1fr);gap:30px}.build-log .build-index-head,.build-log .build-index-row{grid-template-columns:26px 1fr 1.3fr 170px 16px;gap:12px}.build-log .build-index-row{font-size:.8125rem}.build-log .build-about-grid{gap:40px}}@media (max-width:759px){.build-log .build-container{width:88%}.build-log .build-opening{padding:32px 0 26px}.build-log .build-opening h2{font-size:clamp(1.5rem,5.4vw,2.3rem);letter-spacing:-.06em}.build-log .build-intro{font-size:.875rem}.build-log .build-sectionline{font-size:.75rem;gap:8px}.build-log .build-index-head,.build-log .build-index-row{grid-template-columns:22px minmax(0,1fr) 142px 12px;gap:8px;padding-inline:8px}.build-log .build-index-role{display:none}.build-log .build-index-row{min-height:63px;font-size:.8125rem}.build-log .build-index-date{font-size:.75rem}.build-log .build-role{display:block;scroll-margin-top:94px;min-height:0}.build-log .build-stack{margin-top:26px;border-left:0;padding:21px 0 0;border-top:1px solid var(--build-line)}.build-log .build-stack dl>div{font-size:.875rem}.build-log .build-about{padding-top:64px;scroll-margin-top:25px}.build-log .build-about-grid{grid-template-columns:1fr;gap:30px;padding-top:30px}.build-log .build-about figure{justify-self:start;width:min(100%,340px)}.build-log .build-expertise dl>div{grid-template-columns:1fr;gap:4px}.build-log .build-contact{padding-top:64px}.build-log .build-contact-bottom{padding-top:38px}}@media (max-width:380px){.build-log .build-index-head,.build-log .build-index-row{grid-template-columns:18px minmax(0,1fr) 112px 10px;gap:6px}}@media print{.camera-portfolio .build-log{--build-bg:#fff;--build-text:#111;--build-muted:#333;--build-accent:#222;--build-line:#ccc;color:#111;background:#fff;color-scheme:light;font:10pt/1.4 Arial,sans-serif;padding:0}.build-log .build-container{width:100%;max-width:none}.build-log .build-opening,.build-log .build-index,.build-log .build-sectionline,.build-log .build-section-end,.build-log summary,.build-log .build-about figure,.build-log .build-contact-bottom{display:none}.build-log .build-role,.build-log .build-role[hidden]{display:block!important;min-height:0;padding:14px 0;border-top:1px solid #ccc;break-inside:avoid}.build-log .build-role h3{margin:4px 0;font:600 13pt/1.4 Arial,sans-serif}.build-log .build-print-role{display:block;margin:4px 0 8px;font-weight:600}.build-log .build-achievements{margin:8px 0}.build-log .build-achievements li{font-size:10pt;line-height:1.4;margin:4px 0}.build-log .build-stack{border:0;padding:0;margin:8px 0 0}.build-log .build-stack h4,.build-log .build-stack dl,.build-log .build-company-link{display:none}.build-log .build-proof{margin:5px 0;border:0;padding:0;font:10pt/1.4 Arial,sans-serif}.build-log .build-about{padding-top:20px}.build-log .build-about-grid{display:block;padding:0}.build-log .build-about h2,.build-log .build-contact h2{font:600 15pt/1.4 Arial,sans-serif;margin:7px 0}.build-log .build-about-grid p:not(.build-path){margin:5px 0}.build-log .build-expertise{margin-top:12px}.build-log .build-expertise dl>div{display:block;padding:4px 0}.build-log .build-expertise dd{font-size:10pt}.build-log .build-contact{padding:18px 0 0}.build-log .build-email{font:11pt/1.4 Arial,sans-serif}}html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-property:overflow;transition-duration:1ms;transition-behavior:allow-discrete}:root{--editor: #11171e;--editor-line: #33414d;--editor-text: #e6edf3;--editor-muted: #9aaabb;--editor-green: #98bded;--mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace}html:has(.camera-portfolio){scroll-behavior:auto;scroll-padding-top:0}.camera-portfolio{background:var(--editor);color:var(--ink)}.camera-header{height:86px;position:fixed;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:0 4.5vw}.camera-wordmark{font:italic 34px var(--serif);letter-spacing:-3px}.camera-wordmark span{color:#a56341;letter-spacing:0;margin-left:8px}.camera-header .camera-wordmark{background:#f7f3e9f5;border:1px solid #d5cdbd80;border-radius:999px;padding:3px 15px 5px;color:#1e3028}.camera-header nav{display:flex;gap:28px;align-items:center;font-size:12px}.camera-header nav{background:#f7f3e9f5;color:#1e3028;border:1px solid #d5cdbd80;border-radius:999px;padding:0 20px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 4px 16px #00000012}.camera-header nav>a,.camera-header button{min-height:44px;display:flex;align-items:center;gap:7px}.camera-header button{background:none;border:0;padding:0}.camera-header .camera-motion{border-left:1px solid #afb4a1;padding-left:22px;font-size:11px}.camera-header[data-dark=true]{color:#1e3028;background:transparent}.camera-skip{position:fixed;left:16px;top:-100px;z-index:100;background:#f7f3e9;padding:14px}.camera-skip:focus{top:10px}.camera-journey{height:500svh;position:relative}.camera-stage{position:sticky;top:0;height:100svh;overflow:hidden;background:#f1ecdf}.camera-poster,.camera-sequence{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.camera-arrival-poster{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0}.camera-scene-layer{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:0 0;will-change:transform}.camera-portal-preview{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:0 0;opacity:0;pointer-events:none;overflow:hidden;padding-top:86px;background:var(--editor);color:var(--editor-text)}.camera-portfolio[data-reading=false] main>.editor-resume{visibility:hidden}.camera-portfolio[data-reading=true] .camera-portal-preview{visibility:hidden}.camera-poster img{width:100%;height:100%;object-fit:cover}.camera-sequence{opacity:0}.camera-movie{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;pointer-events:none}.camera-introduction{position:absolute;left:7vw;top:24%;z-index:2}.camera-eyebrow{display:flex;align-items:center;gap:10px;font:10px var(--mono);letter-spacing:1.9px;margin:0 0 25px}.camera-eyebrow>span{width:6px;height:6px;background:#9a6043;border-radius:50%}.camera-introduction h1{font:700 clamp(80px,10.7vw,172px)/.98 "Space Grotesk",var(--sans);letter-spacing:-.06em;margin:0 0 28px -6px}.camera-introduction h1 em{font-weight:300}.camera-description{font:16px/1.65 var(--sans);color:#465444;letter-spacing:-.2px}.camera-cta{border-bottom:1px solid #65725c;display:inline-flex;gap:30px;align-items:center;padding:15px 0 11px;margin-top:5px;font-size:12px}.camera-footer{position:absolute;bottom:29px;left:4.5vw;right:4.5vw;display:flex;justify-content:space-between;align-items:center;font:9px var(--mono);letter-spacing:1.4px}.camera-scroll-label{display:flex;align-items:center;gap:12px}.camera-progress{width:100%;position:absolute;height:1px;bottom:-14px;background:#7c86694d}.camera-progress>span{display:block;height:1px;width:var(--camera-progress,0%);background:#7c8669}.camera-screen-code{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;pointer-events:none}.mini-tabs{height:66px;background:#26322b;padding:14px 24px;color:#b7c993}.mini-tabs span{float:right;color:#99a391}.camera-screen-code p{margin:9px 35px}.camera-screen-code p span{color:#607361;margin-right:25px}.camera-screen-code p i{color:#bd9971;font-style:normal}.camera-screen-code p.mini-comment{margin:52px 35px 38px;color:#99af8b}.terminal-cursor{color:#c5ce9e}.mini-command{position:absolute;bottom:0;left:0;right:0;padding:13px 30px;background:#344438;color:#d1d5b6}.mini-command b{color:#d3b887}.camera-editor-preview{opacity:0;position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background:var(--editor);pointer-events:none;color:var(--editor-text)}.camera-journey[data-animated=false]{height:100svh;min-height:700px}.camera-journey[data-animated=false] .camera-stage{position:relative;height:100%}.camera-journey[data-animated=false] .camera-screen-code,.camera-journey[data-animated=false] .camera-editor-preview{display:none}.camera-journey[data-animated=false]+.editor-resume{margin-top:0}.editor-resume{position:relative;margin-top:-100svh;padding-top:86px;color:var(--editor-text);background:var(--editor);min-height:100svh}.camera-portal-preview>.editor-resume-preview{margin-top:0;padding-top:0}.camera-journey[data-animated=true]+.editor-resume{clip-path:inset(0)}.editor-tabbar{display:flex;height:62px;border-bottom:1px solid var(--editor-line);padding-left:4.5vw;color:#9da993;background:#1d2923;font:11px var(--mono);align-items:stretch}.editor-tab{display:flex;gap:13px;align-items:center;padding:0 24px;border-left:1px solid var(--editor-line);border-right:1px solid var(--editor-line)}.editor-tab.active{color:#d2ddbb;background:var(--editor);border-top:2px solid #bb9970}.tab-dot{border-radius:50%;width:5px;height:5px;background:#c0bf85;margin-left:22px}.editor-tab-path{margin:auto 4.5vw auto auto;color:#879783}.editor-opening{padding:76px max(8vw,32px) 54px}.editor-comment{font:10px/1.6 var(--mono);letter-spacing:1.5px;color:#a5b892}.editor-opening h2{font:300 clamp(50px,6.2vw,100px)/1.02 var(--serif);letter-spacing:-.055em;margin:25px 0 22px}.editor-opening h2 em{color:#c6cba7}.editor-lead{font-size:15px;line-height:1.8;color:#b3bcb0;margin-bottom:36px}.editor-file-meta{display:flex;gap:24px;font:10px var(--mono);color:#91a48c}.editor-file-meta span+span{border-left:1px solid #53604c;padding-left:24px}.editor-workspace{border-top:1px solid var(--editor-line);display:grid;grid-template-columns:230px minmax(0,1fr);margin:0 4.5vw}.editor-sidebar{padding:40px 28px 0 0;align-self:start;position:sticky;top:25px;font:11px/1.7 var(--mono);color:#a4b498}.editor-sidebar p:first-child{display:flex;align-items:center;gap:10px;font-size:10px}.editor-sidebar nav{margin-top:28px;display:flex;flex-direction:column}.file-group{display:flex;align-items:center;gap:8px;color:#d1d8bf;padding-bottom:12px}.editor-sidebar nav a{display:flex;align-items:center;min-height:44px;padding:10px 12px;gap:14px;border-left:2px solid transparent}.editor-sidebar nav a>span{color:#778969}.editor-sidebar nav a[aria-current]{color:#e4e7cf;background:#28382c;border-left-color:#bdb786}.editor-sidebar .file-link{margin-top:8px}.sidebar-note{margin-top:64px;color:#859580;font-size:10px;line-height:1.9}.editor-document{border-left:1px solid var(--editor-line);padding:0 4.5vw;min-width:0}.editor-role{padding:54px 0;border-bottom:1px solid var(--editor-line);scroll-margin-top:30px}.editor-role,.editor-about,.editor-contact{scroll-margin-top:106px}.role-code-marker{display:flex;gap:24px;font:10px var(--mono);letter-spacing:1.4px;color:#a4b995;margin-bottom:30px}.role-code-marker>span:first-child{color:#73856d}.editor-role-heading{display:flex;justify-content:space-between;gap:20px;align-items:baseline;flex-wrap:wrap}.editor-role-heading h3{font:400 clamp(28px,3.5vw,53px)/1.15 var(--serif);letter-spacing:-1.4px;margin:0}.editor-role-heading h3 a{display:inline-flex;gap:16px;align-items:center}.editor-dates{font:10px var(--mono);color:#9eae95}.editor-position{font:12px/1.8 var(--mono);color:#d2ceb7;margin:17px 0 34px}.editor-position span{color:#94ac7e;margin-right:8px}.editor-role h4{font:500 18px/1.4 var(--sans);margin:0 0 16px;letter-spacing:-.5px}.editor-description{color:#bdc5b7;font-size:15px;line-height:1.8;max-width:670px}.editor-achievements{list-style:none;margin:22px 0;padding:0;max-width:700px}.editor-achievements li{font-size:13px;line-height:1.85;color:#b3bfae;padding-left:20px;position:relative;margin:12px 0}.editor-achievements li:before{content:"—";position:absolute;left:0;color:#8c9e7a}.editor-details summary{cursor:pointer;font:11px/1.7 var(--mono);color:#c0c9af;display:flex;gap:10px;align-items:center;min-height:44px;list-style:none}.editor-details summary::-webkit-details-marker{display:none}.editor-details[open] summary svg{transform:rotate(45deg)}.editor-technologies{display:flex;flex-wrap:wrap;list-style:none;padding:0;gap:8px;margin:28px 0 0}.editor-technologies li{color:#b7c59f;border:1px solid #44523d;padding:7px 10px;border-radius:3px;font:10px var(--mono)}.editor-about{padding:70px 0;border-bottom:1px solid var(--editor-line)}.editor-about-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:46px;align-items:center}.editor-about h2,.editor-contact h2{font:300 clamp(42px,5vw,70px)/1.04 var(--serif);letter-spacing:-.05em;margin:30px 0}.editor-about h2 em,.editor-contact h2 em{color:#c6cba7}.editor-about p:not(.editor-comment){color:#b3bfae;font-size:13px;line-height:1.9}.editor-about figure{margin:0}.editor-about img{width:100%;height:330px;object-fit:cover;border-radius:80px 80px 4px 4px;filter:saturate(.7)}.editor-about figcaption{color:#93a087;font:9px var(--mono);margin-top:13px}.editor-social{display:flex;gap:24px;margin-top:25px;font-size:12px}.editor-social a{display:flex;gap:8px;align-items:center;min-height:44px}.editor-contact{padding:70px 0 90px}.editor-contact>a:not(.return-garden){display:inline-flex;gap:18px;align-items:center;font-size:clamp(15px,2vw,24px);border-bottom:1px solid #657158;padding:10px 0 16px}.editor-contact>p:not(.editor-comment){font:11px var(--mono);color:#9caa93;margin:25px 0}.return-garden{display:inline-flex;min-height:44px;align-items:center;margin-top:30px;font:11px var(--mono);color:#bcc6a5}.editor-status{display:flex;gap:20px;align-items:center;min-height:39px;background:#344536;color:#c0cba7;font:10px var(--mono)}.vim-mode{color:#25372a;background:#c2ca9b;padding:14px 24px;font-weight:700;letter-spacing:1px}.status-right{margin-left:auto;margin-right:30px}.status-right span{margin:0 14px}.camera-portfolio a:focus-visible,.camera-portfolio button:focus-visible,.camera-portfolio summary:focus-visible{outline:2px solid #bc9a6a;outline-offset:5px}.editor-resume:focus,.editor-role:focus,.editor-about:focus,.editor-contact:focus,.camera-journey:focus{outline:none}.camera-portfolio a:hover{color:#a98b56}.editor-resume a:hover{color:#e5d4a3}@media (min-width:1500px){.editor-workspace{grid-template-columns:270px minmax(0,1fr)}.editor-document{padding-right:8vw}.camera-introduction{left:8vw}}@media (max-width:1000px){.editor-about-grid{grid-template-columns:1fr}.editor-about img{max-width:320px;height:300px}}@media (max-width:1000px){.camera-header nav{gap:18px}.editor-workspace{grid-template-columns:180px minmax(0,1fr)}.editor-sidebar{padding-right:12px}.editor-sidebar nav a{padding-left:5px;gap:8px}.editor-about-grid{gap:25px}.editor-tab-path{display:none}}@media (max-width:759px){.camera-header{height:74px;padding:0 6vw}.camera-wordmark{font-size:29px}.camera-header nav{gap:17px;font-size:10px}.header-contact{display:none!important}.camera-header .camera-motion{padding-left:12px}.camera-motion span{display:none}.camera-journey{height:420svh}.camera-introduction{left:8vw;top:17%}.camera-introduction h1{font-size:clamp(72px,20vw,120px)}.camera-eyebrow{font-size:8px;letter-spacing:1px;margin-bottom:24px}.camera-description{font-size:13px}.camera-cta{font-size:11px;gap:25px}.camera-footer{left:6vw;right:6vw;font-size:7px;letter-spacing:.7px}.camera-scroll-label{gap:5px}.camera-journey[data-animated=false]{min-height:650px}.editor-tabbar{height:54px;padding-left:6vw}.editor-tab{padding:0 15px;font-size:10px}.secondary-tab{display:none}.editor-opening{padding:58px 8vw 43px}.editor-comment{font-size:8px;letter-spacing:1px}.editor-opening h2{font-size:52px;margin-top:22px}.editor-lead{font-size:12px}.editor-file-meta{font-size:8px;gap:12px}.editor-file-meta span+span{padding-left:12px}.editor-workspace{display:block;margin:0 7vw}.editor-sidebar{position:relative;padding:15px 0;border-bottom:1px solid var(--editor-line)}.editor-sidebar p,.editor-sidebar .file-group,.editor-sidebar .sidebar-note{display:none}.editor-sidebar nav{flex-direction:row;flex-wrap:wrap;margin:0;gap:3px}.editor-sidebar nav a{padding:8px;font-size:9px;min-height:44px}.editor-sidebar .file-link{margin:0}.editor-sidebar nav a>span{display:none}.editor-document{padding:0;border-left:0}.editor-role{padding:42px 0}.role-code-marker{font-size:8px;gap:17px;margin-bottom:22px}.editor-role-heading h3{font-size:37px}.editor-role-heading{gap:12px}.editor-dates{font-size:9px}.editor-position{font-size:10px;margin-bottom:28px}.editor-role h4{font-size:16px}.editor-description,.editor-achievements li{font-size:12px}.editor-details summary{font-size:10px}.editor-technologies li{font-size:9px}.editor-about-grid{grid-template-columns:1fr}.editor-about img{height:310px;max-width:280px}.editor-about h2,.editor-contact h2{font-size:52px}.editor-about,.editor-contact{padding:48px 0}.editor-social{font-size:11px}.editor-contact>a:not(.return-garden){font-size:15px;gap:9px}.editor-status{gap:10px;font-size:8px}.vim-mode{padding:14px 12px}.status-right{margin-right:12px}.status-right span,.status-file{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{scroll-behavior:auto!important}}@media screen and (min-width:760px) and (max-aspect-ratio:1/1){.camera-introduction{top:15%;left:8vw}.camera-introduction h1{font-size:clamp(68px,9.5vw,120px);line-height:1;margin-bottom:16px}.camera-introduction h1 br{display:none}.camera-introduction h1 em{margin-left:.16em}.camera-eyebrow{margin-bottom:16px}}@media screen{.editor-sidebar{top:106px}.camera-header:not([data-dark=true]) a:hover,.camera-introduction a:hover{color:#75472b}.camera-header:not([data-dark=true]) :focus-visible,.camera-introduction :focus-visible{outline-color:#75472b}.camera-header nav{font-size:13px}.editor-description{font-size:16px}.editor-achievements li{font-size:15px}.editor-about p:not(.editor-comment){font-size:15px}.editor-dates{font-size:12px}.editor-details summary{font-size:12px}.camera-footer{font-size:10px;text-shadow:0 1px 8px #f7f3e9}.camera-footer>span{background:#f7f3e9e8;border-radius:30px;padding:8px 12px}.camera-introduction:before{content:"";position:absolute;top:-25%;right:-18%;bottom:-25%;left:-18%;z-index:-1;background:radial-gradient(ellipse,#f1ecdfd9 25%,#f1ecdf00 70%);pointer-events:none}}@media screen and (max-width:759px){.editor-sidebar{top:0}.editor-sidebar p:first-child{display:none}.camera-introduction{top:12%;left:8vw}.camera-introduction h1{font-size:clamp(48px,15.3vw,74px);line-height:1;margin:0 0 10px;letter-spacing:-.065em}.camera-introduction h1 br{display:none}.camera-introduction h1 em{margin-left:.16em}.camera-eyebrow{font-size:9px;margin-bottom:14px}.camera-description{line-height:1.5;margin:0 0 4px}.camera-cta{padding:10px 0 8px}.camera-footer{font-size:8px}.camera-portal-preview{padding-top:74px}.camera-header nav{padding:0 10px}.camera-header .camera-motion{padding-left:8px}.camera-header nav{font-size:12px;gap:13px}.editor-resume{padding-top:74px}.editor-description,.editor-achievements li,.editor-about p:not(.editor-comment){font-size:15px}.editor-lead{font-size:14px}.editor-details summary{font-size:11px}.editor-position{font-size:12px}.editor-sidebar nav a{font-size:11px}.editor-technologies li{font-size:11px}.camera-description{font-size:15px}}@media screen and (max-height:600px) and (min-aspect-ratio:1/1){.camera-introduction{top:24%;left:7vw}.camera-introduction h1{font-size:clamp(48px,7.5vw,82px);line-height:1;margin:0 0 12px}.camera-introduction h1 br{display:none}.camera-introduction h1 em{margin-left:.16em}.camera-eyebrow{font-size:9px;margin-bottom:10px}.camera-description{font-size:13px;line-height:1.5;margin:0 0 5px}.camera-cta{padding:8px 0;margin-top:0}.camera-footer{bottom:24px;font-size:8px}}@media print{.camera-portfolio .editor-resume{visibility:visible!important}.camera-portfolio .print-heading{position:static;padding:0 0 16px;margin:0}:root{color:#111;background:#fff}.camera-header,.camera-journey,.camera-skip,.editor-sidebar,.editor-tabbar,.editor-status,.editor-file-meta,.return-garden{display:none!important}.camera-portfolio,.editor-resume{color:#111;background:#fff}.print-heading{display:block}.editor-resume{margin:0!important;padding-top:0;clip-path:none!important}.editor-opening{padding:15px 0}.editor-opening h2{font-size:30px}.editor-opening h2 em,.editor-about h2 em,.editor-contact h2 em{color:#111}.editor-opening .editor-comment{display:none}.editor-lead{margin-bottom:15px}.editor-workspace{display:block;margin:0;border:0}.editor-document{padding:0;border:0}.editor-role{padding:20px 0;break-inside:avoid}.editor-role-heading h3{font-size:25px}.editor-position{margin:8px 0 15px}.editor-role h4{font-size:13px}.editor-role p,.editor-role li,.editor-about p,.editor-contact p,.editor-comment,.editor-lead,.editor-dates,.editor-position span{color:#333!important;font-size:10px!important}.editor-achievements li{margin:5px 0}.role-code-marker{margin-bottom:10px}.editor-details summary{display:none}.editor-technologies{margin-top:10px}.editor-technologies li{color:#333;padding:3px 6px}.editor-about,.editor-contact{padding:20px 0;break-inside:avoid}.editor-about h2,.editor-contact h2{font-size:28px}.editor-about img,.editor-about figure{display:none}.editor-about-grid{display:block}.editor-contact>a:not(.return-garden){font-size:14px}.editor-social{margin-top:5px}.editor-role p,.editor-role li,.editor-about p,.editor-contact p,.editor-lead,.editor-dates,.editor-position span{font-size:10pt!important}.editor-role p,.editor-role li,.editor-about p,.editor-contact p,.editor-lead{line-height:1.45}.editor-role{padding:14px 0}.editor-achievements{margin:12px 0}.editor-position{margin:6px 0 12px}.editor-role h4{margin-bottom:10px}.editor-opening{padding:8px 0}.editor-opening h2{margin:8px 0}}.camera-companion{position:absolute;left:27vw;bottom:3.5%;width:clamp(180px,19vw,310px);pointer-events:none;transform-origin:50% 85%;will-change:transform,opacity}.camera-companion img{display:block;width:100%;height:auto;filter:drop-shadow(0 12px 16px #30372a24)}.camera-introduction h1{font-size:clamp(76px,9vw,148px);line-height:.98;letter-spacing:-.06em}.camera-introduction h1 span{display:inline-block}.camera-tour-controls{position:fixed;z-index:30;left:50%;bottom:27px;transform:translate(-50%);display:flex;align-items:center;gap:22px;padding:5px 8px 5px 22px;border:1px solid #e0d1b859;border-radius:999px;background:#101416e8;color:#f2eee6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 8px 32px #0003;white-space:nowrap;font:11px var(--mono)}.camera-tour-controls>span{color:#b6bfc3}.camera-tour-controls button,.camera-tour-controls a{display:flex;align-items:center;gap:14px;min-height:44px;padding:0 14px;border:0;border-radius:99px;background:transparent;color:inherit}.camera-tour-controls a{background:#f2eee6;color:#101416}@media screen and (max-width:759px){.camera-introduction h1{font-size:clamp(40px,11.6vw,75px);line-height:1;letter-spacing:-.06em;white-space:nowrap}.camera-introduction h1 span{margin-left:.15em}.camera-companion{width:clamp(170px,48vw,270px);left:-1vw;bottom:4%}.camera-tour-controls{bottom:24px;gap:6px;padding-left:8px;font-size:10px}.camera-tour-controls>span{display:none}}@media screen and (min-width:760px) and (max-aspect-ratio:1/1),screen and (max-height:600px) and (min-aspect-ratio:1/1){.camera-introduction h1{font-size:clamp(48px,8vw,100px)}.camera-introduction h1 span{margin-left:.15em}.camera-companion{width:22vw;max-width:240px;left:8vw}}@media print{.camera-tour-controls{display:none!important}}@font-face{font-family:"Garden Serif";src:url(/fonts/SourceSerifPro-Light.ttf) format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:"Garden Serif";src:url(/fonts/SourceSerifPro-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Space Grotesk;src:url(/fonts/SpaceGrotesk-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:"Garden Serif";src:url(/fonts/SourceSerifPro-LightItalic.ttf) format("truetype");font-weight:300;font-style:italic;font-display:swap}:root{--paper: #f6f2e8;--paper-light: #fbf8f1;--ink: #1e3028;--body-ink: #435047;--quiet: #637065;--red: #b84629;--rule: #c5c8b8;--serif: "Garden Serif", Georgia, serif;--sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-family:var(--sans);color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;min-width:320px;-webkit-font-smoothing:antialiased}body,button,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{color:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}img{display:block;max-width:100%}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--red);outline-offset:6px}::selection{background:#d9dfca;color:var(--ink)}svg{flex-shrink:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:12px;left:12px;z-index:100;background:var(--ink);color:var(--paper);padding:14px 20px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.section-shell{width:min(1216px,calc(100% - 112px));margin-inline:auto}.eyebrow{font-size:12px;letter-spacing:.16em;line-height:1.6;font-weight:500}.garden-header{position:fixed;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:25px 4.2%;transition:background .25s,padding .25s,box-shadow .25s}.garden-header[data-scrolled=true]{background:#f6f2e8f7;padding-block:17px;box-shadow:0 1px #1e30281f}.wordmark{font-family:var(--serif);font-size:27px;white-space:nowrap}.wordmark span{color:var(--red);margin-left:9px;font-weight:300}.garden-header nav{display:flex;align-items:center;gap:34px}.garden-header nav>a,.cv-button{font-family:var(--serif);font-size:19px}.garden-header nav>a{position:relative}.garden-header nav>a:after{content:"";height:1px;position:absolute;bottom:-5px;left:0;right:0;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .2s}.garden-header nav>a:hover:after{transform:scaleX(1)}.cv-button{border:0;background:transparent;display:flex;align-items:center;gap:7px;padding:8px 0 8px 8px}.garden-hero{height:min(960px,100svh);min-height:760px;position:relative;overflow:clip;isolation:isolate}.garden-sky{position:absolute;top:-5%;right:0;bottom:0;left:0;width:100%;height:110%;object-fit:cover;z-index:-3}.hero-wash{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;background:linear-gradient(90deg,var(--paper) 0%,rgb(246 242 232 / 75%) 25%,transparent 55%),linear-gradient(0deg,var(--paper) 0%,transparent 24%)}.hero-copy{position:relative;z-index:3;padding-top:clamp(110px,14svh,150px);margin-left:max(4.2%,calc((100% - 1408px)/2));width:46%;pointer-events:none}.hero-copy a{pointer-events:auto}.hero-eyebrow{margin:0 0 29px 5px;color:var(--quiet);font-size:12px;letter-spacing:.12em;text-transform:uppercase}.hero-copy h1{font-family:var(--serif);font-size:clamp(110px,min(12.9vw,22svh),205px);font-weight:300;letter-spacing:-.075em;line-height:.83;margin:0 0 32px -8px}.name-period{color:var(--red)}.hero-role{font-family:var(--serif);font-weight:300;font-size:clamp(24px,2.35vw,35px);line-height:1.25;margin:0 0 18px}.hero-intro{font-size:17px;line-height:1.75;color:var(--body-ink);margin:0 0 28px}.garden-button{display:inline-flex;align-items:center;gap:24px;color:var(--paper-light);background:var(--red);padding:14px 23px;font-family:var(--serif);font-size:21px;border-radius:2px;transition:background .18s,transform .18s}.garden-button:hover{background:#963a23;transform:translateY(-2px)}.island-scroll{position:absolute;width:min(67vw,84svh,940px);top:98px;right:1%;z-index:1;pointer-events:none;transform-origin:center center}.island-pointer,.island-float{position:relative;width:100%}.garden-island{width:100%;height:auto}.island-float[data-moving=true]{animation:island-drift 9s ease-in-out infinite}@keyframes island-drift{0%,to{transform:translateY(0) rotate(-.3deg)}50%{transform:translateY(-11px) rotate(.3deg)}}.paper-fox{position:absolute;top:36%;left:25%;width:10.5%;min-width:44px;aspect-ratio:1;pointer-events:auto;background:transparent;border:0;padding:0;border-radius:50%}.paper-fox img{width:100%;height:100%;object-fit:contain}.paper-fox:hover{filter:brightness(1.04)}.fox-greeting{position:absolute;top:36%;left:25%;transform:translate(-20%,-100%);background:var(--paper-light);font-family:var(--serif);font-size:16px;padding:7px 11px;white-space:nowrap;color:var(--ink);border-radius:2px}.fox-greeting:empty{display:none}.hero-bottom{position:absolute;bottom:37px;left:4.2%;right:4.2%;z-index:5;display:flex;justify-content:space-between;align-items:flex-end}.garden-marker{display:flex;align-items:center;gap:15px}.garden-marker>span{display:block;width:30px;height:1px;background:var(--quiet)}.follow-path{display:flex;align-items:center;gap:32px;font-family:var(--serif);font-size:18px}.follow-path svg{transition:transform .2s}.follow-path:hover svg{transform:translateY(4px)}.chapter{display:flex;align-items:center;gap:27px;font-size:12px;font-weight:500;letter-spacing:.13em;line-height:1.6}.chapter-rule{flex:1;height:1px;background:var(--rule)}.chapter-end{letter-spacing:.08em;color:var(--quiet)}.experience-section{padding-top:32px;padding-bottom:65px}.section-intro{display:grid;grid-template-columns:1.1fr .9fr;gap:90px;align-items:end;margin:87px 0 69px}h2{font-family:var(--serif);font-weight:300;font-size:clamp(44px,5.1vw,74px);line-height:1.07;letter-spacing:-.045em;margin:0}h2 em{font-weight:300;color:#68755b}.section-intro>p{color:var(--body-ink);font-size:17px;line-height:1.8;max-width:340px;margin-bottom:5px}.career-path{position:relative}.career-track{position:absolute;top:12px;bottom:0;left:0;width:1px;background:var(--rule)}.career-track>span{display:block;width:1px;height:100%;background:var(--red);transform-origin:top}.career-stop{position:relative;display:grid;grid-template-columns:.92fr 1.08fr;gap:80px;padding:52px 0 60px 39px}.career-stop+.career-stop{border-top:1px solid var(--rule)}.career-node{position:absolute;left:-4px;top:58px;width:9px;height:9px;border-radius:50%;background:var(--red);box-shadow:0 0 0 6px var(--paper)}.career-company{position:relative}.role-years{color:var(--quiet);margin:0 0 21px}.career-company h3{font-family:var(--serif);font-size:clamp(34px,3.7vw,52px);font-weight:300;letter-spacing:-.04em;line-height:1.2;margin:0 0 10px}.career-company h3 a{display:inline-flex;gap:15px;align-items:center}.career-company h3 a svg{color:var(--red);transition:transform .18s}.career-company h3 a:hover svg{transform:translate(3px,-3px)}.role-title{font-size:16px;margin:0 0 12px}.role-dates{font-size:13px;color:var(--quiet);margin:0;line-height:1.7}.role-index{display:block;font-family:var(--serif);font-size:85px;font-weight:300;line-height:1;color:#daddd0;margin-top:37px}.career-story h4{font-family:var(--serif);font-size:27px;font-weight:400;letter-spacing:-.025em;line-height:1.3;margin:0 0 20px}.role-description{font-size:17px;line-height:1.75;margin:0 0 20px}.role-points{padding:0;margin:0;list-style:none;color:var(--body-ink);font-size:16px;line-height:1.8}.role-points li{position:relative;padding-left:17px;margin:0 0 12px}.role-points li:before{content:"—";position:absolute;left:0;color:#8a947b}.role-details{margin-top:20px}.role-details summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;max-width:215px;font-size:14px;font-weight:500;padding-block:12px;list-style:none}.role-details summary::-webkit-details-marker{display:none}.role-details[open] summary{margin-bottom:10px}.role-details[open] summary svg{transform:rotate(45deg)}.role-skills{display:flex;gap:12px 22px;flex-wrap:wrap;list-style:none;padding:0;margin:29px 0 0;font-size:14px;letter-spacing:.015em;color:var(--quiet)}.about-section{padding-top:25px;padding-bottom:118px}.about-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:115px;align-items:center;margin-top:80px}.about-portrait{position:relative;padding:21px 21px 0 0}.about-portrait:before{content:"";position:absolute;top:0;right:0;bottom:37px;left:21px;border:1px solid #a7b094;z-index:-1}.about-portrait>img{width:100%;aspect-ratio:.82;height:auto;object-fit:cover;object-position:center}.portrait-caption{display:block;margin-top:16px;font-family:var(--serif);font-style:italic;font-weight:300;font-size:16px;color:var(--quiet)}.about-copy h2{margin-bottom:30px}.about-copy>p{font-size:16px;color:var(--body-ink);line-height:1.85;max-width:485px}.about-copy .about-note{color:var(--ink);font-family:var(--serif);font-size:22px;margin-top:28px}.about-links{display:flex;gap:26px;margin-top:30px}.about-links a{display:flex;gap:8px;align-items:center;font-size:14px}.about-links a:hover{color:var(--red)}.contact-section{padding-bottom:68px}.contact-layout{display:grid;grid-template-columns:1fr .42fr;gap:50px;align-items:center;margin-top:82px}.contact-layout h2{font-size:clamp(50px,6vw,88px)}.contact-email{display:inline-flex;gap:35px;align-items:center;font-size:clamp(16px,1.8vw,24px);padding-bottom:10px;border-bottom:1px solid var(--ink);margin-top:35px}.contact-email:hover{color:var(--red);border-color:var(--red)}.contact-fox{width:250px;justify-self:center;transform:rotate(-4deg)}.garden-footer{border-top:1px solid var(--rule);padding-top:26px;padding-bottom:30px;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:14px;color:var(--quiet)}.footer-slash{color:var(--red);margin-inline:8px}.garden-footer a,.motion-toggle{display:flex;gap:9px;align-items:center}.motion-toggle{border:0;background:transparent;font-size:14px;padding:12px;color:var(--quiet)}.motion-toggle:disabled{cursor:default}.print-heading{display:none}@media (min-width: 1600px){.hero-copy{margin-left:max(5%,calc((100% - 1450px)/2))}.island-scroll{right:max(3%,calc((100% - 1450px)/2))}}@media (max-width: 1100px){.garden-hero{min-height:720px}.hero-copy{width:49%;padding-top:150px}.hero-copy h1{font-size:14vw}.island-scroll{width:64vw;top:150px;right:-7%}.section-shell{width:calc(100% - 80px)}.section-intro{gap:50px}.career-stop{gap:45px}.about-layout{gap:60px}}@media (max-width: 760px){html{scroll-padding-top:84px}.garden-header{padding:18px 22px}.garden-header[data-scrolled=true]{padding:13px 22px}.wordmark{font-size:25px}.garden-header nav{gap:19px}.garden-header nav>a,.cv-button{font-size:16px}.section-shell{width:calc(100% - 44px)}.garden-hero{height:calc(620px + min(94vw,560px));min-height:960px}.hero-copy{padding-top:115px;width:calc(100% - 44px);margin-left:24px}.hero-eyebrow{margin-left:0;margin-bottom:24px;font-size:12px;letter-spacing:.06em}.hero-copy h1{font-size:clamp(92px,22vw,138px);line-height:.84;margin-left:-4px;margin-bottom:24px}.hero-role{font-size:25px}.hero-intro{font-size:16px;margin-bottom:21px;max-width:280px}.garden-button{font-size:18px;padding:11px 18px}.island-scroll{width:min(94vw,560px);top:520px;right:max(3vw,calc((100% - 560px)/2))}.garden-sky{object-position:70% center}.hero-wash{background:linear-gradient(180deg,var(--paper) 0%,rgb(246 242 232 / 90%) 24%,transparent 50%,var(--paper) 99%)}.hero-bottom{bottom:27px;left:24px;right:24px}.garden-marker{gap:10px;font-size:12px;letter-spacing:.08em}.garden-marker>span{width:15px}.follow-path{font-size:16px;gap:12px}.experience-section{padding-top:22px;padding-bottom:60px}.chapter{gap:15px;font-size:12px;letter-spacing:.06em}.chapter-end{display:none}.section-intro{display:block;margin:55px 0 25px}.section-intro>p{font-size:16px;margin-top:24px;max-width:370px}h2{font-size:48px}.career-stop{display:block;padding:39px 0 40px 23px}.career-node{top:44px}.role-years{margin-bottom:14px;font-size:12px}.career-company h3{font-size:39px}.role-title{font-size:16px}.role-dates{font-size:13px}.role-index{position:absolute;right:0;top:0;font-size:50px;margin:0}.career-story{margin-top:30px}.career-story h4{font-size:25px;margin-bottom:17px}.role-description,.role-points{font-size:16px}.role-skills{font-size:14px;gap:12px 18px}.about-section{padding-top:0;padding-bottom:70px}.about-layout{display:flex;flex-direction:column-reverse;align-items:stretch;gap:30px;margin-top:50px}.about-copy>p{font-size:16px}.about-portrait{width:min(85%,360px);align-self:center;margin-top:15px}.contact-layout{grid-template-columns:1fr;gap:20px;margin-top:50px}.contact-layout h2{font-size:50px}.contact-email{gap:15px;font-size:17px;margin-top:30px}.contact-email svg{width:18px}.contact-fox{width:170px;justify-self:end;margin-top:-30px}.contact-section{padding-bottom:35px}.garden-footer{flex-wrap:wrap;justify-content:space-between;gap:18px;padding-block:22px}.garden-footer>a{flex-basis:100%}}@media (max-width: 380px){.garden-header nav{gap:13px}.garden-header{padding-inline:18px}.garden-header nav>a,.cv-button{font-size:15px}.hero-role{font-size:23px}.island-scroll{top:540px}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}[data-motion=off] .island-float{animation:none}html:has(.garden-page[data-motion=off]){scroll-behavior:auto}@media print{@page{margin:16mm}:root{color:#111;background:#fff}body{font-size:10pt}.garden-header,.garden-hero,.garden-footer,.about-portrait,.about-links,.contact-fox,.role-index,.career-track,.career-node,.chapter,.section-intro,.skip-link{display:none!important}.print-heading{display:block;position:absolute;top:0;left:0}.print-heading h1{font-size:28pt;margin:0 0 5pt;font-family:var(--serif)}.print-heading p{font-size:10pt}.garden-page{padding-top:75pt}.section-shell{width:100%;padding:0;margin:0}.career-stop{padding:20pt 0;gap:20pt;grid-template-columns:.7fr 1.3fr;break-inside:avoid}.career-company h3{font-size:22pt}.career-story h4{font-size:14pt;margin-bottom:8pt}.role-description,.role-points,.role-title,.role-dates,.role-skills{font-size:10pt;line-height:1.55}.role-description{margin-bottom:8pt}.role-years{font-size:9pt;margin-bottom:8pt}.role-details{display:none}.role-skills{margin-top:10pt}.career-company svg{display:none}.about-layout,.contact-layout{display:block;margin:20pt 0 0}.about-copy h2,.contact-layout h2{font-size:23pt;margin-bottom:12pt}.about-copy h2 br,.contact-layout h2 br{display:none}.about-copy>p{font-size:10pt;line-height:1.55;max-width:none}.about-copy .about-note{display:none}.contact-email{font-size:11pt;margin:0;border:0}}.garden-header,.garden-header[data-scrolled=true]{background:var(--paper)}.garden-header nav{gap:clamp(18px,2.4vw,34px)}.garden-header nav>a,.cv-button{min-height:44px;display:inline-flex;align-items:center}.garden-header .motion-toggle{border-left:1px solid var(--rule);padding:8px 0 8px 20px;min-height:44px}.cv-label-small{display:none}.garden-journey{position:relative;isolation:isolate;overflow-anchor:none}.garden-journey[data-static=true] .journey-intro{height:auto}.garden-journey[data-static=true] .journey-passage{display:none}.journey-stage{position:sticky;top:0;height:100svh;margin-bottom:-100svh;overflow:hidden;background:var(--paper);pointer-events:none}.scene-plane,.scene-mist{position:absolute;top:0;right:0;bottom:0;left:0}.scene-plane{transform-origin:67% 46%}.scene-plane img{width:100%;height:100%;object-fit:cover}.scene-arrival img{object-position:60% center}.scene-bridge,.scene-workshop{opacity:0}.scene-workshop img{object-position:66% center}.chapter-backdrop{opacity:0;transition:opacity .65s ease}.chapter-backdrop[data-active=true]{opacity:1}.chapter-backdrop img{object-position:65% center}.scene-mist{background:var(--paper-light)}.scene-caption{position:absolute;right:4.2%;top:112px;display:flex;align-items:center;gap:14px;color:var(--ink);background:var(--paper);padding:12px 16px;opacity:0;transition:opacity .2s}.scene-caption[data-visible=true]{opacity:1}.scene-caption-rule{width:24px;height:1px;background:var(--red)}.scene-caption>span:nth-child(2){font-family:var(--serif);font-size:18px}.scene-caption-note{display:none}.journey-intro{height:240svh;position:relative}.journey-hero{position:relative;height:100svh;min-height:640px}.arrival-wash{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(90deg,rgb(246 242 232 / 70%),rgb(246 242 232 / 25%) 32%,transparent 53%);-webkit-mask-image:linear-gradient(black 75%,transparent);mask-image:linear-gradient(black 75%,transparent)}.journey-copy{position:relative;width:47%;margin-left:4.8%;padding-top:clamp(112px,14.5svh,165px)}.journey-copy>.eyebrow{margin:0 0 25px;font-size:11px;letter-spacing:.14em}.journey-copy h1{font-family:var(--serif);font-size:clamp(96px,min(13.1vw,18.8svh),195px);line-height:.84;font-weight:300;letter-spacing:-.075em;margin:0 0 27px -7px}.journey-copy h1>span{color:var(--red)}.journey-role{font-family:var(--serif);font-size:clamp(25px,2.65vw,39px);line-height:1.13;margin:0 0 20px}.journey-role em{color:#53634c;font-weight:300}.journey-description{color:var(--body-ink);font-size:16px;line-height:1.7;margin:0 0 24px}.journey-copy .garden-button{font-size:19px;padding:12px 22px}.journey-bottom{position:absolute;bottom:30px;left:4.8%;right:4.2%;display:flex;justify-content:space-between;align-items:center;gap:20px}.journey-location{display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:.13em;background:var(--paper);padding:12px 14px}.journey-location>span{width:18px;height:1px;background:var(--red)}.journey-bottom .follow-path{background:var(--paper);padding:12px 18px;gap:20px;font-size:17px}.journey-passage{height:140svh;pointer-events:none}.journey-passage p,.mobile-arrival,.mobile-career-scene{display:none}.experience-section{position:relative;display:grid;grid-template-columns:54% 46%;padding:0}.experience-reading{background:var(--paper);padding:88px 5vw 75px 4.8vw;min-width:0}.experience-eyebrow{margin:0 0 23px;color:var(--quiet);font-size:11px}.experience-section .section-intro{display:block;margin:0 0 35px}.experience-section h2{font-size:clamp(52px,5.6vw,88px)}.experience-section h2 em{color:var(--red)}.experience-section .section-intro>p{max-width:38ch;margin:24px 0 0;font-size:16px;line-height:1.8}.experience-section .career-stop{display:block;padding:43px 0 52px 28px;scroll-margin-top:25px}.experience-section .career-track{width:1px}.experience-section .career-track>span{width:1px}.experience-section .career-node{top:53px;background:var(--paper);border:1px solid #839077;transition:background .2s,box-shadow .2s}.experience-section .career-stop[data-active=true] .career-node{background:var(--red);border-color:var(--red);box-shadow:0 0 0 5px var(--paper),0 0 0 6px #c9ad97}.experience-section .career-company h3{font-size:clamp(34px,3.65vw,52px);margin-bottom:12px}.experience-section .career-story{margin-top:29px}.experience-section .career-story h4{font-size:25px;margin-bottom:17px}.experience-section .role-description{font-size:16px}.experience-section .role-points{font-size:16px;line-height:1.8}.experience-section .role-skills{font-size:12px;gap:10px 17px;letter-spacing:.025em}.role-details summary{max-width:230px;min-height:44px}.chapter-navigation{grid-column:2;grid-row:1;align-self:start;position:sticky;top:calc(100svh - 195px);margin:0 4.2vw 36px auto;display:flex;flex-direction:column;align-items:flex-start;padding:14px 22px;background:var(--paper)}.chapter-navigation a{display:flex;align-items:center;gap:12px;min-height:44px;color:var(--body-ink);font-size:13px}.chapter-dot{height:5px;width:5px;border:1px solid var(--quiet);border-radius:50%}.chapter-navigation a[aria-current=step]{color:var(--red)}.chapter-navigation a[aria-current=step] .chapter-dot{background:var(--red);border-color:var(--red);box-shadow:0 0 0 3px var(--paper),0 0 0 4px #d9bca5}.about-section,.contact-section{position:relative;background:var(--paper)}.about-section{padding-top:85px}.about-portrait:before{z-index:0}.about-portrait>img,.portrait-caption{position:relative}.about-links a{min-height:44px}.contact-companion{position:relative;text-align:center}.contact-fox-button{width:215px;max-width:100%;border:0;background:transparent;padding:0;display:block;margin:0 auto;border-radius:50%}.contact-fox-button:hover{filter:brightness(1.06)}.contact-fox{width:100%;height:auto;transform:none;margin:0}.companion-invitation{font-family:var(--serif);font-size:16px;font-style:italic;color:var(--quiet);margin:5px 0 0}.companion-reply{height:24px;font-size:13px;color:var(--red);margin:10px -20px 0}.contact-layout{margin-bottom:20px}.garden-footer>a{min-height:44px}[data-motion=off] *,[data-motion=off] *:before,[data-motion=off] *:after{animation:none!important;transition:none!important}@media (min-width: 1800px){.journey-copy{margin-left:6%}.experience-reading{padding-inline:6vw}}@media (min-width: 761px) and (max-height: 740px){.journey-copy{padding-top:102px}.journey-copy>.eyebrow{margin-bottom:18px}.journey-copy h1{font-size:min(12.5vw,17.5svh);margin-bottom:20px}.journey-role{font-size:29px;margin-bottom:15px}.journey-description{font-size:15px;margin-bottom:18px}.journey-bottom{bottom:22px}}@media (max-width: 1050px) and (min-width: 761px){.journey-copy{width:49%}.journey-copy h1{font-size:min(14vw,19svh)}.journey-role{font-size:30px}.experience-section{grid-template-columns:58% 42%}.experience-reading{padding-inline:4vw}.scene-caption{max-width:32%}.garden-header nav{gap:20px}.garden-header nav>a,.cv-button{font-size:17px}}@media (max-width: 760px){.garden-header,.garden-header[data-scrolled=true]{padding:12px 20px;background:var(--paper)}.garden-header nav{gap:14px}.garden-header nav>a,.cv-button{font-family:var(--sans);font-size:14px}.garden-header .motion-toggle{border:0;padding:8px;gap:0;min-width:44px}.garden-header .motion-toggle svg{width:18px}.garden-header .motion-toggle span{display:none}.garden-header .motion-toggle[aria-pressed=false]{opacity:.65}.cv-button{padding:0;gap:3px}.cv-button svg{width:12px}.cv-label-wide{display:none}.cv-label-small{display:inline}.wordmark{font-size:23px}.wordmark span{margin-left:3px}.journey-stage{display:none}.journey-intro{height:auto}.journey-hero{min-height:0;height:auto;overflow:hidden;padding-bottom:62px;display:flex;flex-direction:column}.journey-passage{display:none}.journey-copy{padding-top:111px;margin-left:24px;width:calc(100% - 48px)}.journey-copy>.eyebrow{font-size:12px;letter-spacing:.08em;margin-bottom:21px}.journey-copy h1{font-size:clamp(96px,23vw,142px);margin-left:-5px;margin-bottom:24px}.journey-role{font-size:28px;margin-bottom:16px}.journey-description{font-size:16px;line-height:1.7;margin-bottom:21px}.journey-copy .garden-button{font-size:18px;padding:11px 18px}.mobile-arrival{display:block;position:relative;order:2;width:100%;height:clamp(300px,70vw,430px);margin-top:12px;-webkit-mask-image:linear-gradient(transparent,black 16%,black 89%,transparent);mask-image:linear-gradient(transparent,black 16%,black 89%,transparent)}.mobile-arrival img{width:100%;height:100%;object-fit:cover;object-position:72% center}.arrival-wash{display:none}.journey-bottom{left:24px;right:24px;bottom:18px}.journey-location{display:none}.journey-bottom .follow-path{font-size:16px;padding:10px 0;background:transparent}.experience-section{display:block}.experience-reading{padding:38px 24px 35px}.experience-eyebrow{margin-bottom:20px}.experience-section h2{font-size:58px}.experience-section .section-intro{margin-bottom:8px}.experience-section .section-intro>p{font-size:16px;margin-top:20px}.experience-section .career-stop{padding:34px 0 38px}.career-track,.career-node{display:none}.mobile-career-scene{display:block;margin:28px -24px 26px;height:250px;overflow:hidden}.mobile-career-scene img{height:100%;width:100%;object-fit:cover;object-position:68% center}.mobile-career-scene[data-scene=workshop] img{object-position:90% center}.mobile-career-scene[data-scene=bridge] img{object-position:54% center}.experience-section .career-company h3{font-size:39px}.experience-section .career-story{margin-top:25px}.experience-section .role-skills{font-size:13px}.chapter-navigation{display:none}.about-section{padding-top:25px}.contact-layout{grid-template-columns:1fr;gap:25px}.contact-companion{justify-self:end;margin-top:5px}.contact-fox-button{width:155px}.companion-invitation{font-size:14px}.companion-reply{margin-inline:0}}@media (max-width: 380px){.garden-header,.garden-header[data-scrolled=true]{padding-inline:15px}.garden-header nav{gap:10px}.garden-header .motion-toggle{font-size:10px}.journey-copy{margin-left:22px}.journey-role{font-size:26px}.contact-email{font-size:16px}}@media (prefers-reduced-motion: reduce){.scene-plane{transform:none!important}}@media print{.journey-stage,.journey-intro,.mobile-career-scene,.chapter-navigation,.contact-companion,.experience-eyebrow{display:none!important}.garden-journey{isolation:auto}.experience-section{display:block}.experience-reading{padding:0;background:#fff}.experience-section .career-stop{display:grid;grid-template-columns:.7fr 1.3fr;gap:18pt;padding:16pt 0}.experience-section .career-company h3{font-size:20pt}.experience-section .career-story{margin:0}.experience-section .career-story h4{font-size:13pt;margin-bottom:7pt}.experience-section .role-description,.experience-section .role-points,.experience-section .role-skills{font-size:9pt;line-height:1.45}.role-points li{margin-bottom:5pt}.role-details{display:block;margin-top:5pt}.role-details summary{display:none}.about-section,.contact-section{background:#fff;padding-top:0;break-inside:avoid}.about-copy h2,.contact-layout h2{break-after:avoid;letter-spacing:normal}.about-layout{display:block}.about-copy h2 br,.contact-layout h2 br{display:none}.contact-layout{margin-bottom:0}}
