*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}body{background:#b0e0e6;font-family:system-ui,sans-serif;color:#222;line-height:1.6;p{margin:1em 0}}a{color:inherit;text-decoration:underline}a:hover{opacity:.7}header{padding:2rem;max-width:1200px;margin:0 auto;border-bottom:1px solid rgba(0,0,0,.12);display:flex;align-items:baseline;gap:1.5rem}header h1{font-size:1.15rem;font-weight:600}nav{display:flex;gap:1rem;font-size:.9rem}main{max-width:1200px;margin:0 auto;padding:2rem}footer{margin-top:4rem;padding:1.5rem 2rem;border-top:1px solid rgba(0,0,0,.12);font-size:.8rem;color:#555}.year-heading{font-size:.95rem;font-weight:600;color:#555;margin:1.5rem 0 .6rem;letter-spacing:.04em;text-transform:uppercase}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.photo-card{background:#fff;border-radius:6px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.1)}.photo-card img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.photo-card .caption{padding:.6rem .75rem;font-size:.85rem;color:#444}.single-photo picture,.single-photo img{max-width:100%;height:auto;display:block;border-radius:4px}.single-meta{margin-top:1rem;font-size:.85rem;color:#555;display:flex;flex-wrap:wrap;gap:.5rem 1.5rem}.caption-body{margin-top:1rem;max-width:680px}.section-list{list-style:none;display:flex;flex-direction:column;gap:.5rem}.section-list li{display:flex;gap:.75rem;align-items:baseline}.section-list .date{font-size:.8rem;color:#666;min-width:5rem}.tags{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.5rem}.tag{background:rgba(0,0,0,8%);border-radius:3px;padding:.15rem .45rem;font-size:.75rem}