/* Shared design system: variables, reset, nav, footer, buttons, drawer, reveals.
   Loaded on every page before that page's own stylesheet. */
:root {
  --indigo-950:#0F1330; --indigo-900:#1B1F3B; --indigo-800:#252B47; --indigo-700:#2A3052;
  --indigo-500:#5560A8; --indigo-100:#DDE0F2; --indigo-50:#EFF1FA;
  --gold-300:#E8CCA8; --gold-500:#D4A574; --gold-600:#C29360; --gold-700:#9D7340;
  --cream:#F8F4ED; --cream-warm:#F1ECDF; --white:#FFFFFF;
  --ink-950:#0A0F22; --ink-900:#1A1F2E; --ink-700:#2A3148; --ink-500:#5A6376; --ink-300:#94A0B8;
  --border:#E8E0D0; --border-soft:#F0E9DC;
  --teal-600:#6FB7A8; --teal-100:#D8EEE9;
  --shadow-sm:0 2px 8px rgba(27,31,59,.06); --shadow-md:0 8px 24px rgba(27,31,59,.08);
  --shadow-lg:0 24px 64px rgba(27,31,59,.16); --shadow-xl:0 32px 80px rgba(27,31,59,.2);
  --shadow-gold:0 8px 24px rgba(212,165,116,.35);
  --radius-md:16px; --radius-lg:24px; --radius-xl:32px;
  --ease:cubic-bezier(0.16, 1, 0.3, 1);
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;background:var(--cream);color:var(--ink-900);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body[lang="fa"],body[lang="ar"]{font-family:'Vazirmatn','Inter',sans-serif}
body[lang="ar"]{font-family:'Noto Sans Arabic','Inter',sans-serif}
.container{max-width:1240px;margin:0 auto;padding:0 24px}
.container-narrow{max-width:960px;margin:0 auto;padding:0 24px}
.ital{font-family:'Fraunces','Inter',serif;font-style:italic;font-weight:600}
body[lang="fa"],body[lang="ar"] .ital{font-family:'Vazirmatn',serif;font-style:normal}
body[lang="ar"] .ital{font-family:'Noto Sans Arabic',serif;font-style:normal}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:14px 24px;backdrop-filter:blur(20px) saturate(180%);background:rgba(248,244,237,.72);border-bottom:1px solid transparent;transition:all .4s var(--ease)}
nav.scrolled{border-bottom-color:var(--border);padding:10px 24px;background:rgba(248,244,237,.88)}
.nav-inner{max-width:1240px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px}
.logo{font-weight:800;font-size:22px;letter-spacing:-.03em;color:var(--indigo-900);text-decoration:none;display:flex;align-items:center;gap:10px}
.logo-mark{width:36px;height:36px;display:flex;align-items:center;justify-content:center}
.nav-links{display:flex;gap:22px;align-items:center}
.nav-links a{color:var(--ink-700);text-decoration:none;font-size:14px;font-weight:500;transition:color .2s}
.nav-links a:hover{color:var(--indigo-900)}
.nav-cta{background:var(--gold-500);color:var(--indigo-900)!important;padding:10px 18px;border-radius:100px;font-weight:700!important;transition:all .2s var(--ease);box-shadow:0 4px 14px rgba(212,165,116,.3);white-space:nowrap;line-height:1.2;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.nav-cta:hover{background:var(--gold-600);transform:translateY(-1px)}
.nav-signin{color:var(--ink-700);text-decoration:none;font-size:14px;font-weight:600;padding:10px 14px;transition:color .2s}
.nav-signin:hover{color:var(--indigo-900)}
@media(max-width:560px){.nav-signin{display:none}}

/* Language Switcher */
.lang-switch{position:relative}
.lang-btn{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.6);border:1px solid var(--border);padding:7px 12px;border-radius:100px;font-family:inherit;font-size:13px;font-weight:600;color:var(--ink-700);cursor:pointer;transition:all .2s}
.lang-btn:hover{border-color:var(--indigo-900)}
.lang-btn .flag{font-size:14px}
.lang-btn svg{width:12px;height:12px;opacity:.6}
.lang-menu{position:absolute;top:calc(100% + 8px);right:0;background:var(--white);border:1px solid var(--border);border-radius:12px;padding:6px;box-shadow:var(--shadow-md);min-width:170px;opacity:0;pointer-events:none;transform:translateY(-6px);transition:all .2s var(--ease);z-index:200}
.lang-menu.open{opacity:1;pointer-events:auto;transform:translateY(0)}
.lang-menu button{display:flex;align-items:center;gap:10px;width:100%;background:transparent;border:none;padding:9px 12px;font-family:inherit;font-size:14px;color:var(--ink-900);cursor:pointer;border-radius:8px;text-align:left}
.lang-menu button:hover,.lang-menu button.active{background:var(--cream-warm)}
.lang-menu .lang-flag{font-size:16px}
body[lang="fa"],body[lang="ar"] .lang-menu{right:auto;left:0}
@media(max-width:860px){.nav-links a:not(.nav-cta):not(.lang-btn){display:none}}
@media(max-width:560px){
  .nav-cta{padding:10px 14px;font-size:12px;border-radius:100px;min-height:38px;max-width:60vw;white-space:normal;line-height:1.15;text-align:center}
}
@media(max-width:380px){.nav-cta{padding:9px 12px;font-size:11px}}

