@charset "utf-8";
/* کاردرست — generated from tokens.json */
@font-face { font-family: "Estedad"; src: url("../fonts/Estedad-Variable.woff2?v=4") format("woff2"); font-weight: 100 900; font-style: normal; font-display: swap; }
@font-face { font-family: "Vazirmatn"; src: url("../fonts/Vazirmatn-Variable.woff2?v=4") format("woff2"); font-weight: 100 900; font-style: normal; font-display: swap; }
:root, [data-theme="light"] {
  --navy-100: #b8bfd1;
  --navy-300: #5e6f9a;
  --navy-500: #243b71;
  --navy-700: #0f1b3d;
  --navy-900: #070f26;
  --teal-100: #bde9e8;
  --teal-300: #60c9c6;
  --teal-500: #1abcad;
  --teal-700: #0d857b;
  --teal-900: #065f56;
  --gold-100: #f6e9c7;
  --gold-300: #ebcd84;
  --gold-500: #e1b12c;
  --gold-700: #c19125;
  --gold-900: #936f17;
  --neutral-100: #fafafb;
  --neutral-300: #f1f2f4;
  --neutral-500: #e3e4e7;
  --neutral-700: #d1d2d6;
  --neutral-900: #b7b8bd;
  --surface: #f6f7f9;
  --surface-raised: #ffffff;
  --glass: rgba(255, 255, 255, 0.65);
  --glass-strong: rgba(255, 255, 255, 0.82);
  --glass-subtle: rgba(255, 255, 255, 0.4);
  --glass-border: rgba(255, 255, 255, 0.75);
  --aura-teal: rgba(26, 188, 173, 0.26);
  --aura-gold: rgba(225, 177, 44, 0.24);
  --aura-navy: rgba(36, 57, 113, 0.2);
  --ink: var(--navy-700);
  --ink-muted: #4f5973;
  --line: #dee1e8;
  --line-strong: #79819a;
  --navy: var(--navy-700);
  --navy-soft: #e8ebf3;
  --navy-ink: var(--navy-500);
  --on-navy: #ffffff;
  --teal: var(--teal-500);
  --teal-soft: #e4f6f4;
  --teal-ink: #08736a;
  --on-teal: var(--navy-700);
  --gold: var(--gold-500);
  --gold-soft: #fbf2da;
  --gold-ink: #7a5a0b;
  --on-gold: var(--navy-700);
  --stage-1: var(--teal);
  --stage-2: var(--gold);
  --stage-3: var(--navy);
  --action: var(--navy);
  --action-hover: var(--navy-500);
  --on-action: #ffffff;
  --link: var(--teal-ink);
  --focus-ring: var(--action);
  --success: var(--teal-ink);
  --success-soft: var(--teal-soft);
  --warning: #93591d;
  --warning-soft: #fff1e0;
  --danger: #c22826;
  --danger-soft: #ffefef;
  --on-danger: #ffffff;
  --chart-1: #13998c;
  --chart-2: #b17d0c;
  --chart-3: #3d5aa8;
  --chart-4: #d9603b;
  --chart-5: #8b5cc9;
  --chart-6: #c94f74;
  --chart-seq-1: #95aadb;
  --chart-seq-2: #6e89c8;
  --chart-seq-3: #4b68b1;
  --chart-seq-4: #304b91;
  --chart-seq-5: #1d3168;
  --overlay: rgba(15, 27, 61, 0.32);
  --shadow-glass: inset 0 1px 0 rgba(255, 255, 255, 0.9), 0 0 0 1px rgba(15, 27, 61, 0.05), 0 8px 24px rgba(15, 27, 61, 0.08);
  --shadow-glass-hover: inset 0 1px 0 rgba(255, 255, 255, 0.9), 0 0 0 1px rgba(15, 27, 61, 0.06), 0 14px 36px rgba(15, 27, 61, 0.12);
  --shadow-float: inset 0 1px 0 rgba(255, 255, 255, 0.9), 0 0 0 1px rgba(15, 27, 61, 0.06), 0 16px 40px rgba(15, 27, 61, 0.14);
  --shadow-dialog: inset 0 1px 0 rgba(255, 255, 255, 0.9), 0 0 0 1px rgba(15, 27, 61, 0.06), 0 24px 64px rgba(15, 27, 61, 0.2);
  --shadow-button: inset 0 1px 0 rgba(255, 255, 255, 0.18), 0 4px 14px rgba(15, 27, 61, 0.28);
}
[data-theme="dark"] {
  --navy-100: #b8bfd1;
  --navy-300: #5e6f9a;
  --navy-500: #243b71;
  --navy-700: #0f1b3d;
  --navy-900: #070f26;
  --teal-100: #bde9e8;
  --teal-300: #60c9c6;
  --teal-500: #1abcad;
  --teal-700: #0d857b;
  --teal-900: #065f56;
  --gold-100: #f6e9c7;
  --gold-300: #ebcd84;
  --gold-500: #e1b12c;
  --gold-700: #c19125;
  --gold-900: #936f17;
  --neutral-100: #fafafb;
  --neutral-300: #f1f2f4;
  --neutral-500: #e3e4e7;
  --neutral-700: #d1d2d6;
  --neutral-900: #b7b8bd;
  --surface: #081129;
  --surface-raised: #111b38;
  --glass: rgba(17, 27, 56, 0.62);
  --glass-strong: rgba(17, 27, 56, 0.84);
  --glass-subtle: rgba(255, 255, 255, 0.07);
  --glass-border: rgba(255, 255, 255, 0.12);
  --aura-teal: rgba(26, 188, 173, 0.22);
  --aura-gold: rgba(225, 177, 44, 0.16);
  --aura-navy: rgba(94, 111, 154, 0.34);
  --ink: #eef1f7;
  --ink-muted: #a9b2c8;
  --line: #243052;
  --line-strong: #6e7a9c;
  --navy: var(--navy-700);
  --navy-soft: #1c2850;
  --navy-ink: #aab7de;
  --on-navy: #ffffff;
  --teal: var(--teal-500);
  --teal-soft: #0f3540;
  --teal-ink: #5fd3c6;
  --on-teal: var(--navy-700);
  --gold: var(--gold-500);
  --gold-soft: #33291a;
  --gold-ink: #e9c463;
  --on-gold: var(--navy-700);
  --stage-1: var(--teal);
  --stage-2: var(--gold);
  --stage-3: var(--navy-300);
  --action: var(--teal);
  --action-hover: var(--teal-300);
  --on-action: var(--navy-700);
  --link: var(--teal-ink);
  --focus-ring: var(--teal-ink);
  --success: var(--teal-ink);
  --success-soft: var(--teal-soft);
  --warning: #d9a056;
  --warning-soft: #3a2a1b;
  --danger: #f87e77;
  --danger-soft: #3d1f2a;
  --on-danger: var(--navy-700);
  --chart-1: #14a194;
  --chart-2: #bc8720;
  --chart-3: #6282d4;
  --chart-4: #db623d;
  --chart-5: #9b6ddb;
  --chart-6: #d85c80;
  --chart-seq-1: #364d86;
  --chart-seq-2: #4e69ab;
  --chart-seq-3: #6d87c6;
  --chart-seq-4: #90a7db;
  --chart-seq-5: #b7c7ec;
  --overlay: rgba(3, 6, 16, 0.6);
  --shadow-glass: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 0 0 1px rgba(0, 0, 0, 0.3), 0 8px 24px rgba(0, 0, 0, 0.35);
  --shadow-glass-hover: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 0 0 1px rgba(0, 0, 0, 0.3), 0 14px 36px rgba(0, 0, 0, 0.45);
  --shadow-float: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 0 0 1px rgba(0, 0, 0, 0.35), 0 16px 40px rgba(0, 0, 0, 0.5);
  --shadow-dialog: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 0 0 1px rgba(0, 0, 0, 0.4), 0 24px 64px rgba(0, 0, 0, 0.6);
  --shadow-button: inset 0 1px 0 rgba(255, 255, 255, 0.35), 0 4px 16px rgba(26, 188, 173, 0.32);
}
:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --space-16: 64px;
  --space-24: 96px;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 20px;
  --radius-xl: 28px;
  --radius-full: 9999px;
  --blur-sm: 8px;
  --blur-md: 20px;
  --blur-lg: 32px;
  --blur-aura: 96px;
  --glass-saturate: 160%;
  --z-base: 0;
  --z-sticky: 100;
  --z-dropdown: 200;
  --z-overlay: 300;
  --z-dialog: 400;
  --z-toast: 500;
  --container-max: 1200px;
  --reading-max: 720px;
  --gutter-sm: 16px;
  --gutter-lg: 32px;
  --grid-cols-sm: 4;
  --grid-cols-md: 8;
  --grid-cols-lg: 12;
  --grid-gap: 24px;
  --bp-sm: 640px;
  --bp-md: 768px;
  --bp-lg: 1024px;
  --bp-xl: 1280px;
  --font-display: Estedad, Vazirmatn, Tahoma, sans-serif;
  --font-sans: Vazirmatn, Tahoma, sans-serif;
}
.display { font-family: var(--font-display); font-size: 44px; line-height: 64px; font-weight: 800; }
.title { font-family: var(--font-display); font-size: 32px; line-height: 48px; font-weight: 700; }
.heading { font-family: var(--font-display); font-size: 24px; line-height: 38px; font-weight: 700; }
.subheading { font-family: var(--font-display); font-size: 20px; line-height: 32px; font-weight: 600; }
.body-lg { font-family: var(--font-sans); font-size: 18px; line-height: 34px; font-weight: 400; }
.body { font-family: var(--font-sans); font-size: 16px; line-height: 28px; font-weight: 400; }
.label { font-family: var(--font-sans); font-size: 14px; line-height: 22px; font-weight: 500; }
.caption { font-family: var(--font-sans); font-size: 13px; line-height: 22px; font-weight: 400; }

/* کاردرست — کتابخانه‌ی کامپوننت‌ها
   بعد از tokens.css بارگذاری شود. همه‌ی مقدارها از توکن‌ها می‌آیند؛ تنها منبع مقدارهای حرکت (--motion-*) همین فایل است.
   همه‌ی کلاس‌ها پیشوند kd- دارند و برای صفحه‌ی راست‌چین (dir="rtl") نوشته شده‌اند. */

:root {
  --motion-fast: 120ms;
  --motion-base: 200ms;
  --motion-slow: 320ms;
  --ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --ease-exit: cubic-bezier(0.4, 0, 1, 1);
}

/* ---------- پایه ---------- */
.kd-page { background: var(--surface); color: var(--ink); font-family: var(--font-sans); font-size: 16px; line-height: 28px; }
.kd-page *, .kd-page *::before, .kd-page *::after { box-sizing: border-box; }
.kd-container { width: 100%; max-width: var(--container-max); margin-inline: auto; padding-inline: var(--gutter-sm); }
@media (min-width: 768px) { .kd-container { padding-inline: var(--gutter-lg); } }
.kd-muted { color: var(--ink-muted); }
.kd-icon { width: 20px; height: 20px; flex: none; stroke-width: 1.75; }
.kd-icon--sm { width: 16px; height: 16px; }
.kd-visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
:where(.kd-page) a:not([class]) { color: var(--link); text-decoration: underline; text-underline-offset: 3px; }
:where(.kd-page) :focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 2px; }

/* ---------- شیشه و پس‌زمینه ---------- */
.kd-glass, .kd-glass-strong, .kd-glass-subtle { border: 1px solid var(--glass-border); box-shadow: var(--shadow-glass); }
.kd-glass { background: var(--glass); -webkit-backdrop-filter: blur(var(--blur-md)) saturate(var(--glass-saturate)); backdrop-filter: blur(var(--blur-md)) saturate(var(--glass-saturate)); border-radius: var(--radius-lg); }
.kd-glass-strong { background: var(--glass-strong); -webkit-backdrop-filter: blur(var(--blur-lg)) saturate(var(--glass-saturate)); backdrop-filter: blur(var(--blur-lg)) saturate(var(--glass-saturate)); }
.kd-glass-subtle { background: var(--glass-subtle); -webkit-backdrop-filter: blur(var(--blur-md)) saturate(var(--glass-saturate)); backdrop-filter: blur(var(--blur-md)) saturate(var(--glass-saturate)); }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .kd-glass, .kd-glass-strong, .kd-glass-subtle { background: var(--surface-raised); }
}
@media (prefers-reduced-transparency: reduce) {
  .kd-glass, .kd-glass-strong, .kd-glass-subtle { background: var(--surface-raised); -webkit-backdrop-filter: none; backdrop-filter: none; }
}
.kd-backdrop { position: relative; isolation: isolate; overflow: hidden; background: var(--surface); }
.kd-aura { position: absolute; z-index: -1; border-radius: var(--radius-full); filter: blur(var(--blur-aura)); pointer-events: none; }
.kd-aura--teal { background: var(--aura-teal); }
.kd-aura--gold { background: var(--aura-gold); }
.kd-aura--navy { background: var(--aura-navy); }

