:root {
  color-scheme: light;
  --ink: #183d2d;
  --body: #35483c;
  --muted: #546859;
  --cream: #faf7ef;
  --paper: #fffdf8;
  --line: #d6decf;
  --sage: #e7eddf;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--body);
  background: var(--cream);
}
* { box-sizing: border-box; }
body { margin: 0; font-size: 17px; line-height: 1.75; }
a { color: var(--ink); text-decoration-thickness: 1px; text-underline-offset: 4px; }
a:hover { text-decoration-thickness: 2px; }
a:focus-visible, main:focus-visible { outline: 3px solid #a14f23; outline-offset: 5px; }
.page { max-width: 1120px; margin-inline: auto; padding: 40px 48px 24px; }
.skip { position: absolute; top: -200px; padding: 12px; background: var(--paper); z-index: 2; }
.skip:focus { top: 12px; inset-inline-start: 12px; }
.masthead { display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.brand { display: inline-flex; align-items: center; gap: 14px; text-decoration: none; line-height: 1.2; }
.brand img { border-radius: 15px; border: 1px solid var(--line); }
.brand span { font-family: Georgia, serif; color: var(--ink); font-size: 23px; }
.brand small { display: block; font: 12px/1.5 system-ui, sans-serif; color: var(--muted); margin-top: 5px; }
.draft { padding: 6px 12px; border: 1px solid var(--line); border-radius: 100px; color: var(--muted); font-size: 12px; text-align: center; }
.languages { display: flex; flex-wrap: wrap; gap: 5px; padding-block: 22px; border-bottom: 1px solid var(--line); margin-top: 16px; }
.languages a { font-size: 13px; padding: 5px 10px; text-decoration: none; border: 1px solid transparent; border-radius: 6px; min-height: 36px; }
.languages a:hover { border-color: var(--line); }
.languages a[aria-current="page"] { background: var(--ink); color: #fffdf8; }
.intro { padding-block: 54px 42px; max-width: 820px; }
.eyebrow { font-size: 11px; letter-spacing: .2em; color: var(--muted); margin: 0 0 18px; }
h1 { font: 400 clamp(2.5rem, 6vw, 4.5rem)/1.12 Georgia, "Times New Roman", serif; color: var(--ink); margin: 0 0 22px; overflow-wrap: anywhere; hyphens: auto; }
.lede { font-size: 20px; line-height: 1.6; max-width: 660px; }
.updated { font-size: 13px; color: var(--muted); margin-bottom: 0; }
main { display: grid; grid-template-columns: 218px minmax(0, 1fr); gap: 48px; align-items: start; }
.contents { position: sticky; top: 28px; padding-block: 12px; }
.contents h2 { font: 600 13px/1.5 system-ui, sans-serif; color: var(--muted); margin: 0 0 14px; }
.contents ol { padding-inline-start: 20px; margin: 0; }
.contents li { font-size: 13px; margin-bottom: 10px; line-height: 1.55; padding-inline-start: 3px; }
.contents li::marker { color: var(--muted); }
.contents a { text-decoration: none; }
.contents a:hover { text-decoration: underline; }
article { min-width: 0; padding: 36px 40px; background: var(--paper); border: 1px solid var(--line); border-radius: 20px; }
section { scroll-margin-block-start: 28px; }
section + section { margin-top: 34px; padding-top: 26px; border-top: 1px solid var(--line); }
h2 { font: 400 27px/1.35 Georgia, "Times New Roman", serif; color: var(--ink); margin: 0 0 14px; overflow-wrap: anywhere; }
p { margin: 0 0 16px; }
p:last-child { margin-bottom: 0; }
.contact a { font-size: 16px; overflow-wrap: anywhere; }
.providers { margin-top: 36px; padding: 24px; background: var(--sage); border-radius: 12px; }
.providers h2 { font-size: 21px; }
.providers a { display: block; font-size: 14px; margin-top: 10px; }
footer { margin-top: 40px; border-top: 1px solid var(--line); padding-block: 24px 8px; display: flex; flex-wrap: wrap; gap: 16px; justify-content: space-between; font-size: 12px; color: var(--muted); }
[dir="rtl"] { font-family: Tahoma, "Segoe UI", sans-serif; }
[dir="rtl"] h1, [dir="rtl"] h2 { font-family: Tahoma, "Segoe UI", sans-serif; line-height: 1.55; }
@media (max-width: 900px) {
  .page { padding: 28px; }
  main { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .contents { position: static; padding: 20px; border-radius: 12px; background: var(--sage); }
  .contents ol { columns: 2; column-gap: 32px; }
  .contents li { break-inside: avoid; }
  article { padding: 32px; }
}
@media (max-width: 520px) {
  body { font-size: 16px; }
  .page { padding: 20px 16px; }
  .masthead { align-items: flex-start; gap: 10px; }
  .brand { gap: 10px; }
  .brand img { width: 48px; height: 48px; border-radius: 12px; }
  .brand span { font-size: 18px; }
  .draft { font-size: 11px; max-width: 112px; padding: 5px 9px; }
  .intro { padding-block: 34px 30px; }
  .lede { font-size: 18px; }
  .languages { gap: 3px; padding-block: 16px; margin-top: 10px; }
  .languages a { font-size: 12px; padding-inline: 8px; }
  .contents ol { columns: 1; }
  article { padding: 24px 20px; border-radius: 14px; }
  h2 { font-size: 24px; }
  .providers { padding: 18px; }
}
@media print {
  body { background: white; color: black; font-size: 11pt; }
  .page { max-width: none; padding: 0; }
  .languages, .contents, .skip, footer { display: none; }
  main { display: block; }
  article { border: 0; padding: 0; }
  .intro { padding-block: 20px; }
  h1 { font-size: 30pt; }
  h2 { break-after: avoid; }
  .providers { background: white; padding: 0; }
  a { color: black; }
}
