:root{--cream:#f7f2e6;--paper:#fffdf6;--ink:#131510;--green:#12463a;--lime:#d8f24a;--pink:#ff5f6d;--blue:#3f5bd9;--display:"Bricolage Grotesque", "Trebuchet MS", sans-serif;--sans:"Space Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"Space Mono", ui-monospace, Consolas, monospace;font-family:var(--sans);color:var(--ink);background:var(--cream);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;line-height:1.5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{background-color:var(--cream);background-image:radial-gradient(#13151017 1px,#0000 1px);background-size:22px 22px;min-width:320px;margin:0}h1,h2,h3,p{margin:0}a{color:inherit}button{font:inherit;color:inherit}img,svg{max-width:100%;display:block}:focus-visible{outline:3px solid var(--blue);outline-offset:3px}::selection{background:var(--lime);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}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.page{min-height:100vh;overflow-x:clip}.topbar{z-index:40;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:3px solid var(--ink);background:#f7f2e6e0;align-items:center;gap:24px;padding:14px clamp(16px,4vw,48px);display:flex;position:sticky;top:0}.brand{font-family:var(--display);letter-spacing:-.05em;font-size:clamp(1.2rem,2vw,1.45rem);font-weight:800;line-height:1;text-decoration:none}.brand span{color:var(--pink)}.marquee{background:var(--ink);color:var(--cream);border-block:3px solid var(--ink);margin:clamp(28px,5vw,56px) -2vw 0;padding:13px 0;overflow:hidden;transform:rotate(-1.3deg)}.marquee-track{width:max-content;animation:28s linear infinite marquee;display:flex}.marquee:hover .marquee-track{animation-play-state:paused}.marquee-group{white-space:nowrap;font-family:var(--display);letter-spacing:.02em;text-transform:uppercase;align-items:center;gap:28px;padding-right:28px;font-size:clamp(1.05rem,1.6vw,1.35rem);font-weight:800;display:flex}.marquee-group b{color:var(--lime);font-weight:400}.section{width:min(1200px,100% - clamp(32px,8vw,96px));margin-inline:auto;padding:clamp(62px,9vw,108px) 0}.projects{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(24px,3.4vw,40px);display:grid}.project{background:var(--paper);border:3px solid var(--ink);color:var(--ink);box-shadow:8px 8px 0 var(--ink);border-radius:22px;flex-direction:column;text-decoration:none;transition:transform .18s,box-shadow .18s;display:flex;overflow:hidden;transform:rotate(-1deg)}.project-02{transform:rotate(1deg)}.project:hover,.project:focus-visible{box-shadow:12px 14px 0 var(--ink);transform:translate(-4px,-6px)rotate(0)}.project-visual{border-bottom:3px solid var(--ink);place-items:center;height:212px;display:grid;position:relative;overflow:hidden}.project-01 .project-visual{background:var(--lime)}.project-02 .project-visual{background:var(--blue)}.project-number{font-family:var(--mono);letter-spacing:.12em;opacity:.65;font-size:.78rem;position:absolute;top:12px;left:16px}.wave{place-items:center;width:100%;height:100%;display:grid}.eq{align-items:flex-end;gap:6px;height:92px;display:flex}.eq i{width:12px;height:calc(18px + var(--i) * 7px);background:var(--ink);transform-origin:bottom;animation:1.1s ease-in-out infinite alternate eq;animation-delay:calc(var(--i) * -.13s);border-radius:4px}.wave-label{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;opacity:.7;font-size:.66rem;position:absolute;bottom:16px;left:16px}.flag-wrap{place-items:center;width:100%;height:100%;display:grid;position:relative}.flag-emoji{filter:drop-shadow(6px 6px #13151047);font-size:5.4rem;animation:3.4s ease-in-out infinite flag-bob}.flag-mark{font-family:var(--display);color:var(--cream);opacity:.92;font-size:2.4rem;font-weight:800;animation:4.5s ease-in-out infinite float;position:absolute}.flag-mark-1{top:16%;left:16%;transform:rotate(-14deg)}.flag-mark-2{animation-delay:-2s;bottom:14%;right:18%}.flag-stamp{background:var(--paper);border:2px solid var(--ink);font-family:var(--mono);letter-spacing:.12em;border-radius:4px;padding:5px 9px;font-size:.58rem;position:absolute;bottom:14px;right:14px;transform:rotate(-4deg)}.project-body{flex-direction:column;flex:1;gap:10px;padding:22px 24px 26px;display:flex}.project-meta{justify-content:space-between;align-items:center;display:flex}.tag{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;background:var(--cream);border:2px solid var(--ink);border-radius:999px;padding:4px 10px;font-size:.64rem}.project-emoji{font-size:1.4rem}.project-body h3{font-family:var(--display);letter-spacing:-.035em;font-size:clamp(1.7rem,2.8vw,2.15rem);font-weight:800;line-height:1}.project-text{color:#131510c2;flex:1;font-size:.94rem;line-height:1.55}.project-link{border-top:2px dashed #13151038;align-items:center;gap:8px;margin-top:6px;padding-top:14px;font-size:.95rem;font-weight:700;display:flex}.project-link small{font-family:var(--mono);opacity:.6;margin-left:auto;font-size:.62rem;font-weight:400}.project:hover .project-link>span{transform:translate(2px,-2px)}.project-link>span{transition:transform .18s;display:inline-block}.footer{background:var(--ink);color:var(--cream);border-top:3px solid var(--ink);margin-top:clamp(30px,5vw,60px);padding:clamp(56px,8vw,92px) clamp(20px,5vw,56px) 28px}.footer>*{width:min(1200px,100%);margin-inline:auto}.footer-links{flex-wrap:wrap;gap:12px 26px;font-weight:600;display:flex}.footer-links a{border-bottom:2px solid #0000;text-decoration:none;transition:color .15s,border-color .15s}.footer-links a:hover{color:var(--lime);border-color:var(--lime)}.footer-wordmark{font-family:var(--display);letter-spacing:-.06em;color:#0000;-webkit-text-stroke:2px var(--lime);opacity:.75;-webkit-user-select:none;user-select:none;white-space:nowrap;margin-top:26px;font-size:clamp(3.4rem,15vw,10.5rem);font-weight:800;line-height:.82}.footer-bottom{font-family:var(--mono);letter-spacing:.03em;color:#f7f2e68c;border-top:1px solid #f7f2e633;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;margin-top:24px;padding-top:18px;font-size:.66rem;display:flex}.confetti-layer{z-index:100;pointer-events:none;position:fixed;inset:0;overflow:hidden}.confetti-piece{width:10px;height:14px;animation:confetti-fly var(--dur,.9s) cubic-bezier(.15, .7, .35, 1) forwards;border-radius:2px;position:absolute}@keyframes float{0%,to{translate:0}50%{translate:0 -10px}}@keyframes marquee{to{transform:translate(-50%)}}@keyframes eq{0%{transform:scaleY(.35)}to{transform:scaleY(1)}}@keyframes flag-bob{0%,to{transform:translateY(0)rotate(-6deg)}50%{transform:translateY(-12px)rotate(6deg)}}@keyframes confetti-fly{0%{opacity:1;transform:translate(-50%,-50%)rotate(0)scale(1)}to{opacity:0;transform:translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) rotate(var(--rot)) scale(.7)}}@media (width<=900px){.section{padding-top:clamp(52px,8vw,80px)}}@media (width<=680px){.project,.project-02{transform:none}.project:hover,.project:focus-visible{box-shadow:8px 12px 0 var(--ink);transform:translateY(-4px)}}
