/* Art direction layer: every page gets its own world. Shared bits only here. */
body.a-dark{--bg:#0a0a0a;--card:#151515;--ink:#f4f4f2;--mut:#8a8a88;--dim:#b4b4b2;--line:#2a2a2a;--soft:#101010;--cbg:#0a0a0a;--cink:#f4f4f2}
html body.a-dark{background:#0a0a0a;color:#f4f4f2}
body.a-dark .u-logo img,body.a-dark .u-sheet-top img{filter:invert(1)}
body.a-dark .u-top{background:#0a0a0a!important;color:#f4f4f2}
body.a-dark .u-nav a,body.a-dark .u-ic{color:#f4f4f2}
body.a-dark .u-pill,body.a-dark .u-menu{border-color:rgba(255,255,255,.4);color:#f4f4f2;background:transparent}
body.a-dark h1,body.a-dark h2,body.a-dark b{color:#f4f4f2}
body.a-dark p{color:#b4b4b2}
.aw{overflow:hidden;display:block}
.aw>*{display:block;transform:translateY(105%);animation:awUp .9s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(var(--i,0)*.11s + .15s)}
@keyframes awUp{to{transform:none}}
@media(prefers-reduced-motion:reduce){.aw>*{animation:none;transform:none}}
.a-grain{position:absolute;inset:0;pointer-events:none;opacity:.22;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
/* scroll-driven rise (compositor only; ignored where unsupported) */
@supports(animation-timeline:view()){
  .a-rise{animation:aRise linear both;animation-timeline:view();animation-range:entry 0% entry 70%}
  @keyframes aRise{from{opacity:0;transform:translateY(46px) scale(.97)}to{opacity:1;transform:none}}
  .a-slide{animation:aSlide linear both;animation-timeline:view();animation-range:entry 0% exit 100%}
  @keyframes aSlide{from{transform:translateX(var(--from,12%))}to{transform:translateX(var(--to,-12%))}}
}