/* ---------- دکمه ---------- */
.kd-btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2); min-height: 44px; padding: 0 var(--space-6); border: 1px solid transparent; border-radius: var(--radius-full); font-family: var(--font-sans); font-size: 14px; line-height: 22px; font-weight: 500; text-decoration: none; white-space: nowrap; cursor: pointer; color: var(--ink); background: transparent; transition: background-color var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard); }
.kd-btn svg { width: 20px; height: 20px; flex: none; }
.kd-btn:active { transform: translateY(1px); }
.kd-btn--primary { background: var(--action); color: var(--on-action); box-shadow: var(--shadow-button); }
.kd-btn--primary:hover { background: var(--action-hover); }
.kd-btn--secondary { background: var(--glass-strong); border-color: var(--glass-border); box-shadow: var(--shadow-glass); -webkit-backdrop-filter: blur(var(--blur-lg)) saturate(var(--glass-saturate)); backdrop-filter: blur(var(--blur-lg)) saturate(var(--glass-saturate)); }
.kd-btn--secondary:hover { background: var(--surface-raised); }
.kd-btn--ghost:hover { background: var(--glass-subtle); }
.kd-btn--danger { background: var(--danger); color: var(--on-danger); }
.kd-btn--sm { min-height: 36px; padding: 0 var(--space-4); }
.kd-btn--lg { min-height: 52px; padding: 0 var(--space-8); font-size: 16px; line-height: 28px; }
.kd-btn--icon { width: 44px; padding: 0; }
.kd-btn--icon.kd-btn--sm { width: 36px; }
.kd-btn--block { width: 100%; }
.kd-btn:disabled, .kd-btn[aria-disabled="true"] { background: var(--surface); color: var(--ink-muted); border-color: var(--line); box-shadow: none; cursor: not-allowed; transform: none; }
.kd-btn[aria-busy="true"] { pointer-events: none; }
.kd-btn[aria-busy="true"]::before { content: ""; width: 16px; height: 16px; border: 2px solid currentColor; border-inline-start-color: transparent; border-radius: var(--radius-full); animation: kd-spin 800ms linear infinite; }
@keyframes kd-spin { to { transform: rotate(-360deg); } }

/* ---------- فیلدها ---------- */
.kd-field { display: flex; flex-direction: column; gap: var(--space-2); }
.kd-label { font-size: 14px; line-height: 22px; font-weight: 500; color: var(--ink); }
.kd-input, .kd-textarea, .kd-select { width: 100%; min-height: 48px; padding: 0 var(--space-4); border: 1px solid var(--line-strong); border-radius: var(--radius-md); background: var(--surface-raised); color: var(--ink); font-family: var(--font-sans); font-size: 16px; line-height: 28px; transition: border-color var(--motion-fast) var(--ease-standard); }
.kd-textarea { min-height: 120px; padding: var(--space-3) var(--space-4); resize: vertical; }
.kd-input::placeholder, .kd-textarea::placeholder { color: var(--ink-muted); }
.kd-input:focus-visible, .kd-textarea:focus-visible, .kd-select:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 2px; border-color: var(--action); }
.kd-input[dir="ltr"] { text-align: left; }
.kd-input:disabled, .kd-textarea:disabled, .kd-select:disabled { background: var(--surface); border-color: var(--line); color: var(--ink-muted); }
.kd-help { font-size: 13px; line-height: 22px; color: var(--ink-muted); }
.kd-error { display: flex; align-items: center; gap: var(--space-1); font-size: 13px; line-height: 22px; color: var(--danger); }
.kd-error svg { width: 16px; height: 16px; flex: none; }
.kd-field--error .kd-input, .kd-field--error .kd-textarea, .kd-field--error .kd-select { border-color: var(--danger); }
.kd-select-wrap { position: relative; }
.kd-select { appearance: none; padding-inline-end: var(--space-12); cursor: pointer; }
.kd-select-wrap::after { content: ""; position: absolute; inset-inline-end: var(--space-4); top: 50%; width: 16px; height: 16px; margin-top: -8px; background: var(--ink-muted); pointer-events: none;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat; }
.kd-otp { display: flex; gap: var(--space-2); direction: ltr; justify-content: center; }
.kd-otp input { width: 48px; height: 56px; padding: 0; text-align: center; border: 1px solid var(--line-strong); border-radius: var(--radius-md); background: var(--surface-raised); color: var(--ink); font-family: var(--font-sans); font-size: 20px; font-weight: 600; }
.kd-otp input:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 2px; }

/* ---------- انتخاب: چک‌باکس، رادیو، سوئیچ ---------- */
.kd-choice { display: flex; align-items: center; gap: var(--space-3); min-height: 44px; cursor: pointer; font-size: 16px; line-height: 28px; }
.kd-check, .kd-radio { appearance: none; flex: none; width: 20px; height: 20px; margin: 0; border: 1.5px solid var(--line-strong); background: var(--surface-raised); display: inline-grid; place-content: center; cursor: pointer; transition: background-color var(--motion-base) var(--ease-standard), border-color var(--motion-base) var(--ease-standard); }
.kd-check { border-radius: var(--radius-sm); }
.kd-radio { border-radius: var(--radius-full); }
.kd-check:checked { background: var(--action); border-color: var(--action); }
.kd-check:checked::after { content: ""; width: 14px; height: 14px; background: var(--on-action);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / contain no-repeat; }
.kd-radio:checked { border-color: var(--action); border-width: 6px; }
.kd-check:focus-visible, .kd-radio:focus-visible, .kd-switch:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 2px; }
.kd-check:disabled, .kd-radio:disabled, .kd-switch:disabled { opacity: 1; background: var(--surface); border-color: var(--line); cursor: not-allowed; }
.kd-switch { appearance: none; flex: none; position: relative; width: 44px; height: 26px; margin: 0; border-radius: var(--radius-full); background: var(--line-strong); cursor: pointer; transition: background-color var(--motion-base) var(--ease-standard); }
.kd-switch::before { content: ""; position: absolute; top: 3px; inset-inline-start: 3px; width: 20px; height: 20px; border-radius: var(--radius-full); background: var(--surface-raised); box-shadow: var(--shadow-glass); transition: transform var(--motion-base) var(--ease-standard); }
.kd-switch:checked { background: var(--action); }
.kd-switch:checked::before { transform: translateX(-18px); }
[dir="ltr"] .kd-switch:checked::before { transform: translateX(18px); }

/* ---------- تراشه و نشان ---------- */
.kd-chip { display: inline-flex; align-items: center; gap: var(--space-1); height: 28px; padding: 0 var(--space-3); border-radius: var(--radius-full); font-size: 13px; line-height: 22px; font-weight: 500; color: var(--ink); background: var(--glass-subtle); border: 1px solid var(--glass-border); white-space: nowrap; }
.kd-chip svg { width: 16px; height: 16px; }
.kd-chip--stage-1 { background: var(--teal-soft); color: var(--teal-ink); border-color: transparent; }
.kd-chip--stage-2 { background: var(--gold-soft); color: var(--gold-ink); border-color: transparent; }
.kd-chip--stage-3 { background: var(--navy-soft); color: var(--navy-ink); border-color: transparent; }
.kd-chip--soft { background: var(--surface); color: var(--ink); border-color: var(--line); }
.kd-chip--success { background: var(--success-soft); color: var(--success); border-color: transparent; }
.kd-chip--warning { background: var(--warning-soft); color: var(--warning); border-color: transparent; }
.kd-chip--danger { background: var(--danger-soft); color: var(--danger); border-color: transparent; }
.kd-badge { display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 6px; border-radius: var(--radius-full); background: var(--danger); color: var(--on-danger); font-size: 13px; line-height: 20px; font-weight: 600; }

/* ---------- کارت ---------- */
.kd-card { padding: var(--space-6); }
.kd-card--interactive { cursor: pointer; transition: box-shadow var(--motion-base) var(--ease-standard), transform var(--motion-base) var(--ease-standard); }
.kd-card--interactive:hover { box-shadow: var(--shadow-glass-hover); transform: translateY(-2px); }
.kd-card__media { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--radius-md); background: var(--navy-soft); margin-bottom: var(--space-4); }
.kd-card__title { margin: var(--space-3) 0 var(--space-2); font-family: var(--font-display); font-size: 20px; line-height: 32px; font-weight: 600; color: var(--ink); }
.kd-card__text { margin: 0; color: var(--ink-muted); }
.kd-card__meta { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-3); font-size: 13px; line-height: 22px; color: var(--ink-muted); }
.kd-card__footer { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); margin-top: var(--space-4); padding-top: var(--space-4); border-top: 1px solid var(--line); }
.kd-price { font-family: var(--font-display); font-size: 20px; line-height: 32px; font-weight: 700; color: var(--ink); }
.kd-price small { font-family: var(--font-sans); font-size: 13px; font-weight: 400; color: var(--ink-muted); }

/* ---------- سرصفحه و پاصفحه ---------- */
.kd-header { position: sticky; top: var(--space-4); z-index: var(--z-sticky); display: flex; align-items: center; gap: var(--space-6); padding: var(--space-2) var(--space-3); border-radius: var(--radius-full); }
.kd-header.is-scrolled { box-shadow: var(--shadow-float); }
.kd-header__brand { display: flex; align-items: center; padding-inline-start: var(--space-2); }
.kd-header__brand img { height: 32px; width: auto; vertical-align: middle; }
.kd-header__nav { display: none; gap: var(--space-1); }
.kd-header__nav a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 var(--space-3); border-radius: var(--radius-full); color: var(--ink-muted); text-decoration: none; font-size: 14px; line-height: 22px; font-weight: 500; }
.kd-header__nav a:hover { color: var(--ink); background: var(--glass-subtle); }
.kd-header__nav a[aria-current="page"] { color: var(--ink); background: var(--surface-raised); }
.kd-header__actions { display: flex; gap: var(--space-2); margin-inline-start: auto; }
.kd-header__menu { display: inline-flex; }
@media (min-width: 768px) { .kd-header__nav { display: flex; } .kd-header__menu { display: none; } }
.kd-footer { padding: var(--space-8); border-radius: var(--radius-xl); display: grid; gap: var(--space-8); grid-template-columns: 1fr; font-size: 14px; line-height: 22px; }
@media (min-width: 768px) { .kd-footer { grid-template-columns: 2fr 1fr 1fr 1fr; } }
.kd-footer h3 { margin: 0 0 var(--space-3); font-size: 14px; line-height: 22px; font-weight: 600; color: var(--ink); }
.kd-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-2); }
.kd-footer a { color: var(--ink-muted); text-decoration: none; }
.kd-footer a:hover { color: var(--ink); text-decoration: underline; }
.kd-footer__legal { grid-column: 1 / -1; padding-top: var(--space-4); border-top: 1px solid var(--line); font-size: 13px; color: var(--ink-muted); }

/* ---------- زبانه ---------- */
.kd-tabs { display: inline-flex; gap: var(--space-1); padding: var(--space-1); border-radius: var(--radius-full); }
.kd-tab { min-height: 36px; padding: 0 var(--space-4); border: 0; border-radius: var(--radius-full); background: transparent; color: var(--ink-muted); font-family: var(--font-sans); font-size: 14px; line-height: 22px; font-weight: 500; cursor: pointer; transition: background-color var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard); }
.kd-tab:hover { color: var(--ink); }
.kd-tab[aria-selected="true"] { background: var(--surface-raised); color: var(--ink); box-shadow: var(--shadow-glass); }

