.gal-root{min-height:100vh;--paper:#EEF1E9;--ink:#0E0E0C;--mute:#6B6E66;--acid:#C6F211;--flare:#FF4D2E;--poly:#5B86D6;--kal:#3FA37A;--rule:rgba(14,14,12,.14)}.gal-root,.gal-root *{box-sizing:border-box}.gal-root{margin:0;background:var(--paper);color:var(--ink)}.gal-root{font-family:Space Mono,ui-monospace,monospace;-webkit-font-smoothing:antialiased}.gal-root header{padding:clamp(24px,3vw,40px) clamp(20px,5vw,64px) clamp(28px,4vw,48px);max-width:1380px;margin:0 auto;display:grid;grid-template-columns:1fr auto;grid-gap:24px 40px;gap:24px 40px;align-items:end;border-bottom:1px solid var(--rule)}.gal-root .eyebrow{grid-column:1/-1;display:flex;align-items:center;gap:12px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--mute)}.gal-root .eyebrow svg{width:26px;height:26px}.gal-root h1{margin:0;font-family:Syne,sans-serif;font-weight:800;font-size:clamp(52px,10.5vw,148px);line-height:.88;letter-spacing:-.035em}.gal-root h1 .p{color:var(--poly)}.gal-root h1 .k{color:var(--kal)}.gal-root h1 .amp{font-family:Playfair Display,serif;font-style:italic;font-weight:400;color:var(--ink)}.gal-root .lede{margin:0;max-width:420px;font-size:14px;line-height:1.65;color:#2b2c28}.gal-root .lede em{font-style:normal;background:var(--acid);padding:0 4px}.gal-root .keys{max-width:1380px;margin:0 auto;padding:18px clamp(20px,5vw,64px);display:flex;flex-wrap:wrap;gap:10px 22px;font-size:12px;color:var(--mute);letter-spacing:.04em;border-bottom:1px solid var(--rule);position:-webkit-sticky;position:sticky;top:var(--gal-top,56px);background:rgba(238,241,233,.93);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:5}.gal-root .keys span{display:inline-flex;align-items:center;gap:8px}.gal-root .keys b{display:inline-grid;place-items:center;min-width:30px;height:28px;padding:0 8px;border:solid var(--ink);border-width:1px 1px 3px;font-weight:700;color:var(--ink);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:transform .08s,background .08s}.gal-root .keys b.on{background:var(--acid);transform:translateY(2px);border-bottom-width:1px}.gal-root main{max-width:1380px;margin:0 auto;padding:clamp(28px,4vw,48px) clamp(20px,5vw,64px) 40px}.gal-root #grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-gap:clamp(22px,3vw,40px) clamp(16px,2.4vw,32px);gap:clamp(22px,3vw,40px) clamp(16px,2.4vw,32px)}.gal-root .tile{margin:0;min-width:0}.gal-root .frame{position:relative;aspect-ratio:1/1;background:#fff;box-shadow:0 1px 0 var(--rule),0 18px 30px -22px rgba(14,14,12,.45)}.gal-root .frame canvas{width:100%;height:100%;display:block;cursor:-webkit-grab;cursor:grab;touch-action:pan-y}.gal-root .frame canvas:active{cursor:-webkit-grabbing;cursor:grabbing}.gal-root .dl{position:absolute;right:8px;bottom:8px;font:700 10px Space Mono,monospace;letter-spacing:.1em;text-transform:uppercase;padding:5px 8px;border:1px solid var(--ink);background:var(--paper);color:var(--ink);opacity:0;transition:opacity .15s;cursor:pointer}.gal-root .dl:focus-visible,.gal-root .tile:hover .dl{opacity:1}@media (hover:none){.gal-root .dl{opacity:.85}}.gal-root figcaption{display:grid;grid-template-columns:auto 1fr;grid-column-gap:10px;column-gap:10px;padding-top:12px}.gal-root .num{grid-row:1/3;font-family:Syne,sans-serif;font-weight:800;font-size:26px;line-height:1;position:relative;padding-right:2px}.gal-root .num:after{content:"";position:absolute;width:7px;height:7px;background:var(--acid);border:1px solid var(--ink);transform:rotate(45deg);right:-6px;top:-2px}.gal-root .nm{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding-top:2px}.gal-root .sub{font-family:Playfair Display,serif;font-style:italic;font-size:14px;color:var(--mute)}.gal-root footer{max-width:1380px;margin:0 auto;padding:36px clamp(20px,5vw,64px) 64px;border-top:1px solid var(--rule);display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;font-size:12px;color:var(--mute);line-height:1.7}.gal-root footer a{color:var(--ink)}@media (max-width:720px){.gal-root header{grid-template-columns:1fr}.gal-root #grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}.gal-root .nm{font-size:10px;letter-spacing:.1em}.gal-root .sub{font-size:12px}.gal-root .num{font-size:20px}}.gal-root header{grid-template-columns:1fr;padding:clamp(20px,2.5vw,32px) clamp(20px,5vw,64px) clamp(18px,2vw,24px)}.gal-root header .lede{max-width:720px;font-size:15px}.gal-root .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}