/* صفحه آغازین عمومی (/welcome) — فقط همین صفحه این فایل را بار می‌کند.
   رنگ‌ها همان رنگ‌های برند در base.css؛ این‌جا فقط نشانه‌های ویژه صفحه، چیدمان و حرکت‌ها است.
   تنها حرکت خودکار: سوار شدن پرهای شمسه و بالا آمدن سطرهای تیتر هنگام باز شدن صفحه. */

:root {
  --ld-night: #141C4F;
  --ld-panel: #141C4F;
  --ld-turq-hi: #3FD0CF;
  --ld-ink-lapis: var(--sa-lapis);
  --ld-ink-turq: #0B7F80;
  --ld-ink-saffron: var(--sa-saffron-deep);
  --ld-ink-pist: #3F7F21;
  --ld-wrap: 1180px;
  --ld-gutter: 16px;
  /* بلندی نوار بالا به‌علاوه نوار وضعیت گوشی در برنامه نصب‌شده (iOS با black-translucent زیر نوار وضعیت می‌کشد) */
  --ld-bar-h: 64px;
  --ld-top-h: calc(var(--ld-bar-h) + var(--sa-safe-t));
  --ld-ease: cubic-bezier(.2, .8, .2, 1);
  --ld-fs-display: clamp(2.1rem, 1.05rem + 4.4vw, 4.1rem);
  --ld-fs-h2: clamp(1.6rem, 1.15rem + 1.9vw, 2.45rem);
  --ld-fs-h3: clamp(1.12rem, 1.04rem + .35vw, 1.32rem);
  --ld-fs-lead: clamp(1.02rem, .97rem + .28vw, 1.17rem);
  --ld-star-path: polygon(50% 4%, 63.47% 17.48%, 82.53% 17.47%, 82.52% 36.53%, 96% 50%, 82.52% 63.47%, 82.53% 82.53%, 63.47% 82.52%, 50% 96%, 36.53% 82.52%, 17.47% 82.53%, 17.48% 63.47%, 4% 50%, 17.48% 36.53%, 17.47% 17.47%, 36.53% 17.48%);
}

/* حالت تیره: مثل base.css، انتخاب کاربر (data-theme) بر حالت سیستم مقدم است */
html[data-theme="dark"] {
  --ld-panel: #1E2870;
  --ld-ink-lapis: #B3BDFF;
  --ld-ink-turq: #5FD9D8;
  --ld-ink-saffron: #FFA552;
  --ld-ink-pist: #93D46F;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --ld-panel: #1E2870;
    --ld-ink-lapis: #B3BDFF;
    --ld-ink-turq: #5FD9D8;
    --ld-ink-saffron: #FFA552;
    --ld-ink-pist: #93D46F;
  }
}

@media (min-width: 768px) {
  :root { --ld-gutter: 28px; --ld-bar-h: 72px; }
}

html { scroll-behavior: smooth; scroll-padding-top: calc(var(--ld-top-h) + 12px); }
body { line-height: 1.9; overflow-x: clip; }
html.ld-lock body { overflow: hidden; }
@media (min-width: 1024px) { body { font-size: 1.0625rem; } }

