@font-face{font-family:NimbusPortfolio;src:url(/fonts/nimbus-sans-narrow-bold.otf)format("opentype");font-weight:700;font-display:swap}:root{color:#17140f;--ink:#17140f;--blue:#c65322;--paper:#f1e7cf;--muted:#675f52;--signal:#d86222;scroll-behavior:smooth;background:#f1e7cf;font-family:Arial,sans-serif}*{box-sizing:border-box}html,body,#root{background:var(--paper);min-height:100%;margin:0}body{-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:1.1em}::selection{background:var(--blue);color:#fff}:focus-visible{outline:3px solid var(--signal);outline-offset:4px}.site-header{z-index:5;grid-template-columns:1fr auto 1fr;align-items:center;height:10vh;min-height:76px;padding:0 4.1vw;display:grid;position:absolute;inset:0 0 auto}.brand{letter-spacing:.18em;font-family:NimbusPortfolio,sans-serif;font-size:2rem}.site-header nav{align-items:center;gap:4.8vw;font-size:1.05rem;display:flex}.site-header nav a{position:relative}.site-header nav a:hover:after{content:"";background:var(--blue);height:2px;position:absolute;bottom:-9px;left:0;right:0}.header-actions{justify-self:end;align-items:center;gap:4vw;display:flex}.langs{gap:18px;display:flex}.langs button{cursor:pointer;background:0 0;border:0;padding:8px 0}.langs .active{border-bottom:2px solid var(--blue)}.nav-contact{background:var(--blue);color:#fff;align-items:center;gap:28px;height:64px;padding:0 34px;display:flex}.menu{display:none}.hero-frame{height:66.5vh;min-height:666px;position:relative;overflow:hidden}.hero-role{letter-spacing:.24em;margin:0;font-size:.72rem;line-height:1.2;position:absolute;top:12%;left:10%}.hero-role:before{content:"";background:var(--ink);vertical-align:middle;width:65px;height:1px;margin-right:28px;display:inline-block}.hero-frame h1{text-transform:uppercase;letter-spacing:-.02em;margin:0;font-family:NimbusPortfolio,sans-serif;font-weight:700;line-height:.77}.hero-frame h1 span{white-space:nowrap;display:block;position:absolute}.r-headline-ideas{font-size:clamp(6rem,9vw,9rem);top:21%;left:4%}.r-headline-systems{font-size:clamp(6rem,9vw,9rem);top:39%;left:4%}.r-headline-systems em{color:var(--blue);font-style:normal}.hero-summary{margin:0;font-size:1.35rem;line-height:1.3;position:absolute;top:70%;left:4.1%}.hero-actions{align-items:center;gap:42px;display:flex;position:absolute;top:79%;left:4.1%}.primary-action{background:var(--blue);color:#fff;justify-content:space-between;align-items:center;gap:48px;min-width:280px;min-height:64px;padding:0 38px;font-weight:600;display:flex}.resume-action{border:0;border-bottom:1px solid var(--ink);cursor:pointer;background:0 0;align-items:center;gap:20px;padding:15px 2px;display:flex}.portrait{background:#eceef2;width:17.2%;height:86.5%;margin:0;position:absolute;top:13.5%;left:68.7%;overflow:hidden}.portrait img{object-fit:cover;width:100%;height:100%}.identity{flex-direction:column;gap:14px;display:flex;position:absolute;top:18%;left:87.4%}.identity strong{letter-spacing:-.015em;font-family:NimbusPortfolio,sans-serif;font-size:1.75rem;line-height:.9}.availability{letter-spacing:.14em;color:#42434b;align-items:center;gap:10px;font-size:.78rem;display:flex}.availability i{background:var(--signal);border-radius:50%;width:11px;height:11px}.location{letter-spacing:.22em;border-top:1px solid #999aa0;padding-top:22px;font-size:.8rem;position:absolute;top:32%;left:87.4%}.manifesto{letter-spacing:.2em;color:#474852;font-size:.68rem;line-height:2.05;position:absolute;top:67%;left:87.4%}.manifesto:after{content:"";background:var(--ink);width:26px;height:1px;margin-top:20px;display:block}.project-band{background:var(--blue);color:#fff;grid-template-columns:1fr 1fr;gap:8vw;min-height:35vh;padding:4.3vh 4.1vw 4vh;display:grid}.project-band h2{letter-spacing:-.02em;align-self:center;margin:0;font-family:NimbusPortfolio,sans-serif;font-size:clamp(4.5rem,6.2vw,6.2rem);line-height:.82}.project-index{grid-template-rows:repeat(3,1fr);align-self:stretch;display:grid}.project-index button{color:#fff;text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #ffffff73;grid-template-columns:1fr auto;align-items:center;padding:8px 0;display:grid}.project-index button:first-child{border-top:1px solid #ffffff73}.project-index button>span:first-child{grid-template-columns:190px 1fr;align-items:center;display:grid}.project-index b{font-family:NimbusPortfolio,sans-serif;font-size:2.5rem;line-height:1}.project-index small{letter-spacing:.1em;font-size:.9rem}.project-index button>span:last-child{letter-spacing:.08em;align-items:center;gap:25px;font-size:.9rem;display:flex}.project-index button:hover{color:var(--blue);background:#fff;padding-inline:18px;transition:background .22s ease-out,color .22s ease-out,padding .22s ease-out}.project-index button.active b{text-underline-offset:7px;text-decoration:underline;text-decoration-thickness:3px}@media (width<=900px){.site-header{justify-content:space-between;height:76px;padding:0 22px;display:flex;position:relative}.brand{font-size:1.35rem}.menu{background:0 0;border:0;gap:6px;padding:10px;display:grid}.menu i{background:var(--ink);width:23px;height:2px}.site-header nav{z-index:20;background:var(--paper);border:1px solid #d8dbe8;flex-direction:column;align-items:flex-start;padding:24px;display:none;position:absolute;top:70px;left:16px;right:16px}.site-header nav.open{display:flex}.header-actions{margin-left:auto;margin-right:8px}.nav-contact{display:none}.hero-frame{flex-direction:column;height:auto;min-height:0;padding:28px 22px 0;display:flex;overflow:visible}.hero-role,.hero-frame h1 span,.hero-summary,.hero-actions,.portrait,.identity,.location,.manifesto{position:static}.hero-role{order:1;margin:22px 0;font-size:.68rem}.hero-role:before{width:28px;margin-right:12px}.hero-frame h1{order:2}.hero-frame h1 span{white-space:normal;font-size:clamp(4rem,22vw,6rem);line-height:.82}.hero-summary{order:3;margin:25px 0;font-size:1.25rem}.portrait{order:0;width:100%;height:430px}.identity{order:4;margin:20px 0}.location{order:5}.manifesto{display:none}.hero-actions{order:6;gap:12px;width:100%;margin:25px 0 44px;display:grid}.primary-action{min-width:0}.resume-action{justify-content:center}.project-band{grid-template-columns:1fr;gap:42px;padding:60px 22px}.project-band h2{font-size:clamp(4.1rem,20vw,6rem)}.project-index button>span:first-child{grid-template-columns:1fr}.project-index small{margin-top:6px}.project-index button>span:last-child{font-size:0}.project-index button{min-height:110px}.project-index b{font-size:2rem}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media (width>=901px){.r-headline-ideas,.r-headline-systems{letter-spacing:-.035em}.r-headline-ideas{font-size:clamp(5rem,7.8vw,8rem);top:22%}.r-headline-systems{font-size:clamp(5rem,7.8vw,8rem);top:39%}.project-band h2{white-space:nowrap;font-size:clamp(3.7rem,5.15vw,5.3rem)}.project-index button.active{color:var(--blue);background:#fff}.project-index button.active b{text-decoration:none}.r-location{top:39%}}.identity .hero-role{letter-spacing:.15em;max-width:15rem;margin-top:.7rem;font-size:.62rem;line-height:1.45;position:static}.identity .hero-role:before{display:none}.project-index small{align-items:center;gap:1rem;display:flex}.project-index small:before{content:"";opacity:.55;background:currentColor;width:3.2rem;height:1px}.project-index button,.project-index button:hover{padding-inline:18px;transition:color .2s ease-out,background-color .2s ease-out}.project-detail,.expertise,.profile,.work,.contact{padding-inline:4.1vw}.project-detail{color:var(--paper);background:var(--blue);grid-template-columns:minmax(280px,.72fr) minmax(460px,1.28fr);gap:8vw;padding-block:8rem;animation:.5s cubic-bezier(.2,.75,.2,1) both detail-in;display:grid}.project-detail-intro>p,.project-detail-intro>strong,.project-stack{text-transform:uppercase;letter-spacing:.12em;font-size:.72rem}.project-detail-intro h2{letter-spacing:-.025em;text-transform:uppercase;overflow-wrap:anywhere;max-width:8ch;margin:1.3rem 0 .8rem;font-family:NimbusPortfolio,sans-serif;font-size:clamp(3.8rem,6vw,6.6rem);font-weight:700;line-height:.82}.project-detail-intro strong{color:#f1d0b2}.project-description{letter-spacing:-.035em;max-width:33ch;margin:0 0 3.6rem;font-size:clamp(1.3rem,1.75vw,1.9rem);line-height:1.08}.project-detail ol{margin:0;padding:0;list-style:none}.project-detail li{border-top:1px solid #ffffff47;grid-template-columns:4.5rem 1fr;gap:1rem;padding:1.15rem 0;line-height:1.45;display:grid}.project-detail li:last-child{border-bottom:1px solid #ffffff47}.project-detail li span{color:#f1d0b2;font-family:monospace}.project-stack{color:#f1d0b2;margin:2rem 0;line-height:1.8}.project-detail-body>a{color:#fff;border-bottom:2px solid #fff;align-items:center;gap:1rem;padding-bottom:.45rem;font-weight:700;text-decoration:none;display:inline-flex}.project-detail-body>a svg{fill:none;stroke:currentColor;stroke-width:1.7px;width:21px}.section-title{border-bottom:1px solid #b7b8bf;grid-template-columns:1.4fr .6fr;align-items:end;gap:8vw;padding-bottom:3.5rem;display:grid}.section-title h2{letter-spacing:-.025em;margin:0;font-family:NimbusPortfolio,sans-serif;font-size:clamp(3.6rem,6.15vw,6.7rem);line-height:.82}.section-title>p{text-transform:uppercase;letter-spacing:.13em;margin:0;padding-bottom:.35rem;font-size:.72rem}.expertise{background:var(--paper);padding-block:8rem 9rem}.expertise-list article{border-bottom:1px solid #b7b8bf;grid-template-columns:38% 62%;padding:2.1rem 0;display:grid}.expertise-list h3{text-transform:uppercase;margin:0;font-family:NimbusPortfolio,sans-serif;font-size:clamp(2.2rem,3.15vw,3.5rem);line-height:.9}.expertise-list p{color:#5f574b;max-width:55ch;margin:.35rem 0 0;line-height:1.65}.profile{color:#fff;background:var(--ink);padding-block:8rem 9rem}.section-title.inverse{border-color:#ffffff57}.section-title.inverse>p{color:#e39867}.profile-grid{grid-template-columns:1fr 1fr;gap:8vw;padding-top:4rem;display:grid}.profile-copy p{letter-spacing:-.02em;max-width:29ch;margin:0 0 1.6rem;font-size:clamp(1.18rem,1.55vw,1.7rem);line-height:1.25}.profile-pillars article{border-top:1px solid #ffffff4d;grid-template-columns:34% 66%;gap:1.5rem;padding:1.55rem 0;display:grid}.profile-pillars article:last-child{border-bottom:1px solid #ffffff4d}.profile-pillars h3{color:#e39867;letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:.76rem}.profile-pillars p{color:#e8dcc4;margin:0;line-height:1.55}.work{background:#e6d8ba;padding-block:8rem 9rem}.work-list article{border-bottom:1px solid #b7b8bf;grid-template-columns:minmax(180px,25%) 1fr;gap:3rem;padding:3rem 0;display:grid}.work-date{color:var(--blue);margin:.35rem 0 0;font-family:monospace}.work-list h3{text-transform:uppercase;margin:0 0 .4rem;font-family:NimbusPortfolio,sans-serif;font-size:clamp(2.15rem,3.1vw,3.5rem);line-height:.9}.work-list strong{color:var(--blue)}.work-list article div>p{max-width:64ch;line-height:1.55}.work-list ul{max-width:70ch;margin:1.4rem 0;padding-left:1.1rem;line-height:1.6}.work-list small{text-transform:uppercase;letter-spacing:.09em;line-height:1.8}.contact{color:#fff;background:var(--blue);padding-block:7rem 6rem}.contact-status{text-transform:uppercase;letter-spacing:.13em;align-items:center;gap:.7rem;font-size:.72rem;display:flex}.contact-status i{background:#f1e7cf;border-radius:50%;width:.62rem;height:.62rem;box-shadow:0 0 0 5px #f1e7cf2e}.contact h2{letter-spacing:-.035em;margin:4rem 0 2.5rem;font-family:NimbusPortfolio,sans-serif;font-size:clamp(4.8rem,10vw,11rem);line-height:.75}.contact>p:not(.contact-status){max-width:42ch;font-size:1.25rem;line-height:1.45}.contact-actions{gap:1rem;margin:3rem 0 5rem;display:flex}.contact-actions a,.contact-actions button{min-height:58px;color:var(--ink);font:inherit;cursor:pointer;background:#fff;border:1px solid #fff;justify-content:space-between;align-items:center;gap:2.5rem;padding:0 1.4rem;font-weight:700;text-decoration:none;display:inline-flex}.contact-actions button{color:#fff;background:0 0}.contact-actions svg{fill:none;stroke:currentColor;stroke-width:1.8px;width:20px}.contact-links{border-top:1px solid #ffffff8c;flex-wrap:wrap;gap:1.2rem 3rem;padding-top:1.4rem;display:flex}.contact-links a{color:#fff;text-underline-offset:.3rem}footer{color:#fff;background:var(--ink);letter-spacing:.1em;text-transform:uppercase;grid-template-columns:1fr auto auto;align-items:center;gap:3rem;min-height:112px;padding:0 4.1vw;font-size:.72rem;display:grid}footer strong{font-family:NimbusPortfolio,sans-serif;font-size:1.6rem}@keyframes detail-in{0%{opacity:.4;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}*{scrollbar-width:thin;scrollbar-color:var(--blue) var(--paper)}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--paper)}::-webkit-scrollbar-thumb{background:var(--blue)}.portrait img{filter:grayscale()sepia(.14)contrast(1.04)}.project-index button.active{background:var(--paper);color:var(--ink)}.contact-actions a{background:var(--paper);border-color:var(--paper)}@media (width<=900px){.hero-frame h1 span{font-size:clamp(3.25rem,16.5vw,4.6rem)}.project-detail,.section-title,.profile-grid,.expertise-list article,.work-list article{grid-template-columns:1fr}.project-detail,.expertise,.profile,.work,.contact{padding-inline:22px}.project-detail{gap:3rem;padding-block:5rem}.project-detail-intro h2{font-size:clamp(3.5rem,17vw,4.8rem)}.project-description{font-size:1.25rem}.section-title{gap:1.6rem;padding-bottom:2rem}.section-title h2{font-size:clamp(3.4rem,15.5vw,4.8rem)}.expertise,.profile,.work{padding-block:5rem}.expertise-list article{gap:1.1rem;padding:1.8rem 0}.expertise-list h3{font-size:2.2rem}.profile-grid{gap:2.5rem;padding-top:2.8rem}.profile-pillars article{grid-template-columns:1fr;gap:.7rem}.work-list article{gap:1.2rem;padding:2.4rem 0}.contact h2{overflow-wrap:anywhere;margin-top:3rem;font-size:clamp(4.2rem,20vw,5.6rem)}.contact-actions{flex-direction:column}.contact-actions a,.contact-actions button{width:100%}.contact-links{flex-direction:column}footer{grid-template-columns:1fr;gap:.7rem;padding-block:2rem}.identity .hero-role{z-index:2;color:#fff;background:var(--ink);width:max-content;max-width:calc(100vw - 44px);margin:0;padding:.55rem .7rem;position:absolute;top:424px;left:22px}.project-index small:before{display:none}}@media (prefers-reduced-motion:reduce){.project-detail{animation:none}}
