/* Custom styles extracted from inline blocks */

/* Contact form transitions */
.contactform-container { position: relative; }
.contactform-form { transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out; }
.contactform-form.contactform-hidden { opacity: 0; transform: translateY(20px); pointer-events: none; position: absolute; width: 100%; }
.contactform-success { opacity: 0; transform: translateY(20px); transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out; text-align: center; display: none; }
.contactform-success.contactform-visible { opacity: 1; transform: translateY(0); display: block; }

/* Zyvid video component styles */
.zyvid-video-container { position: relative; width: 100%; aspect-ratio: 16/9; background: #000; }
.zyvid-main-video { width: 100%; height: 100%; object-fit: cover; }
.loading-overlay { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(0, 0, 0, 0.5); transition: opacity 0.3s; z-index: 20; }
.progress-ring { transform: rotate(-90deg); }
.progress-ring__circle-bg { fill: none; stroke: rgba(255, 255, 255, 0.2); stroke-width: 4px; }
.progress-ring__circle { fill: none; stroke: white; stroke-width: 4px; stroke-linecap: round; transition: stroke-dashoffset 0.3s; }
.progress-text { fill: white; font-size: 16px; font-weight: bold; text-anchor: middle; dominant-baseline: middle; transform: rotate(90deg); }
.zyvid-center-button { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); background: rgba(0, 0, 0, 0.5); border: none; width: 64px; height: 64px; border-radius: 50%; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background-color 0.3s; z-index: 10; }
.zyvid-center-button:hover { background: rgba(0, 0, 0, 0.7); }
.zyvid-control-bar { position: absolute; bottom: 0; left: 0; right: 0; background: rgba(0, 0, 0, 0.5); padding: 10px; display: flex; gap: 10px; opacity: 0; transition: opacity 0.3s; z-index: 10; }
.zyvid-video-container:hover .zyvid-control-bar { opacity: 1; }
.zyvid-control-button { background: transparent; border: none; color: white; cursor: pointer; padding: 5px; display: flex; align-items: center; justify-content: center; border-radius: 4px; }
.zyvid-control-button:hover { background: rgba(255, 255, 255, 0.1); }
.zyvid-center-button svg, .zyvid-control-button svg { color: white; }
.zyvid-hidden { display: none; }
.zyvid-hidden2 { opacity: 0; pointer-events: none; }

/* Thank-you page animations */
@keyframes checkmark { 0% { transform: scale(0); } 50% { transform: scale(1.2); } 100% { transform: scale(1); } }
.checkmark { animation: checkmark 0.6s ease-in-out; }
@keyframes fadeInUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } }
.fade-in-up { animation: fadeInUp 0.8s ease-out; }
