:root{color-scheme:dark;--navy:#030b17;--panel:#081321;--ivory:#f2eee6;--muted:#b1b7c2;--gold:#d5b66b;--line:#526070;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Outfit',Arial,sans-serif;--gutter:clamp(24px,6.4vw,116px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--navy);color:var(--ivory);font-family:var(--sans);font-weight:300;line-height:1.6}button,a,summary{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.35}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:6px}button[hidden],[hidden]{display:none!important}::selection{background:var(--gold);color:var(--navy)}.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:10px;left:20px;transform:translateY(-150%);background:var(--gold);color:var(--navy);padding:10px 16px;z-index:100}.skip-link:focus{transform:none}
.site-header{position:absolute;inset:0 0 auto;z-index:30;padding:24px var(--gutter);display:flex;align-items:center;gap:20px;min-height:88px;background:var(--navy)}.wordmark{font-family:var(--serif);font-size:1.5rem;letter-spacing:.18em;line-height:1}.wordmark>span{font-family:var(--sans);letter-spacing:.02em;font-size:.67rem;display:block;margin-top:8px;color:var(--muted)}.header-nav{display:flex;gap:clamp(20px,3vw,48px);margin-left:auto;align-items:center;font-size:.83rem}.header-nav a{padding:10px 0}.contact-nav span{padding-left:8px;color:var(--gold)}.view-toggle{font-size:.72rem;background:none;border:0;border-left:1px solid var(--line);padding:12px 0 12px 20px;color:var(--muted);min-height:44px;white-space:nowrap}.header-nav a:hover,.view-toggle:hover{color:var(--gold)}
.stone-stage{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}.stone-stage canvas{width:100%;height:100%;display:block}.stone-fallback{position:absolute;right:8%;top:21%;width:42%;aspect-ratio:1;background:linear-gradient(145deg,#1b3558,#07172e 65%,#294066);clip-path:polygon(27% 0,75% 12%,100% 51%,72% 100%,17% 84%,0 31%);opacity:.35}.stone-stage.ready .stone-fallback{display:none}main{position:relative;z-index:1}.chapter{position:relative;scroll-margin-top:80px}.chapter-inner{padding:100px var(--gutter) 70px;max-width:1800px;margin:auto;min-height:90svh}.eyebrow{color:var(--gold);font-size:.72rem;font-weight:400;letter-spacing:.12em;margin:0 0 22px}.muted,.section-intro{color:var(--muted)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:.98;letter-spacing:-.035em;margin-bottom:24px}h1{font-size:clamp(3.8rem,7.8vw,8.7rem)}h2{font-size:clamp(3rem,5.5vw,6.2rem)}em{font-weight:400;color:var(--gold)}.lede,.section-intro{max-width:340px;font-size:.94rem;line-height:1.8}.text-link{display:inline-flex;align-items:center;gap:24px;min-height:44px;font-size:.84rem;border-bottom:1px solid var(--line);padding:6px 0}.text-link:hover{border-color:var(--gold);color:var(--gold)}.long-arrow{font-size:1.6rem;line-height:1}.intro-layout{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:100svh;padding-top:130px;padding-bottom:130px}.intro-copy{position:relative;z-index:2}.intro-copy .lede{max-width:310px;margin:26px 0 20px}.specimen-note{display:none}.intro-footnote{display:flex;gap:30px;justify-content:space-between;font-size:.68rem;color:var(--muted);line-height:1.6;margin-top:48px}.scroll-note{align-self:end;text-align:right}.scroll-note span{display:inline-block;margin-left:10px;color:var(--gold)}
.work-chapter{background:rgba(3,11,23,.92)}.work-layout{display:grid;gap:24px}.work-heading h2{margin-bottom:18px}.work-heading .section-intro{max-width:400px;margin-bottom:0}.project-browser{min-width:0}.project-browser-layout{display:grid;gap:22px}.project-index{display:flex;gap:6px;overflow-x:auto;padding:6px 3px 12px;scrollbar-width:thin}.project-tab{background:none;border:1px solid var(--line);padding:10px 14px;text-align:left;min-width:130px;min-height:54px;flex:0 0 145px;font-size:.75rem;line-height:1.4}.project-tab .project-no{display:block;color:var(--muted);font-size:.65rem;margin-bottom:5px}.project-tab[aria-selected=true]{border-color:var(--gold);color:var(--gold)}.project-tab:hover{background:#122033}.project-viewport{min-width:0;background:var(--panel);border:1px solid #344151;position:relative;padding:24px;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;min-height:300px}.project-art{height:130px;display:flex;align-items:center;justify-content:space-between;position:relative;border-bottom:1px solid #344151;margin-bottom:20px}.project-art .art-number{font-family:var(--serif);font-size:7rem;color:#aab6c8;line-height:1}.art-caption{max-width:120px;text-align:right;font-size:.67rem;color:var(--muted)}.project-image{width:100%;height:190px;object-fit:cover;margin-bottom:20px}.project-category{color:var(--gold);font-size:.68rem;letter-spacing:.08em;margin:0 0 10px}.project-title{font-family:var(--serif);font-size:clamp(2rem,3.2vw,3.6rem);line-height:1.05;letter-spacing:-.02em;margin:0 0 12px;font-weight:400}.project-summary{font-size:.85rem;max-width:480px;color:var(--muted);line-height:1.7;margin-bottom:16px}.case-status{font-size:.7rem;color:var(--muted);margin:0;padding-top:12px;border-top:1px solid #344151}.project-open{align-self:start;background:none;border:0;border-bottom:1px solid var(--gold);padding:8px 0;color:var(--gold);min-height:44px}.work-note{margin:14px 0 0;color:var(--muted);font-size:.68rem}.load-state{padding:26px;border:1px solid var(--line);font-size:.85rem}.retry-button{display:block;background:var(--gold);color:var(--navy);border:0;padding:10px 20px;margin-top:15px;min-height:44px}.no-script-projects{border:1px solid var(--line);padding:24px}
.perspective-layout{display:flex;flex-direction:column;position:relative;overflow:hidden}
.chapter .perspective-layout{justify-content:safe center}
.perspective-layout>.eyebrow{flex-shrink:0}
.cinematic .chapter .work-layout{align-content:safe center}
.perspective-content{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(36px,7vw,110px);align-items:center;position:relative;z-index:1;flex-shrink:0}
.perspective-layout .perspective-content h2{font-size:clamp(2.6rem,4.8vw,5.4rem);line-height:1.04;margin:0;max-width:13ch}
.perspective-layout .perspective-copy{min-width:0;max-width:40ch;color:#c4c9d1;font-size:clamp(1.15rem,1.5vw,1.65rem);line-height:1.7}
.perspective-copy p{margin-bottom:1.1em}
.perspective-copy p:first-child{color:var(--ivory);font-weight:400}
.perspective-copy .text-link{color:var(--ivory);font-size:.95rem;margin-top:4px}
@media(max-width:959px){
  .perspective-content{grid-template-columns:minmax(0,1fr);gap:28px}
  .perspective-layout .perspective-content h2{font-size:clamp(2.25rem,7vw,3.5rem);max-width:20ch}
  .perspective-layout .perspective-copy{font-size:clamp(1.0625rem,2.4vw,1.25rem);line-height:1.65;max-width:46ch}
}
@media(max-height:650px) and (min-width:960px){.perspective-layout{justify-content:flex-start}.perspective-content{align-items:start}}
.background-word{position:absolute;bottom:30px;right:-10px;font-family:var(--serif);font-size:clamp(8rem,22vw,24rem);color:#111d2a;line-height:1;letter-spacing:-.06em;z-index:0;pointer-events:none}
.experience-chapter,.foundation-chapter{background:rgba(3,11,23,.95)}.experience-layout,.foundation-layout{display:grid;gap:24px}.experience-list{border-top:1px solid var(--line);min-width:0}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;display:flex;align-items:center;position:relative;min-height:70px;gap:16px;padding:18px 32px 18px 0}summary::-webkit-details-marker{display:none}.job-date{font-size:.68rem;color:var(--muted);min-width:114px}.job-company{font-size:.88rem;line-height:1.4}.job-company>span{display:block;font-size:.68rem;color:var(--muted);margin-top:5px}.detail-mark{position:absolute;right:2px;top:50%;transform:translateY(-50%);font-size:1.3rem;color:var(--gold);line-height:1}details[open]>.detail-mark,details[open]>summary>.detail-mark{transform:translateY(-50%) rotate(45deg)}.job-details{padding:0 16px 22px 0}.job-details h3{font-size:.91rem;color:var(--gold);font-weight:400;margin-bottom:8px}.job-details p{font-size:.85rem;line-height:1.8;color:var(--muted);margin-bottom:12px;max-width:530px}.job-details .job-note{font-size:.67rem;margin:0;color:var(--ivory)}.foundation-heading h2{font-size:clamp(3.7rem,6vw,6.6rem)}.foundation-content{min-width:0}.small-label{font-size:.68rem;color:var(--gold);display:block;margin-bottom:10px;letter-spacing:.04em}.education{padding-bottom:24px;border-bottom:1px solid var(--line);margin-bottom:22px}.education h3{font-family:var(--serif);font-weight:400;font-size:2rem;line-height:1.1;margin-bottom:8px}.education p{margin-bottom:3px;font-size:.88rem}.education .muted{font-size:.73rem}.skills dl{margin:0 0 24px}.skills dl>div{display:grid;grid-template-columns:1fr 1.5fr;gap:15px;padding:10px 0}.skills dt{font-size:.8rem}.skills dd{margin:0;font-size:.78rem;color:var(--muted);line-height:1.7}.community summary{font-size:.8rem;min-height:50px}.community p{font-size:.77rem;color:var(--muted);line-height:1.8}.community strong{font-weight:400;color:var(--ivory)}
.contact-layout{display:flex;flex-direction:column;justify-content:center;position:relative;min-height:100svh}.contact-layout h2{font-size:clamp(3rem,6.1vw,7rem);margin:10px 0 25px}.contact-description{font-size:.89rem;color:var(--muted);line-height:1.9;max-width:500px}.contact-email{font-family:var(--serif);font-size:clamp(1.65rem,3.2vw,3.5rem);align-self:start;border-bottom:1px solid var(--line);line-height:1.5;margin:8px 0 24px;overflow-wrap:anywhere}.contact-email span{font-family:var(--sans);font-size:.65em;margin-left:12px;color:var(--gold)}.contact-email:hover{color:var(--gold);border-color:var(--gold)}.contact-actions{display:flex;flex-wrap:wrap;gap:10px 28px;font-size:.8rem}.contact-actions a{min-height:44px;display:flex;align-items:center;gap:16px;padding:6px 0;border-bottom:1px solid var(--line)}.contact-actions a:hover{color:var(--gold)}.contact-footer{display:flex;gap:20px;flex-wrap:wrap;justify-content:space-between;color:var(--muted);font-size:.67rem;margin-top:70px}.contact-footer>span{letter-spacing:.07em}.back-link{min-height:44px;display:inline-flex;align-items:center}
.story-controls{position:fixed;bottom:0;left:0;right:0;z-index:30;background:var(--navy);height:76px;padding:0 var(--gutter);display:flex;align-items:center;gap:20px}.chapter-counter{display:flex;align-items:center;gap:14px;font-size:.7rem}.chapter-counter>span:first-child{color:var(--gold);font-size:.85rem}.counter-line{width:28px;height:1px;background:var(--line)}.chapter-nav{display:none;margin:auto;gap:6px}.chapter-nav a{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;font-size:.67rem;color:var(--muted);position:relative}.chapter-nav a[aria-current=step]{color:var(--gold)}.chapter-nav a[aria-current=step]:after{content:'';height:2px;width:22px;background:var(--gold);position:absolute;bottom:3px}.direction-controls{margin-left:auto;display:flex;gap:8px}.direction-controls button{background:none;border:1px solid var(--line);width:44px;height:40px;font-size:1.1rem}.direction-controls button:hover:not(:disabled){border-color:var(--gold);color:var(--gold)}.journey-track{position:absolute;bottom:0;left:0;right:0;height:2px;background:#1b2838}.journey-track>div{width:100%;height:100%;background:var(--gold);transform:scaleX(0);transform-origin:left}
.cinematic{scrollbar-width:none}.cinematic::-webkit-scrollbar{display:none}.cinematic .site-header{position:fixed;background:linear-gradient(var(--navy) 30%,rgba(3,11,23,0))}.cinematic #story{position:fixed;inset:0;pointer-events:none}.cinematic .chapter{position:absolute;inset:0;opacity:0;visibility:hidden;pointer-events:none;will-change:transform,opacity}.cinematic .chapter.active{visibility:visible;pointer-events:auto}.cinematic .chapter-inner{height:100svh;min-height:0;padding-top:110px;padding-bottom:105px;overflow-y:auto;scrollbar-width:thin;overscroll-behavior-y:contain}.cinematic .chapter-inner::-webkit-scrollbar{width:3px}.cinematic .chapter-inner::-webkit-scrollbar-thumb{background:var(--line)}.cinematic .intro-layout{justify-content:center}.cinematic .intro-footnote{position:absolute;bottom:105px;left:var(--gutter);right:var(--gutter);margin:0}.cinematic .contact-footer{margin-top:40px}.cinematic .chapter-counter{max-width:220px}.reading-mode .stone-stage{opacity:.18}.reading-mode .site-header{position:sticky}.reading-mode .chapter{background:transparent}.reading-mode .chapter-inner{min-height:0;padding-top:80px;padding-bottom:80px;border-bottom:1px solid #273647}.reading-mode .intro-layout{min-height:85svh}.reading-mode .intro-footnote{position:static;margin-top:40px}.reading-mode .contact-layout{min-height:80svh}dialog{width:min(780px,calc(100% - 36px));max-height:88svh;overflow:auto;background:var(--panel);color:var(--ivory);border:1px solid var(--line);padding:60px 30px 30px}dialog::backdrop{background:rgba(0,5,12,.85)}.dialog-close{position:absolute;top:14px;right:20px;border:0;background:none;min-height:44px;color:var(--gold)}#dialog-content h2{font-size:2.8rem;line-height:1.1}#dialog-content h3{font-size:.8rem;color:var(--gold);font-weight:400;margin:28px 0 8px}#dialog-content p{color:var(--muted);font-size:.93rem}#dialog-content img{width:100%;height:auto}
@media(min-width:760px){.chapter-inner{padding-top:120px;padding-bottom:110px}.intro-copy{width:60%}.intro-copy .lede{max-width:360px}.intro-footnote{width:auto}.specimen-note{display:flex;position:absolute;right:var(--gutter);top:69%;gap:14px;align-items:center;color:var(--muted);font-size:.65rem;line-height:1.6}.fine-rule{height:1px;width:44px;background:var(--gold)}.intro-layout .eyebrow{margin-bottom:28px}.project-browser-layout{grid-template-columns:.9fr 1.4fr;gap:28px}.project-index{display:flex;flex-direction:column;overflow:visible;padding:0;gap:0;justify-content:center}.project-tab{flex:0 0 auto;width:100%;border:0;border-bottom:1px solid #344151;display:flex;gap:15px;align-items:baseline;font-size:.82rem;padding:14px 12px 14px 0;min-height:52px}.project-tab .project-no{font-size:.65rem;min-width:18px;margin:0}.project-tab[aria-selected=true]{border-bottom-color:var(--gold)}.project-viewport{padding:26px 32px;min-height:350px}.work-layout{grid-template-columns:1fr;gap:20px}.work-heading{display:flex;gap:30px;align-items:end;position:relative;padding-top:22px}.work-heading .eyebrow{position:absolute;top:-10px;left:0}.work-heading h2{min-width:50%;font-size:clamp(3rem,4.8vw,5.5rem);margin-bottom:8px}.work-heading .section-intro{margin-bottom:12px;max-width:350px;font-size:.86rem}.perspective-layout{justify-content:center}.perspective-bottom{grid-template-columns:1fr 1fr;gap:12%;margin-top:clamp(35px,6vh,85px)}.experience-layout,.foundation-layout{grid-template-columns:.9fr 1.2fr;gap:8%;align-items:center}.job-details{padding-left:130px}.foundation-content{padding-top:20px}.contact-layout{align-items:center;text-align:center}.contact-layout .eyebrow{align-self:center}.contact-layout h2{max-width:none}.contact-email{align-self:center}.contact-description{max-width:650px}.contact-actions{justify-content:center}.contact-footer{position:absolute;left:var(--gutter);right:var(--gutter);bottom:110px;align-items:center}.chapter-nav{display:flex}.chapter-counter{min-width:195px}.story-controls{height:80px}.direction-controls{margin-left:0}.site-header{padding-top:30px;padding-bottom:30px;background:none}.wordmark>span{display:inline-block;border-left:1px solid var(--line);margin-left:22px;padding-left:22px;vertical-align:middle;margin-top:0}.header-nav{margin-right:16px}.view-toggle{padding-left:24px}.cinematic .work-layout{align-content:center}.cinematic .intro-footnote{bottom:120px}.cinematic .chapter-inner{padding-top:120px;padding-bottom:112px}.cinematic .contact-layout{padding-bottom:150px}.cinematic .contact-footer{bottom:104px}.reading-mode .contact-footer{position:static;width:100%;margin-top:70px}}
@media(min-width:1300px) and (min-height:760px){.work-layout{gap:36px}.project-viewport{min-height:410px}.project-art{height:160px}.project-art .art-number{font-size:9rem}.project-tab{min-height:65px}.project-image{height:230px}.work-heading h2{font-size:5.8rem}.experience-list summary{min-height:92px}.intro-copy .lede{font-size:1rem}}
@media(max-width:759px){.site-header{gap:14px;padding-top:20px;padding-bottom:20px}.header-nav{gap:18px;font-size:.75rem}.header-nav .contact-nav{display:none}.wordmark{font-size:1.25rem}.wordmark>span{font-size:.59rem}.view-toggle{padding-left:14px;font-size:.66rem}.intro-copy{max-width:100%}.intro-copy h1{font-size:clamp(3.8rem,11.6vw,5.4rem)}.intro-copy .lede{max-width:260px;background:rgba(3,11,23,.8)}.introduction .chapter-inner{padding-top:125px}.intro-footnote>span:first-child{max-width:180px}.cinematic .intro-layout{justify-content:flex-start;padding-top:max(130px,20svh)}.cinematic .intro-footnote{bottom:105px}.work-heading h2{font-size:clamp(2.7rem,9.4vw,4rem);line-height:1}.work-heading .section-intro{font-size:.82rem;line-height:1.65}.work-layout{gap:18px}.project-viewport{min-height:280px}.project-art{height:80px;margin-bottom:14px}.project-art .art-number{font-size:5.3rem}.project-summary{font-size:.8rem}.project-title{font-size:2.1rem}.project-image{height:140px}.project-tab{min-width:120px;flex-basis:130px}.perspective-layout h2{font-size:clamp(3rem,10vw,4.8rem)}.perspective-bottom{margin-top:14px;gap:12px}.large-copy{font-size:1.8rem;margin-bottom:10px}.perspective-copy{font-size:.86rem;line-height:1.8}.background-word{bottom:60px;font-size:8rem}.experience-heading h2{font-size:3.1rem}.experience-heading .section-intro{font-size:.82rem;max-width:350px}.experience-layout{gap:10px}.job-date{font-size:.62rem;min-width:82px;max-width:82px}.job-company{font-size:.8rem}.job-details p{font-size:.79rem}.job-details .job-note{font-size:.62rem}.foundation-heading h2{font-size:3.4rem}.foundation-heading .section-intro{font-size:.81rem}.foundation-layout{gap:14px}.education{padding-bottom:16px;margin-bottom:16px}.education h3{font-size:1.7rem}.skills dl>div{padding:7px 0}.skills dt{font-size:.74rem}.skills dd{font-size:.72rem}.contact-layout h2{font-size:clamp(2.8rem,9.7vw,4.2rem);line-height:1.05}.contact-description{font-size:.83rem}.contact-description br{display:none}.contact-email{font-size:clamp(1.5rem,6.6vw,2.5rem)}.contact-actions{font-size:.75rem;gap:10px 22px}.contact-footer{font-size:.61rem;margin-top:40px}.cinematic .contact-layout{justify-content:center}.chapter-counter{font-size:.65rem;gap:10px}.counter-line{width:20px}.story-controls{gap:12px}.direction-controls{gap:6px}.direction-controls button{width:44px;height:44px}.project-browser-layout{gap:12px}.cinematic .work-layout{padding-top:100px}.cinematic .foundation-layout,.cinematic .experience-layout{padding-top:100px}.cinematic .chapter-inner{overscroll-behavior:auto}}
@media(max-height:650px) and (min-width:760px){.cinematic .chapter-inner{padding-top:105px;padding-bottom:100px}.intro-copy h1{font-size:4.8rem}.intro-copy .lede{margin:16px 0 8px}.cinematic .intro-footnote{bottom:100px}.work-heading h2{font-size:3rem}.work-layout{gap:14px}.project-viewport{min-height:280px;padding:18px 24px}.project-art{height:90px;margin-bottom:14px}.project-art .art-number{font-size:6rem}.project-tab{padding:10px 10px 10px 0;min-height:45px}.project-summary{margin-bottom:10px}.project-title{font-size:2.2rem}.perspective-layout h2{font-size:4.6rem}.perspective-bottom{margin-top:20px}.contact-layout h2{font-size:4.4rem}.contact-layout .contact-description{margin-bottom:10px}.contact-email{margin-bottom:14px}.cinematic .contact-footer{position:static;margin-top:22px;width:100%}.education{padding-bottom:12px;margin-bottom:12px}.skills dl{margin-bottom:12px}.skills dl>div{padding:6px 0}.foundation-heading h2{font-size:4.2rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.stone-stage{opacity:.2}}
@media print{.site-header,.stone-stage,.story-controls,.view-toggle,.skip-link,.specimen-note,.intro-footnote,dialog{display:none!important}html,body{height:auto!important;background:#fff;color:#111}.cinematic #story{position:static}.cinematic .chapter{position:static;opacity:1!important;visibility:visible!important;transform:none!important;pointer-events:auto!important;break-inside:avoid}.cinematic .chapter-inner,.chapter-inner{height:auto;min-height:0;padding:24px 0;overflow:visible}h1,h2{font-size:2rem!important}em,.eyebrow,.muted,.section-intro,.project-summary,.case-status{color:#333!important}.chapter{background:none!important}.project-index{display:none}.project-viewport{background:none;border-color:#888}.contact-footer{position:static}.job-details{padding-left:0}}
.cinematic .site-header{transform:translateZ(0)}
.wordmark{min-height:44px}
@media(max-width:759px){.intro-copy h1{font-size:clamp(3rem,14vw,5.4rem)}.foundation-heading h2{font-size:clamp(2.7rem,12vw,3.4rem)}}
