:root{--focus:#f7d86a}
.brand{display:inline-flex;align-items:center;gap:.38rem;white-space:nowrap}
.brand-mark{width:1rem;height:1rem;fill:var(--cyan);filter:drop-shadow(0 0 7px rgba(126,232,255,.45));transition:transform .25s ease}
.brand:hover .brand-mark{transform:rotate(45deg) scale(1.08)}
.nav__links a{position:relative;padding:10px 0}
.nav__links a::after{content:"";position:absolute;left:0;right:100%;bottom:3px;height:2px;background:var(--cyan);transition:right .25s ease}
.nav__links a:hover::after,.nav__links a:focus-visible::after{right:0}
.nav__cta{border-radius:10px;background:var(--violet);border-color:transparent;transition:transform .2s ease,background .2s ease}
.nav__cta:hover{background:#b9a1ff;color:#090d24;transform:translateY(-2px)}
.button:focus-visible,.nav__cta:focus-visible,.ip-button:focus-visible,.nav__links a:focus-visible,.brand:focus-visible{outline:3px solid var(--focus);outline-offset:4px}
.button--light{background:var(--violet);color:#080b1e}
.button--light:hover{background:#b9a1ff}
@media(max-width:520px){.nav{gap:12px}.brand{font-size:.72rem}.nav__cta{font-size:.7rem;padding:10px 12px}.hero__content{padding-top:112px}.hero__actions{margin-top:26px}}
@media(prefers-reduced-motion:reduce){.brand-mark,.nav__links a::after,.nav__cta,.button{transition:none}}