.ld-wrap { width: min(100% - 2 * var(--ld-gutter), var(--ld-wrap)); margin-inline: auto; }
.ld-sr { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
[tabindex="-1"]:focus { outline: none; }

.ld-skip {
  position: fixed; top: 8px; inset-inline-start: 8px; z-index: 100;
  padding: 10px 16px; border-radius: 12px;
  background: var(--sa-saffron); color: var(--ld-night); font-weight: 700; text-decoration: none;
  transform: translateY(-160%); transition: transform .2s var(--ld-ease);
}
.ld-skip:focus { transform: none; }

.ld-hero :focus-visible,
.ld-start :focus-visible,
.ld-foot :focus-visible,
.ld-case :focus-visible,
.ld-top:not(.is-solid) :focus-visible { outline-color: var(--ld-turq-hi); }

/* ── دکمه‌ها و پیوندها ── */
.ld-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 44px; padding: 0 20px; border: 0; border-radius: 14px;
  font: inherit; font-size: .97rem; font-weight: 700; line-height: 1.4; white-space: nowrap;
  text-decoration: none; cursor: pointer;
  transition: transform .15s var(--ld-ease), background-color .2s, box-shadow .2s, color .2s;
}
.ld-btn:active { transform: translateY(1px) scale(.985); }
.ld-btn:disabled { opacity: .7; cursor: progress; }
/* متن لاجوردی روی زعفرانی: تضاد بالای ۶ به ۱ */
.ld-btn-primary { background: var(--sa-saffron); color: var(--ld-night); box-shadow: 0 8px 20px -10px rgba(255, 122, 0, .7); }
.ld-btn-primary:hover { background: #FF8A1F; }
.ld-btn-ghost { background: transparent; color: var(--ld-ink-lapis); box-shadow: inset 0 0 0 1.5px currentColor; }
.ld-btn-ghost:hover { background: var(--sa-lapis-soft); }
.ld-btn-lg { min-height: 54px; padding: 0 28px; border-radius: 16px; font-size: 1.04rem; }
.ld-btn-block { width: 100%; }

.ld-link {
  display: inline-flex; align-items: center; gap: 6px; padding-bottom: 2px;
  font-weight: 700; color: var(--ld-ink-lapis); text-decoration: none;
  background: linear-gradient(currentColor, currentColor) 100% 100% / 0 1.5px no-repeat;
  transition: background-size .3s var(--ld-ease);
}
.ld-link:hover, .ld-link:focus-visible { background-size: 100% 1.5px; }
.ld-hero .ld-link, .ld-link-light { color: var(--ld-turq-hi); }

/* ── سرصفحه ── */
.ld-top {
  position: fixed; inset: 0 0 auto; z-index: 50; height: var(--ld-top-h);
  box-sizing: border-box; padding-top: var(--sa-safe-t);
  color: #fff; transition: background-color .3s, color .3s, box-shadow .3s;
}
.ld-top.is-scrolled { background: rgba(20, 28, 79, .78); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
.ld-top.is-solid, .ld-top.is-menu {
  background: var(--sa-surface); color: var(--sa-ink); box-shadow: 0 1px 0 var(--sa-line-strong);
}
@supports (background: color-mix(in srgb, red, blue)) {
  .ld-top.is-solid { background: color-mix(in srgb, var(--sa-surface) 88%, transparent); -webkit-backdrop-filter: blur(16px) saturate(1.4); backdrop-filter: blur(16px) saturate(1.4); }
}
.ld-top-in { display: flex; align-items: center; gap: 20px; height: 100%; }
.ld-brand {
  display: inline-flex; align-items: center; gap: 10px; flex: none;
  font-family: 'IRANSans', var(--sa-font); font-weight: 700; font-size: 1.14rem;
  color: inherit; text-decoration: none;
}
.ld-nav { display: none; gap: 2px; }
.ld-nav a {
  position: relative; padding: 8px 12px; border-radius: 10px;
  font-size: .94rem; font-weight: 500; color: inherit; text-decoration: none; opacity: .8;
  transition: opacity .2s, background-color .2s;
}
.ld-nav a:hover { opacity: 1; background: rgba(127, 140, 200, .12); }
.ld-nav a.is-active { opacity: 1; }
.ld-nav a.is-active::after {
  content: ""; position: absolute; inset-inline: 12px; bottom: 2px; height: 2px; border-radius: 2px; background: var(--sa-saffron);
}
.ld-top-cta { display: flex; align-items: center; gap: 6px; margin-inline-start: auto; }
.ld-top-cta .ld-btn { min-height: 40px; padding: 0 16px; font-size: .92rem; }
.ld-top-login {
  display: none; padding: 8px 14px; border-radius: 10px;
  font-weight: 500; font-size: .94rem; color: inherit; text-decoration: none;
}
.ld-top-login:hover { background: rgba(127, 140, 200, .12); }

.ld-burger {
  display: inline-grid; place-content: center; gap: 5px; flex: none;
  width: 44px; height: 44px; padding: 0; border: 0; border-radius: 12px;
  background: transparent; color: inherit; cursor: pointer;
}
.ld-burger span { display: block; width: 20px; height: 2px; border-radius: 2px; background: currentColor; transition: transform .3s var(--ld-ease), opacity .2s; }
.ld-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.ld-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.ld-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.ld-menu {
  position: fixed; inset: var(--ld-top-h) 0 auto; max-height: calc(100vh - var(--ld-top-h)); max-height: calc(100dvh - var(--ld-top-h)); overflow-y: auto;
  padding: 8px var(--ld-gutter) calc(24px + var(--sa-safe-b));
  background: var(--sa-surface); color: var(--sa-ink);
  box-shadow: 0 24px 40px -24px rgba(20, 28, 79, .45);
  display: grid; gap: 10px;
  opacity: 0; transform: translateY(-8px); transition: opacity .22s, transform .3s var(--ld-ease);
}
.ld-menu.is-open { opacity: 1; transform: none; }
/* display: grid بالا ویژگی hidden را بی‌اثر می‌کند */
.ld-menu[hidden], .ld-aud[hidden] { display: none; }
.ld-menu nav { display: grid; margin-bottom: 8px; }
.ld-menu nav a {
  padding: 14px 4px; border-bottom: 1px solid var(--sa-line);
  font-size: 1.1rem; font-weight: 500; color: inherit; text-decoration: none;
}

@media (min-width: 480px) {
  .ld-top-login { display: inline-block; }
}
@media (min-width: 1024px) {
  .ld-nav { display: flex; }
  .ld-burger, .ld-menu { display: none; }
}

/* ── سرآغاز ── */
.ld-hero {
  position: relative; isolation: isolate; overflow: clip;
  padding: calc(var(--ld-top-h) + 24px) 0 52px;
  background: var(--ld-night); color: #fff;
}
.ld-hero::before {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background: var(--sa-girih); background-size: 72px; opacity: .6;
  -webkit-mask-image: radial-gradient(110% 80% at 25% 45%, #000 15%, transparent 72%);
  mask-image: radial-gradient(110% 80% at 25% 45%, #000 15%, transparent 72%);
}
.ld-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; }

.ld-h1 { margin: 0 0 18px; font-size: var(--ld-fs-display); font-weight: 700; line-height: 1.34; }
.ld-line { display: block; }
.ld-line > span { display: inline-block; }
.ld-lead {
  max-width: 36em; margin: 0 0 26px;
  font-size: var(--ld-fs-lead); font-weight: 300; line-height: 2.05; color: rgba(255, 255, 255, .8);
}
.ld-note { margin: 12px 4px 0; font-size: .88rem; color: rgba(255, 255, 255, .62); }

/* شمسه و پرهای گرداگردش */
.ld-hero-art { position: relative; }
.ld-hero-art::before {
  content: ""; position: absolute; z-index: -1; inset: 4% 12% auto; aspect-ratio: 1;
  background: radial-gradient(closest-side, rgba(15, 158, 158, .32), transparent);
}
.ld-orbit { position: relative; width: 100%; }
.ld-star {
  display: block; width: min(76%, 300px); height: auto; aspect-ratio: 1; margin: 4px auto 18px; overflow: visible;
  filter: drop-shadow(0 22px 36px rgba(0, 0, 0, .38));
  transition: transform .6s var(--ld-ease);
}
.ld-star-ring { fill: none; stroke: rgba(63, 208, 207, .38); stroke-width: .35; stroke-dasharray: 1 2.2; }
.ld-star-hub { fill: #fff; }
.ld-star-dot { fill: var(--ld-night); transform-box: fill-box; transform-origin: center; }
.ld-star.is-pulse .ld-star-dot { animation: ld-dot .5s var(--ld-ease); }

.ld-kite {
  cursor: pointer; transform-box: view-box; transform-origin: 50% 50%;
  transition: transform .45s var(--ld-ease);
}
.ld-kite path { stroke: var(--ld-night); stroke-width: .7; stroke-linejoin: round; transition: fill .35s; }
.ld-kite:hover:not(.is-on) { transform: translate(calc(var(--dx) * .45), calc(var(--dy) * .45)); }
.ld-kite.is-on { transform: translate(var(--dx), var(--dy)); }
.ld-kite.is-on path { fill: #1FB5B4; }
@supports (fill: color-mix(in oklab, red 50%, blue)) {
  .ld-kite.is-on path { fill: color-mix(in oklab, #6BE6E3 calc(var(--l) * 100%), #07696B); }
}

.ld-orbit-tabs {
  display: flex; gap: 8px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none;
  margin-inline: calc(var(--ld-gutter) * -1); padding: 4px var(--ld-gutter) 10px;
}
.ld-orbit-tabs::-webkit-scrollbar { display: none; }
.ld-orbit-tab {
  position: relative; flex: none; scroll-snap-align: center; overflow: hidden;
  display: inline-flex; align-items: center; gap: 8px;
  padding: 8px 14px 8px 16px; border: 0; border-radius: 999px;
  background: rgba(255, 255, 255, .07); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .15);
  color: rgba(255, 255, 255, .88); font: inherit; font-size: .92rem; font-weight: 500; white-space: nowrap; cursor: pointer;
  transition: background-color .25s, color .25s, box-shadow .25s;
}
.ld-orbit-tab:hover { background: rgba(255, 255, 255, .14); }
.ld-orbit-tab svg { flex: none; width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.ld-orbit-tab[aria-selected="true"] { background: #fff; color: var(--ld-night); box-shadow: 0 10px 26px -12px rgba(0, 0, 0, .6); }
.ld-orbit-timer {
  position: absolute; inset-inline: 16px; bottom: 3px; height: 2px; border-radius: 2px;
  background: var(--sa-saffron); transform: scaleX(0); transform-origin: right; opacity: 0;
}
.ld-orbit.is-auto .ld-orbit-tab[aria-selected="true"] .ld-orbit-timer { opacity: 1; animation: ld-timer var(--ld-cycle, 6.5s) linear forwards; }

.ld-jobs { display: grid; max-width: 540px; margin: 10px auto 0; }
.ld-job {
  grid-area: 1 / 1; padding: 18px 20px; border-radius: 20px;
  background: rgba(255, 255, 255, .06); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .1);
  opacity: 0; visibility: hidden; transform: translateY(6px);
  transition: opacity .3s, transform .35s var(--ld-ease), visibility 0s .35s;
}
.ld-job.is-on { opacity: 1; visibility: visible; transform: none; transition: opacity .35s .05s, transform .4s .05s var(--ld-ease); }
.ld-job-title { margin: 0 0 4px; font-size: 1.08rem; font-weight: 700; color: #fff; }
.ld-job p:not(.ld-job-title) { margin: 0 0 10px; font-size: .96rem; line-height: 1.95; color: rgba(255, 255, 255, .8); }

@media (min-width: 720px) {
  /* ۹۶ پیکسل کنار برای برچسب‌های چپ و راست که از دایره بیرون می‌زنند */
  .ld-orbit { width: min(100% - 96px, 500px); aspect-ratio: 1; margin-inline: auto; }
  .ld-star { position: absolute; top: 19.5%; left: 19.5%; width: 61%; margin: 0; }
  .ld-orbit-tabs { position: absolute; inset: 0; display: block; overflow: visible; margin: 0; padding: 0; }
  .ld-orbit-tab { position: absolute; left: var(--x); top: var(--y); transform: translate(-50%, -50%); }
  .ld-jobs { margin-top: 4px; }
}
@media (min-width: 1024px) {
  .ld-hero { padding-bottom: 72px; }
  .ld-hero-grid { grid-template-columns: minmax(0, 1.04fr) minmax(0, 1fr); align-items: center; gap: 40px; min-height: calc(100vh - var(--ld-top-h) - 96px); min-height: calc(100svh - var(--ld-top-h) - 96px); }
}

/* حرکت باز شدن صفحه: فقط وقتی جاوااسکریپت فعال است (کلاس ld-js در <head> گذاشته می‌شود) */
.ld-js .ld-line > span { animation: ld-rise .9s var(--ld-ease) backwards; }
.ld-js .ld-line:nth-child(2) > span { animation-delay: .1s; }
.ld-js .ld-line:nth-child(3) > span { animation-delay: .2s; }
.ld-js .ld-hero-text > :not(.ld-h1) { animation: ld-fade .8s .35s var(--ld-ease) backwards; }
.ld-js .ld-kite { animation: ld-assemble 1s var(--ld-ease) backwards; animation-delay: calc(.15s + var(--i) * 70ms); }
.ld-js .ld-star-hub, .ld-js .ld-star-dot { animation: ld-pop .6s .75s var(--ld-ease) backwards; }

/* ── بخش‌ها: سرعنوان مشترک ── */
.ld-section { padding-block: clamp(64px, 5vw + 36px, 116px); }
.ld-head { max-width: 680px; margin-bottom: clamp(30px, 3vw + 14px, 54px); }
.ld-head h2, .ld-about h2, .ld-contact-info h2 { margin: 0 0 12px; font-size: var(--ld-fs-h2); font-weight: 700; line-height: 1.45; color: var(--sa-ink); }
.ld-head p { margin: 0; font-size: var(--ld-fs-lead); font-weight: 300; color: var(--sa-muted); }

.ld-ticks { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.ld-ticks li { position: relative; padding-inline-start: 26px; font-size: .96rem; }
.ld-ticks li::before {
  content: ""; position: absolute; inset-inline-start: 3px; top: .58em; width: 11px; height: 6px;
  border-left: 2px solid var(--ld-ink-turq); border-bottom: 2px solid var(--ld-ink-turq); transform: rotate(-45deg);
}

/* ── یک هفته در شهر ── */
.ld-week-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 40px; }
.ld-days-wrap { position: relative; padding-inline-start: 34px; }
.ld-days-rail { position: absolute; inset-inline-start: 7px; top: 18px; bottom: 18px; width: 2px; border-radius: 2px; background: var(--sa-line-strong); }
.ld-days-rail i {
  position: absolute; inset: 0; border-radius: 2px; transform-origin: top; transform: scaleY(0);
  background: linear-gradient(var(--sa-saffron), var(--sa-turquoise));
}
.ld-days { margin: 0; padding: 0; list-style: none; }
.ld-day { padding-bottom: 52px; transition: opacity .4s; }
.ld-day:last-child { padding-bottom: 0; }
.ld-day-name {
  position: relative; margin: 0 0 4px;
  font-size: clamp(1.9rem, 1.35rem + 2.1vw, 3rem); font-weight: 200; line-height: 1.25; color: var(--ld-ink-saffron);
}
.ld-day-name::before {
  content: ""; position: absolute; inset-inline-start: -34px; top: 50%; width: 16px; height: 16px; margin-top: -8px; border-radius: 50%;
  background: var(--sa-tile); box-shadow: inset 0 0 0 2px var(--sa-line-strong);
  transition: background-color .3s, box-shadow .3s;
}
.ld-day.is-on .ld-day-name::before { background: var(--sa-saffron); box-shadow: 0 0 0 5px var(--sa-saffron-soft); }
.ld-day h3 { margin: 0 0 8px; font-size: var(--ld-fs-h3); font-weight: 700; line-height: 1.6; }
.ld-day > p { max-width: 34em; margin: 0 0 14px; color: var(--sa-muted); }
.ld-day-vg { max-width: 380px; margin-top: 18px; }

.ld-days-dots { display: none; }

/* موبایل: روزها کارت‌های کشیدنی افقی‌اند تا بخش هفته هفت صفحه پیمایش نشود؛ فهرست تیک‌ها فقط در رایانه */
@media (max-width: 959.98px) {
  .ld-days-wrap { padding-inline-start: 0; }
  .ld-days-rail { display: none; }
  .ld-days {
    display: flex; gap: 12px; overflow-x: auto; overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory; scroll-padding-inline: var(--ld-gutter); scrollbar-width: none;
    margin-inline: calc(var(--ld-gutter) * -1); padding: 4px var(--ld-gutter) 6px;
  }
  .ld-days::-webkit-scrollbar { display: none; }
  .ld-day {
    display: flex; flex-direction: column; flex: 0 0 min(86%, 380px); scroll-snap-align: start;
    padding: 20px 18px; border-radius: 24px; box-shadow: inset 0 0 0 1px var(--sa-line-strong);
  }
  .ld-day:last-child { padding-bottom: 20px; }
  .ld-day .ld-ticks, .ld-day-name::before { display: none; }
  .ld-day-vg { max-width: none; margin-top: auto; padding-top: 16px; }
  .ld-days-dots { display: flex; justify-content: center; gap: 6px; margin-top: 14px; }
  .ld-days-dots i { width: 7px; height: 7px; border-radius: 4px; background: var(--sa-line-strong); transition: width .3s var(--ld-ease), background-color .3s; }
  .ld-days-dots i.is-on { width: 22px; background: var(--sa-saffron); }
}

.ld-device-col { display: none; }
.ld-device {
  width: 340px; margin-inline: auto; padding: 10px 12px 12px; border-radius: 42px;
  background: var(--ld-night);
  box-shadow: 0 44px 80px -36px rgba(20, 28, 79, .6), inset 0 0 0 1px rgba(255, 255, 255, .08);
}
.ld-device-bar { display: flex; align-items: center; gap: 8px; padding: 8px 16px 10px; color: #fff; font-family: 'IRANSans', var(--sa-font); font-size: .88rem; font-weight: 700; }
.ld-device-bar i { width: 8px; height: 8px; margin-inline-start: auto; border-radius: 50%; background: var(--sa-saffron); }
.ld-device-screen { display: grid; min-height: 450px; overflow: hidden; border-radius: 30px; background: var(--sa-tile); }
.ld-device-slide {
  grid-area: 1 / 1; padding: 18px 16px;
  opacity: 0; visibility: hidden; transform: translateY(16px) scale(.98);
  transition: opacity .35s, transform .5s var(--ld-ease), visibility 0s .5s;
}
.ld-device-slide.is-on { opacity: 1; visibility: visible; transform: none; transition: opacity .4s .08s, transform .5s .08s var(--ld-ease); }
.ld-device-day { margin: 0 0 10px; font-size: .84rem; font-weight: 500; color: var(--sa-muted); }
.ld-device-dock { display: flex; align-items: center; justify-content: space-around; padding: 12px 22px 4px; }
.ld-device-dock i { width: 22px; height: 6px; border-radius: 3px; background: rgba(255, 255, 255, .24); }
.ld-device-dock b { width: 30px; height: 30px; background: var(--sa-saffron); clip-path: var(--ld-star-path); }

@media (min-width: 960px) {
  .ld-week-grid { grid-template-columns: minmax(0, 1fr) 360px; gap: 64px; }
  .ld-device-col { display: block; }
  .ld-device { position: sticky; top: calc(var(--ld-top-h) + 36px); }
  .ld-day-vg { display: none; }
  .ld-day { min-height: 46vh; }
  .ld-js .ld-day:not(.is-on) { opacity: .42; }
}

/* نماهای کوچک برنامه */
.ld-vg {
  display: grid; gap: 10px; padding: 16px; border-radius: 18px;
  background: var(--sa-surface); font-size: .92rem; line-height: 1.8;
  box-shadow: 0 1px 0 var(--sa-line), 0 14px 30px -20px rgba(20, 28, 79, .3);
}
.ld-vg p { margin: 0; }
.ld-vg-tag { display: flex; align-items: center; gap: 8px; font-size: .8rem; font-weight: 500; color: var(--sa-muted); }
.ld-dot { flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--sa-turquoise); }
.ld-dot.is-saffron { background: var(--sa-saffron); }
.ld-vg-title { font-size: 1.05rem; font-weight: 700; }
.ld-vg-sub { font-size: .84rem; color: var(--sa-muted); }
.ld-vg-row { display: flex; justify-content: space-between; gap: 8px; font-size: .88rem; }
.ld-vg-row b { font-weight: 700; }
.ld-vg-total { padding-bottom: 8px; border-bottom: 1px dashed var(--sa-line-strong); }
.ld-vg-btn {
  display: flex; align-items: center; justify-content: center; min-height: 40px; border-radius: 12px;
  background: var(--sa-saffron); color: var(--ld-night); font-weight: 700;
}
.ld-vg-btn.is-soft { background: var(--sa-turquoise-soft); color: var(--ld-ink-turq); }
.ld-vg-box { display: grid; gap: 8px; padding: 12px; border-radius: 14px; background: var(--sa-tile); }
.ld-vg-note { font-size: .8rem; color: var(--ld-ink-pist); }

.ld-seats { display: grid; grid-template-columns: repeat(10, 1fr); gap: 5px; }
.ld-seats i { aspect-ratio: 1; border-radius: 50%; box-shadow: inset 0 0 0 1.5px var(--sa-line-strong); }
.ld-seats i.on { background: var(--sa-turquoise); box-shadow: none; }

.ld-slots { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.ld-slots span { display: grid; padding: 8px 10px; border-radius: 12px; box-shadow: inset 0 0 0 1px var(--sa-line-strong); font-size: .95rem; font-weight: 700; }
.ld-slots small { font-size: .74rem; font-weight: 400; color: var(--sa-muted); }
.ld-slots .is-taken { background: var(--sa-tile); color: var(--sa-muted); box-shadow: none; }
.ld-slots .is-pick { background: var(--sa-saffron-soft); box-shadow: inset 0 0 0 2px var(--sa-saffron); }
.ld-bar { height: 8px; overflow: hidden; border-radius: 4px; background: var(--sa-line-strong); }
.ld-bar i { display: block; width: var(--w); height: 100%; border-radius: 4px; background: var(--sa-turquoise); }

.ld-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.ld-chips span { padding: 2px 10px; border-radius: 999px; background: var(--sa-lapis-soft); color: var(--ld-ink-lapis); font-size: .78rem; font-weight: 500; }
.ld-chips .is-pist { background: var(--sa-pistachio-soft); color: var(--ld-ink-pist); }
.ld-att { display: flex; gap: 6px; }
.ld-att i { flex: 1; height: 26px; border-radius: 8px; background: var(--sa-tile); box-shadow: inset 0 0 0 1px var(--sa-line); }
.ld-att .ok { background: var(--sa-pistachio-soft); box-shadow: inset 0 0 0 1.5px var(--sa-pistachio); }
.ld-att .no { background: var(--sa-saffron-soft); box-shadow: inset 0 0 0 1.5px var(--sa-saffron); }

.ld-versus { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 8px; text-align: center; }
.ld-team { display: grid; justify-items: center; gap: 2px; }
.ld-team b { font-size: .9rem; }
.ld-team small { font-size: .74rem; color: var(--sa-muted); }
.ld-crest { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 4px; border-radius: 16px; background: var(--sa-turquoise); color: #fff; font-size: 1.2rem; font-weight: 700; }
.ld-team.is-open .ld-crest { background: transparent; color: var(--sa-muted); outline: 2px dashed var(--sa-line-strong); outline-offset: -2px; }
.ld-vs { font-size: .74rem; color: var(--sa-muted); }

.ld-split { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.ld-split li { display: flex; align-items: center; gap: 10px; font-size: .9rem; }
.ld-split em { margin-inline-start: auto; padding: 2px 8px; border-radius: 999px; font-size: .74rem; font-style: normal; font-weight: 500; }
.ld-split .is-ok { background: var(--sa-pistachio-soft); color: var(--ld-ink-pist); }
.ld-split .is-wait { background: var(--sa-saffron-soft); color: var(--ld-ink-saffron); }
.ld-split .is-due { background: var(--sa-lapis-soft); color: var(--ld-ink-lapis); }
.ld-av { flex: none; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--sa-lapis-soft); color: var(--ld-ink-lapis); font-size: .85rem; font-weight: 700; }

.ld-live { display: inline-flex; align-items: center; gap: 6px; padding: 0 8px; border-radius: 999px; background: var(--sa-pomegranate); color: #fff; font-size: .72rem; font-weight: 700; }
.ld-live::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #fff; animation: ld-blink 1.4s infinite; }
.ld-score { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 4px 0; text-align: center; }
.ld-score b { display: block; font-size: 2.6rem; font-weight: 700; line-height: 1.15; }
.ld-score span { font-size: .85rem; color: var(--sa-muted); }
.ld-score i { font-size: .74rem; font-style: normal; font-weight: 500; color: var(--sa-pomegranate); }
.ld-events { display: grid; gap: 4px; margin: 0; padding: 0; list-style: none; font-size: .85rem; }
.ld-events li { display: flex; justify-content: space-between; padding: 5px 10px; border-radius: 10px; background: var(--sa-tile); }
.ld-events small { color: var(--sa-muted); }

.ld-ticket-cut { position: relative; margin: 4px -16px; border-top: 2px dashed var(--sa-line-strong); }
.ld-ticket-cut::before, .ld-ticket-cut::after { content: ""; position: absolute; top: -11px; width: 20px; height: 20px; border-radius: 50%; background: var(--sa-tile); }
.ld-ticket-cut::before { right: -10px; }
.ld-ticket-cut::after { left: -10px; }
.ld-qr { justify-self: center; width: 128px; height: 128px; fill: var(--sa-ink); }

/* ── کاربران ── */
.ld-who { background: var(--sa-surface); }
.ld-tablist {
  position: relative; display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none;
  width: fit-content; max-width: 100%; margin-bottom: 30px; padding: 6px; border-radius: 18px; background: var(--sa-tile);
}
.ld-tablist::-webkit-scrollbar { display: none; }
.ld-tab {
  position: relative; z-index: 1; flex: none; padding: 9px 16px; border: 0; border-radius: 13px;
  background: transparent; color: var(--sa-muted); font: inherit; font-size: .95rem; font-weight: 500; white-space: nowrap; cursor: pointer;
  transition: color .25s;
}
.ld-tab:hover, .ld-tab[aria-selected="true"] { color: var(--sa-ink); }
html:not(.ld-js) .ld-tab[aria-selected="true"] { background: var(--sa-surface); }
.ld-tab-ink {
  position: absolute; z-index: 0; top: 6px; bottom: 6px; left: 0; width: 0; border-radius: 13px;
  background: var(--sa-surface); box-shadow: 0 6px 16px -8px rgba(20, 28, 79, .35);
}
.ld-tabs.is-ready .ld-tab-ink { transition: transform .4s var(--ld-ease), width .4s var(--ld-ease); }
/* بی‌جاوااسکریپت برگه‌ها کار نمی‌کنند؛ همه گروه‌ها پشت سر هم دیده می‌شوند */
html:not(.ld-js) .ld-tablist { display: none; }
html:not(.ld-js) .ld-aud[hidden] { display: grid; margin-top: 48px; }

.ld-aud { display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; }
.ld-aud:focus-visible { outline-offset: 8px; }
.ld-aud h3 { margin: 0 0 8px; font-size: clamp(1.3rem, 1.1rem + .9vw, 1.75rem); line-height: 1.55; }
.ld-aud-lead { margin: 0 0 18px; font-size: var(--ld-fs-lead); font-weight: 300; color: var(--sa-muted); }
.ld-aud-cta { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.ld-aud.is-entering .ld-aud-main, .ld-aud.is-entering .ld-case { animation: ld-fade .45s var(--ld-ease) backwards; }
.ld-aud.is-entering .ld-case { animation-delay: .06s; }
.ld-case { position: relative; margin: 0; padding: clamp(22px, 2.4vw, 32px); border-radius: 26px; background: var(--ld-panel); color: #fff; }
.ld-case::before {
  content: ""; position: absolute; top: 18px; inset-inline-end: 18px; width: 40px; height: 40px;
  background: var(--sa-saffron); clip-path: var(--ld-star-path); opacity: .9;
}
.ld-case blockquote { margin: 0; }
.ld-case blockquote p { margin: 0; padding-inline-end: 44px; font-size: 1.05rem; font-weight: 300; line-height: 2.1; }
.ld-case blockquote p::before { content: "«"; }
.ld-case blockquote p::after { content: "»"; }
.ld-case figcaption { display: flex; align-items: center; gap: 10px; margin-top: 18px; font-size: .92rem; font-weight: 500; color: rgba(255, 255, 255, .8); }
.ld-case .ld-av { background: var(--sa-saffron); color: var(--ld-night); }
@media (min-width: 900px) {
  .ld-aud { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); align-items: start; gap: 56px; }
}

/* ── خیال آسوده ── */
.ld-trust-list { display: grid; gap: 28px 44px; margin: 0; padding: 0; list-style: none; }
.ld-trust-list li { display: flex; align-items: flex-start; gap: 16px; }
.ld-trust-list svg {
  flex: none; width: 46px; height: 46px; padding: 11px; border-radius: 14px;
  background: var(--sa-turquoise-soft); fill: none; stroke: var(--ld-ink-turq); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round;
}
.ld-trust-list h3 { margin: 2px 0 4px; font-size: 1.05rem; }
.ld-trust-list p { margin: 0; font-size: .95rem; color: var(--sa-muted); }
@media (min-width: 720px) { .ld-trust-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1080px) { .ld-trust-list { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* ── شروع ── */
.ld-start {
  position: relative; isolation: isolate; overflow: clip;
  padding-block: clamp(64px, 6vw + 28px, 112px);
  background: var(--ld-night); color: #fff;
}
.ld-start::before {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background: var(--sa-girih); background-size: 72px; opacity: .5;
  -webkit-mask-image: radial-gradient(90% 90% at 85% 50%, #000 10%, transparent 70%);
  mask-image: radial-gradient(90% 90% at 85% 50%, #000 10%, transparent 70%);
}
.ld-start-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 36px; }
.ld-start h2 { margin: 0 0 8px; font-size: var(--ld-fs-h2); line-height: 1.45; }
.ld-start-lead { margin: 0 0 28px; font-size: var(--ld-fs-lead); font-weight: 300; color: rgba(255, 255, 255, .75); }
.ld-steps { display: grid; gap: 16px; margin: 0; padding: 0; list-style: none; counter-reset: step; }
.ld-steps li { display: flex; align-items: center; gap: 16px; font-size: 1.05rem; counter-increment: step; }
.ld-steps li::before {
  content: counter(step); flex: none; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 14px;
  background: rgba(255, 255, 255, .08); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .18);
  color: var(--sa-saffron); font-size: 1.15rem; font-weight: 700;
}
.ld-start-card {
  display: grid; gap: 14px; justify-items: start; padding: clamp(22px, 2.6vw, 32px); border-radius: 26px;
  background: rgba(255, 255, 255, .06); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .13);
}
.ld-start-card > * { justify-self: stretch; }
.ld-start-card > .ld-link { justify-self: start; }
.ld-start-card-h { margin: 0; font-size: 1.1rem; font-weight: 700; }
@media (min-width: 900px) {
  .ld-start-grid { grid-template-columns: minmax(0, 1fr) 460px; align-items: center; gap: 64px; }
}

/* ── درباره ما ── */
.ld-about { background: var(--sa-surface); }
.ld-about-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 40px; }
.ld-about-quote { margin: 0 0 20px; font-size: clamp(1.35rem, 1.05rem + 1.3vw, 2rem); font-weight: 300; line-height: 1.75; color: var(--sa-ink); }
.ld-about-grid > div > p:last-child { max-width: 36em; margin: 0; color: var(--sa-muted); }
/* معنای نام: میاندار گرداننده ورزش در گود زورخانه */
.ld-name { position: relative; margin-top: 28px; padding: 20px 22px 18px; border-radius: 20px; background: var(--sa-saffron-soft); }
.ld-name::before {
  content: ""; position: absolute; top: 20px; inset-inline-end: 20px; width: 26px; height: 26px;
  background: var(--sa-saffron); clip-path: var(--ld-star-path);
}
.ld-name h3 { margin: 0 0 8px; padding-inline-end: 36px; font-size: 1.1rem; color: var(--ld-ink-saffron); }
.ld-name p { margin: 0 0 8px; color: var(--sa-ink); }
.ld-name p:last-child { margin-bottom: 0; font-weight: 500; }
.ld-values { display: grid; margin: 0; }
.ld-values div { display: grid; gap: 4px; padding: 18px 0; border-top: 1px solid var(--sa-line-strong); }
.ld-values div:last-child { border-bottom: 1px solid var(--sa-line-strong); }
.ld-values dt { font-weight: 700; }
.ld-values dd { margin: 0; font-size: .96rem; color: var(--sa-muted); }
@media (min-width: 960px) {
  .ld-about-grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: start; gap: 80px; }
}

/* ── پشتیبانی ── */
.ld-support-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; }
.ld-faq details { margin-bottom: 10px; overflow: hidden; border-radius: 18px; background: var(--sa-surface); box-shadow: 0 1px 0 var(--sa-line); }
.ld-faq summary {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 16px 20px; font-weight: 500; list-style: none; cursor: pointer;
}
.ld-faq summary::-webkit-details-marker { display: none; }
.ld-faq summary::after {
  content: ""; flex: none; width: 9px; height: 9px; margin-top: -4px;
  border-left: 2px solid var(--sa-muted); border-bottom: 2px solid var(--sa-muted);
  transform: rotate(-45deg); transition: transform .3s var(--ld-ease), margin .3s;
}
.ld-faq details[open] summary::after { margin-top: 4px; transform: rotate(135deg); }
.ld-faq summary:hover span { color: var(--ld-ink-lapis); }
.ld-faq-a { overflow: hidden; }
.ld-faq-a p { margin: 0; padding: 0 20px 18px; color: var(--sa-muted); }
.ld-help { display: grid; gap: 20px; margin: 0; padding: 24px; border-radius: 24px; background: var(--sa-surface); box-shadow: 0 1px 0 var(--sa-line); list-style: none; }
.ld-help li + li { padding-top: 20px; border-top: 1px solid var(--sa-line); }
.ld-help h3 { margin: 0 0 4px; font-size: 1rem; }
.ld-help p { margin: 0 0 6px; font-size: .93rem; color: var(--sa-muted); }
@media (min-width: 960px) {
  .ld-support-grid { grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); align-items: start; gap: 56px; }
  .ld-help { position: sticky; top: calc(var(--ld-top-h) + 24px); }
}

/* ── تماس ── */
.ld-contact { background: var(--sa-surface); }
.ld-contact-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 40px; }
.ld-contact-info > p { margin: 0 0 28px; font-size: var(--ld-fs-lead); font-weight: 300; color: var(--sa-muted); }
.ld-channels { display: grid; gap: 16px; margin: 0; padding: 0; list-style: none; }
.ld-channels li { display: flex; align-items: center; gap: 14px; }
.ld-channels svg {
  flex: none; width: 44px; height: 44px; padding: 11px; border-radius: 14px;
  background: var(--sa-lapis-soft); fill: none; stroke: var(--ld-ink-lapis); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round;
}
.ld-channels span { display: block; font-size: .82rem; color: var(--sa-muted); }
.ld-channels b, .ld-channels a { font-weight: 700; color: var(--sa-ink); text-decoration: none; }
.ld-channels a:hover { color: var(--ld-ink-lapis); }

.ld-form { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; padding: clamp(20px, 3vw, 32px); border-radius: 26px; background: var(--sa-tile); }
.ld-form-row { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
.ld-field { display: grid; gap: 6px; }
.ld-field label { font-size: .9rem; font-weight: 500; }
.ld-field label small { font-weight: 400; color: var(--sa-muted); }
.ld-field input, .ld-field select, .ld-field textarea {
  width: 100%; min-height: 48px; padding: 10px 14px;
  border: 1.5px solid var(--sa-line-strong); border-radius: 12px;
  background: var(--sa-surface); color: var(--sa-ink); font: inherit; font-size: 1rem;
  transition: border-color .2s, box-shadow .2s;
}
.ld-field input[dir="ltr"] { text-align: left; }
.ld-field textarea { min-height: 136px; line-height: 1.9; resize: vertical; }
.ld-field select {
  -webkit-appearance: none; appearance: none; padding-left: 40px; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%235B6585' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: left 16px center;
}
.ld-field input:focus, .ld-field select:focus, .ld-field textarea:focus { outline: none; border-color: var(--sa-turquoise); box-shadow: 0 0 0 4px var(--sa-turquoise-soft); }
.ld-field.is-error input, .ld-field.is-error textarea, .ld-field.is-error select { border-color: var(--sa-pomegranate); }
.ld-field-err { font-size: .82rem; color: var(--sa-pomegranate); }
.ld-count { justify-self: end; font-size: .78rem; color: var(--sa-muted); }
/* تله ربات پنهان؛ جابه‌جایی به بیرون صفحه در راست‌به‌چپ پهنای پیمایش را بزرگ می‌کند، پس فقط بریده می‌شود */
.ld-hp { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); opacity: 0; pointer-events: none; }
.ld-form-msg { min-height: 1.5em; margin: 0; font-size: .93rem; }
.ld-form-msg:empty { min-height: 0; }
.ld-form-msg.is-ok { color: var(--ld-ink-pist); font-weight: 500; }
.ld-form-msg.is-err { color: var(--sa-pomegranate); }
.ld-form > .ld-btn { justify-self: start; }
@media (min-width: 600px) { .ld-form-row { grid-template-columns: 1fr 1fr; } }
@media (min-width: 960px) {
  .ld-contact-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); align-items: start; gap: 72px; }
}

/* ── پاصفحه ── */
.ld-foot { padding: 56px 0 calc(28px + var(--sa-safe-b)); background: var(--ld-night); color: rgba(255, 255, 255, .78); font-size: .93rem; }
.ld-foot-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.ld-foot-brand { grid-column: 1 / -1; }
.ld-foot-brand .ld-brand { color: #fff; }
.ld-foot-brand p { margin: 10px 0 0; }
.ld-foot nav { display: grid; align-content: start; gap: 8px; }
.ld-foot h2 { margin: 0 0 6px; font-size: .95rem; font-weight: 700; color: #fff; }
.ld-foot a { color: inherit; text-decoration: none; }
.ld-foot nav a:hover { color: #fff; }
.ld-foot-end { margin-top: 40px; padding-top: 20px; border-top: 1px solid rgba(255, 255, 255, .1); font-size: .85rem; color: rgba(255, 255, 255, .55); }
@media (min-width: 900px) {
  .ld-foot-grid { grid-template-columns: minmax(0, 1.6fr) repeat(3, minmax(0, 1fr)); }
  .ld-foot-brand { grid-column: auto; }
}

/* ── حرکت‌ها ── */
@keyframes ld-rise { from { opacity: 0; transform: translateY(.5em); filter: blur(8px); } }
@keyframes ld-fade { from { opacity: 0; transform: translateY(10px); } }
@keyframes ld-assemble {
  from { opacity: 0; transform: translate(calc(var(--dx) * 12), calc(var(--dy) * 12)) rotate(-38deg); }
}
@keyframes ld-pop { from { opacity: 0; transform: scale(.3); } }
@keyframes ld-dot { 50% { transform: scale(1.45); } }
@keyframes ld-timer { to { transform: scaleX(1); } }
@keyframes ld-blink { 50% { opacity: .25; } }
@keyframes ld-shake { 25% { transform: translateX(6px); } 50% { transform: translateX(-5px); } 75% { transform: translateX(3px); } }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .ld-js .ld-line > span, .ld-js .ld-hero-text > *, .ld-js .ld-kite, .ld-js .ld-star-hub, .ld-js .ld-star-dot { animation: none; }
  .ld-live::before { animation: none; }
}
