@font-face{font-family:PolySans;src:url(/fonts/PolySans-Neutral.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:PolySans;src:url(/fonts/PolySans-Median.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:PolySans;src:url(/fonts/PolySans-Bulky.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Switzer;src:url(/fonts/Switzer-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--bg: #fafaf8;--ink: #1a1816;--muted: rgba(26, 24, 22, .72);--line: rgba(26, 24, 22, .1);--line-soft: rgba(26, 24, 22, .035);--blue: #0d99ff;--display: "PolySans", "Helvetica Neue", sans-serif;--text: "Switzer", "Helvetica Neue", sans-serif;--size-xs: .875rem;--ruler: 26px;--ease-panel: cubic-bezier(.65, 0, .35, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--text);font-size:1.375rem;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(rgba(26,24,22,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(26,24,22,.07) 1px,transparent 1px),linear-gradient(rgba(26,24,22,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(26,24,22,.028) 1px,transparent 1px);background-size:96px 96px,96px 96px,12px 12px,12px 12px}a{color:inherit;text-decoration:none}::selection{background:var(--blue);color:#fff}html.pd-cursor,html.pd-cursor *{cursor:none!important}main{position:relative;z-index:1}.container{width:min(1540px,100% - clamp(2.5rem,8vw,8rem));margin-inline:auto}html.pd-js [data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1)}html.pd-js [data-reveal].in{opacity:1;transform:translateY(0)}.line{display:block;overflow:hidden;padding-bottom:.06em;margin-bottom:-.06em}.line__in{display:inline-block;will-change:transform}html.pd-js .line__in{transform:translateY(115%);transition:transform 1.15s cubic-bezier(.22,1,.36,1)}html.pd-js .line.in .line__in{transform:translateY(0)}.ruler{position:fixed;z-index:50;background:var(--bg);pointer-events:none}.ruler--top{top:0;left:var(--ruler);right:0;height:var(--ruler);border-bottom:1px solid var(--line);background-image:repeating-linear-gradient(90deg,var(--line) 0 1px,transparent 1px 96px),repeating-linear-gradient(90deg,rgba(26,24,22,.18) 0 1px,transparent 1px 12px);background-size:100% 100%,100% 7px;background-position:0 0,0 100%;background-repeat:no-repeat,repeat-x}.ruler--left{top:var(--ruler);left:0;bottom:0;width:var(--ruler);border-right:1px solid var(--line);background-image:repeating-linear-gradient(180deg,var(--line) 0 1px,transparent 1px 96px),repeating-linear-gradient(180deg,rgba(26,24,22,.18) 0 1px,transparent 1px 12px);background-size:100% 100%,7px 100%;background-position:0 0,100% 0;background-repeat:no-repeat,repeat-y}.ruler-corner{position:fixed;top:0;left:0;width:var(--ruler);height:var(--ruler);z-index:51;background:var(--bg);border-right:1px solid var(--line);border-bottom:1px solid var(--line);pointer-events:none}.guide{position:fixed;z-index:40;background:var(--blue);opacity:0;pointer-events:none;transition:opacity .4s ease}.guide--h{left:0;right:0;top:0;height:1px}.guide--v{top:0;bottom:0;left:0;width:1px}html.pd-cursor .guide{opacity:.35}.hdr{position:fixed;top:var(--ruler);left:var(--ruler);right:0;z-index:45;display:flex;justify-content:space-between;align-items:center;padding:clamp(.9rem,2vh,1.4rem) clamp(1.25rem,3vw,2.5rem);pointer-events:none;background:linear-gradient(#fafaf8eb,#fafaf800)}.hdr__name,.hdr__about{font-family:var(--display);font-weight:500;font-size:var(--size-xs);letter-spacing:.16em}.hdr__name{pointer-events:auto;position:relative}.hdr__right{display:flex;align-items:center;gap:2rem;justify-self:end}.hdr__about{pointer-events:auto;position:relative}.hdr__name:after,.hdr__about:after{content:"";position:absolute;left:0;bottom:-3px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease-panel)}.hdr__name:hover:after,.hdr__name:focus-visible:after,.hdr__about:hover:after,.hdr__about:focus-visible:after{transform:scaleX(1);transform-origin:left}.frame{position:relative;padding:clamp(4rem,10vh,7.5rem) 0}.frame__tag{display:inline-flex;align-items:center;gap:.55em;font-family:var(--display);font-weight:500;font-size:.8125rem;letter-spacing:.18em;color:var(--muted);margin-bottom:clamp(1.6rem,4vh,2.8rem)}.frame__dot{width:7px;height:7px;border:1.5px solid var(--blue);background:#fff;display:inline-block}.display{font-family:var(--display);font-weight:400;letter-spacing:-.03em;line-height:.95}.btn{display:inline-flex;align-items:center;gap:.5em;font-family:var(--display);font-weight:500;font-size:var(--size-xs);letter-spacing:.1em;padding:.9em 1.7em;border:1px solid var(--ink);border-radius:999px;background:transparent;color:var(--ink);transition:background .3s ease,color .3s ease,border-color .3s ease}.btn--solid{background:var(--ink);color:var(--bg)}.btn:hover,.btn:focus-visible{background:var(--blue);border-color:var(--blue);color:#fff}.footer{position:relative;z-index:1;border-top:1px solid var(--line);padding:1.4rem 0 1.8rem}.footer__inner{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.875rem;color:var(--muted)}.sel{position:fixed;top:0;left:0;z-index:90;border:1.5px solid var(--blue);opacity:0;pointer-events:none;will-change:transform,width,height}.sel__h{position:absolute;width:9px;height:9px;background:#fff;border:1.5px solid var(--blue)}.sel__h--tl{top:-5px;left:-5px}.sel__h--tr{top:-5px;right:-5px}.sel__h--bl{bottom:-5px;left:-5px}.sel__h--br{bottom:-5px;right:-5px}.sel__name,.sel__dim{position:absolute;background:var(--blue);color:#fff;font-family:var(--display);font-weight:500;font-size:.6875rem;letter-spacing:.04em;padding:.25em .6em;border-radius:2px;white-space:nowrap;font-variant-numeric:tabular-nums}.sel__name{left:-1.5px;top:-1.9em}.sel__dim{left:50%;bottom:-2.1em;transform:translate(-50%)}.cursor{position:fixed;top:0;left:0;z-index:100;pointer-events:none;opacity:0}.cursor__dot{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--blue);translate:-50% -50%;scale:.5}.cursor__cross{position:absolute;translate:-50% -50%;width:34px;height:34px}.cursor__cross:before,.cursor__cross:after{content:"";position:absolute;background:var(--blue)}.cursor__cross:before{left:0;right:0;top:50%;height:1px}.cursor__cross:after{top:0;bottom:0;left:50%;width:1px}.cursor__chip{position:absolute;top:14px;left:18px;background:var(--blue);color:#fff;font-family:var(--display);font-weight:500;font-size:.6875rem;letter-spacing:.04em;padding:.25em .6em;border-radius:2px;white-space:nowrap;font-variant-numeric:tabular-nums;transition:background .2s ease}.cursor.is-action .cursor__chip{background:var(--ink);letter-spacing:.1em}.cursor.is-action .cursor__cross{opacity:0}.cursor.is-action .cursor__dot{scale:1.4}@media(max-width:600px){:root{--ruler: 0px}.ruler,.ruler-corner,.guide,.cursor,.sel{display:none}.hdr__right{gap:1.25rem}}.case__gallery-item figcaption,.case__exp-image figcaption,.case__visual-caption{margin-top:1rem!important;font-size:.8125rem!important}.case__toggle-row{display:none!important}.contact__body{text-align:center;display:flex;flex-direction:column;align-items:center;padding:clamp(2rem,5vh,4rem) 1rem}.contact__headline{font-family:var(--display);font-weight:400;font-size:clamp(2.25rem,5.5vw,4.5rem);line-height:1.1;letter-spacing:-.03em;color:var(--ink);margin-bottom:clamp(2rem,5vh,3.5rem)}.contact__pills{display:flex;flex-wrap:wrap;justify-content:center;gap:.625rem}.contact__pill{display:inline-flex;align-items:center;gap:.45em;padding:.75rem 2rem;border:1px solid var(--ink);border-radius:0;background:transparent;color:var(--ink);font-family:PolySans,Helvetica Neue,sans-serif;font-size:1.125rem;font-weight:400;text-decoration:none;cursor:pointer;transition:background .2s ease,color .2s ease}.contact__pill:hover{background:var(--ink);color:var(--bg)}.contact__pill svg{flex-shrink:0}@media(max-width:500px){.contact__pills{flex-direction:column;align-items:stretch}.contact__pill{justify-content:center}}@media(prefers-reduced-motion:reduce){html.pd-js .line__in{transform:none}html.pd-js [data-reveal]{opacity:1;transform:none;transition:none}}.roles-badge[data-astro-cid-i2cizdbm]{position:fixed;z-index:50;top:50%;right:0;left:auto;width:clamp(96px,10vw,132px);aspect-ratio:1;display:grid;place-items:center;text-decoration:none;cursor:pointer;will-change:transform;visibility:hidden}.roles-badge[data-astro-cid-i2cizdbm]:before{content:"";position:absolute;inset:2%;border-radius:50%;background:#0a0a0a;border:1px solid rgba(242,239,233,.2)}.roles-badge[data-astro-cid-i2cizdbm] svg[data-astro-cid-i2cizdbm]{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.roles-badge[data-astro-cid-i2cizdbm] svg[data-astro-cid-i2cizdbm] text[data-astro-cid-i2cizdbm]{fill:#f2efe9;font-family:PolySans,Helvetica Neue,sans-serif;font-weight:500;font-size:9.5px;letter-spacing:.08em;text-transform:uppercase}.roles-badge__amp[data-astro-cid-i2cizdbm]{position:relative;font-family:PolySans,Helvetica Neue,sans-serif;font-weight:700;font-size:clamp(1.4rem,2vw,2rem);color:#f2efe9;pointer-events:none}@keyframes rb-spin-rev{to{transform:rotate(-360deg)}}#roles-badge-svg[data-astro-cid-i2cizdbm]{animation:rb-spin-rev 24s linear infinite}@media(prefers-reduced-motion:reduce){#roles-badge-svg[data-astro-cid-i2cizdbm]{animation:none}}@media(max-width:820px){.roles-badge[data-astro-cid-i2cizdbm]{display:none}}
