:root{
    --nav-height:60px;
    --max-width:1100px;
    --gap:24px;
    --accent:#2b6cb0;
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,system-ui,Segoe UI,Roboto,"Helvetica Neue",Arial;color:#111;background:#fff}
/* Navbar */
.nav{
    position:fixed;left:0;right:0;top:0;height:var(--nav-height);
    background:#fff;border-bottom:1px solid #eee;display:flex;align-items:center;justify-content:space-between;padding:0 1rem;z-index:40;
}
.nav .brand{font-weight:700;color:var(--accent)}
.nav .links{display:flex;gap:1rem}
.nav a{color:#333;text-decoration:none;font-size:0.95rem}
/* Page container */
main{max-width:var(--max-width);margin:0 auto;padding:0 1rem;padding-top:calc(var(--nav-height) + 1rem);}
/* Header hero (represents a photo) */
.hero{
    height:380px;border-radius:8px;overflow:hidden;margin-bottom:var(--gap);
    background-size:cover;background-position:center;display:flex;align-items:flex-end;
    color:#fff;padding:20px;
    box-shadow:0 6px 18px rgba(0,0,0,0.08);
}
.hero .kicker{background:rgba(0,0,0,0.45);padding:6px 10px;border-radius:20px;font-weight:600;font-size:0.85rem}
.hero h1{margin:8px 0 0;font-size:1.6rem;text-shadow:0 2px 8px rgba(0,0,0,0.45)}
/* Two-column content */
.content{display:grid;grid-template-columns:1fr 300px;gap:var(--gap);align-items:start;margin-bottom:80px}
.article{padding-right:6px}
.article h2{margin-top:0}
.article p{line-height:1.7;margin:0 0 1rem;color:#333}
/* Sticky photo column */
.photo-col{min-width:220px}
.sticky-photo{position:sticky;top:calc(var(--nav-height) + 1rem);border-radius:8px;overflow:hidden}
.sticky-photo img{display:block;width:100%;height:auto;max-height:70vh;object-fit:cover}
/* Responsive: on small screens photo above text */
@media (max-width:768px){
    .hero{height:220px}
    .content{grid-template-columns:1fr;gap:16px}
    .sticky-photo{position:relative;top:auto}
    /* move photo above article visually */
    .photo-col{order:-1}
    .sticky-photo img{max-height:none}
}

.activity-media{
  flex:0 0 110px;
  height:100px;
  width: 110px;
  border-radius:10px;
  overflow:hidden;
  background:#eee;
  box-shadow: inset 0 6px 18px rgba(0,0,0,0.04);
}
.activity-media img{ 
  width:100%; 
  height:100%; 
  object-fit:cover; 
    
}