*,*::before,*::after{box-sizing:border-box;}
body{margin:0;background:var(--surface);color:var(--text);font-family:var(--font-body);font-size:var(--fs-body);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
h1,h2,h3,h4{margin:0;font-weight:400;line-height:1.15;text-wrap:pretty;}
p{margin:0;text-wrap:pretty;}
a{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--evora-sage);transition:color var(--dur-fast) var(--ease);}
a:hover{color:var(--evora-sage-light);}
:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px;}
@keyframes ev-rise{from{opacity:0;transform:translateY(.32em)}to{opacity:1;transform:translateY(0)}}
@keyframes ev-drift{0%{transform:scale(1.06) translate(0,0)}to{transform:scale(1.14) translate(-1.4%,-1.2%)}}
@keyframes ev-blink{0%,50%{opacity:1}50.01%,to{opacity:0}}
@keyframes ev-prompt-in{0%{opacity:0;filter:blur(4px)}to{opacity:1;filter:blur(0)}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
