.hero-copy h1 .accent { color: var(--green-bright); display: block; }
.hero-copy .lead { margin-bottom: 30px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 30px; }
.step { display: grid; grid-template-columns: 54px 1fr; gap: 18px; padding: 23px; align-items: start; }
.step h3 { margin: 3px 0 7px; }
.step p { margin: 0; font-size: .92rem; }
.events-grid { display: grid; grid-template-columns: 1.3fr .7fr; gap: 16px; }
.social-card .icon-box { margin-bottom: 26px; }
.social-card .btn { margin-top: auto; align-self: flex-start; }
.cta-band { position: relative; overflow: hidden; padding: clamp(38px, 6vw, 68px); border-radius: var(--radius-lg); border: 1px solid rgba(184,229,41,.17); background: radial-gradient(circle at 85% 90%, rgba(255,134,31,.12), transparent 30%), radial-gradient(circle at 15% 20%, rgba(184,229,41,.11), transparent 34%), var(--surface); text-align: center; }
.cta-band h2 { max-width: 700px; margin: 0 auto 14px; }
.cta-band p { max-width: 630px; margin: 0 auto 26px; }
.site-footer { padding: 68px 0 26px; border-top: 1px solid var(--line); background: #060811; }
.footer-grid { display: grid; grid-template-columns: 1.7fr repeat(3,1fr); gap: 34px; }
.brand--footer { margin-bottom: 20px; }
.footer-brand p { max-width: 350px; font-size: .9rem; }
.caula-signature { display: inline-flex; color: var(--text-muted); font-size: .75rem; margin-top: 8px; }
.caula-signature strong { color: var(--text-soft); margin-left: 4px; }
.footer-column { display: grid; align-content: start; gap: 11px; }
.footer-column h2 { font-size: .78rem; color: var(--text); text-transform: uppercase; letter-spacing: .11em; margin-bottom: 8px; }
.footer-column a { color: var(--text-muted); font-size: .82rem; transition: color var(--transition); }
.footer-column a:hover { color: var(--green-bright); }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 50px; padding-top: 22px; border-top: 1px solid var(--line); color: var(--text-muted); font-size: .72rem; }
@media (max-width: 980px) {
    .footer-grid { grid-template-columns: 1.5fr 1fr 1fr; }
    .footer-column:last-child { grid-column: 2 / -1; }}
@media (max-width: 760px) {
    .about-grid, .social-grid, .events-grid { grid-template-columns: 1fr; }
    .footer-grid { grid-template-columns: 1fr 1fr; }
    .footer-brand { grid-column: 1 / -1; }
    .footer-column:last-child { grid-column: auto; }}
@media (max-width: 520px) {
    .hero-actions .btn { width: 100%; }
    .step { grid-template-columns: 46px 1fr; padding: 18px; gap: 13px; }
    .footer-grid { grid-template-columns: 1fr; }
    .footer-brand { grid-column: auto; }
    .footer-bottom { flex-direction: column; }}
.dynamic-card--live.is-live { border-color: rgba(255,77,94,.24); box-shadow: inset 0 1px rgba(255,255,255,.035), 0 0 70px rgba(255,77,94,.055); }
.is-live .dynamic-card__visual { background: radial-gradient(circle at 50% 35%, rgba(255,77,94,.2), transparent 38%), radial-gradient(circle at 70% 82%, rgba(255,134,31,.1), transparent 40%), rgba(255,255,255,.012); }
.dynamic-card__body .hero-actions { margin-bottom: 0; }
.is-live .live-pulse { color: #ff4d5e; border-color: rgba(255,77,94,.42); animation: liveGlow 1.8s ease-in-out infinite; }
.is-live .live-pulse::before, .is-live .live-pulse::after { border-color: rgba(255,77,94,.16); }
.dynamic-card--live.is-unavailable { border-color: rgba(255,189,69,.16); }
.dynamic-card--live.is-unavailable .live-pulse { color: #ffbd45; border-color: rgba(255,189,69,.3); }
.home-queue-personal.is-comfortable { --queue-state: #8de33d; }
.home-queue-personal.is-danger { --queue-state: #ffd34d; }
.home-queue-personal.is-out { --queue-state: #ff5d67; }
.home-queue-personal.is-waiting { --queue-state: #ffbd45; }
.home-queue-personal > .btn { position: relative; z-index: 1; margin-top: auto; align-self: flex-start; }
