@font-face {
  font-family: "Yekan Bakh FaNum";
  src: url("fonts/yekan-bakh/yekan-bakh-fanum-regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Yekan Bakh FaNum";
  src: url("fonts/yekan-bakh/yekan-bakh-fanum-bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Yekan Bakh FaNum";
  src: url("fonts/yekan-bakh/yekan-bakh-fanum-heavy.woff2") format("woff2");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
:root {

  --purple-950: #0a080e;
  --purple-900: #4a1259;
  --purple-800: #6f20a8;
  --purple-700: #7b2d8e;
  --purple-650: #8d42cb;
  --purple-600: #9c3ec2;
  --purple-500: #b14bd8;
  --purple-300: #c9a8d8;
  --purple-200: #d9c4e4;
  --purple-150: #e6d6ee;
  --purple-100: #e9b8ff;
  --purple-50: #f3ecf8;
  --purple-25: #faf7fc;

  --violet-600: #9333bb;
  --violet-700: #8229a9;
  --violet-800: #711f95;

  --gray-950: #121016;
  --gray-900: #141018;
  --gray-850: #1a1420;
  --gray-800: #1b1720;
  --gray-700: #3d3844;
  --gray-600: #4b4653;
  --gray-500: #6b6673;
  --gray-450: #736e7b;
  --gray-400: #847e8c;
  --gray-350: #9b949e;
  --gray-300: #a49dad;
  --gray-325: #797381;
  --gray-250: #c9c3cf;
  --gray-200: #c9b6d5;
  --gray-150: #e9e5ec;
  --gray-100: #f1edf4;
  --gray-75: #f6f2f9;
  --gray-50: #f7f5f9;
  --white: #fff;

  --green-500: #1fa97c;
  --green-600: #188f68;
  --green-700: #157a5a;
  --red-500: #e0504f;
  --red-600: #c94341;
  --red-700: #c04241;
  --red-50: #fdeeee;
  --red-100: #f0c2c1;
  --amber-50: #fdf6e8;
  --amber-100: #ecd9ad;
  --amber-700: #8a6d1f;

  --color-primary: var(--purple-500);
  --color-primary-hover: var(--purple-600);
  --color-primary-action: #ac48d2;
  --color-primary-action-hover: #9f41c2;
  --color-primary-strong: var(--violet-600);
  --color-primary-strong-hover: var(--violet-700);
  --color-primary-strong-active: var(--violet-800);
  --color-primary-outline: var(--purple-650);
  --color-primary-text: var(--purple-800);
  --color-link: var(--purple-700);
  --color-brand-deep: var(--purple-900);
  --color-primary-tint: var(--purple-50);
  --color-primary-tint-hover: #ecdff5;

  --color-text: var(--gray-800);
  --color-text-body: var(--gray-700);
  --color-text-ui: var(--gray-600);
  --color-text-secondary: var(--gray-500);
  --color-text-tertiary: var(--gray-450);
  --color-text-decorative: var(--gray-400);
  --color-text-placeholder: var(--gray-325);
  --color-text-faint: var(--gray-250);

  --color-bg: var(--white);
  --color-surface: var(--white);
  --color-surface-alt: var(--gray-50);
  --color-surface-hover: var(--gray-75);
  --color-surface-soft: var(--purple-25);

  --color-border: var(--gray-150);
  --color-border-subtle: var(--gray-100);
  --color-border-strong: var(--gray-200);

  --color-hero-bg: var(--gray-900);
  --color-hero-bg-deep: var(--purple-950);
  --color-cover-bg: var(--gray-850);
  --color-footer-bg: var(--gray-950);
  --color-footer-line: #403a43;
  --color-footer-text: var(--gray-350);
  --color-footer-text-muted: #817a84;
  --gradient-brand-dark: linear-gradient(
    135deg,
    #241028,
    #170d20 55%,
    #2e1040
  );

  --color-text-on-dark: var(--white);
  --color-on-dark-strong: var(--purple-150);
  --color-on-dark-muted: var(--purple-200);
  --color-on-dark-accent: var(--purple-300);
  --color-on-dark-link: var(--purple-100);
  --color-on-dark-subtle: #aaa3af;
  --color-border-on-dark: rgba(255, 255, 255, 0.35);
  --color-border-on-dark-subtle: rgba(255, 255, 255, 0.09);
  --color-glass-bg: rgba(255, 255, 255, 0.06);
  --color-glass-border: rgba(233, 184, 255, 0.16);

  --color-success: var(--green-500);
  --color-success-hover: var(--green-600);
  --color-success-action: #188562;
  --color-success-action-hover: #167959;
  --color-success-text: var(--green-700);
  --color-error: var(--red-500);
  --color-error-hover: var(--red-600);
  --color-error-action: #cc4746;
  --color-error-action-hover: #bc403f;
  --color-error-text: var(--red-700);
  --color-error-bg: var(--red-50);
  --color-error-border: var(--red-100);
  --color-error-on-dark: #ff9a99;
  --color-warning-text: var(--amber-700);
  --color-warning-bg: var(--amber-50);
  --color-warning-border: var(--amber-100);
  --color-focus: var(--color-primary);
  --color-focus-on-dark: var(--white);

  --font-sans: "Yekan Bakh FaNum", Tahoma, Arial, sans-serif;
  --weight-bold: 700;
  --weight-heavy: 900;
  --text-display: 52px;
  --text-h1: 34px;
  --text-h1-sm: 32px;
  --text-h2: 31px;
  --text-h2-sm: 25px;
  --text-h3-sm: 16.5px;
  --text-lead: 17px;
  --text-body-lg: 15.5px;
  --text-body: 15px;
  --text-body-md: 14.5px;
  --text-ui: 14px;
  --text-body-sm: 13.5px;
  --text-sm: 13px;
  --text-label: 12.5px;
  --text-caption-lg: 12px;
  --text-caption: 11.5px;
  --leading-tight: 1.35;
  --leading-heading: 1.55;
  --leading-snug: 1.7;
  --leading-body: 1.9;
  --leading-loose: 2.05;

  --space-1: 4px;
  --space-1-5: 6px;
  --space-2: 8px;
  --space-2-5: 10px;
  --space-3: 12px;
  --space-3-5: 14px;
  --space-4: 16px;
  --space-4-5: 18px;
  --space-5: 20px;
  --space-5-5: 22px;
  --space-6: 24px;
  --space-6-5: 26px;
  --space-7: 28px;
  --space-8: 32px;
  --space-10: 40px;
  --space-11: 44px;
  --space-12: 48px;
  --space-14: 56px;
  --space-16: 64px;
  --section-space-y: 86px;
  --section-space-y-md: 64px;
  --section-space-y-sm: 56px;

  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-pill: 999px;

  --shadow-xs: 0 1px 4px rgba(28, 16, 34, 0.12);
  --shadow-sm: 0 6px 16px rgba(28, 16, 34, 0.08);
  --shadow-md: 0 10px 26px rgba(28, 16, 34, 0.09);
  --shadow-lg: 0 18px 44px rgba(28, 16, 34, 0.12);
  --shadow-xl: 0 30px 50px rgba(28, 16, 34, 0.16);
  --shadow-primary: 0 8px 22px rgba(177, 75, 216, 0.22);
  --shadow-primary-strong: 0 10px 28px rgba(147, 51, 187, 0.45);
  --shadow-success: 0 10px 26px rgba(31, 169, 124, 0.3);
  --shadow-error: 0 10px 26px rgba(224, 80, 79, 0.28);
  --ring-focus: 0 0 0 3px rgba(177, 75, 216, 0.12);
  --ring-focus-strong: 0 0 0 3px rgba(177, 75, 216, 0.25);
  --ring-error: 0 0 0 3px rgba(224, 80, 79, 0.2);
  --shadow-on-dark: 0 10px 26px rgba(0, 0, 0, 0.25);

  --control-h-sm: 38px;
  --control-h: 44px;
  --control-h-lg: 48px;
  --control-h-xl: 54px;

  --container-max: 1200px;
  --gutter: 24px;
  --gutter-sm: 14px;
  --measure-reading: 760px;
  --measure-media: 880px;
  --ratio-card-cover: 9 / 4;
  --ratio-card-cover-phone: 151 / 79;
  --ratio-feature-cover: 2.9;
  --ratio-article-cover: 880 / 340;
  --ratio-thumb: 4 / 3;

  --duration-fast: 0.15s;
  --duration-base: 0.2s;
  --ease: ease;
}
@media (prefers-reduced-motion: reduce) {
  :root {
    --duration-fast: 0s;
    --duration-base: 0s;
  }
}
* {
  box-sizing: border-box;
}
@media (prefers-reduced-motion: no-preference) {
  html,
  .car-track {
    scroll-behavior: smooth;
  }
}
body {
  margin: 0;
  font-family: var(--font-sans);
  color: var(--color-text);
  background: var(--color-bg);
  direction: rtl;
}
a {
  text-decoration: none;
  color: inherit;
}
button,
input {
  font: inherit;
}
[hidden] {
  display: none !important;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}
:where(a,
button,
input,
select,
textarea,
summary,
[tabindex]:not([tabindex="-1"])):focus-visible {
  outline: 2px solid var(--color-focus);
  outline-offset: 2px;
}
.hero,
.trust-banner,
.support-card,
.site-footer,
.acct-hero,
.acct-card {
  --color-focus: var(--color-focus-on-dark);
}
.skip-link {
  position: absolute;
  inset-inline-start: var(--space-3);
  top: -100px;
  z-index: 100;
  padding: 8px 14px;
  border: 2px solid var(--color-focus);
  border-radius: var(--radius-sm);
  background: var(--color-surface);
  color: var(--color-link);
  font-weight: 700;
}
.skip-link:focus {
  top: var(--space-3);
}
#main:focus {
  outline: none;
}
.container {
  width: min(var(--container-max), calc(100% - 2 * var(--gutter)));
  margin-inline: auto;
}
@media (max-width: 760px) {
  .container {
    width: min(100% - 2 * var(--gutter-sm), var(--container-max));
  }
}
.section {
  padding: var(--section-space-y) 0;
  background: var(--color-surface);
}
.section-head {
  text-align: right;
  margin-bottom: 34px;
}
.section-head h1,
.section-head h2 {
  margin: 0 0 var(--space-2-5);
}
.section-head h2 {
  font-size: var(--text-h2);
}
.section-head h1 {
  font-size: var(--text-h1-sm);
  font-weight: var(--weight-heavy);
}
.section-head h1.h2 {
  font-size: var(--text-h2);
  font-weight: var(--weight-bold);
}
.section-head h1::after,
.section-head h2::after {
  content: "";
  display: block;
  width: 42px;
  height: 3px;
  margin-top: var(--space-1-5);
  border-radius: 4px;
  background: var(--color-primary);
}
.section-head h1::after {
  width: 56px;
  height: 4px;
  margin-top: var(--space-2-5);
}
.section-head h1.h2::after {
  width: 42px;
  height: 3px;
  margin-top: var(--space-1-5);
}
.section-head p {
  margin: 0;
  color: var(--color-text-secondary);
}
.section-head--compact,
.section-head--dark {
  margin-bottom: 0;
}
.section-head--page {
  padding: var(--space-11) 0 var(--space-1-5);
  margin-bottom: 0;
}
.section-head--page p {
  font-size: var(--text-body);
  line-height: var(--leading-body);
  max-width: 60ch;
}
.section-head--page .page-meta {
  font-size: var(--text-sm);
  color: var(--color-text-tertiary);
}
.section-head--dark h2 {
  margin: 0 0 var(--space-2);
  font-size: var(--text-h1);
  font-weight: var(--weight-heavy);
  color: var(--color-text-on-dark);
}
.section-head--dark h2::after {
  display: none;
}
.section-head--dark p {
  font-size: var(--text-body);
  line-height: var(--leading-body);
  color: var(--color-on-dark-muted);
  max-width: 520px;
}
.fn-page main {
  padding-bottom: var(--space-2);
}
@media (max-width: 520px) {
  .section-head--page {
    padding-top: 30px;
  }
  .section-head--page h1 {
    font-size: var(--text-h2-sm);
  }
}
.btn {
  height: var(--control-h);
  padding: 0 var(--space-6);
  border-radius: var(--radius-md);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: inherit;
  font-weight: var(--weight-bold);
  border: 1px solid transparent;
  background: none;
  color: inherit;
  white-space: nowrap;
  cursor: pointer;
  transition:
    background-color var(--duration-fast) var(--ease),
    color var(--duration-fast) var(--ease),
    border-color var(--duration-fast) var(--ease),
    box-shadow var(--duration-fast) var(--ease),
    transform 0.1s var(--ease);
}
.btn:active {
  transform: translateY(1px);
}
.btn:disabled,
.btn[aria-disabled="true"] {
  opacity: 0.6;
  cursor: not-allowed;
}
.btn-primary {
  background: var(--color-primary-action);
  color: var(--color-text-on-dark);
  box-shadow: var(--shadow-primary);
}
.btn-primary:hover {
  background: var(--color-primary-action-hover);
}
.btn-strong {
  background: var(--color-primary-strong);
  color: var(--color-text-on-dark);
  font-weight: var(--weight-heavy);
  box-shadow: var(--shadow-primary-strong);
}
.btn-strong:hover {
  background: var(--color-primary-strong-hover);
}
.btn-strong:active {
  background: var(--color-primary-strong-active);
}
.btn-outline {
  border-color: var(--color-primary-outline);
  color: var(--color-primary-text);
  background: var(--color-surface);
}
.btn-outline:hover {
  border-color: var(--color-primary);
  color: var(--color-primary-text);
  background: var(--color-primary-tint);
}
.btn-ghost {
  border-color: var(--color-border-on-dark);
  color: var(--color-text-on-dark);
}
.btn-ghost:hover {
  border-color: var(--white);
  color: var(--color-text-on-dark);
}
.btn-success {
  background: var(--color-success-action);
  color: var(--color-text-on-dark);
  font-weight: var(--weight-heavy);
  box-shadow: var(--shadow-success);
}
.btn-success:hover {
  background: var(--color-success-action-hover);
  color: var(--color-text-on-dark);
}
.btn-danger {
  background: var(--color-error-action);
  color: var(--color-text-on-dark);
  font-weight: var(--weight-heavy);
  box-shadow: var(--shadow-error);
}
.btn-danger:hover {
  background: var(--color-error-action-hover);
  color: var(--color-text-on-dark);
}
.btn-inverse {
  background: var(--color-surface);
  color: var(--color-brand-deep);
  font-weight: var(--weight-heavy);
  box-shadow: var(--shadow-on-dark);
}
.btn-inverse:hover {
  background: var(--color-primary-tint);
  color: var(--color-brand-deep);
}
.btn-text {
  color: var(--color-link);
  font-size: var(--text-sm);
}
.btn-text:hover {
  color: var(--color-primary-text);
  background: var(--color-surface-hover);
}
.btn-sm {
  position: relative;
  height: var(--control-h-sm);
  padding: 0 var(--space-4);
  font-size: var(--text-ui);
}
.btn-sm::before {
  content: "";
  position: absolute;
  inset: -4px -1px;
}
.btn-lg {
  height: var(--control-h-lg);
  padding: 0 var(--space-6-5);
}
.btn-xl {
  height: var(--control-h-xl);
  font-size: var(--text-body-lg);
}
.btn.loading {
  pointer-events: none;
  position: relative;
  color: transparent;
}
.btn.loading::after {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 2.5px solid rgba(255, 255, 255, 0.35);
  border-top-color: var(--white);
  animation: btn-spin 0.7s linear infinite;
}
@keyframes btn-spin {
  to {
    transform: rotate(360deg);
  }
}
.field {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  height: var(--control-h);
  padding: 0 var(--space-3-5);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  color: var(--color-text-tertiary);
  transition:
    border-color var(--duration-fast) var(--ease),
    box-shadow var(--duration-fast) var(--ease),
    background-color var(--duration-fast) var(--ease);
}
.field:focus-within {
  border-color: var(--color-primary);
  box-shadow: var(--ring-focus);
}
.field svg {
  flex: none;
  color: var(--color-text-placeholder);
}
.field input {
  flex: 1;
  align-self: stretch;
  min-width: 0;
  border: 0;
  outline: none;
  background: none;
  font-family: inherit;
  font-size: var(--text-ui);
  color: var(--color-text);
}
.field input:focus-visible {
  outline: none;
}
.field input::placeholder {
  color: var(--color-text-placeholder);
}
.field-lg {
  height: var(--control-h-lg);
}
.field-xl {
  height: var(--control-h-xl);
}
.site-header {
  height: 76px;
  background: var(--color-surface);
  border-bottom: 1px solid #ece8ef;
  position: relative;
  z-index: 10;
}
.header-inner {
  height: 100%;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: var(--space-11);
  align-items: center;
}
.brand {
  display: inline-flex;
  align-items: center;
  min-height: var(--control-h);
  justify-self: start;
}
.brand {
  gap: var(--space-2-5);
}
.brand img {
  display: block;
  flex: none;
  object-fit: contain;
}
.brand .brand-mark {
  width: 38px;
  height: 38px;
}
.brand .brand-name {
  height: 28px;
  width: auto;
}
.site-header .brand-name {
  filter: brightness(0);
  opacity: 0.88;
}
.main-nav {
  display: flex;
  justify-content: flex-start;
  gap: var(--space-8);
  height: 100%;
  align-items: center;
  font-weight: 700;
}
.main-nav a {
  height: 100%;
  display: flex;
  align-items: center;
  position: relative;

  padding-inline: 10px;
  margin-inline: -10px;
  color: #55505b;
  font-weight: 700;
  white-space: nowrap;
}
.main-nav a:focus-visible {
  outline-offset: -4px;
}
.main-nav a:hover {
  color: var(--color-text);
}
.main-nav a.active {
  color: var(--color-text);
  font-weight: 900;
}
.main-nav a.active:after {
  content: "";
  position: absolute;
  bottom: 18px;
  right: 10px;
  left: 10px;
  height: 3px;
  background: var(--color-primary);
  border-radius: 4px;
}
.auth-actions {
  display: flex;
  gap: var(--space-3);
  direction: ltr;
}
.menu-button {
  display: none;
  width: var(--control-h);
  height: var(--control-h);
  place-items: center;
  border: 0;
  background: none;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
}
.auth-compact {
  display: none;
  align-items: center;
  gap: var(--space-2);
}
.compact-login {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: var(--control-h);
  min-height: var(--control-h);
  font-size: var(--text-ui);
  font-weight: 700;
  color: var(--color-text-ui);
  padding: 9px var(--space-2-5);
  border-radius: var(--radius-sm);
}
.compact-login:hover {
  color: var(--color-link);
}
.compact-signup {
  position: relative;
  font-weight: var(--weight-heavy);
}
.compact-signup::before {
  content: "";
  position: absolute;
  inset: -4px 0;
}
@media (max-width: 1000px) {
  .main-nav {
    display: none;
  }
  .menu-button {
    display: grid;
  }
  .header-inner {
    grid-template-columns: auto 1fr auto auto;
    gap: var(--space-5);
  }
}
@media (max-width: 760px) {
  .header-inner {
    grid-template-columns: auto 1fr auto auto;
    gap: var(--space-3);
  }
  .main-nav,
  .auth-actions {
    display: none;
  }
  .auth-compact {
    display: flex;
    justify-self: end;
  }
  .menu-button {
    display: grid;
  }
  .brand .brand-mark {
    width: 32px;
    height: 32px;
  }
  .brand .brand-name {
    height: 24px;
  }
}
@media (max-width: 360px) {
  .header-inner {
    gap: var(--space-2);
  }
  .site-header .brand {
    gap: var(--space-1-5);
  }
  .site-header .brand .brand-mark {
    width: 28px;
    height: 28px;
  }
  .site-header .brand .brand-name {
    height: 21px;
  }
  .auth-compact {
    gap: var(--space-1);
  }
  .compact-login {
    padding: 9px var(--space-1-5);
  }
  .compact-signup {
    padding: 0 var(--space-3);
  }
}
@media (min-width: 1001px) and (max-width: 1256px) {
  .header-inner {
    gap: clamp(24px, 3.5vw, 44px);
  }
  .main-nav {
    gap: clamp(20px, 2.5vw, 32px);
  }
}
.mobile-menu {
  display: none;
  position: absolute;
  top: 100%;
  right: 0;
  left: 0;
  background: var(--color-surface);
  border-bottom: 1px solid var(--color-border);
  box-shadow: var(--shadow-xl);
  padding: var(--space-1-5) var(--space-6) var(--space-5);
  z-index: 30;
}
.mobile-menu nav {
  display: flex;
  flex-direction: column;
}
.mobile-menu nav a,
.mobile-menu nav button {
  padding: 13px 0;
  border-bottom: 1px solid var(--color-border-subtle);
  font-weight: 700;
}
.mobile-menu nav button {
  display: block;
  width: 100%;
  text-align: start;
  font: inherit;
  font-weight: 700;
  color: inherit;
  background: none;
  border: 0;
  border-bottom: 1px solid var(--color-border-subtle);
  border-radius: 0;
  cursor: pointer;
}
.mobile-menu nav button[disabled] {
  cursor: progress;
  opacity: 0.7;
}
.mobile-menu .mobile-auth {
  display: flex;
  gap: var(--space-3);
  margin-top: var(--space-4);
}
.mobile-menu .mobile-auth .btn {
  flex: 1;
}
@media (max-width: 1000px) {
  .mobile-menu.open {
    display: block;
  }
}
.acct-menu-wrap {
  position: relative;
}
.acct-menu {
  position: absolute;
  top: calc(100% + 10px);

  inset-inline-end: 0;
  min-width: 230px;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-xl);
  padding: var(--space-1-5);
  z-index: 30;
  max-width: min(360px, calc(100vw - 2 * var(--gutter-sm)));
}
.acct-menu a,
.acct-menu .am-logout {
  display: block;
  width: 100%;
  padding: 11px var(--space-3);
  border: 0;
  background: none;
  border-radius: var(--radius-sm);
  font-family: inherit;
  font-size: var(--text-ui);
  font-weight: 700;
  color: var(--color-text-body);
  text-align: right;
  cursor: pointer;
}
.acct-menu a:hover,
.acct-menu a:focus-visible {
  background: var(--color-surface-hover);
  color: var(--color-link);
}
.acct-menu .am-logout {
  color: var(--color-error-text);
  border-top: 1px solid var(--color-border-subtle);
  margin-top: var(--space-1-5);
  border-radius: 0 0 var(--radius-sm) var(--radius-sm);
}
.acct-menu .am-logout:hover,
.acct-menu .am-logout:focus-visible {
  background: var(--color-error-bg);
}
@media (max-width: 760px) {
  .acct-menu {
    inset-inline-start: auto;
    inset-inline-end: 0;
  }
}
@media (max-width: 520px) {
  .acct-menu {
    position: fixed;
    top: 82px;
    inset-inline: var(--gutter-sm);
    min-width: 0;
  }
}
.am-logout[disabled] {
  opacity: 0.6;
  cursor: default;
}
.carousel-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--space-6);
}
.carousel-head .section-head {
  margin-bottom: 0;
}
.carousel-head + .car-track {
  margin-top: var(--space-6-5);
}
.car-nav {
  display: flex;
  align-items: center;
  gap: var(--space-2-5);
  padding-bottom: var(--space-1-5);
}
.car-btn {
  width: var(--control-h);
  height: var(--control-h);
  border-radius: 50%;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  display: grid;
  place-items: center;
  cursor: pointer;
  color: var(--color-text-ui);
  transition:
    border-color var(--duration-fast) ease,
    color var(--duration-fast) ease,
    box-shadow var(--duration-fast) ease;
}
.car-btn:hover {
  border-color: var(--color-primary);
  color: var(--color-link);
  box-shadow: var(--shadow-sm);
}
.motion-toggle {
  height: var(--control-h);
  padding: 0 var(--space-4);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-pill);
  background: var(--color-surface);
  color: var(--color-text-ui);
  font-family: inherit;
  font-size: var(--text-sm);
  font-weight: 700;
  white-space: nowrap;
  cursor: pointer;
}
.motion-toggle[data-paused] .mt-pause,
.motion-toggle:not([data-paused]) .mt-play {
  display: none;
}
@media (prefers-reduced-motion: reduce) {
  .motion-toggle {
    display: none;
  }
}
.car-track {
  display: flex;
  gap: var(--space-5);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding: var(--space-1) 2px var(--space-6);
  scrollbar-width: none;
}
.car-track::-webkit-scrollbar {
  display: none;
}
.all-link {
  display: inline-flex;
  align-items: center;
  min-height: var(--control-h);
  font-size: var(--text-body-sm);
  font-weight: 900;
  color: var(--color-link);
  white-space: nowrap;
}
.all-link:hover {
  color: var(--color-primary-text);
  text-decoration: underline;
}
@media (max-width: 760px) {
  .car-nav:not(.has-motion),
  .car-btn {
    display: none;
  }
  .car-nav {
    padding-bottom: 0;
  }
  .carousel-head + .car-track {
    margin-top: var(--space-4);
  }
  .all-link {
    display: none;
  }
  .carousel-head {
    flex-wrap: wrap;
  }
}
.post-card {
  flex: 0 0 356px;
  scroll-snap-align: start;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition:
    box-shadow var(--duration-base) ease,
    transform var(--duration-base) ease;
}
.post-card:hover {
  box-shadow: var(--shadow-lg);
  transform: translateY(-3px);
}
.post-cover {
  display: block;
  aspect-ratio: var(--ratio-card-cover);
  position: relative;
  background: var(--color-cover-bg);
}
.mini-cover,
.post-cover {
  background-color: var(--color-cover-bg);
}
.cover-a {
  background-image:
    radial-gradient(150px 110px at 78% 20%, rgba(177, 75, 216, 0.5), transparent 72%),
    radial-gradient(circle at 26% 78%, transparent 42px, rgba(255, 255, 255, 0.14) 43px, transparent 45px),
    linear-gradient(135deg, #4a1259, #2a0f35);
}
.cover-b {
  background-image:
    radial-gradient(150px 110px at 24% 30%, rgba(233, 168, 255, 0.34), transparent 72%),
    radial-gradient(circle at 76% 72%, transparent 36px, rgba(255, 255, 255, 0.16) 37px, transparent 39px),
    linear-gradient(135deg, #7b2d8e, #3c1049);
}
.cover-c {
  background-image:
    radial-gradient(160px 120px at 70% 76%, rgba(31, 169, 124, 0.32), transparent 72%),
    radial-gradient(circle at 30% 30%, transparent 40px, rgba(255, 255, 255, 0.12) 41px, transparent 43px),
    linear-gradient(150deg, #221029, #120a18);
}
.cover-d {
  background-image:
    radial-gradient(170px 120px at 50% 0%, rgba(177, 75, 216, 0.45), transparent 74%),
    radial-gradient(circle at 50% 78%, transparent 44px, rgba(255, 255, 255, 0.13) 45px, transparent 47px),
    linear-gradient(150deg, #8d2fa5, #4a1259);
}
.cover-e {
  background-image:
    radial-gradient(140px 100px at 18% 22%, rgba(123, 45, 142, 0.55), transparent 70%),
    radial-gradient(140px 100px at 84% 82%, rgba(177, 75, 216, 0.35), transparent 70%),
    linear-gradient(160deg, #17131d, #0e0b13);
}
.cover-f {
  background-image:
    radial-gradient(circle at 74% 30%, transparent 30px, rgba(255, 255, 255, 0.15) 31px, transparent 33px),
    radial-gradient(circle at 74% 30%, transparent 52px, rgba(255, 255, 255, 0.08) 53px, transparent 55px),
    radial-gradient(150px 120px at 22% 80%, rgba(177, 75, 216, 0.4), transparent 72%),
    linear-gradient(135deg, #5b1a6e, #2a0f35);
}
.cover-g {
  background-image:
    radial-gradient(240px 160px at 82% 18%, rgba(177, 75, 216, 0.42), transparent 72%),
    radial-gradient(circle at 24% 72%, transparent 52px, rgba(255, 255, 255, 0.13) 53px, transparent 56px),
    radial-gradient(190px 140px at 40% 100%, rgba(31, 169, 124, 0.16), transparent 70%),
    linear-gradient(140deg, #3f1050, #190b21);
}
.post-body {
  padding: var(--space-4-5) var(--space-5) var(--space-5);
  display: flex;
  flex-direction: column;
  gap: var(--space-2-5);
  flex: 1;
}
.post-tag {
  align-self: flex-start;
  font-size: var(--text-caption);
  font-weight: 700;
  color: var(--color-link);
  background: var(--color-primary-tint);
  padding: var(--space-1) 11px;
  border-radius: var(--radius-pill);
}
.post-body .post-title {
  margin: 0;
  font-size: var(--text-h3-sm);
  line-height: var(--leading-snug);
  font-weight: 900;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.post-body .post-title a:hover {
  color: var(--color-link);
}
.post-excerpt {
  margin: 0;
  font-size: var(--text-body-sm);
  line-height: var(--leading-body);
  color: var(--color-text-secondary);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.post-meta {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--text-caption-lg);
  color: var(--color-text-tertiary);
  margin-top: auto;
}
.meta-dot {
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: var(--color-text-faint);
}
.post-cta-link {
  margin-top: 2px;
  display: inline-block;
  padding-block: var(--space-2-5);
  margin-block: calc(-1 * var(--space-2-5)) calc(-1 * var(--space-2-5) + 2px);
}
.post-cta {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1-5);
  font-size: var(--text-body-sm);
  font-weight: 900;
  color: var(--color-link);
  transition:
    color var(--duration-fast) ease,
    gap var(--duration-fast) ease;
}
.post-card:hover .post-cta,
.feature-post:hover .post-cta,
.post-cta-link:hover .post-cta {
  color: var(--color-primary-text);
  gap: 9px;
}
.edu-grid {
  display: grid;
  grid-template-columns: 1.55fr 1fr;
  gap: var(--space-5-5);
  align-items: stretch;
  margin-bottom: var(--space-7);
}
.feature-post {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: box-shadow var(--duration-base) ease;
}
.feature-post:hover {
  box-shadow: var(--shadow-lg);
}
.feature-cover {
  aspect-ratio: var(--ratio-feature-cover);
  max-height: 248px;
}
.post-cover > img,
.mini-cover > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.feature-post .post-title {
  font-size: 23px;
  line-height: var(--leading-heading);
  -webkit-line-clamp: 2;
}
.mini-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-3-5);
}
.mini-post {
  display: flex;
  gap: var(--space-3-5);
  align-items: center;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: var(--space-3);
  transition:
    box-shadow var(--duration-fast) ease,
    transform var(--duration-fast) ease;
}
.mini-post:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
}
.mini-cover {
  width: 88px;
  aspect-ratio: var(--ratio-thumb);
  border-radius: var(--radius-sm);
  flex: none;
}
.mini-post .mini-title {
  margin: 0 0 var(--space-1-5);
  font-size: var(--text-body-md);
  line-height: 1.65;
  font-weight: 700;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.mini-post .mini-title a:hover {
  color: var(--color-link);
}
.mini-meta {
  margin: 0;
  font-size: var(--text-caption-lg);
  color: var(--color-text-tertiary);
}
@media (max-width: 1000px) {
  .edu-grid {
    grid-template-columns: 1fr;
  }
  .feature-cover {
    aspect-ratio: 4 / 1;
  }
}
@media (max-width: 760px) {
  .post-card {
    flex-basis: 302px;
  }
  .post-card .post-cover {
    aspect-ratio: var(--ratio-card-cover-phone);
  }
}
.mkt-section {
  background: var(--color-surface-alt);
  padding: var(--section-space-y-sm) 0;
}
.mkt-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--space-6);
  flex-wrap: wrap;
  margin-bottom: var(--space-2);
}
.mkt-status {
  display: flex;
  flex-direction: column;
  gap: var(--space-1-5);
  align-items: flex-start;
}
.mkt-list:focus-visible {
  outline: 2px solid var(--color-focus);
  outline-offset: 2px;
}
.mkt-rate {
  display: block;
  min-height: 19px;
  font-size: var(--text-caption-lg);
  color: var(--color-text-secondary);
}
.mkt-toggle {
  display: none;
  grid-template-columns: 1fr 1fr;
  background: var(--color-border);
  border-radius: var(--radius-md);
  padding: var(--space-1);
  gap: var(--space-1);
  margin: var(--space-4) 0 0;
}
.mkt-toggle button {
  height: var(--control-h-sm);
  border: 0;
  border-radius: var(--radius-sm);
  background: transparent;
  font-family: inherit;
  font-size: var(--text-ui);
  font-weight: 700;
  color: var(--color-text-ui);
  cursor: pointer;
  transition:
    background-color var(--duration-fast) ease,
    color var(--duration-fast) ease;
}
.mkt-toggle button[aria-pressed="true"] {
  background: var(--color-surface);
  color: var(--color-text);
  box-shadow: var(--shadow-sm);
}
.mkt-search {
  margin: var(--space-4) 0 var(--space-3-5);
  max-width: 440px;
}
.mkt-list {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-1-5) var(--space-3-5) var(--space-2);
}
.mkt-hrow,
.mkt-row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3-5);
  align-items: center;
}
.mkt-hrow > *,
.mkt-row > * {
  flex: 1 1 115px;
}
.mkt-hrow > :first-child,
.mkt-row > .mkt-id {
  flex: 1.7 1 170px;
}
.mkt-hrow > .cell-toman,
.mkt-row > .cell-toman {
  flex: 1.3 1 150px;
}
.mkt-hrow > .cell-ch,
.mkt-row > .cell-ch {
  flex: 0.75 1 85px;
}
.mkt-hrow > .cell-spark,
.mkt-row > .cell-spark {
  flex: 0.95 1 105px;
}
.cell-price-m {
  display: none;
}
.mkt-hrow {
  padding: var(--space-2-5) 2px 11px;
  border-bottom: 1px solid var(--color-border);
  font-size: var(--text-caption);
  font-weight: 700;
  color: var(--color-text-tertiary);
}
.mkt-row {
  padding: var(--space-3) 2px;
}
.mkt-row + .mkt-row {
  border-top: 1px solid var(--color-border-subtle);
}
.mkt-id {
  display: flex;
  align-items: center;
  gap: 11px;
  min-width: min(7em, 100%);
}
.mkt-icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  flex: none;
  display: grid;
  place-items: center;
  overflow: hidden;
}
.mkt-icon img {
  width: 100%;
  height: 100%;
  display: block;
}
@media (max-width: 520px) {
  .mkt-icon {
    width: 32px;
    height: 32px;
  }
}
.mkt-names {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  min-width: 0;
}
.mkt-names b {
  max-width: 100%;
  font-size: var(--text-body-md);
  font-weight: 700;
  color: var(--color-text);
  overflow-wrap: anywhere;
}
.mkt-names small {
  max-width: 100%;
  align-self: stretch;
  text-align: right;
  font-size: var(--text-caption);
  font-weight: 700;
  color: var(--color-text-tertiary);
  overflow-wrap: anywhere;
}
.mkt-num {
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.cell-usdt {
  font-size: var(--text-body);
  font-weight: 900;
  color: var(--color-text);
}
.cell-usdt i {
  font-style: normal;
  font-size: 11px;
  font-weight: 700;
  color: var(--color-text-tertiary);
}
.cell-toman {
  font-size: var(--text-body-sm);
  font-weight: 700;
  color: var(--color-text-body);
}
.cell-ch {
  font-size: var(--text-sm);
  font-weight: 700;
}
.cell-ch.up {
  color: var(--color-success-text);
}
.cell-ch.down {
  color: var(--color-error-text);
}
.cell-ch.flat {
  color: var(--color-text-tertiary);
}
.cell-spark {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.mkt-row > .cell-spark {
  color: var(--color-text-decorative);
}
.mkt-row > .cell-spark.up {
  color: var(--color-success);
}
.mkt-row > .cell-spark.down {
  color: var(--color-error);
}
.spark {
  display: block;
  width: 112px;
  height: 34px;
  overflow: visible;
}
.spark polyline {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}
.spark polygon {
  fill: currentColor;
  opacity: 0.1;
}
.mkt-empty {
  padding: 34px var(--space-4);
  text-align: center;
  color: var(--color-text-secondary);
  font-size: var(--text-body-sm);
}
.mkt-empty button {
  margin-top: var(--space-3);
  min-height: var(--control-h);
  padding: 0 var(--space-4-5);
  border: 1px solid var(--color-border);
  background: var(--color-surface);
  border-radius: var(--radius-sm);
  font-family: inherit;
  font-weight: 700;
  font-size: var(--text-sm);
  color: var(--color-link);
  cursor: pointer;
}
.mkt-more {
  display: block;
  margin: var(--space-2) auto 0;
  padding: 0 var(--space-4);
}
@media (max-width: 1000px) {
  .mkt-hrow > :first-child,
  .mkt-row > .mkt-id {
    flex-basis: 160px;
  }
  .mkt-hrow > .cell-ch,
  .mkt-row > .cell-ch {
    flex-basis: 80px;
  }
  .cell-spark {
    display: none;
  }
}
.mkt-toman-btn {

  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  min-width: var(--control-h);
  min-height: var(--control-h);
  margin-block: -12px;
  font: inherit;
  line-height: inherit;
  color: inherit;
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  white-space: nowrap;
}
@media (max-width: 760px) {
  .mkt-toggle {
    display: grid;
  }
  .mkt-toggle button {
    position: relative;
  }
  .mkt-toggle button::before {
    content: "";
    position: absolute;
    inset: -4px 0;
  }
  .mkt-hrow .cell-usdt,
  .mkt-hrow .cell-toman {
    display: none;
  }
  .mkt-hrow .cell-price-m {
    display: block;
  }
  .mkt-hrow,
  .mkt-row {
    gap: var(--space-2-5);
  }
  .mkt-hrow > *,
  .mkt-row > *,
  .mkt-row > .cell-toman {
    flex: 0 1 auto;
    margin-inline-start: auto;
  }
  .mkt-hrow > :first-child,
  .mkt-row > .mkt-id {
    flex: 1 1 7em;
    margin-inline-start: 0;
  }
  .cell-ch,
  .cell-spark {
    display: none;
  }
  .mkt-list[data-mode="usdt"] .cell-toman {
    display: none;
  }
  .mkt-list[data-mode="toman"] .cell-usdt {
    display: none;
  }
  .cell-usdt {
    font-size: var(--text-body-lg);
  }
  .cell-toman {
    font-size: var(--text-body-lg);
    font-weight: 900;
    color: var(--color-text);
  }
  .mkt-names b {
    font-size: var(--text-body-lg);
  }
  .mkt-names small {
    font-size: var(--text-label);
  }
}
.support-section {
  background: var(--color-surface);
  padding: 0 0 var(--section-space-y-md);
}
.support-card {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-7);
  background:
    radial-gradient(560px 300px at 86% -20%, rgba(177, 75, 216, 0.32), transparent 64%), var(--gradient-brand-dark);
  color: var(--color-text-on-dark);
  border-radius: var(--radius-lg);
  padding: var(--space-10) var(--space-11);
  box-shadow: var(--shadow-xl);
}
.support-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.support-card h2 {
  margin: 0 0 var(--space-2);
  font-size: var(--text-h2-sm);
  font-weight: 900;
}
.support-card p {
  margin: 0;
  font-size: var(--text-ui);
  line-height: var(--leading-body);
  color: var(--color-on-dark-muted);
}
.support-cta {
  position: relative;
  padding: 0 30px;
}
@media (min-width: 1001px) {
  .support-section {
    padding: 0 0 var(--space-12);
  }
  .support-card {
    padding: 30px 38px;
    gap: 36px;
  }
  .support-card h2 {
    font-size: 24px;
    margin-bottom: var(--space-1-5);
  }
  .support-cta {
    padding: 0 var(--space-7);
  }
}
@media (max-width: 760px) {
  .support-card {
    flex-direction: column;
    align-items: flex-start;
    padding: 30px var(--space-6);
  }
  .support-cta {
    width: 100%;
    justify-content: center;
    display: inline-flex;
    align-items: center;
  }
}
.site-footer {
  background: var(--color-footer-bg);
  color: var(--color-text-on-dark);
  padding: 58px 0 var(--space-5);
}
.footer-grid {
  display: grid;
  grid-template-columns: 1.4fr repeat(3, 1fr);
  gap: 70px;
}
.footer-logo .brand-mark {
  width: 46px;
  height: 46px;
}
.footer-logo .brand-name {
  height: 34px;
}
.footer-brand p {
  color: var(--color-footer-text);
  line-height: var(--leading-body);
  max-width: 330px;
}
.footer-contact {
  display: flex;
  align-items: center;
  gap: var(--space-2-5);
  margin: 0 0 var(--space-3-5);
  font-size: var(--text-body-sm);
  font-variant-numeric: tabular-nums;
}
.footer-contact a {

  display: inline-flex;
  align-items: center;
  min-width: var(--control-h);
  min-height: var(--control-h);
  margin-block: -5px;
  color: var(--color-footer-text);
  font-weight: var(--weight-bold);
}
.footer-contact a:hover {
  color: var(--color-text-on-dark);
}
.fc-dot {
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: var(--color-footer-text-muted);
}
.socials {
  display: flex;
  gap: var(--space-2-5);
}
.socials a {
  position: relative;
  width: var(--control-h-sm);
  height: var(--control-h-sm);
  border: 1px solid var(--color-footer-text-muted);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-text-faint);
  background: transparent;
  transition:
    color var(--duration-fast) var(--ease),
    border-color var(--duration-fast) var(--ease),
    background-color var(--duration-fast) var(--ease);
}
.socials svg {
  display: block;
}
.socials a::after {
  content: "";
  position: absolute;
  inset: -4px;
  border-radius: 50%;
}
.socials a:hover {
  color: var(--color-on-dark-link);
  border-color: var(--color-primary);
  background: rgba(177, 75, 216, 0.08);
}
.socials a:active {
  background: rgba(177, 75, 216, 0.16);
}
.site-footer nav {
  display: flex;
  flex-direction: column;
}
.site-footer nav h2 {
  margin: 0 0 var(--space-2);
  font-size: 1.17em;
}
.site-footer nav a {
  color: var(--color-footer-text);
  padding-block: var(--space-2-5);
}
.socials a::before {
  content: "";
  position: absolute;
  inset: -4px;
}
.footer-bottom {
  border-top: 1px solid var(--color-footer-line);
  text-align: center;
  color: var(--color-footer-text-muted);
  font-size: var(--text-sm);
  padding-top: var(--space-5);
  margin-top: var(--space-10);
}
@media (max-width: 1000px) {
  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-10);
  }
  .footer-brand {
    grid-column: 1/-1;
  }
}
@media (max-width: 520px) {
  .footer-grid {
    grid-template-columns: 1fr;
    gap: var(--space-8);
  }
  .footer-brand {
    grid-column: auto;
  }
}
@media (max-width: 760px) {
  .footer-logo .brand-mark {
    width: 36px;
    height: 36px;
  }
  .footer-logo .brand-name {
    height: 27px;
  }
}
.hero {
  min-height: 0;
  background:
    radial-gradient(900px 620px at 12% 76%, rgba(74, 18, 89, 0.55), transparent 62%),
    radial-gradient(720px 430px at 34% 2%, rgba(123, 45, 142, 0.28), transparent 64%),
    radial-gradient(620px 400px at 94% 12%, rgba(177, 75, 216, 0.09), transparent 66%),
    linear-gradient(180deg, var(--color-hero-bg), var(--color-hero-bg-deep));
  position: relative;
  overflow: hidden;
  color: var(--color-text-on-dark);
}
.motion-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.motion-bg svg {
  width: 100%;
  height: 100%;
}
.motion-bg[data-paused] * {
  animation-play-state: paused;
}
.hero .motion-toggle {
  position: absolute;
  inset-block-end: var(--space-2);
  inset-inline-end: var(--space-4);
  z-index: 1;
  border-color: var(--color-glass-border);
  background: rgba(255, 255, 255, 0.04);
  color: var(--color-on-dark-subtle);
}
.ribbon path {
  fill: none;
  stroke: url(#streamA);
  stroke-linecap: round;
}
.ribbon .r1 {
  stroke-width: 46;
  opacity: 0.1;
}
.ribbon .r2 {
  stroke-width: 24;
  opacity: 0.07;
}
.stream {
  fill: none;
  stroke: url(#streamA);
  stroke-linecap: round;
}
.stream.teal {
  stroke: url(#streamB);
}
.s1 {
  stroke-width: 2;
  opacity: 0.32;
}
.s2 {
  stroke-width: 1.5;
  opacity: 0.24;
}
.s3 {
  stroke-width: 1.1;
  opacity: 0.2;
}
.s4 {
  stroke-width: 1.5;
  opacity: 0.28;
}
.s5 {
  stroke-width: 1;
  opacity: 0.14;
}
.net line {
  stroke: rgba(214, 164, 232, 0.15);
  stroke-width: 1;
}
.net circle {
  fill: none;
  stroke: rgba(230, 205, 240, 0.35);
  stroke-width: 1.1;
}
.net .dot {
  fill: #d6a4e8;
  stroke: none;
  opacity: 0.55;
}
.comet-soft path,
.comet-bright path {
  fill: none;
  stroke-linecap: round;
  animation: comet-run linear infinite;
}
.comet-soft path {
  stroke: #b14bd8;
  stroke-width: 5;
  opacity: 0.35;
}
.comet-soft path.teal {
  stroke: #1fa97c;
}
.comet-bright path {
  stroke: #e9a8ff;
  stroke-width: 2.2;
  opacity: 0.72;
}
.comet-bright .cb3 {
  display: none;
}
.comet-soft .cs3 {
  opacity: 0.18;
}
.comet-bright path.teal {
  stroke: #58e6c0;
}
@keyframes comet-run {
  to {
    stroke-dashoffset: var(--dend);
  }
}
.drifters circle {
  fill: #d673ff;
  opacity: 0.45;
  offset-rotate: 0deg;
  animation: drift-along linear infinite;
}
.drifters .teal-dot {
  fill: #38d7ad;
}
@keyframes drift-along {
  to {
    offset-distance: 100%;
  }
}
.particles circle {
  fill: #d673ff;
  opacity: 0.5;
}
.hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 640px);
  align-items: center;
  position: relative;
  z-index: 1;
  padding: 44px 0 66px;
}
@media (min-width: 1280px) {
  .hero-copy {
    margin-inline-start: 48px;
  }
}
.hero-copy {
  grid-column: 1;
  text-align: right;
}
.eyebrow {
  display: inline-flex;
  gap: var(--space-2);
  align-items: center;
  padding: 5px var(--space-3);
  border: 1px solid var(--color-glass-border);
  border-radius: var(--radius-pill);
  color: var(--color-on-dark-accent);
  font-size: var(--text-sm);
  background: rgba(255, 255, 255, 0.04);
}
.live-dot {
  width: 8px;
  height: 8px;
  background: var(--color-success);
  border-radius: 50%;
  display: inline-block;
}
.hero h1 {
  font-size: clamp(38px, 2.9vw + 11px, var(--text-display));
  line-height: var(--leading-tight);
  margin: var(--space-5) 0 var(--space-4-5);
  font-weight: 900;
}
.hero h1 span {
  color: var(--color-on-dark-accent);
  font-size: 0.9em;
}
.hero-subhead {
  font-size: 19px;
  line-height: 2;
  color: var(--color-on-dark-subtle);
  max-width: 540px;
  margin: 0 0 var(--space-6);
}
.trust-chips {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2) var(--space-5-5);
  margin: 0;
}
.trust-chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: var(--text-sm);
  font-weight: 700;
  color: rgba(230, 214, 238, 0.75);
}
.trust-chip svg {
  color: var(--color-primary);
  flex: none;
  opacity: 0.9;
}
.hero-signup {
  margin: var(--space-6) 0 var(--space-5);
  max-width: 500px;
}
.hs-label {
  display: block;
  font-size: var(--text-body-sm);
  font-weight: 700;
  color: var(--color-on-dark-strong);
  margin-bottom: 9px;
}
.hs-row {
  display: flex;
  gap: 9px;
  align-items: stretch;
}
.hs-field {
  flex: 1 1 66%;
  min-width: 0;
  gap: var(--space-2-5);
  padding: 0 var(--space-4);
  color: var(--color-text-on-dark);
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.24);
  backdrop-filter: blur(6px);
}
.hs-field:hover {
  border-color: rgba(255, 255, 255, 0.36);
}
.hs-field:focus-within {
  border-color: var(--color-primary);
  background: rgba(255, 255, 255, 0.1);
  box-shadow: var(--ring-focus-strong);
}
.hs-field.valid {
  border-color: rgba(31, 169, 124, 0.65);
}
.hs-field.invalid {
  border-color: var(--color-error);
  box-shadow: var(--ring-error);
}
.hs-field input {
  flex: 1;
  min-width: 0;
  border: 0;
  background: none;
  outline: none;
  color: var(--color-text-on-dark);
  font-family: inherit;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.02em;
  text-align: left;

}
.hs-field input::placeholder {
  color: rgba(230, 214, 238, 0.7);
  font-weight: 400;
  font-size: 15.5px;
  letter-spacing: 0.02em;
}
.hs-check {
  flex: none;
  opacity: 0;
  transform: scale(0.6);
  transition:
    opacity var(--duration-base) ease,
    transform var(--duration-base) ease;
}
.hs-field.valid .hs-check {
  opacity: 1;
  transform: scale(1);
}
.hs-submit {
  flex: 0 0 auto;

  background: var(--color-primary-action);
  box-shadow: var(--shadow-primary);
}
.hs-submit:hover {
  background: var(--color-primary-action-hover);
}
.hs-submit:disabled {
  opacity: 1;
  cursor: pointer;
}
.hs-error {
  margin: 9px 2px 0;
  font-size: var(--text-label);
  font-weight: 700;
  color: var(--color-error-on-dark);
}
.hs-error[hidden] {
  display: block !important;
  margin: 0;
}
.trust-banner {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(680px 380px at 88% -10%, rgba(177, 75, 216, 0.34), transparent 64%),
    radial-gradient(620px 420px at 4% 112%, rgba(74, 18, 89, 0.6), transparent 66%), var(--gradient-brand-dark);
  color: var(--color-text-on-dark);
  padding: var(--section-space-y-md) 0;
}
.trust-banner:before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgba(221, 155, 243, 0.13) 1px, transparent 1.3px);
  background-size: 26px 26px;
  -webkit-mask-image: radial-gradient(760px 440px at 82% 14%, #000 18%, transparent 74%);
  mask-image: radial-gradient(760px 440px at 82% 14%, #000 18%, transparent 74%);
  pointer-events: none;
}
.trust-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.trust-inner {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--space-10);
}
.trust-copy {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--space-6);
  flex-wrap: wrap;
}
.trust-acc {
  max-width: 860px;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}
