/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--ease-out:cubic-bezier(0, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}}:root{--beige:#ede6da;--black:#131211;--red:#ff0001;--font-sans:"Archivo", system-ui, sans-serif;--font-mono:"Geist Mono", ui-monospace, monospace;--cols:8;--gap:clamp(16px, 1.6vw, 20px);--fs-display:9.92vw;--fs-cta:7.94vw;--fs-mid:clamp(24px, 2.65vw, 48px);--fs-body:20px;--fs-mono:12px;--display-stretch:100%;--space-headroom:clamp(80px, 14vh, 160px);--space-section:clamp(96px, 11vh, 128px);--space-block:clamp(56px, 8vh, 96px);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-hover:cubic-bezier(.33, 1, .68, 1)}[data-theme=dark]{--ink:var(--beige);--ground:var(--black)}[data-theme=light]{--ink:var(--black);--ground:var(--beige)}[data-theme=red]{--ink:var(--red);--ground:var(--beige)}:root{--rule:var(--ink)}@supports (color:color-mix(in lab, red, red)){:root{--rule:color-mix(in srgb, var(--ink) 22%, transparent)}}@media (width<=767px){:root{--cols:4;--fs-display:14.36vw;--fs-cta:12.3vw;--fs-mid:24px;--fs-body:17px;--fs-mono:11px;--display-stretch:85%}}*,:before,:after{box-sizing:border-box}html{background:var(--ground);color:var(--ink);-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);background:var(--ground);color:var(--ink);margin:0}a{color:inherit;text-decoration:none}a:hover{opacity:.6;transition:opacity .15s}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.mono{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.04em;text-transform:uppercase;font-weight:400;font-stretch:100%;line-height:1.4}.frame{padding-inline:var(--gap)}.grid{grid-template-columns:repeat(var(--cols), minmax(0, 1fr));column-gap:var(--gap);display:grid}.at{grid-column:var(--c,1) / span var(--s,1)}@media (width<=767px){.at{grid-column:var(--mc,var(--c,1)) / span var(--ms,var(--s,1))}}.d-only{display:inline}.m-only{display:none}@media (width<=767px){.d-only{display:none}.m-only{display:inline}}.site-header{z-index:10;padding:24px var(--gap);background:var(--ground);justify-content:space-between;align-items:center;display:flex;position:fixed;inset:0 0 auto}.brand{letter-spacing:-.035em;white-space:nowrap;font-size:32px;font-weight:800;line-height:1}.header-right{align-items:center;gap:24px;display:flex}.dots{gap:4px;display:flex}.dot{cursor:pointer;background:0 0;border:0;place-items:center;width:32px;height:32px;padding:0;display:grid}.dot span{border:1px solid var(--ink);width:14px;height:14px;transition:box-shadow .2s var(--ease-out);border-radius:50%}.dot[data-set=dark] span{background:var(--black)}.dot[data-set=light] span{background:var(--beige)}.dot[data-set=red] span{background:var(--red)}.dot[aria-pressed=true] span{box-shadow:0 0 0 3px var(--ground), 0 0 0 4px var(--ink)}@media (width<=767px){.site-header{padding:12px var(--gap)}.brand{white-space:normal;width:6.5em;font-size:20px;line-height:.92}.header-right{gap:12px}.dots{gap:0}}.hero{flex-direction:column;justify-content:flex-end;min-height:100svh;padding-bottom:40px;display:flex}.hero-visual{font-size:var(--fs-display);font-weight:800;font-stretch:var(--display-stretch);letter-spacing:-.045em;flex-direction:column;line-height:.84;display:flex}.hero-row{align-items:baseline}.hero .label{text-align:var(--align,left)}.line{white-space:nowrap}.star{font-size:.5em;font-weight:500;display:inline-block;position:relative;top:-.5em}.sc{align-items:baseline;gap:32px;display:flex}.definition{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.02em;flex-shrink:0;font-weight:400;font-stretch:100%;line-height:1.4}@media (width<=767px){.hero{padding-bottom:32px}.hero-visual{row-gap:4px;line-height:.9}.sc{flex-direction:column;align-items:flex-start;gap:12px}.definition{margin-left:calc((100% - 3 * var(--gap)) / 4 + var(--gap))}}.intro{padding-top:var(--space-headroom)}.intro p{font-size:var(--fs-mid);letter-spacing:-.02em;grid-column:1/span 6;margin:0;font-weight:500;line-height:1.12}.clients{padding-top:var(--space-section);align-items:baseline}.clients h2{grid-column:1/span 2;margin:0}.clients p{font-size:var(--fs-mid);letter-spacing:-.02em;grid-column:3/span 6;margin:0;font-weight:800;line-height:1.12}.clients .sep{font-weight:400;display:inline-block}@media (width<=767px){.intro p,.clients h2,.clients p{grid-column:1/-1}.clients{row-gap:12px}}.projects{padding-top:var(--space-section)}.list-head{border-bottom:1px solid var(--rule);align-items:baseline;padding-bottom:16px}.list-head h2{font:inherit;margin:0}.row{align-items:baseline;padding:16px 0;position:relative}.row .rule{background:var(--rule);transform-origin:0;height:1px;position:absolute;bottom:0;left:0;right:0}.year{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.04em;grid-column:1;display:inline-flex}.cp{font-size:var(--fs-body);letter-spacing:-.01em;grid-column:2/span 4;line-height:1.2}.cp strong{font-weight:700}.role{grid-column:6/span 2}.mark{font-size:var(--fs-body);transition:transform .25s var(--ease-hover);grid-column:8;justify-self:end;line-height:1.2;display:inline-block}a.row{isolation:isolate}a.row:before{content:"";inset:0 calc(-1 * var(--gap));background:var(--ink);transform-origin:0;transition:transform .25s var(--ease-hover);z-index:-1;position:absolute;transform:scaleX(0)}a.row:hover{opacity:1;color:var(--ground)}a.row:hover:before{transform:scaleX(1)}a.row:hover .mark.page{transform:translate(6px)}a.row:hover .mark.ext{transform:translate(4px,-4px)}.all{border:0;border-bottom:1px solid var(--rule);width:100%;color:inherit;font-family:var(--font-sans);text-align:left;cursor:pointer;background:0 0;align-items:baseline;padding:24px 0}.all .cp{font-weight:700}.all .plus{transition:transform .25s var(--ease-hover)}.all:hover .plus{transform:rotate(45deg)}@media (width<=767px){.list-head .col-cp,.list-head .col-role{display:none}.row{row-gap:6px;padding:14px 0}.cp{grid-column:2/span 3;padding-right:24px}.role{grid-column:2/span 3}.mark{position:absolute;top:14px;right:0}.all .cp{grid-column:2/span 2}.all .plus{grid-column:4;position:static}}.contact{padding-top:var(--space-section);flex-direction:column;gap:32px;display:flex}.contact .grid{align-items:baseline}.contact h2{grid-column:1/span 2;margin:0}.cta{font-size:var(--fs-cta);letter-spacing:-.045em;white-space:nowrap;grid-column:3/span 6;font-weight:800;line-height:.9}.cta .arrow{display:inline-block}.cta:hover{opacity:1}.cta:hover .arrow{animation:arrow-shoot .4s var(--ease-out)}@keyframes arrow-shoot{0%{transform:none}45%{opacity:0;transform:translate(60%,-60%)}50%{opacity:0;transform:translate(-60%,60%)}to{opacity:1;transform:none}}.contact-meta .email{text-transform:none;grid-column:3/span 2}.contact-meta .ig{grid-column:5}.contact-meta .li{grid-column:6}.site-footer{padding-top:var(--space-section);padding-bottom:24px}.wordmark-box{overflow:hidden}.wordmark{letter-spacing:-.025em;white-space:nowrap;font-size:13.2vw;font-weight:900;font-stretch:62%;line-height:.74;display:inline-block}.legal{border-top:1px solid var(--rule);justify-content:space-between;margin-top:16px;padding-top:16px;display:flex}@media (width<=767px){.contact h2,.cta{grid-column:1/-1}.contact-meta{flex-direction:column;gap:8px;display:flex}.site-footer{padding-bottom:16px}}.mask{vertical-align:bottom;margin-bottom:-.08em;padding-bottom:.08em;display:inline-block;overflow:visible clip}.ch{white-space:pre;display:inline-block}html.js-motion:not(.motion-ready) .hero .ch,html.js-motion:not(.motion-ready) .hero .label,html.js-motion:not(.motion-ready) .hero .star,html.js-motion:not(.motion-ready) .hero .definition,html.js-motion:not(.motion-ready) .site-header{opacity:0}html.js-motion [data-reveal]:not(.revealed){visibility:hidden}@supports (animation-timeline:view()){html.js-motion .wordmark .ch{animation:linear both wm-rise view();animation-range:entry calc(var(--i) * 3%) entry calc(55% + var(--i) * 3%)}}@keyframes wm-rise{0%{transform:translateY(105%)}to{transform:none}}::view-transition-old(root),::view-transition-new(root){mix-blend-mode:normal;animation:none}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:0s!important;animation:none!important}html{transition:background-color .15s,color .15s}}.projects [data-list][hidden],.all .less,.projects.show-all .all .more{display:none}.projects.show-all .all .less{display:inline}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}
