/* Real WebGL is scoped to the public hero. Operational UI stays untouched. */
.hero-art[data-three-state="loading"]:not([data-showcase-v4="1"])>:not(.zt3d-loading){visibility:hidden}
.zt3d-loading{position:absolute;z-index:3;right:0;top:1%;width:38%;height:94%;display:grid;align-content:center;justify-items:center;gap:20px;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .35s ease,visibility .35s}
.hero-art[data-three-state="loading"]>.zt3d-loading{opacity:1;visibility:visible}
.zt3d-loading small{font-size:11px;color:#607269;text-align:center;line-height:1.6}
.zt3d-skeleton{width:62%;height:clamp(240px,28vw,390px);position:relative;display:block}
.zt3d-skeleton i{display:block;height:71%;border-radius:20px;background:linear-gradient(110deg,#e1e8e3 10%,#f3f6f3 40%,#e1e8e3 70%);background-size:240% 100%;animation:zt3d-loading 2.4s ease-in-out infinite}
.zt3d-skeleton b{position:absolute;top:69%;left:39%;width:23%;height:26%;background:#e3eae5;border-radius:5px}
.zt3d-skeleton em{position:absolute;bottom:0;left:12%;width:80%;height:6%;border-radius:50%;background:#e3eae5}
@keyframes zt3d-loading{0%,100%{background-position:100% 0}50%{background-position:0 0}}
.zt3d-viewer{position:absolute;z-index:4;right:0;top:3%;width:33%;height:89%;opacity:0;pointer-events:none;transition:opacity .4s ease;--zt3d-color:#187350}
.hero-art[data-three-state="ready"] .zt3d-viewer{opacity:1;pointer-events:auto}
.hero-art:is([data-three-state="loading"],[data-three-state="ready"]) .zt4-totem{visibility:hidden;pointer-events:none}
.hero-art:is([data-three-state="loading"],[data-three-state="ready"]) .zt4-dashboard{width:64%}
.zt3d-surface{position:absolute;inset:24px 0 54px;width:100%;overflow:visible}
.zt3d-canvas{width:100%;height:100%;display:block;touch-action:pan-y;cursor:grab;outline:none}
.zt3d-canvas:focus-visible{border-radius:24px;outline:2px solid var(--zt3d-color,#187350);outline-offset:4px}
.zt3d-canvas.dragging{cursor:grabbing!important}
.zt3d-hint{position:absolute;top:1px;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:6px;font:600 10px/1.4 Inter,Arial,sans-serif;color:#63786e;white-space:nowrap}
.zt3d-hint i{width:6px;height:6px;border-radius:50%;background:var(--zt3d-color)}
.zt3d-controls{position:absolute;bottom:3px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:3px;padding:5px;border-radius:16px;border:1px solid #e1e9e3;background:#ffffffed;box-shadow:0 9px 25px #1c40200d;white-space:nowrap}
.zt3d-controls button{border:0;background:transparent;border-radius:11px;color:#193b2b;min-width:36px;min-height:36px;font-size:22px;font-weight:500;cursor:pointer;transition:background .2s,transform .2s}
.zt3d-controls button:hover{background:#edf5ee;transform:translateY(-1px)}
.zt3d-controls button:focus-visible,.zt3d-dialog button:focus-visible{outline:3px solid var(--zt3d-color,#187350);outline-offset:3px}
.zt3d-controls button[data-3d-control="expand"]{color:white;background:var(--zt3d-color);margin-left:2px}
.zt3d-live{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.zt3d-dialog{--zt3d-color:#187350;width:min(1020px,calc(100vw - 40px));max-width:none;max-height:calc(100dvh - 36px);padding:0;border:1px solid #ffffffbd;border-radius:28px;background:#f5f8f5;color:#193a2c;box-shadow:0 30px 100px #05221555;font-family:Inter,Arial,sans-serif;overflow:auto}
.zt3d-dialog::backdrop{background:#09291fd9;backdrop-filter:blur(7px)}
.zt3d-dialog>header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:25px 30px 18px;border-bottom:1px solid #dde7df;background:#ffffffc2}
.zt3d-dialog>header small{font-size:10px;font-weight:750;letter-spacing:.13em;color:var(--zt3d-color)}
.zt3d-dialog h2{font-size:24px;letter-spacing:-.04em;margin:7px 0 0;font-weight:750;line-height:1.25}
.zt3d-dialog [data-3d-control="close"]{display:grid;place-items:center;border:1px solid #dce6df;background:#fff;width:39px;height:39px;border-radius:50%;color:#315743;font-size:26px;cursor:pointer;flex-shrink:0}
.zt3d-dialog-body{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);padding:12px 25px 26px;gap:20px}
.zt3d-large-view{position:relative;height:min(580px,calc(100dvh - 160px));min-height:400px;border-radius:22px;background:radial-gradient(ellipse at 55% 70%,#dbe8db 0%,#edf3ec 40%,#f5f8f5 70%);overflow:hidden}
.zt3d-large-surface{position:absolute;inset:0 0 60px}
.zt3d-large-view .zt3d-controls{bottom:9px}
.zt3d-large-view .zt3d-controls button{min-width:39px;min-height:40px}
.zt3d-dialog-body>aside{padding:20px 14px;align-self:center;min-width:0}
.zt3d-modes{display:flex;gap:4px;background:#e8efe9;border-radius:15px;padding:5px;justify-content:space-between}
.zt3d-modes button{flex:1;border:0;background:transparent;min-height:41px;border-radius:11px;font-size:12px;font-weight:700;color:#596f61;cursor:pointer;padding:8px}
.zt3d-modes button[aria-selected="true"]{color:white;background:var(--zt3d-color);box-shadow:0 3px 7px #0c3b221c}
.zt3d-eyebrow{display:block;font-size:9px;font-weight:700;letter-spacing:.11em;color:var(--zt3d-color);margin-top:30px}
.zt3d-mode-title{font-size:30px;line-height:1.2;letter-spacing:-.04em;margin:10px 0 14px}
.zt3d-description{font-size:14px;line-height:1.7;color:#687d6f;margin:0 0 20px}
.zt3d-screen-actions{display:grid;grid-template-columns:1fr;gap:7px;max-height:248px;overflow:auto;padding:4px}
.zt3d-screen-actions>button{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:42px;border:1px solid #dae6dd;background:white;border-radius:12px;padding:11px 15px;font-size:12px;line-height:1.4;text-align:left;font-weight:600;color:#23412e;cursor:pointer}
.zt3d-screen-actions>button.selected{color:var(--zt3d-color);border-color:var(--zt3d-color);box-shadow:inset 3px 0 var(--zt3d-color)}
.zt3d-screen-actions>button:hover{background:#f3f8f3}
.zt3d-screen-actions>.zt3d-reset{background:transparent;color:#728272;border-color:transparent;font-size:11px;min-height:28px;padding:7px}
.zt3d-demo-link{width:100%;border:0;border-radius:13px;background:var(--zt3d-color);color:white;font-size:12px;font-weight:700;min-height:45px;margin-top:20px;padding:12px;cursor:pointer}
.zt3d-simulation{display:block;margin-top:12px;font-size:10px;line-height:1.6;color:#788878}
.zt3d-call-pulse{animation:zt3d-call .6s ease}
@keyframes zt3d-call{50%{box-shadow:0 0 0 7px #a8d4a740,0 18px 25px #12412730}}
@media(min-width:1280px){.hero.zt4-hero-layout{grid-template-columns:minmax(0,.72fr) minmax(0,1.42fr)!important}.hero-art.zt4-hero{height:650px!important}.zt3d-viewer{top:4%;height:86%;width:34%;right:-1%}.hero-art:is([data-three-state="loading"],[data-three-state="ready"]) .zt4-dashboard{height:65%}}
@media(min-width:1700px){.hero-art.zt4-hero{height:690px!important}.zt3d-hint{font-size:11px}.zt3d-controls button{min-width:40px;min-height:40px}}
@media(min-width:641px) and (max-width:980px){.hero-art.zt4-hero{height:650px!important}.zt3d-viewer{top:7%;height:83%;width:32%;right:0}.hero-art:is([data-three-state="loading"],[data-three-state="ready"]) .zt4-dashboard{width:64%;height:66%}.zt3d-hint{font-size:8px}.zt3d-controls button{min-width:30px;min-height:32px;font-size:20px}}
@media(max-width:640px){.hero-art.zt4-hero{height:800px!important}.hero-art:is([data-three-state="loading"],[data-three-state="ready"]) .zt4-dashboard{top:9%;height:39%;width:95%}.hero-art:is([data-three-state="loading"],[data-three-state="ready"]) .zt4-receipt{top:56%;left:3%;width:33%}.hero-art:is([data-three-state="loading"],[data-three-state="ready"]) .zt4-call{top:77%;left:3%;width:34%}.zt3d-viewer{top:49%;height:44%;width:57%;right:0}.zt3d-hint{font-size:8px}.zt3d-surface{inset:18px 0 49px}.zt3d-controls{gap:1px;padding:4px}.zt3d-controls button{min-width:31px;min-height:32px;font-size:20px}.zt3d-dialog{width:calc(100vw - 20px);border-radius:21px}.zt3d-dialog>header{padding:20px}.zt3d-dialog h2{font-size:19px}.zt3d-dialog-body{grid-template-columns:1fr;padding:10px 13px 20px;gap:0}.zt3d-large-view{height:430px;min-height:0}.zt3d-large-surface{inset:0 0 56px}.zt3d-dialog-body>aside{padding:17px 8px}.zt3d-eyebrow{margin-top:22px}.zt3d-mode-title{font-size:27px}.zt3d-description{font-size:13px}.zt3d-screen-actions{max-height:230px}}
@media(prefers-reduced-motion:reduce){.zt3d-viewer,.zt3d-controls button{transition:none}.zt3d-call-pulse{animation:none}}
/* V6: larger physical chassis, separated from the dashboard and the callout. */
.zt3d-controls button svg{width:28px;height:28px;vertical-align:middle}
.zt3d-controls button[data-3d-control="orbit"][aria-pressed="true"]{background:var(--zt3d-color);color:white}
.zt3d-controls button[data-3d-control="orbit"]{min-width:43px;min-height:43px}
.zt3d-viewer{width:38%;right:0;top:1%;height:94%}
.zt3d-surface{inset:22px 0 58px}
.hero-art:is([data-three-state="loading"],[data-three-state="ready"]) .zt4-dashboard{left:2%;width:59%}
.hero-art:is([data-three-state="loading"],[data-three-state="ready"]) .zt4-call{left:35%;width:25%}
.zt3d-dialog-body{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}
.zt3d-large-view{height:min(680px,calc(100dvh - 150px));min-height:440px}
.zt6-journey-dialog [data-journey-close]{display:grid;place-items:center;border:1px solid #dce6df;background:#fff;width:39px;height:39px;border-radius:50%;color:#315743;font-size:26px;cursor:pointer}
@media(min-width:981px){.hero-art.zt4-hero{height:720px!important}.zt3d-viewer{width:38%;height:94%;top:1%;right:0}.hero-art:is([data-three-state="loading"],[data-three-state="ready"]) .zt4-dashboard{height:62%;width:59%}}
@media(min-width:1280px){.hero.zt4-hero-layout{grid-template-columns:minmax(0,.64fr) minmax(0,1.5fr)!important}}
@media(min-width:1700px){.hero-art.zt4-hero{height:760px!important}}
@media(min-width:641px) and (max-width:980px){.hero-art.zt4-hero{height:720px!important}.zt3d-viewer{width:37%;right:0;top:1%;height:95%}.hero-art:is([data-three-state="loading"],[data-three-state="ready"]) .zt4-dashboard{width:59%;height:61%}}
@media(min-width:981px) and (max-width:1199px){.hero.zt4-hero-layout{grid-template-columns:1fr!important;gap:28px!important}.zt4-hero-layout .hero-copy{max-width:640px;margin:auto;text-align:center}.zt4-hero-layout .hero-copy h1{max-width:none}.zt4-hero-layout .hero-actions,.zt4-hero-layout .hero-proof{justify-content:center}.zt4-hero-layout .hero-copy>.eyebrow{max-width:none}.hero-art:is([data-three-state="loading"],[data-three-state="ready"]) .zt4-dashboard-main h3{font-size:24px}.hero-art:is([data-three-state="loading"],[data-three-state="ready"]) .zt4-dashboard .zt4-metric>strong{font-size:31px}.hero-art:is([data-three-state="loading"],[data-three-state="ready"]) .zt4-feed article>b{font-size:13px}.hero-art:is([data-three-state="loading"],[data-three-state="ready"]) .zt4-dashboard .zt4-badge{font-size:10px}}
@media(max-width:640px){.hero-art.zt4-hero{height:890px!important}.hero-art:is([data-three-state="loading"],[data-three-state="ready"]) .zt4-dashboard{width:95%;height:36%}.zt3d-viewer{width:63%;right:0;top:47%;height:49%}.hero-art:is([data-three-state="loading"],[data-three-state="ready"]) .zt4-receipt{top:57%;width:32%}.hero-art:is([data-three-state="loading"],[data-three-state="ready"]) .zt4-call{left:3%;top:78%;width:32%}.zt3d-large-view{height:540px;min-height:0}.zt3d-dialog-body{grid-template-columns:1fr}}
@media(max-width:640px){.zt3d-loading{width:63%;top:47%;height:49%;gap:12px}.zt3d-skeleton{height:280px}.zt3d-loading small{font-size:10px}}
@media(prefers-reduced-motion:reduce){.zt3d-skeleton i{animation:none}.zt3d-loading{transition:none}}

/* V8.1 — mesmos controles na visualização ampliada da jornada. */
.zt3d-journey-nav{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:8px;margin-top:16px}
.zt3d-journey-nav button{display:flex;align-items:center;justify-content:center;min-width:0;min-height:44px;padding:10px;border:1px solid #dce6df;border-radius:11px;background:#fff;color:#193c2f;font-family:inherit;font-weight:700;font-size:12px;line-height:1.4;cursor:pointer;transition:background .15s}
.zt3d-journey-nav button:hover:not(:disabled){background:#f1f5f1;border-color:var(--zt3d-color)}
.zt3d-journey-nav button:focus-visible{outline:2px solid var(--zt3d-color);outline-offset:3px}
.zt3d-journey-nav button:disabled{opacity:.45;cursor:default}
