/* Concept gallery: existing company palette surrounds the supplied artwork. */
#zn-site .zn-showcase-wrap{max-width:1440px;margin-inline:auto}
#zn-site .zn-showcase-intro{max-width:800px}
#zn-site .zn-showcase-controls{display:flex;gap:16px;flex-wrap:wrap;margin:28px 0 12px;align-items:end}
#zn-site .zn-showcase-controls label{display:grid;gap:7px;min-width:0;font-size:14px;font-weight:700;flex:1 1 220px;max-width:340px}
#zn-site .zn-showcase-controls select{min-height:46px;max-width:100%;min-width:0;width:100%;padding:10px 34px 10px 12px;background:#0d151e;border:1px solid #667b8d;border-radius:8px;color:var(--zn-text);font:inherit;font-size:16px}
#zn-site .zn-showcase-count{font-size:13px;color:var(--zn-muted);margin:0 0 20px}
#zn-site .zn-showcase-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
#zn-site .zn-concept-card{min-width:0;margin:0;border:1px solid var(--zn-line);border-radius:14px;overflow:hidden;background:var(--zn-panel);display:flex;flex-direction:column}
#zn-site .zn-concept-open{display:block;color:var(--zn-text);text-decoration:none}
#zn-site .zn-concept-open img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#0b1018}
#zn-site .zn-concept-open>span{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:10px 18px;font-size:13px;background:#162330;color:#dcebf5}
#zn-site .zn-concept-open:hover>span{background:#24394a}
#zn-site .zn-concept-card figcaption{padding:22px 20px;flex:1}
#zn-site .zn-concept-direction{font-size:12px;letter-spacing:.04em;color:#bacbd8;display:block;margin-bottom:9px}
#zn-site .zn-concept-card h3{font-size:23px;line-height:1.2;margin-bottom:13px}
#zn-site .zn-concept-card p{font-size:14px;color:var(--zn-muted);margin-bottom:14px}
#zn-site .zn-concept-card .zn-concept-disclosure{font-size:12px;line-height:1.5;border-top:1px solid var(--zn-line);padding-top:13px;margin-bottom:0;color:#d5dee6}
#zn-site .zn-component-links{display:flex;gap:6px 16px;flex-wrap:wrap;margin:12px 0 0}
#zn-site .zn-component-links a{display:inline-flex;align-items:center;min-height:44px;font-size:13px}
#zn-site .zn-showcase-scope{margin-top:28px;max-width:900px;color:var(--zn-muted);font-size:14px}
#zn-site .zn-showcase-services{display:flex;flex-wrap:wrap;gap:8px 24px}
#zn-site .zn-showcase-services a{min-height:44px;display:inline-flex;align-items:center;font-size:14px}
#zn-site .zn-concept-dialog{border:1px solid #536a7b;border-radius:14px;background:#0b131c;color:var(--zn-text);padding:0;width:calc(100% - 32px);max-width:1660px;max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain;box-shadow:0 20px 90px #0009}
#zn-site .zn-concept-dialog::backdrop{background:rgb(0 0 0 / .86)}
#zn-site .zn-concept-dialog:not([open]){display:none}
#zn-site .zn-viewer-head{position:sticky;top:0;z-index:1;background:#0b131c;border-bottom:1px solid #304353;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}
#zn-site .zn-viewer-head h2{font-size:clamp(19px,2.4vw,27px);line-height:1.2;margin:0;overflow-wrap:break-word;min-width:0;flex:1 1 auto}
#zn-site .zn-viewer-close{flex:none;min-height:44px;min-width:72px;cursor:pointer;width:auto}
#zn-site .zn-viewer-tools{display:flex;flex-wrap:wrap;gap:10px 20px;align-items:center;padding:14px 20px}
#zn-site .zn-viewer-tools .zn-button{font-size:13px;cursor:pointer}
#zn-site .zn-viewer-tools a{display:inline-flex;align-items:center;min-height:44px;font-size:13px}
#zn-site .zn-viewer-help{font-size:13px;color:var(--zn-muted);padding:0 20px}
#zn-site .zn-viewer-stage{margin:0 20px;overflow:auto;max-height:65dvh;background:#05090e;border:1px solid #304353;overscroll-behavior:contain}
#zn-site .zn-viewer-stage img{display:block;width:100%;height:auto;max-width:var(--concept-max,1300px);margin:auto}
#zn-site .zn-viewer-stage[data-zoom='true'] img{width:var(--concept-max,1300px);max-width:none}
#zn-site .zn-viewer-caption{padding:18px 20px 24px}
#zn-site .zn-viewer-caption p{font-size:14px;margin-bottom:12px}
#zn-site .zn-viewer-caption .zn-concept-disclosure{font-size:13px;color:#d5dee6}
#zn-site .zn-viewer-nav{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:18px}
#zn-site .zn-viewer-nav button{cursor:pointer}
#zn-site .zn-concept-dialog :focus-visible,#zn-site .zn-showcase-wrap :focus-visible{outline:3px solid #c5ddeb;outline-offset:3px}
#zn-site .zn-concept-open:focus-visible{outline-offset:-4px}
#zn-site.zn-viewer-open{overflow:hidden}
@media(max-width:1050px){#zn-site .zn-showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){#zn-site .zn-showcase-grid{grid-template-columns:minmax(0,1fr);gap:22px}#zn-site .zn-showcase-controls label{max-width:none;flex-basis:100%}#zn-site .zn-concept-dialog{width:calc(100% - 12px);max-height:calc(100dvh - 12px);border-radius:10px}#zn-site .zn-viewer-head{padding:12px}#zn-site .zn-viewer-tools{padding:12px}#zn-site .zn-viewer-stage{margin:0 12px}#zn-site .zn-viewer-help{padding:0 12px}#zn-site .zn-viewer-caption{padding:16px 12px}#zn-site .zn-concept-card figcaption{padding:20px}}
