:root{--paper:#f0eee8;--ink:#20211e;--accent:#e44b2b;--sage:#c9d1b9;--sage-deep:#dfe3d6;--bg:var(--paper);--fg:var(--ink);--muted:#676960;--line:#20211e38;--line-strong:#20211e80;--pill:#20211e0d;--serif:"moret",Georgia,"Times New Roman",serif;--sans:"roc-grotesk",Arial,sans-serif;--wide:"roc-grotesk-wide","roc-grotesk",Arial,sans-serif;--gutter:clamp(24px,4.2vw,72px);--nav-h:84px;--ease-out:cubic-bezier(.22,1,.36,1);--ease-inout:cubic-bezier(.77,0,.18,1)}html[data-theme=ink]{--bg:var(--ink);--fg:var(--paper);--muted:#f0eee89e;--line:#f0eee838;--line-strong:#f0eee880;--pill:#f0eee80f}html[data-theme=sage]{--bg:var(--sage-deep);--fg:var(--ink);--muted:#4d514a;--line:#20211e38;--line-strong:#20211e80}html[data-theme=accent]{--bg:var(--accent);--fg:var(--ink);--muted:#20211ea8;--line:#20211e52;--line-strong:#20211e99}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}body{background:var(--bg);color:var(--fg);font-family:var(--sans);transition:background-color .9s var(--ease-out),color .9s var(--ease-out);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.5;overflow-x:clip}a{color:inherit;text-decoration:none}p{line-height:1.55}img{max-width:100%;display:block}h1,h2,h3{font-family:var(--serif);margin:0;font-weight:300}em{font-style:normal}::selection{background:var(--accent);color:var(--paper)}main{z-index:1;position:relative}.section-pad{padding:clamp(90px,10vw,150px) var(--gutter)}.line{display:block}html.motion [data-reveal],html.motion [data-stagger]>*{opacity:0;transform:translateY(28px)}html.motion [data-rule]{transform:scaleX(0)}html.motion [data-cl],html.motion [data-hero-kicker],html.motion [data-hero-item],html.motion [data-hero-cue]{opacity:0}html.fine.cursor-on,html.fine.cursor-on *{cursor:none!important}.loader{display:none}html.motion .loader{z-index:100;background:var(--ink);color:var(--paper);will-change:transform;border-radius:0 0 50% 50%/0 0 12vh 12vh;place-items:center;display:grid;position:fixed;inset:0 0 -12vh}.loader-inner{flex-direction:column;align-items:center;gap:18px;padding-bottom:12vh;display:flex}.loader-name{font-family:var(--serif);letter-spacing:-.03em;font-size:clamp(34px,5vw,72px);font-weight:300;line-height:1.1;display:block;overflow:hidden}.loader-name div{display:inline-block}.loader-count{font-family:var(--wide);letter-spacing:.24em;color:var(--accent);font-variant-numeric:tabular-nums;font-size:12px;font-weight:500}.progress{background:var(--accent);transform-origin:0;z-index:60;pointer-events:none;height:2px;position:fixed;top:0;left:0;right:0;transform:scaleX(0)}.grain{z-index:50;pointer-events:none;opacity:.055;mix-blend-mode:multiply;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:1.1s steps(6,end) infinite grain;position:fixed;inset:-100%}html[data-theme=ink] .grain{mix-blend-mode:screen;opacity:.06}@keyframes grain{0%{transform:translate(0)}20%{transform:translate(-4%,3%)}40%{transform:translate(3%,-5%)}60%{transform:translate(-5%,-2%)}80%{transform:translate(4%,4%)}to{transform:translate(0)}}.cursor-dot,.cursor-ring{display:none}html.fine .cursor-dot,html.fine .cursor-ring{z-index:90;pointer-events:none;opacity:0;transition:opacity .3s,width .35s var(--ease-out),height .35s var(--ease-out),background-color .35s,border-color .35s;border-radius:50%;display:block;position:fixed;top:0;left:0}.cursor-dot{background:var(--accent);width:7px;height:7px}.cursor-ring{border:1px solid var(--fg);width:34px;height:34px}html.cursor-on .cursor-dot,html.cursor-on .cursor-ring{opacity:1}html.cursor-hover .cursor-ring{background:#e44b2b29;border-color:#0000;width:64px;height:64px}html.cursor-hover .cursor-dot{width:4px;height:4px}html.cursor-down .cursor-ring{width:24px;height:24px}.site-nav{z-index:70;height:var(--nav-h);padding:0 var(--gutter);letter-spacing:.06em;font-size:12px;font-family:var(--wide);text-transform:uppercase;transition:transform .6s var(--ease-out),background-color .6s,color .9s var(--ease-out);justify-content:space-between;align-items:center;font-weight:500;display:flex;position:fixed;top:0;left:0;right:0}.site-nav:after{content:"";left:var(--gutter);right:var(--gutter);background:var(--line);transform-origin:0;height:1px;transition:transform .8s var(--ease-out);position:absolute;bottom:0;transform:scaleX(0)}.site-nav.is-scrolled:after{transform:scaleX(1)}.site-nav.is-hidden{transform:translateY(-100%)}.wordmark{align-items:center;gap:14px;font-weight:500;display:flex}.wordmark-mono{width:38px;height:38px;font-family:var(--serif);letter-spacing:0;text-transform:none;border:1px solid;border-radius:50%;place-items:center;font-size:14px;transition:background-color .35s,color .35s;display:grid}.wordmark:hover .wordmark-mono{background:var(--fg);color:var(--bg)}.nav-links{gap:clamp(20px,2.6vw,44px);display:flex}.nav-links a{height:1.2em;line-height:1.2;display:block;position:relative;overflow:hidden}.nav-links a span{transition:transform .55s var(--ease-out);display:block}.nav-links a span:last-child{color:var(--accent)}:is(.nav-links a:hover span,.nav-links a:focus-visible span){transform:translateY(-100%)}.nav-links a:before{content:"";background:var(--accent);transform-origin:100%;width:100%;height:1px;transition:transform .45s var(--ease-out);position:absolute;bottom:0;left:0;transform:scaleX(0)}.nav-links a:hover:before{transform-origin:0;transform:scaleX(1)}.nav-links a:focus-visible:before{transform-origin:0;transform:scaleX(1)}.hero{isolation:isolate;min-height:100svh;padding:calc(var(--nav-h) + clamp(40px,7vh,96px)) var(--gutter) 60px;flex-direction:column;justify-content:center;display:flex;position:relative;overflow:clip}.hero-scroll{z-index:2;will-change:transform;position:relative}.hero-kicker{color:var(--muted);font-family:var(--wide);letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:11px;margin-bottom:clamp(40px,6vh,80px);font-size:11px;font-weight:500;display:flex}.signal{background:var(--accent);border-radius:50%;width:8px;height:8px;animation:2.4s infinite pulse;box-shadow:0 0 #e44b2b80}@keyframes pulse{0%{box-shadow:0 0 #e44b2b8c}70%{box-shadow:0 0 0 12px #e44b2b00}to{box-shadow:0 0 #e44b2b00}}.hero h1{letter-spacing:-.045em;max-width:min(64vw,960px);font-size:clamp(58px,8.2vw,138px);line-height:1}.hero h1 em,.accent{color:var(--accent);font-style:italic}.hero-bottom{justify-content:space-between;align-items:flex-end;gap:40px;width:min(73%,960px);margin-top:clamp(48px,7vh,92px);display:flex}.hero-intro{max-width:540px;margin:0;font-size:clamp(17px,1.4vw,22px);line-height:1.45}.underlined-link{font-family:var(--wide);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;padding-bottom:7px;font-size:11px;font-weight:500;position:relative}.underlined-link:after,.underlined-link:before{content:"";width:100%;height:1px;transition:transform .55s var(--ease-out);background:currentColor;position:absolute;bottom:0;left:0}.underlined-link:before{background:var(--accent);transform-origin:100%;transform:scaleX(0)}.underlined-link:hover:before{transform-origin:0;transform:scaleX(1)}.underlined-link:hover:after{transform-origin:0;transform:scaleX(0)}.underlined-link span{color:var(--accent);transition:transform .45s var(--ease-out);margin-left:12px;display:inline-block}.underlined-link:hover span{transform:translateY(4px)}.scroll-cue{right:var(--gutter);z-index:2;color:var(--muted);font-family:var(--wide);letter-spacing:.2em;text-transform:uppercase;align-items:center;gap:14px;font-size:10px;font-weight:500;display:flex;position:absolute;bottom:34px}.scroll-cue i{background:var(--line);width:64px;height:1px;position:relative;overflow:hidden}.scroll-cue i:after{content:"";background:var(--accent);animation:cue 2.2s var(--ease-inout) infinite;position:absolute;inset:0;transform:translate(-100%)}@keyframes cue{0%{transform:translate(-100%)}50%{transform:translate(0)}to{transform:translate(100%)}}.hero-collage{z-index:1;pointer-events:none;width:clamp(540px,47vw,880px);margin:0;position:absolute;top:clamp(84px,8.5vw,140px);right:clamp(-30px,-1vw,-8px)}.collage{aspect-ratio:1040/980;width:100%;position:relative}.cl-svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.cl-svg [data-cl],.cl-svg [data-idle],.cl-svg [data-scroll]{transform-box:fill-box;transform-origin:50%}.cl-lines line,.cl-svg [data-cl^=diag] line{stroke:var(--accent);stroke-width:1.25px;vector-effect:non-scaling-stroke;stroke-linecap:round}.cl{position:absolute}.cl img{will-change:transform;filter:drop-shadow(0 18px 26px #20211e29);width:100%;height:auto;display:block}.cl-flower{z-index:2}.cl-hand-right{z-index:3}.cl-over{z-index:4}.marquee{z-index:1;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-family:var(--serif);letter-spacing:-.03em;white-space:nowrap;-webkit-user-select:none;user-select:none;padding:26px 0;font-size:clamp(42px,6.5vw,110px);font-weight:300;line-height:1;position:relative;overflow:hidden}.marquee-track{will-change:transform;width:max-content;display:flex}.marquee-set{align-items:center;display:flex}.marquee-set span{align-items:center;padding-right:.45em;display:inline-flex}.marquee-set em{color:var(--accent);margin-left:.45em;font-size:.4em;font-style:normal;display:inline-block;transform:translateY(-.1em)}.section-head{max-width:820px}.section-label{color:var(--muted);font-family:var(--wide);letter-spacing:.18em;text-transform:uppercase;align-items:center;gap:14px;margin:0 0 48px;font-size:10px;font-weight:500;display:flex}.section-label span{color:var(--accent)}.section-label:after{content:"";opacity:.5;background:currentColor;width:46px;height:1px}.section-head h2,.profile-bio h2{letter-spacing:-.04em;font-size:clamp(54px,7vw,112px);line-height:1}.section-head>p:last-child{max-width:560px;color:var(--muted);margin:36px 0 0;font-size:clamp(17px,1.35vw,21px)}.rule{background:var(--line);transform-origin:0;height:1px;display:block}.practice-grid{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin-top:90px;display:grid}.practice-card{isolation:isolate;border-right:1px solid var(--line);flex-direction:column;min-height:400px;padding:28px 28px 32px;transition:color .5s;display:flex;position:relative;overflow:hidden}.practice-card:first-child{border-left:1px solid var(--line)}.practice-card:before{content:"";z-index:-1;background:var(--sage);transform-origin:bottom;transition:transform .6s var(--ease-out);position:absolute;inset:0;transform:scaleY(0)}.practice-card:hover:before{transform:scaleY(1)}.card-index{color:var(--accent);font-family:var(--wide);letter-spacing:.16em;font-size:10px;font-weight:500}.practice-card h3{letter-spacing:-.02em;transition:transform .6s var(--ease-out);margin:auto 0 20px;font-size:clamp(30px,2.6vw,44px);line-height:1}.practice-card:hover h3{transform:translateY(-6px)}.practice-card p{color:var(--muted);margin:0;font-size:14px;transition:color .5s}.practice-card:hover p{color:var(--ink)}.card-arrow{font-family:var(--serif);opacity:0;transition:opacity .45s,transform .6s var(--ease-out);font-size:26px;font-weight:300;line-height:1;position:absolute;top:24px;right:24px;transform:translate(-8px,8px)rotate(-45deg)}.practice-card:hover .card-arrow{opacity:1;transform:translate(0)rotate(-45deg)}.split-head{grid-template-columns:1fr minmax(280px,460px);align-items:end;gap:80px;max-width:none;display:grid}.split-head>p{color:var(--muted);font-size:17px;margin:0!important}.work-list{margin-top:90px;position:relative}.work-row{grid-template-columns:80px minmax(0,1fr) minmax(140px,230px);align-items:center;gap:28px;padding:52px 0;transition:opacity .5s;display:grid;position:relative}.work-row .rule{position:absolute;bottom:0;left:0;right:0}html.fine .work-list:hover .work-row:not(:hover){opacity:.32}.work-no{color:var(--accent);font-family:var(--serif);transition:transform .6s var(--ease-out);font-size:24px;font-weight:300}.work-row:hover .work-no{transform:translate(10px)}.eyebrow{color:var(--muted);font-family:var(--wide);letter-spacing:.16em;text-transform:uppercase;margin:0 0 12px;font-size:10px;font-weight:500}.work-copy h3{letter-spacing:-.025em;font-size:clamp(34px,3.4vw,58px);line-height:1}.work-copy>p:not(.eyebrow){max-width:700px;color:var(--muted);margin:18px 0 0}.work-copy ul{flex-wrap:wrap;gap:8px;margin:24px 0 0;padding:0;list-style:none;display:flex}.work-copy li{border:1px solid var(--line);font-family:var(--wide);letter-spacing:.08em;text-transform:uppercase;border-radius:99px;padding:8px 13px;font-size:10px;font-weight:500;transition:background-color .4s,border-color .4s}.work-row:hover li{background:var(--pill);border-color:var(--line-strong)}.work-metric{color:var(--accent);font-family:var(--serif);white-space:nowrap;letter-spacing:-.03em;font-variant-numeric:tabular-nums;transition:transform .7s var(--ease-out);justify-self:end;font-size:clamp(38px,5vw,78px);font-weight:300}.work-row:hover .work-metric{transform:translate(-14px)}.work-more{border-bottom:1px solid var(--line-strong);font-family:var(--wide);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:12px;margin-top:30px;padding-bottom:6px;font-size:11px;font-weight:500;transition:border-color .4s;display:inline-flex}.work-more:after{content:"";z-index:1;position:absolute;inset:0}.work-more span{color:var(--accent);transition:transform .45s var(--ease-out)}.work-row:hover .work-more{border-color:var(--accent)}.work-row:hover .work-more span{transform:translate(6px)}.work-more:focus-visible{outline:none}.work-row:has(.work-more:focus-visible){outline:1px solid var(--accent);outline-offset:8px}.research-head{grid-template-columns:1fr 1fr;column-gap:70px;max-width:none;display:grid}.research-head .section-label,.research-head .overline{grid-column:1/-1}.overline{color:var(--accent);font-family:var(--wide);letter-spacing:.18em;text-transform:uppercase;font-weight:500;margin:0 0 28px!important;font-size:10px!important}.research-head h2{grid-column:1}.research-head h2 em{color:var(--accent);font-style:italic}.research-intro{grid-column:2;align-self:end;margin:0!important}.stack{flex-direction:column;gap:24px;margin-top:110px;display:flex}.stack-card{background:var(--paper);border:1px solid var(--line);transform-origin:top;will-change:transform,opacity;grid-template-columns:minmax(220px,.9fr) 1.4fr;gap:40px;min-height:min(72vh,640px);padding:clamp(28px,3vw,48px);display:grid;position:sticky;top:110px;overflow:hidden}.stack-card:nth-child(2){background:var(--sage-deep)}.stack-card:nth-child(3){background:var(--ink);color:var(--paper);--muted:#f0eee89e;--line:#f0eee838}.stack-side{flex-direction:column;display:flex}.stack-no{color:var(--muted);font-family:var(--wide);letter-spacing:.18em;text-transform:uppercase;font-size:10px;font-weight:500}.stack-body{flex-direction:column;justify-content:flex-end;display:flex}.stack-body h3{letter-spacing:-.03em;margin-bottom:22px;font-size:clamp(40px,4.6vw,76px);line-height:1}.stack-body p{max-width:520px;color:var(--muted);margin:0;font-size:clamp(16px,1.2vw,19px)}.stack-body small{color:var(--muted);font-family:var(--wide);letter-spacing:.16em;text-transform:uppercase;margin-top:34px;font-size:10px;font-weight:500;display:block}.lens-mark{flex:1;justify-content:center;align-items:center;min-height:200px;margin:38px 0 0;display:flex}.lens-text{font-family:var(--serif);color:var(--accent);letter-spacing:-.05em;font-size:clamp(110px,12vw,190px);font-weight:300;line-height:1}.lens-text div{display:inline-block}.lens-cause i{aspect-ratio:1;background:var(--ink);mix-blend-mode:multiply;border-radius:50%;width:clamp(90px,9vw,150px);display:block}.lens-cause i+i{background:var(--accent);opacity:.85;margin-left:-35%}.lens-behaviour{align-items:flex-end;gap:12px;height:220px}.lens-behaviour b{background:var(--paper);width:17%;height:40%;display:block}.lens-behaviour b:nth-child(2){background:var(--accent);height:78%}.lens-behaviour b:nth-child(3){background:var(--sage);height:56%}.profile-statement{border-bottom:1px solid var(--line);grid-template-columns:1fr 2.2fr;gap:60px;padding-bottom:90px;display:grid}.profile-statement blockquote{font-family:var(--serif);letter-spacing:-.03em;margin:0;font-size:clamp(36px,4.8vw,76px);font-weight:300;line-height:1.08}.profile-grid{grid-template-columns:1.15fr 1fr;gap:clamp(60px,9vw,150px);padding-top:100px;display:grid}.profile-bio h2{font-size:clamp(44px,5.4vw,84px)}.profile-bio p{max-width:650px;color:var(--muted);font-size:17px}.timeline{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.timeline li{border-bottom:1px solid var(--line);transition:padding-left .5s var(--ease-out);grid-template-columns:105px 1fr;gap:20px;padding:22px 0;display:grid}html.fine .timeline li:hover{padding-left:10px}.timeline li>span{color:var(--accent);font-family:var(--wide);letter-spacing:.08em;padding-top:4px;font-size:11px;font-weight:500}.timeline div{flex-direction:column;gap:5px;display:flex}.timeline strong{font-weight:500}.timeline small{color:var(--muted)}.toolbelt{border-top:1px solid var(--line);grid-template-columns:1fr 3fr;gap:40px;margin-top:100px;padding-top:26px;display:grid}.toolbelt span{color:var(--accent);font-family:var(--wide);text-transform:uppercase;letter-spacing:.18em;font-size:10px;font-weight:500}.toolbelt p{margin:0;font-size:14px}footer .section-label span,html[data-theme=accent] .toolbelt span{color:var(--paper)}footer{padding:clamp(96px,12vw,180px) var(--gutter) 30px;color:var(--ink);position:relative;overflow:clip}.footer-main{justify-content:space-between;align-items:center;gap:60px;margin-bottom:120px;display:flex}.footer-main h2{letter-spacing:-.05em;will-change:transform;max-width:1000px;font-size:clamp(60px,9vw,146px);line-height:.94}.footer-main h2 em{color:var(--paper);font-style:italic}.contact-circle{aspect-ratio:1;border:1px solid var(--ink);transition:background-color .5s var(--ease-out),color .5s;border-radius:50%;flex:0 0 clamp(150px,15vw,230px);place-items:center;display:grid;position:relative}.contact-circle:hover{background:var(--ink);color:var(--paper)}.contact-circle b{font-family:var(--serif);transition:transform .6s var(--ease-out);font-size:clamp(30px,3vw,46px);font-weight:300;line-height:1}.contact-circle:hover b{transform:translate(4px,-4px)}.ring-text{animation:14s linear infinite spin;position:absolute;inset:10%}.ring-text text{font-family:var(--wide);letter-spacing:.22em;text-transform:uppercase;fill:currentColor;font-size:9.2px;font-weight:500}@keyframes spin{to{transform:rotate(360deg)}}.footer-bottom{border-top:1px solid var(--line-strong);font-family:var(--wide);letter-spacing:.1em;text-transform:uppercase;grid-template-columns:1fr auto 1fr;padding-top:25px;font-size:10px;font-weight:500;display:grid}.footer-bottom>span:last-child{text-align:right}.clock{font-variant-numeric:tabular-nums}.clock:before{content:"·";margin:0 6px}.to-top{margin-left:16px}.to-top,.footer-bottom a{transition:opacity .3s}.footer-bottom a:hover{opacity:.55}.cs-hero{padding:calc(var(--nav-h) + clamp(40px,7vh,90px)) var(--gutter) clamp(70px,9vw,120px)}.cs-back{color:var(--muted);font-family:var(--wide);letter-spacing:.14em;text-transform:uppercase;margin-bottom:clamp(36px,5vh,64px);font-size:11px;font-weight:500;transition:color .3s;display:inline-block}.cs-back:hover{color:var(--accent)}.cs-hero .hero-kicker{margin-bottom:clamp(28px,4vh,48px)}.cs-hero h1{letter-spacing:-.045em;max-width:1100px;font-size:clamp(54px,8vw,132px);line-height:1}.cs-hero h1 em{color:var(--accent);font-style:italic}.cs-lede{max-width:760px;margin:clamp(36px,5vh,60px) 0 0;font-size:clamp(18px,1.5vw,23px);line-height:1.45}.cs-meta{border-top:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin:clamp(56px,8vh,96px) 0 0;padding-top:24px;display:grid}.cs-meta dt{color:var(--accent);font-family:var(--wide);letter-spacing:.18em;text-transform:uppercase;margin-bottom:8px;font-size:10px;font-weight:500}.cs-meta dd{color:var(--muted);margin:0;font-size:14px}.cs-stats{margin:0 var(--gutter);border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.cs-stats>div{flex-direction:column;gap:12px;padding:30px 24px 30px 0;display:flex}.cs-stats>div+div{border-left:1px solid var(--line);padding-left:24px}.cs-stats b{color:var(--accent);font-family:var(--serif);letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:clamp(44px,5vw,80px);font-weight:300;line-height:1}.cs-stats>div>span{max-width:220px;color:var(--muted);font-size:13px}.cs-section{grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr);align-items:start;gap:clamp(40px,7vw,120px);display:grid}.cs-head{top:calc(var(--nav-h) + 30px);position:sticky}.cs-head h2{letter-spacing:-.04em;font-size:clamp(44px,5.2vw,88px);line-height:1}.cs-body>p{max-width:660px;margin:0 0 22px;font-size:clamp(17px,1.3vw,20px)}.cs-steps{border-top:1px solid var(--line);margin:40px 0 0;padding:0;list-style:none}.cs-steps li{border-bottom:1px solid var(--line);grid-template-columns:56px 1fr;gap:20px;padding:28px 0;display:grid}.cs-steps li>span{color:var(--accent);font-family:var(--wide);letter-spacing:.1em;padding-top:8px;font-size:11px;font-weight:500}.cs-steps h3{letter-spacing:-.02em;margin-bottom:10px;font-size:clamp(26px,2.2vw,36px);line-height:1.05}.cs-steps p{max-width:600px;color:var(--muted);margin:0;font-size:16px}.cs-points{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;margin:36px 0 22px;display:grid}.cs-points:has(>:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}.cs-points>div{border-top:1px solid var(--line);padding:22px 0}.cs-points dt{font-family:var(--serif);letter-spacing:-.01em;margin-bottom:8px;font-size:clamp(22px,1.8vw,28px);font-weight:300;line-height:1.1}.cs-points dd{color:var(--muted);margin:0;font-size:15px}.dist{margin:40px 0 8px}.dist-plot{cursor:crosshair;touch-action:pan-y;height:clamp(210px,24vw,300px);position:relative}.dist-plot canvas{width:100%;height:calc(100% - 30px);position:absolute;bottom:0;left:0;right:0}.dist-marker{border-left:1px dashed var(--fg);width:0;font-family:var(--wide);letter-spacing:.14em;white-space:nowrap;padding-left:7px;font-size:10px;font-weight:500;line-height:1;position:absolute;top:0;bottom:0}.dist figcaption{border-top:1px solid var(--line-strong);color:var(--muted);font-family:var(--wide);letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;gap:16px;margin-top:12px;padding-top:10px;font-size:10px;font-weight:500;display:flex}.cs-next{justify-content:center;padding-top:0;display:flex}.sim-readout{color:var(--muted);font-family:var(--wide);letter-spacing:.12em;text-transform:uppercase;font-variant-numeric:tabular-nums;justify-content:space-between;gap:16px;margin-bottom:14px;font-size:10px;font-weight:500;display:flex}.sim-readout b{color:var(--accent);font-weight:500}.sim-hover{border-left:1px solid var(--fg);pointer-events:none;width:0;position:absolute;top:30px;bottom:0}.sim-hover[hidden]{display:none}.sim-hover span{background:var(--fg);color:var(--bg);font-family:var(--wide);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;padding:6px 9px;font-size:10px;font-weight:500;position:absolute;top:8px;left:8px}.sim-hover[data-side=left] span{left:auto;right:8px}.sim-axis{border-top:1px solid var(--line-strong);height:24px;position:relative}.sim-axis span{color:var(--muted);font-family:var(--wide);letter-spacing:.06em;font-variant-numeric:tabular-nums;font-size:10px;font-weight:500;position:absolute;top:7px;transform:translate(-50%)}.sim figcaption{border-top:0;margin-top:6px;padding-top:0}.sim-controls{border-top:1px solid var(--line);grid-template-columns:1fr 1fr auto;align-items:end;gap:28px;margin-top:28px;padding-top:22px;display:grid}.sim-controls label{color:var(--muted);font-family:var(--wide);letter-spacing:.14em;text-transform:uppercase;flex-direction:column;gap:12px;font-size:10px;font-weight:500;display:flex}.sim-controls input{-webkit-appearance:none;appearance:none;cursor:pointer;background:0 0;width:100%;height:18px;margin:0}.sim-controls input::-webkit-slider-runnable-track{background:var(--line-strong);height:1px}.sim-controls input::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);border:0;border-radius:50%;width:14px;height:14px;margin-top:-6.5px;transition:box-shadow .3s}.sim-controls input::-moz-range-track{background:var(--line-strong);height:1px}.sim-controls input::-moz-range-thumb{background:var(--accent);border:0;border-radius:50%;width:14px;height:14px}.sim-controls input:focus-visible{outline:none}.sim-controls input:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 5px #e44b2b40}.sim-controls input:focus-visible::-moz-range-thumb{box-shadow:0 0 0 5px #e44b2b40}.sim-controls button{border:0;border-bottom:1px solid var(--line-strong);color:inherit;font-family:var(--wide);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;cursor:pointer;background:0 0;padding:0 0 6px;font-size:11px;font-weight:500;transition:border-color .3s}.sim-controls button span{color:var(--accent);transition:transform .6s var(--ease-out);margin-left:8px;display:inline-block}.sim-controls button:hover{border-color:var(--accent)}.sim-controls button:hover span{transform:rotate(180deg)}.sim-controls button:focus-visible{outline:1px solid var(--accent);outline-offset:6px}@media (max-width:1100px){.hero h1{max-width:min(72vw,900px)}}@media (max-width:900px){.practice-grid{grid-template-columns:1fr 1fr}.practice-card:nth-child(3){border-left:1px solid var(--line)}.practice-card{border-bottom:1px solid var(--line);min-height:320px}.split-head,.research-head,.profile-grid{grid-template-columns:1fr}.split-head>p,.research-intro{grid-column:1}.research-intro{margin-top:30px!important}.stack-card{grid-template-columns:1fr;min-height:0;top:96px}.lens-mark{min-height:150px;margin:24px 0 10px}.lens-text{font-size:110px}.lens-behaviour{height:150px}.profile-statement{grid-template-columns:1fr}.profile-grid{gap:80px}.footer-main{align-items:flex-end}.work-row{grid-template-columns:48px 1fr}.work-metric{grid-column:2;justify-self:start}.cs-section{grid-template-columns:1fr}.cs-head{position:static}.cs-meta,.cs-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.cs-stats>div:nth-child(3){border-left:0;padding-left:0}.cs-stats>div:nth-child(n+3){border-top:1px solid var(--line)}.hero{justify-content:flex-start;min-height:auto;padding-bottom:0}.hero h1{max-width:820px}.hero-collage{order:2;align-self:flex-end;width:min(100%,720px);margin:-40px -3% -4% auto;position:relative;inset:auto}.hero-bottom{width:min(82%,680px);margin-top:58px}}@media (max-width:700px){:root{--nav-h:72px}.wordmark-name{display:none}.nav-links{gap:14px;font-size:10px}.nav-links a:nth-child(2),.nav-links a:nth-child(4){display:none}.hero h1{max-width:100%;font-size:clamp(50px,14.3vw,72px)}.hero-collage{width:108%;max-width:none;margin:8px -8% -6% 0}.hero-bottom{width:100%;margin-top:42px;display:block}.hero-intro{max-width:88%}.underlined-link{margin-top:30px;display:inline-block}.scroll-cue{display:none}.marquee{padding:18px 0}.section-head h2{font-size:54px}.practice-grid{grid-template-columns:1fr}.practice-card,.practice-card:nth-child(3){border-left:1px solid var(--line);min-height:270px}.work-row{grid-template-columns:30px 1fr;padding:38px 0}.work-metric{font-size:48px}.cs-hero h1{font-size:clamp(46px,13vw,72px)}:is(.cs-points,.cs-points:has(>:nth-child(3):last-child)){grid-template-columns:1fr}.cs-steps li{grid-template-columns:36px 1fr}.dist figcaption,.sim-readout{flex-direction:column;gap:4px}.sim-controls{grid-template-columns:1fr;gap:22px}.sim-controls button{justify-self:start}.stack{margin-top:60px}.stack-card{padding:24px;top:84px}.stack-body h3{font-size:40px}.profile-statement{padding-bottom:60px}.profile-grid{padding-top:70px}.toolbelt{grid-template-columns:1fr}.footer-main{display:block}.footer-main h2{font-size:64px}.contact-circle{width:160px;margin:60px 0 0 auto}.footer-bottom{grid-template-columns:1fr auto}.footer-bottom>span:last-child{display:none}}@media (max-width:440px){.hero-intro{font-size:16px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.signal,.scroll-cue i:after,.ring-text,.grain{animation:none!important}}
