/* Scoped additions: keep the existing homepage and MinerPower design intact. */
.lm-showcase {
  --sc-text: #101615;
  --sc-muted: #62716d;
  --sc-line: rgba(16,22,21,.13);
  --sc-surface: #fff;
  --sc-accent: #246047;
  color: var(--sc-text);
  scroll-margin-top: 90px;
}
.lm-showcase [hidden] { display:none !important; }
.mp-main .lm-showcase {
  --sc-text: var(--mp-text);
  --sc-muted: var(--mp-muted);
  --sc-line: var(--mp-line);
  --sc-surface: var(--mp-panel);
  --sc-accent: var(--mp-accent);
}
.sc-head { display:flex; align-items:end; justify-content:space-between; gap:28px; margin-bottom:28px; }
.sc-kicker { margin:0 0 12px; color:var(--sc-accent); font-size:12px; font-weight:600; }
.sc-head h2 { margin:0; font-size:var(--lm-type-section,34px); line-height:1.16; }
.sc-head > p { max-width:430px; color:var(--sc-muted); font-size:15px; line-height:1.65; margin:0; }
.sc-product-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.sc-product { min-width:0; border:1px solid var(--sc-line); border-radius:18px; overflow:hidden; background:var(--sc-surface); }
.sc-product-media { display:block; overflow:hidden; background:#f3f6f3; aspect-ratio:1.8; }
.sc-product-media img { width:100%; height:100%; object-fit:contain; transition:transform 250ms ease; }
.sc-product-media:hover img { transform:scale(1.025); }
.sc-product-copy { padding:24px 26px 26px; }
.sc-product-copy .sc-number { display:block; color:var(--sc-muted); font-size:12px; margin-bottom:10px; }
.sc-product-copy h3 { margin:0 0 12px; font-size:21px; line-height:1.3; }
.sc-product-copy p { color:var(--sc-muted); font-size:15px; margin:0; line-height:1.65; }
.sc-tags { margin-top:18px !important; font-size:12px !important; }
.sc-links { display:flex; align-items:center; gap:22px; flex-wrap:wrap; margin-top:22px; }
.sc-links a { color:var(--sc-accent); font-size:14px; font-weight:600; min-height:44px; display:inline-flex; align-items:center; gap:8px; }
.sc-links a::after { content:"›"; font-size:20px; font-weight:400; }
.sc-links a:hover { text-decoration:underline; text-underline-offset:5px; }
.sc-structure { margin-top:42px; padding:38px 0; border-top:1px solid var(--sc-line); border-bottom:1px solid var(--sc-line); }
.sc-split { display:grid; grid-template-columns:minmax(250px,.7fr) minmax(0,1.5fr); align-items:center; gap:40px; }
.sc-split h2 { margin:0 0 20px; font-size:var(--lm-type-section,34px); line-height:1.2; }
.sc-split p { color:var(--sc-muted); font-size:15px; line-height:1.7; }
.sc-explosion-image { display:block; position:relative; aspect-ratio:1.8; overflow:hidden; border-radius:14px; background:#f4f7f4; }
.sc-explosion-image img { width:100%; height:124%; max-width:none; position:absolute; top:-12%; object-fit:cover; }
.sc-scene-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.sc-scene { min-width:0; padding-bottom:24px; border-bottom:1px solid var(--sc-line); }
.sc-scene-media { display:block; overflow:hidden; aspect-ratio:1.6; border-radius:14px; background:#f3f6f1; }
.sc-scene-media img { width:100%; height:100%; object-fit:cover; }
.sc-capacity { margin:22px 0 12px; display:flex; align-items:baseline; gap:6px; }
.sc-capacity strong { font-size:38px; line-height:1; font-weight:600; letter-spacing:-.04em; }
.sc-capacity span { font-size:15px; }
.sc-capacity small { margin-left:auto; color:var(--sc-muted); font-size:12px; }
.sc-scene h3 { font-size:18px; line-height:1.5; margin:0 0 10px; }
.sc-scene > p { color:var(--sc-muted); font-size:14px; line-height:1.7; margin:0; }
.sc-note { color:var(--sc-muted); font-size:12px !important; line-height:1.7 !important; margin:22px 0 0; }
.sc-home-feature { background:#fff; border:1px solid var(--sc-line); border-radius:24px; overflow:hidden; }
.sc-home-feature .sc-split { gap:0; }
.sc-home-copy { padding:40px 34px; }
.sc-home-image { display:block; background:#f3f6f1; height:100%; min-height:350px; }
.sc-home-image img { display:block; width:100%; height:100%; object-fit:cover; }
.sc-home-scenes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; padding:22px 34px; border-top:1px solid var(--sc-line); }
.sc-home-scenes a { display:grid; gap:8px; font-size:14px; line-height:1.55; }
.sc-home-scenes strong { font-size:23px; color:var(--sc-accent); font-weight:600; }
.sc-home-scenes a:hover span { text-decoration:underline; text-underline-offset:4px; }
.mp-experience .mp-header-shell { position:relative; left:auto; transform:none; width:100%; padding-top:18px; }
.mp-experience main { padding:38px 0 56px; }
.sc-breadcrumb { color:var(--sc-muted); display:flex; flex-wrap:wrap; gap:10px; font-size:12px; margin-bottom:28px; }
.sc-breadcrumb a:hover { color:var(--sc-accent); }
.sc-experience-heading { display:flex; justify-content:space-between; gap:28px; align-items:end; margin-bottom:30px; }
.sc-experience-heading h1 { margin:0; font-size:clamp(28px,3.4vw,42px); line-height:1.17; }
.sc-experience-heading p { max-width:500px; color:var(--sc-muted); margin:12px 0 0; font-size:15px; line-height:1.65; }
.sc-selector { display:flex; gap:8px; flex-wrap:wrap; margin:0 0 24px; }
.sc-selector button,.sc-control-button { cursor:pointer; font:inherit; border:1px solid var(--sc-line); background:transparent; color:var(--sc-muted); min-height:44px; padding:10px 17px; border-radius:8px; font-size:14px; }
.sc-selector button[aria-pressed="true"] { color:var(--sc-text); background:rgba(70,211,164,.1); border-color:rgba(70,211,164,.5); }
.sc-selector button:hover,.sc-control-button:hover { color:var(--sc-text); border-color:var(--sc-accent); }
.sc-viewer { border:1px solid var(--sc-line); border-radius:18px; overflow:hidden; background:var(--sc-surface); }
.sc-viewer-top { padding:20px 24px; display:flex; gap:20px; justify-content:space-between; align-items:center; }
.sc-viewer-top h2 { font-size:18px; margin:0; }
.sc-viewer-top p { color:var(--sc-muted); font-size:12px; margin:6px 0 0; }
.sc-viewer-top .sc-selector { margin:0; }
.sc-stage { position:relative; width:100%; height:clamp(400px,54vw,660px); background:#f4f7f4; color:#17221d; isolation:isolate; }
.sc-stage canvas,.sc-stage > img { position:absolute; inset:0; width:100%; height:100%; display:block; }
.sc-stage canvas[hidden],.sc-stage > img[hidden],.sc-load-panel[hidden] { display:none; }
.sc-stage > img { object-fit:contain; }
.sc-stage.is-exploded > img { object-fit:cover; height:124%; top:-12%; }
.sc-load-panel { position:absolute; inset:0; display:grid; place-content:center; justify-items:center; padding:24px; background:rgba(244,247,244,.7); text-align:center; z-index:2; }
.sc-load-panel p { max-width:430px; margin:12px 0 0; color:#47594e; font-size:13px; line-height:1.6; }
.sc-load-button { border:1px solid #246047; background:#246047; color:#fff; min-height:48px; padding:12px 25px; border-radius:999px; cursor:pointer; font:600 14px var(--lm-font-text); }
.sc-load-button:disabled { cursor:wait; opacity:.6; }
.sc-stage-status { position:absolute; left:20px; top:16px; z-index:1; font-size:12px; color:#465b4e; background:rgba(244,247,244,.88); padding:5px 9px; border-radius:5px; pointer-events:none; max-width:calc(100% - 40px); }
.sc-help { position:absolute; bottom:16px; right:20px; font-size:12px; color:#465b4e; background:rgba(244,247,244,.88); padding:5px 9px; pointer-events:none; }
.sc-controls { display:flex; flex-wrap:wrap; gap:10px; align-items:center; padding:16px 24px; }
.sc-controls [hidden] { display:none; }
.sc-controls label { color:var(--sc-muted); font-size:12px; display:flex; align-items:center; gap:10px; }
.sc-controls select { color:var(--sc-text); background:var(--sc-surface); border:1px solid var(--sc-line); min-height:44px; border-radius:8px; padding:8px 10px; font:inherit; max-width:100%; }
.sc-scrubber { flex:1; min-width:160px; }
.sc-scrubber input { width:100%; accent-color:var(--sc-accent); min-height:40px; }
.sc-controls button:disabled,.sc-controls select:disabled,.sc-controls input:disabled { opacity:.45; cursor:default; }
.sc-controls output { font-size:12px; font-variant-numeric:tabular-nums; white-space:nowrap; }
.sc-viewer:fullscreen { background:var(--mp-bg); padding:18px; display:flex; flex-direction:column; border:0; border-radius:0; overflow:auto; }
.sc-viewer:fullscreen .sc-stage { height:auto; flex:1; min-height:260px; }
.sc-experience-footer { border-top:1px solid var(--sc-line); margin-top:30px; padding-top:24px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:15px; font-size:13px; color:var(--sc-muted); }
.sc-experience-footer a { color:var(--sc-accent); }
@media(max-width:920px) {
  .sc-head,.sc-experience-heading { flex-direction:column; align-items:start; gap:16px; }
  .sc-head > p { max-width:650px; }
  .sc-scene-grid { grid-template-columns:1fr; gap:30px; }
  .sc-scene { display:grid; grid-template-columns:1.2fr 1fr; gap:0 24px; }
  .sc-scene-media { grid-row:span 4; aspect-ratio:1.4; }
  .sc-capacity { margin-top:6px; }
  .sc-split { grid-template-columns:1fr; gap:24px; }
  .sc-home-image { min-height:0; aspect-ratio:1.6; }
  .sc-home-image img { height:100%; }
  .sc-home-copy { padding:28px; }
  .sc-viewer-top { align-items:start; flex-direction:column; }
}
@media(max-width:600px) {
  .sc-product-grid,.sc-home-scenes { grid-template-columns:1fr; }
  .sc-product-copy { padding:22px; }
  .sc-product-copy h3 { font-size:19px; }
  .sc-home-scenes { padding:18px 24px; gap:0; }
  .sc-home-scenes a { display:flex; align-items:center; gap:18px; padding:16px 0; border-bottom:1px solid var(--sc-line); }
  .sc-home-scenes a:last-child { border:0; }
  .sc-home-scenes strong { min-width:84px; }
  .sc-scene { display:block; }
  .sc-capacity { margin-top:20px; }
  .sc-head h2,.sc-split h2 { font-size:26px; }
  .sc-viewer-top,.sc-controls { padding:16px; }
  .sc-stage { height:400px; }
  .sc-controls { gap:8px; }
  .sc-controls label { flex-wrap:wrap; }
  .sc-controls select { max-width:260px; }
  .sc-selector { gap:7px; }
  .sc-selector button { font-size:12px; padding:9px 12px; }
  .sc-help { left:16px; right:auto; bottom:12px; font-size:11px; }
  .sc-scrubber { order:5; flex-basis:100%; }
}
@media(prefers-reduced-motion:reduce) { .lm-showcase * { scroll-behavior:auto; transition:none !important; } }

/* Exhibition revision: geometry floats on the existing dark surface. */
.sc-product-media,.sc-explosion-image,.sc-scene-media,.sc-home-image { background:transparent; }
.sc-stage { background:#071018; overflow:hidden; }
.sc-stage > img,.sc-explosion-image img { width:100%; height:100%; top:0; object-fit:contain; position:absolute; inset:0; }
.sc-product-media,.sc-scene-media,.sc-explosion-image,.sc-home-image { position:relative; overflow:hidden; }
.sc-home-image { aspect-ratio:1.6; }
.sc-home-image > img { width:100%; height:100%; object-fit:contain; }
.sc-auto-canvas { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.sc-stage.is-playing > img,.sc-product-media.is-playing > img,.sc-scene-media.is-playing > img,.sc-explosion-image.is-playing > img,.sc-home-image.is-playing > img { opacity:0; }
.sc-stage-status { color:rgba(230,238,244,.72); background:rgba(7,16,24,.8); }
.sc-home-feature { --sc-text:#f2f7fb; --sc-muted:rgba(230,238,244,.68); --sc-accent:#46d3a4; --sc-line:rgba(255,255,255,.12); background:#071018; color:var(--sc-text); }

/* Homepage scene gallery: open light canvas, restrained rules and native media. */
#deployment-preview.sc-home-gallery { gap:30px; background:var(--page-bg,#f4f6f4); }
#deployment-scenes.sc-deployment-gallery { --sc-gallery-bg:#050b10; display:grid; gap:30px; padding:38px 0; border-top:1px solid var(--sc-line); background:var(--sc-gallery-bg); isolation:isolate; }
/* Merge the encoded dark matte with the page without exposing the poster beneath the video. */
.sc-deployment-gallery .sc-home-frame { mix-blend-mode:lighten; }
.sc-home-head { margin-bottom:0; align-items:start; }
.sc-home-head h2 { max-width:620px; font-size:clamp(28px,3vw,38px); letter-spacing:-.035em; line-height:1.23; }
.sc-home-head > p { max-width:390px; padding-top:24px; }
.sc-home-gallery-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; align-items:start; }
.sc-home-gallery-grid article { min-width:0; }
.sc-home-scene { display:block; min-width:0; height:auto; border:0; box-shadow:none; }
/* Size media from the column width, independent of nested grid row heights. */
.sc-home-frame { position:relative; width:100%; height:0; padding-top:70%; overflow:hidden; background:var(--sc-gallery-bg,var(--page-bg,#f4f6f4)); }
.sc-home-frame > img,.sc-home-frame > video { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:contain; }
/* Decorative media must never retain a native video focus ring. Keep CTA focus styles separate. */
.sc-home-frame,.sc-home-frame > img,.sc-home-frame > video,.sc-home-frame > video:focus,.sc-home-frame > video:focus-visible { border:0; outline:none; box-shadow:none; }
/* Keep the video visible before playback: Safari can defer transparent media.
   Its native poster supplies the first frame without exposing a blank canvas. */
.sc-home-frame > video { opacity:1; pointer-events:none; }
.sc-product-media { position:relative; }
.sc-film { position:absolute; inset:0; display:block; overflow:hidden; background:#071018; }
.sc-film > img,.sc-film > video { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; border:0; outline:none; box-shadow:none; }
.sc-film > video { opacity:1; pointer-events:none; }
.sc-product-media:hover .sc-film > img { transform:none; }
.sc-film.has-media-error > video,.sc-home-frame.has-media-error > video,.sc-film.is-reduced-motion > video,.sc-home-frame.is-reduced-motion > video { display:none; }
.sc-film > video:focus,.sc-film > video:focus-visible { outline:none; box-shadow:none; }
.sc-home-caption { border-top:1px solid var(--sc-line); padding-top:20px; transition:border-color 180ms ease; }
.sc-home-caption h3 { min-height:2.8em; margin:0; color:var(--sc-text); font-size:clamp(18px,1.7vw,22px); font-weight:600; line-height:1.4; letter-spacing:-.02em; }
.sc-home-caption p { margin:8px 0 0; color:var(--sc-muted); font-size:13px; line-height:1.6; overflow-wrap:anywhere; }
.sc-home-action { display:inline-flex; align-items:center; gap:10px; min-height:44px; margin-top:12px; color:var(--sc-accent); font-size:14px; font-weight:600; }
.sc-home-action::after { content:'›'; font-size:20px; font-weight:400; transition:transform 180ms ease; }
.sc-home-action:focus { outline:none; }
.sc-home-action:focus-visible { outline:2px solid var(--sc-accent); outline-offset:4px; border-radius:2px; }
@media(hover:hover) and (pointer:fine) {
  .sc-home-scene:hover .sc-home-caption { border-top-color:var(--sc-accent); }
  .sc-home-scene:hover .sc-home-action::after { transform:translateX(3px); }
}
.sc-home-gallery > .sc-note { margin:0; }
@media(max-width:920px) { .sc-home-head > p { max-width:620px; padding-top:0; } .sc-home-gallery-grid { gap:22px; } }
@media(max-width:720px) {
  .sc-home-gallery-grid { grid-template-columns:minmax(0,1fr); gap:34px; }
  .sc-home-caption h3 { min-height:0; font-size:22px; }
  .sc-home-caption { padding-top:18px; }
}
