:root{--bg:#0b0b0c;--ink:#f2f2ef;--muted:#8e8e93;--soft:#a8a8ad;--dim:#6e6e74;--line:#222226;--line-2:#2c2c30;--accent:#a5adff;--serif:"Instrument Serif", "Times New Roman", serif;--sans:Geist, "Helvetica Neue", Arial, sans-serif;--mono:"Geist Mono", ui-monospace, Menlo, monospace;--pad:clamp(20px, 5vw, 64px);--max:1280px;--ease:cubic-bezier(.2, .8, .2, 1);--ease-out:cubic-bezier(.16, 1, .3, 1)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{background:var(--bg);min-height:100vh;color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;margin:0;font-size:16px;line-height:1.55;display:flex;overflow-x:clip}main{flex-direction:column;flex:1 0 auto;display:flex}a{color:inherit;text-decoration:none}::selection{background:var(--ink);color:var(--bg)}a:focus-visible,button:focus-visible{outline:1px solid var(--ink);outline-offset:5px;border-radius:4px}.wrap{padding:0 var(--pad)}.inner{max-width:var(--max);margin:0 auto}.eyebrow{font-family:var(--mono);letter-spacing:.04em;color:var(--muted);align-items:center;gap:12px;margin:0;font-size:12px;display:flex}.eyebrow:before{content:"";background:#3a3a3f;width:28px;height:1px}.dim{color:var(--muted)}.site-header{z-index:20;padding:0 var(--pad);backdrop-filter:blur(16px)saturate(1.3);background:#0b0b0cb8;position:sticky;top:0}.site-header .inner{justify-content:space-between;align-items:center;gap:24px;min-height:76px;display:flex}.brand{letter-spacing:-.005em;align-items:center;gap:12px;min-height:44px;font-size:14px;font-weight:500;display:inline-flex}.brand-mark{background:var(--ink);border-radius:50%;width:18px;height:18px;position:relative;overflow:hidden}.brand-mark:after{content:"";background:var(--bg);border-radius:50%;width:10px;height:10px;position:absolute;bottom:-3px;right:-3px}.nav{align-items:center;gap:4px 36px;display:flex}.nav a{min-height:44px;color:var(--muted);align-items:center;font-size:13px;transition:color .3s;display:inline-flex}.nav a:hover{color:var(--ink)}.nav .pill{border:1px solid var(--line-2);color:var(--ink);border-radius:999px;padding:0 20px;transition:border-color .3s}.nav .pill:hover{border-color:var(--ink)}.hero{overflow-x:clip}.hero .inner{flex-direction:column;min-height:760px;padding-top:clamp(32px,4vw,56px);display:flex}.hero-main{flex-wrap:wrap-reverse;flex:1;align-items:center;gap:24px clamp(32px,4vw,64px);display:flex}.hero-copy{flex:600px;min-width:0;padding-bottom:clamp(16px,3vw,40px)}.hero h1{font-family:var(--serif);letter-spacing:-.022em;margin:28px 0 0;font-size:clamp(46px,5.9vw,92px);font-weight:400;line-height:1}.hero h1 span{display:block}.hero h1 .l2{color:var(--muted);padding-left:.9em}.lede{max-width:44ch;color:var(--soft);text-wrap:pretty;margin:32px 0 0;font-size:17px;font-weight:350;line-height:1.6}.actions{flex-wrap:wrap;align-items:center;gap:12px 28px;margin-top:36px;display:flex}.btn{background:var(--ink);min-height:48px;color:var(--bg);transition:transform .5s var(--ease);border-radius:999px;align-items:center;gap:12px;padding:0 22px;font-size:14px;font-weight:500;display:inline-flex}.btn:hover{transform:translateY(-2px)}.ulink{min-height:44px;color:var(--muted);transition:background-size .5s var(--ease), color .3s;background:linear-gradient(currentColor,currentColor) 0 calc(100% - 11px)/0% 1px no-repeat;align-items:center;font-size:14px;display:inline-flex}.ulink:hover{color:var(--ink);background-size:100% 1px}.stage{flex:400px;min-width:0;max-width:540px;margin:0 auto}.stack{aspect-ratio:1;perspective:2000px;width:100%;position:relative;container-type:inline-size}.stack-glow{background:radial-gradient(closest-side, color-mix(in srgb, var(--accent) 16%, transparent), transparent);filter:blur(18px);border-radius:50%;height:34%;position:absolute;top:44%;left:14%;right:14%}.stack-rig{transform-style:preserve-3d;animation:11s ease-in-out infinite alternate sway;position:absolute;inset:0;transform:rotateX(57deg)rotate(-42deg)translateZ(-20cqw)}@keyframes sway{0%{transform:rotateX(57deg)rotate(-47deg)translateZ(-21cqw)}to{transform:rotateX(55deg)rotate(-37deg)translateZ(-19cqw)}}.plate{width:62%;height:62%;transform:translateZ(calc(var(--level) * 13cqw + var(--lift,0cqw)));transition:transform 1.1s var(--ease-out), border-color .8s, background-color .8s, box-shadow .8s;background:#f2f2ef06;border:1px solid #f2f2ef21;border-radius:2.6cqw;flex-direction:column;justify-content:space-between;padding:5cqw;display:flex;position:absolute;top:19%;left:19%;box-shadow:0 0 #0000}.plate>*{opacity:.26;transition:opacity .8s}.plate.is-active{--lift:7cqw;box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 30%, transparent), 0 0 70px -6px color-mix(in srgb, var(--accent) 34%, transparent);background:#f2f2ef12;border-color:#f2f2ef9e}.plate.is-active>*{opacity:1}.plate-label{font-family:var(--mono);letter-spacing:.04em;white-space:pre;font-size:2.3cqw}.bar{background:var(--ink);border-radius:9px;height:.7cqw;display:block}.bar.thick{height:1.4cqw}.plate-art.code{flex-direction:column;gap:2.2cqw;display:flex}.plate-art.docs{grid-template-columns:repeat(3,minmax(0,1fr));gap:2.4cqw;display:grid}.plate-art.docs>span{aspect-ratio:3/4;border:1px solid var(--ink);border-radius:.8cqw}.plate-art.docs>.filled{background:#f2f2ef2e}.plate-art.site{flex-direction:column;gap:3cqw;display:flex}.site-nav{justify-content:space-between;align-items:center;display:flex}.site-nav .dot{border:1px solid var(--ink);border-radius:50%;width:2.6cqw;height:2.6cqw}.site-nav .links{gap:1.6cqw;display:flex}.site-nav .links span{background:var(--ink);border-radius:9px;width:5cqw;height:.6cqw}.site-hero{gap:3cqw;display:flex}.site-text{flex-direction:column;flex:1;gap:1.6cqw;padding-top:1cqw;display:flex}.site-btn{border:1px solid var(--ink);border-radius:9px;width:30%;height:2.6cqw;margin-top:1.4cqw}.site-img{aspect-ratio:1;border:1px solid var(--ink);border-radius:1.2cqw;width:36%}.plate-art.mark{align-self:center;width:22cqw;height:22cqw;margin-top:3cqw;position:relative}.mark-guide{border:1px dashed #f2f2ef73;border-radius:50%;position:absolute;inset:-4cqw}.mark-disc{background:var(--ink);border-radius:50%;position:absolute;inset:0;overflow:hidden}.mark-disc:after{content:"";background:#141416;border-radius:50%;width:12cqw;height:12cqw;position:absolute;bottom:-3cqw;right:-3cqw}.disciplines{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:0 32px;margin-top:clamp(24px,3vw,40px);padding-bottom:clamp(40px,5vw,64px);display:grid}.q{border-top:1px solid var(--line);flex-direction:column;gap:6px;padding:22px 0 6px;display:flex;position:relative}.q-bar{background:var(--ink);transform-origin:0;height:1px;position:absolute;top:-1px;left:0;right:0;transform:scaleX(0)}.q.is-active .q-bar{transform:scaleX(1)}.q.is-active.is-running .q-bar{animation:4.2s linear both fill}@keyframes fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.q-no{font-family:var(--mono);color:var(--muted);font-size:12px}.q-title{letter-spacing:-.005em;color:var(--muted);font-size:15px;font-weight:450;transition:color .6s}.q.is-active .q-title{color:var(--ink)}.q-line{color:var(--muted);font-size:13px;line-height:1.5}.services .inner{flex-wrap:wrap;align-items:flex-start;gap:40px clamp(40px,7vw,120px);padding:clamp(96px,11vw,168px) 0;display:flex}.services-intro{flex:340px;min-width:0;position:sticky;top:120px}.display{font-family:var(--serif);letter-spacing:-.02em;margin:24px 0 0;font-size:clamp(42px,4.6vw,68px);font-weight:400;line-height:1.02}.intro-text{max-width:36ch;color:var(--soft);text-wrap:pretty;margin:24px 0 0;font-size:15px;line-height:1.65}.accordion{border-bottom:1px solid var(--line);flex:1.5 520px;min-width:0}.acc-item{border-top:1px solid var(--line)}.acc-item h3{margin:0}.acc-btn{width:100%;min-height:108px;color:var(--dim);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:28px;padding:26px 0;transition:color .6s;display:flex}.acc-btn[aria-expanded=true]{color:var(--ink)}.acc-no{width:28px;font-family:var(--mono);color:var(--muted);flex:none;font-size:12px}.acc-title{font-family:var(--serif);letter-spacing:-.015em;flex:1;font-size:clamp(30px,3vw,42px);font-weight:400;line-height:1.05}.acc-icon{width:14px;height:14px;color:var(--ink);flex:none;position:relative}.acc-icon:before,.acc-icon:after{content:"";background:currentColor;position:absolute}.acc-icon:before{width:14px;height:1px;top:6.5px;left:0}.acc-icon:after{width:1px;height:14px;transition:transform .6s var(--ease);top:0;left:6.5px}.acc-btn[aria-expanded=true] .acc-icon:after{transform:scaleY(0)}.acc-panel{opacity:0;transition:grid-template-rows .7s var(--ease), opacity .6s ease;grid-template-rows:0fr;display:grid}.acc-panel.is-open{opacity:1;grid-template-rows:1fr}.acc-panel>div{min-height:0;overflow:hidden}.acc-body{padding:0 0 36px 56px}.acc-body p{max-width:48ch;color:var(--soft);text-wrap:pretty;margin:0;font-size:15px;line-height:1.65}.acc-list{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:12px 24px;margin:24px 0 0;padding:0;list-style:none;display:grid}.acc-list li{color:#d4d4d0;align-items:center;gap:12px;font-size:14px;display:flex}.acc-list li:before{content:"";background:var(--accent);border-radius:50%;flex:none;width:5px;height:5px}@property --px{syntax:"<number>";inherits:true;initial-value:0}@property --py{syntax:"<number>";inherits:true;initial-value:0}.studies .inner{flex-wrap:wrap;align-items:center;gap:48px clamp(40px,6vw,96px);padding:0 0 clamp(96px,11vw,168px);display:flex}.study-stage{aspect-ratio:19/14;isolation:isolate;color:#f1f3f5;min-width:0;box-shadow:0 0 0 1px var(--line), 0 40px 80px -40px #000c;transition:--px 1.1s var(--ease), --py 1.1s var(--ease);background:#0b0e10;border-radius:22px;flex:1.4 520px;position:relative;overflow:hidden;container-type:inline-size}.js .study-stage.rv{transition:opacity 1.1s var(--ease-out), transform 1.1s var(--ease-out), filter 1.1s var(--ease-out), --px 1.1s var(--ease), --py 1.1s var(--ease)}.sd{opacity:0;transition:opacity .7s cubic-bezier(.4, 0, .2, 1), transform 1.2s var(--ease-out);position:absolute;inset:0;transform:scale(1.04)}.sd.is-on{opacity:1;transform:none}.sd i{display:block;position:absolute}.s1{background:linear-gradient(#0a0d0f 0,#0e1215 63.8%,#161c21 64%,#0b0e10 100%)}.s1 .gl{background:radial-gradient(at 0 55%,#c4d4e233,#0000 68%);width:44%;height:60%;top:6%;left:54%}.s1 .sl{height:49%;width:calc(4px + (var(--px) + 1) * 9px);background:#f4f7f9;top:15%;left:54%;box-shadow:0 0 22px 3px #f4f7f980,0 0 90px 26px #b0c6d63d}.s1 .sp{clip-path:polygon(54% 0, calc(54% + 4px + (var(--px) + 1) * 9px) 0, calc(70% + (var(--px) + 1) * 7%) 100%, 22% 100%);filter:blur(4px);background:linear-gradient(#ecf3f8cc,#ecf3f824 70%,#0000);inset:64% 0 0}.s2{background:radial-gradient(120% 95% at 36% 44%,#151b20 0,#0a0d0f 62%)}.s2 .ah{background:linear-gradient(90deg,#0000,#fff3 12% 88%,#0000);height:1px;top:46%;left:0;right:0}.s2 .av{background:linear-gradient(#0000,#fff3 12% 88%,#0000);width:1px;top:0;bottom:0;left:36%}.s2 .nd{background:#fff;border-radius:50%;width:9px;height:9px;margin:-4.5px;top:46%;left:36%;box-shadow:0 0 0 7px #ffffff12,0 0 30px 8px #d6e4ee80}.s2 .tc{background:#ffffffb3;border-radius:50%;width:5px;height:5px;margin:-2.5px}.s2 .bk{background:radial-gradient(circle,#cedeea3d 0,#cedeea4d 60%,#cedeea1a 66%,#0000 70%);border-radius:50%}.s3{background:radial-gradient(90% 85% at 60% 46%,#12171b 0,#07090b 72%)}.s3 .ha{filter:blur(20px);opacity:.82;width:39cqw;height:39cqw;transform:translate(calc(-1.7cqw + var(--px) * -15px), calc(-1.45cqw + var(--py) * -12px));background:#eef4f8;border-radius:50%;margin:-19.5cqw;top:47%;left:60%}.s3 .di{background:radial-gradient(circle at 38% 34%,#171c20 0,#060809 64%);border-radius:50%;width:39cqw;height:39cqw;margin:-19.5cqw;top:47%;left:60%;box-shadow:0 0 0 1px #ffffff14,0 0 17cqw 4.5cqw #a8bece21}.s3 .ob{border:1px solid #ffffff42;border-radius:50%;width:81.6cqw;height:81.6cqw;margin:-40.8cqw;top:47%;left:60%;transform:rotate(-13deg)scaleY(.24)}.s3 .of{clip-path:inset(50% 0 0)}.s3 .sa{background:#fff;border-radius:50%;width:7px;height:7px;margin:-3.5px;top:calc(47% + 13.2cqw);left:calc(60% - 35.3cqw);box-shadow:0 0 16px 4px #e2ecf399}.grain{opacity:.16;mix-blend-mode:overlay;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.stage-caption{color:#aeb7be;justify-content:space-between;gap:24px;font-size:13px;font-weight:500;line-height:1.4;display:flex;position:absolute;bottom:24px;left:28px;right:28px}.studies-copy{flex:340px;min-width:0}.study-list{border-bottom:1px solid var(--line);margin-top:36px}.study{border:0;border-top:1px solid var(--line);width:100%;color:var(--dim);font:inherit;text-align:left;cursor:pointer;background:0 0;align-items:flex-start;gap:24px;padding:22px 0;transition:color .6s;display:flex}.study.is-active{color:var(--ink)}.study-no{width:28px;font-family:var(--mono);color:var(--muted);flex:none;padding-top:10px;font-size:12px}.study-text{flex-direction:column;flex:1;min-width:0;display:flex}.study-title{font-family:var(--serif);letter-spacing:-.015em;font-size:clamp(28px,2.6vw,36px);font-weight:400;line-height:1.1}.study-line{color:var(--muted);margin-top:4px;font-size:14px}.study-panel{opacity:0;transition:grid-template-rows .7s var(--ease), opacity .6s ease;grid-template-rows:0fr;display:grid}.study.is-active .study-panel{opacity:1;grid-template-rows:1fr}.study-panel>span{min-height:0;overflow:hidden}.study-desc{max-width:42ch;color:var(--soft);text-wrap:pretty;padding-top:14px;font-size:15px;line-height:1.6;display:block}.approach .inner{padding:0 0 clamp(96px,11vw,168px)}.statement-row{flex-wrap:wrap;align-items:flex-start;gap:28px clamp(32px,4vw,56px);display:flex}.portrait{flex:none;width:clamp(96px,10vw,136px);margin:0;padding-top:10px}.portrait img{aspect-ratio:708/948;object-fit:cover;width:100%;height:auto;box-shadow:0 0 0 1px var(--line);border-radius:14px;display:block}.statement-row .statement{flex:520px;min-width:0}.statement{max-width:1080px;font-family:var(--serif);letter-spacing:-.018em;text-wrap:pretty;margin:0;font-size:clamp(34px,4.4vw,64px);font-weight:400;line-height:1.1}.statement .dim{color:var(--dim)}.principles{grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:40px clamp(32px,4vw,72px);margin-top:clamp(72px,8vw,120px);display:grid}.principle{border-top:1px solid var(--line);padding-top:24px}.mono-no{font-family:var(--mono);color:var(--muted);font-size:12px}.principle h3{letter-spacing:-.01em;margin:20px 0 0;font-size:18px;font-weight:450;line-height:1.3}.principle p{color:var(--soft);text-wrap:pretty;margin:10px 0 0;font-size:15px;line-height:1.65}.contact{flex-direction:column;flex:1 0 auto;justify-content:flex-end;display:flex}.contact .inner{border-top:1px solid var(--line);width:100%;padding:clamp(72px,8vw,120px) 0 clamp(56px,6vw,88px)}.contact-title{font-family:var(--serif);letter-spacing:-.03em;margin:24px 0 0;font-size:clamp(72px,12vw,184px);font-weight:400;line-height:.92}.contact-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:28px 48px;margin-top:clamp(40px,5vw,64px);display:flex}.email-link{letter-spacing:-.02em;overflow-wrap:anywhere;background:linear-gradient(var(--line-2), var(--line-2)) no-repeat 0 100% / 100% 1px, linear-gradient(var(--ink), var(--ink)) no-repeat 0 100% / 0% 1px;max-width:100%;transition:background-size .7s var(--ease);align-items:center;gap:16px;padding-bottom:12px;font-size:clamp(20px,2.2vw,30px);font-weight:350;line-height:1.2;display:inline-flex}.email-link:hover{background-size:100% 1px,100% 1px}.email-link svg{flex:none}.social{flex-wrap:wrap;gap:4px 32px;display:flex}.social a{min-height:44px;color:var(--muted);align-items:center;gap:8px;font-size:14px;transition:color .3s;display:inline-flex}.social a:hover{color:var(--ink)}.site-footer .inner{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 32px;padding:20px 0 28px;font-size:12px;display:flex}.site-footer a{align-items:center;gap:8px;min-height:44px;transition:color .3s;display:inline-flex}.site-footer a:hover{color:var(--ink)}@keyframes in{0%{opacity:0;filter:blur(10px);transform:translateY(16px)}to{opacity:1;filter:none;transform:none}}.in{animation:in 1.3s var(--ease-out) both}.d1{animation-delay:.1s}.d2{animation-delay:.24s}.d3{animation-delay:.4s}.d4{animation-delay:.52s}.d5{animation-delay:.7s}.js .rv{opacity:0;filter:blur(10px);transition:opacity 1.1s var(--ease-out), transform 1.1s var(--ease-out), filter 1.1s var(--ease-out);transform:translateY(16px)}.js .rv.is-visible{opacity:1;filter:none;transform:none}@media (width<=720px){.hide-sm{display:none!important}.services-intro{position:static}}@media (width<=560px){.acc-btn{gap:18px;min-height:92px}.acc-body{padding-left:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}html{scroll-behavior:auto}}
