.header-tools .notification-bell{display:grid;place-items:center;position:relative;min-width:42px;min-height:42px;padding:8px;border:1px solid var(--line);border-radius:50%;background:#fff}
.header-tools{display:none;align-items:center;gap:10px;order:3}.header-tools:has(.notification-bell){display:flex}.header-inner>.brand{order:1}.site-nav{order:2}
.nav-count{position:absolute;top:-4px;left:-3px;min-width:19px;height:19px;display:grid;place-items:center;padding:0 4px;background:var(--navy);color:var(--gold-light);border:2px solid var(--canvas);border-radius:99px;font-size:10px;line-height:1}
.announcement-card h2{margin-top:18px}.announcement-card .actions form{margin:0}.announcement-card .actions button{margin:0}.page-announcements-form .page-shell{max-width:850px}.announcement-editor select[multiple]{min-height:180px}.notification{transition:border-color .25s,box-shadow .25s}.notification.unread{border-right:3px solid var(--gold)}
.festival-sparks{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:-1}.festival-sparks span{position:absolute;color:#b68b38;opacity:.25;font-size:18px;animation:festival-drift 15s ease-in-out infinite;animation-play-state:paused}.festival-sparks span:nth-child(1){top:22%;right:17%}.festival-sparks span:nth-child(2){top:55%;left:15%;font-size:27px;animation-delay:-5s}.festival-sparks span:nth-child(3){bottom:14%;right:26%;font-size:12px;animation-delay:-9s}.home-hero .hero-emblem{animation:festival-float 9s ease-in-out infinite;animation-play-state:paused}.home-hero.hero-in-view .festival-sparks span,.home-hero.hero-in-view .hero-emblem{animation-play-state:running}.motion-paused .festival-sparks span,.motion-paused .hero-emblem{animation-play-state:paused!important}
@keyframes festival-drift{0%,100%{transform:translate3d(0,0,0) rotate(0);opacity:.15}50%{transform:translate3d(12px,-25px,0) rotate(30deg);opacity:.35}}
@keyframes festival-float{0%,100%{transform:translate3d(0,0,0) rotate(-3deg)}50%{transform:translate3d(0,-9px,0) rotate(3deg)}}
@media(hover:hover) and (pointer:fine){.button:after,button:after{transition:transform .2s}.button:hover,button:hover{box-shadow:0 9px 25px #b68b381c}.feature-icon{transition:transform .3s,background .3s}.feature-card:hover .feature-icon{transform:translateY(-3px) rotate(-5deg);background:#fcf4e1}}
@media(max-width:960px){.header-inner{flex-wrap:wrap;gap:14px;padding:14px 20px}.header-tools{display:flex;order:2}.nav-toggle{display:inline-flex;padding:8px 14px;min-height:38px;border:1px solid var(--line);background:#fff;color:var(--navy)}.site-nav{order:3;width:100%;flex-wrap:wrap;gap:12px 20px;border-top:1px solid var(--line);padding-top:15px}.js .site-nav:not(.is-open){display:none}}
@media(max-width:760px),(pointer:coarse){.festival-sparks{display:none}.home-hero .hero-emblem{animation:none}}
@media(prefers-reduced-motion:reduce){.festival-sparks{display:none}.festival-sparks span,.home-hero .hero-emblem{animation:none!important}}
.announcement-card h2,.notification h2,.notification .message,.rules-card{overflow-wrap:anywhere}

.notification-bell>svg{transform-origin:50% 10%;transform-box:fill-box}
.notification-bell.has-unread>svg{animation:notification-pendulum 5.6s ease-in-out infinite}
@keyframes notification-pendulum{0%,42%,100%{transform:rotate(0deg)}7%{transform:rotate(16deg)}17%{transform:rotate(-14deg)}27%{transform:rotate(10deg)}36%{transform:rotate(-6deg)}}
@media(prefers-reduced-motion:reduce){.notification-bell.has-unread>svg{animation:none;transform:none}}

/* Compact account records; full notification remains on its detail page. */
.page-announcements-my_notifications .notification{padding:14px 18px;margin-block:10px;border-radius:16px;min-height:0}
.page-announcements-my_notifications .notification h2{font-size:1rem;margin:0 0 6px}
.page-announcements-my_notifications .notification p{margin:6px 0}
.page-announcements-my_notifications .notification .message{font-size:.92rem;line-height:1.75;overflow-wrap:anywhere}
.page-announcements-my_notifications .notification .meta{font-size:.78rem;margin-top:6px}
.page-payments-my_payments .compact-receipt{padding:16px 20px;margin-block:12px;min-height:0}
.page-payments-my_payments .compact-receipt h2{font-size:1.1rem;margin:0 0 8px}
.page-payments-my_payments .compact-receipt p{margin:5px 0;line-height:1.7;overflow-wrap:anywhere}
@media(max-width:600px){.page-payments-my_payments .compact-receipt,.page-announcements-my_notifications .notification{padding:12px}}
