:root{--ink:#191a14;--ink-soft:#54564c;--paper:#f0eee4;--white:#fff;--violet:#5148c7;--violet-dark:#302b7d;--blue:#3154c9;--mint:#c4db78;--olive:#687054;--signal:#d9ef8e;--line:#191a1433;--font-geist-sans:Arial, Helvetica, sans-serif;--font-geist-mono:"Courier New", Courier, monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}::selection{background:var(--mint);color:var(--ink)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-header{z-index:50;justify-content:space-between;align-items:center;width:100%;height:78px;padding:0 clamp(24px,5vw,76px);transition:background .35s,box-shadow .35s,height .35s;display:flex;position:fixed;top:0;left:0}.site-header.is-scrolled{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);height:66px;box-shadow:0 1px 0 var(--line);background:#f7f6f2db}.monogram{letter-spacing:-.08em;font-size:24px;font-weight:900}.monogram span{color:var(--violet)}.header-content{align-items:center;gap:clamp(14px,2vw,28px);display:flex}.site-header nav{align-items:center;gap:clamp(13px,1.7vw,28px);display:flex}.site-header nav a{font-size:13px;font-weight:700;position:relative}.site-header nav a:after{content:"";background:var(--violet);transform-origin:100%;width:100%;height:2px;transition:transform .25s;position:absolute;bottom:-7px;left:0;transform:scaleX(0)}.site-header nav a:hover:after,.site-header nav a:focus-visible:after{transform-origin:0;transform:scaleX(1)}.language-switcher{border:1px solid var(--line);background:#ffffffa3;border-radius:100px;align-items:center;gap:3px;min-height:38px;padding:4px;display:flex}.language-switcher button{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:100px;place-items:center;width:30px;height:28px;padding:3px;transition:border-color .2s,background .2s,transform .2s;display:grid}.language-switcher button:hover{transform:translateY(-1px)}.language-switcher button:focus-visible{outline:2px solid var(--violet);outline-offset:2px}.language-switcher button.is-active{border-color:var(--ink);background:var(--white)}.language-switcher img{object-fit:cover;border:1px solid #191a142e;width:22px;height:16px;display:block}.menu-button{background:0 0;border:0;padding:8px;display:none}.hero{background:radial-gradient(circle at 82% 18%, #a9f0d1b3, transparent 20%), radial-gradient(circle at 73% 53%, #6c55e033, transparent 32%), var(--paper);flex-direction:column;justify-content:space-between;min-height:100vh;padding:144px clamp(24px,7vw,108px) 42px;display:flex;position:relative;overflow:hidden}.hero:before{content:"";border:1px solid #6c55e040;border-radius:50%;width:44vw;min-width:430px;height:44vw;min-height:430px;position:absolute;top:9vh;right:-4vw}.hero-orbit{pointer-events:none;border:1px solid #4b75f133;border-radius:50%;position:absolute}.orbit-one{width:18vw;height:18vw;animation:18s linear infinite orbit;top:28vh;right:21vw}.orbit-two{width:9vw;height:9vw;animation:12s linear infinite reverse orbit;top:19vh;right:8vw}.hero-content{z-index:2;grid-template-columns:1.08fr .92fr;align-items:center;gap:7vw;width:100%;max-width:1320px;margin:0 auto;display:grid;position:relative}.eyebrow{color:var(--violet-dark);letter-spacing:.18em;text-transform:uppercase;margin:0 0 20px;font-size:12px;font-weight:900}.hero h1{letter-spacing:-.075em;max-width:760px;margin:0;font-size:clamp(58px,7vw,112px);font-weight:900;line-height:.82}.hero h1 span{color:var(--violet);display:block}.hero-role{max-width:650px;margin:32px 0 12px;font-size:clamp(18px,1.6vw,25px);font-weight:800;line-height:1.38}.hero-intro{max-width:590px;color:var(--ink-soft);margin:0;font-size:17px;line-height:1.72}.hero-actions{flex-wrap:wrap;gap:13px;margin-top:32px;display:flex}.button{border-radius:100px;justify-content:center;align-items:center;gap:13px;min-height:51px;padding:0 24px;font-size:13px;font-weight:800;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex}.button:hover{transform:translateY(-3px)}.button-primary:hover{box-shadow:0 18px 42px #4832aa52}.button-ghost{border:1px solid var(--line);background:#ffffff73}.portrait-wrap{aspect-ratio:1;justify-self:center;width:min(35vw,480px);position:relative}.portrait-glow{background:linear-gradient(140deg, var(--mint), #6c55e080);filter:blur(34px);opacity:.7;border-radius:50%;position:absolute;inset:-12%}.portrait-frame{border:9px solid #ffffffd9;border-radius:46% 54% 54% 46%/44% 46% 54% 56%;animation:9s ease-in-out infinite morph;position:absolute;inset:0;overflow:hidden;box-shadow:0 30px 70px #20184c38}.portrait-frame img{object-fit:cover;object-position:50% 42%;width:100%;height:100%;transform:scale(1.03)}.portrait-tag{z-index:3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;border:1px solid #ffffffe6;border-radius:100px;padding:12px 17px;font-size:12px;font-weight:900;position:absolute;box-shadow:0 12px 32px #20184c1f}.hero-stats{z-index:2;border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:28px;width:100%;max-width:1320px;margin:52px auto 0;padding-top:28px;display:grid;position:relative}.hero-stats div{grid-template-columns:auto 1fr;align-items:center;gap:12px;display:grid}.hero-stats strong{color:var(--violet);letter-spacing:-.04em;font-size:28px}.hero-stats span{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;font-size:11px;line-height:1.4}.section{padding:112px clamp(24px,7vw,108px)}.section-label{letter-spacing:.15em;text-transform:uppercase;align-items:center;gap:13px;max-width:1320px;margin:0 auto 58px;font-size:12px;font-weight:900;display:flex}.section-label:after{content:"";background:var(--line);width:68px;height:1px}.about-grid{grid-template-columns:1.05fr .95fr;gap:9vw;max-width:1320px;margin:auto;display:grid}.about h2{letter-spacing:-.055em;margin:0;font-size:clamp(38px,4.2vw,68px);line-height:1.02}.about-copy{padding-top:8px}.about-copy p{color:var(--ink-soft);margin:0 0 20px;font-size:17px;line-height:1.85}.inline-links{flex-wrap:wrap;gap:25px;margin-top:32px;display:flex}.inline-links a,.text-link{border-bottom:1px solid var(--ink);padding-bottom:5px;font-size:13px;font-weight:900}.toolkit{border-top:1px solid var(--line);flex-wrap:wrap;gap:10px;max-width:1320px;margin:76px auto 0;padding-top:30px;display:flex}.toolkit span{border:1px solid var(--line);color:var(--ink-soft);font-family:var(--font-geist-mono), monospace;background:#fff;border-radius:100px;padding:9px 14px;font-size:11px}.focus-section{color:#fff;background:var(--ink)}.section-label.light:after{background:#ffffff38}.focus-heading{grid-template-columns:1.15fr .85fr;align-items:end;gap:8vw;max-width:1320px;margin:0 auto 62px;display:grid}.focus-heading h2{letter-spacing:-.06em;max-width:800px;margin:0;font-size:clamp(42px,5vw,76px);line-height:.98}.focus-heading p{color:#ffffff9e;margin:0;font-size:17px;line-height:1.7}.focus-grid{border-top:1px solid #ffffff2e;border-bottom:1px solid #ffffff2e;grid-template-columns:repeat(3,1fr);max-width:1320px;margin:auto;display:grid}.focus-grid article{border-right:1px solid #ffffff2e;flex-direction:column;min-height:360px;padding:36px;transition:background .3s;display:flex}.focus-grid article:last-child{border-right:0}.card-index{color:var(--mint);font-size:12px;font-weight:900}.focus-grid h3{letter-spacing:-.03em;margin:auto 0 20px;font-size:25px}.focus-grid p{color:#ffffffa3;margin:0 0 27px;line-height:1.7}.skill-line{color:var(--mint);font-family:var(--font-geist-mono), monospace;font-size:11px}.featured-grid{grid-template-columns:1fr 1fr;align-items:center;gap:8vw;max-width:1320px;margin:auto;display:grid}.research-plate{min-height:535px;color:var(--paper);border:1px solid var(--ink);box-shadow:13px 13px 0 var(--ink);background-color:#191b15;background-image:linear-gradient(#d9ef8e14 1px,#0000 1px),linear-gradient(90deg,#d9ef8e14 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:28px 28px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;padding:25px 27px 50px;position:relative;overflow:hidden;transform:rotate(-.7deg)}.research-plate:before{content:"ψ";color:#d9ef8e12;font-family:Georgia,serif;font-size:260px;font-style:italic;line-height:.8;position:absolute;top:15px;right:-18px}.plate-header,.plate-footer{z-index:1;color:var(--signal);font-family:var(--font-geist-mono), monospace;letter-spacing:.09em;justify-content:space-between;align-items:center;gap:20px;font-size:9px;display:flex;position:relative}.plate-header{border-bottom:1px solid #f0eee457;padding-bottom:13px}.equation-block{z-index:1;margin:52px 0 35px;position:relative}.equation-block>span{color:var(--signal);font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;margin-bottom:17px;font-size:9px;display:block}.equation-block strong{letter-spacing:-.035em;font-family:Georgia,Times New Roman,serif;font-size:clamp(30px,3.2vw,50px);font-style:italic;font-weight:400;line-height:1.18;display:block}.equation-block sub,.equation-block sup{font-size:.52em}.recurrence-line{z-index:1;grid-template-columns:repeat(7,auto);justify-content:start;align-items:center;gap:clamp(10px,2vw,25px);display:grid;position:relative}.recurrence-line i{width:43px;height:43px;color:var(--signal);border:1px solid #f0eee480;place-items:center;font-family:Georgia,serif;font-size:18px;font-weight:400;display:grid}.recurrence-line b{color:#f0eee48c;font-family:var(--font-geist-mono), monospace;font-weight:400}.code-note{z-index:1;border-left:3px solid var(--olive);font-family:var(--font-geist-mono), monospace;background:#f0eee40e;grid-template-columns:25px minmax(0,1fr);gap:8px 13px;margin:34px 0 31px;padding:17px;font-size:9px;line-height:1.5;display:grid;position:relative}.code-note span{color:var(--olive)}.code-note code{color:#f0eee4c2;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.plate-footer{border-top:1px solid #f0eee457;padding-top:13px}.research-plate>p{color:#f0eee47a;font-family:var(--font-geist-mono), monospace;margin:0;font-size:8px;line-height:1.35;position:absolute;bottom:16px;left:27px;right:27px}.project-kind{color:var(--violet);text-transform:uppercase;letter-spacing:.13em;margin:0 0 17px;font-size:11px;font-weight:900}.featured-copy h2{letter-spacing:-.07em;margin:0 0 18px;font-size:clamp(52px,6vw,90px);line-height:.9}.project-lead{color:var(--ink);margin:0 0 22px;font-size:22px;font-weight:800;line-height:1.42}.featured-copy>p:not(.project-kind):not(.project-lead){color:var(--ink-soft);font-size:16px;line-height:1.8}.project-chips{flex-wrap:wrap;gap:8px;margin:28px 0 34px;display:flex}.project-chips span{border:1px solid var(--line);font-size:11px;font-family:var(--font-geist-mono), monospace;border-radius:100px;padding:8px 13px}.project-links{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.button-dark{color:#fff;background:var(--ink)}.section-heading-row{justify-content:space-between;align-items:flex-end;gap:40px;max-width:1320px;margin:0 auto 48px;display:flex}.section-heading-row h2{letter-spacing:-.06em;margin:0 0 15px;font-size:clamp(42px,5vw,75px);line-height:.95}.section-heading-row p{color:var(--ink-soft);margin:0;font-size:16px}.project-filters{border:1px solid var(--line);background:#fff9;border-radius:100px;gap:6px;padding:5px;display:flex}.project-filters button{min-height:38px;color:var(--ink-soft);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:100px;padding:0 16px;font-size:11px;font-weight:800;transition:color .2s,background .2s}.project-filters button.is-active{color:#fff;background:var(--violet)}.repository-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(3,1fr);max-width:1320px;margin:auto;display:grid}.repository-card{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#ffffff70;flex-direction:column;min-height:330px;padding:28px;transition:color .3s,background .3s,transform .3s;animation:.35s both card-in;display:flex;position:relative}.repository-card:hover{z-index:2;color:#fff;background:var(--violet);transform:translateY(-5px);box-shadow:0 20px 50px #33267d2e}.repository-topline{color:var(--violet);letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;font-size:10px;font-weight:900;display:flex}.repository-card:hover .repository-topline,.repository-card.is-featured .repository-topline{color:var(--mint)}.repository-card h3{letter-spacing:-.04em;max-width:300px;margin:auto 0 15px;font-size:25px;line-height:1.05}.repository-card p{color:var(--ink-soft);margin:0 0 26px;font-size:14px;line-height:1.65}.repository-card:hover p,.repository-card.is-featured p{color:#ffffffad}.repository-stack{font-family:var(--font-geist-mono), monospace;color:var(--violet);font-size:10px}.repository-card:hover .repository-stack,.repository-card.is-featured .repository-stack{color:var(--mint)}.card-arrow{font-size:22px;transition:transform .25s;position:absolute;top:49px;right:25px}.repository-card:hover .card-arrow{transform:translate(4px,-4px)}.all-projects-link{border-bottom:1px solid var(--ink);width:fit-content;margin:34px auto 0;padding-bottom:5px;font-size:13px;font-weight:900;display:block}.publications{color:var(--paper);background:#161812}.publications-intro{justify-content:space-between;align-items:flex-end;gap:40px;max-width:1320px;margin:0 auto 58px;display:flex}.publications-intro h2{letter-spacing:-.06em;max-width:900px;margin:0;font-size:clamp(42px,5vw,76px);line-height:.96}.publications-intro>a{font-family:var(--font-geist-mono), monospace;text-transform:uppercase;border-bottom:1px solid #f0eee4b3;flex:none;padding-bottom:5px;font-size:10px;font-weight:900}.thesis-entry{max-width:1320px;min-height:260px;color:var(--ink);border:1px solid var(--ink);background:var(--signal);grid-template-columns:155px minmax(0,1fr) 190px;align-items:stretch;margin:0 auto 58px;display:grid;box-shadow:9px 9px #f0eee429}.thesis-stamp{border-right:1px solid var(--ink);flex-direction:column;justify-content:space-between;padding:28px;display:flex}.thesis-stamp span{font-family:Georgia,serif;font-size:45px;font-style:italic}.thesis-stamp small{font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;font-size:8px}.thesis-copy{align-self:center;padding:clamp(30px,4vw,56px)}.thesis-copy p{color:var(--olive);font-family:var(--font-geist-mono), monospace;letter-spacing:.1em;text-transform:uppercase;margin:0 0 16px;font-size:9px;font-weight:800}.thesis-copy h3{letter-spacing:-.035em;max-width:780px;margin:0;font-family:Georgia,serif;font-size:clamp(28px,3.1vw,45px);font-weight:400;line-height:1.08}.thesis-link{border-left:1px solid var(--ink);font-family:var(--font-geist-mono), monospace;letter-spacing:.06em;text-transform:uppercase;flex-direction:column;justify-content:space-between;align-items:flex-end;padding:28px;font-size:9px;font-weight:800;transition:color .2s,background .2s;display:flex}.thesis-link>span:last-of-type,.thesis-link>span[aria-hidden]{font-family:Georgia,serif;font-size:34px}.thesis-link:hover{color:var(--signal);background:var(--ink)}.publication-ledger{border-top:1px solid #f0eee46b;max-width:1320px;margin:auto}.publication-entry{border-bottom:1px solid #f0eee46b;grid-template-columns:65px minmax(0,1fr) 170px;align-items:start;gap:30px;min-height:210px;padding:35px 0;transition:padding .25s,background .25s;display:grid;position:relative}.publication-entry:before{content:"";z-index:0;transform-origin:100%;background:#d9ef8e0e;transition:transform .35s;position:absolute;inset:0;transform:scaleX(0)}.publication-entry:hover:before{transform-origin:0;transform:scaleX(1)}.publication-entry>*{z-index:1;position:relative}.publication-number{color:var(--signal);font-family:Georgia,serif;font-size:28px;font-style:italic}.publication-meta{color:var(--signal);font-family:var(--font-geist-mono), monospace;letter-spacing:.09em;text-transform:uppercase;gap:14px;font-size:9px;font-weight:900;display:flex}.publication-meta span+span:before{content:"/";color:#f0eee45c;margin-right:14px}.publication-entry-copy h3{letter-spacing:-.025em;max-width:890px;margin:17px 0 13px;font-family:Georgia,serif;font-size:clamp(25px,2.3vw,36px);font-weight:400;line-height:1.14}.publication-entry-copy p{color:#f0eee48f;max-width:850px;margin:0;font-size:13px;line-height:1.65}.paper-link{border-bottom:1px solid var(--signal);color:var(--signal);font-family:var(--font-geist-mono), monospace;letter-spacing:.06em;text-transform:uppercase;justify-self:end;align-items:center;gap:12px;padding-bottom:6px;font-size:9px;font-weight:900;display:inline-flex}.paper-link span{transition:transform .2s}.paper-link:hover span{transform:translate(3px,-3px)}.journey-layout{grid-template-columns:.8fr 1.2fr;gap:10vw;max-width:1320px;margin:auto;display:grid}.journey-intro{align-self:start;position:sticky;top:110px}.journey-intro h2{letter-spacing:-.06em;margin:0 0 20px;font-size:clamp(45px,5vw,76px);line-height:.96}.journey-intro p{max-width:480px;color:var(--ink-soft);margin:0 0 32px;font-size:16px;line-height:1.75}.timeline{border-top:1px solid var(--line)}.timeline article{border-bottom:1px solid var(--line);grid-template-columns:145px 1fr;gap:28px;padding:29px 0;display:grid}.timeline-year{color:var(--violet);font-family:var(--font-geist-mono), monospace;font-size:11px;font-weight:800}.timeline h3{letter-spacing:-.03em;margin:0 0 9px;font-size:20px}.timeline p{color:var(--ink-soft);margin:0;font-size:14px;line-height:1.65}.education-grid{grid-template-columns:repeat(3,1fr);max-width:1320px;margin:90px auto 0;display:grid}.education-grid article{border:1px solid var(--line);border-right:0;flex-direction:column;min-height:270px;padding:31px;display:flex}.education-grid article:last-child{border-right:1px solid var(--line)}.education-grid span{color:var(--violet);letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:900}.education-grid h3{letter-spacing:-.03em;margin:auto 0 15px;font-size:23px;line-height:1.22}.education-grid p{color:var(--ink-soft);margin:0;font-size:13px;line-height:1.5}.education-grid .education-accent{color:#fff;border-color:var(--violet);background:var(--violet)}.education-grid .education-accent span{color:var(--mint)}.education-grid .education-accent p{color:#ffffffa6}.contact{color:#fff;text-align:center;background:var(--violet);padding:110px clamp(24px,7vw,108px) 34px}.contact h2{letter-spacing:-.065em;max-width:1000px;margin:0 auto 22px;font-size:clamp(45px,6.2vw,94px);line-height:.96}.contact>p:not(.eyebrow){color:#ffffffc2;max-width:590px;margin:0 auto 31px;font-size:17px;line-height:1.7}.button-light{color:var(--ink);background:#fff}.contact-footer{letter-spacing:.04em;border-top:1px solid #ffffff40;justify-content:space-between;max-width:1320px;margin:90px auto 0;padding-top:25px;font-size:11px;display:flex}.contact-footer div{gap:22px;display:flex}[data-reveal]{opacity:0;transition:opacity .75s,transform .75s;transform:translateY(34px)}[data-reveal].is-visible{opacity:1;transform:none}@keyframes morph{0%,to{border-radius:46% 54% 54% 46%/44% 46% 54% 56%}50%{border-radius:55% 45% 47% 53%/51% 58% 42% 49%}}@keyframes orbit{to{transform:rotate(360deg)}}@keyframes card-in{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}@media (width<=900px){.site-header{height:68px}.monogram{z-index:3;position:relative}.menu-button{z-index:2;gap:6px;display:grid}.menu-button span{background:var(--ink);width:25px;height:2px;display:block}.header-content{background:var(--paper);flex-direction:column;align-items:flex-start;gap:30px;padding:110px 30px 40px;transition:transform .35s;position:fixed;inset:0;overflow-y:auto;transform:translate(100%)}.header-content.is-open{transform:none}.site-header nav{flex-direction:column;align-items:flex-start;gap:24px}.site-header nav a{font-size:28px}.language-switcher{min-height:46px;padding:5px}.language-switcher button{width:34px;height:34px}.language-switcher img{width:25px;height:19px}.hero{padding-top:114px}.hero-content{grid-template-columns:1fr;gap:56px}.hero h1{font-size:clamp(58px,13vw,90px)}.portrait-wrap{justify-self:center;width:min(76vw,470px)}.hero-stats{grid-template-columns:repeat(2,1fr)}.about-grid,.focus-heading,.featured-grid{grid-template-columns:1fr}.about-grid{gap:36px}.focus-grid{grid-template-columns:1fr}.focus-grid article{border-bottom:1px solid #ffffff2e;border-right:0;min-height:280px}.focus-grid article:last-child{border-bottom:0}.featured-grid{gap:55px}.research-plate{width:100%;max-width:680px}.section-heading-row,.publications-intro{flex-direction:column;align-items:flex-start}.repository-grid{grid-template-columns:repeat(2,1fr)}.thesis-entry{grid-template-columns:125px minmax(0,1fr)}.thesis-link{border-top:1px solid var(--ink);border-left:0;flex-direction:row;grid-column:1/-1;align-items:center;min-height:72px;padding:20px 26px}.publication-entry{grid-template-columns:50px minmax(0,1fr);gap:22px}.publication-entry .paper-link{grid-column:2;justify-self:start}.journey-layout{grid-template-columns:1fr;gap:60px}.journey-intro{position:static}.education-grid{grid-template-columns:1fr}.education-grid article{border-right:1px solid var(--line);border-bottom:0}.education-grid article:last-child{border-bottom:1px solid var(--line)}}@media (width<=560px){.hero{min-height:auto;padding-bottom:34px}.hero h1{font-size:54px}.hero-role{margin-top:24px}.hero-stats{grid-template-columns:1fr;gap:18px;margin-top:60px}.hero-stats div{grid-template-columns:44px 1fr}.portrait-tag{font-size:10px}.tag-top{right:-2%}.tag-bottom{left:-2%}.section{padding-top:82px;padding-bottom:82px}.section-label{margin-bottom:39px}.about h2,.focus-heading h2{font-size:39px}.focus-grid article{padding:27px}.toolkit{margin-top:52px}.project-filters{border-radius:18px;width:100%;overflow-x:auto}.project-filters button{flex:none}.repository-grid{grid-template-columns:1fr}.repository-card{min-height:300px}.research-plate{min-height:505px;box-shadow:8px 8px 0 var(--ink);padding:20px 18px 48px;transform:none}.research-plate:before{font-size:210px;right:-28px}.equation-block{margin:43px 0 30px}.equation-block strong{font-size:29px}.recurrence-line{gap:7px}.recurrence-line i{width:34px;height:34px;font-size:15px}.code-note{padding:13px;font-size:8px}.research-plate>p{left:18px;right:18px}.thesis-entry{grid-template-columns:1fr}.thesis-stamp{border-right:0;border-bottom:1px solid var(--ink);flex-direction:row;align-items:flex-end;min-height:105px;padding:20px}.thesis-copy{padding:27px 20px 31px}.thesis-link{grid-column:auto}.publication-entry{grid-template-columns:34px minmax(0,1fr);gap:14px;padding:28px 0}.publication-number{font-size:22px}.publication-meta{flex-direction:column;gap:6px}.publication-meta span+span:before{content:none}.publication-entry-copy h3{margin-top:14px;font-size:25px}.timeline article{grid-template-columns:1fr;gap:12px}.contact-footer{flex-direction:column;align-items:flex-start;gap:18px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation:none!important}}body{background-color:var(--paper);background-image:linear-gradient(#191a1409 1px,#0000 1px),linear-gradient(90deg,#191a1409 1px,#0000 1px);background-size:32px 32px}.site-header{border-bottom:1px solid #0000;height:70px}.site-header.is-scrolled{border-bottom-color:var(--line);height:60px;box-shadow:none;background:#f0eee4f0}.monogram{font-family:var(--font-geist-mono), monospace;letter-spacing:-.03em;font-size:14px}.monogram span{color:var(--olive);margin-left:2px}.site-header nav a{font-family:var(--font-geist-mono), monospace;letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:700}.site-header nav a:after{background:var(--olive);height:1px;bottom:-9px}.language-switcher{border-color:var(--ink);background:var(--paper);border-radius:0;min-height:34px}.language-switcher button{border-radius:0;width:28px;height:25px}.language-switcher button.is-active{border-color:var(--ink);background:var(--signal);box-shadow:2px 2px 0 var(--ink);transform:translate(-1px,-1px)}.language-switcher img{width:20px;height:15px}.hero{background:linear-gradient(#191a140b 1px, transparent 1px), linear-gradient(90deg, #191a140b 1px, transparent 1px), var(--paper);background-size:32px 32px;min-height:100vh;padding:132px clamp(24px,7vw,108px) 52px}.hero:before{content:"ψₙ(x)";color:#5148c712;pointer-events:none;border:0;border-radius:0;width:auto;min-width:0;height:auto;min-height:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(150px,23vw,350px);font-style:italic;line-height:1;top:7vh;right:-1vw}.hero:after{content:"03°43′S / 38°32′W — FORTALEZA";color:var(--ink-soft);font-family:var(--font-geist-mono), monospace;letter-spacing:.09em;font-size:9px;position:absolute;top:91px;right:clamp(24px,7vw,108px)}.hero-content{grid-template-columns:minmax(0,1.18fr) minmax(330px,.82fr);gap:clamp(55px,8vw,125px)}.eyebrow{color:var(--olive);font-family:var(--font-geist-mono), monospace;letter-spacing:.11em;margin-bottom:25px;font-size:10px}.hero h1{max-width:850px;color:var(--ink);letter-spacing:-.052em;font-family:Georgia,Times New Roman,serif;font-size:clamp(50px,6.2vw,92px);font-style:italic;font-weight:400;line-height:1.01}.hero-role{border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);font-family:var(--font-geist-mono), monospace;margin:34px 0 18px;padding:14px 0;font-size:clamp(12px,1.1vw,15px);font-weight:700;line-height:1.55}.hero-intro{max-width:650px;color:var(--ink-soft);font-size:18px;line-height:1.72}.hero-actions{margin-top:29px}.button{min-height:48px;font-family:var(--font-geist-mono), monospace;letter-spacing:.04em;text-transform:uppercase;box-shadow:none;border-radius:0;font-size:10px}.button-primary{color:var(--paper);background:var(--olive);box-shadow:6px 6px 0 var(--ink)}.button-primary:hover{box-shadow:3px 3px 0 var(--ink);transform:translate(3px,3px)}.button-ghost{border-color:var(--ink);background:0 0}.button-ghost:hover{color:var(--paper);background:var(--ink)}.portrait-wrap{aspect-ratio:auto;background:#fff;border:1px solid #191a1438;justify-self:center;width:min(31vw,430px);margin:0;padding:13px 13px 52px;position:relative;transform:rotate(1.1deg);box-shadow:13px 14px #68705457}.portrait-wrap:before{content:"";z-index:4;background:#d9ef8eb8;border:1px solid #6870542e;width:92px;height:29px;position:absolute;top:-14px;left:38%;transform:rotate(-3deg)}.portrait-index{z-index:3;color:var(--paper);font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;background:#191a14c7;padding:6px 8px;font-size:8px;position:absolute;top:25px;left:25px}.portrait-frame{aspect-ratio:1;box-shadow:none;border:0;border-radius:0;animation:none;position:relative;inset:auto}.portrait-frame img{object-position:50% 42%;transform:none}.portrait-wrap figcaption{color:var(--ink-soft);font-family:var(--font-geist-mono), monospace;font-size:9px;line-height:1.35;position:absolute;bottom:13px;left:15px;right:15px}.portrait-tag{border:1px solid var(--ink);background:var(--signal);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:4px 4px 0 var(--ink);font-family:var(--font-geist-mono), monospace;border-radius:0;padding:9px 11px;font-size:9px}.tag-top{top:14%;right:-6%}.tag-bottom{bottom:22%;left:-8%}.hero-notes{z-index:2;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);grid-template-columns:repeat(3,1fr);width:100%;max-width:1320px;margin:66px auto 0;display:grid;position:relative}.hero-notes div{border-right:1px solid var(--line);grid-template-columns:34px 1fr;align-items:center;gap:12px;min-height:76px;padding:15px 19px;display:grid}.hero-notes div:last-child{border-right:0}.hero-notes strong{color:var(--olive);font-family:Georgia,serif;font-size:27px;font-style:italic;font-weight:400}.hero-notes span{font-family:var(--font-geist-mono), monospace;letter-spacing:.055em;text-transform:uppercase;font-size:9px;line-height:1.45}.section{position:relative}.section-label{font-family:var(--font-geist-mono), monospace;letter-spacing:.11em;margin-bottom:54px;font-size:10px}.section-label span{color:var(--olive)}.section-label:after{background:var(--ink);width:44px}.about{background:#f0eee4b8}.about h2,.focus-heading h2,.section-heading-row h2,.publications-intro h2,.journey-intro h2,.contact h2{letter-spacing:-.045em;font-family:Georgia,Times New Roman,serif;font-weight:400}.about h2{max-width:720px;font-size:clamp(42px,4.4vw,68px);line-height:1.03}.about-copy{border-left:3px solid var(--olive);padding:8px 0 5px 31px}.about-copy p{color:#3f4139}.inline-links a,.text-link{font-family:var(--font-geist-mono), monospace;text-transform:uppercase;font-size:10px}.toolkit{border-top:1px dashed var(--ink)}.toolkit span{border-color:var(--ink);color:var(--ink);background:0 0;border-radius:0;padding:8px 11px}.toolkit span:before{content:"./";color:var(--olive)}.focus-section{color:var(--paper);background-color:#191b15;background-image:linear-gradient(#c4db780d 1px,#0000 1px),linear-gradient(90deg,#c4db780d 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:32px 32px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box}.focus-heading h2{font-size:clamp(42px,5vw,74px)}.focus-heading p{font-family:Georgia,serif;font-size:19px;font-style:italic}.focus-grid{border-color:#f0eee461}.focus-grid article{border-color:#f0eee440;min-height:330px;padding:31px;position:relative;overflow:hidden}.focus-grid article:hover{background:var(--olive)}.card-index{color:var(--signal);opacity:.85;font-family:Georgia,serif;font-size:40px;font-style:italic;font-weight:400}.focus-grid h3{font-family:Georgia,serif;font-size:29px;font-weight:400}.skill-line{color:var(--signal)}.featured{background:#dfe1ca}.featured-copy h2{font-family:Georgia,serif;font-style:italic;font-weight:400}.project-kind{color:var(--olive);font-family:var(--font-geist-mono), monospace}.project-lead{font-family:Georgia,serif;font-size:24px;font-weight:400}.project-chips span{border-color:var(--ink);border-radius:0}.button-dark{background:var(--ink)}.repositories{background:#f0eee4d6}.project-filters{border-color:var(--ink);background:0 0;border-radius:0}.project-filters button{font-family:var(--font-geist-mono), monospace;text-transform:uppercase;border-radius:0}.project-filters button.is-active{background:var(--olive)}.repository-grid{border-color:var(--ink)}.repository-card{border-color:var(--ink);background:#ffffff52;min-height:315px}.repository-card:hover{color:var(--ink);background:var(--signal);box-shadow:8px 8px 0 var(--ink);transform:translate(-4px,-4px)}.repository-card.is-featured{color:var(--paper);background:#202219}.repository-card:hover .repository-topline,.repository-card:hover .repository-stack{color:var(--olive)}.repository-card:hover p{color:var(--ink-soft)}.repository-card h3{font-family:Georgia,serif;font-size:27px;font-weight:400}.all-projects-link{font-family:var(--font-geist-mono), monospace;text-transform:uppercase;font-size:10px}.publications{color:var(--paper);background-color:#161812;background-image:linear-gradient(#c4db780a 1px,#0000 1px),linear-gradient(90deg,#c4db780a 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:32px 32px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box}.publication-meta,.paper-link{color:var(--signal);font-family:var(--font-geist-mono), monospace}.paper-link{border-bottom-color:var(--signal)}.journey{background:#faf9f3d1}.timeline{border-top-color:var(--ink)}.timeline article{border-bottom-color:var(--ink)}.timeline-year{color:var(--olive)}.timeline h3{font-family:Georgia,serif;font-size:23px;font-weight:400}.education-grid article{border-color:var(--ink);background:#f0eee480}.education-grid article:last-child{border-right-color:var(--ink)}.education-grid .education-accent{border-color:var(--olive);background:var(--olive)}.education-grid h3{font-family:Georgia,serif;font-weight:400}.contact{color:var(--paper);text-align:left;background:var(--olive)}.contact .eyebrow{color:var(--signal)}.contact h2{max-width:920px;margin:0 0 22px}.contact>p:not(.eyebrow){margin:0 0 31px}.contact .button-light{color:var(--ink);border:1px solid var(--ink);background:var(--signal);box-shadow:6px 6px 0 var(--ink)}.contact-footer{font-family:var(--font-geist-mono), monospace;border-top-color:#f0eee473}@media (width<=900px){.header-content{background:var(--paper)}.language-switcher{min-height:46px;padding:5px}.language-switcher button{width:34px;height:34px}.language-switcher img{width:25px;height:19px}.hero{padding-top:112px}.hero:after{top:79px}.hero-content{grid-template-columns:1fr}.hero h1{max-width:780px;font-size:clamp(52px,10vw,82px)}.portrait-wrap{width:min(72vw,470px);transform:rotate(.5deg)}.hero-notes{grid-template-columns:1fr}.hero-notes div{border-right:0;border-bottom:1px solid var(--line)}.hero-notes div:last-child{border-bottom:0}.about-copy{padding-left:22px}}@media (width<=560px){.hero{padding:102px 20px 44px}.hero:after{font-size:7px;top:75px;right:20px}.hero h1{font-size:44px}.hero-intro{font-size:16px}.hero-actions .button{width:100%}.portrait-wrap{width:88vw;transform:none;box-shadow:8px 8px #68705457}.portrait-tag{font-size:8px}.tag-top{right:-2%}.tag-bottom{bottom:24%;left:-2%}.hero-notes{margin-top:50px}.section{padding-left:20px;padding-right:20px}.about h2,.focus-heading h2{font-size:38px}.about-copy{padding-left:17px}.featured-grid{gap:48px}.project-filters{border-color:var(--ink)}.contact{text-align:left}}.feature-figure{z-index:1;background:#fff;border:1px solid #f0eee47a;place-items:center;min-height:280px;margin:30px 0 20px;padding:10px;display:grid;position:relative;overflow:hidden;box-shadow:7px 7px #c4db7840}.feature-figure:after{content:"OSCILADOR HARMÔNICO / ESTADOS DE FOCK";color:var(--paper);font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;background:#191b15d1;padding:4px 6px;font-size:7px;position:absolute;bottom:7px;right:9px}.feature-figure img{width:100%;height:auto;display:block}.feature-equation{z-index:1;color:var(--signal);text-align:center;margin:0 0 19px;font-family:Georgia,Times New Roman,serif;font-size:clamp(20px,2.1vw,31px);font-style:italic;position:relative}.feature-equation sub,.feature-equation sup{font-size:.55em}.thesis-entry{grid-template-columns:135px minmax(230px,300px) minmax(0,1fr) 180px;min-height:320px}.thesis-visual{border-right:1px solid var(--ink);background:#ffffffb8;place-items:center;min-width:0;margin:0;padding:22px 15px 42px;display:grid;position:relative;overflow:hidden}.thesis-visual img{object-fit:contain;mix-blend-mode:multiply;width:100%;height:235px;display:block}.thesis-visual figcaption,.publication-visual figcaption{color:var(--paper);background:var(--ink);font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;padding:4px 6px;font-size:7px;position:absolute;bottom:9px;left:10px}.publication-entry{grid-template-columns:52px minmax(230px,.58fr) minmax(0,1.42fr) 150px;align-items:center;gap:clamp(22px,3vw,42px);min-height:270px}.publication-visual-link{min-width:0;display:block}.publication-visual{background:#fff;border:1px solid #f0eee480;place-items:center;height:188px;margin:0;padding:10px 10px 28px;transition:transform .25s,box-shadow .25s;display:grid;position:relative;overflow:hidden;transform:rotate(-.45deg);box-shadow:7px 7px #c4db782b}.publication-entry:nth-child(2n) .publication-visual{transform:rotate(.45deg)}.publication-entry:hover .publication-visual{transform:rotate(0)translateY(-2px);box-shadow:4px 4px #c4db7852}.publication-visual img{object-fit:contain;width:100%;height:150px;display:block}.publication-visual.has-pair{grid-template-columns:1fr 1fr;gap:4px;height:224px}.publication-visual.has-pair img{height:184px}.publication-entry-copy h3{margin-top:13px}.credentials-strip{border-bottom:1px solid var(--ink);grid-template-columns:210px 1fr;align-items:start;gap:30px;max-width:1320px;margin:0 auto;padding:28px 0;display:grid}.credentials-strip>span{color:var(--olive);font-family:var(--font-geist-mono), monospace;letter-spacing:.1em;text-transform:uppercase;font-size:9px;font-weight:800}.credentials-strip>div{flex-wrap:wrap;gap:8px;display:flex}.credentials-strip strong{border:1px solid var(--ink);font-family:var(--font-geist-mono), monospace;padding:8px 11px;font-size:9px;font-weight:600}@media (width<=1100px){.thesis-entry{grid-template-columns:120px 250px minmax(0,1fr)}.thesis-link{border-top:1px solid var(--ink);border-left:0;flex-direction:row;grid-column:1/-1;align-items:center;min-height:72px;padding:20px 26px}.publication-entry{grid-template-columns:44px minmax(220px,.7fr) minmax(0,1.3fr)}.publication-entry .paper-link{grid-column:3;justify-self:start}}@media (width<=760px){.feature-figure{min-height:220px}.thesis-entry{grid-template-columns:105px minmax(0,1fr)}.thesis-visual{border-right:0}.thesis-copy{border-top:1px solid var(--ink);grid-column:1/-1}.publication-entry{grid-template-columns:38px minmax(0,1fr);align-items:start}.publication-visual-link,.publication-entry-copy,.publication-entry .paper-link{grid-column:2}.publication-visual{width:min(100%,470px);height:218px}.publication-visual img{height:180px}.publication-visual.has-pair{height:260px}.publication-visual.has-pair img{height:220px}.credentials-strip{grid-template-columns:1fr;gap:16px}}@media (width<=560px){.research-plate{min-height:450px}.feature-figure{min-height:190px;margin-top:24px;padding:7px}.feature-figure:after{font-size:6px}.feature-equation{font-size:20px}.thesis-entry{grid-template-columns:1fr}.thesis-visual,.thesis-copy,.thesis-link{grid-column:auto}.thesis-visual{border-bottom:1px solid var(--ink);min-height:275px}.thesis-visual img{height:235px}.publication-entry{grid-template-columns:30px minmax(0,1fr);gap:13px}.publication-visual{height:180px;padding:7px 7px 25px}.publication-visual img{height:148px}.publication-visual.has-pair{height:225px}.publication-visual.has-pair img{height:190px}.credentials-strip strong{width:100%}}
