:root{--ink:#f2f5f7;--void:#04060a;--serif:"Instrument Serif", serif;--mono:"IBM Plex Mono", monospace;--sans:system-ui, sans-serif;--pad:clamp(20px, 4vw, 48px);--accent:#8fe6b4;--glow:#78e6aa1a;--tint:transparent}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{background:var(--void);color:var(--ink);font-family:var(--serif);overflow:hidden}::selection{background:#fff3}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes slowPan{0%{background-position:0 0}to{background-position:140px 90px}}.stage{background:var(--void);position:fixed;inset:0}.videos,.tint,.vignette,.grain{pointer-events:none;position:absolute;inset:0}.video{object-fit:cover;width:100%;height:100%;transition:opacity 1.1s ease-in-out;position:absolute;inset:0}.tint{background:var(--tint);transition:background 1.1s}.vignette{box-shadow:inset 0 0 220px #000000bf}.grain{opacity:.55;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence baseFrequency='0.9'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.05 0'/></filter><rect width='140' height='140' filter='url(%23n)'/></svg>");animation:9s linear infinite slowPan}.glow{pointer-events:none;mix-blend-mode:screen;background:radial-gradient(circle, var(--glow) 0%, transparent 60%);will-change:transform;border-radius:50%;width:520px;height:520px;transition:background 1.1s;position:fixed;top:-260px;left:-260px}.wipe{z-index:60;pointer-events:none;background:var(--void);transform-origin:bottom;justify-content:center;align-items:center;transition:transform .65s cubic-bezier(.76,0,.24,1);display:flex;position:fixed;inset:0;transform:scaleY(0)}.wipe[data-on=true]{transform:scaleY(1)}.wipe span{color:#f2f5f7d9;font-size:34px;font-style:italic}.mono{font-family:var(--mono);letter-spacing:.16em;font-size:11px}.accent{color:var(--accent);transition:color 1.1s}.eyebrow{font-family:var(--mono);letter-spacing:.24em;color:var(--accent);font-size:11px;transition:color 1.1s}.pill{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);font-family:var(--mono);letter-spacing:.16em;color:#f2f5f7cc;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff24;border-radius:999px;align-items:center;gap:10px;padding:10px 20px;font-size:11px;transition:color .25s,background .25s;display:inline-flex}.pill:hover{color:#fff;background:#ffffff1a}.scroller{position:absolute;inset:0;overflow:hidden auto}.topbar{justify-content:space-between;align-items:center;gap:16px;display:flex}.landing{flex-direction:column;display:flex;position:absolute;inset:0}.nav{padding:30px var(--pad);justify-content:space-between;align-items:center;gap:20px;animation:.9s both fadeUp;display:flex}.wordmark{flex-wrap:wrap;align-items:baseline;gap:16px;display:flex}.wordmark b{font-size:26px;font-style:italic;font-weight:400}.wordmark span{font-family:var(--mono);letter-spacing:.22em;color:#f2f5f780;font-size:10px}.navlinks{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);font-family:var(--mono);letter-spacing:.16em;color:#f2f5f7b3;white-space:nowrap;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:26px;padding:10px 22px;font-size:11px;display:flex}.navlinks button:hover{color:#fff}.hero{padding:0 var(--pad) 30px;flex-direction:column;flex:1;justify-content:flex-end;min-height:0;display:flex}.hero-name{text-align:left;cursor:pointer;margin-top:8px;font-size:clamp(60px,11vw,150px);font-style:italic;line-height:.98;transition:letter-spacing .5s cubic-bezier(.2,.8,.2,1)}.hero-name:hover{letter-spacing:.015em}.hero-meta{font-family:var(--mono);letter-spacing:.12em;color:#f2f5f799;margin-top:16px;font-size:11px}.hero-desc{font-family:var(--sans);color:#f2f5f7c7;max-width:480px;margin-top:10px;font-size:14px;line-height:1.7}.cta-row{flex-wrap:wrap;align-items:center;gap:14px;margin-top:22px;display:flex}.cta{background:var(--ink);color:#0a0c10;font-family:var(--mono);letter-spacing:.18em;cursor:pointer;border-radius:999px;align-items:center;gap:12px;padding:13px 24px;font-size:11px;transition:transform .25s cubic-bezier(.2,.8,.2,1);display:flex}.cta:hover{transform:scale(1.05)}.cta-ghost{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#f2f5f7d9;background:#ffffff0d;border:1px solid #ffffff2e;transition:color .25s,background .25s}.cta-ghost:hover{color:#fff;background:#ffffff1a;transform:none}.cta-ghost .count{opacity:.6}.dock{padding:0 var(--pad) 24px;scrollbar-width:none;align-items:stretch;display:flex;overflow-x:auto}.dock::-webkit-scrollbar{display:none}.dock-item{text-align:left;cursor:pointer;opacity:.55;border-top:2px solid #ffffff26;flex:1;min-width:140px;max-width:200px;padding:12px 16px 6px;transition:border-color .4s,opacity .3s}.dock-item[data-active=true]{border-top-color:var(--accent);opacity:1}.dock-item:hover{opacity:1}.dock-item .meta{font-family:var(--mono);letter-spacing:.18em;color:#f2f5f780;font-size:9px}.dock-item .name{color:var(--ink);margin-top:4px;font-size:19px}.dock-item[data-active=true] .name{font-style:italic}.dock-all{text-align:left;cursor:pointer;opacity:.6;border-top:2px solid #ffffff26;flex:none;padding:12px 20px 6px;transition:opacity .3s}.dock-all:hover{opacity:1}.atlas-inner{padding:30px var(--pad) 50px;flex-direction:column;min-height:100%;display:flex}.atlas-title{margin-top:44px;animation:.8s both fadeUp}.atlas-title h1{margin:8px 0 0;font-size:clamp(44px,8vw,76px);font-style:italic;font-weight:400;line-height:1}.filters{flex-wrap:wrap;gap:10px;margin-top:30px;display:flex}.filter{white-space:nowrap;cursor:pointer;font-family:var(--mono);letter-spacing:.16em;color:#f2f5f7b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0a;border:1px solid #ffffff2e;border-radius:999px;align-items:baseline;gap:8px;padding:9px 18px;font-size:10.5px;transition:background .25s,color .25s,border-color .25s;display:inline-flex}.filter span{opacity:.55}.filter[aria-pressed=true]{background:var(--ink);color:#0a0c10;border-color:#ffffffd9}.cards{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px;margin-top:26px;display:grid}.card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);cursor:pointer;text-align:left;background:#ffffff0b;border:1px solid #ffffff1f;border-radius:16px;padding:20px 22px 22px;transition:transform .3s cubic-bezier(.2,.8,.2,1),border-color .3s,background .3s;position:relative}.card:hover{background:#ffffff14;border-color:#ffffff59;transform:translateY(-6px)}.card-top,.card-bottom{font-family:var(--mono);letter-spacing:.16em;color:#f2f5f773;justify-content:space-between;gap:12px;font-size:9.5px;display:flex}.card-bottom{color:#f2f5f78c;align-items:center;margin-top:18px;font-size:10px}.card-name{margin-top:12px;font-size:38px;font-style:italic}.card-vibe{font-family:var(--mono);letter-spacing:.12em;margin-top:6px;font-size:10px}.atlas-foot{font-family:var(--mono);letter-spacing:.2em;color:#f2f5f759;margin-top:auto;padding-top:34px;font-size:10px}.city-head{min-height:88vh;padding:30px var(--pad) 40px;flex-direction:column;display:flex}.city-hero{margin-top:auto;animation:.9s .2s both fadeUp}.city-name{margin-top:8px;font-size:clamp(56px,12vw,150px);font-style:italic;line-height:.95}.city-vibe{font-family:var(--mono);letter-spacing:.12em;color:#f2f5f799;gap:30px;margin-top:18px;font-size:11px;display:flex}.city-desc{font-family:var(--sans);color:#f2f5f7cc;max-width:520px;margin-top:16px;font-size:15px;line-height:1.7}.scroll-hint{font-family:var(--mono);letter-spacing:.2em;color:#f2f5f766;margin-top:26px;font-size:10px;animation:3s infinite pulse}.archive{padding:20px var(--pad) 30px;background:linear-gradient(#0000,#04060ae6 140px)}.archive-empty{text-align:center;font-family:var(--mono);letter-spacing:.18em;color:#f2f5f766;margin:40px 0;font-size:11px}.loc-grid-lead{margin:8px 0 24px}.loc-section{margin-top:34px}.loc-section:first-child{margin-top:8px}.loc-name{font-family:var(--serif);color:#f2f5f7f0;border-bottom:1px solid #ffffff1f;align-items:baseline;gap:14px;margin-bottom:16px;padding-bottom:12px;font-size:clamp(20px,3.4vw,30px);font-weight:500;display:flex}.loc-index{letter-spacing:.2em;color:var(--accent);font-size:12px}.loc-grid{column-count:3;column-gap:14px}.frame{break-inside:avoid;cursor:zoom-in;background:#ffffff08;border:1px solid #ffffff1f;border-radius:14px;margin-bottom:14px;position:relative;overflow:hidden}.frame img{opacity:0;width:100%;height:auto;transition:opacity .7s,transform .9s cubic-bezier(.2,.8,.2,1);display:block}.frame img[data-loaded=true]{opacity:1}.frame:hover img[data-loaded=true]{transform:scale(1.04)}.city-nav{border-top:1px solid #ffffff1a;justify-content:space-between;align-items:center;gap:16px;margin-top:34px;padding:22px 0 8px;display:flex}.city-nav button{font-family:var(--mono);letter-spacing:.16em;color:#f2f5f799;font-size:11px;transition:color .25s}.city-nav button:hover{color:#fff}.city-nav .home{font-family:var(--serif);letter-spacing:normal;color:#f2f5f7cc;font-size:20px;font-style:italic}@media (width<=860px){.nav{padding:20px var(--pad)}.navlinks{gap:16px;padding:8px 16px;font-size:10px}.loc-grid{column-count:2}.city-vibe{flex-wrap:wrap;gap:12px}}@media (width<=560px){.wordmark span,.city-nav .home{display:none}.loc-grid{column-count:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.booting{font-family:var(--mono);letter-spacing:.24em;color:#f2f5f759;justify-content:center;align-items:center;font-size:10px;display:flex;position:absolute;inset:0}.frame{background-position:50%;background-size:cover}.frame[data-blur=true] img{opacity:0}.lightbox{z-index:200;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:zoom-out;background:#04060aeb;justify-content:center;align-items:center;padding:4vmin;animation:.24s lightbox-in;display:flex;position:fixed;inset:0}@keyframes lightbox-in{0%{opacity:0}to{opacity:1}}.lightbox-img{object-fit:contain;cursor:default;border-radius:8px;width:auto;max-width:min(1400px,96vw);height:auto;max-height:92vh;box-shadow:0 30px 80px #0009}.lightbox-close{color:#f2f5f7cc;cursor:pointer;background:#ffffff14;border:1px solid #ffffff29;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;font-size:26px;line-height:1;transition:background .2s,color .2s;display:flex;position:fixed;top:18px;right:22px}.lightbox-close:hover{color:#fff;background:#ffffff29}
