/* City of Bayview Parks & Recreation — demo mini-site (fictional) */

* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: 'Public Sans', sans-serif; color: #22301f; background: #f4f6f2; line-height: 1.65; }

.demo-note {
  background: #111111; color: #E8E2D8;
  font-size: 0.8rem; padding: 0.6rem 1.5rem;
  display: flex; justify-content: space-between; flex-wrap: wrap; gap: 0.5rem;
}
.demo-note a { color: #8fb0d9; text-decoration: none; }
.demo-note a:hover { text-decoration: underline; }

.site-top { background: #2d4a26; color: #fff; padding: 0.5rem 1.5rem; font-size: 0.8rem; }

header.main {
  background: #fff; border-bottom: 4px solid #2d4a26;
  padding: 1.25rem 1.5rem; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem;
}
.seal {
  width: 52px; height: 52px; border-radius: 50%;
  background: #2d4a26; color: #fff; display: inline-flex; align-items: center; justify-content: center;
  font-weight: 700; font-size: 0.75rem; letter-spacing: 0.05em; flex-shrink: 0;
}
.dept { display: flex; align-items: center; gap: 0.9rem; text-decoration: none; }
.dept h1 { font-size: 1.25rem; font-weight: 700; color: #2d4a26; line-height: 1.2; }
.dept h1 span { font-size: 0.8rem; color: #667261; display: block; font-weight: 400; }
nav.site ul { list-style: none; display: flex; gap: 1.5rem; flex-wrap: wrap; }
nav.site a { color: #22301f; text-decoration: none; font-size: 0.9rem; font-weight: 600; }
nav.site a:hover { color: #2d4a26; text-decoration: underline; }
nav.site a.active { color: #2d4a26; border-bottom: 3px solid #e9b949; padding-bottom: 0.2rem; }

.hero {
  background: linear-gradient(rgba(29,46,24,0.75), rgba(29,46,24,0.75)), #52704a;
  color: #fff; padding: 4rem 1.5rem;
}
.hero-inner { max-width: 960px; margin: 0 auto; }
.hero h2 { font-size: clamp(1.75rem, 4vw, 2.75rem); font-weight: 700; margin-bottom: 0.75rem; }
.hero p { max-width: 560px; font-weight: 300; font-size: 1.05rem; }
.hero .actions { margin-top: 1.5rem; display: flex; gap: 0.75rem; flex-wrap: wrap; }
.hero a.act {
  display: inline-block; padding: 0.7rem 1.4rem; text-decoration: none; font-weight: 600; font-size: 0.9rem;
}
.hero a.primary { background: #e9b949; color: #22301f; }
.hero a.secondary { border: 2px solid #fff; color: #fff; }

.page-head { background: #2d4a26; color: #fff; padding: 2.5rem 1.5rem; }
.page-head .inner { max-width: 960px; margin: 0 auto; }
.page-head .crumb { font-size: 0.8rem; color: #b5c9ab; margin-bottom: 0.4rem; }
.page-head .crumb a { color: #b5c9ab; }
.page-head h2 { font-size: clamp(1.6rem, 4vw, 2.3rem); font-weight: 700; }
.page-head p { color: #d9e4d2; font-weight: 300; margin-top: 0.5rem; max-width: 620px; }

.wrap { max-width: 960px; margin: 0 auto; padding: 3rem 1.5rem; }
.section-title { font-size: 1.4rem; font-weight: 700; color: #2d4a26; margin-bottom: 1.5rem; }

.programs { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1.25rem; }
.program { background: #fff; border: 1px solid #d8ded3; }
.program .band { height: 8px; background: #2d4a26; }
.program .band.gold { background: #e9b949; }
.program .band.blue { background: #4a708f; }
.program .body { padding: 1.25rem; }
.program h4 { font-size: 1.05rem; margin-bottom: 0.4rem; color: #22301f; }
.program p { font-size: 0.9rem; color: #56614f; margin-bottom: 0.75rem; }
.program a { color: #2d4a26; font-weight: 600; font-size: 0.85rem; text-decoration: none; }
.program a:hover { text-decoration: underline; }
.program .tag { display: inline-block; background: #eef2ea; color: #2d4a26; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; padding: 0.2rem 0.55rem; margin-bottom: 0.5rem; }

table.data { width: 100%; border-collapse: collapse; background: #fff; border: 1px solid #d8ded3; font-size: 0.92rem; }
table.data th { background: #2d4a26; color: #fff; text-align: left; padding: 0.7rem 1rem; font-size: 0.82rem; letter-spacing: 0.06em; text-transform: uppercase; }
table.data td { padding: 0.75rem 1rem; border-top: 1px solid #e4e8e0; vertical-align: top; }
table.data tr:nth-child(even) td { background: #f7f9f5; }
table.data .note { font-size: 0.82rem; color: #667261; }

.list-plain { list-style: none; }
.list-plain li { background: #fff; border: 1px solid #d8ded3; padding: 1.1rem 1.25rem; margin-bottom: 0.9rem; }
.list-plain h4 { color: #2d4a26; font-size: 1rem; margin-bottom: 0.2rem; }
.list-plain .when { font-size: 0.8rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: #b3541e; margin-bottom: 0.3rem; }
.list-plain p { font-size: 0.9rem; color: #56614f; }

.callout { background: #fdf5e0; border-left: 4px solid #e9b949; padding: 1.1rem 1.25rem; margin: 1.75rem 0; font-size: 0.92rem; }
.callout strong { color: #6a5426; }

.info-band { background: #2d4a26; color: #e8eee4; }
.info-grid { max-width: 960px; margin: 0 auto; padding: 2.5rem 1.5rem; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 2rem; }
.info-grid h5 { font-size: 0.8rem; letter-spacing: 0.1em; text-transform: uppercase; color: #b5c9ab; margin-bottom: 0.6rem; }
.info-grid p { font-size: 0.92rem; font-weight: 300; }

footer.site { background: #1d2e18; color: #93a58a; font-size: 0.8rem; padding: 1.25rem 1.5rem; text-align: center; }