/* ---------- مرحله‌ها و پیشرفت ---------- */
.kd-stages { display: grid; gap: var(--space-3); grid-template-columns: 1fr; list-style: none; margin: 0; padding: 0; }
@media (min-width: 640px) { .kd-stages { grid-template-columns: repeat(3, 1fr); } }
.kd-stage { display: grid; grid-template-columns: auto 1fr; gap: var(--space-1) var(--space-3); align-items: center; padding: var(--space-4); }
.kd-stage__icon { grid-row: span 2; display: grid; place-items: center; width: 44px; height: 44px; border-radius: var(--radius-full); }
.kd-stage__icon svg { width: 20px; height: 20px; }
.kd-stage__name { font-family: var(--font-display); font-size: 16px; line-height: 28px; font-weight: 600; color: var(--ink); }
.kd-stage__status { font-size: 13px; line-height: 22px; color: var(--ink-muted); }
.kd-stage .kd-progress { grid-column: 1 / -1; margin-top: var(--space-2); }
.kd-stage--1 .kd-stage__icon { background: var(--teal-soft); color: var(--teal-ink); }
.kd-stage--2 .kd-stage__icon { background: var(--gold-soft); color: var(--gold-ink); }
.kd-stage--3 .kd-stage__icon { background: var(--navy-soft); color: var(--navy-ink); }
.kd-stage[data-state="upcoming"] .kd-stage__icon { background: var(--surface); color: var(--ink-muted); }
.kd-stage[data-state="current"] { border-color: var(--action); }
.kd-progress { height: 8px; border-radius: var(--radius-full); background: var(--line); overflow: hidden; }
.kd-progress > span { display: block; height: 100%; width: var(--value, 0%); border-radius: inherit; background: var(--action); transition: width var(--motion-slow) var(--ease-standard); }
.kd-progress--stage-1 > span { background: var(--stage-1); }
.kd-progress--stage-2 > span { background: var(--stage-2); }
.kd-progress--stage-3 > span { background: var(--stage-3); }
.kd-cycle { display: inline-grid; place-items: center; position: relative; }
.kd-cycle svg { display: block; transform: rotate(-90deg); }
.kd-cycle__track { fill: none; stroke: var(--line); stroke-linecap: round; }
.kd-cycle__arc { fill: none; stroke-linecap: round; transition: stroke-dashoffset var(--motion-slow) var(--ease-standard); }
.kd-cycle__arc--1 { stroke: var(--stage-1); }
.kd-cycle__arc--2 { stroke: var(--stage-2); }
.kd-cycle__arc--3 { stroke: var(--stage-3); }
.kd-cycle__label { position: absolute; text-align: center; }
.kd-cycle__label strong { display: block; font-family: var(--font-display); font-size: 24px; line-height: 38px; font-weight: 700; color: var(--ink); }
.kd-cycle__label span { font-size: 13px; line-height: 22px; color: var(--ink-muted); }

/* ---------- پیام، اعلان، پنجره، راهنما ---------- */
.kd-alert { display: flex; gap: var(--space-3); padding: var(--space-4); border-radius: var(--radius-lg); background: var(--navy-soft); color: var(--ink); font-size: 14px; line-height: 22px; }
.kd-alert > svg { width: 20px; height: 20px; flex: none; margin-top: 1px; color: var(--navy-ink); }
.kd-alert__title { display: block; font-weight: 600; margin-bottom: 2px; }
.kd-alert--success { background: var(--success-soft); } .kd-alert--success > svg { color: var(--success); }
.kd-alert--warning { background: var(--warning-soft); } .kd-alert--warning > svg { color: var(--warning); }
.kd-alert--danger { background: var(--danger-soft); } .kd-alert--danger > svg { color: var(--danger); }
.kd-toast { display: flex; align-items: center; gap: var(--space-3); min-width: 280px; max-width: 420px; padding: var(--space-3) var(--space-3) var(--space-3) var(--space-4); border-radius: var(--radius-lg); box-shadow: var(--shadow-float); font-size: 14px; line-height: 22px; z-index: var(--z-toast); }
.kd-toast > svg { width: 20px; height: 20px; flex: none; color: var(--success); }
.kd-toast__text { flex: 1; }
.kd-overlay { position: fixed; inset: 0; z-index: var(--z-overlay); display: grid; place-items: center; padding: var(--space-4); background: var(--overlay); -webkit-backdrop-filter: blur(var(--blur-sm)); backdrop-filter: blur(var(--blur-sm)); }
.kd-dialog { width: 100%; max-width: 480px; padding: var(--space-8); border-radius: var(--radius-xl); box-shadow: var(--shadow-dialog); z-index: var(--z-dialog); }
.kd-dialog__title { margin: 0 0 var(--space-2); font-family: var(--font-display); font-size: 24px; line-height: 38px; font-weight: 700; }
.kd-dialog__text { margin: 0; color: var(--ink-muted); }
.kd-dialog__actions { display: flex; justify-content: flex-end; gap: var(--space-2); margin-top: var(--space-8); }
.kd-tooltip { display: inline-block; max-width: 240px; padding: var(--space-1) var(--space-3); border-radius: var(--radius-sm); background: var(--ink); color: var(--surface); font-size: 13px; line-height: 22px; z-index: var(--z-dropdown); }
.kd-menu { min-width: 200px; padding: var(--space-2); border-radius: var(--radius-lg); box-shadow: var(--shadow-float); z-index: var(--z-dropdown); }
.kd-menu a, .kd-menu button { display: flex; align-items: center; gap: var(--space-2); width: 100%; min-height: 44px; padding: 0 var(--space-3); border: 0; border-radius: var(--radius-md); background: transparent; color: var(--ink); font-family: var(--font-sans); font-size: 14px; text-decoration: none; cursor: pointer; text-align: start; }
.kd-menu a:hover, .kd-menu button:hover { background: var(--glass-subtle); }

/* ---------- آواتار، حالت خالی، اسکلت، بارگذاری ---------- */
.kd-avatar { display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: var(--radius-full); overflow: hidden; background: var(--navy-soft); color: var(--navy-ink); font-size: 14px; font-weight: 600; flex: none; }
.kd-avatar img { width: 100%; height: 100%; object-fit: cover; }
.kd-avatar--sm { width: 32px; height: 32px; font-size: 13px; }
.kd-avatar--lg { width: 56px; height: 56px; font-size: 18px; }
.kd-empty { text-align: center; padding: var(--space-12) var(--space-6); border-radius: var(--radius-xl); }
.kd-empty__icon { display: inline-grid; place-items: center; width: 56px; height: 56px; border-radius: var(--radius-full); background: var(--navy-soft); color: var(--navy-ink); margin-bottom: var(--space-4); }
.kd-empty__icon svg { width: 24px; height: 24px; }
.kd-empty__title { margin: 0 0 var(--space-2); font-family: var(--font-display); font-size: 20px; line-height: 32px; font-weight: 600; }
.kd-empty__text { margin: 0 auto var(--space-6); max-width: 420px; color: var(--ink-muted); }
.kd-skeleton { position: relative; overflow: hidden; border-radius: var(--radius-sm); background: var(--line); }
.kd-skeleton::after { content: ""; position: absolute; inset: 0; background: linear-gradient(-90deg, transparent, var(--glass-border), transparent); transform: translateX(100%); animation: kd-shimmer 1.4s var(--ease-standard) infinite; }
@keyframes kd-shimmer { to { transform: translateX(-100%); } }
.kd-loader { display: inline-flex; flex-direction: column; align-items: center; gap: var(--space-2); }
.kd-loader svg { display: block; }
.kd-loader rect { fill: var(--ink); animation: kd-loader 1.1s linear infinite; animation-delay: calc(var(--i) * 100ms - 1.1s); }
@keyframes kd-loader { 0% { fill: var(--teal); } 35% { fill: var(--ink); } 100% { fill: var(--ink); } }
.kd-loader__text { font-size: 13px; line-height: 22px; color: var(--ink-muted); }

/* ---------- ناوبری: مسیر صفحه، صفحه‌بندی، آکاردئون ---------- */
.kd-breadcrumb ol { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); list-style: none; margin: 0; padding: 0; font-size: 13px; line-height: 22px; color: var(--ink-muted); }
.kd-breadcrumb li { display: inline-flex; align-items: center; gap: var(--space-2); }
.kd-breadcrumb a { color: var(--ink-muted); text-decoration: none; }
.kd-breadcrumb a:hover { color: var(--ink); text-decoration: underline; }
.kd-breadcrumb [aria-current="page"] { color: var(--ink); }
.kd-breadcrumb svg { width: 16px; height: 16px; }
.kd-pagination { display: flex; align-items: center; gap: var(--space-1); list-style: none; margin: 0; padding: 0; }
.kd-pagination a, .kd-pagination span { display: inline-grid; place-items: center; min-width: 44px; height: 44px; padding: 0 var(--space-2); border-radius: var(--radius-full); color: var(--ink); text-decoration: none; font-size: 14px; }
.kd-pagination a:hover { background: var(--glass-subtle); }
.kd-pagination [aria-current="page"] { background: var(--action); color: var(--on-action); }
.kd-pagination svg { width: 20px; height: 20px; }
.kd-accordion { border-bottom: 1px solid var(--line); }
.kd-accordion summary { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); min-height: 56px; padding: var(--space-3) 0; list-style: none; cursor: pointer; font-size: 16px; line-height: 28px; font-weight: 600; color: var(--ink); }
.kd-accordion summary::-webkit-details-marker { display: none; }
.kd-accordion summary svg { width: 20px; height: 20px; flex: none; color: var(--ink-muted); transition: transform var(--motion-base) var(--ease-standard); }
.kd-accordion[open] summary svg { transform: rotate(180deg); }
.kd-accordion__body { padding: 0 0 var(--space-4); color: var(--ink-muted); }

/* ---------- جدول ---------- */
.kd-table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 22px; }
.kd-table th { padding: var(--space-3) var(--space-4); text-align: start; font-size: 13px; font-weight: 500; color: var(--ink-muted); border-bottom: 1px solid var(--line); }
.kd-table td { padding: var(--space-3) var(--space-4); border-bottom: 1px solid var(--line); color: var(--ink); }
.kd-table tr:last-child td { border-bottom: 0; }
.kd-table .kd-num { text-align: end; font-variant-numeric: tabular-nums; }

/* ---------- آموزش: درس، ویدیو ---------- */
.kd-lessons { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-1); }
.kd-lesson { display: flex; align-items: center; gap: var(--space-3); min-height: 56px; padding: var(--space-2) var(--space-3); border-radius: var(--radius-md); color: var(--ink); text-decoration: none; }
.kd-lesson:hover { background: var(--glass-subtle); }
.kd-lesson__icon { display: grid; place-items: center; width: 32px; height: 32px; border-radius: var(--radius-full); background: var(--surface); color: var(--ink-muted); flex: none; }
.kd-lesson__icon svg { width: 16px; height: 16px; }
.kd-lesson__title { flex: 1; font-size: 14px; line-height: 22px; font-weight: 500; }
.kd-lesson__time { font-size: 13px; line-height: 22px; color: var(--ink-muted); }
.kd-lesson[data-state="done"] .kd-lesson__icon { background: var(--success-soft); color: var(--success); }
.kd-lesson[aria-current="true"] { background: var(--navy-soft); }
.kd-lesson[aria-current="true"] .kd-lesson__icon { background: var(--action); color: var(--on-action); }
.kd-lesson[data-state="locked"], .kd-lesson[data-state="upcoming"] { color: var(--ink-muted); }
.kd-video { position: relative; aspect-ratio: 16 / 9; border-radius: var(--radius-lg); overflow: hidden; background: var(--surface); color: var(--ink); }
.kd-video__play { position: absolute; inset: 0; margin: auto; width: 64px; height: 64px; border-radius: var(--radius-full); border: 0; background: var(--action); color: var(--on-action); display: grid; place-items: center; box-shadow: var(--shadow-button); cursor: pointer; }
.kd-video__play svg { width: 28px; height: 28px; }
.kd-video__bar { position: absolute; inset-inline: var(--space-3); bottom: var(--space-3); display: flex; align-items: center; gap: var(--space-3); padding: var(--space-2) var(--space-4); border-radius: var(--radius-full); font-size: 13px; line-height: 22px; }
.kd-video__bar .kd-progress { flex: 1; }

