/* Option 1: refined red paper-grain texture and a restrained hero glow. */
:root{--grain-dark:rgba(30,34,42,.07);--grain-light:rgba(255,255,255,.58);--hero-glow:rgba(226,28,42,.34)}
html.dark{--grain-dark:rgba(0,0,0,.26);--grain-light:rgba(255,255,255,.055);--hero-glow:rgba(226,28,42,.42)}
.site-shell{position:relative;isolation:isolate;overflow:clip}
.site-shell::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.74;background-image:radial-gradient(circle at 13% 19%,var(--grain-dark) 0 .7px,transparent .9px),radial-gradient(circle at 72% 61%,var(--grain-dark) 0 .65px,transparent .85px),repeating-linear-gradient(0deg,var(--grain-light) 0 1px,transparent 1px 5px),linear-gradient(118deg,transparent 28%,rgba(226,28,42,.055) 49%,transparent 70%);background-size:11px 11px,17px 17px,auto,auto}
.topbar{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.hero{position:relative;isolation:isolate;background:none}
.hero::before{content:"";position:absolute;z-index:-1;pointer-events:none;width:min(980px,96vw);height:500px;left:50%;top:0;transform:translateX(-50%);border-radius:50%;background:radial-gradient(ellipse at center,var(--hero-glow),rgba(176,19,40,.19) 42%,transparent 74%);filter:blur(24px);animation:hero-glow 10s ease-in-out infinite alternate}
@keyframes hero-glow{from{transform:translateX(-50%) scale(.94);opacity:.72}to{transform:translateX(-50%) scale(1.07);opacity:1}}
.hero::after{display:none}.cursor-ripples{position:fixed;inset:0;z-index:2;width:100%;height:100%;pointer-events:none;opacity:.78;mix-blend-mode:multiply}.site-shell>header,.site-shell>section,.site-shell>footer{position:relative;z-index:1}.topbar{z-index:40}html.dark .cursor-ripples{opacity:.7;mix-blend-mode:screen}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero::before{animation:none}}
@media(pointer:coarse){.cursor-ripples{display:none}}
