/* Locally hosted variable fonts; original OFL licenses are in /fonts/.
   Language-specific families, readable small text, and no external font dependency. */
@font-face {
  font-family: "Estedad";
  src: url("/fonts/estedad-arabic-variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC7, U+10EC9-10EEE, U+10EF0-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}

@font-face {
  font-family: "Estedad";
  src: url("/fonts/estedad-latin-variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Vazirmatn";
  src: url("/fonts/vazirmatn-arabic-variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC7, U+10EC9-10EEE, U+10EF0-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}

@font-face {
  font-family: "Vazirmatn";
  src: url("/fonts/vazirmatn-latin-variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Space Grotesk";
  src: url("/fonts/space-grotesk-latin-variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Manrope";
  src: url("/fonts/manrope-latin-variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --font-display: "Estedad", "Vazirmatn", Tahoma, sans-serif;
  --font-body: "Vazirmatn", Tahoma, sans-serif;
}
html[lang="en"] {
  --font-display: "Space Grotesk", "Manrope", "Estedad", "Vazirmatn", Arial, sans-serif;
  --font-body: "Manrope", "Vazirmatn", Arial, sans-serif;
}
html[lang] body {
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.9;
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
html[lang="en"] body { line-height: 1.75; }
html[lang] :is(h1, h2, h3, h4, .site-brand) {
  font-family: var(--font-display);
}
html[lang="fa"] :is(h2, h3, h4, .site-brand) { letter-spacing: 0; }
html[lang="en"] :is(h2, h3, h4) { letter-spacing: -.035em; }
html[lang] :is(button, input, select, textarea) { font-family: var(--font-body); }

/* Navigation and controls keep their existing hit areas and layout. */
html[lang] :is(.site-nav, .header-actions) { font-size: 14px; font-weight: 600; }
html[lang] .header-actions > a { font-size: 14px; }
html[lang] :is(.button, .text-link) { font-size: 15px; }
html[lang] .language-switch { font-size: 13px; font-weight: 600; }
html[lang] .nav-link-title { font-size: 15px; font-weight: 600; }
html[lang] .nav-dropdown-menu small { font-size: 13px; line-height: 1.75; }
html[lang] :is(.mobile-row, .mobile-back) {
  font-family: var(--font-display);
  letter-spacing: 0;
  font-weight: 650;
}
html[lang] .mobile-row { font-size: 21px; }
html[lang] .mobile-back { font-size: 18px; }
html[lang] .mobile-cards .nav-link-title { font-size: 16px; }
html[lang] .mobile-cards small { font-size: 13px; line-height: 1.85; }

/* Long-form content is deliberately larger than labels and metadata. */
html[lang] :is(
  .section-intro p, .story-copy > p, .usecase-card > p, .trust-grid p,
  .steps-grid p, .sync-section p, .plan-copy p, .feature-card p,
  .pricing-grid .plan-card > p, .faq-list p, .closing-section p,
  .ai-section p, .demo-presentation p
) { font-size: 16px; line-height: 1.95; }
html[lang="en"] :is(
  .section-intro p, .story-copy > p, .usecase-card > p, .trust-grid p,
  .steps-grid p, .sync-section p, .plan-copy p, .feature-card p,
  .pricing-grid .plan-card > p, .faq-list p, .closing-section p,
  .ai-section p, .demo-presentation p
) { line-height: 1.8; }
html[lang] .section-intro p { font-size: 17px; }
html[lang] .story-copy li { font-size: 15px; line-height: 1.9; }
html[lang] :is(.pricing-grid ul, .ai-section li) { font-size: 15px; line-height: 1.9; }
html[lang] .faq-list summary { font-size: 17px; font-weight: 600; line-height: 1.85; }
html[lang] :is(.eyebrow, .story-copy .eyebrow) { font-size: 13px; font-weight: 500; }
html[lang] :is(.use-cases, .story-mini span, .case-map span) { font-size: 13px; line-height: 1.8; }
html[lang] .case-map > strong { font-size: 15px; font-weight: 600; }
html[lang] :is(.case-outcome, .usecase-card .case-outcome) { font-size: 14px; }
html[lang] :is(.plan-badge, .plan-fine, .ai-section small, .feature-detail) { font-size: 13px; line-height: 1.9; }

/* Demo text remains legible without borrowing a system font from controls. */
html[lang] :is(.demo-tabs button, .demo-node, .demo-task button) { font-family: var(--font-body); }
html[lang] .demo-tabs button { font-size: 14px; font-weight: 600; }
html[lang] .demo-node { font-size: 15px; }
html[lang] .demo-root { font-size: 17px; }
html[lang] .demo-root small { font-size: 13px; }
html[lang] .demo-inspector strong { font-size: 16px; font-weight: 600; }
html[lang] .demo-inspector p { font-size: 15px; line-height: 1.8; }
html[lang] :is(.demo-inspector > span, .demo-caption, .demo-hint, .demo-foot, .present-kicker, .present-controls) { font-size: 13px; }
html[lang] .demo-column h3 { font-family: var(--font-body); font-size: 15px; font-weight: 600; }
html[lang] :is(.demo-column h3 span, .demo-task > span) { font-size: 13px; }
html[lang] .demo-task strong { font-size: 15px; line-height: 1.75; font-weight: 600; }
html[lang] .demo-task button { font-size: 13px; }

html[lang] .footer-column h3 { font-size: 16px; font-weight: 650; }
html[lang] :is(.footer-column a, .footer-contact, .footer-language) { font-size: 14px; line-height: 1.85; }
html[lang] .footer-bottom { font-size: 13px; line-height: 1.85; }
html[lang] .site-brand small { font-family: var(--font-body); font-size: 13px; }

@media (max-width: 520px) {
  html[lang] .section-intro p { font-size: 16px; }
  html[lang] .faq-list summary { font-size: 16px; }
  html[lang] .demo-node { font-size: 14px; }
  html[lang] .demo-root { font-size: 15px; }
  html[lang] .demo-root small { font-size: 12px; }
  html[lang] .header-pill > .language-switch { font-size: 13px; }
  html[lang] :is(.footer-column a, .footer-contact) { font-size: 14px; }
}
