:root{--ink:#101010;--paper:#f2ff3d;--shock:#4b74ff;--hot:#ff4a2d;--cream:#f5f0e7;color:var(--ink);background:var(--paper);font-synthesis:none;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}body{background:var(--paper);min-width:0;color:var(--ink);margin:0;transition:background-color .42s,color .42s;overflow-x:clip}body.is-flipped{--paper:#2457ff;--shock:#f2ff3d;--hot:#ff8069;--cream:#101010;--ink:#f8f5ec}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline-offset:3px;outline:3px solid #fff;box-shadow:0 0 0 6px #101010!important}::selection{background:var(--hot);color:#101010}.skip-link{z-index:20;background:var(--cream);text-transform:uppercase;border:3px solid;padding:.7rem 1rem;font-weight:900;position:fixed;top:.75rem;left:.75rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.masthead{letter-spacing:.04em;text-transform:uppercase;border-bottom:4px solid;grid-template-columns:minmax(12rem,1fr) auto auto;align-items:center;gap:2rem;padding:1rem clamp(1rem,3vw,3rem);font-size:.75rem;font-weight:900;display:grid}.wordmark{width:fit-content;text-decoration:none;display:inline-flex}.wordmark span{padding:.35rem .42rem}.wordmark span:first-child{background:var(--ink);color:var(--paper)}.wordmark span:last-child{background:var(--hot);color:#101010}.masthead nav{flex-wrap:wrap;justify-content:center;gap:.5rem 1.5rem;display:flex}.masthead nav a,.down,footer a{text-underline-offset:.3em;text-decoration-thickness:2px}.masthead nav a:hover,.down:hover,footer a:hover{text-decoration-style:double}.flip{min-width:44px;min-height:44px;color:inherit;font:inherit;text-transform:uppercase;cursor:pointer;background:0 0;border:3px solid;border-radius:0;justify-content:center;align-items:center;gap:.7rem;padding:.65rem .8rem;transition:transform .16s,box-shadow .16s;display:inline-flex;box-shadow:4px 4px}.flip:hover,.flip[aria-pressed=true]{transform:translate(4px,4px);box-shadow:0 0}.hero{border-bottom:4px solid;grid-template-columns:clamp(4rem,9vw,9rem) minmax(0,1fr);min-height:calc(100svh - 74px);display:grid;position:relative}.hero-kicker{letter-spacing:.12em;text-align:center;text-transform:uppercase;writing-mode:vertical-rl;border-right:4px solid;flex-direction:column;justify-content:space-between;padding:1.25rem 0;font-size:clamp(.62rem,1vw,.8rem);font-weight:900;display:flex}.hero h1{z-index:1;letter-spacing:-.065em;text-transform:uppercase;align-self:center;min-width:0;margin:0;padding:clamp(2rem,5vw,5rem) clamp(1rem,4vw,4rem) 8rem;font-family:Impact,Arial Black,Arial,sans-serif;font-size:clamp(4.2rem,15.7vw,15rem);font-weight:900;line-height:.69;position:relative}.hero h1 span{max-width:100%;display:block}.hero h1 .offset{color:var(--shock);transform:translate(clamp(0rem,5vw,5rem))}.hero h1 .outline{color:#0000;-webkit-text-stroke:clamp(2px, .4vw, 6px) currentColor}.hero-foot{background:var(--cream);color:var(--ink);border-top:4px solid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:2rem;padding:1rem clamp(1rem,4vw,4rem);display:grid;position:absolute;bottom:0;left:clamp(4rem,9vw,9rem);right:0}.positioning{max-width:48ch;margin:0;font-size:clamp(1rem,1.8vw,1.5rem);font-weight:800;line-height:1.15}.down{letter-spacing:.06em;text-transform:uppercase;font-size:.78rem;font-weight:900}.ticker{z-index:0;background:var(--hot);color:#101010;letter-spacing:.1em;white-space:nowrap;width:min(70%,70rem);font-size:clamp(.8rem,1.6vw,1.2rem);font-weight:900;position:absolute;top:8%;right:0;overflow:hidden;transform:rotate(-6deg)}.ticker div{gap:1.2rem;width:max-content;padding:.55rem;animation:18s linear infinite crawl;display:flex}.ticker i{font-style:normal}.projects{background:var(--cream);color:var(--ink)}.projects-heading{border-bottom:4px solid;grid-template-columns:1fr 2fr auto;align-items:start;gap:2rem;padding:clamp(2rem,5vw,5rem) clamp(1rem,3vw,3rem);display:grid}.projects-heading p{letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:900}.projects-heading h2{letter-spacing:-.045em;text-transform:uppercase;margin:0;font-family:Impact,Arial Black,Arial,sans-serif;font-size:clamp(3rem,8vw,7.8rem);font-weight:900;line-height:.82}.count{font-size:1rem!important}.project{border-bottom:4px solid;scroll-margin-top:1rem}.project-bar{background:var(--paper);grid-template-columns:clamp(3.5rem,7vw,7rem) minmax(0,1fr) auto;align-items:center;gap:clamp(.8rem,2vw,2rem);min-width:0;padding:clamp(1rem,2.5vw,2.5rem) clamp(1rem,3vw,3rem);transition:background-color .24s,color .24s;display:grid}.project:nth-child(2n) .project-bar{background:var(--shock);color:var(--ink)}body.is-flipped .project-bar{color:var(--ink)}body.is-flipped .project:nth-child(2n) .project-bar{color:#101010}.project:hover .project-bar{background:var(--hot);color:#101010}.project-number{align-self:start;margin:0;font-size:clamp(1rem,2vw,1.8rem);font-weight:900}.category{letter-spacing:.12em;text-transform:uppercase;margin:0 0 .4rem;font-size:clamp(.62rem,1vw,.78rem);font-weight:900}.project h3{letter-spacing:-.045em;overflow-wrap:anywhere;text-transform:uppercase;min-width:0;margin:0;font-family:Impact,Arial Black,Arial,sans-serif;font-size:clamp(2.3rem,8vw,8rem);font-weight:900;line-height:.78}.mark{font-size:clamp(2.5rem,7vw,7rem);font-weight:900;line-height:.7}.project-detail{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(14rem,.8fr);gap:clamp(1.5rem,4vw,4rem);padding:clamp(1.5rem,4vw,4rem) clamp(1rem,3vw,3rem);display:grid}.description{margin:0;font-size:clamp(1.2rem,2.2vw,2rem);font-weight:800;line-height:1.12}.highlights{margin:0;padding:0;font-size:.92rem;font-weight:600;line-height:1.45;list-style:none}.highlights li{border-top:2px solid;padding:.65rem 0}.highlights li:before{content:"→ ";font-weight:900}.project-meta{flex-direction:column;justify-content:space-between;gap:2rem;display:flex}.technologies{flex-wrap:wrap;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.technologies li{letter-spacing:.06em;text-transform:uppercase;border:2px solid;padding:.35rem .5rem;font-size:.65rem;font-weight:900}.project-links{flex-wrap:wrap;gap:.5rem;display:flex}.project-links a{letter-spacing:.04em;text-transform:uppercase;border-bottom:3px solid;justify-content:space-between;align-items:center;gap:1rem;min-width:7rem;padding:.45rem 0;font-size:.78rem;font-weight:900;text-decoration:none;display:inline-flex}.project-links a:hover{background:var(--hot);color:#101010}footer{background:var(--ink);color:var(--paper);letter-spacing:.06em;text-transform:uppercase;grid-template-columns:1fr 2fr auto;gap:2rem;padding:2rem clamp(1rem,3vw,3rem);font-size:.72rem;font-weight:900;display:grid}footer p{margin:0}footer p span{white-space:nowrap}@keyframes crawl{to{transform:translate(-50%)}}@media (width<=760px){.masthead{grid-template-columns:1fr auto;gap:.8rem}.masthead nav{border-top:2px solid;grid-area:2/1/auto/-1;justify-content:flex-start;padding-top:.75rem}.flip-label{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.hero{grid-template-columns:2.75rem minmax(0,1fr);min-height:42rem}.hero-kicker{font-size:.55rem}.hero h1{padding:4rem .85rem 9rem;font-size:clamp(3.7rem,21vw,7rem);line-height:.76}.hero h1 .offset{transform:none}.hero-foot{grid-template-columns:1fr;gap:.8rem;left:2.75rem}.ticker{width:85%;top:3rem}.projects-heading{grid-template-columns:1fr auto}.projects-heading h2{grid-area:2/1/auto/-1}.project-bar{grid-template-columns:2.5rem minmax(0,1fr)}.mark{display:none}.project h3{font-size:clamp(2.5rem,14vw,5rem);line-height:.84}.project-detail{grid-template-columns:1fr}footer{grid-template-columns:1fr auto}footer p:nth-child(2){display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
