:root{
  --bg:#0f1a12;
  --muted:#b7b09a;
  --accent:#d6a73a;
  --sunny:#d1a43b;
  --river:#3e7a6b;
  --forest:#12311f;
  --ink:#f3ead7;
  --paper:#f6eedb;
  --card-shadow:0 18px 45px rgba(25,42,20,0.12);
  --maxw:900px;
}
*{box-sizing:border-box}
body{font-family:'Fredoka',system-ui,-apple-system,Segoe UI,Roboto,'Helvetica Neue',Arial;line-height:1.4;color:var(--ink);background:var(--bg);margin:0}
.site-header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:2px solid var(--sunny);background:var(--forest)}
.logo{font-family:'VT323',monospace;font-weight:700;text-decoration:none;color:var(--paper);font-size:1.4em;letter-spacing:1px}
.site-header nav a{margin-left:14px;text-decoration:none;color:var(--paper);font-weight:500;transition:color 0.2s}
.container{max-width:var(--maxw);margin:28px auto;padding:0 18px}
.hero-main{width:100%;margin:0;padding:0}
.hero{width:100%;height:100vh;background-size:cover;background-position:center;background-attachment:fixed;display:flex;align-items:center;justify-content:center;position:relative}
.hero::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.3)}
.hero-overlay{position:relative;z-index:2;text-align:center}
.hero-overlay h1{font-size:3.5em;color:#fff;margin:0;text-shadow:0 2px 8px rgba(0,0,0,0.4);font-family:'Fredoka',system-ui;font-weight:700}
.hero-foreground{position:absolute;bottom:0;left:0;right:0;height:40%;background-image:url('https://images.unsplash.com/photo-1441974231531-c6227db76b6e?q=80&w=1200&auto=format&fit=crop');background-size:cover;background-position:bottom;z-index:3;pointer-events:none;opacity:0.45}
.events-list{list-style:none;padding:0;margin:18px 0}
.events-list li{background:var(--paper);padding:12px;border-radius:8px;margin-bottom:10px;box-shadow:0 2px 6px rgba(25,42,20,0.15);border-left:3px solid var(--river)}
.events-list .meta{color:var(--muted);font-size:0.95em;margin-top:6px}
.events-page .container{position:relative}
.events-page .container::before{content:'';position:absolute;inset:-80px -40px auto;bottom:auto;height:240px;background:rgba(214,167,58,0.08);z-index:-1;border-radius:40px}
.events-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin:16px 0 26px}
.events-kicker{text-transform:uppercase;letter-spacing:2px;font-size:0.75em;font-weight:700;color:var(--muted);margin:0 0 8px}
.events-hero h1{font-size:2.8em;margin:0;color:var(--ink)}
.events-subtitle{max-width:520px;color:#d8d1bc;margin:10px 0 0;font-size:1.05em}
.events-actions{display:flex;gap:10px;flex-wrap:wrap}
.ghost-chip{border:2px solid rgba(246,238,219,0.3);background:rgba(246,238,219,0.08);color:var(--paper);border-radius:999px;padding:8px 14px;font-weight:600;cursor:pointer;transition:all 0.2s}
.ghost-chip:hover{border-color:var(--forest);box-shadow:0 8px 18px rgba(45,80,22,0.12);transform:translateY(-1px)}
.ghost-chip[aria-pressed="true"]{background:var(--sunny);color:var(--forest);border-color:var(--sunny);box-shadow:0 10px 22px rgba(209,164,59,0.25)}
.ghost-chip[aria-pressed="true"]:hover{transform:translateY(-2px)}
.events-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px}
.event-card{background:var(--paper);border-radius:12px;overflow:hidden;box-shadow:var(--card-shadow);display:flex;flex-direction:column;min-height:320px;border:1px solid rgba(17,35,24,0.4);transition:transform 0.25s,box-shadow 0.25s,filter 0.25s;animation:cardIn 0.4s ease both}
.event-card:nth-child(1){animation-delay:0.05s}
.event-card:nth-child(2){animation-delay:0.1s}
.event-card:nth-child(3){animation-delay:0.15s}
.event-card:nth-child(4){animation-delay:0.2s}
.event-card:hover{transform:translateY(-6px);box-shadow:0 26px 56px rgba(25,42,20,0.18);filter:saturate(1.05)}
.event-card.is-hidden{opacity:0.1;transform:scale(0.98);pointer-events:none}
.event-media{height:150px;background-size:cover;background-position:center;position:relative}
.event-media::after{content:'';position:absolute;inset:0;background:rgba(0,0,0,0.35)}
.event-media.river{background-image:url('https://images.unsplash.com/photo-1470770841072-f978cf4d019e?q=80&w=1200&auto=format&fit=crop')}
.event-media.bonfire{background-image:url('https://images.unsplash.com/photo-1475274047050-1d0c0975c63e?q=80&w=1200&auto=format&fit=crop')}
.event-media.forest{background-image:url('https://images.unsplash.com/photo-1441974231531-c6227db76b6e?q=80&w=1200&auto=format&fit=crop')}
.event-media.market{background-image:url('https://images.unsplash.com/photo-1469474968028-56623f02e42e?q=80&w=1200&auto=format&fit=crop')}
.event-body{padding:16px 16px 12px;display:flex;flex-direction:column;gap:10px;flex:1}
.event-meta{display:flex;gap:8px;flex-wrap:wrap}
.pill{background:#fff;border-radius:10px;padding:6px 10px;font-size:0.8em;color:#2d3a2a;border:1px solid rgba(54,81,53,0.18);font-weight:600;transition:transform 0.2s,box-shadow 0.2s}
.event-card:hover .pill{transform:translateY(-2px);box-shadow:0 6px 14px rgba(54,81,53,0.12)}
.event-title{margin:0;font-size:1.25em;color:var(--ink)}
.event-details{margin:0;color:#3a3a2f}
.event-footer{display:flex;align-items:center;justify-content:space-between;padding:0 16px 16px;color:var(--muted);font-weight:600}
.event-location{font-size:0.9em}
.event-cta{background:var(--forest);color:#fff;text-decoration:none;padding:8px 14px;border-radius:10px;font-weight:700;transition:transform 0.2s,box-shadow 0.2s}
.event-cta:hover{transform:translateY(-1px);box-shadow:0 10px 20px rgba(17,35,24,0.35);color:#fff}

@keyframes cardIn{
  from{opacity:0;transform:translateY(12px)}
  to{opacity:1;transform:translateY(0)}
}
.note{color:var(--muted)}
a{color:var(--accent);transition:color 0.2s}
a:hover{color:var(--forest)}
.site-footer{text-align:center;padding:18px;color:var(--muted);border-top:2px solid var(--sunny);margin-top:30px;background:var(--forest)}
.contact-form{display:grid;gap:10px;max-width:520px;margin-top:12px}
.contact-form input,.contact-form textarea{width:100%;padding:8px;border-radius:6px;border:2px solid var(--sunny)}
.contact-form button{background:var(--sunny);color:var(--forest);border:none;padding:10px 14px;border-radius:8px;cursor:pointer;font-weight:600;transition:transform 0.2s,box-shadow 0.2s;box-shadow:0 4px 12px rgba(209,164,59,0.35)}
.contact-form button:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(209,164,59,0.45)}

.past-events{margin:36px 0 10px}
.past-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.past-header h2{margin:0;font-size:2em;color:var(--ink)}
.past-subtitle{margin:6px 0 0;color:#d8d1bc}
.past-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.past-card{background:#101d15;border:1px solid rgba(246,238,219,0.15);border-radius:12px;padding:16px;box-shadow:0 16px 30px rgba(0,0,0,0.3)}
.past-meta{color:var(--sunny);font-size:0.85em;font-weight:600;letter-spacing:0.5px}
.past-title{margin:10px 0 8px;font-size:1.1em;color:var(--paper)}
.past-details{margin:0 0 12px;color:#cbbfa4}
.past-tag{display:inline-flex;align-items:center;border:1px solid rgba(209,164,59,0.5);color:var(--sunny);padding:4px 10px;border-radius:10px;font-size:0.75em;font-weight:700}

@media (max-width:640px){
  .emoji-grid{grid-template-columns:repeat(3,1fr)}
  .photos img{height:140px}
}
