/* KHS Design System 1.0 — independent Stay x Pilo-inspired implementation */
:root{
 --khs-lime:#D4FA56;--khs-lime-hover:#BDE73F;--khs-ink:#161715;--khs-canvas:#F5F5F2;--khs-white:#FFFFFF;
 --khs-surface:#FFFFFF;--khs-surface-alt:#E8E9E4;--khs-border:#D9DCD5;--khs-muted:#555A51;
 --khs-mint:#C9EDCF;--khs-mint-ink:#163C26;--khs-butter:#F8E58D;--khs-butter-ink:#514116;
 --khs-sky:#B9DDF5;--khs-sky-ink:#173C57;--khs-lilac:#DED3F7;--khs-lilac-ink:#443567;
 --khs-success:#216B43;--khs-warning:#885300;--khs-error:#B42318;--khs-focus:#2A5AC8;
 --khs-radius-sm:12px;--khs-radius-md:20px;--khs-radius-card:28px;--khs-radius-feature:40px;--khs-radius-pill:999px;
 --khs-space-1:4px;--khs-space-2:8px;--khs-space-3:12px;--khs-space-4:16px;--khs-space-5:20px;--khs-space-6:24px;--khs-space-8:32px;--khs-space-10:40px;--khs-space-12:48px;--khs-space-16:64px;--khs-space-20:80px;
 --khs-font-persian:"Estedad",Tahoma,system-ui,sans-serif;--khs-font-latin:"Inter",system-ui,sans-serif;--khs-font:var(--khs-font-persian);--khs-max-width:1200px;
 --khs-speed-fast:150ms;--khs-speed-normal:240ms;--khs-shadow:0 12px 32px rgba(22,23,21,.08);
}
[data-theme="dark"]{--khs-canvas:#10110F;--khs-ink:#F7F8F5;--khs-surface:#1C1E1A;--khs-surface-alt:#2A2D27;--khs-border:#3F453A;--khs-muted:#BAC0B5}
*,*::before,*::after{box-sizing:border-box}
body{font-optical-sizing:auto;margin:0;background:var(--khs-canvas);color:var(--khs-ink);font-family:var(--khs-font)}
.khs-container{width:min(calc(100% - 40px),var(--khs-max-width));margin-inline:auto}
.khs-display{font-size:clamp(42px,6vw,88px);line-height:1.05;font-weight:750;letter-spacing:-.045em;margin:0}
[dir="rtl"] .khs-display{letter-spacing:normal;line-height:1.24}
.khs-title{font-size:clamp(28px,3vw,44px);line-height:1.18;font-weight:750}
.khs-body{font-size:16px;line-height:1.75}
.khs-card{padding:28px;background:var(--khs-surface);border-radius:var(--khs-radius-card);border:1px solid var(--khs-border)}
.khs-card--mint{background:var(--khs-mint);color:var(--khs-mint-ink);border-color:transparent}
.khs-card--butter{background:var(--khs-butter);color:var(--khs-butter-ink);border-color:transparent}
.khs-card--sky{background:var(--khs-sky);color:var(--khs-sky-ink);border-color:transparent}
.khs-card--dark{background:#161715;color:#FFFFFF;border-color:transparent}
.khs-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 24px;border-radius:var(--khs-radius-pill);border:1px solid transparent;font:650 15px/1.3 var(--khs-font);cursor:pointer;transition:background var(--khs-speed-fast),transform var(--khs-speed-fast),box-shadow var(--khs-speed-fast);text-decoration:none}
.khs-button--primary{background:var(--khs-lime);color:#161715}.khs-button--primary:hover{background:var(--khs-lime-hover)}
.khs-button--dark{background:#161715;color:white}.khs-button--dark:hover{background:#34382E}
.khs-button--outline{background:transparent;border-color:var(--khs-border);color:var(--khs-ink)}
.khs-button:hover{transform:translateY(-1px)}
.khs-button:focus-visible,.khs-field:focus-visible{outline:3px solid var(--khs-focus);outline-offset:3px}
.khs-button:disabled{cursor:not-allowed;opacity:.45;transform:none}
.khs-field{width:100%;min-height:48px;border:1px solid var(--khs-border);border-radius:var(--khs-radius-md);padding:12px 16px;background:var(--khs-surface);color:var(--khs-ink);font:inherit}
.khs-badge{display:inline-flex;align-items:center;padding:6px 12px;border-radius:999px;background:var(--khs-surface-alt);font-size:12px;font-weight:650}
.khs-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}
@media(max-width:900px){.khs-grid{grid-template-columns:repeat(8,minmax(0,1fr));gap:20px}}
@media(max-width:600px){.khs-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.khs-container{width:calc(100% - 32px)}.khs-card{padding:20px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Explicit Latin-only typography; mixed Persian text remains Estedad */
.khs-font-latin,[lang="en"]{font-family:var(--khs-font-latin)}
.khs-font-persian,[lang="fa"]{font-family:var(--khs-font-persian)}
.khs-display,.khs-title{font-feature-settings:"kern" 1}
