.ascii-host{position:relative;isolation:isolate;overflow:hidden}
.ascii-system-layer{position:absolute;inset:0;width:100%;height:100%;z-index:0;
  display:block;pointer-events:none;opacity:.7}
.ascii-host>*:not(.ascii-system-layer){position:relative;z-index:1}
.hero.ascii-host{overflow:visible}
.hero.ascii-host>.hero-grid{z-index:auto}

.site-sound{position:relative;width:48px;height:28px;padding:0;border:1px solid rgba(241,239,232,.28);
  border-radius:999px;background:rgba(13,13,13,.24);color:var(--fg,#f1efe8);cursor:pointer;
  display:inline-flex;align-items:center;transition:border-color .25s ease,background .25s ease}
.site-sound-knob{width:22px;height:22px;margin-left:2px;border-radius:50%;display:grid;place-items:center;
  background:currentColor;transform:translateX(0);transition:transform .32s cubic-bezier(.22,1,.36,1)}
.site-sound svg{width:13px;height:13px;color:var(--bg,#0d0d0d)}
.site-sound[aria-pressed="true"]{border-color:rgba(241,239,232,.56);background:rgba(241,239,232,.08)}
.site-sound[aria-pressed="true"] .site-sound-knob{transform:translateX(20px)}
.site-sound:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.nav.on-light .site-sound{color:var(--ink,#111);border-color:rgba(13,13,13,.3);background:rgba(229,229,229,.42)}

body.case-page .nav{padding:30px 48px;gap:var(--s5);background:linear-gradient(to bottom,rgba(13,13,13,.58),rgba(13,13,13,.16) 68%,rgba(13,13,13,0));backdrop-filter:blur(2px)}
body.case-page .nav.on-light{background:linear-gradient(to bottom,rgba(229,229,229,.94),rgba(229,229,229,0))}
body.case-page .nav .brand{position:relative;width:184px;height:36px;margin-right:auto;overflow:hidden;flex:0 0 auto;color:var(--fg);font-size:inherit;line-height:inherit;letter-spacing:inherit;font-weight:inherit}
body.case-page .nav .brand{display:block;z-index:1;pointer-events:auto}
body.case-page .nav-links{gap:var(--s4)}
body.case-page .nav-links a{padding:var(--s2) var(--s2)}
body.case-page .brand-lottie{position:absolute;inset:0;z-index:2;opacity:0;pointer-events:none;transition:opacity .2s ease-out,filter .4s var(--ease)}
body.case-page .brand-lottie svg{width:100%!important;height:100%!important;display:block}
body.case-page [data-brand-mark].has-lottie .brand-lottie{opacity:1}
body.case-page [data-brand-mark].has-lottie .brand-full,body.case-page [data-brand-mark].has-lottie .brand-compact{opacity:0!important}
body.case-page .nav.on-light .brand-lottie{filter:invert(1)}
body.case-page .brand-full,body.case-page .brand-compact{position:absolute;inset:0;display:flex;justify-content:center;transform-origin:left center;will-change:transform,opacity;transition:transform .38s cubic-bezier(.22,1,.36,1),opacity .24s ease-out}
body.case-page .brand-full{flex-direction:column;align-items:flex-start;font-size:17px;font-weight:600;line-height:.86;letter-spacing:-.035em;opacity:1;transform:translateY(0) scale(1)}
body.case-page .brand-compact{align-items:center;justify-content:flex-start;font-size:25px;font-weight:650;line-height:1;letter-spacing:-.085em;opacity:0;transform:translateY(32%) scale(.96)}
body.case-page [data-brand-mark].is-compact .brand-full{opacity:0;transform:translateY(-30%) scale(.97)}
body.case-page [data-brand-mark].is-compact .brand-compact{opacity:1;transform:translateY(0) scale(1)}
body.case-page .mnav-brand{position:relative;width:184px;height:36px;overflow:hidden;color:var(--fg)}
body.case-page .sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
body.case-page .snd-wrap{display:inline-flex;align-items:center;margin-left:var(--s6)}
body.case-page .snd{position:relative;display:inline-flex;align-items:center;width:64px;height:34px;padding:3px;border-radius:var(--r-pill);cursor:pointer;background:rgba(241,239,232,.10);border:1px solid rgba(241,239,232,.20);transform:translateY(0);transition:background .35s var(--ease),border-color .35s var(--ease),transform .25s var(--ease);-webkit-tap-highlight-color:transparent}
body.case-page .snd::after{content:"";position:absolute;left:0;right:0;top:50%;height:var(--tap);transform:translateY(-50%)}
body.case-page .snd:hover{background:rgba(241,239,232,.16);border-color:rgba(241,239,232,.38)}
body.case-page .snd:active{transform:translateY(1px) scale(.98)}
body.case-page .snd:focus-visible{outline:2px solid var(--fg);outline-offset:3px}
body.case-page .snd-knob{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:var(--r-pill);background:var(--fg-dim);color:var(--bg);transform:translateX(0);transition:transform .38s var(--ease),background .35s var(--ease),color .35s var(--ease)}
body.case-page .snd-knob svg{width:14px;height:14px;display:block}
body.case-page .snd[aria-pressed="true"]{background:var(--cream);border-color:var(--cream)}
body.case-page .snd[aria-pressed="true"]:hover{background:#fff;border-color:#fff}
body.case-page .snd[aria-pressed="true"] .snd-knob{transform:translateX(30px);background:var(--ink);color:var(--cream)}
body.case-page .nav.on-light .snd{background:rgba(13,13,13,.08);border-color:rgba(13,13,13,.22)}
body.case-page .nav.on-light .snd-knob{background:var(--ink-dim);color:var(--light)}
body.case-page .nav.on-light .snd[aria-pressed="true"]{background:var(--ink);border-color:var(--ink)}
body.case-page .nav.on-light .snd[aria-pressed="true"] .snd-knob{background:var(--light);color:var(--ink)}

@media (max-width:900px){
  .nav{gap:10px}
  .site-sound{flex:0 0 auto}
  body.case-page .nav{width:100%;max-width:100vw;padding:var(--s4) var(--s6);gap:var(--s3)}
  body.case-page .snd-wrap{margin-left:0;margin-right:var(--s2);flex-shrink:0}
  body.case-page .nav .brand,body.case-page .burger{flex-shrink:0}
  body.case-page .snd{width:58px;height:32px}
  body.case-page .snd-knob{width:24px;height:24px}
  body.case-page .snd[aria-pressed="true"] .snd-knob{transform:translateX(26px)}
}
@media (prefers-reduced-motion:reduce){
  .ascii-system-layer{opacity:.58}
  .site-sound-knob{transition:none}
}
