@font-face{font-family:Mangro;src:url(/assets/Mangro-DvkEp4Pm.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{--canvas: #ffffff;--paper: #ffffff;--ink: #4c4742;--ink-strong: #4c4742;--muted: #706c65;--soft-muted: #89847a;--line: #e2e2df;--line-strong: #adada8;--accent: #55524c;--warm-accent: #a37665;--champagne: #c6ae91;--mist: #f7f5f0;--reverse: #ffffff;--display: "Mangro", "Nunito", "Helvetica Neue", Arial, sans-serif;--body: "Nunito", "Helvetica Neue", Arial, sans-serif;--max: 1180px;--side: 32px;color:var(--ink);background:var(--canvas);font-family:var(--body);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0;background:var(--canvas)}body,button,a{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.skip-link{position:fixed;top:12px;left:12px;z-index:50;padding:10px 12px;background:var(--ink-strong);color:var(--reverse);opacity:0;transform:translateY(-8px);pointer-events:none}.skip-link:focus-visible{opacity:1;transform:translateY(0);pointer-events:auto}:focus-visible{outline:2px solid var(--ink-strong);outline-offset:4px}.site-header{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:auto 1fr;align-items:center;width:100%;min-height:72px;margin:0 auto;padding:0 max(var(--side),calc((100vw - var(--max)) / 2));border-bottom:1px solid var(--line);background:#fffffff5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.wordmark{color:var(--ink-strong);font-family:var(--body);font-size:1.72rem;font-weight:600;line-height:1;text-transform:lowercase}.nav-links{display:flex;justify-self:end;align-items:center;gap:46px;color:var(--ink);font-size:.84rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.nav-links a,.hire-button,.scroll-cue,.outline-button,.site-footer a{transition-property:color,background-color,transform,opacity;transition-duration:.18s;transition-timing-function:cubic-bezier(.16,1,.3,1)}.parallax-layer,.parallax-image{--parallax-y: 0px;--hover-y: 0px;will-change:transform}.parallax-layer{transform:translate3d(0,var(--parallax-y),0)}.parallax-image{transform:translate3d(0,calc(var(--parallax-y) + var(--hover-y)),0) scale(1.06)}.nav-links a:hover,.site-footer a:hover{color:var(--ink-strong)}.hero{position:relative;display:grid;place-items:center;width:100%;min-height:calc(100vh - 72px);margin:0 auto;padding:118px max(var(--side),calc((100vw - var(--max)) / 2)) 128px;overflow:hidden;border-bottom:1px solid var(--line);background:var(--canvas)}.hero-copy{position:relative;z-index:1;width:100%;max-width:1160px;text-align:center}.hero-orbit{position:absolute;width:470px;height:470px;border:1px solid rgba(137,132,122,.2);border-radius:999px;animation:orbit-breathe 9s ease-in-out infinite alternate;pointer-events:none}.hero-orbit-left{top:-270px;left:-90px}.hero-orbit-right{right:-160px;bottom:-220px}.kicker,.hero-kicker,.card-subtitle,.project-meta span,.project-pager span,.site-footer{color:var(--muted);font-size:.68rem;font-weight:700;line-height:1.35;text-transform:uppercase}.kicker{margin:0 0 24px}.hero-kicker{margin:0 0 34px;color:var(--warm-accent);font-size:.88rem;letter-spacing:0}h1,h2,h3,p{margin-top:0}h1,.detail-heading h1,.work-section-heading h2,.work-group-heading h2,.card-caption h3,.project-showcase h3,.concept-copy h2,.project-meta strong,.project-pager strong,.contact-section h2{color:var(--ink);font-family:var(--display);font-weight:400;letter-spacing:0;text-wrap:balance}h1{max-width:none;margin-bottom:34px;color:var(--ink-strong);font-size:7.25rem;line-height:.92}.hero-note{max-width:850px;margin:0 auto 12px;color:var(--muted);font-size:.95rem;line-height:1.65;text-wrap:pretty}.hero-role{max-width:850px;color:var(--ink-strong);font-size:1.14rem;font-weight:500;line-height:1.75}.hero-actions{display:flex;justify-content:center;gap:18px;margin-top:44px}.primary-action,.secondary-action{display:inline-grid;min-width:176px;min-height:52px;place-items:center;border:1px solid var(--ink-strong);border-radius:999px;font-size:.86rem;font-weight:800;letter-spacing:0;text-transform:uppercase;transition-property:color,background-color,transform;transition-duration:.18s;transition-timing-function:cubic-bezier(.16,1,.3,1)}.primary-action{background:var(--ink-strong);color:var(--reverse)}.secondary-action{background:transparent;color:var(--ink-strong)}.scroll-cue{position:absolute;bottom:42px;left:50%;z-index:1;display:inline-flex;flex-direction:column;align-items:center;gap:14px;color:var(--soft-muted);font-size:.78rem;font-weight:800;letter-spacing:0;text-transform:uppercase;transform:translate(-50%)}.scroll-cue:after{display:block;width:1px;height:44px;background:var(--champagne);transform-origin:top;animation:scroll-cue-line 1.9s cubic-bezier(.16,1,.3,1) infinite;content:""}.outline-button:hover,.primary-action:hover,.secondary-action:hover{transform:translateY(-2px)}.scroll-cue:hover{transform:translate(-50%,-2px)}.about-section{display:grid;grid-template-columns:360px minmax(0,1fr);gap:84px;align-items:center;width:min(var(--max),calc(100% - var(--side) * 2));margin:0 auto;padding:118px 0 128px;border-bottom:1px solid var(--line)}.portrait-card{display:block;margin:0;min-height:410px;overflow:hidden;border-radius:20px;background:#f4efe6;box-shadow:0 24px 58px #1f1e1b12}.portrait-card img{width:100%;height:460px;object-fit:cover;object-position:center 18%}.about-copy{max-width:820px}.about-copy h2{margin-bottom:26px;color:var(--warm-accent);font-size:1.02rem;font-weight:900;letter-spacing:0;line-height:1.2;text-transform:uppercase}.about-copy p{max-width:740px;margin-bottom:26px;color:var(--ink);font-size:1.06rem;line-height:1.72;text-wrap:pretty}.expertise-tags{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}.expertise-tags span{display:inline-grid;min-height:42px;place-items:center;padding:0 24px;border:1px solid #ddd5c8;border-radius:999px;background:#fffdf8;color:var(--accent);font-size:.82rem;font-weight:700}.work-section,.detail-section,.philosophy,.contact-section{width:min(var(--max),calc(100% - var(--side) * 2));margin:0 auto;border-top:1px solid var(--line)}.work-section{padding:94px 0 116px}.work-section-heading{margin-bottom:76px;text-align:center}.work-section-heading h2{margin:0;color:var(--ink-strong);font-family:var(--body);font-size:5.8rem;font-weight:600;line-height:.98}.project-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:42px 26px;align-items:start}.work-groups{display:grid;gap:96px}.work-group{display:grid;gap:34px}.work-group+.work-group{padding-top:78px;border-top:1px solid var(--line)}.work-group-heading{max-width:none}.work-group-heading h2{margin:0;color:var(--ink-strong);font-family:var(--body);font-size:1.58rem;font-weight:900;line-height:1.1;text-wrap:balance}.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;width:min(940px,100%);margin:0 auto;gap:72px 34px}.portfolio-tile{min-width:0}.portfolio-tile a{display:block}.portfolio-tile.is-logo-tile a{text-align:center}.portfolio-thumb{display:block;width:100%;aspect-ratio:1 / 1;overflow:hidden;background:transparent;transform-origin:center}.portfolio-tile img{width:100%;height:112%;object-fit:cover;transition:filter .22s,transform .52s cubic-bezier(.16,1,.3,1)}.portfolio-tile.is-logo-tile img{width:100%;height:100%;object-fit:contain;transform:scale(.9)}.portfolio-tile a:hover img,.portfolio-tile a:focus-visible img{--hover-y: -4px;filter:saturate(1.04)}.portfolio-tile a:hover .portfolio-thumb,.portfolio-tile a:focus-visible .portfolio-thumb{animation:project-thumb-pulse .76s cubic-bezier(.16,1,.3,1)}.portfolio-tile.is-logo-tile a:hover img,.portfolio-tile.is-logo-tile a:focus-visible img{transform:scale(.9)}.portfolio-tile h3{margin:12px 0 0;color:var(--ink-strong);font-family:var(--body);font-size:1.22rem;font-weight:600;line-height:1.14;text-align:center;text-wrap:balance}.project-showcase-list{display:grid;gap:112px}.project-showcase{display:grid;grid-template-columns:minmax(280px,430px) minmax(420px,1fr);gap:clamp(44px,10vw,170px);align-items:center}.project-showcase-copy{max-width:430px}.project-count{margin-bottom:22px;color:var(--warm-accent);font-size:.78rem;font-weight:900;line-height:1.2;text-transform:uppercase}.project-showcase h3{margin-bottom:20px;color:var(--ink-strong);font-size:2.25rem;line-height:1}.project-showcase-subtitle{margin-bottom:20px;color:var(--ink);font-size:1rem;font-weight:800;line-height:1.45}.project-showcase-copy p:not(.project-count):not(.project-showcase-subtitle):not(.project-showcase-scope){margin-bottom:18px;color:var(--muted);font-size:1.02rem;line-height:1.72;text-wrap:pretty}.project-showcase-scope{margin:26px 0 0;color:var(--ink);font-size:.82rem;font-weight:800;line-height:1.55}.project-slider{position:relative;display:block;width:100%;overflow:hidden;background:#f2f1ef;aspect-ratio:1.46 / 1}.project-slider-track{display:flex;width:100%;height:100%;transition:transform .76s cubic-bezier(.16,1,.3,1)}.project-slider img{width:100%;min-width:100%;height:100%;object-fit:cover;filter:saturate(.82);transition:filter .24s,transform .24s}.project-slider:hover img,.project-slider:focus-visible img{filter:saturate(1)}.project-card{min-width:0}.work-group .project-card{grid-column:span 6;margin-top:0}.work-group .project-grid>.project-card:only-child{grid-column:1 / span 7}.work-group .project-card-1,.work-group .project-card-3{grid-column:1 / span 6}.work-group .project-card-2,.work-group .project-card-4{grid-column:7 / span 6;margin-top:0}.project-card a{position:relative;display:block;width:100%;padding:0;overflow:hidden;border:0;background:transparent}.project-card img{width:100%;height:100%;aspect-ratio:4 / 3;object-fit:cover;filter:saturate(.72);outline:1px solid rgba(31,30,27,.08);outline-offset:-1px;transition-property:filter,transform;transition-duration:.26s;transition-timing-function:cubic-bezier(.16,1,.3,1)}.project-card a:hover img,.project-card a:focus-visible img{filter:saturate(.95);transform:scale(1.015)}.view-label{position:absolute;inset:50% auto auto 50%;min-width:116px;padding:10px 12px;background:var(--paper);color:var(--ink-strong);font-size:.64rem;font-weight:700;text-transform:uppercase;transform:translate(-50%,-50%)}.card-caption{padding-top:16px}.card-caption h3{margin-bottom:4px;color:var(--ink-strong);font-family:var(--body);font-size:1.56rem;font-weight:800;line-height:1.08;text-align:center}.card-caption p{margin-bottom:0}.card-subtitle{margin-bottom:14px}.card-summary{max-width:62ch;margin-bottom:14px;color:var(--muted);font-size:.86rem;line-height:1.66;text-wrap:pretty}.scope-line{color:var(--ink);font-size:.76rem;font-weight:700;line-height:1.55}.project-card-1{grid-column:1 / span 7}.project-card-2{grid-column:8 / span 5;margin-top:64px}.project-card-3{grid-column:1 / span 4}.project-card-4{grid-column:5 / span 8;margin-top:28px}.project-card-5{grid-column:2 / span 5}.project-card-6{grid-column:7 / span 5;margin-top:72px}.project-card-3 img,.project-card-5 img{aspect-ratio:1 / 1.2}.detail-section{padding:48px 0 84px}.portfolio-detail-page{padding-top:34px}.portfolio-detail{width:min(980px,calc(100% - var(--side) * 2));padding-top:56px}.portfolio-detail-intro{display:grid;grid-template-columns:minmax(0,.92fr) minmax(280px,.88fr);gap:80px;align-items:start;margin-bottom:70px}.portfolio-detail-intro h1{margin:0;color:var(--ink-strong);font-family:var(--body);font-size:4.7rem;font-weight:600;line-height:1.03;text-wrap:balance}.portfolio-detail-intro p{margin-bottom:18px;color:var(--ink);font-size:1rem;font-weight:300;line-height:1.68;text-wrap:pretty}.portfolio-hero-figure{margin:0 0 58px}.portfolio-hero-figure a{display:block;aspect-ratio:1 / 1;overflow:hidden}.portfolio-hero-figure img{width:100%;height:112%;object-fit:cover;background:transparent}.portfolio-hero-figure.is-long-form a{aspect-ratio:auto}.portfolio-hero-figure.is-long-form img{height:auto;object-fit:contain;transform:translate3d(0,var(--parallax-y),0)}.portfolio-masonry{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start;margin-bottom:70px}.portfolio-masonry figure{margin:0;aspect-ratio:1 / 1;overflow:hidden}.portfolio-masonry img{width:100%;height:112%;object-fit:cover;background:transparent}.portfolio-masonry figure:nth-child(2) img{aspect-ratio:1 / 1}.portfolio-detail-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-bottom:58px;padding-top:28px;border-top:1px solid var(--line)}.portfolio-detail-meta span{display:block;margin-bottom:8px;color:var(--muted);font-size:.66rem;font-weight:900;text-transform:uppercase}.portfolio-detail-meta strong{display:block;color:var(--ink);font-family:var(--body);font-size:.95rem;font-weight:300;line-height:1.35}.detail-heading{margin-bottom:46px}.detail-heading h1{max-width:830px;margin-bottom:24px;font-size:4.8rem;line-height:.94}.detail-heading p:last-child{max-width:730px;color:var(--muted);font-size:.94rem;line-height:1.7}.detail-stage{position:relative;display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:0;margin-bottom:74px}.detail-figure{margin:0}.detail-figure img{width:100%;height:560px;object-fit:contain;background:#fff;outline:1px solid rgba(31,30,27,.08);outline-offset:-1px}.arrow-control{display:grid;width:48px;height:48px;place-items:center;border:0;background:var(--accent);color:var(--reverse);font-size:1.25rem;transition-property:background-color,transform;transition-duration:.18s}.arrow-control:hover,.project-pager a:hover{background:var(--ink-strong);color:var(--reverse)}.arrow-control:active,.project-pager a:active,.hire-button:active,.outline-button:active,.project-card a:active{transform:scale(.96)}.concept-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:70px;align-items:start;margin-bottom:82px}.concept-copy h2{margin-bottom:18px;color:var(--ink-strong);font-size:2.6rem;line-height:.98}.concept-copy p{max-width:720px;color:var(--muted);font-size:.86rem;line-height:1.72;text-wrap:pretty}.project-meta{display:grid;gap:24px;padding-left:26px;border-left:1px solid var(--line-strong)}.project-meta strong{display:block;margin-top:6px;color:var(--ink);font-size:1.86rem;font-weight:400;line-height:1.02}.supporting-images{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:0 auto 80px}.supporting-images figure{margin:0}.supporting-images img{width:100%;height:350px;object-fit:contain;background:#fff;outline:1px solid rgba(31,30,27,.08);outline-offset:-1px}.project-pager{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.project-pager a{display:block;min-height:138px;padding:26px 0;border:0;background:transparent;color:var(--ink);text-align:left;transition-property:background-color,color,transform;transition-duration:.18s}.project-pager a+a{text-align:right}.project-pager strong{display:block;margin-top:12px;font-family:var(--body);font-size:2rem;font-weight:600;line-height:1.02}.detail-page{padding-top:34px}.back-link{display:inline-flex;width:min(var(--max),calc(100% - var(--side) * 2));margin:0 auto 22px;color:var(--ink-strong);font-size:.68rem;font-weight:700;text-transform:uppercase}.contact-section{display:grid;place-items:center;min-height:310px;padding:62px 0;text-align:center}.contact-section h2{margin-bottom:28px;font-family:var(--body);font-weight:600;font-size:2.6rem;line-height:.98}.outline-button{display:inline-grid;min-width:188px;min-height:42px;place-items:center;border:1px solid var(--line-strong);border-radius:999px;color:var(--ink);font-size:.66rem;font-weight:700;text-transform:uppercase}.site-footer{display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:center;width:min(var(--max),calc(100% - var(--side) * 2));min-height:64px;margin:0 auto;border-top:1px solid var(--line)}.site-footer div{display:flex;justify-content:flex-end;gap:24px}.not-found{display:grid;width:min(var(--max),calc(100% - var(--side) * 2));min-height:calc(100vh - 112px);margin:0 auto;place-content:center start}.not-found h1{max-width:760px}.reveal{opacity:0;transform:translate3d(0,calc(18px + var(--parallax-y, 0px)),0);transition-property:opacity,transform;transition-duration:.72s;transition-timing-function:cubic-bezier(.16,1,.3,1)}.reveal.is-visible{opacity:1;transform:translate3d(0,var(--parallax-y, 0px),0)}@keyframes orbit-breathe{0%{scale:.985}to{scale:1.035}}@keyframes scroll-cue-line{0%{opacity:.28;transform:scaleY(.18)}42%{opacity:1;transform:scaleY(1)}to{opacity:.18;transform:translateY(12px) scaleY(.18)}}@keyframes project-thumb-pulse{0%{scale:1}38%{scale:1.025}to{scale:1}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.parallax-layer,.parallax-image,.reveal,.reveal.is-visible{transform:none!important}}@media(max-width:900px){:root{--side: 20px}.site-header{grid-template-columns:1fr auto;min-height:64px}.nav-links{display:none}.hero{min-height:calc(100vh - 64px);padding-top:86px;padding-bottom:116px}h1{font-size:5rem}.hero-actions{margin-top:34px}.about-section{grid-template-columns:1fr;gap:44px;padding:86px 0 96px}.portrait-card{width:min(360px,100%);min-height:390px}.work-group-heading,.concept-grid{grid-template-columns:1fr;gap:24px}.work-section-heading{margin-bottom:58px}.work-section-heading h2{font-size:4.2rem}.work-group-heading h2{font-size:1.36rem}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:52px 24px}.project-showcase-list{gap:74px}.project-showcase{grid-template-columns:1fr;gap:28px}.project-showcase-copy{max-width:680px}.project-slider{aspect-ratio:1.32 / 1}.portfolio-detail{padding-top:42px}.portfolio-detail-intro{grid-template-columns:1fr;gap:28px;margin-bottom:48px}.portfolio-detail-intro h1{font-size:3.2rem}.portfolio-masonry,.portfolio-detail-meta{grid-template-columns:1fr}.portfolio-masonry figure:nth-child(2) img{aspect-ratio:1 / 1}.project-grid,.supporting-images,.project-pager,.site-footer{grid-template-columns:1fr}.project-card,.project-card-1,.project-card-2,.project-card-3,.project-card-4,.project-card-5,.project-card-6{grid-column:1;margin-top:0}.work-group .project-card,.work-group .project-card-1,.work-group .project-card-2,.work-group .project-card-3,.work-group .project-card-4,.work-group .project-grid>.project-card:only-child{grid-column:1;margin-top:0}.work-groups{gap:86px}.work-group+.work-group{padding-top:72px}.detail-heading h1{font-size:3.45rem}.detail-stage{grid-template-columns:44px 1fr 44px}.detail-figure img{height:420px}.supporting-images img{height:390px}.project-meta{padding-left:0;border-left:0;border-top:1px solid var(--line-strong);padding-top:24px}.project-pager a+a{border-top:1px solid var(--line);text-align:left}.site-footer{gap:14px;padding:22px 0}.site-footer div{justify-content:flex-start}}@media(max-width:520px){:root{--side: 14px}.wordmark{font-size:1.2rem}.hero{min-height:500px;padding-top:68px}h1{font-size:3.28rem}.hero-kicker{margin-bottom:24px;font-size:.76rem}.hero-role{font-size:.98rem}.hero-actions{flex-direction:column;align-items:center;gap:12px}.primary-action,.secondary-action{width:min(230px,100%);min-height:48px}.hero-orbit{width:320px;height:320px}.hero-orbit-left{top:-190px;left:-160px}.hero-orbit-right{right:-200px;bottom:-170px}.about-copy p{font-size:.98rem}.expertise-tags span{width:100%;justify-content:center}.detail-heading h1{font-size:2.08rem}.work-group-heading h2,.project-pager strong{font-size:1.2rem}.work-section-heading h2{font-size:3rem}.portfolio-grid{grid-template-columns:1fr;gap:42px}.portfolio-tile h3{font-size:1.08rem}.portfolio-detail-intro h1{font-size:2.42rem}.portfolio-detail-intro p{font-size:.94rem}.portfolio-hero-figure a,.portfolio-masonry figure{aspect-ratio:1 / 1}.project-showcase h3{font-size:1.72rem}.project-showcase-copy p:not(.project-count):not(.project-showcase-subtitle):not(.project-showcase-scope){font-size:.96rem}.project-slider{aspect-ratio:1 / .86}.contact-section h2,.concept-copy h2{font-size:2.1rem}.detail-stage{grid-template-columns:1fr;gap:10px}.arrow-control{width:100%;height:44px}.detail-figure{order:-1}.detail-figure img,.supporting-images img{height:300px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