/* === MOBILE HAMBURGER + DRAWER (mobile-only, ≤840px) === */
.hamburger{display:none;background:transparent;border:1.5px solid var(--border);border-radius:10px;padding:0;cursor:pointer;width:40px;height:40px;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0;font-family:inherit}
.hamburger:hover{border-color:var(--indigo-900);background:var(--cream-warm)}
.hamburger svg{width:18px;height:18px;color:var(--ink-700)}
.mobile-drawer{position:fixed;top:0;right:0;bottom:0;width:min(320px,85vw);background:var(--cream);box-shadow:-12px 0 40px rgba(27,31,59,.25);z-index:200;transform:translateX(100%);transition:transform .3s var(--ease);overflow-y:auto;padding:20px 24px 32px;display:flex;flex-direction:column}
.mobile-drawer.open{transform:translateX(0)}
.mobile-drawer-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--border)}
.mobile-drawer-header .logo{font-size:16px}
.mobile-drawer-close{background:transparent;border:none;cursor:pointer;color:var(--ink-700);padding:6px 10px;font-size:28px;line-height:1;font-family:inherit;font-weight:300}
.mobile-drawer-close:hover{color:var(--indigo-900)}
.mobile-drawer-links{display:flex;flex-direction:column;gap:0}
.mobile-drawer-links a{padding:16px 4px;color:var(--ink-700);text-decoration:none;font-size:16px;font-weight:600;border-bottom:1px solid var(--border-soft);transition:color .2s}
.mobile-drawer-links a:hover,.mobile-drawer-links a:active{color:var(--indigo-900)}
.drawer-section-label{font-size:11px;font-weight:700;color:var(--gold-700);text-transform:uppercase;letter-spacing:.12em;margin:22px 0 10px;padding:0 4px}
.drawer-langs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:6px}
.drawer-langs button{background:transparent;border:1px solid var(--border);padding:9px 6px;border-radius:8px;cursor:pointer;font-family:inherit;font-size:12px;font-weight:600;color:var(--ink-700);display:flex;align-items:center;justify-content:center;gap:5px;transition:all .15s;white-space:nowrap}
.drawer-langs button:hover{border-color:var(--gold-500);background:rgba(212,165,116,0.08);color:var(--indigo-900)}
.drawer-langs button.active{border-color:var(--gold-500);background:rgba(212,165,116,0.15);color:var(--indigo-900);font-weight:700}
.drawer-langs .flag{font-size:14px;line-height:1}
.mobile-drawer-signin{margin-top:18px;padding:14px;text-align:center;border:1.5px solid var(--border);border-radius:100px;color:var(--ink-700);font-weight:700;text-decoration:none;font-size:14px}
.mobile-drawer-cta{margin-top:10px;background:var(--gold-500);color:var(--indigo-900);padding:14px 20px;border-radius:100px;font-weight:700;text-align:center;text-decoration:none;font-size:15px;box-shadow:var(--shadow-gold)}
.drawer-backdrop{position:fixed;inset:0;background:rgba(14,17,38,.45);z-index:199;opacity:0;pointer-events:none;transition:opacity .3s}
.drawer-backdrop.open{opacity:1;pointer-events:auto}
body.drawer-open{overflow:hidden}
@media(max-width:840px){
  .hamburger{display:inline-flex}
  .nav-links > a:not(.nav-cta){display:none !important}
  .nav-links .lang-switch{display:none}
}

/* BUTTONS */
.btn-primary{background:var(--gold-500);color:var(--indigo-900);border:none;padding:17px 30px;border-radius:100px;font-size:16px;font-weight:700;font-family:inherit;cursor:pointer;transition:all .2s var(--ease);text-decoration:none;display:inline-flex;align-items:center;gap:8px;box-shadow:var(--shadow-gold)}
.btn-primary:hover{background:var(--gold-600);transform:translateY(-2px);box-shadow:0 14px 36px rgba(212,165,116,.5)}
.btn-secondary{background:rgba(255,255,255,.5);color:var(--ink-900);border:1.5px solid var(--border);padding:15px 26px;border-radius:100px;font-size:16px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .2s var(--ease);text-decoration:none;display:inline-flex;align-items:center;backdrop-filter:blur(8px)}
.btn-secondary:hover{border-color:var(--indigo-900);transform:translateY(-2px);background:var(--white)}

