/* ============================================================
   CODESTAN · INDUSTRIES PAGE (/industries/)
   Motion identity: ecosystem formation — disconnected nodes,
   network connection, reconstruction, convergence.
   Accent: unified CodeStan green (--brand) only.
   Requires: styles.css, product.css
   ============================================================ */

.page-industries{overflow-x:hidden}

/* static mode (reduced motion / mobile): stack, no pin */
.pd-space.static{height:auto!important}
.pd-space.static .pd-sticky{position:static;min-height:0;padding:40px 0}

@keyframes indDash{to{stroke-dashoffset:-22}}
@keyframes indBlink{0%,100%{opacity:1}50%{opacity:.28}}
@keyframes indSpin{to{transform:rotate(360deg)}}

/* ============ 01 · HERO — INDUSTRY ECOSYSTEM ============ */
.ind-hero{
  background:
    radial-gradient(880px 440px at 72% -6%, rgba(162,250,163,.08), transparent 62%),
    linear-gradient(180deg,var(--bg-first),var(--bg-second) 76%)}
.ind-hero .pd-sticky{padding-top:120px}
.ind-hero h1{font-size:clamp(31px,4.3vw,53px);line-height:1.07;color:#f2f7f2;margin-bottom:16px}
.ind-hero .eyebrow{margin-bottom:14px}
.ind-hero .pd-sub{font-size:16.5px;color:var(--text-p2);line-height:1.6;max-width:46ch;margin-bottom:26px}
.ind-hero-frame{background:#101210;border:1px solid #262a26;border-radius:24px;padding:20px 22px 14px}
.ind-hero-motion-tag{display:inline-block;font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--brand);border:1px solid var(--brand-line);border-radius:999px;
  padding:5px 12px;background:var(--brand-dim);margin-bottom:8px}
.he-svg{width:100%;height:auto;display:block}
.he-svg text,.ec-svg text,.fin-svg text{font-family:inherit}
.he-line{fill:none;stroke:rgba(162,250,163,.5);stroke-width:1.5;
  stroke-dasharray:1;stroke-dashoffset:1}
.he-center circle{fill:#141a14;stroke:var(--brand-line);stroke-width:1.5}
.he-center .he-core{fill:var(--brand);stroke:none}
.he-node{opacity:.18}
.he-node circle{fill:#121511;stroke:#2c2c2c;stroke-width:1.3}
.he-node .he-dot{fill:var(--brand);stroke:none}
.he-node text{fill:var(--text-p2);font-size:12px;text-anchor:middle}
.ind-eco-label{text-align:center;font-size:12px;font-weight:700;letter-spacing:.22em;
  color:var(--brand);margin:6px 0 4px;transition:opacity .2s}
.ind-eco-label.swap{opacity:0}

/* ============ 02 · SELECTOR + ECOSYSTEM RECONSTRUCTION ============ */
.ind-sel{display:grid;grid-template-columns:300px 1fr;gap:36px;align-items:start}
.ind-sel-list{display:flex;flex-direction:column;gap:8px}
.ind-item{display:flex;align-items:center;gap:11px;width:100%;text-align:start;cursor:pointer;
  font:inherit;font-size:14px;font-weight:600;color:var(--text-p1);
  padding:13px 16px;border-radius:14px;background:#121511;border:1px solid #262a26;
  transition:border-color .3s,background .3s,color .3s}
.ind-item:hover{border-color:#3d453d}
.ind-item.on{border-color:var(--brand-line);background:var(--brand-dim);color:var(--brand)}
.ind-item-dot{width:8px;height:8px;border-radius:50%;background:#3a3a3a;flex:0 0 auto;transition:background .3s}
.ind-item.on .ind-item-dot{background:var(--brand)}
.ind-item svg{width:15px;height:15px;margin-inline-start:auto;stroke:currentColor;fill:none;
  stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.55}
[dir="rtl"] .ind-item svg{transform:scaleX(-1)}
.ind-sel-stage{min-width:0}
.ind-eco-stage{background:#101210;border:1px solid #262a26;border-radius:24px;padding:14px;
  transition:opacity .24s,transform .24s}
.ind-eco-stage.swap{opacity:0;transform:scale(.97)}
.ec-svg{width:100%;height:auto;display:block}
.ec-line{fill:none;stroke:rgba(162,250,163,.34);stroke-width:1.4;
  stroke-dasharray:5 7;animation:indDash 1.5s linear infinite}
.ec-pulse{fill:var(--brand)}
.ec-center circle{fill:#141a14;stroke:var(--brand-line);stroke-width:1.6}
.ec-center .ec-core{fill:var(--brand);stroke:none}
.ec-clab{fill:#eef4ee;font-size:15px;font-weight:700;text-anchor:middle}
.ec-node{animation:ecPop .55s var(--ease) both}
.ec-node circle{fill:#121511;stroke:#2c2c2c;stroke-width:1.3}
.ec-num{fill:var(--brand);font-size:12px;font-weight:700;text-anchor:middle}
.ec-lab{fill:var(--text-p1);font-size:12px;text-anchor:middle}
@keyframes ecPop{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}

/* ============ 03 · DYNAMIC RECOMMENDATION ============ */
.ind-rec{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px;
  transition:opacity .24s,transform .24s}
.ind-rec.swap{opacity:0;transform:translateY(10px)}
.ind-rec>div{background:#141714;border:1px solid #262a26;border-radius:18px;padding:22px}
.ind-rec-h{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-p2);margin-bottom:16px}
.ind-rec-ch-list{list-style:none;display:flex;flex-direction:column;gap:13px}
.ind-rec-ch-list li{display:flex;align-items:center;gap:10px}
.ind-rec-ch-list svg{width:14px;height:14px;flex:0 0 auto;stroke:var(--brand);fill:none;
  stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
[dir="rtl"] .ind-rec-ch-list svg{transform:scaleX(-1)}
.ind-rec-ch-list span{font-size:13.5px;color:var(--text-p1);line-height:1.45}
.ind-rec-primary{display:flex;flex-direction:column;gap:5px;background:var(--brand-dim);
  border:1px solid var(--brand-line);border-radius:14px;padding:16px 18px;margin-bottom:14px}
.ind-rec-lab{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-p2)}
.ind-rec-primary strong{font-size:17px;color:#eef4ee;line-height:1.3}
.ind-prod{display:flex;flex-wrap:wrap;align-items:center;gap:10px;text-decoration:none;
  border:1px solid #2c2c2c;border-radius:14px;padding:14px 16px;transition:border-color .3s}
.ind-prod:hover{border-color:var(--brand-line)}
.ind-prod .ind-rec-lab{flex-basis:100%}
.ind-prod strong{flex:1;font-size:14.5px;color:var(--brand)}
.ind-prod svg{width:16px;height:16px;stroke:var(--brand);fill:none;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round}
[dir="rtl"] .ind-prod svg{transform:scaleX(-1)}
.ind-eng-note{font-size:13px;color:var(--text-p2);border:1px dashed #3a3a3a;
  border-radius:12px;padding:12px 14px;display:inline-block}
.ind-rec-svc-list{display:flex;flex-wrap:wrap;gap:8px}
.ind-svc{text-decoration:none;transition:border-color .3s,color .3s}
.ind-svc:hover{border-color:var(--brand-line);color:var(--brand)}

/* ============ 04 · TRANSFORMATIONS (distinct motions) ============ */
.ind-tf-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ind-tf{background:#141714;border:1px solid #262a26;border-radius:18px;padding:20px}
.ind-tf-viz{height:112px;display:grid;place-items:center;margin-bottom:16px;
  background:#0e100e;border:1px solid #22261f;border-radius:12px;overflow:hidden}
.ind-tf-viz svg{width:220px;height:110px;max-width:100%;display:block}
.ind-tf-lbl{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ind-tf-lbl svg{width:14px;height:14px;stroke:#555;fill:none;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
[dir="rtl"] .ind-tf-lbl svg{transform:scaleX(-1)}
.ind-tf-lbl .from{font-size:13px;color:var(--text-p2)}
.ind-tf-lbl .to{font-size:13px;font-weight:700;color:var(--brand)}

/* t1 · disconnected → connected data */
.tv1-l{stroke:rgba(162,250,163,.45);stroke-width:1.4;fill:none;
  stroke-dasharray:5 6;animation:indDash 1.6s linear infinite}
.tv1-d circle{fill:#121511;stroke:var(--brand);stroke-width:1.5;animation:indBlink 2.4s ease-in-out infinite}
.tv1-d circle:nth-child(2){animation-delay:.4s}.tv1-d circle:nth-child(3){animation-delay:.8s}
.tv1-d circle:nth-child(4){animation-delay:1.2s}.tv1-d circle:nth-child(5){animation-delay:1.6s}
.tv1-d circle:nth-child(6){animation-delay:2s}

/* t2 · manual → automated workflow (conveyor pulse) */
.tv2{position:relative;display:flex;gap:12px;width:180px;height:56px;align-items:center}
.tv2 .b{flex:1;height:38px;border-radius:9px;background:#121511;border:1px solid #2c2c2c}
.tv2 .run{position:absolute;top:-4px;bottom:-4px;left:0;width:8px;border-radius:4px;
  background:var(--brand);opacity:.85;animation:tv2run 2.2s var(--ease) infinite}
@keyframes tv2run{0%{left:0;opacity:0}12%{opacity:.85}88%{opacity:.85}100%{left:calc(100% - 8px);opacity:0}}

/* t3 · limited visibility → real-time intelligence (radar) */
.tv3{position:relative;width:104px;height:104px;border-radius:50%;border:1px solid #2c2c2c;overflow:hidden}
.tv3 .ring{position:absolute;inset:22px;border-radius:50%;border:1px solid #2c2c2c}
.tv3 .sweep{position:absolute;inset:0;border-radius:50%;
  background:conic-gradient(from 0deg,rgba(162,250,163,.35),transparent 26%);
  animation:indSpin 2.6s linear infinite}
.tv3 .blip{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--brand);
  animation:indBlink 2.6s ease-in-out infinite}
.tv3 .b1{left:30%;top:26%}.tv3 .b2{left:64%;top:52%;animation-delay:.9s}.tv3 .b3{left:40%;top:66%;animation-delay:1.7s}

/* t4 · scattered tools → one ecosystem (converge loop) */
.tv4{position:relative;width:120px;height:104px}
.tv4 .core{position:absolute;left:50%;top:50%;width:22px;height:22px;margin:-11px;
  border-radius:50%;background:var(--brand-dim);border:1.5px solid var(--brand)}
.tv4 .sq{position:absolute;width:14px;height:14px;border-radius:4px;background:#121511;
  border:1.5px solid #4a554a;animation:tv4in 3.2s ease-in-out infinite}
.tv4 .s1{left:8px;top:8px;--tx:45px;--ty:37px}
.tv4 .s2{right:8px;top:8px;--tx:-45px;--ty:37px;animation-delay:.15s}
.tv4 .s3{left:8px;bottom:8px;--tx:45px;--ty:-35px;animation-delay:.3s}
.tv4 .s4{right:8px;bottom:8px;--tx:-45px;--ty:-35px;animation-delay:.45s}
.tv4 .s5{left:53px;top:0;--tx:0;--ty:45px;animation-delay:.6s}
@keyframes tv4in{0%,35%{transform:none;opacity:1}60%,80%{transform:translate(var(--tx),var(--ty)) scale(.6);opacity:.35}100%{transform:none;opacity:1}}

/* t5 · poor follow-up → connected journey (traveling dot) */
.tv5-path{fill:none;stroke:rgba(162,250,163,.42);stroke-width:1.6;stroke-dasharray:6 7}
.tv5-pts circle{fill:#121511;stroke:#3a3a3a;stroke-width:1.3}
.tv5-dot{fill:var(--brand);offset-path:path('M20 90 C 60 20, 110 100, 150 35 S 200 30, 204 26');
  animation:tv5move 3s linear infinite}
@keyframes tv5move{from{offset-distance:0%}to{offset-distance:100%}}

/* ============ 05 · TWO PATHS — SPLIT / CONVERGENCE ============ */
.ind-split{max-width:640px;margin:0 auto 6px}
.ind-split svg{width:100%;height:auto;display:block}
.sp-line{fill:none;stroke:rgba(162,250,163,.55);stroke-width:1.6;
  stroke-dasharray:220;stroke-dashoffset:220;transition:stroke-dashoffset 1.1s var(--ease) .25s}
.sp-branch{transition-delay:.65s}
.sp-dot{fill:var(--brand)}
.sp-end{opacity:0;transition:opacity .4s ease 1.5s}
.ind-split.in .sp-line{stroke-dashoffset:0}
.ind-split.in .sp-end{opacity:1}
.ind-paths{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.ind-path{display:flex;flex-direction:column;gap:14px;background:#141714;
  border:1px solid #262a26;border-radius:22px;padding:30px}
.ind-path-tag{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--brand)}
.ind-path h3{font-size:22px;color:#eef4ee}
.ind-path p{font-size:14px;color:var(--text-p2);line-height:1.6;margin:0}
.ind-path-list{display:flex;flex-direction:column;gap:8px;margin:4px 0 12px}
.ind-path-link{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:12px;
  border:1px solid #22261f;background:#101210;font-size:13.5px;color:var(--text-p1);
  text-decoration:none;transition:border-color .3s,transform .3s var(--ease)}
.ind-path-link i{width:7px;height:7px;border-radius:50%;background:var(--brand);flex:0 0 auto}
.ind-path-link span{flex:1}
.ind-path-link svg{width:15px;height:15px;stroke:var(--text-p2);fill:none;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round;transition:stroke .3s}
[dir="rtl"] .ind-path-link svg{transform:scaleX(-1)}
.ind-path-link:hover{border-color:var(--brand-line);transform:translateX(4px)}
.ind-path-link:hover svg{stroke:var(--brand)}
[dir="rtl"] .ind-path-link:hover{transform:translateX(-4px)}
.ind-path .btn{margin-top:auto;align-self:flex-start}

/* ============ 06 · SOLUTION CONNECTION (sticky vertical path) ============ */
.ind-j-chiprow{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:34px}
.ind-j-chiplab{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-p2)}
.ind-j-chiprow .pd-chip{font-size:13px;font-weight:600;padding:9px 20px}
.ind-journey{position:relative;max-width:760px;margin:0 auto}
.ind-j-track{position:absolute;top:8px;bottom:8px;inset-inline-start:14px;width:3px;
  border-radius:2px;background:#2c2c2c}
.ind-j-fill{display:block;width:100%;height:0;background:var(--brand);border-radius:2px}
.ind-j-steps{padding-inline-start:36px}
.ind-j-steps .pd-step-n{position:relative;z-index:1;background:#101210}
.ind-j-rail{max-width:760px;margin:28px auto 0}

/* ============ 07 · OUTCOMES (animated diagrams) ============ */
.ind-out-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.ind-out{background:#141714;border:1px solid #262a26;border-radius:16px;padding:18px}
.ind-out-viz{height:64px;display:grid;place-items:center;margin-bottom:13px}
.ind-out-viz svg{width:120px;height:64px}
.ind-out h4{font-size:14px;color:#eef4ee;margin-bottom:6px}
.ind-out p{font-size:12px;color:var(--text-p2);line-height:1.55;margin:0}

.ov1 rect{fill:rgba(162,250,163,.22);transform-box:fill-box;transform-origin:left center;
  animation:ov1x 1.8s var(--ease) infinite}
.ov1 rect:nth-child(2){animation-delay:.25s}.ov1 rect:nth-child(3){animation-delay:.5s}
@keyframes ov1x{0%,100%{transform:scaleX(.55)}50%{transform:scaleX(1)}}
.ov2 path{fill:none;stroke:var(--brand);stroke-width:2;opacity:.25;animation:indBlink 2.4s ease-in-out infinite}
.ov2 path:nth-child(2){animation-delay:.35s}.ov2 path:nth-child(3){animation-delay:.7s}
.ov2 circle{fill:var(--brand)}
.ov3 path{fill:none;stroke:rgba(162,250,163,.32);stroke-width:1.4}
.ov3 circle{fill:#121511;stroke:var(--brand);stroke-width:1.5;animation:indBlink 2.2s ease-in-out infinite}
.ov3 circle:nth-child(3){animation-delay:.5s}.ov3 circle:nth-child(4){animation-delay:1s}.ov3 circle:nth-child(5){animation-delay:1.5s}
.ov4 rect{fill:rgba(162,250,163,.26);transform-box:fill-box;transform-origin:center bottom;
  animation:ov4y 2.4s ease-in-out infinite}
.ov4 rect:nth-child(2){animation-delay:.3s}.ov4 rect:nth-child(3){animation-delay:.6s}.ov4 rect:nth-child(4){animation-delay:.9s}
@keyframes ov4y{0%,100%{transform:scaleY(1)}50%{transform:scaleY(.42)}}
.ov5 circle{fill:none;stroke:#2c2c2c}
.ov5 line{stroke:var(--brand);stroke-width:2;stroke-linecap:round;
  transform-box:view-box;transform-origin:60px 32px;animation:indSpin 2.6s linear infinite}
.ov5 .b{fill:var(--brand);stroke:none;animation:indBlink 2.6s ease-in-out infinite}
.ov5 .b:last-child{animation-delay:1.3s}
.ov6 rect{fill:rgba(162,250,163,.24);transform-box:fill-box;transform-origin:center bottom;
  animation:ov6y 2.2s var(--ease) infinite}
.ov6 rect:nth-child(2){animation-delay:.2s}.ov6 rect:nth-child(3){animation-delay:.4s}
@keyframes ov6y{0%,100%{transform:scaleY(.5)}50%{transform:scaleY(1)}}
.ov7 polyline{fill:none;stroke:var(--brand);stroke-width:2.2;stroke-linecap:round;
  stroke-dasharray:130;stroke-dashoffset:130;animation:ov7d 2.6s var(--ease) infinite}
.ov7 .ar{fill:none;stroke:var(--brand);stroke-width:2.2;stroke-linecap:round;
  opacity:0;animation:ov7ar 2.6s ease infinite}
@keyframes ov7d{0%{stroke-dashoffset:130}60%,100%{stroke-dashoffset:0}}
@keyframes ov7ar{0%,55%{opacity:0}70%,100%{opacity:1}}
.ov8 ellipse{fill:none;stroke:#2c2c2c}
.ov8 circle{fill:var(--brand-dim);stroke:var(--brand);stroke-width:1.4}
.ov8 .sat{fill:var(--brand);stroke:none;transform-box:view-box;transform-origin:60px 32px;
  animation:indSpin 3s linear infinite}

/* ============ 08 · CASE STUDIES ============ */
.ind-case-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ind-case{position:relative;display:block;background:#141714;border:1px solid #262a26;
  border-radius:20px;padding:24px;text-decoration:none;
  transition:border-color .35s,transform .35s var(--ease)}
.ind-case:hover{border-color:var(--brand-line);transform:translateY(-4px)}
.ind-case-rep{display:inline-block;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--text-p2);border:1px dashed #3a3a3a;border-radius:999px;padding:4px 11px}
.ind-case h3{font-size:20px;color:#eef4ee;margin:14px 0 16px}
.ind-case dl{display:flex;flex-direction:column;gap:12px;margin:0}
.ind-case dt{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-p2);margin-bottom:3px}
.ind-case dd{font-size:13px;color:var(--text-p1);line-height:1.55;margin:0}
.ind-case dd.pos{color:var(--brand)}
.ind-case-go{position:absolute;top:22px;inset-inline-end:22px;width:30px;height:30px;
  border-radius:50%;border:1px solid #3a3a3a;display:grid;place-items:center;transition:border-color .3s}
.ind-case-go svg{width:14px;height:14px;stroke:var(--text-p1);fill:none;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round;transition:stroke .3s}
[dir="rtl"] .ind-case-go svg{transform:scaleX(-1)}
.ind-case:hover .ind-case-go{border-color:var(--brand-line)}
.ind-case:hover .ind-case-go svg{stroke:var(--brand)}

/* ============ 09 · INSIGHTS ============ */
.ind-topics{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}

/* ============ 10 · SOLUTION ARCHITECT CTA ============ */
.ind-arch{display:flex;justify-content:space-between;align-items:center;gap:40px;
  background:linear-gradient(180deg,#161916,#0e100e);border:1px solid #2a2e2a;
  border-radius:26px;padding:46px}
.ind-arch h2{font-size:clamp(24px,3vw,36px);color:#f2f7f2;margin-bottom:12px}
.ind-arch p{font-size:15px;color:var(--text-p2);max-width:52ch;line-height:1.65;margin:0}
.ind-arch .pd-ctas{flex:0 0 auto;flex-direction:column;align-items:stretch}

/* ============ 11 · FINALE — NETWORK CONVERGENCE ============ */
.ind-fin-stage{max-width:620px;margin:0 auto 26px}
.fin-svg{width:100%;height:auto;display:block;overflow:visible}
.fin-node{transition:transform 1.15s var(--ease) var(--dl),opacity .55s ease calc(var(--dl) + .95s)}
.fin-node circle{fill:#121511;stroke:#3a3a3a;stroke-width:1.3}
.fin-node text{fill:var(--text-p2);font-size:11.5px;text-anchor:middle;transition:opacity .45s ease var(--dl)}
.fin-line{stroke:rgba(162,250,163,.35);stroke-width:1.3;transition:opacity .5s ease 1.1s}
.fin-node.off,.fin-line.off{display:none}
.fin-hub circle{fill:#141a14;stroke:var(--brand);stroke-width:1.6}
.fin-pulse{fill:none;stroke:var(--brand);stroke-width:1.6;opacity:0;
  transform-box:fill-box;transform-origin:center}
.fin-l1{fill:#eef4ee;font-size:15px;font-weight:700;text-anchor:middle;letter-spacing:.08em}
.fin-l2{fill:var(--brand);font-size:12px;font-weight:700;text-anchor:middle;letter-spacing:.14em;
  opacity:0;transition:opacity .7s ease 1.5s}
.fin-l2.on{opacity:1}
#finCard.in .ind-fin-stage{animation:finZoom 4.5s var(--ease) both}
#finCard.in .fin-node{transform:translate(var(--dx),var(--dy)) scale(.5);opacity:0}
#finCard.in .fin-node text{opacity:0}
#finCard.in .fin-line{opacity:0}
#finCard.in .fin-pulse{animation:finPulse 1.6s ease-out 1.15s 1 both}
#finCard.in .fin-l2{opacity:1}
@keyframes finZoom{0%{transform:scale(1.14)}100%{transform:scale(1)}}
@keyframes finPulse{0%{opacity:.9;transform:scale(.4)}100%{opacity:0;transform:scale(2.4)}}

/* ============ RESPONSIVE ============ */
@media (max-width:960px){
  .ind-sel{grid-template-columns:1fr;gap:24px}
  .ind-sel-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .ind-rec{grid-template-columns:1fr}
  .ind-tf-grid{grid-template-columns:1fr 1fr}
  .ind-paths{grid-template-columns:1fr}
  .ind-out-grid{grid-template-columns:1fr 1fr}
  .ind-case-grid{grid-template-columns:1fr}
  .ind-arch{flex-direction:column;align-items:flex-start;padding:34px}
  .ind-arch .pd-ctas{flex-direction:row;flex-wrap:wrap}
}
@media (max-width:860px){
  .ind-hero h1{font-size:clamp(27px,7.4vw,36px)}
  .ind-hero .pd-sub{font-size:14.5px}
}
@media (max-width:560px){
  .ind-sel-list{grid-template-columns:1fr}
  .ind-tf-grid{grid-template-columns:1fr}
  .ind-out-grid{grid-template-columns:1fr}
  .ind-arch .pd-ctas .btn{width:100%;justify-content:center}
}

/* ============ REDUCED MOTION ============ */
@media (prefers-reduced-motion: reduce){
  .he-line{stroke-dashoffset:0!important}
  .he-node{opacity:1!important}
  .ec-line,.ec-node{animation:none}
  .ec-pulse{display:none}
  .tv1-l,.tv1-d circle,.tv2 .run,.tv3 .sweep,.tv3 .blip,.tv5-dot,
  .ov1 rect,.ov2 path,.ov3 circle,.ov4 rect,.ov5 line,.ov5 .b,.ov6 rect,
  .ov7 polyline,.ov7 .ar,.ov8 .sat{animation:none}
  .tv4 .sq{animation:none;transform:translate(var(--tx),var(--ty)) scale(.6);opacity:.5}
  .tv5-dot{display:none}
  .tv2 .run{opacity:.85}
  .ov7 polyline{stroke-dashoffset:0}
  .ov7 .ar{opacity:1}
  .sp-line{stroke-dashoffset:0;transition:none}
  .sp-end{opacity:1;transition:none}
  .fin-node,.fin-line,.fin-l2{transition:none}
  .fin-pulse{animation:none}
  #finCard.in .ind-fin-stage{animation:none}
  .ind-eco-stage,.ind-rec{transition:none}
  .ind-eco-label{transition:none}
}
