/* Page-level flourishes and reveals */

/* Reveal animations */
.reveal { opacity: 0; transform: translateY(8px) scale(0.98); transition: opacity var(--transition-med), transform var(--transition-med); }
.reveal.is-visible { opacity: 1; transform: translateY(0) scale(1); }

/* Portfolio masonry */
.masonry { column-count: 3; column-gap: var(--space-lg); }
.masonry .masonry-item { break-inside: avoid; margin-bottom: var(--space-lg); }

@media (max-width: 1000px) { .masonry { column-count: 2; } }
@media (max-width: 640px) { .masonry { column-count: 1; } }

/* Services cards */
.service { display: grid; gap: var(--space-md); }
.service h3 { margin-bottom: var(--space-xs); }

/* Contact form */
.form { display: grid; gap: var(--space-md); max-width: 720px; }
.field { display: grid; gap: 0.4rem; }
.field input, .field textarea { width: 100%; padding: 0.8rem 1rem; border: 1px solid var(--color-ui); border-radius: var(--radius); background: white; }
.field textarea { min-height: 140px; resize: vertical; }

.address { display: grid; gap: 0.25rem; }


