@font-face{font-family:IRNazanin;src:url('/assets/fonts/IRNazanin.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:IRNazanin;src:url('/assets/fonts/IRNazanin-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:Vazirmatn;src:url('/assets/fonts/Vazirmatn-VF.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
/* Shared language navigation and Persian reading layout. */
.language-switch{display:flex;align-items:center;gap:10px;flex-shrink:0;font:12px/1.6 'IBM Plex Mono',monospace}
.language-switch a{display:inline-flex;align-items:center;gap:20px;min-height:44px;padding:10px 15px;background:var(--acid,#d8df79);color:var(--ink,#22251e);transform:rotate(-3deg);box-shadow:1px 2px 0 #22251e24;text-decoration:none}
.language-switch a:hover{transform:rotate(0);box-shadow:1px 3px 0 #22251e35;text-decoration:none}
.language-switch a:focus-visible{outline:2px solid var(--ink,#22251e);outline-offset:5px}
.top,.masthead{flex-wrap:wrap;gap:20px}
html[lang=fa]{--font-body:Vazirmatn,Tahoma,Arial,sans-serif;--font-mono:Vazirmatn,Tahoma,Arial,sans-serif;--font-display:IRNazanin,serif}
html[lang=fa] body{font-family:Vazirmatn,Tahoma,Arial,sans-serif}
html[lang=fa] h1,html[lang=fa] h2,html[lang=fa] h3,html[lang=fa] .meta,html[lang=fa] .kicker,html[lang=fa] p,html[lang=fa] .read,html[lang=fa] nav{font-family:Vazirmatn,Tahoma,Arial,sans-serif;letter-spacing:0}
html[lang=fa] .hero h1{font-family:IRNazanin,serif;font-size:clamp(48px,6vw,88px);line-height:1.15;letter-spacing:0}
html[lang=fa] .hero h1 span{padding:0 .12em;margin-top:4px}
html[lang=fa] .article-head h1,html[lang=fa] .project-heading h1{line-height:1.25;font-size:clamp(32px,4vw,56px)}
html[lang=fa] .feature h3,html[lang=fa] .lead h3{line-height:1.25;font-size:clamp(28px,3vw,42px)}
html[lang=fa] .tool-note h3,html[lang=fa] .note h3,html[lang=fa] .secondary h3,html[lang=fa] .sidebar-report h3{line-height:1.25;font-size:27px}
html[lang=fa] .brand{direction:ltr;font-family:'IBM Plex Mono',monospace;letter-spacing:-1px}
html[lang=fa] .prose[lang=en]{text-align:left;font-family:'IBM Plex Sans',sans-serif}
html[lang=fa] .prose[lang=en] p,html[lang=fa] .prose[lang=en] h2{font-family:inherit}
html[lang=fa] .prose[lang=fa] ul,html[lang=fa] .prose[lang=fa] ol{padding-inline-start:24px;padding-inline-end:0}
html[lang=fa] .prose[lang=fa] blockquote{border-left:0;border-right:3px solid;padding:0 24px 0 0}
.translation-notice{font:14px/1.9 Vazirmatn,Tahoma,Arial,sans-serif!important;padding:14px;border:1px solid #919486;margin-bottom:24px}
html[lang=fa] pre,html[lang=fa] code{direction:ltr;text-align:left}
@media(max-width:650px){.language-switch{margin-inline-start:auto}html[lang=fa] .hero h1{font-size:clamp(40px,9vw,64px)}}

/* Titles use IRNazanin; reading text and interface labels use Vazirmatn. */
html[lang=fa] body :is(h1,h2,h3,h4,h5,h6),
html[lang=fa] .prose[lang=fa] :is(h1,h2,h3,h4,h5,h6){font-family:IRNazanin,serif;font-weight:700;letter-spacing:0}
html[lang=fa] :is(h1,h2,h3,h4,h5,h6) a{font-family:inherit}
html[lang=fa] :is(input,button,select,textarea,.prose,.search,.small,.edition,.archive-kind,.post-taxonomy,.section-bar,.note-bottom,.launch,.destination-note,.article-nav,.footer,.back-link,.back){font-family:Vazirmatn,Tahoma,Arial,sans-serif}
.language-switch a[lang=fa]{font-family:Vazirmatn,Tahoma,Arial,sans-serif}

/* Opt-in Wikipedia font comparison, leaving the chosen default intact. */
html[lang=fa][data-headings=wikipedia] body :is(h1,h2,h3,h4,h5,h6),
html[lang=fa][data-headings=wikipedia] .prose[lang=fa] :is(h1,h2,h3,h4,h5,h6){font-family:Calibri,system-ui,"Segoe UI",'Iranian Serif','Noto Sans Arabic','Iranian Sans','DejaVu Sans',serif}

/* Compact Persian heading rhythm, with space for dots and descenders. */
html[lang=fa] .hero{padding-top:32px;padding-bottom:28px}
html[lang=fa] .hero-side .small{margin-top:16px}
html[lang=fa] .work-head{padding-bottom:16px}
html[lang=fa] .article-head h1,html[lang=fa] .project-heading h1{margin-block:14px}
html[lang=fa] .sidebar-report h3,html[lang=fa] .secondary h3{margin-block:10px}
@media(max-width:650px){html[lang=fa] .hero{padding-top:26px;padding-bottom:24px;gap:20px}}

/* IRNazanin has generous internal metrics: tighten the visible title block. */
html[lang=fa] .hero{padding-top:18px;padding-bottom:18px}
html[lang=fa] .hero h1{line-height:.95}
html[lang=fa] .hero h1 span{margin-top:0;line-height:1;padding-top:0;padding-bottom:0}
html[lang=fa] .hero-side .small{margin-top:10px}
html[lang=fa] .work-head{padding-top:14px;padding-bottom:6px}
html[lang=fa] #work>.taxonomy-nav{margin-top:0;margin-bottom:16px}
html[lang=fa] .feature h3,html[lang=fa] .lead h3,html[lang=fa] .secondary h3,html[lang=fa] .sidebar-report h3,html[lang=fa] .tool-note h3{line-height:1.1}
@media(max-width:650px){html[lang=fa] .hero{padding-top:18px;padding-bottom:18px;gap:14px}}

/* Equal title geometry in both languages; English now follows the compact scale. */
html[lang] .hero{padding-top:18px;padding-bottom:18px}
html[lang] .hero h1{font-size:clamp(48px,6vw,88px);display:grid;grid-template-rows:.95em 1em;line-height:.95;margin:0;padding-bottom:0}
html[lang] .hero h1 br{display:none}
html[lang] .hero h1 span{justify-self:start;line-height:1;margin:0;padding:0 .12em}
html[lang] .hero-side .small{margin-top:10px}
@media(max-width:650px){html[lang] .hero{gap:14px}html[lang] .hero h1{font-size:clamp(40px,9vw,64px)}}
