:root{--bg: #fdf8f3;--surface: #ffffff;--ink: #1d2b30;--muted: #7b8e95;--coral: #e8615a;--teal: #0f8a94;--sand: #f2c94c;--pad: 12px;--gap: 18px;--radius: 18px;--shadow: 0 2px 6px rgba(29, 43, 48, .06);--shadow-lift: 0 14px 32px rgba(29, 43, 48, .16);--sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--serif: "Fraunces", Georgia, "Times New Roman", serif}*{box-sizing:border-box}body{margin:0;padding:0 clamp(16px,4vw,48px) 72px;color:var(--ink);font:16px/1.5 var(--sans);-webkit-font-smoothing:antialiased;background:radial-gradient(70vw 55vh at 8% -10%,rgba(15,138,148,.16),transparent 70%),radial-gradient(60vw 50vh at 100% 0%,rgba(232,97,90,.14),transparent 65%),radial-gradient(50vw 40vh at 50% 100%,rgba(242,201,76,.12),transparent 70%),var(--bg);background-attachment:fixed}header{max-width:1600px;margin:0 auto;padding:clamp(36px,7vw,72px) 0 clamp(24px,4vw,40px);text-align:center}.places{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:1rem 0}.eyebrow{display:inline-flex;align-items:center;gap:.5rem;margin:0;padding:6px 14px;border:0;border-radius:999px;background:var(--surface);box-shadow:var(--shadow);color:var(--muted);font:600 .78rem/1.5 var(--sans);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:color .16s ease,box-shadow .16s ease}.eyebrow:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;opacity:.4}.eyebrow:hover{color:var(--teal);box-shadow:var(--shadow-lift)}.eyebrow:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.eyebrow[aria-pressed=true]{color:var(--teal);cursor:default}.eyebrow[aria-pressed=true]:before{background:var(--coral);opacity:1}h1{margin:0;font-family:var(--serif);font-size:clamp(2.1rem,6vw,4rem);font-weight:700;line-height:1.3;letter-spacing:-.02em;background:linear-gradient(100deg,var(--teal),#1d2b30 45%,var(--coral));-webkit-background-clip:text;background-clip:text;color:transparent}.subtitle{margin:14px auto 0;max-width:50ch;color:var(--muted);font-size:clamp(.95rem,1.6vw,1.1rem)}.wall{max-width:1600px;margin:0 auto;column-width:300px;column-gap:var(--gap)}figure{position:relative;margin:0 0 var(--gap);break-inside:avoid;border-radius:var(--radius);overflow:hidden;background:var(--surface);box-shadow:var(--shadow);transition:transform .28s cubic-bezier(.2,.7,.3,1),box-shadow .28s ease;content-visibility:auto;contain-intrinsic-size:300px 400px}figure{cursor:pointer}figure:hover,figure:focus-within{transform:translateY(-4px);box-shadow:var(--shadow-lift)}figure:focus-visible{outline:2px solid var(--teal);outline-offset:3px}figure.selected{outline:3px solid var(--coral);outline-offset:3px;box-shadow:var(--shadow-lift)}figure img{display:block;width:100%;height:auto;opacity:0;transition:opacity .4s ease,transform .5s cubic-bezier(.2,.7,.3,1)}figure img.loaded{opacity:1}figure:hover img{transform:scale(1.04)}.scrim{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .28s ease;background:linear-gradient(to top,rgba(12,28,32,.78) 0%,rgba(12,28,32,.12) 42%,transparent 62%),linear-gradient(to bottom,rgba(12,28,32,.45),transparent 38%)}figure:hover .scrim,figure:focus-within .scrim,figure.selected .scrim{opacity:1}figcaption{position:absolute;left:var(--pad);bottom:var(--pad);right:var(--pad);color:#fff;font-family:var(--serif);font-size:1.05rem;font-weight:500;font-style:italic;letter-spacing:.01em;text-shadow:0 1px 4px rgba(0,0,0,.45);opacity:0;transform:translateY(6px);transition:opacity .28s ease,transform .28s ease;pointer-events:none}.actions{position:absolute;top:var(--pad);right:var(--pad);display:flex;flex-direction:column;gap:8px;opacity:0;transform:translateY(-6px);transition:opacity .28s ease,transform .28s ease}figure:hover figcaption,figure:focus-within figcaption,figure.selected figcaption{opacity:1;transform:none}figure:hover .actions,figure:focus-within .actions,figure.selected .actions{opacity:1;transform:translateY(4px)}.actions a{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:var(--ink);background:#fffffff2;box-shadow:0 2px 8px #00000040;transition:background .16s ease,color .16s ease,transform .16s ease}.actions a:hover{background:var(--coral);color:#fff;transform:scale(1.12)}.actions a:focus-visible{outline:2px solid #fff;outline-offset:2px}.actions svg{width:19px;height:19px}.badges{position:absolute;top:var(--pad);left:var(--pad);z-index:1;display:flex;align-items:center;gap:8px;transition:transform .28s cubic-bezier(.2,.7,.3,1)}.badge-favourite{display:flex;align-items:center;justify-content:center;border-radius:.75rem;height:1.5rem;width:1.5rem;color:#fffffff2;background:#f5b800;box-shadow:0 2px 8px #00000040}.badge-favourite svg{width:1rem;height:1rem}.badge-latest{padding:4px 10px;border-radius:999px;line-height:1rem;background:var(--coral);color:#fff;font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;box-shadow:0 2px 8px #00000040}@media(hover:none){.scrim,figcaption,.actions{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){figure,figure img,figcaption,.actions,.scrim,.badges{transition:none}figure:hover{transform:none}figure:hover img{transform:none}figure:hover .badges,figure:focus-within .badges,figure:hover .actions,figure:focus-within .actions{transform:none}}.message{max-width:60ch;margin:0 auto;padding:28px;border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);color:var(--muted);text-align:center}.message code{padding:2px 6px;border-radius:6px;background:#0f8a941a;color:var(--teal);font-size:.9em}
