/* Declarations Page styles */
.decpg-wrap { padding: 24px 0 64px; }
.decpg-container { max-width: 1100px; margin: 0 auto; padding: 0 20px; }

.decpg-title { display:flex; align-items:center; gap:12px; font-size: clamp(28px, 3.5vw, 40px); font-weight: 800; color: var(--decpg-primary, #0e4194); margin: 24px 0 24px; }
.decpg-title-icon { display:inline-flex; color: var(--decpg-primary, #3b82f6); }

.decpg-hero { background: linear-gradient(90deg, #eef2ff, #f5f3ff, #ffe4e6); padding: 20px; border-radius: 16px; box-shadow: 0 10px 25px rgba(0,0,0,.06); }
.decpg-hero p { margin: 0 0 10px; color: #1f2937; line-height: 1.6; font-size: 1.05rem; }

.decpg-list { display: grid; grid-template-columns: 1fr; gap: 18px; margin-top: 24px; }
@media (min-width: 640px) {
  .decpg-list { grid-template-columns: 1fr; }
}
.decpg-card { background: #fff; padding: 20px; border-radius: 16px; box-shadow: 0 15px 35px rgba(0,0,0,.08); transition: box-shadow .25s ease; opacity: 0; transform: translateX(-12px); }
.decpg-card.visible { opacity: 1; transform: translateX(0); transition: opacity .6s ease var(--delay, 0ms), transform .6s ease var(--delay, 0ms); }
.decpg-card:hover { box-shadow: 0 20px 45px rgba(0,0,0,.12); }

.decpg-card-head { display:flex; align-items:flex-start; justify-content: space-between; gap: 8px; margin-bottom: 8px; }
.decpg-card-title { font-size: clamp(18px, 2.5vw, 24px); font-weight: 700; color: #111827; margin: 0; }
.decpg-year-badge { font-size: 12px; color: #6b7280; background: #eff6ff; padding: 6px 10px; border-radius: 999px; font-weight: 600; align-self: center; }

.decpg-summary { color:#374151; line-height: 1.65; margin: 10px 0 18px; }

.decpg-btn { display:inline-flex; align-items:center; gap:8px; border: 2px solid var(--decpg-primary, #3b82f6); color: var(--decpg-primary, #3b82f6); padding: 10px 14px; border-radius: 12px; text-decoration: none; font-weight: 600; }
.decpg-btn:hover { background: var(--decpg-primary, #3b82f6); color: #fff; }
.decpg-btn--disabled { opacity: .55; pointer-events:none; }

.decpg-ico { display:inline-block; }

.decpg-cta { margin-top: 28px; padding: 22px; background: linear-gradient(90deg, #22c55e, #0d9488); border-radius: 16px; color: white; box-shadow: 0 15px 35px rgba(0,0,0,.12); opacity:0; transform: translateY(12px); }
.decpg-cta.visible { opacity:1; transform: translateY(0); transition: opacity .6s ease .2s, transform .6s ease .2s; }
.decpg-cta h3 { font-size: clamp(20px, 2.5vw, 26px); margin: 0 0 8px; }
.decpg-cta p  { margin: 0; line-height: 1.6; }

/* fade-in for title and hero */
.fade-in { opacity: 0; transform: translateY(10px); }
.fade-in.visible { opacity: 1; transform: none; transition: opacity .6s ease, transform .6s ease; }

/* slide-in cards */
.slide-in { /* initial handled by .decpg-card */ }
