:root{--red:#dc4b45;--ink:#201e1c;--paper:#f7f5ef;--line:#d6d1c8;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:16px;-webkit-font-smoothing:antialiased}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer;color:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}button{border:0}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:6px}input:focus-visible,textarea:focus-visible{outline:2px solid var(--red);outline-offset:3px}::selection{background:var(--ink);color:var(--paper)}h1,h2,h3,p{margin:0}button{background:none}em{font-family:var(--serif);font-weight:400}img{display:block;max-width:100%}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;top:-80px;left:16px;padding:16px;background:var(--ink);color:white;z-index:100}.skip-link:focus{top:10px}.section-pad{padding:62px 4.5vw 72px}.eyebrow{font-size:12px;line-height:1.5;letter-spacing:.055em;text-transform:uppercase}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:52px}.small-note{font-size:13px}.text-link{display:inline-flex;gap:24px;align-items:center;padding-bottom:9px;border-bottom:1px solid currentColor;font-size:14px}
.site-header{position:absolute;inset:0 0 auto;z-index:5;display:flex;align-items:center;padding:24px 3.2vw;gap:58px;min-height:90px}.small-mark,.footer-mark{font-family:var(--serif);font-weight:bold;letter-spacing:-.08em;font-size:43px;line-height:1}.small-mark span,.footer-mark span{font-size:12px;letter-spacing:0;vertical-align:top;margin-left:6px}.site-header nav{display:flex;gap:27px;font-size:14px}.site-header a:hover{text-decoration:underline;text-underline-offset:5px}.header-contact{margin-left:auto;font-size:14px;display:flex;gap:21px;align-items:center}.header-contact span{font-size:23px}.menu-toggle{display:none}
.hero{height:100svh;min-height:680px;max-height:1100px;position:relative;overflow:hidden;background:var(--red)}.collage{position:absolute;inset:111px -170px 130px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;opacity:.9}.collage-row{display:flex;align-items:center;gap:clamp(65px,7vw,125px);width:max-content;animation:drift 60s linear infinite}.collage-row:nth-child(2){transform:translateX(-120px);animation-name:drift-back;animation-duration:72s}.collage-row:nth-child(3){animation-duration:85s}.collage-tile{height:clamp(100px,12vh,145px);width:clamp(155px,16vw,230px);flex-shrink:0;overflow:hidden;position:relative;background:#211b26}.collage-tile img{width:100%;height:100%;object-fit:cover}.collage-tile:nth-child(4n+2){transform:translateY(15px)}.collage-tile:nth-child(5n){transform:translateY(-10px)}.tile-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:white;font-family:var(--serif);font-size:24px;text-align:center;line-height:.95;text-shadow:0 1px 10px #0009}.tile-ink img{filter:hue-rotate(12deg)}.tile-coffee img{filter:brightness(.75)}.hero-mark{position:absolute;top:49%;left:50%;transform:translate(-50%,-50%);font-family:var(--serif);font-weight:400;font-size:clamp(180px,32vw,530px);line-height:.85;letter-spacing:-.095em;color:#fff9ef;z-index:2;white-space:nowrap;pointer-events:none;padding-right:.06em}.hero-star{font-family:var(--sans);position:absolute;font-size:clamp(30px,5vw,80px);right:-.48em;top:.02em;letter-spacing:0}.hero-bottom{position:absolute;bottom:35px;left:3.2vw;right:3.2vw;display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.hero-bottom p{font-size:18px;line-height:1.35;letter-spacing:-.025em}.hero-bottom a{font-size:13px;display:flex;align-items:center;gap:37px}.hero-bottom a span{font-size:29px}.hero-side{position:absolute;right:20px;top:49%;writing-mode:vertical-rl;letter-spacing:.14em;font-size:9px}
@keyframes drift{to{transform:translateX(-630px)}}@keyframes drift-back{from{transform:translateX(-540px)}to{transform:translateX(-60px)}}
.work-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:64px}.work-intro h2,.about h2,.services h2,.contact h2{font-size:clamp(50px,6.7vw,108px);line-height:1.02;font-weight:400;letter-spacing:-.065em}.work-intro h2 em{letter-spacing:-.045em}.work-intro>p{max-width:355px;font-size:16px;line-height:1.5;margin-bottom:6px}.work-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding:25px 0 34px}.filters{display:flex;gap:26px;flex-wrap:wrap}.filters button{padding:3px 0 8px;font-size:13px;color:#6b655d;border-bottom:1px solid transparent}.filters button[aria-pressed=true]{color:var(--ink);border-bottom-color:var(--ink)}.filters button span{font-size:9px;vertical-align:super;margin-left:4px}.demo-note{font-size:10px;color:#6b655d}.projects-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:48px 26px;align-items:start}.project-card{grid-column:span 7}.project-card:nth-child(4n+2),.project-card:nth-child(4n+3){grid-column:span 5}.project-card:nth-child(even){padding-top:70px}.project-card:has(~.project-card[hidden]),.project-card:has(+.project-card[hidden]){padding-top:0}.project-open{padding:0;display:block;text-align:left;width:100%;position:relative}.card-art{position:relative;overflow:hidden;aspect-ratio:1.38;background:#272122;color:white}.card-art>img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.65,.3,1),filter .7s}.project-open:hover .card-art>img{transform:scale(1.045)}.art-layer{position:absolute;inset:0;padding:7%;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(0deg,#0009,transparent 70%)}.art-label{font-size:10px;letter-spacing:.14em;text-transform:uppercase}.art-title{font-size:clamp(33px,4.3vw,70px);font-weight:400;line-height:.93;letter-spacing:-.05em;max-width:90%}.art-ink .art-title{font-family:var(--serif);font-style:italic;font-size:clamp(47px,6vw,95px)}.art-coffee img{filter:brightness(.7)}.art-coffee .art-title{font-family:var(--serif);font-style:italic;color:#f6dcc2}.art-athlete img{object-position:55% center;filter:brightness(.78) saturate(.8)}.art-athlete .art-title{text-transform:uppercase;font-weight:700;font-size:clamp(32px,4.1vw,65px);max-width:100%}.art-dining .art-title{font-family:var(--serif);font-style:italic}.art-people img{filter:brightness(.75)}.art-people .art-title{font-family:var(--serif)}.art-beauty .art-title{font-family:var(--serif);font-style:italic}.card-arrow{position:absolute;bottom:7%;right:7%;width:40px;height:40px;display:grid;place-items:center;border:1px solid #fff9;border-radius:50%;font-size:23px;transition:background .2s,color .2s}.project-open:hover .card-arrow{background:var(--paper);color:var(--ink)}.card-caption{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;padding-top:14px}.card-caption h3{font-size:15px;line-height:1.4;font-weight:400}.card-caption p{font-size:10px;color:#70695f;line-height:1.5;text-align:right}.card-caption h3 span{display:block;font-size:10px;letter-spacing:.035em;color:#70695f;padding-top:5px}.work-end{border-bottom:1px solid var(--line);padding:55px 0 22px;display:flex;justify-content:space-between;font-size:13px}.work-end a{display:flex;gap:35px}.work-end a:hover{text-decoration:underline}
.about{background:var(--red);padding-top:46px;padding-bottom:80px}.about .section-heading{margin-bottom:36px}.about-symbol{font-size:55px}.about h2{max-width:1000px;font-size:clamp(58px,8.8vw,140px)}.about-bottom{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-top:65px;border-top:1px solid #201e1c55;padding-top:28px}.about-statement{font-size:clamp(25px,3vw,45px);line-height:1.15;letter-spacing:-.04em}.about-bottom>div{max-width:500px}.about-bottom>div>p{font-size:16px;line-height:1.65;margin-bottom:18px}.about .text-link{margin-top:14px}.services{padding-top:64px;padding-bottom:90px}.services h2{margin-bottom:55px}.services-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;display:flex;align-items:center;padding:28px 0;gap:35px;cursor:pointer;font-size:clamp(23px,3.4vw,49px);letter-spacing:-.045em}summary::-webkit-details-marker{display:none}.service-number{align-self:flex-start;font-size:11px;letter-spacing:0;padding-top:8px;width:7vw}.service-plus{margin-left:auto;font-weight:300;transition:transform .25s;font-size:35px}details[open] .service-plus{transform:rotate(45deg)}.service-detail{margin-left:calc(7vw + 35px);padding:0 10vw 32px 0;max-width:810px}.service-detail p{font-size:17px;line-height:1.6;margin-bottom:20px}.service-detail>span{font-size:12px;color:#70695f}
.contact{background:var(--red);padding-top:45px;padding-bottom:40px}.contact .section-heading>span{font-size:45px}.contact h2{font-size:clamp(66px,10.6vw,165px);letter-spacing:-.065em;line-height:.99;margin-bottom:55px}.contact-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-top:30px;border-top:1px solid #201e1c55}.contact-bottom>p{line-height:1.5;font-size:14px}.brief-open{background:var(--ink);color:var(--paper);padding:22px 28px;min-width:260px;display:flex;justify-content:space-between;gap:35px;font-size:14px;transition:background .2s}.brief-open:hover{background:#44302c}.brief-open>span{font-size:22px}.contact-note{margin-top:35px;font-size:11px}.site-footer{padding:45px 4.5vw 25px;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:24px}.footer-mark{font-size:80px}.site-footer>p:not(.prototype-note){font-size:13px}.site-footer>div{justify-self:end;display:flex;gap:35px;font-size:11px}.prototype-note{grid-column:1/-1;padding-top:24px;border-top:1px solid var(--line);font-size:10px;color:#70695f}
dialog{border:0;padding:0;background:var(--paper);color:var(--ink);box-shadow:0 25px 100px #0004;max-height:90svh;overflow-y:auto}dialog::backdrop{background:#171310b8;backdrop-filter:blur(5px)}.dialog-close{position:absolute;top:18px;right:20px;z-index:3;background:var(--paper);padding:9px 13px;display:flex;align-items:center;gap:20px;font-size:12px}.dialog-close span{font-size:25px;line-height:1}.project-dialog{width:min(960px,92vw);max-width:none}.project-visual .card-art{aspect-ratio:1.9}.project-visual .art-title{font-size:clamp(40px,7vw,90px)}.project-body{padding:36px 5% 40px}.project-body h2{font-family:var(--serif);font-weight:400;font-size:clamp(35px,4.5vw,58px);line-height:1.05;letter-spacing:-.04em;margin:15px 0 22px}.project-body>p:not(.eyebrow):not(.project-disclaimer){max-width:650px;font-size:16px;line-height:1.65}.project-meta{margin:30px 0 20px;border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:12px}.project-disclaimer{font-size:11px;line-height:1.6;color:#6b655d}.brief-dialog{width:min(620px,92vw);max-width:none;padding:54px 44px 35px}.brief-dialog h2{font-size:60px;line-height:1;letter-spacing:-.05em;font-weight:400;margin:25px 0}.brief-dialog>p:not(.eyebrow){font-size:14px;line-height:1.5}#brief-form{margin-top:30px}#brief-form label{display:block;font-size:12px;margin:18px 0 9px}#brief-form input,#brief-form textarea{display:block;width:100%;border:1px solid var(--line);border-radius:0;background:transparent;padding:12px;color:var(--ink);font-size:14px;resize:vertical}.brief-download{margin-top:20px;width:100%;padding:16px 18px;background:var(--ink);color:var(--paper);display:flex;justify-content:space-between;font-size:14px}.brief-help{font-size:11px;line-height:1.5;margin-top:14px;color:#6b655d}#brief-status{font-size:13px;line-height:1.5;margin-top:12px}
@media(min-width:1600px){.section-pad{padding-left:max(4.5vw,calc((100vw - 1500px)/2));padding-right:max(4.5vw,calc((100vw - 1500px)/2))}}
@media(max-width:900px){.site-header{gap:35px}.hero{min-height:640px}.collage{inset:120px -170px 150px}.collage-tile{width:170px;height:110px}.hero-mark{font-size:34vw}.work-intro{align-items:flex-start;gap:28px}.work-intro>p{max-width:250px;font-size:14px}.work-toolbar{align-items:flex-start;flex-direction:column;gap:12px}.projects-grid{gap:30px 20px}.project-card:nth-child(even){padding-top:38px}.card-art{aspect-ratio:1.1}.art-title{font-size:4.8vw}.card-caption{flex-direction:column;gap:5px}.card-caption p{text-align:left}.art-ink .art-title{font-size:6.5vw}.art-athlete .art-title{font-size:4.7vw}.about-bottom{gap:35px}.site-footer>div{flex-direction:column;gap:12px}.contact-bottom>p{max-width:300px}}
@media(max-width:600px){.site-header{padding:20px;min-height:78px;gap:0}.small-mark{font-size:35px}.header-contact{margin-left:auto;margin-right:25px;font-size:12px;gap:8px}.menu-toggle{display:flex;gap:9px;align-items:center;font-size:12px;padding:7px 0;order:3}.menu-toggle>span{font-size:17px}.site-header nav{display:none;position:absolute;top:76px;left:16px;right:16px;background:var(--paper);padding:28px;flex-direction:column;gap:25px;box-shadow:0 10px 20px #0002;font-size:24px}.site-header nav.is-open{display:flex}.hero{min-height:630px;max-height:900px;height:94svh}.collage{inset:105px -210px 145px}.collage-row{gap:55px}.collage-tile{width:140px;height:92px}.collage-row:nth-child(2){gap:80px}.hero-mark{font-size:39vw;top:47%}.hero-star{right:-.35em;top:-.35em;font-size:28px}.hero-side{display:none}.hero-bottom{left:20px;right:20px;bottom:27px;align-items:flex-start;flex-direction:column;gap:22px}.hero-bottom p{font-size:18px}.hero-bottom a{font-size:11px;gap:25px}.hero-bottom a span{font-size:23px}.section-pad{padding:38px 20px 45px}.section-heading{margin-bottom:33px}.eyebrow{font-size:10px}.small-note{display:none}.work-intro{display:block;margin-bottom:32px}.work-intro h2{font-size:52px}.work-intro>p{margin-top:25px;font-size:14px;max-width:330px}.work-intro>p br{display:none}.work-toolbar{padding:20px 0 24px}.filters{gap:16px}.filters button{font-size:11px}.demo-note{font-size:9px}.projects-grid{display:block}.project-card{margin-bottom:30px}.project-card:nth-child(even){padding-top:0}.card-art{aspect-ratio:1.28}.art-title{font-size:48px}.art-ink .art-title{font-size:66px}.art-athlete .art-title{font-size:43px}.card-caption{flex-direction:row}.card-caption h3{font-size:14px}.card-caption p{font-size:9px;text-align:right}.art-label{font-size:9px}.card-arrow{width:35px;height:35px;font-size:20px}.work-end{padding-top:5px;font-size:11px;gap:25px;line-height:1.5}.work-end>span{max-width:160px}.work-end a{gap:10px}.about h2{font-size:58px}.about-symbol{font-size:35px}.about-bottom{grid-template-columns:1fr;gap:28px;margin-top:32px}.about-statement{font-size:28px}.about-bottom>div>p{font-size:15px}.about .text-link{font-size:13px}.services h2{font-size:49px;margin-bottom:35px}summary{font-size:26px;gap:16px;padding:24px 0}.service-number{width:16px;font-size:9px}.service-plus{font-size:26px}.service-detail{margin-left:32px;padding-right:5px;padding-bottom:25px}.service-detail p{font-size:14px}.service-detail>span{font-size:10px}.contact h2{font-size:64px;margin-bottom:30px}.contact .section-heading>span{font-size:32px}.contact-bottom{flex-direction:column;align-items:stretch;gap:25px;padding-top:23px}.contact-bottom>p{font-size:13px;max-width:none}.brief-open{width:100%;padding:20px}.contact-note{font-size:10px;line-height:1.5;margin-top:25px}.site-footer{padding:30px 20px 20px;grid-template-columns:1fr 1fr;gap:25px 10px}.footer-mark{font-size:65px}.site-footer>p:not(.prototype-note){font-size:10px;text-align:right}.site-footer>div{grid-column:1/-1;flex-direction:row;justify-content:space-between;justify-self:stretch}.prototype-note{padding-top:20px;font-size:9px}.project-visual .card-art{aspect-ratio:1.05}.project-body{padding:25px}.project-body h2{font-size:38px}.project-meta{flex-direction:column;gap:10px}.project-visual .art-title{font-size:45px}.dialog-close{top:12px;right:12px}.brief-dialog{padding:55px 24px 25px}.brief-dialog h2{font-size:48px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.collage-row{animation:none!important}.card-art>img,.service-plus{transition:none!important}}
@media(min-width:601px){.projects-grid[data-filtered=true] .project-card{grid-column:span 6;padding-top:0}}
@media(max-width:360px){.card-art{aspect-ratio:1.15}.art-title{font-size:41px}.art-ink .art-title{font-size:50px}.art-athlete .art-title{font-size:35px}.card-arrow{width:28px;height:28px;font-size:17px}.contact h2{font-size:55px}}
