:root {
  --sira-brand-primary: #cca34b;
  --sira-brand-secondary: #172232;
  --sira-brand-accent: #cca34b;
  --sira-paper: #f7f4ed;
  --sira-ink: #20242b;
  --sira-ink-soft: #5e6269;
  --sira-ink-faint: #85878b;
  --sira-hairline: rgba(32, 36, 43, 0.14);
  --sira-white: #fff;
  --sira-deep: #172232;
  --sira-deep-2: #1d2b3f;
  --sira-success: #267a58;
  --sira-danger: #ad3743;
  --sira-font-display: 'Newsreader', Georgia, serif;
  --sira-font-sans: 'Archivo', Arial, sans-serif;
  --sira-font-arabic: 'Noto Kufi Arabic', Arial, sans-serif;
  --sira-container: 1320px;
  --sira-reading: 760px;
  --sira-gutter: clamp(1.25rem, 4vw, 4rem);
  --sira-section: clamp(4rem, 8vw, 7rem);
  --sira-space-1: .5rem;
  --sira-space-2: .75rem;
  --sira-space-3: 1rem;
  --sira-space-4: 1.5rem;
  --sira-space-5: 2rem;
  --sira-space-6: 3rem;
  --sira-space-7: 5rem;
  --sira-radius-1: 2px;
  --sira-radius-2: 10px;
  --sira-shadow-soft: 0 18px 55px rgba(18, 28, 43, .12);
  --sira-transition: 220ms ease;
}

html { scroll-behavior: smooth; }
body.sira-site {
  background: var(--sira-paper);
  color: var(--sira-ink);
  font-family: var(--sira-font-sans);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
:where(.sira-site) h1,
:where(.sira-site) h2,
:where(.sira-site) h3,
:where(.sira-site) h4 {
  font-family: var(--sira-font-display);
  font-weight: 500;
  line-height: 1.05;
  text-wrap: balance;
}
:where(.sira-site) p,
:where(.sira-site) li { text-wrap: pretty; }
:where(.sira-site) a { text-underline-offset: .18em; }
:where(.sira-site) img { max-width: 100%; height: auto; }
:where(.sira-site) :focus-visible {
  outline: 3px solid color-mix(in srgb, var(--sira-brand-primary) 85%, white);
  outline-offset: 3px;
}
.sira-container { width: min(100% - (2 * var(--sira-gutter)), var(--sira-container)); margin-inline: auto; }
.sira-reading { width: min(100%, var(--sira-reading)); }
.sira-section { padding-block: var(--sira-section); }
.sira-section--dark { background: var(--sira-deep); color: var(--sira-white); }
.sira-section--tint { background: color-mix(in srgb, var(--sira-brand-primary) 7%, var(--sira-paper)); }
.sira-kicker {
  display: inline-flex; align-items: center; gap: .75rem; margin-bottom: 1.25rem;
  color: var(--sira-brand-primary); font-size: .78rem; font-weight: 700;
  letter-spacing: .18em; text-transform: uppercase;
}
.sira-kicker::before { content: ''; width: 2.4rem; height: 1px; background: currentColor; opacity: .65; }
.sira-display { font-size: clamp(3rem, 8vw, 7rem); letter-spacing: -.035em; line-height: .94; }
.sira-title { font-size: clamp(2.35rem, 5vw, 5rem); letter-spacing: -.025em; }
.sira-lead { font-size: clamp(1.05rem, 1.8vw, 1.35rem); line-height: 1.75; color: var(--sira-ink-soft); }
.sira-section--dark .sira-lead { color: rgba(255,255,255,.72); }
.sira-grid { display: grid; gap: clamp(1rem, 2vw, 2rem); }
.sira-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sira-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sira-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.sira-stack > * + * { margin-top: var(--sira-space-4); }
.sira-flow > * + * { margin-top: 1em; }
.sira-skip-link {
  position: fixed; inset-block-start: .75rem; inset-inline-start: .75rem; z-index: 999999;
  transform: translateY(-180%); background: var(--sira-white); color: var(--sira-ink);
  padding: .8rem 1rem; box-shadow: var(--sira-shadow-soft);
}
.sira-skip-link:focus { transform: translateY(0); }
[dir='rtl'] body.sira-site { font-family: var(--sira-font-arabic); }
[dir='rtl'] :where(.sira-site) h1,
[dir='rtl'] :where(.sira-site) h2,
[dir='rtl'] :where(.sira-site) h3,
[dir='rtl'] :where(.sira-site) h4 { font-family: var(--sira-font-arabic); }
@media (max-width: 900px) {
  .sira-grid--4, .sira-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .sira-grid--4, .sira-grid--3, .sira-grid--2 { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
