/* About + Privacy pages */
.page { max-width: 880px; margin: 0 auto; }
.page-hero { text-align: center; padding: 30px 10px 10px; }
.page-hero .hero-snake { font-size: 4.5em; }
.page-hero h1 { font-size: 2.8em; color: var(--primary); margin-bottom: .2em; }
.page-hero p { font-size: 1.2em; color: var(--muted); max-width: 640px; margin: 0 auto 18px; }
.page-cta { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin: 10px 0 30px; }
.page-card { background: #fff; border: 2px solid var(--line); border-radius: 22px; padding: 22px 26px; box-shadow: var(--shadow); margin-bottom: 18px; }
.page-card h2 { font-size: 1.5em; margin-top: 0; }
.page-card h3 { font-size: 1.15em; margin: 18px 0 6px; }
.page-card p, .page-card li { line-height: 1.6; }
.page-card ul { padding-left: 1.3em; }
.feature-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 14px; margin: 6px 0 18px; }
.feature { background: #fff; border: 2px solid var(--line); border-radius: 18px; padding: 16px 18px; box-shadow: var(--shadow); }
.feature .f-icon { font-size: 2em; }
.feature h3 { margin: 6px 0 4px; font-size: 1.15em; }
.feature p { margin: 0; color: var(--muted); }
.topic-strip { display: flex; flex-wrap: wrap; gap: 8px; }
.topic-strip span { background: #f3eee3; border-radius: 999px; padding: .2em .8em; font-weight: 700; font-size: .95em; }
.policy-date { color: var(--muted); }
.policy table { width: 100%; border-collapse: collapse; margin: 8px 0; font-size: .95em; }
.policy th, .policy td { text-align: left; vertical-align: top; border-bottom: 1px solid #efe9dc; padding: 8px 10px; }
.policy th { background: #f8f5ee; }
.policy code { white-space: normal; word-break: break-all; }
.site-foot { text-align: center; color: var(--muted); font-size: .9em; padding: 20px 16px 30px; }
.site-foot a { margin: 0 6px; }
@media (max-width: 560px) {
  .page-hero h1 { font-size: 2.1em; }
  .page-card { padding: 18px 16px; }
  .policy table, .policy thead, .policy tbody, .policy tr, .policy th, .policy td { display: block; }
  .policy thead { display: none; }
  .policy td:first-child { font-weight: 700; padding-bottom: 0; border-bottom: 0; }
}
