:root {
  color-scheme: light;
  --ink: #192d31;
  --muted: #50656a;
  --paper: #f7f7f2;
  --surface: #ffffff;
  --line: #c9d3d0;
  --accent: #12685d;
  --accent-soft: #e5f0ec;
  --warning: #8e1b16;
  --warning-bg: #fff0ee;
  --font: Arial, "Noto Sans Hebrew", sans-serif;
  --space-1: .45rem;
  --space-2: .8rem;
  --space-3: 1.2rem;
  --space-4: 1.8rem;
  --space-5: 2.7rem;
  --space-6: 4rem;
  --radius: 2px;
  --shadow: none;
  --wide: 1120px;
  --reading: 740px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: var(--font);
  font-size: 1rem;
  line-height: 1.75;
  text-align: start;
}
a { color: #075b52; text-underline-offset: .18em; }
a:hover { color: #003d37; }
a:focus-visible, button:focus-visible, summary:focus-visible {
  outline: 3px solid #b34c24;
  outline-offset: 3px;
}
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { line-height: 1.28; }
h1 { font-size: clamp(2.3rem, 6vw, 4.7rem); letter-spacing: -.035em; max-width: 14ch; }
h2 { font-size: clamp(1.7rem, 3vw, 2.55rem); letter-spacing: -.025em; }
h3 { font-size: 1.23rem; }
small { font-size: .85rem; }
.page-width { width: min(var(--wide), calc(100% - 2.5rem)); margin-inline: auto; }
.reading-width { width: min(var(--reading), calc(100% - 2.5rem)); margin-inline: auto; }
.skip-link {
  position: absolute; z-index: 10; inset-block-start: .5rem; inset-inline-start: .5rem;
  padding: .55rem .8rem; background: var(--ink); color: white; transform: translateY(-160%);
}
.skip-link:focus { transform: translateY(0); }
.launch-warning {
  padding: .55rem 1rem;
  color: #fff;
  background: var(--warning);
  text-align: center;
  font-weight: 700;
  line-height: 1.45;
}
.site-header { background: var(--surface); border-bottom: 1px solid var(--line); }
.header-inner {
  width: min(var(--wide), calc(100% - 2.5rem));
  min-height: 74px; margin-inline: auto; display: flex; align-items: center; gap: 2rem;
}
.wordmark { color: var(--ink); font-size: 1.45rem; font-weight: 800; letter-spacing: -.06em; text-decoration: none; white-space: nowrap; }
.wordmark span { color: var(--accent); }
.primary-nav { display: flex; align-items: center; gap: clamp(1rem, 3vw, 2.5rem); }
.primary-nav a, .site-footer nav a { color: var(--ink); text-decoration: none; }
.primary-nav a:hover, .site-footer nav a:hover { text-decoration: underline; }
.menu-toggle { display: none; margin-inline-start: auto; padding: .5rem .75rem; background: white; border: 1px solid var(--line); color: var(--ink); font: inherit; }
.hero { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(230px, .55fr); gap: clamp(2rem, 8vw, 7rem); padding-block: clamp(3.5rem, 9vw, 7.5rem); align-items: center; }
.eyebrow { margin-bottom: .7rem; color: var(--accent); font-size: .82rem; font-weight: 700; letter-spacing: .04em; }
.hero-lede { max-width: 62ch; font-size: 1.16rem; color: #31484d; }
.text-link { display: inline-flex; gap: .6rem; align-items: center; font-weight: 700; }
.action-link { margin-block: .55rem 1.4rem; }
.identity-strip { display: flex; flex-wrap: wrap; gap: .5rem 1.6rem; margin: 1.1rem 0 .25rem; padding-top: 1rem; border-top: 1px solid var(--line); }
.identity-strip div { min-width: 130px; }
.identity-strip dt { font-size: .78rem; color: var(--muted); }
.identity-strip dd { margin: 0; font-size: .91rem; }
.placeholder { color: #7e120e; font-weight: 700; overflow-wrap: anywhere; }
.quiet-links { display: flex; gap: .7rem; margin: .6rem 0 0; font-size: .87rem; }
.hero-note { padding: 1.3rem 1.4rem; border-inline-start: 3px solid var(--accent); background: var(--accent-soft); }
.hero-note .note-index { color: var(--muted); font-size: .8rem; }
.hero-note p { margin: .85rem 0; font-weight: 700; }
.hero-note small { display: block; margin-top: 1.1rem; color: var(--muted); }
.note-rule { display: block; width: 2.2rem; border-top: 1px solid #72928c; }
.observation-band { padding-block: clamp(3.4rem, 8vw, 6rem); background: #e9eee9; border-block: 1px solid var(--line); }
.observation-band h2 { max-width: 19ch; }
.observation-band .reading-width > p:last-child { max-width: 75ch; font-size: 1.08rem; }
.method-section { padding-block: var(--space-6); display: grid; grid-template-columns: .85fr 1.15fr; gap: 3rem; }
.section-heading { max-width: 550px; }
.method-steps { list-style: none; margin: 0; padding: 0; }
.method-steps li { display: grid; grid-template-columns: 2.2rem 1fr; gap: 1rem; padding-block: 1.15rem; border-top: 1px solid var(--line); }
.method-steps li > span { color: var(--accent); font-weight: 800; }
.method-steps h3 { margin: 0 0 .3rem; }
.method-steps p { margin: 0; color: var(--muted); }
.scope-section { padding-block: 1rem var(--space-6); display: grid; grid-template-columns: .7fr 1.3fr; gap: 3rem; }
.scope-intro p:last-child { color: var(--muted); }
.scope-list > div { display: grid; grid-template-columns: 7rem 1fr; gap: 1rem; padding: .9rem 0; border-top: 1px solid var(--line); }
.scope-list p { margin: 0; }
.scope-mark { color: var(--accent); font-size: .83rem; font-weight: 700; }
.scope-exclusion .scope-mark { color: #765044; }
.featured-section { padding-block: var(--space-5) var(--space-6); border-top: 1px solid var(--line); }
.feature-main { max-width: 850px; padding: 1.4rem 1.7rem 1.5rem 0; border-top: 3px solid var(--accent); border-bottom: 1px solid var(--line); }
.feature-main h3 { max-width: 30ch; font-size: clamp(1.45rem, 3vw, 2.15rem); }
.feature-main h3 a, .feature-secondary h3 a { color: var(--ink); text-decoration-thickness: 1px; }
.feature-main p { max-width: 65ch; color: var(--muted); }
.feature-meta { display: flex; flex-wrap: wrap; gap: .5rem 1.2rem; margin-bottom: .65rem; font-size: .83rem; color: var(--muted); }
.feature-secondary { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; width: min(780px, 100%); margin-inline-start: auto; padding-top: 1.5rem; }
.feature-secondary article { padding-inline-start: 1rem; border-inline-start: 1px solid var(--line); }
.feature-secondary h3 { margin: .5rem 0; }
.feature-secondary p { color: var(--muted); font-size: .92rem; }
.article-label { color: var(--warning); font-size: .78rem; font-weight: 700; }
.faq-section { padding-block: 1rem var(--space-6); }
.faq-section h2 { margin-bottom: 1.5rem; }
details { border-top: 1px solid var(--line); padding: 1rem 0; }
details:last-child { border-bottom: 1px solid var(--line); }
summary { cursor: pointer; font-weight: 700; }
details p { max-width: 68ch; margin: .75rem 2rem 0 0; color: #334b50; }
.source-note { padding-block: 1.1rem; border-top: 1px solid var(--line); font-size: .9rem; }
.site-footer { margin-top: var(--space-5); color: #edf4f0; background: #203638; }
.footer-inner { width: min(var(--wide), calc(100% - 2.5rem)); margin-inline: auto; padding-block: 2.3rem; display: grid; grid-template-columns: 1fr 1fr; gap: 1.4rem 3rem; }
.footer-wordmark { color: #fff; }
.footer-wordmark span { color: #a4d8ca; }
.site-footer p { margin: .35rem 0 0; color: #d1dfda; }
.site-footer nav { display: flex; flex-wrap: wrap; align-content: start; gap: .35rem 1rem; }
.site-footer nav a, .site-footer small, .site-footer small a { color: #edf4f0; }
.site-footer small { grid-column: 1 / -1; padding-top: .8rem; border-top: 1px solid #4b6261; }

.page-head { padding-block: clamp(3rem, 7vw, 5.5rem) 2.6rem; border-bottom: 1px solid var(--line); }
.page-head h1 { font-size: clamp(2.2rem, 5vw, 3.8rem); }
.page-head .intro { max-width: 68ch; font-size: 1.12rem; color: #354c50; }
.breadcrumb { padding-block: 1rem 0; color: var(--muted); font-size: .84rem; }
.breadcrumb ol { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; padding: 0; margin: 0; }
.breadcrumb li + li::before { content: "/"; margin-inline-end: .5rem; color: #83918d; }
.content-layout { display: grid; grid-template-columns: minmax(0, 760px) minmax(170px, 240px); gap: clamp(2rem, 7vw, 6rem); padding-block: 2.8rem var(--space-6); align-items: start; }
.prose h2 { margin-top: 2.2rem; font-size: 1.65rem; }
.prose h3 { margin-top: 1.7rem; }
.prose p, .prose li { max-width: 72ch; }
.prose li { padding-inline-start: .25rem; margin-block: .35rem; }
.prose blockquote { margin: 1.5rem 0; padding: .7rem 1.2rem; border-inline-start: 3px solid #bd8742; background: #f0ece1; }
.margin-note { padding: 1rem; background: var(--accent-soft); border-top: 2px solid var(--accent); font-size: .9rem; }
.margin-note p:last-child { margin-bottom: 0; }
.plain-panel { padding: 1.2rem 1.4rem; border: 1px solid var(--line); background: var(--surface); }
.warning-panel { border-inline-start: 4px solid var(--warning); padding: 1rem 1.2rem; background: var(--warning-bg); }
.contact-warning { margin-top: 1.5rem; }
.warning-panel p:last-child { margin-bottom: 0; }
.toc { position: sticky; top: 1rem; font-size: .9rem; }
.toc ul { padding-inline-start: 1.2rem; }
.toc li { margin-block: .4rem; }
.article-head { padding-block: 2.5rem 2rem; }
.article-head .article-meta { display: flex; flex-wrap: wrap; gap: .5rem 1rem; color: var(--muted); font-size: .88rem; }
.article-summary { padding: 1rem 1.2rem; background: var(--accent-soft); border-inline-start: 3px solid var(--accent); }
.table-wrap { overflow-x: auto; margin-block: 1.5rem; }
table { width: 100%; border-collapse: collapse; font-size: .92rem; }
caption { padding: .5rem; font-weight: 700; text-align: start; }
th, td { padding: .65rem .7rem; border: 1px solid var(--line); text-align: start; vertical-align: top; }
th { background: #e8eeea; }
.references { padding-top: 1rem; border-top: 1px solid var(--line); }
.contact-column { width: min(650px, calc(100% - 2.5rem)); margin-inline: auto; padding-block: 2.6rem var(--space-6); }
.contact-form { display: grid; gap: 1rem; margin-block: 1.5rem; }
.contact-form label { display: grid; gap: .3rem; font-weight: 700; }
.contact-form input, .contact-form textarea { width: 100%; padding: .7rem; border: 1px solid #71827e; border-radius: var(--radius); background: white; color: var(--ink); font: inherit; }
.contact-form textarea { min-height: 150px; resize: vertical; }
.contact-form button { justify-self: start; padding: .7rem 1.1rem; border: 0; background: var(--accent); color: white; font: inherit; font-weight: 700; cursor: pointer; }
.contact-details { margin: 1.5rem 0; }
.contact-details dt { color: var(--muted); font-size: .85rem; }
.contact-details dd { margin: 0 0 1rem; overflow-wrap: anywhere; }
.legal-page { max-width: 800px; padding-bottom: var(--space-6); }
.legal-page h2 { margin-top: 1.7rem; font-size: 1.4rem; }
.article-list { padding-block: 1rem var(--space-6); }
.article-list article { display: grid; grid-template-columns: 150px 1fr; gap: 1rem 2rem; padding-block: 1.3rem; border-top: 1px solid var(--line); }
.article-list article:first-child { border-top: 3px solid var(--accent); }
.article-list h2 { margin: 0 0 .4rem; font-size: 1.5rem; }
.article-list p { margin: 0; color: var(--muted); }
.error-code { color: var(--accent); font-size: clamp(4rem, 12vw, 9rem); font-weight: 800; line-height: 1; }
.not-found { min-height: 55vh; display: grid; align-content: center; padding-block: 3rem; }

@media (max-width: 760px) {
  .header-inner { min-height: 64px; flex-wrap: wrap; gap: .5rem; padding-block: .5rem; }
  .menu-toggle { display: inline-block; }
  .primary-nav { display: none; width: 100%; padding-block: .5rem .8rem; flex-direction: column; align-items: stretch; gap: 0; }
  .primary-nav.is-open { display: flex; }
  .primary-nav a { padding: .55rem 0; border-top: 1px solid var(--line); }
  .hero, .method-section, .scope-section, .content-layout { grid-template-columns: 1fr; }
  .hero { gap: 2rem; padding-block: 3rem; }
  .hero-note { max-width: 460px; }
  .method-section, .scope-section { gap: 1.2rem; }
  .content-layout { gap: 1.5rem; }
  .toc { position: static; order: -1; }
  .footer-inner { grid-template-columns: 1fr; }
  .site-footer small { grid-column: auto; }
}
@media (max-width: 520px) {
  .page-width, .reading-width, .header-inner, .footer-inner { width: min(100% - 1.5rem, var(--wide)); }
  .feature-secondary { grid-template-columns: 1fr; gap: 1rem; }
  .feature-main { padding-inline-end: .4rem; }
  .scope-list > div { grid-template-columns: 5.5rem 1fr; gap: .6rem; }
  .article-list article { grid-template-columns: 1fr; gap: .45rem; }
  .identity-strip { gap: .4rem 1rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
