/*! tailwindcss v4.2.1 | 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:ui-sans-serif, system-ui, 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;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 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,ui-sans-serif, system-ui, 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]){-webkit-text-decoration:underline dotted;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;-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{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{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.italic{font-style:italic}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}@font-face{font-family:Decagram;src:url(/fonts/decagram-variable.ttf)format("truetype");font-style:normal;font-weight:100 900;font-display:swap}@font-face{font-family:Instrument Serif;src:url(/fonts/instrument-serif-regular.ttf)format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Instrument Serif;src:url(/fonts/instrument-serif-italic.ttf)format("truetype");font-style:italic;font-weight:400;font-display:swap}:root{--paper:#f7f6f2;--ink:#11110f}*{box-sizing:border-box}html{background:var(--paper)}body{background:var(--paper);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit}.home-shell{isolation:isolate;min-height:100svh;position:relative;overflow:hidden}.site-header{z-index:10;justify-content:center;padding:clamp(34px,7vh,82px) 24px 0;animation:1.5s cubic-bezier(.22,1,.36,1) .1s both interface-drop;display:flex;position:fixed;inset:0 0 auto}.wordmark{font-variation-settings:"wght" 900;letter-spacing:-.035em;font-family:Decagram,Arial,sans-serif;font-size:20px;font-weight:900;line-height:1;text-decoration:none;transition:letter-spacing .26s cubic-bezier(.22,1,.36,1)}.wordmark:hover,.wordmark:focus-visible{letter-spacing:0}.intro{z-index:3;text-align:center;font-kerning:normal;font-synthesis:none;letter-spacing:0;text-rendering:geometricprecision;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:360px;max-width:calc(100vw - 36px);font-family:Instrument Serif,Georgia,serif;font-size:24px;font-weight:400;line-height:1.22;transition:opacity .42s,filter .52s;position:absolute;top:50%;left:50%;transform:translate(-50%,-38%)}.home-shell.is-case-open .home-content{filter:blur(8px);opacity:0;pointer-events:none}.home-shell.is-case-open{min-height:100svh;overflow:visible}.intro h1,.intro p{font:inherit;margin:0;display:inline}.intro-copy{animation:1.4s cubic-bezier(.22,1,.36,1) 1.1s both intro-reveal}.intro h1 span{display:block}.project-line{text-wrap:balance}.project-link,.more-link{text-decoration:none;display:inline-block;position:relative}.project-link{cursor:none}.link-letter{-webkit-text-decoration-skip-ink:auto;text-decoration-skip-ink:auto;text-underline-offset:.12em;will-change:transform;text-decoration-line:underline;text-decoration-color:currentColor;text-decoration-thickness:.055em;transition:text-decoration-color .28s;display:inline-block}.project-link:hover .link-letter,.project-link:focus-visible .link-letter,.more-link:hover .link-letter,.more-link:focus-visible .link-letter{animation:.62s cubic-bezier(.22,1,.36,1) both letter-wave;animation-delay:calc(var(--letter-index) * 52ms)}@keyframes letter-wave{0%,to{transform:translateY(0)}38%{transform:translateY(-.16em)}68%{transform:translateY(.06em)}}.project-link:hover .link-letter,.project-link:focus-visible .link-letter,.more-link:hover .link-letter,.more-link:focus-visible .link-letter{text-decoration-color:#0000}.project-link:focus-visible,.more-link:focus-visible,.wordmark:focus-visible,.contact-button:focus-visible{outline:2px solid var(--ink);outline-offset:6px}.contact-button{z-index:10;place-items:center;width:72px;height:72px;text-decoration:none;animation:1.5s cubic-bezier(.22,1,.36,1) 1.45s both interface-rise;display:grid;position:fixed;bottom:calc(clamp(28px,5vh,58px) - 26px);left:50%;transform:translate(-50%)}@keyframes interface-drop{0%{opacity:0;translate:0 calc(-100svh - 120px)}to{opacity:1;translate:0}}@keyframes interface-rise{0%{opacity:0;translate:0 90px}to{opacity:1;translate:0}}@keyframes intro-reveal{0%{filter:blur(8px);opacity:0}to{filter:blur();opacity:1}}.contact-button:hover{opacity:1}.contact-button svg{will-change:transform;display:block}.home-shell.is-case-open .site-header,.home-shell.is-case-open .contact-button{color:#fff;mix-blend-mode:difference}.home-shell.is-case-open .dot-cursor{color:#000;mix-blend-mode:difference;background:#fff}.contact-button:hover svg,.contact-button:focus-visible svg{animation:4.2s linear infinite mail-float}@keyframes mail-float{0%,to{transform:translate(0)}6.25%{transform:translate(3.83px,4.24px)}12.5%{transform:translate(7.07px,6px)}18.75%{transform:translate(9.24px,4.24px)}25%{transform:translate(10px)}31.25%{transform:translate(9.24px,-4.24px)}37.5%{transform:translate(7.07px,-6px)}43.75%{transform:translate(3.83px,-4.24px)}50%{transform:translate(0)}56.25%{transform:translate(-3.83px,4.24px)}62.5%{transform:translate(-7.07px,6px)}68.75%{transform:translate(-9.24px,4.24px)}75%{transform:translate(-10px)}81.25%{transform:translate(-9.24px,-4.24px)}87.5%{transform:translate(-7.07px,-6px)}93.75%{transform:translate(-3.83px,-4.24px)}}.media-preview{z-index:5;pointer-events:none;position:fixed;inset:0}.home-shell.is-preview-handoff .media-preview{z-index:9}.home-shell.is-preview-handoff .preview-link-hitbox{pointer-events:none}.preview-link-hitbox{z-index:3;outline-offset:5px;pointer-events:auto;display:block;position:absolute;top:0;left:0}.preview-link-hitbox:focus-visible{outline:2px solid var(--ink)}.case-study{--case-gutter:24px;z-index:8;min-height:100svh;padding:var(--case-gutter);background:var(--paper);opacity:1;transition:opacity .5s;position:absolute;inset:0 0 auto;overflow:hidden}.case-study.is-opening{pointer-events:none;overflow:hidden}.case-study.is-closing{opacity:0;pointer-events:none}.case-study-hero{object-fit:cover;background:#000;border:0;width:100%;height:calc(85svh - 48px);display:block}.case-study.is-opening .case-study-hero{top:var(--case-gutter);left:var(--case-gutter);z-index:2;width:calc(100vw - (var(--case-gutter) * 2));height:calc(85svh - (var(--case-gutter) * 2));transform-origin:0 0;animation:.9s cubic-bezier(.76,0,.24,1) both case-study-expand;position:fixed}@keyframes case-study-expand{0%{transform:translate3d(calc(var(--case-x) - var(--case-gutter)), calc(var(--case-y) - var(--case-gutter)), 0) scale(var(--case-scale-x), var(--case-scale-y));border-radius:1px}to{border-radius:0;transform:translate(0)scale(1)}}.case-study-grid{opacity:1;padding-top:24px;transition:opacity .45s .12s;display:block}.case-study.is-opening .case-study-grid{padding-top:calc(85svh - 24px);animation:.9s cubic-bezier(.76,0,.24,1) both case-study-grid-reveal}@keyframes case-study-grid-reveal{0%{opacity:0;transform:translateY(calc(15svh + 24px))}28%{opacity:0}to{opacity:1;transform:translate(0)}}.case-study-cycle{gap:24px;padding-bottom:24px;display:grid}.case-study-row{gap:24px;width:100%;display:grid;overflow:hidden}.case-study-row.is-full,.case-study-row.is-video{grid-template-columns:1fr}.case-study-row.is-split{grid-template-columns:var(--split-columns,minmax(0, 1fr) minmax(0, 1fr))}.case-study-row.is-mosaic{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.case-study-row.is-quad{grid-template-columns:1fr}.case-study-quad-row{gap:24px;min-width:0;display:grid}.case-study-quad-row.is-top{grid-template-columns:40fr 60fr}.case-study-quad-row.is-bottom{grid-template-columns:60fr 40fr}.case-study-quad-row{height:clamp(760px,60vw,1240px)}.case-study-column{flex-direction:column;gap:24px;min-width:0;display:flex}.case-study-column>:last-child{margin-top:auto}.case-study-mosaic-mobile{display:none}.case-study-row img,.case-study-row video{background:#000;width:100%;height:auto;min-height:1px;display:block}.case-study-row.is-split img,.case-study-row.is-split video,.case-study-quad-row img,.case-study-quad-row video{object-fit:cover;height:100%}.case-study-row.is-split img,.case-study-row.is-split video{aspect-ratio:1.18}.case-study-row.is-split.is-natural{align-items:start}.case-study-row.is-split.is-natural img,.case-study-row.is-split.is-natural video{aspect-ratio:auto;object-fit:contain;height:auto}.case-study-row.is-video video{object-fit:cover;max-height:100svh}.case-study-sentinel{height:1px}.preview-asset{aspect-ratio:1.62;clip-path:inset(0);opacity:0;transform-origin:50%;will-change:transform, clip-path, opacity, filter;width:min(24vw,400px);max-height:48vh;position:absolute;top:0;left:0}.media-preview video{object-fit:cover}.fluid-preview-canvas{width:100vw;height:100vh;position:absolute;inset:0}.fluid-video-source{opacity:0;width:1px;height:1px;position:absolute}.coming-soon-card{color:#fff;letter-spacing:0;background:#000;border:0;place-items:center;font-family:Instrument Serif,Georgia,serif;font-size:18px;font-style:italic;display:grid}.media-preview.is-visible .preview-asset{animation:.82s cubic-bezier(.16,1,.3,1) both preview-fluid-in}@keyframes preview-fluid-in{0%{clip-path:inset(42% 25% round 50%);filter:blur(7px);opacity:0;transform:translate3d(calc(var(--preview-x) + var(--preview-drift-x)), calc(var(--preview-y) + var(--preview-drift-y)), 0) rotate(var(--preview-tilt)) scale(.68, 1.24)}46%{clip-path:inset(0 round 3%);filter:blur();opacity:1;transform:translate3d(var(--preview-x), var(--preview-y), 0) rotate(calc(var(--preview-tilt) * -.18)) scale(1.055, .945)}70%{clip-path:inset(0 round .5%);opacity:1;transform:translate3d(var(--preview-x), var(--preview-y), 0) rotate(calc(var(--preview-tilt) * .06)) scale(.985, 1.018)}to{clip-path:inset(0);filter:blur();opacity:1;transform:translate3d(var(--preview-x), var(--preview-y), 0) rotate(0) scale(1)}}.emoji-cursor{z-index:30;opacity:0;pointer-events:none;font-size:22px;line-height:1;transition:opacity .12s;position:fixed;top:0;left:0;translate:-50% -50%}.emoji-cursor.is-visible{opacity:1}.dot-cursor{z-index:29;color:#fff;opacity:0;pointer-events:none;background:#000;border-radius:50%;place-items:center;width:7px;height:7px;transition:width .18s cubic-bezier(.22,1,.36,1),height .18s cubic-bezier(.22,1,.36,1),opacity 80ms;display:grid;position:fixed;top:0;left:0;translate:-50% -50%}.dot-cursor.is-visible{opacity:1}.dot-cursor svg{opacity:0;width:20px;height:20px;transition:opacity .1s,transform .18s cubic-bezier(.22,1,.36,1);transform:scale(.45)}.dot-cursor.is-video-hover,.dot-cursor.is-case-close{width:48px;height:48px}.dot-cursor.is-video-hover .expand-cursor-icon,.dot-cursor.is-case-close .close-cursor-icon{opacity:1;transform:scale(1)}.dot-cursor.is-case-close .expand-cursor-icon{opacity:0;transform:scale(.45)}.dot-cursor .close-cursor-icon{width:16px;height:16px;position:absolute}@media (pointer:fine){.home-shell,.home-shell a{cursor:none}}@media (width<=700px){.intro{width:360px;max-width:calc(100vw - 36px);font-size:24px;line-height:1.2;top:48%;transform:translate(-50%,-44%)}.intro h1 span{display:inline}.media-preview,.emoji-cursor,.dot-cursor{display:none}.project-link{cursor:pointer}.project-link.is-coming-soon{pointer-events:none}.project-link.is-coming-soon .link-letter{text-decoration:none}.case-study{--case-gutter:8px}.case-study-hero,.case-study.is-opening .case-study-hero{aspect-ratio:16/9;height:calc(56.25vw - 9px)}.case-study-grid{padding-top:8px}.case-study.is-opening .case-study-grid{padding-top:calc(56.25vw - 1px)}.case-study-cycle{gap:8px;padding-bottom:8px}.case-study-row,.case-study-quad-row,.case-study-column{gap:8px}.case-study-row.is-split,.case-study-row.is-mosaic,.case-study-quad-row.is-top,.case-study-quad-row.is-bottom{grid-template-columns:1fr}.case-study-quad-row{height:auto}.case-study-row.is-split img,.case-study-row.is-split video,.case-study-quad-row img,.case-study-quad-row video{aspect-ratio:auto;object-fit:contain;height:auto}.case-study-column>:last-child{margin-top:0}.case-study-mosaic-desktop{display:none}.case-study-mosaic-mobile{grid-column:1;gap:8px;display:grid}}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#11110f;--ink:#f7f6f2}.dot-cursor{background:var(--ink);color:var(--paper)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.configurator-shell{color:#11110f;background:#efeee9;min-height:100svh;overflow:hidden}.configurator-back{z-index:40;font-variation-settings:"wght" 900;letter-spacing:-.035em;font-family:Decagram,Arial,sans-serif;font-size:16px;font-weight:900;text-decoration:none;position:fixed;top:28px;left:30px}.configurator-stage{position:fixed;inset:0 340px 0 0}.configurator-stage .fluid-preview-canvas{z-index:2}.target-outline{z-index:1;pointer-events:none;border:1px dashed #11110f24;position:fixed;top:0;left:0}.config-refresh{z-index:30;color:#11110f;cursor:pointer;background:#efeee9;border:1px solid #11110f;border-radius:50%;place-items:center;width:48px;height:48px;padding:0 0 3px;font-family:Arial,sans-serif;font-size:25px;line-height:1;transition:color .18s,background .18s,transform .18s;display:grid;position:fixed;top:50%;left:calc(50vw - 170px);transform:translate(-50%,-50%)}.config-refresh:hover{color:#fff;background:#11110f;transform:translate(-50%,-50%)rotate(-20deg)}.config-panel{z-index:50;background:#f9f8f4;border-left:1px solid #11110f29;width:340px;height:100svh;padding:28px 26px;font-family:Arial,Helvetica,sans-serif;position:fixed;top:0;right:0;overflow-y:auto}.config-panel-header{justify-content:space-between;align-items:flex-start;margin-bottom:36px;display:flex}.config-panel-header p,.config-panel-header h1{margin:0}.config-panel-header p{color:#77756e;letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px;font-size:11px}.config-panel-header h1{font-family:Instrument Serif,Georgia,serif;font-size:25px;font-weight:400}.reset-button{color:#77756e;cursor:pointer;font:inherit;text-underline-offset:3px;background:0 0;border:0;font-size:12px;text-decoration:underline}.config-group{border-top:1px solid #11110f24;padding:22px 0 12px}.config-group h2{letter-spacing:.08em;text-transform:uppercase;margin:0 0 21px;font-size:11px;font-weight:700}.config-control{margin-bottom:20px;display:block}.config-control>span{color:#57564f;justify-content:space-between;margin-bottom:10px;font-size:12px;display:flex}.config-control output{color:#11110f;font-variant-numeric:tabular-nums}.config-auto-value{color:#57564f;justify-content:space-between;margin:0 0 20px;font-size:12px;display:flex}.config-auto-value span{color:#11110f;font-family:Instrument Serif,Georgia,serif;font-style:italic}.config-control input{accent-color:#11110f;cursor:ew-resize;width:100%;height:14px;margin:0}.config-hint{color:#77756e;margin:16px 0 0;font-family:Instrument Serif,Georgia,serif;font-size:15px;font-style:italic;line-height:1.3}@media (width<=760px){.configurator-shell{overflow:auto}.configurator-stage{height:58svh;position:relative;inset:auto}.configurator-stage .fluid-preview-canvas{position:fixed}.configurator-back{position:absolute}.config-refresh{top:29svh;left:50%}.config-panel{border-top:1px solid #11110f29;border-left:0;width:100%;height:auto;min-height:42svh;position:relative}}@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}