/* App badges */
.app-badges{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px}
.app-badge{display:inline-flex;align-items:center;gap:10px;background:var(--ink-900);color:var(--cream);padding:9px 18px 9px 16px;border-radius:12px;text-decoration:none;transition:all .2s var(--ease);border:1.5px solid var(--ink-900)}
.app-badge:hover{background:#000;transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.2)}
.app-badge svg{width:22px;height:22px;flex-shrink:0;fill:currentColor}
.app-badge .b-text{display:flex;flex-direction:column;line-height:1.05;text-align:left}
body[lang="fa"],body[lang="ar"] .app-badge .b-text{text-align:right}
.app-badge .b-small{font-size:9px;font-weight:500;opacity:.85;text-transform:uppercase;letter-spacing:.04em}
.app-badge .b-big{font-size:15px;font-weight:700;letter-spacing:-.01em}
.app-badge-coming{position:relative}
.app-badge-coming::after{content:'Soon';position:absolute;top:-6px;right:-6px;background:var(--gold-500);color:var(--indigo-900);font-size:8px;font-weight:800;padding:2px 6px;border-radius:8px;letter-spacing:.06em;text-transform:uppercase}

/* SECTION TYPOGRAPHY (generic, used across pages) */
section.section{padding:120px 0;position:relative}
@media(max-width:700px){section.section{padding:80px 0}}
.section-eyebrow{font-size:12px;font-weight:700;color:var(--gold-700);text-transform:uppercase;letter-spacing:.14em;margin-bottom:18px;display:inline-block}
h2{font-size:clamp(34px,5vw,60px);font-weight:800;letter-spacing:-.035em;line-height:1.05;color:var(--ink-900);margin-bottom:22px;max-width:880px}
.section-sub{font-size:clamp(17px,1.5vw,19px);color:var(--ink-500);max-width:680px;line-height:1.55}

/* FOOTER */
footer{padding:60px 0 36px;border-top:1px solid var(--border);background:var(--white)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:36px;margin-bottom:36px}
@media(max-width:700px){.footer-grid{grid-template-columns:1fr 1fr}}
.footer-brand p{color:var(--ink-500);font-size:14px;margin-top:12px;max-width:340px;line-height:1.55}
.footer-brand .app-badges{margin-top:18px}
.footer-brand .app-badge{padding:7px 14px}
.footer-brand .app-badge svg{width:18px;height:18px}
.footer-brand .app-badge .b-big{font-size:13px}
.footer-brand .app-badge .b-small{font-size:8px}
.footer-col h4{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--indigo-900);margin-bottom:16px}
.footer-col a{display:block;color:var(--ink-500);text-decoration:none;font-size:14px;padding:5px 0;transition:color .2s}
.footer-col a:hover{color:var(--indigo-900)}
.footer-bottom{padding-top:24px;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;color:var(--ink-300);font-size:13px}
.footer-bottom .made::before{content:'◆ ';color:var(--gold-500)}

/* SCROLL REVEALS */
.reveal{opacity:0;transform:translateY(40px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}
.progress-bar{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,var(--indigo-900),var(--gold-500));z-index:200;width:0%;transition:width .1s linear}

/* RTL ADJUSTMENTS (generic, site-wide) */
body[lang="fa"],body[lang="ar"]{direction:rtl}
body[lang="fa"],body[lang="ar"] .progress-bar{left:auto;right:0;background:linear-gradient(270deg,var(--indigo-900),var(--gold-500))}
body[lang="fa"],body[lang="ar"] h1.display,body[lang="fa"],body[lang="ar"] h2,body[lang="fa"],body[lang="ar"] .section-eyebrow,body[lang="fa"],body[lang="ar"] .hero-sub,body[lang="fa"],body[lang="ar"] .section-sub{text-align:right}
body[lang="fa"] .logo,body[lang="ar"] .logo,body[lang="fa"] .card-back-brand,body[lang="ar"] .card-back-brand{direction:ltr;unicode-bidi:isolate}
body[lang="fa"] .app-badge,body[lang="ar"] .app-badge{flex-direction:row-reverse}
body[lang="fa"] .app-badge .b-text,body[lang="ar"] .app-badge .b-text{text-align:right;direction:rtl}
body[lang="fa"] .footer-brand .app-badges,body[lang="ar"] .footer-brand .app-badges{justify-content:flex-end}
body[lang="fa"] .logo,body[lang="ar"] .logo{flex-direction:row}
body[lang="fa"] .btn-primary svg,body[lang="ar"] .btn-primary svg{transform:scaleX(-1)}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
