/* Shared closing invitations, with compact and balanced section transitions. */
.page-ending { padding-block:var(--space-6); }
.page-ending__inner { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.85fr); align-items:center; gap:var(--space-10); border-top:1px solid var(--color-divider); padding-top:var(--space-6); }
.page-ending--projects .page-ending__inner { border-top:0; }
.page-ending h2 { font:300 clamp(1.75rem,3vw,2.5rem)/1.15 var(--font-display); letter-spacing:-.025em; margin:0; }
.page-ending h2 em { color:var(--color-moss); }
.page-ending p { max-width:60ch; color:var(--color-text-muted); font-size:var(--text-sm); margin-top:var(--space-4); }
.page-ending__actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-4); }
.page-ending__actions--single { grid-template-columns:1fr; width:min(100%,18rem); justify-self:end; }
.page-ending__actions .btn { width:100%; min-height:48px; padding-inline:var(--space-4); white-space:normal; text-align:center; line-height:1.3; }
.page-ending__secondary { border-color:var(--color-divider); color:var(--color-text); }
.page-ending__secondary:hover { border-color:var(--color-primary); color:var(--color-primary); }
@media(max-width:860px) {
  .page-ending__inner { grid-template-columns:1fr; gap:var(--space-6); }
  .page-ending__actions--single { width:100%; }
}
@media(max-width:520px) {
  .page-ending__actions { grid-template-columns:1fr; gap:var(--space-3); }
}
