@font-face{font-family:'DM Sans';font-style:normal;font-weight:100 1000;font-display:swap;src:url('assets/dm-sans.woff2') format('woff2')}
@font-face{font-family:'Instrument Serif';font-style:normal;font-weight:400;font-display:swap;src:url('assets/instrument-serif.woff2') format('woff2')}
@font-face{font-family:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;src:url('assets/instrument-serif-italic.woff2') format('woff2')}
:root{--paper:#f1f0ee;--ink:#111110;--muted:#585653;--rule:rgba(17,17,16,.18);--soft:#e8e4de;--accent:#f17d70;--serif:'Instrument Serif',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 var(--sans);-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{border:0}img{display:block;width:100%}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:.98;letter-spacing:-.035em}em{font-weight:400}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--ink);outline-offset:6px}::selection{background:var(--accent);color:var(--ink)}.wrap{width:calc(100% - 104px);max-width:1440px;margin-inline:auto}.eyebrow{font-size:10px;font-weight:550;letter-spacing:.15em;line-height:1.5}.muted{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-70px;left:20px;z-index:10;background:var(--ink);color:var(--paper);padding:12px}.skip-link:focus{top:12px}.site-header{height:110px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--rule)}.identity{display:flex;gap:14px;align-items:center}.monogram{font-family:var(--serif);font-style:italic;font-size:36px;line-height:1;border:1px solid var(--ink);width:48px;height:48px;border-radius:50%;display:grid;place-items:center;position:relative;padding-right:6px}.monogram>span{position:absolute;right:5px;bottom:6px;font:13px var(--sans)}.wordmark{font-size:10px;line-height:1.5;letter-spacing:.18em;font-weight:600}.site-header nav{display:flex;gap:39px;align-items:center;font-size:12px}.site-header nav a{position:relative}.site-header nav a:not(.contact-link):after{content:'';height:1px;position:absolute;bottom:-6px;left:0;width:0;background:var(--ink);transition:width .2s}.site-header nav a:hover:after{width:100%}.site-header nav a>span{font-size:9px;vertical-align:top;margin-left:4px;color:var(--muted)}.site-header nav .contact-link{border:1px solid var(--ink);border-radius:50px;padding:10px 22px}.site-header nav .contact-link>span{font-size:17px;color:var(--ink);margin-left:20px;vertical-align:middle}.hero{padding-top:43px}.hero-top,.section-top{display:flex;justify-content:space-between;align-items:center}.hero-top .eyebrow:first-child{display:flex;align-items:center;gap:9px}.status-dot{display:block;width:6px;height:6px;border-radius:50%;background:var(--accent)}.hero-intro{display:grid;grid-template-columns:1.6fr 1fr;gap:60px;align-items:start;padding:31px 0 42px}.hero h1{font-size:clamp(30px,3.68vw,57.6px)}.hero h1 em{position:relative}.hero-note{max-width:275px;margin-left:auto;padding-bottom:9px}.tiny-star{font-size:35px;line-height:1;display:block;margin-bottom:20px}.hero-note p{font-size:15px;line-height:1.6}.hero-note .muted{font-size:12px;margin-top:13px}.text-link{font-size:11px;font-weight:550;display:inline-flex;align-items:center;justify-content:space-between;gap:45px;border-bottom:1px solid var(--ink);padding:0 0 9px;margin-top:23px}.text-link span{font-size:18px;transition:transform .2s}.text-link:hover span{transform:translate(3px,3px)}.reel{position:relative;display:block;width:min(100%,890px);margin-inline:auto;padding:0;overflow:hidden;background:#272333;aspect-ratio:16/9;color:var(--paper);text-align:left}.reel img{height:auto;aspect-ratio:16/9;object-fit:contain}.reel-top,.reel-bottom{position:absolute;z-index:1;left:29px;right:29px;display:flex;justify-content:space-between}.reel-top{top:25px}.reel-top .eyebrow{font-size:9px;font-weight:400;letter-spacing:.17em}.reel-bottom{bottom:24px;align-items:end}.reel-title{font:clamp(33px,4vw,60px)/1 var(--serif);letter-spacing:-.025em}.reel-action{font-size:10px;letter-spacing:.12em;font-weight:500}.reel-action>span{font-size:21px;margin-left:17px}.reel-action small{display:block;font-size:8px;font-weight:400;letter-spacing:.12em;opacity:.65;margin-top:5px}.play-disc{display:grid;place-items:center;width:72px;height:72px;border:1px solid rgba(241,240,238,.7);border-radius:50%;position:absolute;z-index:2;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(241,240,238,.1);backdrop-filter:blur(5px);padding-left:3px;font-size:15px;transition:background .2s,color .2s}.reel:hover .play-disc{background:var(--paper);color:var(--ink)}.hero-foot{display:flex;justify-content:space-between;align-items:center;width:min(100%,890px);margin:14px auto 0;font-size:10px;color:var(--muted)}.hero-foot>a{font-size:8px;letter-spacing:.12em}.hero-foot>a span{font-size:15px;margin-left:13px}.work{padding-top:98px}.section-top{padding-top:18px;border-top:1px solid var(--rule)}.work-heading{display:flex;justify-content:space-between;align-items:end;margin:24px 0 36px}.work h2{font-size:70px}.filters{display:flex;gap:8px;align-items:center;padding-bottom:2px}.filters button{background:transparent;border-radius:30px;font-size:11px;padding:8px 16px;transition:background .2s}.filters button.active{background:var(--ink);color:var(--paper)}.filters button:not(.active):hover{background:var(--soft)}.filters sup{font-size:8px;margin-left:5px}.project-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:56px 30px}.project-wide{grid-column:span 7}.project-small{grid-column:span 5}.project-image{padding:0;display:block;position:relative;width:100%;height:clamp(260px,31vw,460px);background:var(--soft);overflow:hidden}.project-image img{height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.22,.61,.36,1)}.project-image:hover img{transform:scale(1.045)}.project[data-id=airtasker] .project-image img{object-fit:contain;background:#0862f4}.project[data-id=elements] .project-image img{object-position:center}.project[data-id=spriggy] .project-image img{object-position:center}.project-index{position:absolute;top:17px;left:18px;font-size:10px;color:white;mix-blend-mode:difference}.project-open{position:absolute;bottom:16px;right:16px;border-radius:50%;background:var(--paper);width:36px;height:36px;display:grid;place-items:center;font-size:23px;transition:transform .2s}.project-image:hover .project-open{transform:rotate(45deg)}.project-caption{display:flex;justify-content:space-between;gap:10px;padding-top:16px}.project-caption h3{font-size:18px;font-weight:450;letter-spacing:-.025em}.project-caption h3 button{background:none;padding:0;line-height:1.4;text-align:left}.project-caption p{font-size:11px;color:var(--muted);margin-top:4px}.project-type{font-size:8px;letter-spacing:.11em;padding-top:5px;white-space:nowrap;color:var(--muted)}.project[hidden]{display:none}.project-grid.filtered .project{grid-column:span 6}.archive{margin-top:53px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.archive summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:26px 0;font-size:15px}.archive summary::-webkit-details-marker{display:none}.archive-action{font-size:9px;letter-spacing:.12em;display:flex;align-items:center;gap:28px}.plus{font-size:24px;font-weight:300;transition:transform .2s}.archive[open] .plus{transform:rotate(45deg)}.archive-list{padding:0 0 22px;display:grid;grid-template-columns:1fr 1fr;gap:0 40px}.archive-list a{display:flex;justify-content:space-between;gap:15px;font-size:13px;border-top:1px solid var(--rule);padding:15px 0}.archive-list a span{font-size:8px;letter-spacing:.06em;color:var(--muted)}.about{background:var(--soft);margin-top:100px;padding:80px 0 72px}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:10%}.about h2{font-size:clamp(56px,6vw,86px);margin-top:39px}.about-mark{font:italic 175px/.8 var(--serif);color:#cfc5bb;margin-top:60px;letter-spacing:-.07em}.about-copy{padding-top:46px}.about-copy .lead{font-size:21px;line-height:1.5;letter-spacing:-.02em;margin-bottom:21px;color:var(--ink)}.about-copy>p{font-size:13px;line-height:1.85;color:var(--muted);margin-bottom:15px}.services{margin-top:33px}.services>div{padding:17px 0 16px 31px;border-top:1px solid var(--rule);position:relative}.services>div>span{position:absolute;left:0;top:23px;font-size:8px;color:var(--muted)}.services h3{font-size:16px;font-weight:450}.services p{font-size:10px;color:var(--muted);margin-top:4px}.contact{padding:84px 0 59px}.contact-heading{display:flex;align-items:center;justify-content:space-between;margin-top:32px}.contact h2{font-size:clamp(32px,4vw,59.2px)}.contact-disc{width:108px;height:108px;border-radius:50%;background:var(--accent);display:grid;place-items:center;font-size:53px;margin-right:3%;transition:transform .25s,background .25s}.contact-disc:hover{transform:rotate(45deg);background:#ea6b5c}.contact-bottom{display:flex;justify-content:space-between;align-items:end;margin-top:41px}.contact-bottom p{font-size:13px;color:var(--muted)}.contact-bottom a{font-size:21px;border-bottom:1px solid var(--ink);padding-bottom:7px;letter-spacing:-.03em}.contact-bottom a span{margin-left:40px}.site-footer{border-top:1px solid var(--rule);display:flex;align-items:center;justify-content:space-between;padding:25px 0 30px}.footer-name{font-family:var(--serif);font-size:23px}.site-footer p,.site-footer>a:last-child{font-size:8px;letter-spacing:.13em;color:var(--muted)}dialog{border:0;background:var(--paper);color:var(--ink);width:min(880px,calc(100% - 40px));padding:0;max-height:90dvh;overflow-y:auto}dialog::backdrop{background:rgba(17,17,16,.7);backdrop-filter:blur(7px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;padding:16px 25px}.dialog-top h2{font-size:32px}.close-dialog{border:1px solid var(--rule);border-radius:50%;background:transparent;width:34px;height:34px;font-size:15px}.dialog-copy{padding:27px 35px 35px}.dialog-copy h2{font-size:57px;margin:12px 0 20px}.dialog-copy>p:not(.eyebrow){font-size:14px;line-height:1.8;max-width:610px;color:var(--muted)}#dialog-image{max-height:54dvh;object-fit:contain;background:var(--soft)}#reel-player{aspect-ratio:16/9;background:var(--ink)}#reel-player iframe{width:100%;height:100%;border:0}.reel-fallback{padding:20px 25px;font-size:11px;color:var(--muted)}.reel-fallback a{border-bottom:1px solid var(--rule);margin-left:8px}
@media(min-width:1600px){.hero-intro{padding-top:45px;padding-bottom:55px}.hero-note{max-width:330px}.hero-note p{font-size:18px}.hero-note .muted{font-size:14px}}
@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.hero-intro{gap:30px}.hero h1{font-size:clamp(27.2px,3.8vw,44px)}.hero-note{max-width:245px}.hero-note p{font-size:13px}.hero-note .muted{font-size:11px}.project-caption{flex-direction:column;gap:2px}.project-type{padding-top:3px}.about-layout{gap:7%}.about-copy .lead{font-size:19px}.work h2{font-size:62px}}
@media(max-width:650px){.wrap{width:calc(100% - 40px)}.site-header{height:86px}.monogram{width:40px;height:40px;font-size:30px}.wordmark{font-size:8px}.identity{gap:9px}.site-header nav{gap:20px;font-size:11px}.site-header nav a>span{display:none}.site-header nav .contact-link{padding:0;border:0;border-bottom:1px solid var(--ink);border-radius:0}.site-header nav a[href='#about']{display:none}.hero{padding-top:27px}.eyebrow{font-size:8px;letter-spacing:.1em}.edition{display:none}.hero-intro{display:block;padding:25px 0 29px}.hero h1{font-size:clamp(25.6px,6vw,39.2px)}.hero-note{max-width:100%;margin:23px 0 0;padding:0}.tiny-star{display:none}.hero-note p{font-size:13px;max-width:265px}.hero-note .muted{margin-top:7px;font-size:11px}.hero-note .text-link{margin-top:17px}.reel-top{left:17px;right:17px;top:16px}.reel-top .eyebrow{font-size:7px}.reel-top .eyebrow:last-child{display:none}.reel-bottom{left:17px;right:17px;bottom:19px;display:block}.reel-title{font-size:28px}.reel-action{display:block;font-size:8px;margin-top:5px}.reel-action small{display:none}.reel-action>span{font-size:15px}.play-disc{width:44px;height:44px;top:43%;font-size:10px}.hero-foot p{font-size:9px}.hero-foot>a{font-size:7px}.hero-foot>a span{margin-left:5px}.work{padding-top:64px}.section-top .eyebrow:last-child{font-size:7px}.work-heading{display:block;margin:24px 0 24px}.work h2{font-size:58px}.filters{margin-top:22px;gap:3px}.filters button{padding:7px 14px;font-size:10px}.project-grid{grid-template-columns:1fr;gap:32px}.project-wide,.project-small,.project-grid.filtered .project{grid-column:span 1}.project-image{height:auto;aspect-ratio:1.3}.project[data-id=airtasker] .project-image{aspect-ratio:1.5}.project-caption{flex-direction:row;gap:12px;padding-top:12px}.project-caption h3{font-size:17px}.project-caption p{font-size:10px}.project-type{font-size:7px;letter-spacing:.05em}.archive{margin-top:36px}.archive summary{font-size:12px;padding:20px 0}.archive-action{font-size:7px;gap:12px}.archive-list{grid-template-columns:1fr}.about{margin-top:64px;padding:42px 0}.about-layout{display:block}.about h2{font-size:61px;margin-top:24px}.about-mark{display:none}.about-copy{padding-top:32px}.about-copy .lead{font-size:19px}.about-copy>p{font-size:12px}.contact{padding:55px 0 35px}.contact-heading{margin-top:25px}.contact h2{font-size:clamp(23.2px,6vw,35.2px)}.contact-disc{width:62px;height:62px;font-size:33px;margin:0}.contact-bottom{display:block;margin-top:28px}.contact-bottom p{font-size:11px}.contact-bottom a{display:inline-block;margin-top:18px;font-size:19px}.site-footer{flex-wrap:wrap;gap:15px;padding:20px 0}.footer-name{font-size:20px}.site-footer p{order:3;width:100%;font-size:7px}.site-footer>a:last-child{font-size:7px}.dialog-copy{padding:24px}.dialog-copy h2{font-size:43px}.dialog-top{padding:15px 20px}.dialog-top .eyebrow{font-size:7px}.reel-fallback a{display:inline-block;margin-left:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Plain introduction and uncluttered reel. */
.intro-greeting{font-size:16px;line-height:1.5}.hero-foot{justify-content:flex-end}
@media(max-width:650px){.intro-greeting{font-size:14px}.hero-note p{max-width:100%}.play-disc{top:50%}.site-footer p{order:0;width:auto}}
