:root{--paper:#f5f3ed;--ink:#111214;--muted:#666b73;--line:#c9c8c2;--blue:#315cff;--white:#fbfaf6}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}.shell{width:min(1500px,100% - 80px);margin-inline:auto}.site-header{border-bottom:1px solid var(--line);text-transform:uppercase;letter-spacing:.16em;grid-template-columns:1fr auto 1fr;align-items:center;min-height:76px;font-size:.69rem;font-weight:700;display:grid}.wordmark{letter-spacing:.36em;text-transform:uppercase;font-size:.86rem;font-weight:800}.site-header nav,.footer div{gap:32px;display:flex}.site-header nav a,.footer a,.text-link{transition:color .18s}.site-header nav a:hover,.footer a:hover,.text-link:hover{color:var(--blue)}.availability{align-items:center;gap:9px;display:flex}.header-actions{justify-self:end;align-items:center;gap:24px;display:flex}.language-switcher{color:var(--muted);gap:6px;display:flex}.language-switcher a{transition:color .18s}.language-switcher a:hover,.language-switcher a.active{color:var(--ink)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.status-dot{background:var(--blue);border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 5px #315cff17}.hero{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1.7fr) minmax(330px,.7fr);align-items:center;gap:7vw;min-height:720px;padding-block:70px;display:grid}.eyebrow,.project-type{color:var(--muted);letter-spacing:.18em;text-transform:uppercase;margin:0 0 34px;font-size:.68rem;font-weight:700;line-height:1.4}.hero h1{letter-spacing:-.067em;text-transform:uppercase;max-width:1050px;margin:0;font-size:clamp(3rem,5.1vw,6.1rem);line-height:.95}.accent{color:var(--blue)}.hero-intro{max-width:690px;color:var(--muted);margin:34px 0 30px;font-size:clamp(1rem,1.4vw,1.35rem);line-height:1.5}.text-link{text-transform:uppercase;letter-spacing:.16em;border-bottom:1px solid;gap:28px;width:fit-content;padding-bottom:9px;font-size:.68rem;font-weight:800;display:flex}.portrait{aspect-ratio:620/877;isolation:isolate;background:#e4e3de;position:relative;overflow:hidden}.portrait-photo{z-index:1;object-fit:contain;object-position:center}.portrait:before{content:"";z-index:-1;background:#202226;border-radius:50% 50% 20% 20%;position:absolute;inset:16% 18% -15%;transform:rotate(-7deg)}.portrait:after{content:"";aspect-ratio:1;background:#b9bab7;border-radius:50%;width:62%;position:absolute;top:11%;left:19%;box-shadow:0 0 0 1px #1112141f}.portrait-orbit{border:1px solid #11121440;border-radius:50%;width:108%;height:108%;position:absolute;top:-42%;right:-48%}.portrait-label{color:var(--white);letter-spacing:.16em;text-transform:uppercase;z-index:2;font-size:.62rem;position:absolute;bottom:19px;left:20px}.portrait-meta{letter-spacing:.18em;text-transform:uppercase;z-index:2;gap:5px;font-size:.57rem;display:grid;position:absolute;top:20px;right:18px}.section{border-bottom:1px solid var(--line);padding-block:46px 76px}.section-heading{letter-spacing:.19em;text-transform:uppercase;align-items:center;gap:32px;margin-bottom:35px;font-size:.74rem;font-weight:800;display:flex}.section-heading:after{content:"";background:var(--line);flex:1;height:1px}.section-heading p{margin:0}.projects{background:var(--line);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.projects-carousel{margin-top:34px;position:relative}.projects-carousel-viewport{touch-action:pan-y;overflow:hidden}.projects.projects-carousel-track{--carousel-gap:1px;--carousel-step:calc((100% + var(--carousel-gap)) / 3);grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 2 * var(--carousel-gap)) / 3);gap:var(--carousel-gap);will-change:transform;transform:translate(0,0)}.projects-carousel .project,.projects-carousel .project+.project{padding-inline:14px}.carousel-arrow{z-index:4;color:#0000;width:74px;height:auto;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:0;padding:0;font-size:2.3rem;transition:color .18s,background .18s;position:absolute;top:0;bottom:0}.carousel-arrow:hover,.carousel-arrow:focus-visible{color:var(--ink);outline:none}.carousel-arrow:disabled{cursor:default}.carousel-arrow-previous{left:0}.carousel-arrow-next{right:0}.carousel-arrow-previous:hover,.carousel-arrow-previous:focus-visible{background:linear-gradient(90deg,#f5f3ede0,#0000)}.carousel-arrow-next:hover,.carousel-arrow-next:focus-visible{background:linear-gradient(270deg,#f5f3ede0,#0000)}.projects-carousel-track.carousel-next{animation:.65s cubic-bezier(.22,1,.36,1) both carousel-next}.projects-carousel-track.carousel-previous{animation:.65s cubic-bezier(.22,1,.36,1) both carousel-previous}@keyframes carousel-next{0%{transform:translate(0,0)}to{transform:translate3d(calc(-1 * var(--carousel-step)), 0, 0)}}@keyframes carousel-previous{0%{transform:translate3d(calc(-1 * var(--carousel-step)), 0, 0)}to{transform:translate(0,0)}}.project{background:var(--paper);padding:0 28px 0 0}.project+.project{padding-left:28px}.project-visual{height:260px;position:relative;overflow:hidden}.project-visual-link{display:block}.project-visual-link:focus-visible{outline:2px solid var(--blue);outline-offset:4px}.project-visual>span{z-index:2;color:var(--ink);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);letter-spacing:.12em;background:#f5f3edd1;padding:5px 7px;font-size:.7rem;position:absolute;top:18px;left:18px}.project-image{object-fit:cover}.project-page-image{object-fit:contain}.visual-blue{background:#b7c9df}.visual-blue i{background:#e8e6df;width:74%;height:78%;position:absolute;bottom:-32%;right:-7%;transform:rotate(-18deg)}.visual-dark{color:var(--white);background:#292c31}.visual-dark i{border:1px solid #858992;border-radius:50%;width:130%;height:75%;position:absolute;bottom:-45%;left:-25%;box-shadow:0 0 0 24px #373a40,0 0 0 25px #73767c}.visual-grid{background-color:#deddd7;background-image:linear-gradient(#c6c5bf 1px,#0000 1px),linear-gradient(90deg,#c6c5bf 1px,#0000 1px);background-size:34px 34px}.visual-grid i{aspect-ratio:1;background:var(--blue);width:120px;box-shadow:46px -35px 0 -31px var(--paper);border-radius:50%;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.project-copy{padding:26px 3px 8px}.project-copy h2{letter-spacing:-.045em;margin:0 0 14px;font-size:clamp(1.3rem,2vw,2rem)}.project-copy>p:not(.project-type){min-height:72px;color:var(--muted);margin-bottom:28px;line-height:1.55}.project-type{margin-bottom:12px}.skills-grid{border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}.skill-group{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0;padding:28px 24px 38px}.skill-group:nth-child(4n+1){border-left:1px solid var(--line)}.skill-index{color:var(--muted);font-size:.68rem}.skill-group h2{letter-spacing:.13em;text-transform:uppercase;min-height:42px;margin:13px 0 22px;font-size:.8rem;line-height:1.3}.skill-group ul{flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none;display:flex}.skill-group li{border:1px solid var(--line);color:#42464c;font-size:.72rem;line-height:1;transition:border-color .18s,color .18s,background .18s}.skill-group li:not(:has(a)){padding:7px 9px 6px}.skill-group li a,.project-technologies li a{align-items:center;display:flex}.skill-group li a{padding:7px 9px 6px}:is(.skill-group li:has(a):hover,.skill-group li:has(a):focus-within){border-color:var(--blue);background:var(--blue);color:#fff}.skill-group li a:focus-visible,.project-technologies li a:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.about{border-bottom:1px solid var(--line);grid-template-columns:.55fr 1.35fr .8fr;gap:60px;padding-block:95px;display:grid}.about h2,.contact h2{letter-spacing:-.06em;text-transform:uppercase;margin:0;font-size:clamp(2.3rem,4vw,5.2rem);line-height:.98}.about-summary{align-self:end}.about-summary>p{color:var(--muted);margin:0;line-height:1.6}.about-summary .text-link{margin-top:28px}.contact{padding-block:105px 115px}.contact h2{max-width:1000px}.contact>a{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);letter-spacing:-.04em;justify-content:space-between;margin-top:55px;padding:24px 0;font-size:clamp(1.3rem,3vw,3rem);display:flex}.footer{min-height:90px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;grid-template-columns:1fr auto 1fr;align-items:center;font-size:.67rem;display:grid}.footer div{justify-self:end}.page-hero,.project-page-hero{border-bottom:1px solid var(--line);padding-block:110px 90px}.page-hero h1,.project-page-hero h1{letter-spacing:-.067em;text-transform:uppercase;max-width:1250px;margin:0;font-size:clamp(2.8rem,5.6vw,6.4rem);line-height:.95}.project-page-hero h1{overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;width:100%;font-size:clamp(2.8rem,5vw,5.8rem)}.project-digital-coordination-ladder .project-page-hero h1{font-size:clamp(2.4rem,3.5vw,3.75rem)}.project-hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);align-items:end;gap:clamp(60px,9vw,150px);display:grid}.project-hero-title .eyebrow{text-align:left;width:100%;margin-bottom:28px}.project-hero-title{flex-direction:column;align-items:flex-start;min-width:0;display:flex}.project-hero-intro .page-lead{margin:0}.page-lead{max-width:760px;color:var(--muted);margin:45px 0 0 auto;font-size:clamp(1.1rem,1.8vw,1.5rem);line-height:1.55}.about-body{padding-block:90px 110px}.about-copy{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(40px,6vw,96px);width:100%;margin:0 0 120px;display:grid}.about-copy p{letter-spacing:-.045em;margin:0;font-size:clamp(1.7rem,3vw,3.25rem);line-height:1.15}.career-timeline{isolation:isolate;border-top:1px solid var(--ink);grid-template-columns:minmax(190px,.42fr) minmax(0,1.58fr);gap:clamp(48px,7vw,120px);margin-bottom:140px;display:grid}.career-rail{position:relative}.career-rail-sticky{flex-direction:column;min-height:calc(100vh - 56px);padding:32px 0;display:flex;position:sticky;top:28px}.career-rail .eyebrow{color:var(--ink);margin-bottom:0}.career-counter{align-items:baseline;gap:8px;margin:auto 0 24px;display:flex}.career-counter strong{letter-spacing:-.08em;font-size:clamp(3.2rem,5vw,5.5rem);line-height:.9}.career-counter span{color:var(--muted);letter-spacing:.12em;font-size:.72rem}.career-progress{background:var(--line);transform-origin:top;width:1px;position:absolute;top:105px;bottom:92px;right:0;overflow:hidden}.career-progress span{background:var(--blue);transform:scaleY(var(--career-progress));transform-origin:top;transition:transform .5s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0}.career-dots{flex-direction:column;justify-content:space-between;display:flex;position:absolute;top:105px;bottom:92px;right:-5px}.career-dots button{border:1px solid var(--line);background:var(--paper);cursor:pointer;border-radius:50%;width:11px;height:11px;padding:0;transition:border-color .18s,background .18s,transform .18s}.career-dots button:focus-visible,.career-dots button.active{border-color:var(--blue);background:var(--blue);outline:none;transform:scale(1.2)}.career-scroll-hint{color:var(--muted);letter-spacing:.16em;text-transform:uppercase;gap:12px;margin:0;font-size:.62rem;font-weight:700;display:flex}.career-scroll-hint span{color:var(--blue)}.career-lanes{min-width:0}.career-lane-labels{z-index:4;background:var(--paper);border-bottom:1px solid var(--ink);grid-template-columns:repeat(2,minmax(0,1fr));display:grid;position:sticky;top:0}.career-lane-labels span{letter-spacing:.18em;text-transform:uppercase;padding:25px 28px 20px;font-size:.66rem;font-weight:800}.career-lane-labels span+span{border-left:1px solid var(--line)}.career-entries{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(var(--career-rows), minmax(480px, 62vh));background:var(--paper);display:grid}.career-row-guide{z-index:2;pointer-events:none;border-bottom:1px solid var(--line);grid-column:1/-1}.career-entry{background:var(--paper);flex-direction:column;justify-content:center;min-width:0;padding:clamp(36px,4vw,68px) clamp(24px,3vw,48px);display:flex;position:relative}.career-entry-education{border-left:1px solid var(--line)}.career-entry-inner{flex-direction:column;gap:46px;min-width:0;display:flex}.career-entry-spanning{z-index:3;background:0 0;justify-content:flex-start;padding:0}.career-entry-spanning:after{content:"";z-index:4;background:var(--paper);pointer-events:none;height:2px;position:absolute;top:calc(50% - 1px);left:0;right:0}.career-entry-spanning .career-entry-inner{z-index:3;background:var(--paper);background-clip:content-box;padding:clamp(36px,4vw,68px) clamp(24px,3vw,48px);position:sticky;top:62px}.career-entry-meta{letter-spacing:.14em;text-transform:uppercase;grid-template-columns:1fr auto;gap:10px;font-size:.67rem;font-weight:700;display:grid}.career-entry-meta span:last-child{color:var(--muted);text-align:right}.career-entry-copy>p:first-child{color:var(--blue);letter-spacing:.14em;text-transform:uppercase;margin:0 0 18px;font-size:.68rem;font-weight:800}.career-entry-copy{min-width:0;container-type:inline-size}.career-entry h2{letter-spacing:-.065em;text-transform:uppercase;overflow-wrap:anywhere;max-width:min(620px,100%);margin:0;font-size:clamp(1.7rem,8cqi,3.2rem);line-height:.97}.career-description{max-width:710px;color:var(--muted);margin:30px 0 34px;font-size:clamp(.94rem,1.15vw,1.12rem);line-height:1.55}.career-entry ul{gap:11px;margin:0;padding:0;list-style:none;display:grid}.career-entry li{letter-spacing:.045em;text-transform:uppercase;padding-left:24px;font-size:.72rem;line-height:1.45;position:relative}.career-entry li:before{content:"";background:var(--blue);width:9px;height:1px;position:absolute;top:.55em;left:0}.principles-grid{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin:32px 0 70px;display:grid}.principles-grid article{border-right:1px solid var(--line);min-height:285px;padding:28px}.principles-grid article:first-child{border-left:1px solid var(--line)}.principles-grid article>span,.project-back{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;font-size:.68rem}.principles-grid h2{letter-spacing:.11em;text-transform:uppercase;margin:70px 0 18px;font-size:1rem}.principles-grid p{color:var(--muted);margin:0;line-height:1.6}.project-back{width:fit-content;color:var(--ink);margin-bottom:70px;font-weight:700;display:block}.project-source-links{flex-wrap:wrap;gap:18px 28px;margin-top:28px;display:flex}.project-source-link{letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid;width:fit-content;padding-bottom:7px;font-size:.68rem;font-weight:800;display:inline-block}.project-page-gallery{grid-template-columns:minmax(0,1fr);width:min(1500px,100% - 80px);margin:0 auto;display:grid}.project-page-gallery.has-secondary{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.project-page-visual{aspect-ratio:16/9;width:100%;position:relative;overflow:hidden}.project-page-gallery.has-secondary .project-page-visual{aspect-ratio:16/9}.project-video{padding-top:90px}.project-video h2{letter-spacing:.17em;text-transform:uppercase;margin:0 0 22px;font-size:.72rem}.project-video iframe{aspect-ratio:16/9;background:#111318;border:0;width:100%;display:block}.project-video-link{margin-top:18px}.project-page-visual.visual-blue i{background:#e8e6df;width:66%;height:90%;position:absolute;bottom:-34%;right:-5%;transform:rotate(-13deg)}.project-page-visual.visual-dark i{border:1px solid #858992;border-radius:50%;width:120%;height:110%;position:absolute;bottom:-86%;left:-10%;box-shadow:0 0 0 55px #373a40,0 0 0 56px #73767c}.project-page-visual.visual-grid i{aspect-ratio:1;background:var(--blue);width:min(26vw,330px);box-shadow:95px -65px 0 -70px var(--paper);border-radius:50%;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.project-details{grid-template-columns:minmax(180px,.55fr) minmax(0,1.45fr);padding-block:100px;display:grid}.project-details section{grid-column:1/-1;grid-template-columns:subgrid;border-top:1px solid var(--line);gap:50px;padding-block:38px;display:grid}.project-details h2{letter-spacing:.17em;text-transform:uppercase;margin:0;font-size:.72rem}.project-details section>p{letter-spacing:-.025em;max-width:820px;margin:0;font-size:clamp(1.15rem,1.9vw,1.75rem);line-height:1.45}.project-technologies ul{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.project-technologies li{border:1px solid var(--line);height:fit-content;font-size:.78rem}.project-technologies li a{padding:8px 11px}.project-technologies li:not(:has(a)){padding:8px 11px}.project-technologies li:has(a){transition:border-color .18s,color .18s}:is(.project-technologies li:has(a):hover,.project-technologies li:has(a):focus-within){border-color:var(--blue);color:var(--blue)}.next-project{border-top:1px solid var(--ink);justify-content:space-between;align-items:end;padding-block:50px 70px;display:flex}.next-project span{letter-spacing:.17em;text-transform:uppercase;font-size:.68rem}.next-project strong{text-align:right;letter-spacing:-.05em;max-width:75%;font-size:clamp(1.5rem,4vw,4rem)}@media (max-width:1050px){.shell{width:min(100% - 40px,900px)}.hero{grid-template-columns:1fr;min-height:auto}.site-header{grid-template-columns:1fr auto auto}.availability{display:none}.header-actions{margin-left:24px}.portrait{width:min(520px,100%)}.projects.projects-carousel-track{background:var(--line);grid-template-columns:none}.projects-carousel .project,.projects-carousel .project+.project{border-top:0;padding-inline:8px;display:block}.projects-carousel .project-visual{height:190px}.projects-carousel .project-copy h2{font-size:1.2rem}.projects-carousel .project-copy>p:not(.project-type){min-height:110px;font-size:.88rem}.skills-grid{grid-template-columns:repeat(2,1fr)}.skill-group:nth-child(4n+1){border-left:0}.skill-group:nth-child(odd){border-left:1px solid var(--line)}.about{grid-template-columns:1fr 2fr}.about-summary{grid-column:2}}@media (max-width:680px){.shell{width:calc(100% - 28px)}.site-header{grid-template-columns:auto 1fr auto;min-height:66px}.site-header nav{justify-self:center;gap:13px}.availability{display:none}.header-actions{gap:0;margin-left:10px}.language-switcher{font-size:.62rem}.site-header nav a:nth-child(2){display:none}.hero{gap:50px;padding-block:65px 28px}.hero h1{font-size:clamp(2.6rem,10.8vw,4rem)}.portrait{justify-self:end;width:78%}.section{padding-block:34px 55px}.projects-carousel{margin-top:26px}.carousel-arrow{width:52px;font-size:2rem}.projects.projects-carousel-track{--carousel-step:100%;background:0 0;grid-template-columns:none;grid-auto-columns:100%}.projects-carousel .project,.projects-carousel .project+.project{padding:0}.project-visual{height:210px}.project-copy>p:not(.project-type){min-height:auto}.skills-grid{grid-template-columns:1fr}.skill-group,.skill-group:nth-child(4n+1),.skill-group:nth-child(odd){border-left:1px solid var(--line);padding-inline:16px}.skill-group h2{min-height:auto}.about{grid-template-columns:1fr;gap:28px;padding-block:70px}.about-summary{grid-column:1}.contact{padding-block:75px}.footer{grid-template-columns:1fr auto}.footer>span:nth-child(2){display:none}.footer div{gap:15px}.page-hero,.project-page-hero{padding-block:70px 65px}.page-hero h1,.project-page-hero h1{font-size:clamp(2.45rem,10.5vw,4rem)}.project-hero-grid{grid-template-columns:1fr;gap:36px}.project-hero-intro .page-lead{margin:0}.page-lead{margin-top:35px}.about-body{padding-block:65px 80px}.about-copy{grid-template-columns:1fr;gap:1.1em;width:100%;margin-bottom:80px}.career-timeline{grid-template-columns:1fr;gap:0;margin-bottom:95px}.career-rail{z-index:10;background:var(--paper);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 18px 0 var(--paper);position:sticky;top:0}.career-rail-sticky{grid-template-columns:1fr auto;align-items:center;min-height:auto;padding:18px 0;display:grid;position:relative}.career-counter{margin:0}.career-counter strong{font-size:1.8rem}.career-progress{width:auto;height:2px;inset:auto 0 0}.career-progress span{transform:scaleX(var(--career-progress));transform-origin:0}.career-dots,.career-scroll-hint,.career-lane-labels{display:none}.career-entries{background:0 0;display:block}.career-entry{z-index:0;grid-template-columns:1fr;align-content:center;gap:42px;min-height:76vh;padding:70px 0;display:grid;position:relative;transform:none}.career-row-guide{display:none}.career-entry-education{border-left:0}.career-entry-spanning{padding:70px 0}.career-entry-spanning:after{display:none}.career-entry-spanning .career-entry-inner{padding:0;position:static}.career-entry-meta{flex-direction:row;justify-content:space-between}.career-entry h2{font-size:clamp(1.85rem,8vw,3rem)}.principles-grid{grid-template-columns:1fr}.principles-grid article,.principles-grid article:first-child{border-left:1px solid var(--line);border-bottom:1px solid var(--line);min-height:auto;padding:25px 16px 35px}.principles-grid article:last-child{border-bottom:0}.principles-grid h2{margin-top:42px}.project-back{margin-bottom:50px}.project-page-gallery{width:calc(100% - 28px)}.project-page-gallery.has-secondary{grid-template-columns:1fr;gap:14px}.project-page-visual,.project-page-gallery.has-secondary .project-page-visual{aspect-ratio:16/9}.project-video{padding-top:60px}.project-details{grid-template-columns:1fr;padding-block:65px}.project-details section{grid-template-columns:1fr;gap:20px}.next-project{align-items:start;gap:25px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition-duration:.01ms!important;animation-duration:.01ms!important}.career-entry{transform:none}}
