@import "https://fonts.googleapis.com/css2?family=Bebas+Neue&family=DM+Mono:ital,wght@0,400;0,500;1,400&family=Playfair+Display:ital@1&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--paper:#f2ede4;--ink:#0f0e0c;--ink-dim:#3a3730;--ink-faint:#b8b0a2;--red:#c8312a;--rule:#cdc6bb}html{background:var(--ink);font-size:16px}body{background:var(--paper);color:var(--ink);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='400' height='400' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");min-height:100vh;font-family:DM Mono,Courier New,monospace;overflow-x:hidden}header{border-bottom:2px solid var(--ink);padding:3rem 2.5rem 0;position:relative;overflow:hidden}.masthead{letter-spacing:-.01em;color:var(--ink);white-space:nowrap;font-family:Bebas Neue,sans-serif;font-size:clamp(5rem,18vw,14rem);line-height:.85}.masthead-accent{color:var(--red)}.tagline-row{border-top:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;margin-top:.5rem;padding:.9rem 0 .8rem;display:flex}.tagline{letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim);font-size:.7rem}.tagline-right{color:var(--ink-faint);font-family:Playfair Display,serif;font-size:.85rem;font-style:italic}main{max-width:1200px;padding:3rem 2.5rem 6rem}.section-label{letter-spacing:.3em;text-transform:uppercase;color:var(--ink-faint);align-items:center;gap:1rem;margin-bottom:1.5rem;font-size:.6rem;display:flex}.section-label:after{content:"";background:var(--rule);flex:1;height:1px}.project-grid{border:1px solid var(--ink);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:0;display:grid}.project-card{border:1px solid var(--ink);color:inherit;background:var(--paper);cursor:pointer;margin:-1px;padding:2rem;text-decoration:none;display:block;position:relative;overflow:hidden}.project-card:before{content:"";background:var(--ink);z-index:0;transition:transform .25s cubic-bezier(.16,1,.3,1);position:absolute;inset:0;transform:translateY(100%)}.project-card:hover:before{transform:translateY(0)}.project-card:hover .card-number,.project-card:hover .card-title,.project-card:hover .card-desc,.project-card:hover .card-arrow{color:var(--paper)}.project-card:hover .card-tag{color:var(--paper);border-color:#f2ede44d}.project-card>*{z-index:1;position:relative}.card-number{letter-spacing:.2em;color:var(--ink-faint);margin-bottom:1.5rem;font-size:.6rem;transition:color .15s}.card-title{letter-spacing:.02em;color:var(--ink);margin-bottom:1rem;font-family:Bebas Neue,sans-serif;font-size:2.4rem;line-height:.9;transition:color .15s}.card-desc{color:var(--ink-dim);margin-bottom:1.75rem;font-size:.72rem;line-height:1.7;transition:color .15s}.card-footer{justify-content:space-between;align-items:center;display:flex}.card-tags{flex-wrap:wrap;gap:.4rem;display:flex}.card-tag{letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--rule);color:var(--ink-faint);padding:.2rem .5rem;font-size:.55rem;transition:color .15s,border-color .15s}.card-arrow{color:var(--red);font-size:1.2rem;line-height:1;transition:color .15s,transform .2s}.project-card:hover .card-arrow{color:var(--paper);transform:translate(3px,-3px)}.card-soon{opacity:.35;cursor:default;pointer-events:none}.card-soon:before{display:none}.card-soon-label{letter-spacing:.15em;text-transform:uppercase;color:var(--ink-faint);margin-top:1rem;font-size:.58rem;font-style:italic}footer{border-top:2px solid var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:1.25rem 2.5rem;display:flex}footer span{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);font-size:.6rem}footer a{color:var(--ink-faint);text-decoration:none;transition:color .15s}footer a:hover{color:var(--red)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.masthead{animation:.6s both slideUp}.tagline-row{animation:.6s .1s both slideUp}.section-label{animation:.5s .2s both slideUp}.project-card{animation:.5s both slideUp}.project-card:nth-child(2){animation-delay:80ms}.project-card:nth-child(3){animation-delay:.16s}@media (width<=600px){header,main,footer{padding-left:1.25rem;padding-right:1.25rem}.project-grid{grid-template-columns:1fr}}
