@font-face{font-family:Portfolio;src:local(Arial);font-display:swap}:root{--bg:#111210;--surface:#1b1d18;--text:#efefe7;--muted:#a7ab9e;--line:#34372e;--accent:#e6ef78;--font:Portfolio,Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:6px}::selection{background:var(--accent);color:var(--bg)}img{max-width:100%;display:block}svg{flex-shrink:0}h1,h2,h3,p{margin:0}h1,h2,h3{letter-spacing:-.045em;font-weight:500}p{line-height:1.6}button{cursor:pointer}button:disabled{cursor:wait}.shell{width:min(1320px,100% - 112px);margin-inline:auto}.muted{color:var(--muted)}.accent{color:var(--accent)}.tiny,.eyebrow{letter-spacing:.085em;font-size:11px;line-height:1.5}.eyebrow{align-items:center;gap:10px;font-weight:500;display:inline-flex}.status-dot{background:var(--accent);border-radius:50%;width:7px;height:7px;display:inline-block;box-shadow:0 0 0 4px #e6ef7812}.skip-link{z-index:100;background:var(--accent);color:var(--bg);padding:15px;position:fixed;top:-80px;left:20px}.skip-link:focus{top:10px}.text-link{border-bottom:1px solid var(--line);align-items:center;gap:16px;padding-bottom:7px;font-size:13px;line-height:1.5;transition:color .2s,border-color .2s;display:inline-flex}.text-link:hover{color:var(--accent);border-color:var(--accent)}.text-link svg{transition:transform .2s}.text-link:hover svg{transform:translate(2px,-2px)}.button{background:var(--accent);color:var(--bg);border:1px solid var(--accent);border-radius:2px;justify-content:space-between;align-items:center;gap:36px;padding:18px 22px;font-size:14px;transition:background .2s,transform .2s;display:inline-flex}.button:hover{background:#f2f7b3;transform:translateY(-2px)}.button span{font-size:20px}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:30px;height:112px;display:flex}.brand{letter-spacing:-.06em;font-size:23px;font-weight:600}.brand-dot{vertical-align:super;color:var(--accent);margin-left:3px;font-size:13px}.desktop-nav{gap:35px;font-size:13px;display:flex}.desktop-nav a{color:#c3c5b9;padding:10px 0;position:relative}.desktop-nav a:hover,.desktop-nav a[aria-current]{color:var(--accent)}.desktop-nav a[aria-current]:after{content:"";background:var(--accent);border-radius:50%;width:4px;height:4px;position:absolute;bottom:0;left:0}.header-actions{align-items:center;gap:23px;display:flex}.locale{color:var(--muted);font-size:10px}.header-contact{border:1px solid var(--line);border-radius:25px;align-items:center;gap:17px;padding:12px 15px;font-size:12px;display:flex}.header-contact:hover{border-color:var(--accent);color:var(--accent)}.menu-toggle{color:var(--text);background:0 0;border:0;padding:10px;display:none}.menu-toggle span{background:currentColor;width:23px;height:1px;margin:6px 0;display:block}.mobile-nav{border-bottom:1px solid var(--line);padding-block:20px}.mobile-nav[hidden]{display:none}.mobile-nav a{justify-content:space-between;padding:14px 0;font-size:25px;display:flex}.hero{padding-top:55px}.hero-topline{justify-content:space-between;align-items:center;display:flex}.hero-grid{grid-template-columns:1fr 235px;align-items:end;gap:55px;margin-top:49px;display:grid}.hero h1{letter-spacing:-.065em;font-size:clamp(64px,7.9vw,118px);font-weight:500;line-height:1.025}.highlight{color:var(--bg);background:var(--accent);-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:0 .06em .035em}.hero-aside{padding-bottom:6px}.asterisk{color:var(--accent);margin-bottom:35px;font-size:70px;line-height:1;display:block;transform:rotate(10deg)}.hero-aside p{color:#bec2b2;margin-bottom:28px;font-size:14px;line-height:1.8}.hero-aside p:first-line{color:var(--text)}.hero-bottom{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:60px;padding-bottom:43px;display:flex}.hero-bottom p{color:var(--muted);font-size:12px}.circle-link{border:1px solid var(--line);border-radius:50%;place-items:center;width:47px;height:47px;font-size:24px;transition:background .2s,color .2s;display:grid}.circle-link:hover{background:var(--accent);color:var(--bg)}.section{padding-top:100px}.section-heading{justify-content:space-between;align-items:end;gap:30px;margin-bottom:38px;display:flex}.section-heading .eyebrow{margin-bottom:17px}.section-heading h2{font-size:37px;line-height:1.15}.section-heading h2 .accent{font-size:.65em}.project-grid{grid-template-columns:1fr 1fr;gap:52px 30px;display:grid}.project-grid .project-card:first-child{grid-column:1/-1;grid-template-columns:1.05fr 1fr;column-gap:65px;display:grid}.project-grid .project-card:first-child .project-image-link,.project-grid .project-card:first-child .card-meta{grid-column:1/-1}.project-grid .project-card:first-child .card-title{grid-area:3/1/5}.project-grid .project-card:first-child .card-title h3{max-width:480px;font-size:39px;line-height:1.15}.project-grid .project-card:first-child .card-summary{max-width:430px;margin-top:0}.project-grid .project-card:first-child .tags{align-self:end}.project-image-link{border-radius:4px;display:block;position:relative;overflow:hidden}.project-image-link:hover .card-open{background:var(--accent);color:var(--bg);transform:rotate(45deg)}.card-open{color:var(--text);background:#111210cf;border-radius:50%;place-items:center;width:40px;height:40px;transition:transform .3s,background .3s;display:grid;position:absolute;top:20px;right:20px}.card-meta{justify-content:space-between;align-items:center;margin:23px 0 15px;font-size:12px;display:flex}.card-title{justify-content:space-between;align-items:start;gap:20px;display:flex}.card-title h3{max-width:420px;font-size:28px;line-height:1.2}.card-title svg{margin-top:5px}.card-title:hover{color:var(--accent)}.card-summary{color:var(--muted);max-width:460px;margin-top:15px;font-size:13px}.tags{flex-wrap:wrap;gap:7px;margin-top:17px;display:flex}.tags span,.pill{border:1px solid var(--line);color:#c3c7b7;border-radius:20px;padding:7px 11px;font-size:10px}.project-visual{aspect-ratio:1.4;color:#151c17;isolation:isolate;background:#d5dfcf;position:relative;overflow:hidden}.project-card:first-child .project-visual{aspect-ratio:2.05}.visual-wordmark{letter-spacing:-.06em;z-index:2;font-size:35px;font-weight:700;position:absolute;top:9%;left:7%}.visual-wordmark span{letter-spacing:.04em;margin-left:3px;font-size:.35em}.solar{background:#cbd8bd}.solar:after{content:"";z-index:-1;border:1px solid #49613d33;border-radius:50%;width:80%;height:120%;position:absolute;top:35%;left:45%;transform:rotate(-25deg)}.solar-phones{justify-content:center;align-items:center;gap:10%;height:100%;padding-top:7%;display:flex}.device{background:#131913;border:6px solid #263023;border-radius:30px;width:21%;height:88%;overflow:hidden;transform:rotate(-7deg)translateY(13%);box-shadow:9px 28px 55px #223b183b}.device img{object-fit:cover;object-position:top;width:100%;height:100%}.solar-note{align-self:center;max-width:38%;padding-top:10%}.solar-note p{letter-spacing:-.055em;margin:18px 0 26px;font-size:clamp(22px,3.6vw,50px);line-height:1.08}.dark-pill{color:#293521;border-color:#29352166;font-size:10px}.visual-foot{letter-spacing:.12em;font-size:8px;position:absolute;bottom:5%;left:7%}.visual-foot-light{color:#fff;text-shadow:0 1px 4px #0008}.mapfre{background:#ba282c}.mapfre-cover{object-fit:cover;width:100%;height:100%;transition:transform .7s}.project-image-link:hover .mapfre-cover{transform:scale(1.03)}.vivo{background:#c7b9ec}.vivo-logo{color:#642496;font-size:30px}.legal-window{background:#fcfcff;border-radius:8px;width:105%;position:absolute;top:25%;left:8%;overflow:hidden;transform:rotate(-5deg);box-shadow:0 20px 50px #50347b44}.window-top{background:#f1edf7;align-items:center;gap:3px;height:24px;padding:0 9px;display:flex}.window-top i{background:#c2b4d3;border-radius:50%;width:4px;height:4px}.window-top span{color:#89808f;margin:auto;font-size:6px}.legal-body{grid-template-columns:75px 1fr;min-height:240px;display:grid}.legal-body aside{color:#82728c;background:#f4f0fa;flex-direction:column;gap:16px;padding:20px 10px;font-size:6px;display:flex}.legal-body aside b{color:#642496;font-size:9px}.legal-body aside .active{color:#642496;background:#e3d9f3;margin:0 -4px;padding:5px}.legal-main{padding:28px 21px}.legal-main .tiny{color:#82728c;font-size:6px}.legal-main h3{color:#34174c;margin-top:12px;line-height:1.05;font-size:28px!important}.flow-mini{color:#642496;align-items:center;gap:8px;margin-top:20px;font-size:6px;display:flex}.flow-mini span{border:1px solid #e0d4ee;border-radius:4px;padding:7px 10px}.flow-mini i{font-style:normal}.mini-grid{gap:8px;margin-top:18px;display:flex}.mini-grid div{background:#f4f0fa;border:1px solid #e9e0f3;border-radius:4px;flex-direction:column;gap:3px;min-width:70px;padding:10px;display:flex}.mini-grid em{color:#9566b5;font-size:10px;font-style:normal}.mini-grid b{color:#34174c;font-size:7px}.mini-grid span{color:#82728c;font-size:5px}.vivo .visual-foot{font-size:6px;bottom:4%;left:8%}.approach{grid-template-columns:1fr 1fr;gap:100px;display:grid}.approach h2,.experience h2,.learning-grid h2{margin-top:22px;font-size:43px;line-height:1.1}.approach-list>div{border-bottom:1px solid var(--line);padding:25px 0 25px 42px;position:relative}.approach-list>div:first-child{padding-top:0}.approach-list>div>span{color:var(--accent);font-size:11px;position:absolute;top:29px;left:0}.approach-list>div:first-child>span{top:5px}.approach-list h3{margin-bottom:10px;font-size:23px}.approach-list p{color:var(--muted);max-width:360px;font-size:13px}.labs-grid{grid-template-columns:1fr 1fr;gap:30px;display:grid}.lab-preview{border:1px solid var(--line);border-radius:4px;height:310px;position:relative;overflow:hidden}.orbit-preview{background:#20241c;place-items:center;display:grid}.orbit-preview i{color:var(--accent);text-shadow:0 0 45px #e6ef782b;font-size:180px;font-style:normal;font-weight:400;line-height:1;transform:rotate(-35deg)scaleX(.7)}.orbit-preview>span{border:1px solid #b2bc7444;border-radius:50%;width:240px;height:80px;position:absolute;transform:rotate(-35deg)}.orbit-preview>span:nth-child(2){transform:rotate(35deg)}.orbit-preview>span:nth-child(3){transform:rotate(90deg)}.lab-card:hover .orbit-preview i{transform:rotate(20deg)scaleX(.8)}.orbit-preview i{transition:transform .8s}.type-preview{background:var(--accent);color:#232717;flex-direction:column;justify-content:center;align-items:center;gap:0;display:flex}.type-preview span{letter-spacing:-.09em;font-size:100px;font-weight:600;line-height:.83;transition:letter-spacing .6s,transform .6s}.type-preview span:nth-child(2){color:#0000;-webkit-text-stroke:1px #232717}.lab-card:hover .type-preview span:first-child{letter-spacing:.005em}.lab-card:hover .type-preview span:nth-child(2){transform:translate(-30px)}.lab-label{justify-content:space-between;align-items:center;padding:20px 0;display:flex}.lab-label h3{letter-spacing:-.04em;font-size:24px}.lab-label span{color:var(--muted);margin-top:7px;font-size:11px;display:block}.experience{grid-template-columns:1fr 1fr;gap:100px;display:grid}.section-intro{max-width:380px;color:var(--muted);margin:25px 0;font-size:14px}.experience-list>div{border-bottom:1px solid var(--line);grid-template-columns:105px 1fr;column-gap:15px;padding:24px 0;display:grid}.experience-list>div:first-child{padding-top:0}.experience-list>div>span{color:var(--muted);grid-row:1/3;padding-top:5px;font-size:10px}.experience-list h3{margin-bottom:10px;font-size:24px}.experience-list p{font-size:12px}.site-footer{border-top:1px solid var(--line);margin-top:110px;padding-top:43px}.footer-top{position:relative}.footer-top>p{letter-spacing:-.06em;margin:36px 0 25px;font-size:70px;line-height:1.05}.footer-mail{color:var(--accent);letter-spacing:-.04em;align-items:center;gap:25px;font-size:36px;display:inline-flex}.footer-mail:hover{color:#fafdc8}.footer-bottom{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:20px;margin-top:65px;padding:27px 0 35px;font-size:10px;display:flex}.footer-bottom>div{gap:23px;display:flex}.footer-bottom a:hover{color:var(--accent)}.back-top{font-size:20px}.page-intro{padding-top:70px;padding-bottom:50px}.page-intro h1{letter-spacing:-.06em;max-width:1100px;margin:30px 0;font-size:clamp(56px,7.5vw,102px);line-height:1.03}.page-intro>p{color:var(--muted);max-width:600px;font-size:17px;line-height:1.75}.projects-index{padding-top:40px}.more-disciplines h2{margin-top:20px;font-size:40px}.discipline-grid{grid-template-columns:1fr 1fr;gap:30px;margin-top:35px;display:grid}.discipline-grid>a{border:1px solid var(--line);border-radius:4px;padding:35px;transition:border-color .2s,background .2s}.discipline-grid>a:hover{background:#1b1f15;border-color:#808859}.discipline-grid h3{margin:35px 0 14px;font-size:35px}.discipline-grid p{color:var(--muted);margin-bottom:30px;font-size:14px}.discipline-grid .tiny{color:var(--accent)}.case-intro{padding-top:47px}.case-topline{justify-content:space-between;align-items:center;gap:20px;margin-top:65px;display:flex}.case-intro h1{letter-spacing:-.06em;max-width:1060px;margin:23px 0;font-size:clamp(46px,6.7vw,88px);line-height:1.05}.case-summary{color:var(--muted);max-width:750px;font-size:18px;line-height:1.65}.case-facts{border-top:1px solid var(--line);grid-template-columns:1fr 1.4fr 1fr;gap:25px;margin:42px 0;padding-top:25px;display:grid}.case-facts>div>span{letter-spacing:.09em;color:var(--muted);font-size:9px}.case-facts p{margin-top:9px;font-size:12px}.case-visual>.project-visual{aspect-ratio:2.05;border-radius:4px}.case-visual .device{width:22%;height:90%}.case-visual .legal-window{width:78%;top:22%;left:20%;transform:rotate(-4deg)}.case-visual .legal-body{grid-template-columns:130px 1fr;min-height:390px}.case-visual .legal-body aside{gap:23px;padding:30px 20px;font-size:11px}.case-visual .legal-body aside b{font-size:15px}.case-visual .legal-main{padding:35px}.case-visual .legal-main h3{font-size:47px!important}.case-visual .legal-main .tiny{font-size:9px}.case-visual .flow-mini,.case-visual .mini-grid b{font-size:10px}.case-visual .mini-grid span{font-size:8px}.case-visual .mini-grid em{font-size:14px}.case-visual .mini-grid div{min-width:100px;padding:15px}.case-decisions{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:80px;padding-top:45px;padding-bottom:45px;display:grid}.case-decisions p{letter-spacing:-.02em;max-width:490px;margin-top:15px;font-size:21px;line-height:1.5}.case-body{grid-template-columns:260px minmax(0,730px);justify-content:space-between;gap:80px;padding-top:75px;display:grid}.case-body aside{align-self:start;position:sticky;top:35px}.case-body aside p{color:var(--muted);margin:18px 0 30px;font-size:13px}.case-body aside .text-link{margin-bottom:20px;font-size:11px}.prose h2{margin:0 0 23px;font-size:34px;line-height:1.15}.prose h2:not(:first-child){margin-top:58px}.prose p{color:#bcc0b3;margin-bottom:22px;font-size:16px;line-height:1.85}.prose ul{color:var(--muted);padding-left:20px;font-size:15px;line-height:1.8}.next-project{border-top:1px solid var(--line);margin-top:100px;padding-top:35px}.next-project>a{justify-content:space-between;align-items:center;gap:40px;margin-top:24px;display:flex}.next-project>a>div>span{color:var(--muted);font-size:12px}.next-project h2{max-width:700px;margin-top:14px;font-size:45px;line-height:1.1}.next-project>a:hover{color:var(--accent)}.about-grid{grid-template-columns:.9fr 1.1fr;gap:90px;padding-top:20px;display:grid}.portrait-wrap{background:#2a2f22;border-radius:4px;min-height:560px;position:relative;overflow:hidden}.portrait-wrap img{object-fit:cover;filter:grayscale();width:100%;height:100%;position:absolute;inset:0}.portrait-caption{background:linear-gradient(#0000,#111210c9);padding:70px 25px 25px;font-size:15px;position:absolute;bottom:0;left:0;right:0}.portrait-caption>span{color:#d2d6ca;font-size:11px}.about-copy{padding-top:15px}.about-copy h2{margin-bottom:23px;font-size:45px}.about-copy p{color:var(--muted);margin-bottom:20px;font-size:14px;line-height:1.85}.about-copy .lead{color:var(--text);letter-spacing:-.025em;font-size:24px;line-height:1.5}.about-links{align-items:center;gap:30px;margin-top:33px;display:flex}.timeline>div{border-top:1px solid var(--line);grid-template-columns:170px 1fr 1.3fr;gap:35px;padding:29px 0;display:grid}.timeline>div>span{color:var(--muted);padding-top:6px;font-size:11px}.timeline h3{font-size:24px;line-height:1.2}.timeline p{color:var(--muted);font-size:13px}.learning-grid{grid-template-columns:1fr 1fr;gap:100px;display:grid}.education-item{margin-top:30px}.education-item h3{margin-bottom:8px;font-size:20px}.education-item p{color:var(--muted);font-size:13px}.skill-cloud{flex-wrap:wrap;gap:10px;margin-top:30px;display:flex}.skill-cloud>span{border:1px solid var(--line);border-radius:3px;padding:12px 15px;font-size:13px}.language-note{margin-top:45px}.language-note p{color:var(--muted);margin-top:16px;font-size:15px}.cv-download{margin-top:35px}.cv-overview{border-top:1px solid var(--line);grid-template-columns:1.2fr .8fr;gap:100px;padding-top:50px;display:grid}.cv-overview h2{margin:20px 0;font-size:35px}.cv-overview p{color:var(--muted);max-width:650px;margin:15px 0;font-size:15px}.cv-overview .text-link{margin-top:20px}.plain-list{color:var(--muted);margin-top:20px;padding:0;font-size:15px;list-style:none}.plain-list li{border-bottom:1px solid var(--line);padding:15px 0}.playground-intro{padding-bottom:25px}.playground-list{padding-top:30px}.lab-note{color:var(--muted);max-width:600px;margin:25px 0;font-size:13px}.experiment{padding-top:20px}.experiment-head{justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px;display:flex}.experiment-head h1{margin:30px 0 16px;font-size:70px}.experiment-head p{max-width:600px;color:var(--muted);font-size:15px}.lab-stage{border:1px solid var(--line);background:#191e15;border-radius:5px;justify-content:center;align-items:center;height:560px;display:flex;position:relative;overflow:hidden}.lab-canvas{width:100%;height:100%;display:block}.lab-start{text-align:center;flex-direction:column;align-items:center;gap:20px;display:flex;position:absolute}.lab-start .orbit-mark{color:var(--accent);font-size:130px;font-weight:400;line-height:1;transform:rotate(-25deg)scaleX(.6)}.lab-start p{color:var(--muted);font-size:12px}.lab-controls{border:1px solid var(--line);border-top:0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:25px;padding:20px 24px;font-size:12px;display:flex}.lab-controls label{color:var(--muted);align-items:center;gap:12px;display:flex}.lab-controls input[type=range]{accent-color:var(--accent);max-width:130px}.lab-controls input[type=color]{background:0 0;border:0;width:28px;height:28px;padding:0}.lab-controls button{border:1px solid var(--line);color:var(--text);background:0 0;padding:9px 15px;font-size:11px}.lab-controls button:hover{border-color:var(--accent)}.kinetic{letter-spacing:-.085em;color:var(--lab-color,var(--accent));text-align:center;flex-direction:column;width:100%;font-size:clamp(70px,15vw,230px);font-weight:600;line-height:.85;display:flex}.kinetic>span{animation:type-flow var(--lab-speed,5s) ease-in-out infinite alternate}.kinetic>span:nth-child(2){color:#0000;-webkit-text-stroke:1px var(--lab-color,var(--accent));animation-delay:-2s}.kinetic.is-paused>span{animation-play-state:paused}.experiment-details{grid-template-columns:1fr 1fr;gap:70px;margin-top:45px;display:grid}.experiment-details h2{margin-bottom:15px;font-size:25px}.experiment-details p{color:var(--muted);font-size:14px}.range-value{color:var(--text);font-variant-numeric:tabular-nums;min-width:20px}.error-state{color:var(--muted);text-align:center;max-width:450px;padding:30px;font-size:14px}.lab-editor{border:0;border-bottom:1px solid var(--line);color:var(--text);background:0 0;max-width:130px;padding:8px 0}.lab-signal{color:#a7ab9e;letter-spacing:.08em;font-size:9px;position:absolute;bottom:20px;left:20px}@keyframes type-flow{0%{letter-spacing:-.09em;transform:translate(-4%)skew(-7deg)}to{letter-spacing:-.025em;transform:translate(4%)skew(4deg)}}@media (width>=1600px){.hero h1{font-size:125px}}@media (width<=1100px){.shell{width:calc(100% - 72px)}.hero-grid{grid-template-columns:1fr 200px;gap:30px}.hero h1{font-size:8vw}.hero-aside p{font-size:12px}.approach,.experience,.about-grid,.learning-grid{gap:55px}.project-grid .project-card:first-child .card-title h3{font-size:34px}.project-grid .project-card:first-child{gap:0 35px}.legal-window{width:120%}.case-body{grid-template-columns:220px 1fr;gap:55px}.timeline>div{grid-template-columns:130px 1fr 1.2fr;gap:25px}.footer-top>p{font-size:65px}.case-visual .legal-body{min-height:310px}.case-visual .legal-main h3{font-size:38px!important}}@media (width<=760px){.shell{width:calc(100% - 40px)}.site-header{gap:15px;height:83px}.brand{font-size:22px}.desktop-nav,.header-contact{display:none}.header-actions{gap:20px}.menu-toggle{display:block}.hero{padding-top:31px}.hero-topline .tiny{display:none}.eyebrow,.tiny{font-size:9px}.hero-grid{grid-template-columns:1fr;gap:35px;margin-top:35px}.hero h1{letter-spacing:-.06em;font-size:clamp(48px,10.9vw,82px);line-height:1.06}.hero-aside{grid-template-columns:45px 1fr;align-items:start;gap:0 25px;max-width:450px;display:grid}.asterisk{grid-row:1/3;margin:0;font-size:45px}.hero-aside p{margin-bottom:15px;font-size:13px}.hero-aside .text-link{justify-self:start;font-size:12px}.hero-bottom{margin-top:35px;padding-bottom:30px}.hero-bottom>p{font-size:10px}.hero-bottom>.tiny{display:none}.circle-link{width:40px;height:40px;font-size:20px}.section{padding-top:65px}.section-heading{align-items:end;gap:15px;margin-bottom:25px}.section-heading h2{font-size:28px}.section-heading>.text-link{white-space:nowrap;gap:6px;font-size:10px}.section-heading>.text-link svg{width:12px}.section-heading .eyebrow{margin-bottom:14px}.project-grid{grid-template-columns:1fr;gap:38px}.project-grid .project-card:first-child{grid-column:auto;display:block}.project-card .project-visual,.project-card:first-child .project-visual{aspect-ratio:1.3}.project-grid .project-card:first-child .card-title h3,.card-title h3{max-width:340px;font-size:28px}.card-summary,.project-grid .project-card:first-child .card-summary{margin-top:13px;font-size:12px}.card-meta{margin-top:17px;margin-bottom:13px;font-size:11px}.tags{margin-top:15px}.tags span{padding:6px 9px;font-size:9px}.visual-wordmark{font-size:30px;top:8%}.solar-phones{gap:7%;padding-top:10%}.device{border-width:4px;border-radius:22px;width:34%;height:83%}.solar-note{max-width:39%;padding-top:5%}.solar-note p{margin:15px 0 20px;font-size:clamp(23px,6vw,37px)}.solar-note .tiny{font-size:7px}.dark-pill{padding:6px 8px;font-size:8px}.visual-foot{font-size:6px}.legal-window{width:120%;top:24%;left:7%}.legal-main{padding:23px 15px}.legal-main h3{font-size:28px!important}.legal-body{min-height:230px}.vivo .visual-foot{font-size:5px}.approach,.experience,.about-grid,.learning-grid{grid-template-columns:1fr;gap:35px}.approach h2,.experience h2,.learning-grid h2{margin-top:18px;font-size:35px}.approach-list h3{font-size:22px}.approach-list p{font-size:12px}.labs-grid{grid-template-columns:1fr;gap:20px}.lab-preview{height:285px}.lab-label h3{font-size:23px}.lab-label{padding-top:17px}.experience-list>div{grid-template-columns:105px 1fr;padding:22px 0}.experience-list h3{font-size:23px}.section-intro{max-width:400px;margin:20px 0;font-size:13px}.site-footer{margin-top:70px;padding-top:30px}.footer-top>p{margin:28px 0 22px;font-size:55px}.footer-mail{gap:20px;font-size:29px}.footer-mail svg{width:25px}.footer-bottom{flex-wrap:wrap;gap:23px;margin-top:40px;padding:25px 0;font-size:9px}.footer-bottom>div{order:3;gap:18px;width:100%}.page-intro{padding-top:43px;padding-bottom:30px}.page-intro h1{margin:27px 0 22px;font-size:clamp(45px,10vw,70px)}.page-intro>p{font-size:14px}.projects-index{padding-top:25px}.more-disciplines h2{font-size:31px;line-height:1.15}.discipline-grid{grid-template-columns:1fr;gap:18px}.discipline-grid>a{padding:25px}.discipline-grid h3{margin-top:25px;font-size:30px}.discipline-grid p{font-size:13px}.case-intro{padding-top:30px}.case-topline{align-items:start;margin-top:42px}.case-topline>.tiny{text-align:right;max-width:145px;font-size:8px}.case-intro h1{margin:25px 0;font-size:46px}.case-summary{font-size:15px}.case-facts{grid-template-columns:1fr;gap:20px;margin:30px 0}.case-facts p{margin-top:4px;font-size:12px}.case-visual>.project-visual{aspect-ratio:1.25}.case-visual .device{width:32%;height:84%}.case-visual .legal-window{width:120%;top:25%;left:8%}.case-visual .legal-body{grid-template-columns:75px 1fr;min-height:240px}.case-visual .legal-body aside{gap:16px;padding:20px 10px;font-size:6px}.case-visual .legal-body aside b{font-size:9px}.case-visual .legal-main{padding:28px 18px}.case-visual .legal-main h3{font-size:28px!important}.case-visual .flow-mini{font-size:6px}.case-visual .mini-grid div{min-width:70px;padding:10px}.case-visual .mini-grid b{font-size:7px}.case-visual .mini-grid span{font-size:5px}.case-visual .mini-grid em{font-size:10px}.case-visual .legal-main .tiny{font-size:6px}.case-decisions{grid-template-columns:1fr;gap:30px;padding-block:32px}.case-decisions p{margin-top:10px;font-size:19px}.case-body{grid-template-columns:1fr;gap:35px;padding-top:40px}.case-body aside{border-bottom:1px solid var(--line);padding-bottom:20px;position:static}.case-body aside p{margin:12px 0 20px}.case-body aside .text-link{margin-bottom:10px;margin-right:20px}.prose h2{margin-bottom:20px;font-size:28px}.prose p{margin-bottom:18px;font-size:14px;line-height:1.85}.prose h2:not(:first-child){margin-top:40px}.next-project{margin-top:60px;padding-top:28px}.next-project h2{font-size:31px}.next-project svg{width:30px}.about-grid{padding-top:10px}.portrait-wrap{max-width:100%;min-height:440px}.about-copy h2{font-size:36px}.about-copy .lead{font-size:22px}.about-copy p{font-size:13px}.about-links{gap:20px}.button{gap:25px;padding:15px 18px;font-size:12px}.about-links .text-link{font-size:12px}.timeline>div{grid-template-columns:1fr;gap:12px;padding:24px 0}.timeline h3{font-size:25px}.timeline>div>span{padding:0}.timeline p{font-size:13px}.learning-grid{gap:45px}.cv-overview{grid-template-columns:1fr;gap:40px;padding-top:35px}.cv-overview h2{font-size:30px}.cv-overview p{font-size:13px}.experiment-head{display:block}.experiment-head h1{font-size:47px}.experiment-head p{font-size:13px}.experiment-head .tiny{margin-top:20px;display:block}.lab-stage{height:400px}.lab-controls{gap:15px;padding:16px}.lab-controls label{gap:7px;font-size:11px}.lab-controls input[type=range],.lab-controls .lab-editor{max-width:90px}.kinetic{font-size:24vw}.experiment-details{grid-template-columns:1fr;gap:30px;margin-top:35px}.experiment-details h2{font-size:25px}.experiment-details p{font-size:13px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.portrait-wrap{background:radial-gradient(at 60% 30%,#46503a,#0000 65%),#22271e;place-items:center;display:grid}.portrait-wrap img{aspect-ratio:1;filter:none;border-radius:50%;width:min(65%,276px);height:auto;position:static;box-shadow:0 0 0 1px #a9b79333,0 24px 80px #0005}.portrait-caption{padding-top:35px}
