/* Yuanze Editorial Image Motion System V1: explicit prototypes only. */
.yz-eim {
 --eim-geometry-ms:780ms; --eim-return-ms:820ms; --eim-image-ms:1050ms; --eim-text-ms:480ms;
 --eim-geometry-ease:cubic-bezier(.76,0,.24,1); --eim-image-ease:cubic-bezier(.16,1,.3,1);
 --eim-text-ease:cubic-bezier(.22,1,.36,1); --eim-gap:16px;
 --eim-overlay-default:.28; --eim-overlay-inactive:.34; --eim-overlay-active:.22;
 --eim-default-scale:1.015; --eim-inactive-scale:1.015; --eim-active-scale:1.035;
 --eim-mosaic-default:66fr 34fr; --eim-mosaic-left:70fr 30fr; --eim-mosaic-right:60fr 40fr;
 --eim-right-default:50fr 50fr; --eim-right-top:64fr 36fr; --eim-right-bottom:36fr 64fr;
 --eim-accordion-default:34fr 33fr 33fr; --eim-accordion-a:54fr 23fr 23fr;
 --eim-accordion-b:23fr 54fr 23fr; --eim-accordion-c:23fr 23fr 54fr;
 position:relative; min-width:0; margin:0; gap:var(--eim-gap); isolation:isolate;
}
.yz-eim[data-eim-return="true"] { --eim-geometry-ms:var(--eim-return-ms); }
.yz-eim-mosaic { display:grid; grid-template-columns:var(--eim-mosaic-default); grid-template-rows:minmax(0,1fr); height:624px; transition:grid-template-columns var(--eim-geometry-ms) var(--eim-geometry-ease); }
.yz-eim-mosaic[data-eim-active="0"] { grid-template-columns:var(--eim-mosaic-left); }
.yz-eim-mosaic[data-eim-active="1"],.yz-eim-mosaic[data-eim-active="2"] { grid-template-columns:var(--eim-mosaic-right); }
.yz-eim-side { display:grid; grid-template-rows:var(--eim-right-default); min-width:0; min-height:0; gap:var(--eim-gap); transition:grid-template-rows var(--eim-geometry-ms) var(--eim-geometry-ease); }
.yz-eim-mosaic[data-eim-active="1"] .yz-eim-side { grid-template-rows:var(--eim-right-top); }
.yz-eim-mosaic[data-eim-active="2"] .yz-eim-side { grid-template-rows:var(--eim-right-bottom); }
.yz-eim-accordion { display:grid; grid-template-columns:var(--eim-accordion-default); grid-template-rows:minmax(0,1fr); height:560px; transition:grid-template-columns var(--eim-geometry-ms) var(--eim-geometry-ease); }
.yz-eim-accordion[data-eim-active="0"] { grid-template-columns:var(--eim-accordion-a); }
.yz-eim-accordion[data-eim-active="1"] { grid-template-columns:var(--eim-accordion-b); }
.yz-eim-accordion[data-eim-active="2"] { grid-template-columns:var(--eim-accordion-c); }
.yz-eim-manufacturing { height:768px; }
.yz-eim .yz-eim-panel { --eim-focal-x:var(--eim-base-x); --eim-focal-y:var(--eim-base-y); position:relative; grid-area:auto; height:100%; min-height:0; min-width:0; margin:0; overflow:hidden; cursor:default; background:#153e33; }
.yz-eim .yz-eim-panel::after { content:""; pointer-events:none; position:absolute; inset:0; background:linear-gradient(180deg,rgba(8,37,31,.16),rgba(8,37,31,.78)); opacity:var(--eim-overlay,var(--eim-overlay-default)); transition:opacity var(--eim-text-ms) var(--eim-text-ease); }
.yz-eim .yz-eim-panel > img,.yz-eim .yz-eim-panel:hover > img {
 display:block; width:100%; height:100%; object-fit:cover;
 object-position:var(--eim-focal-x,50%) var(--eim-focal-y,50%);
 transform:scale(var(--eim-scale,var(--eim-default-scale)));
 transition:transform var(--eim-image-ms) var(--eim-image-ease),object-position var(--eim-image-ms) var(--eim-image-ease);
}
.yz-eim[data-eim-active]:not([data-eim-active="none"]) .yz-eim-panel { --eim-overlay:var(--eim-overlay-inactive); --eim-scale:var(--eim-inactive-scale); }
.yz-eim[data-eim-active]:not([data-eim-active="none"]) .yz-eim-panel[data-eim-emphasis="true"] { --eim-overlay:var(--eim-overlay-active); --eim-scale:var(--eim-active-scale); --eim-focal-x:var(--eim-active-x); --eim-focal-y:var(--eim-active-y); }
.yz-eim .yz-eim-panel figcaption {
 position:absolute; inset:auto 0 0; z-index:1; display:flex; flex-direction:column; align-items:flex-start;
 justify-content:flex-start; gap:6px; padding:14px 12px; min-width:0; margin:0; height:128px; box-sizing:border-box;
 background:rgba(8,37,31,.80); backdrop-filter:none; color:#f7f3ec;
}
.yz-eim .yz-eim-panel figcaption > span { display:block; max-width:100%; font:600 8.5px/1.4 var(--font-sans,Arial); letter-spacing:.035em; overflow-wrap:anywhere; opacity:1; transform:none; }
.yz-eim .yz-eim-panel figcaption > small { display:block; max-width:100%; font:400 8.5px/1.4 var(--font-sans,Arial); opacity:1; transform:none; overflow-wrap:anywhere; }
.yz-eim-panel-title { display:flex; align-items:center; gap:8px; margin:0 0 3px; max-width:100%; color:#f7f3ec; font:400 clamp(14px,1.1vw,19px)/1.15 var(--font-display,Georgia); opacity:.86; transition:opacity var(--eim-text-ms) var(--eim-text-ease); }
.yz-eim-panel[data-eim-emphasis="true"] .yz-eim-panel-title { opacity:1; }
.yz-eim-accordion .yz-eim-panel figcaption { height:144px; }
.yz-eim-mosaic .yz-eim-panel figcaption { height:96px; }
.yz-eim-index { display:flex; flex-direction:column; gap:4px; flex:none; font:500 8px/1.1 var(--font-sans,Arial); letter-spacing:.06em; color:#cbb97d; }
.yz-eim-index::after { content:""; width:18px; height:1px; background:currentColor; transition:width 420ms var(--eim-text-ease); }
.yz-eim-panel[data-eim-emphasis="true"] .yz-eim-index::after { width:38px; }
.yz-eim .yz-eim-panel:focus-visible { outline:2px solid #cbb97d; outline-offset:-3px; }
.yz-eim[data-eim-ready="true"][data-eim-seen="false"] { opacity:0; transform:translateY(24px); }
.yz-eim[data-eim-ready="true"] { transition:opacity 780ms var(--eim-image-ease),transform 780ms var(--eim-image-ease),grid-template-columns var(--eim-geometry-ms) var(--eim-geometry-ease); }
/* Keep the existing manufacturing text, but never cover an image's governance strip. */
.v2-manufacturing-canvas:has(.yz-eim) .v2-floating-copy { position:relative; right:auto; bottom:auto; margin:32px 0 0 auto; }
@media (min-width:768px) and (max-width:1199px) {
 .yz-eim-mosaic { height:624px; }
 .yz-eim-manufacturing { height:608px; }
 .yz-eim-rd { height:560px; }
}
@media (max-width:767px) {
 .yz-eim[data-eim-ready="true"],.yz-eim[data-eim-ready="true"][data-eim-seen="false"] { opacity:1; transform:none; transition:none; }
 .yz-eim-mosaic { display:flex; height:448px; grid-template-columns:none; grid-template-rows:none; overflow-x:auto; margin:0; gap:16px; scroll-snap-type:x proximity; scrollbar-width:none; overscroll-behavior-x:contain; touch-action:pan-x pan-y; }
 .yz-eim-mosaic::-webkit-scrollbar { display:none; }
 .yz-eim-mosaic .yz-eim-side { display:contents; }
 .yz-eim-mosaic .yz-eim-panel { flex:0 0 86%; min-height:0; height:448px; scroll-snap-align:start; }
 .yz-eim-accordion { display:grid; grid-template-columns:minmax(0,1fr)!important; grid-template-rows:none; height:auto; gap:16px; transition:none; }
 .yz-eim-accordion .yz-eim-panel { height:clamp(272px,70vw,336px); }
 .yz-eim[data-eim-active] .yz-eim-panel { --eim-overlay:var(--eim-overlay-default); --eim-scale:1; --eim-focal-x:var(--eim-base-x); --eim-focal-y:var(--eim-base-y); }
 .yz-eim .yz-eim-panel[data-eim-entered="false"] > img { transform:scale(1.025); }
 .yz-eim .yz-eim-panel-title { opacity:1; transform:translateY(0); transition:opacity 620ms var(--eim-text-ease),transform 620ms var(--eim-image-ease); }
 .yz-eim .yz-eim-panel[data-eim-entered="false"] .yz-eim-panel-title { opacity:0; transform:translateY(12px); }
 .yz-eim .yz-eim-panel figcaption { height:128px; padding:16px; }
 .yz-eim .yz-eim-panel figcaption > span,.yz-eim .yz-eim-panel figcaption > small { font-size:9px; }
 .v2-manufacturing-canvas:has(.yz-eim) .v2-floating-copy { width:100%; padding:24px; margin-top:24px; }
}
@media (prefers-reduced-motion:reduce) {
 .yz-eim,.yz-eim[data-eim-ready="true"],.yz-eim[data-eim-ready="true"][data-eim-seen="false"] { opacity:1; transform:none; transition:none; }
 .yz-eim-mosaic[data-eim-active] { grid-template-columns:var(--eim-mosaic-default); }
 .yz-eim-mosaic .yz-eim-side,.yz-eim-mosaic[data-eim-active] .yz-eim-side { grid-template-rows:var(--eim-right-default); transition:none; }
 .yz-eim-accordion[data-eim-active] { grid-template-columns:var(--eim-accordion-default); }
 .yz-eim .yz-eim-panel,.yz-eim .yz-eim-panel > img,.yz-eim .yz-eim-panel:hover > img { --eim-focal-x:var(--eim-base-x); --eim-focal-y:var(--eim-base-y); --eim-overlay:var(--eim-overlay-default); transition:none; transform:none; }
 .yz-eim .yz-eim-panel-title,.yz-eim .yz-eim-panel[data-eim-entered="false"] .yz-eim-panel-title { opacity:1; transform:none; transition:none; }
 .yz-eim-index::after { transition:none; }
}
/* Discrete responsive end layouts; only the shared engine owns visible attention motion. */
.yz-eim[data-eim-engine="transform-first"] { transition:opacity 780ms var(--eim-image-ease),transform 780ms var(--eim-image-ease); }
.yz-eim[data-eim-engine="transform-first"] .yz-eim-side { transition:none; }
.yz-eim[data-eim-engine="transform-first"] .yz-eim-panel::after { opacity:var(--eim-live-overlay,.28); transition:none; }
.yz-eim[data-eim-engine="transform-first"] .yz-eim-panel-title { opacity:var(--eim-live-title,.84); transition:none; }
.yz-eim[data-eim-engine="transform-first"] .yz-eim-index::after { width:18px; transform-origin:left center; transform:scaleX(var(--eim-live-rule,1)); transition:none; }
@media (min-width:768px) {
 .yz-eim[data-eim-engine="transform-first"] .yz-eim-panel { transform-origin:0 0; will-change:transform; }
 .yz-eim[data-eim-engine="transform-first"] .yz-eim-panel > img { position:absolute; left:0; top:0; max-width:none; object-fit:fill; transform-origin:0 0; transition:none!important; }
 .yz-eim[data-eim-engine="transform-first"] .yz-eim-panel figcaption { background:transparent; transform-origin:left bottom; }
 .yz-eim[data-eim-engine="transform-first"] .yz-eim-panel figcaption::before { content:""; position:absolute; inset:0; z-index:-1; background:rgba(8,37,31,.80); transform-origin:left bottom; transform:scaleX(var(--eim-caption-background-scale,1)); }
 .yz-eim[data-eim-engine="transform-first"] .yz-eim-panel figcaption > * { width:var(--eim-caption-safe-width); max-width:100%; box-sizing:border-box; }
}
@media (max-width:767px) {
 .yz-eim[data-eim-engine="transform-first"] { transition:none; }
 .yz-eim[data-eim-engine="transform-first"] .yz-eim-panel-title { opacity:1; transition:opacity 620ms var(--eim-text-ease),transform 620ms var(--eim-image-ease); }
 .yz-eim[data-eim-engine="transform-first"] .yz-eim-panel[data-eim-entered="false"] .yz-eim-panel-title { opacity:0; }
}
@media (prefers-reduced-motion:reduce) {
 .yz-eim[data-eim-engine="transform-first"],.yz-eim[data-eim-engine="transform-first"] .yz-eim-panel-title { transition:none; }
}
