.ssm-single,
.ssm-single * { box-sizing:border-box; font-family:'Lama Sans', 'LamaSans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }
body.single-nds_service,
body.single-nds_solution { background:#ffffff; }
.ssm-container { width:min(1200px, calc(100% - 32px)); margin-inline:auto; }

/* Hero: centered only */
.ssm-hero { padding:88px 0 42px; background:linear-gradient(180deg,#f7fbff 0%,#ffffff 100%); position:relative; overflow:hidden; }
.ssm-hero::before { content:''; position:absolute; inset:auto -120px -120px auto; width:320px; height:320px; border-radius:50%; background:radial-gradient(circle, rgba(14,165,233,.12) 0%, rgba(14,165,233,0) 70%); pointer-events:none; }
.ssm-hero__inner { max-width:860px; margin-inline:auto; text-align:center; }
.ssm-hero__title { font-size:clamp(34px, 5vw, 58px); line-height:1.05; margin:0 0 18px; color:#0f172a; letter-spacing:-0.02em; }
.ssm-hero__desc { font-size:18px; line-height:1.95; color:#4b5563; margin:0 0 28px; }
.ssm-btn { display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:0 24px; border-radius:999px; background:#0952F4; color:#fff; text-decoration:none; font-weight:700; border:1px solid transparent; box-shadow:0 14px 30px rgba(9,82,244,.18); transition:transform .25s ease, box-shadow .25s ease, background-color .25s ease, color .25s ease, border-color .25s ease; }
.ssm-btn:hover { transform:translateY(-2px); box-shadow:0 18px 36px rgba(9,82,244,.24); color:#ffffff; }
.ssm-hero__benefits { margin:16px 0 0; color:#6b7280; font-size:14px; line-height:1.9; }

/* Logos: centered only */
.ssm-logos { padding:24px 0 42px; }
.ssm-logos__grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:16px; align-items:center; justify-content:center; max-width:980px; margin-inline:auto; }
.ssm-logos__item { min-height:84px; border:1px solid #e8eef7; border-radius:20px; display:flex; align-items:center; justify-content:center; padding:16px; background:#fff; box-shadow:0 10px 24px rgba(15,23,42,.04); transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.ssm-logos__item:hover { transform:translateY(-3px); box-shadow:0 16px 30px rgba(15,23,42,.08); border-color:#dbeafe; }
.ssm-logos__item img { max-width:100%; max-height:54px; object-fit:contain; }

/* Cards remain not centered unless admin setting says so */
.ssm-cards { padding:42px 0; }
.ssm-cards__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.ssm-card { border-radius:24px; padding:26px; border:1px solid #e5e7eb; background:#fff; box-shadow:0 12px 32px rgba(15,23,42,.05); transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.ssm-card:hover { transform:translateY(-4px); box-shadow:0 20px 38px rgba(15,23,42,.08); border-color:#dbeafe; }
.ssm-card__icon img { width:58px; height:58px; object-fit:contain; }
.ssm-card__title { margin:16px 0 10px; font-size:22px; line-height:1.3; color:#0f172a; }
.ssm-card__desc { margin:0; line-height:1.9; color:#4b5563; }
.ssm-align-center .ssm-card { text-align:center; }
.ssm-align-right .ssm-card { text-align:right; }
.ssm-icon-left .ssm-card { display:grid; grid-template-columns:72px 1fr; gap:16px; align-items:start; }
.ssm-icon-left .ssm-card__title { margin-top:0; }
.ssm-variant-soft .ssm-card { background:#f8fbff; }
.ssm-variant-outlined .ssm-card { border:2px solid #dbeafe; box-shadow:none; }
.ssm-variant-solid .ssm-card { background:#0f172a; color:#fff; }
.ssm-variant-solid .ssm-card__desc { color:#cbd5e1; }
.ssm-variant-solid .ssm-card__title { color:#fff; }

/* Sections */
.ssm-sections { padding:34px 0 84px; }
.ssm-section { display:grid; grid-template-columns:1.08fr 1fr; gap:38px; align-items:center; padding:34px 0; border-bottom:1px solid #eef2f7; }
.ssm-section:last-child { border-bottom:0; }
.ssm-section.is-reversed .ssm-section__text { order:2; }
.ssm-section.is-reversed .ssm-section__media { order:1; }
.ssm-section__text h2 { margin:0 0 16px; font-size:34px; line-height:1.2; color:#0f172a; }
.ssm-section__text p { margin:0 0 18px; color:#4b5563; line-height:1.95; }
.ssm-section__related-wrap { display:flex; flex-direction:column; align-items:flex-start; gap:14px; margin-top:6px; }
.ssm-section__related { display:inline-block; color:#0952F4; font-weight:700; text-decoration:none; transition:color .22s ease; }
.ssm-section__related:hover { color:#ffffff; }
.ssm-section__media img { width:100%; display:block; border-radius:28px; box-shadow:0 18px 40px rgba(15,23,42,.08); }

@media (max-width: 980px) {
  .ssm-logos__grid, .ssm-cards__grid, .ssm-section { grid-template-columns:1fr 1fr; }
}
@media (max-width: 767px) {
  .ssm-logos__grid, .ssm-cards__grid, .ssm-section { grid-template-columns:1fr; }
  .ssm-hero { padding-top:58px; }
  .ssm-section.is-reversed .ssm-section__text, .ssm-section.is-reversed .ssm-section__media { order:initial; }
}


/* Refined interactions and scroll-reveal */
.ssm-reveal {
  opacity: 0;
  transform: translateY(32px) scale(.985);
  transition: opacity .72s ease, transform .72s cubic-bezier(.22,1,.36,1), filter .72s ease;
  transition-delay: var(--ssm-delay, 0ms);
  will-change: opacity, transform;
  filter: blur(3px);
}
.ssm-reveal.is-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
  filter: blur(0);
}
.ssm-hero__title, .ssm-card__title, .ssm-section__text h2 {
  transition: color .25s ease;
}
.ssm-hero__title:hover, .ssm-card__title:hover, .ssm-section__text h2:hover {
  color: #034676;
}
.ssm-logos { text-align: center; }
.ssm-logos__grid { justify-items: center; }
.ssm-section__related-wrap { display:flex; flex-direction:column; align-items:flex-start; gap:14px; margin-top:10px; }
.ssm-section__related { display:inline-block; color:#0952F4; font-weight:700; text-decoration:none; transition:color .22s ease, transform .22s ease; }
.ssm-section__related:hover { color:#034676; transform:translateX(2px); }
.ssm-btn:hover { background:#034676; border-color:#034676; color:#ffffff; }
.ssm-section__media { overflow: visible; }
.ssm-section__media img { transition: transform .45s ease, box-shadow .35s ease, filter .35s ease; }
.ssm-section:hover .ssm-section__media img { transform: translateY(-6px) scale(1.01); box-shadow:0 24px 50px rgba(15,23,42,.14); filter:saturate(1.04); }
.ssm-card { position:relative; overflow:hidden; }
.ssm-card::before { content:''; position:absolute; inset:0; background:linear-gradient(135deg, rgba(9,82,244,.06), rgba(14,165,233,0)); opacity:0; transition:opacity .25s ease; pointer-events:none; }
.ssm-card:hover::before { opacity:1; }
.ssm-logos__item, .ssm-card, .ssm-section__media img, .ssm-btn { backface-visibility: hidden; }
@media (prefers-reduced-motion: reduce) {
  .ssm-reveal, .ssm-btn, .ssm-card, .ssm-logos__item, .ssm-section__media img, .ssm-section__related {
    transition: none !important;
    animation: none !important;
    transform: none !important;
    opacity: 1 !important;
    filter: none !important;
  }
}

/* Rich text output: keep lists visually attached to their text and respect editor alignment. */
.ssm-rich-output p,
.ssm-rich-output div {
  margin:0 0 .65em;
}
.ssm-rich-output ul,
.ssm-rich-output ol,
.ssm-hero__desc ul,
.ssm-hero__desc ol,
.ssm-hero__benefits ul,
.ssm-hero__benefits ol,
.ssm-card__desc ul,
.ssm-card__desc ol,
.ssm-section__text ul,
.ssm-section__text ol {
  display:inline-block;
  max-width:100%;
  margin:.65em 0;
  padding-inline-start:1.35em;
  text-align:start;
  vertical-align:top;
}
.ssm-rich-output li,
.ssm-hero__desc li,
.ssm-hero__benefits li,
.ssm-card__desc li,
.ssm-section__text li {
  margin:.25em 0;
  padding-inline-start:.2em;
}
