/* Sahtain Harmony section — matched to sahtain.sa (#harmony)
   Use px (Zid root font is often ~12px). */

:root {
  --sahtain-cyan: #8dd7ff;
  --sahtain-muted: #6c8198;
}

.sahtain-harmony,
.sahtain-harmony *,
.sahtain-harmony *::before,
.sahtain-harmony *::after {
  box-sizing: border-box;
}

.sahtain-harmony {
  position: relative;
  min-height: 100svh;
  overflow: hidden;
  isolation: isolate;
  background: #05090f;
  color: #fff;
  font-family: inherit;
  font-size: 16px;
  font-weight: 400;
  width: 100%;
  max-width: none;
}

.harmony-bg {
  position: absolute;
  inset: 0;
  z-index: -8;
  background-color: #05090f;
  background-image: var(--harmony-bg-desktop, none);
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  transform: scale(1.01);
  transform-origin: center center;
}

.sahtain-harmony.is-empty-bg .harmony-bg {
  background-image: none;
}

.harmony-overlay {
  position: absolute;
  inset: 0;
  z-index: -6;
  pointer-events: none;
  background:
    radial-gradient(circle at 78% 45%, rgba(83, 167, 226, 0.08), transparent 432px),
    linear-gradient(
      90deg,
      rgba(3, 8, 14, 0.95) 0%,
      rgba(3, 8, 14, 0.84) 28%,
      rgba(3, 8, 14, 0.55) 45%,
      rgba(3, 8, 14, 0.14) 67%,
      rgba(3, 8, 14, 0) 100%
    ),
    linear-gradient(rgba(3, 8, 14, 0.04) 0%, rgba(3, 8, 14, 0.02) 62%, rgba(3, 8, 14, 0.46) 100%);
}

.harmony-grain {
  position: absolute;
  inset: 0;
  z-index: -4;
  opacity: 0.022;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.85'/%3E%3C/svg%3E");
}

.harmony-shell {
  width: min(1420px, calc(100% - 64px));
  min-height: 100svh;
  margin: auto;
  position: relative;
}

.harmony-copy {
  position: absolute;
  left: 0;
  right: auto;
  top: 50%;
  transform: translateY(-50%);
  width: min(620px, 43vw);
  text-align: right;
  direction: rtl;
  z-index: 4;
}

.harmony-kicker {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 13.12px;
  font-weight: 900;
}

.harmony-kicker::before {
  content: "";
  width: 48px;
  height: 1px;
  background: currentColor;
  opacity: 0.72;
  flex: 0 0 auto;
}

.harmony-title {
  margin: 0;
  direction: ltr;
  text-align: right;
  font-family: Arial, sans-serif;
  font-weight: 900;
  font-size: clamp(83.2px, 8.3vw, 160px);
  line-height: 0.84;
  letter-spacing: -0.065em;
  color: #fff;
  text-shadow: 0 18px 50px rgba(0, 0, 0, 0.22);
}

.harmony-tagline {
  margin: 24px 0 0;
  font-size: clamp(21.6px, 2vw, 32px);
  font-weight: 900;
  color: #fff;
}

.harmony-desc {
  max-width: 45ch;
  margin: 18px 0 0;
  color: var(--sahtain-muted, #6c8198);
  font-size: clamp(15.68px, 1.14vw, 17.6px);
  line-height: 1.95;
}

.harmony-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 28px;
}

.harmony-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  padding: 0 14px;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.043);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  color: rgba(255, 255, 255, 0.78);
  font-size: 11.52px;
  font-weight: 700;
}

.harmony-chip i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--sahtain-cyan, #8dd7ff);
  box-shadow: 0 0 0 5px rgba(121, 215, 255, 0.06);
  flex: 0 0 auto;
}

.harmony-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 32px;
}

.harmony-btn {
  min-height: 50px;
  padding: 0 21px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-decoration: none;
  font-weight: 900;
  font-size: 16px;
  transition: transform 0.22s ease, background 0.22s ease, border-color 0.22s ease;
}

.harmony-btn.primary {
  background: #fff;
  color: #08111d;
}

