.halloween-decoration {
    position: fixed;
    inset: 0;
    z-index: 4;
    pointer-events: none;
    overflow: hidden;
}

.halloween-decoration::before { content: ''; position: absolute; inset: 0 0 auto; height: 300px; background: radial-gradient(ellipse at 50% 0, #d5712410, transparent 70%); }
.halloween-decoration__web { position: absolute; top: 92px; width: 142px; height: 142px; stroke: #cf995a; stroke-width: .7; opacity: .18; }
.halloween-decoration__web--left { left: 0; }
.halloween-decoration__web--right { right: 0; -webkit-transform: scaleX(-1); transform: scaleX(-1); }
.halloween-decoration__bat { position: absolute; width: 44px; height: 22px; fill: #b87640; opacity: .22; }
.halloween-decoration__bat--left { top: 216px; left: 42px; -webkit-transform: rotate(-16deg); transform: rotate(-16deg); }
.halloween-decoration__bat--right { top: 172px; right: 156px; width: 32px; -webkit-transform: rotate(12deg); transform: rotate(12deg); }
.halloween-theme .header { border-bottom-color: #c8793c40; }
.halloween-theme .footer { position: relative; isolation: isolate; border-top-color: #c8793c40; }

.halloween-footer { position: absolute; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; }
.halloween-footer__web { position: absolute; top: -1px; width: clamp(140px, 18vw, 240px); height: auto; stroke: #c7ae86; stroke-width: .7; opacity: .22; }
.halloween-footer__web--left { left: 0; }
.halloween-footer__web--right { right: 0; -webkit-transform: scaleX(-1); transform: scaleX(-1); }

@media (max-width: 1100px) {
    .halloween-decoration__web { top: 76px; width: 100px; height: 100px; opacity: .14; }
    .halloween-decoration__bat--left { top: 182px; left: 10px; width: 30px; }
    .halloween-decoration__bat--right { top: 132px; right: 90px; width: 24px; }
}

@media (max-width: 600px) {
    .halloween-footer__web { width: 110px; opacity: .16; }
    .halloween-decoration__web { width: 72px; height: 72px; }
    .halloween-decoration__bat--left { display: none; }
    .halloween-decoration__bat--right { top: 154px; right: 12px; opacity: .16; }
}
