/* Shared interaction states. Current location, expanded actions and pointer feedback are distinct. */
.jz-site :is(a,button,input,textarea,select,[tabindex]):focus-visible {
 outline:2px solid #252a35;outline-offset:4px;box-shadow:0 0 0 3px #fff;
}
.jz-site :is(a,button){touch-action:manipulation}
.jz-nav-intro,.jz-nav-arrow{display:none}
.jz-nav-backdrop{position:fixed;inset:0;z-index:90;background:rgba(32,39,53,.24);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s,visibility .2s}
.jz-menu-open{overflow:hidden}
.jz-menu-open .jz-nav-backdrop{opacity:1;visibility:visible;pointer-events:auto}
@keyframes jz-menu-enter{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@keyframes jz-dialog-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.jz-call-dialog[open]{animation:jz-dialog-enter .22s ease-out}
@media(min-width:961px){.jz-nav>a{isolation:isolate}.jz-nav>a:before{content:"";position:absolute;inset:20px -10px;border-radius:10px;z-index:-1;background:transparent;transition:background .18s}.jz-nav>a.is-current:before{background:#f4f5f7}.jz-nav>a:hover:before{background:#f0f2f5}.jz-nav>a.is-current:after{left:22%;right:22%}}
.jz-button,.jz-contact-button,.jz-button-secondary {
 min-height:48px;white-space:nowrap;border-radius:999px;transition:background .18s,color .18s,border-color .18s,box-shadow .18s,transform .12s;
}
.jz-button,.jz-contact-button{background:#191b21;border-color:#191b21;box-shadow:0 3px 8px #191b210a}
.jz-button-secondary{display:inline-flex;align-items:center;justify-content:center;padding:12px 22px;background:#f2f3f6;border:1px solid #e9ebef;color:#414753;font-size:14px;font-weight:500}
.jz-text-link{min-height:44px}
.jz-category-tabs,.jz-page .jz-category-tabs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:7px;margin:0 0 28px;border:1px solid #e9ecf1;border-radius:18px;background:#f6f7f9;width:fit-content;max-width:100%}
.jz-category-tabs>a,.jz-page .jz-category-tabs>a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 20px;border:1px solid transparent;background:transparent;color:#626977;border-radius:999px;font-size:14px;line-height:1.5;font-weight:500;transition:background .18s,border-color .18s,color .18s,transform .12s}
.jz-category-tabs>a.is-active,.jz-page .jz-category-tabs>a.is-active{background:#191b21;border-color:#191b21;color:#fff;font-weight:600;box-shadow:0 3px 9px #191b2114}
.jz-pagination a,.jz-pagination>span{min-width:44px;min-height:44px;border-radius:12px;transition:background .18s,color .18s,border-color .18s,transform .12s}
.jz-pagination a.select,.jz-pagination .current{background:#191b21;border-color:#191b21;color:#fff;font-weight:600;box-shadow:0 3px 9px #191b2114;cursor:default}
.jz-search-form{align-items:stretch;padding:6px;gap:8px;background:#f6f7f9;border:1px solid #e9ebef;border-radius:32px;transition:border-color .18s,box-shadow .18s}
.jz-search-form:focus-within{border-color:#aeb4bf;box-shadow:0 0 0 4px #191b2108}
.jz-search-form input{min-width:0;border:0;background:transparent;border-radius:26px;padding:12px 18px;color:#191b21;font-size:16px}
.jz-search-form input::placeholder{color:#727a89}
.jz-search-form .jz-button{flex-shrink:0;justify-content:center;min-width:82px}
.jz-slider-actions button,.jz-backtop{width:44px;height:44px;min-width:44px;min-height:44px;border:1px solid #e6e8ed;border-radius:50%;background:#fff;color:#414753;transition:background .18s,border-color .18s,color .18s,transform .12s,opacity .18s}
.jz-slider-actions button:disabled{opacity:.32;cursor:default;background:#f3f4f6;color:#636b79;box-shadow:none;transform:none}
.jz-card:focus-within{outline:2px solid #252a35;outline-offset:4px}
.jz-menu-toggle{transition:background .18s,border-color .18s,color .18s,transform .12s}
.jz-menu-toggle[aria-expanded="true"]{background:#191b21;border-color:#191b21;color:#fff}
.jz-menu-toggle[aria-expanded="true"] .jz-menu-icon{border:0}
.jz-menu-toggle[aria-expanded="true"] .jz-menu-icon:before,.jz-menu-toggle[aria-expanded="true"] .jz-menu-icon:after{content:"";position:absolute;left:0;right:0;top:5px;border-top:1px solid;transform:rotate(45deg)}
.jz-menu-toggle[aria-expanded="true"] .jz-menu-icon:after{transform:rotate(-45deg)}
.jz-dialog-open{overflow:hidden}
.jz-call-dialog{width:min(440px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:34px 28px 28px;border:1px solid #eceef1;border-radius:24px;background:#fff;color:#191b21;box-shadow:0 24px 100px #15192333;text-align:center;overflow:auto}
.jz-call-dialog:not([open]){display:none}
.jz-call-dialog::backdrop{background:#171b285c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.jz-dialog-close{position:absolute;right:12px;top:12px;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:#f4f5f7;color:#626977;font-size:26px;line-height:1;transition:background .18s,transform .12s}
.jz-dialog-icon{display:grid;place-items:center;width:58px;height:58px;margin:2px auto 22px;border:1px solid #eceef2;border-radius:18px;background:linear-gradient(145deg,#f8f9fb,#eff1f5)}
.jz-dialog-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.jz-call-dialog h2{font-size:23px;font-weight:650;letter-spacing:-.4px;margin-bottom:10px}
.jz-call-dialog p{font-size:13px;color:#6b7280}
.jz-dialog-phone{display:inline-block;margin:20px 0 26px;font-size:28px;line-height:1.4;letter-spacing:.6px;font-weight:650}
.jz-dialog-actions{display:grid;grid-template-columns:1fr 1.35fr;gap:12px}
.jz-dialog-actions .jz-button{padding:12px 22px;gap:12px}
@media(hover:hover) and (pointer:fine){
 .jz-button:hover,.jz-contact-button:hover{background:#353b47;border-color:#353b47;box-shadow:0 6px 16px #191b2114;transform:translateY(-1px)}
 .jz-button-secondary:hover,.jz-dialog-close:hover{background:#e6e9ee}
 .jz-category-tabs>a:not(.is-active):hover,.jz-page .jz-category-tabs>a:not(.is-active):hover,.jz-pagination a[href]:not(.select):hover{background:#e9ecf1;border-color:#dce0e6;color:#252a35;box-shadow:none}
 .jz-slider-actions button:not(:disabled):hover,.jz-backtop:hover{background:#eef0f4;border-color:#d4d9e1;color:#191b21}
 .jz-menu-toggle:not([aria-expanded="true"]):hover{background:#f2f3f6;border-color:#dce0e6}
}
@media(hover:none){
 .jz-button:hover,.jz-contact-button:hover{background:#191b21;border-color:#191b21;transform:none}
 .jz-category-tabs>a:not(.is-active):hover,.jz-page .jz-category-tabs>a:not(.is-active):hover{background:transparent;border-color:transparent;color:#626977}
 .jz-pagination a[href]:not(.select):hover{background:#fff;border-color:var(--line);color:var(--ink)}
 .jz-slider-actions button:not(:disabled):hover{background:#fff;border-color:#e6e8ed;color:#414753}
 .jz-course-card:hover,.jz-card:hover{transform:none;box-shadow:none;border-color:var(--line)}
 .jz-course-card:hover img,.jz-card:hover .jz-card-image img,.jz-case-card:hover img,.jz-news-row:hover .jz-news-image img{transform:none}
}
.jz-button:active,.jz-contact-button:active,.jz-button-secondary:active,.jz-menu-toggle:active,.jz-dialog-close:active,.jz-slider-actions button:not(:disabled):active,.jz-backtop:active{transform:scale(.97);box-shadow:none}
.jz-category-tabs>a:active,.jz-pagination a[href]:active{transform:scale(.96)}
.jz-button:active,.jz-contact-button:active{background:#090b10;border-color:#090b10}
@media(max-width:960px){
 .jz-nav{top:calc(100% + 10px);left:24px;right:24px;padding:20px;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));max-height:calc(100dvh - 178px);overflow:auto;overscroll-behavior:contain;border:1px solid #e8ebef;border-radius:22px;box-shadow:0 24px 64px #151b2a24,0 4px 16px #151b2a0a;background:linear-gradient(145deg,#fff,#fafbfc)}
 .jz-nav.is-open{display:grid;animation:jz-menu-enter .2s ease-out}
 .jz-nav>a{width:auto;min-width:0;min-height:54px;border-radius:13px;padding:14px 16px;border:1px solid #e9edf2;background:#fff;gap:12px;transition:background .18s,border-color .18s,color .18s,transform .12s}
 .jz-nav>a:first-of-type{grid-column:1/-1}
 .jz-nav>a.is-current{background:#f4f5f8;border-color:#d5dae3;color:#17191f;font-weight:650;box-shadow:inset 3px 0 #d72338}
 .jz-nav>a:after,.jz-nav>a.is-current:after{display:none}
 .jz-nav .jz-nav-arrow{display:block;margin-left:auto;font-size:17px;color:#8b93a1;font-weight:400}
 .jz-nav-intro{display:block;grid-column:1/-1;padding:2px 2px 8px}
 .jz-nav-intro>span{display:block;font-size:19px;font-weight:650;color:#1d222c;letter-spacing:-.3px}
 .jz-nav-intro p{font-size:12px;line-height:1.6;color:#747c8a;margin-top:4px}
 .jz-nav>a:active{background:#e5e8ee}
}
@media(max-width:680px){
 .jz-nav{left:12px;right:12px;top:calc(100% + 8px);padding:16px;gap:9px;border-radius:20px;max-height:calc(100dvh - 165px)}
 .jz-nav>a{padding:13px 14px;font-size:14px;min-height:51px}
 .jz-nav-intro{padding:2px 2px 7px}
 .jz-category-tabs,.jz-page .jz-category-tabs{gap:4px;padding:6px;margin-bottom:24px;border-radius:16px;width:100%}
 .jz-category-tabs>a,.jz-page .jz-category-tabs>a{padding:9px 14px;font-size:13px}
 .jz-mobile-bar{padding:7px 12px calc(8px + env(safe-area-inset-bottom));gap:4px;box-shadow:0 -6px 28px #191b2107;background:rgba(255,255,255,.96);border-color:#eceef2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
 .jz-mobile-bar>a,.jz-mobile-bar>button{min-height:52px;padding:2px 0;gap:3px;border-radius:12px;color:#6b7280;font-size:11px;line-height:1.4;font-weight:500;transition:color .18s,background .18s,transform .12s}
 .jz-bar-icon{display:grid;place-items:center;width:50px;height:30px;border-radius:999px;transition:background .18s,color .18s,transform .12s}
 .jz-mobile-bar svg{width:20px;height:20px;stroke-width:1.7}
 .jz-mobile-bar .is-current,.jz-mobile-bar [aria-expanded="true"]{color:#191b21;font-weight:650}
 .jz-mobile-bar .is-current .jz-bar-icon,.jz-mobile-bar [aria-expanded="true"] .jz-bar-icon{background:#191b21;color:#fff;box-shadow:0 3px 8px #191b2114}
 .jz-mobile-bar>a:active,.jz-mobile-bar>button:active{background:#f1f3f6;transform:scale(.96)}
 .jz-mobile-bar>a:active .jz-bar-icon,.jz-mobile-bar>button:active .jz-bar-icon{background:#e4e7ed;color:#191b21}
 .jz-mobile-bar :focus-visible{outline-offset:-2px}
 .jz-backtop{bottom:calc(84px + env(safe-area-inset-bottom))}
 .jz-footer{padding-bottom:calc(86px + env(safe-area-inset-bottom))}
 .jz-slider-actions{max-width:108px;gap:8px}
 .jz-search-form{margin:24px auto;border-radius:30px}
 .jz-search-form input{padding:10px 12px}
 .jz-search-form .jz-button{min-width:70px;padding:10px 16px}
 .jz-call-dialog{position:fixed;inset:auto 0 0;width:100%;max-width:100%;max-height:90dvh;margin:0;padding:32px 24px calc(24px + env(safe-area-inset-bottom));border-radius:26px 26px 0 0;border-bottom:0}
 .jz-dialog-actions .jz-button,.jz-dialog-actions .jz-button-secondary{min-height:50px}
 .jz-dialog-phone{font-size:30px}
}
@media(prefers-reduced-motion:reduce){.jz-site *{transition:none!important;animation:none!important}.jz-site :is(a,button):active{transform:none!important}}
@media print{.jz-call-dialog,.jz-nav-backdrop{display:none!important}}
