/* Zita Core – shared behaviours: preloader, day/night toggle, lit titles, a11y helpers */
.zita-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.zita-skip{position:absolute;left:var(--pad);top:0;z-index:200;transform:translateY(-130%);display:inline-flex;align-items:center;min-height:var(--tap);padding:.4em 1.2em;background:var(--ink);color:var(--sheet);font-family:var(--font-display);font-weight:700;font-size:1.2rem;text-decoration:none}
.zita-skip:focus{transform:none;outline:2px solid var(--focus);outline-offset:2px}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--focus);outline-offset:3px}

/* day / night toggle  [zita_toggle] */
.zt-toggle{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--font-display);font-weight:700;font-size:1.2rem;letter-spacing:.03em;color:var(--ink);background:transparent;border:1.5px solid var(--line);border-radius:99px;padding:.4em 1em .4em .8em;min-height:var(--tap);box-sizing:border-box;cursor:pointer;transition:border-color .3s,box-shadow .3s}
.zt-toggle:hover{border-color:var(--cut)}
html[data-zita-theme="night"] .zt-toggle{border-color:var(--cut);box-shadow:0 0 .9rem color-mix(in srgb,var(--cut) 45%,transparent),inset 0 0 .6rem color-mix(in srgb,var(--cut) 30%,transparent)}
.zt-toggle svg{width:1.25rem;height:1.25rem;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.zt-sun{display:none}
html[data-zita-theme="night"] .zt-sun{display:block}
html[data-zita-theme="night"] .zt-moon{display:none}

/* header shrink – put class "zita-header" on the Bricks header section */
.zita-header{transition:padding .5s var(--ease),box-shadow .5s,background .7s}
html.zita-scrolled .zita-header{box-shadow:0 .8rem 2rem -1.2rem rgb(var(--shadow-rgb)/.5)}

/* lit titles: any heading with class "dsp" */
.dsp{font-family:var(--font-display);font-weight:800;text-transform:uppercase;letter-spacing:.005em;line-height:.92;margin:0;font-size:var(--fs-d);transition:color .6s}
.dsp.h2,.h2.dsp{font-size:var(--fs-h2)}
html[data-zita-theme="night"] .dsp{position:relative;isolation:isolate;color:var(--night-ink)}
html[data-zita-theme="night"] .dsp::before{content:attr(data-t);position:absolute;inset:0;z-index:-1;pointer-events:none;white-space:pre-line;color:var(--cut);opacity:var(--halo-o);filter:blur(var(--halo-blur));animation:zitaGlowOn 1.4s ease-out both;transition:opacity .8s}
html[data-zita-theme="night"] .dsp.glow-wait::before{opacity:0!important;animation:none!important}
@keyframes zitaGlowOn{from{opacity:0}}
html[data-zita-title="b"][data-zita-theme="night"] .dsp{color:color-mix(in srgb,var(--cut) 12%,var(--night-ink))}
html[data-zita-title="b"][data-zita-theme="night"] .dsp::before{-webkit-text-stroke:var(--edge-w) var(--cut);opacity:var(--edge-o);filter:blur(var(--edge-blur))}
@media (prefers-reduced-motion:reduce){html[data-zita-theme="night"] .dsp::before{animation:none}}

/* preloader (home page, first visit of the session) */
.zpre{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;background:var(--sheet);pointer-events:none;animation:zpreOut .7s ease 2.7s forwards}
html:not(.zita-pre) .zpre{display:none}
.zpre.q{animation-delay:1.35s;animation-duration:.5s}
.zpre-in{position:relative;width:min(72vw,26rem)}
.zpre-d,.zpre-f{display:block;width:100%;height:auto}
.zpre-d{filter:grayscale(1) opacity(.16)}
.zpre-f{position:absolute;inset:0;clip-path:inset(100% 0 0 0);animation:zpreFill 1.4s cubic-bezier(.55,0,.25,1) .3s forwards,zpreLit 1.1s linear 1.75s forwards}
.zpre-b{position:absolute;left:-4%;right:-4%;height:2px;top:100%;background:var(--cut);box-shadow:0 0 .8rem var(--cut);opacity:0;animation:zpreBar 1.4s cubic-bezier(.55,0,.25,1) .3s forwards}
html[data-zita-theme="night"] .zpre-d{filter:brightness(0) invert(1) opacity(.14)}
html[data-zita-theme="night"] .zpre-f{filter:brightness(0) invert(1);animation-name:zpreFill,zpreLitDk}
@keyframes zpreFill{to{clip-path:inset(0 0 0 0)}}
@keyframes zpreBar{0%{top:100%;opacity:1}92%{opacity:1}100%{top:0;opacity:0}}
@keyframes zpreLit{0%{filter:none}12%{filter:brightness(1.7) drop-shadow(0 0 .8rem var(--cut))}22%{filter:none}34%{filter:brightness(1.5) drop-shadow(0 0 .6rem var(--cut))}44%,100%{filter:drop-shadow(0 0 .35rem color-mix(in srgb,var(--cut) 80%,transparent)) drop-shadow(0 0 1.5rem color-mix(in srgb,var(--cut) 50%,transparent))}}
@keyframes zpreLitDk{0%{filter:brightness(0) invert(1)}12%{filter:brightness(0) invert(1) drop-shadow(0 0 1rem var(--glowc))}22%{filter:brightness(0) invert(1)}34%{filter:brightness(0) invert(1) drop-shadow(0 0 .8rem var(--glowc))}44%,100%{filter:brightness(0) invert(1) drop-shadow(0 0 .35rem var(--glowc)) drop-shadow(0 0 1.6rem rgb(var(--glow-rgb)/.7))}}
@keyframes zpreOut{to{opacity:0;visibility:hidden}}
@media (prefers-reduced-motion:reduce){.zpre{display:none}}
/* inside the Bricks builder never show the preloader */
body.brx-builder .zpre,.bricks-is-builder .zpre{display:none!important}

/* page fade-in (nav between pages) */
@view-transition{navigation:auto}
