/* Hoozy design-CSS: gegenereerd uit het Claude-ontwerp. Niet handmatig in Elementor nabouwen. */
:root{--hz-bg:#0B0D14;--hz-fg:#F2F4FA;--hz-accent:#5A77FF}
html,body{margin:0;padding:0;background:#0B0D14;color:#F2F4FA;font-family:'Archivo',sans-serif;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}
a{color:#F2F4FA;text-decoration:none}
a:hover{color:#5A77FF}
.hz-root{background: rgb(11, 13, 20); color: rgb(242, 244, 250); min-height: 100vh; overflow-x: clip; position: relative}
.hz-logo{display:inline-block;aspect-ratio:99/23;background:var(--hz-logo) center/contain no-repeat}
@keyframes hz-marquee { 0% { transform: translateX(0px); } 100% { transform: translateX(-50%); } }
@keyframes hz-rise { 0% { transform: translateY(110%); opacity: 0; } 100% { transform: none; opacity: 1; } }
@keyframes hz-scroll { 0% { transform: scaleY(0); transform-origin: center top; } 50% { transform: scaleY(1); transform-origin: center top; } 51% { transform-origin: center bottom; } 100% { transform: scaleY(0); transform-origin: center bottom; } }
@keyframes hz-pulse { 0%, 100% { transform: scale(1); opacity: 0.6; } 50% { transform: scale(1.5); opacity: 0; } }
@keyframes hz-spin { 100% { transform: rotate(360deg); } }
@keyframes hz-drift { 0% { transform: translate(0px, 0px) scale(1); } 50% { transform: translate(10vw, -10vh) scale(1.2); } 100% { transform: translate(-8vw, 8vh) scale(0.9); } }
@keyframes hz-scan { 0% { transform: translateY(0px); opacity: 0; } 10% { opacity: 1; } 90% { opacity: 1; } 100% { transform: translateY(160px); opacity: 0; } }
@keyframes hz-sheen { 0% { transform: translateX(-140%) skewX(-20deg); } 100% { transform: translateX(240%) skewX(-20deg); } }
@keyframes hz-float { 0%, 100% { transform: translateY(0px) rotate(-2deg); } 50% { transform: translateY(-14px) rotate(2deg); } }
@keyframes hz-dash { 100% { stroke-dashoffset: 0; } }
@keyframes hz-ring { 0% { transform: scale(0.6); opacity: 0.9; } 100% { transform: scale(1.8); opacity: 0; } }
@keyframes hz-eq { 0% { transform: scaleY(0.15); } 100% { transform: scaleY(1); } }
@keyframes hz-beam { 0% { transform: translateX(-60%) skewX(-18deg); opacity: 0.3; } 50% { transform: translateX(40%) skewX(-18deg); opacity: 1; } 100% { transform: translateX(-60%) skewX(-18deg); opacity: 0.3; } }
@keyframes hz-aurora { 0% { transform: translate(-6%, -4%) scale(1); } 50% { transform: translate(6%, 6%) scale(1.18); } 100% { transform: translate(-6%, -4%) scale(1); } }
@keyframes hz-sweep { 0% { transform: translateY(-2%); } 100% { transform: translateY(102%); } }
@keyframes hz-prog { 0% { transform: scaleX(0); } 100% { transform: scaleX(1); } }
@keyframes hz-glint { 0% { transform: translateX(-120%) skewX(-18deg); } 60%, 100% { transform: translateX(320%) skewX(-18deg); } }
@keyframes hz-blink { 0%, 49% { opacity: 1; } 50%, 100% { opacity: 0; } }
@keyframes hz-bob { 0% { transform: translateY(0px) rotate(-1deg); } 100% { transform: translateY(-16px) rotate(1deg); } }
.z0.z0.z0.z0{position: sticky; top: 0px; z-index: 20; display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding: 20px clamp(20px, 4vw, 56px); background: rgba(11, 13, 20, 0.92); border-bottom: 1px solid rgba(242, 244, 250, 0.08)}
.z1.z1{display: inline-flex; align-items: center; gap: 12px}
.z2.z2{width: 8px; height: 8px; border-radius: 50%; background: rgb(90, 119, 255); display: inline-block; position: relative}
.z3.z3{position: absolute; inset: 0px; border-radius: 50%; background: rgb(90, 119, 255); animation: 2.4s ease-out 0s infinite normal none running hz-pulse}
.z4.z4{height: 26px; width: auto; display: block}
.z5.z5{display: flex; gap: clamp(16px, 3vw, 36px); flex-wrap: wrap; font-family: "IBM Plex Mono", monospace; font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase}
.z6.z6{color: rgb(242, 244, 250); border-bottom: 1px solid rgb(90, 119, 255); padding-bottom: 2px}
.z7.z7{color: rgb(169, 175, 194); transition: color 0.2s}
.z8.z8 .elementor-button{all:unset;box-sizing:border-box;cursor:pointer;font-family: "IBM Plex Mono", monospace; font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; padding: 12px 18px; border: 1px solid rgb(242, 244, 250); color: rgb(242, 244, 250); transition: background 0.25s, color 0.25s, transform 0.35s cubic-bezier(0.2, 0.7, 0.2, 1); display: inline-block}
.z9.z9.z9.z9{position: relative; min-height: min(100vh, 1040px); display: grid; grid-template-rows: 1fr auto; overflow: hidden}
.za.za.za.za{position: absolute; inset: -12% 0px; will-change: transform; transform: translate3d(0px, 0px, 0px)}
.zb.zb img{max-width:none;height:auto;border:none;border-radius:0;box-shadow:none;vertical-align:baseline;display:inline;width: 100%; height: 100%; object-fit: cover; object-position: center 40%; transform: scale(1.15); transform-origin: center center; opacity: 0.26}
.zc.zc{position: absolute; inset: 0px; background: linear-gradient(rgba(11, 13, 20, 0.7) 0%, rgba(11, 13, 20, 0.45) 30%, rgba(11, 13, 20, 0.8) 62%, rgba(11, 13, 20, 0.98) 85%, rgb(11, 13, 20) 100%)}
.zd.zd{position: absolute; inset: -6%; overflow: hidden; pointer-events: none; transition: transform 0.8s cubic-bezier(0.2, 0.7, 0.2, 1); will-change: transform}
.ze.ze{position: absolute; width: 70vmax; height: 70vmax; left: 35%; top: -25vmax; border-radius: 50%; background: radial-gradient(circle, rgba(90, 119, 255, 0.38) 0%, rgba(11, 13, 20, 0) 70%); animation: 24s ease-in-out 0s infinite normal none running hz-aurora; will-change: transform}
.zf.zf{position: absolute; width: 48vmax; height: 48vmax; left: -16vmax; top: 30%; border-radius: 50%; background: radial-gradient(circle, rgba(40, 60, 170, 0.5) 0%, rgba(11, 13, 20, 0) 70%); animation: 29s ease-in-out -9s infinite normal none running hz-aurora; will-change: transform}
.zg.zg{position: absolute; width: 38vmax; height: 38vmax; left: 58%; top: 50%; border-radius: 50%; background: radial-gradient(circle, rgba(159, 180, 255, 0.18) 0%, rgba(11, 13, 20, 0) 70%); animation: 21s ease-in-out -15s infinite normal none running hz-aurora; will-change: transform}
.zh.zh{position: absolute; width: 118vmax; height: 118vmax; left: calc(62% - 59vmax); top: calc(52% - 59vmax); border-radius: 50%; background: conic-gradient(transparent 0deg, rgba(242, 244, 250, 0.9) 28deg, transparent 60deg, transparent 180deg, rgb(90, 119, 255) 210deg, transparent 252deg); mask-image: radial-gradient(circle, transparent 63.6%, rgb(0, 0, 0) 63.85%, rgb(0, 0, 0) 65%, transparent 65.25%); mix-blend-mode: screen; animation: 44s linear 0s infinite reverse none running hz-spin; will-change: transform; opacity: 0.85}
.zi.zi{position: absolute; width: 90vmax; height: 90vmax; left: calc(68% - 45vmax); top: calc(58% - 45vmax); border-radius: 50%; background: conic-gradient(from 90deg, transparent 0deg, rgb(90, 119, 255) 40deg, rgba(159, 180, 255, 0.9) 70deg, transparent 112deg, transparent 240deg, rgba(242, 244, 250, 0.7) 270deg, transparent 300deg); mask-image: radial-gradient(circle, transparent 63.4%, rgb(0, 0, 0) 63.65%, rgb(0, 0, 0) 65.4%, transparent 65.65%); mix-blend-mode: screen; animation: 32s linear 0s infinite normal none running hz-spin; will-change: transform; opacity: 0.8}
.zj.zj{position: absolute; width: 58vmax; height: 58vmax; left: calc(58% - 29vmax); top: calc(46% - 29vmax); border-radius: 50%; background: conic-gradient(from 200deg, transparent 0deg, rgba(242, 244, 250, 0.9) 50deg, transparent 100deg, rgba(90, 119, 255, 0.9) 300deg, transparent 340deg); mask-image: radial-gradient(circle, transparent 63%, rgb(0, 0, 0) 63.25%, rgb(0, 0, 0) 64.6%, transparent 64.85%); mix-blend-mode: screen; animation: 54s linear 0s infinite reverse none running hz-spin; will-change: transform; opacity: 0.6}
.zk.zk{position: fixed; left: 0px; top: 0px; width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(90, 119, 255, 0.9); box-shadow: rgba(90, 119, 255, 0.35) 0px 0px 18px, rgba(90, 119, 255, 0.15) 0px 0px 12px inset; pointer-events: none; z-index: 26; opacity: 0; transition: opacity 0.3s; will-change: transform}
.zl.zl{position: absolute; left: 50%; top: 50%; width: 4px; height: 4px; margin: -2px 0px 0px -2px; border-radius: 50%; background: rgb(242, 244, 250)}
.zm.zm{position: absolute; inset: 0px; pointer-events: none; background: radial-gradient(600px at 50% 60%, rgba(90, 119, 255, 0.16), rgba(90, 119, 255, 0) 70%)}
.zn.zn{position: absolute; inset: 0px; pointer-events: none; background-image: linear-gradient(rgba(242, 244, 250, 0.05) 1px, transparent 1px), linear-gradient(90deg, rgba(242, 244, 250, 0.05) 1px, transparent 1px); background-size: clamp(48px, 6vw, 96px) clamp(48px, 6vw, 96px); mask-image: radial-gradient(at 60% 40%, rgb(0, 0, 0) 20%, transparent 75%)}
.zo.zo.zo.zo{position: relative; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 460px), 1fr)); gap: clamp(32px, 5vw, 80px); align-items: center; padding: clamp(100px, 15vh, 170px) clamp(20px, 4vw, 56px) 40px}
.zp.zp.zp.zp{display: flex; flex-direction: column; gap: clamp(22px, 3vh, 34px)}
.zq.zq{font-family: "IBM Plex Mono", monospace; font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; display: flex; align-items: center; gap: 12px}
.zr.zr{color: rgb(90, 119, 255)}
.zs.zs{display: inline-block; width: 7px; height: 12px; background: rgb(90, 119, 255); animation: 1.1s steps(1) 0s infinite normal none running hz-blink}
.zt.zt{margin: 0px; font-weight: 800; font-size: clamp(44px, 6.8vw, 118px); line-height: 0.92; letter-spacing: -0.035em; text-transform: uppercase}
.zu.zu{display: inline-block; overflow: hidden; vertical-align: bottom; padding-bottom: 0.06em; margin-bottom: -0.06em}
.zv.zv{display: inline-block}
.zw.zw{display: inline-block; overflow: hidden; vertical-align: bottom; padding-bottom: 0.06em; margin-bottom: -0.06em; position: relative}
.zx.zx{display: inline-block; color: rgb(90, 119, 255); min-width: 6.2ch; text-align: left}
.zy.zy{position: absolute; left: -0.02em; right: 0.1em; top: 47%; height: 0.075em; background: rgb(242, 244, 250); transform: scaleX(0); transform-origin: left center; pointer-events: none}
.zz.zz p{color:inherit;font-family:inherit;margin: 0px; max-width: 460px; font-size: clamp(16px, 1.3vw, 19px); line-height: 1.5; color: rgb(211, 216, 230); text-wrap: pretty}
.z10.z10.z10.z10{display: flex; gap: 14px; flex-wrap: wrap; align-items: center}
.z11.z11 .elementor-button{all:unset;box-sizing:border-box;cursor:pointer;font-family: "IBM Plex Mono", monospace; font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; white-space: nowrap; padding: 16px 24px; background: rgb(242, 244, 250); color: rgb(11, 13, 20); display: inline-block; transition: background 0.25s, color 0.25s, transform 0.35s cubic-bezier(0.2, 0.7, 0.2, 1)}
.z12.z12 .elementor-button{all:unset;box-sizing:border-box;cursor:pointer;font-family: "IBM Plex Mono", monospace; font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; white-space: nowrap; padding: 16px 24px; border: 1px solid rgba(242, 244, 250, 0.35); color: rgb(242, 244, 250); display: inline-block; transition: border-color 0.25s, transform 0.35s cubic-bezier(0.2, 0.7, 0.2, 1)}
.z13.z13{display: flex; justify-content: center; perspective: 1200px; padding: 40px 0px}
.z14.z14{position: relative; width: min(280px, 64vw); aspect-ratio: 3 / 4.3; transform-style: preserve-3d; transition: transform 0.7s cubic-bezier(0.2, 0.7, 0.2, 1); will-change: transform}
.z15.z15{position: absolute; inset: 0px; transform-style: preserve-3d}
.z16.z16{position: absolute; left: 50%; bottom: 79%; height: 70vh; width: 7px; margin-left: -3.5px; background: linear-gradient(rgba(30, 26, 24, 0) 0%, rgb(30, 34, 48) 40%, rgb(42, 46, 60) 100%); border-radius: 3px}
.z17.z17{position: absolute; left: 50%; bottom: 76.5%; width: 24px; height: 24px; margin-left: -12px; border-radius: 50%; border: 3px solid rgb(46, 51, 66); box-shadow: rgba(0, 0, 0, 0.6) 0px 2px 6px}
.z18.z18{position: absolute; left: 50%; top: 0px; width: 54%; height: 62%; margin-left: -27%; border-radius: 20px; background: linear-gradient(rgb(42, 46, 60), rgb(20, 23, 34)); border: 1px solid rgba(242, 244, 250, 0.22); transform: translateY(-14%); box-shadow: rgba(0, 0, 0, 0.5) 0px 20px 40px; will-change: transform}
.z19.z19{position: absolute; inset: 7px; border-radius: 15px; background: linear-gradient(160deg, rgb(242, 244, 250) 0%, rgb(90, 119, 255) 50%, rgb(27, 35, 82) 100%); opacity: 0.14}
.z1a.z1a{position: absolute; top: 13px; left: 50%; width: 38px; height: 6px; margin-left: -19px; border-radius: 3px; background: rgb(11, 13, 20)}
.z1b.z1b{position: absolute; left: 0px; right: 0px; bottom: 0px; height: 78%; border-radius: 28px 28px 34px 34px; background: linear-gradient(160deg, rgb(35, 40, 56) 0%, rgb(18, 21, 31) 55%, rgb(26, 30, 43) 100%); border: 1px solid rgba(242, 244, 250, 0.18); box-shadow: rgba(0, 0, 0, 0.65) 0px 50px 90px, rgba(242, 244, 250, 0.08) 0px 1px 0px inset; overflow: hidden}
.z1c.z1c{position: absolute; inset: 0px; background-image: radial-gradient(rgba(242, 244, 250, 0.07) 0.6px, transparent 0.8px); background-size: 4px 4px}
.z1d.z1d{position: absolute; inset: 10px; border-radius: 22px 22px 28px 28px; border: 1px dashed rgba(242, 244, 250, 0.18)}
.z1e.z1e{position: absolute; left: 0px; right: 0px; top: 0px; height: 27%; border-bottom: 1px solid rgba(242, 244, 250, 0.12); background: linear-gradient(rgba(242, 244, 250, 0.05), rgba(242, 244, 250, 0))}
.z1f.z1f{position: absolute; left: 50%; top: 9%; width: 22px; height: 22px; margin-left: -11px; border-radius: 50%; background: radial-gradient(circle at 35% 35%, rgb(58, 63, 80), rgb(10, 12, 18)); border: 1px solid rgba(242, 244, 250, 0.25)}
.z1g.z1g{position: absolute; inset: -6px; border-radius: 50%; border: 1px solid rgba(90, 119, 255, 0.8); animation: 2.6s ease-out 0s infinite normal none running hz-pulse}
.z1h.z1h{position: absolute; left: 0px; right: 0px; bottom: 9%; text-align: center; font-weight: 700; font-size: clamp(26px, 2.4vw, 34px); letter-spacing: 0.14em; color: rgb(242, 244, 250); text-shadow: rgba(90, 119, 255, 0.35) 0px 0px 24px}
.z1i.z1i{position: absolute; right: -18%; top: 30%; padding: 10px 14px; background: rgba(11, 13, 20, 0.92); border: 1px solid rgba(242, 244, 250, 0.18); font-family: "IBM Plex Mono", monospace; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: rgb(242, 244, 250); display: flex; gap: 10px; align-items: center; white-space: nowrap; transform: translateZ(70px)}
.z1j.z1j{width: 7px; height: 7px; border-radius: 50%; background: rgb(90, 119, 255); box-shadow: rgb(90, 119, 255) 0px 0px 12px}
.z1k.z1k{position: absolute; left: -16%; bottom: 36%; padding: 10px 14px; background: rgba(11, 13, 20, 0.92); border: 1px solid rgba(242, 244, 250, 0.18); font-family: "IBM Plex Mono", monospace; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: rgb(169, 175, 194); white-space: nowrap; transform: translateZ(50px)}
.z1l.z1l{position: relative; display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; padding: 28px clamp(20px, 4vw, 56px); border-top: 1px solid rgba(242, 244, 250, 0.1); font-family: "IBM Plex Mono", monospace; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: rgb(124, 130, 150)}
.z1m.z1m{display: inline-flex; align-items: center; gap: 14px}
.z1n.z1n{width: 1px; height: 36px; background: rgb(90, 119, 255); display: inline-block; animation: 2.2s cubic-bezier(0.65, 0, 0.35, 1) 0s infinite normal none running hz-scroll}
.z1o.z1o{border-top: 1px solid rgba(242, 244, 250, 0.1); border-bottom: 1px solid rgba(242, 244, 250, 0.1); padding: 22px 0px; overflow: hidden}
.z1p.z1p{display: flex; width: max-content; animation: 40s linear 0s infinite normal none running hz-marquee; will-change: transform}
.z1q.z1q{display: inline-flex; flex-shrink: 0}
.z1r.z1r{display: inline-flex; align-items: center; gap: 28px; padding-right: 28px; font-weight: 700; font-size: clamp(24px, 2.6vw, 40px); letter-spacing: -0.02em; white-space: nowrap; color: rgb(242, 244, 250)}
.z1s.z1s{color: rgb(90, 119, 255); font-weight: 400}
.z1t.z1t{display: inline-flex; align-items: center; gap: 28px; padding-right: 28px; font-weight: 700; font-size: clamp(24px, 2.6vw, 40px); letter-spacing: -0.02em; white-space: nowrap; color: rgb(124, 130, 150)}
.z1u.z1u.z1u.z1u{position: relative; overflow: hidden; padding: clamp(80px, 10vw, 150px) clamp(20px, 4vw, 56px); border-top: 1px solid rgba(242, 244, 250, 0.08)}
.z1v.z1v{position: absolute; inset: 0px; pointer-events: none; background: radial-gradient(60% 70% at 85% -10%, rgba(90, 119, 255, 0.28), rgba(90, 119, 255, 0) 60%), radial-gradient(40% 50% at 10% 110%, rgba(159, 180, 255, 0.12), rgba(159, 180, 255, 0) 60%)}
.z1w.z1w{position: absolute; inset: 0px; overflow: hidden; pointer-events: none}
.z1x.z1x{position: absolute; top: -20%; bottom: -20%; left: 58%; width: 22%; background: linear-gradient(90deg, rgba(200, 212, 255, 0), rgba(200, 212, 255, 0.06) 25%, rgba(200, 212, 255, 0.16) 45%, rgba(90, 119, 255, 0.14) 60%, rgba(200, 212, 255, 0.05) 80%, rgba(200, 212, 255, 0)); animation: 9s ease-in-out 0s infinite normal none running hz-beam; will-change: transform}
.z1y.z1y{position: absolute; top: -20%; bottom: -20%; left: 78%; width: 10%; background: linear-gradient(90deg, rgba(200, 212, 255, 0), rgba(200, 212, 255, 0.08) 30%, rgba(200, 212, 255, 0.2) 50%, rgba(200, 212, 255, 0.08) 70%, rgba(200, 212, 255, 0)); animation: 12s ease-in-out -4s infinite normal none running hz-beam; will-change: transform}
.z1z.z1z{position: absolute; top: -20%; bottom: -20%; left: 30%; width: 8%; background: linear-gradient(90deg, rgba(90, 119, 255, 0), rgba(90, 119, 255, 0.07) 30%, rgba(90, 119, 255, 0.16) 50%, rgba(90, 119, 255, 0.07) 70%, rgba(90, 119, 255, 0)); animation: 15s ease-in-out -7s infinite normal none running hz-beam; will-change: transform}
.z20.z20{position: absolute; inset: 0px; width: 100%; height: 100%; pointer-events: none}
.z21.z21.z21.z21{position: relative}
.z22.z22.z22.z22{display: grid; grid-template-columns: minmax(0px, 1fr) minmax(0px, 2fr); gap: clamp(24px, 4vw, 64px); margin-bottom: clamp(40px, 5vw, 72px)}
.z23.z23{font-family: "IBM Plex Mono", monospace; font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: rgb(90, 119, 255)}
.z24.z24.z24.z24{display: flex; flex-direction: column; gap: 20px}
.z25.z25 .elementor-heading-title{color:inherit;font-family:inherit;padding:0;margin:0;margin: 0px; font-weight: 700; font-size: clamp(32px, 4.2vw, 64px); line-height: 1; letter-spacing: -0.03em; text-wrap: balance}
.z26.z26 p{color:inherit;font-family:inherit;margin: 0px; max-width: 520px; color: rgb(169, 175, 194); line-height: 1.55; font-size: 16px; text-wrap: pretty}
.z27.z27{display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)); gap: 1px; background: rgba(242, 244, 250, 0.14); border: 1px solid rgba(242, 244, 250, 0.14)}
.z28.z28{position: relative; overflow: hidden; min-height: clamp(540px, 62vh, 700px); display: flex; flex-direction: column; justify-content: space-between; gap: 48px; padding: clamp(24px, 3vw, 40px); background: rgba(11, 13, 20, 0.78); color: rgb(242, 244, 250); transition: background 0.5s}
.z29.z29{position: absolute; inset: -6%; width: 112%; height: 112%; object-fit: cover; opacity: 0.24; transition: opacity 0.8s}
.z2a.z2a{position: absolute; inset: 0px; background: linear-gradient(rgba(11, 13, 20, 0) 0%, rgba(11, 13, 20, 0.88) 70%)}
.z2b.z2b{position: absolute; inset: 0px; opacity: 0; transition: opacity 0.5s; background: radial-gradient(420px, rgba(90, 119, 255, 0.22), rgba(90, 119, 255, 0) 70%); pointer-events: none}
.z2c.z2c{position: absolute; top: -20%; bottom: -20%; left: 0px; width: 34%; background: linear-gradient(90deg, rgba(242, 244, 250, 0), rgba(242, 244, 250, 0.12), rgba(242, 244, 250, 0)); transform: translateX(-140%) skewX(-20deg); pointer-events: none}
.z2d.z2d{position: absolute; right: 16px; top: -14px; font-weight: 800; font-size: clamp(180px, 22vw, 320px); line-height: 1; color: transparent; -webkit-text-stroke: 1px rgba(242, 244, 250, 0.22); user-select: none; pointer-events: none; transition: color 0.6s, -webkit-text-stroke-color 0.6s}
.z2e.z2e{position: relative; display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; font-family: "IBM Plex Mono", monospace; font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: rgb(124, 130, 150)}
.z2f.z2f{display: flex; flex-direction: column; gap: 14px}
.z2g.z2g{display: flex; align-items: center; gap: 14px}
.z2h.z2h{position: relative; width: 44px; height: 44px; display: grid; place-items: center}
.z2i.z2i{position: absolute; inset: 0px; border-radius: 50%; border: 1px solid rgba(90, 119, 255, 0.9); animation: 2.4s ease-out 0s infinite normal none running hz-ring}
.z2j.z2j{position: absolute; inset: 0px; border-radius: 50%; border: 1px solid rgba(90, 119, 255, 0.9); animation: 2.4s ease-out -1.2s infinite normal none running hz-ring}
.z2k.z2k{display: flex; align-items: flex-end; gap: 3px; height: 20px}
.z2l.z2l{width: 3px; height: 100%; background: rgb(90, 119, 255); transform-origin: center bottom; animation: 0.7s ease-in-out 0s infinite alternate none running hz-eq}
.z2m.z2m{width: 3px; height: 100%; background: rgb(242, 244, 250); transform-origin: center bottom; animation: 0.83s ease-in-out -0.2s infinite alternate none running hz-eq}
.z2n.z2n{width: 3px; height: 100%; background: rgb(90, 119, 255); transform-origin: center bottom; animation: 0.96s ease-in-out -0.4s infinite alternate none running hz-eq}
.z2o.z2o{width: 3px; height: 100%; background: rgb(242, 244, 250); transform-origin: center bottom; animation: 1.09s ease-in-out -0.6s infinite alternate none running hz-eq}
.z2p.z2p{width: 3px; height: 100%; background: rgb(90, 119, 255); transform-origin: center bottom; animation: 1.22s ease-in-out -0.8s infinite alternate none running hz-eq}
.z2q.z2q{color: rgb(242, 244, 250)}
.z2r.z2r{color: rgb(90, 119, 255); padding: 6px 10px; border: 1px solid rgba(90, 119, 255, 0.5)}
.z2s.z2s{position: relative; display: flex; flex-direction: column; gap: 22px}
.z2t.z2t{margin: 0px; font-weight: 700; font-size: clamp(28px, 3vw, 46px); line-height: 1; letter-spacing: -0.03em; text-wrap: balance; max-width: 14ch}
.z2u.z2u{margin: 0px; max-width: 440px; color: rgb(169, 175, 194); line-height: 1.55; font-size: 16px; text-wrap: pretty}
.z2v.z2v{position: relative; display: flex; flex-direction: column; border-bottom: 1px solid rgba(242, 244, 250, 0.12); overflow: hidden}
.z2w.z2w{position: absolute; left: 0px; right: 0px; height: 1px; top: 0px; background: linear-gradient(90deg, rgba(90, 119, 255, 0), rgb(90, 119, 255), rgba(90, 119, 255, 0)); animation: 4s ease-in-out 0s infinite normal none running hz-scan; pointer-events: none}
.z2x.z2x{display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 12px 0px; border-top: 1px solid rgba(242, 244, 250, 0.12); font-family: "IBM Plex Mono", monospace; font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase}
.z2y.z2y{color: rgb(169, 175, 194)}
.z2z.z2z{display: inline-flex; align-items: center; gap: 10px; color: rgb(242, 244, 250)}
.z30.z30{position: relative; width: 6px; height: 6px; border-radius: 50%; background: rgb(90, 119, 255); box-shadow: rgb(90, 119, 255) 0px 0px 10px}
.z31.z31{position: absolute; inset: -4px; border-radius: 50%; border: 1px solid rgba(90, 119, 255, 0.8); animation: 2.2s ease-out 0s infinite normal none running hz-pulse}
.z32.z32{display: inline-flex; align-items: center; gap: 12px; font-family: "IBM Plex Mono", monospace; font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: rgb(242, 244, 250)}
.z33.z33{display: inline-block; color: rgb(90, 119, 255); transition: transform 0.4s cubic-bezier(0.2, 0.7, 0.2, 1)}
.z34.z34{position: relative; width: 44px; height: 44px}
.z35.z35{position: absolute; inset: 0px; border-radius: 50%; border: 1px dashed rgba(242, 244, 250, 0.7); animation: 8s linear 0s infinite normal none running hz-spin}
.z36.z36{position: absolute; inset: 7px; border-radius: 50%; border-width: 2px; border-style: solid; border-color: rgb(90, 119, 255) transparent transparent rgb(90, 119, 255); border-image: initial; animation: 3s linear 0s infinite reverse none running hz-spin}
.z37.z37{position: absolute; left: 50%; top: 50%; width: 8px; height: 8px; margin: -4px 0px 0px -4px; border-radius: 50%; background: rgb(90, 119, 255); box-shadow: rgb(90, 119, 255) 0px 0px 14px}
.z38.z38{color: rgb(124, 130, 150); padding: 6px 10px; border: 1px solid rgba(242, 244, 250, 0.2)}
.z39.z39{display: inline-flex; align-items: center; gap: 10px; color: rgb(124, 130, 150)}
.z3a.z3a{position: relative; width: 6px; height: 6px; border-radius: 50%; background: rgba(242, 244, 250, 0.25); box-shadow: none}
.z3b.z3b.z3b.z3b{position: relative; padding: 0px clamp(20px, 4vw, 56px) 14vh; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)); gap: clamp(32px, 5vw, 96px); overflow: clip; align-items: start}
.z3c.z3c{position: absolute; inset: 0px; pointer-events: none; background: radial-gradient(55% 45% at 25% 40%, rgba(90, 119, 255, 0.24), rgba(90, 119, 255, 0) 60%), radial-gradient(40% 30% at 80% 85%, rgba(159, 180, 255, 0.12), rgba(159, 180, 255, 0) 60%)}
.z3d.z3d{position: absolute; inset: 0px; pointer-events: none}
.z3e.z3e{position: sticky; top: 0px; display: block; width: 100%; height: 100vh}
.z3f.z3f{position: absolute; inset: 0px; pointer-events: none; background: linear-gradient(rgb(11, 13, 20) 0%, rgba(11, 13, 20, 0) 12%, rgba(11, 13, 20, 0) 88%, rgb(11, 13, 20) 100%)}
.z3g.z3g{position: sticky; top: 0px; height: 100vh; display: flex; align-items: center; justify-content: center; align-self: stretch}
.z3h.z3h{position: relative; width: 260px; height: 460px}
.z3i.z3i{position: absolute; inset: auto -40% -20%; height: 70%; background: radial-gradient(at 50% 100%, rgba(90, 119, 255, 0.4), rgba(90, 119, 255, 0) 60%); transition: opacity 0.6s}
.z3j.z3j{position: absolute; left: 50%; top: 0px; width: 150px; height: 300px; margin-left: -75px; border-radius: 26px; background: linear-gradient(rgb(42, 46, 60), rgb(20, 23, 34)); border: 1px solid rgba(242, 244, 250, 0.22); transform: translateY(-220px); will-change: transform; z-index: 1; box-shadow: rgba(0, 0, 0, 0.5) 0px 20px 40px}
.z3k.z3k{position: absolute; inset: 8px; border-radius: 20px; background: linear-gradient(160deg, rgb(242, 244, 250) 0%, rgb(90, 119, 255) 45%, rgb(27, 35, 82) 100%); opacity: 0.95; box-shadow: rgba(90, 119, 255, 0.6) 0px 0px 60px; overflow: hidden}
.z3l.z3l{position: absolute; inset: 38px 14px 14px; background-image: radial-gradient(circle, rgba(11, 13, 20, 0.55) 9px, transparent 10px); background-size: 33px 33px; background-position: center center}
.z3m.z3m{position: absolute; top: 14px; left: 50%; width: 46px; height: 7px; margin-left: -23px; border-radius: 4px; background: rgb(11, 13, 20)}
.z3n.z3n{position: absolute; top: 13px; left: 50%; margin-left: 12px; width: 8px; height: 8px; border-radius: 50%; background: rgb(10, 8, 8); border: 1px solid rgba(242, 244, 250, 0.3); box-shadow: rgba(107, 134, 255, 0.6) 0px 0px 3px inset}
.z3o.z3o{position: absolute; left: 50%; bottom: 0px; width: 200px; height: 350px; margin-left: -100px; border-radius: 24px 24px 30px 30px; background: rgba(22, 18, 16, 0.78); border: 1px solid rgba(242, 244, 250, 0.16); box-shadow: rgba(0, 0, 0, 0.5) 0px 30px 60px, rgba(242, 244, 250, 0.08) 0px 1px 0px inset; z-index: 2; overflow: hidden}
.z3p.z3p{position: absolute; inset: 0px; background-image: radial-gradient(rgba(242, 244, 250, 0.06) 0.6px, transparent 0.8px); background-size: 4px 4px}
.z3q.z3q{position: absolute; left: 0px; right: 0px; top: 0px; height: 29%; background: linear-gradient(rgb(34, 38, 54), rgb(18, 21, 31)); border-bottom: 1px solid rgba(242, 244, 250, 0.14); display: flex; flex-direction: column; align-items: center; justify-content: space-between; padding: 20px 0px 12px; transition: box-shadow 0.6s}
.z3r.z3r{position: relative; width: 20px; height: 20px; border-radius: 50%; background: radial-gradient(circle at 35% 35%, rgb(58, 63, 80), rgb(10, 12, 18)); border: 1px solid rgba(242, 244, 250, 0.25)}
.z3s.z3s{position: absolute; inset: -6px; border-radius: 50%; border: 1px solid rgba(90, 119, 255, 0); transition: border-color 0.5s}
.z3t.z3t{font-family: "IBM Plex Mono", monospace; font-size: 9px; letter-spacing: 0.22em; text-transform: uppercase; color: rgb(124, 130, 150); transition: color 0.5s}
.z3u.z3u{position: absolute; inset: 33% 16px 22%; border-radius: 14px; border: 1px solid rgba(242, 244, 250, 0.22); background: linear-gradient(160deg, rgba(242, 244, 250, 0.1), rgba(242, 244, 250, 0.03))}
.z3v.z3v{position: absolute; inset: 9px; border-radius: 17px 17px 23px 23px; border: 1px dashed rgba(242, 244, 250, 0.16); pointer-events: none}
.z3w.z3w{position: absolute; left: 0px; right: 0px; bottom: 7%; text-align: center; font-weight: 700; font-size: 26px; letter-spacing: 0.14em; color: rgb(242, 244, 250); transition: color 0.4s, text-shadow 0.4s}
.z3x.z3x{position: absolute; left: 50%; bottom: -52px; transform: translateX(-50%); font-family: "IBM Plex Mono", monospace; font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: rgb(124, 130, 150); white-space: nowrap; display: flex; align-items: center; gap: 10px}
.z3y.z3y{width: 6px; height: 6px; border-radius: 50%; background: rgb(242, 244, 250); transition: background 0.4s, box-shadow 0.4s}
.z3z.z3z.z3z.z3z{display: flex; flex-direction: column}
.z40.z40.z40.z40{position: relative; padding: clamp(60px, 10vh, 100px) 0px 0px}
.z41.z41{font-family: "IBM Plex Mono", monospace; font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: rgb(90, 119, 255); margin-bottom: 24px}
.z42.z42.z42.z42{position: relative; min-height: 72vh; display: flex; flex-direction: column; justify-content: center; gap: 18px; transition: opacity 0.5s, transform 0.5s}
.z43.z43{font-family: "IBM Plex Mono", monospace; font-size: 12px; letter-spacing: 0.12em; color: rgb(124, 130, 150)}
.z44.z44 .elementor-heading-title{color:inherit;font-family:inherit;padding:0;margin:0;margin: 0px; font-weight: 700; font-size: clamp(28px, 3vw, 44px); letter-spacing: -0.02em; line-height: 1.05}
.z45.z45 p{color:inherit;font-family:inherit;margin: 0px; max-width: 460px; color: rgb(169, 175, 194); line-height: 1.55; font-size: 17px; text-wrap: pretty}
.z46.z46.z46.z46{position: relative; padding: clamp(80px, 10vw, 150px) clamp(20px, 4vw, 56px); border-top: 1px solid rgba(242, 244, 250, 0.1); display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr)); gap: clamp(40px, 5vw, 96px); align-items: center}
.z47.z47{position: relative; aspect-ratio: 3 / 2; overflow: hidden; background: rgb(18, 21, 31)}
.z48.z48{position: absolute; inset: -5%; will-change: transform; transform: translate3d(0px, 15px, 0px)}
.z49.z49{position: absolute; inset: 0px; width: 100%; height: 100%; object-fit: cover}
.z4a.z4a{position: absolute; inset: 0px; background: linear-gradient(160deg, rgba(40, 60, 170, 0.28), rgba(11, 13, 20, 0.55))}
.z4b.z4b{position: absolute; left: 52%; top: 40%; transform: translate(-50%, -50%); display: flex; align-items: center; gap: 12px; pointer-events: none; opacity: 1; transition: opacity 0.5s}
.z4c.z4c{position: relative; width: 14px; height: 14px; border-radius: 50%; background: rgb(90, 119, 255); box-shadow: rgba(90, 119, 255, 0.25) 0px 0px 0px 4px, rgb(90, 119, 255) 0px 0px 18px; flex-shrink: 0}
.z4d.z4d{position: absolute; inset: -10px; border-radius: 50%; border: 1px solid rgb(90, 119, 255); animation: 1.8s ease-out 0s infinite normal none running hz-pulse}
.z4e.z4e{padding: 8px 12px; background: rgba(11, 13, 20, 0.92); border: 1px solid rgba(90, 119, 255, 0.6); font-family: "IBM Plex Mono", monospace; font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: rgb(242, 244, 250); white-space: nowrap; transform: translateX(0px); transition: transform 0.5s cubic-bezier(0.2, 0.7, 0.2, 1)}
.z4f.z4f{position: absolute; left: 61%; top: 22%; transform: translate(-50%, -50%); display: flex; align-items: center; gap: 12px; pointer-events: none; opacity: 0; transition: opacity 0.5s}
.z4g.z4g{padding: 8px 12px; background: rgba(11, 13, 20, 0.92); border: 1px solid rgba(90, 119, 255, 0.6); font-family: "IBM Plex Mono", monospace; font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: rgb(242, 244, 250); white-space: nowrap; transform: translateX(-10px); transition: transform 0.5s cubic-bezier(0.2, 0.7, 0.2, 1)}
.z4h.z4h{position: absolute; left: 50%; top: 60%; transform: translate(-50%, -50%); display: flex; align-items: center; gap: 12px; pointer-events: none; opacity: 0; transition: opacity 0.5s}
.z4i.z4i{position: absolute; inset: 0px; pointer-events: none; overflow: hidden}
.z4j.z4j{position: absolute; left: 0px; right: 0px; top: 0px; height: 100%; animation: 5s cubic-bezier(0.65, 0, 0.35, 1) 0s infinite normal none running hz-sweep}
.z4k.z4k{position: absolute; left: 0px; right: 0px; top: 0px; height: 1px; background: linear-gradient(90deg, rgba(90, 119, 255, 0), rgb(159, 180, 255), rgba(90, 119, 255, 0)); box-shadow: rgb(90, 119, 255) 0px 0px 14px}
.z4l.z4l{position: absolute; inset: 18px; pointer-events: none}
.z4m.z4m{position: absolute; left: 0px; top: 0px; border-width: 0px; width: 28px; height: 28px; border-color: rgb(242, 244, 250); border-style: solid; pointer-events: none}
.z4n.z4n{position: absolute; right: 0px; top: 0px; border-width: 0px; width: 28px; height: 28px; border-color: rgb(242, 244, 250); border-style: solid; pointer-events: none}
.z4o.z4o{position: absolute; left: 0px; bottom: 0px; border-width: 0px; width: 28px; height: 28px; border-color: rgb(242, 244, 250); border-style: solid; pointer-events: none}
.z4p.z4p{position: absolute; right: 0px; bottom: 0px; border-width: 0px; width: 28px; height: 28px; border-color: rgb(242, 244, 250); border-style: solid; pointer-events: none}
.z4q.z4q{position: absolute; left: 14px; top: 12px; display: flex; align-items: center; gap: 10px; font-family: "IBM Plex Mono", monospace; font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: rgb(242, 244, 250)}
.z4r.z4r{position: relative; display: inline-flex; align-items: center; gap: 8px}
.z4s.z4s{width: 8px; height: 8px; border-radius: 50%; background: rgb(255, 77, 77); animation: 1.2s steps(1) 0s infinite normal none running hz-blink}
.z4t.z4t{position: absolute; left: -4px; right: -4px; top: 50%; height: 1px; background: rgb(242, 244, 250); transform: rotate(-12deg)}
.z4u.z4u{color: rgb(159, 180, 255)}
.z4v.z4v{position: absolute; right: 14px; bottom: 12px; font-family: "IBM Plex Mono", monospace; font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: rgb(169, 175, 194)}
.z4w.z4w.z4w.z4w{display: flex; flex-direction: column; gap: clamp(28px, 3vw, 40px)}
.z4x.z4x .elementor-heading-title{color:inherit;font-family:inherit;padding:0;margin:0;margin: 0px; font-weight: 700; font-size: clamp(32px, 4vw, 60px); line-height: 1; letter-spacing: -0.03em; text-wrap: balance}
.z4y.z4y{display: flex; flex-direction: column; border-top: 1px solid rgba(242, 244, 250, 0.12)}
.z4z.z4z{position: relative; display: grid; grid-template-columns: 56px minmax(0px, 1fr); gap: 16px; padding: 26px 0px; border-bottom: 1px solid rgba(242, 244, 250, 0.12); cursor: default}
.z50.z50{position: absolute; left: 0px; right: 0px; bottom: -1px; height: 1px; background: rgb(90, 119, 255); transform-origin: left center; animation: 4.5s linear 0s 1 normal forwards running hz-prog}
.z51.z51{font-weight: 800; font-size: 28px; line-height: 1; color: transparent; -webkit-text-stroke: 1px rgb(90, 119, 255); transition: -webkit-text-stroke-color 0.4s}
.z52.z52{margin: 0px; font-weight: 700; font-size: clamp(22px, 2.2vw, 32px); letter-spacing: -0.02em; line-height: 1.05; color: rgb(242, 244, 250); transition: color 0.4s}
.z53.z53{display: grid; grid-template-rows: 1fr; transition: grid-template-rows 0.55s cubic-bezier(0.2, 0.7, 0.2, 1)}
.z54.z54{overflow: hidden}
.z55.z55{margin: 0px; padding-top: 12px; max-width: 460px; color: rgb(169, 175, 194); line-height: 1.55; font-size: 16px; text-wrap: pretty}
.z56.z56{font-weight: 800; font-size: 28px; line-height: 1; color: transparent; -webkit-text-stroke: 1px rgba(242, 244, 250, 0.3); transition: -webkit-text-stroke-color 0.4s}
.z57.z57{margin: 0px; font-weight: 700; font-size: clamp(22px, 2.2vw, 32px); letter-spacing: -0.02em; line-height: 1.05; color: rgb(124, 130, 150); transition: color 0.4s}
.z58.z58{display: grid; grid-template-rows: 0fr; transition: grid-template-rows 0.55s cubic-bezier(0.2, 0.7, 0.2, 1)}
.z59.z59{position: relative; overflow: hidden; padding: clamp(48px, 6vw, 80px) 0px; border-bottom: 1px solid rgba(242, 244, 250, 0.1)}
.z5a.z5a{display: flex; width: max-content; animation: 120s linear 0s infinite normal none running hz-marquee; will-change: transform}
.z5b.z5b{display: flex; gap: clamp(12px, 1.5vw, 24px); padding-right: clamp(12px, 1.5vw, 24px); flex-shrink: 0}
.z5c.z5c{height: clamp(200px, 28vw, 380px); width: auto; display: block; border: 1px solid rgba(242, 244, 250, 0.1); transform: none}
.z5d.z5d{height: clamp(200px, 28vw, 380px); width: auto; display: block; border: 1px solid rgba(242, 244, 250, 0.1); transform: translateY(18px)}
.z5e.z5e.z5e.z5e{position: relative; overflow: clip; padding: clamp(80px, 10vw, 150px) clamp(20px, 4vw, 56px)}
.z5f.z5f{position: absolute; inset: 0px; pointer-events: none; display: flex; flex-direction: column; justify-content: center; gap: 12px; opacity: 0.9}
.z5g.z5g{display: flex; width: max-content; animation: 90s linear 0s infinite normal none running hz-marquee; will-change: transform}
.z5h.z5h{font-weight: 800; font-size: clamp(64px, 9vw, 150px); line-height: 1; letter-spacing: -0.03em; text-transform: uppercase; white-space: nowrap; padding-right: 0.5em; color: transparent; -webkit-text-stroke: 1px rgba(242, 244, 250, 0.07)}
.z5i.z5i{display: flex; width: max-content; animation: 70s linear 0s infinite reverse none running hz-marquee; will-change: transform}
.z5j.z5j.z5j.z5j{position: relative; display: grid; grid-template-columns: minmax(0px, 1fr) minmax(0px, 2fr); gap: clamp(24px, 4vw, 64px); margin-bottom: clamp(40px, 5vw, 64px)}
.z5k.z5k{position: relative; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: clamp(32px, 5vw, 80px); align-items: start}
.z5l.z5l{position: sticky; top: 110px; display: flex; flex-direction: column; gap: 22px; padding: clamp(24px, 3vw, 36px); background: rgba(18, 21, 31, 0.85); border: 1px solid rgba(242, 244, 250, 0.12)}
.z5m.z5m{display: flex; justify-content: space-between; align-items: center; font-family: "IBM Plex Mono", monospace; font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: rgb(124, 130, 150)}
.z5n.z5n{display: inline-block; width: 80px; height: 2px; background: rgba(242, 244, 250, 0.12); position: relative; overflow: hidden}
.z5o.z5o{position: absolute; left: 0px; top: 0px; bottom: 0px; width: 100%; background: rgb(90, 119, 255); transition: width 3.2s linear}
.z5p.z5p{display: flex; flex-direction: column; gap: 18px}
.z5q.z5q{font-weight: 800; font-size: clamp(72px, 8vw, 120px); line-height: 0.85; letter-spacing: -0.04em; color: transparent; -webkit-text-stroke: 1px rgba(90, 119, 255, 0.8)}
.z5r.z5r{margin: 0px; font-weight: 700; font-size: clamp(26px, 2.6vw, 38px); line-height: 1; letter-spacing: -0.03em}
.z5s.z5s{margin: 0px; color: rgb(169, 175, 194); line-height: 1.55; font-size: 16px; text-wrap: pretty}
.z5t.z5t{display: flex; align-items: center; gap: 10px; font-family: "IBM Plex Mono", monospace; font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: rgb(242, 244, 250)}
.z5u.z5u{display: inline-flex; align-items: center; gap: 12px; font-family: "IBM Plex Mono", monospace; font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: rgb(242, 244, 250); margin-top: 6px}
.z5v.z5v{border-top: 1px solid rgba(242, 244, 250, 0.12)}
.z5w.z5w{position: relative; display: grid; grid-template-columns: 56px minmax(0px, 1fr) auto; align-items: center; gap: 20px; padding: 22px 0px; border-bottom: 1px solid rgba(242, 244, 250, 0.12); color: rgb(242, 244, 250); transition: padding-left 0.4s cubic-bezier(0.2, 0.7, 0.2, 1)}
.z5x.z5x{position: absolute; left: 0px; top: 0px; bottom: 0px; width: 2px; background: rgb(90, 119, 255); transform: scaleY(0); transition: transform 0.4s cubic-bezier(0.2, 0.7, 0.2, 1)}
.z5y.z5y{font-family: "IBM Plex Mono", monospace; font-size: 12px; color: rgb(124, 130, 150); transition: color 0.3s}
.z5z.z5z{font-weight: 700; font-size: clamp(24px, 3vw, 46px); letter-spacing: -0.03em; line-height: 1; transition: color 0.3s, transform 0.4s cubic-bezier(0.2, 0.7, 0.2, 1)}
.z60.z60{font-family: "IBM Plex Mono", monospace; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: rgb(124, 130, 150); text-align: right; display: inline-flex; align-items: center; gap: 12px}
.z61.z61{color: rgb(90, 119, 255); opacity: 0; transform: translateX(-8px); transition: opacity 0.3s, transform 0.4s}
.z62.z62.z62.z62{position: relative; overflow: clip; padding: clamp(80px, 10vw, 150px) clamp(20px, 4vw, 56px); border-top: 1px solid rgba(242, 244, 250, 0.1); display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: clamp(48px, 6vw, 110px); align-items: center}
.z63.z63{position: relative; display: flex; flex-direction: column; gap: clamp(32px, 4vw, 48px)}
.z64.z64{display: flex; align-items: center; gap: 16px; font-family: "IBM Plex Mono", monospace; font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: rgb(90, 119, 255)}
.z65.z65{flex: 1 1 0%; height: 1px; background: linear-gradient(90deg, rgba(90, 119, 255, 0.6), rgba(90, 119, 255, 0))}
.z66.z66{position: absolute; left: -0.08em; top: -0.42em; font-weight: 800; font-size: clamp(180px, 20vw, 300px); line-height: 1; color: transparent; -webkit-text-stroke: 1px rgba(90, 119, 255, 0.45); pointer-events: none; user-select: none}
.z67.z67{position: relative; margin: 0px; font-weight: 500; font-size: clamp(26px, 2.8vw, 42px); line-height: 1.18; letter-spacing: -0.02em; text-wrap: pretty}
.z68.z68{opacity: 0.16; transition: opacity 0.35s}
.z69.z69{display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap}
.z6a.z6a{display: flex; align-items: center; gap: 16px}
.z6b.z6b{display: flex}
.z6c.z6c{width: 48px; height: 48px; border-radius: 50%; background: rgb(18, 21, 31); border: 1px solid rgba(242, 244, 250, 0.25); display: grid; place-items: center; font-family: "IBM Plex Mono", monospace; font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: rgb(242, 244, 250)}
.z6d.z6d{width: 48px; height: 48px; border-radius: 50%; background: rgb(90, 119, 255); border: 1px solid rgb(90, 119, 255); display: grid; place-items: center; font-family: "IBM Plex Mono", monospace; font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: rgb(11, 13, 20); margin-left: -12px}
.z6e.z6e{display: flex; flex-direction: column; gap: 6px}
.z6f.z6f{font-weight: 700; font-size: 17px; letter-spacing: -0.01em}
.z6g.z6g{display: block; overflow: visible}
.z6h.z6h{stroke-dasharray: 300; stroke-dashoffset: 300}
.z6i.z6i{font-family: "IBM Plex Mono", monospace; font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: rgb(124, 130, 150)}
.z6j.z6j{display: inline-flex; align-items: center; gap: 12px; padding: 14px 20px; border: 1px solid rgba(242, 244, 250, 0.3); font-family: "IBM Plex Mono", monospace; font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: rgb(242, 244, 250); transition: border-color 0.25s, background 0.25s}
.z6k.z6k.z6k.z6k{position: relative; display: flex; justify-content: center}
.z6l.z6l.z6l.z6l{position: relative; width: min(100%, 460px); aspect-ratio: 4 / 5}
.z6m.z6m{position: absolute; inset: 0px; border-radius: 999px 999px 0px 0px; border: 1px solid rgba(90, 119, 255, 0.5); transform: translate(18px, 18px); pointer-events: none}
.z6n.z6n.z6n.z6n{position: absolute; inset: 0px; border-radius: 999px 999px 0px 0px; overflow: hidden; background: rgb(18, 21, 31)}
.z6o.z6o img{max-width:none;height:auto;border:none;border-radius:0;box-shadow:none;vertical-align:baseline;display:inline;position: absolute; left: 0px; top: -8%; width: 100%; height: 116%; object-fit: cover; will-change: transform}
.z6p.z6p{position: absolute; inset: 0px; background: linear-gradient(rgba(40, 60, 170, 0.12), rgba(11, 13, 20, 0.55))}
.z6q.z6q{position: absolute; top: -20%; bottom: -20%; width: 40%; background: linear-gradient(90deg, rgba(200, 212, 255, 0), rgba(200, 212, 255, 0.14), rgba(200, 212, 255, 0)); animation: 6s cubic-bezier(0.65, 0, 0.35, 1) 0s infinite normal none running hz-glint}
.z6r.z6r{position: absolute; left: -18px; bottom: 32px; padding: 14px 18px; background: rgb(11, 13, 20); border: 1px solid rgba(242, 244, 250, 0.16); display: flex; flex-direction: column; gap: 6px; box-shadow: rgba(0, 0, 0, 0.5) 0px 20px 40px}
.z6s.z6s{font-family: "IBM Plex Mono", monospace; font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: rgb(90, 119, 255)}
.z6t.z6t.z6t.z6t{position: relative; overflow: hidden; padding: clamp(100px, 14vw, 200px) clamp(20px, 4vw, 56px) clamp(80px, 10vw, 140px); border-top: 1px solid rgba(242, 244, 250, 0.1); display: flex; flex-direction: column; gap: clamp(40px, 5vw, 72px); background: radial-gradient(at 85% 110%, rgba(90, 119, 255, 0.22) 0%, rgba(90, 119, 255, 0) 55%), rgb(11, 13, 20)}
.z6u.z6u{position: absolute; right: clamp(20px, 4vw, 56px); top: clamp(40px, 6vw, 80px); width: 120px; height: 120px; border-radius: 50%; border: 1px solid rgba(242, 244, 250, 0.18); display: grid; place-items: center; animation: 18s linear 0s infinite normal none running hz-spin; font-family: "IBM Plex Mono", monospace; font-size: 10px; letter-spacing: 0.3em; text-transform: uppercase; color: rgb(124, 130, 150); text-align: center; line-height: 1.6}
.z6v.z6v{font-family: "IBM Plex Mono", monospace; font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase}
.z6w.z6w .elementor-heading-title{color:inherit;font-family:inherit;padding:0;margin:0;margin: 0px; font-weight: 800; font-size: clamp(40px, 7vw, 116px); line-height: 0.92; letter-spacing: -0.035em; text-transform: uppercase; text-wrap: balance; max-width: 16ch}
.z6x.z6x.z6x.z6x{display: flex; gap: 16px; flex-wrap: wrap; align-items: center}
.z6y.z6y .elementor-button{all:unset;box-sizing:border-box;cursor:pointer;font-family: "IBM Plex Mono", monospace; font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase; white-space: nowrap; padding: 18px 28px; background: rgb(242, 244, 250); color: rgb(11, 13, 20); display: inline-block; transition: background 0.25s, color 0.25s, transform 0.35s cubic-bezier(0.2, 0.7, 0.2, 1)}
.z6z.z6z .elementor-button{all:unset;box-sizing:border-box;cursor:pointer;font-family: "IBM Plex Mono", monospace; font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase; white-space: nowrap; padding: 18px 28px; border: 1px solid rgba(242, 244, 250, 0.4); color: rgb(242, 244, 250); display: inline-block; transition: border-color 0.25s, transform 0.35s cubic-bezier(0.2, 0.7, 0.2, 1)}
.z70.z70.z70.z70{padding: clamp(40px, 5vw, 72px) clamp(20px, 4vw, 56px) 28px; border-top: 1px solid rgba(242, 244, 250, 0.1); display: flex; flex-direction: column; gap: 56px; overflow: hidden}
.z71.z71.z71.z71{display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); gap: 32px}
.z72.z72{height: 32px; width: auto; display: block}
.z73.z73.z73.z73{display: flex; flex-direction: column; gap: 12px; font-size: 14px}
.z74.z74{font-family: "IBM Plex Mono", monospace; font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: rgb(124, 130, 150); margin-bottom: 4px}
.z75.z75 .elementor-button{all:unset;box-sizing:border-box;cursor:pointer;color: rgb(169, 175, 194)}
.z76.z76{display: flex; justify-content: center; font-weight: 800; font-size: clamp(72px, 19vw, 300px); line-height: 0.85; letter-spacing: -0.02em; color: transparent; -webkit-text-stroke: 1px rgba(242, 244, 250, 0.35); user-select: none}
.z77.z77{display: inline-block; transition: color 0.4s, transform 0.5s cubic-bezier(0.2, 0.7, 0.2, 1)}
.z78.z78{display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; font-family: "IBM Plex Mono", monospace; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: rgb(124, 130, 150)}
.hzh0.hzh0:hover{color: rgb(242, 244, 250) !important;}
.hzh1.hzh1:hover,.hzh1.hzh1:hover .elementor-button{background: rgb(242, 244, 250) !important; color: rgb(11, 13, 20) !important;}
.hzh2.hzh2:hover,.hzh2.hzh2:hover .elementor-button{background: rgb(90, 119, 255) !important; color: rgb(242, 244, 250) !important;}
.hzh3.hzh3:hover,.hzh3.hzh3:hover .elementor-button{border-color: rgb(242, 244, 250) !important;}
.hzh4.hzh4:hover{background: rgba(23, 20, 18, 0.85) !important;}
.hzh5.hzh5:hover{border-color: rgb(90, 119, 255) !important; background: rgba(90, 119, 255, 0.12) !important;}
.hzh6.hzh6:hover{color: rgb(242, 244, 250) !important; transform: translateY(-10px) !important;}
.hzh7.hzh7:hover{color: rgb(90, 119, 255) !important; transform: translateY(-10px) !important;}
.elementor .elementor-widget-html img{max-width:none}
/* Responsive aanvullingen (mobiel menu en kleine schermen) */
.hz-burger{display:none}
.hz-nav-cta{display:none}
@media (max-width: 900px){
.z0.z0.z0.z0.z0{flex-wrap:nowrap;gap:12px}
.z0 .z8 .elementor-button.elementor-button{margin-left:auto}
.z5.z5.z5{display:none}
.hz-burger{display:inline-flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:44px;height:44px;flex-shrink:0;padding:0;margin:0;background:transparent;border:1px solid rgba(242,244,250,.25);border-radius:0;cursor:pointer;color:#F2F4FA}
.hz-burger span{display:block;width:18px;height:1.5px;background:currentColor;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.hz-burger:focus-visible{outline:2px solid #5A77FF;outline-offset:3px}
.hz-nav-open .hz-burger span:first-child{transform:translateY(3.75px) rotate(45deg)}
.hz-nav-open .hz-burger span:last-child{transform:translateY(-3.75px) rotate(-45deg)}
.hz-nav-open .z5.z5.z5{display:flex;flex-direction:column;flex-wrap:nowrap;gap:0;position:absolute;top:100%;left:0;right:0;padding:8px clamp(20px,4vw,56px) 28px;background:#0B0D14;border-bottom:1px solid rgba(242,244,250,.08);font-size:14px;animation:hz-menu .35s cubic-bezier(.2,.7,.2,1) both}
.hz-nav-open .z5 a.z6,.hz-nav-open .z5 a.z7{display:block;padding:16px 0;border-bottom:1px solid rgba(242,244,250,.08)}
.hz-nav-open .z5 a.z6{color:#F2F4FA}
.hz-nav-open .z5 a.z6::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#5A77FF;margin-right:12px;vertical-align:middle}
}
@keyframes hz-menu{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media (max-width: 600px){
.z0 .z8 .elementor-button.elementor-button{display:none}
.hz-burger{margin-left:auto}
.hz-nav-open .hz-nav-cta{display:block;margin-top:20px;padding:15px 18px;border:1px solid #F2F4FA;background:#F2F4FA;color:#0B0D14;text-align:center;letter-spacing:.08em}
}
/* Hero: draagkoord van de hoes niet door de tekst laten lopen */
@media (max-width: 900px){
.z16.z16.z16{height:16vh}
}
/* Sectiekoppen: label boven de kop in plaats van ernaast */
@media (max-width: 640px){
.z22.z22.z22.z22.z22,.z5j.z5j.z5j.z5j.z5j{grid-template-columns:minmax(0,1fr);gap:16px}
}
/* Kaarten wij bieden */
@media (max-width: 600px){
.z2r.z2r.z2r,.z38.z38.z38{white-space:nowrap}
}
/* Evenementenlijst: advies onder de naam */
@media (max-width: 600px){
.z5w.z5w.z5w{grid-template-columns:32px minmax(0,1fr);column-gap:12px;row-gap:8px;padding-top:18px;padding-bottom:18px}
.z5y.z5y.z5y{align-self:start;padding-top:.35em}
.z60.z60.z60{grid-column:2;justify-content:flex-start;text-align:left}
}
/* Waarom: hotspotlabels binnen de foto houden */
@media (max-width: 600px){
.hz-hs.hz-hs.hz-hs{gap:8px}
.z4c.z4c.z4c{width:12px;height:12px}
.z4e.z4e.z4e,.z4g.z4g.z4g{font-size:10px;letter-spacing:.08em;padding:6px 8px}
}
/* Contact: draaiende badge niet over het label */
@media (max-width: 600px){
.z6u.z6u.z6u{width:84px;height:84px;top:10px;right:16px;font-size:8px;letter-spacing:.24em}
}
/* Werkwijze op een kolom: kop boven de illustratie, illustratie niet sticky, stappen goed leesbaar */
@media (max-width: 873px){
.z3b.z3b.z3b.z3b > .z3z.z3z.z3z.z3z{display:contents}
.z3b .z40.z40.z40.z40.z40{order:-1;padding-top:clamp(60px,10vh,100px)}
.z3g.z3g.z3g{position:relative;top:auto;height:auto;padding:230px 0 90px}
.z3b .z42.z42.z42.z42.z42{min-height:0;padding:8px 0;opacity:1!important;transform:none!important}
}
/* Evenementen: paneel niet over de lijst laten plakken als alles onder elkaar staat of het scherm laag is */
@media (max-width: 781px), (max-height: 600px){
.z5l.z5l.z5l{position:relative;top:auto}
}
/* SEO-template (zelfde stijl als de homepage) */
body:not(.home) .hz-intro{display:none}
body:not(.home) .z5 a.z6.z6{color:#A9AFC2;border-bottom-color:transparent}
body:not(.home) .z5 a.z6.z6::before{display:none}
.hzt-wrap.hzt-wrap.hzt-wrap.hzt-wrap{position:relative;overflow:hidden}
.hzt-hero.hzt-hero.hzt-hero.hzt-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(32px,5vw,80px);align-items:center;padding:clamp(56px,9vh,110px) clamp(20px,4vw,56px) clamp(56px,8vh,96px);background:radial-gradient(at 12% 0%,rgba(90,119,255,.22) 0%,rgba(90,119,255,0) 55%),#0B0D14}
.hzt-hero-text.hzt-hero-text.hzt-hero-text.hzt-hero-text{display:flex;flex-direction:column;gap:clamp(20px,3vh,30px);position:relative;z-index:1}
.hzt-crumb{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#7C8296}
.hzt-crumb a{color:#A9AFC2;text-decoration:none;transition:color .2s}
.hzt-crumb a:hover{color:#F2F4FA}
.hzt-crumb span:last-child{color:#F2F4FA}
.hzt-h1.hzt-h1 .elementor-heading-title{color:#F2F4FA;font-family:inherit;padding:0;margin:0;font-weight:800;font-size:clamp(30px,4.4vw,72px);line-height:.96;letter-spacing:-.035em;text-transform:uppercase;text-wrap:balance;overflow-wrap:break-word;hyphens:manual}
.hzt-lead.hzt-lead p{margin:0;max-width:520px;font-size:clamp(16px,1.3vw,19px);line-height:1.5;color:#D3D8E6;text-wrap:pretty}
.hzt-btns.hzt-btns.hzt-btns.hzt-btns{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.hzt-hero-media.hzt-hero-media.hzt-hero-media.hzt-hero-media{position:relative;aspect-ratio:4/5;max-height:640px;width:100%;overflow:hidden;background:#12151F;border:1px solid rgba(242,244,250,.12)}
.hzt-cover.hzt-cover img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;display:block;border:none;border-radius:0;box-shadow:none}
.hzt-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,13,20,0) 45%,rgba(11,13,20,.85) 100%);pointer-events:none}
.hzt-tag{position:absolute;left:clamp(16px,2vw,24px);top:clamp(16px,2vw,24px);display:flex;align-items:center;gap:10px;padding:9px 12px;background:rgba(11,13,20,.92);border:1px solid rgba(90,119,255,.6);font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#F2F4FA}
.hzt-dot{width:7px;height:7px;border-radius:50%;background:#5A77FF;box-shadow:0 0 12px #5A77FF;flex-shrink:0}
.hzt-cap{position:absolute;left:clamp(16px,2vw,24px);right:clamp(16px,2vw,24px);bottom:clamp(16px,2vw,24px);display:flex;justify-content:space-between;gap:12px;font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#A9AFC2}
.hzt-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid rgba(242,244,250,.1);border-bottom:1px solid rgba(242,244,250,.1)}
.hzt-fact{padding:clamp(24px,3vw,40px) clamp(20px,4vw,56px);display:flex;flex-direction:column;gap:10px;border-left:1px solid rgba(242,244,250,.1)}
.hzt-fact:first-child{border-left:none}
.hzt-fact b{font-weight:800;font-size:clamp(28px,3vw,44px);line-height:1;letter-spacing:-.03em;color:#F2F4FA}
.hzt-fact b em{font-style:normal;color:#5A77FF}
.hzt-fact span{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#A9AFC2;line-height:1.6}
.hzt-sec.hzt-sec.hzt-sec.hzt-sec{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:clamp(24px,4vw,64px);padding:clamp(72px,9vw,130px) clamp(20px,4vw,56px);border-top:1px solid rgba(242,244,250,.08)}
.hzt-sec.hzt-sec.hzt-sec.hzt-sec:first-child{border-top:none}
.hzt-side{position:sticky;top:110px;display:flex;flex-direction:column;gap:18px;align-self:start}
.hzt-label{font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#5A77FF}
.hzt-num{font-weight:800;font-size:clamp(72px,8vw,120px);line-height:.85;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1px rgba(90,119,255,.8)}
.hzt-body.hzt-body.hzt-body.hzt-body{display:flex;flex-direction:column;gap:clamp(20px,2.4vw,28px);min-width:0}
.hzt-h2.hzt-h2 .elementor-heading-title{color:#F2F4FA;font-family:inherit;padding:0;margin:0;font-weight:700;font-size:clamp(30px,3.6vw,56px);line-height:1.02;letter-spacing:-.03em;text-wrap:balance;max-width:20ch}
.hzt-prose.hzt-prose{display:block;max-width:68ch}
.hzt-prose.hzt-prose p{margin:0 0 1.1em;color:#C4C9D8;font-size:clamp(16px,1.15vw,18px);line-height:1.72;text-wrap:pretty}
.hzt-prose.hzt-prose p:last-child{margin-bottom:0}
.hzt-prose.hzt-prose h3{margin:1.6em 0 .55em;color:#F2F4FA;font-family:inherit;font-weight:700;font-size:clamp(20px,1.7vw,26px);line-height:1.15;letter-spacing:-.02em}
.hzt-prose.hzt-prose a{color:#9FB4FF;text-decoration:underline;text-underline-offset:3px}
.hzt-prose.hzt-prose strong{color:#F2F4FA}
.hzt-photos{display:grid;grid-template-columns:1.2fr .8fr 1fr;grid-auto-rows:clamp(280px,30vw,440px);gap:clamp(10px,1.2vw,16px);padding:0 clamp(20px,4vw,56px) clamp(16px,2vw,24px)}
.hzt-photo{position:relative;margin:0;overflow:hidden;background:#12151F}
.hzt-photo:first-child{aspect-ratio:auto}
.hzt-photo img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.hzt-photo:hover img{transform:scale(1.04)}
.hzt-photo figcaption{position:absolute;left:14px;bottom:12px;font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#F2F4FA;text-shadow:0 1px 8px rgba(0,0,0,.6)}
.hzt-duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid rgba(242,244,250,.12);margin:0 clamp(20px,4vw,56px)}
.hzt-card{position:relative;overflow:hidden;min-height:clamp(380px,46vh,480px);display:flex;flex-direction:column;justify-content:flex-end;gap:16px;padding:clamp(24px,3vw,40px);color:#F2F4FA;text-decoration:none;background:#0B0D14}
.hzt-card + .hzt-card{border-left:1px solid rgba(242,244,250,.12)}
.hzt-card img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;opacity:.32;transition:opacity .8s,transform 1.2s cubic-bezier(.2,.7,.2,1)}
.hzt-card:hover img{opacity:.5;transform:scale(1.03)}
.hzt-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,13,20,0) 0%,rgba(11,13,20,.9) 75%)}
.hzt-card > *:not(img){position:relative;z-index:1}
.hzt-card small{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#5A77FF}
.hzt-card strong{font-weight:700;font-size:clamp(26px,2.6vw,38px);line-height:1;letter-spacing:-.03em}
.hzt-card p{margin:0;max-width:44ch;color:#C4C9D8;line-height:1.55;font-size:15px}
.hzt-card span{font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.hzt-card span i{font-style:normal;color:#5A77FF;display:inline-block;transition:transform .3s}
.hzt-card:hover span i{transform:translateX(4px)}
.hzt-faq.hzt-faq.hzt-faq.hzt-faq{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:clamp(32px,5vw,80px);padding:clamp(80px,10vw,150px) clamp(20px,4vw,56px);border-top:1px solid rgba(242,244,250,.08);align-items:start}
.hzt-faq-side.hzt-faq-side.hzt-faq-side.hzt-faq-side{position:sticky;top:110px;display:flex;flex-direction:column;gap:22px}
.hzt-note.hzt-note p{margin:0;max-width:40ch;color:#A9AFC2;line-height:1.55;font-size:16px}
.hzt-faq-list{border-top:1px solid rgba(242,244,250,.12)}
.hzt-q{border-bottom:1px solid rgba(242,244,250,.12)}
.hzt-q summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:44px minmax(0,1fr) 28px;gap:16px;align-items:center;padding:24px 0;color:#F2F4FA;font-weight:700;font-size:clamp(18px,1.6vw,24px);line-height:1.2;letter-spacing:-.02em;transition:color .3s}
.hzt-q summary::-webkit-details-marker{display:none}
.hzt-q summary:hover{color:#9FB4FF}
.hzt-q summary:focus-visible{outline:2px solid #5A77FF;outline-offset:4px}
.hzt-q summary::before{content:counter(hztq,decimal-leading-zero);counter-increment:hztq;font-family:"IBM Plex Mono",monospace;font-size:12px;font-weight:400;letter-spacing:.1em;color:#7C8296}
.hzt-faq-list{counter-reset:hztq}
.hzt-q summary::after{content:"";width:14px;height:14px;justify-self:end;background:linear-gradient(#5A77FF,#5A77FF) center/14px 1.5px no-repeat,linear-gradient(#5A77FF,#5A77FF) center/1.5px 14px no-repeat;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.hzt-q[open] summary::after{transform:rotate(45deg)}
.hzt-q[open] summary{color:#9FB4FF}
.hzt-a{padding:0 44px 28px 60px;max-width:72ch}
.hzt-a p{margin:0 0 1em;color:#C4C9D8;font-size:16px;line-height:1.7}
.hzt-a p:last-child{margin-bottom:0}
.hzt-block.hzt-block.hzt-block.hzt-block{padding:clamp(72px,9vw,130px) 0;border-top:1px solid rgba(242,244,250,.08);display:flex;flex-direction:column;gap:clamp(32px,4vw,56px)}
.hzt-blockhead{padding:0 clamp(20px,4vw,56px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:clamp(24px,4vw,64px);align-items:end}
.hzt-blockhead h2{margin:0;color:#F2F4FA;font-weight:700;font-size:clamp(30px,3.6vw,56px);line-height:1.02;letter-spacing:-.03em;text-wrap:balance}
.hzt-band.hzt-band.hzt-band.hzt-band{padding:0 0 clamp(8px,1vw,16px)}
@media (max-width: 1024px){
.hzt-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
.hzt-fact:nth-child(3){border-left:none}
.hzt-fact:nth-child(n+3){border-top:1px solid rgba(242,244,250,.1)}
}
@media (max-width: 900px){
.hzt-hero.hzt-hero.hzt-hero.hzt-hero{grid-template-columns:minmax(0,1fr)}
.hzt-hero-media.hzt-hero-media.hzt-hero-media.hzt-hero-media{aspect-ratio:4/3;max-height:none}
.hzt-sec.hzt-sec.hzt-sec.hzt-sec,.hzt-faq.hzt-faq.hzt-faq.hzt-faq{grid-template-columns:minmax(0,1fr)}
.hzt-side,.hzt-faq-side.hzt-faq-side.hzt-faq-side.hzt-faq-side{position:relative;top:auto;flex-direction:row;align-items:baseline;gap:16px}
.hzt-faq-side.hzt-faq-side.hzt-faq-side.hzt-faq-side{flex-direction:column;align-items:flex-start}
.hzt-num{font-size:56px}
.hzt-photos{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto}.hzt-photo{aspect-ratio:4/5}
.hzt-photo:first-child{grid-column:1 / -1;aspect-ratio:16/9}
.hzt-duo{grid-template-columns:minmax(0,1fr)}
.hzt-blockhead{grid-template-columns:minmax(0,1fr);gap:14px}
.hzt-card + .hzt-card{border-left:none;border-top:1px solid rgba(242,244,250,.12)}
}
@media (max-width: 600px){
.hzt-facts{grid-template-columns:minmax(0,1fr)}
.hzt-fact{border-left:none;border-top:1px solid rgba(242,244,250,.1)}
.hzt-fact:first-child{border-top:none}
.hzt-q summary{grid-template-columns:32px minmax(0,1fr) 20px;gap:12px;padding:20px 0}
.hzt-a{padding:0 0 24px 44px}
.hzt-tag{font-size:10px;letter-spacing:.08em}
}
/* ---------- fotosliders (hero, contact, seo) ---------- */
@keyframes hz-xf{0%{opacity:0;transform:scale(1.04)}4%{opacity:1}16.667%{opacity:1}20.667%{opacity:0;transform:scale(1.16)}100%{opacity:0;transform:scale(1.16)}}
.hz-slides{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.hz-slides img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center 40%;display:block;border:none;border-radius:0;box-shadow:none;opacity:0;transform-origin:center center;animation:hz-xf 42s linear infinite;will-change:opacity,transform}
.hz-slides img:nth-child(1){animation-delay:-1.7s}
.hz-slides img:nth-child(2){animation-delay:5.3s}
.hz-slides img:nth-child(3){animation-delay:12.3s}
.hz-slides img:nth-child(4){animation-delay:19.3s}
.hz-slides img:nth-child(5){animation-delay:26.3s}
.hz-slides img:nth-child(6){animation-delay:33.3s}
.hz-slides::after{content:"";position:absolute;inset:0;pointer-events:none}
@media (prefers-reduced-motion: reduce){.hz-slides img{animation:none}.hz-slides img:first-child{opacity:1}}

/* homepage hero */
.hz-hslides.hz-hslides{opacity:.6}
.hz-hslides::after{background:linear-gradient(90deg,rgba(11,13,20,.7) 0%,rgba(11,13,20,.35) 45%,rgba(11,13,20,0) 75%)}
@media (max-width: 900px){.hz-hslides::after{background:rgba(11,13,20,.35)}}

/* contact (home + seo) */
.z6t.z6t.z6t.z6t.z6t{isolation:isolate}
.hz-cslides.hz-cslides{z-index:-1;opacity:.34}
.hz-cslides::after{background:linear-gradient(180deg,rgba(11,13,20,.55) 0%,rgba(11,13,20,.2) 45%,rgba(11,13,20,.85) 100%)}

/* ---------- werkwijze: foto's per stap ---------- */
.hz-steppics{display:grid;grid-template-columns:1.25fr 1fr;gap:10px;max-width:460px;margin-top:8px}
.hz-sp{position:relative;margin:0;aspect-ratio:4/3;overflow:hidden;background:#12151F;border:1px solid rgba(242,244,250,.1)}
.hz-sp img,.hz-wp img,.hz-op img,.hzt-sidepic img,.hz-arch2 img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;display:block;border:none;border-radius:0;box-shadow:none;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.hz-sp:hover img,.hz-wp:hover img,.hz-op:hover img,.hzt-sidepic:hover img{transform:scale(1.05)}

/* ---------- waarom: detailfoto's ---------- */
.hz-wapics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}
.hz-wp{position:relative;margin:0;aspect-ratio:4/3;overflow:hidden;background:#12151F;border:1px solid rgba(242,244,250,.1)}
.hz-wp::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,13,20,0) 50%,rgba(11,13,20,.8) 100%);pointer-events:none}
.hz-wp figcaption{position:absolute;left:10px;bottom:8px;z-index:1;font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#F2F4FA}

/* ---------- evenementen: wisselende foto ---------- */
.hz-evpics{position:relative;aspect-ratio:16/10;overflow:hidden;background:#12151F;border:1px solid rgba(242,244,250,.1)}
.hz-evpics img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;display:block;border:none;border-radius:0;box-shadow:none;opacity:0;transform:scale(1.06);transition:opacity .8s ease,transform 1.6s cubic-bezier(.2,.7,.2,1)}
.hz-evpics img.is-on{opacity:1;transform:none}
.hz-evpics::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,13,20,0) 55%,rgba(11,13,20,.6) 100%);pointer-events:none}
@media (min-width: 782px) and (max-height: 820px){.hz-evpics{aspect-ratio:2/1}}

/* ---------- over ons ---------- */
.hz-arch2{position:absolute;right:-12%;top:12%;width:44%;aspect-ratio:1/1;overflow:hidden;z-index:2;background:#12151F;border:6px solid #0B0D14;box-shadow:0 20px 40px rgba(0,0,0,.5)}
.hz-arch2 img{object-position:center 30%}
@media (max-width: 600px){.hz-arch2{right:-4px;width:40%;border-width:4px}}
.hz-ovpics{display:flex;flex-direction:column;gap:14px}
.hz-ovlab{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#7C8296}
.hz-ovrow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.hz-op{position:relative;margin:0;aspect-ratio:1/1;overflow:hidden;background:#12151F;border:1px solid rgba(242,244,250,.1)}

/* ---------- seo template ---------- */
.hzt-hero.hzt-hero.hzt-hero.hzt-hero.hzt-hero{isolation:isolate;overflow:hidden}
.hzt-hslides.hzt-hslides{z-index:-1;opacity:.3}
.hzt-hslides::after{background:linear-gradient(90deg,rgba(11,13,20,.85) 0%,rgba(11,13,20,.55) 50%,rgba(11,13,20,.3) 100%)}
.hzt-mslides.hzt-mslides img{object-position:center 35%}
.hzt-side .hzt-sidepic,.hzt-sidepic{position:relative;margin:6px 0 0;width:100%;max-width:360px;aspect-ratio:4/5;overflow:hidden;background:#12151F;border:1px solid rgba(242,244,250,.1)}
.hzt-faqpic.hzt-faqpic{max-width:420px;aspect-ratio:4/3}
@media (max-width: 900px){
.hzt-side{flex-wrap:wrap}
.hzt-side .hzt-sidepic,.hzt-sidepic,.hzt-faqpic.hzt-faqpic{flex-basis:100%;max-width:none;aspect-ratio:16/9}
}
/* ==========================================================
   Rustig ontwerp: geen hoofdletters, minimaal 16px, geen grijze tekst,
   duidelijke hierarchie en foto's voorop.
   ========================================================== */
:root{--hz-bg:#0B0D14;--hz-panel:#12151F;--hz-text:#F2F4FA;--hz-accent:#5A77FF;--hz-accent-l:#A9BBFF;--hz-line:rgba(242,244,250,.12)}
html body *{text-transform:none!important}
html body{font-size:18px}

/* decoratie weg */
.zd,.zk,.zm,.zn,.zc + .zd,.z20,.z3e,.z3d,.z6u,.z76,.hz-intro,.hzt-num,.hzt-cap,.z66,.z6m,.hzt-dot,.z1j{display:none!important}
.zq .zr,.z6v .zr{display:none!important}

/* ---------- knoppen ---------- */
.z8.z8.z8 .elementor-button,.z11.z11.z11 .elementor-button,.z12.z12.z12 .elementor-button,.z6y.z6y.z6y .elementor-button,.z6z.z6z.z6z .elementor-button{font-family:"Archivo",sans-serif;font-size:17px;font-weight:600;letter-spacing:0;line-height:1.2;padding:17px 26px;border-radius:999px}
.z12.z12.z12 .elementor-button,.z6z.z6z.z6z .elementor-button{border-color:rgba(242,244,250,.6)}
.z8.z8.z8 .elementor-button{padding:12px 20px;font-size:16px;background:#F2F4FA;color:#0B0D14;border-color:#F2F4FA}
.z8.z8.z8 .elementor-button:hover{background:var(--hz-accent);color:#F2F4FA;border-color:var(--hz-accent)}

/* ---------- header ---------- */
.z5.z5.z5.z5{font-family:"Archivo",sans-serif;font-size:16px;font-weight:500;letter-spacing:0}
.z5 a.z7.z7,.z5 a.z6.z6,body:not(.home) .z5 a.z6.z6{color:#F2F4FA}
.z5 a.z7.z7:hover{color:var(--hz-accent-l)}
.hz-nav-open .z5.z5.z5.z5{font-size:18px}

/* ---------- footer ---------- */
.z73.z73.z73.z73{font-size:16px}
.z74.z74{font-family:"Archivo",sans-serif;font-size:16px;font-weight:700;letter-spacing:0;color:#F2F4FA}
.z75.z75 .elementor-button{color:#F2F4FA;font-size:16px}
.z75.z75 .elementor-button:hover{color:var(--hz-accent-l)}
.z78.z78{font-family:"Archivo",sans-serif;font-size:16px;letter-spacing:0;color:#F2F4FA}
.z78 *{color:#F2F4FA!important}

/* ---------- algemene labels ---------- */
.zq.zq,.z6v.z6v,.hzp-kicker{font-family:"Archivo",sans-serif;font-size:17px;font-weight:600;letter-spacing:0;color:var(--hz-accent-l)}
.hzt-label{font-family:"Archivo",sans-serif!important;font-size:17px!important;font-weight:600;letter-spacing:0!important;color:var(--hz-accent-l)!important}
.z6w.z6w .elementor-heading-title{font-size:clamp(36px,5vw,72px);line-height:1;letter-spacing:-.03em;max-width:18ch}

/* ---------- SEO template en pagina's ---------- */
.hzt-crumb{font-family:"Archivo",sans-serif;font-size:16px;letter-spacing:0;color:#F2F4FA}
.hzt-crumb a{color:var(--hz-accent-l)}
.hzt-h1.hzt-h1 .elementor-heading-title{font-size:clamp(40px,5.6vw,84px);line-height:1;letter-spacing:-.035em}
.hzt-lead.hzt-lead p{font-size:clamp(18px,1.4vw,21px);color:#F2F4FA}
.hzt-prose.hzt-prose p,.hzt-note.hzt-note p,.hzt-a p{color:#F2F4FA;font-size:18px}
.hzt-a p{font-size:17px}
.hzt-tag{font-family:"Archivo",sans-serif;font-size:16px!important;letter-spacing:0!important;font-weight:600;padding:10px 14px;border-radius:999px;border-color:rgba(242,244,250,.25)}
.hzt-fact span{font-family:"Archivo",sans-serif;font-size:16px;letter-spacing:0;color:#F2F4FA}
.hzt-fact b em{color:var(--hz-accent-l)}
.hzt-photo figcaption,.hz-wp figcaption{font-family:"Archivo",sans-serif;font-size:16px;letter-spacing:0;font-weight:600}
.hzt-card small,.hzt-card span{font-family:"Archivo",sans-serif;font-size:16px;letter-spacing:0;font-weight:600}
.hzt-card small{color:var(--hz-accent-l)}
.hzt-card p{font-size:17px;color:#F2F4FA}
.hzt-card img{opacity:.55}
.hzt-q summary::before{display:none}
.hzt-q summary{grid-template-columns:minmax(0,1fr) 20px!important}
.hzt-a{padding:0 0 24px 0!important}
.hzt-side{gap:20px}
.hzt-sidepic{margin-top:0!important}
.hz-ovlab{font-family:"Archivo",sans-serif;font-size:17px;letter-spacing:0;font-weight:600;color:var(--hz-accent-l)}
.hzt-hslides.hzt-hslides{opacity:.5}
.hzt-hslides::after{background:linear-gradient(90deg,rgba(11,13,20,.88) 0%,rgba(11,13,20,.6) 45%,rgba(11,13,20,.25) 100%)}

/* ---------- homepage hero ---------- */
.hzp-homehero.hzp-homehero.hzp-homehero.hzp-homehero.hzp-homehero{min-height:min(92vh,960px)}
.hzp-homehero .hzt-hslides.hzt-hslides{opacity:.62}
.hzp-trust{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px 22px;font-size:16px;font-weight:500;color:#F2F4FA}
.hzp-trust li{display:flex;align-items:center;gap:10px}
.hzp-trust li::before{content:"";width:18px;height:18px;flex-shrink:0;border-radius:50%;background:var(--hz-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat}

/* ---------- blokken ---------- */
.hzt-blockhead h2{font-size:clamp(30px,3.6vw,52px)}

/* stappen met foto */
.hzp-howgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,28px);padding:0 clamp(20px,4vw,56px)}
.hzp-how{display:flex;flex-direction:column;gap:12px}
.hzp-howmedia{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--hz-panel);border-radius:14px;margin-bottom:8px}
.hzp-howmedia img,.hzp-evmedia img,.hzp-smedia img,.hzp-pmedia img,.hzp-emedia img,.hzp-cpic img,.hzp-link img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;display:block;border:none;border-radius:0;box-shadow:none;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.hzp-how:hover img,.hzp-ev:hover img{transform:scale(1.04)}
.hzp-step-label{font-size:16px;font-weight:600;color:var(--hz-accent-l)}
.hzp-how h3,.hzp-ev h3,.hzp-reasons h3,.hzp-extra strong,.hzp-step strong{margin:0;color:#F2F4FA;font-weight:700;font-size:clamp(21px,1.7vw,26px);line-height:1.15;letter-spacing:-.02em}
.hzp-how p,.hzp-ev p,.hzp-reasons p,.hzp-extra span,.hzp-step p{margin:0;color:#F2F4FA;font-size:17px;line-height:1.6}

/* events */
.hzp-evgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2vw,24px);padding:0 clamp(20px,4vw,56px)}
.hzp-ev{display:flex;flex-direction:column;background:var(--hz-panel);border-radius:14px;overflow:hidden;color:#F2F4FA;text-decoration:none;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
a.hzp-ev:hover{transform:translateY(-4px)}
.hzp-evmedia{position:relative;aspect-ratio:4/3;overflow:hidden}
.hzp-evnum{display:none}
.hzp-evbody{display:flex;flex-direction:column;gap:10px;padding:20px 20px 24px;flex:1}
.hzp-advies{margin-top:auto;padding-top:6px;font-size:16px;font-weight:600;color:var(--hz-accent-l)}

/* split blok met grote foto */
.hzp-split.hzp-split.hzp-split.hzp-split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(32px,5vw,80px);align-items:center;padding:clamp(72px,9vw,130px) clamp(20px,4vw,56px);border-top:1px solid var(--hz-line)}
.hzp-split.hzp-flip > :first-child{order:2}
.hzp-smedia{position:relative;margin:0;aspect-ratio:5/4;overflow:hidden;border-radius:16px;background:var(--hz-panel)}
.hzp-sbody.hzp-sbody.hzp-sbody.hzp-sbody{display:flex;flex-direction:column;gap:22px}
.hzp-sbody .hzt-h2 .elementor-heading-title{max-width:16ch}
.hzp-checks{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.hzp-checks li{display:flex;gap:12px;align-items:flex-start;font-size:18px;color:#F2F4FA;line-height:1.45}
.hzp-checks li::before,.hzp-specs li .hzp-dot{content:"";width:22px;height:22px;flex-shrink:0;margin-top:1px;border-radius:50%;background:var(--hz-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}
.hzp-reasons{display:grid;gap:24px}
.hzp-reasons > div{display:grid;gap:8px;padding-top:20px;border-top:1px solid var(--hz-line)}
.hzp-reasons > div:first-child{padding-top:0;border-top:none}

/* product (wij bieden) */
.hzp-product.hzp-product.hzp-product.hzp-product{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(32px,5vw,80px);align-items:center;padding:clamp(72px,9vw,130px) clamp(20px,4vw,56px);border-top:1px solid var(--hz-line)}
.hzp-product.hzp-flip .hzp-pmedia{order:2}
.hzp-pmedia{position:relative;margin:0;aspect-ratio:4/3;overflow:hidden;border-radius:16px;background:var(--hz-panel)}
.hzp-letter{display:none}
.hzp-pbody{display:flex;flex-direction:column;gap:18px}
.hzp-pbody h2{margin:0;color:#F2F4FA;font-weight:700;font-size:clamp(30px,3.6vw,52px);line-height:1.02;letter-spacing:-.03em}
.hzp-pbody p{margin:0;color:#F2F4FA;font-size:18px;line-height:1.65;max-width:56ch}
.hzp-specs{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:12px}
.hzp-specs li{display:flex;gap:12px;align-items:flex-start;font-size:18px;color:#F2F4FA}
.hzp-specs li .hzp-dot{display:inline-block}

/* extra's */
.hzp-extras{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2vw,24px);padding:0 clamp(20px,4vw,56px)}
.hzp-extra{margin:0;display:flex;flex-direction:column;gap:14px}
.hzp-emedia{position:relative;aspect-ratio:1/1;overflow:hidden;border-radius:14px;background:var(--hz-panel)}
.hzp-extra figcaption{display:grid;gap:8px}

/* stappen (genummerd) */
.hzp-steps{list-style:none;margin:0;padding:0 clamp(20px,4vw,56px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2vw,24px)}
.hzp-step{display:flex;flex-direction:column;gap:12px;padding:26px;background:var(--hz-panel);border-radius:14px}
.hzp-snum{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--hz-accent);color:#F2F4FA;font-weight:700;font-size:17px}

/* lees verder links */
.hzp-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.6vw,20px);padding:0 clamp(20px,4vw,56px)}
.hzp-link{display:flex;flex-direction:column;gap:8px;padding:24px;border-radius:14px;background:var(--hz-panel);color:#F2F4FA;text-decoration:none;border:1px solid transparent;transition:border-color .3s,transform .35s}
.hzp-link:hover{border-color:var(--hz-accent);transform:translateY(-3px)}
.hzp-link small{font-size:16px;font-weight:600;color:var(--hz-accent-l)}
.hzp-link strong{font-size:clamp(20px,1.6vw,24px);line-height:1.2;letter-spacing:-.02em}
.hzp-link span{font-size:16px;font-weight:600}
.hzp-link i{font-style:normal;color:var(--hz-accent-l)}

/* contact */
.hzp-contact.hzp-contact.hzp-contact.hzp-contact{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(32px,5vw,80px);padding:clamp(72px,9vw,120px) clamp(20px,4vw,56px);border-top:1px solid var(--hz-line);align-items:start;scroll-margin-top:100px}
.hzp-cform.hzp-cform.hzp-cform.hzp-cform{display:flex;flex-direction:column;gap:20px}
.hzp-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;margin-top:8px}
.hzp-f{display:flex;flex-direction:column;gap:8px;font-size:16px;font-weight:600;color:#F2F4FA}
.hzp-full{grid-column:1/-1}
.hzp-f input,.hzp-f select,.hzp-f textarea{font:inherit;font-weight:400;font-size:17px;color:#F2F4FA;background:var(--hz-panel);border:1px solid rgba(242,244,250,.25);border-radius:10px;padding:14px 16px;width:100%;box-sizing:border-box;outline:none;transition:border-color .2s}
.hzp-f input:focus,.hzp-f select:focus,.hzp-f textarea:focus{border-color:var(--hz-accent)}
.hzp-f select option{background:var(--hz-panel)}
.hzp-f input[type=date]{color-scheme:dark}
.hzp-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.hzp-submit{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px}
.hzp-submit small{font-size:16px;color:#F2F4FA}
.hzp-btn{font:inherit;font-size:17px;font-weight:600;cursor:pointer;border:none;border-radius:999px;padding:17px 28px;background:#F2F4FA;color:#0B0D14;transition:background .25s,color .25s}
.hzp-btn:hover{background:var(--hz-accent);color:#F2F4FA}
.hzp-alert{padding:16px 20px;border-radius:12px;font-size:17px;font-weight:600;margin-bottom:8px}
.hzp-ok{background:rgba(90,119,255,.18);border:1px solid var(--hz-accent);color:#F2F4FA}
.hzp-err{background:rgba(255,120,120,.12);border:1px solid #ff8a8a;color:#F2F4FA}
.hzp-cinfo{display:grid;gap:16px}
.hzp-ccard{display:grid;gap:6px;padding:22px 24px;border-radius:14px;background:var(--hz-panel);color:#F2F4FA;text-decoration:none;border:1px solid transparent;transition:border-color .3s}
.hzp-ccard:hover{border-color:var(--hz-accent)}
.hzp-ccard small,.hzp-cnext small{font-size:16px;font-weight:600;color:var(--hz-accent-l)}
.hzp-ccard strong{font-size:clamp(20px,1.6vw,24px);letter-spacing:-.01em;overflow-wrap:anywhere}
.hzp-ccard span{font-size:16px}
.hzp-cnext{padding:22px 24px;border-radius:14px;background:var(--hz-panel);display:grid;gap:12px}
.hzp-cnext ol{margin:0;padding-left:22px;display:grid;gap:8px;font-size:17px;line-height:1.5;color:#F2F4FA}
.hzp-cpic{position:relative;margin:0;aspect-ratio:4/3;overflow:hidden;border-radius:14px}

/* foto's iets ronder en rustiger */
.hzt-hero-media.hzt-hero-media.hzt-hero-media.hzt-hero-media,.hzt-photo,.hzt-sidepic,.hz-sp,.hz-wp,.hz-evpics,.hz-op{border-radius:14px}

/* ---------- responsive ---------- */
@media (max-width: 1100px){
.hzp-evgrid,.hzp-extras,.hzp-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 900px){
.hzp-howgrid,.hzp-links{grid-template-columns:minmax(0,1fr)}
.hzp-split.hzp-split.hzp-split.hzp-split,.hzp-product.hzp-product.hzp-product.hzp-product,.hzp-contact.hzp-contact.hzp-contact.hzp-contact{grid-template-columns:minmax(0,1fr)}
.hzp-split.hzp-flip > :first-child,.hzp-product.hzp-flip .hzp-pmedia{order:0}
.hzp-homehero.hzp-homehero.hzp-homehero.hzp-homehero.hzp-homehero{min-height:0}
}
@media (max-width: 600px){
.hzp-evgrid,.hzp-extras,.hzp-steps,.hzp-form{grid-template-columns:minmax(0,1fr)}
.z8.z8.z8 .elementor-button,.z11.z11.z11 .elementor-button,.z12.z12.z12 .elementor-button,.z6y.z6y.z6y .elementor-button,.z6z.z6z.z6z .elementor-button{white-space:normal;text-align:center}
}
.hzt-blockhead.hzt-blockhead{grid-template-columns:minmax(0,1fr);gap:12px;align-items:start}
.hzt-blockhead h2{max-width:22ch}
/* ---------- verfijning: foto voorop, compacter, mobiele actiebalk ---------- */
.hzp-homehero.hzp-homehero.hzp-homehero.hzp-homehero.hzp-homehero{grid-template-columns:minmax(0,1fr);align-items:end;min-height:min(90vh,940px);padding-top:clamp(140px,22vh,240px);padding-bottom:clamp(48px,8vh,96px)}
.hzp-homehero .hzt-hslides.hzt-hslides.hzt-hslides{opacity:1}
.hzp-homehero .hzt-hslides.hzt-hslides::after{background:linear-gradient(180deg,rgba(11,13,20,.1) 0%,rgba(11,13,20,.3) 45%,rgba(11,13,20,.92) 100%),linear-gradient(90deg,rgba(11,13,20,.75) 0%,rgba(11,13,20,0) 70%)}
.hzp-homehero .hzt-hero-text.hzt-hero-text.hzt-hero-text.hzt-hero-text{max-width:780px}
.hzp-homehero .hzt-h1.hzt-h1 .elementor-heading-title{font-size:clamp(48px,7.4vw,120px);line-height:.94}
.hzp-intro{margin:0;max-width:60ch;font-size:19px;line-height:1.55;color:#F2F4FA}
.hzt-blockhead.hzt-blockhead{gap:14px}
.hzp-split.hzp-split.hzp-split.hzp-split,.hzp-product.hzp-product.hzp-product.hzp-product{padding-top:clamp(64px,7vw,110px);padding-bottom:clamp(64px,7vw,110px)}
.hzt-block.hzt-block.hzt-block.hzt-block{padding-top:clamp(64px,7vw,110px);padding-bottom:clamp(64px,7vw,110px)}
.hzt-sec.hzt-sec.hzt-sec.hzt-sec{padding-top:clamp(64px,7vw,110px);padding-bottom:clamp(64px,7vw,110px)}
a:focus-visible,button:focus-visible,summary:focus-visible,.elementor-button:focus-visible{outline:2px solid #A9BBFF;outline-offset:3px}
.hzp-sticky{display:none}
@media (max-width: 900px){
.hzp-sticky{position:fixed;left:12px;right:12px;bottom:12px;z-index:60;display:flex;gap:8px;padding:8px;border-radius:999px;background:rgba(18,21,31,.96);box-shadow:0 12px 32px rgba(0,0,0,.45);border:1px solid rgba(242,244,250,.12)}
.hzp-sticky a{display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:999px;font-size:17px;font-weight:600;text-decoration:none}
.hzp-sticky-main{flex:1;background:#F2F4FA;color:#0B0D14}
.hzp-sticky-tel{padding:0 22px;color:#F2F4FA;border:1px solid rgba(242,244,250,.4)}
body{padding-bottom:84px}
.hzp-homehero.hzp-homehero.hzp-homehero.hzp-homehero.hzp-homehero{min-height:86vh;padding-top:120px}
}
@media (max-width: 600px){
.hzp-evgrid.hzp-evgrid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;padding-bottom:6px;scrollbar-width:none}
.hzp-evgrid::-webkit-scrollbar{display:none}
.hzp-ev.hzp-ev{flex:0 0 84%;scroll-snap-align:start}
}