/* ---------- آزمون و نتیجه ---------- */
.kd-question { padding: var(--space-8); border-radius: var(--radius-xl); }
.kd-question__head { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); font-size: 13px; line-height: 22px; color: var(--ink-muted); margin-bottom: var(--space-2); }
.kd-question__text { margin: var(--space-6) 0; font-family: var(--font-display); font-size: 20px; line-height: 32px; font-weight: 600; }
.kd-options { display: grid; gap: var(--space-2); }
.kd-option { display: flex; align-items: center; gap: var(--space-3); min-height: 56px; padding: var(--space-3) var(--space-4); border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface-raised); cursor: pointer; transition: border-color var(--motion-fast) var(--ease-standard), background-color var(--motion-fast) var(--ease-standard); }
.kd-option:hover { border-color: var(--line-strong); }
.kd-option:has(input:checked) { border-color: var(--action); background: var(--navy-soft); }
.kd-bars { display: grid; gap: var(--space-3); }
.kd-bar { display: grid; grid-template-columns: 112px 1fr 40px; align-items: center; gap: var(--space-3); font-size: 14px; line-height: 22px; }
.kd-bar__track { height: 12px; }
.kd-bar__fill { display: block; height: 100%; width: var(--value); background: var(--chart-1); border-radius: 4px 0 0 4px; }
.kd-bar:hover .kd-bar__fill { filter: brightness(1.08); }
.kd-bar__value { text-align: end; font-weight: 600; color: var(--ink); font-variant-numeric: tabular-nums; }

/* ---------- رزرو و تقویم ---------- */
.kd-slots { display: grid; grid-template-columns: repeat(auto-fill, minmax(88px, 1fr)); gap: var(--space-2); }
.kd-slot { min-height: 44px; border: 1px solid var(--line-strong); border-radius: var(--radius-full); background: var(--surface-raised); color: var(--ink); font-family: var(--font-sans); font-size: 14px; cursor: pointer; }
.kd-slot:hover { border-color: var(--action); }
.kd-slot[aria-pressed="true"] { background: var(--action); border-color: var(--action); color: var(--on-action); }
.kd-slot:disabled { background: var(--surface); border-color: var(--line); color: var(--ink-muted); text-decoration: line-through; cursor: not-allowed; }
.kd-calendar { padding: var(--space-4); border-radius: var(--radius-lg); }
.kd-calendar__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: var(--space-3); font-family: var(--font-display); font-size: 16px; line-height: 28px; font-weight: 600; }
.kd-calendar__grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: var(--space-1); text-align: center; }
.kd-calendar__wd { font-size: 13px; line-height: 22px; color: var(--ink-muted); padding-bottom: var(--space-1); }
.kd-calendar__day { display: grid; place-items: center; height: 40px; border: 0; border-radius: var(--radius-full); background: transparent; color: var(--ink); font-family: var(--font-sans); font-size: 14px; cursor: pointer; }
.kd-calendar__day:hover { background: var(--glass-subtle); }
.kd-calendar__day[aria-current="date"] { box-shadow: inset 0 0 0 1.5px var(--action); }
.kd-calendar__day[aria-selected="true"] { background: var(--action); color: var(--on-action); }
.kd-calendar__day:disabled { color: var(--ink-muted); opacity: 0.6; cursor: default; }
.kd-calendar__day--friday { color: var(--danger); }

@media (prefers-reduced-motion: reduce) {
  .kd-page *, .kd-btn, .kd-card--interactive, .kd-switch::before, .kd-progress > span { transition: none !important; }
  .kd-skeleton::after, .kd-loader rect, .kd-btn[aria-busy="true"]::before { animation: none !important; }
  .kd-loader rect[data-accent] { fill: var(--teal); }
}

/* ---------- لوگو در دو حالت ---------- */
:root, [data-theme="light"] { --kd-show-light: inline-block; --kd-show-dark: none; }
[data-theme="dark"] { --kd-show-light: none; --kd-show-dark: inline-block; }
.kd-logo-light { display: var(--kd-show-light); }
.kd-logo-dark { display: var(--kd-show-dark); }

html { background: var(--surface); scroll-padding-top: 104px; -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
body { margin: 0; background: transparent; }
img { max-width: 100%; }
.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; }
.skip { position: absolute; inset-inline-start: 16px; top: -60px; z-index: 600; padding: 8px 16px; border-radius: var(--radius-full); background: var(--action); color: var(--on-action); text-decoration: none; }
.skip:focus { top: 16px; }

/* fixed colour field behind every glass surface */
.page-aura { position: fixed; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; }
.page-aura .kd-aura { position: absolute; }

/* header */
.top { position: sticky; top: 0; z-index: var(--z-sticky); padding-top: var(--space-4); }
.kd-header { position: relative; top: 0; }
.kd-header__brand img { height: 32px; }
.kd-header__menu { width: 44px; height: 44px; }
.mnav { display: none; position: absolute; top: calc(100% + 8px); inset-inline: 0; padding: var(--space-2); border-radius: var(--radius-lg); box-shadow: var(--shadow-float); }
.mnav[data-open] { display: grid; }
.mnav a { display: flex; align-items: center; min-height: 48px; padding: 0 var(--space-4); border-radius: var(--radius-md); color: var(--ink); text-decoration: none; font-weight: 500; }
.mnav a:hover { background: var(--glass-subtle); }
@media (min-width: 768px) { .mnav { display: none !important; } }
@media (max-width: 420px) { .kd-header { gap: var(--space-2); } .kd-header__brand img { height: 28px; } .top-cta { padding-inline: var(--space-4); } }

/* sections */
main > section { margin-top: var(--space-16); }
@media (min-width: 1024px) { main > section { margin-top: var(--space-24); } }
.sec-head { max-width: 720px; margin-bottom: var(--space-8); }
.sec-head h2 { margin: var(--space-3) 0 var(--space-2); color: var(--ink); }
.sec-head p { margin: 0; color: var(--ink-muted); }

/* hero */
.hero { display: grid; gap: var(--space-12); align-items: center; margin-top: var(--space-12); }
.hero h1 { margin: var(--space-4) 0; color: var(--ink); }
.hero p.lead { margin: 0 0 var(--space-8); color: var(--ink-muted); max-width: 560px; }
.hero .row { display: flex; flex-wrap: wrap; gap: var(--space-3); }
.mosaic { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-4); width: 100%; max-width: 520px; margin-inline: auto; padding-bottom: var(--space-12); }
.pic { display: block; background-color: var(--navy-soft); background-size: cover; background-position: 50% 15%; background-repeat: no-repeat; }
.mosaic__img { width: 100%; aspect-ratio: 4 / 5; border-radius: var(--radius-xl); box-shadow: var(--shadow-glass); border: 1px solid var(--glass-border); }
.mosaic > :nth-child(even) { transform: translateY(var(--space-12)); }
.mosaic__badge { position: absolute; inset-inline-start: 50%; bottom: 0; transform: translateX(50%); display: flex; gap: var(--space-3); align-items: center; padding: var(--space-3) var(--space-4); border-radius: var(--radius-lg); white-space: nowrap; }
.mosaic__badge strong { display: block; color: var(--ink); }
.mosaic__badge span { font-size: 13px; line-height: 22px; color: var(--ink-muted); }
@media (min-width: 1024px) { .hero { grid-template-columns: 1.1fr 1fr; margin-top: var(--space-16); } }

/* stats */
.stats { display: grid; gap: var(--space-4); padding: var(--space-6); border-radius: var(--radius-xl); text-align: center; }
.stats strong { display: block; font-family: var(--font-display); font-size: 28px; line-height: 44px; font-weight: 800; color: var(--ink); }
.stats span { font-size: 14px; line-height: 22px; color: var(--ink-muted); }
@media (min-width: 768px) { .stats { grid-template-columns: repeat(3, 1fr); padding: var(--space-8); } .stats > div + div { border-inline-start: 1px solid var(--line); } .stats strong { font-size: 32px; line-height: 48px; } }

/* about */
.about { display: grid; gap: var(--space-8); align-items: start; }
.about .prose p { margin: 0 0 var(--space-4); color: var(--ink); }
.quote { margin: 0; padding: var(--space-8); border-radius: var(--radius-xl); }
.quote p { margin: 0; font-size: 18px; line-height: 34px; color: var(--ink); }
.quote footer { margin-top: var(--space-4); font-size: 14px; color: var(--ink-muted); }
.cycle-list { list-style: none; margin: var(--space-6) 0 0; padding: 0; display: grid; gap: var(--space-2); }
.cycle-list a { display: flex; gap: var(--space-3); align-items: center; padding: var(--space-3) var(--space-4); border-radius: var(--radius-md); background: var(--surface-raised); border: 1px solid var(--line); color: var(--ink); text-decoration: none; }
.cycle-list a:hover { border-color: var(--line-strong); }
.cycle-list small { display: block; color: var(--ink-muted); font-size: 13px; line-height: 20px; }
@media (min-width: 1024px) { .about { grid-template-columns: 1.15fr 1fr; gap: var(--space-12); } }

/* courses */
.course { padding: var(--space-6); border-radius: var(--radius-xl); }
.course + .course { margin-top: var(--space-6); }
.course__grid { display: grid; gap: var(--space-8); }
.course h3 { margin: var(--space-3) 0 var(--space-1); color: var(--ink); }
.course .sub { margin: 0 0 var(--space-4); font-weight: 600; color: var(--ink-muted); }
.course p.desc { margin: 0 0 var(--space-6); color: var(--ink); }
.course h4 { margin: var(--space-6) 0 var(--space-3); font-size: 16px; line-height: 28px; font-weight: 700; color: var(--ink); }
.qlist { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-2); }
.qlist li { display: flex; gap: var(--space-2); align-items: flex-start; color: var(--ink); }
.qlist svg { flex: none; width: 20px; height: 20px; margin-top: 4px; }
.callout { margin-top: var(--space-6); padding: var(--space-4); border-radius: var(--radius-md); border-inline-start: 4px solid var(--c); background: var(--c-soft); color: var(--ink); }
.callout strong { display: block; margin-bottom: var(--space-1); color: var(--c-ink); }
.s1 { --c: var(--stage-1); --c-soft: var(--teal-soft); --c-ink: var(--teal-ink); }
.s2 { --c: var(--stage-2); --c-soft: var(--gold-soft); --c-ink: var(--gold-ink); }
.s3 { --c: var(--stage-3); --c-soft: var(--navy-soft); --c-ink: var(--navy-ink); }
.s1 .qlist svg, .s2 .qlist svg, .s3 .qlist svg { color: var(--c-ink); }
.groups { display: grid; gap: var(--space-3); margin-top: var(--space-6); }
.group { padding: var(--space-4); border-radius: var(--radius-md); border: 1px solid var(--line); background: var(--surface-raised); }
.group strong { display: block; color: var(--ink); }
.group span { font-size: 14px; line-height: 24px; color: var(--ink-muted); }
@media (min-width: 640px) { .groups { grid-template-columns: 1fr 1fr; } }
.syll { margin-top: var(--space-6); border-top: 1px solid var(--line); }
.syll > summary { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); min-height: 52px; cursor: pointer; list-style: none; font-weight: 600; color: var(--ink); }
.syll > summary::-webkit-details-marker { display: none; }
.syll > summary svg { width: 20px; height: 20px; transition: transform var(--dur-fast, 150ms) ease; }
.syll[open] > summary svg { transform: rotate(180deg); }
.syll ol { margin: 0 0 var(--space-2); padding-inline-start: var(--space-6); display: grid; gap: var(--space-3); }
.syll li { color: var(--ink); }
.syll li b { display: block; }
.syll li span { color: var(--ink-muted); font-size: 15px; line-height: 26px; }
.note { margin-top: var(--space-3); font-size: 13px; line-height: 22px; color: var(--ink-muted); }
.facts { align-self: start; padding: var(--space-5, 20px); border-radius: var(--radius-lg); background: var(--surface-raised); border: 1px solid var(--line); }
.facts dl { margin: 0; display: grid; gap: var(--space-3); }
.facts dl > div { display: flex; gap: var(--space-3); align-items: flex-start; }
.facts dt { flex: none; display: grid; place-items: center; width: 36px; height: 36px; border-radius: var(--radius-full); background: var(--c-soft); color: var(--c-ink); }
.facts dt svg { width: 18px; height: 18px; }
.facts dd { margin: 0; font-size: 15px; line-height: 24px; color: var(--ink); }
.facts dd small { display: block; font-size: 13px; line-height: 20px; color: var(--ink-muted); }
.reg { margin-top: var(--space-6); padding-top: var(--space-4); border-top: 1px solid var(--line); display: grid; gap: var(--space-4); }
.reg__item strong { display: block; color: var(--ink); }
.reg__item span { display: block; margin-bottom: var(--space-2); font-size: 14px; line-height: 22px; color: var(--ink-muted); }
.soon { margin-top: var(--space-6); padding: var(--space-4); border-radius: var(--radius-md); background: var(--surface); border: 1px dashed var(--line-strong); color: var(--ink-muted); font-size: 14px; line-height: 24px; }
@media (min-width: 1024px) { .course { padding: var(--space-8); } .course__grid { grid-template-columns: 1.55fr 1fr; gap: var(--space-12); } .facts { position: sticky; top: 112px; } }
.course-coach { display: flex; gap: var(--space-4); align-items: center; margin-top: var(--space-6); padding: var(--space-4) var(--space-6); border-radius: var(--radius-xl); }
.course-coach strong { display: block; color: var(--ink); }
.course-coach span { color: var(--ink-muted); font-size: 14px; }

