*, *::before, *::after { box-sizing: border-box; }

body.cms-site, .cms-site {
  margin: 0;
  font-family: var(--cms-font-body);
  font-size: var(--cms-font-size-base);
  line-height: var(--cms-line-height);
  color: var(--cms-color-text);
  background: var(--cms-color-background);
}

.cms-site :where(h1, h2, h3, h4) {
  font-family: var(--cms-font-heading);
  line-height: 1.15;
  text-wrap: balance;
  margin-block: 0 var(--cms-space-3);
}

.cms-site p { margin-block: 0 var(--cms-space-3); }
.cms-site a { color: var(--cms-color-primary); }
.cms-site a:hover { text-decoration: none; }
.cms-site img:not(.cms-site-brand__logo) { max-inline-size: 100%; block-size: auto; }

.cms-container {
  inline-size: 100%;
  max-inline-size: var(--cms-container-width);
  margin-inline: auto;
  padding-inline: var(--cms-space-4);
}

.cms-section { padding-block: var(--cms-space-7); }
.cms-section--muted { background: var(--cms-color-surface); }

.cms-kicker {
  margin: 0 0 var(--cms-space-3);
  color: var(--cms-color-primary);
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.cms-lead,
.cms-section__head p {
  color: var(--cms-color-muted);
  font-size: var(--cms-font-size-lead);
  max-inline-size: 40rem;
}

.cms-section__head { max-inline-size: 40rem; margin-block-end: var(--cms-space-5); }
.cms-section__head :where(h1, h2) { margin-block-end: var(--cms-space-3); }

.cms-stack > * + * { margin-block-start: var(--cms-space-3); }

.cms-split,
.cms-hero__layout,
.cms-footer__grid {
  display: grid;
  gap: var(--cms-space-5);
  align-items: center;
}

.cms-hero__layout { grid-template-columns: minmax(0, 1.25fr) minmax(16rem, 0.75fr); }
.cms-split { align-items: start; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); }
.cms-footer__grid { align-items: start; grid-template-columns: minmax(0, 1.4fr) minmax(12rem, 0.6fr); }

.cms-grid,
.cms-blog-list__items,
.cms-blog-related__items {
  display: grid;
  gap: var(--cms-space-5);
  grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
}

.cms-card,
.cms-post-card,
.cms-hero__panel,
.cms-author-card,
blockquote.cms-card { margin: 0; }

.cms-card,
.cms-post-card,
.cms-hero__panel,
.cms-author-card {
  padding: var(--cms-space-5);
  border: 1px solid var(--cms-color-border);
  border-radius: var(--cms-radius);
  background: var(--cms-color-background);
  box-shadow: var(--cms-shadow);
}

.cms-card > p:last-child,
.cms-post-card__excerpt { margin: 0; color: var(--cms-color-muted); }
.cms-card h3 { margin-block-end: var(--cms-space-2); }
blockquote.cms-card > p { margin: 0; color: var(--cms-color-text); font-size: var(--cms-font-size-lead); }

.cms-card > .cms-card__mark {
  display: inline-flex;
  margin: 0 0 var(--cms-space-4);
  color: var(--cms-color-primary);
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.cms-hero {
  background: linear-gradient(180deg, var(--cms-color-surface), var(--cms-color-background) 72%);
}

.cms-hero__title { font-size: var(--cms-font-size-hero); letter-spacing: -0.02em; }
.cms-hero__lead { font-size: var(--cms-font-size-lead); color: var(--cms-color-muted); max-inline-size: 38rem; }

.cms-hero__panel { background: var(--cms-color-background); }
.cms-hero__panel .cms-kicker { margin-block-end: var(--cms-space-4); }

.cms-steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: var(--cms-space-3);
  counter-reset: cms-step;
}

.cms-steps li {
  display: flex;
  gap: var(--cms-space-3);
  align-items: baseline;
  margin: 0;
}

.cms-steps li::before {
  content: counter(cms-step, decimal-leading-zero);
  counter-increment: cms-step;
  flex: 0 0 auto;
  color: var(--cms-color-primary);
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.cms-hero--center { text-align: center; }
.cms-hero--center .cms-hero__lead,
.cms-hero--center .cms-section__head,
.cms-hero--center .cms-search { margin-inline: auto; }
.cms-hero--center .cms-actions { justify-content: center; }

.cms-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--cms-space-3);
  margin-block-start: var(--cms-space-5);
}

.cms-button,
.cms-site a.cms-button,
.cms-search button,
.cms-cookie-consent button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--cms-space-2);
  padding-block: 0.7rem;
  padding-inline: var(--cms-space-5);
  border: 1px solid var(--cms-color-primary);
  border-radius: var(--cms-radius);
  background: var(--cms-color-primary);
  color: var(--cms-color-on-primary);
  text-decoration: none;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}

.cms-site a.cms-button:hover,
.cms-button:hover,
.cms-search button:hover { filter: brightness(1.08); text-decoration: none; }

.cms-button--secondary,
.cms-site a.cms-button--secondary {
  background: transparent;
  color: var(--cms-color-primary);
}

.cms-site a.cms-button--secondary:hover { background: var(--cms-color-surface); filter: none; }

.cms-button:focus-visible,
.cms-search button:focus-visible,
.cms-search input:focus-visible,
.cms-site a:focus-visible {
  outline: 2px solid var(--cms-color-primary);
  outline-offset: 2px;
}

.cms-band { background: var(--cms-color-primary); color: var(--cms-color-on-primary); }
.cms-band__inner { max-inline-size: 40rem; margin-inline: auto; text-align: center; }
.cms-band .cms-kicker,
.cms-band p { color: inherit; }
.cms-band .cms-kicker { opacity: 0.82; }
.cms-band .cms-actions { justify-content: center; }
.cms-band .cms-button,
.cms-site .cms-band a.cms-button {
  background: var(--cms-color-on-primary);
  color: var(--cms-color-primary);
  border-color: transparent;
}

.cms-header,
.cms-footer { padding-block: var(--cms-space-4); }
.cms-header {
  position: sticky;
  inset-block-start: 0;
  z-index: 2;
  background: var(--cms-color-background);
  background: color-mix(in srgb, var(--cms-color-background) 92%, transparent);
  border-block-end: 1px solid var(--cms-color-border);
  backdrop-filter: blur(10px);
}
.cms-footer {
  background: var(--cms-color-surface);
  color: var(--cms-color-muted);
}
.cms-header__inner,
.cms-header__tools {
  display: flex;
  align-items: center;
  gap: var(--cms-space-4);
}
.cms-header__inner { justify-content: space-between; }
.cms-header__tools { margin-inline-start: auto; }

.cms-brand,
.cms-site-brand,
.cms-site a.cms-site-brand {
  display: inline-flex;
  align-items: center;
  gap: var(--cms-space-2);
  color: var(--cms-color-text);
  font-weight: 700;
  letter-spacing: -0.02em;
  text-decoration: none;
}
.cms-brand img,
.cms-site .cms-site-brand__logo,
.cms-site-brand__logo {
  display: block;
  block-size: 2rem;
  max-block-size: 2rem;
  inline-size: auto;
  max-inline-size: 11rem;
  object-fit: contain;
}

.cms-nav ul,
.cms-menu ul,
.cms-breadcrumb ol,
.cms-post-header__tags,
.cms-post-card__tags,
.cms-tag-cloud ul {
  display: flex;
  flex-wrap: wrap;
  gap: var(--cms-space-3) var(--cms-space-4);
  list-style: none;
  margin: 0;
  padding: 0;
}

.cms-nav a,
.cms-menu a,
.cms-site .cms-nav a,
.cms-site .cms-menu a {
  color: var(--cms-color-text);
  text-decoration: none;
  font-weight: 600;
}
.cms-nav a:hover,
.cms-menu a:hover,
.cms-nav a[aria-current="page"],
.cms-menu a[aria-current="page"] { color: var(--cms-color-primary); }

.cms-nav--stack ul,
.cms-nav--stack .cms-menu > ul { flex-direction: column; align-items: flex-start; gap: var(--cms-space-2); }
.cms-menu ul ul { flex-direction: column; gap: var(--cms-space-2); margin-block-start: var(--cms-space-2); padding-inline-start: var(--cms-space-3); }

.cms-language-switcher { display: inline-flex; flex: 0 0 auto; align-items: center; }

.cms-account-login {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  inline-size: 2.5rem;
  block-size: 2.5rem;
  border-radius: var(--cms-radius);
  color: var(--cms-color-text);
  text-decoration: none;
}
.cms-account-login:hover,
.cms-account-login:focus-visible { background: var(--cms-color-surface); }
.cms-account-login:focus-visible {
  outline: 2px solid var(--cms-color-primary);
  outline-offset: 2px;
}
.cms-account-login svg { display: block; inline-size: 1.25rem; block-size: 1.25rem; }
.cms-account-login__label {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.cms-account-login.cms-account-login--signed-in {
  inline-size: auto;
  max-inline-size: 12rem;
  padding-inline: 0.65rem;
  gap: 0.4rem;
}
.cms-account-login--signed-in .cms-account-login__label {
  position: static;
  inline-size: auto;
  block-size: auto;
  margin: 0;
  overflow: hidden;
  clip: auto;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.2;
  text-overflow: ellipsis;
}

.cms-language-switcher__toggle {
  anchor-name: --cms-language-switcher;
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  inline-size: 2.5rem;
  block-size: 2.5rem;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: var(--cms-radius);
  background: transparent;
  color: var(--cms-color-text);
  cursor: pointer;
}
.cms-language-switcher__toggle:hover,
.cms-language-switcher__toggle:focus-visible { background: var(--cms-color-surface); }
.cms-language-switcher__toggle:focus-visible {
  outline: 2px solid var(--cms-color-primary);
  outline-offset: 2px;
}
.cms-language-switcher__toggle svg { display: block; inline-size: 1.25rem; block-size: 1.25rem; }
.cms-language-switcher__label {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.cms-language-switcher__panel {
  position: fixed;
  inset: auto;
  margin: 0;
  inline-size: max-content;
  min-inline-size: 10rem;
  padding: var(--cms-space-2);
  border: 1px solid var(--cms-color-border);
  border-radius: var(--cms-radius);
  background: var(--cms-color-background);
  color: var(--cms-color-text);
  box-shadow: 0 0.5rem 1.5rem rgba(16, 42, 58, 0.16);
  position-anchor: --cms-language-switcher;
  inset-block-start: calc(anchor(bottom) + var(--cms-space-2));
  inset-inline-end: anchor(end);
}
.cms-language-switcher .cms-language-switcher__panel > ul {
  display: flex;
  flex-flow: column nowrap;
  gap: var(--cms-space-2);
  margin: 0;
  padding: 0;
  list-style: none;
  position: static;
  inset: auto;
}
.cms-language-switcher .cms-language-switcher__panel a,
.cms-language-switcher .cms-language-switcher__panel [aria-current="true"] {
  display: flex;
  padding: var(--cms-space-2) var(--cms-space-3);
  border-radius: var(--cms-radius);
  color: var(--cms-color-text);
  text-decoration: none;
  font-weight: 600;
}
.cms-language-switcher .cms-language-switcher__panel a:hover,
.cms-language-switcher .cms-language-switcher__panel [aria-current="true"] { background: var(--cms-color-surface); }
.cms-language-switcher .cms-language-switcher__panel [aria-current="true"] { font-weight: 700; }

.cms-footer__bar {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: var(--cms-space-3);
  margin-block-start: var(--cms-space-5);
  padding-block-start: var(--cms-space-4);
  border-block-start: 1px solid var(--cms-color-border);
}
.cms-footer__bar p { margin: 0; }

.cms-post { max-inline-size: 46rem; margin-inline: auto; }
.cms-post__meta,
.cms-post-header__meta,
.cms-post-card__date,
.cms-blog-list__filter,
.cms-author-card__label { color: var(--cms-color-muted); font-size: 0.875rem; }
.cms-post-header__meta { display: flex; flex-wrap: wrap; gap: var(--cms-space-2) var(--cms-space-4); margin: 0; }
.cms-post-header__title { font-size: var(--cms-font-size-hero); letter-spacing: -0.02em; }
.cms-post-header__cover,
.cms-post__cover { margin-block: var(--cms-space-5) 0; border-radius: var(--cms-radius); overflow: hidden; }
.cms-post-header__cover img { display: block; inline-size: 100%; max-block-size: 28rem; object-fit: cover; }
.cms-post-header__tags { margin-block-start: var(--cms-space-4); }
.cms-post-header__tags a,
.cms-post-card__tags a,
.cms-tag-cloud a,
.cms-site .cms-post-header__tags a,
.cms-site .cms-post-card__tags a,
.cms-site .cms-tag-cloud a {
  display: inline-flex;
  align-items: center;
  gap: var(--cms-space-2);
  padding: 0.15rem 0.65rem;
  border-radius: var(--cms-radius);
  background: var(--cms-color-surface);
  color: var(--cms-color-text);
  text-decoration: none;
  font-size: 0.875rem;
}

.cms-prose { max-inline-size: 44rem; }
.cms-prose > * + * { margin-block-start: var(--cms-space-4); }
.cms-prose :where(ul, ol) { margin: 0; padding-inline-start: 1.25rem; }

.cms-post-card { display: flex; flex-direction: column; gap: var(--cms-space-2); }
.cms-post-card__cover {
  display: block;
  margin-block-start: calc(var(--cms-space-5) * -1);
  margin-inline: calc(var(--cms-space-5) * -1);
  margin-block-end: var(--cms-space-2);
  overflow: hidden;
  border-start-start-radius: var(--cms-radius);
  border-start-end-radius: var(--cms-radius);
}
.cms-post-card__cover img { display: block; inline-size: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.cms-post-card__title { margin: 0; font-size: 1.25rem; }
.cms-post-card__title a,
.cms-site .cms-post-card__title a { color: var(--cms-color-text); text-decoration: none; }
.cms-post-card__title a:hover,
.cms-site .cms-post-card__title a:hover { color: var(--cms-color-primary); }
.cms-post-card__date,
.cms-post-card__tags { margin: 0; }
.cms-blog-list__empty,
.cms-form__preview,
.cms-engagement__preview {
  margin: 0;
  padding: var(--cms-space-5);
  border: 1px dashed var(--cms-color-border);
  border-radius: var(--cms-radius);
  background: var(--cms-color-surface);
  color: var(--cms-color-muted);
}
.cms-blog-related__title { margin-block-end: var(--cms-space-5); }

.cms-breadcrumb { margin-block-end: var(--cms-space-4); }
.cms-breadcrumb a,
.cms-site .cms-breadcrumb a { color: var(--cms-color-muted); text-decoration: none; }
.cms-breadcrumb [aria-current="page"] { color: var(--cms-color-text); font-weight: 600; }
.cms-breadcrumb li:not(:last-child)::after {
  content: "/";
  margin-inline-start: var(--cms-space-3);
  color: var(--cms-color-border);
}

.cms-author-card { margin-block-start: var(--cms-space-5); background: var(--cms-color-surface); }
.cms-author-card__label,
.cms-author-card__name { margin: 0; }
.cms-author-card__name { margin-block-start: var(--cms-space-2); font-weight: 700; color: var(--cms-color-text); }

.cms-search__form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--cms-space-3);
  align-items: center;
}
.cms-search__form label { grid-column: 1 / -1; font-weight: 600; }
.cms-search input {
  inline-size: 100%;
  padding: 0.7rem var(--cms-space-4);
  border: 1px solid var(--cms-color-border);
  border-radius: var(--cms-radius);
  background: var(--cms-color-background);
  color: var(--cms-color-text);
  font: inherit;
}
.cms-search__summary { color: var(--cms-color-muted); }
.cms-search__results { display: grid; gap: var(--cms-space-4); margin: var(--cms-space-4) 0 0; padding: 0; list-style: none; }
.cms-search__result {
  padding: var(--cms-space-4);
  border: 1px solid var(--cms-color-border);
  border-radius: var(--cms-radius);
  background: var(--cms-color-background);
}
.cms-search__result p { margin: var(--cms-space-2) 0 0; color: var(--cms-color-muted); }

.cms-pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--cms-space-3);
  margin-block-start: var(--cms-space-5);
}
.cms-pagination a,
.cms-site .cms-pagination a {
  padding: 0.35rem 0.75rem;
  border: 1px solid var(--cms-color-border);
  border-radius: var(--cms-radius);
  color: var(--cms-color-text);
  text-decoration: none;
  background: var(--cms-color-background);
}
.cms-pagination__status { color: var(--cms-color-muted); }

.cms-tag-cloud__count { color: var(--cms-color-muted); font-size: 0.75rem; }

.cms-cookie-consent {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--cms-space-3);
  margin-block-start: var(--cms-space-4);
  padding: var(--cms-space-4);
  border: 1px solid var(--cms-color-border);
  border-radius: var(--cms-radius);
  background: var(--cms-color-background);
  color: var(--cms-color-text);
}
.cms-cookie-consent[hidden] { display: none; }
.cms-cookie-consent__message { margin: 0; flex: 1 1 16rem; }
.cms-cookie-consent__actions { display: flex; flex-wrap: wrap; gap: var(--cms-space-2); }
.cms-cookie-consent button[data-cms-consent="denied"] {
  background: transparent;
  color: var(--cms-color-text);
  border-color: var(--cms-color-border);
}

.cms-visually-hidden {
  position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden;
  clip: rect(0 0 0 0); white-space: nowrap;
}

/* cms-mobile-nav */
.cms-nav-toggle {
  display: flex;
  align-items: center;
}
.cms-nav-toggle > summary {
  display: none;
}
.cms-nav-toggle > .cms-nav {
  display: block;
  content-visibility: visible;
}
.cms-nav-toggle__icon {
  display: block;
  inline-size: 1.25rem;
  block-size: 1.25rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
}
.cms-nav-toggle__icon--open { display: none; }

