:root{--ink:#17191b;--paper:#f4f0e8;--blue:#2868ff;--coral:#fc5a47;--yellow:#ffd42a;--line:#17191b2e;color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0}button,a{font:inherit;color:inherit}button{cursor:pointer}a{text-decoration:none}.site-header{z-index:5;justify-content:space-between;align-items:center;width:100%;height:88px;padding:0 4.5vw;display:flex;position:absolute;top:0}.wordmark{letter-spacing:-.07em;font-size:13px;font-weight:700;line-height:.9}.menu-button{background:0 0;border:0;font-weight:600;display:none}.site-header nav{align-items:center;gap:30px;display:flex}.site-header nav button,.site-header nav a{cursor:pointer;background:0 0;border:0;font-size:13px;font-weight:600}.site-header nav span{color:#777;margin-right:7px;font-family:DM Mono;font-size:10px}.site-header nav .active{color:var(--blue)}.hero{background:var(--paper);flex-direction:column;justify-content:space-between;min-height:790px;padding:185px 4.5vw 55px;display:flex;position:relative;overflow:hidden}.eyebrow{text-transform:uppercase;letter-spacing:.06em;margin:0 0 23px;font-family:DM Mono;font-size:11px;font-weight:500}.hero h1,.section h2{letter-spacing:-.075em;z-index:1;max-width:1100px;margin:0;font-size:clamp(50px,8.1vw,122px);font-weight:700;line-height:.9;position:relative}.hero h1 em,.section h2 em{letter-spacing:-.08em;font-family:Playfair Display;font-weight:600}.hero-bottom{z-index:2;justify-content:space-between;align-items:flex-end;display:flex;position:relative}.hero-bottom p{max-width:315px;margin:0;font-size:15px;line-height:1.45}.circle-link{border:1px solid var(--ink);background:0 0;border-radius:100%;width:82px;height:82px;font-size:28px;transition:all .25s}.circle-link:hover{background:var(--ink);color:var(--paper);transform:rotate(-20deg)}.hero-shapes i{display:block;position:absolute}.hero-shapes i:first-child{background:var(--blue);border-radius:48% 52% 45% 55%;width:min(35vw,460px);height:min(35vw,460px);animation:8s ease-in-out infinite float;top:17%;right:7%;transform:rotate(18deg)}.hero-shapes i:nth-child(2){background:var(--coral);border-radius:100%;width:112px;height:112px;animation:6s ease-in-out infinite reverse float;top:16%;right:32%}.hero-shapes i:last-child{background:var(--yellow);width:58px;height:58px;animation:11s linear infinite spin;bottom:16%;right:39%;transform:rotate(20deg)}.intro-band{background:var(--ink);color:var(--paper);justify-content:space-between;min-height:315px;padding:57px 4.5vw;display:flex}.section-number{text-transform:uppercase;font-family:DM Mono;font-size:11px}.intro-band p{letter-spacing:-.065em;text-align:right;margin:70px 3vw 0 0;font-size:clamp(38px,5vw,75px);font-weight:600;line-height:.98}.intro-band mark{background:var(--yellow);color:var(--ink);padding:0 .1em;display:inline-block;transform:rotate(-3deg)}.section{padding:140px 4.5vw}.section-heading{grid-template-columns:1fr 2fr 1fr;align-items:start;gap:32px;margin-bottom:65px;display:grid}.section-heading .eyebrow{margin-top:13px}.section-heading h2{font-size:clamp(44px,5.4vw,82px)}.section-copy{margin:14px 0 0;font-size:15px;line-height:1.45}.project-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.project-card{border:1px solid var(--ink);flex-direction:column;min-height:510px;padding:20px;transition:transform .3s,box-shadow .3s;display:flex;position:relative;overflow:hidden}.project-card:hover{box-shadow:9px 10px 0 var(--ink);transform:translateY(-9px)}.project-card.blue{background:var(--blue);color:#fff}.project-card.coral{background:var(--coral)}.project-card.yellow{background:var(--yellow)}.project-topline,.project-footer{z-index:1;text-transform:uppercase;justify-content:space-between;font-family:DM Mono;font-size:10px;display:flex;position:relative}.project-shape{height:185px;margin:20px 0 18px;position:relative}.project-shape b,.project-shape i{display:block;position:absolute}.blue .project-shape b{border:1px solid #fff;border-radius:100%;width:135px;height:135px;top:15%;left:14%}.blue .project-shape i{background:var(--yellow);border-radius:50%;width:62px;height:62px;bottom:8%;right:15%}.coral .project-shape b{background:var(--ink);border-radius:12px;width:145px;height:145px;top:12%;left:25%;transform:rotate(40deg)}.coral .project-shape i{background:var(--yellow);width:50px;height:50px;bottom:2%;left:12%;transform:rotate(45deg)}.yellow .project-shape b{background:var(--blue);border-radius:50% 50% 5px;width:150px;height:150px;top:8%;left:22%;transform:rotate(30deg)}.yellow .project-shape i{border:1px solid var(--ink);border-radius:100%;width:72px;height:72px;bottom:7%;right:12%}.project-type{text-transform:uppercase;margin:0 0 8px;font-family:DM Mono;font-size:10px}.project-card h3{letter-spacing:-.06em;margin:0 0 14px;font-size:29px;line-height:.96}.project-card>p:not(.project-type){margin:0;font-size:14px;line-height:1.42}.project-footer{align-items:end;margin-top:auto;line-height:1.25}.project-footer span{max-width:54%}.project-footer button{text-align:right;text-transform:uppercase;background:0 0;border:0;padding:0;font-family:DM Mono;font-size:10px}.content-note{text-transform:uppercase;border-top:1px solid var(--line);margin:28px 0 0;padding-top:15px;font-family:DM Mono;font-size:10px}.about{background:var(--blue);color:#fff;grid-template-columns:1fr 2fr;gap:9vw;display:grid;position:relative;overflow:hidden}.about h2{font-size:clamp(43px,5.7vw,85px)}.about-sticker{background:var(--yellow);color:var(--ink);text-align:center;border-radius:50%;place-content:center;align-self:end;width:170px;height:170px;font-family:DM Mono;font-size:21px;font-weight:500;line-height:.84;animation:7s ease-in-out infinite float;display:grid;transform:rotate(-13deg)}.about-copy{grid-template-columns:1fr 1fr;gap:34px;max-width:590px;margin:53px 0 0;font-size:16px;line-height:1.5;display:grid}.about-copy p{margin:0}.skills{background:#fff}.skills-header{justify-content:space-between;align-items:start;gap:40px;margin-bottom:78px;display:flex}.skills h2{text-align:right;font-size:clamp(43px,5.7vw,85px)}.skill-grid{border-top:1px solid var(--ink);grid-template-columns:repeat(3,1fr);display:grid}.skill-group{border-bottom:1px solid var(--ink);min-height:230px;padding:22px 22px 30px 0}.skill-group+.skill-group{border-left:1px solid var(--ink);padding-left:22px}.skill-group>span{font-family:DM Mono;font-size:11px}.skill-group h3{letter-spacing:-.06em;margin:47px 0 20px;font-size:27px}.skill-group ul{margin:0;padding:0;list-style:none}.skill-group li{font-size:14px;line-height:1.65}.next{background:var(--coral);min-height:490px;color:var(--ink);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.next h2{font-size:clamp(43px,6.2vw,95px)}.next h2 span{font-family:Playfair Display;font-style:italic}.next>p:last-child{max-width:420px;margin:33px 0 0;font-size:15px;line-height:1.45}footer{background:var(--ink);color:var(--paper);flex-direction:column;min-height:345px;padding:60px 4.5vw 26px;display:flex}footer>p{letter-spacing:-.08em;margin:0;font-family:Playfair Display;font-size:clamp(54px,9vw,130px);font-style:italic;line-height:.88}.footer-links{gap:42px;margin-top:45px;display:flex}.footer-links a{border-bottom:1px solid var(--paper);padding-bottom:4px;font-size:22px;font-weight:600}.footer-links a:hover{color:var(--yellow)}footer small{text-transform:uppercase;color:#b7b6b1;margin-top:auto;font-family:DM Mono;font-size:10px}@keyframes float{50%{transform:translateY(-16px)rotate(25deg)}}@keyframes spin{to{transform:rotate(380deg)}}@media (width<=800px){.site-header{height:70px;padding:0 6vw}.menu-button{display:block}.site-header nav{display:none}.site-header nav.is-open{background:var(--ink);width:100%;color:var(--paper);flex-direction:column;align-items:flex-start;gap:18px;padding:20px 6vw 25px;display:flex;position:absolute;top:70px;left:0}.hero{min-height:700px;padding:145px 6vw 36px}.hero h1{font-size:clamp(48px,12.5vw,82px);line-height:.93}.hero-shapes i:first-child{width:300px;height:300px;top:29%;right:-55px}.hero-shapes i:nth-child(2){width:72px;height:72px;top:27%;right:41%}.hero-shapes i:last-child{bottom:21%;right:48%}.intro-band{min-height:260px;padding:42px 6vw;display:block}.intro-band p{text-align:left;margin:60px 0 0}.section{padding:90px 6vw}.section-heading{margin-bottom:42px;display:block}.section-copy{max-width:430px;margin-top:22px}.project-grid{grid-template-columns:1fr}.project-card{min-height:430px}.about{grid-template-columns:1fr;gap:45px}.about-sticker{width:125px;height:125px;font-size:16px}.about-copy{grid-template-columns:1fr;gap:18px;margin-top:30px}.skills-header{margin-bottom:50px;display:block}.skills h2{text-align:left}.skill-grid{grid-template-columns:1fr}.skill-group{min-height:auto;padding:18px 0 25px}.skill-group+.skill-group{border-left:0;padding-left:0}.skill-group h3{margin:25px 0 13px}.next{min-height:430px}.next h2{line-height:.95}.footer-links{gap:25px}.footer-links a{font-size:18px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-shapes i,.about-sticker{animation:none}.project-card,.circle-link{transition:none}.project-card:hover,.circle-link:hover{transform:none}}.project-footer>span:last-child{text-align:right;max-width:54%}.project-footer a{text-align:right;border-bottom:1px solid;max-width:54%;padding-bottom:2px}.project-footer a:hover{opacity:.7}.link-placeholder{color:#b7b6b1;margin:45px 0 0;font-size:15px}.academic-links{color:#b7b6b1;margin:20px 0 0;font-size:13px}.academic-links a{color:var(--paper);border-bottom:1px solid}
