@font-face{font-family:Chivo;src:url('assets/Chivo.ttf') format('truetype');font-weight:100 900;font-display:swap}
:root{--lime:#c2f536;--ink:#17211a;--forest:#1d3d28;--paper:#f8faf3;--muted:#dce4d6;--gap:clamp(20px,3.2vw,48px);--ease:cubic-bezier(.22,1,.36,1);font-family:Chivo,Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:85px}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:4px solid #e2522d;outline-offset:5px}button:disabled{cursor:default}button,a{touch-action:manipulation}button{color:inherit}img{display:block;max-width:100%;height:auto}p{font-size:clamp(17px,1.5vw,21px);line-height:1.5;margin:0 0 1.2em}h1,h2,h3{font-weight:900;letter-spacing:-.055em;line-height:.96;text-wrap:balance;margin:0}h2{font-size:clamp(44px,6.4vw,94px)}h3{font-size:clamp(32px,3.6vw,54px);line-height:1.05}a{text-decoration-thickness:2px;text-underline-offset:5px}[hidden]{display:none!important}.skip{position:fixed;left:15px;top:-100px;background:var(--paper);padding:16px;z-index:20}.skip:focus{top:10px}
header{position:absolute;inset:0 0 auto;z-index:5;padding:24px var(--gap);display:flex;align-items:center;gap:28px;background:var(--lime)}.wordmark{font-size:24px;font-weight:900;letter-spacing:-.055em;text-decoration:none;white-space:nowrap}nav{display:flex;gap:28px;margin-left:auto}nav a{font-size:17px;font-weight:700;text-decoration:none}nav a:hover{text-decoration:underline}.motion{background:transparent;border:0;padding:10px 0;font-size:15px;text-decoration:underline;text-underline-offset:4px}
.hero{position:relative;min-height:900px;height:100svh;max-height:1200px;background:var(--lime);padding:150px var(--gap) 80px;overflow:hidden;display:flex;align-items:center}.hero-copy{position:relative;z-index:2;width:55%;align-self:center}.hero h1{font-size:clamp(100px,13.5vw,210px);line-height:.82;letter-spacing:-.075em}.hero-copy p{font-size:clamp(22px,2.3vw,34px);line-height:1.2;margin:36px 0}.primary{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:17px 25px;background:var(--ink);color:var(--paper);border:0;font-weight:700;font-size:18px;text-decoration:none;transition:transform .18s var(--ease),background .18s}.primary:hover{background:#304d38}.primary:active{transform:scale(.97)}.primary.light{background:var(--lime);color:var(--ink)}.hero-art{position:absolute;width:49%;height:90%;right:-1%;bottom:-4%;display:flex;justify-content:center;align-items:flex-end;transform-origin:center bottom}.hero-art img{height:100%;width:auto;max-width:none;object-fit:contain}.hero-foot{position:absolute;bottom:26px;left:var(--gap);font-size:17px;line-height:1.35;margin:0;max-width:260px}
.legend{background:var(--forest);color:var(--paper);padding:105px var(--gap) 80px}.story-heading{display:grid;grid-template-columns:1.4fr 1fr;gap:60px;align-items:end;margin-bottom:90px}.story-heading p{max-width:35ch;margin:0}.story-row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(35px,8vw,130px);align-items:center;margin-bottom:90px}.story-row img{width:100%;max-height:620px;object-fit:cover}.story-row div{max-width:36ch}.story-row h3{margin-bottom:30px}.story-row.reverse img{grid-column:2;grid-row:1}.story-row.reverse div{grid-column:1;grid-row:1}.story-ending{display:flex;justify-content:space-between;gap:50px;align-items:center}.story-ending p{font-size:clamp(24px,3vw,42px);line-height:1.2;letter-spacing:-.03em;max-width:30ch;margin:0}
.gallery-section{padding:100px var(--gap);background:var(--paper)}.gallery-title{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:42px}.gallery-title>div{max-width:38ch}.filter-wrap{margin:44px 0 24px}.filters{display:flex;flex-wrap:wrap;gap:10px}.filters button{border:0;background:var(--muted);padding:14px 18px;min-height:48px;font-size:17px;font-weight:700;transition:background .2s}.filters button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.filters button:hover{background:var(--lime);color:var(--ink)}#result-count{margin:18px 0 0;font-size:16px}.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 16px}.meme{margin:0;min-width:0;background:var(--ink);color:var(--paper)}.meme>a{display:block;text-decoration:none;height:100%}.meme img{width:100%;aspect-ratio:1;object-fit:cover}.meme figcaption{padding:20px;min-height:146px}.meme figcaption span{font-size:21px;line-height:1.1;font-weight:800;letter-spacing:-.03em}.meme figcaption p{font-size:16px;line-height:1.4;margin:12px 0 0}.meme:nth-child(4n+2){background:var(--lime);color:var(--ink)}.meme:nth-child(4n+3){background:var(--forest)}.meme:nth-child(4n){background:var(--muted);color:var(--ink)}.meme a:hover figcaption span{text-decoration:underline;text-underline-offset:4px}.meme a:focus-visible{outline-offset:3px}.noscript{margin-top:28px}
.closing{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px;padding:80px var(--gap);background:var(--lime)}.closing h2{margin-bottom:36px}.closing p{max-width:40ch}.closing img{width:100%}footer{background:var(--ink);color:var(--lime);padding:48px var(--gap);display:flex;flex-wrap:wrap;gap:25px;align-items:center;justify-content:space-between}footer>p{width:100%;font-size:clamp(60px,14.1vw,220px);font-weight:900;line-height:1;letter-spacing:-.065em;margin:0}footer span,footer a{font-size:17px}
dialog{padding:0;border:0;width:min(1100px,94vw);max-width:94vw;max-height:94svh;background:var(--paper);color:var(--ink);overflow:auto}dialog::backdrop{background:rgb(5 17 8 / .86)}.viewer-shell{display:grid;grid-template-columns:1.35fr 1fr;position:relative;min-width:0}.close{position:absolute;right:14px;top:14px;background:var(--ink);color:var(--paper);border:0;min-width:72px;min-height:46px;font-weight:700;z-index:2}.viewer-image{background:var(--muted);align-self:stretch;display:flex;align-items:center}.viewer-image img{width:100%;height:auto;aspect-ratio:1;object-fit:contain}.viewer-copy{padding:90px 32px 32px;display:flex;flex-direction:column;justify-content:center;min-width:0}.viewer-copy h2{font-size:clamp(34px,4vw,52px);line-height:1.05;margin-bottom:26px}.viewer-copy>p{font-size:21px}#viewer-category{font-size:16px;margin-bottom:25px}#viewer-caption{min-height:90px}.viewer-controls{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-top:25px}.viewer-controls button,#retry-image{border:0;background:var(--ink);color:var(--paper);padding:14px 16px;min-height:48px;font-weight:700}.viewer-controls span{font-size:15px;white-space:nowrap}#image-error{font-size:17px;color:#8d240a}
@media(min-width:1600px){.hero-art{right:3%}.hero-copy{max-width:900px}}
@media(max-width:1100px){.hero{min-height:800px}.hero h1{font-size:13.3vw}.hero-art{height:80%;right:-5%}.gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.story-heading{gap:35px}.closing{gap:40px}.meme figcaption{padding:17px}header{gap:20px}nav{gap:20px}.wordmark{font-size:22px}}
@media(max-width:760px){header{padding:20px var(--gap);gap:14px;flex-wrap:wrap}.wordmark{font-size:22px}nav{gap:18px}nav a{font-size:15px}.motion{position:absolute;right:var(--gap);top:58px;font-size:13px}.hero{height:1060px;min-height:100svh;max-height:none;display:block;padding:125px var(--gap) 0}.hero-copy{width:100%;text-align:left}.hero h1{font-size:23vw;line-height:.86}.hero-copy p{font-size:24px;line-height:1.25;margin:25px 0}.hero-art{width:100%;height:610px;right:-8%;bottom:-8%;justify-content:center}.hero-art img{height:100%}.hero-foot{bottom:28px;font-size:15px;max-width:125px;z-index:2}.primary{font-size:16px;min-height:50px;padding:15px 20px}.legend{padding-top:70px;padding-bottom:60px}.story-heading{display:block;margin-bottom:45px}.story-heading p{margin-top:28px;max-width:38ch}.story-row{gap:30px;display:flex;flex-direction:column;margin-bottom:60px;align-items:stretch}.story-row div{max-width:none}.story-row h3{margin-bottom:22px}.story-row.reverse img{order:0}.story-ending{display:block}.story-ending p{font-size:24px;margin-bottom:28px}.gallery-section{padding-top:70px;padding-bottom:65px}.gallery-title{display:block;margin-bottom:32px}.gallery-title>div{margin-top:28px}.gallery-title h2{font-size:clamp(48px,10vw,70px)}.filters{gap:8px}.filters button{font-size:15px;padding:12px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}.meme figcaption{padding:15px;min-height:175px}.meme figcaption span{font-size:20px}.meme figcaption p{font-size:15px}.closing{display:flex;flex-direction:column;gap:35px;padding:65px var(--gap)}.closing h2{font-size:52px}.viewer-shell{display:block}.viewer-image{display:block}.viewer-image img{max-height:54svh;object-fit:contain}.viewer-copy{padding:25px}.viewer-copy h2{font-size:34px;margin-bottom:18px}.viewer-copy>p{font-size:18px}#viewer-caption{min-height:0}#viewer-category{margin-bottom:15px}.viewer-controls{margin-top:15px}.close{top:10px;right:10px}.viewer-controls button{font-size:15px}footer{padding-top:40px;padding-bottom:40px}footer span,footer a{font-size:15px}}
@media(max-width:400px){.hero{height:1000px}.hero-art{height:570px;bottom:-7%}.hero h1{font-size:23vw}.hero-copy p{font-size:22px}.gallery{gap:18px 10px}.meme figcaption{padding:12px;min-height:188px}.meme figcaption span{font-size:18px}.meme figcaption p{font-size:15px}.wordmark{font-size:19px}nav{gap:12px}nav a{font-size:14px}.filters button{font-size:14px}.viewer-copy{padding:22px}.closing h2{font-size:44px}}
@media(prefers-reduced-motion:no-preference){body.enhanced:not(.still) .hero-art{animation:arrival .9s var(--ease) both}body.enhanced:not(.still) .hero h1{animation:type-in .7s var(--ease) both}body.enhanced:not(.still) .meme{animation:appear .5s var(--ease) both;animation-timeline:view();animation-range:entry 0% entry 30%}@keyframes arrival{from{transform:translateY(35px);opacity:.3}to{transform:translateY(0);opacity:1}}@keyframes type-in{from{transform:translateY(15px);opacity:.4}to{transform:translateY(0);opacity:1}}@keyframes appear{from{opacity:.4;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}body.still{scroll-behavior:auto}body.still *{animation:none!important;transition:none!important}
.hero-foot{display:none}
@media(max-width:760px){.hero{height:100svh;min-height:850px}.hero-art{height:500px;bottom:-7%;right:-6%}.meme figcaption{min-height:155px}}
@media(max-width:400px){.hero{height:100svh;min-height:810px}.hero-art{height:470px;bottom:-6%}.meme figcaption{min-height:170px}}

@media(max-width:400px){header{display:grid;grid-template-columns:1fr auto;row-gap:12px;align-items:center}header .wordmark{grid-column:1;grid-row:1}header .motion{position:static;grid-column:2;grid-row:1;padding:5px 0}header nav{grid-column:1 / -1;grid-row:2;margin:0;justify-content:flex-end}}
