/*! 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)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:host,:root{--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;--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{*,::backdrop,:after,:before{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}:host,html{-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]){-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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{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}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,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,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-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,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.absolute,.sr-only{position:absolute}.block{display:block}.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,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.lowercase{text-transform:lowercase}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.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:Gasoek One;src:url(/fonts/gasoek-one.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Grandiflora One;src:url(/fonts/grandiflora-one.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Poppins;src:url(/fonts/poppins.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--bg:#000b15;--ink:#fff;--muted:#b7c3cd;--accent:#78b7ff;--line:#52606b;--neutral:#d9d9d9;--art:#b9cedb;--media-bg:#18222b;--display:"Grandiflora One",Georgia,serif;--heading-size:clamp(3.5rem,6.67vw,6rem);--heading-leading:1.25;--card-radius:46px;--section-heading-size:clamp(1.75rem,3vw,2.6rem);color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-color:var(--line) var(--bg);scroll-padding-top:130px}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Poppins,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}a,button,input,select{touch-action:manipulation;outline-offset:7px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent)}button{cursor:pointer}button:disabled{cursor:default}svg{flex-shrink:0}p{line-height:1.65}h1,h2,h3,p{overflow-wrap:anywhere;margin:0}h1,h2{font-family:var(--display);letter-spacing:-.025em;font-weight:400;line-height:1.45}h1{font-size:clamp(3.5rem,6.67vw,6rem)}h2{font-size:clamp(3.2rem,6.67vw,6rem)}h3{letter-spacing:-.03em;font-size:clamp(1.5rem,2.8vw,2.8rem);font-weight:400;line-height:1.3}::selection{background:var(--accent);color:var(--bg)}.shell{width:min(1326px,92%);margin:0 auto}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{background:var(--ink);color:var(--bg);z-index:30;padding:12px;position:fixed;top:-80px;left:15px}.skip-link:focus{top:10px}header{z-index:10;border-bottom:1px solid var(--neutral);background:var(--bg);justify-content:space-between;align-items:center;gap:30px;min-height:104px;padding:15px 10px;display:flex;position:sticky;top:0}.wordmark,nav{letter-spacing:.025em;font-family:Gasoek One,sans-serif;font-size:clamp(1.05rem,1.8vw,1.625rem);font-weight:400;line-height:1.3}.wordmark{align-items:center;min-width:44px;min-height:44px;display:inline-flex}nav{gap:clamp(30px,6vw,90px);padding-right:30px;display:flex}nav a{align-items:center;min-height:44px;display:inline-flex}nav a:hover{color:var(--accent)}.hero{text-align:center;place-items:center;min-height:calc(100svh - 104px);padding:100px 0 140px;display:grid}.hero-copy{min-width:0;max-width:min(1050px,100%)}.hero-actions{gap:35px;margin-top:70px;display:flex}.hero-actions,.pill{justify-content:center}.pill{overflow-wrap:anywhere;border:1px solid var(--ink);border-radius:52px;align-items:center;min-width:min(291px,100%);max-width:100%;min-height:67px;padding:8px 30px;font-size:clamp(1rem,2.23vw,2rem);line-height:1.5;transition:background .2s,color .2s,border-color .2s;display:inline-flex}.pill:hover{background:var(--accent);border-color:var(--accent);color:var(--bg)}.pill-filled{background:var(--neutral);color:var(--bg);border-color:var(--neutral)}.introduction{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);align-items:center;gap:7%;min-height:calc(100svh - 104px);padding:120px 6%;display:grid}.intro-copy>p{max-width:650px;margin-top:40px;font-size:clamp(1.1rem,1.8vw,1.6rem)}.intro-visual{flex-direction:column;align-items:center;gap:30px;min-width:0;display:flex}.intro-visual .pill{width:100%;min-width:0;padding-inline:15px;font-size:clamp(1rem,1.7vw,1.5rem)}.motion{width:100%;height:460px;position:relative}.intro-art{position:absolute;inset:0}.intro-art canvas{inset:0;position:absolute!important}.black-hole-poster{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.intro-art[data-vortex-ready=true] .black-hole-poster{visibility:hidden}.motion-toggle{white-space:nowrap;border:0;border-bottom:1px solid var(--line);color:var(--muted);background:0 0;padding:6px;font-size:12px;position:absolute;bottom:0;right:50%;transform:translate(50%)}.selected-work{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start;gap:7%;padding:130px 6%;display:grid}.work-copy{grid-area:1/2;align-self:start;min-width:0;position:sticky;top:140px}.work-copy h2{font-size:clamp(3rem,6.2vw,5.6rem)}.work-copy h2 span{margin-left:.35em;display:block}.work-copy>p{max-width:430px;margin:35px 0 45px;font-size:clamp(1.1rem,1.9vw,1.7rem)}.work-more .pill{width:min(291px,100%);min-width:0;font-size:clamp(1rem,2vw,1.8rem)}.work-list,.work-window{grid-area:1/1;min-width:0}.work-list{gap:60px;display:grid}.work-entry{padding-left:30px;position:relative}.work-more{flex-shrink:0;padding-left:30px}.work-dot{left:-24px;top:var(--title-center,50%);background:var(--accent);border-radius:50%;width:28px;height:28px;position:absolute;translate:0 -50%}.work-card{isolation:isolate;text-align:left;border-radius:var(--card-radius);transform-origin:50%;background:#ffffff0f;border:1px solid #ffffff26;flex-direction:column;justify-content:center;min-height:405px;padding:38px 38px 64px;transition:background .2s;display:flex;position:relative;overflow:hidden}.work-card:focus-visible,.work-card:hover{background:#ffffff18}.work-card p{max-width:calc(100% - 44px);margin:20px 0 30px;font-size:clamp(1rem,1.5vw,1.3rem);line-height:1.65}.work-card-bottom{color:var(--muted);justify-content:flex-end;align-items:center;margin-top:auto;font-size:12px;display:flex}.work-card-action{color:var(--ink);letter-spacing:.02em;align-items:center;gap:12px;font-size:clamp(.85rem,1.4vw,1rem);transition:color .2s;display:inline-flex}.circle-arrow{border:1px solid var(--ink);width:34px;height:34px;color:var(--ink);border-radius:50%;place-items:center;transition:background-color .2s,border-color .2s,color .2s;display:grid}.catalog-project:focus-visible .circle-arrow,.catalog-project:hover .circle-arrow,.work-card:focus .circle-arrow,.work-card:focus-visible .circle-arrow,.work-card:hover .circle-arrow{background:var(--accent);border-color:var(--accent);color:var(--bg)}.work-card:focus .work-card-action,.work-card:focus-visible .work-card-action,.work-card:hover .work-card-action{color:var(--accent)}.circle-arrow svg{width:21px;height:21px}.work-cover{object-fit:cover;border-radius:inherit;filter:blur(2px);width:100%;height:100%;max-height:none;margin:0;display:block;transform:scale(1.03)}.work-card:after,.work-cover{z-index:0;pointer-events:none;position:absolute;inset:0}.work-card:after{content:"";background:linear-gradient(#000b15a3,#000b15a3 45%,#000b15e6)}.work-card>:not(.work-cover){z-index:1;position:relative}.work-card .work-card-bottom{margin:0;position:absolute;bottom:28px;right:28px}.work-card:focus-visible{outline:2px solid var(--accent);outline-offset:-4px}.connect{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:calc(100svh - 195px);padding:140px 0 180px;display:flex}.connect h2{max-width:min(1000px,100%)}.contact-links{justify-content:center;margin-top:55px;display:flex}.contact-links .pill{gap:22px;min-width:220px;font-size:1.25rem}.contact-links svg{width:22px;height:22px}footer{border-top:1px solid var(--line);justify-content:space-between;gap:24px;padding:30px 10px 85px}.footer-signature,footer{align-items:center;display:flex}.footer-signature{gap:28px}.footer-signature .wordmark{font-size:1.25rem}.footer-signature p{color:var(--muted);font-size:.75rem}.footer-signature p span{white-space:nowrap;display:inline-block}.footer-socials{gap:12px;display:flex}.footer-socials a{border:1px solid #0000;border-radius:50%;place-items:center;width:44px;height:44px;transition:color .2s,border-color .2s;display:grid}.footer-socials a:hover{color:var(--accent);border-color:var(--line)}.footer-socials svg{width:22px;height:22px}.text-link{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:25px;padding:10px 0;font-size:17px;transition:border-color .2s;display:inline-flex}.text-link:hover{color:var(--accent);border-color:var(--accent)}.section{padding:38px 0 65px}.project-row,.section{border-top:1px solid var(--line)}.project-row{grid-template-columns:40px minmax(0,1.1fr) minmax(0,1fr) 30px;align-items:center;gap:30px;min-height:135px;padding:28px 0;display:grid}.project-row:last-child{border-bottom:1px solid var(--line)}.project-row h3{font-size:clamp(1.3rem,2.4vw,2rem)}.row-number{color:var(--muted);font-variant-numeric:tabular-nums;align-self:start;padding-top:5px;font-size:13px}.project-meta{color:var(--muted);margin-top:12px;font-size:12px;line-height:1.5;display:block}.project-row p{color:var(--muted);max-width:390px;font-size:14px}.row-arrow{transition:transform .2s}.project-row:hover .row-arrow{transform:translate(6px)}.project-row:hover h3{text-underline-offset:6px;text-decoration:underline}.interior{min-height:75vh;padding:90px 0 100px}.page-intro{justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:65px;display:flex}.page-intro p{color:var(--muted);max-width:370px;padding-bottom:7px}.filters{border-block:1px solid var(--line);align-items:flex-end;gap:20px;margin-bottom:24px;padding:25px 0;display:flex}.filters>div:first-child{flex:1}.filters label{color:var(--muted);margin-bottom:10px;font-size:12px;display:block}.filters input,.filters select{border:1px solid var(--line);background:var(--bg);min-height:48px;color:var(--ink);border-radius:0;width:100%;max-width:100%;padding:13px 14px;font-size:14px}.filters select{min-width:165px}.results{color:var(--muted);margin-bottom:22px;font-size:13px}.empty{padding:60px 0}.empty p{margin:20px 0}.detail{max-width:1100px}.back{min-height:44px;color:var(--muted);align-items:center;gap:12px;margin-bottom:60px;font-size:14px;display:inline-flex}.detail-type{text-transform:uppercase;letter-spacing:.13em;color:var(--accent);margin-bottom:25px;font-size:11px}.detail h1{overflow-wrap:anywhere;max-width:1000px}.lede{color:var(--muted);max-width:70ch;margin-top:32px;font-size:clamp(1rem,1.5vw,1.3rem);line-height:1.65}.detail-links{flex-wrap:wrap;gap:16px;margin-top:25px;display:flex}.facts{border-block:1px solid var(--line);grid-template-columns:1.5fr 1fr 1fr;gap:40px;margin:65px 0 55px;padding:30px 0;display:grid}dt{color:var(--muted);margin-bottom:12px;font-size:12px}dd{margin:0;font-size:15px;line-height:1.6}.overview-note{max-width:750px;margin-bottom:50px}.overview-note h2{margin-bottom:20px}.narrative p,.overview-note p{color:var(--muted);white-space:pre-line}.narrative section{margin:55px 0}.narrative h2{margin-bottom:20px}.about-page .section{grid-template-columns:1fr 1fr;gap:8%;margin-top:70px;display:grid}.about-page .section p{color:var(--muted);margin-bottom:25px}.setup ol{max-width:800px;margin:40px 0;padding-left:22px}.setup li{color:var(--muted);margin-bottom:18px;line-height:1.8}code{color:var(--ink);font-size:.9em}.setup .text-link{margin-top:25px}.project-cover{border-radius:var(--card-radius);object-fit:contain;background:var(--media-bg);width:100%;height:auto;max-height:800px;margin:45px 0;display:block}@media (min-width:1600px){.hero{min-height:920px}}@media (max-width:1100px){.introduction,.selected-work{gap:6%;padding-inline:3%}.work-card{padding:28px 28px 64px}.work-dot{width:20px;height:20px;left:-12px}.work-copy{top:150px}.work-copy h2{font-size:4rem}.motion{height:380px}.pill{min-width:min(240px,100%)}.contact-links{gap:30px 50px}.filters{flex-wrap:wrap}.filters>div:first-child{flex:100%}.filters>div{flex:1}}@media (max-width:900px){header{min-height:86px}nav{gap:30px;padding-right:0}.hero{min-height:calc(100svh - 86px);padding:100px 0}.hero h1{font-size:clamp(3.4rem,7.7vw,4.8rem)}.hero-actions{gap:25px;margin-top:50px}.pill{min-width:min(220px,100%);min-height:57px;font-size:1.25rem}.introduction{gap:5%;padding-block:100px}.intro-copy>p{font-size:1rem}.motion{height:340px}.selected-work{row-gap:0;padding-block:90px}.work-copy{grid-area:1/1/auto/-1;max-width:600px;margin-bottom:45px;position:static}.work-copy h2 br{display:none}.work-copy h2 span{margin-left:0;display:inline}.work-copy h2{font-size:4.5rem}.work-copy>p{max-width:470px}.work-window{grid-area:2/1/auto/-1}.work-list{gap:30px}.work-entry,.work-more{padding-left:0}.work-dot{display:none}.work-card{min-height:320px}.work-card h3{font-size:2.5rem}.work-card p{max-width:60ch;font-size:1.1rem}.connect{padding:100px 0 120px}.contact-links{margin-top:65px}.project-row{grid-template-columns:25px 1fr 1fr 20px;gap:20px}.page-intro p{max-width:280px}}@media (max-width:600px){html{scroll-padding-top:95px}.shell{width:90%}header{gap:16px;min-height:76px;padding:10px 0}.wordmark{font-size:18px}nav{letter-spacing:.025em;gap:15px;font-size:13px}.hero{min-height:calc(100svh - 76px);padding:80px 0 100px}.hero h1{font-size:clamp(2.9rem,11.4vw,4rem);line-height:1.55}.hero-actions{flex-direction:column;align-items:center;gap:18px;margin-top:45px}.pill{min-width:min(215px,100%);min-height:52px;font-size:1.1rem}.introduction{grid-template-columns:minmax(0,1fr);gap:35px;min-height:0;padding:80px 0}.intro-copy h2{font-size:3.8rem}.intro-copy>p{margin-top:25px;font-size:1rem}.intro-visual{justify-self:center;gap:20px;width:100%;max-width:360px}.intro-visual .pill{width:auto;padding-inline:25px}.motion{height:330px}.selected-work{padding:80px 0}.work-copy{margin-bottom:35px}.work-copy h2{font-size:3.6rem}.work-copy>p{margin:25px 0 30px;font-size:1.1rem}.work-more .pill{width:auto;min-width:min(200px,100%);font-size:1.1rem}.work-card{border-radius:var(--card-radius);min-height:340px;padding:25px 25px 64px}.work-card h3{font-size:2rem}.work-card p{font-size:1rem}.connect{min-height:0;padding:70px 0 90px}.connect h2{font-size:clamp(2.8rem,11vw,3.7rem);line-height:1.5}.contact-links{grid-template-columns:1fr;gap:30px;width:100%;margin:50px 0 0;padding-inline:15px}.contact-links span{overflow-wrap:anywhere;justify-content:space-between;gap:10px;font-size:1.1rem}footer{gap:10px;padding:20px 0;font-size:11px}footer>a{font-size:15px}.project-row{grid-template-columns:22px 1fr 22px;gap:12px;min-height:145px;padding:25px 0}.project-row h3{font-size:24px}.project-row p{grid-column:2;max-width:none;font-size:13px}.project-meta{margin-top:8px;font-size:11px}.row-arrow{grid-area:1/3}.text-link{font-size:15px}.interior{padding:55px 0 65px}.page-intro{margin-bottom:40px;display:block}.page-intro p{margin-top:25px;font-size:15px}.filters{gap:16px}.filters>div{flex:100%}.filters button,.filters select{width:100%}.back{margin-bottom:40px}.detail-type{font-size:10px}.facts{grid-template-columns:1fr;gap:24px;margin:40px 0}.about-page .section{margin-top:45px;display:block}.about-page .section>div{margin-top:25px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{transition:none!important;animation:none!important}.hero-copy,.work-card,.work-dot{opacity:1!important;transform:none!important}}.prototype-icons{flex-wrap:wrap;align-items:center;gap:35px;margin-top:60px;display:flex}.prototype-icons .prototype-icon{width:48px;height:48px}.prototype-icons>a,.prototype-icons>span{justify-content:center;align-items:center;min-width:44px;min-height:44px;display:inline-flex}.prototype-icons>a:hover{color:var(--accent)}.motion-toggle{z-index:20;background:var(--bg);border:1px solid var(--line);border-radius:24px;min-height:44px;padding:8px 16px;position:fixed;bottom:18px;right:4%;transform:none}.home[data-pinned] .story-stage{isolation:isolate;height:calc(100svh - 104px);position:relative;overflow:clip}.home[data-pinned] .story-stage>section{height:100%;min-height:0;margin:0;position:absolute;inset:0;overflow:clip}.home[data-pinned] .hero{padding:50px 0 80px}.home[data-pinned] .introduction{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:5%;padding:55px 6%}.home[data-pinned] .intro-copy>p{margin-top:35px;font-size:clamp(1.1rem,2.23vw,2rem)}.home[data-pinned] .intro-copy h2{font-size:clamp(3.5rem,6.67vw,6rem)}.home[data-pinned] .motion{height:clamp(300px,45svh,490px)}.home[data-pinned] .selected-work{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:center;gap:6%;padding:60px 6%}.home[data-pinned] .work-copy{align-self:center;position:static}.home[data-pinned] .work-copy h2{font-size:clamp(3.5rem,6.67vw,6rem)}.home[data-pinned] .work-copy>p{margin:30px 0;font-size:clamp(1.1rem,2.23vw,2rem)}.home[data-pinned] .work-window{align-self:center;height:min(860px,100svh - 160px);padding-block:12px;overflow:visible}.home[data-pinned] .work-list{flex-direction:column;gap:16px;display:flex}.home[data-pinned] .work-entry{flex-shrink:0;padding-left:55px;position:relative}.home[data-pinned] .work-more{padding-left:55px}.home[data-pinned] .work-card{border-radius:var(--card-radius);background:0 0;border-color:#0000;height:60px;min-height:0;padding:8px 28px;transition:none;position:relative;overflow:hidden}.home[data-pinned] .work-card h3{white-space:nowrap;-webkit-line-clamp:2;font-size:clamp(1.25rem,2.23vw,2rem)}.home[data-pinned] .work-card h3,.home[data-pinned] .work-card p{-webkit-box-orient:vertical;flex-shrink:0;display:-webkit-box;overflow:hidden}.home[data-pinned] .work-card p{-webkit-line-clamp:3;margin:12px 0;font-size:clamp(.9rem,1.5vw,1.3rem);line-height:1.55}.home[data-pinned] .work-card-bottom{flex-shrink:0}.home[data-pinned] .work-entry[data-active=false] .work-card-bottom{display:none}.home[data-pinned] .work-dot{width:28px;height:28px;left:4px}.home[data-pinned] .work-entry[data-active=false] .work-dot{background:var(--muted);transform:scale(.65)}.home[data-pinned] .work-entry[data-active=false] h3{color:var(--muted)}.home[data-pinned] .connect{padding:55px 0 75px}.home[data-pinned] .contact-links{gap:35px 65px;margin-top:65px}@media (max-width:900px){.home[data-pinned] .story-stage{height:calc(100svh - 86px)}.home[data-pinned] .hero{padding:40px 0 60px}.home[data-pinned] .introduction{text-align:center;justify-content:center;gap:15px;padding:25px 4%}.home[data-pinned] .intro-copy,.home[data-pinned] .introduction{flex-direction:column;align-items:center;display:flex}.home[data-pinned] .intro-copy h2{font-size:clamp(2.5rem,8vw,3.8rem);line-height:1.2}.home[data-pinned] .intro-copy>p{max-width:480px;margin-top:12px;font-size:clamp(.95rem,2.2vw,1.15rem)}.home[data-pinned] .prototype-icons{justify-content:center;gap:20px;margin-top:15px}.home[data-pinned] .intro-visual{gap:12px;width:100%;max-width:320px}.home[data-pinned] .intro-visual .motion{height:clamp(160px,24svh,230px)}.home[data-pinned] .intro-visual .pill{min-width:min(200px,100%);min-height:46px;font-size:.95rem}.home[data-pinned] .selected-work{flex-direction:column;justify-content:center;align-items:stretch;gap:6px;padding:24px 4% 16px;display:flex}.home[data-pinned] .work-copy{text-align:center;flex-direction:column;flex-shrink:0;align-items:center;margin-bottom:6px;display:flex}.home[data-pinned] .work-copy h2{text-align:left;width:max-content;max-width:100%;font-size:clamp(2.8rem,15vw,4rem);line-height:1.15}.home[data-pinned] .work-copy h2 br{display:initial}.home[data-pinned] .work-copy h2 span{margin-left:.35em;display:block}.home[data-pinned] .work-copy>p{max-width:440px;margin:18px 0 12px;font-size:.875rem;line-height:1.65}.home[data-pinned] .work-window{flex:1;width:100%;height:auto;min-height:0;padding-block:4px;overflow:hidden}.home[data-pinned] .work-list{gap:12px}.home[data-pinned] .work-entry{padding-left:0}.home[data-pinned] .work-more{text-align:center;padding-left:0}.home[data-pinned] .work-dot{width:20px;height:20px;left:4px}.home[data-pinned] .work-card{border-radius:var(--card-radius);height:44px;padding:8px 20px}.home[data-pinned] .work-card h3{font-size:clamp(1.1rem,3.8vw,1.4rem)}.home[data-pinned] .work-card p{margin:10px 0;font-size:clamp(.85rem,2.8vw,1rem)}.home[data-pinned] .connect{justify-content:center;padding:40px 4% 60px}.home[data-pinned] .connect h2{font-size:clamp(2.5rem,8vw,3.6rem);line-height:1.25}.home[data-pinned] .contact-links{gap:20px 30px;margin-top:35px}}@media (max-width:600px){.home[data-pinned] .story-stage{height:calc(100svh - 76px)}.home[data-pinned] .contact-links{grid-template-columns:1fr;gap:18px;margin-top:30px;padding-inline:10px}.home[data-pinned] .work-card{border-radius:var(--card-radius)}}@media (min-width:901px) and (max-height:799px){.home[data-pinned] .work-card{height:48px}}@media (max-width:900px){.prototype-icons{gap:25px;margin-top:35px}.prototype-icons .prototype-icon{width:38px;height:38px}}@media (max-width:600px){.prototype-icons{gap:25px}.contact-links .prototype-icon,.prototype-icons .prototype-icon{width:32px;height:32px}.contact-links>a{gap:20px}.motion-toggle{font-size:11px;bottom:12px;right:15px}}.home[data-preview]:not([data-pinned]) .work-entry[data-active=false] .work-card{background:0 0;border-color:#0000;min-height:0;padding-block:12px}.home[data-preview] .work-entry[data-active=false] :is(.work-card p,.work-card-bottom){display:none}.home[data-preview]:not([data-pinned]) .work-entry[data-active=false] h3{color:var(--muted);font-size:clamp(1.4rem,2.5vw,2rem)}.home[data-preview]:not([data-pinned]) .work-list{gap:20px}.home[data-preview]:not([data-pinned]) .work-entry[data-neighbor=true] .work-card{background:#ffffff0c;border-color:#ffffff13;height:130px;min-height:0;padding:12px 28px;overflow:hidden}.home[data-preview]:not([data-pinned]) .work-entry[data-neighbor=true] .work-card h3{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:clamp(1.7rem,2.7vw,2.4rem);display:-webkit-box;overflow:hidden}.home[data-preview]:not([data-pinned]) .work-cover{transition:opacity .45s}.home[data-preview]:not([data-pinned]) .work-entry[data-active=false][data-neighbor=false] .work-cover{opacity:0}header nav{letter-spacing:.03em;gap:clamp(8px,2.4vw,38px);padding-right:0;font-size:clamp(.8rem,1.15vw,1rem)}header nav a{padding:0 8px;transition:color .2s;position:relative}.shell:has(.about-page) header a[href="/#about"],.shell:has(.catalog,.detail) header a[href="/#work"],.shell:has(.home[data-scene=about]) header a[href="/#about"],.shell:has(.home[data-scene=connect]) header a[href="/#connect"],.shell:has(.home[data-scene=work]) header a[href="/#work"]{color:var(--accent)}@media (max-width:900px){.introduction{text-align:center}.prototype-icons{justify-content:center}.work-copy{text-align:center;align-self:center;width:100%}.work-copy h2{text-align:left;width:max-content;max-width:100%;margin-inline:auto;font-size:clamp(2.8rem,15vw,4rem);line-height:1.15}.work-copy h2 br{display:initial}.work-copy h2 span{margin-left:.35em;display:block}.contact-links,.home[data-pinned] .contact-links{width:auto;margin:35px 0 0;padding:0}}@media (max-width:600px){header nav{gap:4px;font-size:.75rem}header nav a{padding-inline:7px}.footer-signature{flex-direction:column;align-items:flex-start;gap:6px}footer{align-items:flex-start;gap:12px;padding:26px 0 80px}.footer-socials{gap:4px}.footer-signature p{max-width:160px;font-size:.75rem}.contact-links .pill{min-width:min(220px,100%);font-size:1.1rem}}@media (max-width:900px){.home[data-pinned] .work-card p{-webkit-line-clamp:2}}@media (max-width:360px){.home[data-pinned] .prototype-icons{gap:8px}}.shell:has(.home[data-pinned])>footer{z-index:5;background:var(--bg);visibility:hidden;opacity:0;pointer-events:none;width:min(1326px,92%);transition:opacity .25s;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.shell:has(.home[data-pinned][data-scene=connect])>footer{visibility:visible;opacity:1;pointer-events:auto}.home[data-pinned] .connect{padding-bottom:200px}@media (max-width:600px){.shell:has(.home[data-pinned])>footer{width:90%}}.home .story-stage .connect h2,.home .story-stage .hero h1,.home .story-stage .intro-copy h2,.home .story-stage .work-copy h2{font-size:var(--heading-size);line-height:var(--heading-leading)}@media (max-width:900px){:root{--heading-size:clamp(2.5rem,11vw,3.75rem);--card-radius:28px}}@media (max-width:600px){:root{--card-radius:24px}}@media (max-width:900px){.home .story-stage .introduction{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.home .story-stage .intro-copy,.home .story-stage .intro-visual{display:contents}.home .story-stage .intro-copy h2{order:0;max-width:100%}.home .story-stage .intro-visual .motion{order:1;width:min(320px,100%);height:clamp(140px,22svh,200px)}.home .story-stage .intro-copy>p{order:2;max-width:480px;margin-top:0}.home .story-stage .prototype-icons{order:3;margin-top:0}.home .story-stage .intro-visual .pill{order:4;width:auto;max-width:100%}.home[data-pinned] .introduction{gap:12px;padding:20px 4%}}header .wordmark{transition:color .2s}.shell:has(.home[data-scene=hero]) header .wordmark,header .wordmark:hover{color:var(--accent)}.footer-signature p .footer-credit{align-items:center;gap:4px;display:inline-flex}.catalog .page-intro{align-items:center;margin-bottom:48px;display:flex}.catalog .page-intro p{max-width:340px;padding:0;font-size:14px}.catalog .filters{grid-template-columns:minmax(0,1fr) minmax(180px,.5fr) minmax(180px,.5fr) auto;gap:20px;margin:0;padding:24px 0;display:grid}.catalog .filters>div{min-width:0}.catalog .filters input,.catalog .filters select{background:var(--bg);border-radius:12px;min-width:0;min-height:50px;transition:border-color .2s}.catalog .filters input::placeholder{color:var(--muted);opacity:1}.catalog .filters input:hover,.catalog .filters select:hover{border-color:var(--accent)}.catalog-search-field{position:relative}.catalog-search-field svg{color:var(--muted);pointer-events:none;position:absolute;top:15px;left:16px}.catalog .filters input{padding-left:46px}.catalog .filters button{min-width:0;min-height:50px;padding:12px 25px;font-size:14px}.catalog-status{justify-content:space-between;align-items:baseline;gap:20px;padding:22px 0 30px;display:flex}.catalog-status .results{margin:0}.catalog-reset{min-height:44px;color:var(--muted);text-underline-offset:5px;flex-shrink:0;align-items:center;font-size:13px;text-decoration:underline;display:inline-flex}.catalog-reset:hover{color:var(--accent)}.catalog-grid{grid-template-columns:1fr;gap:48px;display:grid}.catalog-grid article{min-width:0}.catalog-project{border-radius:var(--card-radius);grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:40px;display:grid}.catalog-preview{aspect-ratio:8/5;border-radius:var(--card-radius);background:var(--media-bg);overflow:hidden}.catalog-preview img{object-fit:cover;width:100%;height:100%;transition:transform .3s ease-out;display:block}.catalog-project:hover img{transform:scale(1.025)}.catalog-details{flex-direction:column;min-width:0;display:flex}.catalog-caption{justify-content:space-between;align-items:center;gap:24px;margin-top:0;transition:color .2s;display:flex}.catalog-caption h2{letter-spacing:-.02em;font-family:inherit;font-size:clamp(1.25rem,2vw,1.75rem);line-height:1.4}.catalog-project:focus-visible .catalog-caption,.catalog-project:hover .catalog-caption{color:var(--accent)}.catalog-summary{max-width:55ch;font-size:14px;line-height:1.65}.catalog-meta,.catalog-summary{color:var(--muted);margin-top:14px}.catalog-meta{font-size:12px;line-height:1.8}.catalog-meta>span[aria-hidden]{margin-inline:6px}.catalog-pending{margin-top:3px;display:block}.catalog .catalog-pagination{border-top:1px solid var(--line);letter-spacing:normal;justify-content:space-between;align-items:center;gap:20px;margin-top:56px;padding:28px 0 0;font-family:inherit;font-size:14px;display:flex}.catalog-page-step,.catalog-pagination a{border-radius:999px;justify-content:center;align-items:center;min-width:44px;min-height:44px;display:inline-flex}.catalog-pagination a:hover{color:var(--accent)}.catalog-pagination [aria-current=page]{background:var(--accent);color:var(--bg)}.catalog-pagination [aria-current=page]:hover{color:var(--bg)}.catalog-pagination [aria-disabled]{color:var(--muted);opacity:.55}.catalog-page-item,.catalog-page-numbers{align-items:center;gap:6px;display:flex}.catalog-page-gap{color:var(--muted);padding-inline:4px}.catalog-page-summary{color:var(--muted);display:none}@media (max-width:1000px){.catalog .filters{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog .filters button{width:100%}.catalog .page-intro{flex-direction:column;align-items:flex-start;gap:24px}.catalog .page-intro p{margin:0}}@media (max-width:800px){.catalog-project{grid-template-columns:1fr;gap:20px}}@media (max-width:600px){.catalog .page-intro{margin-bottom:32px}.catalog .filters{gap:18px 12px}.catalog .catalog-search,.catalog .filters button{grid-column:1/-1}.catalog-grid{gap:36px}.catalog-status{align-items:flex-start;padding-bottom:24px}.catalog-meta,.catalog-summary{margin-top:10px}.catalog .catalog-pagination{gap:12px;margin-top:40px}.catalog-page-numbers{display:none}.catalog-page-summary{display:block}.catalog .filters select{padding-inline:10px;font-size:13px}}.catalog .page-intro h1,.interior>h1{font-size:var(--heading-size);line-height:var(--heading-leading);letter-spacing:-.025em}.interior :is(.overview-note,.narrative,.section,.empty)>h2,.narrative section>h2{font-size:var(--section-heading-size);letter-spacing:-.025em;line-height:1.4}.interior .pill-compact{gap:16px;min-width:0;min-height:50px;padding:12px 24px;font-size:14px}.interior>.page-message{color:var(--muted);max-width:70ch;margin-block:32px}.back:hover{color:var(--accent)}.back svg{transform:rotate(180deg)}.about-page .section p,.narrative p{max-width:70ch}@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}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}