/* Each brand has its own interaction language, including keyboard focus. */
body{--ui-accent:currentColor}body.vfx{--ui-accent:#f44959}body.mobility{--ui-accent:#c6e479}body.retail{--ui-accent:#2147e8}body.education{--ui-accent:#a95234}body.music{--ui-accent:#ed794d}body.software{--ui-accent:#407454}
body a:focus-visible,body button:focus-visible,body summary:focus-visible{outline:2px solid var(--ui-accent);outline-offset:5px}
body .nav-links a{position:relative;transition:color .2s,background .2s,box-shadow .2s,transform .2s;padding:10px 8px}
body .nav-links a:after{content:'';position:absolute;pointer-events:none;transition:transform .25s,opacity .25s;opacity:0}
body .nav-links a:is(:hover,:focus-visible,[aria-current=location]):after{opacity:1}
body.vfx .nav-links a{border-radius:0;background:transparent}
body.vfx .nav-links a:after{inset:3px;border-inline:2px solid #f44959;transform:scaleX(1.18)}
body.vfx .nav-links a:is(:hover,:focus-visible,[aria-current=location]){color:#fff;text-shadow:2px 0 #f4495977,-2px 0 #55d6ef55}
body.vfx .nav-links a:is(:hover,:focus-visible,[aria-current=location]):after{transform:scaleX(1)}
body.mobility .nav-links a:after{left:8px;right:8px;bottom:4px;height:3px;border-radius:8px;background:#718c36;transform:scaleX(.1);transform-origin:left}
body.mobility .nav-links a:is(:hover,:focus-visible,[aria-current=location]):after{transform:scaleX(1)}
body.mobility .nav-links a:is(:hover,:focus-visible,[aria-current=location]){box-shadow:inset 0 -12px #9bb85d22}
body.retail .nav-links a:after{bottom:4px;left:25%;width:50%;height:1px;background:currentColor;transform:scaleX(0)}
body.retail .nav-links a:is(:hover,:focus-visible,[aria-current=location]):after{transform:scaleX(1)}
body.retail .nav-links a:is(:hover,:focus-visible,[aria-current=location]){color:#2147e8;transform:translateY(-2px)}
body.education .nav-links a:after{inset:auto 6px 8px;height:8px;background:#eac56966;transform:rotate(-2deg) scaleX(0);z-index:-1}
body.education .nav-links a{isolation:isolate}
body.education .nav-links a:is(:hover,:focus-visible,[aria-current=location]):after{transform:rotate(-2deg) scaleX(1)}
body.education .nav-links a[aria-current=location]{box-shadow:inset 3px 0 #a95234}
body.music .nav-links a:after{bottom:0;left:calc(50% - 14px);width:28px;height:6px;background:repeating-linear-gradient(90deg,#ed794d 0 3px,transparent 3px 6px);transform:scaleY(.2);transform-origin:bottom}
body.music .nav-links a:is(:hover,:focus-visible,[aria-current=location]):after{transform:scaleY(1)}
body.music .nav-links a:is(:hover,:focus-visible,[aria-current=location]){color:#ed794d}
body.software .nav-links a:after{bottom:3px;left:8px;width:9px;height:3px;background:#407454}
body.software .nav-links a:is(:hover,:focus-visible,[aria-current=location]){background:#40745417;box-shadow:inset 2px 0 #407454}
/* CTA silhouettes and press states */
body.vfx :is(.vx-pill,.menu-button){border-radius:0;clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px)}
body.vfx :is(.vx-pill,.menu-button):hover{filter:brightness(1.2);text-shadow:2px 0 #7a0815,-1px 0 #7bd7ec}
body.mobility :is(.mm-button,.mm-nav-contact,.menu-button){border-radius:999px;transition:box-shadow .25s,transform .2s}
body.mobility :is(.mm-button,.mm-nav-contact,.menu-button):hover{box-shadow:0 0 0 5px #9fc05230;transform:translateY(-2px)}
body.retail :is(.action,.menu-button){border-radius:0!important;border-width:0 0 1px!important;box-shadow:none!important;padding-inline:18px;transition:letter-spacing .25s,background .25s}
body.retail :is(.action,.menu-button):hover{letter-spacing:.06em;background:#2147e812;transform:none}
body.education :is(.action,.ed-nav-contact,.menu-button){border-radius:3px 3px 10px 3px;box-shadow:3px 3px 0 #cbbdaf;transition:transform .2s,box-shadow .2s}
body.education :is(.action,.ed-nav-contact,.menu-button):hover{transform:rotate(-2deg);box-shadow:5px 5px 0 #cbbdaf}
body.music :is(.mv-button,.mv-nav-cta,.menu-button){border-radius:999px;border:1px solid #ed794d;box-shadow:none;transition:box-shadow .25s,background .25s}
body.music :is(.mv-button,.mv-nav-cta,.menu-button):hover{box-shadow:0 0 0 5px #ed794d25,0 0 0 10px #ed794d10;transform:none}
body.software :is(.s-button,.code-command,.menu-button){border-radius:0;font-family:monospace;box-shadow:4px 4px 0 #809b8066;transition:box-shadow .15s,transform .15s}
body.software :is(.s-button,.code-command,.menu-button):hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 #809b8066}
body.vfx [data-feedback]:active{filter:brightness(1.4)}body.mobility [data-feedback]:active{transform:scale(.97)}body.retail [data-feedback]:active{opacity:.65}body.education [data-feedback]:active{transform:translate(2px,3px);box-shadow:none}body.music [data-feedback]:active{transform:scale(.95)}body.software [data-feedback]:active{transform:translate(3px,3px);box-shadow:none}
body.vfx .ui-hit{animation:ui-cut .3s ease-out}body.mobility .ui-hit{animation:ui-ignition .45s ease-out}body.retail .ui-hit{animation:ui-shutter .32s ease-out}body.education .ui-hit{animation:ui-stamp .35s ease-out}body.music .ui-hit{animation:ui-beat .4s ease-out}body.software .ui-hit{animation:ui-key .22s steps(2,end)}
@keyframes ui-cut{25%{filter:brightness(1.6);text-shadow:3px 0 #f44959,-3px 0 #5bdeed}70%{filter:brightness(.9)}}
@keyframes ui-ignition{40%{box-shadow:0 0 0 10px #9fc05245}100%{box-shadow:0 0 0 18px #9fc05200}}
@keyframes ui-shutter{40%{opacity:.4;filter:contrast(1.4)}}
@keyframes ui-stamp{45%{transform:translateY(3px) rotate(-2deg);box-shadow:none}}
@keyframes ui-beat{30%{scale:.95;box-shadow:0 0 0 8px #ed794d33}65%{scale:1.025}100%{scale:1}}
@keyframes ui-key{50%{translate:3px 3px;box-shadow:none}}
/* Plain service/footer links get the same brand-specific treatment. */
body [data-text-link]{text-decoration-line:underline;text-decoration-color:transparent;text-underline-offset:5px;transition:text-decoration-color .2s,color .2s}
body [data-text-link]:is(:hover,:focus-visible){text-decoration-color:currentColor}
body.vfx [data-text-link]:hover{text-shadow:1px 0 #f44959,-1px 0 #55d6ef}body.mobility [data-text-link]:hover{text-decoration-thickness:3px}body.retail [data-text-link]:hover{text-underline-offset:8px}body.education [data-text-link]:hover{text-decoration-style:wavy}body.music [data-text-link]:hover{text-decoration-style:double}body.software [data-text-link]:hover{text-decoration-style:dashed}
@media(max-width:760px){body .nav-links.open{gap:6px}body .nav-links a{width:100%;padding:13px 15px}body.vfx .nav-links.open{border-block:1px solid #f44959;animation:ui-menu-cut .22s ease-out}body.mobility .nav-links.open{border-radius:0 0 28px 28px;animation:ui-menu-drive .3s ease-out}body.retail .nav-links.open{border-bottom:1px solid #2147e8;animation:ui-menu-retail .3s ease-out}body.education .nav-links.open{transform-origin:top left;box-shadow:7px 7px 0 #cbbdaf;animation:ui-menu-page .3s ease-out}body.music .nav-links.open{border-bottom:4px double #ed794d;animation:ui-menu-beat .3s ease-out}body.software .nav-links.open{border:1px dashed #407454;animation:ui-menu-code .22s steps(4,end)}}
@keyframes ui-menu-cut{from{clip-path:inset(0 0 100%)}to{clip-path:inset(0)}}@keyframes ui-menu-drive{from{translate:0 -15px;opacity:0}to{translate:0;opacity:1}}@keyframes ui-menu-retail{from{clip-path:inset(0 50%)}to{clip-path:inset(0)}}@keyframes ui-menu-page{from{transform:perspective(800px) rotateX(-15deg);opacity:0}to{transform:none;opacity:1}}@keyframes ui-menu-beat{from{scale:.96;opacity:0}70%{scale:1.01}to{scale:1;opacity:1}}@keyframes ui-menu-code{from{clip-path:inset(0 0 100%)}to{clip-path:inset(0)}}
body.paused .ui-hit,body.paused .nav-links.open{animation:none!important}
@media(prefers-reduced-motion:reduce){body [data-feedback],body .nav-links.open{animation:none!important;transition:none!important}body [data-feedback]:active{filter:brightness(.85)}}

body summary{transition:background .2s,box-shadow .2s,color .2s;padding:8px 10px}
body.vfx summary:is(:hover,:focus-visible){box-shadow:inset 3px 0 #f44959;background:#f4495915}
body.mobility summary:is(:hover,:focus-visible){background:#9fc05220;border-radius:18px}
body.retail summary:is(:hover,:focus-visible){box-shadow:inset 0 -1px #2147e8;color:#2147e8}
body.education summary:is(:hover,:focus-visible){background:linear-gradient(transparent 60%,#eac56944 60%)}
body.music summary:is(:hover,:focus-visible){color:#ed794d;box-shadow:inset 4px 0 #ed794d}
body.software summary:is(:hover,:focus-visible){background:#40745415;outline:1px dashed #407454;outline-offset:0}
