/* About only: exchangeable photos, not an autoplay carousel. */
.factory-gallery { position:relative; display:grid; grid-template-columns:minmax(0,1fr) 148px; gap:0 80px; align-items:stretch; }
.factory-gallery .about-panorama { z-index:1; border-radius:30px; background:transparent; mask-image:linear-gradient(90deg,transparent,#000 16px,#000 calc(100% - 16px),transparent),linear-gradient(0deg,transparent,#000 16px,#000 calc(100% - 16px),transparent); mask-composite:intersect; }
.factory-gallery .about-panorama img { height:clamp(480px,39vw,540px); object-position:center; }
.factory-gallery img { transition-property:none; }
/* Reframe inside the covered image: never translate it out of the frame or fade away its bottom. */
.factory-gallery .about-panorama img[src$="factory-cd695a0354-1920.webp"] { object-position:50% 85%; }
.factory-gallery .about-panorama::after { content:none; background:none; }
.factory-gallery .about-panorama figcaption { left:32px; right:32px; bottom:30px; color:var(--white); text-shadow:0 1px 2px rgba(0,0,0,.35); }
.factory-gallery .about-panorama figcaption strong { font-size:clamp(2.4rem,4vw,3.6rem); }
.factory-gallery-wire { position:absolute; z-index:0; top:0; right:74px; width:154px; height:100%; overflow:visible; pointer-events:none; color:var(--blue-700); }
.factory-gallery-wire path { stroke:currentColor; stroke-width:1; opacity:.35; vector-effect:non-scaling-stroke; }
.factory-gallery-wire circle { fill:var(--red-600); }
.factory-gallery-orbits { display:flex; flex-direction:column; justify-content:space-between; position:relative; z-index:2; padding:0; }
.factory-gallery-orbit { position:relative; display:block; width:148px; height:148px; flex-shrink:0; padding:7px; border:1px solid rgba(36,70,140,.24); border-radius:50%; background:var(--paper); transition:border-color .25s,transform .35s; }
.factory-gallery-orbit img { display:block; width:100%; height:100%; object-fit:cover; border-radius:50%; }
.factory-gallery-orbit[href]:hover { transform:scale(1.045); border-color:var(--blue-700); }
.factory-gallery-orbit[href]:focus-visible { outline:2px solid var(--red-600); outline-offset:5px; }
.factory-gallery-orbit[aria-disabled="true"] { cursor:progress; }
.factory-gallery-pending { display:grid; place-items:center; border-style:dashed; background:var(--paper); color:var(--muted); }
.factory-gallery-pending::before { content:""; position:absolute; inset:8px; border:1px solid var(--border); border-radius:50%; }
.factory-gallery-pending span { font-size:.8rem; letter-spacing:.15em; }
.factory-gallery-status { grid-column:1/-1; font-size:.85rem; line-height:1.6; color:var(--muted); margin:12px 0 0; }
.factory-gallery-status:empty { display:none; }
.factory-gallery-status[data-state="success"], .factory-gallery-status[data-state="loading"] { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media(max-width:1000px) and (min-width:761px) {
  .factory-gallery { grid-template-columns:minmax(0,1fr) 108px; column-gap:42px; }
  .factory-gallery-orbit { width:108px; height:108px; }
  .factory-gallery-wire { right:54px; width:96px; }
  .factory-gallery-orbits { padding-block:4px; }
  .factory-gallery .about-panorama figcaption { grid-template-columns:1fr; gap:10px; }
  .factory-gallery .about-panorama figcaption strong { grid-column:auto; grid-row:auto; }
}
@media(max-width:760px) {
  .factory-gallery { grid-template-columns:1fr; row-gap:28px; }
  .factory-gallery .about-panorama { border-radius:24px; }
  .factory-gallery .about-panorama img { height:clamp(320px,64vw,410px); }
  .factory-gallery .about-panorama figcaption { bottom:22px; left:22px; right:22px; gap:8px; }
  .factory-gallery .about-panorama figcaption strong { font-size:2.6rem; }
  .factory-gallery .about-panorama figcaption > span:last-child { font-size:.85rem; }
  .factory-gallery-wire { display:none; }
  .factory-gallery-orbits { flex-direction:row; justify-content:space-between; padding-inline:12px; gap:14px; }
  .factory-gallery-orbits::before { content:""; position:absolute; left:40px; right:40px; top:50%; border-top:1px solid rgba(36,70,140,.3); z-index:-1; }
  .factory-gallery-orbits::after { content:""; position:absolute; left:50%; bottom:50%; height:calc(50% + 28px); border-left:1px solid rgba(36,70,140,.3); z-index:-1; }
  .factory-gallery-orbit { width:clamp(76px,21vw,112px); height:clamp(76px,21vw,112px); padding:5px; }
}
@media(prefers-reduced-motion:reduce) { .factory-gallery-orbit { transition:none; } .factory-gallery-orbit[href]:hover { transform:none; } }
