:root{--paper:#fcfbf8;--ink:#151515;--muted:#625b57;--line:#d6cfc7;--red:#ff0048;--yellow:#f4db87;--pink:#a40d64}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible,video:focus-visible{outline:3px solid currentColor;outline-offset:5px}.wrap{max-width:1440px;margin:auto;padding-inline:6vw}.header{position:absolute;z-index:10;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:27px 5vw;color:#fff}.wordmark{font-size:30px;font-weight:800;letter-spacing:-1.8px}.wordmark span{font-size:14px;vertical-align:top;margin-left:5px;letter-spacing:0}nav{display:flex;gap:25px;font-size:14px}nav a:hover,.header-social:hover{opacity:.7}.header-social{font-size:14px}.hero-scene{height:170svh;background:#000;color:#fff}.hero-sticky{position:sticky;top:0;height:100svh;min-height:640px;overflow:hidden;padding:110px 5vw 30px}.hero-kicker{display:flex;justify-content:space-between;font-size:12px;letter-spacing:1.4px}.hero-title{position:relative;z-index:2;margin-top:5vh;pointer-events:none;will-change:transform}h1{font-size:clamp(64px,10.3vw,154px);line-height:.94;letter-spacing:-.06em;margin:0;font-weight:900}h1 span{-webkit-text-stroke:1.5px #fff;color:transparent;white-space:nowrap}.hero-portrait{position:absolute;width:49vw;height:49vh;max-height:530px;right:9vw;top:36%;margin:0;transform:rotate(-7deg);will-change:transform;overflow:hidden}.hero-portrait img{width:100%;height:100%;object-fit:cover}.hero-footer{position:absolute;bottom:30px;left:5vw;right:5vw;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;z-index:3}.hero-footer p{font-size:16px;line-height:1.6}.hero-footer>a{font-size:12px;display:flex;align-items:center;gap:14px}.scroll-line{height:45px;width:1px;background:#fff;display:inline-block}.hero-index{font-size:11px;letter-spacing:1px}.hero-side{position:absolute;right:2vw;top:54%;writing-mode:vertical-rl;font-size:10px;letter-spacing:2px}.section-kicker{display:flex;justify-content:space-between;gap:20px;font-size:12px;letter-spacing:1.5px;font-weight:600}.about{background:var(--yellow);max-width:none;padding-top:75px;padding-bottom:45px}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding-top:65px;padding-bottom:65px}h2{font-size:clamp(55px,7.8vw,112px);line-height:.96;font-weight:800;letter-spacing:-.055em;margin:0}.dot{color:var(--red)}.about-lead{font-size:22px;line-height:1.5;letter-spacing:-.5px}.about-text p{font-size:16px;line-height:1.85;max-width:540px}.about-text .large{font-size:26px;line-height:1.4;font-weight:600;letter-spacing:-.7px;margin:0 0 28px}.underlined{display:inline-block;font-size:14px;border-bottom:1px solid;padding-bottom:7px;margin-top:15px}.career{border-top:1px solid #15151540;display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px;padding-top:27px;font-size:11px;letter-spacing:1px}.photo-section{background:#111;color:#fff;padding-block:85px 95px;overflow:hidden}.photo-heading,.design-heading,.video-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-top:55px}.photo-heading h2 em{font-family:Georgia,serif;font-weight:400;color:var(--yellow)}.photo-heading p,.design-heading p,.video-heading p{font-size:17px;line-height:1.7;max-width:360px}.photo-gallery{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:3vw;align-items:start;padding-block:80px 95px}.photo-panel{position:relative;border:0;padding:0;background:none;display:block;color:#fff;text-align:left;will-change:transform}.photo-panel img{width:100%;height:430px;object-fit:cover;display:block}.photo-panel.second{margin-top:80px}.photo-panel.second img{height:540px}.photo-panel.third{margin-top:25px}.photo-panel span{display:block;font-size:11px;letter-spacing:1px;margin-top:18px}.design-section{background:var(--red);color:#fff;height:230svh}.design-stage{position:sticky;top:0;min-height:740px;height:100svh;overflow:hidden;padding-top:55px}.design-heading{margin-top:30px}.design-heading h2{font-size:clamp(48px,5.8vw,82px)}.design-heading h2 span{font-family:Georgia,serif;font-style:italic;font-weight:400}.design-track{display:flex;gap:5vw;width:max-content;padding-left:6vw;margin-top:35px;will-change:transform}.design-track figure{margin:0;width:39vw;min-width:380px}.design-track img{height:39vh;min-height:280px;max-height:430px;width:100%;object-fit:cover;display:block}.design-track figure:nth-child(2){transform:rotate(3deg)}.design-track figure:nth-child(1){transform:rotate(-2deg)}.design-track .web-project img{object-fit:contain;background:#fff}.design-track figcaption{display:flex;justify-content:space-between;gap:12px;padding-top:18px;font-size:17px}.design-track figcaption span+span{font-size:10px;letter-spacing:1px}.track-hint{display:block;font-size:10px;letter-spacing:1.5px;margin:25px 6vw}.video-section{background:var(--pink);color:#fff;max-width:none;padding-block:85px}.video-heading em{font-family:Georgia,serif;font-weight:400;color:#f5d7ea}.video-heading h2{font-size:clamp(48px,7vw,100px)}.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:60px}.video-grid video{width:100%;aspect-ratio:9/16;object-fit:contain;background:transparent;border:1px solid #ffffff35}.video-grid h3{font-size:16px;font-weight:400;display:flex;justify-content:space-between;gap:10px}.video-grid h3 span{font-size:10px;letter-spacing:1px}.work{padding-block:80px}.section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:45px;gap:30px}.work h2{font-size:clamp(48px,6vw,80px)}.eyebrow{font-size:12px;letter-spacing:1.5px;font-weight:600;margin-bottom:35px}.filters{display:flex;flex-wrap:wrap;gap:5px}.filters button{border:1px solid var(--line);background:transparent;padding:11px 16px;color:var(--ink);font-size:14px}.filters button.active{background:var(--ink);color:white;border-color:var(--ink)}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:38px 30px}.project[hidden]{display:none}.project-image{display:block;border:0;padding:0;width:100%;height:380px;overflow:hidden;background:#eee}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.project-image:hover img{transform:scale(1.025)}.web-image img{object-fit:contain}.project-caption{display:flex;justify-content:space-between;gap:10px;align-items:center;padding-top:18px}.project-caption h3{font-size:18px;font-weight:500;letter-spacing:-.5px;margin:0}.project-caption span{font-size:10px;color:var(--muted);letter-spacing:1px}.text-link{font-size:14px;border-bottom:1px solid;padding-bottom:5px;display:inline-block;margin-top:40px}.contact{background:var(--yellow);padding-block:70px}.contact h2{font-size:clamp(80px,15vw,210px);margin-top:50px;line-height:.88;will-change:transform}.contact h2 em{color:var(--red);font-style:normal}.contact-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:40px;gap:20px}.contact-bottom p{font-size:18px;line-height:1.6}.button{display:inline-flex;background:var(--ink);color:#fff;padding:19px 28px;font-size:15px;transition:background .2s}.button:hover{background:var(--red)}footer{display:flex;align-items:center;gap:30px;padding-block:32px;font-size:13px}footer p{margin-right:auto;color:var(--muted)}dialog{border:0;background:var(--paper);width:min(1000px,94vw);max-height:94vh;padding:20px}dialog::backdrop{background:#000e}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.dialog-head p{font-size:16px}.dialog-head button{border:1px solid var(--line);background:transparent;padding:10px 15px}dialog>img{display:block;max-width:100%;max-height:75vh;margin:auto;object-fit:contain}@media(min-width:1600px){.hero-portrait{width:46vw}.design-stage{padding-top:70px}}@media(max-width:950px){.header-social{display:none}nav{gap:20px}.hero-portrait{width:64vw;right:10vw;top:36%;height:44vh}.photo-panel img{height:340px}.photo-panel.second img{height:400px}.video-grid{gap:15px}.section-head{align-items:start;flex-direction:column}.design-heading p{max-width:250px}.design-track figure{width:57vw}.hero-index{display:none}}@media(max-width:680px){.header{padding:22px 6vw}.wordmark{font-size:26px}nav{gap:18px;font-size:13px}nav a:nth-child(2),nav a:nth-child(3),nav a:nth-child(4){display:none}.hero-scene{height:140svh}.hero-sticky{min-height:610px;padding-top:100px}.hero-kicker{font-size:10px;letter-spacing:1px}.hero-kicker span+span{display:none}.hero-title{margin-top:4vh}h1{font-size:clamp(44px,10.1vw,69px);line-height:1.08;letter-spacing:-.055em}h1 span{-webkit-text-stroke:1px #fff}.hero-portrait{width:85vw;right:7vw;top:37%;height:36vh;max-height:320px;transform:rotate(-6deg)}.hero-footer{bottom:22px;align-items:end}.hero-footer p{font-size:14px;max-width:165px}.hero-footer>a{font-size:10px;max-width:125px}.hero-side{font-size:8px;right:2vw;top:48%}.section-kicker{font-size:10px;letter-spacing:1px}.section-kicker span+span{max-width:150px;text-align:right}.about{padding-top:45px;padding-bottom:30px}.about-layout{grid-template-columns:1fr;gap:30px;padding-block:40px}.about h2{font-size:74px}.about-lead{font-size:20px}.about-text .large{font-size:24px}.career{display:grid;grid-template-columns:1fr 1fr;font-size:9px;line-height:1.5}.photo-section{padding-block:50px 60px}.photo-heading,.design-heading,.video-heading{flex-direction:column;align-items:start;gap:18px;margin-top:35px}.photo-heading h2{font-size:65px}.photo-heading p,.design-heading p,.video-heading p{font-size:16px;margin:0}.photo-gallery{grid-template-columns:1fr 1fr;gap:18px;padding-block:50px}.photo-panel img{height:275px}.photo-panel.second{margin-top:45px}.photo-panel.second img{height:300px}.photo-panel.third{grid-column:1/3;margin-top:20px;width:75%;margin-inline:auto}.photo-panel.third img{height:340px}.photo-panel span{font-size:9px}.design-section{height:auto}.design-stage{position:relative;min-height:0;height:auto;overflow:visible;padding-top:50px;padding-bottom:45px}.design-heading h2{font-size:60px}.design-track{display:grid;gap:40px;width:auto;margin-top:40px;padding-inline:9vw}.design-track figure{width:auto;min-width:0}.design-track img{height:auto;min-height:0;max-height:440px;aspect-ratio:1;object-fit:cover}.design-track figure:nth-child(1){transform:rotate(-2deg)}.design-track figure:nth-child(2){transform:rotate(2deg)}.design-track .web-project img{aspect-ratio:1.45}.design-track figcaption{font-size:16px}.track-hint{display:none}.video-section{padding-block:50px}.video-heading h2{font-size:52px}.video-grid{grid-template-columns:1fr;gap:25px;margin-top:40px}.video-grid video{aspect-ratio:9/16;max-width:380px;margin-inline:auto;display:block}.video-grid article{width:100%;max-width:380px;margin-inline:auto}.work{padding-block:50px}.work h2{font-size:59px}.eyebrow{font-size:10px}.filters button{padding:10px 12px}.work-grid{grid-template-columns:1fr;gap:30px}.project-image{height:auto;aspect-ratio:1.15}.project-caption h3{font-size:16px}.project-caption span{font-size:9px}.contact{padding-block:45px}.contact h2{font-size:21vw;margin-top:40px}.contact-bottom{flex-direction:column;align-items:start;gap:15px;margin-top:25px}.contact-bottom p{font-size:16px}footer{flex-wrap:wrap;gap:20px}footer p{width:calc(100% - 130px);margin-right:0;font-size:11px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-scene{height:100svh;min-height:640px}.design-section{height:auto}.design-stage{position:relative;height:auto;padding-bottom:50px}.design-track{width:auto;display:grid;grid-template-columns:repeat(3,1fr);padding-inline:6vw;gap:25px}.design-track figure{width:auto;min-width:0}.design-track img{min-height:0;height:280px}.track-hint{display:none}*,*:before,*:after{transition:none!important}}@media(max-width:680px) and (prefers-reduced-motion:reduce){.design-track{grid-template-columns:1fr}}

.brand-logo{display:block;width:78px;height:auto;clip-path:circle(40% at 50% 52%)}.header{padding-top:12px;padding-bottom:12px}.about-portrait{margin:32px 0 0;max-width:550px;overflow:hidden}.about-portrait img{display:block;width:100%;height:auto}.hero-title{margin-top:14vh}@media(max-width:680px){.header{padding-top:8px;padding-bottom:8px}.brand-logo{width:65px}.hero-title{margin-top:19vh}.about-portrait{margin-top:25px}}

.album-intro{margin-top:10px;margin-bottom:35px}.album-intro h3{font-size:clamp(28px,3vw,42px);letter-spacing:-1px;font-weight:500;margin:0 0 12px}.album-intro p{font-size:16px;line-height:1.6;color:#ccc}.album-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:38px 25px;margin-bottom:35px}.album-card{display:block}.album-card img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;transition:opacity .2s}.album-card:hover img{opacity:.8}.album-card span{display:block;margin-top:15px;font-size:16px}.album-card small{display:block;font-size:10px;letter-spacing:1px;margin-top:8px;color:var(--yellow)}@media(max-width:680px){.album-grid{grid-template-columns:repeat(2,1fr);gap:25px 16px}.album-card span{font-size:14px;line-height:1.4}.album-card small{font-size:9px}}

.about-portrait{overflow:visible;background:transparent}.about-portrait img{object-fit:contain}

.hero-portrait{overflow:visible;background:transparent}.hero-portrait img{object-fit:contain}.hero-title{margin-top:5vh}@media(max-width:680px){.hero-title{margin-top:4vh}}

.branding-section{padding-block:80px}.branding-section h2{font-size:clamp(42px,6vw,80px)}.branding-group{margin-top:55px}.branding-group h3{font-size:25px;font-weight:500;letter-spacing:-.7px;margin:0 0 25px}.branding-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px 22px}.branding-card button{border:0;padding:0;display:block;width:100%;background:transparent;overflow:hidden}.branding-card img{width:100%;height:auto;display:block;aspect-ratio:800/1048;object-fit:contain;transition:transform .3s}.branding-card button:hover img{transform:scale(1.025)}.branding-card h4{font-size:17px;font-weight:500;margin:17px 0 6px}.branding-card p{font-size:12px;margin:0;color:var(--muted)}@media(max-width:680px){.branding-section{padding-block:50px}.branding-group{margin-top:35px}.branding-grid{grid-template-columns:repeat(2,1fr);gap:25px 15px}.branding-card h4{font-size:15px}.branding-card p{font-size:11px}}

.hero-portrait{z-index:3}.hero-footer{z-index:4}.design-logo-button{display:block;width:100%;border:0;padding:0;background:transparent}.design-logo-button img{object-fit:contain}.design-logo-button:focus-visible{outline:3px solid #fff;outline-offset:5px}

.design-section{background:#fff;color:var(--ink);height:410svh}.design-track{gap:3vw}.design-track figure{width:28vw;min-width:0}.design-track figure:nth-child(1),.design-track figure:nth-child(2),.design-track figure{transform:none}.design-logo-button:focus-visible{outline-color:var(--ink)}.design-logo-button img{object-fit:contain;background:#fff}.design-track figcaption{font-size:16px}.design-track figcaption span+span{font-size:9px}@media(max-width:680px){.design-section{height:auto}.design-track figure{width:auto}.design-track figure:nth-child(1),.design-track figure:nth-child(2){transform:none}}@media(prefers-reduced-motion:reduce){.design-section{height:auto}.design-track figure{width:auto}}

.sites-intro{font-size:17px;line-height:1.6;color:var(--muted)}.sites-grid .project-image{height:auto;aspect-ratio:1024/574}.sites-grid .project-image img{object-fit:contain}.site-visit{font-size:14px;border-bottom:1px solid;padding-bottom:4px;white-space:nowrap}.site-unavailable{font-size:12px;color:var(--muted)}

/* New upright photographer cutout */
.hero-portrait{width:54vw;height:62vh;max-height:740px;right:3vw;top:29%;transform:rotate(-3deg)}
@media(max-width:680px){.hero-portrait{width:90vw;height:44vh;max-height:430px;right:3vw;top:32%;transform:rotate(-3deg)}}
