.zmax-page { padding-bottom: 5rem; }
.zmax-hero { border-bottom: 1px solid var(--line); padding-bottom: 2.8rem; }
.zmax-hero__meta { display: flex; flex-wrap: wrap; gap: .55rem 1rem; margin-top: 1.25rem; color: var(--muted); font-size: .76rem; letter-spacing: .08em; text-transform: uppercase; }
.zmax-hero__meta span + span::before { content: "·"; margin-right: 1rem; color: var(--accent); }
.zmax-section { border-bottom: 1px solid var(--line); padding: 2.5rem 0; max-width: 54rem; }
.zmax-copy { max-width: 42rem; color: var(--muted); line-height: 1.9; }
.zmax-facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: .75rem; margin-top: 1.6rem; }
.zmax-fact { border: 1px solid var(--line); padding: 1rem; display: grid; gap: .35rem; }
.zmax-fact strong { color: var(--accent); font-size: .78rem; letter-spacing: .1em; }
.zmax-fact span { color: var(--muted); font-size: .86rem; }
.zmax-downloads { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; margin-top: 1.5rem; }
.zmax-download { border: 1px solid var(--line); padding: 1.1rem 1.2rem; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .8rem; color: var(--fg); text-decoration: none; }
.zmax-download:hover, .zmax-download:focus-visible { border-color: var(--accent); outline: none; }
.zmax-download__label { color: var(--accent); font-size: .72rem; letter-spacing: .12em; }
.zmax-download__title { font-size: .95rem; }
.zmax-download__arrow { color: var(--accent); }
.zmax-links { display: grid; gap: .7rem; margin-top: 1.4rem; }
.zmax-links a { display: flex; justify-content: space-between; border-bottom: 1px solid var(--line); padding: .8rem 0; color: var(--fg); text-decoration: none; }
.zmax-links a:hover, .zmax-links a:focus-visible { color: var(--accent); outline: none; }
.zmax-note { color: var(--muted); font-size: .84rem; line-height: 1.7; margin-top: 1.3rem; }
.z2-stage { margin-top: 2rem; border: 1px solid var(--line-strong); background: #0b0c13; box-shadow: 0 0 0 1px color-mix(in srgb, var(--accent) 14%, transparent); overflow: hidden; }
.z2-stage video, .z2-stage img { display: block; width: 100%; aspect-ratio: 1080 / 598; object-fit: cover; }
.z2-stagecap { display: flex; justify-content: space-between; gap: 1rem; margin-top: .8rem; color: var(--muted); font-size: .68rem; letter-spacing: .12em; }
.z2-buy { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 1.5rem; padding: 1.8rem 0; border-top: 1px solid var(--accent); border-bottom: 1px solid var(--line); }
.z2-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: .45rem .7rem; }
.z2-price b { font-size: 2.4rem; font-weight: 300; letter-spacing: -.02em; color: var(--fg); }
.z2-price s { color: var(--faint); font-size: .95rem; }
.z2-price em { color: var(--accent); font-style: normal; font-size: .72rem; letter-spacing: .12em; }
.z2-cta { display: inline-flex; align-items: baseline; gap: .9rem; padding: .95rem 1.6rem; border: 1px solid var(--accent); color: var(--fg); text-decoration: none; white-space: nowrap; }
.z2-cta:not([aria-disabled="true"]):hover,
.z2-cta:not([aria-disabled="true"]):focus-visible { background: var(--accent); color: #15131c; outline: none; }
.z2-cta span:last-child { font-size: .66rem; letter-spacing: .12em; }
.z2-spec { display: grid; gap: 0; margin-top: 1.4rem; border-top: 1px solid var(--line); }
.z2-spec div { display: flex; justify-content: space-between; gap: 1rem; padding: .7rem 0; border-bottom: 1px solid var(--line); font-size: .88rem; }
.z2-spec dt { color: var(--muted); }
.z2-spec dd { margin: 0; color: var(--fg); text-align: right; }
.z2-provisional { margin: .9rem 0 0; padding-left: .8rem; border-left: 2px solid var(--accent); color: var(--muted); font-size: .78rem; line-height: 1.7; }
.z2-cta[aria-disabled="true"] { cursor: not-allowed; pointer-events: none; }
@media (max-width: 620px) {
  .zmax-facts, .zmax-downloads, .z2-buy { grid-template-columns: 1fr; }
  .zmax-hero__meta span + span::before { margin-right: .7rem; }
  .z2-stagecap { align-items: flex-start; flex-direction: column; gap: .35rem; }
  .z2-spec div { align-items: flex-start; flex-direction: column; gap: .25rem; }
  .z2-spec dd { text-align: left; }
}
