/* SData sales pages (home, /solutions/, /solutions/<slug>/). Scoped under .sh.
   Ink bands (hero, SDO, closing) alternate with warm paper and white sheets; Dana for display type,
   IRANSans for running text; hairline rules instead of boxed cards; one signal colour on ink. */
@font-face{font-family:"Dana";src:url("../assets/fonts/dana/woff2/dana-regular.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Dana";src:url("../assets/fonts/dana/woff2/dana-medium.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Dana";src:url("../assets/fonts/dana/woff2/dana-demibold.woff2") format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Dana";src:url("../assets/fonts/dana/woff2/dana-bold.woff2") format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Dana";src:url("../assets/fonts/dana/woff2/dana-extrabold.woff2") format("woff2");font-weight:800;font-display:swap}

.sh{
  --paper:#f5f3ee;--sheet:#ffffff;--text:#283142;--muted:#5c6575;--ink-t:#0b1220;
  --rule:#e2ded4;--rule-2:#cdc7b9;--blue:#0e4da8;--blue-2:#0a3a80;--blue-soft:#e8eef8;--teal:#0b7a75;--teal-soft:#e2f1ef;
  --ink:#0b1220;--ink-2:#111a2b;--ink-3:#1a2538;--on-ink:#e8ecf2;--on-ink-2:#a9b4c4;--on-ink-3:#76829a;--ink-rule:rgba(232,236,242,.12);
  --signal:#4fe0c1;--signal-ink:#062a22;--flap:#f4e9c9;
  --display:"Dana",iranSans,Tahoma,sans-serif;--body:iranSans,"Dana",Tahoma,sans-serif;--latin:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --r:14px;--r-sm:9px;
  direction:rtl;text-align:right;background:var(--paper);color:var(--text);font-family:var(--body);font-size:16px;line-height:1.9;
  padding-top:var(--nx-header,60px);min-height:100vh;-webkit-font-smoothing:antialiased;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .sh{
  --paper:#0d121b;--sheet:#121925;--text:#d3dae4;--muted:#9aa5b5;--ink-t:#f1f4f8;--rule:#232d3d;--rule-2:#324058;
  --blue:#7aa7ee;--blue-2:#a1c0f4;--blue-soft:#17243a;--teal:#5cc7c0;--teal-soft:#10302d;--ink:#070b12;--ink-2:#0e1521;--ink-3:#162033}}
:root[data-theme="dark"] .sh{
  --paper:#0d121b;--sheet:#121925;--text:#d3dae4;--muted:#9aa5b5;--ink-t:#f1f4f8;--rule:#232d3d;--rule-2:#324058;
  --blue:#7aa7ee;--blue-2:#a1c0f4;--blue-soft:#17243a;--teal:#5cc7c0;--teal-soft:#10302d;--ink:#070b12;--ink-2:#0e1521;--ink-3:#162033}
.sh *{box-sizing:border-box}
/* Legacy global CSS: `section{padding:60px 0;overflow:hidden}` (breaks sticky columns), Bootstrap label/legend margins,
   and `a,p,span{font-family:IranSans!important}`, which is why display fonts below carry !important. */
:where(.sh) section{padding:0;overflow:visible}
:where(.sh) label{margin:0}
.sh .sh-hero{overflow:hidden}
:where(.sh) a{color:var(--blue);text-decoration:none}
:where(.sh) a:hover{color:var(--blue-2);text-decoration:underline;text-underline-offset:4px}
.sh :focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:6px}
:where(.sh) :is(h1,h2,h3){font-family:var(--display)!important;color:var(--ink-t);margin:0;line-height:1.4;text-wrap:balance;font-weight:800}
:where(.sh) p{margin:0 0 .8rem;text-align:start}
:where(.sh) :is(ul,ol){margin:0;padding:0;list-style:none}
.sh svg{flex:none}
.sh-w{max-width:1240px;margin:0 auto;padding-inline:24px}
.sh-latin{font-family:var(--latin)!important;letter-spacing:.02em;direction:ltr;unicode-bidi:isolate}
.sh-code{font-family:var(--latin)!important;font-size:.72rem;letter-spacing:.06em;color:var(--muted);direction:ltr;unicode-bidi:isolate;white-space:nowrap;
  border:1px solid var(--rule-2);border-radius:999px;padding:1px 9px;line-height:1.7}
.sh-msgs{padding-block:12px}.sh-msg{background:var(--sheet);border:1px solid var(--rule);border-radius:var(--r-sm);padding:10px 14px}

/* sections */
.sh-sec{padding-block:104px}
.sh-sheet{background:var(--sheet)}
.sh-ink{background:var(--ink);color:var(--on-ink);--rule:var(--ink-rule);--muted:var(--on-ink-2)}
.sh-ink h1,.sh-ink h2,.sh-ink h3{color:#fff}
.sh-ink a{color:var(--signal)}
.sh-head{max-width:760px;margin-bottom:48px}
.sh-head h2{font-size:clamp(1.75rem,1.2rem + 1.9vw,2.6rem)}
.sh-head-p{color:var(--muted);font-size:1.04rem;margin-top:14px;max-width:62ch}
.sh-head-split{max-width:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 72px;align-items:end}
.sh-head-split .sh-head-p{margin-top:0}
.sh-eyebrow{display:flex;align-items:center;gap:12px;font-family:var(--display)!important;font-weight:600;font-size:.88rem;color:var(--teal);margin:0 0 14px}
.sh-eyebrow::before{content:"";width:28px;height:2px;background:currentColor;border-radius:2px}
.sh-on-ink{color:var(--signal)}

/* buttons */
.sh-btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--display)!important;font-weight:700;font-size:.98rem;line-height:1;border-radius:999px;
  padding:15px 24px;border:1px solid transparent;cursor:pointer;transition:transform .15s ease,background .15s ease,border-color .15s ease,color .15s ease;white-space:nowrap}
.sh-btn:hover{text-decoration:none;transform:translateY(-1px)}
.sh-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.sh .sh-btn-signal{background:var(--signal);color:var(--signal-ink)}
.sh .sh-btn-signal:hover{background:#7aeccf}
.sh .sh-btn-line{border-color:rgba(232,236,242,.32);color:#fff}
.sh .sh-btn-line:hover{border-color:#fff}
.sh .sh-btn-ink{background:var(--ink-t);color:var(--paper)}
.sh .sh-btn-line-ink{border-color:var(--rule-2);color:var(--ink-t)}
.sh .sh-btn-line-ink:hover{border-color:var(--ink-t)}
.sh-btn-sm{padding:11px 18px;font-size:.9rem}
.sh-link{display:inline-flex;align-items:center;gap:6px;font-family:var(--display)!important;font-weight:600;font-size:.92rem}
.sh-link svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}

/* ───── hero ───── */
.sh-hero{position:relative;overflow:hidden;padding-block:72px 0;
  background:radial-gradient(1200px 520px at 85% -10%,rgba(79,224,193,.10),transparent 60%),var(--ink)}
.sh-hero::after{content:"";position:absolute;inset:auto 0 0 0;height:1px;background:var(--ink-rule)}
.sh-hero-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);gap:40px 64px;align-items:center}
.sh-hero h1{font-size:clamp(2.2rem,1.3rem + 3.3vw,3.75rem);line-height:1.22;letter-spacing:-.01em;margin-bottom:18px}
.sh-hero-lead{font-family:var(--display)!important;font-weight:600;font-size:clamp(1.12rem,1rem + .5vw,1.38rem);color:var(--flap);margin-bottom:22px;line-height:1.7}
.sh-hero-p{color:var(--on-ink-2);max-width:58ch}
.sh-hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.sh-hero-note{margin-top:16px;font-size:.86rem;color:var(--on-ink-3)}
.sh-map{position:relative;margin:0;aspect-ratio:1;max-width:100%}
.sh-map-svg{width:100%;height:100%;display:block;font-family:var(--display)!important}
.sh-map-dot{fill:rgba(232,236,242,.10)}
.sh-map-orbit{fill:none;stroke:rgba(232,236,242,.10);stroke-dasharray:2 6}
.sh-map-orbit-2{stroke:rgba(79,224,193,.16)}
.sh-map-links use,.sh-map-links path{fill:none;stroke:rgba(232,236,242,.22);stroke-width:1.2}
.sh-map-links .sh-map-cross{stroke:rgba(79,224,193,.22);stroke-dasharray:4 5}
.sh-map-pulses circle{fill:var(--signal);opacity:0;filter:drop-shadow(0 0 5px rgba(79,224,193,.9))}
.sh-map-core-ring{fill:none;stroke:rgba(79,224,193,.45);stroke-width:1.2;animation:sh-breathe 4s ease-in-out infinite;transform-origin:280px 200px}
.sh-map-core-fill{fill:#0f2a2c;stroke:var(--signal);stroke-width:1.4}
.sh-map-core-t{fill:#fff;font-family:var(--latin)!important;font-size:17px;font-weight:700;letter-spacing:.08em}
.sh-map-core-s{fill:var(--signal);font-size:10.5px;font-weight:600}
.sh-map-node rect{fill:var(--ink-2);stroke:rgba(232,236,242,.26);stroke-width:1;transition:stroke .3s,fill .3s}
.sh-map-node text{fill:var(--on-ink);font-size:13px;font-weight:600}
.sh-map-led{fill:var(--on-ink-3);transition:fill .3s}
.sh-map-node.hot rect{stroke:var(--signal);fill:#0d2427}
.sh-map-node.hot .sh-map-led{fill:var(--signal)}
@keyframes sh-breathe{0%,100%{transform:scale(1);opacity:.9}50%{transform:scale(1.08);opacity:.5}}
.sh-insight{position:absolute;inset-inline-end:4%;bottom:3%;width:min(350px,70%);background:rgba(17,26,43,.92);backdrop-filter:blur(6px);
  border:1px solid rgba(79,224,193,.32);border-radius:var(--r);padding:14px 16px;box-shadow:0 24px 50px -24px rgba(0,0,0,.7);min-height:142px}
.sh-insight-i{display:none;flex-direction:column;gap:5px}
.sh-insight-i.on{display:flex;animation:sh-in .45s ease both}
.sh-insight-tag{font-size:.72rem;color:var(--signal);font-family:var(--display)!important;font-weight:600}
.sh-insight b{color:#fff;font-family:var(--display)!important;font-size:.98rem;line-height:1.5}
.sh-insight-row{display:flex;gap:8px;font-size:.82rem;color:var(--on-ink-2);line-height:1.65}
.sh-insight-row i{font-style:normal;color:var(--flap);flex:none;min-width:3em;font-family:var(--display)!important;font-weight:600}
@keyframes sh-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.sh-motto{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:56px;border-top:1px solid var(--ink-rule)}
.sh-motto span{font-family:var(--display)!important;font-weight:700;font-size:1.06rem;color:#fff;padding:22px 0;display:flex;gap:12px;align-items:baseline}
.sh-motto span+span{border-inline-start:1px solid var(--ink-rule);padding-inline-start:24px}
.sh-motto i{font-style:normal;color:var(--signal);font-size:.82rem}

/* proof strip */
.sh-proof{background:var(--sheet);border-bottom:1px solid var(--rule)}
.sh-proof-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
.sh-proof-i{padding:26px 0;display:flex;flex-direction:column;gap:2px;color:var(--text)}
.sh a.sh-proof-i:hover{text-decoration:none}.sh a.sh-proof-i:hover b{color:var(--blue)}
.sh-proof-i+.sh-proof-i{border-inline-start:1px solid var(--rule);padding-inline-start:24px}
.sh-proof-i b{font-family:var(--display)!important;font-weight:800;font-size:1.9rem;color:var(--ink-t);line-height:1.3;display:flex;align-items:baseline;gap:6px}
.sh-proof-i b small{font-size:.95rem;font-weight:600;color:var(--muted)}
.sh-proof-i span{font-size:.86rem;color:var(--muted)}
.sh-proof-note{font-size:.78rem;color:var(--muted);padding-bottom:16px;margin:0}

/* ───── need finder ───── */
.sh-finder{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:0;border:1px solid var(--rule);border-radius:var(--r);background:var(--sheet);overflow:hidden}
.sh-finder-list{display:none;border-inline-end:1px solid var(--rule);padding:8px}
.sh-js .sh-finder-list{display:block}
.sh-q{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;width:100%;text-align:right;background:none;border:0;
  padding:13px 14px;border-radius:10px;cursor:pointer;color:var(--text);font:inherit;font-size:.95rem;line-height:1.6;transition:background .15s}
.sh-q:hover{background:var(--paper)}
.sh-q.on{background:var(--ink);color:#fff;box-shadow:inset 0 0 0 1px rgba(79,224,193,.4)}
.sh-q-n{font-family:var(--display)!important;font-weight:700;font-size:.8rem;color:var(--muted)}
.sh-q.on .sh-q-n{color:var(--signal)}
.sh-q-t{font-family:var(--display)!important;font-weight:600}
.sh-q-a{font-size:.72rem;color:var(--muted);border:1px solid var(--rule-2);border-radius:999px;padding:0 9px}
.sh-q.on .sh-q-a{color:var(--signal);border-color:rgba(79,224,193,.4)}
.sh-finder-panels{padding:36px 40px;display:flex;flex-direction:column;gap:30px;grid-column:1/-1}
.sh-js .sh-finder-panels{grid-column:auto;display:block}
.sh-panel{display:block}
.sh-js .sh-panel{display:none}
.sh-js .sh-panel.on{display:block;animation:sh-in .35s ease both}
.sh-panel-k{font-size:.8rem;color:var(--teal);font-family:var(--display)!important;font-weight:600;margin-bottom:6px}
.sh-panel h3{font-size:1.38rem;margin-bottom:22px}
.sh-panel-list{border-top:1px solid var(--rule);margin-bottom:24px}
.sh-panel-list a{display:grid;grid-template-columns:5.4rem minmax(0,1fr) auto;grid-template-areas:"c b i" "c t i";gap:0 16px;align-items:center;
  padding:16px 2px;border-bottom:1px solid var(--rule);color:var(--text)}
.sh-panel-list a:hover{text-decoration:none;background:linear-gradient(to left,var(--paper),transparent)}
.sh-panel-list .sh-code{grid-area:c;justify-self:start}
.sh-panel-list b{grid-area:b;font-family:var(--display)!important;color:var(--ink-t);font-size:1.02rem}
.sh-panel-list span:not(.sh-code){grid-area:t;font-size:.88rem;color:var(--muted)}
.sh-panel-list svg{grid-area:i;width:18px;height:18px;fill:none;stroke:var(--blue);stroke-width:2;stroke-linecap:round}
.sh-answer{margin-top:28px;font-family:var(--display)!important;font-weight:600;font-size:1.08rem;color:var(--ink-t);max-width:70ch}
.sh-cause{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center;margin-top:56px;padding-top:48px;border-top:1px solid var(--rule)}
.sh-cause-text p{font-size:1.14rem;line-height:2;color:var(--text);margin:0;padding-inline-start:22px;border-inline-start:3px solid var(--teal)}
.sh-cause-fig{position:relative;height:240px}
.sh-cause-fig::before{content:"";position:absolute;inset:18% 20%;border:1px dashed var(--rule-2);border-radius:50%}
.sh-cause-core{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--ink);color:#fff;font-family:var(--display)!important;font-weight:700;
  padding:12px 22px;border-radius:999px;box-shadow:0 0 0 8px var(--sheet),0 0 0 9px var(--rule)}
.sh-cause-c{position:absolute;background:var(--sheet);border:1px solid var(--rule-2);border-radius:999px;padding:5px 14px;font-size:.86rem;font-family:var(--display)!important;font-weight:600;color:var(--ink-t);white-space:nowrap}
.sh-cause-c.c1{top:4%;left:50%;transform:translateX(-50%)}.sh-cause-c.c2{top:30%;right:0}.sh-cause-c.c3{bottom:10%;right:8%}
.sh-cause-c.c4{bottom:10%;left:8%}.sh-cause-c.c5{top:30%;left:0}

/* ───── catalogue ───── */
.sh-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:36px}
.sh-filter button{font:inherit;font-family:var(--display)!important;font-weight:600;font-size:.9rem;background:none;border:1px solid var(--rule-2);color:var(--text);
  border-radius:999px;padding:7px 16px;cursor:pointer;display:inline-flex;gap:8px;align-items:center}
.sh-filter button small{font-size:.75rem;color:var(--muted)}
.sh-filter button.on{background:var(--ink-t);border-color:var(--ink-t);color:var(--sheet)}
.sh-filter button.on small{color:inherit;opacity:.7}
.sh-filter{display:none}.sh-js .sh-filter{display:flex}
.sh-cat{display:flex;flex-direction:column;gap:44px}
.sh-cat-g{display:grid;grid-template-columns:minmax(0,.32fr) minmax(0,1fr);gap:20px 48px}
.sh-cat-g[hidden]{display:none}
.sh-cat-gh h3{font-size:1.2rem;margin-bottom:8px}
.sh-cat-gh p{font-size:.9rem;color:var(--muted);margin:0}
.sh-cat-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--ink-t)}
.sh-cat-list li{border-bottom:1px solid var(--rule)}
.sh-cat-list li:nth-child(odd){border-inline-end:1px solid var(--rule)}
.sh-cat-list a{display:grid;grid-template-columns:2.2rem minmax(0,1fr) auto;gap:14px;align-items:start;padding:18px 16px;color:var(--text);height:100%;transition:background .15s}
.sh-cat-list a:hover{text-decoration:none;background:var(--paper)}
.sh-cat-list a:hover b{color:var(--blue)}
.sh-cat-n{font-family:var(--display)!important;font-weight:700;font-size:.82rem;color:var(--muted);padding-top:3px}
.sh-cat-b{display:flex;flex-direction:column;gap:2px;min-width:0}
.sh-cat-b b{font-family:var(--display)!important;font-weight:700;color:var(--ink-t);font-size:1rem;line-height:1.6}
.sh-cat-b span{font-size:.86rem;color:var(--muted);line-height:1.7}
.sh-cat-list .sh-code{margin-top:3px}
.sh-more{margin-top:40px;display:flex;justify-content:flex-start}

/* ───── AI ───── */
.sh-ai{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px 80px;align-items:start}
.sh-ai-side{position:sticky;top:calc(var(--nx-header,60px) + 32px)}
.sh-ai-side h2{font-size:clamp(1.75rem,1.2rem + 1.9vw,2.6rem)}
.sh-note{margin-top:28px;background:var(--sheet);border:1px solid var(--rule);border-radius:var(--r);padding:20px 22px}
.sh-note b{display:block;font-family:var(--display)!important;color:var(--ink-t);margin-bottom:6px}
.sh-note p{font-size:.92rem;color:var(--muted);margin:0}
.sh-ai-list{border-top:1px solid var(--ink-t)}
.sh-ai-list li{display:grid;grid-template-columns:2.6rem 9.5rem minmax(0,1fr);gap:16px;align-items:baseline;padding:22px 0;border-bottom:1px solid var(--rule)}
.sh-ai-n{font-family:var(--display)!important;font-weight:700;font-size:.82rem;color:var(--teal)}
.sh-ai-list b{font-family:var(--display)!important;font-weight:800;font-size:1.18rem;color:var(--ink-t)}
.sh-ai-list p{margin:0;color:var(--muted)}

/* ───── SDO ───── */
.sh-decisions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:44px}
.sh-dec{border:1px solid var(--ink-rule);border-radius:var(--r);padding:22px 22px 18px;background:var(--ink-2)}
.sh-dec-k{display:block;font-size:.76rem;color:var(--on-ink-3);font-family:var(--display)!important;font-weight:600}
.sh-dec b{display:block;font-family:var(--display)!important;font-size:1.22rem;color:#fff;margin:2px 0 14px}
.sh-dec ul{display:flex;flex-wrap:wrap;gap:7px}
.sh-dec li{font-size:.82rem;border:1px solid rgba(79,224,193,.3);color:var(--signal);border-radius:999px;padding:2px 11px}
.sh-sdo-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 56px;color:var(--on-ink-2);margin-bottom:44px}
.sh-sdo-body p{margin:0}
.sh-cycle{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));counter-reset:c;position:relative;border-top:1px solid var(--rule)}
.sh-cycle li{position:relative;padding:22px 14px 22px 0;font-family:var(--display)!important;font-weight:700;color:var(--ink-t);font-size:1rem;line-height:1.5}
.sh-ink .sh-cycle li{color:#fff}
.sh-cycle li span{display:block;font-size:.76rem;color:var(--teal);margin-bottom:6px}
.sh-ink .sh-cycle li span{color:var(--signal)}
.sh-cycle li::before{content:"";position:absolute;top:-5px;right:0;width:9px;height:9px;border-radius:50%;background:var(--teal)}
.sh-ink .sh-cycle li::before{background:var(--signal);box-shadow:0 0 0 4px rgba(79,224,193,.15)}
.sh-cycle li:last-child::after{content:"↺";position:absolute;top:-15px;left:0;font-size:1.1rem;color:var(--signal);font-weight:400}
.sh-cycle-note{margin-top:18px;font-size:.92rem;color:var(--muted);max-width:72ch}

/* ───── network ───── */
.sh-net{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.sh-net-col{background:var(--sheet);border:1px solid var(--rule);border-radius:var(--r);padding:22px;min-width:0}
.sh-net-h{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:14px}
.sh-net-h h3{font-size:1.04rem}
.sh-net-h a{font-size:.82rem;font-family:var(--display)!important;font-weight:600;white-space:nowrap}
.sh-net-h2{margin-top:26px;padding-top:18px;border-top:1px solid var(--rule)}
.sh-prod{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 0;color:var(--text)}
.sh-prod+.sh-prod{border-top:1px solid var(--rule)}
.sh-prod:hover{text-decoration:none}.sh-prod:hover b{color:var(--blue)}
.sh-prod img,.sh-prod-ph{width:56px;height:56px;border-radius:10px;object-fit:cover;background:var(--paper);border:1px solid var(--rule)}
.sh-prod-b{display:flex;flex-direction:column;min-width:0}
.sh-prod-b b{font-family:var(--display)!important;font-weight:700;font-size:.92rem;color:var(--ink-t);line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sh-prod-b span{font-size:.78rem;color:var(--muted)}
.sh-prod-p{font-family:var(--display)!important;font-weight:700;font-size:.86rem;color:var(--teal);white-space:nowrap}
.sh-prod-p small{font-weight:500;color:var(--muted)}
.sh-experts a{display:grid;grid-template-columns:44px minmax(0,1fr);grid-template-areas:"a b" "a n";gap:0 12px;align-items:center;padding:9px 0;color:var(--text)}
.sh-experts li+li a{border-top:1px solid var(--rule)}
.sh-experts a:hover{text-decoration:none}.sh-experts a:hover b{color:var(--blue)}
.sh-experts img,.sh-av{grid-area:a;width:44px;height:44px;border-radius:50%;object-fit:cover;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;font-family:var(--display)!important;font-weight:700}
.sh-ex-b{grid-area:b;display:flex;flex-direction:column;min-width:0}
.sh-ex-b b{font-family:var(--display)!important;font-weight:700;font-size:.94rem;color:var(--ink-t);display:flex;gap:6px;align-items:center}
.sh-ex-b span{font-size:.8rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sh-ok{font-style:normal;font-size:.7rem;background:var(--teal);color:#fff;border-radius:50%;width:16px;height:16px;display:inline-grid;place-items:center}
.sh-ex-n{grid-area:n;font-size:.74rem;color:var(--teal);font-family:var(--display)!important;font-weight:600}
.sh-reads a{display:grid;grid-template-columns:2rem minmax(0,1fr);gap:8px;padding:10px 0;color:var(--text)}
.sh-reads li+li a{border-top:1px solid var(--rule)}
.sh-reads a:hover{text-decoration:none}.sh-reads a:hover b{color:var(--blue)}
.sh-reads span{font-family:var(--display)!important;font-weight:700;font-size:.8rem;color:var(--muted);padding-top:2px}
.sh-reads b{font-family:var(--display)!important;font-weight:600;font-size:.92rem;color:var(--ink-t);line-height:1.65}
.sh-dash a{display:flex;flex-direction:column;padding:8px 0;color:var(--text)}
.sh-dash li+li a{border-top:1px solid var(--rule)}
.sh-dash b{font-family:var(--display)!important;font-weight:600;font-size:.9rem;color:var(--ink-t);line-height:1.6}
.sh-dash span{font-size:.76rem;color:var(--muted)}
.sh-empty{color:var(--muted);font-size:.88rem}
.sh-net-cta{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-top:28px;padding:22px 26px;border:1px dashed var(--rule-2);border-radius:var(--r)}
.sh-net-cta p{margin:0;font-family:var(--display)!important;font-weight:600;color:var(--ink-t)}

/* ───── industries ───── */
.sh-ind{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink-t)}
.sh-ind-i{padding:26px 24px 26px 0;border-bottom:1px solid var(--rule);display:flex;flex-direction:column}
.sh-ind-i:not(:nth-child(3n+1)){border-inline-start:1px solid var(--rule);padding-inline-start:24px}
.sh-ind-i h3{font-size:1.04rem;margin-bottom:10px}
.sh-ind-i p{font-size:.88rem;color:var(--muted);line-height:1.85}
.sh-ind-f{color:var(--text)!important;margin-top:auto}
.sh-ind-f i{font-style:normal;display:block;font-family:var(--display)!important;font-weight:600;font-size:.76rem;color:var(--teal)}
.sh-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.sh-chips a{font-size:.76rem;border:1px solid var(--rule-2);border-radius:999px;padding:2px 10px;color:var(--text);line-height:1.8}
.sh-chips a:hover{border-color:var(--blue);color:var(--blue);text-decoration:none}

/* ───── why ───── */
.sh-why{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:48px 80px}
.sh-why-side h2{font-size:clamp(1.75rem,1.2rem + 1.9vw,2.6rem);position:sticky;top:calc(var(--nx-header,60px) + 32px)}
.sh-why-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 48px}
.sh-why-list li span{display:block;font-family:var(--display)!important;font-weight:800;font-size:2rem;color:var(--rule-2);line-height:1;margin-bottom:14px}
.sh-why-list h3{font-size:1.08rem;margin-bottom:8px}
.sh-why-list p{font-size:.92rem;color:var(--muted);margin:0}

/* ───── platform ───── */
.sh-plat{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:40px 80px;align-items:start}
.sh-plat h2{font-size:clamp(1.6rem,1.15rem + 1.6vw,2.3rem)}
.sh-spec{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--rule);border-radius:var(--r);overflow:hidden;background:var(--paper)}
.sh-spec li{padding:14px 18px 14px 14px;font-size:.92rem;display:flex;gap:10px;align-items:baseline;border-bottom:1px solid var(--rule)}
.sh-spec li:nth-child(odd){border-inline-end:1px solid var(--rule)}
.sh-spec li::before{content:"";flex:none;width:7px;height:7px;border-radius:2px;background:var(--teal);transform:translateY(-2px)}

/* ───── process ───── */
.sh-steps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;position:relative}
.sh-steps::before{content:"";position:absolute;top:19px;right:20px;left:20px;height:1px;background:var(--rule-2)}
.sh-steps li{position:relative;padding-inline-end:20px}
.sh-step-n{position:relative;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--paper);border:1px solid var(--ink-t);
  font-family:var(--display)!important;font-weight:800;color:var(--ink-t);margin-bottom:18px}
.sh-steps li:first-child .sh-step-n{background:var(--ink-t);color:var(--paper)}
.sh-steps h3{font-size:1rem;margin-bottom:8px}
.sh-steps p{font-size:.86rem;color:var(--muted);margin:0}

/* ───── faq ───── */
.sh-faq-w{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:40px 80px}
.sh-faq-w h2{font-size:clamp(1.6rem,1.15rem + 1.6vw,2.3rem)}
.sh-faq{border-top:1px solid var(--ink-t)}
.sh-faq details{border-bottom:1px solid var(--rule)}
.sh-faq summary{list-style:none;cursor:pointer;padding:20px 0;font-family:var(--display)!important;font-weight:700;color:var(--ink-t);font-size:1.04rem;display:flex;justify-content:space-between;gap:20px}
.sh-faq summary::-webkit-details-marker{display:none}
.sh-faq summary span{flex:1;min-width:0;white-space:normal;overflow-wrap:anywhere}
.sh-faq summary::after{content:"+";font-family:var(--latin)!important;font-weight:400;font-size:1.3rem;line-height:1.2;color:var(--muted);transition:transform .2s}
.sh-faq details[open] summary::after{transform:rotate(45deg)}
.sh-faq details p{color:var(--muted);padding-bottom:20px;margin:0;max-width:70ch}

/* ───── closing + form ───── */
.sh-close{background:radial-gradient(900px 500px at 10% 110%,rgba(79,224,193,.10),transparent 60%),var(--ink)}
.sh-close-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px 72px;align-items:start}
.sh-close-text h2{font-size:clamp(1.7rem,1.2rem + 1.8vw,2.5rem);margin-bottom:22px}
.sh-close-text p{color:var(--on-ink-2)}
.sh-close-start{font-family:var(--display)!important;font-weight:700;color:var(--flap)!important;font-size:1.12rem;margin-top:26px}
.sh-close-sig{font-size:.86rem;color:var(--on-ink-3)!important}
.sh-mini-steps{margin-top:26px;border-top:1px solid var(--ink-rule)}
.sh-mini-steps li{display:flex;flex-direction:column;padding:14px 0;border-bottom:1px solid var(--ink-rule)}
.sh-mini-steps b{font-family:var(--display)!important;color:#fff}
.sh-mini-steps span{font-size:.86rem;color:var(--on-ink-2)}
.sh-close-form{background:var(--sheet);color:var(--text);border-radius:18px;padding:30px;box-shadow:0 40px 80px -40px rgba(0,0,0,.6);
  --rule:#e2ded4;--muted:#5c6575}
:root[data-theme="dark"] .sh-close-form{--rule:#232d3d;--muted:#9aa5b5}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .sh-close-form{--rule:#232d3d;--muted:#9aa5b5}}
.sh-form{display:flex;flex-direction:column;gap:16px}
.sh-form a{color:var(--blue)}
.sh-intents-l{font-family:var(--display)!important;font-weight:700;color:var(--ink-t);font-size:.98rem;margin:0 0 -6px!important}
.sh-intents{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;background:var(--paper);border-radius:12px;padding:5px}
.sh-intent{position:relative;cursor:pointer}
.sh-intent input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.sh-intent span{display:grid;place-items:center;text-align:center;font-family:var(--display)!important;font-weight:600;font-size:.84rem;padding:9px 6px;border-radius:9px;color:var(--muted);line-height:1.5;height:100%}
.sh-intent input:checked+span{background:var(--sheet);color:var(--ink-t);box-shadow:0 1px 3px rgba(11,18,32,.12),0 0 0 1px var(--rule)}
.sh-intent input:focus-visible+span{outline:2px solid var(--blue);outline-offset:1px}
.sh-field{display:flex;flex-direction:column;gap:6px}
.sh-field label{font-family:var(--display)!important;font-weight:600;font-size:.88rem;color:var(--ink-t)}
.sh-field label small{font-weight:400;color:var(--muted);margin-inline-start:4px}
.sh-field input,.sh-field select,.sh-field textarea{font:inherit;font-size:.95rem;color:var(--ink-t);background:var(--paper);border:1px solid var(--rule);border-radius:10px;
  padding:12px 14px;width:100%;transition:border-color .15s,background .15s}
.sh-field input[dir=ltr]{text-align:left}
.sh-field input:focus,.sh-field select:focus,.sh-field textarea:focus{outline:none;border-color:var(--blue);background:var(--sheet);box-shadow:0 0 0 3px var(--blue-soft)}
.sh-field textarea{resize:vertical;min-height:110px;line-height:1.8}
.sh-field.bad input,.sh-field.bad textarea{border-color:#b42318}
.sh-err,.sh-form-err{color:#b42318;font-size:.82rem}
:root[data-theme="dark"] .sh-err,:root[data-theme="dark"] .sh-form-err{color:#f28b82}
.sh-form-err{background:#fdecea;border-radius:10px;padding:10px 12px}
:root[data-theme="dark"] .sh-form-err{background:#3a1c1a}
.sh-help{font-size:.76rem;color:var(--muted)}
.sh-row2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.sh-hp{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.sh-form .sh-btn{justify-content:center;width:100%;margin-top:4px}
.sh-form .sh-btn-signal{background:var(--ink-t);color:var(--sheet)}
.sh-form .sh-btn-signal:hover{background:var(--blue)}
.sh-fine{font-size:.76rem;color:var(--muted);margin:0}

/* ───── inner pages ───── */
.sh-pagehead{padding-block:56px 60px;background:radial-gradient(900px 420px at 90% -20%,rgba(79,224,193,.10),transparent 60%),var(--ink)}
.sh-pagehead h1{font-size:clamp(2rem,1.3rem + 2.6vw,3.2rem);line-height:1.25;margin-bottom:14px}
.sh-pagehead-p{color:var(--on-ink-2);max-width:68ch;font-size:1.04rem}
.sh-crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:.82rem;margin-bottom:26px;color:var(--on-ink-3)}
.sh-crumbs a{color:var(--on-ink-2)!important}
.sh-crumbs > *+*::before{content:"/";margin-inline-end:8px;color:var(--on-ink-3)}
.sh-jump{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}
.sh-jump a{border:1px solid rgba(232,236,242,.24);border-radius:999px;padding:7px 16px;color:#fff!important;font-family:var(--display)!important;font-weight:600;font-size:.88rem;display:inline-flex;gap:8px;align-items:center}
.sh-jump a:hover{border-color:var(--signal);text-decoration:none}
.sh-jump small{color:var(--signal)}
.sh-sol-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.sh-sol{background:var(--sheet);border:1px solid var(--rule);border-radius:var(--r);padding:24px;display:flex;flex-direction:column;gap:10px;transition:border-color .15s,box-shadow .15s}
.sh-sheet .sh-sol{background:var(--paper)}
.sh-sol:hover{border-color:var(--rule-2);box-shadow:0 18px 40px -28px rgba(11,18,32,.35)}
.sh-sol-h{display:flex;justify-content:space-between;align-items:center}
.sh-sol h3{font-size:1.1rem;line-height:1.55}
.sh-sol h3 a{color:var(--ink-t)}
.sh-sol-t{font-size:.9rem;color:var(--teal);font-family:var(--display)!important;font-weight:600;margin:0}
.sh-sol ul{display:flex;flex-direction:column;gap:6px;margin:4px 0 6px;flex:1}
.sh-sol li{font-size:.86rem;color:var(--muted);padding-inline-start:14px;position:relative;line-height:1.75}
.sh-sol li::before{content:"";position:absolute;right:0;top:.72em;width:5px;height:5px;border-radius:50%;background:var(--rule-2)}
.sh-s-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:end}
.sh-s-tag{font-family:var(--display)!important;font-weight:600;font-size:clamp(1.08rem,1rem + .45vw,1.32rem);color:var(--flap);margin-bottom:16px}
.sh-s-badge{width:220px;aspect-ratio:1;border:1px solid var(--ink-rule);border-radius:24px;display:flex;flex-direction:column;justify-content:space-between;padding:22px;
  background:linear-gradient(160deg,var(--ink-2),var(--ink))}
.sh-s-badge .sh-latin{font-size:1.7rem;font-weight:700;color:var(--signal);line-height:1.25;word-break:break-word}
.sh-s-badge small{color:var(--on-ink-2);font-family:var(--display)!important;font-weight:600;font-size:.82rem}
.sh-s-body{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:48px 64px;align-items:start}
.sh-s-main h2{font-size:1.6rem;margin-bottom:22px}
.sh-caps{border-top:1px solid var(--ink-t)}
.sh-caps li{display:grid;grid-template-columns:2.6rem minmax(0,1fr);gap:12px;padding:16px 0;border-bottom:1px solid var(--rule);font-size:1.02rem;color:var(--text)}
.sh-caps li span{font-family:var(--display)!important;font-weight:700;font-size:.82rem;color:var(--teal);padding-top:3px}
.sh-s-side{display:flex;flex-direction:column;gap:16px;position:sticky;top:calc(var(--nx-header,60px) + 24px)}
.sh-s-card{background:var(--sheet);border:1px solid var(--rule);border-radius:var(--r);padding:22px}
.sh-s-card p{margin:0;font-size:.95rem}
.sh-s-k{font-family:var(--display)!important;font-weight:700;color:var(--ink-t);font-size:.95rem;margin-bottom:8px!important}
.sh-s-ai{background:var(--ink);border-color:var(--ink);color:var(--on-ink-2)}
.sh-s-ai .sh-s-k{color:var(--signal)}
.sh-s-val{border-inline-start:3px solid var(--teal)}
.sh-s-ind li{display:flex;flex-direction:column;padding:8px 0;border-top:1px solid var(--rule)}
.sh-s-ind li:first-child{border-top:0;padding-top:0}
.sh-s-ind b{font-family:var(--display)!important;font-size:.9rem;color:var(--ink-t)}
.sh-s-ind span{font-size:.82rem;color:var(--muted)}
.sh-rel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.sh-rel-i{display:flex;flex-direction:column;gap:6px;align-items:flex-start;padding:22px;border:1px solid var(--rule);border-radius:var(--r);background:var(--paper);color:var(--text)}
.sh-rel-i:hover{text-decoration:none;border-color:var(--blue)}
.sh-rel-i b{font-family:var(--display)!important;color:var(--ink-t);font-size:1.02rem}
.sh-rel-i span:last-child{font-size:.86rem;color:var(--muted)}
.sh-pn{display:flex;justify-content:space-between;gap:16px;padding-block:36px}
.sh-pn a{display:flex;flex-direction:column;max-width:46%;color:var(--text)}
.sh-pn a:hover{text-decoration:none}.sh-pn a:hover b{color:var(--blue)}
.sh-pn small{font-size:.78rem;color:var(--muted)}
.sh-pn b{font-family:var(--display)!important;color:var(--ink-t)}
.sh-pn-next{text-align:left;align-items:flex-end}
.sh-foot{background:var(--paper);border-top:1px solid var(--rule);min-height:0;padding-top:0}
.sh-foot .nx-wrap{padding-block:8px 24px}

/* ───── responsive ───── */
@media (max-width:1080px){
  .sh-hero-grid,.sh-ai,.sh-why,.sh-plat,.sh-faq-w,.sh-close-grid,.sh-s-body,.sh-cause{grid-template-columns:minmax(0,1fr)}
  .sh-ai-side,.sh-why-side h2,.sh-s-side{position:static}
  .sh-map{max-width:560px;margin-inline:auto;width:100%}
  .sh-insight{inset-inline-end:0}
  .sh-cat-g{grid-template-columns:minmax(0,1fr)}
  .sh-net,.sh-sol-grid,.sh-rel{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sh-ind{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sh-ind-i:not(:nth-child(3n+1)){border-inline-start:0;padding-inline-start:0}
  .sh-ind-i:nth-child(even){border-inline-start:1px solid var(--rule);padding-inline-start:24px}
  .sh-steps{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:36px}
  .sh-steps::before{display:none}
  .sh-cycle{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sh-proof-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sh-proof-i:nth-child(4){border-inline-start:0;padding-inline-start:0}
  .sh-s-badge{display:none}
  .sh-s-head{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:760px){
  .sh{font-size:15px}
  .sh-w{padding-inline:16px}
  .sh-sec{padding-block:64px}
  .sh-hero{padding-top:44px}
  .sh-head-split{grid-template-columns:minmax(0,1fr);gap:12px}
  .sh-head{margin-bottom:32px}
  .sh-motto{grid-template-columns:minmax(0,1fr);margin-top:36px}
  .sh-motto span{padding:14px 0}
  .sh-motto span+span{border-inline-start:0;padding-inline-start:0;border-top:1px solid var(--ink-rule)}
  .sh-map{aspect-ratio:auto}
  .sh-map-svg{height:auto;aspect-ratio:560/400}
  .sh-insight{position:relative;inset:auto;width:100%;margin-top:-2%}
  .sh-proof-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sh-proof-i{padding:18px 0}
  .sh-proof-i+.sh-proof-i{border-inline-start:0;padding-inline-start:0}
  .sh-proof-i:nth-child(even){border-inline-start:1px solid var(--rule);padding-inline-start:16px}
  .sh-proof-i b{font-size:1.5rem}
  .sh-proof-i:nth-child(5){grid-column:1/-1;border-inline-start:0!important;padding-inline-start:0!important;border-top:1px solid var(--rule)}
  .sh-finder{grid-template-columns:minmax(0,1fr)}
  .sh-js .sh-finder-list{border-inline-end:0;border-bottom:1px solid var(--rule);display:flex;overflow-x:auto;gap:6px;scroll-snap-type:x mandatory;padding:10px}
  .sh-js .sh-q{flex:0 0 78%;scroll-snap-align:start;grid-template-columns:auto minmax(0,1fr);border:1px solid var(--rule)}
  .sh-js .sh-q .sh-q-a{display:none}
  .sh-finder-panels{padding:24px 18px}
  .sh-panel-list a{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"c i" "b i" "t i";gap:4px 12px}
  .sh-cause-fig{height:210px}
  .sh-cat-list{grid-template-columns:minmax(0,1fr)}
  .sh-cat-list li:nth-child(odd){border-inline-end:0}
  .sh-cat-list a{padding:13px 2px;align-items:center}
  .sh-cat-b span{display:none}
  .sh-cat{gap:30px}
  .sh-cause{margin-top:36px;padding-top:30px}
  .sh-cause-fig{display:none}
  .sh .sh-ind{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;border-top:0;padding-bottom:8px;margin-inline:-16px;padding-inline:16px}
  .sh .sh-ind-i,.sh .sh-ind-i:nth-child(even){flex:0 0 84%;scroll-snap-align:start;border:1px solid var(--rule);border-radius:var(--r);padding:20px}
  .sh-ai-list li{grid-template-columns:2.2rem minmax(0,1fr);grid-template-areas:"n b" "n p"}
  .sh-ai-list li .sh-ai-n{grid-area:n}.sh-ai-list li b{grid-area:b}.sh-ai-list li p{grid-area:p}
  .sh-decisions,.sh-net,.sh-sol-grid,.sh-rel,.sh-sdo-body,.sh-why-list,.sh-spec{grid-template-columns:minmax(0,1fr)}
  .sh-spec li:nth-child(odd){border-inline-end:0}
  .sh-cycle{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sh-steps{grid-template-columns:minmax(0,1fr);row-gap:0}
  .sh-steps li{display:grid;grid-template-columns:40px minmax(0,1fr);grid-template-areas:"n h" "n p";gap:2px 16px;padding:0 0 22px}
  .sh-step-n{grid-area:n;margin:0}.sh-steps h3{grid-area:h;align-self:center}.sh-steps p{grid-area:p}
  .sh-close-form{padding:22px 18px}
  .sh-row2{grid-template-columns:minmax(0,1fr)}
  .sh-intents{grid-template-columns:minmax(0,1fr)}
  .sh-hero-cta .sh-btn{width:100%;justify-content:center}
  .sh-pn a{max-width:48%}
}
@media (prefers-reduced-motion:reduce){
  .sh *{animation:none!important;transition:none!important}
  .sh-map-pulses{display:none}
}
