.hero{background:var(--header-footer);text-align:center;padding:clamp(48px,8vw,80px) 0 clamp(36px,6vw,60px)}.hero-text h1{color:var(--fg);text-wrap:balance;margin:0 0 12px;font-size:clamp(32px,5vw,64px);font-weight:700;line-height:1.2}@supports not (text-wrap:balance){.hero-text h1{word-break:normal;white-space:normal}}.hero h2{color:var(--muted);margin:0;font-size:1.5rem;font-weight:500}.hero p{max-width:60ch;color:var(--fg);margin:8px auto 0;line-height:1.6}.hero-cta{justify-content:center;gap:12px;margin-top:20px;display:flex}.events{padding:clamp(40px,6vw,60px) 0}.events h2{text-align:center;letter-spacing:.2px;margin:0 0 30px}.events-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(16px,3vw,24px);display:grid}.event-card{background:var(--card);border-radius:var(--radius);flex-direction:column;gap:10px;padding:clamp(16px,3vw,20px);display:flex;box-shadow:0 2px 6px #00000014}.event-card h3{color:var(--brand);margin:0}.event-card p{color:var(--fg);margin:0}.about{padding:clamp(40px,6vw,60px) 0}.about-inner{justify-content:center;align-items:flex-start;gap:40px;display:flex}.about-text{flex:1;max-width:clamp(280px,40%,460px);line-height:1.6}.about-image{flex:1;justify-content:flex-end;display:flex}.about-image img{object-fit:cover;object-position:bottom;border-radius:var(--radius);width:300px;height:300px}@media (max-width:850px){.about-inner{text-align:center;flex-direction:column;align-items:center;gap:24px}.about-image{justify-content:center}.about-image img{width:min(420px,100%);height:auto}}.cta{background:var(--header-footer);text-align:center;padding:clamp(72px,10vw,120px) 0;position:relative;overflow:hidden}.cta-bg{z-index:0;pointer-events:none;opacity:.12;width:min(1200px,95vw);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.cta-overlay{z-index:1;border-radius:var(--radius);background:#fffc;padding:clamp(28px,4vw,40px) clamp(24px,5vw,60px);display:inline-block;position:relative}.cta h2{color:var(--brand);letter-spacing:.2px;margin:0 0 20px;font-size:clamp(1.6rem,3.2vw,2.2rem)}.spacer{height:40px}.events .container>.button,.events .container .button-center .button{float:none;width:fit-content;margin:2rem auto 0;display:block}.events .container .button-center{width:100%}.fp-banner{background:var(--brand);text-align:center;width:100%}.fp-banner a{color:#fff;padding:14px 0;font-size:1.2rem;font-weight:600;text-decoration:none;display:block}
