@charset "UTF-8";
:root{--paper:#f4f3ef;--ink:#202228;--muted:#535760;--line:#c9cbd1;--accent:#ad4b22;--blue:#3154d9;--light:#e9ebf2;--dark:#202228;--white:#ffffff;--mono:ui-monospace,SFMono-Regular,Consolas,monospace;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.6}a{color:inherit;text-underline-offset:5px}a:hover{color:var(--accent)}button,input{font:inherit}button,a,input,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}::selection{background:#b8c9ff;color:#202228}.wrap{width:min(1320px,calc(100% - 96px));margin:auto}.skip{position:fixed;top:8px;left:8px;padding:12px;background:var(--white);transform:translateY(-160%);z-index:99}.skip:focus{transform:none}.top{border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:20}.nav{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{text-decoration:none;font-weight:800;font-size:18px;letter-spacing:-.6px}.brand span{font-family:var(--mono);font-size:12px;color:var(--muted);font-weight:400;margin-left:15px;letter-spacing:0}.nav nav{display:flex;gap:30px;align-items:center;font-size:14px}.nav nav a{text-decoration:none}.eyebrow,.mono,.number{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:1.5px}.eyebrow{color:var(--blue);margin:0 0 22px}.hero{padding:62px 0 42px;position:relative}.hero-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:16px}.hero-top p{margin:0}.hero-title{font-size:clamp(64px,10.9vw,158px);font-weight:500;line-height:.93;letter-spacing:-.08em;margin:36px 0 32px}.hero-title em{font-family:Georgia,serif;font-weight:400;color:var(--blue)}.hero-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:center}.intro{font-size:clamp(21px,2.1vw,29px);line-height:1.35;max-width:590px;letter-spacing:-.5px}.subintro{color:var(--muted);max-width:480px;font-size:16px}.actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;padding:13px 19px;background:var(--ink);border:1px solid var(--ink);color:var(--white);text-decoration:none;font-size:14px;cursor:pointer;min-height:48px}.button:hover{background:var(--blue);color:var(--white)}.button.outline{background:transparent;color:var(--ink);border-color:var(--line)}.button.outline:hover{border-color:var(--blue);color:var(--blue)}figure{margin:0}img{max-width:100%;height:auto;display:block}.hero-figure{background:var(--light);padding:16px 22px 8px}.hero-figure img{width:100%;aspect-ratio:1.55;object-fit:contain}figcaption{font-family:var(--mono);font-size:11px;color:var(--muted);line-height:1.55;margin-top:10px}.hero-strip{display:grid;grid-template-columns:repeat(3,1fr);margin:42px 0 0;border-top:1px solid var(--line);padding:22px 0 0;gap:30px}.hero-strip span{display:block;font-family:var(--mono);font-size:11px;text-transform:uppercase;color:var(--muted);letter-spacing:1px}.hero-strip strong{font-weight:500;font-size:15px}.section{padding:88px 0}.section-title{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:38px}.section-title h2{font-weight:500;font-size:clamp(36px,5vw,64px);line-height:1.05;letter-spacing:-2px;margin:12px 0 0}.section-title p{max-width:420px;color:var(--muted)}.project{border-top:1px solid var(--line);display:grid;grid-template-columns:66px 1fr 1.1fr;gap:28px;padding:32px 0;align-items:center}.project:last-child{border-bottom:1px solid var(--line)}.number{color:var(--accent);align-self:start;margin-top:14px}.project h3{font-weight:500;font-size:clamp(26px,3vw,40px);line-height:1.13;letter-spacing:-1.2px;margin:12px 0 18px}.project h3 a{text-decoration:none}.project p{color:var(--muted);max-width:460px;font-size:15px}.project .meta{font-family:var(--mono);font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--blue)}.project-image{background:var(--light);overflow:hidden}.project-image img{width:100%;aspect-ratio:1.8;object-fit:contain;transition:transform .35s}.project:hover .project-image img{transform:scale(1.025)}.text-link{font-size:14px;font-weight:600;display:inline-block;margin-top:6px}.dark{background:var(--dark);color:var(--paper)}.dark .eyebrow,.dark .section-title p{color:#cdd1db}.lab-intro{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.lab-intro :is(h1,h2){font-size:clamp(38px,5vw,68px);font-weight:500;letter-spacing:-2px;line-height:1.06;margin:0}.lab-intro p{color:#d7dae2;font-size:17px}.lab{background:var(--paper);color:var(--ink);margin-top:44px;padding:32px;display:grid;grid-template-columns:270px 1fr;gap:38px}.controls label{display:block;font-size:14px;margin:20px 0 6px}.controls label:first-child{margin-top:0}.controls output{float:right;font-family:var(--mono);font-size:13px}.controls input[type=range]{width:100%;accent-color:var(--blue);min-height:32px}.controls select{width:100%;padding:9px;background:var(--white);color:var(--ink);border:1px solid var(--line)}.controls .check{display:flex;gap:10px;align-items:start}.controls .check input{margin-top:6px;width:18px;height:18px;accent-color:var(--blue)}.controls .button{margin-top:18px;width:100%}.lab svg{width:100%;height:auto;display:block}.legend{display:flex;gap:20px;font-size:12px;margin-bottom:12px;flex-wrap:wrap}.legend span:before{content:"";display:inline-block;width:20px;height:3px;background:var(--blue);vertical-align:middle;margin-right:7px}.legend span:nth-child(2):before{background:var(--accent)}.legend span:nth-child(3):before{background:#6b6f78}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;border-top:1px solid var(--line);padding-top:18px}.metrics strong{display:block;font-weight:500;font-family:var(--mono);font-size:24px}.metrics span{font-size:12px;color:var(--muted)}.lab-caption{font-size:13px;color:var(--muted)}details{border-top:1px solid var(--line);padding:17px 0}summary{cursor:pointer;font-weight:600}details p{font-size:14px}.dark>div>details{margin-top:28px;border-color:#818691}.dark>div>details p{color:#d7dae2}.experience{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.experience h2{font-size:50px;font-weight:500;line-height:1.06;letter-spacing:-2px;margin-top:0}.experience p{color:var(--muted)}.job{padding:23px 0;border-top:1px solid var(--line)}.job h3{font-weight:500;font-size:24px;letter-spacing:-.6px;margin:0}.job .mono{font-size:11px;margin-bottom:8px;color:var(--blue)}.job p{margin:10px 0}.contact{border-top:1px solid var(--line);padding:60px 0 35px}.contact h2{font-size:clamp(40px,6vw,80px);font-weight:500;letter-spacing:-3px;line-height:1.08;margin:0 0 24px}.footer{display:flex;justify-content:space-between;gap:30px;border-top:1px solid var(--line);margin-top:55px;padding-top:22px;font-family:var(--mono);font-size:11px;color:var(--muted)}.case-head{padding:65px 0 45px}.case-head h1{font-size:clamp(48px,7vw,94px);font-weight:500;line-height:1.03;letter-spacing:-4px;max-width:1100px;margin:24px 0}.case-head .dek{font-size:23px;line-height:1.45;max-width:850px;color:var(--muted)}.case-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;border-top:1px solid var(--line);padding:23px 0}.case-meta span{display:block;font-family:var(--mono);font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:1px}.case-figure{background:var(--light);padding:30px}.case-figure img{width:100%;max-height:520px;object-fit:contain}.case-body{display:grid;grid-template-columns:240px 1fr;gap:90px;padding:65px 0 90px}.case-body aside{font-size:13px;color:var(--muted)}.case-body aside a{display:block;margin-bottom:16px}.case-body article{max-width:830px}.case-body h2{font-weight:500;font-size:34px;line-height:1.15;letter-spacing:-1px;margin:45px 0 18px}.case-body h2:first-child{margin-top:0}.case-body p{font-size:17px;line-height:1.8}.finding{border-left:3px solid var(--accent);padding:10px 25px;background:#e9eaf0;margin:28px 0}.finding p{margin:0;font-size:19px}.source-note{font-family:var(--mono);font-size:12px!important;color:var(--muted)}.compare{border-collapse:collapse;width:100%;font-size:14px;margin:25px 0}.compare th,.compare td{padding:15px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.compare th{font-weight:600}.case-next{padding:30px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between}.static-note{font-size:13px}.js-only{display:none}.js .js-only{display:block}.js .no-js-only{display:none}.muted{color:var(--muted)}
@media(min-width:1600px){.hero-title{font-size:158px}}@media(max-width:1000px){.wrap{width:calc(100% - 48px)}.hero-grid{gap:28px}.brand span{display:none}.project{grid-template-columns:40px 1fr 1fr;gap:18px}.lab{grid-template-columns:220px 1fr;padding:24px;gap:20px}.case-body{grid-template-columns:180px 1fr;gap:40px}.experience{gap:40px}.hero-title{font-size:11vw}.metrics strong{font-size:20px}}@media(max-width:720px){.wrap{width:calc(100% - 36px)}.nav{min-height:66px;gap:14px}.nav nav{gap:16px;font-size:12px}.nav nav .optional{display:none}.brand{font-size:16px}.hero{padding-top:28px}.hero-top{align-items:start;gap:20px}.hero-top p{font-size:10px}.hero-top .location{text-align:right}.hero-title{font-size:18vw;line-height:.96;margin:28px 0}.hero-grid,.lab-intro,.experience{grid-template-columns:1fr;gap:24px}.intro{font-size:23px;margin-top:0}.hero-figure{margin-top:10px}.hero-strip{grid-template-columns:1fr;gap:14px;margin-top:28px;padding-top:20px}.hero-strip>div{display:flex;justify-content:space-between;gap:15px}.hero-strip strong{font-size:13px;text-align:right}.hero-strip span{font-size:10px;flex-shrink:0}.section{padding:58px 0}.section-title{display:block}.section-title p{margin-top:20px}.project{grid-template-columns:30px 1fr;gap:12px;padding:26px 0}.project-image{grid-column:2;grid-row:2}.project h3{font-size:31px}.project p{font-size:15px}.lab{grid-template-columns:1fr;padding:20px;gap:25px}.controls{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px}.controls>div{min-width:0}.controls label{margin-top:0}.controls>.check,.controls>.button{grid-column:1/-1}.metrics{gap:10px}.metrics strong{font-size:19px}.metrics span{font-size:11px}.lab-intro :is(h1,h2){font-size:44px}.experience h2{font-size:43px}.contact h2{letter-spacing:-2px}.footer{flex-direction:column;gap:8px}.case-head{padding:32px 0 20px}.case-head h1{font-size:50px;letter-spacing:-2.5px}.case-head .dek{font-size:20px}.case-meta{grid-template-columns:1fr;gap:13px}.case-figure{padding:10px}.case-body{grid-template-columns:1fr;gap:28px;padding:32px 0 50px}.case-body aside{display:flex;gap:16px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:12px}.case-body aside a{margin:0}.case-body h2{font-size:29px}.case-body p{font-size:16px}.case-next{gap:30px}.compare th,.compare td{padding:10px 6px;font-size:12px}.finding{padding:13px 18px}.section-title h2{letter-spacing:-1.5px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}@media print{.top,.controls,.actions,.contact,.case-body aside{display:none}.wrap{width:100%}.case-body{display:block}.dark{background:white;color:black}body{background:white}.case-figure{max-height:350px}.case-body p{font-size:11pt}}
.dark summary:focus-visible{outline-color:#d6e0ff}.legend span:nth-child(2):before{background:repeating-linear-gradient(90deg,var(--accent) 0 6px,transparent 6px 9px)}.historical{margin:24px 0;background:#ffffff;padding:18px}.historical figure+figure{margin-top:28px}.historical img{margin:auto;max-height:750px;object-fit:contain}.historical a{display:block}

/* Art direction revision: source artifacts, neutral surfaces, cobalt accents. */
.hero{padding-top:40px}.hero-title{font-size:clamp(58px,9.5vw,136px);font-weight:600;letter-spacing:-.07em;line-height:1;margin:26px 0 34px}.hero-figure{background:white;padding:18px 22px}.hero-figure img{aspect-ratio:1.6;object-fit:contain}.hero-grid{grid-template-columns:1fr 1.15fr}.project-image{background:#e9ebf2}.project-image img{object-fit:contain}.case-figure{background:#e9ebf2}.hero-title em{font-family:inherit;font-style:normal;color:var(--ink)}@media(max-width:720px){.hero{padding-top:26px}.hero-title{font-size:15vw;line-height:1.05;letter-spacing:-.06em;margin:25px 0}.hero-grid{grid-template-columns:1fr}.hero-figure{padding:14px}.hero-strip{gap:16px}.hero-strip>div{align-items:center}}

.plot-scroll{overflow-x:auto;overscroll-behavior-x:contain}.plot-scroll svg{min-width:560px}.plot-scroll:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.plot-scroll-hint{display:none;font-size:12px;color:var(--muted)}@media(max-width:1200px){.lab>div{min-width:0}.plot-scroll-hint{display:block}}

/* Original photographic evidence: preserve complete frame and natural proportions. */
.hero-figure img{aspect-ratio:auto}.hero-figure{padding:12px}.case-figure{background:white}.project-image{background:white}
html:not(.js) .advanced-lab .js-only{display:none}.js .advanced-lab .js-only{display:block}select:focus-visible{outline:3px solid var(--accent);outline-offset:5px}

.advanced-lab{grid-template-columns:300px minmax(0,1fr)}.controls fieldset{border:0;border-top:1px solid var(--line);padding:18px 0 0;margin:22px 0 0;min-width:0}.controls legend{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.8px;padding-right:10px}.controls fieldset[hidden]{display:none}.controls .parameter{margin-bottom:18px}.controls .check small{display:block;margin-top:5px}.control-help{font-size:12px;color:var(--muted);line-height:1.5}.controller-readout{font-family:var(--mono);font-size:12px;line-height:1.7;padding:14px;background:var(--light);overflow-wrap:anywhere}.controller-legend span:nth-child(3):before{background:repeating-linear-gradient(90deg,#7045a1 0 2px,transparent 2px 5px)}.controller-legend span:nth-child(4):before{background:repeating-linear-gradient(90deg,#6b6f78 0 3px,transparent 3px 7px)}.comparison-scroll{overflow-x:auto}.comparison-scroll:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.controller-comparison{width:100%;border-collapse:collapse;font-size:12px;margin-top:20px;min-width:490px}.controller-comparison caption{text-align:left;font-size:14px;font-weight:600;margin-bottom:12px}.controller-comparison th,.controller-comparison td{border-bottom:1px solid var(--line);text-align:right;padding:10px 8px}.controller-comparison th:first-child{text-align:left}.controller-comparison small{font-weight:400}.controller-comparison tr.selected{background:#e9ebf2}.lab-results{min-width:0}@media(max-width:1100px){.advanced-lab{grid-template-columns:240px minmax(0,1fr)}}@media(max-width:820px){.advanced-lab{grid-template-columns:1fr}.advanced-lab .controls{display:block}.advanced-lab .controls fieldset{display:grid;grid-template-columns:1fr 1fr;gap:6px 22px}.advanced-lab .controls fieldset[hidden]{display:none}.advanced-lab .controls fieldset>.check,.advanced-lab .controls fieldset>.control-help{grid-column:1/-1}}@media(max-width:420px){.advanced-lab .controls fieldset{grid-template-columns:1fr}.advanced-lab .metrics{grid-template-columns:1fr}.advanced-lab .metrics>div{display:flex;justify-content:space-between;align-items:center}.advanced-lab .metrics span{text-align:right}}
.impact-invite{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;border-top:1px solid var(--line)}.impact-invite h2{font-size:clamp(34px,4.3vw,60px);font-weight:500;line-height:1.06;letter-spacing:-2px;margin:12px 0 24px}.impact-invite p{color:var(--muted);max-width:590px}.impact-art{display:block;background:#e9ebf2}.impact-art img{width:100%;height:auto}@media(max-width:800px){.impact-invite{grid-template-columns:1fr;gap:28px}.impact-invite h2 br{display:none}}

/* Original portrait demonstrations and four-state feedback explanation. */
.pendulum-demo{border-top:1px solid var(--line);padding:42px 0 8px}.pendulum-clips{display:grid;grid-template-columns:1fr 1fr;gap:36px;max-width:850px;margin:30px auto}.pendulum-clips figure{margin:0;padding:22px;background:white;border:1px solid var(--line)}.clip-heading h3{font-size:25px;font-weight:500;letter-spacing:-.6px;margin:5px 0 20px}.clip-heading .eyebrow{font-size:10px}.pendulum-clips figure:nth-child(2) .eyebrow{color:var(--accent)}.pendulum-clips video{display:block;width:100%;height:auto;max-height:560px;aspect-ratio:9/16;background:#202228;object-fit:contain}.pendulum-clips figcaption{margin-top:15px;line-height:1.65}.clip-time{display:block;font-family:var(--mono);font-size:10px;margin:12px 0 5px}.feedback-explanation{background:var(--light);padding:25px;margin:25px 0 40px}.feedback-steps{padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.feedback-steps li{border-top:2px solid var(--blue);padding-top:12px}.feedback-steps strong{font-size:14px;display:block}.feedback-steps span{display:block;font-size:13px;margin-top:8px;color:var(--muted)}.case-body .feedback-return{font-size:13px;border-bottom:1px solid var(--line);padding-bottom:20px}.control-equations p{font-family:var(--mono);font-size:18px;margin:14px 0;line-height:1.5}.control-equations p>span{display:block;text-transform:uppercase;font-size:10px;letter-spacing:.8px;color:var(--muted);margin-bottom:4px}.feedback-explanation details{margin-top:24px}.feedback-explanation details p{font-size:14px}.compare caption{text-align:left;font-weight:600;margin-bottom:10px}@media(max-width:720px){.pendulum-clips{grid-template-columns:1fr;max-width:390px;gap:24px}.pendulum-clips figure{padding:18px}.pendulum-clips video{max-height:530px}.feedback-explanation{padding:18px}.feedback-steps{grid-template-columns:1fr}.feedback-steps li{display:grid;grid-template-columns:1fr 1fr;gap:8px}.feedback-steps span{margin:0}.control-equations p{font-size:17px}}