@media (max-width: 52rem) {
  .cms-hero__layout,
  .cms-split,
  .cms-footer__grid,
  .cms-search__form { grid-template-columns: 1fr; }
  .cms-header__inner,
  .cms-header__tools { flex-wrap: nowrap; }
  .cms-header__tools { flex: 0 0 auto; }
  .cms-site-brand { min-inline-size: 0; }
  .cms-site-brand__name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .cms-nav-toggle > summary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 2.75rem;
    block-size: 2.75rem;
    border-radius: var(--cms-radius);
    color: var(--cms-color-text);
    cursor: pointer;
    list-style: none;
  }
  .cms-nav-toggle > summary::-webkit-details-marker { display: none; }
  .cms-nav-toggle > summary::marker { content: ""; }
  .cms-nav-toggle > summary:hover,
  .cms-nav-toggle > summary:focus-visible { background: var(--cms-color-surface); }
  .cms-nav-toggle > summary:focus-visible {
    outline: 2px solid var(--cms-color-primary);
    outline-offset: 2px;
  }
  .cms-nav-toggle[open] > summary .cms-nav-toggle__icon--closed { display: none; }
  .cms-nav-toggle[open] > summary .cms-nav-toggle__icon--open { display: block; }
  .cms-nav-toggle:not([open]) > .cms-nav { display: none; }
  .cms-nav-toggle[open] > .cms-nav {
    position: absolute;
    inset-inline: 0;
    inset-block-start: 100%;
    z-index: 3;
    display: block;
    content-visibility: visible;
    padding: var(--cms-space-3) var(--cms-space-4) var(--cms-space-4);
    background: var(--cms-color-background);
    border-block-end: 1px solid var(--cms-color-border);
    box-shadow: 0 0.75rem 1.5rem rgba(16, 42, 58, 0.12);
  }
  .cms-nav-toggle[open] > .cms-nav .cms-menu > ul {
    flex-direction: column;
    align-items: stretch;
    gap: var(--cms-space-2);
  }
  .cms-nav-toggle[open] > .cms-nav .cms-menu a {
    display: flex;
    padding-block: var(--cms-space-2);
    padding-inline: var(--cms-space-2);
    border-radius: var(--cms-radius);
  }
  .cms-nav-toggle[open] > .cms-nav .cms-menu a:hover { background: var(--cms-color-surface); }
  .cms-search button { inline-size: 100%; }
}
/* /cms-mobile-nav */

/* ===================================================================
   Sufi UX additions 2026-10-14 (everything above = current published CSS, unchanged)
   =================================================================== */

/* page background: body is not .cms-site, so short pages show dark band */
html, body { background: var(--cms-color-background); }
.cms-site { min-block-size: 100dvh; display: flex; flex-direction: column; }
.cms-site > [data-cms-page-body] + .cms-footer, .cms-site > .cms-footer { margin-block-start: auto; }

/* brand: site.brand renders an empty name today (fix Site name in settings; this is a fallback) */
.cms-site-brand__name:empty::after { content: "Sufi Platform"; }
[dir=rtl] .cms-site-brand__name:empty::after { content: "\0633\06A9\0648\06CC \0635\0648\0641\06CC"; }
:lang(ar) .cms-site-brand__name:empty::after { content: "\0645\0646\0635\0629 \0635\0648\0641\064A"; }

/* header: inline menu on desktop, hamburger on phone */
.cms-nav--inline { display: none; }
.cms-nav-toggle > summary { list-style: none; cursor: pointer; }
.cms-nav-toggle > summary::-webkit-details-marker { display: none; }
.cms-nav-toggle__icon { inline-size: 1.5rem; block-size: 1.5rem; stroke: currentColor; stroke-width: 2; fill: none; }
.cms-nav-toggle[open] .cms-nav-toggle__icon--closed,
.cms-nav-toggle:not([open]) .cms-nav-toggle__icon--open { display: none; }
.cms-nav-toggle[open] > .cms-nav {
  position: absolute; inset-inline: 0; inset-block-start: 100%;
  padding: var(--cms-space-4); background: var(--cms-color-background);
  border-block-end: 1px solid var(--cms-color-border);
}
.cms-nav-toggle[open] > .cms-nav ul { flex-direction: column; }
@media (min-width: 769px) {
  .cms-nav--inline { display: block; margin-inline-start: var(--cms-space-5); }
  .cms-nav-toggle { display: none; }
  .cms-header__inner { justify-content: flex-start; }
}

/* built-in blog list + tag pages: <main><h1/><section.cms-blog-list> has no container */
main:has(> .cms-blog-list) {
  inline-size: 100%; max-inline-size: var(--cms-container-width);
  margin-inline: auto; padding-inline: var(--cms-space-4); padding-block: var(--cms-space-7);
}
main:has(> .cms-blog-list) > h1 { font-size: var(--cms-font-size-hero); margin-block-end: var(--cms-space-5); }
.cms-blog-list__filter {
  display: flex; flex-wrap: wrap; align-items: center; gap: var(--cms-space-3);
  padding: var(--cms-space-3) var(--cms-space-4); margin-block-end: var(--cms-space-5);
  background: var(--cms-color-surface); border-radius: var(--cms-radius); color: var(--cms-color-muted);
}
.cms-blog-list__filter a { margin-inline-start: auto; font-weight: 600; }
.cms-blog-list__items, .cms-blog-related__items { grid-template-columns: repeat(auto-fill, minmax(18rem, 1fr)); }
.cms-blog-list__items:empty::before { content: ""; }

