.slm-detail{--slm-ink:#092d40;--slm-teal:#087d83;--slm-border:#cbdce1}
/* Hero geometry, full-bleed raster, overlay caption, corners and gated scan
 * come directly from CAD's td-hero components in technology-details.css. */
/* Two existing actions must not stretch CAD's fixed desktop image stage.
 * The shared gradient protects the caption over the image, including phones;
 * do not reserve an empty strip below the decorative raster. */
@media(min-width:851px){.slm-hero-grid{grid-template-rows:minmax(0,1fr)}}
.slm-detail section[id]{scroll-margin-top:0}
.slm-page-nav{position:relative;top:auto;z-index:1}
.slm-page-nav>.ip-wrap>span,.slm-page-nav a b{font-size:14px}
.slm-page-nav>.ip-wrap>div{flex-wrap:wrap}
.slm-change{background:#eef6f7}
.slm-shared-context{display:grid;grid-template-columns:180px 1fr;gap:26px;align-items:center;margin:24px 0 22px;background:#fff;border-left:2px solid #21999b;padding:24px 28px}
.slm-shared-context>span{font-size:14px;color:#447889;line-height:1.5}
.slm-shared-context p{font-size:19px;line-height:1.5;color:var(--body-text);margin:0}
.slm-lens-tabs[hidden]{display:none}
.slm-lens-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1px solid #b7d4dd;margin:0}
.slm-lens-tabs button{font-size:16px;line-height:1.4;justify-content:flex-start;padding:21px 25px;border:0;border-right:1px solid #b7d4dd;border-bottom:2px solid transparent;background:transparent;min-height:78px;color:#386475}
.slm-lens-tabs button:last-child{border-right:0}
.slm-lens-tabs button .ms-icon{font-size:28px;color:#21999b}
.slm-lens-tabs button:is(:hover,[aria-selected=true]){background:#d7eff0;border-bottom-color:#21999b;color:#0d3a4b}
.slm-lens-tabs button:focus-visible{outline:2px solid #087d83;outline-offset:-6px}
.slm-lens-panels article{display:grid;grid-template-columns:1.05fr 1fr;gap:7%;padding:35px 0;margin-top:24px;border-top:1px solid #b7d4dd}
.slm-lens-panels.is-enhanced article{padding:36px;margin:0;border:1px solid #b7d4dd;border-top:0;background:#fff}
.slm-lens-panels [hidden]{display:none}
.slm-context-label{font-size:14px;color:#447889;line-height:1.5}
.slm-brief-copy h3{font-size:30px;font-weight:500;letter-spacing:-.035em;line-height:1.2;margin:15px 0 20px}
.slm-brief-copy>p{font-size:17px;line-height:1.75;color:var(--body-text);margin:0}
.slm-review-prompt{margin-top:26px;padding-top:20px;border-top:1px solid var(--slm-border)}
.slm-review-prompt>span{font-size:14px;color:#087d83}
.slm-review-prompt p{font-size:16px;line-height:1.7;color:var(--body-text);margin:8px 0 0}
.slm-record-context{margin:0;padding-left:28px;border-left:1px solid var(--slm-border)}
.slm-record-context>div+div{border-top:1px solid var(--slm-border);padding-top:20px;margin-top:20px}
.slm-record-context dt{font-size:18px;line-height:1.45;color:#153f51}
.slm-record-context dd{font-size:16px;line-height:1.7;color:var(--body-text);margin:10px 0 0}
.slm-note{font-size:14px;line-height:1.7;color:var(--body-text);max-width:950px;margin:28px 0 0}
.slm-note a{text-decoration:underline;text-underline-offset:3px}
.slm-workflow{background:#0b2d40;color:#fff}
.slm-workflow .ip-label{color:#82d4d0}
.slm-workflow .ip-section-heading h2{color:#fff}
.slm-workflow .ip-section-heading h2 em{color:#89dad3}
.slm-workflow .ip-section-heading>p{color:var(--body-text-on-dark)}
.slm-workflow ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;padding:0;margin:28px 0 0;border-top:1px solid var(--sm-line,#3e6a78)}
.slm-workflow li{padding:28px 22px 0 0;position:relative;overflow:hidden}
.slm-workflow li+li{border-left:1px solid #3e6a78;padding-left:22px}
.slm-stage-number{font-size:14px;color:#8cd9d4}
.slm-workflow h3{font-size:23px;font-weight:500;letter-spacing:-.03em;line-height:1.3;margin:18px 0 16px;color:#fff}
.slm-workflow li p{font-size:16px;line-height:1.75;color:var(--body-text-on-dark);margin:0}
.slm-workflow-next{display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px solid #3b606f;padding-top:30px;margin-top:34px}
.slm-workflow-next p{font-size:20px;line-height:1.45;color:var(--body-text-on-dark);margin:0}
.slm-workflow-next .ip-inline-link{color:#8edcd6}
.slm-workflow .slm-note{color:var(--body-text-on-dark)}
.slm-approach{background:#eef5f5}
.slm-workflow li:after{content:'';position:absolute;top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,transparent,var(--sm-signal,#80d7d3),transparent);transform:translateX(-100%)}
.slm-workflow li.ip-animation-active:after{animation:slm-trace var(--sm-loop,5.8s) ease-in-out infinite;animation-delay:calc(var(--slm-order,0)*.6s)}
.slm-workflow li:nth-child(2){--slm-order:1}.slm-workflow li:nth-child(3){--slm-order:2}.slm-workflow li:nth-child(4){--slm-order:3}
@keyframes slm-trace{0%,25%{transform:translateX(-100%)}65%,100%{transform:translateX(100%)}}
@media(max-width:1000px){.slm-page-nav a{padding-left:14px;padding-right:14px}.slm-workflow ol{grid-template-columns:1fr 1fr;gap:30px 0}.slm-workflow li:nth-child(3){padding-left:0;border-left:0}}
@media(max-width:850px){.slm-lens-tabs{grid-template-columns:1fr 1fr}.slm-lens-tabs button{padding:20px}.slm-lens-tabs button:last-child{border-top:1px solid #b7d4dd}.slm-lens-tabs button:nth-child(2){border-right:0}}
@media(max-width:760px){.slm-shared-context{grid-template-columns:1fr;gap:10px;padding:23px}.slm-shared-context p{font-size:17px}.slm-lens-panels article,.slm-lens-panels.is-enhanced article{grid-template-columns:1fr;gap:28px;padding:25px}.slm-brief-copy h3{font-size:28px}.slm-brief-copy>p{font-size:16px}.slm-record-context{padding-left:0;border-left:0;border-top:1px solid var(--slm-border);padding-top:23px}.slm-workflow-next{display:block}.slm-workflow-next .ip-inline-link{display:inline-flex;margin-top:22px}.slm-page-nav>.ip-wrap>div{justify-content:flex-start}.slm-page-nav a{padding:15px 14px}}
@media(max-width:600px){.slm-workflow ol{grid-template-columns:1fr;gap:0}.slm-workflow li,.slm-workflow li+li{border-left:0;padding:26px 0;border-bottom:1px solid #3e6a78}.slm-workflow li:last-child{border-bottom:0;padding-bottom:0}}
@media(max-width:380px){.slm-lens-tabs button{padding:16px 12px;gap:8px}.slm-lens-tabs button .ms-icon{font-size:25px}.slm-lens-panels.is-enhanced article{padding:22px}}
@media(prefers-reduced-motion:reduce){.slm-workflow li.ip-animation-active:after{animation:none}}

@media(max-width:800px){.slm-detail .ip-section-heading>p{font-size:16px}}
.slm-note a:is(:hover,:focus-visible){color:var(--link-hover)}.industry-page .slm-workflow-next .ip-inline-link:is(:hover,:focus-visible),.slm-workflow .slm-note a:is(:hover,:focus-visible){color:var(--link-hover-on-dark)}

/* Source-published media belongs beside its reading task. No image crop, zoom,
 * extra passive animation or competing card grid is needed. Shared typography,
 * buttons and outer section rhythm remain canonical. */
.slm-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px}
.slm-hero-actions .ip-inline-link{color:#a4e2df}
.industry-page .slm-hero-actions .ip-inline-link:is(:hover,:focus-visible){color:var(--link-hover-on-dark)}
/* An open editorial spread connects the source photograph to one reference.
 * DOM order keeps the introduction first; the photograph leads only visually
 * on desktop. Static linework carries the idea without another card system. */
.slm-context-layout{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.25fr);gap:clamp(28px,4.5vw,72px);align-items:center}
.slm-context-copy{grid-column:2;grid-row:1;min-width:0}
.slm-context-copy .ip-section-heading{display:block;margin:0}
.slm-context-copy .ip-section-heading>p{margin:20px 0 0;max-width:520px}
.slm-context-image{grid-column:1;grid-row:1;margin:0;min-width:0;max-width:480px;width:100%}
.slm-context-image img{display:block;width:100%;height:auto}
.slm-context-image figcaption{display:flex;flex-wrap:wrap;gap:6px 20px;justify-content:space-between;margin-top:12px;font-size:14px;line-height:1.6;color:#527584}
.slm-context-image a{text-decoration:underline;text-underline-offset:3px}
.slm-context-image a:is(:hover,:focus-visible){color:var(--link-hover)}
.slm-reference-rail{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:520px;margin-top:26px;padding-top:20px;border-top:1px solid #cbdce1}
.slm-reference-rail:before{content:'';position:absolute;left:16.66%;right:16.66%;top:38px;height:1px;background:#9fc4cd;transition:background-color .5s}
.slm-reference-rail>span{position:relative;display:flex;align-items:center;flex-direction:column;gap:9px;min-width:0;color:#447889;font-size:14px;line-height:1.5;text-align:center}
.slm-reference-rail svg{display:block;width:32px;height:34px;box-sizing:content-box;padding-inline:12px;background:#fff;fill:none;stroke:#087d83;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;transition:stroke .5s}
.slm-context-layout:is(:hover,:focus-within) .slm-reference-rail:before{background-color:#36b6bd}
.slm-context-layout:is(:hover,:focus-within) .slm-reference-rail svg{stroke:#169da5}
@media(prefers-reduced-motion:reduce){.slm-reference-rail:before,.slm-reference-rail svg{transition:none}}
.slm-media{border-top:1px solid var(--slm-border)}
.slm-media-feature{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(28px,5vw,72px);align-items:start}
.slm-media-copy h2{margin-bottom:22px}
.slm-media-copy>p{font-size:17px;line-height:1.75;color:var(--body-text);max-width:490px;margin:0 0 24px}
.slm-media-brief>p{font-size:16px;line-height:1.75;color:var(--body-text);margin:0 0 16px}
.slm-media-brief h3{font-size:28px;line-height:1.25;font-weight:500;letter-spacing:-.03em;margin:14px 0 18px}
.slm-media-copy .slm-media-hint{font-size:14px;line-height:1.7;margin:18px 0 0}
.slm-media-meta{display:block;font-size:14px;line-height:1.6;color:#527584;margin-bottom:14px}
.slm-media-visual{min-width:0}
.slm-video-stage{position:relative;background:#eef5f5;isolation:isolate}
.slm-video-stage>img{display:block;width:100%;height:auto}
.slm-video-load{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:12px;background:#092d400a;border:0;color:#fff;cursor:pointer}
.slm-video-load>span:first-child{display:grid;place-items:center;width:60px;height:60px;background:#176b98;transition:background 220ms}
.slm-video-load>b{background:#082c40;padding:13px 17px;font-size:16px;font-weight:500;line-height:1.5}
.slm-video-load:is(:hover,:focus-visible)>span:first-child{background:#087d83}
.industry-page .slm-video-load:focus-visible{outline-offset:-5px}
.slm-video-player{aspect-ratio:16/9}
.slm-video-player>iframe{display:block;border:0;width:100%;height:100%}
.slm-video-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:16px}
.slm-video-tools .ip-inline-link{display:inline-flex}
.slm-video-close{padding:10px 14px;background:transparent;border:1px solid #789ca9;font:inherit;font-size:16px;color:var(--slm-ink);cursor:pointer}
.slm-video-close:is(:hover,:focus-visible){border-color:#087d83}




.slm-media-secondary{margin-top:34px;border-top:1px solid var(--slm-border);border-bottom:1px solid var(--slm-border)}
.slm-media-secondary>summary{display:grid;grid-template-columns:minmax(0,1fr) 32px;align-items:center;gap:24px;padding:24px 0;font-size:18px;line-height:1.5;color:var(--slm-ink);cursor:pointer;list-style:none}
.slm-media-secondary>summary::-webkit-details-marker{display:none}
.slm-media-secondary>summary>i{font-style:normal;font-size:26px;text-align:center;transition:transform 220ms}
.slm-media-secondary[open]>summary>i{transform:rotate(45deg)}
.slm-media-secondary-content{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(28px,5vw,72px);align-items:start;padding:8px 0 28px}
@media(max-width:850px){.slm-context-layout,.slm-media-feature,.slm-media-secondary-content{grid-template-columns:minmax(0,1fr);gap:28px}.slm-context-copy,.slm-context-image{grid-column:auto;grid-row:auto}.slm-context-image{max-width:520px}.slm-media-copy>p{max-width:650px}.slm-media-secondary-content .slm-media-brief{grid-row:1}.slm-media-secondary{margin-top:28px}}
@media(max-width:380px){.slm-reference-rail{gap:0}}
@media(max-width:480px){.slm-context-copy .ip-section-heading>p{margin-top:20px}.slm-media-copy>p{font-size:16px}.slm-media-brief h3{font-size:25px}.slm-video-load>span:first-child{width:48px;height:48px}.slm-video-load>b{padding:10px 13px}.slm-media-secondary>summary{font-size:16px;padding:20px 0;gap:16px}.slm-video-tools{align-items:flex-start}.slm-context-image figcaption{display:block}}
@media(prefers-reduced-motion:reduce){.slm-video-load>span,.slm-media-secondary>summary>i{transition:none}}

.slm-media-brief{margin-top:22px;min-width:0}.slm-media-secondary-content .slm-media-brief{margin-top:0}.slm-video-status{display:block;font-size:14px;line-height:1.7;color:var(--body-text);margin-top:12px}.slm-video-status:empty{display:none}


/* Each section has one job: image-led context, question lens, horizontal review
 * sequence, product ledger, video feature, then a vertical TriStar service path.
 * Natural row heights and editable copy are retained for the ACF templates. */
.slm-change .ip-section-heading,.slm-tools .ip-section-heading{display:block;margin-bottom:24px}
.slm-tool-ledger{border-top:1px solid var(--slm-border)}
.slm-tool-ledger article{display:grid;grid-template-columns:minmax(180px,.75fr) minmax(0,1.4fr) auto;gap:24px 36px;align-items:center;padding:28px 0;border-bottom:1px solid var(--slm-border)}
.slm-tool-ledger h3{font-size:30px;font-weight:500;line-height:1.25;letter-spacing:-.035em;margin:0 0 8px}
.slm-tool-ledger p{font-size:17px;line-height:1.75;color:var(--body-text);margin:0}
.slm-tool-ledger .ip-inline-link{white-space:normal;justify-self:start}
.slm-approach-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,6vw,90px);align-items:start}
.slm-approach-intro .ip-section-heading{display:block;margin-bottom:24px}
.slm-approach-intro .ip-section-heading>p{margin:22px 0 0;max-width:490px}
.slm-approach-intro .motion-cta{max-width:100%}



.slm-approach ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--slm-border)}
.slm-approach li{display:grid;grid-template-columns:80px minmax(0,1fr);gap:24px;padding:22px 0;border-bottom:1px solid var(--slm-border);align-items:start;transition:border-color 500ms}
.slm-approach li:is(:hover,:focus-within){border-color:var(--process-step-hover)}
.slm-approach li h3{font-size:25px;line-height:1.25;letter-spacing:-.03em;font-weight:500;margin:0 0 10px}
.slm-approach li p{font-size:16px;line-height:1.75;color:var(--body-text);margin:0}
.slm-scope-questions{margin-top:36px;padding-top:26px;border-top:1px solid var(--slm-border);grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,6vw,90px)}
.slm-scope-questions>h3{font-size:28px;font-weight:500;line-height:1.3;letter-spacing:-.03em;margin:0}
.slm-scope-questions .priority-row summary{font-size:16px;padding:20px 0}
.slm-scope-questions .priority-row p{font-size:16px;line-height:1.75;color:var(--body-text);padding-bottom:20px}
.slm-scope-questions .priority-row:first-child{border-top:0}

.slm-tools>.slm-note{margin-top:20px}
@media(max-width:1100px){.slm-tool-ledger article{grid-template-columns:minmax(160px,.75fr) minmax(0,1.4fr);gap:18px 30px}.slm-tool-ledger .ip-inline-link{grid-column:2}}
@media(max-width:850px){.slm-approach-layout,.slm-scope-questions{grid-template-columns:minmax(0,1fr);gap:28px}.slm-approach-intro .ip-section-heading>p{max-width:650px}.slm-scope-questions{margin-top:28px;gap:18px}}
@media(max-width:600px){.slm-tool-ledger article{grid-template-columns:minmax(0,1fr);gap:16px;padding:24px 0}.slm-tool-ledger .ip-inline-link{grid-column:1}.slm-tool-ledger p{font-size:16px}.slm-approach li{grid-template-columns:64px minmax(0,1fr);gap:16px;padding:20px 0}.slm-scope-questions>h3{font-size:25px}.slm-scope-questions .priority-row p{padding-right:0}}
@media(prefers-reduced-motion:reduce){.slm-approach li{transition:none}}


/* The five drawings explain service work, not progress or completion. All stage
 * copy stays visible. Color-only feedback avoids moving the reader's text. */
.slm-path-art{display:block;width:80px;max-width:100%;height:auto;margin:3px 0 0;color:var(--slm-ink);pointer-events:none}
.slm-path-art-accent{fill:#d7e9e9;color:#78aeb5;transition:fill 500ms,color 500ms}
.slm-approach li:is(:hover,:focus-within) .slm-path-art-accent{fill:#b8e6df;color:var(--process-step-hover)}
@media(max-width:600px){.slm-path-art{width:64px}}
@media(prefers-reduced-motion:reduce){.slm-path-art-accent{transition:none}}
