:root{
  --bg:#f4f3ee;
  --ink:#151515;
  --muted:#4d4d4d;
  --accent:#2f7d5a;   /* lichen green */
  --accent2:#b38a3a;  /* warm spore */
  --line: rgba(0,0,0,.12);
  --card: rgba(255,255,255,.65);
}

*{ box-sizing:border-box; }

html,body{ margin:0; padding:0; }

body{
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  background:
    radial-gradient(900px 500px at 15% -10%, rgba(47,125,90,.18), transparent 60%),
    radial-gradient(900px 500px at 85% 0%, rgba(179,138,58,.14), transparent 60%),
    var(--bg);
  color: var(--ink);
}

.site-header{
  position: sticky;
  top: 0;
  z-index: 10;
  background: rgba(244,243,238,.9);
  border-bottom: 1px solid var(--line);
}

.nav{
  max-width: 980px;
  margin: 0 auto;
  padding: 14px 24px;
  display: flex;
  gap: 14px;
}

.nav-link{
  text-decoration: none;
  color: var(--ink);
  padding: 8px 10px;
  border-radius: 12px;
}

.nav-link:hover{
  background: rgba(47,125,90,.12);
}

.nav-link.active{
  background: rgba(47,125,90,.18);
}

.wrap{
  max-width: 980px;
  margin: 0 auto;
  padding: 44px 24px;
}

.site-title{
  font-size: 56px;
  margin: 0 0 10px;
}

.page-title{
  font-size: 40px;
  margin: 0 0 18px;
}

.tagline{
  color: var(--muted);
  font-size: 18px;
}

.gallery{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 22px;
  margin-top: 18px;
}

.thumb{
  text-decoration:none;
  color: inherit;
}

.thumb-ph{
  height: 180px;
  border-radius: 16px;
  border: 1px solid var(--line);
  background:
    linear-gradient(135deg, rgba(47,125,90,.18), rgba(179,138,58,.12)),
    rgba(255,255,255,.6);
  transition: transform .18s ease, box-shadow .18s ease;
}

.thumb:hover .thumb-ph{
  transform: translateY(-4px);
  box-shadow: 0 18px 40px rgba(0,0,0,.12);
}

.thumb-title{
  display:block;
  margin-top: 10px;
}
