/* Site-wide visual polish: a modern desktop header, deeper shadows and
   livelier cards and buttons on the shared section components. Loaded after
   each page's own CSS (and before motion.css). Brand colours unchanged. */

:root {
  --px-ease: cubic-bezier(.2, .7, .2, 1);
  --px-shadow: 0 18px 36px -20px rgba(0, 0, 0, .85);
  --px-shadow-lift: 0 28px 48px -22px rgba(0, 0, 0, .9);
  --px-gold-grad: linear-gradient(140deg, #ffe766 0%, #ffd400 50%, #f2b800 100%);
}

/* The header lives in gov.css. */

/* ---------- section titles on inner pages: same voice as the home page ---------- */
.sec-title { font-family: var(--font-body); font-weight: 800; letter-spacing: -0.02em; text-wrap: balance; position: relative; padding-bottom: 22px; }
.sec-title::after {
  content: ''; position: absolute; left: 50%; bottom: 0; width: 72px; height: 4px; margin-left: -36px; border-radius: 4px;
  background: linear-gradient(90deg, transparent, var(--gold) 20%, var(--gold) 80%, transparent);
}

/* ---------- cards on the shared sections ---------- */
.project-card {
  border: 0; border-radius: 22px; overflow: hidden; background: linear-gradient(180deg, rgba(255, 255, 255, .04), rgba(0, 0, 0, .12));
  box-shadow: var(--px-shadow), 0 0 0 2px rgba(255, 223, 0, .85);
}
.project-card img { transition: scale .8s var(--px-ease); }
.project-card:hover img { scale: 1.06; }
.project-card h3 { font-weight: 600; }
.project-card__btn { border-radius: 999px; padding: 9px 34px 11px; border-color: rgba(255, 255, 255, .7); }
.counter-card, .feature-card { border-radius: 20px; box-shadow: var(--px-shadow); transition: box-shadow .4s; }
.feature-card { background: var(--px-gold-grad); }
.counter-card__num { text-shadow: 0 6px 24px rgba(255, 215, 0, .25); }
.story-card { border-radius: 22px; box-shadow: var(--px-shadow); }
.story-card__image { transition: transform .8s var(--px-ease); }
.story-card:hover .story-card__image { transform: scale(1.06); }
.story-card__more { border-radius: 999px; transition: translate .3s var(--px-ease), box-shadow .3s, background-color .3s; }
.story-card__more:hover { translate: 0 -2px; box-shadow: 0 12px 22px -12px rgba(0, 0, 0, .7); }
.post-card { border-radius: 18px; box-shadow: var(--px-shadow); }
.post-card__image { overflow: hidden; }
.post-card__image img { transition: scale .8s var(--px-ease); }
.post-card:hover .post-card__image img { scale: 1.06; }
.post-card__more { border-radius: 999px; transition: translate .3s var(--px-ease), box-shadow .3s; }
.post-card__more:hover { translate: 0 -2px; box-shadow: 0 12px 22px -12px rgba(0, 0, 0, .7); }
.program__card { border-radius: 22px; }
.program__image { border-radius: 22px; box-shadow: var(--px-shadow); }
.tabs { border-radius: 18px; overflow: hidden; box-shadow: var(--px-shadow); }
.tabs__nav button { transition: background-color .25s, color .25s; }
.tabs__nav button:hover:not([aria-selected="true"]) { background: #fff6c2; }
.ring { transition: box-shadow .4s; }
.ring:hover { box-shadow: 0 0 34px var(--gold); }

/* ---------- buttons ---------- */
.btn-gold {
  border: 0; border-radius: 999px; padding: 15px 30px; background: var(--px-gold-grad); font-weight: 600;
  box-shadow: 0 12px 26px -12px rgba(255, 208, 0, .85), inset 0 1px 0 rgba(255, 255, 255, .55);
}
.btn-gold:hover { background: var(--px-gold-grad); box-shadow: 0 18px 32px -12px rgba(255, 208, 0, 1), inset 0 1px 0 rgba(255, 255, 255, .55); }

/* ---------- footer ---------- */
.site-footer a { transition: color .2s; }
.site-footer a:hover { color: #fff; }

@media (prefers-reduced-motion: reduce) {
  .project-card img, .story-card__image, .post-card__image img { transition: none; }
  .project-card:hover img, .story-card:hover .story-card__image, .post-card:hover .post-card__image img { scale: none; transform: none; }
}