/* coaches */
.coaches { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); }
@media (min-width: 768px) { .coaches { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6); } }
@media (min-width: 1024px) { .coaches { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.coach { display: flex; flex-direction: column; width: 100%; padding: var(--space-3); text-align: start; font: inherit; color: inherit; cursor: pointer; border-radius: var(--radius-lg); }
.coach:hover { box-shadow: var(--shadow-glass-hover); transform: translateY(-2px); }
@media (prefers-reduced-motion: reduce) { .coach:hover { transform: none; } }
.coach__photo, .ph { display: block; width: 100%; aspect-ratio: 4 / 5; border-radius: var(--radius-md); }
.ph { display: grid; place-items: center; background: linear-gradient(160deg, var(--teal-soft), var(--navy-soft)); color: var(--navy-ink); font-family: var(--font-display); font-size: 56px; line-height: 1; font-weight: 800; }
.coach__name { margin: var(--space-3) 0 0; font-family: var(--font-display); font-size: 18px; line-height: 30px; font-weight: 700; color: var(--ink); }
.coach__title { margin: var(--space-1) 0 0; font-size: 13px; line-height: 22px; color: var(--ink-muted); }
.coach__more { display: inline-flex; gap: var(--space-1); align-items: center; margin-top: var(--space-3); font-size: 14px; font-weight: 600; color: var(--link); }
.coach__more svg { width: 16px; height: 16px; }
@media (min-width: 768px) { .coach { padding: var(--space-4); } .coach__name { font-size: 20px; line-height: 32px; } .coach__title { font-size: 14px; } }

/* coach dialog */
.cd { width: min(960px, calc(100% - 32px)); max-height: min(88vh, 900px); padding: 0; border: 1px solid var(--glass-border); border-radius: var(--radius-xl); background: var(--surface-raised); color: var(--ink); box-shadow: var(--shadow-dialog); overflow: hidden; }
.cd::backdrop { background: var(--overlay); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.cd__in { position: relative; max-height: inherit; overflow-y: auto; overscroll-behavior: contain; display: grid; gap: var(--space-6); padding: var(--space-6); }
.cd__close { position: sticky; top: 0; z-index: 2; justify-self: end; margin-bottom: calc(-1 * var(--space-12)); }
.cd__side .coach__photo, .cd__side .ph { max-width: 240px; }
.cd__side .tags { margin-top: var(--space-4); }
.cd h2 { margin: 0; color: var(--ink); }
.cd .ttl { margin: var(--space-1) 0 var(--space-6); color: var(--ink-muted); font-weight: 600; }
.cd p { margin: 0 0 var(--space-4); }
.cd h3 { margin: var(--space-8) 0 var(--space-3); font-family: var(--font-display); font-size: 20px; line-height: 32px; font-weight: 700; color: var(--ink); }
.cd blockquote { margin: 0; padding: var(--space-4) var(--space-6); border-radius: var(--radius-md); border-inline-start: 4px solid var(--teal); background: var(--teal-soft); color: var(--ink); }
.cd ul.fit { margin: 0; padding: 0; list-style: none; display: grid; gap: var(--space-2); }
.cd ul.fit li { display: flex; gap: var(--space-2); align-items: flex-start; }
.cd ul.fit svg { flex: none; width: 20px; height: 20px; margin-top: 4px; color: var(--teal-ink); }
.tags { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.tag { display: inline-flex; align-items: center; min-height: 30px; padding: 0 var(--space-3); border-radius: var(--radius-full); background: var(--surface); border: 1px solid var(--line); font-size: 13px; line-height: 22px; color: var(--ink); }
@media (min-width: 768px) { .cd__in { grid-template-columns: 240px 1fr; gap: var(--space-8); padding: var(--space-8); } .cd__close { grid-column: 1 / -1; } .cd__side { position: sticky; top: 64px; align-self: start; } }
@media (max-width: 767px) { .cd { width: 100%; max-width: 100%; height: 100dvh; max-height: 100dvh; border-radius: 0; border: 0; } .cd__side .coach__photo, .cd__side .ph { max-width: 180px; } }

/* faq + footer */
.faq { padding: 0 var(--space-6); }
.faq .kd-accordion:last-child { border-bottom: 0; }
.site-foot { margin-top: var(--space-16); margin-bottom: var(--space-8); }
.site-foot .kd-footer { grid-template-columns: 1fr; }
@media (min-width: 768px) { .site-foot .kd-footer { grid-template-columns: 2fr 1fr 1fr; } }

/* type steps down on small screens */
@media (max-width: 639px) {
  .display { font-size: 32px; line-height: 48px; }
  .title { font-size: 26px; line-height: 40px; }
  .heading { font-size: 21px; line-height: 34px; }
  .body-lg { font-size: 17px; line-height: 30px; }
}

/* posters */
.poster { position: relative; display: block; width: 100%; padding: 0; margin: 0 0 var(--space-3); border: 1px solid var(--line); border-radius: var(--radius-md); overflow: hidden; background: var(--surface-raised); cursor: zoom-in; font: inherit; }
.poster img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.poster svg { position: absolute; inset-inline-start: var(--space-2); bottom: var(--space-2); width: 32px; height: 32px; padding: 7px; border-radius: var(--radius-full); background: var(--glass-strong); color: var(--ink); box-shadow: var(--shadow-glass); }
.poster:hover { border-color: var(--line-strong); }
.pv { width: min(1100px, calc(100% - 32px)); background: var(--surface-raised); }
.pv__in { position: relative; padding: var(--space-4); }
.pv__in img { display: block; width: 100%; height: auto; border-radius: var(--radius-md); }
.pv .cd__close { position: absolute; top: var(--space-6); inset-inline-end: var(--space-6); margin: 0; }
@media (max-width: 767px) { .pv { height: fit-content; max-height: calc(100dvh - 16px); border-radius: var(--radius-lg); width: calc(100% - 16px); } .pv__in { padding: var(--space-2); } .pv .cd__close { top: var(--space-3); inset-inline-end: var(--space-3); } }

/* official course texts */
.course p.desc { margin: 0 0 var(--space-4); }
.course .lead3 { margin: 0 0 var(--space-6); padding-inline-start: var(--space-4); border-inline-start: 3px solid var(--c); font-weight: 600; color: var(--ink); }
.lists { display: grid; gap: var(--space-2); }
@media (min-width: 1280px) { .lists { grid-template-columns: 1fr 1fr; gap: var(--space-8); } }
.feat { margin: 0 0 var(--space-2); padding-inline-start: var(--space-6); display: grid; gap: var(--space-2); color: var(--ink); }
.kd-chip--soon { background: var(--gold-soft); color: var(--gold-ink); border-color: transparent; }
.soon strong { display: block; margin-bottom: var(--space-1); color: var(--gold-ink); }
.syll + .syll { border-top: 1px solid var(--line); }

.course-coach { width: 100%; text-align: start; font: inherit; color: inherit; cursor: pointer; border: 1px solid var(--glass-border); }
.course-coach:hover { box-shadow: var(--shadow-glass-hover); }
.course-coach > span:nth-child(2) strong { display: block; color: var(--ink); }
.course-coach > span:nth-child(2) span { color: var(--ink-muted); font-size: 14px; }
.cd__links { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-6); }

/* ================= v2: conversion layout ================= */
:root { --hdr: 96px; }
.eyebrow { display: inline-flex; gap: var(--space-2); align-items: center; }
/* hero */
.hero2 { display: grid; gap: var(--space-12); align-items: center; margin-top: var(--space-10, 40px); }
.hero2 h1 { margin: var(--space-4) 0; color: var(--ink); }
.hero2 .lead { margin: 0 0 var(--space-8); color: var(--ink-muted); max-width: 580px; }
.hero2 .row { display: flex; flex-wrap: wrap; gap: var(--space-3); }
.trust { display: flex; flex-wrap: wrap; gap: var(--space-4) var(--space-6); margin-top: var(--space-8); padding-top: var(--space-6); border-top: 1px solid var(--line); }
.trust div strong { display: block; font-family: var(--font-display); font-size: 22px; line-height: 34px; font-weight: 800; color: var(--ink); }
.trust div span { font-size: 13px; line-height: 20px; color: var(--ink-muted); }
@media (min-width: 1024px) { .hero2 { grid-template-columns: 1.05fr 1fr; margin-top: var(--space-16); } }
.team { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-3); width: 100%; max-width: 560px; margin-inline: auto; padding-bottom: var(--space-16); }
.team .t { position: relative; display: block; width: 100%; aspect-ratio: 4 / 5; padding: 0; border: 1px solid var(--glass-border); border-radius: var(--radius-lg); box-shadow: var(--shadow-glass); cursor: pointer; overflow: hidden; transition: transform 200ms ease, box-shadow 200ms ease; }
.team .t:nth-child(even) { transform: translateY(var(--space-8)); }
.team .t:hover { box-shadow: var(--shadow-glass-hover); }
.team .t .ph { position: absolute; inset: 0; height: 100%; aspect-ratio: auto; border-radius: 0; font-size: 40px; }
.team .t::after { content: attr(data-name); position: absolute; inset-inline: 6px; bottom: 6px; padding: 2px 8px; border-radius: var(--radius-full); background: var(--glass-strong); color: var(--ink); font-size: 11px; line-height: 20px; font-weight: 600; text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; opacity: 0; transition: opacity 150ms ease; }
.team .t:hover::after, .team .t:focus-visible::after { opacity: 1; }
.team__badge { position: absolute; inset-inline-start: 50%; bottom: 0; transform: translateX(50%); display: flex; gap: var(--space-3); align-items: center; padding: var(--space-3) var(--space-5, 20px); border-radius: var(--radius-full); white-space: nowrap; }
.team__badge strong { color: var(--ink); }
.team__badge span { font-size: 13px; color: var(--ink-muted); }
@media (prefers-reduced-motion: reduce) { .team .t { transition: none; } }
@media (max-width: 480px) { .team { gap: var(--space-2); } .team .t:nth-child(even) { transform: translateY(var(--space-6)); } .team__badge { padding: var(--space-2) var(--space-4); } }

/* pains + illustration */
.pains { display: grid; gap: var(--space-3); }
@media (min-width: 640px) { .pains { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .pains { grid-template-columns: repeat(4, 1fr); gap: var(--space-4); } }
.pain { display: flex; gap: var(--space-3); align-items: flex-start; padding: var(--space-5, 20px); border-radius: var(--radius-lg); font-size: 16px; line-height: 28px; color: var(--ink); }
.pain svg { flex: none; width: 22px; height: 22px; margin-top: 3px; color: var(--teal-ink); }
.answer { margin: var(--space-8) 0 0; max-width: 820px; font-size: 18px; line-height: 34px; color: var(--ink); }
.answer b { color: var(--teal-ink); }
.illus { position: relative; margin: var(--space-8) 0 0; border-radius: var(--radius-xl); overflow: hidden; background: #f4f4f2; border: 1px solid var(--glass-border); box-shadow: var(--shadow-glass); }
.illus img { display: block; width: 100%; height: auto; }
.illus figcaption { position: absolute; inset-inline-end: var(--space-6); top: 50%; transform: translateY(-50%); max-width: 340px; padding: var(--space-5, 20px) var(--space-6); border-radius: var(--radius-lg); color: var(--ink); }
.illus figcaption b { display: block; font-family: var(--font-display); font-size: 22px; line-height: 36px; font-weight: 800; color: #0f1b3d; }
.illus figcaption span { display: block; margin-top: var(--space-2); font-size: 15px; line-height: 26px; color: #4f5973; }
.illus figcaption.kd-glass-strong { background: rgba(255, 255, 255, 0.86); }
[data-theme="dark"] .illus img { filter: brightness(.94); }
@media (max-width: 767px) { .illus figcaption { position: static; transform: none; max-width: none; border-radius: 0; border: 0; box-shadow: none; } .illus { background: #ffffff; } }

/* how it works */
.how { display: grid; gap: var(--space-4); }
@media (min-width: 768px) { .how { grid-template-columns: repeat(3, 1fr); gap: var(--space-6); } }
.step { position: relative; display: flex; flex-direction: column; gap: var(--space-2); padding: var(--space-6); border-radius: var(--radius-xl); color: var(--ink); text-decoration: none; border-top: 4px solid var(--c); }
.step:hover { box-shadow: var(--shadow-glass-hover); }
.step__n { font-family: var(--font-display); font-size: 40px; line-height: 1; font-weight: 800; color: var(--c-ink); opacity: .9; }
.step h3 { margin: var(--space-2) 0 0; font-family: var(--font-display); font-size: 22px; line-height: 34px; font-weight: 700; }
.step p { margin: 0; color: var(--ink-muted); }
.step .meta { margin-top: auto; padding-top: var(--space-3); font-size: 13px; color: var(--c-ink); font-weight: 600; }
.aboutq { display: grid; gap: var(--space-6); margin-top: var(--space-8); align-items: center; }
@media (min-width: 1024px) { .aboutq { grid-template-columns: 1fr 1.1fr; gap: var(--space-12); } }
.aboutq p { margin: 0 0 var(--space-3); color: var(--ink); }

/* chooser */
.chooser { padding: var(--space-6); border-radius: var(--radius-xl); display: grid; gap: var(--space-8); }
@media (min-width: 1024px) { .chooser { grid-template-columns: 1.1fr 1fr; padding: var(--space-8); gap: var(--space-12); } }
.q { border: 0; margin: 0 0 var(--space-6); padding: 0; }
.q legend { padding: 0; margin-bottom: var(--space-3); font-weight: 700; color: var(--ink); }
.q legend small { font-weight: 400; color: var(--ink-muted); margin-inline-start: var(--space-2); }
.opts { display: grid; gap: var(--space-2); }
.opts--row { grid-template-columns: 1fr 1fr; }
.opt { position: relative; display: flex; gap: var(--space-3); align-items: center; min-height: 52px; padding: var(--space-3) var(--space-4); border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface-raised); color: var(--ink); cursor: pointer; font-size: 15px; line-height: 24px; }
.opt:hover { border-color: var(--line-strong); }
.opt input { position: absolute; opacity: 0; pointer-events: none; }
.opt::before { content: ""; flex: none; width: 20px; height: 20px; border-radius: 50%; border: 2px solid var(--line-strong); background: var(--surface-raised); }
.opt:has(input:checked) { border-color: var(--action); background: var(--navy-soft); }
.opt:has(input:checked)::before { border-color: var(--action); background: radial-gradient(circle, var(--action) 0 4px, var(--surface-raised) 5px); }
.opt:has(input:focus-visible) { outline: 2px solid var(--focus-ring); outline-offset: 2px; }
.result { align-self: stretch; display: flex; flex-direction: column; gap: var(--space-3); padding: var(--space-6); border-radius: var(--radius-lg); background: var(--surface-raised); border: 1px solid var(--line); }
.result[data-empty] { justify-content: center; align-items: center; text-align: center; color: var(--ink-muted); border-style: dashed; }
.result[data-empty] svg { width: 40px; height: 40px; color: var(--line-strong); }
.result h3 { margin: 0; font-family: var(--font-display); font-size: 22px; line-height: 34px; font-weight: 700; color: var(--ink); }
.result p { margin: 0; color: var(--ink); }
.result .acts { display: grid; gap: var(--space-2); margin-top: auto; padding-top: var(--space-3); }
.result .tip { font-size: 13px; line-height: 22px; color: var(--ink-muted); }

/* course tabs */
.ctabs { display: grid; gap: var(--space-2); margin-bottom: var(--space-6); }
@media (min-width: 768px) { .ctabs { grid-template-columns: repeat(3, 1fr); gap: var(--space-4); } }
.ctab { display: flex; gap: var(--space-3); align-items: center; width: 100%; padding: var(--space-4); border-radius: var(--radius-lg); border: 1px solid var(--glass-border); text-align: start; font: inherit; color: var(--ink); cursor: pointer; }
.ctab__n { flex: none; display: grid; place-items: center; width: 44px; height: 44px; border-radius: var(--radius-full); background: var(--c-soft); color: var(--c-ink); font-family: var(--font-display); font-size: 20px; font-weight: 800; }
.ctab strong { display: block; font-size: 16px; line-height: 26px; }
.ctab small { display: block; font-size: 13px; line-height: 20px; color: var(--ink-muted); }
.ctab[aria-selected="true"] { background: var(--surface-raised); border-color: var(--c); box-shadow: inset 0 -3px 0 var(--c), var(--shadow-glass); }
.js .course[hidden] { display: none; }
.course + .course { margin-top: var(--space-6); }
.js .course + .course { margin-top: 0; }

/* final cta */
.final { position: relative; overflow: hidden; padding: var(--space-12) var(--space-6); border-radius: var(--radius-xl); background: #0f1b3d; color: #eef1f7; text-align: center; }
.final::before { content: ""; position: absolute; width: 220px; height: 220px; border-radius: 50%; background: #e1b12c; top: -70px; inset-inline-start: 8%; opacity: .9; filter: blur(2px); }
.final::after { content: ""; position: absolute; width: 520px; height: 520px; border-radius: 50%; background: radial-gradient(circle, rgba(26, 188, 173, .35), transparent 70%); bottom: -260px; inset-inline-end: -120px; }
.final > * { position: relative; z-index: 1; }
.final h2 { margin: 0 0 var(--space-3); color: #ffffff; }
.final p { margin: 0 auto var(--space-8); max-width: 620px; color: #c9d0e0; }
.final .acts { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--space-3); }
.final .kd-btn--primary { background: #1abcad; color: #0f1b3d; box-shadow: 0 4px 16px rgba(26, 188, 173, .32); }
.final .kd-btn--primary:hover { background: #60c9c6; }
.final .kd-btn--secondary { background: rgba(255, 255, 255, .08); color: #ffffff; border: 1px solid rgba(255, 255, 255, .24); box-shadow: none; }
@media (min-width: 768px) { .final { padding: var(--space-16) var(--space-12); } }

/* mobile sticky cta */
.mbar { position: fixed; inset-inline: var(--space-3); bottom: var(--space-3); z-index: var(--z-sticky); display: flex; gap: var(--space-2); padding: var(--space-2); border-radius: var(--radius-full); transform: translateY(140%); transition: transform 250ms ease; }
.mbar.is-on { transform: none; }
.mbar .kd-btn--primary { flex: 1; }
@media (min-width: 768px) { .mbar { display: none; } }
@media (prefers-reduced-motion: reduce) { .mbar { transition: none; } }
@media (max-width: 767px) { body { padding-bottom: 84px; } }
/* fixes */
.illus figcaption { inset-inline-end: auto; left: 25%; right: auto; top: auto; bottom: 7%; transform: none; max-width: 31%; }
@media (max-width: 1023px) { .illus figcaption { position: static; max-width: none; border-radius: 0; border: 0; box-shadow: none; background: #ffffff; } .illus { background: #ffffff; } }
.team .t.is-ph::after { opacity: 1; }
@media (max-width: 767px) { .team .t::after { white-space: normal; font-size: 10px; line-height: 15px; padding: 3px 6px; border-radius: 10px; inset-inline: 4px; bottom: 4px; } }

/* ================= v3: webinars + upcoming courses ================= */
main > section.sec-tight { margin-top: var(--space-12); }
.kd-chip.free { background: var(--gold-soft); color: var(--gold-ink); border-color: transparent; font-weight: 700; }
.kd-chip svg { width: 16px; height: 16px; }
.perks { list-style: none; display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-5, 20px); margin: var(--space-4) 0 0; padding: 0; }
.perks li { display: flex; gap: var(--space-2); align-items: center; font-size: 14px; line-height: 22px; font-weight: 500; color: var(--ink); }
.perks svg { width: 18px; height: 18px; color: var(--teal-ink); flex: none; }

.ecards { display: grid; gap: var(--space-4); }
.ecard { display: flex; flex-direction: column; min-width: 0; padding: var(--space-3); border-radius: var(--radius-xl); border: 1px solid var(--glass-border); box-shadow: var(--shadow-glass); }
.ecard .poster { margin: 0; border-radius: var(--radius-lg); }
.ecard__body { display: flex; flex-direction: column; flex: 1; min-width: 0; padding: var(--space-4) var(--space-2) var(--space-2); }
.chips { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.kd-chip.left { background: var(--surface-raised); border-color: var(--line); color: var(--ink); font-weight: 600; }
.kd-chip.left::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--c); margin-inline-end: 2px; }
.kd-chip.left[hidden] { display: none; }
.ecard h3 { margin: var(--space-3) 0 0; font-family: var(--font-display); font-size: 22px; line-height: 34px; font-weight: 800; color: var(--ink); }
.ecard .grp { margin: 0; font-size: 15px; line-height: 24px; font-weight: 600; color: var(--c-ink); }
.ecard .tagline { margin: var(--space-3) 0 0; font-weight: 700; color: var(--ink); }
.ecard .desc { margin: var(--space-2) 0 0; font-size: 14px; line-height: 24px; color: var(--ink-muted); }
.ecard .meta { list-style: none; margin: var(--space-4) 0 var(--space-5, 20px); padding: 0; display: grid; gap: var(--space-2); }
.ecard .meta li { display: flex; gap: var(--space-2); align-items: center; font-size: 15px; line-height: 24px; color: var(--ink); }
.ecard .meta svg { flex: none; width: 18px; height: 18px; color: var(--c-ink); }
.wcard .kd-btn { margin-top: auto; }
.cfacts { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin: var(--space-4) 0 var(--space-5, 20px); border-radius: var(--radius-md); overflow: hidden; border: 1px solid var(--line); background: var(--line); }
.cfacts > div { padding: var(--space-2) var(--space-3); background: var(--surface-raised); min-width: 0; }
.cfacts dt { font-size: 12px; line-height: 18px; color: var(--ink-muted); }
.cfacts dd { margin: 0; font-size: 14px; line-height: 22px; font-weight: 600; color: var(--ink); }
.cfacts dd small { display: block; font-size: 12px; line-height: 18px; font-weight: 400; color: var(--ink-muted); }
.ccard .acts { display: grid; gap: var(--space-2); margin-top: auto; }
.more { display: inline-flex; gap: var(--space-1); align-items: center; justify-content: center; min-height: 44px; font-size: 14px; font-weight: 600; color: var(--link); text-decoration: none; }
.more svg { width: 16px; height: 16px; }
.more:hover { text-decoration: underline; }
/* tablet: poster beside the text */
@media (min-width: 640px) and (max-width: 1023px) {
  .ecard { display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(0, 1fr); gap: var(--space-4); align-items: start; padding: var(--space-4); }
  .ecard__body { padding: 0; }
  .ccard .poster { position: sticky; top: 112px; }
}
@media (min-width: 1024px) { .ecards { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6); } }
.soonbar { display: flex; flex-wrap: wrap; gap: var(--space-3) var(--space-4); align-items: center; margin-top: var(--space-4); padding: var(--space-4) var(--space-5, 20px); border-radius: var(--radius-xl); border: 1px dashed var(--line-strong); color: var(--ink); text-decoration: none; }
.soonbar:hover { box-shadow: var(--shadow-glass-hover); }
.soonbar__t { flex: 1 1 260px; min-width: 0; }
.soonbar__t strong { display: block; font-family: var(--font-display); font-size: 18px; line-height: 30px; }
.soonbar__t span { font-size: 14px; line-height: 22px; color: var(--ink-muted); }
.soonbar .more { min-height: 0; }

/* social links */
.soc { display: inline-flex; gap: var(--space-2); align-items: center; min-height: 40px; color: var(--ink); text-decoration: none; font-weight: 500; }
.soc svg { width: 20px; height: 20px; flex: none; color: var(--teal-ink); }
.soc:hover span:first-of-type { text-decoration: underline; }
.foot-soc { display: grid; gap: var(--space-1); }
.kd-footer .soc { color: var(--ink); }
.mnav__soc { display: flex; flex-wrap: wrap; gap: var(--space-1) var(--space-4); margin-top: var(--space-1); padding: var(--space-2) var(--space-4) 0; border-top: 1px solid var(--line); }
.mnav .mnav__soc a { min-height: 44px; padding: 0; }
.final__soc { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: var(--space-2) var(--space-5, 20px); margin-top: var(--space-8); font-size: 15px; color: #c9d0e0; }
.soc--light { color: #ffffff; }
.soc--light svg { color: #1abcad; }
@media (min-width: 640px) { .site-foot .kd-footer { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .site-foot .kd-footer { grid-template-columns: 1.8fr 1fr 1fr 1.2fr; } }
bdi { unicode-bidi: isolate; }

/* ================= mobile hardening ================= */
.hero2 > *, .course__grid > *, .chooser > *, .aboutq > *, .lists > * { min-width: 0; }
@media (max-width: 767px) {
  .kd-btn { white-space: normal; text-align: center; padding-block: var(--space-2); }
  .kd-btn--lg { padding-inline: var(--space-5, 20px); font-size: 15px; }
  .hero2 .row .kd-btn { flex: 1 1 100%; }
  .final .acts { flex-direction: column; align-items: stretch; }
  .final { padding: var(--space-10, 40px) var(--space-4); }
  .final::before { width: 140px; height: 140px; top: -60px; }
  .course { padding: var(--space-4); }
  .facts { padding: var(--space-4); }
  .chooser { padding: var(--space-4); }
  .result { padding: var(--space-4); }
  .faq { padding: 0 var(--space-4); }
  .site-foot .kd-footer { padding: var(--space-6); }
  .quote { padding: var(--space-6); }
  .quote p { font-size: 17px; line-height: 32px; }
  .answer { font-size: 17px; line-height: 32px; }
  .q legend small { display: block; margin: 2px 0 0; }
  .ctab { padding: var(--space-3) var(--space-4); }
  .course-coach { padding: var(--space-3) var(--space-4); }
  .course-coach .coach__more { display: none; }
  .mbar .kd-btn { padding-inline: var(--space-3); font-size: 13px; }
  .trust { gap: var(--space-4); }
  .trust > div { flex: 1 1 40%; }
}
@media (max-width: 359px) {
  .mbar .kd-btn--ghost { display: none; }
  .cfacts { grid-template-columns: 1fr; }
  .team__badge span { display: none; }
  .opts--row { grid-template-columns: 1fr; }
  .display { font-size: 28px; line-height: 44px; }
}
@media (max-width: 479px) { .eyebrow { height: auto; min-height: 28px; padding-block: 3px; white-space: normal; max-width: 100%; } }

/* v3 polish */
.mnav { background: var(--surface-raised); -webkit-backdrop-filter: none; backdrop-filter: none; border: 1px solid var(--line); }
.trust { display: grid; grid-template-columns: repeat(3, auto); justify-content: start; gap: var(--space-4) var(--space-8); }
.trust small { display: block; font-size: 12px; line-height: 18px; font-weight: 600; color: var(--ink-muted); }
.trust div strong { white-space: nowrap; }
@media (max-width: 767px) {
  .trust { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); }
  .trust > div { flex: none; }
  .trust > div + div { border-inline-start: 1px solid var(--line); padding-inline-start: var(--space-3); }
  .trust div strong { font-size: 18px; line-height: 28px; }
  .trust div span { display: block; font-size: 12px; line-height: 18px; }
  .team .t::after { content: attr(data-first); white-space: nowrap; }
  .opts--row .opt { padding-inline: var(--space-3); gap: var(--space-2); }
}
@media (max-width: 359px) { .trust div strong { font-size: 16px; } }
.readmore { margin: 0 0 var(--space-2); }
.readmore > summary { display: inline-flex; gap: var(--space-1); align-items: center; min-height: 40px; cursor: pointer; list-style: none; font-weight: 600; color: var(--link); }
.readmore > summary::-webkit-details-marker { display: none; }
.readmore > summary svg { width: 18px; height: 18px; transition: transform 150ms ease; }
.readmore[open] > summary { order: 2; }
.readmore[open] > summary svg { transform: rotate(180deg); }
.readmore .rm-c, .readmore[open] .rm-o { display: none; }
.readmore[open] .rm-c { display: inline; }
.readmore[open] { display: flex; flex-direction: column; }
.readmore[open] > summary { align-self: flex-start; }

.pic-pariya-aslani{background-image:url("../img/coaches/pariya-aslani.webp?v=4")}
.pic-ahmad-razavi{background-image:url("../img/coaches/ahmad-razavi.webp?v=4")}
.pic-bahar-kamali{background-image:url("../img/coaches/bahar-kamali.webp?v=4")}
.pic-sara-seyedin-khorasani{background-image:url("../img/coaches/sara-seyedin-khorasani.webp?v=4")}
.pic-fateme-houshmand{background-image:url("../img/coaches/fateme-houshmand.webp?v=4")}
.pic-mahdi-akbari{background-image:url("../img/coaches/mahdi-akbari.webp?v=4")}
.pic-yashar-mehrabzadeh{background-image:url("../img/coaches/yashar-mehrabzadeh.webp?v=4")}
.pic-fill { position: absolute; inset: 0; }

/* ================= v4: content refresh (31 Oct) ================= */
.nw { white-space: nowrap; }
/* header: desktop nav + «بیشتر» dropdown from 1100px; hamburger below */
.kd-header__nav { align-items: center; }
.more { position: relative; }
.more__btn { display: inline-flex; align-items: center; gap: 4px; min-height: 44px; padding: 0 var(--space-3); border: 0; border-radius: var(--radius-full); background: transparent; color: var(--ink-muted); font: inherit; font-size: 14px; font-weight: 500; cursor: pointer; }
.more__btn:hover, .more.is-open .more__btn { color: var(--ink); background: var(--glass-subtle); }
.more__btn svg { width: 16px; height: 16px; transition: transform 150ms ease; }
.more.is-open .more__btn svg { transform: rotate(180deg); }
.more__menu { display: none; position: absolute; top: calc(100% + 10px); inset-inline-start: 0; min-width: 260px; padding: var(--space-2); border-radius: var(--radius-lg); background: var(--surface-raised); border: 1px solid var(--line); box-shadow: var(--shadow-float); z-index: 5; }
.more.is-open .more__menu { display: grid; }
.more__menu a { display: flex; align-items: center; min-height: 44px; padding: 0 var(--space-4); border-radius: var(--radius-md); color: var(--ink); text-decoration: none; font-size: 14px; font-weight: 500; }
.more__menu a:hover { background: var(--glass-subtle); }
@media (min-width: 768px) and (max-width: 1099px) { .kd-header__nav { display: none; } .kd-header__menu { display: inline-flex; } .mnav[data-open] { display: grid !important; } }
@media (min-width: 1100px) { .kd-header__menu { display: none; } }
.mnav hr { width: 100%; height: 1px; margin: var(--space-1) 0; border: 0; background: var(--line); }
.mnav__phone { display: flex; flex-wrap: wrap; align-items: center; gap: 0 var(--space-3); padding: 0 var(--space-4) var(--space-2); }
.mnav .mnav__phone a { min-height: 44px; padding: 0; }
.mnav__phone small { color: var(--ink-muted); font-size: 13px; }

/* hero */
.slogan { display: flex; gap: var(--space-2); align-items: flex-start; margin: 0; font-weight: 700; font-size: 16px; line-height: 28px; color: var(--teal-ink); }
.slogan svg { flex: none; width: 20px; height: 20px; margin-top: 4px; }
.hero2 h1.display { font-size: 40px; line-height: 60px; }
.slogan-en { margin: calc(-1 * var(--space-5, 20px)) 0 var(--space-6); font-size: 13px; letter-spacing: .02em; color: var(--ink-muted); text-align: right; }
.team__badge strong { font-size: 15px; }
@media (max-width: 639px) { .hero2 h1.display { font-size: 28px; line-height: 44px; } .slogan { font-size: 15px; line-height: 26px; } .team__badge { white-space: normal; text-align: center; max-width: 92%; } }
@media (max-width: 359px) { .hero2 h1.display { font-size: 25px; line-height: 40px; } }

/* course cards */
.ecard .teacher { display: flex; gap: var(--space-2); align-items: center; margin: var(--space-3) 0 0; font-size: 14px; font-weight: 600; color: var(--ink); }
.ecard .teacher svg { width: 18px; height: 18px; color: var(--c-ink); }
.tcard { display: grid; gap: var(--space-5, 20px); margin-top: var(--space-6); padding: var(--space-6); border-radius: var(--radius-xl); border: 1px solid var(--glass-border); border-top: 4px solid var(--c); box-shadow: var(--shadow-glass); }
.tcard h3 { margin: var(--space-3) 0 0; font-family: var(--font-display); font-size: 22px; line-height: 34px; font-weight: 800; color: var(--ink); }
.tcard .grp { margin: 0; font-weight: 600; color: var(--c-ink); }
.tcard .desc { margin: var(--space-3) 0 0; color: var(--ink); }
.tcard__soon { display: flex; gap: var(--space-2); align-items: center; margin: var(--space-4) 0 0; padding: var(--space-3) var(--space-4); border-radius: var(--radius-md); background: var(--gold-soft); color: var(--gold-ink); font-weight: 700; }
.tcard__soon svg { flex: none; width: 20px; height: 20px; }
.tcard__side { display: grid; gap: var(--space-2); align-content: start; }
.tcard__side .cfacts { margin: 0 0 var(--space-2); }
.cfacts--1 { grid-template-columns: 1fr; }
@media (min-width: 900px) { .tcard { grid-template-columns: 1.5fr 1fr; gap: var(--space-8); padding: var(--space-8); } }

/* about */
.about2 { display: grid; gap: var(--space-6); align-items: start; }
.about2__txt p { margin: 0 0 var(--space-4); color: var(--ink); }
.about2__em { font-weight: 700; color: var(--teal-ink) !important; }
.why { padding: var(--space-6); border-radius: var(--radius-xl); border: 1px solid var(--glass-border); }
.why h3 { margin: 0 0 var(--space-3); font-family: var(--font-display); font-size: 22px; line-height: 34px; font-weight: 800; color: var(--ink); }
.why p { margin: 0 0 var(--space-3); color: var(--ink); }
.why p:last-child { margin: 0; }
@media (min-width: 1024px) { .about2 { grid-template-columns: 1.1fr 1fr; gap: var(--space-12); } }

/* audiences */
.grpcards { display: grid; gap: var(--space-4); }
@media (min-width: 900px) { .grpcards { grid-template-columns: 1fr 1fr; gap: var(--space-6); } }
.grpcard { padding: var(--space-6); border-radius: var(--radius-xl); border: 1px solid var(--glass-border); border-top: 4px solid var(--c); }
.grpcard h3 { margin: 0 0 var(--space-3); font-family: var(--font-display); font-size: 20px; line-height: 32px; font-weight: 800; color: var(--ink); }
.grpcard p { margin: 0 0 var(--space-3); color: var(--ink); }
.grpcard__k { font-weight: 700; color: var(--c-ink) !important; margin-bottom: var(--space-2) !important; }

/* stages line */
.how__line { margin: var(--space-3) 0 0 !important; font-weight: 800; color: var(--ink) !important; }

/* services */
.svcs { display: grid; gap: var(--space-4); }
@media (min-width: 640px) { .svcs { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .svcs { grid-template-columns: repeat(3, 1fr); gap: var(--space-6); } }
.svc { position: relative; display: flex; flex-direction: column; gap: var(--space-2); padding: var(--space-6); border-radius: var(--radius-xl); border: 1px solid var(--glass-border); color: var(--ink); text-decoration: none; }
a.svc:hover { box-shadow: var(--shadow-glass-hover); }
.svc__ic { display: grid; place-items: center; width: 48px; height: 48px; border-radius: var(--radius-full); background: var(--teal-soft); color: var(--teal-ink); }
.svc__ic svg { width: 24px; height: 24px; }
.svc__n { position: absolute; top: var(--space-5, 20px); inset-inline-end: var(--space-6); font-family: var(--font-display); font-size: 32px; font-weight: 800; color: var(--line-strong); }
.svc h3 { margin: var(--space-2) 0 0; font-family: var(--font-display); font-size: 20px; line-height: 32px; font-weight: 800; }
.svc__en { margin: 0; font-size: 13px; color: var(--ink-muted); text-align: right; }
.svc p { margin: 0; color: var(--ink); }
.svc .more { margin-top: auto; padding-top: var(--space-2); justify-content: flex-start; min-height: 0; }

/* approach */
.approach { display: grid; gap: var(--space-6); padding: var(--space-6); border-radius: var(--radius-xl); border: 1px solid var(--glass-border); }
.approach h2 { margin: var(--space-3) 0 var(--space-3); color: var(--ink); }
.approach p { margin: 0 0 var(--space-4); color: var(--ink); }
.approach__note { display: flex; gap: var(--space-3); align-items: flex-start; padding: var(--space-4); border-radius: var(--radius-md); background: var(--teal-soft); font-weight: 600; }
.approach__note svg { flex: none; width: 22px; height: 22px; margin-top: 3px; color: var(--teal-ink); }
@media (min-width: 1024px) { .approach { grid-template-columns: 1fr 1fr; gap: var(--space-12); padding: var(--space-10, 40px); } .approach > div:last-child { padding-top: 72px; } }

/* founder + vision */
.founder { display: grid; gap: var(--space-6); padding: var(--space-6); border-radius: var(--radius-xl); border: 1px solid var(--glass-border); box-shadow: var(--shadow-glass); }
.founder__img { display: block; width: 100%; aspect-ratio: 4 / 5; border-radius: var(--radius-lg); background-position: 50% 12%; }
.founder__ph { max-width: 360px; width: 100%; margin-inline: auto; }
.founder h2 { margin: var(--space-3) 0 0; color: var(--ink); }
.founder__ttl { margin: var(--space-1) 0 0; font-weight: 700; color: var(--teal-ink); }
.founder__en { margin: 0 0 var(--space-4); font-size: 13px; color: var(--ink-muted); text-align: right; }
.founder p { color: var(--ink); }
.founder__stats { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); margin: var(--space-4) 0 var(--space-6); padding: 0; }
.founder__stats li { padding: var(--space-3); border-radius: var(--radius-md); background: var(--surface-raised); border: 1px solid var(--line); text-align: center; }
.founder__stats strong { display: block; font-family: var(--font-display); font-size: 18px; line-height: 28px; font-weight: 800; color: var(--ink); }
.founder__stats span { font-size: 12px; line-height: 18px; color: var(--ink-muted); }
@media (min-width: 900px) { .founder { grid-template-columns: 320px 1fr; gap: var(--space-10, 40px); padding: var(--space-8); align-items: start; } .founder__ph { position: sticky; top: 112px; } }
.vision { margin-top: var(--space-6); padding: var(--space-8) var(--space-6); border-radius: var(--radius-xl); background: var(--navy-soft); }
.vision h3 { margin: 0 0 var(--space-3); font-family: var(--font-display); font-size: 22px; line-height: 34px; font-weight: 800; color: var(--ink); }
.vision p { margin: 0 0 var(--space-3); color: var(--ink); max-width: 860px; }
.vision__close { margin: var(--space-4) 0 0 !important; font-family: var(--font-display); font-size: 18px; line-height: 32px; font-weight: 800; color: var(--navy-ink) !important; }

/* chooser prerequisite notice */
.result .prereq { display: flex; gap: var(--space-2); align-items: flex-start; margin: 0; padding: var(--space-3) var(--space-4); border-radius: var(--radius-md); background: var(--warning-soft); color: var(--warning); font-size: 14px; line-height: 24px; font-weight: 600; }
.result .prereq svg { flex: none; width: 20px; height: 20px; margin-top: 2px; }
.linkbtn { align-self: flex-start; padding: var(--space-1) 0; border: 0; background: none; color: var(--link); font: inherit; font-size: 14px; font-weight: 600; text-decoration: underline; cursor: pointer; text-align: start; }

/* guide */
.gsteps { display: grid; gap: var(--space-4); counter-reset: g; }
@media (min-width: 640px) { .gsteps { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .gsteps { grid-template-columns: repeat(3, 1fr); gap: var(--space-6); } }
.gstep { position: relative; display: flex; flex-direction: column; gap: var(--space-2); padding: var(--space-6); border-radius: var(--radius-xl); border: 1px solid var(--glass-border); color: var(--ink); text-decoration: none; }
.gstep:hover { box-shadow: var(--shadow-glass-hover); }
.gstep__n { position: absolute; top: var(--space-5, 20px); inset-inline-end: var(--space-6); display: grid; place-items: center; width: 32px; height: 32px; border-radius: var(--radius-full); background: var(--navy-soft); color: var(--navy-ink); font-weight: 800; }
.gstep__ic svg { width: 28px; height: 28px; color: var(--teal-ink); }
.gstep h3 { margin: var(--space-2) 0 0; font-family: var(--font-display); font-size: 19px; line-height: 30px; font-weight: 800; }
.gstep p { margin: 0; color: var(--ink-muted); font-size: 15px; line-height: 26px; }

/* booking + forms */
.booking { display: grid; gap: var(--space-8); padding: var(--space-6); border-radius: var(--radius-xl); border: 1px solid var(--glass-border); box-shadow: var(--shadow-glass); }
.booking h2 { margin: var(--space-3) 0; color: var(--ink); }
.booking p { color: var(--ink); }
.booking .kd-chip svg { width: 16px; height: 16px; }
.booking__alt { margin: var(--space-4) 0 0; display: flex; flex-wrap: wrap; gap: var(--space-2); align-items: center; font-size: 14px; color: var(--ink-muted) !important; }
.booking__form { padding: var(--space-5, 20px); border-radius: var(--radius-lg); background: var(--surface-raised); border: 1px solid var(--line); }
@media (min-width: 1024px) { .booking { grid-template-columns: 1fr 1fr; gap: var(--space-12); padding: var(--space-10, 40px); } }
.kform { display: grid; gap: var(--space-4); }
.fld { display: grid; gap: var(--space-1); margin: 0; padding: 0; border: 0; min-width: 0; }
.fld > label, .fld legend { padding: 0; font-size: 14px; line-height: 22px; font-weight: 600; color: var(--ink); }
.fld .req { color: var(--danger); }
.kform input[type=text], .kform input[type=tel], .kform select, .kform textarea { width: 100%; min-height: 48px; padding: var(--space-2) var(--space-3); border: 1px solid var(--line-strong); border-radius: var(--radius-md); background: var(--surface); color: var(--ink); font: inherit; font-size: 16px; line-height: 26px; }
.kform input[dir=ltr] { text-align: right; }
.kform textarea { resize: vertical; min-height: 96px; }
.kform input:focus-visible, .kform select:focus-visible, .kform textarea:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 1px; border-color: var(--action); }
.kform [aria-invalid=true] { border-color: var(--danger); }
.radios { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-4); margin-top: var(--space-1); }
.radios label { display: inline-flex; gap: var(--space-2); align-items: center; min-height: 40px; font-size: 15px; color: var(--ink); cursor: pointer; }
.radios input { width: 18px; height: 18px; accent-color: var(--action); }
.hp { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.fstatus { margin: 0; min-height: 0; font-size: 14px; line-height: 24px; font-weight: 600; }
.fstatus:empty { display: none; }
.fstatus.is-ok { padding: var(--space-3) var(--space-4); border-radius: var(--radius-md); background: var(--success-soft); color: var(--success); }
.fstatus.is-err { padding: var(--space-3) var(--space-4); border-radius: var(--radius-md); background: var(--danger-soft); color: var(--danger); }
.fpriv { margin: 0; font-size: 12px; line-height: 20px; color: var(--ink-muted) !important; }
.kform .kd-btn svg { width: 18px; height: 18px; }
.fd { width: min(560px, calc(100% - 32px)); }
.fd__in { position: relative; max-height: inherit; overflow-y: auto; padding: var(--space-6); }
.fd__in .cd__close { position: absolute; top: var(--space-4); inset-inline-end: var(--space-4); margin: 0; }
.fd h2 { margin: var(--space-3) 0 var(--space-2); color: var(--ink); font-size: 24px; line-height: 38px; padding-inline-end: 48px; }
.fd__lead { margin: 0 0 var(--space-5, 20px); color: var(--ink-muted); }
@media (max-width: 767px) { .fd { height: fit-content; max-height: calc(100dvh - 16px); width: calc(100% - 16px); border-radius: var(--radius-lg); } .fd__in { padding: var(--space-5, 20px); } }

/* contact */
.ccards2 { display: grid; gap: var(--space-4); }
@media (min-width: 1100px) { .ccards2 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6); } }
.ccard2 > span:not(.ccard2__ic) { min-width: 0; }
.ccard2__v { overflow-wrap: anywhere; }
.ccard2 { display: flex; gap: var(--space-4); align-items: center; padding: var(--space-5, 20px) var(--space-6); border-radius: var(--radius-xl); border: 1px solid var(--glass-border); color: var(--ink); text-decoration: none; }
.ccard2:hover { box-shadow: var(--shadow-glass-hover); }
.ccard2__ic { flex: none; display: grid; place-items: center; width: 52px; height: 52px; border-radius: var(--radius-full); background: var(--teal-soft); color: var(--teal-ink); }
.ccard2__ic svg { width: 24px; height: 24px; }
.ccard2 strong { display: block; font-size: 15px; }
.ccard2__v { display: block; font-family: var(--font-display); font-size: 20px; line-height: 32px; font-weight: 800; text-align: right; }
.ccard2 small { display: block; font-size: 13px; color: var(--ink-muted); }

/* final + footer */
.final__brand { display: grid; gap: 2px; margin: calc(-1 * var(--space-4)) auto var(--space-8) !important; max-width: 640px; font-weight: 700; color: #ffffff !important; }
.final__soc small { width: 100%; color: #c9d0e0; }
.foot-tag span { display: block; }
.foot-soc small { margin-top: -6px; }

/* coaches + dialogs */
.coach__en { display: block; margin-top: 2px; font-size: 12px; line-height: 18px; color: var(--ink-muted); text-align: right; }
.course-coach .coach__en { display: block; }
.cd__founder { margin-bottom: var(--space-2); background: var(--teal-soft); color: var(--teal-ink); border-color: transparent; font-weight: 700; }
.cd .ttl { margin-bottom: var(--space-1); }
.cd .ttl-en { margin: 0 0 var(--space-6); font-size: 13px; color: var(--ink-muted); text-align: right; }
.cd .ttl + p:not(.ttl-en) { margin-top: var(--space-5, 20px); }
.cd__quote { margin: var(--space-6) 0 0 !important; padding: var(--space-4) var(--space-6); border-radius: var(--radius-md); border-inline-start: 4px solid var(--teal); background: var(--teal-soft); color: var(--ink); font-weight: 600; }
.cd ul.fitlist { margin: 0 0 var(--space-4); padding-inline-start: var(--space-6); display: grid; gap: var(--space-2); }
.cd__links .kd-btn svg { width: 18px; height: 18px; }
.coach__title { min-height: 44px; }
