:root{--bg:#090909;--text:#fff;--muted:#948a8a;--accent:#ff5b2e;--font-body:var(--font-geist), var(--font-inter), "Helvetica Neue", Arial, sans-serif;--font-head:var(--font-roboto), "Helvetica Neue", Arial, sans-serif;--font-num:var(--font-numerals), var(--font-roboto), sans-serif;--font-nav:var(--font-inter), "Helvetica Neue", Arial, sans-serif;--header-h:64px;--gutter:64px;--num-col:322px;--text-max:866px;--measure:640px;--section-y:80px;--media-gap:10px;--radius:20px;--fs-title:64px;--fs-h2:40px;--fs-h3:32px;--fs-num:60px;--fs-body:18px;--lh-body:28px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;margin:0}img{max-width:100%;display:block}a{color:inherit;text-decoration:none;transition:color .2s ease-out,opacity .2s ease-out}@media (hover:hover){a:hover{color:var(--accent)}}::selection{background:var(--accent);color:var(--bg)}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}h1,h2,h3,p{margin:0;font-weight:400}b{font-weight:700}.skip-link{z-index:1000;background:var(--accent);color:#000;border-radius:8px;padding:8px 16px;position:fixed;top:12px;left:12px;transform:translateY(-200%)}.skip-link:focus-visible{transform:none}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}h1,h2,h3,.num,.lede,.work-meta,figcaption,.quote footer{text-wrap:balance}p,li,blockquote,.interview-meta,.credit{text-wrap:pretty}.site-header,.site-footer{max-width:1440px;padding:24px var(--gutter);justify-content:space-between;align-items:center;margin-inline:auto;display:flex}.site-header{z-index:10;height:var(--header-h);max-width:none;padding-block:0;padding-inline:max(var(--gutter), (100% - 1440px) / 2 + var(--gutter));background:var(--bg);transition:transform .15s ease-out;position:sticky;top:0}.site-header.is-hidden{transform:translateY(-100%)}@media (prefers-reduced-motion:reduce){.site-header{transition:none}}.logo-wordmark{width:271.6px;height:31.626px;-webkit-mask:var(--wordmark) center / contain no-repeat;mask:var(--wordmark) center / contain no-repeat;background:currentColor;display:block}.logo-mark{font-family:var(--font-num);color:var(--text);font-size:42px;line-height:1;display:none}.site-nav{font-family:var(--font-nav);gap:50px;font-size:18px;line-height:normal;display:flex}.footer-nav{gap:48px;width:158px;font-size:20px;line-height:30px;display:flex}.social{align-items:center;gap:32px;display:flex}.social a{margin:-8px;padding:8px;display:flex}.social-icon{width:22px;height:22px;-webkit-mask:var(--icon) center / contain no-repeat;mask:var(--icon) center / contain no-repeat;background:currentColor}.social-icon--email{width:25px;height:25px}.hero{aspect-ratio:2560/1280;object-fit:cover;width:100%;height:auto}main>*{margin-inline:auto}.intro{max-width:1440px;padding:var(--section-y) var(--gutter);flex-direction:column;gap:20px;display:flex}h1{font-family:var(--font-head);font-size:var(--fs-title);line-height:normal}.row{grid-template-columns:var(--num-col) minmax(0, var(--text-max));align-items:start;display:grid}.section{max-width:1440px;padding:var(--section-y) var(--gutter)}.section.follow{padding-top:0}:is(.media,.media-stack,.slide-row,.photo-row,.media-figure,.pair,.screens)+.section.follow{padding-top:var(--section-y)}.intro+.section,.section+.section{padding-top:0}.intro>.row+.row{margin-top:calc(var(--section-y) - 20px)}.sub>.col{grid-column:2}.num{font-family:var(--font-num);font-size:var(--fs-num);color:var(--muted);line-height:75px}.col{flex-direction:column;gap:24px;display:flex}.col>h2+h3{margin-top:-16px}.col.gap-80{gap:80px}h2{min-height:78px;font-family:var(--font-head);font-size:var(--fs-h2);align-items:flex-end;line-height:normal;display:flex}.sub h2{min-height:0}h3{font-family:var(--font-head);font-size:var(--fs-h3);line-height:normal}.body{max-width:var(--measure)}.body p+p,.body blockquote+p{margin-top:var(--lh-body)}.body.tight p+p{margin-top:0}.credit{max-width:var(--measure);font-style:italic}.media-stack{width:min(1312px, 100% - 2 * var(--gutter))}:root{--view-max:calc(100svh - var(--header-h) - 32px)}.media{width:min(1312px, 100% - 2 * var(--gutter), var(--view-max) * var(--natn,99))}.media,.media-stack img{object-fit:cover;border-radius:var(--radius);height:auto}.media-stack>img{width:min(100%, var(--view-max) * var(--natn,99));align-self:center}.media-stack{gap:var(--media-gap);flex-direction:column;display:flex}.pair{gap:var(--media-gap);width:min(100%, var(--view-max) * 2 * var(--arn) + var(--media-gap));grid-template-columns:1fr 1fr;align-self:center;display:grid}.pair img{width:100%;aspect-ratio:var(--ar);border-radius:var(--r,var(--radius))}.triple{gap:var(--media-gap);aspect-ratio:1400/329;grid-template-columns:493.4fr 459.3fr 427.3fr;display:grid}.triple img{border-radius:12px;width:100%;height:100%}@media (max-width:1100px){:root{--gutter:40px;--num-col:160px}}@media (max-width:760px){:root{--gutter:16px;--section-y:56px;--radius:12px;--fs-title:40px;--fs-h2:28px;--fs-h3:24px;--fs-num:40px;--fs-body:17px;--lh-body:26px}.row{grid-template-columns:minmax(0,1fr);row-gap:8px}.sub>.col{grid-column:1}.num{line-height:1.2}h2{min-height:0}.pair{grid-template-columns:1fr;width:100%}.pair img{aspect-ratio:var(--nat);height:auto}.triple{aspect-ratio:auto;grid-template-columns:1fr}.triple img{aspect-ratio:3/2;border-radius:var(--radius);height:auto}.logo-wordmark{display:none}.logo-mark{display:block}.site-nav{gap:24px;font-size:16px}.site-footer{flex-direction:column;gap:24px}.footer-nav{width:auto}}.home{--min-headroom:76px;--intro-peek:0px;--hero-h:max(480px, 100svh - var(--intro-peek));--front-h:min(max(753 / 1440 * 100cqw - 20px, .8 * (var(--hero-h) - var(--header-h))), var(--hero-h) - var(--header-h) - var(--min-headroom));container-type:inline-size}.hero-back,.hero-front-layer{width:100%;height:var(--hero-h)}.hero-back{z-index:0;margin-top:calc(-1 * var(--header-h));background:#2a2a2a;position:sticky;top:0;overflow:hidden}.hero-back img{object-fit:cover;object-position:50% 62%;width:100%;height:100%}.hero-front-layer{z-index:1;margin-top:calc(-1 * var(--hero-h));pointer-events:none;position:relative;overflow:clip}.hero-front{width:auto;height:var(--front-h);opacity:0;transition:opacity .5s cubic-bezier(.22,1,.36,1);position:absolute;bottom:0;left:47.67%;transform:translate(-50%)}.hero-front.is-loaded{opacity:1}.home .about-intro,.home .recent-work{z-index:2;background:var(--bg);border-image:linear-gradient(var(--bg), var(--bg)) fill 0 / 0 / 0 100vw;position:relative}@supports (animation-timeline:scroll()) and (not (-webkit-touch-callout:none)){@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.hero-back{will-change:transform;animation:linear both hero-parallax;animation-timeline:scroll(root);animation-range:0 3000px}}}@keyframes hero-parallax{0%{transform:translate(0,0)}to{transform:translateY(-1650px)}}.hero-front-layer{view-timeline:--hero-front block}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.hero-front{transform-origin:50% 100%;animation:linear both hero-front-depth;animation-timeline:--hero-front;animation-range:exit}}}@keyframes hero-front-depth{0%{transform:translate(-50%)translateY(0)scale(1)}to{transform:translateX(-50%) translateY(calc(var(--hero-h) * .15)) scale(1.04)}}.home{timeline-scope:--hero-front}@supports (animation-timeline:view()){@media (hover:none),(pointer:coarse){@media (prefers-reduced-motion:no-preference){.hero-back{will-change:transform;animation:linear both hero-back-exit;animation-timeline:--hero-front;animation-range:exit}}}}@keyframes hero-back-exit{0%{transform:translate(0,0)}to{transform:translateY(-55%)}}@keyframes hero-text-lift{0%{transform:translate(0,0)}to{transform:translate3d(0, var(--lift), 0)}}@supports (animation-timeline:scroll()) and (not (-webkit-touch-callout:none)){@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.hero-backtext{--lift:-450px;animation:linear both hero-text-lift;animation-timeline:scroll(root);animation-range:0 3000px}}}@supports (animation-timeline:view()){@media (hover:none),(pointer:coarse){@media (prefers-reduced-motion:no-preference){.hero-backtext{--lift:calc(-.15 * var(--hero-h));animation:linear both hero-text-lift;animation-timeline:--hero-front;animation-range:exit}}}}@media (prefers-reduced-motion:reduce){.hero-back{position:relative}.hero-front{transition:none}}.recent-work{flex-direction:column;align-items:center;display:flex}.home-divider{width:min(1312px, 100% - 2 * var(--gutter));margin:calc(var(--section-y) - .5px) 0;border:0;border-top:1px solid var(--muted)}.section-title{--fit:7.8;width:min(1312px, 100% - 2 * var(--gutter));min-height:0;padding-bottom:var(--section-y);display:block}.work-filter{width:min(1312px, 100% - 2 * var(--gutter));flex-wrap:wrap;gap:8px 32px;margin-bottom:56px;display:flex}.section-title:has(+.work-filter){padding-bottom:24px}.work-filter button{font:inherit;font-family:var(--font-nav);color:var(--muted);cursor:pointer;background:0 0;border:0;padding:4px 0;font-size:20px;line-height:30px}.work-filter button:hover{color:var(--accent)}.work-filter button[aria-pressed=true]{color:var(--text);text-underline-offset:6px;text-decoration:underline;text-decoration-thickness:1px}@media (max-width:760px){.work-filter{gap:8px 24px;margin-bottom:40px}.work-filter button{font-size:18px}}.work-list{gap:var(--section-y);width:min(1312px, 100% - 2 * var(--gutter));padding-bottom:var(--section-y);flex-direction:column;display:flex}.work-card{aspect-ratio:1312/656;border-radius:var(--radius);display:block;position:relative;overflow:hidden}.work-card img{object-fit:cover;width:100%;height:100%;transition:transform .6s}.work-item{display:block}.work-item:hover{color:inherit}.work-item:is(:hover,:focus-visible) .work-card img{transform:scale(1.03)}.work-item:focus-visible{outline-offset:8px;border-radius:var(--radius)}.work-caption{flex-direction:column;gap:8px;margin-top:24px;display:flex}.work-title{font-family:var(--font-head);font-size:var(--fs-h3);line-height:normal}.work-title-end{white-space:nowrap}.work-arrow{vertical-align:-.02em;fill:none;width:.75em;height:.75em;stroke:var(--accent);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;opacity:0;margin-left:.3em;transition:opacity .3s ease-out,transform .45s cubic-bezier(.22,1,.36,1);display:inline-block;transform:translate(-.35em)}.work-item:is(:hover,:focus-visible) .work-arrow{opacity:1;transform:none}@media (hover:none){.work-arrow{opacity:1;transform:none}}.work-meta{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:16px;line-height:24px}@media (max-width:760px),(orientation:portrait){.home{--title-block:calc(var(--header-h) + 60px + 1.3 * (100cqw - 2 * var(--gutter)) / 5.6);--front-h:min(130cqw - 20px, 100svh - var(--title-block));--hero-h:max(480px, min(100svh, var(--title-block) + var(--front-h)))}}@media (prefers-reduced-motion:reduce){.work-card img{transition:none}.work-arrow{transition:opacity .2s ease-out;transform:none}}.lede{font-family:var(--font-head);font-size:var(--fs-h2);line-height:normal}.body ul,.body ol{margin:0;padding-left:1.3em}.body li+li,.body li>ul,.body li>ol{margin-top:10px}.body>*+ul,.body>*+ol{margin-top:var(--lh-body)}.body>p+ul,.body>p+ol{margin-top:12px}.body>ul+p,.body>ol+p{margin-top:var(--lh-body)}.figure{width:100%;margin:0}.zoom-hint{display:none}@media (hover:none){.zoom-hint{width:min(1312px, 100% - 2 * var(--gutter));color:var(--muted);text-align:center;margin:8px auto 0;font-size:14px;line-height:20px;display:block}.col>.zoom-hint{width:auto;margin:-16px 0 0}}.zoom-hint+.section.follow{padding-top:var(--section-y)}.zoom-hint+:is(.media,.media-stack,.slide-row,.photo-row,.media-figure){margin-top:var(--media-gap)}.figure--matte img{background:var(--matte);padding:clamp(16px,4%,32px)}.figure img{border-radius:12px;width:100%;height:auto}.figure figcaption{text-align:center;margin-top:12px;font-size:16px;line-height:24px}.figure-pair{grid-template-columns:1fr 1fr;align-items:start;gap:24px;display:grid}.screens{grid-template-columns:repeat(4,1fr);gap:40px 20px;display:grid}.screens img{aspect-ratio:214/393;object-fit:cover;border-radius:16px}.persona{grid-template-columns:180px minmax(0,1fr);align-items:start;gap:32px;display:grid}.persona img{object-fit:cover;border-radius:var(--radius);width:180px;height:180px}@media (max-width:760px){.screens{grid-template-columns:repeat(2,1fr);gap:28px 12px}.figure-pair{grid-template-columns:1fr}.persona{grid-template-columns:1fr;gap:16px}.persona img{width:140px;height:140px}}.about-intro{width:100%;max-width:1440px;padding:var(--section-y) var(--gutter) 0}.about-intro--with-dial{grid-template-columns:minmax(0,1fr) minmax(0,340px);align-items:center;column-gap:64px;display:grid}.about-intro .about-heading{font:inherit;flex-direction:column;gap:20px;display:flex}.about-hello{font-family:var(--font-head);font-size:var(--fs-h3);line-height:normal}.display-title{font-family:Arial, var(--font-arimo), "Helvetica Neue", Helvetica, sans-serif;font-weight:700;font-size:min(83px, calc((100cqw - 2 * var(--gutter)) / var(--fit)));white-space:nowrap;color:var(--accent);line-height:normal}.about-role{--fit:8.3;margin-bottom:20px}.section-title,.about-beyond{color:#0000;-webkit-text-fill-color:transparent;--stroke:min(2px, max(1.5px, .036em));-webkit-text-stroke:var(--stroke) var(--accent)}.about-text{max-width:var(--measure)}.about-page{container-type:inline-size}.about-hero{--u:clamp(.45px, min(1px, 100cqw / 1440, (100svh - var(--header-h) - 48px) / 889), 1px);--about-fs:calc(185 * var(--u));width:min(100%, 1440 * var(--u));padding:max(40px, 85 * var(--u)) 0 calc(49 * var(--u));flex-direction:column;display:flex}.about-tagline{margin-left:calc(312 * var(--u));margin-right:var(--gutter);font-size:max(14px, 20 * var(--u));letter-spacing:.18em;text-transform:uppercase;line-height:1.5}.about-title{z-index:1;margin:calc(-15 * var(--u)) 0 0 calc(142 * var(--u));font-family:Arial, var(--font-arimo), "Helvetica Neue", Helvetica, sans-serif;font-weight:700;font-size:var(--about-fs);white-space:nowrap;color:var(--accent);line-height:normal;position:relative}.about-photo{width:calc(668 * var(--u));height:auto;margin:calc(var(--about-fs) * -.497) 0 0 calc(635 * var(--u))}.about-page .about-intro{padding-bottom:var(--section-y)}.about-intro .about-heading{align-items:flex-start;min-height:0}.about-text p+p{margin-top:var(--lh-body)}.about-divider{width:100%}.about-beyond{--fit:8.55;min-height:0;margin:0 0 20px;display:block}.about-list{max-width:var(--measure);margin:0;padding-left:30px}.about-list li+li{margin-top:var(--lh-body)}.about-page .about-intro:has(.tools){padding-bottom:0}.tools{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 48px;margin:0;display:grid}.tools dt{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:14px;line-height:20px}.tools dd{margin:8px 0 0}@media (max-width:1000px){.tools{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:520px){.tools{grid-template-columns:minmax(0,1fr);gap:20px}}.about-quote{max-width:560px;margin:var(--section-y) auto 0;text-align:center}.about-quote blockquote{margin:0}.about-quote p{font-family:var(--font-head);text-wrap:balance;font-size:28px;line-height:1.4}.about-quote-rest{visibility:hidden}.about-quote-caret{vertical-align:-.12em;width:0;height:1em;display:inline-block;position:relative}.about-quote-caret:after{content:"";background:var(--text);opacity:0;width:2px;position:absolute;top:0;bottom:0;left:1px}.about-quote.is-typing .about-quote-caret:after{opacity:1}.about-quote.is-done .about-quote-caret:after{animation:1s step-end 3 forwards caret-blink}@keyframes caret-blink{50%{opacity:0}to{opacity:0}}.about-quote--hand p{font-family:var(--font-hand), cursive;font-size:32px;font-weight:500;line-height:1.3}.about-quote-word{clip-path:inset(-30% 100% -30% -10%);display:inline-block}.about-quote.is-typing .about-quote-word{animation:pen-write var(--dur) cubic-bezier(.3, .1, .6, 1) var(--delay) forwards}@keyframes pen-write{to{clip-path:inset(-30% -10%)}}.about-quote figcaption{letter-spacing:.18em;text-transform:uppercase;color:var(--muted);opacity:0;margin-top:24px;font-size:16px;line-height:1.5;transition:opacity .6s ease-out .2s,transform .6s ease-out .2s;transform:translateY(6px)}.about-quote.is-done figcaption{opacity:1;transform:none}@media (min-width:1101px){.about-beyond-block{grid-template-columns:minmax(0,699px) minmax(0,1fr);align-items:center;column-gap:64px;display:grid}.about-quote{max-width:460px;margin:0 auto;padding-top:20px}.about-quote p{font-size:32px}.about-quote--hand p{font-size:36px}}@media (max-width:760px){.about-quote p{font-size:24px}.about-quote--hand p{font-size:28px}.about-quote figcaption{font-size:14px}}@media (prefers-reduced-motion:reduce){.about-quote figcaption{transition:none}.about-quote.is-done .about-quote-caret:after{opacity:0;animation:none}.about-quote-word{clip-path:none}.about-quote.is-typing .about-quote-word{animation:none}}.about-list-travel{position:relative}.city-sketches{flex-direction:column;align-items:center;gap:12px;width:max-content;margin:24px 0 0;display:flex}.city-sketches-art{align-items:flex-end;gap:24px;display:flex}.city-sketch{fill:none;width:auto;height:200px;stroke:var(--text);stroke-width:1.35px;stroke-linecap:round;stroke-linejoin:round;display:block;overflow:visible}.city-sketch .is-bold{stroke-width:2.2px}.city-sketch path{stroke-dasharray:1;stroke-dashoffset:1px}.city-sketches.is-drawn .city-sketch path{animation:sketch-draw var(--dur) cubic-bezier(.45, 0, .35, 1) var(--delay) forwards}.city-sketches figcaption{letter-spacing:.18em;text-transform:uppercase;color:var(--muted);opacity:0;font-size:14px;line-height:1.5;transform:translateY(6px)}.city-sketches.is-drawn figcaption{transition:opacity .6s ease-out var(--label-delay), transform .6s ease-out var(--label-delay);opacity:1;transform:none}@keyframes sketch-draw{to{stroke-dashoffset:0}}@media (min-width:1101px){.city-sketches{margin:0;position:absolute;top:50%;left:calc(100% + 120px);transform:translateY(-50%)}.city-sketch{height:260px}}@media (prefers-reduced-motion:reduce){.city-sketch path{stroke-dashoffset:0}.city-sketches.is-drawn .city-sketch path{animation:none}.city-sketches figcaption{opacity:1;transform:none}.city-sketches.is-drawn figcaption{transition:none}}@media (max-width:760px){.about-hero{--u:calc(100cqw / 1440);--about-fs:calc((100cqw - 2 * var(--gutter)) / 5.44);width:100%}.about-tagline{margin-left:var(--gutter);margin-right:var(--gutter);font-size:max(13px, min(20px, (100cqw - 2 * var(--gutter)) / 32.4));text-wrap:balance}.about-title{margin-left:var(--gutter)}.about-photo{width:78cqw;margin-left:auto;margin-right:var(--gutter)}.about-list{padding-left:24px}}.seconds-dial{flex-direction:column;align-items:center;gap:20px;margin:0;display:flex}.seconds-dial-title{--fit:8.9;font-size:min(24px, calc((100cqw - 2 * var(--gutter)) / var(--fit)));text-align:center}.seconds-dial-face{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block;overflow:visible}.seconds-dial-face.is-dragging{cursor:grabbing}.seconds-dial-tick,.seconds-dial-pointer{fill:var(--text)}.seconds-dial-number{fill:var(--text);font-family:Arial, var(--font-arimo), "Helvetica Neue", Helvetica, sans-serif;text-anchor:middle;dominant-baseline:middle;font-size:34px;font-weight:700}@media (max-width:1100px){.about-intro--with-dial{grid-template-columns:minmax(0,1fr) minmax(0,280px);column-gap:40px}}@media (max-width:760px){.about-intro--with-dial{grid-template-columns:minmax(0,1fr);row-gap:48px}.seconds-dial{justify-self:center;width:100%;max-width:300px}.seconds-dial-title{font-size:20px}}.chart-pair{align-items:start;gap:10px;display:grid}.interview{flex-direction:column;gap:16px;display:flex}.interview-meta{max-width:var(--measure)}.quote{max-width:var(--measure);border-left:2px solid var(--muted);margin:0;padding-left:24px}.quote footer{color:var(--muted);margin-top:12px}.floor-plans{grid-template-columns:1fr 1fr;gap:20px;display:grid}.floor-plan{background:#fff;border-radius:12px;justify-content:center;align-items:center;margin:0;padding:24px;display:flex}.floor-plan img{width:100%;height:auto}@media (max-width:760px){.floor-plans{grid-template-columns:1fr}.chart-pair{grid-template-columns:1fr!important}.quote{padding-left:16px}}.manifesto{color:#e0bb7f;max-width:860px;font-family:Copperplate,Copperplate Gothic Bold,Copperplate Gothic,Georgia,serif;font-size:clamp(20px,2.03vw,29.167px);font-variant-caps:small-caps;font-weight:700;line-height:1.3}.manifesto p+p{margin-top:1.3em}.split-rows{gap:var(--section-y);width:min(1312px, 100% - 2 * var(--gutter));flex-direction:column;display:flex}.split{grid-template-columns:minmax(0,1fr) minmax(0,600px);align-items:center;gap:64px;display:grid}.split--reverse{grid-template-columns:minmax(0,600px) minmax(0,1fr)}.split--reverse>.figure{order:-1}@media (max-width:760px){.split,.split--reverse{grid-template-columns:1fr;gap:24px}.split--reverse>.figure{order:0}}.photo-row{gap:var(--media-gap);width:min(1312px, 100% - 2 * var(--gutter));display:grid}.photo-row img{object-fit:cover;border-radius:var(--radius);width:100%;height:100%}.media-figure{width:min(1312px, 100% - 2 * var(--gutter));margin:0 auto}.media-figure .media{width:min(100%, var(--view-max) * var(--natn,99));margin-inline:auto;display:block}.media-figure figcaption{text-align:center;color:var(--muted);margin-top:16px;font-size:16px;line-height:24px}@media (max-width:760px){.photo-row{grid-template-columns:1fr 1fr!important}}.swatches{grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.swatches li{flex-direction:column;gap:4px;display:flex}.swatch{aspect-ratio:1;border-radius:12px;margin-bottom:8px;display:block;box-shadow:inset 0 0 0 1px #ffffff1f}.swatch-name{font-size:16px;line-height:22px}.swatch-hex{letter-spacing:.06em;color:var(--muted);font-size:14px;line-height:20px}@media (max-width:760px){.swatches{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:24px}}.wize-logos{border-radius:var(--radius);grid-template-columns:repeat(5,minmax(0,1fr));display:grid;overflow:hidden}.wize-logos>div{aspect-ratio:384/311;place-items:center;display:grid}.wize-logos svg{width:62%;height:auto}.color-bar{border-radius:var(--radius);min-height:clamp(120px,18cqw,240px);font-family:var(--font-head);font-size:clamp(20px,3.4cqw,48px);line-height:1.2;display:flex;overflow:hidden}.color-bar>div{flex-basis:0;padding:clamp(10px,1.6cqw,24px)}.color-notes{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 48px;margin:24px 0 0;padding:0;list-style:none;display:grid}.color-notes li{flex-direction:column;gap:4px;display:flex}.color-notes p{text-wrap:pretty;margin-top:8px}@media (max-width:760px){.color-notes{grid-template-columns:minmax(0,1fr)}}.image-strip{gap:var(--media-gap);display:flex}.image-strip img{flex-basis:0;width:auto;min-width:0;height:auto}@media (max-width:760px){.image-strip{scroll-snap-type:x mandatory;scrollbar-width:none;overflow-x:auto}.image-strip::-webkit-scrollbar{display:none}.image-strip img{scroll-snap-align:start;flex:none;height:260px}}.phone-row{justify-content:center;gap:clamp(16px,4cqw,56px);padding:clamp(24px,4cqw,56px) 0;display:flex}.phone{background:#1a1a1c;border-radius:44px;flex:0 300px;min-width:0;padding:10px;position:relative;box-shadow:inset 0 0 0 1.5px #4a4a4e,0 24px 48px #00000080}.phone:after{content:"";pointer-events:none;background:#000;border-radius:10px;width:28%;height:20px;position:absolute;top:20px;left:50%;transform:translate(-50%)}.phone-screen{border-radius:34px;overflow:hidden}.phone-row--small{gap:clamp(12px,1.6cqw,24px);padding-top:0}.phone-row--small .phone{border-radius:32px;padding:7px}.phone-row--small .phone:after{height:14px;top:14px}.phone-row--small .phone-screen{border-radius:25px}.media-stack .phone img{aspect-ratio:393/852;object-fit:contain;border-radius:0;width:100%;height:auto;display:block}@media (max-width:760px){.phone-row{scroll-snap-type:x mandatory;scrollbar-width:none;justify-content:flex-start;overflow-x:auto}.phone-row::-webkit-scrollbar{display:none}.phone{scroll-snap-align:center;flex:0 0 68%}.phone-row--small .phone{border-radius:44px;padding:10px}.phone-row--small .phone:after{height:20px;top:20px}.phone-row--small .phone-screen{border-radius:34px}}.competitor-logos{gap:var(--media-gap);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.media-stack .competitor-logos img{aspect-ratio:3/2;object-fit:contain;background:#fff;border-radius:12px;width:100%;height:auto;padding:14% 20%}.clear-space{justify-items:center;padding:clamp(24px,4cqw,56px) 0;display:grid}.clear-space-guide{--x:clamp(20px, 2.6vw, 36px);grid-template:"left top right" calc(1.5 * var(--x)) "left logo right" auto "left bottom right" calc(1.5 * var(--x)) / var(--x) auto var(--x);border:1px solid var(--muted);color:var(--muted);font-size:13px;line-height:1;display:grid}.clear-space-guide>span{place-items:center;display:grid}.cs-top{border-bottom:1px solid var(--muted);grid-area:top}.cs-bottom{border-top:1px solid var(--muted);grid-area:bottom}.cs-left{border-right:1px solid var(--muted);grid-area:left}.cs-right{border-left:1px solid var(--muted);grid-area:right}.cs-logo{color:#fff;grid-area:logo}.cs-logo svg{width:clamp(90px,15vw,210px);height:auto;display:block}.logo-usage{gap:24px var(--media-gap);grid-template-columns:repeat(5,minmax(0,1fr));margin-top:clamp(16px,2cqw,32px);display:grid}.logo-usage figure{margin:0}.logo-usage figcaption{text-wrap:pretty;margin-top:12px;font-size:16px;line-height:22px}.usage-tile,.usage-split{aspect-ratio:3/4;border-radius:12px;overflow:hidden}.usage-tile{place-items:center;display:grid}.usage-tile svg{width:58%;height:auto}.usage-effect svg{filter:drop-shadow(0 6px 8px #000000a6)}.usage-split{grid-template-rows:1fr 1fr;display:grid}.usage-split>span{place-items:center;min-height:0;display:grid}.usage-split svg{width:46%;height:auto}.color-research{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 48px;margin-bottom:clamp(24px,4cqw,56px);display:grid}.color-research-title{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;font-size:14px;line-height:20px}.color-research ul{margin:0;padding:0;list-style:none}.color-research li{border-top:1px solid #ffffff1f;justify-content:space-between;align-items:center;gap:16px;padding:10px 0;display:flex}.color-chips{gap:6px;display:flex}.color-chips i{border-radius:50%;width:20px;height:20px;box-shadow:inset 0 0 0 1px #ffffff59}.type-specimens{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 48px;display:grid}.type-role{font-family:var(--font-body,inherit);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:14px;line-height:20px}.type-name{margin:8px 0 16px;font-size:clamp(40px,5.4cqw,72px);line-height:1.1}.type-glyphs{overflow-wrap:anywhere;font-size:clamp(16px,1.5cqw,20px);line-height:1.6}@media (max-width:760px){.competitor-logos{grid-template-columns:repeat(3,minmax(0,1fr))}.logo-usage{grid-template-columns:repeat(2,minmax(0,1fr))}.color-research,.type-specimens{grid-template-columns:minmax(0,1fr)}}.audit-identity{grid-template-columns:minmax(0, var(--measure)) minmax(0, 660px);justify-content:space-between;align-items:center;gap:32px 48px;display:grid}.audit-identity h2{min-height:0}.logo-tiles{gap:var(--media-gap);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.logo-tiles>div{aspect-ratio:4/3;border-radius:12px;place-items:center;padding:12% 18%;display:grid;overflow:hidden}.logo-tiles img{object-fit:contain;width:100%;height:100%}@media (max-width:1100px){.audit-identity{grid-template-columns:minmax(0,1fr)}}.slide-row{gap:var(--media-gap);width:min(1312px, 100% - 2 * var(--gutter));grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.slide-row img{border-radius:var(--radius);width:100%;height:auto}.slide-row--four{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:760px){.slide-row{grid-template-columns:1fr}.slide-row--four{gap:var(--media-gap);width:auto;padding:0 var(--gutter);scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);scrollbar-width:none;margin-inline:0;display:flex;overflow-x:auto}.slide-row--four::-webkit-scrollbar{display:none}.slide-row--four img{scroll-snap-align:start;flex:0 0 80%}}:is(.media,.media-stack,.slide-row,.photo-row,.media-figure)+:is(.media,.media-stack,.slide-row,.photo-row,.media-figure){margin-top:var(--media-gap)}.facts{margin:4px 0 calc(var(--section-y) - 20px);flex-wrap:wrap;gap:20px 56px;display:flex}.summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 48px;max-width:1312px;margin:12px 0 8px;display:grid}.summary dt{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:14px;line-height:20px}.summary dd{text-wrap:pretty;margin:8px 0 0}@media (max-width:900px){.summary{grid-template-columns:minmax(0,1fr);gap:20px}}.fact{max-width:var(--measure)}.fact dt{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:14px;line-height:20px}.fact dd{font-size:var(--fs-body);line-height:var(--lh-body);margin:4px 0 0}.page-end{width:100%;max-width:1440px;padding-bottom:var(--section-y);flex-direction:column;align-items:center;margin-inline:auto;display:flex;container-type:inline-size}.page-end>.home-divider{margin-top:0}.more-title{--fit:8.95}.contact-title{--fit:5.9}.page-end-body{width:min(1312px, 100% - 2 * var(--gutter));flex-direction:column;align-items:flex-start;display:flex}.more-projects{grid-template-columns:repeat(3,minmax(0,1fr));align-self:stretch;gap:24px;margin:0;padding:0;list-style:none;display:grid}.work-item--small .work-caption{gap:4px;margin-top:16px}.work-item--small .work-title{font-size:24px}.work-item--small .work-meta{font-size:14px;line-height:20px}.work-item--small:focus-visible{outline-offset:6px}.all-work{font-size:var(--fs-body);line-height:var(--lh-body);margin-top:40px}.contact-lede{max-width:var(--measure);font-size:var(--fs-body);line-height:var(--lh-body)}.contact-email{font-family:var(--font-head);font-size:var(--fs-h2);margin-top:16px;line-height:1.2}.contact-email .work-arrow{opacity:1;transform:none}@media (hover:hover) and (prefers-reduced-motion:no-preference){.contact-email:hover .work-arrow{transform:translate(.15em)}}@media (max-width:760px){.facts{gap:16px 32px}.all-work{margin-top:32px}.more-projects{scroll-snap-type:x mandatory;scrollbar-width:none;margin-inline:calc(-1 * var(--gutter));padding:8px var(--gutter);scroll-padding-inline:var(--gutter);gap:16px;display:flex;overflow-x:auto}.more-projects::-webkit-scrollbar{display:none}.more-projects>li{scroll-snap-align:start;flex:0 0 78%}.work-item--small .work-title{font-size:20px}.contact-email{font-size:min(var(--fs-h2), 6.2cqw)}}.site-nav a[aria-current=page]{text-underline-offset:6px;text-decoration:underline;text-decoration-thickness:1px}.text-link{text-underline-offset:4px;white-space:nowrap;text-decoration:underline;text-decoration-thickness:1px}.not-found{max-width:1440px;padding:var(--section-y) var(--gutter)}.not-found>*{margin-inline:0}.not-found-text{max-width:var(--measure);margin-top:24px}.not-found-links{font-family:var(--font-head);font-size:var(--fs-h3);flex-wrap:wrap;gap:16px 48px;margin:40px 0 0;padding:0;line-height:normal;list-style:none;display:flex}.not-found-links .work-arrow{opacity:1;transform:none}.about-page .about-heading{margin-bottom:24px}.col>.figure>img{width:min(100%, var(--view-max) * var(--natn,99));margin-inline:auto}.home .about-intro{padding-top:48px}.intro-tagline{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:12px;font-size:16px;line-height:24px}.intro-hello{margin-bottom:16px}.hero-backtext{--role-fs:calc((min(100cqw, 1440px) - 2 * var(--gutter)) / 9.5);--portrait-top:calc(var(--hero-h) - var(--front-h));left:max(var(--gutter), (100% - 1440px) / 2 + var(--gutter));right:var(--gutter);top:calc(var(--portrait-top) + .5 * var(--front-h));position:absolute}.hero-over{z-index:1;margin-top:calc(-1 * var(--hero-h));pointer-events:none;background:0 0}.hero-title{font:inherit;flex-direction:column;gap:4px;display:flex}.hero-role{font-size:var(--role-fs);--stroke:2px;-webkit-text-stroke:var(--stroke) var(--accent);margin-left:calc(-.0732em + var(--stroke) / 2);line-height:1}.hero-slash{margin-inline:.045em}.hero-title--outline .hero-role{color:#0000;-webkit-text-fill-color:transparent}@media (max-width:760px),(orientation:portrait){.hero-backtext{--role-fs:calc((100cqw - 2 * var(--gutter)) / 5.6);top:max(var(--header-h) + 16px, var(--portrait-top) - 1.3 * var(--role-fs) - 20px)}.hero-role-word{display:block}.hero-over{display:none}.hero-role{--stroke:0px}}@media (min-width:761px) and (orientation:portrait){.home{--title-block:calc(var(--header-h) + 90px + 1.3 * (100cqw - 2 * var(--gutter)) / 5.6)}.hero-backtext{top:max(var(--header-h) + 16px, var(--portrait-top) - 1.3 * var(--role-fs) - 50px)}}@media (hover:hover){.work-item .work-arrow{display:none}.work-title-text{background:linear-gradient(var(--accent), var(--accent)) 0 100% / 0% 2px no-repeat;padding-bottom:4px;transition:background-size .45s cubic-bezier(.22,1,.36,1)}.work-item:is(:hover,:focus-visible) .work-title-text{background-size:100% 2px}}@media (hover:hover) and (prefers-reduced-motion:reduce){.work-title-text{transition:none}}.section-title,.about-beyond{--lsb:.0732;text-indent:calc(-1em * var(--lsb) + var(--stroke) / 2)}.more-title{--lsb:.0708}.contact-title{--lsb:.0767}.about-tools-title{--lsb:.0225}@media (max-width:760px){.hero{aspect-ratio:4/3!important;object-position:var(--hero-pos-m,50% 50%)!important}}.zoomable{cursor:zoom-in}.zoomable[data-quiet-focus]:focus-visible{outline:none}.lightbox{-webkit-user-select:none;user-select:none;background:var(--bg);width:100vw;max-width:none;height:100svh;max-height:none;color:var(--text);border:0;margin:0;padding:0}.lightbox::backdrop{background:var(--bg)}.lightbox[open]{display:grid}.lightbox:focus{outline:none}.lightbox-stage{flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:100%;padding:72px 80px 24px;display:flex}.lightbox-stage img{cursor:default;border-radius:12px;width:auto;max-width:100%;height:auto;max-height:calc(100svh - 152px)}.lightbox-caption{max-width:var(--measure);text-align:center;color:var(--muted);font-size:14px;line-height:20px}.lightbox-close,.lightbox-arrow{width:48px;height:48px;color:var(--text);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;transition:color .2s ease-out;display:grid;position:absolute;top:12px;right:12px}.lightbox-arrow{top:50%;transform:translateY(-50%)}.lightbox-prev{left:12px;right:auto}.lightbox-next{right:12px}.lightbox-arrow:disabled{opacity:.25;cursor:default}.lightbox-count{color:var(--text);font-variant-numeric:tabular-nums;margin-right:12px}.lightbox-close svg,.lightbox-arrow svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:24px;height:24px}@media (hover:hover){.lightbox-close:hover,.lightbox-arrow:not(:disabled):hover{color:var(--accent)}}html:has(.lightbox[open]){overflow:hidden}@media (prefers-reduced-motion:no-preference){.lightbox[open]{animation:.2s ease-out lightbox-in}}@keyframes lightbox-in{0%{opacity:0}}@media (max-width:760px) and (min-height:501px){.lightbox-stage{padding:64px 16px 72px}.lightbox-stage img{max-height:calc(100svh - 192px)}.lightbox-arrow{top:auto;bottom:12px;transform:none}}@media (max-height:500px){.lightbox-stage{padding:8px 64px}.lightbox-stage img{max-height:calc(100svh - 16px)}.lightbox-caption{display:none}}.page-end--compact>.home-divider{margin-bottom:40px}.contact-compact{flex-flow:wrap;justify-content:space-between;align-items:baseline;gap:12px 40px}.contact-compact .contact-lede{min-height:0;font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);display:block}.contact-compact .contact-email{font-size:var(--fs-h3);margin-top:0}@media (max-width:760px){.contact-compact .contact-email{font-size:min(var(--fs-h3), 6.2cqw)}}.about-hero-intro .about-heading{min-height:0;font:inherit;flex-direction:column;align-items:flex-start;display:flex}.about-page .about-intro{padding-top:0}@media (max-width:1200px){.about-hero-intro{padding:var(--section-y) var(--gutter) 0}}@media (min-width:761px){.about-hero{--content-edge:max(var(--gutter), (100cqw - 1312px) / 2);width:100%}.about-tagline{text-align:center;margin-inline:auto}.about-title{margin-inline:auto}.about-photo{margin-left:auto;margin-right:var(--content-edge)}}@media (min-width:1201px){.about-hero{position:relative}.about-hero-intro{left:var(--content-edge);bottom:calc(49 * var(--u));width:min(var(--measure), 100cqw - 2 * var(--content-edge) - 668 * var(--u) - 48px);position:absolute}}:root{--ease-out:cubic-bezier(.22, 1, .36, 1)}@keyframes rise{0%{clip-path:inset(-30% -10% 105%);transform:translateY(105%)}to{clip-path:inset(-30% -10% 0);transform:translateY(0)}}@media (prefers-reduced-motion:no-preference){.work-list[data-switched]>.work-item{animation:fade-up .6s var(--ease-out) backwards}.work-list[data-switched]>:nth-child(2){animation-delay:80ms}.work-list[data-switched]>:nth-child(3){animation-delay:.16s}.work-list[data-switched]>:nth-child(n+4){animation-delay:.24s}}@keyframes fade-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:no-preference){.hero-role-word{animation:rise 1s var(--ease-out) .15s backwards}.hero-role-word+.hero-role-word{animation-delay:.27s}@media (min-width:761px) and (orientation:landscape){.hero-role-word{display:inline-block}}.about-tagline{animation:fade-up .9s var(--ease-out) 50ms backwards}.about-title{animation:rise 1s var(--ease-out) .12s backwards}.about-hero-intro{animation:fade-up 1s var(--ease-out) .35s backwards}.intro>h1{animation:rise 1s var(--ease-out) .1s backwards}.intro>:not(h1){animation:fade-up 1s var(--ease-out) .5s backwards}.intro>:nth-child(2){animation-delay:.22s}.intro>:nth-child(3){animation-delay:.3s}.intro>:nth-child(4){animation-delay:.38s}.intro>:nth-child(5){animation-delay:.44s}[data-reveal]{transition:opacity .9s var(--ease-out), transform 1s var(--ease-out), clip-path 1s var(--ease-out), color .2s ease-out, filter .3s ease-out}[data-reveal=fade]:not([data-revealed]){opacity:0;transform:translateY(24px)}[data-reveal=rise]{clip-path:inset(-30% -10% 0)}[data-reveal=rise]:not([data-revealed]){clip-path:inset(-30% -10% 105%);transform:translateY(105%)}}.card-badge{z-index:1;background:var(--accent);width:56px;height:56px;color:var(--bg);opacity:0;transition:opacity .3s ease-out, transform .45s var(--ease-out);pointer-events:none;border-radius:50%;place-items:center;display:grid;position:absolute;top:20px;right:20px;transform:translate(-8px,8px)scale(.8)}.card-badge svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.work-item--small .card-badge{width:40px;height:40px;top:12px;right:12px}.work-item--small .card-badge svg{width:18px;height:18px}.work-item:is(:hover,:focus-visible) .card-badge{opacity:1;transform:none}@media (hover:none){.card-badge{display:none}}.scroll-cue{z-index:40;color:#fff;cursor:pointer;opacity:0;pointer-events:none;background:#090909b8;border:0;border-radius:50%;place-items:center;width:48px;height:48px;margin-left:-24px;padding:0;transition:opacity .3s ease-out;display:grid;position:fixed;bottom:28px;left:50%}.scroll-cue[data-visible]{opacity:1;pointer-events:auto}.scroll-cue svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.scroll-cue:hover{color:var(--accent)}@media (prefers-reduced-motion:no-preference){.scroll-cue[data-visible] svg{animation:1.8s ease-in-out 1s infinite cue-nudge}}@keyframes cue-nudge{0%,60%,to{transform:none}30%{transform:translateY(4px)}}.zoom-badge{z-index:3;color:#fff;opacity:0;width:44px;height:44px;transition:opacity .25s ease-out, transform .35s var(--ease-out);pointer-events:none;background:#090909b8;border-radius:50%;place-items:center;display:grid;position:absolute;top:0;left:0;transform:scale(.85)}.zoom-badge[data-visible]{opacity:1;transform:none}.zoom-badge svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.link-arrow{vertical-align:-.06em;fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:.8em;height:.8em;transition:transform .35s var(--ease-out);margin-left:.3em;display:inline-block}@media (hover:hover) and (prefers-reduced-motion:no-preference){a:hover>.link-arrow{transform:translate(4px)}a:hover>.link-arrow--external{transform:translate(3px,-3px)}.not-found-links a:hover .work-arrow{transform:translate(.15em)}}@media (prefers-reduced-motion:reduce){.card-badge,.zoom-badge,.link-arrow{transition:opacity .2s ease-out}.card-badge,.zoom-badge[data-visible]{transform:none}}.archive summary{width:fit-content;font-family:var(--font-head);font-size:var(--fs-h3);cursor:pointer;align-items:center;gap:12px;line-height:normal;list-style:none;transition:color .2s ease-out;display:flex}.archive summary::-webkit-details-marker{display:none}.archive summary:after{content:"";width:.45em;height:.45em;transition:transform .35s var(--ease-out), margin .35s var(--ease-out);border-bottom:2px solid;border-right:2px solid;margin-top:-.2em;transform:rotate(45deg)}.archive[open] summary:after{margin-top:.25em;transform:rotate(-135deg)}@media (hover:hover){.archive summary:hover{color:var(--accent)}}.archive summary:focus-visible{outline-offset:6px}.archive-body{flex-direction:column;gap:24px;margin-top:24px;display:flex}.archive-body h4{font-family:var(--font-head);color:var(--muted);font-size:20px;font-weight:400;line-height:normal}.row{grid-template-columns:minmax(0, var(--text-max))}.row>.num{display:none}.row>.col,.row.sub>.col{grid-column:1}.row h2{min-height:0}
