:root{--cta-color-start:#28a745;--cta-color-end:#20c997;--cta-duration:3s;--cta-shimmer-duration:3s;--cta-glow-duration:3s}@keyframes pulse-scale{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes glow-fade{0%,to{opacity:.35}50%{opacity:.6}}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}.event-teaser{max-width:700px;margin:0 auto}.cta-button-premium{background:linear-gradient(135deg,var(--cta-color-start)0%,var(--cta-color-end)100%);color:#fff;will-change:transform,opacity;animation:pulse-scale var(--cta-duration)ease-in-out infinite;border:none;border-radius:30px;padding:1rem 3rem;font-size:1.1rem;font-weight:600;transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s;position:relative;overflow:hidden}.cta-button-premium:before{content:"";width:200%;height:100%;animation:shimmer var(--cta-shimmer-duration)linear infinite;pointer-events:none;will-change:background-position,opacity;background:linear-gradient(90deg,#0000,#ffffff47,#0000) 0 0/200% 100%;position:absolute;top:0;left:-200%}.cta-button-premium:after{content:"";filter:blur(12px);opacity:.35;z-index:-1;pointer-events:none;width:140%;height:140%;animation:glow-fade var(--cta-glow-duration)ease-in-out infinite;will-change:opacity,transform;background:radial-gradient(circle,#28a74599,#0000 40%);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.cta-button-premium:hover{color:#fff;animation-play-state:paused;transform:translateY(-3px)scale(1.05);box-shadow:0 8px 35px #28a74559}.cta-button-premium:active{transform:translateY(-1px)scale(1.02)}.sticky-cta-mobile{padding:.75rem 1rem;padding-bottom:max(.75rem,env(safe-area-inset-bottom));z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);will-change:transform;background:linear-gradient(#fffffff2 0%,#fffffffa 100%);display:none;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #00000014}.sticky-cta-mobile .cta-text{color:#333;margin-bottom:.2rem;font-size:.8rem;font-weight:600;line-height:1.2}.sticky-cta-mobile .cta-subtext{color:#666;margin-bottom:.5rem;font-size:.65rem;line-height:1.2}.sticky-cta-mobile .cta-button-premium{padding:.65rem 2rem;font-size:.95rem}.mobile-spacer{display:none}@media (max-width:768px){.sticky-cta-mobile{display:block}.mobile-spacer{height:140px;display:block}}.sticky-cta-mobile.hidden{transition:transform .3s ease-in-out;transform:translateY(100%)}.sticky-cta-mobile.visible{transition:transform .3s ease-in-out;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.cta-button-premium,.cta-button-premium:before,.cta-button-premium:after{transition:none!important;animation:none!important}.sticky-cta-mobile.hidden,.sticky-cta-mobile.visible{transition:none!important}}.school-logo-container{background:0 0;justify-content:center;align-items:center;display:flex;position:relative}.school-logo{box-shadow:0 4px 15px #0000001a}.school-logo-placeholder{color:#fff;letter-spacing:.05em;text-shadow:0 2px 4px #0000001a;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;width:100%;height:100%;font-size:4rem;font-weight:700;display:flex;box-shadow:0 4px 15px #0000001a}.school-verified-badge{color:#fff;z-index:20;background:#28a745;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:transform .2s,box-shadow .2s;display:flex;position:absolute;bottom:0;right:0;transform:translate(25%,25%);box-shadow:0 2px 8px #28a74566,0 0 0 3px #fff}.school-verified-badge:hover{transform:scale(1.1);box-shadow:0 3px 12px #28a74580,0 0 0 3px #ffffffe6}.school-verified-badge svg{width:20px;height:20px}@media (max-width:768px){.school-logo-placeholder{font-size:3rem}.school-verified-badge{width:36px;height:36px;bottom:6px;right:6px}.school-verified-badge svg{width:18px;height:18px}}
