:root{--paper:#f7f6f2;--ink:#191918;--muted:#72716d;--line:#d9d8d2;--gutter:clamp(20px,3.6vw,64px);--content:1600px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:2px solid var(--ink);outline-offset:5px}.wrap{width:min(calc(100% - 2*var(--gutter)),var(--content));margin-inline:auto}.skip-link{position:absolute;left:12px;top:-80px;background:var(--ink);color:#fff;padding:12px;z-index:20}.skip-link:focus{top:12px}.site-header{width:min(calc(100% - 2*var(--gutter)),var(--content));margin:auto;min-height:92px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{font-size:clamp(27px,2.8vw,38px);letter-spacing:-.09em;font-weight:700;line-height:1}.mark{color:#d64529}.site-header nav{display:flex;gap:clamp(20px,3.2vw,48px)}.site-header nav a,.case-kicker,.eyebrow,.section-line,.project-meta,.case-subline,.fact-label,.source-line,.site-footer{font-size:12px;line-height:1.35;letter-spacing:.035em}.site-header nav a{transition:opacity .2s}.site-header nav a:hover{opacity:.48}.hero{min-height:min(790px,calc(100svh - 92px));padding-block:clamp(74px,10vw,170px) 42px;display:flex;flex-direction:column;justify-content:space-between}.eyebrow{text-transform:uppercase;font-weight:600;margin:0}.hero h1{font-size:clamp(72px,10.5vw,184px);line-height:.88;letter-spacing:-.095em;font-weight:600;margin:clamp(70px,10vw,125px) 0 90px;max-width:1400px}.hero h1 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.085em}.hero-bottom{display:flex;justify-content:space-between;align-items:end;gap:30px}.hero-bottom p{font-size:clamp(15px,1.3vw,20px);line-height:1.4;letter-spacing:-.025em;margin:0}.text-link{font-size:13px;border-bottom:1px solid currentColor;padding-bottom:6px;white-space:nowrap}.text-link span{padding-left:30px}.work-section{padding-top:clamp(70px,9vw,140px);padding-bottom:clamp(90px,12vw,180px)}.section-line{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--ink);padding-top:14px;margin-bottom:clamp(32px,5vw,72px);text-transform:uppercase}.section-line h2{font:inherit;font-weight:600;margin:0}.section-line span{color:var(--muted)}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(20px,3vw,48px);row-gap:clamp(65px,9vw,140px)}.project-card{min-width:0}.project-card.featured{grid-column:1/-1}.project-card:nth-child(3n+2){padding-right:clamp(0px,3vw,48px)}.project-card:nth-child(3n+3){padding-left:clamp(0px,3vw,48px);padding-top:clamp(0px,7vw,110px)}.project-thumb{position:relative;overflow:hidden;background:#ebeae6;aspect-ratio:1.3}.featured .project-thumb{aspect-ratio:1.72}.project-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.2,1)}.project-link:hover img{transform:scale(1.025)}.view-indicator{position:absolute;bottom:18px;right:18px;background:var(--paper);padding:10px 13px;font-size:12px;opacity:0;transform:translateY(5px);transition:opacity .25s,transform .25s}.project-link:hover .view-indicator,.project-link:focus-visible .view-indicator{opacity:1;transform:none}.project-meta{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding-top:17px;border-top:1px solid var(--ink);margin-top:16px}.project-meta h3{font-size:clamp(17px,1.7vw,27px);font-weight:500;letter-spacing:-.045em;line-height:1.08;margin:0}.project-meta span{color:var(--muted);flex:none}.about-section{padding-bottom:clamp(120px,14vw,220px)}.about-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(50px,12vw,200px)}.about-lead{font-size:clamp(34px,4.4vw,74px);line-height:1.04;letter-spacing:-.065em;margin:0;font-weight:500;max-width:900px}.about-facts{display:grid;grid-template-columns:1fr 1fr;gap:42px 30px;padding-top:8px}.about-facts>div:last-child{grid-column:1/-1;max-width:300px}.fact-label{display:block;color:var(--muted);text-transform:uppercase;border-top:1px solid var(--line);padding-top:10px}.about-facts p{font-size:15px;line-height:1.5;margin:15px 0 0}.contact-section{border-top:1px solid var(--ink);padding-top:18px;padding-bottom:clamp(100px,12vw,180px)}.contact-section h2{font-size:clamp(76px,11vw,180px);line-height:.95;letter-spacing:-.095em;font-weight:500;margin:clamp(85px,11vw,170px) 0 55px}.contact-link{display:inline-block;border-bottom:1px solid var(--ink);font-size:18px;padding-bottom:8px;transition:opacity .2s}.contact-link:hover{opacity:.5}.site-footer{border-top:1px solid var(--line);margin:0 var(--gutter);padding:22px 0 30px;display:flex;justify-content:space-between;gap:20px;color:var(--muted)}.site-footer a:hover{color:var(--ink)}
/* Case studies */
.case-intro{padding-top:clamp(36px,5vw,75px);padding-bottom:clamp(70px,9vw,135px)}.case-kicker,.case-subline{display:flex;justify-content:space-between;gap:20px;text-transform:uppercase}.case-kicker a{border-bottom:1px solid transparent}.case-kicker a:hover{border-color:currentColor}.case-intro h1{font-size:clamp(64px,9vw,150px);font-weight:500;letter-spacing:-.09em;line-height:.93;max-width:1400px;margin:clamp(80px,10vw,150px) 0 clamp(65px,7vw,110px);overflow-wrap:anywhere}.case-subline{border-top:1px solid var(--ink);padding-top:13px;color:var(--muted)}.case-content{display:flex;flex-direction:column;align-items:center;gap:clamp(54px,7vw,112px);padding-bottom:clamp(80px,10vw,160px)}.case-copy{width:min(780px,calc(100% - 2*var(--gutter)));font-size:clamp(18px,1.8vw,27px);line-height:1.42;letter-spacing:-.025em}.case-copy>*:first-child{margin-top:0}.case-copy>*:last-child{margin-bottom:0}.case-copy h1,.case-copy h2,.case-copy h3{font-size:1.3em;line-height:1.14;letter-spacing:-.045em;margin:1.7em 0 .6em}.case-copy p,.case-copy div{margin-bottom:1em}.case-copy a,.source-line a{text-decoration:underline;text-underline-offset:4px}.case-copy img{height:auto}.case-media,.case-video{width:min(1180px,calc(100% - 2*var(--gutter)));margin:0}.case-media.portrait{width:min(930px,calc(100% - 2*var(--gutter)))}.case-media img{width:100%;height:auto}.case-media figcaption,.case-video figcaption,.collection-caption{font-size:13px;line-height:1.45;color:var(--muted);margin:13px 0 0}.media-collection{width:min(1180px,calc(100% - 2*var(--gutter)));display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,2vw,26px);align-items:start}.media-collection figure{margin:0}.media-collection img{width:100%;height:auto}.collection-caption{width:min(1180px,calc(100% - 2*var(--gutter)));margin-top:-40px}.case-video{width:min(850px,calc(100% - 2*var(--gutter)))}.video-frame{position:relative;width:100%;padding-top:var(--video-ratio);background:#151515}.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.source-line{border-top:1px solid var(--line);padding-top:20px;padding-bottom:clamp(90px,10vw,160px)}.next-project{border-top:1px solid var(--ink);padding-top:16px;padding-bottom:clamp(90px,10vw,160px)}.next-project>a{display:flex;justify-content:space-between;gap:30px;font-size:clamp(44px,6vw,100px);letter-spacing:-.07em;line-height:1.02;margin-top:clamp(50px,7vw,105px);transition:opacity .2s}.next-project>a:hover{opacity:.55}.next-project>a span:last-child{font-size:.7em;flex:none}
.case-details{display:grid;grid-template-columns:1fr 2fr;gap:30px;border-top:1px solid var(--line);padding-top:18px;padding-bottom:60px;font-size:13px}.case-details span{text-transform:uppercase;color:var(--muted)}.case-details p{margin:0;line-height:1.5}
@media(max-width:900px){.hero{min-height:670px}.hero h1{font-size:clamp(66px,10vw,110px)}.about-grid{gap:50px}.case-intro h1{font-size:clamp(62px,9.5vw,100px)}}
@media(max-width:680px){.site-header{min-height:75px}.site-header nav{gap:17px}.site-header nav a{font-size:12px}.hero{min-height:calc(100svh - 75px);padding-top:70px;padding-bottom:30px}.hero h1{font-size:clamp(61px,14vw,95px);margin:60px 0}.hero-bottom{align-items:start}.hero-bottom p{font-size:14px}.work-section{padding-top:85px}.project-grid{grid-template-columns:1fr;row-gap:66px}.project-card.featured{grid-column:auto}.project-card:nth-child(3n+2),.project-card:nth-child(3n+3){padding:0}.project-thumb,.featured .project-thumb{aspect-ratio:1.25}.project-meta h3{font-size:21px}.view-indicator{display:none}.about-grid{grid-template-columns:1fr;gap:55px}.about-facts{gap:34px 20px}.contact-section h2{font-size:clamp(67px,14vw,100px);margin:90px 0 48px}.site-footer{flex-wrap:wrap}.site-footer span:last-child{display:none}.case-intro{padding-top:40px}.case-intro h1{font-size:clamp(60px,13vw,94px);margin:80px 0 80px}.case-content{gap:58px}.case-copy{font-size:18px}.media-collection{gap:10px}.next-project>a{font-size:clamp(44px,9vw,72px)}}
@media(max-width:420px){.hero h1{font-size:clamp(55px,13.8vw,62px)}.hero-bottom{flex-direction:column;gap:35px}.case-intro h1{font-size:clamp(52px,12.8vw,60px)}.media-collection{grid-template-columns:1fr}.site-header nav{gap:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.project-fields{font-size:12px;line-height:1.4;color:var(--muted);margin:8px 0 0}
.cv-intro{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(48px,10vw,150px);align-items:end;padding:clamp(42px,6vw,90px) 0 clamp(95px,12vw,175px)}
.cv-name{font-size:clamp(58px,8vw,128px);font-weight:500;line-height:.91;letter-spacing:-.09em;margin:clamp(45px,7vw,100px) 0 0;max-width:850px;overflow-wrap:anywhere}
.cv-about-copy{font-size:clamp(18px,1.8vw,26px);line-height:1.42;letter-spacing:-.025em;margin:0;max-width:620px}
.cv-section{padding-bottom:clamp(72px,9vw,130px)}
.cv-section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;border-top:1px solid var(--ink);padding:14px 0 27px;text-transform:uppercase}
.cv-section-heading h3{font-size:12px;font-weight:600;line-height:1.35;letter-spacing:.035em;margin:0}
.cv-section-heading span{font-size:12px;color:var(--muted);letter-spacing:.035em}
.cv-entry{display:grid;grid-template-columns:minmax(170px,1fr) minmax(0,3fr);gap:clamp(30px,6vw,88px);border-top:1px solid var(--line);padding:24px 0 30px}
.cv-entry-time{display:flex;flex-direction:column;gap:7px;font-size:14px;line-height:1.4}
.cv-entry-time small{font-size:12px;color:var(--muted)}
.cv-entry-body h4{font-size:clamp(20px,2vw,27px);font-weight:500;line-height:1.15;letter-spacing:-.04em;margin:0}
.cv-company{font-size:16px;line-height:1.4;margin:7px 0 0}
.cv-location{font-size:12px;line-height:1.4;letter-spacing:.025em;color:var(--muted);margin:5px 0 0}
.cv-description{font-size:15px;line-height:1.55;max-width:850px;margin:19px 0 0}
.cv-skills{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:clamp(20px,4vw,55px)}
.cv-skills li{font-size:16px;line-height:1.3;border-bottom:1px solid var(--line);padding:15px 0}
.cv-skills small{display:block;color:var(--muted);font-size:11px;line-height:1.4;margin-top:7px}
@media(max-width:900px){.cv-intro{gap:48px}.cv-entry{grid-template-columns:minmax(140px,1fr) minmax(0,3fr)}.cv-skills{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.cv-intro{grid-template-columns:1fr;gap:40px;padding:48px 0 90px}.cv-name{font-size:clamp(60px,13vw,88px);margin-top:60px}.cv-about-copy{max-width:570px}.cv-section{padding-bottom:74px}.cv-entry{grid-template-columns:1fr;gap:12px;padding:20px 0 25px}.cv-entry-time{flex-direction:row;align-items:baseline;gap:12px}.cv-description{margin-top:15px}.cv-skills{column-gap:20px}}
@media(max-width:420px){.cv-name{font-size:clamp(52px,12.7vw,62px)}.cv-skills{grid-template-columns:1fr 1fr}.cv-skills li{font-size:14px}}
