.smart-grid-case .sg-hero-art { display: block; width: 52%; margin-right: -2%; overflow: visible; }
.sg-cables { fill: none; stroke-linecap: round; stroke-linejoin: round; stroke: url(#sg-cable-colour); }
.sg-grid-extension { opacity: .65; }
.sg-grid-extension .sg-cables { stroke: url(#sg-grid-colour); }
.sg-grid-extension .sg-cables-current:not(.sg-cables-current-glow) { stroke: #fff4ff; opacity: .65; }
.sg-cables-solid { stroke-width: 4; opacity: .9; }
.sg-cables-glow { stroke-width: 13; opacity: .7; filter: url(#sg-cable-glow); }
.sg-cables-current { stroke: #fff4ff; stroke-width: 3; stroke-dasharray: 65 935; opacity: .9; }
.sg-cables-current path { animation: sg-cable-flow calc(var(--cable-time) * .7) linear infinite; animation-delay: var(--cable-delay); }
.sg-cables-current-glow { stroke: url(#sg-cable-colour); stroke-width: 20; filter: url(#sg-cable-glow); }
@keyframes sg-cable-flow { to { stroke-dashoffset: -1000; } }
.sg-project-status { color: #68636c; font-size: .875rem !important; margin-top: 1.25rem !important; }
.sg-research-method { max-width: 43rem; margin-bottom: 2rem; }
.sg-research-method p:last-child { margin-bottom: 0; }
.sg-findings, .sg-research-follow-on { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--column-gap); }
.sg-finding { border-top: 1px solid var(--line); padding-top: 1.5rem; }
.smart-grid-case :is(.sg-finding,.sg-research-follow-on) h3 { font-size: var(--case-feature-size); margin: 0 0 .75rem; }
.smart-grid-case :is(.sg-finding,.sg-research-follow-on) p:not(.eyebrow) { font-size: var(--case-copy-size); line-height: 1.6; margin: 0; }
.smart-grid-case .sg-note { font-size: .875rem; color: #68636c; margin: 1.5rem 0 var(--feature-space); max-width: 55rem; }
.sg-research-follow-on { border-top: 1px solid var(--line); padding-top: var(--feature-space); }
.sg-phone svg { display: block; width: 100%; height: 100%; }
.sg-flow-heading { margin-top: var(--feature-space); }
.sg-flow-diagram .migration-board { height: clamp(18rem,42vh,26rem); }
.sg-first-feature { border-top: 0; padding-top: 0; }
.sg-closing { padding-bottom: 0; }
@media(max-width:760px) {
 .smart-grid-case .sg-hero-art { width: min(95%,32rem); margin: 0; }
 .sg-findings,.sg-research-follow-on { grid-template-columns: 1fr; row-gap: var(--feature-space); }
 .sg-flow-diagram .migration-board { min-height: 18rem; }
}
@media(prefers-reduced-motion:reduce) { .sg-cables-current path { animation: none; } }

.sg-modulation-pair { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.25rem; align-items: start; }
.sg-modulation-pair .migration-phone { width: 100%; margin: 0; }
.sg-findings ~ .migration-gallery { margin-bottom: var(--feature-space); }
@media(max-width:760px) { .sg-modulation-pair { max-width: 34rem; margin-inline: auto; gap: 1rem; } }

/* Shared section rhythm and Myko-style full-width galleries. */
.smart-grid-case .migration-feature-heading { border-top: 1px solid var(--line); padding-top: var(--feature-space); margin-top: var(--feature-space); max-width: none; }
.smart-grid-case .migration-feature-heading > p { max-width: 43rem; }
.smart-grid-case .sg-product-gallery { background: transparent; padding-top: 0; padding-bottom: 0; margin-bottom: var(--feature-space); }
.smart-grid-case .sg-product-gallery .gallery-slide { flex-basis: min(30vw,22rem); min-width: 17rem; }
.smart-grid-case .sg-product-gallery .gallery-screen,
.smart-grid-case .sg-product-gallery .gallery-slide:first-child .gallery-screen { height: clamp(28rem,42vw,36rem); width: min(100%,18rem); max-width: 18rem; aspect-ratio: auto; border: 3px solid #282828; border-radius: 2rem; margin: 0 auto; }
.smart-grid-case .sg-product-gallery .gallery-screen img { height: 100%; width: 100%; object-fit: cover; object-position: top; }
.smart-grid-case .sg-product-gallery .gallery-controls { margin-right: max(0px,calc((100vw - 78rem)/2)); }
.smart-grid-case .sg-landing-feature { padding-bottom: 0; }
@media(max-width:760px) { .smart-grid-case .sg-product-gallery .gallery-slide { flex-basis: 78vw; min-width: 16rem; } .smart-grid-case .sg-product-gallery .gallery-screen { height: min(125vw,32rem); width: min(70vw,16.5rem); } }

/* Resolve the migration carousel rules overriding the full-width track gutters. */
.smart-grid-case .sg-product-gallery .migration-track {
  gap: clamp(1rem,2vw,1.75rem);
  margin-left: calc(var(--gallery-content-left) * -1);
  margin-right: calc(var(--gallery-gutter) * -1);
  padding: .25rem var(--gallery-gutter) 1.5rem var(--gallery-content-left);
  scroll-padding-left: var(--gallery-content-left);
  scroll-snap-type: x mandatory;
}
.smart-grid-case .sg-product-gallery .migration-slide { margin: 0; }
@media(max-width:760px) {
  .smart-grid-case .sg-product-gallery .gallery-screen,
  .smart-grid-case .sg-product-gallery .gallery-slide:first-child .gallery-screen {
    height: min(125vw,32rem);
    width: min(70vw,16.5rem);
  }
}

.sg-landing-preview { margin: 0; width: min(100%,22rem); justify-self: center; }
.sg-preview-phone { position:relative;width:min(100%,20rem);height:auto;aspect-ratio:944 / 2048;margin-inline:auto;border:4px solid var(--ink);border-radius:2.2rem;overflow:hidden;background:white;box-shadow:8px 8px 0 #1111112d; }
.sg-preview-scroll { position:absolute;inset:0;height:100%; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: none; }
.sg-preview-scroll::-webkit-scrollbar { display: none; }
.sg-preview-content { position: relative; min-height: 100%; }
.sg-preview-content img { display: block; width: 100%; height: auto; }
.smart-grid-case .sg-landing-feature { grid-template-columns: 1fr; }
.sg-landing-intro { max-width: 43rem; }
.sg-annotated-preview { display: grid; grid-template-columns:minmax(0,1fr) minmax(0,22rem) minmax(0,1fr); gap: clamp(1.25rem,3vw,3rem); align-items: center; }
.sg-scroll-note { position: relative; min-height: 10rem; }
.sg-scroll-note h4 { color: var(--migration-purple); font-size: 1.125rem; margin: 0 0 .75rem; }
.smart-grid-case .sg-scroll-note p { font-size: .9375rem; line-height: 1.6; margin: 0; }
.sg-scroll-note::after { content: ''; position: absolute; top: .7rem; height: 1px; width: 1.5rem; background: #9b7ab7; }
.sg-scroll-note-left::after { right: -2rem; }
.sg-scroll-note-right::after { left: -2rem; }
.sg-scroll-note.is-changing { animation: sg-note-in .25s ease; }
@keyframes sg-note-in { from { opacity: .35; transform: translateY(.3rem); } to { opacity: 1; transform: translateY(0); } }
 .sg-annotated-preview.is-touring .sg-scroll-note { visibility:hidden; }
@media(max-width:900px) {
 .sg-annotated-preview { grid-template-columns:minmax(0,1fr); }
 .sg-annotated-preview .sg-landing-preview { grid-column:1 / -1;grid-row:1; }
 .sg-annotated-preview .sg-scroll-note { display:none; }
}
@media(prefers-reduced-motion:reduce) { .sg-scroll-note.is-changing { animation: none; } }

.smart-grid-case .migration-gallery-controls[hidden] { display: none; }
.smart-grid-case .migration-gallery-controls button:disabled { opacity: .35; cursor: default; }


.smart-grid-case .migration-gallery:not(.sg-product-gallery) .migration-phone { max-width:18rem; }
.smart-grid-case .sg-product-gallery .gallery-screen svg { display:block;width:100%;height:100%; }

/* Research reads as two evidence stories, with their supporting designs alongside. */
.sg-research-chapter .sg-findings { display:block; }
.sg-research-chapter .sg-finding { display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(2rem,5vw,5rem);align-items:start;padding-block:2.5rem; }
.sg-research-chapter .sg-research-image { margin:0;max-width:28rem; }
.sg-finding-story { margin:1.5rem 0 0;display:grid;gap:1.25rem; }
.sg-finding-story dt { font-weight:650;font-size:.875rem;margin-bottom:.4rem;color:#7540b0; }
.sg-finding-story dd { margin:0;font-size:var(--case-copy-size);line-height:1.6; }
.sg-finding-story > div:last-child { border-left:3px solid #7540b0;padding-left:1rem; }
@media(max-width:760px) {
 .sg-research-chapter .sg-finding { grid-template-columns:minmax(0,1fr);gap:1.5rem;padding-block:2rem; }
 .sg-research-chapter .sg-research-image { max-width:100%; }
}


.sg-research-image img { display: block; width: 100%; height: auto; border: 1px solid var(--line); border-radius: 1rem; background: white; }

.sg-research-image figcaption { color: #68636c; font-size: .875rem; line-height: 1.5; margin-top: .75rem; }

/* The guided offer tour is available on mobile; desktop uses side annotations. */
@media(min-width:761px) {
 .smart-grid-case .sg-tour-toggle,.smart-grid-case .sg-offer-mobile-instruction { display:none; }
}
