* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { font-family: 'Patrick Hand', cursive; background: linear-gradient(to bottom, #FFF9E5 0%, #FFF5DC 100%); min-height: 100vh; }
.back-button { position: fixed; top: 20px; left: 20px; background: linear-gradient(135deg, #FF6B6B, #FF8E8E); color: white; padding: 12px 24px; border-radius: 25px; text-decoration: none; font-family: 'Cabin Sketch', cursive; font-size: 1.1rem; font-weight: bold; box-shadow: 0 4px 12px rgba(0,0,0,0.3); z-index: 1000; transition: all 0.3s; }
.back-button:hover { transform: translateY(-3px); box-shadow: 0 6px 16px rgba(0,0,0,0.4); }
.page-container { max-width: 900px; margin: 0 auto; padding: 4rem 2rem 2rem; }
.page-title { font-family: 'Cabin Sketch', cursive; font-size: 3rem; text-align: center; background: linear-gradient(135deg, #FF6B6B, #4ECDC4, #95E1D3, #FFD93D); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; margin-bottom: 2rem; transform: rotate(-2deg); }
.intro-box, .steps, .form-section, .documents-section { background: white; border-radius: 15px; padding: 2rem; margin-bottom: 2rem; box-shadow: 3px 3px 10px rgba(0,0,0,0.1); }
.intro-box { border-left: 8px solid #4ECDC4; }
.steps { border-left: 8px solid #FFD93D; }
.form-section { border-left: 8px solid #95E1D3; }
.documents-section { border-left: 8px solid #FF6B6B; }
.intro-box h2, .steps h2, .form-section h2, .documents-section h2 { font-family: 'Cabin Sketch', cursive; font-size: 2rem; color: #333; margin-bottom: 1rem; }
.form-section h2 { text-align: center; }
.intro-box p, .documents-section > p { font-size: 1.2rem; line-height: 1.8; color: #555; margin-bottom: 1rem; }
.intro-box p:last-child { margin-bottom: 0; }
.intro-box a { color: #4ECDC4; font-weight: bold; text-decoration: none; }
.step { background: linear-gradient(135deg, #FFF4E0 0%, #FFE8B3 100%); padding: 1.5rem; border-radius: 10px; margin-bottom: 1.5rem; border-left: 4px solid #FFD93D; }
.step:last-child { margin-bottom: 0; }
.step h3 { font-family: 'Cabin Sketch', cursive; font-size: 1.5rem; color: #333; margin-bottom: 0.5rem; }
.step p { font-size: 1.1rem; line-height: 1.6; color: #555; margin: 0; }
.form-group-participate { display: flex; flex-direction: column; gap: 1rem; margin-top: 1.5rem; }
.form-group-participate > div { display: flex; flex-direction: column; }
.form-group-participate label { font-size: 1.1rem; font-weight: bold; color: #333; margin-bottom: 0.5rem; }
.form-group-participate input, .form-group-participate textarea, .form-group-participate select { padding: 1rem; font-size: 1.1rem; border: 2px solid #95E1D3; border-radius: 8px; font-family: 'Patrick Hand', cursive; }
.form-group-participate textarea { min-height: 150px; resize: vertical; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.btn { background: linear-gradient(135deg, #FFD93D, #FFC700); color: #333; font-family: 'Cabin Sketch', cursive; font-size: 1.3rem; padding: 1rem 2rem; border: none; border-radius: 8px; cursor: pointer; transition: transform 0.2s; font-weight: bold; box-shadow: 0 4px 8px rgba(0,0,0,0.2); width: 100%; }
.btn:hover { transform: translateY(-2px); box-shadow: 0 6px 12px rgba(0,0,0,0.3); }
.document-card { background: linear-gradient(135deg, #FFE8E8, #FFD0D0); padding: 1.5rem; border-radius: 10px; margin-bottom: 1rem; border-left: 4px solid #FF6B6B; }
.document-card h3 { font-family: 'Cabin Sketch', cursive; font-size: 1.3rem; color: #333; margin-bottom: 0.5rem; }
.document-card p { font-size: 1rem; line-height: 1.6; color: #555; margin-bottom: 0.5rem; }
.download-button { display: inline-block; background: linear-gradient(135deg, #FF6B6B, #FF8E8E); color: white; padding: 0.8rem 1.5rem; border-radius: 8px; text-decoration: none; font-weight: bold; margin-top: 0.5rem; transition: all 0.3s; }
.download-button:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0,0,0,0.3); }
.success-message-participate { background: linear-gradient(135deg, #C8E6C9, #A5D6A7); border: 2px solid #66BB6A; color: #1B5E20; padding: 1.5rem; border-radius: 10px; margin-top: 1rem; text-align: center; font-weight: bold; font-size: 1.1rem; display: none; }
.success-message-participate.show { display: block; }
@media (max-width: 768px) {
    .back-button { top: 10px; left: 10px; padding: 10px 20px; font-size: 1rem; }
    .page-container { padding: 3rem 1rem 1rem; }
    .page-title { font-size: 2rem; }
    .form-row { grid-template-columns: 1fr; }
}
