/* One logo-led type system. Font artwork and licenses: brand/typography/. */
:root{--font-display:'Bricolage Grotesque','Plus Jakarta Sans',Arial,sans-serif;--font-ui:'Plus Jakarta Sans',Arial,sans-serif;--font-ar:Tajawal,'Plus Jakarta Sans',Arial,sans-serif;--font-time:'Plus Jakarta Sans',Tajawal,Arial,sans-serif;font-synthesis:none}
body{font-family:var(--font-ui);font-weight:400}
html[dir=rtl] body,[lang=ar],.ar-note{font-family:var(--font-ar)}
button,input,select,textarea{font-family:inherit;font-synthesis:none}
h1,h2,h3{font-family:var(--font-display);font-optical-sizing:auto;font-weight:650;letter-spacing:-.025em;text-wrap:pretty;overflow-wrap:break-word}
h1{line-height:1.12}h2{line-height:1.25}h3{line-height:1.35}
.instrument-intro h1{font-size:clamp(30px,3.4vw,42px);font-weight:650;letter-spacing:-.035em;max-width:22ch}
.instrument-intro p:not(.eyebrow){font-size:15px;line-height:1.7;max-width:64ch;margin-top:8px}
.instrument-intro .eyebrow,.eyebrow{font-weight:600;letter-spacing:.09em}
.section-heading h2,.timeline-card>.section-heading h2{font-size:22px;letter-spacing:-.025em}
.reading h1{font-size:clamp(34px,5vw,54px);max-width:23ch;line-height:1.1;font-weight:650}
.reading h2{font-size:28px;line-height:1.25}.reading h3{font-size:22px}
.reading p,.reading li{line-height:1.8;max-width:68ch}.reading .lead{line-height:1.65;max-width:61ch}
.city-name h3,.clock-content h2{font-family:var(--font-ui);font-weight:650;letter-spacing:-.015em}
.tool-nav a,.language,button,summary{font-weight:600;letter-spacing:0}
html body .numeric,html body .meeting-time,html body .candidate-time,html body .event-clock,
html body .clock-content strong,html body .cursor-summary strong>bdi,.date-stamp,.coverage-score,
.axis,.city-index,.city-clock .row-offset,.local-ticks span,.local-ticks span:first-child,.count,
.places-essay figcaption bdi,.planner-settings>summary bdi,.event-builder h2::before,.instrument-stamp>bdi{
 font-family:var(--font-time);font-variant-numeric:lining-nums tabular-nums;font-feature-settings:'tnum';letter-spacing:-.025em;font-style:normal
}
html body .meeting-time,html body .event-clock,html body .clock-content strong,html body .cursor-summary strong>bdi{font-weight:600;letter-spacing:-.045em}
.candidate-time{font-weight:600}.local-ticks span,.date-stamp,.planner-settings>summary bdi{letter-spacing:0}
.meeting .export button{line-height:1.45;white-space:normal}.source-check,.source-state,.zone{overflow-wrap:anywhere}
html[dir=rtl] h1,html[dir=rtl] h2,html[dir=rtl] h3,[lang=ar] h1,[lang=ar] h2,[lang=ar] h3{font-family:var(--font-ar);font-weight:700;letter-spacing:0;line-height:1.35}
html[dir=rtl] .instrument-intro h1{font-size:clamp(32px,3.4vw,44px);letter-spacing:0}
html[dir=rtl] button,html[dir=rtl] summary,html[dir=rtl] .tool-nav a,html[dir=rtl] .language{font-weight:500}
html[dir=rtl] strong,html[dir=rtl] b{font-weight:700}
html[dir=rtl] .eyebrow{letter-spacing:0;font-weight:500}
@media(max-width:620px){
 .instrument-intro h1{font-size:31px;max-width:19ch}.instrument-intro p:not(.eyebrow){font-size:13px;line-height:1.7}
 .instrument-intro{align-items:center}.section-heading h2,.timeline-card>.section-heading h2{font-size:21px}
 .reading h1{font-size:36px}.reading h2{font-size:26px}.reading h3{font-size:21px}
 .reading .lead{font-size:18px}.reading p,.reading li{font-size:16px}
 .city-name h3{line-height:1.4}.tool-nav a{line-height:1.4}.publisher-footer nav{row-gap:20px}
 html[dir=rtl] .instrument-intro h1{font-size:32px}
}
@media(max-width:350px){.instrument-intro h1{font-size:29px}.reading h1{font-size:32px}.reading h2{font-size:25px}.tool-nav a,.tool-nav button{font-size:11px}.meeting .export button{font-size:13px}}

html body input[type=date],html body input[type=time],html body input[type=number],.metric strong{font-family:var(--font-time);font-variant-numeric:tabular-nums}
.city-line,.coverage-row>div:first-child{padding-inline-start:8px}
/* Keep crawlable instructions below the loading tool instead of shifting them. */
#app{min-height:100vh;min-height:100svh}
html[lang=ar] body .numeric,html[lang=ar] body .meeting-time,html[lang=ar] body .candidate-time{font-family:var(--font-time);font-variant-numeric:tabular-nums}
html[dir=rtl] .instrument-intro h1,html[dir=rtl] .city-name h3{font-weight:700}
