:root{--bg:#fbfaf8;--ink:#24211e;--muted:#766f68;--card:#fff;--line:#e9e2db;--accent:#8b6b4f}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}.container{width:min(1120px,92%);margin:0 auto}.hero{padding:52px 0 28px;text-align:center}.brand{letter-spacing:.18em;text-transform:uppercase;font-size:13px;color:var(--muted)}h1{font-size:clamp(34px,6vw,62px);margin:14px 0}h1,h2{font-family:Georgia,serif;font-weight:400}.muted{color:var(--muted)}.photographer-credit{margin:0 0 12px;color:var(--accent);font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:500}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:12px;gap:12px;padding-bottom:50px}.photo{background:#eee;aspect-ratio:1/1;overflow:hidden;border-radius:10px}.photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}.photo:hover img{transform:scale(1.025)}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:11px 18px;background:var(--ink);color:#fff;cursor:pointer}.btn.alt{background:#fff;color:var(--ink)}.btn.alt,.card{border:1px solid var(--line)}.card{background:var(--card);border-radius:16px;padding:20px;box-shadow:0 5px 20px rgba(50,40,30,.04)}.form{display:grid;grid-gap:12px;gap:12px;max-width:640px}.input{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;font:inherit}label{font-size:13px;color:var(--muted)}.admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));grid-gap:16px;gap:16px;padding:24px 0 50px}.event-card{display:flex;flex-direction:column;gap:8px}.event-card .actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.upload-box{border:2px dashed var(--line);padding:28px;border-radius:16px;text-align:center;background:#fff}.progress{height:8px;background:#eee;border-radius:999px;overflow:hidden;margin-top:12px}.progress>div{height:100%;background:var(--accent);width:0;transition:width .2s}.footer{padding:35px 0 55px;text-align:center;color:var(--muted);font-size:12px}@media (max-width:600px){.grid{grid-template-columns:repeat(2,1fr);gap:7px}.hero{padding-top:32px}.photo{border-radius:6px}}