:root {
  color-scheme: light;
  --paper: #f8f7f1;
  --ink: #193c31;
  --muted: #4d6257;
  --line: #cbd2c6;
  --focus: #946220;
  font: 17px/1.65 -apple-system, BlinkMacSystemFont, "Segoe UI", Tahoma, sans-serif;
  background: var(--paper);
  color: var(--ink);
}
* { box-sizing: border-box; }
body { margin: 0; }
a { color: inherit; text-decoration-thickness: .075em; text-underline-offset: .2em; }
a:hover { color: #28664d; }
a:focus-visible, summary:focus-visible { outline: 3px solid var(--focus); outline-offset: 4px; }
html[lang="en"] [data-lang="fa"], html[lang="fa"] [data-lang="en"] { display: none; }
.header, .footer, main { width: min(100% - 40px, 74rem); margin-inline: auto; }
.header, .footer, .brand, .nav { display: flex; align-items: center; }
.header, .footer { justify-content: space-between; gap: 1rem; }
.header { min-height: 80px; padding-block: .7rem; border-bottom: 1px solid var(--line); }
.brand { gap: .55rem; font-family: Georgia, "Times New Roman", serif; font-size: 1.45rem; font-weight: bold; letter-spacing: -.055em; text-decoration: none; }
.brand img { display: block; width: 35px; height: 35px; border-radius: 9px; }
.nav { flex-wrap: wrap; gap: .3rem 1.15rem; }
.nav a { min-height: 44px; display: inline-flex; align-items: center; font-size: .9rem; text-decoration: none; }
.nav a:hover { text-decoration: underline; }
.language { padding-inline: .75rem; border: 1px solid var(--line); border-radius: 2rem; }
main { max-width: 45rem; padding-block: clamp(2.4rem, 7vw, 5.25rem) 3.5rem; }
h1, h2, summary { text-wrap: pretty; }
h1, h2 { font-family: Georgia, "Times New Roman", serif; font-weight: 500; letter-spacing: -.04em; }
h1 { max-width: 18ch; font-size: clamp(2.8rem, 7vw, 4.6rem); line-height: 1.05; margin: 0 0 1rem; }
h2 { margin: 0 0 .4rem; line-height: 1.23; font-size: clamp(1.65rem, 3.4vw, 2.05rem); }
p { margin: 0; }
p + p { margin-top: .6rem; }
.lead { color: var(--muted); font-size: 1.15rem; max-width: 58ch; }
.intro { margin-bottom: 1.9rem; }
.entry { padding-block: 1.4rem; border-top: 1px solid var(--line); }
.entry p, details p { max-width: 70ch; color: var(--muted); }
details { border-top: 1px solid var(--line); }
summary { display: list-item; padding: .95rem .2rem; font-size: 1.09rem; font-weight: 600; cursor: pointer; }
summary::marker { color: #44725c; }
details[open] { padding-bottom: 1rem; }
details p { margin-inline: .2rem; }
.contact { margin-top: 1.8rem; padding: clamp(1.1rem, 3.8vw, 1.8rem); background: #e9eee4; border-radius: 16px; }
.contact a { overflow-wrap: anywhere; }
.footer { align-items: flex-start; border-top: 1px solid var(--line); padding-block: 1.15rem 1.6rem; }
.footer small { min-height: 44px; display: inline-flex; align-items: center; color: var(--muted); }
html[lang=fa] { font-family: Tahoma, -apple-system, sans-serif; }
html[lang=fa] h1, html[lang=fa] h2 { font-family: Tahoma, -apple-system, sans-serif; line-height: 1.55; font-weight: 700; letter-spacing: 0; }
html[lang=fa] h1 { font-size: clamp(2.3rem, 6vw, 3.35rem); }
html[lang=fa] h2 { font-size: clamp(1.4rem, 3.3vw, 1.7rem); }
html[lang=fa] p { line-height: 1.95; }
@media(max-width: 440px) {
  .header, .footer, main { width: calc(100% - 32px); }
  .nav { gap: .2rem .65rem; }
  .language { padding-inline: .55rem; }
}