.ta-item {
  background: var(--color-glass-bg);
  border: 1px solid var(--color-glass-border);
  border-radius: var(--radius-md);
  backdrop-filter: blur(4px);
  transition:
    border-color var(--duration-base) var(--ease),
    background-color var(--duration-base) var(--ease);
  interpolate-size: allow-keywords;
}
.ta-item[open] {
  background: rgba(255, 255, 255, 0.09);
  border-color: rgba(233, 184, 255, 0.34);
}
.ta-q {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  min-height: var(--control-h);
  padding: var(--space-3-5) var(--space-5);
  cursor: pointer;
  list-style: none;
  font-size: var(--text-body-lg);
  font-weight: var(--weight-bold);
  color: var(--color-text-on-dark);
  border-radius: var(--radius-md);
}
.ta-q::-webkit-details-marker {
  display: none;
}
.ta-q:hover {
  color: var(--color-on-dark-link);
}
.ta-chev {
  flex: none;
  color: var(--color-on-dark-accent);
  transition: transform var(--duration-base) var(--ease);
}
.ta-item[open] .ta-chev {
  transform: rotate(180deg);
}
.ta-a {
  padding: 0 var(--space-5) var(--space-4-5);
}
.ta-a p {
  margin: 0;
  padding-top: var(--space-3);
  border-top: 1px solid var(--color-border-on-dark-subtle);
  font-size: var(--text-body-sm);
  line-height: var(--leading-body);
  color: var(--color-on-dark-muted);
  max-width: 72ch;
}
.ta-item::details-content {
  block-size: 0;
  overflow-y: clip;
  opacity: 0;
  transition:
    block-size var(--duration-base) var(--ease),
    opacity var(--duration-base) var(--ease),
    content-visibility var(--duration-base) allow-discrete;
}
.ta-item[open]::details-content {
  block-size: auto;
  opacity: 1;
}
.ta-note {
  margin: var(--space-1) 2px 0;
  font-size: var(--text-caption);
  color: var(--color-on-dark-subtle);
}
@media (prefers-reduced-motion: reduce) {
  .comet-soft path,
  .comet-bright path,
  .drifters circle {
    animation: none;
  }
  .drifters {
    display: none;
  }
}
@media (max-width: 1000px) {
  .hero-grid {
    grid-template-columns: minmax(0, 620px);
    gap: 42px;
    padding: 56px 0;
  }
  .hero-copy {
    grid-column: 1;
    grid-row: 1;
  }
  .hero {
    min-height: auto;
  }
  .motion-bg {
    opacity: 0.8;
  }
  .hero-subhead {
    font-size: 17px;
  }
}
@media (max-width: 760px) {
  .hero-signup {
    max-width: none;
    --control-h-xl: 52px;
  }
  .hs-row {
    gap: var(--space-2);
  }
  .hs-field {
    flex-basis: 66%;
    padding: 0 var(--space-4);
    gap: var(--space-2);
  }
  .hs-field input {
    font-size: var(--text-body-lg);
  }
  .hs-field input::placeholder {
    font-size: var(--text-body);
  }
  .hs-submit {
    flex: 1 1 34%;
    min-width: 0;
    padding: 0 var(--space-3-5);
    font-size: var(--text-ui);
  }
  .hero-grid {
    padding: var(--space-11) 0 var(--space-16);
  }
  .motion-bg {
    opacity: 0.55;
  }
  .hero h1 {
    font-size: clamp(32px, 9.7vw, 36px);
  }
  .hero-subhead {
    font-size: 16px;
  }
}
@media (max-width: 1000px) {
  .trust-banner {
    padding: 54px 0;
  }
  .trust-copy h2 {
    font-size: 29px;
  }
}
@media (max-width: 520px) {
  .trust-banner {
    padding: 46px 0;
  }
  .trust-copy h2 {
    font-size: var(--text-h2-sm);
  }
  .trust-inner {
    gap: var(--space-7);
  }
  .ta-q {
    font-size: var(--text-body);
    padding: var(--space-3) var(--space-4);
  }
  .ta-a {
    padding: 0 var(--space-4) var(--space-4);
  }
}
:root[data-save-data] .comet-soft,
:root[data-save-data] .comet-bright,
:root[data-save-data] .drifters,
:root[data-save-data] .ribbon,
:root[data-save-data] .hero .motion-toggle {
  display: none;
}
.comet-soft .cs1 {
  stroke-dasharray:170 730;
  stroke-dashoffset:-510px;
  --dend:-1410px;
  animation-duration:28s;
}
.comet-soft .cs2 {
  stroke-dasharray:150 750;
  stroke-dashoffset:-200px;
  --dend:-1100px;
  animation-duration:38s;
}
.comet-soft .cs3 {
  stroke-dasharray:120 780;
  stroke-dashoffset:-650px;
  --dend:-1550px;
  animation-duration:48s;
}
.comet-soft .cs4 {
  stroke-dasharray:140 760;
  stroke-dashoffset:-300px;
  --dend:-1200px;
  animation-duration:42s;
}
.comet-bright .cb1 {
  stroke-dasharray:60 840;
  stroke-dashoffset:-620px;
  --dend:-1520px;
  animation-duration:28s;
}
.comet-bright .cb2 {
  stroke-dasharray:50 850;
  stroke-dashoffset:-300px;
  --dend:-1200px;
  animation-duration:38s;
}
.comet-bright .cb3 {
  stroke-dasharray:40 860;
  stroke-dashoffset:-730px;
  --dend:-1630px;
  animation-duration:48s;
}
.comet-bright .cb4 {
  stroke-dasharray:48 852;
  stroke-dashoffset:-392px;
  --dend:-1292px;
  animation-duration:42s;
}
.drifters .d1 {
  offset-path:path('M1470 30 C1200 34 1000 40 830 92 C660 145 585 250 500 370 C410 495 220 585 -40 630');
  animation-duration:34s;
  animation-delay:-12s;
}
.drifters .d2 {
  offset-path:path('M1470 58 C1210 64 1010 74 845 130 C675 188 610 300 520 420 C425 540 235 615 -40 665');
  animation-duration:46s;
  animation-delay:-30s;
}
.drifters .d3 {
  offset-path:path('M1470 88 C1230 98 1030 116 860 176 C700 232 640 350 545 470 C450 585 250 645 -40 695');
  animation-duration:52s;
  animation-delay:-8s;
}
.drifters .d4 {
  offset-path:path('M700 320 C600 400 520 480 420 540 C330 594 180 636 -30 676');
  animation-duration:44s;
  animation-delay:-20s;
}
@media (max-width: 520px) {
  .hs-row {
    flex-direction: column;
    gap: var(--space-2-5);
  }
  .hs-field,
  .hs-submit {
    flex: none;
    width: 100%;
  }
}
.fn-page .mkt-section {
  padding-top: var(--space-4-5);
}
.terms-layout {
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
  gap: var(--space-10);
  align-items: start;
  padding-top: var(--space-6-5);
  padding-bottom: var(--space-14);
}
.terms-toc {
  position: sticky;
  top: 20px;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-4-5) var(--space-4-5) var(--space-2-5);
}
.toc-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
  list-style: none;
  cursor: default;
  margin: 0 0 var(--space-2-5);
  font-size: var(--text-body-sm);
  font-weight: 900;
  color: var(--color-text-secondary);
}
.toc-summary::-webkit-details-marker {
  display: none;
}
.toc-summary svg {
  display: none;
}
.toc-search {
  position: relative;
  height: var(--control-h-sm);
  margin-bottom: var(--space-2-5);
  gap: var(--space-2);
  padding: 0 var(--space-3);
}
.toc-search::before {
  content: "";
  position: absolute;
  inset: -4px 0;
}
.toc-search input {
  position: relative;
  min-width: 0;
  flex: 1;
  border: 0;
  background: none;
  outline: none;
  font: inherit;
  font-size: var(--text-body-sm);
}
.toc-group {
  margin: var(--space-3) 0 2px;
  font-size: var(--text-caption-lg);
  font-weight: 900;
  color: var(--color-text-tertiary);
}
.toc-group:first-child {
  margin-top: 0;
}
.terms-toc nav {
  display: flex;
  flex-direction: column;
}
.terms-toc a {
  display: block;
  padding: 7px var(--space-2-5);
  margin-inline-start: -10px;
  border-radius: var(--radius-sm);
  font-size: var(--text-body-sm);
  font-weight: 700;
  color: var(--color-text-ui);
  line-height: var(--leading-snug);
}
.terms-toc a:hover {
  background: var(--color-surface-hover);
  color: var(--color-link);
}
.terms-toc a.active {
  background: var(--color-primary-tint);
  color: var(--color-primary-text);
}
.terms-toc a[hidden] {
  display: none;
}
.terms-body {
  max-width: 70ch;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-3-5) 30px var(--space-6-5);
}
.terms-body section {
  padding: var(--space-4-5) 0 var(--space-1-5);
  scroll-margin-top: var(--space-5);
}
.terms-body section + section {
  border-top: 1px solid var(--color-border-subtle);
}
.terms-body h2 {
  margin: 0 0 var(--space-2-5);
  font-size: 18px;
  font-weight: 900;
}
.terms-body p {
  margin: 0 0 var(--space-3);
  font-size: var(--text-body-md);
  line-height: 2.1;
  color: var(--color-text-body);
  text-wrap: pretty;
}
.page-meta .content-required {
  background: var(--color-warning-bg);
  color: var(--color-warning-text);
  border: 1px dashed var(--color-warning-border);
  border-radius: var(--radius-sm);
  padding: 1px 7px;
  font-weight: 700;
}
.terms-notice {
  background: var(--color-surface-soft);
  border: 1px solid var(--color-primary-tint-hover);
  border-inline-start: 3px solid var(--color-primary);
  border-radius: var(--radius-md);
  padding: var(--space-3-5) var(--space-4-5);
}
.terms-notice p {
  margin: 0;
}
.terms-risk {
  margin-top: var(--space-4-5);
  background: var(--color-warning-bg);
  border: 1px solid var(--color-warning-border);
  border-radius: var(--radius-md);
  padding: var(--space-4) var(--space-4-5) var(--space-2);
}
.terms-body .terms-risk h2 {
  display: flex;
  align-items: center;
  gap: var(--space-2-5);
  color: var(--color-warning-text);
}
.terms-body section + .terms-risk {
  border-top: 1px solid var(--color-warning-border);
}
.terms-contact {
  list-style: none;
  margin: var(--space-3) 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-1-5);
}
.terms-contact li {
  font-size: var(--text-body-md);
  line-height: 2;
  color: var(--color-text-body);
}
.terms-contact a,
.terms-body p a {
  color: var(--color-link);
  font-weight: 700;
}
.terms-contact a {
  font-variant-numeric: tabular-nums;
}
.terms-top {
  position: fixed;
  bottom: 22px;
  inset-inline-start: 22px;
  z-index: 20;
  padding: 10px var(--space-4);
  min-height: var(--control-h);
  display: inline-flex;
  align-items: center;
  background: var(--color-surface);
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-pill);
  box-shadow: var(--shadow-md);
  font-size: var(--text-body-sm);
  font-weight: 700;
  color: var(--color-text-ui);
}
.terms-top:hover {
  color: var(--color-link);
  border-color: var(--color-primary);
}
.terms-note {
  margin: var(--space-5) 0 0;
  font-size: var(--text-caption-lg);
  color: var(--color-text-tertiary);
}
@media (max-width: 1000px) {
  .terms-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5-5);
  }
  .terms-toc {
    position: static;
  }
  .toc-panel:not([open]) .toc-summary {
    margin-bottom: 0;
  }
  .toc-summary {
    cursor: pointer;
    min-height: var(--control-h);
    align-items: center;
    color: var(--color-text);
    font-size: var(--text-body);
  }
  .toc-summary svg {
    display: block;
    transition: transform var(--duration-base) var(--ease);
  }
  .toc-panel[open] .toc-summary svg {
    transform: rotate(180deg);
  }
  .terms-toc a {
    margin-inline-start: 0;
    padding-block: 11px;
  }
}
@media print {
  .site-header,
  .site-footer,
  .terms-toc,
  .terms-top,
  .skip-link {
    display: none !important;
  }
  body {
    background: #fff;
  }
  .terms-layout {
    display: block;
    padding: 0;
  }
  .terms-body {
    max-width: none;
    border: 0;
    padding: 0;
  }
  .terms-body p,
  .terms-contact li {
    color: #000;
  }
  .terms-body h2 {
    break-after: avoid;
  }
  .terms-body section {
    break-inside: avoid-page;
  }
  .terms-notice,
  .terms-risk {
    border: 1px solid #999;
    background: #fff;
  }
}
@media (max-width: 520px) {
  .terms-body {
    padding: var(--space-2) var(--space-4-5) var(--space-5);
  }
}
@media (min-width: 1001px) {
  .terms-top {
    inset-inline-start: auto;
    inset-inline-end: 22px;
  }
  .terms-toc {
    max-height: calc(100vh - 40px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
}
.contact-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr);
  gap: var(--space-10);
  align-items: start;
  padding-top: var(--space-6-5);
  padding-bottom: var(--space-14);
}
.contact-cards {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}
.contact-card {
  display: flex;
  align-items: center;
  gap: var(--space-3-5);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: 15px var(--space-4-5);
  color: inherit;
  transition:
    box-shadow var(--duration-fast) ease,
    border-color var(--duration-fast) ease;
}
a.contact-card:hover {
  border-color: var(--color-border-strong);
  box-shadow: var(--shadow-md);
  color: inherit;
}
.cc-ic {
  width: 44px;
  height: 44px;
  border-radius: var(--radius-md);
  background: var(--color-primary-tint);
  color: var(--color-link);
  display: grid;
  place-items: center;
  flex: none;
}
.cc-body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
  min-width: 0;
  flex: 1;
}
.cc-body b {
  font-size: var(--text-body-md);
  font-weight: 900;
}
.cc-body span {
  min-width: 0;
  overflow-wrap: anywhere;
  font-size: var(--text-body-sm);
  color: var(--color-text-secondary);
}
.cc-action {
  flex: none;
  font-size: var(--text-label);
  font-weight: 900;
  color: var(--color-link);
  background: var(--color-primary-tint);
  border-radius: var(--radius-pill);
  padding: var(--space-1-5) var(--space-3-5);
}
a.contact-card:hover .cc-action {
  background: var(--color-primary);
  color: var(--color-text-on-dark);
}
.cc-lines {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.cc-lines a {
  display: inline-flex;
  align-items: center;
  min-height: var(--control-h);
  font-size: var(--text-body-lg);
  font-weight: var(--weight-bold);
  color: var(--color-text);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.02em;
}
.cc-lines a:hover {
  color: var(--color-link);
}
.cc-body small {
  display: block;
  margin-top: 2px;
  font-size: var(--text-label);
  color: var(--color-text-tertiary);
}
.contact-topics {
  background: var(--color-surface-alt);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-lg);
  padding: var(--space-5) var(--space-6);
}
.contact-topics h2 {
  margin: 0 0 var(--space-3);
  font-size: var(--text-h3-sm);
  font-weight: var(--weight-heavy);
}
.contact-topics ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2) var(--space-2-5);
}
.contact-topics li {
  padding: 6px var(--space-3-5);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-pill);
  font-size: var(--text-body-sm);
  color: var(--color-text-body);
}
.contact-cta {
  height: auto;
  min-height: var(--control-h-lg);
  max-width: 100%;
  padding-block: var(--space-2);
  flex-wrap: wrap;
  white-space: normal;
  text-align: center;
}
.contact-cta span {
  white-space: nowrap;
  margin-right: var(--space-2-5);
  font-variant-numeric: tabular-nums;
}
.contact-about {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-6-5) var(--space-7);
}
.contact-about h2 {
  margin: 0 0 var(--space-3);
  font-size: 20px;
  font-weight: 900;
}
.contact-about > p {
  margin: 0 0 var(--space-4-5);
  font-size: var(--text-body-md);
  line-height: var(--leading-loose);
  color: var(--color-text-body);
  text-wrap: pretty;
}
.about-points {
  list-style: none;
  margin: 0 0 var(--space-5);
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-3-5);
}
.about-points li {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  border-inline-start: 3px solid var(--color-primary);
  padding-inline-start: var(--space-3);
}
.about-points b {
  font-size: var(--text-ui);
  font-weight: 900;
}
.about-points span {
  font-size: var(--text-label);
  line-height: 1.8;
  color: var(--color-text-secondary);
}
.contact-map {
  position: relative;
  border-radius: var(--radius-md);
  overflow: hidden;
  border: 1px solid var(--color-border);
  margin-bottom: var(--space-5);
}
.contact-map svg {
  display: block;
  width: 100%;
  height: 170px;
}
.map-note {
  position: absolute;
  bottom: 10px;
  inset-inline-start: 10px;
  background: rgba(255, 255, 255, 0.92);
  border-radius: var(--radius-sm);
  padding: 5px var(--space-2-5);
  font-size: var(--text-caption);
  color: var(--color-text-secondary);
}
@media (max-width: 1000px) {
  .contact-layout {
    grid-template-columns: minmax(
      0,
      1fr
    );
    gap: var(--space-5-5);
  }
  .about-points {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 520px) {
  .about-points {
    grid-template-columns: 1fr;
  }
  .contact-about {
    padding: var(--space-5) var(--space-4-5);
  }
}
.notfound {
  padding-bottom: var(--space-16);
}
.notfound-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-top: var(--space-6);
}
.mkt-row.is-first {
  border-top: 0;
}
.acct-menu form {
  margin: 0;
}
.site-flash {
  margin-top: var(--space-4);
  padding: var(--space-3) var(--space-4);
  border: 1px solid var(--color-border);
  border-inline-start: 3px solid var(--color-success);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  box-shadow: var(--shadow-xs);
  color: var(--color-text);
  font-size: var(--text-body-sm);
  font-weight: 700;
}
.tg-fab {
  position: fixed;
  bottom: 22px;
  inset-inline-start: 22px;
  z-index: 40;
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--color-primary-action);
  color: var(--color-text-on-dark);
  box-shadow: var(--shadow-primary);
  transition:
    transform var(--duration-fast) var(--ease),
    background-color var(--duration-fast) var(--ease);
}
.tg-fab:hover {
  background: var(--color-primary-action-hover);
  transform: translateY(-2px);
}
.tg-fab:focus-visible {
  outline: 2px solid var(--color-focus);
  outline-offset: 3px;
}
@media (max-width: 1000px) {
  .terms-top {
    bottom: 86px;
  }
}
@media (max-width: 520px) {
  .tg-fab {
    width: 48px;
    height: 48px;
    bottom: 16px;
    inset-inline-start: 16px;
  }
}
.site-notice {
  width: min(480px, calc(100vw - 2 * var(--gutter-sm)));
  padding: var(--space-6);
  border: 0;
  border-radius: var(--radius-lg);
  background: var(--color-surface);
  box-shadow: var(--shadow-xl);
  color: var(--color-text-body);
  font-family: var(--font-sans);
}
.site-notice::backdrop {
  background: rgba(18, 16, 22, 0.55);
}
.sn-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  margin-bottom: var(--space-3);
}
.sn-head h2 {
  margin: 0;
  font-size: var(--text-h3-sm);
  font-weight: 900;
  color: var(--color-text);
}
.sn-close {
  width: var(--control-h-sm);
  height: var(--control-h-sm);
  display: grid;
  place-items: center;
  flex: none;
  border: 0;
  border-radius: var(--radius-sm);
  background: none;
  color: var(--color-text-secondary);
  cursor: pointer;
}
.sn-close:hover {
  background: var(--color-surface-hover);
  color: var(--color-text);
}
.sn-body {
  font-size: var(--text-body-sm);
  line-height: var(--leading-body);
  overflow-wrap: anywhere;
}
.sn-body img {
  max-width: 100%;
  height: auto;
}
.sn-ok {
  width: 100%;
  margin-top: var(--space-5);
}
.site-header .brand-mark,
.footer-logo .brand-mark {
  filter: hue-rotate(48deg) saturate(1.15);
}
.authed-actions {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  justify-self: end;
}
.acct-btn {
  gap: var(--space-2);
  max-width: 230px;
  padding: 0 var(--space-3-5);
  border-color: var(--color-border-strong);
  background: var(--color-surface);
  color: var(--color-text-ui);
  font-size: var(--text-ui);
  cursor: pointer;
  transition:
    color var(--duration-fast) var(--ease),
    background-color var(--duration-fast) var(--ease),
    border-color var(--duration-fast) var(--ease);
}
.acct-btn:hover,
.acct-btn[aria-expanded="true"] {
  border-color: var(--color-primary-outline);
  background: var(--color-primary-tint);
  color: var(--color-primary-text);
}
.acct-btn svg {
  flex: none;
}
.acct-name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.acct-chev {
  transition: transform var(--duration-fast) var(--ease);
}
.acct-btn[aria-expanded="true"] .acct-chev {
  transform: rotate(180deg);
}
.am-head {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin: 0 0 var(--space-1-5);
  padding: var(--space-2) var(--space-3) var(--space-2-5);
  border-bottom: 1px solid var(--color-border-subtle);
}
.am-head b {
  font-size: var(--text-ui);
  font-weight: 900;
  color: var(--color-text);
  overflow-wrap: anywhere;
}
.am-head small {
  font-size: var(--text-caption);
  color: var(--color-text-tertiary);
}
@media (max-width: 760px) {
  .authed-actions {
    gap: var(--space-2);
  }
  .authed-dashboard {
    height: var(--control-h-sm);
    padding: 0 var(--space-4);
    font-size: var(--text-ui);
  }
  .acct-btn {
    width: var(--control-h);
    padding: 0;
  }
  .acct-btn .acct-name,
  .acct-btn .acct-chev {
    display: none;
  }
}
@media (max-width: 360px) {
  .authed-dashboard {
    padding: 0 var(--space-3);
  }
}
.blog-page .edu-grid {
  margin-bottom: var(--space-6-5);
}
.blog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-5);
}
.blog-grid .post-card {
  flex: none;
}
.blog-search {
  min-width: 230px;
}
.blog-search input {
  font-size: var(--text-body-sm);
}
@media (max-width: 1000px) {
  .blog-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 760px) {
  .blog-grid {
    grid-template-columns: 1fr;
  }
  .blog-search {
    width: 100%;
  }
}

