/* ============================================================
   Pact — landing page styles
   Base + interactions ported from the design; plus responsive.
   ============================================================ */

* { box-sizing: border-box; }
body { margin: 0; }

@keyframes pop { 0% { transform: scale(.5); opacity: 0; } 60% { transform: scale(1.1); } 100% { transform: scale(1); opacity: 1; } }
@keyframes fadeUp { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }

.pact-link { position: relative; cursor: pointer; transition: color .2s ease; }
.pact-link:hover { color: var(--accent) !important; }
.pact-cta { cursor: pointer; transition: transform .2s ease, box-shadow .2s ease; }
.pact-cta:hover { transform: translateY(-2px); box-shadow: 0 12px 24px -12px rgba(21,32,26,.45); }
.pact-card { transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.pact-card:hover { transform: translateY(-3px); box-shadow: 0 24px 44px -28px rgba(21,32,26,.4); }
.src-ref { vertical-align: super; text-decoration: none; cursor: pointer; transition: opacity .15s ease; }
.src-ref:hover { text-decoration: underline; opacity: .7; }
[id^="src-"]:target { color: #A7CDB9 !important; }

/* ============================================================
   responsive (preserves the desktop design; reflows on small screens)
   ============================================================ */
@media (max-width: 900px) {
  .nav-links { display: none !important; }
  .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr !important; }
  .wrap { padding-left: 24px !important; padding-right: 24px !important; }
  .hero-h1 { font-size: 46px !important; }
  .emp-stat { padding: 0 0 26px 0 !important; border-right: none !important; border-bottom: 1px solid rgba(247,244,237,.16) !important; }
  .emp-stat:last-child { border-bottom: none !important; padding-bottom: 0 !important; }
}

@media (max-width: 560px) {
  .hero-h1 { font-size: 38px !important; }
  .sec-h2 { font-size: 32px !important; }
}
