:root{--paper:#fafaf8;--ink:#161616;--subtle:#747982;--border:#e7e7e2;--lilac:#e7e3ff;--blue:#c9effb;--yellow:#ffe67d;--coral:#ffb5a5;--pink:#ffc8d8;--green:#cdeed9;--neutral:#f1f1ed;--sans:"DM Sans", sans-serif;--display:"Space Grotesk", sans-serif;--mono:"DM Mono", monospace}*{box-sizing:border-box}html{background:var(--paper);scroll-behavior:smooth}body{color:var(--ink);background:var(--paper);font-family:var(--sans);margin:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}::selection{color:var(--ink);background:var(--yellow)}.topbar{grid-template-columns:1fr auto 1fr;align-items:center;max-width:1120px;margin:0 auto;padding:27px 28px;font-size:14px;display:grid}.wordmark{font:600 22px var(--display);letter-spacing:-.1em;width:fit-content}.wordmark span,.accent-dot{color:#ef7661}.topbar nav{color:#6d737e;gap:25px;display:flex}.topbar nav a,.topbar-github{transition:color .25s}.topbar nav a:hover,.topbar-github:hover{color:#ef7661}.topbar-github{color:#6d737e;justify-self:end}.page-wrap{max-width:1120px;margin:0 auto;padding:0 28px}.intro{padding:clamp(85px,13vw,170px) 0 clamp(100px,15vw,175px)}.intro-copy{max-width:900px}.intro h1{font:500 clamp(120px, 19vw, 240px)/.72 var(--display);letter-spacing:-.13em;margin:0}.intro-copy>p{letter-spacing:-.06em;max-width:820px;margin:34px 0 0;font-size:clamp(23px,3.1vw,38px);line-height:1.1}.name-gradient{color:#0000;background:linear-gradient(95deg,#efa935 0%,#e7666f 39%,#8a82ea 70%,#56aacb 100%);-webkit-background-clip:text;background-clip:text}.intro-meta{max-width:830px;color:var(--subtle);font:11px var(--mono);text-transform:uppercase;letter-spacing:.06em;justify-content:space-between;align-items:center;margin-top:90px;display:flex}.motto-card{background:var(--neutral);border-left:3px solid #ef7661;border-radius:0 15px 15px 0;grid-template-columns:auto 1fr;column-gap:13px;width:min(330px,100%);margin:35px 5% 0 auto;padding:18px 21px 16px;display:grid}.motto-mark{color:#ef7661;font:600 40px/.7 var(--display);align-self:start}.motto-card p{font:500 19px/1.03 var(--display);letter-spacing:-.07em;margin:0}.motto-card em{color:#d45f5f;font-style:normal}.motto-caption{color:#8a8e91;font:9px var(--mono);letter-spacing:.1em;text-transform:uppercase;grid-column:2;margin-top:12px}.section-label{color:var(--subtle);font:10px var(--mono);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:12px;display:flex}.section-label>span:first-child{color:#ef7661}.label-line{background:var(--border);flex:1;height:1px}.display-heading{font:500 clamp(54px, 8.8vw, 110px)/.9 var(--display);letter-spacing:-.1em;margin:30px 0 54px}.project-grid{grid-template-columns:repeat(12,1fr);gap:18px;display:grid}.project-card{border-radius:19px;min-height:410px;padding:22px;transition:transform .45s cubic-bezier(.16,1,.3,1),box-shadow .45s;display:block;position:relative;overflow:hidden}.project-card:hover,.about-card:hover,.role-card:hover,.location-card:hover,.toolkit-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px #2c2d311a}.card-featured{grid-column:span 6}.card-wide{grid-column:span 8;min-height:350px}.card-compact{grid-column:span 4;min-height:350px}.card-lilac{background:var(--lilac)}.card-blue{background:var(--blue)}.card-yellow{background:var(--yellow)}.card-coral{background:var(--coral)}.card-neutral{background:var(--neutral)}.card-pink{background:var(--pink)}.card-green{background:var(--green)}.card-top{z-index:2;color:#69717b;font:10px var(--mono);text-transform:uppercase;letter-spacing:.04em;justify-content:space-between;align-items:flex-start;display:flex;position:relative}.card-arrow{width:30px;height:30px;color:var(--ink);font:20px var(--sans);background:#ffffffa8;border-radius:50%;place-items:center;transition:transform .35s;display:grid}.project-card:hover .card-arrow{transform:rotate(45deg)}.card-copy{z-index:2;margin-top:42px;position:relative}.card-copy h3{font:600 clamp(34px, 4.2vw, 57px)/.88 var(--display);letter-spacing:-.09em;margin:0}.card-copy p,.wide-copy p{color:#6b707a;margin:15px 0 0;font-size:13px}.project-image{border-radius:12px;position:absolute;overflow:hidden;box-shadow:0 15px 28px #22252a26}.project-image img{object-fit:cover;width:100%;height:100%;transition:transform .7s cubic-bezier(.16,1,.3,1)}.project-card:hover .project-image img{transform:scale(1.06)}.image-ziro{width:72%;height:53%;bottom:-7%;right:0;transform:rotate(-3deg)}.image-raytracer{width:80%;height:50%;bottom:-2%;left:10%;transform:rotate(4deg)}.image-ion{width:90%;height:50%;bottom:-3%;left:5%;transform:rotate(-3deg)}.image-chip8{width:48%;height:76%;bottom:-8%;right:6%;transform:rotate(4deg)}.image-chip8 img{object-fit:cover}.wide-copy{z-index:2;position:relative}.wide-copy h3{font:600 clamp(43px, 6vw, 75px)/.8 var(--display);letter-spacing:-.1em;margin:45px 0 0}.wide-copy h3 span{color:#e09d1d}.wide-copy p{max-width:310px;line-height:1.5}.about-section,.toolkit-section{padding-top:clamp(130px,17vw,210px)}.about-grid{grid-template-columns:1.2fr .8fr;gap:18px;margin-top:34px;display:grid}.about-card{border-radius:19px;padding:clamp(28px,4vw,50px);transition:transform .45s cubic-bezier(.16,1,.3,1),box-shadow .45s}.about-card h2,.toolkit-card h2{font:500 clamp(48px, 6vw, 77px)/.86 var(--display);letter-spacing:-.1em;margin:0 0 38px}.about-card h2 span{color:#d45f5f}.about-card p{color:#6e747c;max-width:570px;font-size:15px;line-height:1.65}.about-side{gap:18px;display:grid}.role-card,.location-card{border-radius:19px;min-height:190px;padding:25px;transition:transform .45s cubic-bezier(.16,1,.3,1),box-shadow .45s;position:relative;overflow:hidden}.micro-label{color:#777c83;font:10px var(--mono);text-transform:uppercase;letter-spacing:.08em;display:block}.role-card strong,.location-card strong{font:600 26px/.9 var(--display);letter-spacing:-.07em;margin-top:36px;display:block}.role-card p,.location-card p{color:#666c73;max-width:240px;margin:10px 0 0;font-size:13px;line-height:1.35}.role-mark{color:#ed786c;font-size:72px;position:absolute;bottom:12px;right:24px;transform:rotate(15deg)}.location-coords{color:#5f8e6d;font:10px var(--mono);text-align:right;line-height:1.5;position:absolute;bottom:23px;right:25px}.toolkit-card{border-radius:19px;margin-top:34px;padding:clamp(28px,4vw,50px);transition:transform .45s cubic-bezier(.16,1,.3,1),box-shadow .45s}.toolkit-card h2{margin-bottom:26px}.tool-pills{flex-wrap:wrap;gap:10px;display:flex}.tool-pills span{color:#717780;background:#dededb;border-radius:999px;padding:9px 15px;font-size:13px}.contact-section{border-radius:19px;min-height:490px;margin:clamp(130px,17vw,210px) 0 0;padding:clamp(32px,5vw,62px);transition:transform .45s cubic-bezier(.16,1,.3,1),box-shadow .45s;overflow:hidden}.contact-top{color:#7a7370;font:10px var(--mono);text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;display:flex}.contact-section h2{font:500 clamp(55px, 8.5vw, 108px)/.8 var(--display);letter-spacing:-.11em;margin:100px 0 45px}.contact-section h2 span{color:#e9952e}.contact-email{border-bottom:1px solid var(--ink);font:500 clamp(16px, 2vw, 23px) var(--mono);align-items:center;gap:18px;padding-bottom:9px;display:inline-flex}.contact-email span{transition:transform .3s}.contact-email:hover span{transform:translate(5px,-5px)}footer{color:#898d92;max-width:1120px;font:10px var(--mono);text-transform:uppercase;letter-spacing:.05em;justify-content:space-between;gap:18px;margin:0 auto;padding:27px 28px 45px;display:flex}footer a{color:#535962}.reveal{opacity:0;transform:translateY(22px)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}.reveal{opacity:1;transform:none}}@media (width<=700px){.topbar{grid-template-columns:1fr auto;padding:22px 20px}.topbar nav{display:none}.page-wrap{padding:0 20px}.topbar-github{font-size:12px}.intro{padding-top:85px}.intro-meta{flex-direction:column;align-items:flex-start;gap:10px;margin-top:60px}.motto-card{margin:35px 0 0 auto}.project-grid{display:block}.project-card{min-height:380px;margin-bottom:18px}.card-wide,.card-compact{min-height:340px}.about-grid{display:block}.about-card,.role-card,.location-card{margin-bottom:18px}.contact-section{min-height:400px}.contact-section h2{margin-top:80px}footer{flex-wrap:wrap;padding-left:20px;padding-right:20px}}@media (width<=420px){.intro h1{font-size:32vw}.intro-copy>p{font-size:25px}.contact-top{gap:15px}.image-chip8{width:53%;right:4%}}