#blog-empty:empty {
  padding: 0;
}
.art {
  padding: 36px 0 var(--space-16);
}

.art-head {
  max-width: var(--measure-media);
}
.crumbs {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--text-sm);
  color: var(--color-text-tertiary);
  margin-bottom: var(--space-4);
}
.crumbs a {

  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: var(--control-h);
  min-height: var(--control-h);
  margin: -12px -11px;
  position: relative;
  font-weight: 700;
  color: var(--color-link);
}
.crumbs a:hover {
  color: var(--color-primary-text);
  text-decoration: underline;
}
.crumb-sep {
  color: var(--color-text-faint);
}
.art-head h1 {
  margin: 0 0 var(--space-3-5);
  font-size: var(--text-h1);
  line-height: var(--leading-heading);
  font-weight: 900;
  text-wrap: pretty;
}
.art-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 9px;
  font-size: var(--text-sm);
  color: var(--color-text-tertiary);
  margin-bottom: var(--space-6);
}
.art-cat {
  position: relative;
  font-size: var(--text-caption-lg);
  font-weight: 700;
  color: var(--color-link);
  background: var(--color-primary-tint);
  padding: var(--space-1) var(--space-3);
  border-radius: var(--radius-pill);
}
.art-cat::before {
  content: "";
  position: absolute;
  inset: -9px 0;
}
.art-cat:hover {
  color: var(--color-primary-text);
}
.art-cover {
  aspect-ratio: var(--ratio-article-cover);
  border-radius: var(--radius-lg);
}
.art-cover > img,
.art-fig .post-cover > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.art-col {
  max-width: var(--measure-reading);
  padding-top: 30px;
  overflow-wrap: break-word;
}
.art-col p {
  margin: 0 0 var(--space-4-5);
  font-size: var(--text-body-lg);
  line-height: 2.15;
  color: var(--color-text-body);
  text-wrap: pretty;
}
.art-lead {
  font-size: var(--text-lead);
  font-weight: 700;
  color: var(--color-text);
}
.art-col h2 {
  margin: 34px 0 var(--space-3);
  font-size: 22px;
  font-weight: 900;
}
.art-col h3 {
  margin: var(--space-6-5) 0 var(--space-2-5);
  font-size: var(--text-lead);
  font-weight: 900;
}
.art-col a {
  color: var(--color-link);
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: rgba(177, 75, 216, 0.4);
  text-underline-offset: 4px;
}
.art-col a:hover {
  color: var(--color-primary-text);
  text-decoration-color: currentColor;
}
.art-col a:focus-visible {
  border-radius: 3px;
}
.art-col ul,
.art-col ol {
  margin: 0 0 var(--space-4-5);
  padding-inline-start: var(--space-5-5);
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}
.art-col li {
  font-size: var(--text-body);
  line-height: var(--leading-loose);
  color: var(--color-text-body);
}
.art-col blockquote {
  margin: var(--space-6) 0;
  padding: var(--space-4) var(--space-5);
  border-inline-start: 3px solid var(--color-primary);
  background: var(--color-surface-soft);
  border-radius: var(--radius-sm);
  font-size: var(--text-body);
  line-height: var(--leading-loose);
  color: var(--color-text-body);
  font-weight: 700;
}
.art-callout {
  margin: 0 0 var(--space-4-5);
  padding: var(--space-4) var(--space-5);
  border: 1px solid #e9d9f2;
  background: var(--color-surface-soft);
  border-radius: var(--radius-md);
  font-size: var(--text-body-md);
  line-height: var(--leading-loose);
  color: var(--color-text-body);
}
.art-callout b {
  color: var(--color-link);
}
.art-fig {
  margin: var(--space-6-5) 0;
}
.art-fig .post-cover {
  aspect-ratio: 760 / 260;
  border-radius: var(--radius-md);
}
.art-fig figcaption {
  margin-top: var(--space-2-5);
  font-size: var(--text-label);
  color: var(--color-text-tertiary);
  line-height: var(--leading-body);
}
.art-table-wrap {
  margin: 0 0 var(--space-5);
  overflow-x: auto;

  background:
    linear-gradient(to left, var(--white) 30%, rgba(255, 255, 255, 0)),
    linear-gradient(to right, var(--white) 30%, rgba(255, 255, 255, 0)) 100% 0,
    linear-gradient(to left, rgba(28, 16, 34, 0.14), rgba(28, 16, 34, 0)),
    linear-gradient(to right, rgba(28, 16, 34, 0.14), rgba(28, 16, 34, 0)) 100% 0;
  background-repeat: no-repeat;
  background-size:
    40px 100%,
    40px 100%,
    14px 100%,
    14px 100%;
  background-attachment: local, local, scroll, scroll;
  scrollbar-width: thin;
  scrollbar-color: var(--color-text-faint) transparent;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
}
.art-table-wrap table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--text-ui);
  min-width: 520px;
}
.art-table-wrap th {
  background: var(--color-surface-soft);
  font-weight: 900;
  color: var(--color-text-body);
}
.art-table-wrap th,
.art-table-wrap td {
  padding: var(--space-3) var(--space-4);
  text-align: right;
  border-bottom: 1px solid var(--color-border-subtle);
  line-height: var(--leading-body);
}
.art-table-wrap tbody tr:last-child td {
  border-bottom: 0;
}
.art-related {
  margin-top: var(--space-14);
}
.art-related .carousel-head {
  margin-bottom: var(--space-6);
}
.related-list {
  display: grid;

  grid-template-columns: repeat(
    auto-fill,
    minmax(min(100%, 340px), 1fr)
  );
  gap: var(--space-5);
}
@media (max-width: 1000px) {
}
@media (max-width: 760px) {
  .related-list {
    display: flex;
    gap: var(--space-4);
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding: var(--space-1) 2px var(--space-5);
    scrollbar-width: none;
  }
  .related-list::-webkit-scrollbar {
    display: none;
  }
  .related-list .post-card {
    flex: 0 0 302px;
    scroll-snap-align: start;
  }
}
@media (max-width: 520px) {
  .art {
    padding-top: var(--space-6);
  }
  .art-head h1 {
    font-size: 24px;
  }
  .art {
    --ratio-article-cover: 16 / 9;
  }
  .art-col p {
    font-size: var(--text-body-md);
  }
  .art-col h2 {
    font-size: 19px;
  }
  .art-fig .post-cover {
    aspect-ratio: 16 / 9;
  }
}
.art-col {
  font-size: var(--text-body-lg);
  line-height: 2.15;
  color: var(--color-text-body);
}
.art-col img {
  max-width: 100%;
  height: auto;
  border-radius: var(--radius-md);
}
.blog-pager {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-4);
  margin-top: var(--space-8);
}
.blog-pager span[aria-disabled="true"] {
  opacity: 0.45;
  pointer-events: none;
}
.blog-pager-info {
  font-size: var(--text-sm);
  font-weight: 700;
  color: var(--color-text-secondary);
}