/* post card (built-in markup: title, date, excerpt, tags) */
.cms-post-card { display: flex; flex-direction: column; gap: var(--cms-space-3); transition: box-shadow .15s, transform .15s; }
.cms-post-card:hover { transform: translateY(-2px); box-shadow: 0 .75rem 1.5rem rgba(16,42,58,.12); }
.cms-post-card::before {
  content: ""; display: block; aspect-ratio: 16 / 9; margin: calc(-1 * var(--cms-space-5)) calc(-1 * var(--cms-space-5)) 0;
  border-start-start-radius: var(--cms-radius); border-start-end-radius: var(--cms-radius);
  background: linear-gradient(135deg, var(--cms-color-primary), color-mix(in srgb, var(--cms-color-primary) 40%, #12b886));
}
.cms-post-card:has(img)::before { display: none; }
.cms-post-card__title { font-size: 1.125rem; line-height: 1.5; margin: 0; order: 1; }
.cms-post-card__title a { color: var(--cms-color-text); text-decoration: none; }
.cms-post-card__title a:hover { color: var(--cms-color-primary); }
.cms-post-card__date { order: 3; font-size: .8125rem; color: var(--cms-color-muted); }
.cms-post-card__excerpt { order: 2; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.cms-post-card__tags { order: 0; gap: var(--cms-space-2); }
.cms-post-card__tags a, .cms-post-header__tags a {
  display: inline-block; padding: .2rem .7rem; border-radius: 999px; font-size: .8125rem; font-weight: 600;
  background: color-mix(in srgb, var(--cms-color-primary) 10%, transparent); color: var(--cms-color-primary); text-decoration: none;
}

/* post page */
.cms-post { max-inline-size: 46rem; }
.cms-breadcrumb { font-size: .875rem; color: var(--cms-color-muted); margin-block-end: var(--cms-space-4); }
.cms-breadcrumb ol { gap: var(--cms-space-2); }
.cms-breadcrumb li + li::before { content: "/"; margin-inline-end: var(--cms-space-2); opacity: .5; }
.cms-post-header__title { font-size: clamp(1.6rem, 4vw, 2.4rem); line-height: 1.4; }
.cms-post-header__meta { color: var(--cms-color-muted); font-size: .875rem; }
.cms-prose { line-height: 1.9; margin-block: var(--cms-space-6); }
.cms-prose > :is(h1, h2):first-child { display: none; } /* body repeats the title */
.cms-prose :is(h2, h3) { margin-block-start: var(--cms-space-6); line-height: 1.5; }
.cms-prose :is(code, pre) { direction: ltr; unicode-bidi: isolate; }
.cms-prose pre { overflow-x: auto; padding: var(--cms-space-4); background: var(--cms-color-surface); border-radius: var(--cms-radius); }
.cms-engagement:empty, .cms-post-related .cms-container:empty { display: none; }
.cms-post-related:not(:has(.cms-post-card)) { display: none; }

/* RTL */
[dir=rtl] .cms-site, [dir=rtl] .cms-site :where(h1, h2, h3, h4) { line-height: inherit; }
[dir=rtl] .cms-site :where(h1, h2, h3) { letter-spacing: 0; }
[dir=rtl] .cms-prose { line-height: 2.1; }
[dir=rtl] .cms-prose a[href^="http"] { unicode-bidi: isolate; }

/* phone <=768 */
@media (max-width: 768px) {
  main:has(> .cms-blog-list) { padding-block: var(--cms-space-5); }
  .cms-blog-list__items, .cms-blog-related__items { grid-template-columns: 1fr; }
  .cms-hero__layout, .cms-split, .cms-footer__grid { grid-template-columns: 1fr; }
  .cms-blog-list__filter a { margin-inline-start: 0; }
}
/* =====================================================================
   blog-landing-match.css - Sufi UX 2026-10-14
   Paste at the END of Site > Site code > CSS (after the 2026-10-14 additions).
   Gives /blog, /fa/blog, /blog?tag=, and post pages the landing's dark theme.
   Values taken from the landing page CSS (/cms/assets/page/e0b05f38.../97f1469e...css):
     canvas #050712, elevated #0b1020, text #e7eaf2, muted #a8b2c7, dim #748096,
     violet #7c3aed / #a78bfa, cyan #22d3ee, line rgb(168 178 199 / 16%),
     card radius 22px, shell 1240px, solve-card surface + glow.
   Scope: only pages whose .cms-site holds the built-in blog list or the post
   template. The home page does not load site CSS, and other CMS pages don't match.
   Contrast (WCAG AA, on #050712 / #0b1020):
     text #e7eaf2 ~16:1, muted #a8b2c7 ~9:1, link #a78bfa ~7:1, code #9cecf5 ~13:1.
   ===================================================================== */

/* 1. BRAND SPACE FIX (applies to every page using site CSS)
   Cause: in CSS a hex escape eats ONE following space, so "\06CC \0635" became
   one word. Use \0020 explicitly. Spelling per glossary: sokuy-e sufi. */
[dir=rtl] .cms-site-brand__name:empty::after { content: "\0633\06A9\0648\06CC\0020\0635\0648\0641\06CC"; }
:lang(ar) .cms-site-brand__name:empty::after { content: "\0645\0646\0635\0629\0020\0635\0648\0641\064A"; }

/* 2. Scope + tokens */
.cms-site:has(.cms-blog-list, .cms-post-page, .cms-post) {
  --bl-canvas: #050712;
  --bl-elev: #0b1020;
  --bl-text: #e7eaf2;
  --bl-ivory: #f7f8fc;
  --bl-muted: #a8b2c7;
  --bl-dim: #748096;
  --bl-line: rgb(168 178 199 / 16%);
  --bl-line-bright: rgb(168 178 199 / 30%);
  --bl-violet: #7c3aed;
  --bl-violet-l: #a78bfa;
  --bl-cyan: #22d3ee;
  --bl-radius: 22px;
  --bl-shell: 1240px;
  --cms-color-background: var(--bl-canvas);
  --cms-color-surface: var(--bl-elev);
  --cms-color-text: var(--bl-text);
  --cms-color-muted: var(--bl-muted);
  --cms-color-border: var(--bl-line);
  --cms-color-primary: var(--bl-violet-l);
  --cms-color-on-primary: #0b1020;
  --cms-container-width: var(--bl-shell);
  color-scheme: dark;
  color: var(--bl-text);
  background:
    radial-gradient(ellipse 60% 40% at 80% -5%, rgb(124 58 237 / 28%), transparent 70%),
    radial-gradient(ellipse 50% 35% at 10% 0%, rgb(34 211 238 / 12%), transparent 70%),
    linear-gradient(rgb(255 255 255 / 2.5%) 1px, transparent 1px) 0 0 / 48px 48px,
    linear-gradient(90deg, rgb(255 255 255 / 2.5%) 1px, transparent 1px) 0 0 / 48px 48px,
    var(--bl-canvas);
  background-attachment: fixed;
  font-family: Inter, "Segoe UI", Tahoma, Arial, sans-serif;
}
html:has(.cms-blog-list, .cms-post-page, .cms-post),
html:has(.cms-blog-list, .cms-post-page, .cms-post) body { background: #050712; }
[dir=rtl] .cms-site:has(.cms-blog-list, .cms-post-page, .cms-post) { font-family: Vazirmatn, Tahoma, Arial, sans-serif; }

/* header + footer on blog pages: dark glass like the landing */
.cms-site:has(.cms-blog-list, .cms-post-page, .cms-post) .cms-header {
  background: rgb(5 7 18 / 72%);
  border-block-end: 1px solid var(--bl-line);
  backdrop-filter: blur(14px);
}
.cms-site:has(.cms-blog-list, .cms-post-page, .cms-post) .cms-site-brand__name { color: var(--bl-ivory); }
.cms-site:has(.cms-blog-list, .cms-post-page, .cms-post) :is(.cms-nav, .cms-menu) a { color: var(--bl-muted); }
.cms-site:has(.cms-blog-list, .cms-post-page, .cms-post) :is(.cms-nav, .cms-menu) a:hover { color: var(--bl-ivory); }
.cms-site:has(.cms-blog-list, .cms-post-page, .cms-post) .cms-footer {
  background: rgb(11 16 32 / 80%);
  border-block-start: 1px solid var(--bl-line);
  color: var(--bl-muted);
}
.cms-site:has(.cms-blog-list, .cms-post-page, .cms-post) a { color: var(--bl-violet-l); }
.cms-site:has(.cms-blog-list, .cms-post-page, .cms-post) a:focus-visible { outline: 2px solid var(--bl-cyan); outline-offset: 2px; }

/* 3. Blog list + tag pages (built-in: main > h1 + section.cms-blog-list) */
main:has(> .cms-blog-list) { max-inline-size: var(--bl-shell, 1240px); padding-block: 5rem 4rem; }
main:has(> .cms-blog-list) > h1 {
  font-size: clamp(2.25rem, 6vw, 3.75rem);
  font-weight: 800;
  letter-spacing: -.02em;
  background: linear-gradient(110deg, #fff 8%, #d8d3ff 46%, #9cecf5 92%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
  margin-block-end: 2rem;
}
[dir=rtl] main:has(> .cms-blog-list) > h1 { letter-spacing: 0; line-height: 1.5; }
.cms-blog-list__filter {
  background: rgb(11 16 32 / 72%);
  border: 1px solid var(--bl-line);
  border-radius: 999px;
  color: var(--bl-muted);
  padding: .6rem 1.25rem;
}
/* CENTRING: auto-fill left 1 card stuck at the inline start (right in fa).
   auto-fit + capped track + justify-content centres 1-2 cards; 3+ fill the row. */
.cms-site .cms-blog-list__items,
.cms-site .cms-blog-related__items {
  grid-template-columns: repeat(auto-fit, minmax(18rem, 24rem));
  justify-content: center;
  gap: 1.5rem;
}

/* cards = landing .solve-card */
.cms-site:has(.cms-blog-list, .cms-post) .cms-post-card {
  position: relative;
  padding: 26px 24px 28px;
  border: 1px solid var(--bl-line);
  border-radius: var(--bl-radius);
  background:
    linear-gradient(160deg, rgb(255 255 255 / 5%), rgb(255 255 255 / 1.5%) 46%, transparent),
    rgb(11 16 32 / 72%);
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 5%), 0 24px 60px rgb(0 0 0 / 22%);
  transition: border-color .3s, translate .3s, box-shadow .3s;
  transform: none;
}
.cms-site:has(.cms-blog-list, .cms-post) .cms-post-card::before {
  /* replaces the light placeholder: violet/cyan glow strip like the hero */
  content: ""; display: block; aspect-ratio: 16 / 7;
  margin: -26px -24px 0;
  border-start-start-radius: var(--bl-radius); border-start-end-radius: var(--bl-radius);
  background:
    radial-gradient(circle at 80% 20%, rgb(124 58 237 / 55%), transparent 55%),
    radial-gradient(circle at 20% 90%, rgb(34 211 238 / 35%), transparent 55%),
    #0b1020;
  border-block-end: 1px solid var(--bl-line);
}
.cms-site:has(.cms-blog-list, .cms-post) .cms-post-card:nth-child(2n)::before {
  background:
    radial-gradient(circle at 20% 20%, rgb(34 211 238 / 45%), transparent 55%),
    radial-gradient(circle at 85% 85%, rgb(124 58 237 / 45%), transparent 55%),
    #0b1020;
}
.cms-site:has(.cms-blog-list, .cms-post) .cms-post-card:hover {
  border-color: var(--bl-line-bright);
  translate: 0 -3px;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 7%), 0 28px 70px rgb(124 58 237 / 18%);
}
.cms-site .cms-post-card__title a { color: var(--bl-ivory, #f7f8fc); }
.cms-site .cms-post-card__title a:hover { color: var(--bl-violet-l, #a78bfa); }
.cms-site .cms-post-card__excerpt { color: var(--bl-muted, #a8b2c7); }
.cms-site .cms-post-card__date { color: var(--bl-muted, #a8b2c7); }
.cms-site:has(.cms-blog-list, .cms-post) :is(.cms-post-card__tags, .cms-post-header__tags) a {
  background: rgb(124 58 237 / 14%);
  border: 1px solid rgb(167 139 250 / 30%);
  color: #c4b5fd;
}

/* 4. Post page */
.cms-site:has(.cms-post) .cms-post-header__title {
  color: var(--bl-ivory);
  font-size: clamp(1.9rem, 4.5vw, 3rem);
  font-weight: 800;
  letter-spacing: -.02em;
}
[dir=rtl] .cms-site:has(.cms-post) .cms-post-header__title { letter-spacing: 0; line-height: 1.6; }
.cms-site:has(.cms-post) :is(.cms-breadcrumb, .cms-post-header__meta) { color: var(--bl-muted); }
.cms-site:has(.cms-post) .cms-prose { color: var(--bl-text); }
.cms-site:has(.cms-post) .cms-prose :is(h2, h3) { color: var(--bl-ivory); }
.cms-site:has(.cms-post) .cms-prose a { color: var(--bl-violet-l); text-decoration: underline; text-underline-offset: 3px; }
.cms-site:has(.cms-post) .cms-prose :is(code, pre) {
  font-family: "JetBrains Mono", "Cascadia Code", Consolas, monospace;
  background: #0b1020; color: #9cecf5; border: 1px solid var(--bl-line);
  border-radius: 8px;
}
.cms-site:has(.cms-post) .cms-prose code { padding: .1em .35em; }
.cms-site:has(.cms-post) .cms-prose blockquote {
  margin-inline: 0; padding-inline-start: 1rem;
  border-inline-start: 3px solid var(--bl-violet); color: var(--bl-muted);
}
.cms-site:has(.cms-post) .cms-author-card {
  background: rgb(11 16 32 / 72%); border: 1px solid var(--bl-line); border-radius: var(--bl-radius);
  box-shadow: none; color: var(--bl-text);
}
.cms-site:has(.cms-post) .cms-section--muted { background: transparent; border-block-start: 1px solid var(--bl-line); }

/* 5. Phone <=768: hamburger + layout */
@media (max-width: 768px) {
  main:has(> .cms-blog-list) { padding-block: 2.5rem 3rem; }
  .cms-site .cms-blog-list__items,
  .cms-site .cms-blog-related__items { grid-template-columns: minmax(0, 1fr); }
  .cms-blog-list__filter { border-radius: 16px; }
  /* hamburger: 44px tap target, visible on dark, panel under the header */
  .cms-site:has(.cms-blog-list, .cms-post) .cms-nav-toggle > summary {
    display: inline-flex; inline-size: 2.75rem; block-size: 2.75rem;
    color: var(--bl-ivory); border: 1px solid var(--bl-line); border-radius: 12px;
  }
  .cms-site:has(.cms-blog-list, .cms-post) .cms-nav-toggle[open] > .cms-nav {
    background: #0b1020; border-block-end: 1px solid var(--bl-line);
    box-shadow: 0 24px 60px rgb(0 0 0 / 45%);
  }
  .cms-site:has(.cms-blog-list, .cms-post) .cms-nav-toggle[open] > .cms-nav a { color: var(--bl-text); padding-block: .75rem; }
  .cms-header__inner { gap: .5rem; }
  .cms-header__tools { gap: .25rem; }
}
/* align the old 52rem (832px) toggle breakpoint with D-20 (768): 769-832 keeps the inline menu */
@media (min-width: 769px) and (max-width: 52rem) {
  .cms-nav-toggle { display: none; }
  .cms-nav--inline { display: block; }
}

@media (prefers-reduced-motion: reduce) {
  .cms-site .cms-post-card { transition: none; }
  .cms-site .cms-post-card:hover { translate: none; }
}

/* 2026-10-14 Ops: hide glow placeholder when card has a cover; cover fills card top */
.cms-site:has(.cms-blog-list, .cms-post) .cms-post-card:has(img)::before { display: none; }
.cms-site:has(.cms-blog-list, .cms-post) .cms-post-card__cover { display: block; margin: -26px -24px 0; order: -1; }
.cms-site:has(.cms-blog-list, .cms-post) .cms-post-card__cover img {
  display: block; inline-size: 100%; aspect-ratio: 1200 / 630; object-fit: cover;
  border-start-start-radius: var(--bl-radius); border-start-end-radius: var(--bl-radius);
  border-block-end: 1px solid var(--bl-line);
}
/* === Sufi product landing pages (scoped .sufi-product-lp), 2026-10-15 === *//* Fonts: "Vazir FD" is loaded by the Sufi Theme (/_content/SufiChain.SufiTheme.Blazor/fonts/fa/). TEMP until File Manager font URLs work. */.sufi-product-lp{color-scheme:dark;--canvas:#050712;--canvas-elevated:#0b1020;--ivory:#f7f8fc;--text:#e7eaf2;--muted:#a8b2c7;--dim:#748096;--line:rgb(168 178 199 / 16%);--line-bright:rgb(168 178 199 / 30%);--violet:#7c3aed;--violet-light:#a78bfa;--cyan:#22d3ee;--cyan-dark:#0891b2;--indigo:#4f46e5;--shell:1240px;--radius-xl:34px;--font-display:"Vazir FD","Segoe UI",Tahoma,Arial,sans-serif;--font-subtitle:"Vazir FD","Segoe UI",Tahoma,Arial,sans-serif;--font-body:Inter,"Vazir FD","Segoe UI",Tahoma,Arial,sans-serif;--font-mono:"JetBrains Mono","Cascadia Code",Consolas,monospace;--font-rtl:"Vazir FD",Tahoma,Arial,sans-serif;--ease-out:cubic-bezier(.16,1,.3,1);--ease-smooth:cubic-bezier(.22,.61,.36,1)}.sufi-product-lp *{box-sizing:border-box}.sufi-product-lp{scroll-behavior:smooth;scroll-padding-top:88px;overflow-x:clip;background:var(--canvas)}.sufi-product-lp{min-width:320px;margin:0;overflow-x:hidden;background:var(--canvas);color:var(--text);font-family:var(--font-body);line-height:1.65;text-rendering:optimizeLegibility}.sufi-product-lp [dir="rtl"] body{font-family:var(--font-rtl);line-height:1.8}.sufi-product-lp [dir="rtl"] p,.sufi-product-lp [dir="rtl"] small{unicode-bidi:plaintext}.sufi-product-lp [dir="rtl"] h1,.sufi-product-lp [dir="rtl"] strong,.sufi-product-lp [dir="rtl"] button,.sufi-product-lp [dir="rtl"] select{font-family:var(--font-rtl)}.sufi-product-lp [dir="rtl"] h1{line-height:1.35}.sufi-product-lp a{color:inherit}.sufi-product-lp button,.sufi-product-lp select{font:inherit}.sufi-product-lp svg{display:block}.sufi-product-lp .shell{width:min(calc(100% - 48px),var(--shell));margin-inline:auto}.sufi-product-lp .skip-link{position:fixed;z-index:100;inset-block-start:12px;inset-inline-start:12px;padding:10px 16px;border-radius:10px;background:var(--ivory);color:var(--canvas);transform:translateY(-160%)}.sufi-product-lp .skip-link:focus{transform:translateY(0)}.sufi-product-lp :focus-visible{outline:3px solid rgb(34 211 238 / 65%);outline-offset:4px}.sufi-product-lp .global-atmosphere{position:fixed;z-index:0;inset:0;contain:strict;overflow:hidden;pointer-events:none}.sufi-product-lp .atmosphere-grid{position:absolute;inset:0;background-image:linear-gradient(rgb(255 255 255 / 2.5%) 1px,transparent 1px),linear-gradient(90deg,rgb(255 255 255 / 2.5%) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(to bottom,#000,transparent 85%)}.sufi-product-lp .atmosphere-light{position:absolute;width:60vw;height:60vw;border-radius:50%;filter:blur(90px);opacity:.1}.sufi-product-lp .atmosphere-light-violet{inset-block-start:-30vw;inset-inline-start:-20vw;background:var(--violet)}.sufi-product-lp .atmosphere-light-cyan{inset-block-start:35vh;inset-inline-end:-35vw;background:var(--cyan-dark)}.sufi-product-lp .scene{position:relative;z-index:1}.sufi-product-lp .hero-copy{min-width:0;text-align:start}.sufi-product-lp .hero-copy h1{max-width:690px;margin:20px 0 22px;color:var(--ivory);font-family:var(--font-display);font-size:clamp(3.4rem,6.2vw,3.8rem);font-weight:700;line-height:.94;letter-spacing:-.065em;text-wrap:balance}.sufi-product-lp [dir="rtl"] .hero-copy h1{max-width:20ch;font-size:clamp(3.2rem,5.5vw,3.8rem);line-height:1.22;letter-spacing:0}.sufi-product-lp .hero-lead{max-width:42rem;margin:0;color:#c5ccda;font-family:var(--font-subtitle);font-size:clamp(1.04rem,1.65vw,1.27rem);font-weight:400;line-height:1.75;text-wrap:pretty}.sufi-product-lp [dir="rtl"] .hero-lead{line-height:1.9}.sufi-product-lp .hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.sufi-product-lp .hero-actions{justify-content:flex-start}.sufi-product-lp .signal-button{min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:11px;padding:0 20px;border:1px solid transparent;border-radius:12px;font-size:.84rem;font-weight:800;text-decoration:none;transition:transform .22s var(--ease-out),border-color .22s var(--ease-out),background .22s var(--ease-out),box-shadow .22s var(--ease-out)}.sufi-product-lp .signal-button svg{width:18px;fill:none;stroke:currentColor;stroke-width:1.8}.sufi-product-lp [dir="rtl"] .signal-button svg{transform:scaleX(-1)}.sufi-product-lp .signal-button:hover{transform:translateY(-2px)}.sufi-product-lp .signal-button:active{transform:scale(.985)}.sufi-product-lp .signal-button-primary{background:linear-gradient(135deg,var(--violet),var(--indigo));color:#fff;box-shadow:0 15px 40px rgb(79 70 229 / 28%)}.sufi-product-lp .signal-button-primary:hover{box-shadow:0 20px 50px rgb(79 70 229 / 38%)}@keyframes architecture-scan{from{transform:translateX(-120%)}to{transform:translateX(120%)}}@keyframes architecture-breathe{from{opacity:.68;transform:translate(-53%,-48%) scale(.92)}to{opacity:.96;transform:translate(-47%,-52%) scale(1.08)}}@keyframes core-pulse{0%,100%{opacity:.35;transform:scale(.96)}50%{opacity:.85;transform:scale(1.08)}}@keyframes orbit-spin{to{transform:rotate(360deg)}}@keyframes orbit-spin-reverse{to{transform:rotate(-360deg)}}@keyframes scroll-cue{0%{opacity:0;transform:translate(-50%,0)}30%{opacity:1}100%{opacity:0;transform:translate(-50%,16px)}}@media (max-width:1100px){.sufi-product-lp .hero-copy{width:100%;max-width:none}}@media (max-width:820px){.sufi-product-lp .shell{width:min(calc(100% - 32px),var(--shell))}.sufi-product-lp .hero-copy{order:2}.sufi-product-lp .hero-copy h1,.sufi-product-lp [dir="rtl"] .hero-copy h1{max-width:none;font-size:clamp(2.4rem,8.4vw,3.4rem);line-height:1.16;letter-spacing:-.04em}.sufi-product-lp [dir="rtl"] .hero-copy h1{line-height:1.28;letter-spacing:0}.sufi-product-lp .hero-lead{max-width:none}}@media (max-width:560px){.sufi-product-lp .shell{width:min(calc(100% - 24px),var(--shell))}.sufi-product-lp [dir="rtl"] .hero-copy h1{max-width:none;font-size:clamp(2.05rem,9.4vw,2.75rem);line-height:1.3;overflow-wrap:anywhere}.sufi-product-lp .hero-actions{display:grid}.sufi-product-lp .signal-button{width:100%}}@media (max-width:420px){.sufi-product-lp .hero-copy,.sufi-product-lp .hero-copy h1,.sufi-product-lp .hero-lead,.sufi-product-lp .hero-actions{min-width:0;max-width:100%}.sufi-product-lp .hero-copy h1,.sufi-product-lp [dir="rtl"] .hero-copy h1{width:100%;font-size:clamp(1.95rem,9.2vw,2.45rem);line-height:1.28}.sufi-product-lp [dir="rtl"] .hero-copy h1{line-height:1.36}.sufi-product-lp [dir="rtl"] .hero-lead{font-size:1rem;line-height:1.9}}@keyframes node-orbit-flow{to{stroke-dashoffset:-156}}@keyframes node-orbit-flow-reverse{to{stroke-dashoffset:196}}@keyframes architecture-window-lines{0%{opacity:.2;transform:translateX(-3px)}100%{opacity:1;transform:translateX(0)}}@keyframes architecture-shield-scan{0%{opacity:0;transform:translateY(-6px) scale(.7)}55%{opacity:1}100%{opacity:.85;transform:translateY(6px) scale(1.15)}}@keyframes architecture-file-transfer{0%{opacity:0;transform:translateX(-5px)}45%{opacity:1}100%{opacity:0;transform:translateX(6px)}}@keyframes architecture-neural-flow{0%{stroke-dasharray:2 18;stroke-dashoffset:20}100%{stroke-dasharray:18 2;stroke-dashoffset:0}}@keyframes architecture-message-ping{0%{opacity:0;transform:scale(.4)}60%{opacity:1}100%{opacity:0;transform:scale(1.8)}}@keyframes architecture-check-draw{0%{stroke-dasharray:0 30}100%{stroke-dasharray:30 0}}@keyframes architecture-network-connect{0%{stroke-dasharray:1 18;stroke-dashoffset:18}100%{stroke-dasharray:18 1;stroke-dashoffset:0}}@keyframes architecture-publish{0%{opacity:.2;transform:translate(-4px,4px) scale(.7)}100%{opacity:1;transform:translate(3px,-3px) scale(1.1)}}@keyframes architecture-copilot-spark{0%,100%{transform:scale(1) rotate(0)}50%{transform:scale(1.25) rotate(18deg)}}@keyframes architecture-ledger-flow{0%{opacity:0;transform:translateX(-6px)}50%{opacity:1}100%{opacity:0;transform:translateX(6px)}}@keyframes architecture-commerce-lift{0%{transform:translateY(5px)}55%{transform:translateY(-4px)}100%{transform:translateY(0)}}@keyframes architecture-erp-sync{0%{stroke-dasharray:0 32}100%{stroke-dasharray:32 0}}@media (prefers-reduced-motion:reduce){.sufi-product-lp{scroll-behavior:auto}.sufi-product-lp *,.sufi-product-lp *::before,.sufi-product-lp *::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;scroll-behavior:auto !important;transition-duration:.01ms !important}}@media (forced-colors:active){.sufi-product-lp .global-atmosphere{display:none}}.sufi-product-lp{background-color:var(--canvas,#050712)}.sufi-product-lp .cms-header{position:fixed;z-index:50;inset-block-start:0;inset-inline:0;margin:0;padding:0;border:0;border-bottom:1px solid rgb(255 255 255 / 7%);background:rgb(5 7 18 / 72%);-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%);color:var(--text);font-family:var(--font-body);font-size:1rem;line-height:1.65}.sufi-product-lp [dir="rtl"] .cms-header,.sufi-product-lp [dir="rtl"] .cms-footer{font-family:var(--font-rtl)}.sufi-product-lp .cms-header .cms-container,.sufi-product-lp .cms-footer .cms-container{inline-size:auto;width:min(calc(100% - 48px),var(--shell));max-inline-size:none;margin-inline:auto;padding-inline:0}.sufi-product-lp .cms-header .cms-header__inner{min-height:74px;display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:30px}.sufi-product-lp .cms-header .cms-header__tools{flex:1 1 auto;min-width:0;display:flex;flex-wrap:nowrap;align-items:center;gap:14px;margin-inline-start:0}.sufi-product-lp -brand{display:inline-flex;align-items:center;gap:12px;flex-shrink:0;min-width:0;color:var(--ivory);font-weight:inherit;letter-spacing:normal;text-decoration:none}.sufi-product-lp -brand:hover{color:var(--ivory);text-decoration:none}.sufi-product-lp -brand .cms-site-brand__logo{display:block;block-size:40px;max-block-size:40px;inline-size:auto;max-inline-size:11rem;object-fit:contain}.sufi-product-lp -brand .cms-site-brand__name{color:var(--ivory);font-family:var(--font-display);font-size:.98rem;font-weight:700;letter-spacing:-.02em;line-height:1.2}.sufi-product-lp [dir="rtl"] .cms-site-brand .cms-site-brand__name{font-family:var(--font-rtl);letter-spacing:0}.sufi-product-lp .cms-header .cms-nav-toggle{display:flex;align-items:center;min-width:0;margin-inline:auto}.sufi-product-lp .cms-header .cms-nav,.sufi-product-lp .cms-header .cms-menu{display:block;margin:0;padding:0}.sufi-product-lp .cms-header .cms-menu>ul{display:flex;flex-wrap:nowrap;align-items:stretch;gap:4px;margin:0;padding:0;list-style:none}.sufi-product-lp .cms-header .cms-menu li{position:relative;display:flex;margin:0;padding:0}.sufi-product-lp .cms-header .cms-menu li>a,.sufi-product-lp .cms-header .cms-menu li>span{position:relative;min-height:46px;display:inline-flex;align-items:center;gap:8px;padding:0 12px;color:var(--dim);font-family:inherit;font-size:.78rem;font-weight:700;line-height:1.65;letter-spacing:normal;text-decoration:none;white-space:nowrap;cursor:pointer;transition:color .22s var(--ease-out)}.sufi-product-lp [dir="rtl"] .cms-header .cms-menu li>a,.sufi-product-lp [dir="rtl"] .cms-header .cms-menu li>span{font-family:var(--font-rtl);letter-spacing:0}.sufi-product-lp .cms-header .cms-menu li>a::after,.sufi-product-lp .cms-header .cms-menu li>span::after{content:"";position:absolute;inset-inline:12px;inset-block-end:3px;height:1px;background:linear-gradient(90deg,var(--violet),var(--cyan));transform:scaleX(0);transform-origin:center;transition:transform .25s var(--ease-out)}.sufi-product-lp .cms-header .cms-menu li>a:hover,.sufi-product-lp .cms-header .cms-menu li>a:focus-visible,.sufi-product-lp .cms-header .cms-menu li>a[aria-current="page"],.sufi-product-lp .cms-header .cms-menu li:hover>span,.sufi-product-lp .cms-header .cms-menu li:focus-within>span,.sufi-product-lp .cms-header .cms-menu li>a[aria-current="location"]{color:var(--ivory);text-decoration:none}.sufi-product-lp .cms-header .cms-menu li>a:hover::after,.sufi-product-lp .cms-header .cms-menu li>a:focus-visible::after,.sufi-product-lp .cms-header .cms-menu li>a[aria-current="page"]::after,.sufi-product-lp .cms-header .cms-menu li:hover>span::after,.sufi-product-lp .cms-header .cms-menu li:focus-within>span::after,.sufi-product-lp .cms-header .cms-menu li>a[aria-current="location"]::after{transform:scaleX(1)}.sufi-product-lp .cms-header .cms-menu li:has(>ul)>a::before,.sufi-product-lp .cms-header .cms-menu li:has(>ul)>span::before{content:"";order:2;width:6px;height:6px;border-inline-end:1.5px solid currentColor;border-block-end:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);opacity:.7}.sufi-product-lp .cms-header .cms-menu ul ul{position:absolute;z-index:5;inset-block-start:100%;inset-inline-start:0;min-width:13rem;display:flex;flex-direction:column;gap:2px;margin:0;padding:8px;list-style:none;border:1px solid var(--line);border-radius:14px;background:rgb(11 16 32 / 96%);box-shadow:0 24px 50px rgb(0 0 0 / 34%);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .2s var(--ease-out),transform .2s var(--ease-out),visibility 0s linear .2s}.sufi-product-lp .cms-header .cms-menu li:hover>ul,.sufi-product-lp .cms-header .cms-menu li:focus-within>ul{opacity:1;visibility:visible;transform:none;transition:opacity .2s var(--ease-out),transform .2s var(--ease-out),visibility 0s}.sufi-product-lp .cms-header .cms-menu ul ul li>a,.sufi-product-lp .cms-header .cms-menu ul ul li>span{width:100%;min-height:40px;border-radius:9px}.sufi-product-lp .cms-header .cms-menu ul ul li>a::after,.sufi-product-lp .cms-header .cms-menu ul ul li>span::after{display:none}.sufi-product-lp .cms-header .cms-menu ul ul li>a:hover,.sufi-product-lp .cms-header .cms-menu ul ul li>a:focus-visible,.sufi-product-lp .cms-header .cms-menu ul ul li>a[aria-current="page"],.sufi-product-lp .cms-header .cms-menu ul ul li>a[aria-current="location"]{background:rgb(255 255 255 / 6%)}.sufi-product-lp .cms-header .cms-nav-toggle>summary{display:none}@media (min-width:821px){.sufi-product-lp .cms-header .cms-nav-toggle::details-content{display:contents;content-visibility:visible}.sufi-product-lp .cms-header .cms-nav-toggle>.cms-nav,.sufi-product-lp .cms-header .cms-nav-toggle:not([open])>.cms-nav,.sufi-product-lp .cms-header .cms-nav-toggle[open]>.cms-nav{position:static;display:block;content-visibility:visible;padding:0;border:0;background:none;box-shadow:none}}.sufi-product-lp .cms-header .cms-language-switcher{display:inline-flex;flex:0 0 auto;align-items:center}.sufi-product-lp .cms-header .cms-language-switcher__toggle{width:auto;inline-size:auto;min-width:62px;height:42px;block-size:42px;margin:0;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:rgb(255 255 255 / 5%);color:var(--text);font-family:inherit;font-size:.82rem;font-weight:700;line-height:1;cursor:pointer;transition:border-color .2s var(--ease-out),background-color .2s var(--ease-out)}.sufi-product-lp .cms-header .cms-language-switcher__toggle:hover,.sufi-product-lp .cms-header .cms-language-switcher__toggle:focus-visible,.sufi-product-lp .cms-header .cms-language-switcher__toggle:popover-open,.sufi-product-lp .cms-header .cms-language-switcher:has(.cms-language-switcher__panel:popover-open) .cms-language-switcher__toggle{border-color:var(--line-bright);background:rgb(255 255 255 / 8%);color:var(--ivory)}.sufi-product-lp .cms-header .cms-language-switcher__toggle:focus-visible{outline:3px solid rgb(34 211 238 / 65%);outline-offset:4px}.sufi-product-lp .cms-header .cms-language-switcher__toggle svg{display:block;width:17px;height:17px;inline-size:17px;block-size:17px;opacity:.8}.sufi-product-lp .cms-header .cms-language-switcher__panel{min-inline-size:11rem;padding:8px;border:1px solid var(--line);border-radius:14px;background:rgb(11 16 32 / 96%);color:var(--text);box-shadow:0 24px 50px rgb(0 0 0 / 34%);-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%);font-family:var(--font-body)}.sufi-product-lp .cms-header .cms-language-switcher__panel>ul{gap:2px}.sufi-product-lp .cms-header .cms-language-switcher__panel a,.sufi-product-lp .cms-header .cms-language-switcher__panel [aria-current="true"]{display:flex;min-height:40px;align-items:center;padding:0 12px;border-radius:9px;color:var(--muted);font-size:.85rem;font-weight:700;text-decoration:none;transition:color .2s var(--ease-out),background-color .2s var(--ease-out)}.sufi-product-lp .cms-header .cms-language-switcher__panel:is(a,span):lang(fa),.sufi-product-lp .cms-header .cms-language-switcher__panel:is(a,span):lang(ar){font-family:var(--font-rtl)}.sufi-product-lp .cms-header .cms-language-switcher__panel a:hover,.sufi-product-lp .cms-header .cms-language-switcher__panel a:focus-visible{background:rgb(255 255 255 / 6%);color:var(--ivory);text-decoration:none}.sufi-product-lp .cms-header .cms-language-switcher__panel [aria-current="true"]{background:rgb(124 58 237 / 18%);color:var(--ivory)}.sufi-product-lp .cms-header .cms-account-login{width:auto;inline-size:auto;height:auto;block-size:auto;min-height:44px;flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;margin:0;padding:0;border-radius:0;background:transparent;color:var(--ivory);font-size:.78rem;font-weight:800;line-height:1.65;text-decoration:none}.sufi-product-lp .cms-header .cms-account-login:hover,.sufi-product-lp .cms-header .cms-account-login:focus-visible{background:transparent;color:var(--ivory);text-decoration:none}.sufi-product-lp .cms-header .cms-account-login:focus-visible{outline:3px solid rgb(34 211 238 / 65%);outline-offset:4px}.sufi-product-lp .cms-header .cms-account-login>svg{display:none}.sufi-product-lp .cms-header .cms-account-login .cms-account-login__label{position:static;width:auto;height:auto;inline-size:auto;block-size:auto;margin:0;overflow:visible;clip:auto;white-space:nowrap;font-size:inherit;font-weight:inherit}.sufi-product-lp .cms-header .cms-account-login::after{content:"";display:block;width:17px;height:17px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8'%3E%3Cpath d='M5 12h14M14 7l5 5-5 5'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8'%3E%3Cpath d='M5 12h14M14 7l5 5-5 5'/%3E%3C/svg%3E") center / contain no-repeat;transition:transform .2s var(--ease-out)}.sufi-product-lp [dir="rtl"] .cms-header .cms-account-login::after{transform:scaleX(-1)}.sufi-product-lp .cms-header .cms-account-login:hover::after{transform:translateX(3px)}.sufi-product-lp [dir="rtl"] .cms-header .cms-account-login:hover::after{transform:scaleX(-1) translateX(3px)}.sufi-product-lp .cms-footer{position:relative;z-index:1;margin:0;padding-block:44px 28px;border-top:1px solid var(--line);background:rgb(5 7 18 / 82%);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:var(--muted);font-size:.88rem;line-height:1.7}.sufi-product-lp .cms-footer p{margin:0;color:var(--muted)}.sufi-product-lp .cms-footer .cms-stack{display:grid;gap:14px;justify-items:start}.sufi-product-lp .cms-footer .cms-menu ul{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin:0;padding:0;list-style:none}.sufi-product-lp .cms-footer .cms-menu ul ul{margin-block-start:6px;padding-inline-start:12px}.sufi-product-lp .cms-footer .cms-menu a,.sufi-product-lp .cms-footer .cms-menu span{color:var(--dim);font-size:.82rem;font-weight:700;text-decoration:none;transition:color .2s var(--ease-out)}.sufi-product-lp .cms-footer .cms-menu a:hover,.sufi-product-lp .cms-footer .cms-menu a:focus-visible,.sufi-product-lp .cms-footer .cms-menu a[aria-current="page"],.sufi-product-lp .cms-footer .cms-menu a[aria-current="location"]{color:var(--ivory);text-decoration:none}.sufi-product-lp .cms-footer .cms-footer__bar{margin-block-start:32px;padding-block-start:20px;border-block-start:1px solid var(--line);color:var(--dim);font-size:.78rem}.sufi-product-lp .cms-footer .cms-footer__bar p{color:var(--dim)}.sufi-product-lp .cms-footer a:focus-visible{outline:3px solid rgb(34 211 238 / 65%);outline-offset:4px}@media (max-width:1100px){.sufi-product-lp .cms-header .cms-menu>ul{gap:0}.sufi-product-lp .cms-header .cms-menu>ul>li>a,.sufi-product-lp .cms-header .cms-menu>ul>li>span{padding-inline:8px}}@media (max-width:820px){.sufi-product-lp .cms-header .cms-container,.sufi-product-lp .cms-footer .cms-container{width:min(calc(100% - 32px),var(--shell))}.sufi-product-lp .cms-header .cms-header__inner{min-height:68px;gap:12px;padding-block:8px}.sufi-product-lp .cms-header .cms-site-brand{flex:1 1 auto;overflow:hidden}.sufi-product-lp .cms-header .cms-site-brand .cms-site-brand__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sufi-product-lp .cms-header .cms-header__tools{flex:0 0 auto;gap:12px;margin-inline-start:auto}.sufi-product-lp .cms-header .cms-nav-toggle{order:3;margin:0}.sufi-product-lp .cms-header .cms-nav-toggle>summary{display:grid;place-items:center;width:44px;height:44px;inline-size:44px;block-size:44px;border:1px solid var(--line);border-radius:11px;background:rgb(255 255 255 / 5%);color:var(--ivory);cursor:pointer;list-style:none}.sufi-product-lp .cms-header .cms-nav-toggle>summary::-webkit-details-marker{display:none}.sufi-product-lp .cms-header .cms-nav-toggle>summary::marker{content:""}.sufi-product-lp .cms-header .cms-nav-toggle>summary:hover{background:rgb(255 255 255 / 8%)}.sufi-product-lp .cms-header .cms-nav-toggle>summary:focus-visible{outline:3px solid rgb(34 211 238 / 65%);outline-offset:4px}.sufi-product-lp .cms-header .cms-nav-toggle>summary .cms-nav-toggle__icon{display:block;width:22px;height:22px;inline-size:22px;block-size:22px;fill:none;stroke:currentColor;stroke-width:1.8}.sufi-product-lp .cms-header .cms-nav-toggle>summary .cms-nav-toggle__icon--open{display:none}.sufi-product-lp .cms-header .cms-nav-toggle[open]>summary .cms-nav-toggle__icon--closed{display:none}.sufi-product-lp .cms-header .cms-nav-toggle[open]>summary .cms-nav-toggle__icon--open{display:block}.sufi-product-lp .cms-header .cms-nav-toggle:not([open])>.cms-nav{display:none}.sufi-product-lp .cms-header .cms-nav-toggle[open]>.cms-nav{position:absolute;z-index:3;inset-inline:16px;inset-block-start:calc(100% + 8px);display:block;padding:10px;border:1px solid var(--line);border-radius:14px;background:rgb(11 16 32 / 96%);box-shadow:0 24px 50px rgb(0 0 0 / 34%)}.sufi-product-lp .cms-header .cms-nav-toggle[open]>.cms-nav .cms-menu>ul{display:grid;grid-template-columns:repeat(2,1fr);gap:0}.sufi-product-lp .cms-header .cms-nav-toggle[open]>.cms-nav .cms-menu li{display:block}.sufi-product-lp .cms-header .cms-nav-toggle[open]>.cms-nav .cms-menu li>a,.sufi-product-lp .cms-header .cms-nav-toggle[open]>.cms-nav .cms-menu li>span{display:flex;width:100%;min-height:44px;padding-block:0;padding-inline:12px;border-radius:0;background:none}.sufi-product-lp .cms-header .cms-nav-toggle[open]>.cms-nav .cms-menu li>a::after,.sufi-product-lp .cms-header .cms-nav-toggle[open]>.cms-nav .cms-menu li>span::after{display:block;inset-inline-start:12px;inset-inline-end:auto;inset-block:9px;width:2px;height:auto;transform:scaleY(0)}.sufi-product-lp [dir="rtl"] .cms-header .cms-nav-toggle[open]>.cms-nav .cms-menu li>a::after,.sufi-product-lp [dir="rtl"] .cms-header .cms-nav-toggle[open]>.cms-nav .cms-menu li>span::after{inset-inline-start:auto;inset-inline-end:12px}.sufi-product-lp .cms-header .cms-nav-toggle[open]>.cms-nav .cms-menu li>a:hover::after,.sufi-product-lp .cms-header .cms-nav-toggle[open]>.cms-nav .cms-menu li>a:focus-visible::after,.sufi-product-lp .cms-header .cms-nav-toggle[open]>.cms-nav .cms-menu li>a[aria-current="page"]::after,.sufi-product-lp .cms-header .cms-nav-toggle[open]>.cms-nav .cms-menu li>a[aria-current="location"]::after{transform:scaleY(1)}.sufi-product-lp .cms-header .cms-nav-toggle[open]>.cms-nav .cms-menu li:has(>ul){grid-column:1 / -1}.sufi-product-lp .cms-header .cms-nav-toggle[open]>.cms-nav .cms-menu li:has(>ul)>:is(a,span)::before{display:none}.sufi-product-lp .cms-header .cms-nav-toggle[open]>.cms-nav .cms-menu ul ul{position:static;display:grid;grid-template-columns:repeat(2,1fr);min-width:0;margin:0;padding:0 12px 0 0;padding-inline:12px 0;border:0;background:none;box-shadow:none;opacity:1;visibility:visible;transform:none}.sufi-product-lp .cms-header .cms-account-login{width:42px;height:42px;min-height:0;justify-content:center;border:1px solid var(--line);border-radius:10px;background:rgb(255 255 255 / 5%)}.sufi-product-lp .cms-header .cms-account-login>svg{display:block;width:19px;height:19px}.sufi-product-lp .cms-header .cms-account-login::after{display:none}.sufi-product-lp .cms-header .cms-account-login .cms-account-login__label{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0)}.sufi-product-lp .cms-footer .cms-footer__grid{grid-template-columns:1fr;gap:24px}}@media (max-width:560px){.sufi-product-lp .cms-header .cms-container,.sufi-product-lp .cms-footer .cms-container{width:min(calc(100% - 24px),var(--shell))}.sufi-product-lp .cms-header .cms-header__inner{gap:10px}.sufi-product-lp .cms-header .cms-header__tools{gap:10px}.sufi-product-lp .cms-header .cms-nav-toggle[open]>.cms-nav{inset-inline:12px}.sufi-product-lp -brand .cms-site-brand__name{font-size:.88rem}}@media (max-width:420px){.sufi-product-lp .cms-header .cms-nav-toggle{order:-1}}@media (prefers-reduced-motion:reduce){.sufi-product-lp .cms-header *,.sufi-product-lp .cms-header *::after,.sufi-product-lp .cms-header *::before{transition:none}}@media (forced-colors:active){.sufi-product-lp .cms-header,.sufi-product-lp .cms-footer{border-color:CanvasText}.sufi-product-lp .cms-header .cms-account-login::after{background:LinkText}}@keyframes values-rosette-arrival{from{opacity:0;transform:translateX(-50%) rotate(-12deg) scale(.94)}to{opacity:1;transform:translateX(-50%) rotate(-7deg) scale(1)}}@keyframes values-rosette-arrival-rtl{from{opacity:0;transform:translateX(50%) rotate(12deg) scale(.94)}to{opacity:1;transform:translateX(50%) rotate(7deg) scale(1)}}.sufi-product-lp{scroll-padding-top:var(--sufi-header-offset,76px)}.sufi-product-lp #top,.sufi-product-lp #solve,.sufi-product-lp #opensource{scroll-margin-top:0}.sufi-product-lp .solve-scene{position:relative;isolation:isolate;overflow:hidden;padding:clamp(84px,9vw,124px) 0 clamp(88px,9vw,128px);border-top:1px solid rgb(167 139 250 / 14%);background:radial-gradient(circle at 14% 18%,rgb(124 58 237 / 15%),transparent 32%),radial-gradient(circle at 88% 82%,rgb(34 211 238 / 10%),transparent 34%),linear-gradient(180deg,rgb(5 7 18 / 0%) 0%,rgb(8 11 25 / 88%) 26%,#070a17 100%);color:var(--text)}.sufi-product-lp .solve-scene::before{position:absolute;z-index:-1;inset:0;background-image:linear-gradient(rgb(168 178 199 / 4%) 1px,transparent 1px),linear-gradient(90deg,rgb(168 178 199 / 4%) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to bottom,transparent,#000 20%,#000 80%,transparent);content:""}.sufi-product-lp .solve-eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--cyan);font-family:var(--font-mono);font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.sufi-product-lp .solve-eyebrow i{width:8px;height:8px;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 5px rgb(34 211 238 / 10%),0 0 22px rgb(34 211 238 / 60%)}.sufi-product-lp [dir="rtl"] .solve-eyebrow{font-family:var(--font-rtl);font-size:.86rem;letter-spacing:0;text-transform:none}.sufi-product-lp .solve-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:0;padding:0;list-style:none}.sufi-product-lp .solve-card{position:relative;display:flex;flex-direction:column;gap:14px;min-width:0;padding:26px 24px 28px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(160deg,rgb(255 255 255 / 5%),rgb(255 255 255 / 1.5%) 46%,transparent),rgb(11 16 32 / 72%);box-shadow:inset 0 1px 0 rgb(255 255 255 / 5%),0 24px 60px rgb(0 0 0 / 22%);transition:border-color .3s var(--ease-out),translate .3s var(--ease-out),box-shadow .3s var(--ease-out)}.sufi-product-lp .solve-card::before{position:absolute;inset-block-start:-1px;inset-inline:22px;height:1px;background:linear-gradient(90deg,transparent,var(--accent,var(--violet-light)),transparent);opacity:.7;content:""}.sufi-product-lp .solve-card:nth-child(2n){--accent:var(--cyan)}.sufi-product-lp .solve-card:nth-child(2n+1){--accent:var(--violet-light)}@media (hover:hover) and (pointer:fine){.sufi-product-lp .solve-card:hover{border-color:rgb(167 139 250 / 34%);translate:0 -3px;box-shadow:inset 0 1px 0 rgb(255 255 255 / 7%),0 28px 70px rgb(0 0 0 / 30%),0 0 40px rgb(124 58 237 / 10%)}}.sufi-product-lp .solve-card-index{position:absolute;inset-block-start:22px;inset-inline-end:22px;color:var(--dim);font-family:var(--font-mono);font-size:.62rem;letter-spacing:.12em}.sufi-product-lp .solve-card h3{margin:6px 0 0;color:var(--ivory);font-family:var(--font-display);font-size:1.08rem;font-weight:700;line-height:1.4;letter-spacing:-.01em;text-wrap:balance}.sufi-product-lp .solve-card p{margin:0;color:var(--muted);font-size:.95rem;line-height:1.75;text-wrap:pretty}.sufi-product-lp [dir="rtl"] .solve-card h3{font-family:var(--font-rtl);line-height:1.7;letter-spacing:0}.sufi-product-lp [dir="rtl"] .solve-card p{font-family:var(--font-rtl);line-height:2}@media (max-width:1100px){.sufi-product-lp .solve-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:620px){.sufi-product-lp .solve-scene{padding:72px 0 80px}.sufi-product-lp .solve-grid{grid-template-columns:1fr;gap:14px}.sufi-product-lp .solve-card{padding:22px 20px 24px}}.sufi-product-lp .product-page{position:relative;z-index:1;display:block}.sufi-product-lp .product-page h1,.sufi-product-lp .product-page h2{text-wrap:balance}.sufi-product-lp .product-hero{padding:clamp(132px,14vw,172px) 0 clamp(56px,7vw,88px)}.sufi-product-lp .product-hero .hero-copy{max-width:860px}.sufi-product-lp .product-hero-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}.sufi-product-lp .product-badge{display:inline-flex;align-items:center;min-height:24px;padding:0 10px;border:1px solid rgb(167 139 250 / 40%);border-radius:999px;background:rgb(124 58 237 / 12%);color:var(--violet-light);font-family:var(--font-mono);font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.sufi-product-lp [dir="rtl"] .product-badge{font-family:var(--font-rtl);font-size:.8rem;letter-spacing:0;text-transform:none}.sufi-product-lp .product-hero .hero-copy h1{max-width:22ch;margin:18px 0 22px;font-size:clamp(2.3rem,4.8vw,3.4rem);line-height:1.06;letter-spacing:-.045em}.sufi-product-lp [dir="rtl"] .product-hero .hero-copy h1{max-width:24ch;font-size:clamp(2.1rem,4.4vw,3.1rem);line-height:1.45;letter-spacing:0}.sufi-product-lp .product-hero .hero-actions{align-items:center;gap:14px 24px}.sufi-product-lp .product-text-link{color:var(--text);font-size:.92rem;font-weight:600;text-decoration:underline;text-decoration-color:rgb(167 139 250 / 55%);text-underline-offset:4px}.sufi-product-lp .product-text-link:hover{color:var(--ivory);text-decoration-color:var(--cyan)}.sufi-product-lp .product-features{padding-block:clamp(64px,7vw,96px)}.sufi-product-lp .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sufi-product-lp .product-grid>.solve-card{scroll-margin-top:16px}.sufi-product-lp .solve-card h2{margin:6px 0 0;color:var(--ivory);font-family:var(--font-display);font-size:1.18rem;font-weight:700;line-height:1.4;letter-spacing:-.01em}.sufi-product-lp [dir="rtl"] .solve-card h2{font-family:var(--font-rtl);line-height:1.7;letter-spacing:0}.sufi-product-lp .product-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding-bottom:clamp(48px,6vw,72px)}.sufi-product-lp .product-note{padding:24px 24px 26px;border:1px solid var(--line);border-radius:22px;background:rgb(11 16 32 / 60%)}.sufi-product-lp .product-note h2{margin:0 0 10px;color:var(--ivory);font-family:var(--font-display);font-size:1.08rem;font-weight:700;line-height:1.4}.sufi-product-lp [dir="rtl"] .product-note h2{font-family:var(--font-rtl);line-height:1.7}.sufi-product-lp .product-note p{margin:0;color:var(--muted);font-size:.95rem;line-height:1.75}.sufi-product-lp [dir="rtl"] .product-note p{line-height:2}.sufi-product-lp .product-cta{padding:0 0 clamp(88px,9vw,128px)}.sufi-product-lp .product-cta-panel{display:grid;justify-items:center;gap:22px;padding:clamp(32px,5vw,52px) 24px;text-align:center;border:1px solid rgb(167 139 250 / 24%);border-radius:var(--radius-xl);background:radial-gradient(circle at 50% 0%,rgb(124 58 237 / 18%),transparent 60%),rgb(11 16 32 / 72%)}.sufi-product-lp .product-cta-panel h2{margin:0;color:var(--ivory);font-family:var(--font-display);font-size:clamp(1.5rem,2.6vw,2.1rem);font-weight:700;line-height:1.2;letter-spacing:-.03em}.sufi-product-lp [dir="rtl"] .product-cta-panel h2{font-family:var(--font-rtl);line-height:1.6;letter-spacing:0}.sufi-product-lp .product-cta-panel .hero-actions{justify-content:center;align-items:center;gap:14px 24px;margin-top:0}@media (max-width:820px){.sufi-product-lp .product-grid,.sufi-product-lp .product-notes{grid-template-columns:1fr}}@media (max-width:620px){.sufi-product-lp .product-hero{padding:112px 0 48px}}.sufi-product-lp .product-page .product-media{margin:var(--sb-space-4,16px) 0 0;display:block}.sufi-product-lp .product-page .product-media img{display:block;width:100%;height:auto;border-radius:14px;border:1px solid rgba(255,255,255,.10)}.sufi-product-lp .product-page .product-media-frame{position:relative;aspect-ratio:16/10;border-radius:14px;border:1px solid rgba(255,255,255,.10);background:linear-gradient(135deg,rgba(124,92,255,.16),rgba(0,200,255,.08)),#0d1020;display:flex;align-items:center;justify-content:center}.sufi-product-lp .product-page .product-media-video .product-media-frame{aspect-ratio:16/9}.sufi-product-lp .product-page .product-media-frame>svg{width:44px;height:44px;fill:none;stroke:rgba(255,255,255,.45);stroke-width:1.5;stroke-linejoin:round}.sufi-product-lp .product-page .product-media-play{width:56px;height:56px;border-radius:50%;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center}.sufi-product-lp .product-page .product-media-play svg{width:24px;height:24px;fill:#fff;margin-inline-start:3px}.sufi-product-lp .product-page .product-media figcaption{margin-top:8px;font-size:.85rem;opacity:.7}.sufi-product-lp{background:var(--canvas);color:var(--text);font-family:var(--font-body);position:relative;overflow:hidden}[dir=rtl] .sufi-product-lp,.sufi-product-lp:lang(fa){font-family:var(--font-rtl)}/* === end product landing pages === */
/* === Site header + footer (dark), 2026-10-15 === */
/* Sufi CMS site-header partial - dark theme (matches site-product-lp). Scoped to .cms-header. */
.cms-header{--h-bg:rgb(5 7 18 / 72%);--h-elev:#0b1020;--h-text:#e7eaf2;--h-muted:#a8b2c7;--h-line:rgb(168 178 199 / 16%);--h-line2:rgb(168 178 199 / 30%);--h-cyan:#22d3ee;--h-violet:#a78bfa;--h-font:"Vazir FD","Segoe UI",Tahoma,Arial,sans-serif;
position:sticky;inset-block-start:0;z-index:50;background:var(--h-bg);-webkit-backdrop-filter:saturate(140%) blur(14px);backdrop-filter:saturate(140%) blur(14px);border-block-end:1px solid var(--h-line);color:var(--h-text);font-family:var(--h-font);font-size:15px;line-height:1.6}
.cms-header *{box-sizing:border-box}
.cms-header .cms-container{inline-size:min(calc(100% - 40px),1240px);margin-inline:auto;padding:0}
.cms-header .cms-header__inner{display:flex;align-items:center;gap:20px;min-block-size:68px}
.cms-header a{color:inherit;text-decoration:none}
.cms-header :focus-visible{outline:2px solid var(--h-cyan);outline-offset:3px;border-radius:10px}
/* brand */
.cms-header .cms-site-brand{display:inline-flex;align-items:center;gap:10px;color:#f7f8fc;font-weight:700;font-size:17px;flex-shrink:0}
.cms-header .cms-site-brand__logo{block-size:34px;inline-size:auto;display:block}
/* inline nav */
.cms-header .cms-nav--inline{flex:1;min-inline-size:0}
.cms-header .cms-nav ul{list-style:none;margin:0;padding:0}
.cms-header .cms-nav--inline .cms-menu>ul,.cms-header .cms-nav--inline>ul{display:flex;flex-wrap:wrap;align-items:center;gap:4px}
.cms-header .cms-nav li{position:relative}
.cms-header .cms-nav a,.cms-header .cms-nav li>span{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:10px;color:var(--h-muted);transition:color .2s,background .2s}
.cms-header .cms-nav a:hover,.cms-header .cms-nav a:focus-visible{color:var(--h-text);background:rgb(255 255 255 / 6%)}
.cms-header .cms-nav a[aria-current="page"],.cms-header .cms-nav a[aria-current="location"]{color:#fff;background:rgb(34 211 238 / 10%);box-shadow:inset 0 0 0 1px rgb(34 211 238 / 28%)}
/* dropdowns */
.cms-header .cms-nav--inline ul ul{position:absolute;inset-block-start:calc(100% + 6px);inset-inline-start:0;min-inline-size:220px;display:none;flex-direction:column;gap:2px;padding:8px;background:rgb(11 16 32 / 96%);border:1px solid var(--h-line2);border-radius:14px;box-shadow:0 18px 40px rgb(0 0 0 / 45%)}
.cms-header .cms-nav--inline li:hover>ul,.cms-header .cms-nav--inline li:focus-within>ul{display:flex}
.cms-header .cms-nav--inline ul ul a{display:flex;inline-size:100%}
/* tools */
.cms-header .cms-header__tools{display:flex;align-items:center;gap:10px;margin-inline-start:auto}
.cms-header .cms-language-switcher{position:relative}
.cms-header .cms-language-switcher__toggle,.cms-header .cms-language-switcher summary{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid var(--h-line2);border-radius:999px;background:rgb(255 255 255 / 4%);color:var(--h-text);font:inherit;font-size:14px;cursor:pointer;list-style:none}
.cms-header .cms-language-switcher summary::-webkit-details-marker{display:none}
.cms-header .cms-language-switcher__toggle:hover{border-color:var(--h-cyan)}
.cms-header .cms-language-switcher__panel{position:absolute;inset-block-start:calc(100% + 8px);inset-inline-end:0;min-inline-size:160px;padding:6px;background:rgb(11 16 32 / 96%);border:1px solid var(--h-line2);border-radius:14px;box-shadow:0 18px 40px rgb(0 0 0 / 45%);z-index:60}
.cms-header .cms-language-switcher__panel ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.cms-header .cms-language-switcher__panel a{display:flex;padding:8px 10px;border-radius:9px;color:var(--h-muted)}
.cms-header .cms-language-switcher__panel a:hover,.cms-header .cms-language-switcher__panel a:focus-visible,.cms-header .cms-language-switcher__panel [aria-current="true"]{background:rgb(255 255 255 / 6%);color:var(--h-text)}
.cms-header .cms-account-login a,.cms-header a.cms-account-login{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:999px;background:linear-gradient(135deg,#22d3ee,#7c3aed);color:#050712;font-weight:700;font-size:14px;white-space:nowrap;transition:filter .2s,transform .2s}
.cms-header .cms-account-login a{color:#050712}
.cms-header .cms-account-login a:hover,.cms-header a.cms-account-login:hover{filter:brightness(1.1);transform:translateY(-1px)}
/* mobile toggle */
.cms-header .cms-nav-toggle{position:static}
.cms-header .cms-nav-toggle>summary{display:none;list-style:none;cursor:pointer;inline-size:42px;block-size:42px;align-items:center;justify-content:center;border:1px solid var(--h-line2);border-radius:12px;background:rgb(255 255 255 / 4%);color:var(--h-text)}
.cms-header .cms-nav-toggle>summary::-webkit-details-marker{display:none}
.cms-header .cms-nav-toggle__icon{inline-size:22px;block-size:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.cms-header .cms-nav-toggle__icon--open,.cms-header .cms-nav-toggle[open] .cms-nav-toggle__icon--closed{display:none}
.cms-header .cms-nav-toggle[open] .cms-nav-toggle__icon--open{display:block}
.cms-header .cms-nav-toggle>.cms-nav{display:none}
@media (max-width:820px){
.cms-header .cms-header__inner{min-block-size:60px;gap:12px}
.cms-header .cms-nav--inline{display:none}
.cms-header .cms-nav-toggle>summary{display:inline-flex}
.cms-header .cms-nav-toggle[open]>.cms-nav{display:block;position:absolute;inset-inline:0;inset-block-start:100%;max-block-size:calc(100vh - 60px);overflow-y:auto;padding:12px 20px 20px;background:#050712;box-shadow:0 24px 40px rgb(0 0 0 / 50%);border-block-end:1px solid var(--h-line)}
.cms-header .cms-nav-toggle .cms-nav ul{display:grid;gap:2px}
.cms-header .cms-nav-toggle .cms-nav ul ul{padding-inline-start:14px;border-inline-start:1px solid var(--h-line)}
.cms-header .cms-nav-toggle .cms-nav a{display:flex;padding:11px 12px;font-size:16px}
.cms-header .cms-account-login__label{font-size:13px}
.cms-header .cms-account-login a,.cms-header a.cms-account-login{padding:8px 12px}
}
@media (max-width:420px){.cms-header .cms-site-brand__name{display:none}}
@media (prefers-reduced-motion:reduce){.cms-header *{transition:none!important}}
/* v2: overrides for live component markup (beats cms-account-login.css / cms-language-switcher.css) */
.cms-header .cms-site-brand .cms-site-brand__name{color:#f7f8fc;font-weight:800;font-size:18px;letter-spacing:.2px;background:linear-gradient(135deg,#e7eaf2,#22d3ee);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.cms-header .cms-header__tools a.cms-account-login,.cms-header .cms-header__tools a.cms-account-login.cms-account-login--signed-in{display:inline-flex;align-items:center;gap:6px;padding:8px 16px !important;border:0 !important;border-radius:999px !important;background:linear-gradient(135deg,#22d3ee,#7c3aed) !important;color:#fff !important;text-decoration:none !important;font-weight:600;font-size:14px;line-height:1.4;white-space:nowrap;box-shadow:0 6px 18px rgb(124 58 237 / 30%);transition:filter .2s,transform .2s,box-shadow .2s}
.cms-header .cms-header__tools a.cms-account-login .cms-account-login__label{color:#fff !important;font-weight:600;font-size:14px}
.cms-header .cms-header__tools a.cms-account-login:hover{filter:brightness(1.12);transform:translateY(-1px);box-shadow:0 10px 24px rgb(34 211 238 / 30%)}
.cms-header .cms-header__tools a.cms-account-login:focus-visible{outline:2px solid #22d3ee !important;outline-offset:3px;border-radius:999px !important}
.cms-header .cms-header__tools .cms-language-switcher button.sb-button.cms-language-switcher__toggle{display:inline-flex;align-items:center;gap:6px;min-block-size:0;block-size:auto;padding:7px 12px !important;border:1px solid var(--h-line2) !important;border-radius:999px !important;background:rgb(255 255 255 / 4%) !important;color:var(--h-text) !important;text-decoration:none !important;font:inherit;font-size:14px;cursor:pointer}
.cms-header .cms-header__tools .cms-language-switcher button.sb-button.cms-language-switcher__toggle:hover{border-color:#22d3ee !important;background:rgb(34 211 238 / 8%) !important}
.cms-header .cms-header__tools .cms-language-switcher button.sb-button.cms-language-switcher__toggle:focus-visible{outline:2px solid #22d3ee;outline-offset:3px}
.cms-header .cms-header__tools .cms-language-switcher .sb-button__content{display:inline-flex;align-items:center;color:inherit}
.cms-header .cms-header__tools .cms-language-switcher .sb-button__content svg{inline-size:16px;block-size:16px}
.cms-header .cms-header__tools .cms-language-switcher .cms-language-switcher__label{display:inline !important;position:static !important;inline-size:auto !important;block-size:auto !important;clip:auto !important;clip-path:none !important;overflow:visible !important;white-space:nowrap;margin:0 !important;color:inherit !important;font-size:14px}
.cms-header .cms-header__tools .cms-language-switcher div.cms-language-switcher__panel[popover]{inset:auto;margin:0;min-inline-size:160px;padding:6px !important;background:rgb(11 16 32 / 97%) !important;color:var(--h-text) !important;border:1px solid var(--h-line2) !important;border-radius:14px !important;box-shadow:0 18px 40px rgb(0 0 0 / 50%)}
.cms-header .cms-header__tools .cms-language-switcher__panel ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.cms-header .cms-header__tools .cms-language-switcher__panel a,.cms-header .cms-header__tools .cms-language-switcher__panel span{display:flex;padding:8px 10px;border-radius:9px;color:var(--h-muted) !important;background:transparent !important;text-decoration:none !important}
.cms-header .cms-header__tools .cms-language-switcher__panel a:hover,.cms-header .cms-header__tools .cms-language-switcher__panel a:focus-visible{background:rgb(255 255 255 / 6%) !important;color:var(--h-text) !important}
.cms-header .cms-header__tools .cms-language-switcher__panel span[aria-current="true"]{background:rgb(34 211 238 / 12%) !important;color:#22d3ee !important;box-shadow:inset 0 0 0 1px rgb(34 211 238 / 35%);font-weight:600}

/* Sufi CMS site-footer partial - dark theme (matches site-product-lp). Scoped to .cms-footer. */
.cms-footer{--f-text:#e7eaf2;--f-muted:#a8b2c7;--f-dim:#748096;--f-line:rgb(168 178 199 / 16%);--f-line2:rgb(168 178 199 / 30%);--f-cyan:#22d3ee;--f-font:"Vazir FD","Segoe UI",Tahoma,Arial,sans-serif;
position:relative;background:radial-gradient(60% 120% at 50% 0%,rgb(124 58 237 / 12%),transparent 70%),#050712;border-block-start:1px solid var(--f-line);color:var(--f-muted);font-family:var(--f-font);font-size:15px;line-height:1.8;padding-block:56px 0}
.cms-footer *{box-sizing:border-box}
.cms-footer::before{content:"";position:absolute;inset-block-start:-1px;inset-inline:15%;block-size:1px;background:linear-gradient(90deg,transparent,#22d3ee,#a78bfa,transparent)}
.cms-footer .cms-container{inline-size:min(calc(100% - 40px),1240px);margin-inline:auto;padding:0}
.cms-footer a{color:inherit;text-decoration:none;transition:color .2s}
.cms-footer a:hover{color:var(--f-text)}
.cms-footer :focus-visible{outline:2px solid var(--f-cyan);outline-offset:3px;border-radius:8px}
.cms-footer .cms-footer__grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,2fr);gap:40px;padding-block-end:40px}
.cms-footer .cms-stack{display:grid;gap:14px;align-content:start}
.cms-footer .cms-stack p{margin:0;max-inline-size:38ch}
.cms-footer .cms-site-brand{display:inline-flex;align-items:center;gap:10px;color:#f7f8fc;font-weight:700;font-size:18px}
.cms-footer .cms-site-brand__logo{block-size:36px;inline-size:auto;display:block}
.cms-footer .cms-nav ul{list-style:none;margin:0;padding:0}
.cms-footer .cms-nav--stack .cms-menu>ul,.cms-footer .cms-nav--stack>ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px 28px}
.cms-footer .cms-nav--stack li>a,.cms-footer .cms-nav--stack li>span{display:inline-block;padding-block:3px}
.cms-footer .cms-nav--stack li:has(>ul)>a,.cms-footer .cms-nav--stack li:has(>ul)>span{color:var(--f-text);font-weight:700;margin-block-end:4px}
.cms-footer .cms-nav--stack ul ul{display:grid;gap:2px}
.cms-footer .cms-nav a[aria-current="page"]{color:var(--f-cyan)}
.cms-footer .cms-footer__bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;padding-block:18px 22px;border-block-start:1px solid var(--f-line);font-size:13px;color:var(--f-dim)}
.cms-footer .cms-footer__bar p{margin:0}
/* cookie consent (inline or fixed variants) */
.cms-footer [class*="cookie"]{color:var(--f-muted);font-size:13px}
.cms-footer .cms-cookie-consent,.cms-footer [class*="cookie-consent"]:not([class*="__"]){display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:10px 14px;background:rgb(11 16 32 / 96%);border:1px solid var(--f-line2);border-radius:14px;box-shadow:0 18px 40px rgb(0 0 0 / 40%)}
.cms-footer [class*="cookie"] p{margin:0}
.cms-footer [class*="cookie"] a{color:var(--f-cyan);text-decoration:underline;text-underline-offset:3px}
.cms-footer [class*="cookie"] button{font:inherit;font-size:13px;padding:6px 14px;border-radius:999px;border:1px solid var(--f-line2);background:rgb(255 255 255 / 5%);color:var(--f-text);cursor:pointer}
.cms-footer [class*="cookie"] button:first-of-type{background:linear-gradient(135deg,#22d3ee,#7c3aed);border-color:transparent;color:#050712;font-weight:700}
.cms-footer [class*="cookie"] button:hover{filter:brightness(1.1)}
@media (max-width:820px){
.cms-footer{padding-block-start:40px}
.cms-footer .cms-footer__grid{grid-template-columns:1fr;gap:28px}
.cms-footer .cms-footer__bar{flex-direction:column;align-items:flex-start}
}
@media (prefers-reduced-motion:reduce){.cms-footer *{transition:none!important}}

/* === end header + footer === */

/* === Header v3 (home style), 2026-10-15 === */
/* Source: /workspace/landing-hero/hero-cms-v5.css (.site-header/.brand/.brand-symbol/.brand-copy/.primary-nav/.text-action, lines ~235-395).
   Restyles the live site-header partial; :not(#h3) adds id-level specificity so it beats the dark block without !important. */
header.cms-header:not(#h3){--v3-ivory:#f7f8fc;--v3-text:#e7eaf2;--v3-muted:#a8b2c7;--v3-dim:#748096;--v3-line:rgb(168 178 199 / 16%);--v3-elev:#0b1020;--v3-violet:#7c3aed;--v3-cyan:#22d3ee;
 position:sticky;top:0;z-index:50;background:rgb(5 7 18 / 72%);-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%);border-bottom:1px solid rgb(255 255 255 / 7%);box-shadow:none;font-family:Inter,"Segoe UI",Tahoma,Arial,sans-serif}
header.cms-header:not(#h3)::before,header.cms-header:not(#h3)::after{display:none}
header.cms-header:not(#h3):is(:lang(fa),:lang(ar)),[dir="rtl"] header.cms-header:not(#h3){font-family:"Sufi Display",Vazirmatn,Tahoma,Arial,sans-serif}
header.cms-header:not(#h3) .cms-header__inner{min-block-size:74px;gap:30px;display:flex;align-items:center}
/* brand: logo tile + name + tagline */
header.cms-header:not(#h3) a.cms-site-brand{display:inline-grid;grid-template-columns:42px auto;grid-template-rows:auto auto;column-gap:12px;align-items:center;align-content:center;color:var(--v3-ivory);text-decoration:none;flex-shrink:0;line-height:1.2;background:none;padding:0}
header.cms-header:not(#h3) a.cms-site-brand::before{content:"";grid-row:1 / 3;grid-column:1;inline-size:42px;block-size:42px;border-radius:13px;border:1px solid rgb(255 255 255 / 12%);background:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 40 40%27%3E%3Cdefs%3E%3ClinearGradient id=%27a%27 x1=%270%27 y1=%270%27 x2=%271%27 y2=%271%27%3E%3Cstop offset=%270%27 stop-color=%27%238ea2ff%27/%3E%3Cstop offset=%27.5%27 stop-color=%27%233b4bff%27/%3E%3Cstop offset=%271%27 stop-color=%27%231e1b8f%27/%3E%3C/linearGradient%3E%3ClinearGradient id=%27b%27 x1=%270%27 y1=%270%27 x2=%271%27 y2=%271%27%3E%3Cstop offset=%270%27 stop-color=%27%232a1680%27/%3E%3Cstop offset=%27.5%27 stop-color=%27%239b5cf6%27/%3E%3Cstop offset=%271%27 stop-color=%27%235b21f0%27/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d=%27M20 6l12 6.9v4.6l-4 -2.3v-0.1L20 10.6l-8 4.6 13.5 7.8c1.6.9 1.6 3.2 0 4.1L20 30.3z%27 fill=%27url(%23b)%27 opacity=%270%27/%3E%3Cpath d=%27M30.5 12.2L20 6 9.5 12.2c-.9.5-1.5 1.5-1.5 2.6v4.4c0 1.1.6 2.1 1.5 2.6L20 27.9l3.7-2.1L12.6 19.4c-.8-.5-.8-1.6 0-2.1L20 13l7.5 4.3 3-1.7v-1.2c0-.9 0-1.6 0-2.2z%27 fill=%27url(%23a)%27/%3E%3Cpath d=%27M9.5 27.8L20 34l10.5-6.2c.9-.5 1.5-1.5 1.5-2.6v-4.4c0-1.1-.6-2.1-1.5-2.6L20 12.1l-3.7 2.1 11.1 6.4c.8.5.8 1.6 0 2.1L20 27l-7.5-4.3-3 1.7v1.2c0 .9 0 1.6 0 2.2z%27 fill=%27url(%23b)%27/%3E%3C/svg%3E") center / 32px 32px no-repeat,linear-gradient(145deg,rgb(124 58 237 / 22%),rgb(79 70 229 / 10%)),rgb(255 255 255 / 6%);box-shadow:inset 0 1px 0 rgb(255 255 255 / 12%),0 12px 28px rgb(0 0 0 / 20%)}
header.cms-header:not(#h3) a.cms-site-brand .cms-site-brand__logo{display:none}
header.cms-header:not(#h3) a.cms-site-brand .cms-site-brand__name{grid-row:1;grid-column:2;align-self:end;font-family:"Sufi Display","Segoe UI",Tahoma,Arial,sans-serif;font-size:.98rem;font-weight:700;letter-spacing:-.02em;color:var(--v3-ivory);background:none;-webkit-text-fill-color:currentColor;white-space:nowrap;display:block}
header.cms-header:not(#h3) a.cms-site-brand::after{content:"Open-source application foundation";grid-row:2;grid-column:2;align-self:start;margin-top:3px;color:var(--v3-dim);font-family:"JetBrains Mono","Cascadia Code",Consolas,monospace;font-size:.61rem;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
header.cms-header:not(#h3):lang(fa) a.cms-site-brand::after{content:"\000632 \0006cc \000631 \000633 \000627 \00062e \00062a  \000645 \00062a \000646 \00200c \000628 \000627 \000632  \00062a \000648 \000633 \000639 \000647  \000646 \000631 \000645 \00200c \000627 \000641 \000632 \000627 \000631 "}
header.cms-header:not(#h3):lang(ar) a.cms-site-brand::after{content:"\000623 \000633 \000627 \000633  \000645 \000641 \00062a \000648 \00062d  \000627 \000644 \000645 \000635 \00062f \000631  \000644 \000644 \00062a \000637 \000628 \00064a \000642 \000627 \00062a "}
header.cms-header:not(#h3):lang(es) a.cms-site-brand::after{content:"Base de aplicaciones de c\0000f3 digo abierto"}
header.cms-header:not(#h3):is(:lang(fa),:lang(ar)) a.cms-site-brand::after{font-family:inherit;letter-spacing:0;text-transform:none;font-size:.68rem}
/* inline nav: centered plain muted links */
header.cms-header:not(#h3) nav.cms-nav--inline{flex:1 1 auto;min-inline-size:0;display:flex;justify-content:center}
header.cms-header:not(#h3) nav.cms-nav--inline .cms-menu > ul{display:flex;flex-wrap:nowrap;align-items:stretch;justify-content:center;gap:4px;margin:0;padding:0;list-style:none}
header.cms-header:not(#h3) nav.cms-nav li{position:relative;list-style:none}
header.cms-header:not(#h3) nav.cms-nav--inline .cms-menu > ul > li > a,header.cms-header:not(#h3) nav.cms-nav--inline .cms-menu > ul > li > span{position:relative;min-block-size:46px;display:inline-flex;align-items:center;gap:6px;padding:0 12px;border-radius:0;background:none;box-shadow:none;border:0;color:var(--v3-dim);font-size:.78rem;font-weight:700;text-decoration:none;white-space:nowrap;cursor:pointer;transition:color .22s cubic-bezier(.16,1,.3,1)}
header.cms-header:not(#h3) nav.cms-nav--inline .cms-menu > ul > li > :is(a,span)::after{content:"";position:absolute;inset-inline:12px;inset-block-end:3px;block-size:1px;background:linear-gradient(90deg,var(--v3-violet),var(--v3-cyan));transform:scaleX(0);transition:transform .25s cubic-bezier(.16,1,.3,1)}
header.cms-header:not(#h3) nav.cms-nav--inline .cms-menu > ul > li:is(:hover,:focus-within) > :is(a,span),header.cms-header:not(#h3) nav.cms-nav--inline a[aria-current]{color:var(--v3-ivory);background:none;box-shadow:none}
header.cms-header:not(#h3) nav.cms-nav--inline .cms-menu > ul > li:is(:hover,:focus-within) > :is(a,span)::after{transform:scaleX(1)}
header.cms-header:not(#h3) nav.cms-nav--inline .cms-menu > ul > li:has(> ul) > :is(a,span)::before{content:"";order:2;inline-size:5px;block-size:5px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:translateY(-2px) rotate(45deg);opacity:.7}
/* dropdown panel */
header.cms-header:not(#h3) nav.cms-nav--inline ul ul{position:absolute;inset-block-start:100%;inset-inline-start:0;min-inline-size:230px;display:none;flex-direction:column;gap:2px;margin:0;padding:8px;list-style:none;background:rgb(11 16 32 / 96%);border:1px solid var(--v3-line);border-radius:14px;box-shadow:0 22px 48px rgb(0 0 0 / 45%);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:60}
header.cms-header:not(#h3) nav.cms-nav--inline li:is(:hover,:focus-within) > ul{display:flex}
header.cms-header:not(#h3) nav.cms-nav--inline ul ul ul{position:static;display:flex;min-inline-size:0;padding:0 0 4px;border:0;box-shadow:none;background:none}
header.cms-header:not(#h3) nav.cms-nav--inline ul ul :is(a,span){display:flex;inline-size:100%;padding:8px 10px;border-radius:9px;background:none;box-shadow:none;color:var(--v3-muted);font-size:.8rem;font-weight:600;text-decoration:none;white-space:nowrap}
header.cms-header:not(#h3) nav.cms-nav--inline ul ul li > span{color:var(--v3-dim);font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding-block:8px 4px;cursor:default}
header.cms-header:not(#h3) nav.cms-nav--inline ul ul a:is(:hover,:focus-visible){color:var(--v3-ivory);background:rgb(255 255 255 / 5%)}
/* tools */
header.cms-header:not(#h3) .cms-header__tools{display:flex;align-items:center;gap:14px;margin-inline-start:0;flex-shrink:0}
header.cms-header:not(#h3) .cms-header__tools .cms-language-switcher button.sb-button.cms-language-switcher__toggle{display:inline-flex;align-items:center;gap:6px;min-block-size:40px;padding:0 4px;border:0 !important;border-radius:8px;background:none !important;box-shadow:none !important;color:var(--v3-dim) !important;font-size:.74rem;font-weight:700;cursor:pointer}
header.cms-header:not(#h3) .cms-header__tools .cms-language-switcher button.sb-button.cms-language-switcher__toggle:hover{color:var(--v3-ivory) !important;background:none !important}
header.cms-header:not(#h3) .cms-header__tools .cms-language-switcher .sb-button__content{display:inline-flex;align-items:center;gap:6px}
header.cms-header:not(#h3) .cms-header__tools .cms-language-switcher .sb-button__content svg{inline-size:16px;block-size:16px}
header.cms-header:not(#h3) .cms-header__tools .cms-language-switcher div.cms-language-switcher__panel[popover]{background:rgb(11 16 32 / 96%) !important;border:1px solid var(--v3-line) !important;border-radius:14px !important;box-shadow:0 22px 48px rgb(0 0 0 / 45%) !important}
/* sign in: plain text + arrow */
header.cms-header:not(#h3) .cms-header__tools a.cms-account-login,header.cms-header:not(#h3) .cms-header__tools a.cms-account-login.cms-account-login--signed-in{display:inline-flex;align-items:center;gap:8px;min-block-size:44px;padding:0;border:0 !important;border-radius:0 !important;background:none !important;box-shadow:none !important;filter:none;transform:none;color:var(--v3-ivory) !important;text-decoration:none}
header.cms-header:not(#h3) .cms-header__tools a.cms-account-login > svg{display:none}
header.cms-header:not(#h3) .cms-header__tools a.cms-account-login .cms-account-login__label{color:var(--v3-ivory) !important;font-size:.78rem;font-weight:800;white-space:nowrap}
header.cms-header:not(#h3) .cms-header__tools a.cms-account-login::after{content:"";inline-size:17px;block-size:17px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;transition:transform .2s cubic-bezier(.16,1,.3,1)}
[dir="rtl"] header.cms-header:not(#h3) .cms-header__tools a.cms-account-login::after,header.cms-header:not(#h3)[dir="rtl"] .cms-header__tools a.cms-account-login::after{transform:scaleX(-1)}
header.cms-header:not(#h3) .cms-header__tools a.cms-account-login:hover{filter:none;transform:none;box-shadow:none !important}
header.cms-header:not(#h3) .cms-header__tools a.cms-account-login:hover::after{transform:translateX(3px)}
[dir="rtl"] header.cms-header:not(#h3) .cms-header__tools a.cms-account-login:hover::after{transform:scaleX(-1) translateX(3px)}
header.cms-header:not(#h3) .cms-header__tools a.cms-account-login:focus-visible{outline:3px solid rgb(34 211 238 / 65%) !important;outline-offset:4px;border-radius:6px !important}
/* toggle (mobile copy) */
header.cms-header:not(#h3) details.cms-nav-toggle > summary.cms-nav-toggle__button{display:none;inline-size:44px;block-size:44px;align-items:center;justify-content:center;border:1px solid var(--v3-line);border-radius:11px;background:rgb(255 255 255 / 5%);color:var(--v3-ivory);list-style:none;cursor:pointer}
header.cms-header:not(#h3) details.cms-nav-toggle > nav.cms-nav{display:none}
@media (min-width:900px){
 header.cms-header:not(#h3) nav.cms-nav--inline{display:flex}
 header.cms-header:not(#h3) details.cms-nav-toggle{display:none}
}
@media (max-width:899.98px){
 header.cms-header:not(#h3) .cms-header__inner{min-block-size:64px;gap:12px}
 header.cms-header:not(#h3) nav.cms-nav--inline{display:none}
 header.cms-header:not(#h3) .cms-header__tools{margin-inline-start:auto;gap:8px}
 header.cms-header:not(#h3) details.cms-nav-toggle{display:block;order:3}
 header.cms-header:not(#h3) details.cms-nav-toggle > summary.cms-nav-toggle__button{display:inline-flex}
 header.cms-header:not(#h3) details.cms-nav-toggle[open] > nav.cms-nav{display:block;position:absolute;inset-inline:0;inset-block-start:100%;max-block-size:calc(100vh - 64px);overflow:auto;padding:12px 20px 20px;background:rgb(5 7 18 / 97%);border-bottom:1px solid var(--v3-line);box-shadow:0 22px 48px rgb(0 0 0 / 45%)}
 header.cms-header:not(#h3) details.cms-nav-toggle nav.cms-nav ul{display:grid;gap:2px;margin:0;padding:0;list-style:none}
 header.cms-header:not(#h3) details.cms-nav-toggle nav.cms-nav ul ul{padding-inline-start:14px;border-inline-start:1px solid var(--v3-line)}
 header.cms-header:not(#h3) details.cms-nav-toggle nav.cms-nav :is(a,span){display:flex;padding:11px 12px;border-radius:10px;background:none;box-shadow:none;color:var(--v3-muted);font-size:.95rem;font-weight:600;text-decoration:none}
 header.cms-header:not(#h3) details.cms-nav-toggle nav.cms-nav li > span{color:var(--v3-dim);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}
 header.cms-header:not(#h3) details.cms-nav-toggle nav.cms-nav a:hover{color:var(--v3-ivory);background:rgb(255 255 255 / 5%)}
 header.cms-header:not(#h3) a.cms-site-brand::after{font-size:.55rem}
}
@media (max-width:560px){
 header.cms-header:not(#h3) a.cms-site-brand::after{display:none}
 header.cms-header:not(#h3) a.cms-site-brand{grid-template-rows:auto}
 header.cms-header:not(#h3) a.cms-site-brand::before{grid-row:1}
 header.cms-header:not(#h3) a.cms-site-brand .cms-site-brand__name{grid-row:1 / 3;align-self:center}
 header.cms-header:not(#h3) a.cms-site-brand::before{grid-row:1 / 3}
 header.cms-header:not(#h3) .cms-header__tools .cms-language-switcher .cms-language-switcher__label{display:none !important}
}
@media (max-width:380px){ header.cms-header:not(#h3) a.cms-site-brand .cms-site-brand__name{display:none} }
@media (prefers-reduced-motion:reduce){ header.cms-header:not(#h3) *,header.cms-header:not(#h3) *::before,header.cms-header:not(#h3) *::after{transition:none !important} }
/* === end Header v3 === */

/* === Home header = blog header, 2026-10-15 === */
/* The home page loads the hero page CSS after this file. Its rules use
   ':where(html:has(.hero-scene), html.sufi-hero-page) .cms-header X:not(#sufi-hero)'
   (1 id). Every selector below carries 2 ids (:not(#hx):not(#hy)) so it wins
   on all pages; !important only where the hero or a component CSS uses it.
   Values = what /blog gets from the site CSS cascade (incl. Header v3). */

/* --- header bar (hero: position/padding/font-size/line-height/font) --- */
header.cms-header:not(#hx):not(#hy){position:sticky;inset-block-start:0;padding:16px 0;margin:0;font-size:15px;line-height:24px;font-family:Inter,"Segoe UI",Tahoma,Arial,sans-serif}
header.cms-header:not(#hx):not(#hy):is(:lang(fa),:lang(ar)){font-family:"Sufi Display",Vazirmatn,Tahoma,Arial,sans-serif}
header.cms-header:not(#hx):not(#hy) :is(.cms-header__inner,.cms-nav,.cms-menu,.cms-menu ul,.cms-menu li,.cms-menu a,.cms-menu span,.cms-header__tools,.cms-nav-toggle,.cms-nav-toggle>summary,.cms-language-switcher,.cms-language-switcher__toggle,.cms-language-switcher__toggle *,.cms-language-switcher__panel,.cms-language-switcher__panel *,.cms-account-login,.cms-account-login__label):is(:lang(fa),:lang(ar)){font-family:var(--sb-font-family-farsi)}

/* --- container / inner row (hero: width 100%-48px, min-height 74/68, gap, padding-block) --- */
header.cms-header:not(#hx):not(#hy) .cms-container.cms-header__inner{inline-size:min(calc(100% - 40px),1240px);width:min(calc(100% - 40px),1240px);max-inline-size:1240px;margin-inline:auto;padding:0;min-height:74px;min-block-size:74px;display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:30px;font-size:15px;line-height:24px}

/* --- brand (hero: gap 12px, font-weight 400, font) --- */
header.cms-header:not(#hx):not(#hy) a.cms-site-brand{gap:8px 12px;column-gap:12px;row-gap:8px;font-weight:700;flex-shrink:0;flex-grow:0;min-width:auto;overflow:visible;max-width:none;letter-spacing:-.02em}

/* --- inline nav: CULPRIT #1 (hero: display:none !important) --- */
header.cms-header:not(#hx):not(#hy) nav.cms-nav.cms-nav--inline{flex:1 1 auto;min-inline-size:0;margin:0;margin-inline-start:24px;padding:0;justify-content:center;font-size:15px;line-height:24px}
header.cms-header:not(#hx):not(#hy) nav.cms-nav--inline .cms-menu{display:block;margin:0;padding:0}
header.cms-header:not(#hx):not(#hy) nav.cms-nav--inline .cms-menu > ul{display:flex;flex-wrap:nowrap;align-items:stretch;justify-content:center;gap:4px;margin:0;padding:0;list-style:none}
header.cms-header:not(#hx):not(#hy) nav.cms-nav--inline li{position:relative;display:list-item;margin:0;padding:0;list-style:none}
header.cms-header:not(#hx):not(#hy) nav.cms-nav--inline .cms-menu > ul > li > :is(a,span){display:inline-flex;min-height:46px;gap:6px;padding:0 12px;line-height:19.968px;font-size:.78rem;font-weight:700}
header.cms-header:not(#hx):not(#hy) nav.cms-nav--inline .cms-menu > ul > li > :is(a,span)::after{inset-inline:12px;inset-block-end:3px;width:auto;height:1px;transform-origin:50% 50%}
header.cms-header:not(#hx):not(#hy) nav.cms-nav--inline .cms-menu > ul > li:has(> ul) > :is(a,span)::before{width:5px;height:5px;border:solid currentColor;border-width:0 1.5px 1.5px 0}
/* dropdown: hero uses opacity/visibility/transform; blog uses display none/flex */
header.cms-header:not(#hx):not(#hy) nav.cms-nav--inline ul ul{display:none;opacity:1;visibility:visible;transform:none;transition:none;min-width:230px;z-index:60;box-shadow:0 22px 48px rgb(0 0 0 / 45%)}
header.cms-header:not(#hx):not(#hy) nav.cms-nav--inline li:is(:hover,:focus-within) > ul{display:flex}
header.cms-header:not(#hx):not(#hy) nav.cms-nav--inline ul ul ul{position:static;display:flex;min-width:0;padding:0 0 4px;border:0;box-shadow:none;background:none}
header.cms-header:not(#hx):not(#hy) nav.cms-nav--inline ul ul li{display:list-item}
header.cms-header:not(#hx):not(#hy) nav.cms-nav--inline ul ul :is(a,span){display:flex;gap:6px;width:100%;min-height:0;padding:8px 10px;border-radius:9px;line-height:normal;position:static}
header.cms-header:not(#hx):not(#hy) nav.cms-nav--inline ul ul :is(a,span)::before,header.cms-header:not(#hx):not(#hy) nav.cms-nav--inline ul ul :is(a,span)::after{display:none}

/* --- tools: CULPRIT #2 (hero: flex 1 1 auto; margin-inline-start 0) --- */
header.cms-header:not(#hx):not(#hy) .cms-header__tools{flex:0 0 auto;min-width:auto;display:flex;flex-wrap:nowrap;align-items:center;gap:14px;margin-inline-start:auto;font-size:15px;line-height:24px}

/* --- toggle (hero: display flex, margin-inline auto, summary hidden, inner nav forced visible) --- */
header.cms-header:not(#hx):not(#hy) details.cms-nav-toggle{margin:0;min-width:auto;align-items:normal;order:0}
header.cms-header:not(#hx):not(#hy) details.cms-nav-toggle > nav.cms-nav{display:none}
header.cms-header:not(#hx):not(#hy) details.cms-nav-toggle > summary.cms-nav-toggle__button{display:none}
header.cms-header:not(#hx):not(#hy) details.cms-nav-toggle:not([open]) > summary .cms-nav-toggle__icon--open,header.cms-header:not(#hx):not(#hy) details.cms-nav-toggle[open] > summary .cms-nav-toggle__icon--closed{display:none}
header.cms-header:not(#hx):not(#hy) details.cms-nav-toggle nav.cms-nav .cms-menu > ul{gap:12px 16px;align-items:normal}
header.cms-header:not(#hx):not(#hy) details.cms-nav-toggle nav.cms-nav li{display:list-item}
header.cms-header:not(#hx):not(#hy) details.cms-nav-toggle nav.cms-nav :is(a,span){display:inline-flex;position:static;visibility:inherit;width:auto;min-height:0;padding-block:8px;gap:6px;border-radius:10px;font-size:15px;font-weight:600;line-height:24px;white-space:normal;color:rgb(168 178 199)}
header.cms-header:not(#hx):not(#hy) details.cms-nav-toggle nav.cms-nav li > span{font-weight:400}
header.cms-header:not(#hx):not(#hy) details.cms-nav-toggle nav.cms-nav ul ul{position:static;visibility:inherit;opacity:1;transform:none;min-width:0;padding:0;gap:8px;border:0;border-radius:0;background:none;box-shadow:none}

@media (min-width:900px){
 header.cms-header:not(#hx):not(#hy) nav.cms-nav.cms-nav--inline{display:flex !important}
 header.cms-header:not(#hx):not(#hy) details.cms-nav-toggle{display:none !important}
}
@media (max-width:899.98px){
 header.cms-header:not(#hx):not(#hy) .cms-container.cms-header__inner{min-height:64px;min-block-size:64px;gap:12px}
 header.cms-header:not(#hx):not(#hy) nav.cms-nav.cms-nav--inline{display:none !important}
 header.cms-header:not(#hx):not(#hy) .cms-header__tools{margin-inline-start:auto;gap:8px}
 header.cms-header:not(#hx):not(#hy) details.cms-nav-toggle{display:block;order:3}
 header.cms-header:not(#hx):not(#hy) details.cms-nav-toggle > summary.cms-nav-toggle__button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;inline-size:44px;block-size:44px;border-radius:11px}
 header.cms-header:not(#hx):not(#hy) details.cms-nav-toggle > summary .cms-nav-toggle__icon{width:22px;height:22px;inline-size:22px;block-size:22px;stroke-width:1.8}
 header.cms-header:not(#hx):not(#hy) details.cms-nav-toggle:not([open]) > summary .cms-nav-toggle__icon--open,header.cms-header:not(#hx):not(#hy) details.cms-nav-toggle[open] > summary .cms-nav-toggle__icon--closed{display:none}
 header.cms-header:not(#hx):not(#hy) details.cms-nav-toggle:not([open]) > summary .cms-nav-toggle__icon--closed,header.cms-header:not(#hx):not(#hy) details.cms-nav-toggle[open] > summary .cms-nav-toggle__icon--open{display:block}
 header.cms-header:not(#hx):not(#hy) details.cms-nav-toggle[open] > nav.cms-nav{display:block;position:absolute;inset-inline:0;inset-block-start:100%;max-block-size:calc(100vh - 64px);overflow:auto;padding:12px 20px 20px;border:0;border-bottom:1px solid var(--v3-line);border-radius:0;background:rgb(5 7 18 / 97%);box-shadow:0 22px 48px rgb(0 0 0 / 45%)}
 header.cms-header:not(#hx):not(#hy) details.cms-nav-toggle nav.cms-nav ul{display:grid;grid-template-columns:none;gap:2px;margin:0;padding:0;list-style:none;position:static;min-width:0;border:0;background:none;box-shadow:none;opacity:1;visibility:visible;transform:none}
 header.cms-header:not(#hx):not(#hy) details.cms-nav-toggle nav.cms-nav ul ul{padding:0;padding-inline-start:14px;border-inline-start:1px solid var(--v3-line)}
 header.cms-header:not(#hx):not(#hy) details.cms-nav-toggle nav.cms-nav li{display:list-item;position:relative;grid-column:auto}
 header.cms-header:not(#hx):not(#hy) details.cms-nav-toggle nav.cms-nav :is(a,span){display:flex;position:static;width:auto;min-height:0;gap:6px;padding:11px 12px;border-radius:10px;font-size:.95rem;font-weight:600;line-height:normal}
 header.cms-header:not(#hx):not(#hy) details.cms-nav-toggle nav.cms-nav :is(a,span)::before,header.cms-header:not(#hx):not(#hy) details.cms-nav-toggle nav.cms-nav :is(a,span)::after{display:none}
 header.cms-header:not(#hx):not(#hy) details.cms-nav-toggle nav.cms-nav li > span{font-size:.7rem}
}

/* --- language switcher, ALL pages: globe + full label (fixes 'zb' glyph on /blog) --- */
header.cms-header:not(#hx):not(#hy) .cms-language-switcher{display:inline-flex;flex:0 0 auto;align-items:center}
header.cms-header:not(#hx):not(#hy) .cms-language-switcher button.cms-language-switcher__toggle{display:inline-flex !important;align-items:center;justify-content:center;width:auto !important;inline-size:auto !important;min-width:0 !important;max-width:none !important;max-inline-size:none !important;height:40px;block-size:40px;margin:0;padding:0 4px !important;overflow:visible !important;gap:6px;font-size:.74rem;font-weight:700;line-height:1;white-space:nowrap}
header.cms-header:not(#hx):not(#hy) .cms-language-switcher .cms-language-switcher__toggle .sb-button__content{display:inline-flex !important;align-items:center;gap:6px;width:auto !important;max-width:none !important;overflow:visible !important;white-space:nowrap}
header.cms-header:not(#hx):not(#hy) .cms-language-switcher .cms-language-switcher__toggle svg{display:block !important;flex:0 0 16px;width:16px !important;height:16px !important;inline-size:16px !important;block-size:16px !important;min-width:16px;opacity:.8}
header.cms-header:not(#hx):not(#hy) .cms-language-switcher .cms-language-switcher__label{position:static !important;display:inline !important;width:auto !important;height:auto !important;inline-size:auto !important;block-size:auto !important;max-width:none !important;max-inline-size:none !important;margin:0 !important;padding:0 !important;overflow:visible !important;clip:auto !important;clip-path:none !important;white-space:nowrap !important;text-overflow:clip !important;line-height:1.2}

/* --- sign in, ALL pages: visible label + 17px arrow (component CSS hides the label) --- */
header.cms-header:not(#hx):not(#hy) .cms-header__tools a.cms-account-login{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:flex-start;gap:8px;width:auto !important;inline-size:auto !important;height:auto !important;block-size:auto !important;min-height:44px;max-width:none;margin:0;padding:0 !important;font-size:.78rem;font-weight:800;line-height:1.65}
header.cms-header:not(#hx):not(#hy) .cms-header__tools a.cms-account-login > svg{display:none !important}
header.cms-header:not(#hx):not(#hy) .cms-header__tools a.cms-account-login .cms-account-login__label{position:static !important;width:auto !important;height:auto !important;inline-size:auto !important;block-size:auto !important;margin:0 !important;overflow:visible !important;clip:auto !important;white-space:nowrap;font-size:.78rem;font-weight:800}
header.cms-header:not(#hx):not(#hy) .cms-header__tools a.cms-account-login::after{content:"";display:block;flex:0 0 17px;width:17px;height:17px;inline-size:17px;block-size:17px}
header.cms-header:not(#hx):not(#hy) .cms-language-switcher .cms-language-switcher__panel :is(a,[aria-current="true"]){min-height:0;align-items:normal;padding:8px 10px;font-size:15px;font-weight:600}
header.cms-header:not(#hx):not(#hy) a.cms-site-brand .cms-site-brand__name{overflow:visible;text-overflow:clip;max-width:none}
header.cms-header:not(#hx):not(#hy) nav.cms-nav--inline ul ul li > span{letter-spacing:.08em}
header.cms-header:not(#hx):not(#hy) .cms-language-switcher div.cms-language-switcher__panel{min-width:10rem;min-inline-size:10rem}

@media (max-width:560px){
 header.cms-header:not(#hx):not(#hy) .cms-container.cms-header__inner{gap:12px}
 header.cms-header:not(#hx):not(#hy) .cms-language-switcher .cms-language-switcher__label{display:none !important}
 header.cms-header:not(#hx):not(#hy) .cms-header__tools a.cms-account-login > svg{width:20px !important;height:20px !important}
 header.cms-header:not(#hx):not(#hy) .cms-header__tools a.cms-account-login .cms-account-login__label{position:absolute !important;width:1px !important;height:1px !important;margin:-1px !important;overflow:hidden !important;clip:rect(0,0,0,0) !important}
}
/* === end home override === */

/* === footer v2 === */
.sufi-footer .cms-footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:2rem;align-items:start}
.sufi-footer__col{display:flex;flex-direction:column;gap:.5rem}
.sufi-footer__col h4{margin:0 0 .25rem;font-size:.95rem;opacity:.9}
.sufi-footer__col a{opacity:.75;text-decoration:none;color:inherit}
.sufi-footer__col a:hover{opacity:1}
.sufi-footer [hidden],.sufi-footer .sufi-soon,#enamad-badge[hidden]{display:none!important}
@media(max-width:720px){.sufi-footer .cms-footer__grid{grid-template-columns:1fr 1fr}}
/* === end footer v2 === */

/* === footer v2b === */
footer.cms-footer.sufi-footer{display:block!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important}
footer.cms-footer.sufi-footer .cms-footer__grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) auto;gap:32px;padding-block-end:40px;text-align:start}
footer.cms-footer.sufi-footer .sufi-footer__col{display:flex;flex-direction:column;align-items:flex-start;text-align:start;gap:8px}
footer.cms-footer.sufi-footer .sufi-footer__col h4{margin:0 0 4px;color:var(--f-text,#e7eaf2);font-size:15px;font-weight:700}
footer.cms-footer.sufi-footer .sufi-soon,footer.cms-footer.sufi-footer #enamad-badge:empty{display:none!important}
footer.cms-footer.sufi-footer .cms-footer__bar{display:flex;justify-content:center;text-align:center}
@media(max-width:720px){footer.cms-footer.sufi-footer .cms-footer__grid{grid-template-columns:1fr 1fr}footer.cms-footer.sufi-footer .cms-stack{grid-column:1/-1}}
/* === end footer v2b === */

/* === footer v2c === */
footer.cms-footer.sufi-footer nav.sufi-footer__col:not(:has(a:not(.sufi-soon))){display:none!important}
footer.cms-footer.sufi-footer .cms-footer__grid{grid-template-columns:minmax(0,2fr) repeat(auto-fit,minmax(140px,1fr))}
[dir=ltr] footer.cms-footer.sufi-footer,[dir=ltr] footer.cms-footer.sufi-footer *{font-family:"Segoe UI",Inter,Roboto,Arial,sans-serif;font-variant-numeric:lining-nums}
footer.cms-footer.sufi-footer .cms-site-brand,footer.cms-footer.sufi-footer .cms-site-brand__name{color:#f7f8fc!important;opacity:1!important;font-weight:700;font-size:20px}
/* === end footer v2c === */

/* === footer v2d === */
footer.cms-footer.sufi-footer .sufi-footer__contact{display:flex;gap:10px;margin-top:6px}
footer.cms-footer.sufi-footer a.sufi-ico{display:inline-flex;align-items:center;justify-content:center;inline-size:38px;block-size:38px;border-radius:50%;border:1px solid rgb(168 178 199 / 30%);background:rgb(255 255 255 / 4%);transition:background .2s,border-color .2s}
footer.cms-footer.sufi-footer a.sufi-ico::before{content:"";inline-size:18px;block-size:18px;background:#e7eaf2;-webkit-mask:var(--ico) center/contain no-repeat;mask:var(--ico) center/contain no-repeat}
footer.cms-footer.sufi-footer a.sufi-ico:hover{background:linear-gradient(135deg,#22d3ee,#7c3aed);border-color:transparent}
footer.cms-footer.sufi-footer a.sufi-ico--tg{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21.9 4.3 18.7 19.4c-.2 1-.9 1.3-1.8.8l-4.9-3.6-2.4 2.3c-.3.3-.5.5-1 .5l.3-5 9.1-8.2c.4-.4-.1-.6-.6-.2L6.2 13l-4.8-1.5c-1-.3-1.1-1 .2-1.5L20.5 2.9c.9-.3 1.6.2 1.4 1.4z'/%3E%3C/svg%3E")}
footer.cms-footer.sufi-footer a.sufi-ico--mail{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h18a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1zm1 2.4V17h16V7.4l-8 5.3-8-5.3zM5.2 7l6.8 4.5L18.8 7H5.2z'/%3E%3C/svg%3E")}
/* === end footer v2d === */
/* home-fixes-2026-10-15 (append to Site CSS) */
/* 1: hero gap - page CSS pads hero 128px for an overlay header, but header is sticky (in flow) */
html body .hero-scene:not(#sufi-hero){padding-top:40px;min-height:calc(100svh - 107px)}
/* 2: Blazor FocusOnNavigate focuses h1 (tabindex=-1) on load; hide the ring on non-interactive h1 */
html body #main-content h1[tabindex="-1"]:focus,html body #main-content h1[tabindex="-1"]:focus-visible{outline:none!important;box-shadow:none!important}
/* mega-menu v1 2026-10-15 */
.cms-header .cms-nav--inline .cms-menu>ul>li>ul:has(>li>ul){display:grid!important;grid-template-columns:repeat(3,minmax(13rem,1fr));gap:4px 12px;width:46rem;inset-inline-start:50%!important;margin-inline-start:-23rem!important;padding:16px!important;flex-direction:row}
.cms-header .cms-nav--inline .cms-menu>ul>li>ul>li:has(>ul){display:block;min-width:0;background:none!important;box-shadow:none!important;border:0!important;padding:0!important}
.cms-header .cms-nav--inline .cms-menu>ul>li>ul>li>span{display:block!important;min-height:0!important;padding:4px 10px 8px!important;font-size:.72rem!important;font-weight:700;opacity:.6;text-transform:uppercase;letter-spacing:.04em;border-block-end:1px solid currentColor;border-color:rgb(127 127 127/.25);margin-block-end:6px;cursor:default}
.cms-header .cms-nav--inline .cms-menu>ul>li>ul>li>span::before,.cms-header .cms-nav--inline .cms-menu>ul>li>ul>li>span::after{display:none!important}
.cms-header .cms-nav--inline .cms-menu ul ul ul{position:static!important;display:flex!important;flex-direction:column;gap:2px;min-width:0!important;margin:0!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;opacity:1!important;visibility:visible!important;transform:none!important}
.cms-header .cms-menu ul ul ul a{display:flex!important;align-items:center;gap:10px;white-space:normal}
.cms-header .cms-menu ul ul ul a::before{content:""!important;display:block!important;position:static!important;flex:none;order:0!important;width:30px!important;height:30px!important;border-radius:8px;background:rgb(124 92 255/.14) var(--i) center/18px no-repeat!important;transform:none!important;border:0!important;opacity:1!important}
.cms-menu a[href$="/foundation"]{--i:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238b7bff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M12 3l9 5-9 5-9-5z'/><path d='M3 13l9 5 9-5'/></svg>")}
.cms-menu a[href$="/sufi-blazor"]{--i:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238b7bff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M13 2L4 14h7l-1 8 9-12h-7z'/></svg>")}
.cms-menu a[href$="/sufi-theme"]{--i:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238b7bff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><circle cx='8' cy='10' r='1.5'/><circle cx='12' cy='7' r='1.5'/><circle cx='16' cy='10' r='1.5'/></svg>")}
.cms-menu a[href$="/helpdesk"]{--i:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238b7bff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M4 14v-2a8 8 0 0116 0v2'/><rect x='3' y='14' width='4' height='6' rx='1'/><rect x='17' y='14' width='4' height='6' rx='1'/></svg>")}
.cms-menu a[href$="/hooshvares"],.cms-menu a[href$="/ai-infra"]{--i:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238b7bff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><rect x='5' y='7' width='14' height='12' rx='3'/><path d='M12 3v4M9 12h.01M15 12h.01M9 16h6'/></svg>")}
.cms-menu a[href$="/crm"]{--i:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238b7bff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><circle cx='9' cy='8' r='3'/><path d='M3 20c0-4 3-6 6-6s6 2 6 6M16 5a3 3 0 010 6M18 14c2 1 3 3 3 6'/></svg>")}
.cms-menu a[href$="/cms"]{--i:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238b7bff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='4' width='18' height='16' rx='2'/><path d='M3 9h18M8 13h8M8 16h5'/></svg>")}
.cms-menu a[href$="/communication"]{--i:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238b7bff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M4 5h16v11H9l-5 4z'/><path d='M8 10h8'/></svg>")}
.cms-menu a[href$="/forms"]{--i:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238b7bff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><rect x='5' y='3' width='14' height='18' rx='2'/><path d='M9 8h6M9 12h6M9 16h3'/></svg>")}
.cms-menu a[href$="/finance"]{--i:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238b7bff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='6' width='18' height='13' rx='2'/><path d='M3 10h18M16 15h2'/></svg>")}
.cms-menu a[href$="/sufi-cloud"]{--i:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238b7bff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M7 18a5 5 0 010-10 6 6 0 0111 2 4 4 0 010 8z'/></svg>")}
@media (max-width:900px){.cms-nav-toggle .cms-menu ul ul{display:grid!important;grid-template-columns:1fr;margin-inline-start:0!important;inset-inline-start:auto!important;gap:2px;position:static!important;opacity:1!important;visibility:visible!important;transform:none!important;width:auto!important}
.cms-nav-toggle .cms-menu ul ul>li>span{display:block;padding:10px 12px 4px!important;font-size:.72rem;opacity:.6}}
/* mega-menu fix: close when not hovered/focused */
.cms-header .cms-nav--inline .cms-menu>ul>li:not(:hover):not(:focus-within)>ul:has(>li>ul){display:none!important}
/* Shared product pages .sp (2026-10-15) */
/* SufiLabs shared product-landing styles (.sp) - Site CSS */
.sp{--v:#8b5cf6;--c:#22d3ee;--bg:#0b0b1a;--card:#14142b;--ln:rgba(255,255,255,.09);--t:#e8e8f5;--m:#a5a5c4;color:var(--t);background:var(--bg);font:16px/1.7 Inter,system-ui,sans-serif;overflow:hidden}
.sp[dir=rtl]{font-family:Vazirmatn,"Sufi Display",Tahoma,sans-serif}
.sp *{box-sizing:border-box}
.sp svg{direction:ltr}
.sp[dir=rtl] svg text{direction:rtl;unicode-bidi:embed}
.sp-w{max-width:1180px;margin:0 auto;padding:0 24px}
.sp-hero{position:relative;padding:72px 0 56px;background:radial-gradient(600px 380px at 85% 20%,rgba(139,92,246,.28),transparent 70%),radial-gradient(500px 300px at 10% 90%,rgba(34,211,238,.14),transparent 70%)}
.sp[dir=rtl] .sp-hero{background:radial-gradient(600px 380px at 15% 20%,rgba(139,92,246,.28),transparent 70%),radial-gradient(500px 300px at 90% 90%,rgba(34,211,238,.14),transparent 70%)}
.sp-hg{display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:center}
.sp-k{display:inline-flex;gap:8px;align-items:center;padding:5px 14px;border:1px solid rgba(139,92,246,.45);border-radius:99px;color:#c4b5fd;font-size:13px;background:rgba(139,92,246,.1)}
.sp h1{font-size:52px;line-height:1.12;margin:18px 0 18px;letter-spacing:-.02em}
.sp[dir=rtl] h1{letter-spacing:0;line-height:1.35;font-size:46px}
.sp-g{background:linear-gradient(90deg,#a78bfa,#22d3ee);-webkit-background-clip:text;background-clip:text;color:transparent}
.sp-lead{color:var(--m);font-size:18px;max-width:520px;margin:0 0 28px}
.sp-b{display:flex;gap:12px;flex-wrap:wrap}
.sp-btn{display:inline-block;padding:13px 24px;border-radius:12px;font-weight:600;text-decoration:none;color:#fff;background:linear-gradient(135deg,#7c3aed,#06b6d4);box-shadow:0 10px 30px -10px rgba(124,58,237,.8)}
.sp-btn2{background:transparent;border:1px solid var(--ln);box-shadow:none}
.sp-chips{display:flex;gap:18px;flex-wrap:wrap;margin-top:28px;color:var(--m);font-size:14px;padding:0;list-style:none}
.sp-chips li:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--c);margin-inline-end:8px;vertical-align:middle}
.sp-stats{border-block:1px solid var(--ln);background:linear-gradient(90deg,rgba(124,58,237,.12),rgba(6,182,212,.08))}
.sp-sg{display:grid;grid-template-columns:repeat(4,1fr);margin:0;padding:0;list-style:none}
.sp-sg li{padding:30px 20px;text-align:center;border-inline-start:1px solid var(--ln)}
.sp-sg li:first-child{border:0}
.sp-n{display:block;font-size:44px;font-weight:800;line-height:1.1}
.sp-l{color:var(--m);font-size:14px}
.sp-f{padding:88px 0 8px}
.sp-row{display:grid;grid-template-columns:1fr 1.15fr;gap:56px;align-items:center;margin-bottom:96px}
.sp-flip .sp-tx{order:2}
.sp-ic{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(139,92,246,.25),rgba(34,211,238,.18));border:1px solid rgba(139,92,246,.4)}
.sp-num{color:var(--c);font-size:13px;font-weight:700;letter-spacing:.12em;margin:18px 0 4px}
.sp h2{font-size:34px;line-height:1.25;margin:0 0 14px}
.sp-tx p{color:var(--m);margin:0 0 18px}
.sp-ck{list-style:none;padding:0;margin:0}
.sp-ck li{position:relative;padding-inline-start:30px;margin:9px 0}
.sp-ck li:before{content:"";position:absolute;inset-inline-start:0;top:6px;width:18px;height:18px;border-radius:6px;background:rgba(34,211,238,.15) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' stroke='%2322d3ee' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") center/14px no-repeat}
.sp-md{position:relative}
.sp-shot{border-radius:16px;border:1px solid var(--ln);background:var(--card);padding:10px;box-shadow:0 40px 80px -30px rgba(124,58,237,.55)}
.sp-shot:before{content:"";display:block;height:14px;margin:0 0 8px 4px;background:radial-gradient(circle,#f87171 4px,transparent 5px) 0 50%/16px 14px no-repeat,radial-gradient(circle,#fbbf24 4px,transparent 5px) 16px 50%/16px 14px no-repeat,radial-gradient(circle,#34d399 4px,transparent 5px) 32px 50%/16px 14px no-repeat}
.sp-shot img{display:block;width:100%;border-radius:8px}
.sp-vid{position:absolute;inset-inline-end:-18px;bottom:-30px;display:flex;gap:12px;align-items:center;padding:12px 18px 12px 12px;border-radius:14px;background:rgba(20,20,43,.92);border:1px solid rgba(34,211,238,.35);backdrop-filter:blur(6px);color:var(--t);font-size:14px;text-decoration:none}
.sp-vid b{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#7c3aed,#06b6d4)}
.sp-vid small{display:block;color:var(--m);font-size:12px}
.sp-sec{padding:96px 0}
.sp-hd{text-align:center;max-width:720px;margin:0 auto 56px}
.sp-hd p{color:var(--m);margin:0}
.sp-wf{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;list-style:none;padding:0;margin:0;position:relative}
.sp-wf:before{content:"";position:absolute;top:44px;inset-inline:10%;border-top:2px dashed rgba(167,139,250,.45)}
.sp-wf li{position:relative;text-align:center;padding:0 6px}
.sp-wf i{display:grid;place-items:center;width:88px;height:88px;margin:0 auto 18px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#2a2560,#14142b);border:2px solid rgba(139,92,246,.55);box-shadow:0 0 0 8px rgba(139,92,246,.08),0 20px 40px -16px rgba(34,211,238,.5)}
.sp-wf b{display:block;font-size:17px;margin-bottom:6px}
.sp-wf span{color:var(--m);font-size:14px}
.sp-wf em{position:absolute;top:0;inset-inline-start:calc(50% + 26px);font-style:normal;font-size:12px;font-weight:700;color:#0b0b1a;background:var(--c);border-radius:99px;padding:1px 8px}
.sp-ill{border-radius:16px;border:1px solid var(--ln);background:var(--card);padding:10px;box-shadow:0 40px 80px -30px rgba(124,58,237,.55)}
.sp-ill svg{display:block;width:100%;height:auto}
.sp-beta{display:inline-block;margin-inline-start:8px;padding:1px 10px;border-radius:99px;font-size:12px;vertical-align:middle;color:#fbbf24;border:1px solid rgba(251,191,36,.5)}
.sp-all{background:linear-gradient(180deg,transparent,rgba(124,58,237,.08))}
.sp-mx{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 28px;list-style:none;padding:0;margin:0}
.sp-mx li{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--ln);font-size:15px}
.sp-mx svg{flex:none;margin-top:3px}
.sp-mx small{display:block;color:var(--m);font-size:13px}
.sp-fq{max-width:820px;margin:0 auto}
.sp-fq details{border:1px solid var(--ln);border-radius:14px;margin:0 0 12px;background:var(--card)}
.sp-fq summary{cursor:pointer;list-style:none;padding:18px 22px;font-weight:600;display:flex;justify-content:space-between;gap:16px}
.sp-fq summary::-webkit-details-marker{display:none}
.sp-fq summary:after{content:"+";color:var(--c);font-size:22px;line-height:1}
.sp-fq details[open] summary:after{content:"-"}
.sp-fq details p{margin:0;padding:0 22px 20px;color:var(--m)}
.sp-lc{display:grid;grid-template-columns:auto 1fr auto auto;gap:32px;align-items:center;padding:32px 36px;border-radius:20px;border:1px solid rgba(139,92,246,.35);background:linear-gradient(135deg,rgba(139,92,246,.12),rgba(6,182,212,.06))}
.sp-lc h2{font-size:24px;margin:0 0 6px}
.sp-lc p{margin:0;color:var(--m)}
.sp-lc .sp-n{font-size:38px}
.sp-cta{position:relative;text-align:center;padding:72px 24px;border-radius:28px;overflow:hidden;background:radial-gradient(500px 260px at 50% 0,rgba(139,92,246,.55),transparent 70%),linear-gradient(135deg,#1e1b4b,#0c2b3a);border:1px solid rgba(139,92,246,.45);box-shadow:0 0 120px -30px rgba(139,92,246,.8)}
.sp-cta h2{font-size:38px}
.sp-cta p{color:#c7c7e0;margin:0 auto 28px;max-width:560px}
.sp-cta .sp-b{justify-content:center}
@media (max-width:860px){.sp-hg,.sp-row{grid-template-columns:1fr;gap:32px}.sp-flip .sp-tx{order:0}.sp h1,.sp[dir=rtl] h1{font-size:34px}.sp h2,.sp-cta h2{font-size:26px}.sp-hero{padding:40px 0}.sp-sg{grid-template-columns:repeat(2,1fr)}.sp-sg li:nth-child(3){border:0}.sp-sg li{border-bottom:1px solid var(--ln)}.sp-n{font-size:36px}.sp-row{margin-bottom:72px}.sp-f{padding-top:56px}.sp-vid{inset-inline-end:8px;bottom:-24px}.sp-sec{padding:64px 0}.sp-wf{grid-template-columns:1fr;gap:26px}.sp-wf:before{top:20px;bottom:20px;inset-inline:44px auto;border-top:0;border-inline-start:2px dashed rgba(167,139,250,.45)}.sp-wf li{display:grid;grid-template-columns:88px 1fr;column-gap:18px;text-align:start;padding:0}.sp-wf i{grid-row:span 2;margin:0}.sp-wf b{align-self:end}.sp-wf em{inset-inline-start:62px}.sp-mx{grid-template-columns:1fr}.sp-lc{grid-template-columns:1fr 1fr;gap:20px;padding:24px}.sp-lc>div:first-child,.sp-lc>div:nth-child(2){grid-column:1/-1}.sp-cta{padding:48px 20px}}
.sp a.sp-btn,.sp a.sp-btn:hover{color:#fff}
.sp .sp-w.sp-sg{margin:0 auto;padding:0 24px}
.sp .sp-stats{position:relative;z-index:1;background:linear-gradient(90deg,rgba(124,58,237,.12),rgba(6,182,212,.08)),#0d0d20}
.cms-site>.cms-footer.sufi-footer{left:auto;right:auto}
/* mega-menu coming-soon v2 2026-10-15: real URLs; sufi-cloud keyed on /p/sufi-cloud; new items #soon-stay|care|shop. fa labels: سکوی ابری, سکوی اقامت, سکوی سلامت, سکوی فروشگاه */
.cms-menu a[href*="#soon-stay"]{--i:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238b7bff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M3 18V6M3 14h18v4M21 14v-2a3 3 0 00-3-3h-7v5'/><circle cx='7' cy='11' r='2'/></svg>")}
.cms-menu a[href*="#soon-care"]{--i:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238b7bff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M20.5 8.5A4.5 4.5 0 0012 6a4.5 4.5 0 00-8.5 2.5c0 1 .2 1.9.6 2.5'/><path d='M3 12h4l2-3 3 6 2-3h7'/><path d='M6 15l6 5 6-5'/></svg>")}
.cms-menu a[href*="#soon-shop"]{--i:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238b7bff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><circle cx='9' cy='20' r='1.5'/><circle cx='18' cy='20' r='1.5'/><path d='M2 3h3l2.5 12h11.5l2-8H6'/></svg>")}
.cms-menu a[href*="#soon-"],.cms-menu a[href$="/p/sufi-cloud"]{pointer-events:none;cursor:default;opacity:.55;filter:grayscale(1)}
.cms-menu li:has(>a[href*="#soon-"]),.cms-menu li:has(>a[href$="/p/sufi-cloud"]){cursor:not-allowed}
.cms-menu a[href*="#soon-"]::after,.cms-menu a[href$="/p/sufi-cloud"]::after{content:"Coming soon"!important;display:inline-block!important;position:static!important;margin-inline-start:auto;width:auto!important;height:auto!important;inset:auto!important;padding:2px 8px!important;border-radius:999px!important;font-size:.66rem;font-weight:600;line-height:1.5;white-space:nowrap;background:rgb(127 127 127/.18) none!important;box-shadow:none!important;color:inherit!important;border:0!important;transform:none!important;opacity:1!important}
.cms-site:lang(fa) .cms-menu a[href*="#soon-"]::after,.cms-site:lang(fa) .cms-menu a[href$="/p/sufi-cloud"]::after{content:"\0628\0647\200C\0632\0648\062F\06CC"!important}
.cms-site:lang(ar) .cms-menu a[href*="#soon-"]::after,.cms-site:lang(ar) .cms-menu a[href$="/p/sufi-cloud"]::after{content:"\0642\0631\064A\0628\0627\064B"!important}
.cms-site:lang(es) .cms-menu a[href*="#soon-"]::after,.cms-site:lang(es) .cms-menu a[href$="/p/sufi-cloud"]::after{content:"Pr\00F3ximamente"!important}
html:has(.sp), html:has(.sp) body, .cms-site:has(.sp) { background: #050712; }
html header.cms-header:not(#h3){background:#050712}