/* ASMR background and Smooth Cursor, ported from the user-supplied 21st components. */
.portfolio-home .intro{position:relative;isolation:isolate;background:#0a0a0c}
.hero-asmr{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.hero-asmr canvas{display:block;width:100%;height:100%}
.portfolio-home .intro__copy{text-shadow:0 1px 5px #000,0 0 12px #000,0 0 24px #000}
.hero-motion-toggle{position:absolute;inset:auto 12px 6px auto;z-index:2;padding:5px 9px;border:1px solid #ffffff25;border-radius:20px;background:#0a0a0ccc;color:#aaa;font:inherit;font-size:10px;cursor:pointer}
.hero-motion-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.smooth-cursor{position:fixed;left:0;top:0;width:50px;height:54px;z-index:2147483646;pointer-events:none!important;display:none;will-change:transform;direction:ltr}
.smooth-cursor svg{display:block;transform:scale(.5);transform-origin:center}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 html.smooth-cursor-active,html.smooth-cursor-active *{cursor:none!important}
 html.smooth-cursor-active .smooth-cursor{display:block}
 html.smooth-cursor-text,html.smooth-cursor-text *{cursor:auto!important}
 html.smooth-cursor-text :is(input,textarea,[contenteditable="true"]){cursor:text!important}
 html.smooth-cursor-text .smooth-cursor{display:none}
}
@media(prefers-reduced-motion:reduce){.smooth-cursor{display:none!important}}
@media(max-width:380px){.site-header{padding-inline:12px;gap:8px}.site-header .site-mark{font-size:9px;letter-spacing:0}.site-header .header-tools{gap:8px}.site-header .language-switch{gap:8px}.site-header .language-switch button{padding-inline:2px}.site-header .scroll-progress{display:none}.site-header .menu-toggle{width:28px;min-height:38px;padding:0;font-size:0}.site-header .menu-toggle::after{content:'☰';font-size:16px}}
