@font-face{font-family:Neue Montreal;src:url(/fonts/PPNeueMontreal-Book.otf)format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Neue Montreal;src:url(/fonts/PPNeueMontreal-Medium.otf)format("opentype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Neue Montreal Mono;src:url(/fonts/PPNeueMontrealMono-Book.otf)format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Neue Montreal Mono;src:url(/fonts/PPNeueMontrealMono-Thin.otf)format("opentype");font-weight:100;font-style:normal;font-display:swap}:root{--bg:#f6f6f6;--ink:#0b0b0b;--mid:#737373;--faint:#b0b0b0;--rule:#e8e8e8;--rule-hi:#0b0b0b;--tile:#f4f4f4;--measure:40rem;--gutter:clamp(1.5rem, 6vw, 4rem);--ease:cubic-bezier(.22,.61,.36,1);--ease-out:cubic-bezier(.16,1,.3,1)}[data-theme=dark]{--bg:#111;--ink:#f0f0f0;--mid:#8c8c8c;--faint:#4d4d4d;--rule:#1f1f1f;--rule-hi:#f0f0f0;--tile:#171717}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{background:var(--bg)}body{background:var(--bg);color:var(--ink);letter-spacing:-.005em;font-feature-settings:"kern" 1, "liga" 1, "calt" 1, "tnum" 1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background .55s var(--ease), color .55s var(--ease);padding:clamp(1.75rem, 6vw, 5rem) var(--gutter) 4rem;min-height:100vh;font-family:Neue Montreal,ui-sans-serif,-apple-system,Helvetica Neue,Arial,sans-serif;font-size:15px;line-height:1.58}::selection{background:var(--ink);color:var(--bg)}a{color:inherit;text-decoration:none}.wrap{max-width:var(--measure);margin:0 auto}.u{transition:background-size .45s var(--ease-out);background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px;padding-bottom:1px}.u:hover,.u:focus-visible{background-size:100% 1px;outline:none}.rise{opacity:0;animation:rise .9s var(--ease-out) forwards;transform:translateY(10px)}@keyframes rise{to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.rise{opacity:1;animation:none;transform:none}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.head{justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-bottom:3rem;display:flex}.brand{align-items:center;line-height:0;display:flex}.brand-logo{width:clamp(8rem,14.4vw,9.2rem);height:auto;transition:filter .55s var(--ease);display:block}[data-theme=dark] .brand-logo{filter:invert()}.meta{color:var(--mid);white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:.025em;text-transform:uppercase;align-items:center;gap:.6rem;font-family:Neue Montreal Mono,monospace;font-size:11.5px;display:flex}.dot{background:var(--ink);width:5px;height:5px;animation:breathe 3.6s var(--ease) infinite;border-radius:50%}@keyframes breathe{0%,to{opacity:.22}50%{opacity:1}}.theme{cursor:pointer;border:1px solid var(--faint);background:linear-gradient(90deg, var(--ink) 50%, transparent 50%);width:11px;height:11px;transition:transform .55s var(--ease), border-color .3s;border-radius:50%;padding:0}.theme:hover{border-color:var(--ink)}[data-theme=dark] .theme{transform:rotate(180deg)}.lede{letter-spacing:-.012em;text-wrap:balance;max-width:31rem;margin-bottom:1.6rem;font-size:clamp(21px,1.7vw,25px);line-height:1.34}p{color:var(--mid);max-width:32rem;margin-bottom:1.1rem}section{margin-top:3.75rem}.label{letter-spacing:.11em;text-transform:uppercase;color:var(--faint);justify-content:space-between;align-items:baseline;margin-bottom:1rem;font-family:Neue Montreal Mono,monospace;font-size:10px;font-weight:400;display:flex}.label span{font-variant-numeric:tabular-nums;letter-spacing:.06em}.label--small{font-size:8px}.list{border-top:1px solid var(--rule)}.row{border-bottom:1px solid var(--rule);transition:opacity .38s var(--ease), padding-left .5s var(--ease-out), border-color .38s var(--ease);grid-template-columns:minmax(0,10.5rem) minmax(0,1fr) auto;align-items:baseline;gap:0 1.5rem;padding:.8rem 0;display:grid;position:relative}.list:hover .row{opacity:.34}.list .row:hover,.list .row:focus-visible{opacity:1;border-bottom-color:var(--rule-hi);outline:none;padding-left:9px}.name{color:var(--ink);font-weight:500}.disc{color:var(--mid);letter-spacing:.025em;text-transform:uppercase;font-family:Neue Montreal Mono,monospace;font-size:12px}.cred{color:var(--faint);font-size:12.5px}.cred:before{content:" ·"}.yr{color:var(--faint);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;font-feature-settings:"tnum" 1;letter-spacing:.025em;text-transform:uppercase;font-family:Neue Montreal Mono,monospace;font-size:12px}.mark{vertical-align:-.11em;width:11px;height:11px;color:var(--faint);transition:color .38s var(--ease);flex:none;margin-left:.5em}.row:hover .mark{color:var(--mid)}.note{color:var(--faint);letter-spacing:.03em;text-transform:uppercase;align-items:center;gap:.45rem;margin-top:.85rem;font-family:Neue Montreal Mono,monospace;font-size:11px;display:flex}.note .mark{vertical-align:0;width:10px;height:10px;margin-left:0}a.row .name:after{content:"↗";opacity:0;transition:opacity .38s var(--ease), transform .38s var(--ease);margin-left:.4em;font-size:.8em;display:inline-block;transform:translate(-4px,2px)}a.row:hover .name:after,a.row:focus-visible .name:after{opacity:.45;transform:none}.work-breakout{width:100%}.work-grid{border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.work-card{border-top:1px solid var(--rule);border-left:1px solid var(--rule);height:clamp(13.5rem,20vw,15.5rem);color:var(--ink);transition:background .38s var(--ease), border-color .38s var(--ease);position:relative;overflow:hidden}a.work-card:hover,a.work-card:focus-visible{background:var(--tile);outline:none}.work-logo{place-items:center;display:grid;position:absolute;inset:2rem 1.75rem 4.25rem}.work-logo img{filter:none;width:auto;max-width:78%;height:auto;max-height:22%;transition:filter .55s var(--ease), transform .5s var(--ease-out);display:block}[data-theme=dark] .work-logo img{filter:invert()}.work-logo--coyotes img{max-height:38%}.work-logo--chenin img{max-height:30%}.work-logo--mount-sunny img{width:85%;max-width:85%;max-height:58%}a.work-card:hover .work-logo img,a.work-card:focus-visible .work-logo img{transform:scale(1.035)}.work-disc,.work-year{color:var(--mid);letter-spacing:.025em;text-transform:uppercase;font-family:Neue Montreal Mono,monospace;font-size:10.5px;line-height:1.35;position:absolute;bottom:1rem}.work-disc{max-width:14rem;left:1rem;right:4.6rem}.work-year{color:var(--faint);font-variant-numeric:tabular-nums;right:1rem}.work-credit{color:var(--faint);position:absolute;top:.9rem;right:.95rem}.work-credit .mark{width:10px;height:10px;margin:0;display:block}.peek{background:var(--tile);border:1px solid var(--rule);pointer-events:none;z-index:60;opacity:0;width:216px;height:152px;transition:opacity .32s var(--ease);place-items:center;display:grid;position:fixed;top:0;left:0;overflow:hidden;transform:translate(-9999px,-9999px)}.peek[data-on=true]{opacity:1}.peek img{object-fit:cover;width:100%;height:100%;display:block}.peek .ph{letter-spacing:.1em;text-transform:uppercase;color:var(--faint);text-align:center;padding:0 1.25rem;font-size:11px;line-height:1.6}@media (hover:none),(max-width:760px){.peek{display:none}}.foot{border-top:1px solid var(--rule);color:var(--faint);letter-spacing:.025em;text-transform:uppercase;flex-wrap:wrap;justify-content:space-between;gap:1.5rem;margin-top:4.5rem;padding-top:1.1rem;font-family:Neue Montreal Mono,monospace;font-size:11.5px;display:flex}.links{color:var(--mid);letter-spacing:.04em;text-transform:uppercase;gap:1.25rem;font-family:Neue Montreal Mono,monospace;font-weight:100;display:flex}kbd{font:inherit;border:1px solid var(--rule);color:var(--faint);border-radius:3px;padding:1px 4px;font-size:11px}@media (max-width:1199px){.work-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.work-card{height:clamp(13rem,23vw,15rem)}}@media (max-width:760px){.work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.work-card{height:clamp(11.75rem,51vw,13.5rem)}.work-logo{inset:1.5rem 1rem 4rem}.work-disc{max-width:10rem}}@media (max-width:640px){body{font-size:14.5px}.lede{font-size:19px}.head{gap:1rem}.row{grid-template-columns:1fr auto;gap:.1rem 1rem}.name{grid-area:1/1}.yr{grid-area:1/2}.disc{grid-area:2/1/auto/-1;font-size:13.5px}}@media (max-width:340px){.work-grid{grid-template-columns:1fr}.work-card{height:13rem}.work-logo{inset-inline:2rem}}
