:root { --primary-color: #2D3436; --accent-color: #00B894; --bg-light: #F9FAFB; --text-muted: #636E72; --white: #ffffff; } body { font-family: 'Inter', sans-serif; background-color: var(--bg-light); color: var(--primary-color); line-height: 1.6; } h1, h2, h3, h4, h5, .brand-font { font-family: 'Playfair Display', serif; font-weight: 700; } .text-accent { color: var(--accent-color) !important; } .bg-accent { background-color: var(--accent-color) !important; } .btn-primary { background-color: var(--accent-color); border-color: var(--accent-color); padding: 0.75rem 1.75rem; font-weight: 600; border-radius: 10px; transition: all 0.3s ease; } .btn-primary:hover { background-color: #009476; border-color: #009476; transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0, 184, 148, 0.2); } .navbar { background: var(--white); box-shadow: 0 2px 15px rgba(0,0,0,0.04); padding: 1.25rem 0; } .navbar-brand { font-weight: 700; font-size: 1.6rem; letter-spacing: -0.5px; } .hero-section { padding: 100px 0; background: radial-gradient(circle at top right, #e3fcf7, var(--bg-light)); position: relative; overflow: hidden; } .hero-section::before { content: ''; position: absolute; top: -10%; right: -5%; width: 300px; height: 300px; background: rgba(0, 184, 148, 0.05); border-radius: 50%; z-index: 0; } .event-card { border: none; border-radius: 16px; overflow: hidden; transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1); background: var(--white); height: 100%; box-shadow: 0 4px 6px rgba(0,0,0,0.02); } .event-card:hover { transform: translateY(-10px); box-shadow: 0 20px 40px rgba(0,0,0,0.08); } .event-type-badge { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 1px; font-weight: 700; padding: 6px 12px; border-radius: 30px; display: inline-block; margin-bottom: 12px; } .badge-assembly { background: #e3fcf7; color: #00b894; } .badge-field_trip { background: #fff4e6; color: #fd7e14; } .badge-parent_teacher { background: #f0f0ff; color: #6c5ce7; } .badge-sports { background: #fff0f0; color: #ff7675; } .badge-performance { background: #fdf2ff; color: #a29bfe; } .badge-other { background: #f1f2f6; color: #2d3436; } .section-title { margin-bottom: 3rem; position: relative; display: inline-block; } .section-title::after { content: ''; position: absolute; bottom: -10px; left: 0; width: 40px; height: 4px; background: var(--accent-color); border-radius: 2px; } .footer { padding: 4rem 0; background: var(--white); border-top: 1px solid #eee; margin-top: 5rem; }