*,
*::before,
*::after{box-sizing:border-box}
html{color-scheme:dark}
body{margin:0;min-height:100vh;background:var(--grad-ambient);color:var(--zp-bone);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.55;letter-spacing:.2px}
img,svg,video{max-width:100%;display:block}
a{color:inherit}
button,input,textarea,select{font:inherit;color:inherit}
::selection{background:rgba(199,255,0,.25)}

.zp-wrap{position:relative;min-height:100vh;isolation:isolate}
.zp-main{display:block}
.zp-container{width:min(var(--container),100% - 40px);margin-inline:auto}
.zp-section{padding:46px 0}
.zp-section--tight{padding:40px 0}
@media (max-width:680px){.zp-section{padding:34px 0}.zp-section--tight{padding:32px 0}}
.zp-stack{display:grid;gap:var(--space-4)}
.zp-grid{display:grid;gap:var(--space-4)}
.zp-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.zp-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.zp-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}

@media (max-width:992px){
  .zp-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .zp-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:680px){
  .zp-grid-4,.zp-grid-3,.zp-grid-2{grid-template-columns:1fr}
}

.zp-h1{font-size:clamp(2.4rem,5vw,4.6rem);line-height:1.02;letter-spacing:-.04em;margin:0}
.zp-h2{font-size:clamp(1.6rem,3.2vw,2.6rem);line-height:1.1;letter-spacing:-.03em;margin:0}
.zp-h3{font-size:clamp(1.1rem,2.4vw,1.45rem);line-height:1.15;letter-spacing:-.02em;margin:0}
.zp-kicker{font-size:.86rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(235,233,223,.72)}
.zp-muted{color:rgba(235,233,223,.72)}
.zp-micro{font-size:.92rem;color:rgba(235,233,223,.66)}

.zp-surface{background:linear-gradient(180deg,rgba(16,21,20,.86),rgba(11,18,11,.70));border:var(--border-1);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);backdrop-filter:blur(10px)}

.zp-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(199,255,0,.18),transparent)}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.zp-focus:focus-visible,
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible{outline:2px solid rgba(240,255,107,.65);outline-offset:3px;border-radius:10px}

[data-reveal]{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .8s cubic-bezier(.2,.8,.2,1)}
[data-reveal].is-in{opacity:1;transform:translateY(0)}
@media (prefers-reduced-motion:reduce){
  *{animation:none !important;transition:none !important;scroll-behavior:auto !important}
  [data-reveal]{opacity:1;transform:none}
}
