*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--zp-header-h) + 1rem)}
body{margin:0;background:var(--zp-bg);color:var(--zp-text);font:400 var(--zp-fs-md)/1.6 var(--zp-font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;min-height:100vh;display:flex;flex-direction:column}
img,svg,video{max-width:100%;height:auto;display:block}
h1,h2,h3,h4{font-family:var(--zp-font-display);line-height:1.15;margin:0 0 .5em;letter-spacing:-.02em;text-wrap:balance}
p{margin:0 0 1em}
a{color:var(--zp-cyan);text-underline-offset:.2em}
a:hover{color:#fff}
ul,ol{margin:0;padding:0}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus{outline:none}
:focus-visible{outline:2px solid var(--zp-cyan);outline-offset:3px;border-radius:4px}
::selection{background:var(--zp-violet);color:#fff}

.screen-reader-text{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.zp-skip{position:fixed;left:1rem;top:-5rem;z-index:1000;background:#fff;color:#000;padding:.75rem 1rem;border-radius:var(--zp-r-s);font-weight:600;transition:top .15s}
.zp-skip:focus{top:1rem}
.zp-icon{width:1.25rem;height:1.25rem;flex:none;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.zp-main:focus{outline:none}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
