:root{--bg: #0f0e0c;--bg-soft: #141310;--ink: #f1efe9;--ink-dim: rgba(241, 239, 233, .55);--ink-faint: rgba(241, 239, 233, .28);--hairline: rgba(241, 239, 233, .12);--red: #ed1c24;--font: "Archivo", "Helvetica Neue", sans-serif;--mono: "Geist Mono", ui-monospace, monospace;--pad: clamp(20px, 4vw, 64px)}html[data-theme=light]{--bg: #fffafa;--bg-soft: #f4efee;--ink: #101b26;--ink-dim: rgba(16, 27, 38, .62);--ink-faint: rgba(16, 27, 38, .34);--hairline: rgba(16, 27, 38, .14)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:auto}body{background:var(--bg);color:var(--ink);font-family:var(--font);font-weight:400;-webkit-font-smoothing:antialiased;overflow-x:hidden;transition:background .45s ease,color .45s ease}::-moz-selection{background:var(--red);color:snow}::selection{background:var(--red);color:snow}body:before{content:"";position:fixed;inset:-60px;z-index:999;pointer-events:none;opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");background-size:220px 220px;animation:grain-shift 1.1s steps(4) infinite}html[data-theme=light] body:before{opacity:.035;mix-blend-mode:multiply}@keyframes grain-shift{0%{transform:translate(0)}25%{transform:translate(-2%,3%)}50%{transform:translate(2%,-3%)}75%{transform:translate(-3%,-2%)}to{transform:translate(0)}}@media (prefers-reduced-motion: reduce){body:before{animation:none}}a{color:var(--ink);text-decoration:none}a:hover{color:var(--red)}.mono{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-dim)}.line{display:block;overflow:hidden}.line-inner{display:inline-block;will-change:transform}@media (pointer: fine){body,a,button,input,textarea,label{cursor:none}}.cursor{position:fixed;top:0;left:0;width:10px;height:10px;border-radius:50%;background:snow;mix-blend-mode:difference;pointer-events:none;z-index:200;transform:translate(-50%,-50%);opacity:0}@media (pointer: coarse){.cursor{display:none}}.panel{min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:clamp(90px,12vh,140px) var(--pad) clamp(48px,8vh,100px);position:relative}.nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;gap:32px;padding:16px var(--pad);transition:background .4s ease,backdrop-filter .4s ease}.nav.scrolled{background:color-mix(in srgb,var(--bg) 74%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--hairline)}.nav-brand{display:flex;flex-direction:column;gap:3px;line-height:0}.nav-brand:hover{color:var(--ink)}.nav-lockup{display:block;width:98px;color:var(--ink)}.nav-lockup svg{width:100%;height:auto;display:block}.nav-links{display:flex;gap:28px;margin-left:auto}.nav-links a{font-size:14px;color:var(--ink-dim)}.nav-links a:hover,.nav-links a.active{color:var(--ink)}.theme-toggle{width:34px;height:34px;border-radius:50%;border:1px solid var(--hairline);background:transparent;display:flex;align-items:center;justify-content:center;transition:border-color .3s ease}.theme-toggle:hover{border-color:var(--ink-dim)}.theme-dot{width:12px;height:12px;border-radius:50%;background:var(--ink);display:block;transition:background .45s ease,box-shadow .3s ease}html[data-theme=light] .theme-dot{box-shadow:inset -3px -2px 0 0 var(--bg)}.nav-cta{font-size:14px;padding:10px 22px;border:1px solid var(--hairline);border-radius:999px;transition:background .3s ease,border-color .3s ease,color .3s ease}.nav-cta:hover{background:var(--red);border-color:var(--red);color:snow}.hero{justify-content:flex-end;overflow:hidden}.hero-mark{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);width:min(58vmin,560px);opacity:.55;will-change:transform}.hero-mark svg{width:100%;height:auto;display:block;overflow:visible}.hero-mark .mark-nine{filter:drop-shadow(0 0 18px rgba(237,28,36,.35))}.hero-3d{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);width:min(74vmin,700px);height:min(74vmin,700px);opacity:0;pointer-events:none;will-change:transform,opacity}.hero-3d.ready{opacity:.42}.hero-3d canvas{width:100%!important;height:100%!important;display:block}.hero-vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 90% 70% at 50% 40%,transparent 25%,var(--bg) 100%),linear-gradient(to top,var(--bg) 12%,transparent 55%)}.hero-title,.hero-foot,.hero-scroll{position:relative;z-index:2}.hero-title{font-size:clamp(56px,9.5vw,168px);line-height:.94;font-weight:600;letter-spacing:-.045em;margin-bottom:clamp(28px,5vh,56px)}.hero-title .dot{color:var(--red)}.hero-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;border-top:1px solid var(--hairline);padding-top:24px}.hero-sub{max-width:46ch;font-size:clamp(15px,1.25vw,19px);line-height:1.55;color:var(--ink-dim)}.hero-cities{white-space:nowrap}.hero-scroll{position:absolute;right:var(--pad);top:42vh;display:flex;flex-direction:column;align-items:center;gap:10px;font-size:10px}.scroll-line{width:1px;height:56px;background:var(--ink-faint);display:block;transform-origin:top;animation:scrollPulse 2.2s ease-in-out infinite}@keyframes scrollPulse{0%{transform:scaleY(0)}50%{transform:scaleY(1)}to{transform:scaleY(0);transform-origin:bottom}}@media (prefers-reduced-motion: reduce){.scroll-line{animation:none}}.marquee{position:absolute;top:0;left:0;right:0;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);overflow:hidden;padding:16px 0;white-space:nowrap}.marquee-track{display:inline-flex;will-change:transform}.marquee-chunk{font-family:var(--mono);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim)}.statement-body{max-width:1200px}.statement-kicker{margin-bottom:28px}.statement-text{font-size:clamp(28px,3.6vw,56px);line-height:1.22;font-weight:500;letter-spacing:-.02em}.statement-text .word{opacity:.14}.section-kicker{margin-bottom:clamp(24px,4vh,48px);display:block}.work-row{display:grid;grid-template-columns:80px 1fr minmax(200px,380px);align-items:baseline;gap:24px;padding:clamp(24px,3.6vh,44px) 0;border-top:1px solid var(--hairline)}.work-row:last-of-type{border-bottom:1px solid var(--hairline)}.work-main{display:flex;flex-direction:column;gap:16px}.work-tags{display:flex;gap:8px;flex-wrap:wrap}.work-tags span{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-dim);border:1px solid var(--hairline);border-radius:999px;padding:6px 14px;transition:border-color .3s ease,color .3s ease}.work-row:hover .work-tags span{border-color:var(--ink-faint);color:var(--ink)}.work-num{font-size:12px}.work-name{font-size:clamp(32px,4.6vw,68px);font-weight:500;letter-spacing:-.03em;line-height:1.02;transition:color .3s ease,transform .5s cubic-bezier(.22,1,.36,1)}.work-row:hover .work-name{color:var(--red);transform:translate(16px)}.work-desc{font-size:15px;line-height:1.5;color:var(--ink-dim);justify-self:end;max-width:34ch}.placeholder{background:repeating-linear-gradient(-45deg,var(--bg-soft) 0px,var(--bg-soft) 10px,color-mix(in srgb,var(--bg-soft) 88%,var(--ink)) 10px,color-mix(in srgb,var(--bg-soft) 88%,var(--ink)) 11px);border:1px solid var(--hairline);border-radius:6px;display:flex;align-items:center;justify-content:center}.placeholder .mono{font-size:11px;color:var(--ink-faint);text-transform:none;letter-spacing:.04em}.how-track{position:relative;padding:clamp(40px,8vh,90px) 0}.how-rail{display:none}.how-weave{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.weave-base{fill:none;stroke:var(--hairline);stroke-width:1}.weave-fill{fill:none;stroke:var(--ink-dim);stroke-width:1.5}.weave-dot{fill:var(--red);filter:drop-shadow(0 0 10px rgba(237,28,36,.55))}.how-nodes{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,56px)}.how-node{position:relative;display:flex;flex-direction:column;gap:12px}.how-node:nth-child(odd){padding-top:clamp(48px,9vh,110px)}.how-node:nth-child(2n){padding-bottom:clamp(48px,9vh,110px);flex-direction:column-reverse}.how-node:nth-child(2n) p{text-align:left}.how-marker{position:absolute;left:0;width:7px;height:7px;border-radius:50%;background:var(--ink-faint);transition:background .4s ease}.how-node:nth-child(odd) .how-marker{top:50%;transform:translateY(-50%)}.how-node.lit .how-marker{background:var(--ink)}.how-node h3{font-size:clamp(20px,2vw,30px);font-weight:600;letter-spacing:-.02em}.how-node p{font-size:14px;line-height:1.55;color:var(--ink-dim);max-width:32ch}.lab{background:var(--bg-soft);border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}.lab-title{font-size:clamp(64px,11vw,190px);font-weight:700;letter-spacing:.02em;line-height:.95;margin-bottom:28px}.lab-desc{max-width:52ch;font-size:clamp(15px,1.3vw,19px);line-height:1.6;color:var(--ink-dim);margin-bottom:clamp(32px,6vh,72px)}.lab-shot{width:100%;aspect-ratio:16 / 7;will-change:transform}.ethos-title{font-size:clamp(40px,6.5vw,110px);font-weight:600;letter-spacing:-.035em;line-height:1.02;margin-bottom:clamp(24px,4vh,48px)}.ethos-note{max-width:52ch;font-size:clamp(15px,1.3vw,19px);line-height:1.6;color:var(--ink-dim);margin-bottom:clamp(40px,7vh,84px)}.ethos-cities{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.ethos-cities li{border-top:1px solid var(--hairline);padding-top:18px;display:flex;flex-direction:column;gap:6px}.ethos-cities .city{font-size:clamp(18px,1.8vw,26px);font-weight:500;letter-spacing:-.01em}.tz{font-size:11px;font-variant-numeric:tabular-nums}.contact{text-align:center;align-items:center}.contact-kicker{margin-bottom:24px}.contact-big{display:inline-block;font-size:clamp(64px,13vw,230px);font-weight:600;letter-spacing:-.045em;line-height:1;transition:color .3s ease}.contact-big:hover{color:var(--red)}.contact-mail{margin-top:32px}.contact-mail a{color:var(--ink-dim);border-bottom:1px solid var(--hairline);padding-bottom:3px}.contact-mail a:hover{color:var(--red);border-color:var(--red)}.footer{display:flex;justify-content:space-between;gap:24px;padding:24px var(--pad);border-top:1px solid var(--hairline)}.footer-links{display:flex;gap:20px}.footer-links a{color:var(--ink-dim);font-size:12px}.footer-links a:hover{color:var(--ink)}.subpage main{padding-top:clamp(120px,18vh,200px)}.c-hero{padding:0 var(--pad) clamp(48px,8vh,96px)}.c-title{font-size:clamp(56px,11vw,190px);line-height:.94;font-weight:600;letter-spacing:-.045em;margin-bottom:clamp(24px,4vh,48px)}.c-title .dot{color:var(--red)}.c-sub{max-width:52ch;font-size:clamp(15px,1.3vw,19px);line-height:1.6;color:var(--ink-dim)}.c-body{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr);gap:clamp(40px,6vw,120px);padding:clamp(40px,7vh,80px) var(--pad) clamp(80px,12vh,160px);border-top:1px solid var(--hairline)}.c-form{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-content:start}.c-field{display:flex;flex-direction:column;gap:10px}.c-field-wide{grid-column:1 / -1}.c-field label{font-size:11px}.c-field input,.c-field textarea{background:transparent;border:none;border-bottom:1px solid var(--hairline);color:var(--ink);font-family:var(--font);font-size:18px;padding:10px 0;resize:vertical;transition:border-color .3s ease}.c-field input:focus,.c-field textarea:focus{outline:none;border-color:var(--ink)}.c-submit{grid-column:1 / -1;justify-self:start;display:inline-flex;align-items:center;gap:14px;background:transparent;border:1px solid var(--hairline);border-radius:999px;color:var(--ink);font-family:var(--font);font-size:16px;font-weight:500;padding:16px 34px;transition:background .3s ease,border-color .3s ease,color .3s ease}.c-submit:hover{background:var(--red);border-color:var(--red);color:snow}.c-arrow{transition:transform .3s ease;display:inline-block}.c-submit:hover .c-arrow{transform:translate(6px)}.c-form-note{grid-column:1 / -1;font-size:10px;color:var(--ink-faint)}.c-side{display:flex;flex-direction:column;gap:clamp(32px,5vh,56px)}.c-side-label{margin-bottom:14px}.c-side-mail{font-size:clamp(18px,1.8vw,24px);font-weight:500;letter-spacing:-.01em}.c-cities{list-style:none;display:flex;flex-direction:column}.c-cities li{display:flex;justify-content:space-between;align-items:baseline;padding:12px 0;border-bottom:1px solid var(--hairline)}.c-cities .city{font-size:16px;font-weight:500}.j-hero{padding:0 var(--pad) clamp(48px,8vh,96px)}.j-title{font-size:clamp(48px,9vw,150px);line-height:.96;font-weight:600;letter-spacing:-.045em;margin-bottom:clamp(24px,4vh,48px)}.j-title .dot{color:var(--red)}.j-sub{max-width:52ch;font-size:clamp(15px,1.3vw,19px);line-height:1.6;color:var(--ink-dim)}.j-list{padding:0 var(--pad) clamp(80px,12vh,160px)}.j-entry{position:relative;display:grid;grid-template-columns:220px 1fr 60px;gap:24px;align-items:baseline;padding:clamp(28px,4vh,44px) 0;border-top:1px solid var(--hairline)}.j-entry:last-of-type{border-bottom:1px solid var(--hairline)}.j-meta{display:flex;flex-direction:column;gap:6px;font-size:11px}.j-entry-title{font-size:clamp(24px,3.2vw,44px);font-weight:500;letter-spacing:-.025em;line-height:1.05;transition:color .3s ease,transform .5s cubic-bezier(.22,1,.36,1)}.j-excerpt{grid-column:2;font-size:15px;line-height:1.5;color:var(--ink-dim);max-width:60ch;margin-top:10px}.j-entry:hover{color:var(--ink)}.j-entry:hover .j-entry-title{color:var(--red);transform:translate(14px)}.j-arrow{grid-row:1;grid-column:3;justify-self:end;font-size:26px;opacity:0;transform:translate(-10px);transition:opacity .3s ease,transform .3s ease}.j-entry:hover .j-arrow{opacity:1;transform:translate(0)}.j-soon{padding-top:32px;font-size:11px;color:var(--ink-faint)}.p-hero{padding:0 var(--pad) clamp(40px,7vh,80px)}.p-back{display:inline-block;margin-bottom:clamp(24px,4vh,40px);font-size:11px;color:var(--ink-dim)}.p-back:hover{color:var(--red)}.p-meta{display:flex;gap:20px;margin-bottom:24px}.p-title{font-size:clamp(40px,6.8vw,110px);line-height:.98;font-weight:600;letter-spacing:-.04em;margin-bottom:clamp(24px,4vh,44px);max-width:16ch}.p-title .dot{color:var(--red)}.p-lede{max-width:52ch;font-size:clamp(17px,1.5vw,23px);line-height:1.55;color:var(--ink-dim)}.p-body{border-top:1px solid var(--hairline);padding:clamp(48px,8vh,96px) var(--pad) clamp(64px,9vh,120px)}.p-col{max-width:66ch;margin:0 auto}.p-col p{font-size:17px;line-height:1.75;color:color-mix(in srgb,var(--ink) 82%,var(--bg));margin-bottom:1.6em}.p-col h2{font-size:clamp(22px,2.2vw,32px);font-weight:600;letter-spacing:-.02em;margin:2.2em 0 .9em}.p-col blockquote{font-size:clamp(24px,2.6vw,38px);font-weight:500;letter-spacing:-.025em;line-height:1.25;margin:1.8em 0}.p-col blockquote .dot{color:var(--red)}.p-shot{aspect-ratio:16 / 8;margin:2.4em 0}.p-next{border-top:1px solid var(--hairline);padding:clamp(32px,5vh,56px) var(--pad) clamp(64px,10vh,120px);display:flex;flex-direction:column;gap:14px}.p-next-link{font-size:clamp(28px,4vw,64px);font-weight:500;letter-spacing:-.03em;line-height:1.05}.p-next-link:hover{color:var(--red)}.p-next-link .p-arrow{display:inline-block;transition:transform .3s ease}.p-next-link:hover .p-arrow{transform:translate(10px)}@media (max-width: 820px){.panel{min-height:auto;padding-top:clamp(72px,10vh,110px)}.hero{min-height:100svh}.nav-links{display:none}.hero-foot{flex-direction:column;align-items:flex-start;gap:20px}.hero-scroll{display:none}.work-row{grid-template-columns:48px 1fr}.work-desc{grid-column:2;justify-self:start}.how-weave,.how-node .how-marker{display:none}.how-nodes{grid-template-columns:1fr}.how-node:nth-child(odd),.how-node:nth-child(2n){padding:0;flex-direction:column}.ethos-cities{grid-template-columns:repeat(2,1fr)}.c-body,.c-form{grid-template-columns:1fr}.j-entry{grid-template-columns:1fr;gap:10px}.j-meta{flex-direction:row;gap:16px}.j-excerpt{grid-column:1}.j-arrow{display:none}.footer{flex-direction:column}}.visible{visibility:visible}.collapse{visibility:collapse}.inline{display:inline}.grow{flex-grow:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.border{border-width:1px}.filter{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)}
