@font-face{font-family:'Archivo';font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/fonts/archivo-latin-wdth-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Archivo';font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/fonts/archivo-latin-ext-wdth-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fonts/ibm-plex-mono-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fonts/ibm-plex-mono-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fonts/ibm-plex-mono-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fonts/ibm-plex-mono-latin-ext-500-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}


body{margin:0;background:#F5F3EE}
a{color:inherit}
.cond{font-stretch:72%}
.mono{font-family:'IBM Plex Mono', ui-monospace, monospace}
/* ---------- iso drawing styles (per ground via custom properties) */
.iso .ft{fill:var(--ft)}.iso .fl{fill:var(--fl)}.iso .fr{fill:var(--fr)}
.iso .pr polygon{stroke:var(--ln);stroke-width:.8;stroke-linejoin:round}
.iso .wall .ft{fill:var(--wt)}
.iso .un{stroke:var(--ln);stroke-width:.5;opacity:.45}
.iso .led{fill:var(--gr);animation:zt-led 2.6s steps(1) infinite;animation-delay:var(--b,0s)}
.iso .fib,.iso .off{fill:none;stroke:var(--or);stroke-width:1.6;stroke-dasharray:5 4}
.iso .tray{fill:none;stroke:var(--or);stroke-width:1.6}
.iso .rs{fill:none;stroke:var(--or);stroke-width:2.6}
.iso .net{fill:none;stroke:var(--bl);stroke-width:1.4;stroke-dasharray:3 4}
.iso .zone{fill:none;stroke:var(--ln);stroke-width:.8;stroke-dasharray:4 3}
.iso .cov{fill:var(--cov);stroke:var(--or);stroke-width:.7;stroke-dasharray:2 3}
.iso .ap polygon{fill:var(--or)} .iso .mon polygon{fill:var(--ln)}
.iso .cloud{fill:var(--cf);stroke:var(--bl);stroke-width:1.4}
.iso .tile{fill:var(--tile);stroke:var(--bl);stroke-width:.8}
.iso .tt{font-family:'IBM Plex Mono', ui-monospace, monospace;fill:var(--tt);letter-spacing:.3px}
.iso .gate{fill:var(--bl)} .iso .gatek{stroke:#FFFFFF;stroke-width:1.6}
.iso .pk{fill:var(--or)}
.iso .ld{stroke:var(--ln);stroke-width:.8;opacity:.55}
.iso .dt{fill:var(--or)}
.iso .fcode{font-family:'Archivo', system-ui, sans-serif;font-stretch:72%;font-weight:700;font-size:22px;fill:var(--ln)}
.iso .cl{font-family:'IBM Plex Mono', ui-monospace, monospace;font-size:10.5px;letter-spacing:.3px;fill:var(--c2)}
.v-sky{--ft:#FBFCFD;--fl:#E1E7EC;--fr:#D2DAE1;--wt:#FFFFFF;--ln:#151A1F;--c2:#505A64;--or:#F2551B;--bl:#2459D6;--gr:#12915A;--cov:rgba(242,85,27,.05);--cf:#FFFFFF;--tile:#EAF0FF;--tt:#1B3F9E}
.v-paper{--ft:#FDFCFA;--fl:#E9E5DD;--fr:#DAD5CB;--wt:#FFFFFF;--ln:#151A1F;--c2:#505A64;--or:#F2551B;--bl:#2459D6;--gr:#12915A;--cov:rgba(242,85,27,.05);--cf:#FFFFFF;--tile:#EAF0FF;--tt:#1B3F9E}
.v-stone{--ft:#F6F4EF;--fl:#DAD4C9;--fr:#CAC3B6;--wt:#FBFAF7;--ln:#151A1F;--c2:#505A64;--or:#F2551B;--bl:#2459D6;--gr:#12915A;--cov:rgba(242,85,27,.06);--cf:#FFFFFF;--tile:#EAF0FF;--tt:#1B3F9E}
.v-dark{--ft:#2B333B;--fl:#222A31;--fr:#1A2127;--wt:#313A42;--ln:#C9D1D8;--c2:#A6B0BA;--or:#FF6D2E;--bl:#6E9BFF;--gr:#3DDC8F;--cov:rgba(255,109,46,.07);--cf:#222A31;--tile:#26324A;--tt:#C8D6FF}
@keyframes zt-led{0%{opacity:1}50%{opacity:.25}}
@keyframes zt-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
.iso .float{animation:zt-float 7s ease-in-out infinite}
/* ---------- hero: exploded building */
.hb .flr{transition:opacity .45s ease}
.hb .lift{transition:transform .55s cubic-bezier(.2,.8,.2,1)}
.hb.has-on .flr:not(.on){opacity:.3}
.hb .flr.on .lift{transform:translateY(-14px)}
.hb .flr.on .fcode{fill:var(--or)}
.zt-js .hb .flr{opacity:0;transform:translateY(-70px);transition:opacity .7s ease,transform 1s cubic-bezier(.2,.8,.2,1);transition-delay:var(--bd,0s)}
.zt-js .hb.built .flr{opacity:1;transform:none}
.zt-js .hb.built.has-on .flr:not(.on){opacity:.3;transition-delay:0s}
.zt-js .hb .rs{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.2s cubic-bezier(.65,0,.35,1) 1.2s}
.zt-js .hb.built .rs{stroke-dashoffset:0}
.zt-js .hb .net,.zt-js .hb .pk{opacity:0;transition:opacity .8s ease 2.1s}
.zt-js .hb.built .net,.zt-js .hb.built .pk{opacity:1}
.dir-row{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:start;gap:16px;width:100%;padding:12px 0 12px 16px;border:0;border-top:1px solid rgba(21,26,31,.18);background:transparent;text-align:left;cursor:pointer;font-family:'Archivo', system-ui, sans-serif;color:#151A1F;position:relative}
.dir-row::before{content:"";position:absolute;left:0;top:-1px;bottom:0;width:3px;background:#F2551B;transform:scaleY(0);transform-origin:top;transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.dir-row.on::before{transform:none}
.dir-row .code{font-stretch:72%;font-weight:700;font-size:30px;line-height:1;letter-spacing:-.01em;transition:color .3s}
.dir-row.on .code{color:#B03D0A}
.dir-row .desc{display:block;height:0;opacity:0;overflow:hidden;transition:height .45s ease,opacity .35s ease,margin .45s ease;font-size:14.5px;line-height:1.5;color:#505A64}
.dir-row.on .desc{height:1.5em;opacity:1;margin-top:8px}
.dir-row:focus-visible{outline:2px solid #F2551B;outline-offset:2px}
/* ---------- scroll reveals */
.zt-js [data-io] .ob{opacity:0;transform:translateY(-16px);transition:opacity .5s ease,transform .7s cubic-bezier(.2,.8,.2,1);transition-delay:calc(.25s + var(--i,0)*60ms)}
.zt-js [data-io].zt-in .ob{opacity:1;transform:none}
.zt-js [data-io] .co{opacity:0;transition:opacity .6s ease 1.3s}
.zt-js [data-io].zt-in .co{opacity:1}
.zt-js [data-io] .rs{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1s cubic-bezier(.65,0,.35,1)}
.zt-js [data-io].zt-in .rs{stroke-dashoffset:0}
.zt-js [data-io] .pk{opacity:0;transition:opacity .5s ease 1.6s}
.zt-js [data-io].zt-in .pk{opacity:1}
.zt-js .wipe .ln{display:block;clip-path:inset(0 0 100% 0);transform:translateY(40%);transition:clip-path .9s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--i,0)*110ms)}
.zt-js .wipe.zt-in .ln{clip-path:inset(0 0 -10% 0);transform:none}
.wipe .ln{display:block}
.zt-js [data-io] .up{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .9s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--i,0)*90ms)}
.zt-js [data-io].zt-in .up{opacity:1;transform:none}
.zt-js [data-io] .grow{transform:scaleX(0);transition:transform 1.1s cubic-bezier(.65,0,.35,1);transition-delay:calc(var(--i,0)*120ms)}
.zt-js [data-io].zt-in .grow{transform:none}
.grow{transform-origin:left center}
.grow.c{transform-origin:center}
/* level marker */
.lvl svg path{stroke-dasharray:1;stroke-dashoffset:0}
.zt-js .lvl[data-io] .tri{transform:scale(0);transform-box:fill-box;transform-origin:center bottom;transition:transform .6s cubic-bezier(.34,1.56,.64,1) .1s}
.zt-js .lvl[data-io].zt-in .tri{transform:none}
/* spine: the riser running down the page */
@keyframes zt-pulse{from{background-position:0 -160px}to{background-position:0 100%}}
.spine{position:absolute;left:62px;width:3px;background:#F2551B}
.spine::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,transparent 0,rgba(255,255,255,.85) 40px,transparent 80px) no-repeat;background-size:3px 160px;animation:zt-pulse 6s linear infinite}
/* buttons + links */
.btn{display:inline-flex;align-items:center;gap:12px;height:54px;padding:0 24px;text-decoration:none;font-family:'Archivo', system-ui, sans-serif;font-size:16px;font-weight:600;color:#F5F3EE;background:linear-gradient(#F2551B,#F2551B) no-repeat 0 0/0% 100%,#151A1F;transition:background-size .45s cubic-bezier(.65,0,.35,1),color .3s}
.btn:hover,.btn:focus-visible{background-size:100% 100%,auto;color:#151A1F}
.btn.or{color:#151A1F;background:linear-gradient(#F5F3EE,#F5F3EE) no-repeat 0 0/0% 100%,#FF6D2E}
.btn.or:hover,.btn.or:focus-visible{background-size:100% 100%,auto}
.arr{display:inline-block;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
a:hover .arr,button:hover .arr{transform:translateX(5px)}
.tl{text-decoration:none;background:linear-gradient(currentColor,currentColor) no-repeat 0 100%/100% 1.5px;padding-bottom:3px}
@keyframes zt-ul{from{background-size:0 1.5px}to{background-size:100% 1.5px}}
.tl:hover{animation:zt-ul .45s cubic-bezier(.65,0,.35,1)}
.faq-a{animation:zt-fade .35s ease}
@keyframes zt-fade{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.faq-q .sg{display:inline-block;transition:transform .35s ease}
.faq-q[aria-expanded="true"] .sg{transform:rotate(45deg)}
/* terrain in the hero */
.iso .earth{fill:rgba(214,205,190,.58)} .iso .earth-h{fill:url(#earthH);stroke:var(--ln);stroke-width:1} .iso .eh{stroke:rgba(90,80,66,.45);stroke-width:1}
.iso .gl{font-family:'IBM Plex Mono', ui-monospace, monospace;font-size:11px;letter-spacing:.08em;fill:var(--ln)}
.zt-js .hb .terr{opacity:0;transition:opacity .9s ease .35s} .zt-js .hb.built .terr{opacity:1}
/* construction phases */
.ph1 .pr polygon{fill:transparent !important;stroke-dasharray:3 3;stroke-opacity:.75}
.ph1 .rs,.ph1 .pk,.ph1 .cov,.ph1 .ap,.ph1 .led{display:none}
.ph1 .mon polygon{fill:transparent !important}
.ph2 .rs{stroke-dasharray:4 4 !important;stroke-dashoffset:0 !important;opacity:.85}
.ph2 .pk,.ph2 .cov{display:none}
.ph3 .cov{fill:rgba(242,85,27,.1)}
.iso .dim line{stroke:#F2551B;stroke-width:1} .iso .dim circle{fill:#F2551B} .iso .dim text{font-family:'IBM Plex Mono', ui-monospace, monospace;font-size:10px;fill:#B03D0A}
/* Microsoft 365 services explain themselves */
.iso .svc{cursor:pointer;outline:none}
.iso .svc .tile,.iso .svc .tt,.iso .svc .gate{transition:fill .25s ease}
.iso .svc:hover .tile,.iso .svc.on .tile,.iso .svc:focus-visible .tile{fill:var(--bl)}
.iso .svc:hover .tt,.iso .svc.on .tt,.iso .svc:focus-visible .tt{fill:#FFFFFF}
.iso .svc.on .gate,.iso .svc:focus-visible .gate{fill:#F2551B}
/* failure simulator */
.iso .mains{fill:none;stroke:var(--c2);stroke-width:1.4;stroke-dasharray:6 3;transition:opacity .45s ease}
.iso .simx{opacity:0;transition:opacity .45s ease;pointer-events:none}
.iso .mv{fill:none;stroke:var(--or);stroke-width:2.2}
.iso .kill{fill:none;stroke:#FF5A5A;stroke-width:2.4}
.iso .pkm{fill:#FFFFFF}
.iso [data-part] polygon{transition:fill .45s ease,opacity .45s ease}
.fd.s-power.st1 .sx-power,.fd.s-srv.st1 .sx-srv,.fd.s-data.st2 .sx-data,.fd.s-data.st3 .sx-data2{opacity:1}
.fd.s-power.st1 .mains{opacity:.25}
.fd.s-power.st2 [data-part=usv] polygon{fill:rgba(255,109,46,.55)}
.fd.s-power.st3 .l-srv1,.fd.s-power.st3 .l-srv2,.fd.s-power.st3 .l-bak{animation:none;fill:#56606A}
.fd.s-power.st3 [data-part=srv1] polygon,.fd.s-power.st3 [data-part=srv2] polygon,.fd.s-power.st3 [data-part=bak] polygon{opacity:.45}
.fd.s-srv.st1 [data-part=srv1] polygon{opacity:.3} .fd.s-srv.st1 .l-srv1{animation:none;fill:#FF5A5A}
.fd.s-srv.st2 [data-part=srv2] polygon{fill:rgba(255,109,46,.45)}
.fd.s-data.st2 [data-part=bak] polygon{fill:rgba(255,109,46,.45)}
.sim-btn{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:12px;width:100%;padding:12px 12px 12px 0;border:0;border-top:1px solid rgba(236,239,242,.18);background:transparent;color:#ECEFF2;font-family:'Archivo', system-ui, sans-serif;font-size:16px;font-weight:600;text-align:left;cursor:pointer;position:relative}
.sim-btn .k{font-family:'IBM Plex Mono', ui-monospace, monospace;font-size:11px;color:#A6B0BA}
.sim-btn::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:#FF6D2E;transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.65,0,.35,1)}
.sim-btn[aria-pressed="true"]::after{transform:none}
.sim-btn[aria-pressed="true"] .k{color:#FF6D2E}
.sim-btn:focus-visible{outline:2px solid #FF6D2E;outline-offset:2px}
.sim-steps{display:none;margin:0;padding:0;list-style:none}
.sim-steps.on{display:block}
.sim-steps li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;padding:8px 0;font-size:15px;line-height:1.5;color:#A6B0BA;opacity:.35;transition:opacity .4s ease,color .4s ease}
.sim-steps li.on{opacity:1;color:#ECEFF2}
.sim-steps li span{font-family:'IBM Plex Mono', ui-monospace, monospace;font-size:11px;color:#FF6D2E;padding-top:3px}
/* riser branches + lift display */
.branch{position:absolute;width:0;height:0;border-top:3px solid #F2551B;border-right:3px solid #F2551B;pointer-events:none;clip-path:inset(0 100% 100% 0);transition:clip-path 1.4s cubic-bezier(.65,0,.35,1) .2s}
.branch.zt-in{clip-path:inset(0 0 -12px 0)}
.branch::after{content:"";position:absolute;right:-6.5px;bottom:-5px;width:10px;height:10px;background:#F2551B}
.branch::before{content:"";position:absolute;left:-6.5px;top:-6.5px;width:10px;height:10px;background:#F2551B}
.liftbox{position:absolute;left:36px;top:0;z-index:5;width:126px;opacity:0;transition:opacity .35s ease;pointer-events:none}
.liftbox.show{opacity:1;pointer-events:auto}
.liftbox .car{display:flex;flex-direction:column;gap:4px;padding:10px 10px 10px 30px;background:#151A1F;color:#ECEFF2;box-shadow:0 0 0 1px rgba(236,239,242,.22);position:relative}
.liftbox .car::before{content:"";position:absolute;left:12px;top:14px;width:8px;height:8px;background:#F2551B}
.liftbox .car .c{font-family:'Archivo', system-ui, sans-serif;font-stretch:72%;font-weight:800;font-size:26px;line-height:1}
.liftbox .car .l{font-family:'IBM Plex Mono', ui-monospace, monospace;font-size:11px;color:#A6B0BA}
.liftbox .car .d{position:absolute;right:9px;top:9px;font-family:'IBM Plex Mono', ui-monospace, monospace;font-size:12px;color:#FF6D2E}
.liftbox .fl-list button{display:flex;justify-content:space-between;gap:8px;padding:6px 8px 6px 26px;border:0;background:transparent;color:#A6B0BA;font-family:'IBM Plex Mono', ui-monospace, monospace;font-size:11px;letter-spacing:.04em;text-align:left;cursor:pointer}
.liftbox .fl-list button.on{color:#FF6D2E}
.liftbox .fl-list button:hover,.liftbox .fl-list button:focus-visible{color:#ECEFF2;outline:none}
.zt-prep *{transition:none !important}
@media (prefers-reduced-motion: reduce){*{animation:none !important;transition:none !important}.pk{display:none}}

.zt-js [data-draw] .zd{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.2s cubic-bezier(.65,0,.35,1);transition-delay:var(--dl,calc(var(--i,0)*14ms))}
.zt-js [data-draw] .zh{fill-opacity:0;transition:stroke-dashoffset 1.2s cubic-bezier(.65,0,.35,1),fill-opacity .8s ease;transition-delay:var(--dl,calc(var(--i,0)*14ms)),calc(.7s + var(--i,0)*14ms)}
.zt-js [data-draw] .zf{opacity:0;transition:opacity .6s ease calc(.45s + var(--i,0)*14ms)}
.zt-js [data-draw] .zt-tag{opacity:0;transform:scale(.3);transform-box:fill-box;transform-origin:center;transition:opacity .3s ease,transform .55s cubic-bezier(.34,1.56,.64,1);transition-delay:calc(1.1s + var(--t,0)*90ms)}
.zt-js [data-draw] .zt-pk{opacity:0;transition:opacity .5s ease 1.9s}
.zt-js [data-draw].zt-in .zd{stroke-dashoffset:0}
.zt-js [data-draw].zt-in .zh{fill-opacity:1}
.zt-js [data-draw].zt-in .zf,.zt-js [data-draw].zt-in .zt-pk{opacity:1}
.zt-js [data-draw].zt-in .zt-tag{opacity:1;transform:none}
.zt-js .zt-hl .zt-w{display:inline-block;opacity:0;transform:translateY(.45em);transition:opacity .6s ease,transform .8s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--i,0)*55ms + var(--hd,0ms))}
.zt-js .zt-hl.zt-in .zt-w{opacity:1;transform:none}
.zt-js [data-io] .zt-up{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .9s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--i,0)*110ms)}
.zt-js [data-io].zt-in .zt-up{opacity:1;transform:none}
.zt-js .zt-up[data-io]{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .9s cubic-bezier(.2,.8,.2,1)}
.zt-js .zt-up[data-io].zt-in{opacity:1;transform:none}
.zt-js [data-io] .zt-hair{transform:scaleX(0);transition:transform 1s cubic-bezier(.65,0,.35,1) calc(var(--i,0)*110ms)}
.zt-js [data-io].zt-in .zt-hair{transform:none}
.zt-hair{position:absolute;left:0;right:0;top:0;height:1px;transform-origin:left center}
.zt-js .zt-fade{opacity:0;transition:opacity .8s ease var(--hd,0ms)}
.zt-js .zt-fade.zt-in{opacity:1}
.zt-card{position:relative}
.zt-bar{position:absolute;left:0;right:0;top:-3px;height:3px;transform:scaleX(0);transform-origin:left center;transition:transform .5s cubic-bezier(.65,0,.35,1)}
.zt-card:hover .zt-bar,.zt-card:focus-within .zt-bar{transform:none}
@keyframes zt-redraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.zt-js .zt-card:hover .zt-ico .zd{animation:zt-redraw .9s cubic-bezier(.65,0,.35,1)}
.zt-arr{display:inline-block;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
a:hover .zt-arr,button:hover .zt-arr,a:focus-visible .zt-arr{transform:translateX(5px)}
.zt-tl{text-decoration:none !important;background-image:linear-gradient(currentColor,currentColor);background-size:100% 1.5px;background-position:0 100%;background-repeat:no-repeat;padding-bottom:3px}
@keyframes zt-ul{from{background-size:0 1.5px}to{background-size:100% 1.5px}}
.zt-tl:hover{animation:zt-ul .45s cubic-bezier(.65,0,.35,1)}
@keyframes zt-fadein{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.zt-faq-a{animation:zt-fadein .35s ease}
.zt-btn{transition:background-color .25s ease,color .25s ease}
@media (prefers-reduced-motion: reduce){.zt-pk{display:none}.zt-bar{transition:none}}
.zt-prep *{transition:none !important}

/* form (underline fields) */
.fld{width:100%;box-sizing:border-box;border:0;border-bottom:1.5px solid #151A1F;border-radius:0;background:transparent;padding:8px 0 12px;font-family:'Archivo', system-ui, sans-serif;font-size:18px;color:#151A1F;outline:none;appearance:none;-webkit-appearance:none}
.fld::placeholder{color:#6A737C}
.fld:focus{border-bottom-color:#F2551B;box-shadow:0 1.5px 0 0 #F2551B}
select.fld{cursor:pointer;padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,#151A1F 50%),linear-gradient(-45deg,transparent 50%,#151A1F 50%);background-position:calc(100% - 12px) 50%,calc(100% - 6px) 50%;background-size:6px 6px,6px 6px;background-repeat:no-repeat}
textarea.fld{resize:vertical;line-height:28px;background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 27px,rgba(21,26,31,.14) 27px,rgba(21,26,31,.14) 28px);background-position:0 8px;background-attachment:local}
.chk{appearance:none;-webkit-appearance:none;flex:none;width:20px;height:20px;margin:2px 0 0;border:1.5px solid #151A1F;border-radius:0;background:transparent;cursor:pointer;display:grid;place-content:center}
.chk:checked{background:#F2551B;border-color:#F2551B}
.chk:checked::after{content:"";width:10px;height:5px;border-left:2px solid #151A1F;border-bottom:2px solid #151A1F;transform:translateY(-1px) rotate(-45deg)}
.chk:focus-visible{outline:2px solid #F2551B;outline-offset:2px}
button.btn{border:0;cursor:pointer}
/* building section (Leistungen hero) */
.cut .room{fill:rgba(255,255,255,.0);transition:fill .3s ease}
.cut a:hover .room,.cut a:focus-visible .room{fill:rgba(242,85,27,.10)}
.cut a .nm{transition:fill .3s ease}
.cut a:hover .nm,.cut a:focus-visible .nm{fill:#B03D0A}
.cut a{outline:none}
/* placeholders (legal pages, photo) */
.ph-box{position:relative;padding:16px;outline:1.5px dashed #8A939B;outline-offset:-1px;font-size:15.5px;line-height:1.6;color:#505A64}
.ph-box b{font-family:'IBM Plex Mono', ui-monospace, monospace;font-weight:400;font-size:11px;letter-spacing:.06em;color:#B03D0A;display:block;margin-bottom:6px}
/* form states */
.f-err{display:none;align-items:flex-start;gap:8px;font-size:14px;line-height:1.45;color:#B42318}
.f-ico{flex:none;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-top:1px;background:#B42318;color:#FFFFFF;font-family:'IBM Plex Mono', ui-monospace, monospace;font-size:12px;font-weight:500;line-height:1}
.f-row.bad .f-err{display:flex}
.f-row.bad .fld{border-bottom-color:#B42318;box-shadow:0 1.5px 0 0 #B42318}
.f-row.bad .chk{border-color:#B42318;box-shadow:0 0 0 1px #B42318}
.f-sum.on,.f-fail.on{display:flex !important}
[data-f-wrap].sent form{display:none !important}
[data-f-wrap].sent .f-sent{display:flex !important}
.f-send{position:relative;overflow:hidden}
.f-send[aria-busy="true"]{pointer-events:none;background:#151A1F;color:#F5F3EE}
.f-send[aria-busy="true"] .arr{opacity:0}
.f-send[aria-busy="true"]::after{content:"";position:absolute;left:0;bottom:0;width:30%;height:3px;background:#F2551B;animation:zt-send 1.1s linear infinite}
@keyframes zt-send{from{transform:translateX(-100%)}to{transform:translateX(340%)}}
.f-tick{flex:none;position:relative;width:40px;height:40px;background:#F2551B}
.f-tick::after{content:"";position:absolute;left:12px;top:12px;width:16px;height:8px;border-left:3px solid #151A1F;border-bottom:3px solid #151A1F;transform:rotate(-45deg)}
/* mobile menu */
.mm{display:none}
.mm.open{display:flex}

.lay-m .hb .fcode{font-size:44px}
.lay-m .dir-row{grid-template-columns:72px minmax(0,1fr);padding:12px 0 12px 16px}
.lay-m .dir-row .code{font-size:24px}
.lay-m .btn{justify-content:center}

/* ---------- responsive frame */
.lay-d{--gx:max(0px, calc((100% - 1440px) / 2));--px:calc(var(--gx) + 40px);--pl:calc(var(--gx) + 168px)}
.lay-m{--gx:max(0px, calc((100% - 640px) / 2));--px:calc(var(--gx) + 20px);--pl:calc(var(--gx) + 40px)}
@media (max-width: 1023.98px){.lay-d{display:none}}
@media (min-width: 1024px){.lay-m{display:none}}
.lay-d .spine{left:calc(var(--gx) + 62px)}
.liftbox{left:calc(var(--gx) + 36px)}
/* ---------- desktop, narrow (1024-1199): stack what would get too small */
@media (max-width: 1199.98px){
.lay-d .nav-links{gap:24px !important}
.lay-d .nav-st{display:none !important}
.lay-d .ab-g,.lay-d .side-g,.lay-d .lb-g,.lay-d .ug-top,.lay-d .ug-sim,.lay-d .ug-bot,.lay-d .fund-top,.lay-d .kon-g,.lay-d .cta-g,.lay-d .uf-g,.lay-d .uw-g,.lay-d .upl-g,.lay-d .lg-h{grid-template-columns:minmax(0,1fr) !important;row-gap:40px !important}
.lay-d .side-g > .fd,.lay-d .lb-g > figure{order:2;width:100%;max-width:720px}
.lay-d .uw-g > .iso,.lay-d .upl-g > div[data-io]{width:100%;max-width:560px}
.lay-d .ug-sim [data-sim-panel]{display:grid !important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:40px;row-gap:16px !important;align-items:start}
.lay-d .ug-sim [data-sim-panel] > *{grid-column:1}
.lay-d .ug-sim [data-sim-panel] > [aria-live]{grid-column:2;grid-row:1 / span 4;min-height:0 !important;padding-top:24px}
.lay-d .fund-cols{grid-template-columns:repeat(2,minmax(0,1fr)) !important;row-gap:40px !important}
.lay-d .faq-g{grid-template-columns:340px minmax(0,1fr) !important;column-gap:40px !important}
.lay-d .foot-g{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
.lay-d .lh-g,.lay-d .kh-g{grid-template-columns:minmax(0,1fr) 360px !important;column-gap:40px !important}
.lay-d .uh-g{grid-template-columns:minmax(0,1fr) 320px !important;column-gap:40px !important}
.lay-d .km-g{grid-template-columns:minmax(0,1fr) 340px !important;column-gap:64px !important}
}
/* ---------- mobile */
.lay-m .iso .earth-h{fill:url(#m-earthH)}
.lay-m .btn{padding:0 16px;text-align:center}
.lay-m .dir-row.on .desc{height:3em}
@media (max-width: 379.98px){.lay-m .btn{font-size:15px}}
@media (max-width: 359.98px){.lay-m .nav-cta{display:none !important}}

/* 404 */
.iso .rs-g{fill:none;stroke:var(--or);stroke-width:2.6;stroke-dasharray:4 5;opacity:.75}
.iso .q404{font-family:'Archivo', system-ui, sans-serif;font-stretch:72%;font-weight:800;font-size:48px;fill:var(--or)}
.hb .ghost .lift{animation:zt-float 6s ease-in-out infinite}
.iso .ghost .ph1 .pr polygon{stroke:var(--or);stroke-width:1.2}
@media (max-width: 1199.98px){.lay-d .e404-g{grid-template-columns:minmax(0,1fr) 400px !important}}
.car404{display:inline-flex;align-items:center;gap:16px;align-self:flex-start;padding:12px 16px 12px 12px;background:#151A1F;color:#ECEFF2}
.car404 .sq{width:8px;height:8px;background:#F2551B;animation:zt-led 1.6s steps(1) infinite}
.car404 .c{font-family:'Archivo', system-ui, sans-serif;font-stretch:72%;font-weight:800;font-size:28px;line-height:1}
.car404 .l{font-family:'IBM Plex Mono', ui-monospace, monospace;font-size:11px;line-height:1.35;letter-spacing:.04em;color:#A6B0BA}
.car404 .d{font-family:'IBM Plex Mono', ui-monospace, monospace;font-size:12px;color:#FF6D2E}
.hb.has-on .flr.ghost{opacity:1 !important}

/* ---------- cookie banner */
.cb{position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;background:#151A1F;color:#ECEFF2;border-top:3px solid #F2551B;font-family:'Archivo', system-ui, sans-serif;max-height:calc(100vh - 24px);overflow:auto}
.cb.on{display:block}
.cb-in,.cb-pn{box-sizing:border-box;padding:24px max(40px, calc((100% - 1440px) / 2 + 40px))}
.cb-in{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:64px;row-gap:24px;align-items:center}
.cb-tx{display:flex;flex-direction:column;gap:8px;max-width:760px}
.cb-h{margin:0;font-size:19px;line-height:1.35;font-weight:600;color:#ECEFF2}
.cb-p{margin:0;font-size:15px;line-height:1.55;color:#A6B0BA}
.cb-p a{color:#ECEFF2}
.cb-ac{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.cbb{display:inline-flex;align-items:center;justify-content:center;height:48px;min-width:200px;padding:0 24px;border:0;cursor:pointer;font-family:'Archivo', system-ui, sans-serif;font-size:15px;font-weight:600;color:#151A1F;
  background:linear-gradient(#FF6D2E,#FF6D2E) no-repeat 0 0/0% 100%,#ECEFF2;transition:background-size .45s cubic-bezier(.65,0,.35,1)}
.cbb:hover,.cbb:focus-visible{background-size:100% 100%,auto}
.cbb:focus-visible,.cb-lk:focus-visible,.sw:focus-visible,.cb-x:focus-visible{outline:2px solid #FF6D2E;outline-offset:3px}
.cb-lk{border:0;background:transparent;cursor:pointer;padding:12px 0 3px;font-family:'Archivo', system-ui, sans-serif;font-size:15px;font-weight:600;color:#ECEFF2}
.cb-pn{display:none;flex-direction:column;gap:24px;padding-top:32px;padding-bottom:32px}
.cb.set .cb-in{display:none}
.cb.set .cb-pn{display:flex}
.cb-hd{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}
.cb-x{flex:none;width:44px;height:44px;border:0;background:transparent;color:#ECEFF2;cursor:pointer;font-family:'IBM Plex Mono', ui-monospace, monospace;font-size:24px;box-shadow:inset 0 0 0 1.5px rgba(236,239,242,.4)}
.cb-rows{display:flex;flex-direction:column;border-bottom:1px solid rgba(236,239,242,.2)}
.cb-row{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:40px;align-items:start;padding:16px 0;border-top:1px solid rgba(236,239,242,.2)}
.cb-row b{display:block;font-size:17px;font-weight:600;color:#ECEFF2;margin-bottom:4px}
.cb-row span.d{display:block;font-size:14.5px;line-height:1.55;color:#A6B0BA;max-width:760px}
.cb-sw{display:flex;align-items:center;gap:12px;padding-top:2px}
.cb-sw .st{font-family:'IBM Plex Mono', ui-monospace, monospace;font-size:11px;letter-spacing:.06em;color:#A6B0BA;min-width:64px;text-align:right}
.sw{position:relative;flex:none;width:52px;height:28px;padding:0;border:1.5px solid #ECEFF2;background:transparent;cursor:pointer;transition:background .25s ease}
.sw::after{content:"";position:absolute;left:3px;top:3px;width:19px;height:19px;background:#ECEFF2;transition:transform .25s cubic-bezier(.2,.8,.2,1),background .25s ease}
.sw[aria-checked="true"]{background:#FF6D2E;border-color:#FF6D2E}
.sw[aria-checked="true"]::after{transform:translateX(24px);background:#151A1F}
.sw:disabled{cursor:default;opacity:.55}
[data-consent="off"] [data-consent-open]{display:none !important}
.foot-btn{border:0;background:transparent;padding:0;cursor:pointer;text-align:left;font-family:'Archivo', system-ui, sans-serif;font-size:15px;color:#ECEFF2}
@media (max-width: 1023.98px){
.cb-in,.cb-pn{padding:20px max(20px, calc((100% - 640px) / 2 + 20px))}
.cb-in{grid-template-columns:minmax(0,1fr)}
.cb-h{font-size:17px}
.cb-p{font-size:14px}
.cb-ac{flex-direction:column;align-items:stretch;gap:12px}
.cbb{width:100%;min-width:0}
.cb-lk{align-self:center;padding-top:4px}
.cb-row{column-gap:16px}
.cb-sw .st{display:none}
}
.f-tick.s{width:20px;height:20px}
.f-tick.s::after{left:5px;top:5px;width:9px;height:5px;border-left-width:2px;border-bottom-width:2px}
/* ---------- reference section (hidden until approved statements exist) */
.refs{display:none !important}
.show-refs .refs{display:flex !important}
.rf-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
@media (max-width: 1199.98px){.lay-d .rf-g{grid-template-columns:minmax(0,1fr)}.lay-d .rf-top{grid-template-columns:minmax(0,1fr) !important;row-gap:24px !important}}

/* ---------- logo */
@keyframes zl-sig{0%,100%{fill:#F2551B}12%{fill:#FFD2BD}26%{fill:#F2551B}}
a:hover .zl .fr.st-3,a:focus-visible .zl .fr.st-3{animation:zl-sig 1.6s ease-in-out infinite}
a:hover .zl .fr.st-2,a:focus-visible .zl .fr.st-2{animation:zl-sig 1.6s ease-in-out .2s infinite}
a:hover .zl .fr.st-1,a:focus-visible .zl .fr.st-1{animation:zl-sig 1.6s ease-in-out .4s infinite}


/* ---------- standalone site additions */

html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:16px}
body{min-height:100vh}
[hidden]{display:none !important}
.hp{position:absolute !important;left:-10000px !important;width:1px;height:1px;overflow:hidden}
.skip{position:absolute;left:16px;top:-80px;z-index:100;padding:12px 16px;background:#151A1F;color:#F5F3EE;font-family:'Archivo',system-ui,sans-serif;font-size:15px;text-decoration:none}
.skip:focus{top:16px}
.lang{display:flex;align-items:center;gap:6px;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:12px;letter-spacing:.06em;color:#505A64}
.lang a{color:#505A64;text-decoration:none;padding:12px 2px;background:linear-gradient(currentColor,currentColor) no-repeat 0 calc(100% - 8px)/0 1.5px;transition:background-size .3s}
.lang a:hover,.lang a:focus-visible{color:#151A1F;background-size:100% 1.5px}
.lang [aria-current]{color:#151A1F;font-weight:500}
.lang-m{display:flex;justify-content:space-between;align-items:center;min-height:52px;border-top:1px solid rgba(21,26,31,.14);font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:12px;letter-spacing:.06em;color:#505A64}
.lang-m .lang a{padding:14px 4px}
