/* Shared typography from published alsultan.club v30, commit 2785b0e42167d902093fc92b55a4e1add5cb14cd. */
:root{--type-body-en:1rem;--type-body-ar:1.35rem;--type-page-title:clamp(2rem,4.5vw,3.5rem);--type-section-title:clamp(1.6rem,2.7vw,2.1rem);--type-card-title:1.1rem;--type-nav:.875rem;--type-button:.9rem;--type-caption:.875rem;--type-body:var(--type-body-en);--type-label:1rem}
/* Match L1: rem units follow the visitor's default font size, independently of zoom. */
html[lang]{font-size:100%!important}
html[lang=ar]{--type-body:var(--type-body-ar);--type-label:.9rem}
html[lang] body{font-family:Inter,Arial,sans-serif!important;font-size:var(--type-body)!important;line-height:1.9}
html[lang=ar] body{font-family:'Noto Naskh Arabic',serif!important}
html[lang] body *{font-family:inherit!important}
html[lang=ar] :is(h1,h2,h3,h4,.header,.site-header,.button,.btn,.eyebrow,.card-number,.domain-number,.text-link,.tab,label,legend,summary,.work-summary strong){font-family:'Noto Kufi Arabic',sans-serif!important;letter-spacing:0!important}
html[lang] h1{font-size:var(--type-page-title)!important;line-height:1.7!important;font-weight:700!important;letter-spacing:0!important}
html[lang] h2{font-size:var(--type-section-title)!important;line-height:1.25!important;font-weight:700!important;letter-spacing:0!important}
html[lang=ar] h2{line-height:1.7!important}
html[lang] h3,html[lang] h4{font-size:var(--type-card-title)!important;line-height:1.25!important;font-weight:700!important;letter-spacing:0!important}
html[lang=ar] h3,html[lang=ar] h4{line-height:1.8!important}
html[lang] :is(p,dd,.intro-copy,.callout,.steps p,.method li p,.info-grid dd,.report-preview){font-size:var(--type-body)!important;line-height:1.9!important}
html[lang] :is(.guide-card,.start-card,.domain-heading,.tool-card,.lifecycle-grid,.work-results,.metric-card) :is(h2,h3){font-size:var(--type-card-title)!important}
html[lang] :is(.article-layout article>h2,#cap-panel h2,#wb-panel h2,.recovery-layout h2){font-size:1.35rem!important}
html[lang] :is(.home-intro h1){font-size:clamp(3.1rem,7vw,6.2rem)!important;line-height:1.25!important;letter-spacing:-.04em!important}
html[lang=ar] .home-intro h1{line-height:1.5!important;letter-spacing:0!important}
html[lang] :is(.home-intro .lead){font-size:clamp(1.25rem,2vw,1.8rem)!important;line-height:1.85!important}
html[lang] :is(.page-intro .lead,.article-layout article>.lead){font-size:1.4em!important}
html[lang] :is(.header nav,.header nav a,.desktop-nav,.desktop-nav a,.language-switch,.lang-switch,.parent-link){font-size:var(--type-nav)!important;line-height:1.9!important}
html[lang] :is(.btn,.btn.small,.button,.text-button,.text-link){font-size:var(--type-button)!important;line-height:1.8!important}
html[lang] :is(label,label>span,.wb-fields label,.wb-fields label>span,.assessment-item label>span:first-child,legend){font-size:var(--type-label)!important;line-height:1.7!important}
html[lang=ar] :is(input,select,textarea){font-family:'Noto Naskh Arabic',serif!important}
html[lang=en] :is(input,select,textarea){font-family:Inter,Arial,sans-serif!important}
html[lang] :is(input,select,textarea){font-size:1rem!important;line-height:1.6!important}
html[lang] :is(.eyebrow,p.eyebrow){font-size:.875rem!important;line-height:2!important;font-weight:600!important;letter-spacing:0!important}
html[lang] :is(small,.small,p.small,.meta,p.meta,.badge,.metadata,.footer-note,.work-storage,.work-breadcrumb,.breadcrumb,.work-summary,.work-summary strong,.work-intro,.metric .name,.metric small,.work-metrics .name,.work-metrics .metric small,.tab,.tool-method,.article-aside,.article-aside p,.article-aside .small,.related a,.card-action,.download-list small,.table-wrap,table,.info-grid dt,.issue,.issue p,.gate,.status-detail,.assessment-item label>small){font-size:var(--type-caption)!important;line-height:1.8!important}
html[lang] :is(.brand,.brand strong,.brand b,.footer-title,.site-footer,.site-footer p,.footer,.footer p){font-size:.9rem!important;line-height:1.9!important}
html[lang] .brand small{font-size:.8rem!important}
html[lang] :is(.stat strong,.metric strong,.work-metrics .metric strong,.work-results strong){font-size:2rem!important;line-height:1.3!important}
html[lang] .stat strong{font-family:Georgia,serif!important;font-weight:400!important}
html[lang] :is(code,.code,.formula,pre){font-family:ui-monospace,SFMono-Regular,Consolas,monospace!important;font-size:.875rem!important}
html[lang] .report-preview{font-family:inherit!important}
html[lang] :is(.card-number,.domain-number,.number){font-size:.8rem!important}
html[lang] :is(.brand-symbol,.brand-symbol span){font-family:Georgia,serif!important}
@media(max-width:800px){html[lang] .home-intro h1{font-size:clamp(3rem,10vw,5rem)!important}}
@media(max-width:540px){html[lang] .home-intro h1{font-size:clamp(2.5rem,10vw,3.25rem)!important}html[lang] .home-intro .lead{font-size:1.2rem!important}html[lang=ar] .home-intro .lead{font-size:1.35rem!important}html[lang] :is(.page-intro .lead,.article-layout article>.lead){font-size:1.2em!important}html[lang] :is(.brand,.brand strong,.brand b){font-size:.8rem!important}.work-metrics{grid-template-columns:minmax(0,1fr)}}

/* L1 header geometry and type. Keep level-specific navigation destinations. */
html[lang] .site-header{box-sizing:border-box;min-height:84px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(12px,2vw,24px);padding:12px max(24px,calc((100vw - 1180px)/2));background:rgba(255,253,248,.97);backdrop-filter:blur(16px);position:sticky;top:0;z-index:50;border-bottom:1px solid var(--line);font-weight:400;line-height:normal!important;color:#1e2523}
html[lang] .site-header .brand{display:flex;align-items:center;gap:12px;flex-shrink:0;color:inherit;white-space:normal;line-height:normal!important;letter-spacing:normal}
html[lang] .site-header .brand-mark{display:block;width:48px;height:48px;flex-shrink:0;object-fit:cover;border-radius:12px;background:#003b2d}
html[lang] .site-header .brand strong{display:block;font-size:.9rem!important;font-weight:700;line-height:normal!important}
html[lang] .site-header .brand small{display:block;color:#59645e;font-size:.8rem!important;margin-top:5px;font-weight:400;line-height:normal!important}
html[lang] .site-header .desktop-nav{display:flex;flex-wrap:wrap;gap:4px clamp(10px,1.3vw,18px);font-size:.875rem!important;align-items:center;justify-content:center;min-width:0;order:0;flex-basis:auto;margin:0;line-height:normal!important}
html[lang] .site-header .desktop-nav a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 2px;white-space:nowrap;font-size:.875rem!important;font-weight:400;line-height:normal!important;color:inherit;border:0}
html[lang] .site-header .desktop-nav a:hover{color:#85621f}
html[lang] .site-header .header-actions{display:flex;gap:10px;align-items:center;flex-shrink:0}
html[lang] .site-header :is(.lang-switch,.language-switch){font-size:.875rem!important;font-weight:400;line-height:normal!important;padding:12px;min-height:44px;display:grid;place-items:center;border:0;border-radius:0;background:transparent;color:inherit;margin:0}
@media(max-width:760px){html[lang] .site-header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px}html[lang] .site-header .desktop-nav{order:3;flex-basis:100%}}
@media(max-width:540px){html[lang] .site-header{padding-inline:16px;gap:8px;min-height:76px}html[lang] .site-header .brand{gap:8px}html[lang] .site-header .brand small{display:none}html[lang] .site-header .brand strong{font-size:.8rem!important}html[lang] .site-header .brand-mark{width:42px;height:42px;border-radius:10px}html[lang] .site-header .header-actions{gap:0}html[lang] .site-header :is(.lang-switch,.language-switch){padding:10px}html[lang] .site-header .desktop-nav{gap:0 16px}}
@media print{html[lang] .site-header{display:none}}