.harmony-btn.secondary {
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: rgba(255, 255, 255, 0.043);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.harmony-btn:hover {
  transform: translateY(-2px);
}

.harmony-tech {
  margin-top: 32px;
  color: rgba(255, 255, 255, 0.28);
  font-family: Arial, sans-serif;
  font-weight: 700;
  font-size: 10.56px;
  line-height: 1;
  letter-spacing: 0.18em;
  direction: ltr;
  text-align: right;
}

.harmony-side-mark {
  position: absolute;
  left: 2.5%;
  bottom: 7%;
  writing-mode: vertical-rl;
  color: rgba(255, 255, 255, 0.23);
  font-family: Arial, sans-serif;
  font-weight: 700;
  font-size: 10.4px;
  line-height: 1;
  letter-spacing: 0.18em;
  direction: ltr;
  transform: translateY(12px);
}

.harmony-copy,
.harmony-side-mark {
  opacity: 0;
}

.sahtain-harmony.is-visible .harmony-copy {
  animation: sahtainHarmonyReveal 0.82s cubic-bezier(0.2, 0.78, 0.2, 1) forwards;
}

.sahtain-harmony.is-visible .harmony-side-mark {
  animation: sahtainHarmonyMarkReveal 0.5s ease-out 0.22s forwards;
}

@keyframes sahtainHarmonyReveal {
  from {
    opacity: 0;
    transform: translateY(calc(-50% + 28px));
  }
  to {
    opacity: 1;
    transform: translateY(-50%);
  }
}

@keyframes sahtainHarmonyMarkReveal {
  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes sahtainHarmonyMobileReveal {
  from {
    opacity: 0;
    transform: translateY(22px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

/* EN / LTR */
.sahtain-harmony.is-ltr .harmony-copy {
  direction: ltr !important;
  text-align: left !important;
}

.sahtain-harmony.is-ltr .harmony-title {
  text-align: left !important;
}

.sahtain-harmony.is-ltr .harmony-tagline,
.sahtain-harmony.is-ltr .harmony-desc {
  text-align: left !important;
}

.sahtain-harmony.is-ltr .harmony-chips {
  justify-content: flex-start !important;
  direction: ltr !important;
}

.sahtain-harmony.is-ltr .harmony-actions {
  justify-content: flex-start !important;
  direction: ltr !important;
}

.sahtain-harmony.is-ltr .harmony-tech {
  text-align: left !important;
}

@media (max-width: 700px) {
  .sahtain-harmony {
    min-height: auto;
    padding-bottom: 52px;
    background: #05090f;
  }

  .harmony-bg {
    inset: 0 0 auto;
    height: 58svh;
    min-height: 420px;
    background-image: var(--harmony-bg-mobile, var(--harmony-bg-desktop, none));
    background-size: cover;
    background-position: 72% center;
    transform: none;
  }

  .harmony-overlay {
    background: linear-gradient(
      rgba(3, 8, 14, 0) 0%,
      rgba(3, 8, 14, 0.02) 47%,
      rgba(3, 8, 14, 0.5) 62%,
      rgba(3, 8, 14, 0.92) 76%,
      #05090f 100%
    );
  }

  .harmony-shell {
    width: min(calc(100% - 24px), 760px);
    min-height: auto;
    padding-top: calc(34px + 58svh);
  }

  .harmony-copy {
    position: relative;
    left: auto;
    right: auto;
    top: auto;
    width: 100%;
    transform: none;
    text-align: center;
    padding: 0 8px;
  }

  .sahtain-harmony.is-visible .harmony-copy {
    animation: sahtainHarmonyMobileReveal 0.72s cubic-bezier(0.2, 0.78, 0.2, 1) forwards;
  }

  .harmony-kicker {
    justify-content: center;
    font-size: 12.16px;
  }

  .harmony-title {
    text-align: center;
    font-size: clamp(70.4px, 19vw, 102.4px);
  }

  .harmony-tagline {
    font-size: 23.2px;
  }

  .harmony-desc {
    max-width: 31ch;
    margin: 16px auto 0;
    font-size: 14.72px;
    line-height: 1.8;
  }

  .harmony-chips,
  .harmony-actions {
    justify-content: center;
  }

  .harmony-btn {
    flex: 1 1 145px;
  }

  .harmony-tech {
    text-align: center;
    font-size: 9.12px;
  }

  .harmony-side-mark {
    display: none;
  }

  .sahtain-harmony.is-ltr .harmony-copy {
    text-align: center !important;
  }

  .sahtain-harmony.is-ltr .harmony-title,
  .sahtain-harmony.is-ltr .harmony-tagline,
  .sahtain-harmony.is-ltr .harmony-desc,
  .sahtain-harmony.is-ltr .harmony-tech {
    text-align: center !important;
  }

  .sahtain-harmony.is-ltr .harmony-chips,
  .sahtain-harmony.is-ltr .harmony-actions {
    justify-content: center !important;
  }
}

@media (max-width: 430px) {
  .harmony-bg {
    height: 56svh;
    min-height: 400px;
    background-position: 74% center;
  }

  .harmony-shell {
    padding-top: calc(30px + 56svh);
  }
}

@media (prefers-reduced-motion: reduce) {
  .sahtain-harmony .harmony-copy,
  .sahtain-harmony .harmony-side-mark {
    opacity: 1 !important;
    animation: none !important;
  }

  .sahtain-harmony .harmony-copy {
    transform: translateY(-50%) !important;
  }

  .sahtain-harmony .harmony-btn {
    transition: none !important;
  }

  @media (max-width: 700px) {
    .sahtain-harmony .harmony-copy {
      transform: none !important;
    }
  }
}
